1、语言模型的定义 :
符号含义:
V-->语言中所有单词的集合,且为有限集;
-->语言中的句子,且n>=1,,为特殊符号STOP(假设STOP不在V中);
-->有限集V上的所有句子的集合,为无限集,包含只有一个特殊符号STOP的句子。
正式定义:
语言模型由有限集V和概率函数组成,且满足,
同时
即是句子集上的概率分布
特殊说明:为什么需要STOP,因为不是所有的单词都可以作为句子的结尾;事实上还有一个特殊的起始符*,因为不是所有的单词都可以作为句子的开头;在马尔科夫模型中我们会看到*和STOP的作用。
2、语言模型的作用:
可用于语音识别,机器翻译;简而言之,一切需要判断句子的合理性的NLP任务都可能需要语言模型。
3、马尔科夫模型(Markov Models):
为了构建语言模型我们需要了解马尔科夫模型;假设读者了解了马尔科夫模型,这里只做简要介绍。
一阶马尔科夫过程(first-order Markov process):
二阶马尔科夫过程(second-order Markov process)即三元模型(trigram model):
4、三元语言模型(Trigram Language Models):
定义:三元语言模型由V和参数组成,其中,。的含义是句子中前两个单词是的情况下,为下一个单词的概率。
一个句子在三元语言模型下的概率是
三元模型存在稀疏问题:
,有时候会出现等于0的情况,即等于0
5、平滑处理:
为了解决三元模型中的稀疏问题,需要做平滑处理,这里介绍两种平滑技术:Linear Interpolation和Discounting Methods
5.1、线性插值(Linear Interpolation):
线性插值平滑之后
其中,且。
平滑之后依然满足概率之和为1
如何确定的值,一种方法是选取一个开发集,在开发集上最大化对数似然估计(log-likelihood)
三元组在开发集中的出现次数
最大化也就最小化了困惑度perplexiy
5.2、折扣方法(Discounting Methods):
即训练语料中u,v所有的后接词;
即训练语料中非u,v后接词。
Discounting之后的概率:
PS:英文翻译不当的地方欢迎指出!!!