赞
踩
基于统计的分词算法的主要核心是词是稳定的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻出现的概率或频率能较好地反映成词的可信度。可以对训练文本中相邻出现的各个字的组合的频度进行统计,计算它们之间的互现信息。互现信息体现了汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可以认为此字组可能构成了一个词。该方法又称为无字典分词。
1.构建语言模型
2.对句子进行单词划分,划分结果运用统计方法计算概率,获取概率最大的分词方式。(统计方法如隐马尔可夫模型HMM,条件随机场CRF)
一个语言模型可以简单理解为一个句子 s 在所有句子中出现的概率分布 P(s)。举个简单的例子:
如果一个人所说的话语中每100个句子里大约有一句是Okay,则可以认为p(Okay) ≈ 0.01。而对于句子“An apple ate the chicken”我们可以认为其概率为0,因为几乎没有人会说这样的句子。
我们先假设 S 表示某一个有意义的句子,S 是由一连串特定顺序排列的词组成,这里n是句子的长度,那么我们怎么获取句子 S 在一个语言模型中的概率?
它的概率可以表示为:
可是这样的方法存在两个致命的缺陷:
数学家马尔可夫针对无法计算上述公式这种情况,提出了一种偷懒且高效的方法:
每当遇到这种情况时,就假设任意一个词 wi 出现的概率只同它前面的词 wi-1 有关,这就是很有名的马尔可夫假设。
基于此思想,n-gram model诞生了。
n元模型的思想就是:出现在第 i 位上的词 wi 仅与它前面的(n-1)个历史词有关。
通常情况下,n的取值不能太大,实际中, n=3是最常见的情况。n过小,产生的概率不够准确,n过大,计算量太大。
解决这个问题有两种常用方法: 平滑法和回退法。
第一篇提出神经网络语言模型的论文是Bengio大神在2003年发表的《A Neural Probabilistic Language Model》。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。