2018年度NLP领域最令人兴奋的10项新研究

2018 年 12 月 30 日

2018年度NLP领域最令人兴奋的10项新研究


AI 前线导读:2018 年行将过去,作为人工智能的一个重要分支,自然语言处理(Natural Language Processing,NLP)在这一年里有什么令人兴奋的、且有影响力的想法呢?研究自然语言处理和深度学习的博士生 Sebastian Ruder 整理了今年发现的最出彩的十个想法,撰写了这篇文章,AI 前线将其翻译成中文,以飨读者。




对于每一种想法,我将重点介绍 1~2 篇能够很好地实现该想法的论文。我尽量保持列表的简洁,因此,如果我没有涵盖到所有相关的工作,请接受我的歉意。需要说明的是,这份列表必然有很大的主观成分,它涵盖了主要与迁移学习和泛化(Generalization)相关的想法。其中大多数(除却一些例外)并非趋势(但我怀疑有些可能在 2019 年会变得更加“时髦”)。


1) 无监督机器翻译


在 ICLR 2018 有两篇无监督机器翻译的论文:Unsupervised Machine Translation Using Monolingual Corpora Only(《仅使用单语语料库的无监督机器翻译》,https://arxiv.org/abs/1711.00043)、Unsupervised Neural Machine Translation(《无监督神经机器翻译》,https://arxiv.org/abs/1710.11041)。令人惊讶的是,它们确实有效,但与有监督机器翻译系统相比,结果仍然差强人意。在 EMNLP 2018 年会上,来自两篇论文(Phrase-Based & Neural Unsupervised Machine Translation(《基于短语和神经网络无监督机器翻译》,https://arxiv.org/abs/1804.07755)、Unsupervised Statistical Machine Translatio(《无监督统计机器翻译》,https://arxiv.org/abs/1809.01272))的无监督机器翻译大获成功,这两篇论文来自同两组的研究团队,它们大大改进了之前的方法。我认为最精彩的论文如下:


  • Phrase-Based & Neural Unsupervised Machine Translation(《基于短语和神经网络无监督机器翻译》,EMNLP 2018,https://arxiv.org/abs/1804.07755):这篇论文很好地提炼了无监督机器翻译的三个关键需求:良好的初始化、语言建模和反向计算建模(通过反向翻译)。正如我们将在下面看到的,这三个需求在其他无监督场景中也都是有益的。反向计算建模增强了循环一致性,而循环一致性在不同的方法中得到了应用,在 CycleGAN 中最为突出(参阅 Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks,《基于循环一致性对抗网络的不成对图像间转换》,https://arxiv.org/abs/1703.10593)。该论文进行了大量的实验,并评估了两种资源较少的语言对,即英语-乌尔都语和英语-罗马尼亚语。我们希望将来在资源缺乏的语言上能够看到更多的成果。



无监督机器翻译的三原则示意图:A)两个单语数据集。B)初始化。C)语言建模。D)反向翻译。(来源:Lample et al., 2018)


2) 预训练语言模型


使用预训练语言模型可能是今年自然语言处理最为重要的趋势,所以我不打算赘述这方面。预训练语言模型有很多方法,令人难忘:ELMo(https://arxiv.org/abs/1802.05365)、ULMFiT(https://arxiv.org/abs/1801.06146)、OpenAI Transformer(http://u6.gg/g3MEK)和 BERT(https://arxiv.org/abs/1810.04805)。我认为最精彩的论文如下:


  • Deep contextualized word representations(《深层语境词表示》,(NAACL-HLT 2018,https://arxiv.org/abs/1802.05365):引入ELMo的论文广受好评。除了令人印象深刻的实证结果之外,最引人注目的是细致的分析部分,该部分解释了各种因素的影响,并分析了表示中捕获的信息。词义消歧(Word Sense Disambiguation,WSD)分析本身(下表左下方)执行得很好。两者都表明语言模型本身提供了接近最先进的 WSD 和 POS 标注性能。



第一层和第二层双向语言模型的词义消歧(左)和 POS 标注(右)与基线对比的结果。(来源:Peters et al., 2018)


3) 常识推理数据集


将常识纳入模型是推动人工智能发展的最重要方向之一。然而,创建好的数据集并不容易,即使是流行的数据集也存在很大的偏差(参阅:http://aclweb.org/anthology/N18-2017http://www.aclweb.org/anthology/S18-2023)。今年出现了一些执行良好的数据集,旨在教授模型一些常识,例如来自华盛顿大学的 Event2Mind(https://arxiv.org/abs/1805.06939)和 SWAG(https://arxiv.org/abs/1808.05326)。SWAG 的问题意外得到了迅速的解决(http://u6.gg/g3Nmn)。我认为最精彩的论文如下:


  • Visual Commonsense Reasoning(《可视化常识推理》,arXiv 2018,http://visualcommonsense.com/):这是第一个可视化的QA数据集,每个答案都包含一个基本原理(解释)。此外,问题需要复杂的推理。通过确保每个答案的先验概率为 25%(即每个答案在整个数据集中出现 4 次,3 次为错误答案,1 次为正确答案),创作者竭尽全力解决可能存在的偏差。这需要使用计算相关性和相似性的模型来解决约束优化问题。我们希望在创建数据集时,防止可能的偏差将成为一个常见的组件。最后,看看下图,数据是如何华丽地呈现出来的。



VCR:给定图像、区域列表和问题,模型须回答这个问题,并解释所提供的答案为何是正确的。(来源:Zellers et al., 2018)


4) 元学习


元学习在少样本学习、强化学习和机器人技术有很大的用途,最突出的例子是模型无关的元学习(model-agnostic meta-learning,MAML)(参见 Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks,《快速适应深度网络的模型无关元学习》,https://arxiv.org/abs/1703.03400)。但在自然语言处理中的成功应用却很少见。元学习对训练样本数量有限的问题最有用。我认为最精彩的论文如下:


  • Meta-Learning for Low-Resource Neural Machine Translation(《用于低资源神经机器翻译的元学习》,EMNLP 2018,http://aclweb.org/anthology/D18-1398):作者使用MAML学习翻译的良好初始化,将每种语言对视为单独的元任务。适应低资源语言可能是自然语言处理中元学习最有用的设置。特别是将多语言迁移学习(如 multilingual BERT)、无监督学习和元学习相结合是一个很有前途的方向。



多语言迁移学习与元学习的区别。实线:学习初始化。虚线:微调的路径(来源:Gu et al., 2018)


5) 健壮的无监督方法


今年,我们和其他人观察到(如http://aclweb.org/anthology/P18-1072http://aclweb.org/anthology/D18-1056),当语言不同时,无监督的跨语言词嵌入方法就会崩溃。这在迁移学习中是常见的一种现象,源和目标的设置(如领域适应中的领域(https://www.cs.jhu.edu/~mdredze/publications/sentiment_acl07.pdf)、持续学习(https://arxiv.org/abs/1706.08840)和多任务学习中的任务(http://www.aclweb.org/anthology/E17-1005))之间的差异会导致模型的恶化或失败。因此,使模型针对这类更改变得更加健壮是非常重要的。我认为最精彩的论文如下:


  • A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings(《一种健壮的自主学习方法,用于完全无监督的词嵌入跨语言映射》,ACL 2018,http://www.aclweb.org/anthology/P18-1073):这篇论文没有使用元学习的初始化方法,而是利用他们对问题的理解来设计更好的初始化。特别是,它们将两种语言中具有相似分布的单词进行配对。这是一个很好的例子,可以利用分析中的领域专业知识和见解时模型更加健壮。



三个词的相似性分布。等效翻译(“two”和“due”)比非相关的词(“two”和“cane”——意即“dog”)有更相似的分布。(来源:Artexte et al.,2018)


6) 理解表示


为了更好地理解表示,人们在这方面已经做了很多努力。特别是“诊断分类器”(diagnostic classifiers,旨在测量学到的表示是否可预测某些属性的任务,见 Fine-grained Analysis of Sentence Embeddings Using Auxiliary Prediction Tasks,《辅助预测任务的句嵌入进行细粒度分析》,https://arxiv.org/abs/1608.04207)已经变得相当普遍(http://arxiv.org/abs/1805.01070)。我认为最精彩的论文如下:


  • Dissecting Contextual Word Embeddings: Architecture and Representation(《分析上下文词嵌入:架构与表示》,EMNLP 2018,http://aclweb.org/anthology/D18-1179):这篇论文在更好地理解预训练语言模型表示方面做了大量工作。他们广泛研究了在精心设计的无监督和有监督的任务中学习单词的跨度表示。结果发现,预训练表示学习任务与低层次形态、较低层次的句法任务和较高层次的较长范围语义任务相关。对我来说,这确实表明了,预训练语言模型确实具备与在 ImageNet 上经过预处理的计算机视觉模型相似的属性(见https://thegradient.pub/nlp-imagenet/)。



从左到右依次是 BiLSTM 和 Transformer 在 POS 标记、句法分析和无监督共指消解(coreference resolution)方面的每层性能和预处理表示。(来源:Peters et al., 2018)


7) 机敏的辅助任务


在许多情况下,我们看到越来越多的人使用多任务学习和精心选择的辅助任务。作为一项好的辅助任务,数据必须易于访问。其中一个最突出的例子是 BERT(https://arxiv.org/abs/1810.04805),它使用了下一句预测(在跳跃式思维(https://papers.nips.cc/paper/5950-skip-thought-vectors.pdf)和最近的快速思维(https://arxiv.org/pdf/1803.02893.pdf)都使用过),效果非常好。我认为最精彩的论文如下:


  • Syntactic Scaffolds for Semantic Structures(《语义结构的句法支架》,(EMNLP 2018,http://aclweb.org/anthology/D18-1412):这篇论文提出了一种辅助任务,通过预测每个跨度对应的句法成分类型来预先处理跨度表示。尽管在概念上很简单,但辅助任务在跨度级预测任务上有很大的改进,例如语义角色标注和共指消解。这篇论文表明,在目标任务(此处指跨度)所要求的层次上学习的专业表示是非常有益的。

  • pair2vec: Compositional Word-Pair Embeddings for Cross-Sentence Inference(《pair2vec:用于跨句推理的组合词对嵌入》,arXiv 2018,https://arxiv.org/abs/1810.08854):与此类似,这篇论文通过最大化词对与其上下文的点间互信息(pointwise mutual information)来预训练词对表示(word pair representations)。这鼓励模型学习更有意义的词对表示,而不是更一般的目标,如语言建模。预训练表示在诸如 SQuAD、MultiNLI 之类的任务中是有效的,这些任务需要跨句推理。我们可以期望看到更多的预训练任务,这些任务捕获特别适合某些下游任务的属性,并且是对更通用的任务(如语言建模)的补充。



来自 OntoNotes 的语法、PropBank 和共指消解的注释。PropBank SRL 参数和共指消解被标注在句法成分之上。几乎每个参数都与句法成分有关(来源:Swayamdipta et al.,2018)。


8) 半监督学习与迁移学习相结合


随着迁移学习的最新进展,我们不应忘记使用目标任务特定数据的更明确的方法。实际上,预训练表示与许多形式的半监督学习是互补的。我们已经探索了自主标记的方法(http://aclweb.org/anthology/P18-1096),这是半监督学习的一种特殊类别。我认为最精彩的论文如下:




辅助预测模块看到的输入:1: They traveled to __________________. Auxiliary 2: They traveled to Washington _______. Auxiliary 3: _____________ Washington by plane. Auxiliary 4: ________________________ by plane(来源:Clark et al., 2018)。


9) 使用大文档的 QA 问答系统和推理


随着一系列的 QA 问答数据集的出现,QA 问答系统有了很大的发展(见https://arxiv.org/abs/1809.09600https://stanfordnlp.github.io/coqa/http://quac.ai/http://qangaroo.cs.ucl.ac.uk/)。除了对话式问答和多步推理外,问答系统最具挑战性的方面是综合叙述和大量信息。我认为最精彩的论文如下:


  • The NarrativeQA Reading Comprehension Challenge(《NarrativeQA在阅读理解上的挑战》,TACL 2018,http://aclweb.org/anthology/Q18-1023):这篇论文提出了一个具有挑战性的全新 QA 问答数据集,该数据集基于对整部电影剧本和书籍的问答。虽然这一任务对当前的方法仍然遥不可及,但是,模型仍然提供了使用摘要(而非整本书)作为上下文、选择答案(而非生成答案)以及使用 IR 模型的输出的选项。有了这些变体,任务会变得更加可行,并使模型能够逐步扩展到完整的设置。我们需要更多这样的数据集,尽管这些数据集存在费时耗资的问题,但我们仍然要设法让它们变得易于访问。



QA 问答系统数据集的比较(来源:Kočisky et al ., 2018)。


10) 归纳偏向


归纳偏向,如 CNN 中的卷积、正则化、Dropout 等其他机制,是神经网络模型的核心部分,它们起到了正则化器的作用,使模型更具样本效率。然而,提出一种广泛使用的归纳偏向,并将其纳入模型是一项具有挑战性的任务。我认为最精彩的论文如下:


  • Sequence classification with human attention (《人类注意力的序列分类》,CoNLL 2018,http://aclweb.org/anthology/K18-1030):这篇文章提出了利用眼球追踪语料库中的人类注意力来规范 RNN 的注意力的方法。鉴于目前许多模型(如Transformers)都使用注意力,如何更有效地训练注意力是一个重要方向。我看到另外一个例子也很棒:人类语言学习可以帮助改进我们的计算模型。

  • Linguistically-Informed Self-Attention for Semantic Role Labeling (《用于语义角色标注的语言学自注意》,EMNLP 2018,http://aclweb.org/anthology/D18-1548):这篇论文有很多让人喜欢之处:在句法和语义任务上共同训练的 Transformers;在测试时注入高质量解析的能力;以及域外评估。它还通过训练一个注意力的头部来关注每个标记的句法父项,从而规范 Transformer 的多头注意力,使其对语法更加敏感。我们可能会看到更多 Transformer 注意力头的例子,这些例子被用做辅助预测器,专注于输入的特定方面。



过去十年的 PropBank 语义角色标注。语言学自注意(LISA)与域外数据的其他方法的比较(来源:Strubell et al., 2018)




原文链接:


http://ruder.io/10-exciting-ideas-of-2018-in-nlp/


2018 年 12 月 30 日 08:006281
用户头像

发布了 256 篇内容, 共 85.7 次阅读, 收获喜欢 928 次。

关注

评论 5 条评论

发布
暂无评论
发现更多内容

六度空间软件系统开发|六度空间APP开发

开發I852946OIIO

系统开发

测试右移之日志收集与监控

BY林子

敏捷 软件测试

性能之巅:定位和优化程序CPU、内存、IO瓶颈

华为云开发者社区

性能 cpu 优化

华为工程师:扔掉你手里的其他Netty资料吧,有这份足以

小Q

Java 学习 面试 Netty 网络

中国SaaS的病与痛?

ToB行业头条

阿里P8大牛的建议,工作1-5年的Java工程师如何让自己变得更值钱

Java成神之路

Java 程序员 架构 面试 编程语言

安卓开发不得不会!啃下这些Framework技术笔记,成功入职阿里

欢喜学安卓

android 程序员 编程开发 Android进阶

GitHub标星17K,超火的SpringBoot +Vue实战项目,文档视频贼全

Java成神之路

Java 程序员 架构 面试 编程语言

刷完这两份pdf轻松拿下了蚂蚁金服、头条、小米等大厂的offer。

Java架构之路

Java 程序员 架构 面试 编程语言

架构师训练营第一期 - 第十一周学习总结

卖猪肉的大叔

极客大学架构师训练营

足不出户带你体验专业实验室,技术实现不在话下

华为云开发者社区

体验 平台 实验

linux命令:查询占用端口文件所在位置

梁小航航

Linux

4项探索+4项实践,带你了解华为云视觉预训练研发技术

华为云开发者社区

AI 华为云 modelarts

MySQL最全整理(面试题+笔记+导图),面试大厂不再被MySql难倒

Java成神之路

Java 程序员 架构 面试 编程语言

二层交换机和三层交换机之间VLAN的区别

网络技术平台

在阿里巴巴内网找到的一份《Java核心宝典》简直太细了,如获至宝!

Java架构之路

Java 程序员 架构 面试 编程语言

LeetCode题解:45. 跳跃游戏 II,贪心从后向前,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

一个优秀的程序员,不仅要会编写程序,更要会编写高质量的程序

Java成神之路

Java 程序员 架构 面试 编程语言

可以秒杀全场的SpringCloud微服务电商实战项目,文档贼全

Java成神之路

Java 程序员 架构 面试 编程语言

卧槽,牛皮了!某程序员苦刷这两份算法PDF47天,四面字节斩获心仪大厂offer!

Java架构之路

Java 程序员 架构 面试 编程语言

LeetCode题解:102. 二叉树的层序遍历,BFS,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

不为人知的网络编程(十):深入操作系统,从内核理解网络包的接收过程(Linux篇)

JackJiang

Linux 网络编程 TCP/IP

小熊派开发实践丨小熊派+合宙Cat.1接入云服务器

华为云开发者社区

IoT 小熊派 实践

话题讨论 | 聊聊那些年你重构过的代码?

xcbeyond

话题讨论

Flutter技术在会展云中大显身手

京东智联云开发者

flutter 跨平台 移动开发

话题讨论 | 对于懂得编程的人来说,编程对你来说有什么乐趣?编程大概是什么感觉?

xcbeyond

话题讨论

Norns.Urd 中的一些设计

八苦-瞿昙

C# 随笔 随笔杂谈 aop

金九银十Android热点知识!架构师花费近一年时间整理出来的安卓核心知识,送大厂面经一份!

欢喜学安卓

程序员 面试 编程开发 Android进阶 Android开发

架构师训练营 1 期 -- 第十二周总结

曾彪彪

极客大学架构师训练营

Alibaba Java面试题大揭秘,把这些知识点吃透去面试成功率高达100%

Java架构之路

Java 程序员 架构 面试 编程语言

某Javva程序员金秋9月靠这份文档涨薪10K,你把这份Java进阶文档吃透涨薪超简单!

Java架构之路

Java 程序员 架构 面试 编程语言

2018年度NLP领域最令人兴奋的10项新研究-InfoQ