读书笔记2之中文分词流程HanLP

 

  1. 句子切分:
    1. 系统读取带分词的字符串。输入的是一个句子或者一篇文章。如果是篇章则系统会首先进行句子切分,然后调用多线程,对每个切分的句子再进行分词。
  2. 导入词典:
    1. 根据输入的配置信息,导入相应的词典。
  3. 进入粗分阶段:   
    1. 首先,对句子进行字符级切分,即将输入的句子切分为单个UTF-8编码的字符数组
    2. 然后,一元切分。查询核心词典,将字符切分的结果与词典最大匹配,匹配结果,包括词形、词性、词频等信息形成一元词网,之后对一元词网进行原子切分,即按照模式合并英文和数字的字符构成原子词
    3. 二元切分:用一元切分的结果(二维数组)查询二元词典,与二元词典进行最大匹配,匹配的结果为一个Graph,形成一个词图。
    4. NShort算法计算。将查处的没个结果按平滑算法计算二元分词的词频数得到词图中每个节点的权值(概率的倒数),应用NShort算法 累加词图中每个节点构成的所有路径,权值最小(概率最大)的那条路径对应的词图节点就是初分的结果。
  4. 对粗分结果执行后处理应用规则,识别时间类专有名词。
  5. 进入未登录词识别阶段,使用HMM(隐马尔可夫链)语言模型。
    1. 根据人名识别词典,将粗分结果与之匹配,Viterbi算法识别外国的人名
    2. 根据地名识别词典,将粗分结果与之匹配,Viterbi算法识别 地名
    3. 根据组织机构名词典,将粗分结果与之匹配,Dijkstra算法识别组织机构名称
  6. 将命名实体识别后的分词结果加入词图中,对词图再次进行分词(Dijkstra最短路径)。该阶段为细分阶段。
  7. 使用词性标注模型,Viterbi算法,对分词结果进行词性标注
  8. 转换路径为分词结果,并输出分词结果。

Java中文分词hanlp使用https://blog.csdn.net/nima1994/article/details/72819973

文档下载地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tiki_taka_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值