1 神经网络语言模型NNLM的提出
文章:自然语言处理中的语言模型预训练方法(ELMo、GPT和BERT)
https://www.cnblogs.com/robert-dlut/p/9824346.html
语言模型不需要人工标注语料(属于自监督模型),所以语言模型能够从无限制的大规模语料中,学习到丰富的语义知识。
1.1 n-gram模型问题:
①模型高度依赖训练语料,泛化能力差,也就是不同文本之间的n-gram差异很大
②模型估算概率时遇到的数据稀疏,平滑后效果也不好
- 点—— 用n-gram语料库训练出来的每个词序列的出现的概率
- 平滑曲线——所有词序列概率相乘所得的P(S),也就是有这些词序列所组成的句子的出现概率
- 离散点与曲线的距离——点1是词序列1的概率,但是离散词序列点1没在平滑曲线L上面,也就是n-gram模型会将该离散词序列1附近的另一个词序列2(在平滑曲线上)的概率作为离散词序列点1的概率去建立模型。而词序列2不一定在语料库中有出现
因此,n-gram所建立的模型对某个句子进行预测时,会有较大的概率损失。
这是无论怎么平滑都无法避免的,因为建立模型的概率点是离散的。
特别是差异很大的异常点,会对模型的结果造成比较大的影响
③n元模型无法建立长期联系
④n-gram以离散符号为统计单元,无法体现语义相似性
由于数据是离散的,如果特别能没有在语料库出现过,而能在语料库中的出现概率很大但是特别能和能意思相近,那么根据n-gram的计算原理,两个已经意思相近的句子的出现概率可能一个为0,一个很大,而实际上两个句子的出现概率差不多,因此会有很大的概率损失误差。
1.2 NNLM 的提出
神经网络NN
为了解决这个问题,我们在将神经网络(