• 9.5 NLP slide: 第二课 语言模型


    1. Language Model: 预测一个句子或短语出现的概率

     句子出现概率 ->   单词的联合概率  -> 条件很长的条件概率

      通过马尔可夫假设缩短条件 - >  某单词出现概率只与该单词前n个单词出现概率有关 -> Uni-gram Bi-gram Tri-Gram model PPT T8

      用来平衡数据的稀疏性,n-gram中n越高,数据集越稀疏,一般使用Bi-gram

      

    2. Bi-gram Uni-gram中的单个单词出现概率的计算方法: 

      Uni-gram :  ‘w’ 在语料库中出现次数 / 语料库中总单词 T14

      Bi-gram:  P(W2 | W1) = C(W2,W1)/ C(W1)  有多少次出现了W1时,下一个单词是W2 / 出现W1的总数  T16

      Tri-gram:  P(W3 | W1,W2) =     C(W1,W2,W3)/C (W1,W2)                  T17

      整个句子出现的概率 =  这些单词概率的累乘,其中可能出现某单词出现概率为0,则用 laplace smoothing 分子+1

      

    3. 所以语言模型的训练过程,就是统计语料库中出现单词频率的过程,再经过MLE 极大似然估计

    4. 对于不同语言模型的效果,需要评估方式去衡量: perplexity : 2^(-x)   x : average log likelihood

      生成通顺句子的概率越大越好

      LM:最简单的生成模型,训练好后可以不断生成文本

    5. Laplace smoothing  对于每个单词的概率P ,对其分子+1,对其分母+V,其中V为词库中单词的个数,这样完成归一化

      add-1 smoothing / add-k smoothing

    6.  spelling correction (语言模型的应用):

      1) 比起遍历所有单词,寻找编辑距离为1-2的单词,不如直接生成,比如 插入/缺失/修改/乱序

      2)结合上下文筛选1)中生成的上下文

      3)P(C|W) 正比于 P(W|C)*P(C), P(W|C)为(W,C)相关分数,P(C)来自语言模型  T35

        P(W|C)  来自于次数统计,P(C) 比如 'appl' 统计上下文中 P('I EAT AN APP') 与  P('I EAT AN APPLE') 的大小

  • 相关阅读:
    cocos2d多语言互调之一---lua调java
    vue 组件
    封装 XMLHttpRequest
    Ajax 请求
    jq 显示和隐藏 计时器
    jq 动画DOM及其操作
    jq 表单提交
    jq 事件绑定
    js 一些实用的封装和兼容
    工厂、原型、混合模式
  • 原文地址:https://www.cnblogs.com/ChevisZhang/p/13619204.html
Copyright © 2020-2023  润新知