第三章 3、4 语言模型及其平滑项处理

Noisy Channel Model

下面这个是贝叶斯公式。因为source是给定的输入,所以它的概率是常数,分母就忽略了。
第三章 3、4 语言模型及其平滑项处理_第1张图片
例如:一直输入的英文,求翻译之后的中文。
第三章 3、4 语言模型及其平滑项处理_第2张图片
第三章 3、4 语言模型及其平滑项处理_第3张图片

语言模型

LM:深度学习模型,判断语义性。
第三章 3、4 语言模型及其平滑项处理_第4张图片
回忆一下联合概率公式
第三章 3、4 语言模型及其平滑项处理_第5张图片
在语料库中先找后面这一句话,找到之后,看后面接的是什么。看是否出现,求概率。
缺点:当这这句话很长的时候,不好找
第三章 3、4 语言模型及其平滑项处理_第6张图片
改进:马尔科夫假设
unigram bigram trigram
第三章 3、4 语言模型及其平滑项处理_第7张图片

  • Uni-gram

  • 只考虑单词本身,没有考虑到前后鼓阿西
    第三章 3、4 语言模型及其平滑项处理_第8张图片
    第三章 3、4 语言模型及其平滑项处理_第9张图片

  • Bi-gram
    考虑到了前一个单词第三章 3、4 语言模型及其平滑项处理_第10张图片

  • N-gram
    会考虑到前面更多的单词。
    第三章 3、4 语言模型及其平滑项处理_第11张图片

  • Uni-gram下求句子的概率
    直接统计语料库中这个词出现的次数 / 总的单词数
    第三章 3、4 语言模型及其平滑项处理_第12张图片
    举例:注意语料库不能重复,这里应该是17
    一个句子首先还是先分词。
    缺点:如果一个单词没有出现,那么这个句子的概率就是0,这是不应该的。
    改进方法:增加平滑项,让其足够的小,但是不是0就好
    第三章 3、4 语言模型及其平滑项处理_第13张图片

  • Bi-gram下统计计算句子的概率
    只考虑前面一个单词:先在语料库中找到所有的明天。然后看明天后面跟着的单词是什么即可。
    第三章 3、4 语言模型及其平滑项处理_第14张图片
    基于Bi-求一个句子的出现概率。也有一定的问题,会出现0.第三章 3、4 语言模型及其平滑项处理_第15张图片

LM的评价

语言模型的评价:
第三章 3、4 语言模型及其平滑项处理_第16张图片

  • 语言模型评价指标:Perplexity
    训练好的模型咋先计算x,x是 avg(Log(Likelihood))。。。所以perplexity越小越好第三章 3、4 语言模型及其平滑项处理_第17张图片
    举例:假设基于Bi-模型,对于一句话来讲,先通求得Bi下的P,然后取Log,之后再求平均值。
    带入perplexity求得模型好坏的指标。第三章 3、4 语言模型及其平滑项处理_第18张图片
    实验结果:
    第三章 3、4 语言模型及其平滑项处理_第19张图片

平滑项

第三章 3、4 语言模型及其平滑项处理_第20张图片

  • Add-one Smooothing
    之前我们考虑的是MLE,最大似然估计,就是看一个单词出现之后两一个单词出现的次数。
    现在我们在分母上加上V,在分子上加上1,这样就不会出现0项了。
    V是语料库中单词的个数。
    第三章 3、4 语言模型及其平滑项处理_第21张图片
    为什么加V,而不是2V,3V。因为V会是的概率为1.
    V是语料库中不重复单词的个数。第三章 3、4 语言模型及其平滑项处理_第22张图片

  • Add-k-Smoothing

  • 也就是坟墓上的V加上一个系数K,分子也加上K。模型调参的时候可以使用。
    第三章 3、4 语言模型及其平滑项处理_第23张图片
    举例:
    在在训练集上训练出一个语言模型,需要在验证机上验证好坏。
    使用perplexity,也就是找到一个k,使得perplexity最小。
    第三章 3、4 语言模型及其平滑项处理_第24张图片

  • Interpolation
    Tri-结果不理想

第三章 3、4 语言模型及其平滑项处理_第25张图片
改进:在Tri-的基础之上,同时考虑Uni-和Bi-。
使用一个权重系数。

第三章 3、4 语言模型及其平滑项处理_第26张图片
第三章 3、4 语言模型及其平滑项处理_第27张图片
第三章 3、4 语言模型及其平滑项处理_第28张图片
Q1:整个18占据了全部的概率空间
Q2:用只有1条鱼来推测新鱼种,因为1条鱼只存在一个,所以是新的。且18不再是整个概率空间。
Q3:会小于1/18
第三章 3、4 语言模型及其平滑项处理_第29张图片
这个算法分为两部分:没有出现过得,和出现过的
然后一种情况下有两种计算方式:最大似然估计,GT算法(good turning)
注意:右下角分母要乘以N,就算的是总数。。左边的公式要乘以N分母上(公式没错,但是计算的时候要除以样本总数)
观察可以看到,GT算法的概率可能会比MLE小,因为GT算法有一部分概率空间分给了新的悟空,考虑了新的因素进来。
第三章 3、4 语言模型及其平滑项处理_第30张图片
r:在我构建的词典库中单词出现的次数 0次,1次,2次…
Nr:单词数:出现0次的单词有多少
r*:使用GT算法算出来出现的概率
t:训练数据里面真实统计
观察:r*和t近似相近
第三章 3、4 语言模型及其平滑项处理_第31张图片
缺点:
可能计算到后面出现缺少5次的单词没有,出现6次的单词有,但是出现4次的单词计算需要5次数据的支撑。这时候就要用回归模型来拟合5次的数据。然后继续用GT方法。
第三章 3、4 语言模型及其平滑项处理_第32张图片
语言模行里面多用GT,但是在朴素贝叶斯里面用到的ADD-K方法会多一点。

你可能感兴趣的:(●,人工智能,#,自然语言处理,NLP)