当前位置:文档之家› 中文分词基础件(基础版)使用说明书

中文分词基础件(基础版)使用说明书

索源网/ 中文分词基础件(基础版)使用说明书北京索源无限科技有限公司2009年1月目录1 产品简介 (3)2 使用方法 (3)2.1 词库文件 (3)2.2 使用流程 (3)2.3 试用和注册 (3)3 接口简介 (4)4 API接口详解 (4)4.1初始化和释放接口 (4)4.1.1 初始化分词模块 (4)4.1.2 释放分词模块 (4)4.2 切分接口 (5)4.2.1 机械分词算法 (5)4.3 注册接口 (8)5 限制条件 (9)6 附录 (9)6.1 切分方法定义 (9)6.2 返回值定义 (9)6.3 切分单元类型定义 (9)1 产品简介索源中文智能分词产品是索源网(北京索源无限科技有限公司)在中文信息处理领域以及搜索领域多年研究和技术积累的基础上推出的智能分词基础件。

该产品不仅包含了本公司结合多种分词研发理念研制的、拥有极高切分精度的智能分词算法,而且为了适应不同需求,还包含多种极高效的基本分词算法供用户比较和选用。

同时,本产品还提供了在线自定义扩展词库以及一系列便于处理海量数据的接口。

该产品适合在中文信息处理领域从事产品开发、技术研究的公司、机构和研究单位使用,用户可在该产品基础上进行方便的二次开发。

为满足用户不同的需求,本产品包括了基础版、增强版、专业版和行业应用版等不同版本。

其中基础版仅包含基本分词算法,适用于对切分速度要求较高而对切分精度要求略低的环境(正、逆向最大匹配)或需要所有切分结果的环境(全切分)。

增强版在基础版的基础上包含了我公司自主开发的复合分词算法,可以有效消除切分歧义。

专业版提供智能复合分词算法,较之增强版增加了未登录词识别功能,进一步提高了切分精度。

行业应用版提供我公司多年积累的包含大量各行业关键词的扩展词库,非常适合面向行业应用的用户选用。

2 使用方法2.1 词库文件本产品提供了配套词库文件,使用时必须把词库文件放在指定路径中的“DictFolder”文件夹下。

产品发布时默认配置在产品路径下。

2.2 使用流程产品使用流程如下:1)初始化首先调用初始化函数,通过初始化函数的参数配置词库路径、切分方法、是否使用扩展词库以及使用扩展词库时扩展词的保存方式等。

经初始化后获得模块句柄。

2)使用分词函数初始化后可反复调用各分词函数。

在调用任何函数时必要把模块句柄传入到待调用函数中。

3)退出系统在退出系统前需调用释放函数释放模块句柄。

2.3 试用和注册本产品初始提供的系统是试用版。

在试用版中,调用分词函数的次数受到限制。

用户必须向索源购买本产品,获取注册码进行注册后,方可正常使用本产品。

注册流程为:1)调用序列号获取接口函数获取产品序列号;2)购买产品,并将产品序列号发给索源。

索源确认购买后,生成注册码发给用户;3)用户使用注册码,调用注册接口对产品进行注册;4)注册成功后,正常使用本产品。

!注意:本产品有版权保护功能,在使用过程中不要更改本产品的任何数据文件,不要随意更改系统时间。

类似操作可能造成本产品无法正常使用。

3 接口简介本产品提供的接口可以划分为初始化和释放接口、切分接口、扩展词库管理接口和注册接口四部分。

其中初始化和释放接口完成对模块进行初始化和释放工作;切分接口部分既包含了各种可供选用的切分算法,每种算法还包含多种切分结果输出方式;扩展词库管理接口部分允许使用者在线自定义词库,支持在线增删词,批量加词等功能;注册接口供产品注册时使用,可以提取产品序列号和使用注册码注册。

4 API接口详解4.1初始化和释放接口4.1.1 初始化分词模块函数名int InitWordSegment(char *pLibPath, int SegMethod, char *&pSegmentHandle)功能初始化分词模块,传出模块句柄参数说明pLibPath:库路径。

DictFolder文件夹需要放置在此路径下,此参数若为NULL,则默认为系统路径。

SegMethod:切分方法选择。

(切分方法参数参考6.1)pSegmentHandle:传出的分词模块句柄。

把此参数传入各个切分函数,可启动各函数。

返回值SEG_RET_OK (返回值说明参数参考6.2)SEG_ERR_MEM_ALLOCSEG_ERR_OPEN_FILESEG_ERR_READ_FILE函数说明使用本品时均需调用初始化函数使用完毕后调用释放函数,使用时无论调用多少次切分函数,初始化和释放函数调用一次即可。

4.1.2 释放分词模块函数名int UnInitWordSegment(char *pSegmentHandle)功能释放分词模块句柄。

参数 pSegmentHandle:由初始化函数传出的分词模块句柄。

返回值SEG_RET_OKSEG_ERR_OPEN_FILESEG_ERR_WRITE_FILE函数说明释放函数在退出系统时调用一次即可。

4.2 切分接口模块初始化后,就可以反复调用切分函数,为便于使用,本模块每个切分接口都包含2~3种切分结果输出方式。

4.2.1 机械分词算法本模块了包括最大匹配切分,全切分和逆向最大切分等机械分词算法供选用。

同样,为方便使用,每种分词算法还包含若干结果输出方式。

1)正向最大匹配,输出一个切分单元:函数名int MaxSegmentForwardUnit(const unsigned char * pStr, int nLen, char &Type, char *pSegmentHandle)功能运用最大匹配法对输入字符串切分。

参数pStr:待切分字符串。

Strlen:待切分字符串的长度。

Type: 切分单元类型(类型定义见6.3)pSegmentHandle:分词模块句柄返回值SEG_RET_ERROR_FAILSEG_ERR_MEM_ALLOCSEG_ERR_OVERTIMESEG_ERR_INVALIDTIMEnLen一个切分单元长度输出说明本函数相当于在输入字符串上运用最大匹配法截取一个切分单元,并输出该单元类型。

返回值为该单元长度。

2)正向最大匹配,输出切分字符串:函数名int MaxSegmentForwardAll(const unsigned char * pStr, int nLen, unsigned char * pDestBuf, int nDestBufLen, char *pSegmentHandle)功能运用最大匹配法对输入字符串切分。

参数pStr:待切分字符串。

Strlen:待切分字符串的长度。

pDestBuf:切分结果存储空间首地址(该空间需用户自行申请和释放)nDestBufLen:切分结果存储空间长度pSegmentHandle:分词模块句柄返回值SEG_RET_ERROR_FAILSEG_ERR_MEM_ALLOCSEG_ERR_OVERTIMESEG_ERR_INVALIDTIMEnLen实际占用存储空间长度输出说明切分结果以词为单位用空格分开存入已申请的存储空间。

若实际切分结果长度超出预留空间,则存储空间保存了能容纳的最长切分结果。

3)正向最大匹配,输出切分位置:函数名int MaxSegmentForwardAllPos(const unsigned char* pStr, int nLen, unsigned char ** ppDestPosArray, int * pDestWordLen, char* pDestType, intnMaxDestNum, char *pSegmentHandle)功能运用最大匹配法对输入字符串切分。

pStr:待切分字符串。

参数Strlen:待切分字符串的长度。

ppDestPosArray:指针向量首地址(该空间需用户自行申请和释放)pDestWordLen:词长向量首地址(该空间需用户自行申请和释放)pDestType:切分单元类型向量(该空间需用户自行申请和释放)nMaxDestNum:向量长度pSegmentHandle:分词模块句柄返回值SEG_RET_ERROR_FAILSEG_ERR_MEM_ALLOCSEG_ERR_OVERTIMESEG_ERR_INVALIDTIMEnLen有效向量长度输出说明指针向量存储的是每个词在待切分字符串上的首地址,词长向量存储的是每个词对应的词长。

若实际切分出的词数大于向量长度,则向量存储满为止。

4)全切分算法,输出一个切分点所有可能切分单元:函数名int FullSegmentUnit(const unsigned char* pStr,int nLen, int *pDestWordLen, char *pDestType, int & WordNum, char *pSegmentHandle)功能运用全切分算法对输入字符串切分pStr:待切分字符串。

参数Strlen:待切分字符串的长度。

pDestWordLen:词长向量首地址(该空间需用户自行申请和释放)pDestType:切分单元类型向量(该空间需用户自行申请和释放)WordNum:有效词长数量。

pSegmentHandle:分词模块句柄返回值SEG_RET_ERROR_FAILSEG_ERR_MEM_ALLOCSEG_ERR_OVERTIMESEG_ERR_INVALIDTIMEnLen最小切分单元长度输出说明词长向量里包含了以pStr为起点的所有可以成词的词长,WordNum为可成词数量。

5)全切分算法,输出所有可能切分结果组成的字符串:函数名int FullSegmentForwardAll(const unsigned char * pStr, int nLen, unsigned char * pDestBuf, int nDestBufLen, char *pSegmentHandle)功能运用全切分算法对输入字符串切分参数 pStr:待切分字符串。

Strlen:待切分字符串的长度。

pDestBuf:切分结果存储空间首地址(该空间需用户自行申请和释放)nDestBufLen:切分结果存储空间长度。

pSegmentHandle:分词模块句柄返回值SEG_RET_ERROR_FAILSEG_ERR_MEM_ALLOCSEG_ERR_OVERTIMESEG_ERR_INVALIDTIMEnLen实际占用存储空间长度输出说明切分结果以词为单位用空格分开存入已申请的存储空间。

若实际切分结果长度超出预留空间,则存储空间保存了能容纳的最长切分结果。

6)全切分算法,输出所有可能切分结果在待切分字符串中的位置和长度:函数名int FullSegmentForwardAllPos(const unsigned char* pStr, int nLen, unsigned char ** ppDestPosArray, int * pDestWordLen, char *pDestType, intnMaxDestNum, char *pSegmentHandle)功能运用全切分算法对输入字符串切分参数pStr:待切分字符串。

相关主题