2-gram分词

Posted HOLD

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2-gram分词相关的知识,希望对你有一定的参考价值。

和前一篇介绍的最大概率分词比较,2-gram分词也是一种最大概率分词,只不过在计算一个词概率的时候,它不光考虑自己,还会考虑它的前驱。

我们需要两个字典。第一个字典记录词\\(w_i\\)出现的频次,第二个字典记录词对儿<\\(w_j,w_i\\)>共同出现的频次。有这两份字典,我们就可以计算出条件概率\\(p(w_i|w_j)=p(w_i,w_j)/p(w_j)\\)。

为了直观表示计算过程,我们还是构建出一个图出来。跟上一篇不同,这里换个方向,我们考虑结束字,而不是开始字,因为是后面的词依赖前面的词。

 

这里必须说明一个问题。n-gram是基于HMM的,它假定后面的状态不会影响前面的状态,因此当前面部分的分词已经分完之后,它就不在受后面词的影响了。当然,现实情况中不是这样个样子的,比如abcd中的abc不考虑d的最好分词是a/bc,如果考虑了d就可能是a/bc了。为了简单,这里先不做考虑。

那么,假设\\(\\alpha_i\\)是以i结尾的最优分词的累计概率,j是i的邻接点,容易得到\\(\\alpha_i=max_jp(w(j,i)|w(?,j-1))*\\alpha_{j-1}\\).这里w(?,j-1)是以j-1结束的分词结果中的最后一个词。

可以看出这也是个动态规划问题,基本形式和上一篇最大概率分词区别不大。

具体的代码可以去

以上是关于2-gram分词的主要内容,如果未能解决你的问题,请参考以下文章

中文分词文章索引和分词数据资源分享

分词器以及ik中文分词器

百度中文分词如何分词

中文分词概述及结巴分词原理

ElasticSearch 中文分词器对比

Python中文分词的原理你知道吗?