nlp5-n-gram/语言模型(数据平滑方法

1.句子的先验概率

nlp5-n-gram/语言模型(数据平滑方法nlp5-n-gram/语言模型(数据平滑方法

  • 这个联合概率太小了
    • 窗口越大,共现的可能性越小
    • 参数多
  • 解决:等价类
    • 不看所有的历史信息
    • 只看部分历史信息,但看所有的历史等价
      nlp5-n-gram/语言模型(数据平滑方法
  • 如何划分等价类
    将两个历史映射到同一个等价类,当且仅当这两个历史中的最近 n-1 个基元相同,即:
    nlp5-n-gram/语言模型(数据平滑方法

1.1 n-gram

  • 这种情况下的语言模型称为 n 元文法(n-gram)模型
    • 当 n=1 时,即出现在第 i 位上的基元 wi 独立于历史。一元文法也被写为 uni-gram 或 monogram;
    • 当 n=2 时, 2-gram (bi-gram) 被称为1阶马尔可夫链;—效果比1好一点
    • 当 n=3 时, 3-gram(tri-gram)被称为2阶马尔可夫链,
    • 依次类推。
  • 为了保证条件概率在 i=1 时有意义,同时为了保证句子内所有字符串的概率和为 1,即 ,可以在句子首尾两端增加两个标志: w1 w2 … wm 。不失一般性,对于n>2 的 n-gram,p(s) 可以分解为:
    nlp5-n-gram/语言模型(数据平滑方法
  • eg
  • nlp5-n-gram/语言模型(数据平滑方法nlp5-n-gram/语言模型(数据平滑方法
  • 拼音转文字
    nlp5-n-gram/语言模型(数据平滑方法nlp5-n-gram/语言模型(数据平滑方法
  • 样本空间
    • 1N,2N21-N,2-N^2
    • 对汉语来说4-gram可能好一点
  • 汉语分词问题
    • 给定汉字串:他是研究生物的。
    • 可能的汉字串:
        1. 他|是|研究生|物|的
        1. 他|是|研究|生物|的
    • 2元文法:
      • p(Seg1) =p(他|)×p(是|他)×p(研究生|是)× p(物|研究生)×p(的|物)×p(的|)
      • p(Seg2) = p(他|)×p(是|他)×p(研究|是)× p(生物|研究)×p(的|生物)× p(的|)
        nlp5-n-gram/语言模型(数据平滑方法

2. 参数估计

  • 训练语料(training data):用于建立模型,确定模型参数的已知语料。
  • 最大似然估计(maximum likelihood Evaluation, MLE):用相对频率计算概率的方法。
  • nlp5-n-gram/语言模型(数据平滑方法nlp5-n-gram/语言模型(数据平滑方法
  • 存在问题:没有出现过的词怎么办?概率为0数据匮乏(稀疏) (Sparse Data) 引起零概率问题
    • 解决:数据平滑
      nlp5-n-gram/语言模型(数据平滑方法

3. 数据平滑

  • 数据平滑的基本思想:
    调整最大似然估计的概率值,使零概率增值,使非零概率下调,“劫富济贫”,消除零概率,改进模型的整体正确率。
  • 基本目标:
    测试样本的语言模型困惑度越小越好。
  • nlp5-n-gram/语言模型(数据平滑方法
  • 困惑度定义
    nlp5-n-gram/语言模型(数据平滑方法

3.1 数据平滑度方法

3.1.1加1法

  • 加1法
    • 基本思想: 每一种情况出现的次数加1。
    • 例如,对于 uni-gram,设 w1, w2, w3 三个词,概率分别为:1/3, 0, 2/3,加1后情况?
      • 2/6, 1/6, 3/6

nlp5-n-gram/语言模型(数据平滑方法nlp5-n-gram/语言模型(数据平滑方法nlp5-n-gram/语言模型(数据平滑方法nlp5-n-gram/语言模型(数据平滑方法

3.1.2减