在很多人眼里,Salesforce可能是一个陌生的名字,但它其实是一个可以媲美微软和甲骨文的科技巨头。与许多专注于个人消费者服务的公司不同,
在很多人眼里,Salesforce可能是一个陌生的名字,但它其实是一个可以媲美微软和甲骨文的科技巨头。与许多专注于个人消费者服务的公司不同,Salesforce的主要业务是CRM系统,这也是其在股东压力下放弃收购Twitter的一大因素。近年来,看到竞争对手依靠AI技术取得巨大成功,拥有大量优质数据并建立了人工智能平台爱因斯坦的Salesforce自然也不甘落后。今天,智慧理论带来了爱因斯坦研究所的一项新成果:迪卡侬NLP深度学习模型。
对于机器翻译、文本摘要、问答和文本分类等自然语言处理任务,深度学习的出现一次又一次刷新了最先进模型的性能记录,给研究带来了诸多惊喜。但是,这些任务一般都有自己的度量基准,它们的性能只在一组标准数据集上进行测试,这就导致了一个问题:即使这些模型在单个NLP任务中表现良好,它们的基准设计和架构开发也不一定对NLP全能模型的开发有积极的影响。
为了探索这些模型的更多可能性,优化它们的权重,我们引入了decaNLP:自然语言十项全能多任务挑战(也是一个大数据集)。本次挑战包括十项任务:问答、机器翻译、摘要、自然语言推理、情感分析、语义角色标注、关系抽取、任务驱动的多轮对话、数据库查询生成器和代词消解。它的目标是找到能够高质量完成上述10项任务的模型,并探索这些模型与针对特定任务单独训练的模型之间的差异。
为了便于比较,decaNLP使用了一个名为decaScore的基准。
把这十个任务转化成一个问答模式,就成了一个大的QA模型。
针对这一挑战,我们的具体做法是将这十个任务转化为问答,提出一种新的多任务问答网络(MQAN),它可以同时学习这十个任务,不需要任何特定的任务模块和参数。经过实验,MQAN得到了一些有趣的发现:机器翻译和命名实体识别模型有相似的领域,如迁移学习、情感分析和自然语言推理.
通过对比基准,我们发现MQAN的多指针编解码结构是其成功的一个关键,相反的训练策略可以进一步提高网络性能。虽然MQAN的定位是NLP全能机型,但是在单个任务中的表现也是可圈可点的。总之,它在WikiSQL语义解析任务中取得了最先进的结果,在SQuAD上得分最高,在其他任务中表现出色。
任务和数据集
问题、文本和答案:十个自然语言处理任务
首先,我们来看看任务和相关的数据集。这个内容在论文中有比较详细的介绍,包括每个任务的历史背景和近期进展,这里不再赘述。上图是每个任务输入输出对的一些样本。
质量保证
问答模型的输入由两部分组成:问题和上下文,上下文包含输出答案所需的信息。对于这个任务,我们使用的是斯坦福问答数据集(SQUAD),上下文取自英文维基百科段落,答案是从上下文中复制的单词序列。
机器翻译
机器翻译的输入是源语言文本,输出是翻译后的目标语言。这里我们以2016年国际口语机器翻译评测比赛(IWSLT)的德英翻译数据作为训练集,以2013年和2014年比赛的数据作为验证集和测试集。输入样本来自转录的TED talk,因为它涵盖了大多数自然语言对话主题。虽然这个数据集对于机器学习来说有点小,但是它的大小和其他任务的大小基本相同。
DecaNLP对附加数据没有限制,所以如果您愿意,还可以引入更多数据,比如WMT会议翻译数据。
摘要
这种任务要求模型在输入文本后能够输出文本的摘要。近年来,许多研究者将CNN和《每日邮报》语料库编入数据集,并在此基础上取得了许多重大进展。我们还为decaNLP挑战引入了这个数据集的非匿名版本。
自然语言推理
NLI模型接受两个输入句子:一个前提和一个假设。该模型需要推断前提和假设之间的关系,并将其归类为矛盾、中立和支持之一。我们使用的是斯坦福大学的多体裁NLI语料库(MNLI)数据集,它是SNLI的升级版,提供了多个领域(语音转写、流行小说、政府报告)的训练样本。
情感分析
情感分析的任务是在输入文本后输出文本所表达的情感。斯坦福大学的情感树数据库(SST)是一个包含电影评论及其对应情感(积极、中性和消极)的数据集,非常适合这类任务。我们使用它的二进制版本,这样decaNLP模型就可以解析它的依赖关系。
语义角色标注
语义角色标注(SRL)就是输入句子和谓语(通常是动词),输出语义角色之间的关系:何时何地,以及“谁”对“谁”做了什么。我们将一个SRL数据集处理成问答形式,并制作了一个新的数据集:QA-SRL,涵盖新闻和维基百科。
关系抽取
关系抽取的目的是从输入文本中抽取属于目标类别的实体关系。在这种情况下,模型需要先识别实体之间的语义关系,然后判断是否属于目标类别。像SRL一样,我们也为这个任务制作了一个新的数据集:QA-ZRE。它将实体关系映射到一系列问题,因此提取过程变成了问答形式。
任务驱动的多轮对话
在人机对话系统中,任务驱动多轮对话的一个关键是对话状态跟踪,即根据用户的说话和机器人的反应,明确用户的目的,比如点餐、订票、购买商品等。还可以跟踪用户在通信过程中发出的请求类型。对于这个任务,我们使用的是英文版的WoZ订餐任务,其中包含了订餐的实体、日期、时间、地址等信息。
语义分析
本质上,将自然语言翻译成SQL,然后翻译成数据库查询语句的过程与语义分析密切相关。去年,我们在论文Seq2SQL中介绍了一种可以跳过SQL,允许自然语言直接与数据库交互的方法。所以这里用的是当时的数据集WikiSQL。
代词消解
这个任务针对的是图灵测试,而是魏-诺格拉德模型挑战。一个最典型的例子是,市议会拒绝批准示威者,因为他们[担心/宣传]暴力。这里“担心”的主体是“市议会”,那么“宣传”的主体是谁呢?我们从这个例子开始训练,保证最后的答案来自上下文,但是它的分数不会受到上下文的措辞的影响。
模型分数:十进制分数
多任务问答网络
MQAN是一个多任务问答模型,仅一个深度学习神经网络就可以解决decaNLP挑战的十个任务。它没有任何用于特定任务的参数和模块。如上图所示,在输入问题和上下文文本后,模型使用BiLSTM对输入进行编码,并使用双重协同来分别调整两个序列的表示,然后使用另外两个BiLSTM来压缩所有信息,以便可以用于高级计算。后面加入的自我注意模块可以有效地收集长时记忆,并将这些信息反馈到最后两个BiLSTM中,得到问题和上下文的最终表征。
因为decaNLP是十项全能挑战,如果每个任务的评分基准是100%,那就应该是1000%。——的加入可以有效避免不同任务的评分偏差。对于问答、自然语言推理、情感分析和语义角色标注,其评分标准为归一化F1(NF1);任务计算胭脂-1、胭脂-2和胭脂-L的平均分;机器翻译用BLEU评分;任务驱动的多轮对话使用任务跟踪得分和请求跟踪得分的平均值.
除了MQAN,我们还尝试了其他结构模型,并计算了它们的decaScores。以下是具体分数:
每个模型的评分结果
第一个S2S是一个序列到序列网络,包括注意机制和指针生成器。第二个w/SAtt是S2S的衍生,在编码器的BiLSTM和解码器的LSTM层之间增加了一层自我关注模块(Transformer)。CAtt将上下文和问题分解成两个序列,并在编码器中增加了一个额外的层。MQAN实际上是一个带有额外问题指针的CAtt,在表中表示为QPtr。
上表中的数据显示了多任务和单任务之间的权衡:通过在S2S中增加额外的注意模块,该模型可以更有效地从单一序列的问题上下文中提取有效信息,从而大大提高其在SQUAD和WikiSQL上的性能;基于前者,该模型通过将上下文和问题作为独立的输入序列,在大多数任务中表现更好,但在MNLI和MWSC数据集上性能急剧下降。不难理解,自然语言推理和代词消解需要结合上下文和问句,一旦分离,模型就失效了。为了解决这个问题,QPtr引入了一个额外的指针,可以发现该模型在MNLI和MWSC上的性能要优于在S2S上的性能。
学习新任务时MQAN预训练和直接训练的差距。
声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们