NLP学习笔记(1)—— 深度学习在NLP各方面的应用进展
NLP中的深度学习
在早期的NLP发展中,主要使用词频统计等概率模型完成一些预测任务。目前,NLP已经普遍使用深度学习中的各网络模型完成各项任务。对深度学习在NLP中的认识可以分为三层:适合使用的深度学习模型、各模型如何实现NLP的核心任务、各核心任务的组合实现NLP应用落地。
主要模型
CNN
CNN最开始是在计算机视觉中大放异彩,自然而然的就被联想到在NLP中是否也可实现很好的效果。
CNN最大的优点就是共享权重和不需要对数据做过多的预处理。前者使得计算量大大减少,对巨量语库的建模有了可实现性;后者意味着只要出现kernel所敏感的feature即可,对位置不敏感,pooling层更是抹去了位置信息。
但同时也带来了一些问题,比如对词序的不敏感、无法解决距离较远的句法结构问题等。
RNN
普通的RNN存在梯度爆炸或者梯度消失的问题,对长期记忆难以实现。为此提出了各种变形,主要有LSTM、GRU等。LSTM的结构学习推荐此链接:理解LSTM,其主要有忘记、输入、输出三个门控制信息总线上的信息状态,决定重要的信息(如主语的性别、职业等各属性),以及及时更新各信息。其他变体也是类似的思想,利用总线传递信息状态,实现无存储的长期记忆。
RNN最大的特点应是可实现对词序的敏感,为此可使用双向RNN,对前向后向的词与词之间的依赖同时保留。但前提是在输入时已经有了整个句子,甚至是整个段落,对实时性较高的任务不适用。
Attention Mechanisms
记忆机制是近年来研究较多的NLP领域,尤其对于输入输出均为文本的任务&#