N元语法
最大似然估计
缺陷:
-
参数空间过大
条件概率P(wn|w1,w2,…wn-1)无法估算
-
数据稀疏严重
很多语料库中未出现的词组组合,得到的概率为0
马尔可夫假设
目的:解决参数空间过大的问题;随意一个词出现的概率只和与它前面出现的有限的一个或者几个词相关。
unigram
一元语言模型:一个词的出现与周围词独立条件无关假设
bigram
二元语言模型:一个词的出现仅依赖于前面两个词考虑到词与词的搭配关系,比如“pizza”和“eat”的搭配比“drink”的搭配更普遍
trigram
三元语言模型:一个词的出现仅依赖于它前面出现的两个词
模型评价
方法一:将模型放入具体的任务,然后分别得到模型的准确率。但这种方法很耗时间;这种端对端的评测被称为外在评测(extrinsic evaluation)方法二:利用语言模型的特性,使用困惑度对语言模型进行评价;这是一种内在评测(intrinsic evaluation)一般使用在试点试验上,即只是一个小规模的初步研究,以评估一些性能;
困惑度
![](https://img.haomeiwen.com/i1878605/de0958d4fbef523d.jpg)
包括句末标记</s>,然后
是<s>
- 测试集上得到的句子的概率越大,困惑度越小,说明模型越好
数据稀疏问题
“封闭词汇假设”的问题:假设测试集中所有的词汇都出现过。显然这个假设把问题简单化了。对于语料库中未曾出现的词组对,会出现概率为0的现象,这对于我们模型的估计是不利的,因此我们要采取一些平滑方法解决这一问题。
Laplace平滑
又称为加1平滑,目的是保证所有计数结果至少出现一次;
![](https://img.haomeiwen.com/i1878605/f648b69d8cf15310.jpg)
加1的总数为V,要加在分母上,因为要保证全概率公式成立。
-
将原来大的计数削减用于补偿给未看见的计数
-
调整计数
;
用来描述平滑算法对分子的影响;
Good-Turing打折法
-
使用只出现过一次的单词的频率作为零计数的一元语法的频率来重新估计概率量
其他出现非零次的概率要根据
进行打折计算
![](https://img.haomeiwen.com/i1878605/56e75a2980ed8d37.jpg)
插值法
使用线性插值的方法,将高阶模型和低阶模型做线性组合,
-
从所有的N元语法估计中把不同的概率估计混合起来进行先行插值
从保留语料库训练lamda的值
回退法
-
如果我们需要的N元语法有零计数,我们就回退到N-1元语法近似地计算它
-
我们不断回退,直到达到具有计数的历史为止
工具包和数据格式
用对数来表示和计算语言模型,以避免下溢,加快计算。对数空间相加等价于线性空间的相乘。要报告概率的时候,取对数概率的指数即可。
SRILM
语言模型训练工具SRILM详解
A Toolkit For Langugae Modeling——SRILM使用记录
网友评论