本文呢是根据大神Sebastian Ruder的博客上的 几篇文章 翻译整理得到的。大神今年参加了自然语言处理的三大顶会并且对三个会议都做了总结和展望。
ACL 2018 Highlights: Understanding Representations and Evaluation in More Challenging Settings
这篇博客是对今年ACL论文情况的一个总结。作者认为2015-2016年ACL经历了被词向量以及各种embedding统治的恐惧,2017年是双向LSTM带Atention模型的辉煌一年。而带着这样的想法,作者在ACL2018的会议中重点关注的是:各种表示方法(representatioin)所捕获的信息到底什么?怎么把这些信息应用到复杂的自然语言模型当中?
1 探究Representation捕获的语义
1.1 探究模型捕获的信息
作者指出,在今年的ACL会议中,很喜人的一点在于几年没有像前几年一样新鲜模型满天飞。恰恰相反,很多论文开始了对已经有的模型进行了探索,主要是观察这些模型所捕获的语义信息到底是什么。其探究的主要方法是:自己搞一个数据集,然后让不同的模型生成的Representation在这个数据集上跑,看看有什么效果。这样的文章很多,包括:
1.Conneau et al.发的论文呢探究的是各种模型生成的sentence embeddings
到底捕获了什么语义。他自己搞了十个数据集,分别跑十个不同的任务,包括:预测句子长度啦,还原单词内容啦等等。他们的研究结论是那么多的策略,其实能够最好的捕获句子级别的信息的还是bag of embeddings
系列的模型,比如直接用词的embedding取个平均啦什么的。
2.Zhu et al.呢也是研究的sentence embeddings
捕获的语义信息。他们通过观察不同模型生成的句子的特征来比较的。这些模型生成的句子在语法和语义上都有着很大的不同之处,他们发现在众多的模型当中SkipThought
和InferSent
能够很好区分否定词。同时,InferSent
在发现语义等价部分以及处理量词上表现的更好。
3.Pezzelle et al. 的研究重点则放在了量词上。他们的通过对不同的CNN和LSTM的模型的研究,利用这些模型去预测单句或者多句(段落)中的量词。结果发现,这些模型在单句上表现非常好超过了人类的能力,,但是在多句中却败下阵来。
4.Kuncoro et al.在subject-verb agreement
的任务上对LSTM模型进行了探究。他们发现在足够大的容量下,LSTM能够很好的解决这个任务,但是同时很多其他的有着很深语法背景的模型能够做的更好。
Blevins et al. 在不同的任务上进行了实验,目的是为了验证这些模型有没有捕获语法的树状结构。他们主要用这些模型去预测POS tags以及constituent labels。实验结果表明所有的模型都能够捕获一些语法树的信息,这其中甚至包括语言模型。当然,语言模型有着自己的问题,比如对于数字的处理很差。
Liu et al. 的实验表明经过自然语言任务训练的LSTM能够捕获更长历史的序列信息,而在Rep4NLP 中则相对较短。
1.2 探究模型在某一任务上的表现
1.1 中提到的论文都是在对模型捕获的某一方面的信息进行探究,这种是细粒度向下探究。除此之外,在今年的ACL会议中还有一些论文重点放在了考察模型在某一具体任务上的表现。
Glockner et al.主要研究了自然盐语言推理。他们构造了一个以句子为基本单位的语料库,每一组句子之间最多只有一个单词不同。通过对这个语料库的推理考察模型是否能够完成最简单的词法层面的推理。他们发现现在的最好的模型都没能够完成这个简单的任务。
Mudrakarta et al. 研究了最新的问答模型,并且发现这些模型通常会忽略问题的关键组成。然后他们通过改变数据的内容,证明了模型会出现非常严重的准确率下滑。
1.3 探究学习偏倚
学习偏倚指的是论文的基本假设和实际的假设存在偏差。如果存在这样的偏差则很容易造成学习的过拟合问题。要解决学习偏倚呢也就是两个办法:①那你就别偏呗,采用一些简单假设,奥卡姆剃刀嘛 。。②集成学习咯,多个偏的凑合到一起就不偏啦。文章中举了一个很重要的例子就是LSTM到底适不适合来搞自然语言处理,我们都知道LSTM系列的都有就近性,越近的东西对模型的影响越大,但是自然语言显然是没有就近性的(根据乔姆斯基大神的证明),因此这是一个最大的学习偏倚。
1.4 探究深度学习网络的价值
深度学习网络并不能改变我们对自然语言理解的任何假设,它只是一个计算工具。其最大的价值在于端到端的系统的开发取代了繁杂的流水线的生产方式,节约了成本和时间。
1.5 探究语法结构的价值
真的存在语法结构这种东西吗?还是数据科学家就是喜欢给什么东西都分个类?如果真的存在话,那么我们可以有四种常见的方法将这个信息增加到网络之中:①通过管道的方式把这些语法结构作为特征输入②通过数据辅助的方式③通过多任务学习的方式④通过结构化的建模,比如利用一个基于转移的解析器、一个rnn语法器或者互相依赖的类别标签等等。
2 更难的问题的解决(数据偏倚)
2.1 棘手数据的解决
前面也提到啦,有些模型在遇到比较棘手的数据的时候就麻了爪了。所以呢今年的ACL还有一部分论文努力的想要提高以前模型的鲁棒性。
1.Cheng et al. 提出能够使得NMT中encoder和decoder面对不同的输入的时候都更鲁邦的模型。
2.Ebrahimi et al. 提出了一些白盒数据能够忽悠字符级的神经网络分类器的数据,他的具体做法就是交换了一下字符的顺序。
3.Ribeiro et al. 通过保留一部分语义提高了预测的鲁棒性,并且对这种方法实现了泛化。
Bose et al. 改进了采样的过程,如果负采样的时候能够经常采样到比较难搞定的样本,这样的话就能够保证这些数据能够很好的被处理。
2.2 增强representation鲁棒性
模型鲁棒性的增加主要方案是增加数据的多样性,可以采用自己修改数据啦,多选几个不同的数据集啦,这样类似的方案。
2.3 提出新的评价指标
评价指标在模型建立的过程中起到了指导性的作用,因此如果我们的评价指标能够引导模型产生更加鲁邦的结果,也是可以解决这个问题的
①Finegan-Dollak et al. 发现了评价标准上的缺陷,并且针对口语化的SQL查询这一任务提出了相应的改进。他们指出,现在的解决方案中"训练集和测试集的划分"以及“变量的匿名化处理”都是有缺陷的,并且提出了相应的改进版本的七个数据集。
②Dror et al. 注意力放在了一个很常见但是很容易被忽视的领域:统计学的假设检验和置信区间。具体说,他们的调查了最近几年ACL和TACL的论文,并且发现假设检验很少被涉及。因此他们提出了一个基于假设检验的流程模型。
③Chaganty et al. 调查了自动化的评价标准,比如BLEU以及ROUGE并且发现即使是无偏的模型也只是对最终的结果产生一点点的准确率提升。
Reenforcement learning
强化学习在自然语言处理中有两个大方向的应用:强时间顺序的任务(对话系统)以及Summarization 和NMT(直接针对BLEU和ROUGE评价指标进行学习)
总结
简而言之,ACL上主要是回顾与展望。回顾之前模型的问题,包括学习偏倚以及数据偏倚;通过对模型捕获的信息的分析,来展望未来的发展方向。
Tracking the Progress of Natural Language Processing
这是一篇说明性的文章,其主要目的是介绍了大神刚刚建立的github 页面。在这个页面上记录了自然语言处理的各个任务(当然不是所有)的最新的研究成果。这个页面的主要作用是希望研究人员能够更加容易的获悉现阶段各个领域的研究状况,好入门,好下手,好决定自己的方向。
功德无量!功德无量!