04 统计语言模型(n元语言模型)


预训练

预先训练

我们有两个相似的任务 A 和 B,任务 A 已经完成了得到了一个模型 A

任务 B(数据量小)

用到了一个特性:CNN 浅层参数通用

任务 B 就可以使用模型 A 的浅层参数,后面的参数通过任务 B 训练--》1. 冻结(浅层参数不变)2. 微调(变)

任务 B(大数据)可以训练出模型 B(我还可以使用模型 A 的浅层参数,节省训练时间,节省成本)

统计语言模型

语言模型

语言(人说的话)+模型(表示某个东西,完成某个任务)

  1. P(“判断这个词的词性”),P(“判断这个词的磁性”)
  2. “判断这个词的______

统计语言模型

用统计的方法去解决上述两个问题

“判断这个词的词性” = “判断”,“这个”,“词”,“的”,“词性”

这句话是序列(有顺序的)

用了一个条件概率的链式法则(概率论)

![image-20220611203051818](../../Library/Application Support/typora-user-images/image-20220611203051818.png)

通过这个法则,我们可以求出每一个词出现的概率,然后连乘,就是这句话出现的概率

解决第二个问题:

“判断这个词的__

P(w_next | “判断”,“这个”,“词”,“的”) (1)

词库(词典)V--》新华字典,高处一个集合,把所有词装到集合 V 里

把集合里的每一个词,都进行上一步(1)的计算

词库 V = { “词性”, “火星”}

P(词性| “判断”,“这个”,“词”,“的”)

P(火星| “判断”,“这个”,“词”,“的”)

P(词性| “判断”,“这个”,“词”,“的”,……, “……”)

![image-20220611203813910](../../Library/Application Support/typora-user-images/image-20220611203813910.png)

n 元统计语言模型

P(词性|“这个”,“词”,“的”)

P(火星| “这个”,“词”,“的”)

P(词性|“词”,“的”)

P(火星|“词”,“的”)

P(词性|“的”)

P(火星|“的”)

把 n 个词,取 2 个词(2 元),取 3 个词(3 元)

如何去计算

“词性是动词”
“判断单词的词性”
“磁性很强的磁铁”
“北京的词性是名词”

𝑃(词性|的) = \(\frac{cout(词性,的)}{count(的)}\) = \(\frac{2}{3}\)

平滑策略

P(策略|平滑) = \(\frac{0}{0}\)

![image-20220611204401168](../../Library/Application Support/typora-user-images/image-20220611204401168.png)

统计语言模型

语言模型:计算一句话的概率,计算下一个词可能是什么

统计语言模型:统计的方法去解决语言模型的问题(条件概率)

a 元语言模型:只取 a 个词(马尔科夫链)

平滑策略:

下节课:神经网络语言模型

统计语言模型:神经网络的方法去解决语言模型的问题

posted @ 2022-07-12 16:28  B站-水论文的程序猿  阅读(3171)  评论(1编辑  收藏  举报