带你轻松入门知识图谱多跳问答,一篇文章搞定!

访客 116 0

点击下面卡片关注我呀,每天给你送来AI技术干货!

带你轻松入门知识图谱多跳问答,一篇文章搞定!-第1张图片-谷歌商店上架

作者 | 蔡健宇 改为: 文 | 蔡健宇

MIRA Lab | 来自

一、简介

1. 什么是问答?

问答(Question Answering)是自然语言处理(Natural Language Processing)领域的一个关键研究方向。该领域的研究者致力于开发一种系统,能够自动回答人类以「自然语言形式」提出的问题。

问答研究的成果已经深入到我们每个人的日常生活中。比如说,当你早上醒来向你的智能语音助手询问“今天天气怎么样”的时候,它会回答你:“今天是晴天,温度在15-22摄氏度之间。”

与传统的信息检索和数据库检索不同,问答领域专注于研究以自然语言形式提出的问题,而不是结构化查询语言。这种方法更贴近日常生活中的应用场景。然而,由于自然语言的模糊性,准确理解问题变得困难重重。

在问答领域中,数据源的多样性是不可忽视的。无论是结构化的知识图谱还是无结构的文本,在不同场景下都可能成为潜在的数据源。因此,研究针对不同数据源相应推理算法已成为当前问答领域备受关注和探索的热门方向之一。

因此,归纳起来,要构建一个高质量的问答系统,关键在于:

  • 准确的问题理解技术

  • 针对不同的数据源设计合适的推理算法

本文将重点介绍知识图谱问答场景,其中以「知识图谱」作为主要数据源。首先,我们将回顾与定义相关的知识图谱概念。

2. 什么是知识图谱 ?

知识图谱是一种以多关系有向图的形式存储人类知识的数据结构。在知识图谱中,每个节点都代表一个实体,而两个节点之间的有向边则表示它们之间的关系。举例来说,姚明和上海分别是两个实体,在它们之间存在着出生于这样一种关系。因此,一个由三元组组成的事实可以通过这样的方式在知识图谱中表示出来。

作为问答系统的数据源,结构化的知识图谱以一种更加清晰、准确的方式呈现人类知识,相较于无结构的文本数据,它为高质量问答系统的发展提供了前所未有的机遇。

3. 什么是知识图谱问答?

“知识图谱问答(Question Answering over Knowledge Graphs)是指利用知识图谱作为主要数据源进行问答的场景。通过对给定问题进行基于知识图谱的推理,我们能够得到准确的答案。这项技术已经在相关智能搜索和推荐业务中被广泛应用,其中最著名的就是谷歌搜索引擎。”

举个例子,对于一个相对简单的问题“姚明的出生地是哪里?”谷歌利用知识图谱中的三元组得到答案为这一实体。

带你轻松入门知识图谱多跳问答,一篇文章搞定!-第2张图片-谷歌商店上架 图 1:谷歌搜索引擎基于知识图谱对于简单问题的回答

对于更加复杂的问题,例如“成龙的父亲的出生地是哪里?”,谷歌可以通过知识图谱中多个三元组来获取答案。例如,根据三元组“成龙、父亲、房道龙 (Charles Chan)”和“房道龙、出生地、和县”,我们可以得到实体答案是“和县”。

带你轻松入门知识图谱多跳问答,一篇文章搞定!-第3张图片-谷歌商店上架 图 2:谷歌搜索引擎基于知识图谱对于复杂问题的回答

接下来,为了更好地介绍知识图谱问答领域的发展,我们需要先明确几个基本概念:

  • 「主题实体」是指问题中出现的实体。举例来说,对于问题“姚明的出生地是哪里?”,我们可以通过字符串“姚明”来确定主题实体为,它也是后续推理流程的起点。在理论上,一个问题中可以有多个主题实体,但在后面介绍的知识图谱多跳问答领域中一般假设一个问题只有一个主题实体存在。

  • 在多跳问答领域中,我们通常假设问题的答案是知识图谱中的一个实体。举个例子,对于问题“中国在北京奥运会获得的金牌有多少枚?”来说,答案是一个数字。然而,在后面介绍的知识图谱多跳问答领域中,我们一般假设问题的答案是知识图谱中存在的一个实体,也就是所谓的“答案实体”。

二、知识图谱问答的发展简史

在接下来的内容中,我们将简要介绍知识图谱问答的发展历史,从两个方面进行阐述。

就问题的难易程度而言,知识图谱问答领域的发展可以分为两个阶段:早期的Simple QA和当前主流的Complex QA。

在知识图谱问答领域的工作中,根据建模方式的不同,可以将其分为两个流派:「语义解析」(Semantic Parsing)和「信息检索」(Information Retrieval)。

1. 问题难度:Simple QA & Complex QA

(1). Simple QA

在知识图谱问答领域的初期发展阶段,研究者们主要集中于简单的场景,即 Simple QA [1, 2, 3]。Simple QA 研究关注那些可以通过单个三元组进行推理得出答案的问题,这类问题也被称为 Simple Questions。

例如,对于 “姚明的出生地是哪里?” 这一问题,我们可以通过知识图谱中的单个三元组  <姚明,出生于,上海> 得到答案是 <上海> 这个实体。

(2). Complex QA

在对Simple QA场景进行了一段时间的研究后,已经涌现出了许多成熟且实用的方法。因此,研究者们开始转向探索更为复杂的问题(Complex Questions)。这些问题更贴近实际应用中的复杂场景,因此这个研究方向也被称为Complex QA [4, 5]。

简而言之,Complex Questions 是 Simple Questions 无法回答的问题。这些问题不能仅通过一个三元组来解决。在研究中,研究者们主要关注以下类型的问题:

  • 「有限制的问题」:例如:“第一届温网男单冠军是谁?”这个问题中的“第一届”限定了答案的范围。

  • 「多跳问题」:例如,通过多个三元组形成的推理路径,我们可以回答成龙主演电影的导演是哪些人。举例来说,通过以下三元组:和,我们可以得出结论: 是一个正确答案。

在本文的后续部分,我们将详细介绍知识图谱多跳问答这一研究场景。

2. 建模方式:Semantic Parsing & Information Retrieval

(1). Semantic Parsing

语义解析(Semantic Parsing)的方法旨在将问题转化为可执行的图数据库「查询语句」(例如SPARQL),通过执行这些查询语句来找到答案。

对于简单问题,语义解析类方法的目标是将问题解析为一个头实体和一个关系。

对于复杂问题,语义解析类方法会将其解析为一种查询图(Query Graph)[4]。举例来说,针对“成龙第一部主演的电影的导演是谁?”这个复杂问题,我们可以将其解析为以下查询图。

带你轻松入门知识图谱多跳问答,一篇文章搞定!-第4张图片-谷歌商店上架 图 3:语义解析类方法示意图

我们执行这张查询图所表示的查询语句时,首先会找到所有由成龙主演的电影。

(2). Information Retrieval

信息检索 (Information Retrieval) 类方法的目标是从问题和候选答案中提取特征,并根据这些特征设计相应的打分函数来衡量问题-候选答案的语义相关性。最终,得分最高的候选答案将被作为预测答案输出。下图展示了信息检索类模型的处理流程。

带你轻松入门知识图谱多跳问答,一篇文章搞定!-第5张图片-谷歌商店上架 图 4:信息检索类方法示意图

三、知识图谱多跳问答

在本节中,我们将结合一些重点工作,对于“知识图谱多跳问答”这个方向进行介绍。从问题的难易程度的角度来看,多跳问答属于复杂问题回答(Complex QA)领域。而从模型的流派角度来看,在多跳问答这个方向中,信息检索是主流模型所采用的流派。因此,在接下来的内容中,我们也将重点结合信息检索这一流派进行介绍。

通俗来说,多跳问题是指那些需要进行多次推理才能回答的问题。比如,如果要回答“成龙主演电影的导演是哪些人?”这个问题,就需要通过多个三元组所形成的推理路径和才能得出答案。

这种类型的问题在实际应用中十分普遍,但想要构建出一个高准确率的知识图谱多跳问答系统却并非易事。下图展示了一个谷歌搜索中的 Bad Case。

我们尝试在谷歌搜索中输入以下问题  ”姚明的妻子的父亲的出生地是哪里?“。对于该问题,正确的推理路径为 姚明 妻子 父亲 出生地 。但是,谷歌却错误地将问题解析成了以下推理路径 姚明 父亲 妻子 出生地 。由于姚明的母亲(父亲的妻子)是方凤娣 (Fang Fengdi),谷歌将她的出生地作为答案返回。由此可见,知识图谱多跳问答是一个极具挑战性的任务。

带你轻松入门知识图谱多跳问答,一篇文章搞定!-第6张图片-谷歌商店上架 图 5:谷歌搜索引擎对于复杂问题的错误回答案例

下面是改写后的段落: 在接下来的内容中,我们将结合近年来的几个重要工作,对知识图谱多跳问答领域的发展进行介绍。在文章开篇的简介中,我们提到构建高质量问答系统有两个关键点:问题理解和推理算法。而知识图谱多跳问答也不例外。接下来要介绍的几篇工作正是围绕这两个关键点展开研究的。

(1). VRN:端到端的问题理解

在知识图谱问答中,问题理解的首要任务是确定问题中的主题实体(Topic Entity)。以之前的例子“姚明的出生地是哪里?”为例,我们通过识别字符串“姚明”来确定主题实体为,这也成为后续推理流程中推理起点。

以前的一些工作采用文本匹配的方法来识别主题实体。然而,在实际应用中,这种方法容易受到噪声的影响(例如自然语言的模糊性和错别字)。在这些情况下,如果我们将知识图谱问答分为两个独立阶段:主题实体识别和知识推理,那么在主题实体识别阶段产生的错误往往会传递到知识推理阶段,并严重影响最终预测结果。

为了解决这一问题,VRN [5] 提出了一个端到端的框架,将主题实体识别和知识推理两个模块融合在一起。通过这种方式,训练过程中的损失会直接反馈到主题实体识别模块,从而帮助更准确地在噪声环境中识别正确的主题实体。

为了实现 ”端到端“ 这一目标,VRN 进行了以下概率建模。对于给定的问题 ,它的正确答案是实体 的概率表示为 。问题 中的主题实体是实体 的概率表示为 。给定主题实体是 的情况下,问题 的答案是 的概率表示为 。从而得到,

其中 表示的是实体识别这一流程, 表示的是知识推理这一流程。本质上,VRN 是将主题实体 建模为隐变量,然后以全概率公式的形式表示 。

下面将介绍三个工作,它们的研究重点是推理算法。具体而言,这些工作主要致力于在真实场景中的知识图谱中解决「链接缺失」(即不完整)问题,并对推理算法进行深入研究。

(2). GraftNet: 基于多源数据的问答

在真实应用场景中,知识图谱常常存在链接缺失的问题。也就是说,一些正确的事实三元组没有被包含在知识图谱中。而这些缺失的三元组可能对于准确回答给定问题非常重要。

为了应对这一问题,GraftNet [7] 采取了以下举措:

  1. 将无结构的文本数据作为补充,以丰富结构化的知识图谱数据。

  2. 我们提出了一种名为图神经网络模型 (GNN) 的方法,它能够在混合类型的文本和知识图谱数据上进行推理,并得出答案。

GraftNet将无结构的文本数据视为一个节点,并将其融入知识图谱结构中。如果文档中包含某个实体,GraftNet会对该实体进行处理。

带你轻松入门知识图谱多跳问答,一篇文章搞定!-第7张图片-谷歌商店上架 图 6:GraftNet 多源数据融合示意图 [7]

基于知识图谱和文档数据构建的图结构,GraftNet 开发了一个用于推理的 GNN。其大致流程如下:

  1. 对给定的问题 (假定主题实体 已知),使用 Personalized PageRank (PPR) 算法提取出以 为中心的子图。最终的候选答案实体便被限定在该子图中,这个子图中实体的集合也就是候选答案集合。

  2. 通过多层GNN的迭代更新,可以使得图中的每个节点能够感知到多跳邻居的信息,并基于更新后的实体表示计算每个候选实体的得分。更多详细内容请参考原文[7]。

关于为何需要裁剪子图,原因在于实际应用中知识图谱的实体数量过于庞大。如果将所有实体作为候选答案集合,将极大增加寻找正确答案的难度。因此,在提前对实体进行筛选时,只保留与问题相关的一小部分实体作为候选答案是一个明智之举。

(3). PullNet: 动态子图拓展

尽管GraftNet取得了可观的效果,但该方法仍然存在一些问题。举例来说,为了减小候选答案实体集合的规模,GraftNet采用PPR算法提取以主题实体为中心的子图。然而,这些子图往往过于庞大,并且有时并未包含正确答案[8]。

为了解决这一问题,PullNet [8] 提出了一种动态的子图拓展方法。具体地,该算法将子图初始化为主题实体,并采用了一种基于主题实体的动态扩展策略。

在图7中,展示了PullNet和GraftNet在子图提取方面的优势。横轴表示提取出的子图大小(即子图中的实体数量),纵轴表示正确答案实体的召回率,即正确答案被包含在子图中的百分比。其中,PageRank-Nibble代表GraftNet所使用的子图提取方法。 以左侧MetaQA (3-hop)数据集为例,如果GraftNet想要达到约0.9的召回率,则需要将子图中的实体数量增加至约500个左右。而PullNet只需动态地拓展出大约65个实体数量大小的子图,就能轻松达到0.983 的召回率。

带你轻松入门知识图谱多跳问答,一篇文章搞定!-第8张图片-谷歌商店上架 图 7:正确答案实体召回率 (y-轴) 与子图大小 (x-轴)关系示意图 [8]

(4). EmbedKGQA: 基于链接预测思路的问答方法

与 GraftNet 和 PullNet 使用图神经网络(GNN)进行推理的方法不同,EmbedKGQA [9] 利用了知识图谱链接预测的思路,以实现在缺失链接的知识图谱上进行推理。

知识图谱链接预测指的是给定一个三元组中的头实体(或尾实体)与关系,对尾实体(或头实体)进行预测的任务,即 (h, r, ?) 或 (?, r, t)。给定一个问题 ,EmbedKGQA [9] 将该问题中的主题实体 看做头实体,将问题 看做一个关系,要预测的尾实体则是该问题的答案。也就是说,EmbedKGQA 将多跳问答建模成   。

尽管这种思路简单,但却非常有效。总的来说,在知识图谱链接缺失的情况下,GraftNet和PullNet从数据的角度出发,采用了一种“补全”知识图谱的方法,并为处理这种混合类型数据设计了专门的推理算法。而EmbedKGQA则从模型的角度出发,直接借鉴了链接预测这一成熟建模思路。

四、总结

构建高质量问答系统的关键在于准确理解问题和设计适合数据源的推理算法。最近,知识图多跳问答方面的研究主要集中在如何准确识别问题中的实体。而从推理算法角度来看,最近的研究主要关注两个方面:1) 如何减少候选实体集合大小,并同时降低对正确答案召回率的影响;2) 如何在缺失链接的知识图谱上进行推理。

Reference

[1] Berant, Jonathan et al. “Semantic Parsing on Freebase from Question-Answer Pairs.” EMNLP (2013).

[2] Yih, Wen-tau et al. conducted a study titled Semantic Parsing for Single-Relation Question Answering which was published in ACL (2014).

[3] In 2015, Bordes, Antoine et al. published a paper titled Large-scale Simple Question Answering with Memory Networks in the ArXiv (abs/1506.02075).

[4] Yih, Wen-tau et al. “Question Answering with Knowledge Base: Semantic Parsing via Staged Query Graph Generation.” ACL (2015).

[5] Zhang, Yuyu et al. published a paper titled Variational Reasoning for Question Answering with Knowledge Graph in AAAI (2018).

[6] Miller, Alexander H.等人。“用于直接阅读文档的键值记忆网络。” EMNLP(2016年)。

[7] Sun, Haitian et al. conducted a study titled Open Domain Question Answering Using Early Fusion of Knowledge Bases and Text which was published in EMNLP (2018).

[8] Sun, Haitian et al. conducted a study titled PullNet: Open Domain Question Answering with Iterative Retrieval on Knowledge Bases and Text which was published in EMNLP (2019).

[Saxena, Apoorv et al. published a paper titled Enhancing Multi-hop Question Answering on Knowledge Graphs through Knowledge Base Embeddings in ACL (2020).]

请注意:本文中的封面图部分来源于 http://people.virginia.edu/~jl6qk/sp20-graph-mining/lec2.pdf。 注:本文中的封面图部分选自 http://people.virginia.edu/~jl6qk/sp20-graph-mining/lec2.pdf。

蔡健宇,毕业于东南大学,2019年获得工学学士学位。目前在中国科学技术大学电子工程与信息科学系的MIRA Lab实验室攻读研究生,师从王杰教授。他的研究兴趣主要集中在知识表示与知识推理领域。

请谈一些实质性的事情吧。

鉴于微信平台算法的改版,公众号内容将不再按照时间顺序展示。为了确保大家能够第一时间收到我们的推送,请大家务必将我们的公众号标记为星标,并多多点击【在看】按钮。具体操作步骤如下:

点击页面顶部的“深度学习自然语言处理”,即可进入公众号主页。

点击右上角的小点点,然后在弹出页面选择“设为星标”,就可以了。

感谢支持,比心带你轻松入门知识图谱多跳问答,一篇文章搞定!-第9张图片-谷歌商店上架

欢迎投稿或加入学习交流,备注格式为昵称-学校(公司)-方向,并加入DL&NLP交流群。

有许多不同的方向可以选择,包括机器学习、深度学习、Python编程、情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱和语音识别等。

带你轻松入门知识图谱多跳问答,一篇文章搞定!-第10张图片-谷歌商店上架

记得备注呦

点击上方卡片,关注我吧!每天都会为你推送AI技术的干货哦~

整理不易,还望给个在看!

标签: 图谱 实体 谷歌搜索引擎 知识

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~