注:本文只是个人阅读ictclas4j的一些总结,如有不正确的地方欢迎指出
ictalas4j用到的字典主要是下面的三个:coreDict、biGramDict、nr。coreDict记录了6768个词块,里面有对应的词频和句柄(用于词性标注);biGramDict里面记录的是词和词之间的关系,也就是相邻两个词一起出现的频率;nr记录的是中文人名角色标注,该标注来自对人民日报语料库训练的结果。
了解了其应用的字典后,看一下ictclas4j的大致流程。
首先,把整片文档分割成一个个的句子,对分割后的句子进行原子切割。
其次,查找coreDict字典进行粗略的分词,所有可能的分词结果都存储在一个二维链表里面。该二位链表的每个节点中记录了词性(可能包含多个)、词内容、词频。
然后,查找biGramDict字典,对第二部的结果处理,构造新的二维链表,该二维链表的节点中记录了两个词之间的关系值(权重,衡量俩个词同时出现的概率),通过一个计算公式,计算出两个词的平滑值。
接着,进行初次切分(通过最短路径算法,而权重即为上一步计算出的平滑值)。
接着,进行人名识别了,这应该算是ictclas4j不同于其他分词工具的特征吧,其他的分词工具基本上不处理未登录词,但是未登录词对分词的结果影响还是比较大的。该部分采用的是基于角色标注的算法,通过查找nr字典,最终匹配出人名。(本文只是介绍大致流程,具体的人名识别请阅读 张华平、刘群的论文《基于角色标注的中国人名自动识别研究》)。
接着,处理地点等信息(个人感觉ictclas在处理地点信息时识别率不高,主要是其特征不像人名识别那样紧紧有15中模式匹配模型,分词在切分时并不能准备的切分出机构名称)。
最后就是优化优化结果,添加词性(对于词性,前面已经包含相应的值,在调整相应的分词后调整对应的词性即可)。
最后再次感谢张华平老师,开源分词代码,让nlp初学者少走很多弯路。
分享到:
相关推荐
中科院分词系统中科院分词系统中科院分词系统中科院分词系统中科院分词系统中科院分词系统
主要用于中文 分词 , 由中科院开发的分词系统,已经运行成功
中科院的中文分词系统ICTCLAS是从事文本挖掘研究工作的学者们所广泛使用的软件,在此就不多作介绍了。这是该软件的2015版本,欢迎各位学者下载使用。
很不错的中科院分词系统c++源码---linux下的C++ 张华平
中科院ICTCLAS2014分词系统下载包
中科院分词系统,Java版本的,自己加了一些测试函数。
NLPIR中科院分词系统JAVA项目,包含源代码(只有经典组件),相关的包。许可证会过期,请到官方仓库下载复制到Data目录下。
运用python进行调用中科院分词系统已达到分词的目的 里面包含各个接口调用函数的详细介绍,极大程度的方便了开发者研究分词。可以直接运行。
在张华平博士的空间上直接下载的,用VS2010打开发现有几处BUG,主要是VC6.0转VC10.0的兼容问题,我上传的源码中,BUG已经恢复,代码现在能完美运行(包括分词词库)。
中科院分词工具web版,在原来工具基础上改成网页版本的,可以直接使用
较新的分词系统,ICTCALAS2010 中科院分词系统
中科院分词系统java版 ICTCLAS50_Windows_32_JNI.rar ;里面有最新的授权文件,正确执行demo;里面包含java借口使用说明以及分词系统的演示说明
这个分词系统需要注册才可使用,不建议大家下载,因为事先不清楚.抱歉!需要的话,可以下载我上传的其它版本. 计算所汉语词法分析系统ICTCLAS同时还提供一套完整的动态连接库ICTCLAS.dll,COM组件和相应的概率词典,...
09年新版本的中科院分词系统,可以直接调用,加载的时候会有点麻烦,可以留言,我会解答!
该资源为NLPIR中科院分词系统的调研成果,主要成果有关键词提取,实体抽取,文本分类,文本情感分析。拿到资源后请上github获取相关的免费授权,分别放入代码中即可使用!中科院的分词系统作为权威性的存在,假如...
NLPIR汉语分词系统,主要功能包括中文分词;词性标注;命名实体识别;用户词典功能;支持GBK编码、UTF8编码、BIG5编码...本模块是方便易语言码农直接调用中科院分词系统,本文件只含模块内容,其他分词系统需到官网下载
中科院分词系统JAVA可运行版源代码学习
中科院最新分词程序,hmm模型,支持多线程,大家有兴趣的可以研究一下