中科院分词系统的大致流程

本文详细介绍了ICTclas4j分词工具的内部工作流程,包括使用的主要字典类型、分词步骤及人名识别特点。讨论了如何利用核心词典、双词字典和人名角色标注字典进行分词处理,以及后续的优化和词性标注。特别强调了未登录词处理方法与人名识别的独特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注:本文只是个人阅读ictclas4j的一些总结,如有不正确的地方欢迎指出

ictalas4j用到的字典主要是下面的三个:coreDict、biGramDict、nr。coreDict记录了6768个词块,里面有对应的词频和句柄(用于词性标注);biGramDict里面记录的是词和词之间的关系,也就是相邻两个词一起出现的频率;nr记录的是中文人名角色标注,该标注来自对人民日报语料库训练的结果。

了解了其应用的字典后,看一下ictclas4j的大致流程。

首先,把整片文档分割成一个个的句子,对分割后的句子进行原子切割。
其次,查找coreDict字典进行粗略的分词,所有可能的分词结果都存储在一个二维链表里面。该二位链表的每个节点中记录了词性(可能包含多个)、词内容、词频。
然后,查找biGramDict字典,对第二部的结果处理,构造新的二维链表,该二维链表的节点中记录了两个词之间的关系值(权重,衡量俩个词同时出现的概率),通过一个计算公式,计算出两个词的平滑值。
接着,进行初次切分(通过最短路径算法,而权重即为上一步计算出的平滑值)。
接着,进行人名识别了,这应该算是ictclas4j不同于其他分词工具的特征吧,其他的分词工具基本上不处理未登录词,但是未登录词对分词的结果影响还是比较大的。该部分采用的是基于角色标注的算法,通过查找nr字典,最终匹配出人名。(本文只是介绍大致流程,具体的人名识别请阅读 张华平、刘群的论文《基于角色标注的中国人名自动识别研究》)。
接着,处理地点等信息(个人感觉ictclas在处理地点信息时识别率不高,主要是其特征不像人名识别那样紧紧有15中模式匹配模型,分词在切分时并不能准备的切分出机构名称)。
最后就是优化优化结果,添加词性(对于词性,前面已经包含相应的值,在调整相应的分词后调整对应的词性即可)。
最后再次感谢张华平老师,开源分词代码,让nlp初学者少走很多弯路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值