Salesforce近期发布了一项新的研究成果,名为decaNLP,这是一种能够同时处理多种自然语言处理任务的通用模型。不同于以往的模型,decaNLP不仅可以专注于单一任务,还能同时处理包括机器翻译、问答、摘要、情感分析、文本分类等在内的十个任务。
Salesforce的首席科学家Richard Socher在接受采访时说:“我们的decaNLP就像NLP领域的瑞士军刀。”
深度学习已经在自然语言处理任务中取得了显著进展,例如机器翻译、摘要、问答和文本分类。然而,每种任务通常都需要特定的评估指标,这些指标通常是通过特定的数据集来衡量的。这就导致了专门针对单一任务优化的模型越来越多,而缺乏能够在多种自然语言处理任务中表现出色的通用模型。为了探索这种通用模型的可能性及其在优化过程中的权衡,我们引入了decaNLP。
decaNLP包含十个任务:问答、机器翻译、摘要、自然语言推理、情感分析、语义角色标注、关系抽取、任务驱动对话、数据库查询生成和代词消解。该模型旨在整合所有这些任务,并研究这种整合模型与专门为单一任务设计的模型有何不同。为此,decaNLP通过一个统一的目标来衡量所有任务的表现。
decaNLP的任务包括:
为了在所有decaNLP任务中实现多任务处理,我们引入了MQAN,这是一种多任务问答网络,不需要为特定任务设置参数和模块。
MQAN使用双向长短时记忆网络(BiLSTM)对问题和上下文进行编码,并使用共同注意机制来表示两个序列。通过压缩这些信息,MQAN可以在高层进行计算,并利用自我注意机制捕捉长距离依赖关系。多指针生成器解码器则决定是否从问题、上下文或有限词汇表中生成答案。
除了MQAN,我们还尝试了几种基线方法并计算了它们的综合得分。第一个基线是序列到序列网络(S2S),具有注意力和指针生成器。第二个基线是S2S w/SAtt,增加了自注意机制。第三个基线是+CAtt,将上下文和问题分为两个序列,并添加了一个共同注意层。MQAN是一种带有附加问题指针的+CAtt模型。
考虑到模型在丰富和多样的数据上进行了训练,它构建了强大的中间表示,从而实现了迁移学习。相比随机初始化的模型,MQAN在decaNLP上进行预训练后,在新任务和新领域上的表现更好。例如,在命名实体识别和英语到捷克语的翻译任务中,MQAN的性能显著提升。
decaNLP展示了在多种自然语言处理任务中的强大性能,特别是在零样本学习和迁移学习方面。这标志着在构建通用自然语言处理模型方面迈出了重要一步。