自然语言处理在 2017 年有哪些值得期待的发展

!@转载文章

自然语言处理在 2017 年有哪些值得期待的发展?

知乎·竹间智能 Emotibot·几秒前·打开原文

谢邀。 从符号主义和连接主义的对立走向合作,从静态分析走向交互,从语法和浅层语义走向深层语义,从功能主义走向认知和情感体验。

谢邀。

从符号主义和连接主义的对立走向合作,从静态分析走向交互,从语法和浅层语义走向深层语义,从功能主义走向认知和情感体验。

2016年是深度学习的大潮冲击NLP的一年,果实丰硕。从底层的pos tagging, word segmentation, NER,到高级的任务比如semantic analysis, machine translation, machine reading comprehension, QA system, natural language generation。。都是全面开花,Deep learning for NLP的架构越来越成熟。经典的Speech and Language Processing也出了第三版的draft(http://web.stanford.edu/~jurafsky/slp3/)。

那么在2017年,我们又有什么样的期待呢?

我想对于这个问题最有发言权的应该是Christopher Manning——他在Computational Linguistics and Deep Learning (http://www.mitpressjournals.org/doi/pdf/10.1162/COLI_a_00239) 中的一些论点到了2017年依然成立。

NLP无疑依然是机器学习有待攻克的下一个重大领域。但是由于语言本身已经是一种高层次的表达,深度学习在NLP中取得的成绩并不如在视觉领域那样突出。尤其是在NLP的底层任务中,基于深度学习的算法在正确率上的提升并没有非常巨大,但是速度却要慢许多,这对于很多对NLP来说堪称基础的任务来说,是不太能够被接受的,比如说分词

在一些高级任务中,基于端到端学习的神经网络确实取得了令人瞩目的成就,尤其是机器翻译方面。由于复杂性太高,这样的高级任务在此前是非常难以攻克的,无论是基于常规的统计学习方法,还是基于规则的方法。深度神经网络强悍的“记忆”能力和复杂特征提取能力非常适合于这类问题。在完形填空类型的阅读理解(cloze-style machine reading comprehension)上,基于attention的模型也取得了非常巨大的突破(在SQuAD数据集上,2016年8月的Exact Match最好成绩只有60%,今年3月已经接近77%,半年时间提升了接近20个点,这是极其罕见的)。

但同时,深度学习的不可解释的特性和对于数据的需求,也使得它尚未在要求更高的任务上取得突破,比如对话系统(虽然对话在2016年随着Echo的成功已经被炒得火热)。

相比于机器翻译,对话系统并不是一个简单的“sequence-to-sequence”的问题(虽然很多paper尝试这样去做)。对话系统必须要能够准确地理解问题,并且基于自身的知识系统和对于对话目标的理解,去生成一个回复。这并不是简单地去寻找“word alignment”就可以做到的。当然更不必说对于上下文和情感的理解。而相比于完形填空类型的机器阅读理解,对话系统可能的回复是完全开放的,并不是仅限于“答案包含在文本中”这样的情形。而开放式的阅读理解,同样是一个AI-complete的难题。

这就要求我们对于交互的过程有更深刻的理解,对于人类在交流的过程中的认知过程和情感变化有更好的模型。而这个方向上,深度学习暂时还没有更好的办法。

在这个过程中,就像Chris Manning说的一样,我们需要更好的理解模型的组合( compositionally in models)。

很显然,从传统的语言学到我们现在的端到端的靠大量数据的训练结果,其间还有很大一块认知过程的坑没有被填上。有一个有意思的事情是,在大多数端到端的NLP应用中,在输入中包括一些语言学的特征(例如pos tag或dependency tree)并不会对结果有重大影响。我们的一些粗浅的猜测,是因为目前的NLP做的这些特征,其实对于语义的表示都还比较差,某种程度来说所含信息还不如word embedding来的多。对于极其复杂、需要非常深的语义理解的任务来说,这些语言学特征并没有太多作用。这并不一定是对的——在结合语言学的规则与深度学习方面,太多实验等着我们去做了。

所以,我们需要解决的不仅仅是Semantic Role Labelling,甚至Semantic Parsing或是Abstract Meaning Representation(http://amr.isi.edu/);我们需要知道的是从符号到人类体验的一种映射——不仅仅是“红色”可以被翻译为“Red”——我们想知道人类在看到红色时的感受,以及红色所代表的情绪。

我们想要复原的是文字完全无法记录下来的现场的气氛,情绪和心跳的感觉(embodied experience)。同样的文字,在不同的场景,应该有完全不同的表达力。

我们相信,仅仅依赖word2vec(或其它distributed representation)或是先进的memory-augmented networks,或是传统的NLP方法,都还无法解决这些问题

在情感和体验的另一个极端,我们又希望语言能够展示它“如雕塑一样的美感”(罗素形容数学用语),可以精准地描述概念和逻辑。这要求我们在语言的模糊性上建立出来健壮的知识和推理体系——同样,现在的深度学习也还不能做到这一点。

只有结合了符号逻辑,神经网络以及认知科学,才有可能让我们在对语言的理解和处理上更上一层楼。(硬广Bayersian Cognitive Science/PPLhttps://www.zhihu.com/question/59442141/answer/166358150)

现在结合一些热门的领域(任务)来谈一谈具体的方向。

Dialogue

是的,自然语言对话将会开创一个新的人机交互时代。但是2016年流行的seq2seq对话框架不会给我们太大的惊喜。虽然理论上,如果能够给足训练数据,它是可以表现得很好的。

原因在于,对话不同于翻译,翻译的input和output肯定是一个domain的东西,这大大限制了可能的解的空间。更重要的是,对话中有大量的省略和指代,我们必须通过大量的上下文信息才能够理解对话。这样的后果就是训练对话系统对于训练数据有指数级别上升的要求。

就算我们已经记录了这个世界上所有人类的对话,明天依然会有人在不同的场景下说出的话,根本没有在训练集中出现。

所以,2017年的对话系统,一定是在限定的场景下发挥作用的。

即便是限定场景下的对话,也存在以下的几个难点需要攻克。后面例举的文章只是抛砖引玉。

1. 怎样评估对话的质量?必须要和标准答案回答得一模一样才算好吗?(Towards an automatic Turing test: Learning to evaluate dialogue responseshttps://openreview.net/pdf?id=HJ5PIaseg)

2. 怎么利用对话中人类的反馈来帮助学习?(Dialogue Learning With Human-in-the-Loop:https://arxiv.org/pdf/1611.09823.pdf)

3. 怎样keep track of dialogue state?怎么定义目标?怎么记住多个对话片段?(Frames: A Corpus for Adding Memory to Goal-Oriented Dialogue Systems:https://arxiv.org/abs/1704.00057)

4. 如何去做对话的policy?(Towards Information-Seeking Agents:https://arxiv.org/abs/1612.02605)

5. 如何结合记忆以及情感?(Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory:https://arxiv.org/abs/1704.01074)

6. 上下文如何建模?(Improving Frame Semantic Parsing with Hierarchical Dialogue Encoders:https://arxiv.org/abs/1705.03455)

7. 对话回复的生成如何变得可控?(Data Distillation for Controlling Specificity in Dialogue Generationhttps://arxiv.org/pdf/1702.06703.pdf)

阅读理解(Open-domain QA)

去年到今年初MRC取得的进展大家已经有目共睹了,最高表现的架构基本趋同。估计再刷下去就要达到super-human performance了(人类的 baseline是82 EM, 91 F1)。比较有意思的是大家基本上都放弃了multi-hop reasoning的结构,原因非常简单:Stanford的SQuAD跟FB的bAbI不一样,没有专门设立这种需要推理的项目(诸如John went to the hall; John putdown the ball; Where is the ball?这类问题),大部分的问题主要依赖Attention机制就可以抓得很好了。bAbI这样的伪推理看来大家也是受够了。

但是SQuAD本身也存在很多问题,抛开细的面不说,cloze-style本来就有很大的问题。而且最近出现了海量的刷SQuAD的文章,品质老实说并不敢恭维。幸好Stanford的Chen Danqi大神的Reading Wikipedia to Answer Open-Domain Questions (http://cs.stanford.edu/people/danqi/papers/acl2017.pdf)打开了很多的方向。通过海量阅读(“machine reading at scale”),这篇文章试图回答所有在wikipedia上出现的factoid问题。其中有大量的工程细节,在此不表,仅致敬意。

Unsupervised Learning

在分布式语义表示这个“传统”深度学习领域(2013年算是很“传统”了吧),主要的工作还是向下,向上和向周边扩展(不小心说了句废话)。

向下是指sub-word level。(Enriching Word Vectors with Subword Information:https://arxiv.org/abs/1607.04606)

向上当然就是句子/篇章级别了。(A Simple but Tough-to-Beat Baseline for Sentence Embeddings:https://openreview.net/pdf?id=SyK00v5xx)

向周边呢?就是面向任务,譬如知识库里的entity-embedding,或者面向sentiment analysis的情感-embedding。。好吧,我承认这类的文章真的已经看得太多了,并没有太大新意(no offense:我知道无论如何“boring”的文章,背后都是大家不眠不休的心血)。

NLG

通过RNN-language model来做语言生成已经很成熟了,这都已经出survey paper了——Survey of the State of the Art in Natural Language Generation: Core tasks, applications and evaluation:https://arxiv.org/pdf/1703.09902.pdf

但是通过GAN/VAE来生成呢?

当然,做这个方向的人也很多,比如MSRA的Adversarial Neural Machine Translation(https://arxiv.org/abs/1704.06933)和Li Jiwei的Adversarial Learning for Neural Dialogue Generation:https://arxiv.org/pdf/1701.06547.pdf

不过认真地说,我同意Ian Goodfellow在Reddit里说的:“GANs have not been applied to NLP because GANs are only defined for real-valued data.” (https://www.reddit.com/r/MachineLearning/comments/40ldq6/generative_adversarial_networks_for_text/)

当然,做一些twist当然是可以强行让它work的,或者用VAE——但是目前看来,这些生成模型在自然语言方面并没有在图像方面的显著疗效更重要的是,目前NLG的重要课题不是生成的质量,而是要搞清楚想说什么——类比一下,就如同就算人脑的Broca区域没有问题,可是Wernicke区域出现了问题,那么病人会说一口流利的语言,可是每一句话都毫无意义——这样的生成当然也是毫无意义的了。

所以这个领域,其实还是任重道远啊。目前的很多“自然语言生成”或“写稿机器人”,还是carefully-crafted的模版来的多。

总结

通过2016年的努力,deep learning在NLP领域已经站稳了脚跟。我们期待2017年语言学和机器学习的进一步结合,让机器更加聪明,更懂你。

欢迎大家补充、讨论:)

本回答来自竹间智能Emotibot机器学习科学家马永宁。

你可能感兴趣的:(自然语言处理在 2017 年有哪些值得期待的发展)