记忆网络之open-domain QA 应用
前面两篇文章分别介绍了Memory Networks和End-To-End MemNN两种模型,但是都是基于bAbI数据集进行的介绍,更像是一种阅读理解式的任务,也就是给定一段文字和一个问题,从中找出答案。然而平时遇到的QA任务,往往并不会给定一段材料和问题,而是直接给一个问题需要给出答案,那么这种情况下应该如何使用记忆网络的模型来解决呢?我们这次结合两篇论文来介绍一下MemNN如何迁移到开放域的QA问题上。
首先说一下上面所提出的问题,如何在只有Question的时候直接回答呢?这里需要引入知识库(Knowledge Bases, KBS)的概念,其实在Memory Networks兴起之前,传统的QA都是通过知识库进行检索或者信息抽取等方式进行建模的(这个有时间应该也会专门研究一下,这里先不进行引申)。所谓知识库,其实就是将互联网上的信息经过专家人工提取和构造,以三元组的形式存储下来(subject, relationship, object),是一种非常结构化的信息,比较知名的有FreeBase。有了知识库,那么给定一个问题我们自然可以进行检索记忆并作出回答。那么Memory Network的优点是什么呢相比传统方法,因为问题往往是以自然语言的方式提出,而知识库是高度结构化的组织,所以如何进行检索或者信息抽取其实是一个很困难的工作,所以就引入了深度学习==另外还有一个问题就是,前面所提到的Memory Network记忆的都是一个相对较小的文档存储起来,那么面对KB这么庞大的知识库应该如何解决内存容量问题呢?下面我们进行探索。
Large-scale Simple Question Answering with Memory Networks
第一篇要介绍的是Facebook在15年6月份发表的论文“Large-scale Simple Question Answering with Memory Networks”,作者是Bordes(之前他还发过一篇Question Answering with Subgraph Embedding,是将知识库子图进行Embedding,本文中也会用到相似的概念)和Weston(Memory Networks就是他的大作)还有Chopra(恩,他们几个经常一块发文章就对了==),说这个是因为最近看这方面文章发现这几位大牛出现频率过高,所以关注了一下。下面介绍一下本文的主要