语言模型

2021-04-06  本文已影响0人  dreampai

一、语言模型定义

一个句子是否合理,就看它的可能性大小如何(概率)。


image.png
image.png

语言模型缺点

二、 马尔科夫假设

任意一个词出现的概率只同它前面的词有关。


image.png

三、高阶语言模型

N 元模型:假设一个词由前面的 N-1 个词决定,对应的模型稍微复杂些。,即 N-1 阶马尔科夫假设

image.png
为什么 N 取值一般很小

优点

缺点

统计语言模型的限制

基于最大似然估计的语言模型很容易训练,可扩展到大规模语料,时间表现良好。但模型缺乏对上下文的泛化。比如观察到 black car 和 blue car 并不会影响我们估计出现 red car 的概率,如果我们之前没有观测到它。

四、平滑技术

统计语料有限,存在数据稀疏,导致零概率问题

避免 0-概率事件的方法使用平滑技术,确保为每个可能的情况都分配一个概率(可能非常小)。

Add one Smoothing
它假设每个事件除了语料中观测的情况外,至少还发生 1 次:

image.png

折扣法

古德-图灵估计原理:对于没有看见的事件,我们不能认为它发生的概率是零,因此从概率的总量中,分配一个很小的比例给这些没有看见的事件。


image.png

看见的那些事件的概率总和就要小于 1 了,因此,需要将所有看见的事件概率调小一点。至于小多少,要根据“越是不可信的统计折扣越多”的方法进行。


image.png
image.png
image.png

自然语言处理中,一般对出现次数超过某个阈值的词,频率不下调,支队出现次数低于某个阈值的词,频率才下调,下调得到的频率总和给未出现的词。(出现次数越少,折扣越多。对于未看见的词,也给予了一个比较小的概率。)

四、语言模型评估

困惑度:给测试集的句子赋予较高概率值的语言模型较好,当语言模型训练完之后,测试集中的句子都是正常的句子,那么训练好的模型就是在测试集上的概率越高越好,公式如下:

image.png

五、神经语言模型

N-Gram 模型需要精心设计平滑方法,为了解决这个问题,Bengio 提出神经网络来构建语言模型,给定前 N-1 个词预测下一个词的任务。

image.png

N-gram 神经语言模型的网络结构

image.png

其中 m, n, h 为超参数,N 为词表大小,视训练集规模而定;训练使用交叉熵作为损失函数;当训练完成时,就得到了 N-gram 神经语言模型,以及副产品词向量

参考链接

上一篇 下一篇

猜你喜欢

热点阅读