​ACL 2023 | 用二分类解决无监督常识问答

news2024/11/21 21:13:30

9504a8ef00dede5371b8481c81ca83ad.gif

常识推理最近在自然语言处理研究中引起了广泛关注,现有的常识推理方法一般分为两种:一种是在开源数据集上对大型语言模型进行微调 [1],另一种是借助外部知识图谱来训练。然而,构建有标注的常识推理数据集既昂贵,又受限于特定领域,所以尝试无监督常识推理(UCR)至关重要。

本文中,作者专注于无监督多项选择题 QA 任务,也即给定一个问题和一组答案选项,使模型需要预测最可能的选项。作者提出了一种名为 BUCA 的无监督常识 QA 二分类框架,首先使用手动编写的模板将知识图谱三元组转化为文本形式,并生成正面和负面的问题-答案对,然后对预训练好的语言模型进行微调,并在微调过程中加入对比学习来提升模型识别不合理答案的能力,最终选择最高合理性分数的答案作为预测答案。

大量的实验结果表明,BUCA 框架在多个 QA benchmark 上都取得了令人满意的性能,并且相较于现有 UCR 方法,本文的框架对数据的要求更少,展现了 BUCA 框架的有效性。了作者的方法在各种多项选择题回答基准上的有效性。

612464bac844d4b579cd700157360685.png

论文标题:

BUCA: A Binary Classification Approach to Unsupervised Commonsense Question Answering

论文链接:

https://arxiv.org/abs/2305.15932

代码链接:

https://github.com/probe2/BUCA

5db0ca2c12824d2d552b29a4bf11b4d7.png

Method

作者专注于多项选择题 QA 任务:给定一个问题 和一组选项 ,模型应选择最有可能的单个答案 。特别地,本文考虑无监督情境下的 QA 任务,也即默认模型无法访问训练或验证数据。

本文分为如下三个部分介绍 BUCA 框架:三元组转化为二分类问题;训练损失设计以及下游任务推理。

1.1 三元组转化

一般地,一个知识图谱可以表示为三元组 ,其中 是一组实体, 是一组关系类型, 是一个三元组集合 ,其中 分别为头实体和尾实体 , 则是连接 的关系。

受到之前的研究启发 [2],每个知识图谱三元组都可以通过预定义的模板转化为 Q-A 对,这些 Q-A 对可以被用作分类任务的输入,例如:

(PersonX thanks PersonY afterwards, isAfter, PersonX asked PersonY for help on her homework)

可以被转化为:

(After PersonX asked PersonY for help on her homework, PersonX thanks PersonY afterwards)

在附录中,作者展示了转化后的序列对的分布情况。

除此之外,作者为了使模型更好的判别合理与不合理 Q-A 对,还给每一个转化后的 Q-A 对创建了负样本。具体而言,对于训练数据中的一个三元组 ,作者随机从知识图谱中的尾实体抽取一个 来构建负样本 。

1.2 训练损失

在预训练好的语言模型上,作者加入了一个具有两个节点的分类头,分别输出 Q-A 对的合理性分数和不合理分数。对于上一步获得的每一个 Q-A 对及其负样本,作者将其输入模型,获得合理性分数 和不合理分数 。在每次损失计算中,作者同时考虑了正确答案 和错误答案 。

训练损失由三部分组成:

(1)传统二分类损失,其中 分别对应合理性概率和不合理概率

02c62025f81710e12eabf23cbe4a8b35.png

(2)边际排名损失,其中 为边际阈值超参数

e2df0fc6118c6149636e5055adb13e22.png

(3)对比学习损失,将同一类别内的所有样例视为给定样例的正例。如下所示,其中 分别为温度参数和特征向量。

1c67a9dcab4c8fb52fbbeb32c75b50c9.png

1.3 下游任务推理

在最终推理时,只需要根据训练好的分类模型计算每个选项的合理性分数,并选取所有选项中合理性分数最大的一个作为标准答案即可。

c592d0c7adc605cb8ad729d8377cd1c9.png

Experiments

作者使用了两个常识知识图谱来训练 BUCA 框架:ConceptNet [3] 和ATOMIC [4],并使用五个常识 QA 数据集来评估框架:COPA、Open-BookQA、SIQA、CSQA 和 SCT。

cbeff811c09d173beee2afb40dc13b45.png

上表展示了主要结果,总体而言,BUCA 在所有数据集上都取得了最佳性能。特别地,Ma [5] 使用多个知识图谱来训练单个模型,对于 CSQA 和 ATOMIC 使用了ConceptNet、WordNet和Wikidata,对于 SIQA 使用了 ConceptNet、WordNet 和 Wikidata,总训练数据量分别为 662,909 和 1,197,742,而 BUCA 仅使用了 65,536 和 61,530,详见下表。考虑到所使用训练数据的差异及结果的相似性,展现出了 BUCA 框架的其高效性。

75078ec77ed6b70721a174b4ee045a9e.png

作者观察到,ConceptNet 对于 CSQA 更有帮助,ATOMIC 对于 SIQA 更有帮助。这可以解释 SIQA 基于 ATOMIC 构建,而 CSQA 基于 ConceptNet 构建的事实。除此之外,作者还发现,在训练过程中,边际排序损失平均比 ConceptNet 上的二分类损失高出 0.8%,在 ATOMIC 上高出 0.1%。这些结果可以解释边际排序损失更能够区分合理答案和不合理答案的得分之间的差异。

为了更深入分析 BUCA 框架各部分效果,作者进行了消融实验。首先,作者对不同的 backbone 模型进行了对比试验,如下表所示,更强的预训练语言模型在下游任务上表现更好,这可以解释为,随着模型容量的增加,模型可以储藏更多的事件类常识知识,从而能够展现出更好的效果。

8e38121248321924a52f8c9106e449e2.png

同样地,作者还探究了对比学习的效果,如下表所示,去掉对比学习时,BUCA框架的整体效果都若于加入了对比学习的版本,不论使用的知识图谱如何。

aabc0a2a3a4d04b1f405537304d381d6.png

为了更好地理解为什么常识问答任务中从常识图谱进行迁移学习比从其他数据集(如 MNLI 或 QNLI)更合适,作者对数据进行了多方便比较。

首先,作者比较了 ConceptNet、ATOMIC 和 MNLI(训练数据)与评估 QA 数据集之间的词汇重叠。如下表所示,MNLI 与所有评估数据集的词汇重叠率都比使用的 CKGs 高。然而,词汇重叠并不是性能的关键因素,否则在注入知识之前,使用 NLI 数据集对 NLI-KB 进行微调的模型在下游任务中应该表现更好,这与表 1 的结果有所违背。

cbffb452645d497f1e8dab9a3bf878ac.png

之后,作者又分析了句子嵌入的距离。结果表明,MNLI 的条目在 SIQA 问题的常识知识检索中表现不佳,因为它们不是合理的答案。相比之下,从 ATOMIC 和 ConceptNet 生成的句子能够成功地将 SIQA 中的问题与合理的答案配对。这表明,尽管 MNLI 具有更高的词汇覆盖率,但 MNLI 没有适合匹配 SIQA 问题的示例。因此,使用 NLI 数据集进行微调的模型几乎没有从下游常识推理任务中获益。一些实际样例如下图所示:

080c347d19096bc310a0f1033c2cbe23.png

8af6bb46fc4346c53f1caf511f30ce6b.png

Conclusion

本文中,作者提出了 BUCA 框架,将知识图谱(KG)转化为正面/负面 Q-A 对,用于训练二元分类模型判断 Q-A 对的合理性。大量实验证明了该框架的有效性,且其能使用更少的数据达到与其他 benchmark 基本相当的结果。在未来的工作中,作者将探索如何更好地选择负样本,并考虑在训练样本中加入更多的候选答案,以进一步提升模型的鲁棒性。

outside_default.png

参考文献

outside_default.png

[1] Nicholas Lourie, Ronan Le Bras, Chandra Bhagavatula, and Yejin Choi. 2021. Unicorn on rainbow: A universal commonsense reasoning model on a new multitask benchmark. Proceedings of the AAAI Conference on Artificial Intelligence, 35(15):13480–13488.

[2] Ying Su, Zihao Wang, Tianqing Fang, Hongming Zhang, Yangqiu Song, and Tong Zhang. 2022. Mico: A multi-alternative contrastive learning framework for commonsense knowledge representation.

[3] Robyn Speer, Joshua Chin, and Catherine Havasi. 2017. Conceptnet 5.5: An open multilingual graph of general knowledge. In Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence, AAAI’17, page 4444–4451. AAAI Press

[4] Maarten Sap, Ronan LeBras, Emily Allaway, Chandra Bhagavatula, Nicholas Lourie, Hannah Rashkin, Brendan Roof, Noah A. Smith, and Yejin Choi. 2018. ATOMIC: An Atlas of Machine Commonsense for If-Then Reasoning

[5] Kaixin Ma, Filip Ilievski, Jonathan Francis, Yonatan Bisk, Eric Nyberg, and Alessandro Oltramari. 2021. Knowledge-driven data construction for zero-shot evaluation in commonsense question answering. Proceedings of the AAAI Conference on Artificial Intelligence, 35(15):13507–13515.

更多阅读

910591b1605fb6faccb3516fa89ad10e.png

ac912dfa251331bb10892dec7ea024d1.png

3fd71e1a91b341dbf0a671cb415efa6a.png

0b57a59b1e47c1f822e43093f2617733.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

1e9af3ec140b849059ee9f2ad2dc40c9.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

7b1621e8c5e1ded62dba5f86b681d136.jpeg

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

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

相关文章

uCOSii消息队列

消息队列管理(MESSAGE QUEUE MANAGEMENT) 1、消息队列定义 消息队列好比人们排队买票,排队的人好比是消息,每来一个人,都要到队伍的尾部去排队,叫添加一条消息到队列中。售票员卖票给先到的人,叫从对列中接收一条消息…

Talk预告 | 罗格斯大学徐子昊:在域迁移学习中,用变分推理自动生成可解释的域索引

本期为TechBeat人工智能社区第501期线上Talk! 北京时间5月31日(周三)20:00,罗格斯大学 在读博士生—徐子昊的Talk将准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “在域迁移学习中,用变分推理自动生成可解释的域索引…

Expeditors EDI需求详解

Expeditors是一家全球性的物流公司,成立于1979年,总部位于美国华盛顿州的西雅图。该公司提供海运、空运、货运代理、清关、仓储等一系列全球物流服务,并致力于通过数字化技术提高供应链的可见性和效率。Expeditors的客户遍及各行各业&#xf…

CMAKE变量与选择详解

目录 在 CMake 中,变量和选项是: CMake中的变量: 接下来是一个cmake的案例: 在CMake中定义和使用函数: 在 CMake 中,变量和选项是: 变量(Variables): CMak…

chatgpt赋能python:Python函数查看快捷键:不可或缺的工具

Python函数查看快捷键:不可或缺的工具 Python是一门流行的编程语言,是数据分析、机器学习、人工智能等各种领域的首选语言。对于有10年Python编程经验的开发人员来说,Python函数查看快捷键可能是最熟悉的工具之一。因此,本篇文章…

k8s部署docker

1 环境准备 操作系统:centos7.9_x64 Docker:20-ce K8s:1.23 操作系统最小硬件配置(在vmmare安装时需要选择):2核CPU、2G内存、20G硬盘 k8s-master:192.168.88.191 k8s-node1:192.…

chatgpt赋能python:Python冒泡排序算法详解

Python冒泡排序算法详解 介绍 冒泡排序是一种简单但相对较慢的排序算法。这个算法会重复地遍历要排序的数列,每次比较两个元素,如果它们的顺序错误就交换它们的位置,直到没有任何一对元素需要交换为止。这个算法由于排序过程中最大元素就像…

怎么用Excel VBA写一个excel批量合并的程序?

您可以按照以下VBA代码来实现把同一路径上的所有工作簿合并到同一个工作簿中: VBA Option Explicit Sub MergeWorkbooks() Dim path As String, fileName As String, sheet As Worksheet Dim targetWorkbook As Workbook, sourceWorkbook As Workbook Dim workshe…

建立可重复使用的自动测试过程

建立可重复使用的自动测试过程 在软件开发领域,自动化测试已经成为必不可少的一部分,它可以提高软件产品的质量、减少错误率、加快测试时间。但是,为了让自动测试过程更加高效和可重复使用,需要建立一套稳定的自动化测试框架。 自…

ES6: 模板字符串和箭头函数的基本使用

前言 本文主要介绍了ES6中模板字符串和箭头函数的基本使用 一、模板字符串 1、基本介绍 由反引号(在键盘Esc键的下面)圈住的字符串即模板字符串举例: //普通字符串 const namehello console.log(name)//模板字符串 const name1world console.log(na…

前端js实现将数组某一项符合条件的对象,放到首位

哈喽 大家好啊 在日常前端开发需求中,总是会遇到开发数组,将某一项对象值,放到首位,让用户更好的去选择,比如省会城市优先等 我做的案例是需要将地区中的四川放到首位 以下是我的代码: 简单说明下思路&a…

蓝桥杯单片机PCF8591芯片ADC与DAC运行冲突解决

单片机型号:STC15F2K60S2 目录 文章附上工程下载地址: 在进行ADC与DAC测试时发现了如下冲突: 实验问题发现: 解决方案: 文章附上工程下载地址: https://download.csdn.net/download/qq_64257614/87854…

OpenWrt 安装“Alist 文件列表”挂载云盘

警告天翼云盘上传受限每天只有2GB 警告天翼云盘上传受限每天只有2GB 警告天翼云盘上传受限每天只有2GB 前言(背景故事,没有干货) 此前一直在用“阿里云盘-WebDAV”,用起来也挺好非常的方便,直到最近接触到“天翼云盘…

动态调整xxl_job下次执行时间

项目场景: 目前项目引入了 xxl-job 来跑定时任务,但是存在一个问题,项目执行结束的时间不固定,有峰值,在高峰期的时候会出现长阻塞一直排队等待,如图: 问题描述 需要做一种策略来解决长阻塞问…

区块链理财源码【互联网畜牧业养牛平台】带积分商城+抽奖+会员特权【亲测】

源码简介: 互联网畜牧业的养牛平台,非常火的区块链农业应用,是养殖业元宇宙的一种理财商业模式,农业类的其实都可以借鉴这种思路。当然了,玩法比较多样,不要做违法的事情就行。 代码已经简单亲测了一下&a…

linuxOPS基础_linux文本文件查看及统计

vi/vim vim文档编辑操作太多了,可以看这篇单独介绍vim的文章>https://blog.csdn.net/weixin_44368963/article/details/130963920 cat查看文件 命令:cat 作用:查看文件内容 语法:#cat 文件名称 ​ #cat 文件1 文件2 > 文件3 **特别注…

docker入门(1)----服务/镜像/容器/数据卷相关命令

安装 官网安装app命令行安装(但是没有图形界面app)brew install docker 架构 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像ubuntu:16.04 就包含了…

chatgpt赋能python:Python内置排序:快速高效的数据处理方式

Python内置排序:快速高效的数据处理方式 作为一种非常流行的编程语言,Python提供了很多高效、易于使用的内置功能,其中之一就是排序函数。通过使用内置的排序函数,Python工程师可以快速高效地处理各种不同类型的数据,…

什么是DAS/SAN/NAS

先上图 DAS DAS(Direct-attached Storage) 直连存储,这种存储设备通常是一个磁盘阵列柜,里面有多块磁盘,但不带RAID功能。 它与服务器主机之间的连接通常采用SCSI或者FC连接。DAS只能连接一台服务器,其它服务器无法共享该存储。 …

Redisson

文章目录 Redisson背景简介使用引入依赖配置类源代码 Redisson 背景 基于Redis(setnx)实现的分布式锁存在以下几个问题: 不可重入:同一个线程无法多次获取同一把锁 不可重试:获取锁只尝试一次就返回false,没有重试机制 超时释…