CIKM 2020 | 知识库问答复杂问题的分层查询图生成方法
©PaperWeekly 原创 · 作者|舒意恒
学校|南京大学硕士生
研究方向|知识图谱
导读
本文讨论知识库问答(KBQA)中查询图生成的强化学习方法。给定一个自然语言问题,知识库问答尝试自动从存储有实体间关系的知识库中获取答案。对于一个复杂问题,查询图生成是一种常见的基于语义解析的方法。其中,查询图指对问题的一种抽象的图表示。
作者认为现有方法通常依赖有限的规则,使得他们无力应对更加复杂的问题。该文提出一个类似于”导演-演员-影评者“的框架,以克服这一问题。其中,导演决定查询图需要的三元组类型,演员通过选择结点和边生成相应的三元组,影评者计算生成的三元组和给定问题之间的相似度。
论文标题:
Hierarchical Query Graph Generation for Complex Question Answering over Knowledge Graph
论文链接:
方法
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.2 选项
一个选项包含三个组件:
初始状态集 ,包含一个选项可以被初始化的状态 选项内策略 ,为一个选项选择原始动作 终止条件 指定选项是否已完成
2.2.3 原始动作
对于每个选项,有三类原始动作:1)在现有查询图中,选择已有结点;2)根据选项,添加谓词或边;3)连接新生成的结点和已有结点
2.2.4 奖励函数
2.3 常量结点链接
一个常量结点表示一个已链接的 KG 实体或类型,它的形式可以是给定一个问题中的时间或数值信息。对于一个给定的自然语言问题,该文的方法首先识别这类常量结点。
实体链接:借助于 S-MART [2](一个著名的知识库实体链接工具)生成 (mention, entity)对。 类型链接:通过 Stanford CoreNLP toolkit [3] 对问题中的每个单词进行词性标注,抽取所有的名词与专有名词。包含 KG 类型同义词的单词被选出构建(mention, type)对。 时间和数值链接:使用 CoreNLP 的命名实体识别工具,获得候选时间结点或数值结点。
2.4 问题与图编码
对于问题编码,作者使用一个双向 GRU 网络将自然语言问题转换为向量。
对于图编码,作者考虑到查询图是动态更新的,使用图神经网络对查询图进行编码的开销可能过高,因为每次都需计算邻接矩阵。
作者所使用的图编码器包含两个模块:
1 个 LSTM 网络分别编码查询图中的所有三元组;一个查询图可以视为由多个三元组构成 transformer 模型捕获三元组之间的交互,以及在没有邻接矩阵的情况下,生成整个图的表示
2.5 分层决策
实验
作者在 WebQuestions 和两个同名的 ComplexQuestions 数据集上进行实验,其中部分对比算法列举在了文末的“延伸阅读”中。在文中实验,该算法取得了 SOTA。
小结
人工智能从感知到认知的迈进,需要更多知识图谱推理的相关研究。本文采取强化学习的思路,改进当前的复杂问题查询图生成方法。
该文所提出的三个模块,即导演、演员和影评者,实际上对应了使用强化学习生成复杂问题查询图的分层决策过程:1)选择待执行的选项;2)选择选项内的动作;3)判断选项是否完成。
而执行一个选项(option),实质上对应了向查询图中添加单个三元组的信息的过程。对于一个 MDP,一步动作直接完全处理整个三元组可能是不现实的,而仅仅处理单个结点或边,又可能无法将动作与三元组很好关联起来。
而后者正是多数现有方法的缺陷。通过选项-动作(option-action)这个分层决策的过程,可以将对一个三元组的处理拆分为三个动作(可分别对应于 s、p、o)实现。
该强化学习算法的外部奖励,来自于三元组选项而不是原始动作,一定程度解决了以往方法中没有建模动作之间存在的关系的问题,即关于一个三元组的动作被关联了起来。
个人认为,构成一个查询图的若干三元组,实际上一定存在显式可表示的关联,至少查询图不可能包含一些没有相连的三元组。而该文所使用的图表示方法,三元组之间的关系仅仅通过 transformer 进行捕获,似乎难以解释三元组之间的关联。
另外,知识图谱嵌入(KGE)已经应用于三元组分类(triple classification)任务中,是否在图编码部分引入 KGE 能够增强模型判断一个三元组是否合理的能力?
作者重点讨论了关于查询图的图表示并取得 SOTA,但似乎少有研究关注于问题表示的设计,如何设计与查询图生成方法更契合的问题表示方法,或许是一项开放问题。
参考文献
知识库问答的查询图生成:
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 的交流群里。