HanLP分词工具中的ViterbiSegment分词流程( 三 )

我们知道了词典配置变量使用的位置后 , 就可以确定每个词典的使用条件了以及每个词典的使用顺序

1. 词语粗分

(1)构建词图

对应方法为void generateWordNet(final WordNet wordNetStorage) , 在此方法中系统使用CoreNatureDictionary.txt文件切分出所有可能的分词路径 。 此时如果配置变量useCustomDictionary为true , 则将CustomDictionary.txt中的词也考虑进来 , 说明CustomDictionary.txt优先级会高 。 另外大家可以看到CoreNatureDictionary.txt实际上也充当了隐马词性标注的发射矩阵 , 里边某些多词性词也列出了词性序列以及各词性对应的频次 。

(2)用户定制词典干预

如果配置变量useCustomDictionary为true , 即需要使用CustomDictionary.txt进行干预 , 则执行下边对应的方法 , 否则跳过该步骤 。 用户词典干预根据是否进行全切分有两种不同方法:当配置变量indexMode>0时 , 即系统处于全切分模式时 , 对应方法为

推荐阅读