其他分享
首页 > 其他分享> > KGQA/KBQA综述

KGQA/KBQA综述

作者:互联网

参考1参考2

  1. 关于KGQA和KBQA的关系

  2. 目录

    目录

    该长文沿用短文的叙述角度,将复杂知识图谱问答方法总结为基于语义解析 (Semantic Parsing-based; SP-based) 的方法和基于信息检索 (Information Retrival-based; IR-based) 的方法。从挑战和解决策略的角度讨论现有的复杂知识图谱问答工作。和原短文相比,该长文将内容从扩展到20页。该长文归纳了更多的论文,主要板块加入了更深入讨论和更多实例细节以及图示表达,另增加了背景知识介绍和技术总结板块。

    1、论文引入

    相比仅包含单个关系事实的简单问题,复杂问题通常有以下几个特征。我们以文中的例子 “谁是杰夫·普罗斯特秀提名的电视制片人的第一任妻子?” 为例:

    直接将传统知识图谱问答模型运用到复杂问题上,不管是基于语义解析的方法还是信息检索的方法都将遇到新的挑战:

    2、背景知识介绍

    传统的知识图谱问答系统通常有图1的结构。第一步是实体连接 (entity linking),即识别问题 q 中的主题并且映射到知识图谱 \(\mathcal{G}\) 中的主题实体 eq。接下来的步骤是预测答案 \(\tilde{A}_{q}\)。预测答案传统的方法主要分为两类。

    通常评估知识图谱系统的方法是考核预测的准确度,如:\(\text { Precision, F1, Hits@1 }\) 等。但更多方面的考核,如:鲁棒性,系统用户交互的能力等,也是需要被注意到的。我们针对这三个方面的评估方法进行了较为详细的总结。

    3、两类主流方法

    为了方便读者对两类方法的理解,我们公式化地总结了两类主流方法的各个模块。

    基于语义解析(SP-based)的方法

    (1)问题理解 (question understanding) 模块将自然语言的问题编译成分布式表达,结构化表达或者他们的结合。

    \[\tilde{q}=\text { Question_Understanding }(q) \]

    通常情况下,神经网络(如:LSTM, GRU等)可被直接用于问题解析。与此同时,语义解析工具可被用来获取问题的结构特征。

    (2)逻辑解析 (logical parsing) 模块将编译好的问题转化成解析式。

    \[\bar{l}_{q}=\text { Logical_Parsing }(\tilde{q}) \]

    这一步的实现可以是运用Seq2seq的模型生成一系列字符 (token) 组合成解析式。也可以是基于规则生成一系列候选解析式再将他们排序。

    (3)知识图谱实例化 (KB grounding) 模块将生成的解析式实例化得到可执行语句。

    \[l_{q}=\mathrm{KB}_{-} \text {Grounding }\left(\bar{l}_{q}, \mathcal{G}\right) \]

    通常情况下,lq 包含了主题实体 eq。在有些工作中,(2)和(3)可以同步进行。

    (4)知识执行 (KB execution) 模块执行得到的可执行语句,召回答案。

    \[\tilde{\mathcal{A}}_{q}=\text { KB_Excution }\left(l_{q}\right) \]

    基于语义解析 (SP-based) 的方法的训练目标是产生符合问题语义的解析式并且能够执行得到正确答案。

    基于信息检索(IR-based)的方法

    (1)子图构建 (retrieval source construction) 模块将从主题实体 [公式] 出发,在知识图谱全图中抽取与问题相关的子图。

    \[\mathcal{G}_{q}=\text { Retrieval_Source_Construction }(q, \mathcal{G}) \]

    抽取的子图大小会随着抽取信息距离主题实体的距离增大呈指数增加。已有方法如 GraftNet 等通过 Personalized pagerank 保留重要实体控制子图大小。

    (2)问题表达 (question representation) 模块将自然语言的问题 q 编译成分布式表达 q],再结合其他方法生成指令。

    \[\mathbf{i}^{(k)}=\text { Question_Representation }\left(\mathbf{i}^{(k-1)}, q, \mathcal{G}_{q}\right) \]

    这里,\(\left\{\mathbf{i}^{(k)}, k=1, \ldots, n\right\}\)是第k 步推理得到的向量,该向量蕴含了问题在该步的指令。

    (3)基于图结构的推理 (graph based reasoning) 模块将在指令的指导下在抽取的子图中做传送和增强。推理过程将会产生推理状态向量 \(\left\{\mathbf{s}^{(k)}, k=1, \ldots, n\right\}\)。该向量在具体方法中定义有所不同,如:预测实体的分布,关系的表达等。

    \[s^{(k)}=\text { Graph_Based_Reasoning }\left(s^{(k-1)}, \mathbf{i}^{(k)}, \mathcal{G}_{q}\right) \]

    一些最新的工作重复(2)和(3)来实现显性的多步推理。

    (4)答案排序 (answer ranking) 模块将第n 步推理状态向量用于最终的答案预测,排序高的实体被作为预测实体。

    \[\tilde{\mathcal{A}}_{q}=\text { Answer_Ranking }\left(s^{(n)}, \mathcal{G}_{q}\right) \]

    已有的工作通常会通过超参数阈值来选取预测答案实体。

    基于信息检索的方法训练目标是让正确的答案实体排序高于其他实体。

    4、挑战和解决策略

    当处理复杂问题时,基于语义解析 (SP-based) 和信息检索 (IR-based) 的方法不同模块会遇到相应的挑战。相关的工作也针对这些挑战提出了解决策略。对于这个问题,我们努力尝试在论文中给了一个尽可能清晰的梳理,大家可以参考论文中的表格(表1)去理解。

    5、技术总结

    除了讨论挑战和解决策略之外,我们列举了 Complex KBQA 方法用到的具体特征和技术。

    6、研究展望

    不断进化的知识图谱问答系统

    目前的知识图谱问答系统通常是在线下进行训练然后部署到线上。然而,大部分已有的知识图谱问答系统都会忽略线上部署后对新实例的学习。与此同时,外部知识在不断进化,一个知识图谱问答系统应该能够在线上部署之后不断进化的。目前有少量的工作关注到这一块。比如引入连续学习 (continuous learning) 的框架。当知识图谱问答系统遇到没见过的问题时,他们可以先将其和系统中已有的训练问题进行比对,召回最相似问题的解析式,让用户从中选出有效的解析式加入到训练数据中。再如让用户直接参与到系统中,当用户提出没见过的问题或者包含歧义的问题时,系统给出一些候选的消歧后的问题供用户选择。

    鲁棒的知识图谱问答系统

    已有的知识图谱问答研究大部分是在一种理想情况下展开的,然而真实场景下,数据可能会严重缺失或者不足。现有少量工作聚焦数据不足时,用元学习 (meta learning) 训练知识图谱问答系统,以及用无监督的双语词典归纳 (bilingual lexicon induction) 技术对低资源 (low-resource) 数据进行增强。与此同时,有一部分工作对分布外异常 (out-of-distribution) 的问题开展了研究。他们提出了 CFQ 和 GrailQA 数据集促进这方面的未来研究。

    更加一般定义的知识图谱

    有一些任务,如:视觉问答 (VQA), 常识知识推理 (Commonsense Knowledge Reasoning) 可以被看作是在一种特殊的知识图谱上做推理。比如有部分工作将阅读理解的任务中的文本看做虚拟的知识图谱,然后在上面做推理。除了显性地在任务中构建知识图谱,有部分工作将其他任务看作隐性的知识图谱。近年来较为突出的是,部分研究者将预训练语言模型作为特殊的知识库,认为其具有储存知识和推理的能力。

    对话型知识图谱问答

    对话型的知识图谱问答是新兴的任务。在单轮的问答之后,用户会围绕该主题提出一系列问题。目前对于对话型知识图谱问答的研究主要是针对如何判断后续问题的主题展开的。用户提出的问题间将具有某一些联系,而不是独立存在。对历史问题进行记忆和理解有助于回答当前问题。同时,为了减少对话问答带来的搜索空间增大的困难,也有部分工作在这个方向进行了简单的探索。

    写在最后。与Complex KBQA很多相关的方向和任务都非常值得探索。希望我们的综述能为大家提供一个全面的梳理,抛砖引玉,方便大家做出更多的贡献。

    标签:based,综述,图谱,知识,KGQA,KBQA,方法,解析,问答
    来源: https://www.cnblogs.com/xyzhrrr/p/15939578.html