Facebook开源问答系统DrQA:基于单一信源回答开放域提问

问耕 编译整理

量子位 出品 | 公众号 QbitAI

今天一大早,Yann LeCun就转发了一条消息:Facebook开源了DrQA的代码。

DrQA是一个开放域问答系统。

关于DrQA,Facebook还发表了一篇论文《Reading Wikipedia to Answer Open-Domain Questions(阅读维基百科来回答开放域问题)》。这篇论文也入选了下周即将在温哥华召开的ACL 2017大会。

论文的作者为来自斯坦福的Danqi Chen(陈丹琦,之前毕业于清华姚班),以及来自Facebook人工智能实验室(FAIR)的Adam Fisch,Jason Weston,Antoine Bordes。

Adam Fisch介绍说,DrQA的主要任务是大规模机器阅读(MRS)。在这种情况下,DrQA会在一个非常庞大的非结构化文档语料库中寻找问题的答案。因此,这个系统最大的挑战就是文档检索与文本的机器理解如何更好的结合。

论文摘要

Facebook开源问答系统DrQA:基于单一信源回答开放域提问

DrQA系统架构

这篇论文提出使用维基百科作为唯一的知识来源,以解决开放域问答。任何事实性提问的答案,都是来自维基百科中的内容。

我们的方法结合了基于二元语法哈希(bigram hashing)和TF-IDF匹配的搜索组件,以及一个训练用来在维基百科段落中寻找答案的RNN模型。

我们在多个现有问答数据库上的实验表明:1、上述两个模块与现有方案相比优势很大 2、使用远监督的多任务学习,可以让上述组合更高效的完成任务。

为了回答任何问题,DrQA必须首先检索超过500万个条目中的相关文章,然后仔细扫描以确定答案。我们把这个成为大规模机器阅读(MRS)。

我们的工作将维基百科视为文章的集合,而不依赖于其内部图形结构。因此,这个通用方法可以切换到其他文件、书籍或是日报等领域。

像IBM DeepQA这样的大规模问答系统,依赖于多个来源给出答案:除了维基百科,DeepQA还是用了知识库、词典、新闻、书籍等。因此这样的系统严重依赖信息冗余来获得正确答案。

而只有单一知识来源,迫使模型在搜索答案时必须非常精确,因为相关证据可能只会出现一次。因此,这对机器阅读能力是一个挑战。

获取论文,可以在量子位微信公众号(QbitAI)对话界面回复:“drqa”四个字母。

开源代码

Facebook已经把DrQA问答系统的PyTorch实现公布在GitHub上。地址在此:

https://github.com/facebookresearch/DrQA

在这个页面上,Facebook还展示了一下DrQA的问答界面,我们挑选几个给大家看看。首先是这个问题:“生命、宇宙和一切的答案是什么?”

Facebook开源问答系统DrQA:基于单一信源回答开放域提问

安装DrQA需要Python 3.5或以上,当然也需要安装PyTorch。更多细节都在requirements.txt中。

另外,Facebook还提供了预训练的模型,以及维基百科问答数据。这部分内容大小为7.5GB,解压之后约为25GB大小。

【完】

版权所有,未经授权不得以任何形式转载及使用,违者必究。