中文分词—读数学之美

语言统计模型:

S表示一连串特定顺序排列的词:w1,w2,w3,…,wn,S可能是一个有意义的句子。 

S在文本中出现的可能性,即P(S):

P(S)=P(w1)*P(w2|w1)*P(w3| w1 w2)…*p(wn| w1 w2 … wn-1)

p(w1)表示w1出现的概率,p(w2|w1)表示w1出现的前提下,w2出现的概率,由于以上模型的复杂,假设wi出现只依赖于wi-1(马尔科夫假设)。

即:P(S)=P(w1)*P(w2|w1)*P(w3|w2)…*P(wn|wn-1)。

 

模型求解:

根据条件概率公式:P(w1,w2) = P(w1)*P(w1|w2) = P(w2)*P(w2|w1) —> P(w1|w2) = P(w1,w2)/P(w1)

在大量文本中,统计词对(w1,w2)出现的次数,统计w1出现的次数,相除即近似于P(w1|w2)的概率

 

语言统计模型在中文分词中的应用:

最少词数&查字典:

将句子从左到右扫描,遇到字典里有的词就标记出来,遇到复合词,取最长匹配,遇到不能确定的字串,分割为单字词。缺点:1)二义性句子分词问题:举例“发展中国家”分词为“发展”+“中国”+“家”;2)分词中最长匹配的错误:举例“上海大学城书店”分词为“上海大学”+“城”+“书店”。

使用语言统计模型分词:

假设一个句子S3种分词方法:

A1,A2,A3…Ak;

B1,B2,B3…Bm;

C1,C2,C3…Cn.

利用语言统计模型:已知一连串特定顺序排列的词Wi,组成有意义的句子的可能性越大,该句子分词为Wi的方案最好。即计算:P(A1,A2,A3…Ak),P(B1,B2,B3…Bm),P(C1,C2,C3…Cn)中的最大值。如果穷举句子的所有可能分词方案,再一一求可能性,代价太大,可以使用DP+viterbi

 

中文分词的几个问题:

 

  1. 产品线专名:使用一些基本的切词模块,不能找回产品线的专名,可以通过将切散的词重新组合形成新的专名。
  2. 切词粒度:基本词、专名、紧密词,对切词粒度进行控制,防止切分过散或粒度过大,要适用于产品线特征。
  3. 紧密词如果2个词一起出现的时候,总是紧挨在一起,即具有紧密关系,如果这种紧密关系大到一定程度,即为一对紧密词,也适用于三个词的情况。经过统计,具备高紧密度的词对,一般都是专名。通过紧密度来判断专名,能够有效补充专名资源未覆盖的专名。
  4. 性能粘接:要求的性能和召回决定粘接。假设term1的拉链长度是100w,term2的拉链长度是200wterm1term2的拉链交集为20w,若将term1term2合为一个term3term3的拉链长度是15w。若取term3的拉链以取代term1term2的拉链求交,性能节省:(300-15)/300 = 95%,召回率损失:(20-15)/20=25%
  5. 成分分析:区分term的重要性,例如:表示区域的term分值低。

你可能感兴趣的:(c,语言,产品)