文章目录

  • Language Model(LM) 简介
  • Chain Rule
  • sparsity 稀疏性问题
  • 马尔可夫假设
  • Language Model: Unigram, Bigram, N-gram
  • 举例:Unigram, Bigram 模型的训练过程和使用
  • Unigram
  • Bigram
  • 语言模型的评估-----Perplexity
  • 平滑函数
  • Add-one Smoothing (也就是 拉普拉斯平滑)
  • Add-K Smoothing
  • Interpolation
  • Good-Turning Smoothing
  • 语言模型的应用:生成句子


Language Model(LM) 简介

语言模型用来判断:是否一句话从语法上通顺

用计算概率的方式判断
prompt大语言模型 语言模型lm_prompt大语言模型
那么如何得到这个模型prompt大语言模型 语言模型lm_深度学习_02

Language Model(LM)的目标(object):

Compute the probability of a sentence or sequence of words.prompt大语言模型 语言模型lm_prompt大语言模型_03

Chain Rule

prompt大语言模型 语言模型lm_prompt大语言模型_04


prompt大语言模型 语言模型lm_语言模型_05

sparsity 稀疏性问题

当一条句子中包含的单词太多,会导致这条句子在语料库中很难找到。因此计算这种长句的概率,大部分的概率值都为0。那么 对 长句 通过统计的方法 计算出来的概率值是没有多大意义的。
比如你要计算prompt大语言模型 语言模型lm_prompt大语言模型_06的概率值,那么你要统计出 “今天是春节我们都” 出现的频数,然后统计出 “今天是春节我们都休息” 的频数。
但是你会发现 这句子在语料库中出现的次数太低,导致结果没有多大意义。

马尔可夫假设

解决sparsity 稀疏性问题 的思路:马尔可夫假设

prompt大语言模型 语言模型lm_自然语言处理_07


prompt大语言模型 语言模型lm_深度学习_08


举例:

prompt大语言模型 语言模型lm_深度学习_09的语言模型的使用案例:

prompt大语言模型 语言模型lm_深度学习_10

Language Model: Unigram, Bigram, N-gram

由不同的马尔可夫假设,可以得出不同的语言模型 Language Model: Unigram, Bigram, N-gram

prompt大语言模型 语言模型lm_语言模型_11


prompt大语言模型 语言模型lm_prompt大语言模型_12


prompt大语言模型 语言模型lm_自然语言处理_13


一般情况下,N取2或者3.

举例:Unigram, Bigram 模型的训练过程和使用

Unigram

因为是Unigram ,则有

prompt大语言模型 语言模型lm_prompt大语言模型_14


那么现在,我们就要计算出这里的每个概率值

prompt大语言模型 语言模型lm_深度学习_15


这里,假设 有一个语料库

prompt大语言模型 语言模型lm_语言模型_16


我们要计算出,prompt大语言模型 语言模型lm_语言模型_17的概率值

通过统计,发现,

语料库中 词语 “我们” 出现的次数为C(我们) = 100 次

语料库中,总共的词语个数为 prompt大语言模型 语言模型lm_深度学习_18,

prompt大语言模型 语言模型lm_自然语言处理_19下面是一个完整的例子

prompt大语言模型 语言模型lm_自然语言处理_20


这里错了, 这里,V是词典中单词的个数(不包括重复的单词)。所以上面的V = 17,而不是19

Bigram

同理,可得出

prompt大语言模型 语言模型lm_自然语言处理_21


这里错了, 这里,V是词典中单词的个数(不包括重复的单词)。所以上面的V = 17,而不是19

语言模型的评估-----Perplexity

评估模型为:

prompt大语言模型 语言模型lm_自然语言处理_22


这里:

x是平均的log 似然值

Perplexity 越小,模型越好

评测过程:

  1. 首先,你是语料库A训练得出语言模型 LM(训练好的Bigram);
  2. 然后,将模型LM放入评估语料库B里面,利用模型LM生成语料库B,从而计算出它的 平均l og 似然值。
    比如:语料库中仅仅只有一句话: “今天天气很好,适合出去运动”,那么
    直接 预测 “今天”
    再 给定 “今天” 预测 “天气”, 今天 天气
    再 给定 “今天天气” 预测 “很好”, 今天 天气 很好

    下面,给出38million的单词下得出的模型LM, 放在1.5million的语料库中,得出的Perplexity

平滑函数

共有4个平滑函数

prompt大语言模型 语言模型lm_语言模型_23


为什么需要平滑?

因为稀疏性问题, 有的句子,有的词 ,在语料库中 就是没有。

那么计算的概率值必然为0. 但是,有的时候,我们不希望它为0,(因为不能因为一个单词的缺失就放弃整个句子),那么我们就可以加上平滑,从而保证结果不为0.

Add-one Smoothing (也就是 拉普拉斯平滑)

prompt大语言模型 语言模型lm_prompt大语言模型_24


这里,V是词典中单词的个数(不包括重复的单词)。

prompt大语言模型 语言模型lm_深度学习_25

Add-K Smoothing

prompt大语言模型 语言模型lm_prompt大语言模型_26

Interpolation

prompt大语言模型 语言模型lm_深度学习_27

Good-Turning Smoothing

将还没有出现的情况也考虑了进去。

prompt大语言模型 语言模型lm_prompt大语言模型_28

语言模型的应用:生成句子

prompt大语言模型 语言模型lm_语言模型_29