基于深度学习的自然语言处理在 2016 年有哪些值得期待的发展?

技术上LSTM和RNN和其他机器学习方法在人机对话,QA系统方面会有什么进展?
关注者
2378
被浏览
55792

13 个回答

水平有限,勉强回答下这个问题。这两天准备个讲稿,刚好思考了一下深度学习在自然语言处理中需要关注的问题。趁着热情未退,就顺便记录下。抛个砖,欢迎有兴趣者一起讨论。


毕竟2016年已将近过半,本文更多的是对未来的思考。

先说下目前深度学习在自然语言处理中的主要研究点(抛开具体任务):

1)对字、词、句子、篇章等多粒度自然语言单位的分布式表示,也就是Embedding(嵌入),主要从两个角度:一是得到更好的语言学解释;二是后续任务的性能。具体研究就是通过各种CNN、RNN以及变体对语言进行建立各种的语义组合模型,后面接一个分类器或相似度计算就可以直接用到各种任务上。

2)序列到序列模型,配合注意力模型和外部记忆单元(神经图灵机、记忆网络等),可以有效地解决长距离依赖问题,强大到无所不能,几乎涵盖了大部分自然语言处理任务(机器翻译、自动问答、序列标注、文本摘要等)。

经过最近两年的快速发展,深度学习给自然语言处理也带来了很多新变化。

1)有了embedding,也就是基于低维稠密向量的语义表示,语义变得可以计算了,这点非常重要。可以说深度学习方法在自然语言处理中取得成功的最重要原因。通过大规模未标注文本,可以自动学习出字、词、句子的语义表示,并且是稠密向量,可以无缝介入后续分类模型。研究者终于可以摆脱知识库、词法、句法等门槛或障碍,这些东西用过就知道多痛苦。

2)不断出现的新“玩法”,比如看图说话、作诗、作词、写代码等,这些都是传统方法不敢玩的游戏。

3)门槛降低,包括自动问答、机器翻译等以前需要大量知识积累的NLP任务,变得不那么让人望而生畏。一个懂深度学习的新生,找一些开源的工具,参照着学习下,就可以轻松上手。这使得自然语言处理的研究群体一下子大了好多。不过,竞争也激烈了。

但是,还是要说但是,虽然深度学习的应用在NLP中用得如火如荼,但是有些问题还是必须静下心来思考的,也可以说是期待解决的问题。

1) Embedding是否可以代表一切?虽然Embedding使得语义计算变得十分方便,但是是否所有的东西都需要用Embedding来表示。比如,一个陌生的无意义的符号怎么表示?变量什么表示?数字什么表示?embedding是不是过多地给一个词附加了本不该有的含义。此外,大量的未登录词怎么办?肯定不能简单地用UNK表示。未来怎么解决这个问题看不清,很多人想把符号主义的方法引进来,但是也不是那么容易的事。

2) Embedding的形式是否是“向量”?如果说词的表示可以是向量的话,句子、文章也用向量表示的话就显得句子和文章的内容太“单薄”了吧。有没有更好的表示结构,比如矩阵、队列、栈?

3) 语言理解的生物学启发模型是什么?我们都知道在计算机视觉中卷积神经网络的巨大威力,ImageNet比赛从2014年开始排行榜上就找不到了采用非卷积模型的系统。但是卷积是一个实实在在受到生物学启发的模型,虽然比真正的生物学模型要简单很多,但是已经很足以处理很多计算机视觉的任务。然而,人们对语言处理相关的生物神经系统到现在近乎一无所知。目前在NLP中使用最多的RNN怎么看都不像是生物学模型。从某种意义上讲,目前的研究都不是“正途”。虽然个人对memory enhanced的模型比较看好,但是目前的addressing(读写)机制差了些。

4) 真正的“深度”学习?我个人一直认为目前NLP的所谓的“深度学习” 多数是浅层学习。虽然很多人不太认同,认为RNN在时间维上非常深。但是从表示学习层面上(概念、语义等直觉上通过多层加工得来的),RNN的输入到输出之间的路径很短。并且目前研究也表明即使是LSTM也不能很好地处理长距离依赖问题。特别是和计算机视觉相比,NLP中的网络是非常浅的。目前的成功主要受益于“分布式”表示。虽然不是说深的网络就一定好,但是浅的网络终究能力有限,不足以解决很多NLP任务,特别是涉及到语义理解以及推理的任务。(吐槽下今年IJCAI的审稿人之一居然认为我们一个工作的网络太深,别人的都是一层的,然后就给拒了)

5) 深度学习模型的可解释性或可视化?我们知道一个模型表现好是远远不够的,还要知道为什么好?在计算机视觉中有大量的可视化工作,虽然也有很多不足,但是让人在很大程度上理解了模型是如何工作的?但是在NLP上,虽然有一些工作(比如Karpathy的工作等),但是还不足以让人理解“为什么”效果好或“怎么”工作?特别是embedding,到底代表了什么?

6) 和ImageNet等视觉的数据集相比,大多数NLP任务(除了机器翻译)的数据集都太小。Fei-Fei Li在TED上讲,人每天无时无刻都在接收数据,一个3岁大的小孩已经看过上一张真实世界的照片了,人脑的训练样本是无限多的。同理,人对语言的理解也需要大量的样本。因此,要训练一个好的NLP系统也必须有足够多的数据。要说深度学习方法在NLP上不行,首先要看下数据集是否足够。因此,NLP中的ImageNet什么时候在哪里出现?以及类似CV中AlexNet、GoogleNet、ResNet们的标志性NLP系统何时出现?这些都值得我们期待。

7) 最后,谈一下Lecun、Bengio等大牛们看好的非监督学习。如果一个学生很听老师的话,老师说好他就说,老师说差他就说差。我们不会说这个学生聪明,只会说他比较死板。因为智能某种程度上不是说要给一个正确答案(在很多情况下也没有正确答案),而是一个思维方法,以及对新环境的适应,这些都是监督学习不能给予的。既然NLP中监督数据集都太小,何不尝试性非监督学习方法呢?扯远一点,当我们不再要求端到端的监督学习,不再要求整个模型可微,每个模型学到多少东西全靠自己的悟性,一种优胜劣汰的机制保证整个模型群体的进化,多熟悉的画面!

从2013年的word2vec开始,自然语言处理领域引爆了深度学习这个热点,至今有2年多了。在我看来,2014年的热点是各种新颖的词表示学习方法,而2015年则开始扩展到句子层次,CNN、RNN、LSTM等模型轮番上阵,在机器翻译、文档摘要、阅读理解、关系抽取等任务上取得了重要进展。进入2016年,3月份DeepMind推出的AlphaGo在今年3月大胜李世乭,更是把深度学习的热度推向新的高潮。


2016年已经快过去一半,在这里猜测2016年NLP深度学习技术的发展趋势,也许并没有太大难度,我认为主要有以下几个:

(1)深度学习模型在更多NLP任务上的定制化应用。例如将过去统计机器翻译的成熟成果迁移到神经网络模型上,基于深度学习的情感分析,再例如今年NAACL 2016的最佳论文Feuding Families and Former Friends; Unsupervised Learning for Dynamic Fictional Relationships也利用神经网络模型检测小说中的人物关系。

(2)带有隐变量的神经网络模型。很多NLP任务传统主要基于HMM、CRF方法对标注标签的关联关系建模,而单纯的神经网络模型并不具备这个能力,因此一个重要热点将是在神经网络模型中引入隐变量,增强神经网络的建模能力。

(3)注意力(attention)机制的广泛应用。大量工作已经证明attention机制在文本产生中的重要性,也是继CNN->RNN->LSTM之后的新的论文增长点,相信在2016年会有大量论文提出各种带有attention的神经网络模型。


以上是对2016年发展趋势的估计,也许等ACL、EMNLP和COLING一轮下来就能明了了。然而我想对未来更长一段时间的发展做一点思考。复旦大学邱锡鹏老师已经在他的回答中开了很多脑洞,很多观点很有启发。作为补充和争鸣,这里我也想讲讲我自己的想法。


如何将先验知识引入分布式表示

分布式表示(distributed representation)是深度学习的重要特点;避免特征工程的端对端(End-to-End)框架则是深度学习在NLP的独特优势。然而,现实世界中我们拥有大量人工标注的语言知识库和世界知识库,如何在深度学习框架中引入这些先验知识,是未来的重要挑战性问题,也是极大拓展深度学习能力的重要途径。在这个方面,有很多颇有创见的探索工作,例如来自香港华为Noah实验室Zhengdong Lu团队的Neural Enquirer: Learning to Query Tables [1],等等。此外,我认为基于深度学习的attention机制也是引入先验知识的重要可能手段。机器学习领域还提供了很多其他可能的手段,等待我们去探索。


探索人类举一反三能力的One-Shot Learning

如2015年在Science发表的轰动论文[2]所述,人类学习机制与目前深度学习的显著差异在于,深度学习利用需要借助大量训练数据才能实现其强大威力,而人类却能仅通过有限样例就能学习到新的概念和类别,这种举一反三的学习机制,是机器学习也是自然语言处理梦寐以求的能力。这需要我们特别关注认知领域的相关进展[3, 4],机器学习领域也在热切探索one-shot learning任务。在NLP领域,如何应对新词、新短语、新知识、新用法、新类别,都将与该能力密切相关。


从文本理解到文本生成的飞跃

目前取得重要成果的NLP任务大多在文本理解范畴,如文本分类,情感分类,机器翻译,文档摘要,阅读理解等。这些任务大多是对已有文本的“消费”。自然语言处理的飞跃,需要实现从“消费”到“生产”的飞跃,即探索如何由智能机器自动产生新的有用文本。虽然现在有媒体宣称实现了新闻的自动生成,但从技术上并无太多高深之处,更多是给定数据后,对既有新闻模板的自动填充,无论是从可扩展性还是智能性而言,都乏善可陈。我认为,自然语言处理即将面临的一个飞跃,就是智能机器可以汇总和归纳给定数据和信息,自动产生符合相关标准的文本,例如新闻、专利、百科词条[5]、论文的自动生成,以及智能人机对话系统等等。毫无疑问,这个技术飞跃带来的应用拥有无限的想象空间。


大规模知识图谱的构建与应用

“知识图谱”是谷歌推出的产品名,现在已经成为对大规模知识库的通用说法。如果说深度学习是机器大脑的学习机制,那么知识图谱可以看做机器大脑的知识库。知识图谱是问答系统的重要信息来源,也是阅读理解、机器翻译、文档摘要等任务进一步发展的重要支撑。目前,知识图谱从构建到应用都仍有很多问题亟待解决,例如新概念、新知识的自动学习,如何基于知识图谱实现智能推理,等等。在这方面,我一直关注知识的分布式表示学习,能够建立统一的语义表示空间,有效解决大规模知识图谱的数据稀疏问题,有望在知识获取、融合和推理方面发挥重要作用[6]。


以上是我最近对NLP深度学习技术发展的一些思考,限于个人视野难免以偏概全,主要希望起到抛砖引玉的功用,请大家批评指正。


PS: 如果有新的想法,会不断补充。


参考文献

[1] Yin, Pengcheng, et al. "Neural Enquirer: Learning to Query Tables." arXiv preprint arXiv:1512.00965 (2015).

[2] Lake, Brenden M., Ruslan Salakhutdinov, and Joshua B. Tenenbaum. "Human-level concept learning through probabilistic program induction." Science 350.6266 (2015): 1332-1338.

[3] Tenenbaum, Joshua B., et al. "How to grow a mind: Statistics, structure, and abstraction." science 331.6022 (2011): 1279-1285.

[4] Vul, Edward, et al. "One and done? Optimal decisions from very few samples." Cognitive science 38.4 (2014): 599-637.

[5] Sauper, Christina, and Regina Barzilay. "Automatically generating wikipedia articles: A structure-aware approach." Proceedings of ACL-IJCNLP, 2009.

[6] 刘知远, 孙茂松, 林衍凯, 谢若冰. 知识表示学习研究进展. 计算机研究与发展, 2016.

为什么?