9.6 小结及拓展阅读 341
9.6 小结及拓展阅读
神经网络为解决自然语言处理问题提供了全新的思路。而所谓深度学习也是建
立在多层神经网络结构之上的一系列模型和方法。本章从神经网络的基本概念到其
在语言建模中的应用进行了概述。由于篇幅所限,这里无法覆盖所有神经网络和深
度学习的相关内容,感兴趣的读者可以进一步阅读 Neural Network Methods in Natural
Language Processing
[31]
和 Deep Learning
[30]
。此外,也有一些研究方向值得关注:
• 端到端学习是神经网络方法的特点之一。这样,系统开发者不需要设计输入和
输出的隐含结构,甚至连特征工程都不再需要。但是,另一方面,由于这种端到
端学习完全由神经网络自行完成,整个学习过程没有人的先验知识做指导,导
致学习的结构和参数很难进行解释。针对这个问题也有很多研究者进行可解释
机器学习(Explainable Machine Learning)的研究
[426, 427, 428]
。对于自然语言处理,
方法的可解释性是十分必要的。从另一个角度说,如何使用先验知识改善端到
端学习也是很多人关注的方向
[429, 430]
,比如,如何使用句法知识改善自然语言处
理模型
[431, 432, 433, 434, 435]
。
• 为了进一步提高神经语言模型性能,除了改进模型,还可以在模型中引入新的
结构或是其他有效信息,该领域也有很多典型工作值得关注。例如在神经语言
模型中引入除了词嵌入以外的单词特征,如语言特征(形态、语法、语义特征
等)
[436, 437]
、上下文信息
[407, 438]
、知识图谱等外部知识
[439]
;或是在神经语言模型
中引入字符级信息,将其作为字符特征单独
[440, 441]
或与单词特征一起
[442, 443]
送入
模型中;在神经语言模型中引入双向模型也是一种十分有效的尝试,在单词预
测时可以同时利用来自过去和未来的文本信息
[22, 167, 444]
。
• 词嵌入是自然语言处理近些年的重要进展。所谓“嵌入”是一类方法,理论上,
把一个事物进行分布式表示的过程都可以被看作是广义上的“嵌入”。基于这
种思想的表示学习也成为了自然语言处理中的前沿方法。比如,如何对树结构,
甚至图结构进行分布式表示成为了分析自然语言的重要方法
[445, 446, 447, 448, 449]
。此
外,除了语言建模,还有很多方式可以进行词嵌入的学习,比如,SENNA
[102]
、
word2vec
[164, 425]
、Glove
[168]
、CoVe
[450]
等。