经过人名、地名等未登陆词的识别之后,再次生成二叉分词图表,求取N-最短路径。为何再次执行这样的循环,是因为在得到初分结果后又增加了新的节点(比如:人名或地名)到结果链表中,需要再次求取最短路径:
经过优化后的二叉分词图表:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | |
0 | 始##始@张 | 始##始@未##人 | |||||||||
1 | 张@华 | 张@未##人 | |||||||||
2 | 未##人@说 | ||||||||||
3 | 华@平 | ||||||||||
4 | 未##人@说 | ||||||||||
5 | 平@说 | ||||||||||
6 | 说@的 | ||||||||||
7 | 的@确实 | ||||||||||
8 | 确实@在 | ||||||||||
9 | 在@理 | ||||||||||
10 | 理@末##末 |
经过优化后的二叉分词路径:
序号 | 二叉分词路径 |
0 | 0 2 6 7 8 9 10 11 |
至此,我们得到了最终的分词路径,正确的把人名识别出来,但在这个结果只有一部分词正确标注了词性,主要是未登陆词,即源码中以“未##X”表示的,其它的分词并未成功的进行记性标记。所以需要再次调用记性标记这一次过程,把剩余的词的词性成功标注出来。
经过优化后的分词结果:
序号 | 分词结果 |
0 | 张华平/nr 说/v 的/uj 确实/ad 在/p 理/n |