语言模型 Language Modeling

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 InterpolationDiscounting Methods

    5.1、线性插值(Linear Interpolation)

       

         线性插值平滑之后

             

              其中,且

        平滑之后依然满足概率之和为1

        如何确定的值,一种方法是选取一个开发集,在开发集上最大化对数似然估计(log-likelihood)

 

                                                      三元组在开发集中的出现次数

        最大化也就最小化了困惑度perplexiy

    5.2、折扣方法(Discounting Methods):

        即训练语料中u,v所有的后接词;

        即训练语料中非u,v后接词。

        

        Discounting之后的概率:

                                           

                                             其中 

PS:英文翻译不当的地方欢迎指出!!!

你可能感兴趣的:(mm,NLP,语言模型,马尔科夫,平滑技术)