博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【论文笔记】 | Learning to Retrieve Reasoning Paths over Wikipedia Graph for Question Answering
阅读量:4290 次
发布时间:2019-05-27

本文共 2324 字,大约阅读时间需要 7 分钟。

在这里插入图片描述


作者:迪

单位:燕山大学


论文来源:ICLR2020


前言

  开放领域问答指的是从庞大的数据中找到问题的答案。过去的方法大都是先从这海量的数据中抽取出相关的少量文档,然后将之当做一个给定文本的问答类型。尽管这种方法对单跳问答(sigle-hop QA)效果很好,但是在多跳问答(multi-hop QA)中却往往不那么奏效。单跳问答,就是问题的答案就在单个文档中,而多跳问答需要结合很多篇文档的“知识推理”才能得到最终的答案。如下图所示:

在这里插入图片描述

概述

  回答多跳推理的问题,需要检索多个相关文档,其中一个或几个文档通常与问题几乎没有词汇或语义关系。 本文介绍了一种新的基于图的递归检索方法,该方法学习如何在Wikipedia图上检索推理路径,以进行多跳问答。该模型由检索器和阅读器组成。检索器模型训练一个递归神经网络,该神经网络学习在推理路径中顺序检索相关段落。 阅读器模型对推理路径进行排序,并提取最佳推理路径中包含的答案范围。 实验结果显示了该模型三个开放域QA数据集均达到了SOTA,展示了该方法的有效性和鲁棒性。

  该方法使用Wikipedia超链接和文档结构构造Wikipedia段落图,以对段落之间的关系进行建模。检索器通过最大化在每个步骤中选择正确的相关段落的可能性并微调段落编码,训练循环神经网络在该图中为推理路径评分。阅读器模型根据其包含和提取正确答案短语的可能性为每个推理路径评分。

主要贡献

  1. 作者介绍了一种新的基于图的循环检索方法,该方法学习检索相关文档作为回答复杂问题的推理路径。
  2. 在三个开放领域的问答数据集中,作者都达到了SOTA的效果,在HotpotQA中,相比于之前最佳的模型高出14个百分点以上。

模型

  首先,检索器根据维基百科的段落得到若干推理路径,然后一个阅读理解模型基于这些路径找到最可能的一条路径作为最终的答案。本文用维基百科文章里的每个段落 p p p作为基本单元,给定问题 q q q,模型首先找到一条路径 E = [ p 1 , p 2 … , p k ] E=[p_1,p_2…,p_k] E=[p1,p2,pk],用 S r e t r ( q , E ) S_{retr}(q,E) Sretr(q,E)表示,然后在 E E E中找到答案 a a a,用 S r e t r ( q , E , a ) S_{retr}(q,E,a) Sretr(q,E,a)表示。因此该任务可表示为:

在这里插入图片描述

检索推理路径

构建文档图

  本方法学习在图结构中检索推理路径。为了执行推理,首先为多个文档构建段落图,图中的每个节点都代表一个段落。文档内部的超链接通常用于构建网络上文章之间的关系,使用这些超链接构造图的边。

基于图的检索器

  使用 R N N RNN RNN为问题 q q q建立推理路径,在第 t t t步,模型从候选段落集 C t C_t Ct中选择 p i p_i pi,然后再将 p i p_i pi有联系的段落作为下一步的候选集 C t + 1 C_{t+1} Ct+1,重复此过程,直至生成特殊符号 [ E O E ] [EOE] [EOE]。具体步骤如下:

在这里插入图片描述

  其中 b ∈ R 1 b\in R^1 bR1是偏置项。

对候选段落进行Beam Search

  如果候选集很大,计算上式的开销就很大,为了使模型更高效的训练,我们对候选段落进行波束搜索。具体来说,第一个候选段落集 C 1 C_1 C1被初始化为使用 T F − I D F TF-IDF TFIDF和问题 q q q最相近的 F F F个段落。推理路径 E = [ p 1 , … , p k ] E=[p_1,…,p_k] E=[p1,,pk]可定义为 p ( p i ∣ h 1 ) , … , p ( p k ∣ h ∣ E ∣ ) p(p_i|h_1),…,p(p_k|h_{|E|}) p(pih1),,p(pkhE)的乘积,这样就可得到 B B B个得分最高的路径集合 E = E 1 , … , E B E={E_1,…,E_B} E=E1,,EB

根据推理路径回答问题

  阅读器首先对所有路径进行重排序,从最有可能的路径中抽取答案。具体来说,对每条路径,先使用 B E R T BERT BERT得到其特征表示,再使用 M L P MLP MLP得到每条路径可能作为答案的概率,最终选取概率最高的路径 E b e s t E_{best} Ebest,再计算找到问答文段起始位置概率和结束位置概率乘积的最大值,最终确定答案。

在这里插入图片描述

在这里插入图片描述

实验结果

数据集

  1. HotpotQA
  2. SQuAD
  3. Natural Questions

参数设置

  使用预训练的BERT模型(d=768)作为检索器,全词掩码模型(d=1024)作为阅读器。对于初始的段落检索模型采用标准的TF-IDF参数,对于HotPotQA来说,使用其验证集调整超参数 F , B F,B F,B的大小。

结果

  下表为本模型在HotpotQA上验证集的结果。

在这里插入图片描述

下面三张表依次为模型在HotpotQA测试集、SQuAD测试集、Natural Questions测试集上的结果。

在这里插入图片描述

HotpotQA 测试集

在这里插入图片描述

SQuAD 测试集

在这里插入图片描述

Natural Questions 测试集

  如表所示,可观察到该模型在三个数据集上均达到SOTA的效果。

结论

  本文提出了一种基于图和RNN的多跳问答模型,使用检索器和阅读器,用两步完成多跳问答。检索器模型能学习顺序检索证据段落以形成推理路径,阅读器对推理路径进行重排序,并根据最佳推理路径提取答案。

转载地址:http://ohmgi.baihongyu.com/

你可能感兴趣的文章
mysql中select * for update
查看>>
linux vmstat 1 ,watch , pmap -p,
查看>>
MYSQL 相关
查看>>
python 构建client 程序
查看>>
c++ 加载so动态库中的资源
查看>>
加解密 签名
查看>>
linux top 命令分析
查看>>
Linux vmstat命令详解
查看>>
linux pmap命令
查看>>
MySQL数据同步【双主热备】
查看>>
Mysql主从复制实践手册
查看>>
nginx配置正向代理支持HTTPS
查看>>
Perf -- Linux下的系统性能调优神器
查看>>
C++ 用libcurl库进行http通讯网络编程
查看>>
秒杀多线程第十篇 生产者消费者问题
查看>>
信号量与互斥锁
查看>>
linux 查看CPU个数,核数
查看>>
string 序列化
查看>>
va_start(),va_end()函数应用
查看>>
crontab命令
查看>>