论文浅尝 | AdaLoGN: 基于推理的机器阅读理解的自适应逻辑图网络

news2024/11/25 5:02:17

cce724120b4b1becd22156ded154d289.png

笔记整理:何仕玉珑,天津大学硕士

链接:https://arxiv.org/pdf/2203.08992.pdf

动机

最近的机器阅读理解数据集(ReClorLogiQA)需要对文本执行逻辑推理。传统的神经模型不足以进行逻辑推理,而符号推理机不能直接应用于文本推理。为了应对这一挑战,文章提出了一种神经符号方法,通过表示文本单元之间逻辑关系的图传递信息来预测答案。它引入了自适应逻辑图网络(AdaLoGN),通过自适应推断逻辑关系来扩展图,本质上实现了神经推理和符号推理之间的相互迭代强化。文章还实现了一个新的子图到节点的消息传递机制,以增强上下文选项的交互来回答多项选择题。文章提出的方法在ReClorLogiQA上显示了很好的结果。

亮点

AdaLoGN的亮点主要包括:

(1)一种新颖的神经-符号方法,其中神经和符号推理相互并迭代地加强彼此。

(2)在基于图的神经推理中,提出了一种新的基于聚合的消息传递增强方法。

概念及模型

MRC任务<c, q, O>由上下文c,问题q和一组选项O组成,O中只有一个选项是给定c的q的正确答案,MRC的任务目标就是找到这个选项。

对于每个选项o∈O,AdaLoGN通过一个预先训练的语言模型生成c, q, o的表示(即gc, gq, go),并构建一个原始的TLG(文本逻辑图),其中节点(即u1,…, u|V|)表示从c、q、o中提取的edu,边表示它们的逻辑关系。通过预训练模型得到它们的初始表示,然后以迭代的方式自适应扩展TLG(即符号推理),然后传递消息(即神经推理)来更新节点表示,从而生成TLG的表示hG,然后通过子图到节点消息传递加强图中的关系交互,最后,根据上述表述预测o的正确性。

模型整体框架如下:

948ade4170c5d42d822620eb45694a4e.png

·符号推理

假言三段论规则:如果E包含两条边<ui, impl, uj>和<uj, impl, uk>,可以向E添加两条边<ui, impl, uk>和<uk, rev, ui>。

956fca303a7c436d65557c987b2f9dac.png

转移规则:如果E包含一条边<ui, impl, uj>,可以向E添加两条边<uj, impl, ui>和<ui, rev, uj>。

a76170df596886adadef4bc6859d99ae.png

邻接转移规则:其中 * ∈{∧,∨,→}和~表示文本中的邻接。例如,若E包含两条边<ui, conj, uj>和<ui, unk, uk>,则可以在E中添加一条uk和uj之间的双向conj边。

de8f90c121738ac0533283a30907b3c2.png

13aeeed316ae45b782720ff18bfdf1fa.png

·神经推理

每个候选扩展ε对一组节点Vε⊆V应用推理规则。通过平均它们的向量表示形成ε的表示:

dc1718cd49df457fcadbd1bc74fea384.png

由于ε用于预测o的正确性,将hε与o的表示进行交互,来预测ε的相关性得分:

6326c3b8ca4c5549b60f4b186d439700.png

其中||表示向量拼接,其中τ是预定义的阈值。

此外,神经符号推理是迭代的。在第(l+1)次迭代中,使用原始的TLG重新启动符号推理,并在第l次迭代中使用神经推理的节点表示7a117bfbc23db2ec043b7c9f75984434.png重新计算公式(6)。初始节点表示9f46a41b4874a755e24a945523e1d12a.png是从一个预先训练的语言模型中获得的。也即将V按照其在文本中出现的顺序扁平化为一系列节点,其中V被分为d49608fb0cd9320321588f462e1a316d.png4bc46c42f6cfb50c0ea81e4acea60212.png分别表示从c和o中提取的节点。每个节点ui都是token序列952bc3a534660c89663ace47da2e587d.png。使用RoBERTa对由<s>和</s>连接的Vc和Vo进行编码,其中Vc和Vo内部的节点用特殊的标记“|”隔开:

2f3080cd1ae223cc6cd36d14c7caa381.png

对输出向量表示进行平均,形成每个节点ui∈V的初始表示:

9a5fe0a3d20146b7c35d5d6d4c76d674.png

·消息传递

为了让TLG中的节点彼此交互并融合它们的信息,引入了一种新的子图到节点的消息传递机制,以整体地传递从子图聚合的信息(例如,Vc)到一个节点(例如,每个ui∈Vo)。也即对于每个ui∈Vo,通过对Vc上的节点表示的注意加权和来计算ui参与的Vc的总体表示:

96289b7b647197eef22a578a29a62bc1.png

设Ni是ui的邻域集合。设a51a39f3d44cf8babeff4502abc42081.png为逻辑关系r∈R下的子集。通过向ui的邻居和Vc传递消息来更新ui的表示:

588cf7e11e0fc83d1c358d33797a56bb.png

以类似的方式,对于每个ui∈Vc,计算由ui参与的Vo的集合表示,表示为f8cd0f17f56d6a3c377d37018dff5a86.png

实验

文章使用了两个基于推理的MRC数据集:ReClor、LogiQA。

在ReClor数据集上,如表2所示,AdaLoGN在测试集中比所有基线方法的性能至少高出1.30%,除了LReasoner (w/ DA),它执行了数据增强,因此比较可能存在不公平。AdaLoGN和LReasoner (w/ DA)均超过60%,与人类水平的性能(63%)相当。

7615ffaca63c884474a8258bcd3d86cf.png

在LogiQA上,如表3所示,AdaLoGN优于测试集中的所有基线方法,包括LReasoner (w/ DA)。尽管如此,AdaLoGN的结果(40.71%)仍无法与人类水平(86%)相提并论。

d03e9f0b1977b765a058342135f78468.png

作者还进行了消融研究,以评估方法中的两个主要技术贡献的有效性:TLG的自适应扩展和子图到节点的消息传递。

为了验证TLG的自适应扩展的有效性,比较了标准版AdaLoGN和两种去掉自适应扩展的变体:AdaLoGNno-ext不执行扩展;AdaLoGNfull-ext通过计算演绎闭包来执行完全扩展。

在ReClor上,如表4所示,两个变量在测试集上的准确率下降了0.70%-1.40%。在LogiQA上,如表5,下降更大,在测试集中为1.69%,可能是因为LogiQA中的问题更困难,所以适应性扩展的有效性变得更明显。但在两个数据集上,AdaLoGNfull-ext在测试集上并不比AdaLoGNno-ext好,这表明在神经推理中注入逻辑推理可能不会产生积极的效果。

03a07562e138b801b6c7652e61090697.png

34d0efb07dd25b53a4f99a05877e6620.png

为了验证子图到节点的消息传递的有效性,将AdaLoGN的标准版本与两种变体进行了比较:AdaLoGNn2n仅以标准方式执行节点到节点的消息传递;AdaLoGNn2n+只执行节点到节点的消息传递,但是,作为整体Subgraph-to-Node消息传递的替代方案,它在上下文子图中的每个节点和选项子图中的每个节点之间添加了一个双向的unk边,以增强上下文选项的交互。

在ReClor上,如表4所示,两个变量在测试集上的准确率下降了1.60%-2.60%。在LogiQA上,如表5所示,在测试集上下降了1.69%-1.85%。结果证明了子图到节点消息传递的有效性。与AdaLoGNn2n相比,AdaLoGNn2n+在测试集中的ReClor上取得了更好的结果,但在LogiQA上取得了更差的结果,这表明对上下文选项交互的简单增强可能会产生负面影响。

总结

为了应对基于推理的MRC的挑战,文章提出了一种神经-符号方法:AdaLoGN模型,使用神经和符号推理,相互并迭代地加强彼此。文章还通过一种新的子图到节点的消息传递机制增强了基于图的神经推理。由于这些想法是相当普遍的,它们在MRC以外的各种应用中有很大的潜力。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

d2a51603d17a962c2df42886fe8d2779.png

点击阅读原文,进入 OpenKG 网站。

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

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

相关文章

【Cross-Direction and Progressive Network:交叉的挖掘信息】

A Cross-Direction and Progressive Network for Pan-Sharpening &#xff08;一种交叉递进的泛锐化网络&#xff09; 本文提出了一种交叉方向渐进&#xff08;cross-direction and progressive&#xff09;网络CPNet来解决全色锐化问题。对信息的充分处理是我们模型的主要特…

实战三十一:基于LightGCN推荐算法的推荐系统详细教程(代码+数据)

推荐系统任务描述:通过用户的历史行为(比如浏览记录、购买记录等等)构造出用户-项目交互图,协同过滤利用过去的用户-项目交互来实现预测;对相似的用户进行推荐相同喜好的item,帮助他们发现可能感兴趣的却不容易发现的item;同时将埋没在长尾中的好商品推荐给可能感兴趣的…

01-go基础-05-数组(声明数组、数组赋值、遍历数组、数组值修改)

文章目录1. 声明数组- 语法- 完整示例2. 数组赋值- 语法- 完整示例- 未赋值的元素仍为默认值3. 数组元素赋值- 语法- 示例4. 数组访问4.1 访问数组中元素4.2 遍历数组5. 数组的修改5.1 修改全部数组元素值5.2 修改单个元素值5.3 数组长度不可以更改1. 声明数组 - 语法 语法 …

刷爆力扣之1 比特与 2 比特字符

刷爆力扣之1 比特与 2 比特字符 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&am…

[附源码]Python计算机毕业设计Django四川景区管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

Go语言的IO库那么多纠结该如何选择

在Go语言中I/O操作的内置库有很多种&#xff0c;比如:io库&#xff0c;os库&#xff0c;ioutil库&#xff0c;bytes库&#xff0c;strings库等等。 io.Reader/Writer Go语言里使用io.Reader和io.Writer两个 interface 来抽象I/O&#xff0c;他们的定义如下。 type Reader int…

数据图表软件-FineReport控件简介

1. 概述 1.1 版本 报表服务器版本 功能变更 11.0 -- 1.2 应用场景 在帆软报表的具体应用中&#xff0c;经常使用「控件」来实现不同的功能。根据使用方式可将控件分为填报控件和参数控件两大类&#xff0c;填报时使用的控件为填报控件&#xff0c;参数界面使用的控件为参…

认证服务------遇到的问题及解决方案

认证服务的问题及解决方案 问题1&#xff1a;发送验证码 发送验证码要注意的问题 发送验证码要注意的两个问题 1、接口防刷 接口防刷就是因为发送验证码的api接口是可以通过查看页面元素看的到的 上面就可以看到发送验证码的js代码中的请求地址&#xff0c;可以恶意的通过…

【产品设计】APP提升用户注册率的五个方案探讨结论

首先介绍下前置条件&#xff0c;我们在做产品时&#xff0c;出于一开始对行业特征和用户参与度的考虑&#xff0c;所以对注册没有要求&#xff0c;当用户触发需要记录用户行为的功能时才会弹出登陆注册的聚合页面&#xff0c;能够触发弹出的功能有&#xff1a;赞、写点评、回复…

ActiveMQ 笔记(九)Windows部署:单机与集群部署流程

1. 单机版部署 版本关系说明:JDK8环境只能安装5.2及以下的。超过5.2需要JDK9及以上版本环境。 (1)官网下载安装包 activemq.apache.org 选择一个版本进行下载, (2)解压安装包 下载完成之后解压 下载后直接解压缩直接就能用(免安装)。 bin/是服务启动相关的命令文件…

Xylan-PEG-NHS|木聚糖-聚乙二醇-琥珀酰亚胺

Xylan-PEG-NHS|木聚糖-聚乙二醇-琥珀酰亚胺 琥珀酰亚胺又称为丁酰亚胺或丁二酰亚胺&#xff0c;是一种无色针状结晶或具有淡褐色光泽的薄片固体&#xff0c;味甜。易溶于水、醇或氢氧化钠溶液&#xff0c;不溶于醚、氯仿等 中文名称&#xff1a;木聚糖-聚乙二醇-琥珀酰亚胺 …

目标检测 YOLOv5 开源代码项目-环境配置问题

学习视频&#xff1a; 目标检测 YOLOv5 开源代码项目调试与讲解实战【土堆 x 布尔艺数】 项目源码&#xff1a;ultralytics / yolov5 教程&#xff1a;手把手带你调参Yolo v5 (v6.2)&#xff08;推理&#xff09; 遇到的问题&解决的链接&#xff1a; ERROR: Failed buil…

怎样查看对方计算机网络密码,如何查看邻居家的wifi密码?不知道wifi密码怎么蹭网...

如何查看邻居家的wifi密码&#xff1f;不知道wifi密码怎么蹭网&#xff1f;不知道大家有没有遇到这样的问题&#xff1a;手机虽然已经连接到了WiFi&#xff0c;但是却已经忘记了WiFi密码。这时候如果会有一丝担忧在心中&#xff0c;如果下次连接不上&#xff0c;或是有人问你密…

[C语言数据结构]树

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录1.树1.1树的概念&#xff1a;1.2树与非树1.3一些关于树的概念&#xff1a;1.4树的一些表示方法&#xff1a;2.二叉树2.1概念&#xff1a;2.2二叉树的特点2.3满二叉树…

为什么在做微服务设计的时候一定需要DDD?

记得之前在规划和设计微服务架构的时候&#xff0c;张队长给了我一个至今依然记忆深刻的提示&#xff1a;你的设计蓝图里为什么没有看到DDD的影子呢&#xff1f; 随着对充血模型的领域认知的加深&#xff0c;我越加感觉到DDD的重要性。于是网上一顿海找&#xff0c;并做了学习…

Thinkpad x13 锐龙安装 Archlinux 记录

硬件配置&#xff1a; 笔记本影响cpu显卡内存硬盘ThinkPad X13 锐龙版r7 4750U核显16g1TB 山寨固态&#xff08;大华&#xff09;镜像准备 https://archlinux.org/download/ http://mirrors.163.com/archlinux/iso/2022.12.01/ 每次安装都检查iso镜像是否是网站最新的&#x…

国外数字书籍第2期

1、高级FPGA设计 (中英文版) 本书主要讲解了FPGA设计、方法和实现。这本书略去了不太必要的理论、推测未来的技术、过时工艺的细节&#xff0c;用简明、扼要的方式描述FPGA中的关键技术。 图1 高级FPGA设计 (克里兹)(英文版)主要内容包括&#xff1a;设计速度高、体积小、功耗低…

代码随想录算法训练营第五十三天|1143.最长公共子序列、1035.不相交的线、53. 最大子序和

LeetCode 1143.最长公共子序列 链接&#xff1a;1143.最长公共子序列 思路&#xff1a; 这题和上一题718. 最长重复子数组非常的像&#xff0c;唯一的区别就是这里的子序列可以不是连续的&#xff0c;既然不要求连续&#xff0c;我们可以在定义下标的时候不限制以特定字母结…

实战三十一:基于LightGCN推荐算法的推荐系统详细教程代码+数据

推荐系统任务描述:通过用户的历史行为(比如浏览记录、购买记录等等)构造出用户-项目交互图,协同过滤利用过去的用户-项目交互来实现预测;对相似的用户进行推荐相同喜好的item,帮助他们发现可能感兴趣的却不容易发现的item;同时将埋没在长尾中的好商品推荐给可能感兴趣的…

web前端进阶<7>:3d图像翻转效果

这几天又闲着无聊&#xff0c;自己学的东西又有一点不牢固了&#xff0c;需要写一个小程序来巩固一下&#xff0c;相信大家也时有同感吧&#xff01;那么这一期就给大家带来一个炫酷的相册3d翻转效果&#xff0c;如果搭上炫酷的文字和动画那肯定是高端、霸气上档次的&#xff1…