NLP领域的十项全能算法来了。
Salesforce最新论文提出了一个可处理多项自然语言处理的通用模型:decaNLP,处理机器翻译、文本分类等NLP任务统统不在话下!
以下是论文精华内容:
深度学习提升了许多单个自然语言处理任务的性能。但是,一般的NLP模型集中于单个度量、数据集和任务,因此不能形成典范。我们引进了自然语言十项全能(decaNLP)的概念,一个跨越10个任务的挑战:问答,机器翻译,总结,自然语言推理,情感分析,语义角色标注,关系抽取,目标驱动对话,语义解析,常识性代词消解。
我们将所有的问题转化为一段文本的问答。进一步的,我们提出了一个新的多任务问答网络(MQAN),它可以在没有任何特定任务的模块或参数的情况下,共同学习decaNLP中的所有任务。MQAN显示了机器翻译和命名实体识别(NER)的迁移学习的改进,情感分析和自然语言推理的领域适应,以及文本分类的零样本能力。
我们证明了MQAN的多指针编解码器是这个成功的关键,并且通过相反训练策略(anti-curriculum training strategy)进一步提高了性能。尽管MQAN是为decaNLP设计的,但它也实现了在单任务设置中的WikiSQL语义解析任务的最新结果。我们还发布了获取和处理数据,训练和评估模型的代码,以及重现了decaNLP的所有实验。
代码链接:
https://github.com/salesforce/decaNLP
介绍
我们介绍了decaNLP,以探索推广到许多不同类型的NLP任务的模型。decaNLP鼓励用单一模型同时优化十项任务:问答、机器翻译、文档总结、语义解析、情感分析、自然语言推理、语义角色标注、关系抽取、目标驱动对话、代词消解。
MQAN是针对decaNLP设计的,它利用了一种新的双关联注意力和多指针发生器解码器在decaNLP中对所有任务进行多任务处理。我们的研究结果表明,用正确的相反训练策略对所有任务的MQAN进行联合训练,可以达到与10个独立的MQANs单独训练相同的性能。
在decaNLP上接受过训练的MQAN在机器翻译和命名实体识别的迁移学习、情感分析和自然语言推理的领域适应以及文本分类的零样本能力方面都有改进。虽然没有为任何一个任务明确地设计,但事实证明,MQAN在单任务设置中也是一个强大的模型,在decaNLP的语义解析上实现了最先进的结果。
我们发布了代码,用于获取和预处理数据集、训练和评估模型,以及通过基于decaScore的十项全能分数(decaScore)的排行榜跟踪进度。我们希望这些资源的结合能够促进多任务学习、迁移学习、通用嵌入和编码器、架构搜索、零样本学习、通用问答、元学习等NLP相关领域的研究。
任务和指标
decaNLP包含了10个公开的可获得的数据集,示例被转换为(问题、上下文、回答)三元组,如图1所示。
图1. decaNLP数据集的概览:其中包含了每一个decaNLP任务的例子。它们展示了如何预先处理数据集,使其成为问答问题。红色的回答词是通过指向上下文生成的,绿色的是从问题中生成的,蓝色的是输出词汇表上的分类器生成的。
问答(QA)。QA模型接收一个问题和一个上下文,其中包含输出所需答案所需的信息。在这个任务中我们使用斯坦福问答数据集(SQuAD)。
上下文是从英语维基百科中摘取的段落,回答是从上下文中复制的单词序列。SQuAD使用一种标准化的F1指标,剔除冠词和标点符号。
原文