深度学习在自然语言处理研究上的进展

Kee27E 8年前

来自: http://mp.weixin.qq.com/s?__biz=MzIxNzE2MTM4OA==&mid=412969207&idx=1&sn=4266c8c0ee35821e6d2a2a58e...


近年来,深度学习在人工智能的多个子领域都取得了显著的进展。在自然语言处理领域,虽然深度学习方法也收到越来越多的关注,在很多任务上也取得了一定效果,但是并没有其它领域那么显著。传统的主流自然语言处理方法是基于统计机器学习的方法,所使用的特征大多数是基于onehot向量表示的各种组合特征。这个特征表示方式会导致特征空间非常大,但也带来一个优点。就是在非常高维的特征空间中,很多任务上都是近似线性可分的。因此,在很多任务上,使用线性分类器就是可以取得比较满意的性能。研究者更加关注于如何去提取能有效的特征,也就是“特征工程”。

和传统统计机器学习不同,在自然语言处理中使用深度学习模型首先需要将特征表示从离散的onehot向量表示转换为连续的稠密向量表示,也叫分布式表示。分布式表示的一个优点是特征之间存在“距离”概念,这对很多自然语言处理的任务非常有帮助。早期研究者采用比较保守的方法,将离散特征的分布式表示作为辅助特征引入传统的算法框架,取得了一定的进展,但提升都不太显著。近两年来,随着对深度学习算法的理解逐渐加深,越来越多的研究者开始从输入到输出全部采用深度学习模型,并进行端到端的训练,在很多任务上取得了比较大的突破。本文从词嵌入、基础模型和应用三个方面简要地回顾和梳理近两年深度学习在自然语言处理领域的进展。

1. 词嵌入

自然语言由词构成。深度学习模型首先需要将词表示为稠密向量,也叫词嵌入。早期研究者并没有太多关注词嵌入的语言学解释,仅仅将其作为模型参数。因为词嵌入是一个稠密向量,这样不同词嵌入就存在了距离(或相似度)。一个好的词嵌入模型应该是:对于相似的词,他们对应的词嵌入也相近。因此很多研究者开始关注于如何得到高质量的词嵌入。Mikolov等人[1]最早发现通过循环神经网络模型可以学习到词嵌入之间存在类比关系。比如apple−apples ≈ car−cars, man−woman ≈ king –queen等。Levy等人[3]在Skip-Gram模型[2]的基础上,利用依存句法路径作为上下文来学习词嵌入。Pennington等人[4]直接利用词和它的上下文的共现矩阵,加上一些正则化约束,通过加权最小二乘回归来获得词嵌入。和Skip-Gram等模型相比,该方法能更好地利用全局信息,在语义类比等任务上取得了更好的结果。总体来说,这些方法都可以直接在大规模无标注语料上进行训练。词嵌入的质量也非常依赖于上下文窗口大小的选择。通常大的上下文窗口学到的词嵌入更反映主题信息,而小的上下文窗口学到的词嵌入更反映词的功能和上下文语义信息。

在此基础上,也有研究者关注如何利用已有的知识库来改进词嵌入模型。Wang等人[5]结合知识图谱和未标注语料在同一语义空间中来联合学习知识和词的向量表示,这样可以更有效地实体词的嵌入。Rothe等人[6]直接利用WordNet知识库的词和语义集的关系来学习词嵌入,能更好地利用已有的知识库。该论文获得了ACL2015的最佳学生论文奖。

在上述研究中,一个词只有一个向量表示。但是在自然语言中,一词多义的现象经常存在。因此,如何表示一个词的多个义项也是词嵌入研究中的一个热点。Neelakantan等人[7]在Skip-Gram模型的基础上将一个词的每个义项都用一个向量表示,在不同的上下文中选择一个最相关的义项进行更新。然后通过非参估计的方法来自动学习每个词的义项个数。Liu等人[8]利用主题模型来建模一词多义的词嵌入。首先利用概率主题模型来确定一个词在不同上下文中的主题,然后用联合建模词和主题的嵌入。通过结合不同的主题,可以得到一个词不同义项的向量表示。

2.基础模型

在自然语言处理中,很多任务的输入是变长的文本序列,而传统分类器的输入需要固定大小。因此,我们需要将变长的文本序列表示成固定长度的向量。

以句子为例,一个句子的表示(也称为编码)可以看成是句子中所有词的语义组合。因此,句子编码方法近两年也受到广泛关注。句子编码主要研究如何有效地从词嵌入通过不同方式的组合得到句子表示。其中,比较有代表性方法有四种。

第一种是神经词袋模型,简单对文本序列中每个词嵌入进行平均,作为整个序列的表示。这种方法的缺点是丢失了词序信息。对于长文本,神经词袋模型比较有效。但是对于短文本,神经词袋模型很难捕获语义组合信息。

第二种方法是递归神经网络,按照一个外部给定的拓扑结构(比如成分句法树),不断递归得到整个序列的表示[9]。递归神经网络的一个缺点是需要给定一个拓扑结构来确定词和词之间的依赖关系,因此限制其使用范围。一种改进的方式引入门机制来自动学习拓扑结构[10]。

第三种是循环神经网络,将文本序列看作时间序列,不断更新,最后得到整个序列的表示。但是简单的循环神经网络存在长期依赖问题,不能有效利用长间隔的历史信息。因此,人们经常使用两个改进的模型:长短时记忆神经网络(LSTM)[11]和基于门机制的循环单元(GRU)[12]。

第四种是卷积神经网络,通过多个卷积层和子采样层,最终得到一个固定长度的向量。在一般的深度学习方法中,因为输入是固定维数的,因此子采样层的大小和层数是固定的。为了能够处理变长的句子,一般采用两种方式。一种是层数固定,但是子采样的大小不固定。根据输入的长度和最终向量的维数来动态确定子采样层的大小[13]。另外一种是将输入的句子通过加入零向量补齐到一个固定长度,然后利用固定大小的卷积网络来得到最终的向量表示[14]。

在上述四种基本方法的基础上,很多研究者综合这些方法的优点,提出了一些组合模型。Tai等人[15]基于句法树的长短时记忆神经网络(Tree-LSTM),将标准LSTM的时序结构改为语法树结构,在文本分类上得到非常好提升。Zhu等人[16]提出了一种递归卷积神经网络模型,在递归神经网络的基础上引入卷积层和子采样层,这样更有效地提取特征组合,并且支持多叉树的拓扑结构。

如果处理的对象是比句子更长的文本序列(比如篇章),为了降低模型复杂度,一般采用层次化的方法。先得到句子编码,然后以句子编码为输入,进一步得到篇章的编码。

在上述模型中,循环神经网络因为非常适合处理文本序列,因此被广泛应用在很多自然语言处理任务上。

3.应用

自然语言处理的应用非常广泛,这里我们主要回顾下文本匹配、机器翻译、问答系统和自动文摘这四个比较有代表性的应用领域。

(1)文本匹配

文本匹配是计算给定两个文本序列的相关度。自然语言处理的很多任务可以归结为文本匹配任务,比如文本检索、文本蕴涵、问答对匹配等。Hu等人[14]提出了两种基于卷积神经网络的文本匹配模型。一种是分别建模两个句子,得到句子编码。然后将两个句子编码输入给多层感知器来计算它们的相似度。另一种是将两个句子拼成一个矩阵,每一个矩阵元素是对应的两个句子中相应位置上词嵌入拼接而成的向量。然后利用两维卷积网络来建模相关性。Qiu等人[15]利用动态卷积神经网络来建模句子编码,并利用张量神经网络来更加有效地建模它们之间的关系。Wan等人[16]利用双向LSTM模型来分别建模两个句子,然后按不同位置上双向LSTM的输出建立一个相似度矩阵,然后通过一个子采样层输入给多层感知器来建模相关度。这些方法都是采用端到端的训练方法,非常有利于模型的优化。

(2)机器翻译

早期的基于神经网络的机器翻译系统是在传统模型中引入深度学习模型作为辅助特征。比较有代表性的是,Devlin等人[17]将神经网络语言模型引入到传统机器翻译框架的解码过程,并取得了3个BLEU值的提升。该工作也得到了2014年ACL的最佳论文奖。之后,越来越多的研究者开始采用端到端的深度学习模型来进行机器翻译。Sutskever等人[18]采用了单一神经网络架构的序列到序列模型。首先利用一个LSTM模型来得到源语言的向量表示,然后再利用一个基于LSTM的语言模型来生成目标语言。序列到序列的机器翻译模型如图1所示。ABC为源语言,WXYZ为目标语言。Bahdanau等人[19]在序列到序列的机器翻译模型的基础上,在生成目标语言时,加入了注意力机制来自动学习目标词在源语言上的对齐词。Dong等人[20]利用多任务学习方法来联合学习从一种源语言到多个目标语言的翻译模型。通过在一对多的序列到序列的机器翻译模型中共享源语言的表示,可以更有效地建模源语言端的编码模型。Meng等人[21]利用神经图灵机[22]来建立一个深层的记忆神经网络,并取得了很好的翻译效果。不同层的记忆之间通过控制器和读写操作进行交互。

(3)自动问答

自动问答是指给定一个背景语料库或一些事实,系统可以自动分析输入的问题,并利用语料库中的知识给出答案。传统的自动问答系统一般分为很多模块。每个模型分别进行优化。随着深度学习算法的不断发展,人们开始关注如何学习一个端到端的完全基于神经网络的自动问答模型。Kumar等人[24]提出了一个基于动态记忆神经网络的自动问答系统。借鉴LSTM模型中的记忆模块的想法,建立一个外部的记忆模块,并用GRU模型来编码给定的背景事实信息作为情景记忆,然后用另外一个GRU模型来得到问题的表示,然后利用注意力机制来建模问题表示和情景记忆之间的交互,并生成答案。整个系统可以进行端到端的联合训练。图2给出了基于动态记忆神经网络的自动问答系统示例。Sukhbaatar等人[24]也提出了一个类似的端到端的基于记忆神经网络的自动问答模型。和Kumar等人的模型不同之处在于采用了不同的外部记忆模块的表示机制以及不同的问答到情景记忆的交互机制。Hermann等人[25]利用双向LSTM模型,提出了三种不同的交互机制建立问题和背景文档的联合表示,然后通过一个分类器来预测答案。

(4)自动文摘

自动文摘是指自动地从原始文章中提取一个简短的能够全面反映原文内容的摘要。自动文摘有两个类型:一种是抽取式文摘,从原始文章中抽取一些代表性的句子。另一种是理解式文摘,先理解原始文章,在通过自然语言生成来产生摘要。受到传统方法的限制,以前的自动文摘一般是抽取式文摘,并且研究进展缓慢,逐渐受到冷落。自动文摘又开始逐渐成为研究热点。一开始研究者关注于如何利用分布式表示来改进抽取式文摘方法中的句子之间的相似度计算[25][27]。随着深度学习在统计语言模型的成功,并在端到端机器翻译模型的启发下,研究者开始关注如何直接建立一个端到端的基于神经网络的理解式自动文摘系统。Rush等人[25]利用尝试利用神经词袋模型、卷积神经网络模型以及基于注意力的卷积神经网络模型来得到原始文章的向量表示,然后再通过神经语言模型来生成摘要。通过大规模的训练数据,在DUC自动文摘数据集上取得了很好的效果。

综上所述,深度学习在自然语言处理领域的进展非常迅速。两年前人们还认为深度学习对语言这种非自然信号并不有效。通过这两年的发展,深度学习方法已经在自然语言处理的很多任务上都取得了很大的进展,并超越了传统统计学习的方法。虽然取得的进展和语音识别、计算机视觉领域相比还不太显著,但是已经大大提升了研究者对深度学习在自然语言处理领域上的预期。此外,随着对深度学习认识的加深,研究者逐渐开始摆脱传统自然语言处理框架的限制,采用全新的深度学习框架来进行端到端的自然语言处理,并且也催生了很多新的应用,比如看图说话、自动写作等。相信未来几年,深度学习方法在自然语言处理领域会取得更大的突破。

参考文献

[1] Tomas Mikolov, KaiChen, Greg Corrado & Jeffrey Dean, Efficient estimation of wordrepresentations in vector space, arXiv preprint arXiv:1301.3781, 2013.

[2] Tomas Mikolov, IlyaSutskever, Kai Chen, Greg S Corrado & Jeff Dean, DistributedRepresentations of Words and Phrases and their Compositionality, , 2013.

[3] Omer Levy & YoavGoldberg, Dependency based word embeddings, In Proceedings of the 52nd AnnualMeeting of the Association for Computational Linguistics, pp. 302--308, 2014.

[4] Jeffrey Pennington,Richard Socher & Christopher D Manning, Glove: Global vectors for wordrepresentation, Proceedings of theEmpiricial Methods in Natural Language Processing (EMNLP 2014), Vol. 12, pp.1532--1543, 2014.

[5] Zhen Wang, JianwenZhang, Jianlin Feng & Zheng Chen, Knowledge graph and text jointlyembedding, In Proceedings of the 2014 Conference on Empirical Methods inNatural Language Processing (EMNLP). Association for Computational Linguistics,pp. 1591--1601, 2014.

[6] Sascha Rothe &Hinrich Schűtze, AutoExtend: Extending word embeddings to embeddings forsynsets and lexemes, arXiv preprintarXiv:1507.01127, 2015.

[7] Arvind Neelakantan,Jeevan Shankar, Alexandre Passos & Andrew McCallum, EfficientNon-parametric Estimation of Multiple Embeddings per Word in Vector Space, InProceedings of the Conference on Empirical Methods in Natural LanguageProcessing (EMNLP), 2014.

[8] Yang Liu, ZhiyuanLiu, Tat-Seng Chua & Maosong Sun, Topical Word Embeddings, In AAAI, 2015.

[9] Richard Socher, CliffC Lin, Chris Manning & Andrew Y Ng, Parsing natural scenes and naturallanguage with recursive neural networks, In Proceedings of the 28thInternational Conference on Machine Learning (ICML-11), pp. 129--136, 2011.

[10] Xinchi Chen, XipengQiu, Chenxi Zhu, Shiyu Wu & Xuanjing Huang, Sentence Modeling with GatedRecursive Neural Network, In Proceedings of the Conference on Empirical Methodsin Natural Language Processing (EMNLP), 2015.

[11] Sepp Hochreiter &Jűrgen Schmidhuber, Long short-term memory, Neural computation, Vol. 9(8), pp. 1735--1780, MIT Press, 1997.

[12] Junyoung Chung,Caglar Gulcehre, KyungHyun Cho & Yoshua Bengio, Empirical Evaluation ofGated Recurrent Neural Networks on Sequence Modeling, arXiv preprint arXiv:1412.3555, 2014.

[13] Nal Kalchbrenner,Edward Grefenstette & Phil Blunsom, A Convolutional Neural Network forModelling Sentences, In Proceedings of ACL, 2014.

[14] Baotian Hu, ZhengdongLu, Hang Li & Qingcai Chen, Convolutional neural network architectures formatching natural language sentences, In Advances in Neural InformationProcessing Systems, 2014.

[15] Kai Sheng Tai,Richard Socher & Christopher D Manning, Improved semantic representationsfrom tree-structured long short-term memory networks, arXiv preprint arXiv:1503.00075, 2015.

[16] Chenxi Zhu, XipengQiu, Xinchi Chen & Xuanjing Huang, A Re-Ranking Model For Dependency ParserWith Recursive Convolutional Neural Network, In Proceedings of Annual Meetingof the Association for Computational Linguistics (ACL), 2015.

[17] Xipeng Qiu &Xuanjing Huang, Convolutional Neural Tensor Network Architecture forCommunity-based Question Answering, In Proceedings of International JointConference on Artificial Intelligence (IJCAI), 2015.

[18] Shengxian Wan, YanyanLan, Jiafeng Guo, Jun Xu, Liang Pang & Xueqi Cheng, A Deep Architecture forSemantic Matching with Multiple Positional Sentence Representations, In AAAI,2016.

[19] Jacob Devlin, RabihZbib, Zhongqiang Huang, Thomas Lamar, Richard Schwartz & John Makhoul, Fastand robust neural network joint models for statistical machine translation, InProceedings of the 52nd Annual Meeting of the Association for Computational Linguistics,pp. 1370--1380, 2014.

[20] Ilya Sutskever, OriolVinyals & Quoc VV Le, Sequence to sequence learning with neural networks,In Advances in Neural Information Processing Systems, pp. 3104--3112, 2014.

[21] D. Bahdanau, K. Cho& Y. Bengio, Neural Machine Translation by Jointly Learning to Align andTranslate, ArXiv e-prints, 2014.

[22] Daxiang Dong, Hua Wu,Wei He, Dianhai Yu & Haifeng Wang, Multi-task learning for multiplelanguage translation, ACL, 2015.

[23] Fandong Meng,Zhengdong Lu, Zhaopeng Tu, Hang Li & Qun Liu, Neural TransformationMachine: A New Architecture for Sequence-to-Sequence Learning, arXiv preprint arXiv:1506.06442, 2015.

[24] Alex Graves, GregWayne & Ivo Danihelka, Neural Turing Machines, arXiv preprint arXiv:1410.5401, 2014.

[25] Ankit Kumar, Ozan Irsoy,Jonathan Su, James Bradbury, Robert English, Brian Pierce, Peter Ondruska,Ishaan Gulrajani & Richard Socher, Ask me anything: Dynamic memory networksfor natural language processing, arXivpreprint arXiv:1506.07285, 2015.

[26] Sainbayar Sukhbaatar,Jason Weston, Rob Fergus & others, End-to-end memory networks, In Advancesin Neural Information Processing Systems, pp. 2431--2439, 2015.

[27] Karl Moritz Hermann,Tomas Kocisky, Edward Grefenstette, Lasse Espeholt, Will Kay, Mustafa Suleyman& Phil Blunsom, Teaching machines to read and comprehend, In Advances inNeural Information Processing Systems, pp. 1684--1692, 2015.

[28] Mikael Kågebäck, OlofMogren, Nina Tahmasebi & Devdatt Dubhashi, Extractive summarization usingcontinuous vector space models, In Proceedings of the 2nd Workshop onContinuous Vector Space Models and their Compositionality (CVSC)@ EACL, pp.31--39, 2014.

[29] Wenpeng Yin &Yulong Pei, Optimizing sentence modeling and selection for documentsummarization, In Proceedings of the 24th International Conference onArtificial Intelligence, pp. 1383--1389, 2015.

[30] Alexander M. Rush, Sumit Chopra & Jason Weston, ANeural Attention Model for Abstractive Sentence Summarization, In Proceedingsof the 2015 Conference on Empirical Methods in Natural Language Processing,Lisbon, Portugal, pp. 379--389, Association for Computational Linguistics,2015.