NLP分词中,除了上文介绍的 前向或后向的动态规划算法之外,现在更多采用的是通过标注BMSE四种词性,来使用维特比算法 得到最佳分词。
B : 某个分词的第一个字 M: 某个分词中间的字 E: 某个分词最后一个字 S: 这个字单独作为一个分词
例如:'我喜欢蔬菜' --正确词性标注为------> SBEBE 则分词为 '我/喜欢/蔬菜'
'维特比算法是针对一种特殊的有向图' ----->BMEBESBESSBESBME 分词为:‘维特比/算法/是/针对/一/种/特殊/的/有向图’
当然实际如何分词是正确的是根据词库得到的,是可以调整的。
这个特殊的有向图就是lattice图,找到从第一个字到最后一个字的概率最大路径即可以找到最佳分词,与上篇文章相同的原理,概率最大可以转化为负对数相加,即路径最短,如果穷举路径则计算上不可接受。
实际每个点走向下一个节点的路径有4×4=16种(Start有4条,实际一般只有BS两条),这里仅给出一条路径。维特比算法就是找到一条从start到最后W_N的BMSE的最短路径。其原理为:

定义i-1 到i节点的加权距离 d(Tᵢ₋₁,Tᵢ)= -logP(Tᵢ|Tᵢ₋₁)·P(Wᵢ|Tᵢ)
维特比算法如下:

从词性标注到DNA序列元件&spm=1001.2101.3001.5002&articleId=156147833&d=1&t=3&u=3e356ae30f3548b58305bdbc0a33fb8d)
1013

被折叠的 条评论
为什么被折叠?



