CIKM 2020 | 知识库问答复杂问题的分层查询图生成方法
©PaperWeekly 原创 · 作者|舒意恒
学校|南京大学硕士生
研究方向|知识图谱
导读
本文讨论知识库问答(KBQA)中查询图生成的强化学习方法。给定一个自然语言问题,知识库问答尝试自动从存储有实体间关系的知识库中获取答案。对于一个复杂问题,查询图生成是一种常见的基于语义解析的方法。其中,查询图指对问题的一种抽象的图表示。
作者认为现有方法通常依赖有限的规则,使得他们无力应对更加复杂的问题。该文提出一个类似于”导演-演员-影评者“的框架,以克服这一问题。其中,导演决定查询图需要的三元组类型,演员通过选择结点和边生成相应的三元组,影评者计算生成的三元组和给定问题之间的相似度。
通常,知识库问答的监督信息仅主要包括自然语言问题及其在知识库中的答案,而多步骤的查询图生成方法难以在中间过程的每步中都包含监督信息,它通常是弱监督的。因此,作者将该算法框架置于分层的强化学习之上。
论文标题:
Hierarchical Query Graph Generation for Complex Question Answering over Knowledge Graph
论文链接:
http://www.bigdatalab.ac.cn/~jinxiaolong/publications/CIKM2020QiuZ.pdf
方法
2.1 查询图
查询图是用于图表示的一类特定的 λ-演算,可以被翻译为可执行查询语言,例如 SPARQL。在作者设计的查询图中,三元组被分为五种类型:
基础(basic):三元组的边是 KG 中的谓词(关系),三元组头尾实体是 KG 中的结点(链接或未链接到知识库)
合并(union):边同样是 KG 中的谓词,但其中两个结点可以被超过一条边相连,三元组之间通过 逻辑或 相连
过滤(filter):数值或时间比较,包括 <, ≤, >, ≥, =, ≠ 等关系
序数(ordinal):头实体需要被排序,边表示排序是升序或降序
聚合(aggregation):边表示聚合函数,包括 count、limit 等
通过这几类三元组,生成的查询图具有基本的处理排序、计数等问题的能力。后文所提到的“选项”,即模型选择这些三元组类别中的一种进行生成。
2.2 “导演-演员-影评者”框架
强化学习的常见形式是马尔科夫决策过程(MDP),它是智能体(agent)与环境(environment)的交互过程。其中,智能体是学习者和决策者,环境包含了智能体之外的所有元素。
由于知识库是由三元组组成的这一特性,作者将查询图生成描述为关于选项(option)的 MDP,每一个选项表示生成对应类型的三元组。不同于传统的 MDP,通过选项,智能体能够一次选择多步动作。
该框架包含三个模块,作者将它们比喻为“导演”、“演员”和“影评者”:
导演根据当前状态 ,选择一个选项 ,确定何种类型的三元组是需要的。
演员根据当前状态 和选项 ,选择一个动作 . 选项 会在后续几个时间步中被保留,直到被实现。
影评者计算新生成的三元组和问题之间的相似度,以负责评估 是否被实现
而通过选择这些选项(即选项在后续时间步中有停留),执行到终止状态,所形成的决策过程,被称为半马尔科夫决策过程(Semi-MDP, SMDP)。这一决策过程的主要组件包括:
2.2.1 状态
时间步 的状态 是一个元组,其中 是给定问题, 在时间步 的决策历史。对于导演来说,决策历史是当前的查询图;对于演员来说,它包含当前选项选择的原始动作(primitive actions)。
2.2.2 选项
一个选项包含三个组件:
初始状态集 ,包含一个选项可以被初始化的状态
选项内策略 ,为一个选项选择原始动作
终止条件 指定选项是否已完成
如果一个选项开始执行,原始动作将根据 被选择,直到选项根据 终止。
2.2.3 原始动作
对于每个选项,有三类原始动作:1)在现有查询图中,选择已有结点;2)根据选项,添加谓词或边;3)连接新生成的结点和已有结点
对于不同的三元组选项,作者对原始动作施加的约束也不同。
2.2.4 奖励函数
因为只有最终的答案作为弱监督,预测答案的 F1 值被作为外部奖励,且仅有三元组选项而不是原始动作被奖励。
2.3 常量结点链接
一个常量结点表示一个已链接的 KG 实体或类型,它的形式可以是给定一个问题中的时间或数值信息。对于一个给定的自然语言问题,该文的方法首先识别这类常量结点。
实体链接:借助于 S-MART [2](一个著名的知识库实体链接工具)生成 (mention, entity)对。
类型链接:通过 Stanford CoreNLP toolkit [3] 对问题中的每个单词进行词性标注,抽取所有的名词与专有名词。包含 KG 类型同义词的单词被选出构建(mention, type)对。
时间和数值链接:使用 CoreNLP 的命名实体识别工具,获得候选时间结点或数值结点。
2.4 问题与图编码
对于问题编码,作者使用一个双向 GRU 网络将自然语言问题转换为向量。
对于图编码,作者考虑到查询图是动态更新的,使用图神经网络对查询图进行编码的开销可能过高,因为每次都需计算邻接矩阵。
作者所使用的图编码器包含两个模块:
1 个 LSTM 网络分别编码查询图中的所有三元组;一个查询图可以视为由多个三元组构成
transformer 模型捕获三元组之间的交互,以及在没有邻接矩阵的情况下,生成整个图的表示
为了获得图表示,所有的三元组被编码。编码不同三元组的 LSTM 是独立的,三元组之间的关系没有被显式表示。为从全局获得多个三元组的组合语义,transformer 被应用到三元组表示上。通过自注意力机制,编码器权衡各三元组的重要性,并更新查询图中所有三元组的表示。
此处还值得讨论的是,使用预训练的词嵌入或知识图谱嵌入能否相比于使用 GRU 学习嵌入获得更优的表现。
2.5 分层决策
导演和演员的搜索策略是通过状态信息和决策历史学习到的。在每个时间步 ,导演接受状态 ,并根据计算到的概率分布选择选项。每个选项都被分配一个稠密嵌入向量,选项空间通过堆叠所有可用选项的嵌入编码得到。
当导演选择选项之后,演员选择一系列原始动作来完成选项。决策历史包含当前的查询图和在选项 中选择的原始动作。动作空间通过堆叠所有可用动作的嵌入编码得到。
当一个三元组被生成并被添加到查询图之后,选项 终止,导演选择新的选项。当决策过程完成时,答案可通过生成的查询图获得。算法框架整体如图中算法 1 所示。
实验
作者在 WebQuestions 和两个同名的 ComplexQuestions 数据集上进行实验,其中部分对比算法列举在了文末的“延伸阅读”中。在文中实验,该算法取得了 SOTA。
在测试问题当中,56.8% 的问题包含一个三元组选项(查询图中包含一个三元组),其他问题包含两个或更多三元组,且 F1 随选项数量的变化较为稳定,表明其具有一定的复杂问题处理能力。
小结
人工智能从感知到认知的迈进,需要更多知识图谱推理的相关研究。本文采取强化学习的思路,改进当前的复杂问题查询图生成方法。
该文所提出的三个模块,即导演、演员和影评者,实际上对应了使用强化学习生成复杂问题查询图的分层决策过程:1)选择待执行的选项;2)选择选项内的动作;3)判断选项是否完成。
而执行一个选项(option),实质上对应了向查询图中添加单个三元组的信息的过程。对于一个 MDP,一步动作直接完全处理整个三元组可能是不现实的,而仅仅处理单个结点或边,又可能无法将动作与三元组很好关联起来。
而后者正是多数现有方法的缺陷。通过选项-动作(option-action)这个分层决策的过程,可以将对一个三元组的处理拆分为三个动作(可分别对应于 s、p、o)实现。
该强化学习算法的外部奖励,来自于三元组选项而不是原始动作,一定程度解决了以往方法中没有建模动作之间存在的关系的问题,即关于一个三元组的动作被关联了起来。
个人认为,构成一个查询图的若干三元组,实际上一定存在显式可表示的关联,至少查询图不可能包含一些没有相连的三元组。而该文所使用的图表示方法,三元组之间的关系仅仅通过 transformer 进行捕获,似乎难以解释三元组之间的关联。
另外,知识图谱嵌入(KGE)已经应用于三元组分类(triple classification)任务中,是否在图编码部分引入 KGE 能够增强模型判断一个三元组是否合理的能力?
作者重点讨论了关于查询图的图表示并取得 SOTA,但似乎少有研究关注于问题表示的设计,如何设计与查询图生成方法更契合的问题表示方法,或许是一项开放问题。
在未来,作者计划研究减缓外部链接工具带来的错误,而知识库问答中,如何识别问题中的 KG 关系仍然是一项挑战。
参考文献
[1] CIKM 2020 | Hierarchical Query Graph Generation for Complex Question Answering over Knowledge Graph
[2] ACL 2015 | S-MART: Novel Tree-based Structured Learning Algorithms Applied to Tweet Entity Linking
[3] ACL 2014 | The Stanford CoreNLP Natural Language Processing Toolkit
扩展阅读
知识库问答的查询图生成:
STAGG,ACL 2015,Semantic Parsing via Staged Query Graph Generation: Question Answering with Knowl- edge Base
QUINT,WWW 2017 | Automated Template Generation for Question Answering over Knowledge Graphs
STF,EMNLP 2018,A State-transition Framework to Answer Complex Questions over Knowledge Base
CompQA,EMNLP 2018 | Knowledge Base Question Answering via Encoding of Complex Query Graphs
NFF,TKDE 2018 | Answering natural language questions by subgraph matching over knowledge graphs
Tree2Seq,Neurocomputing 2020,Knowledge-based question answering by tree-to-sequence learning
更多阅读
#投 稿 通 道#
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
???? 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
???? 投稿邮箱:
• 投稿邮箱:hr@paperweekly.site
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
????
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。
CIKM 2020 | 知识库问答复杂问题的分层查询图生成方法相关推荐
- 论文浅尝 - ACL2020 | 用于回答知识库中的多跳复杂问题的查询图生成方法
论文笔记整理:谭亦鸣,东南大学博士. 来源:ACL 2020 链接: https://www.aclweb.org/anthology/2020.acl-main.91.pdf 1.介绍 在以往的工作 ...
- ACL 2020 | 知识库问答的多跳复杂问题查询图生成
©PaperWeekly 原创 · 作者|舒意恒 学校|南京大学硕士生 研究方向|知识图谱 先前从知识库回答复杂问题的工作通常分别解决两种类型的复杂性:具有约束的问题和具有多跳关系的问题. 在本文中, ...
- 复杂知识库问答最新综述:方法、挑战与解决方案
©PaperWeekly 原创 · 作者 | 刘兴贤 学校 | 北京邮电大学硕士生 研究方向 | 自然语言处理 本文是一篇有关复杂知识库问答(Complex KBQA)的综述,主要围绕 Complex ...
- 论文浅尝 | 基于复杂查询图编码的知识库问答
论文笔记整理:谭亦鸣,东南大学博士生,研究方向为知识库问答. 来源:EMNLP 2018 链接:https://www.aclweb.org/anthology/D18-1242 文章表示,复杂问答所 ...
- 知识库问答中的关系识别研究回顾
©PaperWeekly 原创 · 作者|舒意恒 学校|南京大学硕士生 研究方向|知识图谱 知识库是用于知识管理的特殊数据库,通常由大量三元组构成,三元组形如(奥巴马,出生于,火奴鲁鲁),三者分别是三 ...
- 开放域知识库问答研究回顾
©PaperWeekly 原创 · 作者|舒意恒 学校|南京大学硕士生 研究方向|知识图谱 开放域问答的研究已经从复杂流水线系统进化到端到端深度神经网络.其中一些方法利用知识库中的信息进行作答,另一些 ...
- CIKM 2020 | 一文详解美团6篇精选论文
CIKM是信息检索.知识管理和数据库领域中顶级的国际学术会议,自1992年以来,CIKM成功汇聚上述三个领域的一流研究人员和开发人员,为交流有关信息与知识管理研究.数据和知识库的最新发展提供了一个国际 ...
- 揭开知识库问答KB-QA的面纱2·语义解析篇
内容速览 什么是语义解析(Semantic Parsing) 什么是逻辑形式(Logic Form) 语义解析KB-QA的方法框架 实验结果 本期我们从传统方法之一的语义解析(有时也被称为语义分析)开 ...
- 揭开知识库问答KB-QA的面纱3·信息抽取篇
内容速览 你是如何通过知识库回答问题的 如何确定候选答案 如何对问题进行信息抽取 如何筛选候选答案 论文实验与总结 本期我们将介绍KB-QA传统方法之一的信息抽取(Information Extrac ...
最新文章
- 24点——判断4个数能否经过运算使得结果为24
- SAP云服务新订购量增长103%
- 我司那产品经理丨第二期
- 干货:如何在前端统计用户访问来源?
- android百度网盘倍速,百度网盘在线倍数播放-全网最强,已做群组视频适配,不用保存文件也可倍速,无vip限制(附加安卓倍速版)...
- (笔试题)和0交换的排序
- 【Data Cluster】真机环境下MySQL数据库集群搭建
- java测试一个泰勒级数_自己 推导一个 泰勒级数
- 通用网站备案常见的备案场景及要求
- 一幅GAN网络创造的肖像图卖了40万美金,但那又怎样?
- nohup xxx 后台进程关闭,可以这样避免
- 怎么在线直接将多张CAD图纸转换成高质量黑白PNG格式?
- java-JDBC配置驱动程序
- Android系统中属性值的设置和使用
- Xcode 自定义代码块及代码块迁移
- 【ArcGIS|空间分析|网络分析】3 使用网络数据集查找最佳路径
- 解决导入Beautifulsoup 报错 AttributeError: 'module' object has no attribute '_base'的问题
- java 电子书下载
- 嵌入式系统课程大作业设计报告
- C语言关系运算符计算题,【单选题】下列运算符中是C语言关系运算符的是().
热门文章
- python 赋值 浅copy_python – 浅拷贝,deepcopy和正常赋值操作之间的区别是什么?
- 计算机考试单招考试面试,单招考试考什么内容?面试一般会问什么?
- 语音计算矩形面积_【2020年第7期】螺旋折流板换热器质心当量矩形通用计算模型...
- 记-curl post json数据,服务器后端$_POST接收不到数据
- 转:Webkit Flex伸缩盒模型属性备忘
- 关于物联网通信协议(通讯协议)
- review——C# (15)转换
- C#复习笔记(4)--C#3:革新写代码的方式(Lambda表达式和表达式树)
- [HAOI2007]上升序列
- ATL的GUI程序设计(前言)