论文浅尝 | 基于知识图谱子图匹配以回答自然语言问题

640?wx_fmt=png

Citation: Hu,S., Zou, L., Yu, J. X., Wang, H., & Zhao, D. (2018). Answering natural language questions by subgraph matching over knowledge graphs. IEEE Transactions on Knowledge & Data Engineering, PP(99), 1-1.


动机


对于基于知识图谱的事实性问答(KBQA),采用基于语法分析的方法,大致分为两个阶段:其一为问题理解,即将问题转换为 SPARQL 类型的结构化查询;其二为查询评分,即对产生的结构化查询进行置信度评分。在问答系统中,重点是解决第一阶段中的歧义性问题,即解决:第一,短语链接问题,即如何将自然语言问句中的短语链接到正确的实体//关系/属性上;第二,复合问题,即一个自然语言问题可能转换为多个知识图谱三元组,而这多个三元组如何组合,才正确表达了问题的意图,并由此得到正确答案。

因此,为了解决第一阶段的两个问题,本文提出基于图匹配的方法,将解决歧义问题与查询评分这两个阶段融合在一起,即当得到自然语言问题的一个正确匹配的查询子图时,歧义问题也已经同时解决了。本文为了将自然语言转换为查询图,提出了关系优先(relation-first)和点优先(node-first)的方法。前者从自然语言问句中,尽量抽取对应的关系,并从句法树中抽取实体来构成查询图;后者从问句中尽量抽取对应的实体,再对实体之间的边进行填充,来构成查询图。该方法不需要事先人工设立模板,且对复杂问句分析非常有效。


贡献


文章的贡献有:

1)不同于已有的基于模板的工作,本文工作不需要预先设置模板;

2)不同于已有的基于语义分析的工作,本文工作的将歧义性问题与查询评分问题融合成一个问题来解决;

3)本文工作对于解决复杂问题非常有效,且对于句法依存树的使用具有容错率。


方法


本文的工作主旨,是建立一个与自然语言问句意图充分匹配的查询图Qs,这个查询图中可以存在具有歧义性的实体(以节点表示)或关系(以边表示)。当这个查询图被确定下来时,对应的结构化查询也被唯一确定。为了建立结构化查询,本文首先从问句中形成以自然语言成分组成的查询图Qs,再通过图Qs与知识图谱G的同构匹配,来得到结构化查询。本文的工作主要分为线下和线上部分,其中线上部分又分为关系优先(relation-first)和点优先(node-first)的方法。

 

线下部分的工作

线下工作,主要是建立两个字典,分别用于实体-实体指称和关系-关系指称。

 

线上部分的工作——关系优先框架(relation-first framework

首先使用 Stanford Parser 将自然问句N转换为句法依存树 Y。由于在线下部分已经建立了关系指称词典,即每一个词都可能被不同的关系指称所包含,所以在关系优先框架中,对于 Y 中每一个词(节点)wi,先找到所有包含 wi 的关系指称,然后使用深度优先搜索算法来遍历Y中以wi为根的子树,并判断这个子树是否与当前关系指称一一匹配。如果一个关系指称中所有的字都在子树中出现,那么认为找到一个匹配的句法依存子树y,这个关系指称也是符合自然问句 N 的。

当得到关系指称之后,就需要找到与这个关系指称相联系的主语和宾语节点。本文根据统计分析,基于句法树中边的词性,而统计出属于“subject-like”的边,与“object-like”的边。分析关系指称与句法依存树,若在依存子树y中有点w是可以被匹配为类/实体,则认为这个w是关系指称的一个主语;否则,观察w与它的子节点中,是否被 subject-like 的边相连,若是的话,这个子节点就是这个关系指称的主语。同理,若 w 与子节点被 object-like 的边相连,那么关系指称的宾语就是这个子节点。如果经过这种规则处理,找不到对应的主语/宾语,那么就需要应用一些高阶规则。

如下图 1 所示,即一个寻找与关系指称相关的主/宾语节点的示例。

640?wx_fmt=png

1 关系抽取示例

如图 1,已知的关系指称为“budget of”与“direct by”,由于“file”是匹配于实体或类,且“of”与子节点“film”之间以object-like的边pobj相连,所以“film”是关系指称“budget of”的宾语。此外,虽然“is”与“budget”由subject-like的边相连,但是“is”并不是一个可以匹配到实体/类的节点,所以“is”不是“budget of”的主语。根据前面所述,与“budget of”最相近的wh-词是“what”,那么它就是“budget of”的主语。

以上的工作,是通过自然语言问句与句法树的分析,得到了查询图 Qs,后续需要再通过图 Qs 与知识图谱 G 的同构匹配,来得到结构化查询。

Qs 中每一条边都有匹配的候选谓词,而 Qs 中每一个节点都有匹配的候选实体或者类,且根据关系指称词典和实体指称词典,均有一个置信度得分。当 Qs 与知识图谱 G 进行匹配时,可以找到若干匹配的子图,从中找到分数最大的 top-k 子图,就是找到对应的结构化查询。再执行这个查询,就可以得到问题对应的答案。

 

线上部分的工作——节点优先框架(node-first framework

节点优先框架,是从自然语言问句中找到节点,再对填充节点之间的边。当填充边时,肯定会出现同一对节点之间以不同路径相连的问题,所以通过识别节点、再填充边的做法,形成的图为超语义查询图 Qu,而 Qs 是其一个子图。

首先用已有的方法识别出所有的实体指称,并且将所有wh-词和不能匹配到任何实体的名词作为通配符。比如对于例句“What is thebudget of the film directed by Paul Anderson and starred by a Chinese actor?”可以识别出“what”、“film”、“Paul Anderson”、“Chinese”、“actor”。

其次进行结构的建立。利用句法依存树,当两个节点之间没有其余节点存在,那么这两个节点之间即认为是有边或路径相连,即为一个关系指称,且路径上所有边的label组合成为这个关系指称。如下图 2 所示,点“film”与点“Paul Anderson”、“actor”之间都没有其余节点存在,所以“film”与“Paul Anderson”存在关系,关系指称为“directed by”;“film”与“actor”存在关系,关系指称为“directedstarred by”,由此得到了节点间的关系指称。当两个节点之间的指称没有label时,如图2的“Chinese”和“actor”,那么若两个节点都为实体/类,那么在知识图谱中将这两个节点间的关系填入;若其中一个节点为通配符,则在知识图谱中定位另外一个节点,取与其连接频数最高的那些谓词作为候选关系填入。

640?wx_fmt=png

2 建立超语义查询图

经过关系填充,可以得到 Qu,而 Qu 中将包含所有节点,但以不同边连接所有节点的子图以 Si 表示。在将 Si 与结构化查询图进行匹配时,采用基于动态规划的自顶向下的方法来逐步扩展。即首先找到最可能匹配的部分子图 Q,再将与 Q 中节点相连的边逐一加入,并评估是否可以与知识图谱G中的子图匹配,若可以的话,则继续加入边到 Q,直到 Q Qu 的包含了 Qu 所有节点的子图,那么就视为找到了一个语义查询图;若加入了一条边后,后续无法产生匹配,则需要回溯,把这条边从 Q 中删去,重新加一条新边,再进行迭代。

 

实验


实验使用了 QALD-6 数据集和 WebQuestions 数据集。QALD 中复杂问题较多,相比之下,WebQuestions 中的简单问题(一个问题可以由一个三元组表示)居多。

如图3所示的表格,在 QALD-6 的比赛中,NFF(节点优先框架)取得了第二名的成绩,而第一名的 CANaLI 需要用户手动输入实体和谓词,大大减少了系统难度,而 NFF/RFF 不需要这样的人工操作。

640?wx_fmt=png

3 QALD-6测试结果

从图 4 所示的表格可以见到,在 WebQuestions 的测试中,NFF 排在第三位,这是由于关系指称词典的覆盖率在 WebQuestions 较低导致。而且,本文系统更加由于复杂问题的处理,所以将 Aqqu 放到 QALD 中,其效果降低了很多,远远不及本文系统

640?wx_fmt=png

4 WebQuestions测试结果

关于错误回答问题的分析,其一是由于词典中的未登录实体//关系,导致匹配错误;其二是对于聚集型问题,本文的方法无法回答。

总结

这篇文章,主要工作为:提出了一种基于图匹配的方法,来进行自然语言问题的回答。与之前的工作不同的是,在本文的工作中,实体识别、关系识别的歧义性问题是在查询评分的阶段中完成的,而之前的工作是将这两个阶段分开进行。由于是利用结构化查询图来进行答案检索以及解决歧义,这是个高效的方法。所以,基于图匹配的方法,不仅可以提高系统准确性(尤其是对于复杂问题),而减少了整个系统的响应时间。此外,这些工作都可以利用文本来进行工程化地实现,并不涉及复杂的神经网络模型,在应用或项目中,容易实现。

 

论文笔记整理:花云程,东南大学博士,研究方向为自然语言处理、深度学习、问答系统。



OpenKG.CN


中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

640?wx_fmt=jpeg

转载须知:转载需注明来源“OpenKG.CN”、作者及原文链接。如需修改标题,请注明原标题。

 

点击阅读原文,进入 OpenKG 博客。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新闻文本内容知识图谱表示项目

TextGrapher 项目地址:https://github.com/liuhuanyong/TextGrapher Text Content Grapher based on keyinfo extraction by NLP method。输入一篇文档,将文档进行关键信息提取,进行结构化,并最终组织成图谱组织形式,…

BAT Java面试完整汇总:面试准备(心态+简历)+面试题目+6条面试经验

今天分享的BAT面试完整内容主要包含: 面试前的心态准备(3点建议) 技术硬实力包含的范围(50题目) 个人简历突出和优化(3点优化步骤) 个人软实力的提升(6点提升维度) B…

算法工程师的效率神器——vim篇

一只小狐狸带你解锁炼丹术&NLP秘籍我相信,有很多小伙伴在看到这篇文章时就有了很多问号:用vim?疯了吧?sublime不香吗?pycharm不香吗?jupyter notebook不香吗?我这可是最新版的windows 100操…

论文浅尝 | 端到端神经视觉问答之上的显式推理

链接:http://www.public.asu.edu/~cbaral/papers/2018-aaai-psl.pdf概述视觉问答(Visual Question Answering)现有两大类主流的问题, 一是基于图片的视觉问答(ImageQuestion Answering), 二是基于视频的视觉问答( Video Question Answering).而后者在实际处理过程中…

机器阅读理解首次超越人类!云从刷新自然语言处理新纪录

媒体动态发展历程资质荣誉人才招聘机器阅读理解首次超越人类!云从刷新自然语言处理新纪录 2019-03-11 10:06 浏览:454 近日,云从科技和上海交通大学在自然语言处理领域取得重大突破,在卡内基-梅隆大学发起的大型深层阅读理解任务数…

刚参加完阿里Java P6面试归来,6点面试经验总结!(含必考题答案)

这是来自于优知学院一位铁粉面试回来的总结经验 刚参加完蚂蚁金服的Java P6级的面试,一共参加了4面。面试归来,总结下阿里面试流程、面试过程、以及面试题目范畴。文末有阿里Java P6面试必考题与答案参考~ 阿里面试流程 第一轮:电话技术初面…

如果你不小心打开了这篇文章,请你看完后关掉,不要转发,不要留言,不要问怎么了,不要说你还好吗,也不要给予任何问候。因为我还当,这里是那个三年前,只有陌生听众的地方。今天&#xf…

机器阅读(一)--整体概述

https://plmsmile.github.io/2019/03/30/54-mrc-models/ 主要包含:机器阅读的起因和发展历史;MRC数学形式;MRC与QA的区别;MRC的常见数据集和关键模型 发展动机 传统NLP任务 1) 词性分析 part-of-speech tagging :判断词…

论文浅尝 | 用图网络做小样本学习

链接: https://arxiv.org/abs/1711.04043本文提出了用 GNN(GraphNeural Network) 来解决 Few-Shot Learning 场景的分类问题。在 Few-Shot Learning 中,每个类别的训练样本数据较少,如果直接训练一个多分类模型,会由于每个类别的样…

史上最强Dubbo面试28题答案详解:核心功能+服务治理+架构设计等

1.Dubbo是什么? Dubbo 是一个分布式、高性能、透明化的 RPC 服务框架,提供服务自动注册、自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成。 RPC 指的是远程调用协议,也就是说两个服务器交互数据。 2.Dubbo的由来&…

数据缺失、混乱、重复怎么办?最全数据清洗指南让你所向披靡

一只小狐狸带你解锁 炼丹术&NLP 秘籍正文来源:机器之心前言要获得优秀的模型,首先需要清洗数据。这是一篇如何在 Python 中执行数据清洗的分步指南。在拟合机器学习或统计模型之前,我们通常需要清洗数据。用杂乱数据训练出的模型无法输出…

深度学习技术在机器阅读理解应用的研究进展

深度学习解决机器阅读理解任务的研究进展:https://blog.csdn.net/malefactor/article/details/52832134 深度学习技术在机器阅读理解应用的研究进展:https://www.imooc.com/article/30060 /* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 …

论文浅尝 | 基于开放世界的知识图谱补全

Citation: Baoxu Shi and Tim Weninger (2017). Open-World Knowledge Graph Completion 6, AAAI 2018传统的知识库补全算法如TransE等都是基于Close world assumption 的,也是就说补全的实体必须在知识图谱内。然而事实上大规模的知识图谱是一直进化的,…

快速排序quicksort算法优化

1.基本想想 快速排序使用分治的思想 通过一趟排序将待排序列分割成两部分,其中一部分所有元素均比基准大,另一部分均比基准小 分别对这两部分元素继续进行排序,以达到整个序列有序 2.快排的步骤 1.选择基准 在待排序列中,按…

阿里P8架构师谈:Dubbo的详细介绍、设计思路、以及4大适用场景

Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有…

巨省显存的重计算技巧在TF、Keras中的正确打开方式

一只小狐狸带你解锁 炼丹术&NLP 秘籍作者:苏剑林(来自追一科技,人称“苏神”)前言在前不久的文章《BERT重计算:用22.5%的训练时间节省5倍的显存开销(附代码)》中介绍了一个叫做“重计算”的…

论文浅尝 | 用可微的逻辑规则学习完成知识库推理

Citation:Fan Yang,Zhilin Yang, William W. Cohen. Differentiable Learning of Logical Rules for Knowledge Base Reasoning. ICLR 2017.动机本文提出了一个可微的基于知识库的逻辑规则学习模型。现在有很多人工智能和机器学习的工作在研究如何学习一阶逻辑规则&…

一点关于cloze-style问题的简谈

一个小任务:给出一个问题和诺干个候选句子,从候选句子中选出答案,有没有好的实现方案? 一个小任务:类似于:“中国最大的内陆湖是哪个?”给出候选句子1.”中国最大的内陆湖,就是青海湖…

中文词语概念上下位图谱项目

HyponymyExtraction 项目地址:https://github.com/liuhuanyong/HyponymyExtraction HyponymyExtraction and Graph based on KB Schema, Baike-kb and online text extract, 基于知识概念体系,百科知识库,以及在线搜索结构化方式的词语上下位…

POJ 1007 DNA排序解题

题目链接 http://poj.org/problem?id1007 C代码实现 #include<string> #include<iostream> using namespace std; struct DNAdata //定义结构体 {char name[51];double sum;DNAdata(){sum 0;} }; void swapDNA(DNAdata *a, DNAdata *b) {DNAdata tempDNA;tempDN…