一个模型搞定十大自然语言任务:NLP全能选手来了|论文+代码

夏乙 发自 凹非寺

量子位 出品 | 公众号 QbitAI

所谓自然语言处理(NLP),其实涵盖了很多方面。比如有已经无处不在的机器翻译,各大公司总在冲击排行榜的机器问答,也有普通人不太熟悉的情感分析。

在不同的分支领域,往往有着不一样的研究方法和模型,一个机器翻译模型直接拿来搞机器问答,基本上是行不通的。

于是,NLP老牌劲旅Salesforce觉得……这么多任务,真需要一个一个来吗?

于是,他们创造了一个NLP十大全能模型,要用这一个模型,搞定十项NLP任务。

十大任务

Salesforce总结的十大任务,简单来说包括:问答、机器翻译、摘要、自然语言推理、情感分析、语义角色标注、关系抽取、目标导向对话、语义分析、常识代词消解。

这些任务打包在一起还有个名字,叫做自然语言十项全能(Natural Language Decathlon,简称decaNLP)。

他们想通过这个十项全能任务集,带着同行们一起探索能泛化到所有任务的模型,研究这些模型和那些单一任务模型相比有什么不同。

为此,Salesforce给整套任务集提出了一个衡量标准:decaScore,是各任务衡量标准十合一的结果,范围在1-1000之间。

虽说做了个评测标准,但他们没有提供单独的测试集,而是选择用SQuAD平台来测试。

decaNLP对于十大任务有着特殊的处理方式:不管要干什么,都先转化成问答形式再说。

所谓问答形式,包括一个问题,和所需的语境信息(context)。

比如要翻译一句话,就会将原本要翻译的句子作为语境信息,把整个任务转化为一个问题:“这句英语翻译成德语是什么?”

摘要任务,就会转换成以一段话作为语境信息,回答一个“这段话的摘要是什么”的问题。

全能模型

而这个能一己之力搞定十大任务的模型,名叫MQAN,全称是多任务问答网络(Multitask Question Answering Network )。

顾名思义,它本质上是用于问答任务的来,对于Salesforce这种将一切问题转换成问答的做法,自然也如鱼得水。

MQAN不包含针对特定任务的修改、参数或者模型。它会将输入的问题和语境用BiLSTM编码,用dual coattention来决定每个序列对另一个的呈现方式,然后用另外两个BiLSTM来压缩所有信息,运用self-attention来手机长距离相关性信息,最后再用连个BiLSTM来得出问题和语境的最终呈现。

传送门

关于这十大全能任务和模型,Salesforce的官方博客上都有详细介绍,还给出了相应的论文和代码

官方介绍(英文):https://einstein.ai/research/the-natural-language-decathlon

论文:https://einstein.ai/static/images/pages/research/decaNLP/decaNLP.pdf

GitHub:https://github.com/salesforce/decaNLP

诚挚招聘

量子位正在招募市场运营实习生,参与线上/线下活动整体流程,帮助制作相关物料,运营社群等。工作地点在北京中关村。

期待有热情的同学加入!简历欢迎投递到quxin@qbitai.com

具体细节,请在量子位公众号(QbitAI)对话界面,回复“实习生”三个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

举报
评论 0