NLP各种语言模型的优缺点比较

持续更新中…

1.n-gram

n-gram语言模型引入马尔科夫假设,假设当前单词出现的概率只与前n-1个单词有关。常见的unigram、bigram、trigram公式如下:
unigram
在这里插入图片描述

在这里插入图片描述

  • 优点:(1) 采用极大似然估计,参数易训练;(2) 完全包含了前 n-1 个词的全部信息;(3) 可解释性强,直观易理解。
  • 缺点 :(1) 缺乏长期依赖,只能建模到前 n-1 个词;(2) 随着 n 的增大,参数空间呈指数增长;(3) 数据稀疏,难免会出现OOV的问题;(4) 单纯的基于统计频次,泛化能力差。

2.神经网络语言模型

神经语言模型使用连续表示或词汇Embedding来进行预测。

2.1 前馈神经网络语言模型(NNLM)

在这里插入图片描述
网络包含输入层、投影层、隐藏层和输出层。输入为前n-1个单词,然后将每个单词映射成为多维向量,再通过隐层去学习更深层次的表征,最后输出层通过softmax输出词表中每个单词出现的概率。
网络的第一层:将前n-1个单词的向量 C ( w t − n + 1 ) , . . . , C ( w t − 2 ) , C ( w t − 1 ) C(w_{t-n+1}), ..., C(w_{t-2}),C(w_{t-1}) C(wtn+1),...,C(wt2),C(wt1) 进行拼接成为 ( n − 1 ) ∗ m (n-1)*m (n1)m 维的向量,记为输出 x x x
网络第二层:通过全连接的隐层进行训练 H x + d Hx+d Hx+d,其中 H H H 为权重矩阵, d d d 为偏置项,最后通过一个 t a n h tanh tanh 激活函数。
网络的第三层:输出层的节点个数为词表的大小 ∣ V ∣ |V| V, 每个节点 y i y_i yi 表示单词 w i w_i wi 预测为下个单词的概率。最终通过softmax进行归一化输出。 y = b + W x + U t a n h ( d + H x ) p = s o f t m a x ( y ) y=b+Wx+Utanh(d+Hx) \\ p=softmax(y) y=b+Wx+Utanh(d+Hx)p=softmax(y)

  • 优点:利用神经网络去建模当前词出现的概率与其前 n-1 个词之间的约束关系,相比 n-gram 具有更好的泛化能力。
  • 缺点:同样仅包含了有限的前文信息

2.2 循环神经网络语言模型(RNNLM)

https://blog.csdn.net/huanghaocs/article/details/77935556
https://zhuanlan.zhihu.com/p/52061158

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值