开放域问答的研究已经从复杂流水线系统进化到端到端深度神经网络。其中一些方法利用知识库中的信息进行作答,另一些特殊的方法通过融合知识库和文本信息二者进行作答。本文旨在回顾近年来开放域知识库问答或知识库-文本融合问答的重要工作。
论文标题:Open Domain Question Answering Using Early Fusion of Knowledge Bases and Text
论文来源:EMNLP 2018
论文链接:https://arxiv.org/abs/1809.00782
代码链接:https://github.com/OceanskySun/GraftNet
知识库和文本作为问答系统的数据源,各有优劣。前者的覆盖范围小,而利用信息的难度较低;后者的覆盖范围更大,而利用信息的难度更高。
Graft-Net 将 QA 任务转换为异构图上节点的分类任务执行,异构图中既包含来自于知识库的节点,也包含来自于文本的节点。
一些基于图传播的模型学习节点表示,然后执行节点分类,通过分类任务完成 QA。这类方法的基本过程是:
但是,作者的设定与之前的基于图的分类任务有两处不同:
如图阐释了实体和文本文档的异构更新规则。
上文所述的部分,与问题本身是无关的。作者通过两种方式引入对问题的依赖:通过对关系的关注以及通过个性化传播。
论文标题:PullNet: Open Domain Question Answering with Iterative Retrieval on Knowledge Bases and Text
论文来源:EMNLP 2019
论文链接:https://arxiv.org/abs/1904.09537
该文同样是考虑结合语料库和知识库二者构建问答系统。其重点是在语料库上补充了较大但不完整的知识库,以及需要例如多跳的方法进行推理的问题。
作者描述了一个集成框架 PullNet,用于(1)学习(从 KB 或语料库中)检索什么,以及(2)使用这种异构信息进行推理以找到最佳答案。PullNet 使用迭代过程来构造特定于问题的子图,该子图包含与问题相关的信息。
概览 问题子图初始的顶点集是问题中提到的实体列表,边集为空。然后算法迭代地扩展,直到它包含可以回答问题的信息。
作为一个迭代搜索算法,PullNet 看起来似乎与 BFS 有点类似?这里其实一个节点被扩展是有条件的,并且这里不是在图上直接扩展来搜索,而是利用两个数据源获得一个实体结点的邻居节点。
Pull 操作 pull 操作要么从一个知识源检索信息,要么从事实或文档提取实体。
两个提取操作相对来说是比较简单的。pull_entities
操作需要输入一个文档节点,调用实体链接器,返回所有该文档节点中提到的实体。pull_headtail
操作需要输入一个事实节点,返回该事实的头实体和尾实体。
pull_docs
操作从语料库检索相关文档。作者使基于 IDF 的检索系统 Lucene,并且假设所有句子在索引之前都已经被实体链接。被检索到的文档被约束为链接实体
,通过与
的 IDF 相似度进行排序。只有排序为
的文档被返回。
pull_facts
操作从知识库检索关于
的
个事实。被检索到的事实要求其头实体或尾实体是
,并基于事实和关系之间的相似度进行排序。问题通过 LSTM 获得向量表示,然后使用二者内积传递到 sigmoid 函数中作为相似度表示。
分类操作classify
操作有两类,应用于问题子图的节点上。这两种操作只用于图上的实体节点,但它们基于由图 CNN 计算到的节点表示,因而非实体节点和边也影响了分类结果。子图构建过程中,classify-pullnodes
操作返回节点应该在下一迭代被扩展的概率,算法在每一迭代选择具有最高概率的 k 个节点。
子图完成后,classify_answer
预测一个实体节点是否是问题的答案。具有最高分数的节点被返回为最终答案。作者使用了和 GRAFT-Net 一样的 CNN 结构来做分类。
update
操作取前一迭代的问题子图,并通过加入新检索到的实体节点、文本节点和事实节点来更新。在文本节点和事实节点上执行 pull 操作时会衍生出一些新的边,而其他新边可能会将新添加的节点与上一个子图中已经存在的节点连接起来。
作者只通过问题-答案对来训练 PullNet,即回答问题所需的实际推理链是潜在的而不是显式的。因此,需要使用弱监督来训练上述分类器和相似性分数。
论文标题:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings
论文来源:ACL 2020
论文链接:https://www.aclweb.org/anthology/2020.acl-main.412
代码链接:https://github.com/malllabiisc/EmbedKGQA
多跳 KGQA 需要对 KG 的多个边进行推理才能得出正确的答案。KG 通常是不完整的,缺少许多链接,这给 KGQA 尤其是多跳 KGQA 带来额外的挑战。
作者在该文中提出了 EmbedKGQA,在执行稀疏 KG 上的多跳 KGQA 方面特别有效。它放宽了从预先确定的邻域中选择答案的要求,而这是以前的多跳 KGQA 方法实施的约束。
4.1 知识库问答的常见数据集
Complex WebQuestions:一个包含复杂自然语言问题的数据集。其中包含四种问题类型,组合(45%),连词(45%),比较(5%)和最高级(5%)。这些问题需要在知识库中进行多达 4 步的推理,而在语料库上则需要进行 2 步推理。
上表实验数据来自于 EmbedKGQA 在 MetaQA 数据集上的实验。可以看出 GraftNet、PullNet 与 EmbedKGQA 在 2-hop 以内的表现都相当好,但是在知识库存在较多缺失链接的时候,EmbedKGQA 的优势显现出来。
更多阅读
#投 稿 通 道#
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
📝 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
📬 投稿邮箱:
• 投稿邮箱:hr@paperweekly.site
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。