中科院计算所ICTCLAS0接口文档.DOC

上传人:国*** 文档编号:749747 上传时间:2018-10-30 格式:DOC 页数:34 大小:206.50KB
下载 相关 举报
中科院计算所ICTCLAS0接口文档.DOC_第1页
第1页 / 共34页
中科院计算所ICTCLAS0接口文档.DOC_第2页
第2页 / 共34页
中科院计算所ICTCLAS0接口文档.DOC_第3页
第3页 / 共34页
中科院计算所ICTCLAS0接口文档.DOC_第4页
第4页 / 共34页
中科院计算所ICTCLAS0接口文档.DOC_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、 ictclas.orgGolaxy Ltd. Copyright 2010 ictclas.org. All rights reserved. 1/34中科院计算所 ICTCLAS 5.0 接口文档http:/www.ictclas.org2010-12Online testing can be available on http:/ictclas.org/test.htmlFor the latest information about ICTCLAS, please visit ICTCLAS.orgictclas.orgGolaxy Ltd. Copyright 2010 ictcla

2、s.org. All rights reserved. 2/34目录目录ICTCLAS 介绍 .3支持多种字符编码 .5繁体中文分词 .5支持多线程调用 .5关于字符编码参数说明 .5c/c+中为枚举值,如下: .6Jni 中定义为 int 型,分别对应如下: .61 C 接口 .61.1 ICTCLAS_Init.61.2 ICTCLAS_Exit.71.3 ICTCLAS_ImportUserDict.91.4 ICTCLAS_ParagraphProcess.111.5 ICTCLAS_ParagraphProcessA.121.6 ICTCLAS_FileProcess .141.7

3、ICTCLAS_SetPOSmap.151.8 ICTCLAS _GetWordId.171.9 ICTCLAS_ResultFree.182JNI 接口 .192.1 ICTCLAS_Init.192.2 ICTCLAS_Exit.202.3 ICTCLAS_ImportUserDict.222.4 ICTCLAS_ParagraphProcess.242.5 ICTCLAS_FileProcess.252.6 ICTCLAS_SetPOSmap.272.7 ICTCLAS_GetWordID.282.8 ICTCLAS_nativeProcAPara.303. C#接口 .33ICTCLA

4、S _ ParagraphProcessAW.33联系方式 .38高 云 朋 中科计算技术转移中心 网络智能事业部 地址:北京市海淀区科学院南路 10号中科院计算所攻关楼 4 层 邮编:100190 电话:+86-10-62600480/1/2 分机 807 传真:+86-10-62600480 手机:+86-13910154064 邮箱: MSN: ; 网址: http:/.38ictclas.orgGolaxy Ltd. Copyright 2010 ictclas.org. All rights reserved. 3/34ICTCLAS 介绍中国科学院计算技术研究所在多年研究工作积累的

5、基础上,研制出了汉语词法分析系统 ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System),主要功能包括中文分词;词性标注;命名实体识别;新词识别;同时支持用户词典。ICTCLAS 的技术优势:1.综合性能最优分词系统能否达到实用性要求主要取决于两个因素:分词精度与分析速度,这两者相互制约,难以平衡。大多数系统往往陷入“快而不准,准而不快”的窘境。我们研制出了完美 PDAT 大规模知识库管理技术(200510130690.3),在高速度与高精度之间取得了重大突破,该技术可以管理百万级别的词典知识库,单

6、机每秒可以查询 100 万词条,而内存消耗不到知识库大小的 1.5 倍。基于该技术,ICTCLAS 分词速度单机 996KB/s,分词精度 98.45%,API 不超过 200KB,是当前世界上最好的汉语词法分析器。2.统一的语言计算理论框架汉语分词牵涉到汉语分词、未定义词识别、词性标注以及语言特例等多个因素,大多数系统缺乏统一的处理方法,往往采用松散耦合的模块组合方式,最终模型并不能准确有效地表达千差万别的语言现象,而 ICTCLAS 采用了层叠隐马尔可夫模型(Hierarchical Hidden Markov Model),将汉语词法分析的所有环节都统一到了一个完整的理论框架中,获得最好

7、的总体效果,相关理论研究发表在顶级国际会议和杂志上,从理论上和实践上都证实了该模型的先进性。 3.全方位支持各种环境下的应用开发ICTCLAS 全部采用 C/C+编写,支持 Linux、FreeBSD 及 Windows 系列操作系统,支持 C/C+/C#/Delphi/Java 等主流的开发语言;支持 GBK 编码分词,同时支持 UTF-8 编码和 Big5 编码分词;支持繁体中文分词;支持多线程分词。ictclas.orgGolaxy Ltd. Copyright 2010 ictclas.org. All rights reserved. 4/344.应需而变,量身定做所有功能模块均可拆

8、卸组装,ICTCLAS 支持 GBK、UTF-8 等编码,同时支持BIG5,可处理简繁体中文;支持当前广泛承认的分词和词类标准,包括计算所词类标注集 ICTPOS 3.0,北大标准、滨州大学标准、国家语委标准、台湾“中研院”、香港“城市大学”;用户可以直接自定义输出的词类标准,定义输出格式;用户可以根据自己的需求,进行量身自助式定做适合自己的分词系统。5.国内和国际权威的公开评测、五万客户的认可有些公司为了商业目的,关门自测,自称准确度 99.50%,没有介绍测试环境和测试方法,封闭测试或者小规模的开放测试准确度 100%都不足为奇的,ICTCLAS1.0 在国内 973 专家组组织的评测中活

9、动获得了第一名,ICTCLAS2.0 在第一届国际中文处理研究机构 SigHan 组织的评测中都获得了多项第一名,具体的参见系统评测部分。这些都是权威机构进行大规模现场开放测试的结果,真实可信。目前,ICTCLAS 已经向国内外的企业和学术机构颁发 50,000 多份授权,其中包括腾讯、NEC、中华商务网、硅谷动力、云南日报等企业,北京大学、清华大学、华南理工、麻省大学:同时,ICTCLAS 广泛地被科学时报、人民日报海外版、科技日报等多家媒体报道。您可以访问 Google 进一步了解ICTCLAS 的应用情况。ICTCLAS 5.0 新增特性支持多种字符编码ICTCLAS 支持常见字符编码,

10、包括 GB2312、GBK 、GB18030、UTF-8、BIG5。用户可指定编码类型,也可让系统自动识别。繁体中文分词系统支持 BIG5 编码,即支持繁体中文分词。支持多线程调用系统内核全新升级。支持多线程调用。ictclas.orgGolaxy Ltd. Copyright 2010 ictclas.org. All rights reserved. 5/341 关于字符编码参数说明各个接口中,编码参数的需按照如下设置,接口参数中不再详细说明。若编码不确定,系统将会自动识别编码。1.1 c/c+中为枚举值,如下:enum eCodeType CODE_TYPE_UNKNOWN, / typ

11、e unknown,system will automatically detectCODE_TYPE_ASCII, / ASCIICODE_TYPE_GB, / GB2312,GBK, gb18030CODE_TYPE_UTF8, / UTF-8CODE_TYPE_BIG5 / BIG5;1.2 Jni 中定义为 int 型,分别对应如下:(0:编码未知,系统将会自动识别)(1:ASCII)(2:gb2312、GBK、gb18030)(3:UTF-8)(4:BIG5)2 C接口2.1 ICTCLAS_Init依据指定的路径初始化系统词典和配置信息。声明bool ICTCLAS_Init(co

12、nst char* pszInitDir=NULL);Routine Required HeaderICTCLAS_Init 返回值如果初始化成功返回 true, 否则返回 false. 如初始化不成功,请查看 ictclas.log 文件了解详细错误原因.ictclas.orgGolaxy Ltd. Copyright 2010 ictclas.org. All rights reserved. 6/34参数pszInitDir:初始化路径,应包含配置文件(Configure.xml)和词典目录(Data 目录)以及授权文件(user.lic). 如果这些文件及目录在系统运行当前目录下,此参

13、数可以为 null。说明ICTCLAS_Init 必须在调用系统其它任何操作前进行调用,以初始化系统的基本配置信息及加载词典文件。当停止使用 ICTCLAS 后,应调用 ICTCLAS_Exit 方法清理内存缓冲区。ICTCLAS_Init 加载失败有可能是以下原因造成:1) 缺少系统加载所需的词典文件系统的词典都保存在 Data 目录下,请确保初始化路径下有 Data 目录,且词典文件完整。2) 缺少配置文件系统配置文件名为 Configure.xml,用于保存系统所需的配置信息,请确保初始化路径下包含正确的 Configure.xml 文件。3) 缺少授权文件 user.lic试用授权文件

14、名为 user.lic,缺少合法的授权文件将无法正常加载。4) 其他未知的加载错误,请查看 ICTCLAS.log 日志文件。示例#include “ICTCLAS50.h“#include #include int main(int argc, char* argv)char* sResult;if(!ICTCLAS_Init() printf(“Init failsn“);return -1;else printf(“okn“);const char *sParagraph =“今天参加比赛的选手有六百名“;int nPaLen=strlen(sParagraph);char* sRst=

15、0;int nRstLen=0;sRst=(char *)malloc(nPaLen*6);nRstLen=ICTCLAS_ParagraphProcess(sParagraph,nPaLen,CODE_TYPE_GB,1,sRst);ictclas.orgGolaxy Ltd. Copyright 2010 ictclas.org. All rights reserved. 7/34printf(“%sn“,sRst);free(sRst);ICTCLAS_Exit();system(“pause“);return 0;2.2 ICTCLAS_Exit退出 ICTCLAS 分词系统,释放词典

16、占用的系统内存空间。声明bool ICTCLAS_Exit( );Routine Required HeaderICTCLAS_Exit 返回值成功返回 true;否则返回 false。说明ICTLCAS_Exit 此方法应该在您的应用程序退出前调用,以便释放词典所占用的内存空间。此方法会清空 ICTCLAS 占用的词典内存空间,清除临时缓冲区及其他系统资源。如果您需要再次调用 ICTCLAS 进行分词,请重新调用 ICTLCAS_Init()加载基本信息。示例#include #include #include #include “ICTCLAS50.h“int main(int argc,

17、 char* argv)char* sResult;if(!ICTCLAS_Init() printf(“Init failsn“);return -1;else printf(“okn“);ictclas.orgGolaxy Ltd. Copyright 2010 ictclas.org. All rights reserved. 8/34const char *sParagraph =“今天参加比赛的选手有六百名“;int nPaLen=strlen(sParagraph);char* sRst=0;int nRstLen=0;sRst=(char *)malloc(nPaLen*6);n

18、RstLen=ICTCLAS_ParagraphProcess(sParagraph,nPaLen,CODE_TYPE_GB,1,sRst);printf(“%sn“,sRst);free(sRst);ICTCLAS_Exit();system(“pause“);return 0;2.3 ICTCLAS_ImportUserDictImport user-defined dictionary from a text file.unsigned int ICTCLAS_ImportUserDict(const char *sFilename,eCodeType eCT)Routine Requi

19、red HeaderICTCLAS_ImportUserDict Return ValueThe number of lexical entry imported successfullyParameterssFilename: Text filename for user dictionaryeCT:Character encoding typeRemarksThe ICTCLAS_ImportUserDict function works properly only if ICTCLAS_Init succeeds.The text dictionary file foramt see U

20、ser-defined Lexicon.You only need to invoke the function while you want to make some change in your customized lexicon or first use the lexicon. After you import once and make no change again, ICTCLAS will load the lexicon automatically if you set UserDict “on“ in the configure file. While you turn

21、UserDict “off“, user-defined lexicon would not be applied.Example#include #include #include #include “ICTCLAS50.h“ictclas.orgGolaxy Ltd. Copyright 2010 ictclas.org. All rights reserved. 9/34int main(int argc, char* argv)if(!ICTCLAS_Init()/初始化失败,退出。printf(“ICTCLAS INIT FAILED!n“);system(“pause“);retu

22、rn -1;char* sSentence=“1989 年春夏之交的政治风波年政治风波小时降雪量小时降雨量计划ABC 防护训练 APEC 会议 BB 机 BP 机 C2 系统 C3I 系统 C3 系统 C4ISR 系统 C4I 系统 CCITT建议“;int nPaLen=strlen(sSentence);char* sRst=0;/用户自行分配空间,用于保存结果;sRst=(char *)malloc(nPaLen*6);/建议长度为字符串长度的 6 倍。int nRstLen=0;nRstLen=ICTCLAS_ParagraphProcess(sSentence,nPaLen,CODE

23、_TYPE_GB,1,sRst);printf(“Before Adding User-defined lexicon, the result is:n%sn“,sRst);unsigned int nItems=ICTCLAS_ImportUserDict(“userdict.txt“,CODE_TYPE_GB);printf(“%d user-defined lexical entries added!n“,nItems);nRstLen=ICTCLAS_ParagraphProcess(sSentence,nPaLen,CODE_TYPE_GB,1,sRst);printf(“After

24、 Adding User-defined lexicon, the result is:n%sn“,sRst);free(sRst);/退出./释放相关资源ICTCLAS_Exit();return ;Before Adding User-defined lexicon, the result is:1989 年/t 春/tg 夏/tg 之/uzhi 交/ng 的/ude1 政治/n 风波/n 1989 年/t 政治/n 风波/n24/m 小时/n 降雪/vn 量/n 24/m 小时/q 降雨量/n 863/m 计划 ABC 防护训练 APEC 会议BB 机 BP 机 C2 系统 C3I 系统

25、 C3 系统 C4ISR 系统 C4I/nt 系统/n CCITT/x 建议/n14321 user-defined lexical entries added!After Adding User-defined lexicon, the result is:1989 年春夏之交的政治风波/n 1989 年政治风波/n24 小时降雪量/n 24 小时降雨量/n 863 计划/n ABC 防护训练/vn APEC 会议/nz BB 机/n BP 机/n C2 系统/n C3I 系统/n C3 系统/n C4ISR 系统/n C4I 系统/n CCITT 建议/tictclas.orgGolaxy

26、 Ltd. Copyright 2010 ictclas.org. All rights reserved. 10/342.4 ICTCLAS_ParagraphProcessProcess a paragraph, and return the result buffer pointerint ICTCLAS_ParagraphProcess(const char *sParagraph,int nPaLen,eCodeType eCt,int bPOStagged,char* sResult);Routine Required HeaderICTCLAS_ParagraphProcess

27、Return ValueReturn the pointer of result buffer and the length of the result.ParameterssParagraph: The source paragraphnPaLen: The length of the paragrapheCodeType: The character coding type of the stringbPOStagged: Judge whether need POS tagging, 0 for no tag; 1 for tagging; default:1.sResult: The

28、processing results RemarksThe ICTCLAS_ParagraphProcess function works properly only if ICTCLAS_Init succeeds.Example#include #include #include #include “ICTCLAS50.h“int main(int argc, char* argv)if(!ICTCLAS_Init() printf(“Init failsn“);return ;char* sSentence=“当西班牙人捧起大力神杯时,西班牙首相萨帕特罗也激动不已“;int nPaLen=strlen(sSentence);char* sRst=0;/用户自行分配空间,用于保存结果;sRst=(char *)malloc(nPaLen*6);/建议长度为字符串长度的 6 倍。int nRstLen=0;nRstLen=ICTCLAS_ParagraphProcess(sSentence,nPaLen,CODE_TYPE_GB,1,sRst);printf(“The result is:n%sn“,sRst);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。