深度学习在自然语言处理中的应用

更新时间:2024-06-13 16:57:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

深度学习在自然语言处理中的应用

李晟群

摘 要:近年来,深度学习在图像和语音处理领域已经取得显著进展,但是在

同属人类认知范畴的自然语言处理任务中,研究还未取得重大突破.本文通过分析目前国内外部分专家学者对面向自然语言处理的深度学习研究的总体概况,梳理、总结了相关文献,介绍深度学习的基本概念;分析讨论了当前面向自然语言处理的深度学习研究进展及应用策略和深度学习的平台和工具;对深度学习在自然语言处理处理领域的发展趋势和有待深入研究的难点进行了展望.

关键词:自然语言处理,深度学习,神经网络

1.前言

深度学习在图像的语音领域取得了突出成果,但是在自然语言处理上还未取得重大突破,与语音和图像不同,语言是一种经过人类大脑产生并加工处理的符号系统,似乎模仿人脑结构的人工神经网络应该在自然语言处理领域拥有更多优势,但实际情况并非如此.同时,近几十年来,基于统计的模型成为自然语言处理非主流方法之后,属于统计方法典型代表的人工神经网络在自然语言处理领域依然没有得到足够重视.当然,这一切在2006年Hinton等提出深度学习[1]以后,情况发生了变化,当前结合深度学习模型开展自然语言处理相关应用已经取得了一定成果,并成为研究热点之一.本文主要对深度学习在自然语言处理领域的研究概况进行总结,并且指出当前存在的问题和对未来的发展方向进行一个探讨.

2.深度学习的基本概念

深度学习(Deep learning)通过建立深层神经网络,模拟人脑的机制进行解释并分析学习图像、语音及文本等数据,是目前机器学习研究中的一个热点领域.传统机器学习工作的有效性,很大程度上依赖于人工设计的数据表示和输入特征的有效性;机器学习方法在这个过程中的作用仅仅是优化学习权重以便最终输出最优的学习结果.与传统机器学习方法不同的是,深度学习试图自动完成数据表示和特征提取工作;并且深度学习更强调,通过学习过程提取出不同水平、不同

维度的有效表示,以便提高不同抽象层次上对数据的解释能力.从认知科学角度来看,这个思路与人类学习机理非常吻合.

3.深度学习在自然语言处理领域的研究概况

神经网络和深度学习模型首先是在计算机视觉等领域取得了进展,而在自然语言处理领域,其获得大量应用的时间相对较晚.从二十一世纪初开始,一些将神经网络和深度学习应用在自然语言处理领域的文章被陆续发表.

Bengio et al.(2003)[2]提出了利用递归神经网络建立语言模型,该模型利用递归神经网络为每个词学习一个分布表示(distributed representation)的同时,也为词序列进行了建模.该模型在实验中取得了比同时期最优的n元语法模型更好的结果,且可以利用更多的上下文信息.

Bordes et al.(2011)[3]提出了一种利用神经网络和知识库(knowledge base)学习介个化信息嵌入(Structured Embeddings)的方法,该方法在WordNet和Freebase上的实验结果表明其可以对结构化信息进行嵌入表示.

[4]

Mikolov et al.(2013)提出了连续词袋模型(continuous bag ofwords,CBOW),

该模型使用句子中某个词位置周围的词来预测该词;该工作还同时提出了skipgram模型,该模型可以利用句子中某个位置的词预测其周围的词.基于这两个模型,Mikolov et al.[4]开源了工具word2vec4,用来训练词向量,该工具已经得到了广泛应用.

Kim(2014)[5]将卷积神经网络引入自然语言处理的句子匪类任务.该工作利用一个具有两个通道(channel)的卷积神经网络对句子进行特征提取,最后对提取的特征进行匪类.实验结果表明卷积神经网络在对自然语言进行特征提取方面具有显著的效果.

基于长短期记忆神经网络,Sutskever et al.(2014)[6]提出了序列到序列(sequence to sequence)模型,在该文章中,序列到序列模型被应用于机器翻译任务.该模型使用了两个长短期记忆神经网络分别作为编码器(encoder)和解码器(decoder).在编码器部分,该网络在每个时候读取一个源语言词汇,直到读取至一个结束符,即得到了该序列的一个表示.将源语言序列编码完成后,使用源语言序列的编码表示初始化编码器.使用递归神经网络的预测模型,即可解码出相应的目标语言序列.该模型十分新颖,并且在机器翻译任务中取得了与传统

方法可比较的BLEU值.

Tai et al.(2015)[7]提出了树状长短期记忆神经网络.由于传统的递归神经网络通常用于处理线性序列,而对于自然语言这种 有着内在结构的数据类型,这种线性的模型可能一些信息丢失.因此,该模型将长短期记忆神经网络用于分析树中,并在情感分类(sentiment analysis)取得了良好的效果.

4.深度学习在自然语言处理领域的典型应用

相比于图像和语音领域所取得的成果, 深度学习在自然语言处理上尽管还未取得重大突破, 但也在以下相关诸多领域, 如词性标注、句法分析、词义学习、情感分析有着初步应用, 并取得较好效果.

5.面向自然语言处理的深度学习平台工具

面向自然语言处理的深度学习平台或具较多, 根据开发语言的不同,可以分 为基于Python、C++、C 或 Java 等不同程序设计语言实现的算法库或框架; 根据实现的神经网络模型的不同, 可以分为面向 RBM/DBN (Deep belief net-work) 等组件、卷积神经网络 (CNN)、循环神经网络、递归神经网络实现的框架平台; 根据功能目标不同, 又可以分为提供深度学习基本功能实现的函数库/工具包、在函数库基础上面向领域任务构建的不同应用框架等.

6.存在的问题与未来的研究方向

6.1数据表示问题及展望

“自然语言”在深度学习中用于初始输入的“数据源”是字或词, 和图像、语音分别采用像素点及音素作为初始“数据源”相比较, 前者已经包含了人类的语义解释, 是经过人类主观思考处理后形成的, 而后者是原始的, 还没有经过人类加工处理. 这一点是自然语言处理和其他两种应用最大的不同. 由此, 我们联想到, 这是否也是深度学习在图像、语音方面能够取得巨大成功, 而在自然语言方面还没有成功的关键原因呢?因为包含原始信号的情况下, 不容易丢失未知信息, 从而能够通过深度学习的不同分层特征表示, 更为全面地表征原始输入, 进一步为分类、聚类等具体应用提供充分的特征支撑.目前来看, 面向自然语言处理的深度学习中的数据表征主要还是 Word embedding 概念, 只是可能在不同语言中, 具体 Word 的表示单位有所不同,如英文中可以是单词或词缀, 中文中

则换成了词组或字, 本质上还是通过某种映射规则, 将 Word 转换为向量表示.在如何将深度学习与现有自然语言处理具体任务结合方面, 目前还没有比较明显有突破的方法或规律可以遵循. 现有工作中, 比较直接简单的做法是,以词或短语作为原始输入, 构建向量类型的表达方式, 经过深度学习分层学习后得到的特征可以添加进现有基于特征的半监督学习系统中进行处理[8].此外, 还有将深度学习模型与当前经典问题结合后产生的应用模型, 如结合树形或链式结构的递归神经网络或循环神经网络模型等[9-12]. 因此, 考虑如何将深度学习与自然语言处理任务结合的具体落地应用也是值得研究的重点.

6.2学习模型问题及展望

面向自然语言处理的深度学习研究工作, 目前尚处于起步阶段, 尽管已有的深度学习算法模型如循环神经网络、递归神经网络和卷积神经网络等已经有较为显著的应用, 但还没有重大突破. 围绕适合自然语言处理领域的深度学习模型构建等研究应该有着非常广阔的空间.在当前已有的深度学习模型研究中, 难点是在模型构建过程中参数的优化调整方面. 主要如深度网络层数、正则化问题及网络学习速率等. 可能的解决方案比如有: 采用多核机提升网络训练速度; 针对不同应用场合, 选择合适的优化算法等.深度学习模型的训练过程中, 最为突出的问题是训练速度. 普遍来看, 深度学习模型的训练速度远比线性模型来得慢. 此外, 模型性能的优劣, 一般与训练数据集的规模有关. 数据集越大, 训练结果越好[13]. 这一点, 非常符合目前主流的大数据应用趋势. 但是, 这也可能给学习模型的优化带来发展阻碍. 在极力追求产生大数据训练集的情况下, 是否会削弱对更优学习模型的研究热情呢?

6.3其他问题及思考 6.3.1自动学习和人工结合

围绕数据表示及特征提取问题, 已有大量文献分析了自然语言处理中的数据源特征和无监督自动学习方法. 深度学习一直强调学习特征采用自动的方法, 然而, 如果能够在训练过程中融合已有面向特定应用领域的显然的知识 (如人工选取的明显特征规律), 对于深度模型而言, 依然具有吸引力. 这就好比人类学习, 完全抛弃祖先的知识而白手起家开展工作, 是不可想象的. 但是, 要做到这点非

常困难. 首先, 针对问题领域, 需要选择合适的模型架构,比如针对自然语言的语义框架选择合适的深度结构;其次, 人类知识的融合, 最佳的进入点应该是在模型的第一层, 类似线性模型一样, 总的目标是希望能够使模型具有自我学习的能力.此外, 在自然语言处理领域, 已经有了大量的人工标注知识. 深度学习可以通过有监督学习得到相关的语义知识. 这种知识和人类总结的知识应该存在某种对应关系, 尤其是在一些浅层语义方面. 因为人工标注, 本质上已经给深度学习提供了学习的目标. 只是深度学习可以不眠不休地学习, 这种逐步靠拢学习目标的过程, 可能远比人类总结过程来得更快. 这一点, 从最近 Google 公司围棋人工智能软件Alpha Go 短时间内连胜两位人类围棋高手的事实,似乎能够得到验证

[14].

6.3.2自然语言的不确定性

由于一词多义的存在, 使得即使采用词向量技术作为深度学习的原始输入信号, 也还是不能如图像或语音一样将所有原始信息确定地输入到深度学习模型中. 在深度学习模型分层表示原始输入信号的不同特征时, 这种不确定性所带来的误差有可能在不同层间被传递并局部放大.解决这种一词多义所带来的不确定性的方法,似乎还是要结合上下文语言情境. 因此, 突破自然语言字、词、短语、小句等局部表示的局限性, 面向包含上下文全局信息的篇章、文本来开展深层语义理解, 如篇章分析、篇章理解等, 应该是重点发展的方向之一.

7.结束语

相比于图像处理, 自然语言的分层抽象其实并不明显. 自然语言处理在深度学习中所采用的特征表示, 目前主要是 Word embedding 机制. 尽管从语言表达的形式角度, 也可以构建字母、单词、词组、短语、句子等层次结构, 但从语义表达角度来看, 似乎没有如图像处理那样具有明显的抽象分层, 例如单词和词组、词组和短语之间, 语义表达上面并没有非常明显的不同. 抽象层次不明显, 实质上就可能限制了特征表示的多样性, 从而无法最好地发挥深度学习多层特征表示的长处. 除了词向量之外, 是否还更好的特征表示方式?采用何种模型来构建明显分层机制?等等此类问题, 也是面向自然语言处理的深度学习在未来发展中需要重点研究的内容. 当然,尽管目前来看, 面向自然语言的深度学习还存在着各种各样的问题, 但是总体而言, 现有深度学习的特征自动表示及分层抽象思

想, 为自然语言处理提供了一种将特征表示和应用实现独立分开的可行方法,这将使得在领域任务和语言之间的泛化迁移变得较为容易.

最后我觉得深度学习在自然语言处理领域主要存在这样几个问题需要考虑,首先由于每个汉字都包含不同的含义, 需要为每个含义获取相应的表示. 另外使用同音词或者多义词来为词语学习单一表征反而可能会影响最终的表征结果,由于多个含义之间的相互影响,不能准确表示任何一个含义.其次,需要进一步考虑 训练语料问题,如何保证系统的鲁棒性、通用性,保证能够在不同领域都得到较好的效果,另外需要考虑新生词、网络用语等的识别问题.最后,需要考虑语料是否是越多越好,在训练学习的过程中,需要能够检测训练情况,避免过大的数据训练,破坏汉字的分布式表示.

参考文献

[1] Hinton G E,Salakhutdinov R R.Reducing the dimensionality of data with neural networks.Science,2006,313(5786):504-507.

[2]Bengio Y,Ducharme R,Vincent P,et al.A Neural Probabilistic Language Mode[J].J.Mach.Learn.Res.,2003,3:1137-1155.

[3]Bordes A,Weston J,Collobert R,et al.Learning structured embeddings of

knowledge-bases[C]//Conference on Artificial Intelligence.San Francisco,California:AAAI,2011. [4]Mikolov T,Chen K,Corrado G,et al.Efficient estimation of word representations in vector space[J].arXiv preprint arXiv:1301.3781,2013.

[5]Kim Y.Convolutional neural networks for sentence classification[J].arXiv preprint arXiv:1408.5882,2014.

[6]Sutskever I,Vinyals O,Le Q V.Sequence to Sequence Learning with Neural

Networks[C]//.Ghahramani Z,Welling M,Cortes C,et al.Advances in Neural Information Processing Systems 27.Montreal,Canada:Curran Associates,Inc,2014:3104-3112.

[7]Tai K S,Socher R,Manning C D.Improved semantic representations from treestructured long short-term memory networks[J].arXiv:1503.00075,2015. [8]Mikolov T, Deoras A, Povey D, Burget L,Cernock′y J H.Strategies for training large scale neural network languagemodels. In: Proceedings of the 2011 IEEE Workshop on Automatic Speech Recognition and Understanding (ASRU).Waikoloa, Hawaii, USA: IEEE Press, 2011. 196?201.

[9]Socher R, Huang E H, Pennington J, Ng A Y, Manning C D.Dynamic pooling and unfolding recursive autoencoders for paraphrase detection. In: Proceedings of the 2011 Advancesin Neural Information Processing Systems 24 (NIPS 11).Granada, Spain: MIT Press, 2011. 801?809. [10]Socher R, Huval B, Manning C D, Ng A Y. Semantic compositionality through recursive matrixvector spaces. In: Proceedings of the 2012 Joint Conference on Empirical Methodsin

Natural Language Processing and Computational Natural Language Learning. Jeju Island, Korea: ACL Press, 2012.1201?1211.

[11]Socher R, Perelygin A, Wu J Y, Chuang J, Manning C D,Ng A Y, Potts C. Recursive

deepmodels for semantic compositionality over a sentiment treebank. In: Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing (EMNLP 2013).Seattle, USA: ACL Press,2013. 1631?1642.

[12]Pinheiro P O, Collobert R. Recurrent convolutional neural networks for scene labeling. In: Proceedings of the 31st International Conference on Machine Learning (ICML 14).Beijing, China, 2014. 82?90.

[13]Le Q V. Building high-level features using large scale unsupervised learning. In: Proceedings of the 2013 IEEE International Conference on Acoustics, Speech and Signal Processing.Vancouver, BC: IEEE, 2013. 8595?8598.

[14]田渊栋. 阿法狗围棋系统的简要分析.

, 2016, 42(5):671?675.

自动化学报

本文来源:https://www.bwwdw.com/article/v666.html

Top