在自然语言处理中,问答(QA)问题是举足轻重的一环。QA问题旨在测试人工智能系统的推理能力,一直以来都是各大科研机构研究的重点。近年来,预训练模型BERT等在QA问题中都获得了很大的成功,在许多数据集上的测试结果都逼近人类水平。但现有的QA问题及其数据集,往往存在以下的不足:
传统的抽取式阅读理解数据集(如SQuAD)被人指出90%以上的答案只需要输入原文中与问题相关的那个句子就能回答。因此,HOTPOTQA 数据集的作者制作了一个新的数据集。数据集中的问题,需要多次“跳转”的阅读理解才能回答。具体来说,给定一个问题,系统只通过一个文档是无法正确回答问题的,需要系统根据多篇文档回答一个问题,所以需要多跳推理。并且标注了支持事实,含有对照类型的问题,这使得可以训练模型推理答案和相应的支持事实的能力。
例如作者给出的例子,对于给出的问题,系统需要“跳转”两个文档。先根据第一个文档的有关线索跳转到第二个文档,再根据有关线索回答问题。这就需要系统收集能回答问题的所有事实构建推理链来回答问题。可以看出,多跳QA问题比一般的QA问题要复杂许多。下文将介绍几个在Multi-hop QA取得不错成果的模型。
论文:https://arxiv.org/abs/1905.05460
代码:https://github.com/THUDM/CogQA
这篇文章主要的贡献是建立了一种认知图谱(Cognitive Graph)问答模型。作者提到,在认知学中,有一个著名的“双过程理论(dual process theory)”,它认为人的认知,分为两个系统:系统一是基于直觉的,无知觉的思考系统,其运作依赖于经验和关联。系统二是人类特有的逻辑推理能力,其运作利用工作记忆中的知识进行慢速但是可靠的逻辑推理,系统二是显式的,需要意识控制的,是人类高级智能的体现。论文的认知图谱模型就是构建在这个双过程理论的基础上的。具体来说,论文设计了两个系统共同去维护一张认知图谱。系统一遍历文档,抽取与问题相关的实体,并对其中的信息编码,然后扩充于认知图谱上;系统二利用图神经网络(GNN)在所构建的认知图谱上进行推理,构建推理链,回答问题。整个模型就是两个系统不断的迭代,直到能最终回答问题。
可以看到,系统一采用了流行的BERT模型,其输入为
主要分为三部分:
系统一的输出,也主要有三部分组成:
这些抽取的到的实体和答案候选将作为节点添加到认知图谱中。获得的语义向量将作为系统二图网络节点的初始值。系统二使用图神经网络(GNN)实现推理计算。系统一的输出都会在系统二的图网络上生成一个新的节点,每一步迭代,前续节点将变换过的信息传递给下一跳节点,并更新目前的隐表示。这样一来,系统一不断地提取出一些相关实体及其语义信息,然后系统二用它们来对图进行扩展和填充,最终所有的“答案候选”点的隐表示将通过一个带有softmax函数的全连接网络来判断哪个是最终答案。
可以看到,在Hotpot QA数据集上,CogQA的效果要高出很多。
论文:https://www.aclweb.org/anthology/P19-1617.pdf
代码:https://github.com/woshiyyya/DFGN-pytorch
这篇文章同样是使用图神经网络来处理多跳推理问题。在文章中,作者认为人类处理阅读理解问题时:首先从问题中的某个感兴趣的实体开始,接下来关注实体周围的词语、邻近的与此实体有关系的实体,之后不断地重复这个步骤形成一个推理链,最后定位到可能是答案的某个实体或者片段上。基于上面的假设,此文章针对于问答系统构建了5个组件:用于段落选择的子网络,实体图结构单元,编码层,多跳推理的融合模块和最终的推理层。
对于所给定的问题,假设有 个段落用于推理答案。因为不是每个段落都与问题相关,作者通过预训练一个子网络来进行段落选择。这个子网络采用预训练的BERT模型,使用问题 和段落进行二分类
文章使用斯坦福的CoreNLP工具包,对文本进行实体抽取。实体图就构建在所提取的实体上。首先对文本中同一句子出现的每一对实体进行连接,作为句子层的连接;对出现在相同文本的实体进行连接,作为内容层的连接;对相同段落的中心实体和其他实体进行连接,作为段落层的连接。
我们将问题Q和上下文C一起输入BERT得到相关表示。之后将两个表示通过一个双注意层来增强两者之间的交互,然后将两者相加得到最终表示。
文章首先使用平均池化层和最大池化层来得到实体嵌入作为图网络的初始值,称为Doc2Graph。
接下来通过动态图注意力机制计算每个实体的重要性,得到与问题最相关的实体。
同样的,整个过程需要不断迭代,添加实体,每一步新访问的实体点都会变成下一步的起始实体点。
文章参考双重注意力网络设计了查询嵌入的更新机制。最后,我们需要将构建的图转换回序列,这一步文章通过所设计的Graph2Doc模块实现。
预测框架由四格输出维度构成,包括支持句,答案的开始位置,答案的结束位置和答案类型。使用堆栈结构的4层同构LSTM来进行预测:
最终的损失函数为:
最终的实验结果,DFGN要比CogQA高一点。
可以看到,Multi-hop QA要比传统的单文档抽取式QA要难上许多,这也是现在的SOAT模型结果仍然不是特别高的原因。这也因此是一个有趣的值得研究的问题。
———————————————————————————————————
中国科学院深圳先进技术研究院自然语言处理组正在招收实习/硕士/博士同学,对NLP感兴趣的同学欢迎发送简历至min.yang@siat.ac.cn!
关于我们
“AI论道”公众号是由中国科学院深圳先进技术研究院自然语言处理组(SIAT-NLP)创立,在于分享更多高质量,高水平的科研论文与成果。如果你也对自然语言处理、深度学习等相关知识感兴趣,可以加入微信群。本群为大家提供交流的平台,在这里你可以分享、学习更多相关知识。
扫描二维码加入我们
由于人数过多,已经不能通过扫码加入,加群请加微信:Jasper-wan,备注"AI论道"
上一篇