论文浅尝 | 基于复杂查询图编码的知识库问答

论文笔记整理:谭亦鸣,东南大学博士生,研究方向为知识库问答。


640?wx_fmt=png

来源:EMNLP 2018

链接:https://www.aclweb.org/anthology/D18-1242

 

文章表示,复杂问答所面对的问题往往包含多种实体和关系(来自知识库),现有的知识库问答模型在复杂问答表现不足的主要原因在于无法同时表示问题本身以及对应的复杂查询结构,作者提出将复杂查询编码为统一的向量表示,这种方式成功捕捉到复杂问题中各语块之间的相互作用,实验表明这种方法在复杂问答上的优异性能以及在简单问答任务上的有效性。

 

动机

现有神经网络知识库问答模型在简单问答任务一般遵循以下框架:编码-对比,主要环节包括将问题与谓词序列编码为同一空间的语义向量,而后通过相似度计算实现谓词预测。当面对复杂问题时,直觉上需要将原始问题的复杂查询图(多个谓词序列)切分为子查询语块,再进行相似度计算。

作者认为这种方式存在两个明显的缺陷:1. 子语块无法与整个问题进行比较;2. 模型分别对各语块进行编码而忽略了查询图的整体语义信息

为了解决上述两个缺陷,作者提出一种改进的神经网络方法用于提升复杂问答中语义相似计算的准确性。

 

贡献

1.    提出一种轻量且有效的神经网络模型用于复杂问题解答

2.    在神经网络模型中添加问题依存解析结果用于强化问题的表示学习,并证明其有效性

3.    提出一种融合方法强化现有实体链接工具

4.    在多个问答数据集上验证了模型的有效性(包括简单问答和复杂问答)

 

方法

面向复杂问题的KBQA方法包含以下部分:

1.    候选查询图生成

2.    计算查询图与问题的语义相似性

3.    强化的实体链接

4.    训练和预测损失函数

 

候选查询图生成:


640?wx_fmt=png

           

对于一个复杂问题来说,查询图的生成过程包含以下步骤,如图2所示:

1. Focuslinking(焦点链接)包含实体链接(S-MART工具实现),类型链接(抽取文本的123元文法,通过词嵌入相似性得到排名top 10的类型结果),时间链接(使用日期格式匹配得到),排序链接(构建最高级词表/序数+最高级模板)等四种;

2. MainPath Generation(主要路径生成)通过从答案节点出发连接到不同的焦点实体(通过谓词序列进行1跳或2跳),可以得到多个不同主要路径;

3. Applying entity constraint(实体约束),将实体链接节点添加到路径上;

4. Applying all constraint(其他约束),添加类型,时间,排序约束节点到路径中;

 

语义相似度计算:


640?wx_fmt=png

           

基于神经网络的复杂问答语义匹配模型如图所示,步骤概括如下:

1.    首先,原始问题中的实体/时间均被替换为标识符<E>/<Tm>,并且得到其依存解析结果序列,分别使用BiGRU编码并相加融合得到其表示;

2.    为了编码复杂查询图,以答案节点为起始,对不同谓词路径进行切分,分别编码路径的谓词id及其自然语言描述,而后相加融合;

3.    计算问题编码结果与查询图编码结果的相似性,公式如下:


           

强化的实体链接:

    作者发现S-MART工具虽然在实体链接上具有非常优秀的准确性,但其召回率较低。为了解决这一问题,作者提出构建一个整合方法进行强化,首先从Wikipedia中收集所有的(mention, entity) pair集,其中每一组pair包含一系列的统计特征(链接概率,letter-tri-gram jaccard 相似性,popularity of the entity in Wikipedia等等),对于集合中能被S-MART找到的部分,利用一个两层的线性回归模型拟合其链接得分,从而训练模型用于预测每组pair的链接概率,提取其得到的Top-K样本强化S-MART的结果。

 

模型训练和预测:

      为了从候选查询图中识别出最优的结果,需要计算问题和每个查询图之间的全局联合得分(overall association score),这个得分由实体链接/语义匹配/结构等级等特征得分加权得到,具体特征如下表所示:

640?wx_fmt=png


        训练过程考虑正负例共同构成的损失函数如下:

640?wx_fmt=png


实验

数据集

问答数据集:

1.  ComplexQuestions (Bao et al., 2016);

2.  WebQuestions (Berant et al., 2013);

3.  SimpleQuestions (Bordes et al., 2015);

知识库:

Freebase dump (host with Virtuoso engine)

 

实验结果

对于作者提出的End2End模型,在CompQWebQ数据集上的结果如下,评价指标为答案的平均F1值。可以看到,对于复杂问题的解答性能上,该模型相对其他方法有显著提升,在简单问答任务上,也展现出较为优秀的性能。

640?wx_fmt=png

同时,模型在SimpleQ数据上的结果也取得了不错的性能。

640?wx_fmt=png




OpenKG


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

640?wx_fmt=jpeg

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

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

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

相关文章

阿里Java架构师精通资料:性能优化+亿级并发架构汇总+架构选型

分布式并发架构 微服务、Docker容器的基本原理、架构设计&#xff0c;以及应用场景。 缓存&#xff1a;Redis、Memcached、CDN、本地缓存 搜索引擎的选型&#xff1a;Lucene、Solr等选型与比较 应用服务器雪崩&#xff1a;长事务、SQL超时、同步接口引起的雪崩场景&#xff…

Google Cloud TPUs支持Pytorch框架啦!

文 | Sherry在2019年PyTorch开发者大会上&#xff0c;Facebook&#xff0c;Google和Salesforce Research联合宣布启动PyTorch-TPU项目。项目的目标是在保持PyTorch的灵活性的同时让社区尽可能容易地利用云TPU提供的高性能计算。团队创建了PyTorch/XLA这个repo&#xff0c;它可以…

LeetCode 231. 2的幂 LeetCode 338. 比特位计数(2进制1的个数)

文章目录1. 题目信息2. 解题拓展&#xff1a;求一个数n的2进制有多少个1&#xff1f;LeetCode 3381. 题目信息 给定一个整数&#xff0c;编写一个函数来判断它是否是 2 的幂次方。 示例 1:输入: 1 输出: true 解释: 20 1 示例 2:输入: 16 输出: true 解释: 24 16 示例 3:输…

最全阿里架构师P系列解读:P5-P8的技能要求和薪资结构

2018年持续一整年的架构设计分享&#xff0c;2019年我希望持续分享的同时&#xff0c;能真正意义上帮助到部分读者成为一名架构师。 学习的同时请千万别&#xff1a;只见树木&#xff0c;不见森林。 所以我会让大家先俯瞰完整的森林&#xff0c;我们再从树木开始&#xff0c;…

NeurIPS’20 | 长尾问题太严重?半监督和自监督就可以有效缓解!

文 | Yuzhe Yang源 | 知乎来给大家介绍一下我们的最新工作&#xff0c;目前已被NeurIPS 2020接收&#xff1a;Rethinking the Value of Labels for Improving Class-Imbalanced Learning。这项工作主要研究一个经典而又非常实际且常见的问题&#xff1a;数据类别不平衡&#xf…

论文浅尝 | 知识图谱中的链接预测:一种基于层次约束的方法

论文笔记整理&#xff1a;张良&#xff0c;东南大学博士生&#xff0c;研究方向为知识图谱&#xff0c;自然语言处理。链接&#xff1a;https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber8450054本文主要关注KG上的 Link prediction 问题&#xff0c;以往的方法在…

阿里P8架构师谈:架构设计经验汇总

架构设计更多的是实践经验总结&#xff0c;以下架构设计经验&#xff0c;我会陆续补充完整。 一&#xff1a;数据库拆分原则 阿里P8架构师谈&#xff1a;架构设计之数据库拆分六大原则 二&#xff1a;缓存选择原则 阿里P8架构师谈&#xff1a;分布式缓存的应用场景、选型比较…

陈丹琦“简单到令人沮丧”的屠榜之作:关系抽取新SOTA!

文 | JayLou娄杰大家好&#xff0c;我是卖萌屋的JayJay&#xff0c;好久不见啦&#xff5e;最近在「夕小瑶知识图谱与信息抽取」群里和群友交流时&#xff0c;JayJay发现了来自陈丹琦大佬&#xff08;女神&#xff09;的一篇最新的关系抽取SOTA《A Frustratingly Easy Approach…

肖仰华 | 知识图谱落地的基本原则与最佳实践

本文转载在公众号&#xff1a;知识工场。肖仰华博士&#xff0c;复旦大学计算机科学与技术学院教授&#xff0c;博士生导师&#xff0c;知识工场实验室负责人。此文内容取自肖仰华教授在华为、CCF等场合所做报告&#xff0c;完整内容见书籍《知识图谱&#xff1a;概念与技术》的…

预训练模型应用工具 PaddleHub情感分析、对话情绪识别文本相似度

文章目录1. 预训练模型的应用背景1.1 多任务学习与迁移学习1.2 自监督学习2. 快速使用PaddleHub2.1 通过Python代码调用方式 使用PaddleHub2.1.1 CV任务原图展示人像扣图人体部位分割人脸检测关键点检测2.1.2 NLP 任务2.2 通过命令行调用方式 使用PaddleHub3. PaddleHub提供的预…

NIPS’20 Spotlight | 精准建模用户兴趣,广告CTR预估准确率大幅提升!

源 | 京东零售技术在以人工智能技术为支持的推荐、搜索、广告等业务中&#xff0c;点击率预估&#xff08;CTR&#xff09;一直是技术攻坚的核心&#xff0c;同时也是人工智能技术在业务落地中最难实现的技术方向之一。第一期介绍了视觉信息使用帮助提高点击率预估的准确度&…

史上最强大型分布式架构详解:高并发+数据库+缓存+分布式+微服务+秒杀

分布式架构设计是成长为架构师的必备技能&#xff0c;涵盖的内容很广&#xff0c;今天一次打包分享&#xff0c;文末有&#xff1a;最全分布式架构设计资料获取方式~ 负载均衡 负载均衡的原理和分类 负载均衡架构和应用场景 分布式缓存 常见分布式缓存比较&#xff1a;memcac…

论文浅尝 | 面向多语言语义解析的神经网络框架

论文笔记整理&#xff1a;杜昕昱&#xff0c;东南大学本科生。来源&#xff1a;ACL2017链接&#xff1a;https://aclweb.org/anthology/P17-2007论文训练了一个多语言模型&#xff0c;将现有的Seq2Tree模型扩展到一个多任务学习框架&#xff0c;该框架共享用于生成语义表示的解…

LeetCode 46. 全排列(回溯)

文章目录1. 题目信息2. 解题2.1 利用hash map解决2.2 改用bool数组判断是否出现过1. 题目信息 给定一个没有重复数字的序列&#xff0c;返回其所有可能的全排列。 示例:输入: [1,2,3] 输出: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1] ]来源&#xff1a;力扣&#xf…

谷歌师兄的刷题笔记分享!

高畅现在是谷歌无人车部门&#xff08;Waymo&#xff09;的工程师&#xff0c;从事计算机视觉和机器学习方向。他在美国卡内基梅隆大学攻读硕士学位时&#xff0c;为了准备实习秋招&#xff0c;他从夏天开始整理某 code 上的题目&#xff0c;几个月的时间&#xff0c;刷了几百道…

【深度揭秘】百度、阿里、腾讯内部岗位级别和薪资结构,附带求职建议!

“ 最近很忙&#xff0c;文章没有及时更新。。 最近被问得最多就是想进入BAT等一线互联网公司&#xff0c;应该怎么办&#xff1f; 我先从BAT等这样的公司看看他们的招聘需求谈起&#xff0c;再结合这样的公司需要对技术的要求是什么&#xff0c;最后结合我的建议&#xff0…

LeetCode 47. 全排列 II(回溯+搜索剪枝)

文章目录1. 题目信息2. 解题1. 题目信息 给定一个可包含重复数字的序列&#xff0c;返回所有不重复的全排列。 示例:输入: [1,1,2] 输出: [[1,1,2],[1,2,1],[2,1,1] ]来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problem…

会议 | 2019 全国知识图谱与语义大会 (CCKS 2019)

会议注册:http://www.ccks2019.cn/?page_id53会议地址与住宿&#xff1a;http://www.ccks2019.cn/?page_id366OpenKG开放知识图谱&#xff08;简称 OpenKG&#xff09;旨在促进中文知识图谱数据的开放与互联&#xff0c;促进知识图谱和语义技术的普及和广泛应用。点击阅读原文…

jieba分词太慢,怎么办?找jieba_fast

原文链接&#xff1a;https://www.rtnzero.com/archives/272.html 有时候感觉处理一个几十M的文本&#xff0c;要一分钟才能好&#xff0c;然后调试时各种心焦&#xff01; 下面举个例子&#xff1a; 归零有一个11.9M的文本文件&#xff0c;是一些抓取到的Python长尾关键词&am…

DGL_图的打印

首先要安装 networkx import matplotlib.pyplot as plt import networkx as nx import dgl import numpy as np def build_karate_club_graph():src np.array([1, 2, 2, 3, 3])dst np.array([0, 0, 1, 0, 1])u np.concatenate([src, dst])v np.concatenate([dst, src])ret…