把数据集刷穿是什么体验?MetaQA已100%准确率

文 | 炼丹学徒
编 | 小轶

开始炼丹以来,估计很多小伙伴都和我一样幻想过直接把数据集做到 100% 准确率,然后大吼一声:这数据集,我做到头了!

然而愿望终究是愿望。大多时候,看着自己手头上用了浑身解数才提了零点几个点的数据集,只想把它换掉。体谅到我们没吃过猪肉——最近清华大学李涓子组发表了一篇多跳问答工作TransferNet,怕是可以带大家看看猪跑了。

把数据集刷穿究竟是一种什么体验?出于好奇心,炼丹学徒带大家一起看一看。

论文题目
TransferNet: An Effective and Transparent Framework for Multi-hop Question Answering over Relation Graph

论文链接:
https://arxiv.org/pdf/2104.07302.pdf

Arxiv访问慢的小伙伴也可以在 【夕小瑶的卖萌屋】订阅号后台回复关键词 【0518】 下载论文PDF~

多跳问答

任务定义

简单来说多跳问答是指:针对一个文本问题,在给定关系图上通过多个关系边找到答案的过程

详细定义如下:

记关系图为 ,图中实体为 ,关系边为 ;一共有 个实体。 可以表示为 的矩阵。这个矩阵中的 表示头实体 到尾实体 之间的关系,是标签格式关系图里定义的关系标签,或者文本格式关系图里检索出来的句子。多跳问答则是:给定问句,从中的话题实体作为起点,经过某些边,达到目标答案实体 的过程。

举例说明

这个例子里,提问“ 比尔盖茨的夫人创建了哪个组织 ”(醒醒,比尔盖茨和夫人已经离婚了)。我们首先定位到话题实体“ 比尔盖茨 ”,然后通过“ 的夫人 ”找到实体“ 梅琳达”,再通过“ 创建 ”关系找到答案“ 比尔及梅琳达·盖茨基金会 ”。

我们看到:关系图里左边的例子是标签格式的关系图(也称作知识图谱,是人工定义的实体和关系图),右边的例子是文本格式的关系图,可以从文本库中通过实体名字的共现检索出来。标签格式的更准确,标注代价更大,文本格式的则相反。

主流做法

常见的多跳问答有两个主流做法。

第一种主流做法,是从起始的实体开始预测 关系-实体序列 ,最终得出答案。好处是:从起点实体到目标回答实体的关系路径是显式预测出来的,推理过程可解释。坏处是:我们的监督语料只有答案的目标实体,而从起点实体到目标实体的路径是没有的,因此是弱监督问题,搜索空间太大,存在收敛问题,因此虽然预测结果可解释,但是可能效果不如第二种主流做法。其次,第一种主流做法往往针对标签格式的关系图提出,如果给定的知识是检索出来的文本,很多技术无法使用。

第二种主流做法是把起始实体和附近的关系图喂给模型,直接使用 图神经网络 (GNN, Graph Neural Networks)预测目标实体作为回答。好处是:监督学习的场景,直接让模型去从附近的关系网络预测目标答案,效果比较好。目前SOTA的方法就是这么做的。缺点是:如何从起始实体预测到目标实体的推理过程是黑箱,模型可能在小区域的图关系里进行了复杂的运算。

TransferNet

看完主流做法,我们直觉地想到:

  • 能否提出一个多跳问答的解法,既可以像第一种做法中预测出来关系路径一样可解释,又像图神经网络一样得到不错的结果

  • 如果可以同时解决标签格式,又可以解决文本格式的关系图问答,就更好了!

TransferNet就针对这两个痛点设计了模型:

思路

对于 个实体 的关系 的图 ,问题 ,首先把起始话题实体的分数置为1,其他实体分数置为0,将此分数记为 。在每一跳后都预测当前关系得分,根据关系的预测概率,更新当前第t跳结束后的实体得分,直到最大跳数。预测该问题的跳数,按跳数的概率加权每一跳 得分作为实体的最终得分。

  • 首先把起始话题实体的分数置为1,其他实体分数置为0,将此分数记为

  • 每一跳后都给当前关系打分。根据关系得分,更新当前第t跳结束后的实体得分,直到最大跳数。

  • 预测该问题的跳数,并按跳数的概率加权每一跳 得分作为目标实体的最终得分。

流程

下述所有都是可训的参数

0)初始化:每个实体的分数,初始t=0,只有问题q中的主体实体分数为1,其他实体都为0。并将问题先过一遍编码器获得一个初始问题编码 和单词隐状态序列

1)问题编码:用 获得每一跳时的 ,真正后面用的时候用的每一跳时候的问题编码是这个

可以简单的理解为,第t跳时,用对应的特定函数去计算对的注意力,然后把加权过来代表此跳的问题编码。

3)关系得分:使用当前跳问题的编码 计算关系得分 。对于标签关系图和文本关系图,计算的方法是不一样的。这一步中,其实就是用 去计算每个关系的分数,然后汇总到 所有实体的关系矩阵中:

4)实体得分:通过3)中计算得到的实体-实体的关系得分,上一条的每个实体分数,计算此跳结束后每个实体的分数。重复上述步骤,直到超参最大跳数

5)总路径得分:在4)中,我们得到了每一跳后的实体分数。然后我们预测一下这个问题q是一个几跳的问题。此处跳数的预测也是概率加权使用的。

此处,即为问题跳数的概率分布。最终,里分数最高的实体作为答案进行输出。

细节

  • 在流程4)中,由 计算 时,分数可能会超过 1,这会导致梯度爆炸和 错误的优化方向。为了保证 中所有实体的分数都可以保持在 ,TransferNet 采用截断函数 Trunc 施加在每次 的计算之后。

  • 在流程3)中,需要由问题编码 计算关系分数矩阵 。对于标签格式的关系图,因为关系 是固定的,所以可以直接计算每种关系的分数 ,如果关系之间不是互斥的,则可以把 替换为 。则实体关系分数矩阵中实体 之间的关系分数由连接他俩之间的所有关系分数求和或者求极大值得到。对于文本格式的关系图,假设实体 个句子 r,则关系分数矩阵 的计算与标签格式的类似,为:

此处,为元素对应位置的点乘。

  • 文本类型的关系图中,可能文本的描述在处理成关系后存在偏差。比如,Harry Potter, <sub> was published in <obj>,XXX文本关系,如果XXX是United Kingdom,那么<sub> was published in <obj>表达的意思是在何处发表;如果XXX是1997,那么<sub> was published in <obj>描述的是在何时发表的关系。为了区分这种相同文本,不同含义的情况,TransferNet提出额外的语言遮盖预测。所提出的遮盖预测分数如下:

是所提出的遮盖预测分数。在流程5)中,把文本类型的预测结果修改为 为元素对应位置的点乘。

实验

数据集

  • MetaQA:将wiki-movies的单跳问答拓展到多跳问答的数据集,包含400k问题,最多三跳,包含43k实体,9种关系,135k三元组数据图。TransferNet也使用了基于WikiMoviews的文本关系图问答数据集。

  • WebQSP:基于Freebase,包含一跳和两跳问答,使用标签格式的关系图,1.8m实体,572关系类型,5.7万条关系三元组。

  • CompWebQ:WebQSP的延伸版本。

标签类型关系图结果

我们期待的刷穿数据集就出现在上表的TransferNet结果MetaQA多跳问答。

文本类型关系图结果

上表中,左侧是纯文本格式,右侧是在纯文本数据基础上,随机选取50%的标签类型数据添加进关系图。所提升的效果,是因为文本数据集中,存在关系的部分缺失。

可解释性

因为在每一跳的更新里,对目标实体进行0~1的评分,因此分数越高,我们越确定这一跳的实体确信度。其次,每一跳的更新也是通过关系矩阵进行的,其关系路径是可解释的。

总结

本篇论文我们一起看了多跳问答的新工作TransferNet。论文思路清楚,效果提升明显。此外,我们跟TransferNet一起体验了一把数据集刷穿的感觉~

希望小伙伴们可以向TransferNet学习,一起刷穿数据集。

寻求报道、约稿、文案投放:
添加微信xixiaoyao-1,备注“商务合作”

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

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

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

相关文章

LeetCode 116. 填充每个节点的下一个右侧节点指针(递归循环)

文章目录1. 题目2. 解题2.1 递归2.2 循环2.3 O(1)空间复杂度1. 题目 给定一个完美二叉树&#xff0c;其所有叶子节点都在同一层&#xff0c;每个父节点都有两个子节点。二叉树定义如下&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; }填充它的每个 n…

大圣魔方——美团点评酒旅BI报表工具平台开发实践

当前的互联网数据仓库系统里&#xff0c;数据中心往往存放了大量Cube化或者半Cube化的数据。如果需要将这些数据的内在关系体现出来&#xff0c;需要写大量的程序和SQL来发现数据之间的内在规律&#xff0c;往往会造成用户做非常多的重复性工作&#xff1b;而且由于没有数据校验…

基于知识图谱的智能问答方案

基于知识图谱的智能问答方案&#xff1a;https://cloud.tencent.com/developer/article/1661504 基于知识图谱的智能问答方案2020-07-142020-07-14 15:57:50阅读 9950三个角度理解知识图谱2012年谷歌首次提出“知识图谱”这个词&#xff0c;由此知识图谱在工业界也出现得越来越…

论文浅尝 - ACL2020 | 用于实体对齐的邻居匹配网络

笔记整理 | 谭亦鸣&#xff0c;东南大学博士来源&#xff1a;ACL 20链接&#xff1a;https://www.aclweb.org/anthology/2020.acl-main.578.pdf1.介绍图谱之间的异构差异是建立实体对齐的一个主要挑战&#xff0c;本文提出了Neighborhood Match Network (NMN)&#xff0c;用于处…

LeetCode 117. 填充每个节点的下一个右侧节点指针 II(递归循环)

文章目录1. 题目2. 解题2.1 递归2.2 queue循环2.3 利用next循环1. 题目 填充它的每个 next 指针&#xff0c;让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点&#xff0c;则将 next 指针设置为 NULL。 初始状态下&#xff0c;所有 next 指针都被设置为 NULL。 类似…

美团点评境外度假团队前端项目开发实践总结

随着前端项目数量和规模越来越大&#xff0c;参与的人员也越来越多&#xff0c;如何在前端项目开发过程中保证优质的开发者体验和项目的可维护性&#xff0c;同时确保极致的用户体验将会是一个非常大的挑战。 为了应对这个挑战&#xff0c;美团点评境外度假前端研发团队自2016年…

线性代数不深入,机器学习两行泪!

我经常听到有人说&#xff0c;机器学习很难&#xff0c;到底怎么学更高效&#xff1f;其实&#xff0c;我想说&#xff0c;机器学习本身没有多大难度&#xff0c;因为经过多年的积累后&#xff0c;很多规则已经成型了。对于我们来说真正难的&#xff0c;是机器学习背后的算法所…

反爬虫机制和破解方法汇总

https://cloud.tencent.com/developer/article/1032918 什么是爬虫和反爬虫&#xff1f;爬虫&#xff1a;使用任何技术手段&#xff0c;批量获取网站信息的一种方式。反爬虫&#xff1a;使用任何技术手段&#xff0c;阻止别人批量获取自己网站信息的一种方式。常见的反爬虫机制…

论文小综 | 知识图谱表示学习中的零样本实体研究

转载公众号 | 浙大KG 本文作者| 耿玉霞&#xff0c;浙江大学在读博士&#xff0c;主要研究方向为知识图谱、零样本学习及可解释性前言随着知识图谱表示学习算法的蓬勃发展&#xff0c;在各个领域中都得到了广泛的应用&#xff0c;如推荐系统、知识问答等&#xff0c;以及知识图…

LeetCode 297. 二叉树的序列化与反序列化(前序遍历层序遍历)

文章目录1. 题目2. 解题2.1 前序遍历2.2 层序遍历1. 题目 序列化是将一个数据结构或者对象转换为连续的比特位的操作&#xff0c;进而可以将转换后的数据存储在一个文件或者内存中&#xff0c;同时也可以通过网络传输到另一个计算机环境&#xff0c;采取相反方式重构得到原数据…

互联网企业安全之端口监控

外网端口监控系统是整个安全体系中非常重要的一环&#xff0c;它就像眼睛一样&#xff0c;时刻监控外网端口开放情况&#xff0c;并且在发现高危端口时能够及时提醒安全、运维人员做出相应处理。 对安全人员来说&#xff0c;互联网公司在快速发展壮大的过程中&#xff0c;外网边…

Text2SQL 语义解析数据集、解决方案、paper资源整合项目

https://github.com/yechens/NL2SQL Text2SQL 语义解析数据集、解决方案、paper资源整合项目

知乎热榜:程序员达到什么水平能拿到20k月薪

昨天在知乎上刷到一个热门问题:程序员需要达到什么水平才能顺利拿到 20k 无压力&#xff1f;其中一个最热门的回答是&#xff1a;“其实&#xff0c;无论你是前端还是后端、想进大厂还是拿高薪&#xff0c;算法都一定很重要。”为什么&#xff0c;算法会如此重要&#xff1f;不…

研究综述 | 知识图谱划分算法研究综述

作者 | 王鑫&#xff0c;天津大学智能与计算学部来源 | 计算机学报知识图谱划分是大规模知识图谱分布式处理的首要工作&#xff0c;是知识图谱的分布式存储、查询、推理和挖掘的基础支撑。从知识图谱和图划分的定义出发&#xff0c;系统性地介绍当前可用于知识图谱数据划分的各…

深度学习中不得不学的Graph Embedding方法

原文链接&#xff1a;https://zhuanlan.zhihu.com/p/64200072 深度学习中不得不学的Graph Embedding方法王喆​数据挖掘等 3 个话题下的优秀答主​关注他1,290 人赞同了该文章这里是「王喆的机器学习笔记」的第十四篇文章&#xff0c;之前已经有无数同学让我介绍一下Graph Embe…

写给新手炼丹师:2021版调参上分手册

文 | 山竹小果在日常调参的摸爬滚打中&#xff0c;参考了不少他人的调参经验&#xff0c;也积累了自己的一些有效调参方法&#xff0c;慢慢总结整理如下。希望对新晋算法工程师有所助力呀&#xff5e;寻找合适的学习率(learning rate)学习率是一个非常非常重要的超参数&#xf…

函数式编程在Redux/React中的应用

本文简述了软件复杂度问题及应对策略&#xff1a;抽象和组合&#xff1b;展示了抽象和组合在函数式编程中的应用&#xff1b;并展示了Redux/React在解决前端状态管理的复杂度方面对上述理论的实践。这其中包括了一段有趣的Redux推导。 软件复杂度 软件的首要技术使命是管理复杂…

论文浅尝 - EMNLP2020 | ConceptBert:视觉问题回答的概念感知表示

笔记整理 | 陈卓&#xff0c;浙江大学计算机科学与技术系&#xff0c;博士研究生研究方向 | 知识图谱/图神经网络/多模态论文链接&#xff1a;https://www.aclweb.org/anthology/2020.findings-emnlp.44.pdf代码&#xff1a;https://github.com/ZiaMaryam/ConceptBERT发表会议&…

LeetCode 215. 数组中的第K个最大元素(快速排序)

1. 题目 在未排序的数组中找到第 k 个最大的元素。请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k 2 输出: 5示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k 4 输出: 4说明: 你可以假设 k…

大话知识图谱--构建知识图谱第一步定义数据模型

大话知识图谱–构建知识图谱第一步定义数据模型 https://mp.weixin.qq.com/s/t7F9GDEsn0wmqwZ-eh-Ypg