专栏介绍:本栏目为 “2021秋季中国科学院大学胡玥老师的自然语言处理” 课程记录,不仅仅是课程笔记噢~ 如果感兴趣的话,就和我一起入门NLP吧
目录
- 1. 神经语言模型概述
- 2. DNN语言模型(NNLM)
- 3. RNN语言模型(RNNLM)
- 4. RNN语言模型变形
1. 神经语言模型概述
对于语言模型参数P(Wi | W1W2…Wi-1)
- 统计语言模型:用概率统计法学习参数(在上一篇博客中我们做过一个似然估计法的例题)
- 神经语言模型:用神经网络学习参数
- 使用DNN 学习模型参数 :NNLM 模型
- 使用RNN 学习模型参数 : RNNLM 模型
2. DNN语言模型(NNLM)
我们以2-gram为例(只考虑当前词的前一个词)。
模型结构:
输入前一个词(如果是n-gram对应输入前n-1个词),输出是后一个词的概率。那么有一个新的问题是,词以什么样的形式输入到神经网络中呢?这里就引出了词向量的概念,我们将在下一篇博客中谈到。
3. RNN语言模型(RNNLM)
我们以2-gram为例(只考虑当前词的前一个词)。
模型结构:
- 随着模型逐个读入语料中的词w1;w2 ….隐藏层不断地更新为h(1),h(2)…… ,通过这种迭代推进方式,每个隐藏层实际上包含了此前所有上文的信息,相比NNLM 只能采用上文n 元短语作为近似,RNNLM 包含了更丰富的上文信息,也有潜力达到更好的效果。
RNNLM 优点:
- RNNLM 模型可以保留每个词的全部历史信息,不需简化为n-gram
- 引入词向量作为输入后不需要数据平滑
- 神经网络一般用RNN语言模型
4. RNN语言模型变形
- 正向语言模型
- 反向语言模型
- 双向语言模型
- 单向多层RNN语言模型
- 双向多层RNN语言模型