技术标签: 笔记 近期论文笔记 常识问答 自然语言处理 机器阅读理解 CommonsenseQA
COMMONSENSEQA: A Question Answering Challenge Targeting Commonsense Knowledge (Alon Talmor, Jonathan Herzig, Nicholas Lourie, Jonathan Berant)
论文:https://arxiv.org/pdf/1811.00937.pdf
数据集:www.tau-nlp.org/commonsenseqa
Baseline model:github.com/jonathanherzig/commonsenseqa
数据集提出的动机:当人们回答问题时,往往会利用自身了解的知识结合特定的背景。但目前的机器阅读理解集中在回答一些文章内容相关的问题,不需要一般知识背景。于是,为了研究基于先验知识的问答,作者提出了COMMONSENSEQA,一个用于常识性问答的新数据集。
为了获取超出关联之外的常识,作者从CONCEPTNET (Speer et al., 2017)中提取了与单个源概念具有相同语义关系的多个目标概念。群体工作者被要求写单项选择题,其中包含源概念,并依次区分每个目标概念。这鼓励工作人员创建具有复杂语义的问题,这些问题通常需要先验知识。数据生成过程概括如下图,之后会在第三部分对这一过程进行详细介绍。
通过这个过程,共创建了12247个问题,并用大量的baseline model说明了这一任务的难度。最好的baseline是基于BERT-large的模型 (Devlin et al., 2018),获得56%的准确率,远低于人类89%的表现。
该论文的贡献如下:
机器常识是关于开放世界的知识和推理能力,被认为是自然语言理解的关键组成部分。尽管有过很多相关研究,但是探究机器的常识理解能力依旧较为困难。
相关研究:
该数据集生成的一个重点是开发一种生成问题的方法,这些问题可以在没有上下文的情况下由人类轻松回答,且需要常识。生成选择题的过程概括如下:
更具体地说,各个步骤的实现如下:
CONCEPTNET是一个图形知识库 G ⊆ C × R × C G\subseteq C\times R\times C G⊆C×R×C,其中节点C表示自然语言概念,边R表示常识关系。三元组 ( c 1 , r , c 2 ) (c_1,r,c_2) (c1,r,c2)包含常识,如(gambler, CapableOf, lose money)CONCEPTNET包含3200万个三元组。为了选择三元组的一个子集进行众包,采取以下步骤:
最终选出来236208个三元组 ( q , r , a ) (q,r,a) (q,r,a),称第一个概念为问题概念,第二个为答案概念。目标是生成包含问题概念的问题,其答案就是答案概念。
要创建单选题,需要为问题创建干扰项。如果直接从CONCEPTNET中随机抽取作为干扰项,使用简单的表面线索很容易消除这类干扰。为了解决这个问题,创建问题集:对于每个问题概念q和关系r,选择三个不同的三元组 { ( q , r , a 1 ) , ( q , r , a 2 ) , ( q , r , a 3 ) } \{(q,r,a_1),(q,r,a_2),(q,r,a_3)\} {
(q,r,a1),(q,r,a2),(q,r,a3)}即下图中的蓝色部分。
这将生成三个语义相似且与问题概念q有类似关系的回答概念,促使工作人员制定需要概念背景知识才能回答的问题。这个过程生成了大约130,000个三元组(43,000个问题集),可以为它们生成潜在的问题。
使用Amazon Mechanical Turk (AMT)的员工来生成和验证常识问题。AMT工作人员看到的是:每个问题集对应的问题概念和三个回答概念。
他们被要求制定三个问题,所有的问题都包含问题概念,每个问题都应该有且仅有一个答案。不鼓励员工提供简单的答案线索,他们被告知要避免使用与答案概念有密切联系的词,例如,答案是“door”时不要使用“open”这个词。为这一任务制定问题并非易事。因此只接受至少75%的问题通过了验证过程的注解者。
为了使任务更加困难,为每个问题添加两个额外的错误答案。从与CONCEPTNET中的问题概念具有相同关系的一组回答概念中选择一个干扰因素(下图红色部分)第二个干扰由工作人员自己制定(下图紫色部分)工作人员被鼓励制定一个似乎合理的或与问题相关的干扰因素,但这一干扰很容易被人类认为是不正确的。因此最终每个问题都有五个备选答案,包括一个正确答案和四个干扰项。
培训一组与前述工人不重合的工人来验证生成的问题。验证者将一个问题标注为无法回答,或者选择正确的答案。每个问题由2名工作人员验证,并且只使用由至少一名正确回答的工作人员验证的问题。这个过程会过滤掉15%的问题。
检查web文本对于解决常识性问题是否有用,用以下方法将文本信息添加到每个问题:发出一个web搜索每一个问题及其候选回答,比如 ‘What does a parent tell their child to do after they’ve played with a lot of toys? +“clean room”’。为五个候选答案中的每一个取前100个结果片段,每个问题产生一个包含500个片段的上下文。在此背景下,可以研究阅读理解(RC)模型在COMMONSENSEQA上的表现。
最终收集的数据概述如下:
COMMONSENSEQA建立在CONCEPTNET上,包含dog, house, row boat之类的概念,概念之间由Causes,CapableOf,Antonym等关系连接。Person(3.1%) People(2.0%) Human(0.7%) Water(0.5%) Cat(0.5%)是最常见的5个问题概念。下表给出了主要关系以及由此产生的问题的百分比。
提问者被要求创造具有高度语言变异的题目。122个提问者参与问题构造,而超过85%的问题由10名工人提出。下图分析了命题中第一、二词的分布情况。只有44%的第一个单词是wh类单词。在大约5%的问题中,提问者使用名字来创造一个上下文故事,7%使用“如果”来提出一个假设问题。这表明问题语言的高度可变性。
为了分析COMMONSENSEQA所需的常识类型,从开发集中抽取100个例子进行分析。每个问题都标注了用于回答问题的常识技能的类型。允许每个问题有多个常识性技能,平均每个问题有1.75个技能。下图提供了三个示例,每个注释包含一个回答概念节点,以及出现在问题或潜在概念中的节点。关系边上的标签表示连接两个节点的常识技能。
基于LoBue和Yates(2011)的分析,定义常识技能,并对数据中的现象进行轻微修改。下表给出了技能类别、定义以及在分析示例中的出现频率。
作者的目标是收集一个常识性问题的数据集,问题对于人类来说很容易,但对于当前的NLU模型来说却很难。为了评估这一点,使用多个基线进行了实验。下表总结了各种基线类型,并根据以下标准分类:(a)是否基于COMMONSENSEQA完成了训练或模型进行了充分的预训练,(b)是否使用了上下文。
各个baseline model的实验结果:
Bert-large的结果分析:
该文章介绍了一个新的QA数据集COMMONSENSEQA,包含12247个示例,旨在测试常识知识。文章描述了使用CONCEPTNET大规模生成困难问题的过程,对数据集进行了详细的分析,说明了数据集的独特性,并在一组强大的baseline model上进行了广泛的评估。最好的模型是针对任务进行调优的预训练LM,精度为55.9%,比人工精度低几十个点。这个数据集有望帮助常识性知识在NLU系统中的集成。
文章目录树莓派软路由Openwrt教程固件步骤注意事项安装V2ray步骤树莓派软路由Openwrt教程固件https://github.com/SuLingGG/OpenWrt-Rpi选factory.img的固件并烧录步骤ipconfig /all查看主路由器dns地址(本人为192.168.1.1)连Openwrt的Wifi(无需密码)电脑浏览器输入192.168.1.1(用户名:root,密码:password)“网络”->“接口”,编辑LAN;树莓派静态IP
首先每次都去掉尽量多的人,可以证明这样贪心是最优的 然后递推,f[i]表示i最多能去掉多少人,j表示当前离i最远的i-i%p[x]的点,如果j不满足条件了就要向后找j 易知j一定是p[x]的倍数,预处理出每个数最小的质因数minp,对于i是不是p[x]的倍数只要看minp和i/minp是否是时间复杂度O(n)code:#include<set>#include<map>#include<de
金融商品收益率GARCH 模型构建一、GARCH简介GARCH模型是Bollerslev在1986年提出来的,全称为广义自回归条件异方差模型,Generalized Autoregressive Conditionally Heteroskedastic Models - GARCH(p,q),是ARCH模型的扩展。GARCH模型认为时间序列每个时间点变量的波动率是最近p个时间点残差平方的线性组合,与最近q个时间点变量波动率的线性组合加起来得到。即GARCH模型的条件方差不仅是滞后残差平方的线性函数,还
线性间距向量torch.linspace(start, end, steps=100, out=None) → Tensor返回一个1维张量,包含在区间start和end上均匀间隔的step个点。输出张量的长度由steps决定。参数:start (float) - 区间的起始点end (float) - 区间的终点steps (int) - 在start和end间生成的样本数out...
在springboot项目中,由于整合elasticsearch选择的:<dependency> <groupId>com.github.vanroy</groupId> <artifactId>spring-boot-starter-data-jest</artifactId></dependency>version=6.3.1groupId=io.searchboxartifactId=jest-co
近来在阅读linux-2.6.37中cgroup的相关代码,读到include/linux/cgroup.h的开头时犯了嘀咕: #include #include #include #include #include #include #include #include #ifdef CONFIG_CGROUPSstruct cgroupfs_r
#include #include#include#include#include#include#includeusing namespace std;struct TreeNode {char val;TreeNode *left;TreeNode *right;};int i = 1;TreeNode* create(){Tree
/** * <p> * 根据根据 entity 条件,删除记录,QueryWrapper实体对象封装操作类(可以为 null) * 下方获取到queryWrapper后删除的查询条件为name字段为null的and年龄大于等于12的and email字段不为null的 * 同理写法条件添加的方式就不做过多介绍了。 * </p> */ @Test public void delete() { ...
我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围。写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。一、 什么是ioctl ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数...
html&amp;gt;head&amp;gt; title&amp;gt;测试title&amp;gt; meta charset=&amp;quot;utf8&amp;quot;&amp;gt; script src=&amp;quot;../js/jquery-1.11.3.min.js&amp;quot;&amp;gt;script&amp;gt;head&amp;gt;bo
用CSS控制超链接样式-css超链接本文将讲解通过css样式或通过css来控制超链接样式。这里主要讲文字类型的超链接,超链接的样式包括通过CSS来控制设置超链接有无下划线、超链接文字颜色等样式。什么是超链接?超链接通俗地指从一个网页指向一个目标的连接关系,这个目标可以是另一个网页,也可以是相同网页上的不同位置,还可以是一个图片,一个电子邮件地址,一个文件,甚至是一个应用程序。而在一个网页...
作者简介方 圆曾在Cisco负责流媒体工作,在微博负责feed系统研发,三年游戏行业开发经验,现任罗辑思维首席架构师,主导罗辑思维微服务改造。内容大纲1、改造的背景2、改造的过程中的 Go 语言实践3、经验总结4、正在做什么1.改造的背景得到最早的APP就是一个单体的PHP的应用,就是图中最大的黄色块,中间蓝色块代表不同模块。下面的黄色部分代表...