论文浅尝 | 基于Freebase的问答研究

本文转载自公众号PaperWeekly。 


 本期的论文笔记来自 PaperWeekly 社区用户 @britin本文给出了一种 end-to-end 的系统来自动将 NL 问题转换成 SPARQL 查询语言。

作者综合了实体识别以及距离监督和 learning-to-rank 技术,使得 QA 系统的精度提高了不少,整个过程介绍比较详细,模型可靠接地气。

关于作者:Britin,中科院物理学硕士,研究方向为自然语言处理和计算机视觉。


■ 论文 | More Accurate Question Answering on Freebase

■ 链接 | https://www.paperweekly.site/papers/1356

■ 源码 | https://github.com/ad-freiburg/aqqu


论文动机


在知识问答中,要把一个自然语言的问句映射到知识库 KB 中是很难的,目前的问答系统通常是将 NLP 问句转换成一个 SPARQL 查询语句去检索 KB。如何完成这一转换过程面临着很多问题,比如怎么在 KB 中找到和问句中匹配的实体与关系。


首先问题中的实体名可能不完全依照数据库中的名称,同一个实体有多种叫法。其次数据库中多个实体对应的名称可能是一样的。比如 Freebase 里叫 apple 的就有 218 种实体。精确匹配的话很难找到答案,模糊匹配又会从大型数据库中搜索到冗余的数据。


本文在学习算法基础上采用了 learning-to-rank 来重点关注被大部分工作忽略掉的实体识别的问题。


模型介绍

本文要完成的任务是根据 KB 知识来回答自然语言问题,给出了一个叫 Aqqu 的系统,首先为问题生成一些备选 query,然后使用学习到的模型来对这些备选 query 进行排名,返回排名最高的 query,整个流程如下: 

比如要回答这个问题:What character does Ellen play in finding Nemo? 

1. Entity Identification 实体识别 

首先在 KB 中找到和问句中名词匹配置信度较高的实体集合,因为问句中的 Ellen,finding Nemo 表达并不明确,会匹配到 KB 中的多个实体。 

先用 Stanford Tagger 进行词性标注。然后根据词性挑出可能是实体的词与 KB 进行匹配,利用了 CrossWikis 数据集匹配到名称相似或别名相似的实体,并进行相似度评分和词语流行度评分。 

2. Template Matching 模板匹配 

这一步对上一步得到的候选实体在数据库中进行查询,然后利用三种模板生成多个候选 query。三种模板和示例如图所示:

3. Relation Matching 关系匹配 

这一步将候选 query 中的 relation 与问句中剩下的不是实体的词进行匹配,分别从 Literal,Derivation,Synonym 和 Context 四个角度进行匹配。 

Literal 是字面匹配,Derivation 利用 WordNet 进行衍生词匹配,Synonym 利用 word2vec,匹配同义词。Context 则是从 wiki 中找出和 relation 匹配的句子,然后利用这些句子计算原问句中的词语和这些 relation 匹配出现的概率,采用 tf-idf 算法。 

4. Answer Type Matching 答案类型匹配 

这里采用了较为简洁的方法,将 relation 连接的对象类型和问句中的疑问词匹配,比如 when 应该和类型为日期的对象匹配。 

5. Candidate Features 人工设计的特征

  • 实体匹配的特征:(1)备选 query 中实体的个数(2)字面大部分匹配的实体个数(3)实体中匹配的token的数量(4-5)实体匹配概率的平均值和总和(6-7)实体匹配流行度的平均值和总和

  • 关系匹配的特征:(8)匹配模板中的关系个数(9)字面匹配的关系个数(10-13)分别在 literal,derivation,synonym 和 context 四个角度匹配的 token 个数(14)同义词匹配总分(15)关系上下文匹配总分(16)答案的 relation 在 KB 中出现的次数(17)n-gram 特征匹配度

  • 综合特征:(18)特征 3 和 10 的总和(19)问句中匹配到实体或关系的词所占比重(20-22)二进制结果大小为 0 或 1-20 或大于 20(23)答案类型匹配的二元结果

6. Ranking 

本文采用了基于 learning-to-ranking 的方法根据上述特征对备选结果进行 ranking。作者使用了 pairwise ranking,针对两个备选的 query,预测哪一个评分更高,然后取胜出最多的那个。 

分类器采用了 logistic regression 和 random forest。

实验结果


本文使用 Freebase 作为 KB,但对于 WikiData 同样有效。 


数据集使用了 Free917 和 WebQuestions。前者手动编写了覆盖 81 个 domain 的自然语言问句,语法准确,每个问句都对应一条 SPARQL 语句,用它可以在 KB 中查到标准答案。训练集和测试集比例为 7:3。


WebQuestions 包含 5810 条从 Google Suggest API 上爬下来的问句,和 Free917 不同的是,它比较口语化,语法不一定准确,并且问题覆盖的领域多为 Google 上被问到最多的领域。答案是用众包生成的,噪声较大,训练集和测试集比例为 7:3。


和 Sempre,GraphParser 等结果较好的模型比较了 accuracy 和 F1 score,结果如下:



文章还分析了每个特征对系统可靠性的影响:



对于 80% 的查询,正确答案都能出现在 Top-5 里。


文章评价


本文给出了一种 end-to-end 的系统来自动将 NL 问题转换成 SPARQL 查询语言。系统综合了实体识别以及距离监督和 learning-to-rank 技术。设计的特征非常具体丰富,比以往的模型准确度高了不少。并且据说程序运行效率也很好,一秒就能回答出一个问题。


系统的准确虽然不是特别高,但在 Top-5 内的准确度很高,如果加上交互式问答的形式,结果可能就会改善。本文没有采用深度学习的方法,采用的是统计学习的方法,并且手动设计了特征,人工代价比较高,对数据集的要求和质量较高


-End-


关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。





OpenKG.CN


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

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

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

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

相关文章

机器学习中的特征建模(特征工程)和算法选型建模 - 以暴力破解识别为例

catalogue 1. 特征工程是什么?有什么作用? 2. 特征获取方案 - 如何获取这些特征? 3. 特征观察 - 运用各种统计工具、图标等工具帮助我们从直观和精确层面认识特征中的概率分布 4. 特征处理 - 特征清洗 5. 特征护理 - 特征预处理 6. 特征处理 …

NLP数据增强方法总结:EDA、BT、MixMatch、UDA

本文转载自公众号“夕小瑶的卖萌屋”,专业带逛互联网算法圈的神操作 -----》我是传送门 关注后,回复以下口令: 回复【789】 :领取深度学习全栈手册(含NLP、CV海量综述、必刷论文解读) 回复【入群】&#xf…

史上最全java架构师技能图谱(上)

java架构师最全技能图谱上篇,包含:数结构算法、java进阶、web开发、框架与工具四大技能图谱。 下篇将包含大数据以及性能、设计模式、UML、中间件、分布式集群、负载均衡、通讯协议、架构设计等技术图谱等章节 本文作者,陈睿 优知学院创始人…

王仲远 | 基于概念知识图谱的短文本理解

本文转载自公众号:大数据创新学习中心。3月10日,美团点评AI Lab NLP负责人王仲远博士,给大家进行了题为“基于概念化的短文本理解(Conceptualization for Short Text Understanding)”的报告。王博士的这次报告主要分为…

出行大数据,滴滴发布400城数据可视化分析

转 一:出行大数据,滴滴发布400城数据可视化分析 2018年01月04日 00:00:00 https://blog.csdn.net/zw0Pi8G5C1x/article/details/78976493 二:滴滴背后的大数据应用 前言:这是一篇大数据应用文章,不涉及高深技术&#…

拒绝跟风,谈谈几种算法岗的区别和体验

这是一份小夕写给【准】算法工程师的手册和建议, 大概是因为马上要开始秋招提前批了,小夕在知乎和微信后台收到了不少小伙伴的岗位/团队选择的求助。于是小夕这里写一篇扫盲贴,给即将毕业的师弟师妹们提供一个参考(后面再有师弟师…

阿里P8架构师谈:分布式、集群、负载均衡、分布式数据一致性的区别与关联

服务器集群: 1.集群概念 集群就是一组相互独立的计算机,通过高速的网络组成一个计算机系统。服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。 2.集群的特点和优势 1)高性能 比如…

论文浅尝 | Know-Evolve: Deep Temporal Reasoning for Dynamic KG

论文链接:https://arxiv.org/abs/1705.05742对于事件数据,需要动态更新的知识图谱来保存知识图谱中关系的时许信息。本文提出了 Know-Evolve 这种基于神经网络的动态知识图谱来学习实体在不同时刻的表示。在动态知识图谱中,事件由四元组表示&…

阿里P8架构师谈:Docker容器的原理、特征、基本架构、与应用场景

什么是容器? 一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。 容器镜像是轻量的、可执行的独立软件包 ,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。 容器化软…

中国电网招聘 计算机岗位

1.解密2018国家电网校园招聘,院校、专业、待遇盲区统统扫除! 2018国家电网校园招聘国家电网作为国内乃至世界知名的企业集团,是令无数求职者心仪的工作单位。那么如何才能进国家电网工作呢?国家电网的待遇究竟有传说中的那么好吗&…

系统设计:github上学习如何设计大型系统的项目

https://github.com/donnemartin/system-design-primer/blob/master/README-zh-Hans.md 系统设计是一个很宽泛的话题。在互联网上,关于系统设计原则的资源也是多如牛毛。这个仓库就是这些资源的组织收集,它可以帮助你学习如何构建可扩展的系统。

高并发编程系列:NIO、BIO、AIO的区别,及NIO的应用和框架选型

谈到并发编程就不得不提到NIO,以及相关的Java NIO框架Netty等,并且在很多面试中也经常提到NIO和AIO、同步和异步、阻塞和非阻塞等的区别。我先简短介绍下几个NIO相关的概念,然后再谈NIO重点掌握内容,以及Java NIO框架选型。 高并…

论文浅尝 | 基于神经网络的推理(DeepMind Relational Reasoning)

本文转载自公众号:徐阿衡。论文:A simple neural network module for relational reasoning(2017)github代码: https://github.com/siddk/relation-network这篇回顾下 DeepMind 2017 年发表的关系推理方面的工作,Relational Networks(RNs)。关…

拒绝无脑试错:写给萌新的“科学炼丹”入门手册

近期在订阅号后台和文章评论区review了一下大家的问题,发现很多小伙伴现在已经把机器学习、深度学习的理论基础打好了,但是真正要解决一个现实中的算法问题的时候经常两手抓瞎,一顿毫无目的乱试,甚至认为模型表现不好一定是调参不…

箱线图和散点图叠加图形的绘制——R language

前几日偶然从科学网上看到了一副特别漂亮的统计图形,如下图(摘自博文:http://blog.sciencenet.cn/blog-397960-456174.html)所示:感觉美翻了都,刚好在学习R,又遇到课题组有一些数据要处理,就花了大约一天的…

企业战略咨询方法:学习SWOT分析

文章目录概述分析目标分析内容分析步骤几个例子1. Mbalib网站的SWOT2. 复杂的、全面的SWOT分析3. 一个SWOT矩阵4. 另一个SWOT矩阵5. POWER SWOT分析法概述 SWOT分析是企业战略咨询常用的方法。然而,仔细搜索比对网上资料和各类管理咨询书籍,分析的目标、…

肖仰华 | 知识图谱与认知智能

本文转载自公众号:知识工场。肖仰华教授1万5千字雄文带您深度剖析知识图谱与认知智能,对知识图谱技术与落地应用中的一系列关键问题做了系统梳理与解答。肖仰华博士,复旦大学计算机科学与技术学院教授,博士生导师,知识…

Spring Cloud的核心成员、以及架构实现详细介绍

微服务架构系列 高并发架构系列:服务注册与发现的实现原理、及实现优劣势比较 阿里P8架构师谈:Restful、SOAP、RPC、SOA、微服务之间的区别 阿里P8架构师谈:微服务技术架构、监控、Docker、服务治理等体系 阿里P8架构师谈:Dubb…

调参侠的自我修养——深度学习调参秘籍

这是一篇写给萌新的“科学炼丹”手册 前言 近期在订阅号后台和文章评论区review了一下大家的问题,发现很多小伙伴现在已经把机器学习、深度学习的理论基础打好了,但是真正要解决一个现实中的算法问题的时候经常两手抓瞎,一顿毫无目的乱试&am…