自然语言处理在 2017 年有哪些值得期待的发展？
谢邀。 从符号主义和连接主义的对立走向合作，从静态分析走向交互，从语法和浅层语义走向深层语义，从功能主义走向认知和情感体验。 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/PPL https://www.zhihu.com/question/59442141/answer/166358150）  现在结合一些热门的领域（任务）来谈一谈具体的方向。  是的，自然语言对话将会开创一个新的人机交互时代。但是2016年流行的seq2seq对话框架不会给我们太大的惊喜。虽然理论上，如果能够给足训练数据，它是可以表现得很好的。 原因在于，对话不同于翻译，翻译的input和output肯定是一个domain的东西，这大大限制了可能的解的空间。更重要的是，对话中有大量的省略和指代，我们必须通过大量的上下文信息才能够理解对话。这样的后果就是训练对话系统对于训练数据有指数级别上升的要求。 就算我们已经记录了这个世界上所有人类的对话，明天依然会有人在不同的场景下说出的话，根本没有在训练集中出现。 所以，2017年的对话系统，一定是在限定的场景下发挥作用的。  即便是限定场景下的对话，也存在以下的几个难点需要攻克。后面例举的文章只是抛砖引玉。 1.	怎样评估对话的质量？必须要和标准答案回答得一模一样才算好吗？（Towards an automatic Turing test: Learning to evaluate dialogue responses https://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 Generation https://arxiv.org/pdf/1702.06703.pdf）  去年到今年初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问题。其中有大量的工程细节，在此不表，仅致敬意。  在分布式语义表示这个“传统”深度学习领域（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”的文章，背后都是大家不眠不休的心血）。  通过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机器学习科学家赵宁远。