论文浅尝 | 通过基于动态文档知识图谱增强的大语言模型故事理解

news2024/10/5 23:27:30

42141b4362717d3866c9f2bf43cfab12.png

笔记整理:许方舟,天津大学硕士,研究方向为知识图谱

链接:https://ojs.aaai.org/index.php/AAAI/article/view/21286

1. 动机

基于大型 Transformer 的语言模型在需要叙事理解的各种任务上取得了令人难以置信的成功,包括故事完成、回答有关故事的问题以及无中生有地生成故事。然而,由于有限上下文窗口的限制,这些语言模型很难生成或理解超过数千个标记的故事。为了减轻有限上下文窗口带来的文档长度限制,该篇论文引入了一种新颖的架构,该架构通过外部动态知识图谱增强了故事处理。

2. 亮点

(1)设计与大型语言模型有效交互的架构,为语言模型提供丰富的事实提示,以增强故事理解;

(2)引入 LF-SQuAD 和 LF-QUOREF,这两个新颖的评估任务旨在衡量长篇故事的理解能力;

(3)引入新的故事完成度评估指标,与 BLEU 等之前的指标不同,该指标不假设人工编写的响应是唯一正确答案;

3. 概念及模型

方法包含三个步骤:

(1)知识图谱构建,构建一个包含从自然语言文档D中提取的关键信息的知识图谱G;

(2)从知识图谱中检索事实,从与某个文档理解任务T相关的G个事实中检索;

(3)提示形成,其中包括将知识图谱事实合成为自由形式的文本,以及将这些事实与故事文本的一个片段和一些框架文本拼接形成提示P。 

1e867a774acd8694abdeed91437ae590.png

如上图所示就是一个例子,首先从文本中提取“霍比特人”的相关知识图谱,构建图谱的方法利用OpenIE+中的工具进行。之后根据提问“霍比特人住在哪里”对构建完成的知识图谱进行节点-关系抽取,抽取到与问题相关的事实节点,其中抽取通过Sentence-Bert得到的嵌入相似度进行实现。最后通过这些事实节点注入到Prompt中提示GPT-3进行答案的生成。 提示模板如下图所示:

0920286a177955cac042368d8d913c7b.png

4. 实验

本文使用两种自动方法来评估增强提示的功效。给定语言模型 L、提示 p 和人工编写的补全 c,第一个评估方法是生成新的补全 ^ c =generate(L; p) 并测量 c 和 ^ c 之间的 BLEU 分数。该方法是目前故事完成度的典型评估方法,但它依赖于错误的假设,即c是“正确答案”,并且c和^c之间增加的n-gram重叠与生成质量相关。实际上,有许多不同的方法可以适当地完成任何给定的故事部分,并且大多数方法与 c 几乎没有 n 语法重叠。此外,^c 是由语言模型随机生成的,因此很难复制 BLEU 结果。为了克服 BLEU 评估的这些问题,本文引入了第二个故事完成度评估指标:困惑度(PPL)。给定与上面相同的 L、p 和 c,使用语言模型来测量给定 p 或 P P L = L( c j p) 的 c 的困惑度。

问答实验的结果见表 1,故事完成结果见表 2。对于问答,本文的提示构建系统在两个数据集和使用所有三种语言模型上都优于传统提示,并且结果具有统计显着性 (= 0.01 )在大多数情况下。LF-SQuAD 的平均文档长度比 LF-QUOREF 更长,这既说明了 LFQUOREF 具有更高的整体准确性,也说明了我们的系统相对于 LF-SQuAD 的基线具有更高的性能。这强调了通过语言模型回答长格式问题的难度,并验证了我们的系统在定义任务上的性能。

对于故事完成,我们的提示在所有三种语言模型的 PPL 指标上都优于传统提示,包括使用 GPT-2 和 XLNet 的显着改进。

4e8c7b43bb2b77cfff8cc553a14e5b20.png

2e19dffdd99a14116351808ff93b2440.png

5. 总结

在这项工作中,证明了包含文档特定信息的动态知识图可以增强大型语言模型的提示生成,从而减轻基于转换器的语言模型使用的有限上下文长度的限制。已经在两个故事理解任务(问答和文档完成)上评估了架构。


OpenKG

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

3813f1d7bfff2c21c2287353a168f25c.png

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

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

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

相关文章

核方法总结(三)———核主成分(kernel PCA)学习笔记

一、核主成分 1.1 和PCA的区别 PCA (主成分分析)对应一个线性高斯模型(参考书的第二章),其基本假设是数据由一个符合正态分布的隐变量通过一个线性映射得到,因此可很好描述符合高斯分布的数据。然而在很多实…

基于GWO灰狼优化的多目标优化算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1灰狼优化算法原理 4.2 多目标优化问题(MOP)的帕累托最优解 4.3 基于GWO的多目标优化算法 5.完整程序 1.程序功能描述 基于GWO灰狼优化的多目标优化算法matlab仿真,目标函数…

java基于ssm+jsp 咨询交流论坛

1 管理员登录 管理员输入个人的用户名、密码登录系统,这时候系统的数据库就会在进行查找相关的信息,如果我们输入的用户名、密码不正确,数据库就会提示出错误的信息提示,同时会提示管理员重新输入自己的用户名、密码,…

Vite: 代码分割与拆包

概述 在生产环境下,为了提高页面加载性能,构建工具一般将项目的代码打包(bundle)到一 起,这样上线之后只需要请求少量的 JS 文件,大大减少 HTTP 请求。当然,Vite 也不例 外,默认情况下 Vite 利用底层打包引…

JWT跨域认证

新建shop项目 新建bean包,再其包下新建User package com.example.shop.bean;public class User {private String username;private String password;// 可以根据需要添加其他字段,比如角色、邮箱等public String getUsername() {return username;}public…

“深入解析操作系统核心:进程管理与并发艺术“

操作系统中最核心的概念是进程:这是对正在运行程序的ー个抽象 并行 并发 “在任何多道程序设计系统中,CPU由一个进程快速切换至另ー个进程,使每个进程各运行几十或几百毫秒。严格地说,在某ー个瞬间,CPU只能运行ー个进程。但在1秒钟内,它可能运行多个进程,这样就产生并行的错觉…

【漏洞复现】电信网关配置管理系统——命令执行

声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 电信网关配置管理系统是一个用于管理和配置电信网关设备的软件系…

【C++题解】1466. 等差数

问题:1466. 等差数 类型:简单循环 题目描述: Peter 同学刚刚在学校学习了等差数列的概念。 等差数列,指的是一组数,这些数连续 2 个数的差值是相等的,比如:123,135,852…

【AI提升】AI利器Tool Call/Function Call(二):OpenAI/qwen-agent/LangChain/Ollama

上一节快速使用了Tool Call 【AI提升】AI利器Tool Call/Function Call(一) ,使用的是LangChainOllama,这一节说说为什么使用这个组合,以及其余的使用场景。 首先大家都知道,在目前AI的世界里,各大模型都还是跟着OpenA…

onnx模型转rknn到部署

简介 最近开始用3568的板子,之前是在用3399,cpu的话3399比3568强,但是3568有1T的npu算力,所以模型移植过来用npu使用,之前用ncnn感觉太慢了,rk的npu使用没有开源,所以没法兼容,只能跑…

聚鼎贸易:装饰画行业还有没有前景

在数字化的浪潮中,装饰画行业似乎被边缘化,成为传统与现代较量中的一片瓦砾。然而,透过表面的凋零,我们能够窥见其潜藏的蓬勃生机与无限前景。 随着社会的快速发展,人们对生活品质的追求日益提高。家,作为个…

Golang | Leetcode Golang题解之第204题计数质数

题目&#xff1a; 题解&#xff1a; func countPrimes(n int) int {primes : []int{}isPrime : make([]bool, n)for i : range isPrime {isPrime[i] true}for i : 2; i < n; i {if isPrime[i] {primes append(primes, i)}for _, p : range primes {if i*p > n {break}…

图像增强及运算篇之图像掩膜直方图和HS直方图

一.图像掩膜直方图 如果要统计图像的某一部分直方图&#xff0c;就需要使用掩码&#xff08;蒙板&#xff09;来进行计算。假设将要统计的部分设置为白色&#xff0c;其余部分设置为黑色&#xff0c;然后使用该掩膜进行直方图绘制&#xff0c;其完整代码如下所示。 # -*- codi…

golang使用RSA加密和解密

目录 前提 生成RSA公钥和密钥 读取文件 加密 解密 前提 本文章我们是先读取的RSA文件&#xff0c;所以需要先生成RSA&#xff0c;并且保存在文件中&#xff0c;再进行加密 生成RSA公钥和密钥 如果没有公钥和密钥&#xff0c;可以先看看我上一篇文章 生成RSA公钥和密钥h…

在 Java 中的使用Selenium 测试框架

Selenium 测试框架&#xff1a;在 Java 中的使用 Selenium 测试框架就是这样一个强大的工具&#xff0c;它为 Web 应用的自动化测试提供了全面且高效的解决方案。 一、Selenium 简介 Selenium 是一个开源的自动化测试工具集&#xff0c;专门用于测试 Web 应用程序。它支持多…

Camera Raw:编辑 - 曲线

Camera Raw “编辑”模块中的曲线 Curve面板提供了曲线这一强大的工具&#xff0c;通过精确控制亮度和对比度&#xff0c;以及调整红、绿、蓝通道的曲线&#xff0c;可以显著提升图像的视觉效果和色彩表现。这些调整工具为摄影师和图像编辑者提供了丰富的创意可能性&#xff0c…

Cesium 在加载 3dTiles 如何如何获取ID

文章目录 问题分析问题 加载的 3dTiles 打印content.getFeature(i)出来后如图所示,想获取到id值 分析 var tileset = mapLayer.init3dTileLayer({url:it.url,maximumMemoryUsage: it.maximumMemoryUsage,

python查找支撑数 青少年编程电子学会python编程等级考试三级真题解析2022年3月

目录 python查找支撑数 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python查找支撑数 2022年3月 python编程等级考试级编程题 一、题目要求…

金融科技:重塑用户体验,驱动满意度飙升

随着科技的飞速发展&#xff0c;金融科技&#xff08;FinTech&#xff09;已经深入到我们生活的每一个角落&#xff0c;从日常支付到投资理财&#xff0c;再到跨境汇款&#xff0c;它都在悄无声息地改变着我们的金融行为。而在这背后一个不可忽视的驱动力就是金融科技对用户体验…

kubernetes给指定用户分配调用k8s的api权限

文章目录 概要利用RBAC添加角色权限使用shell命令创建角色权限使用配置文件创建角色权限 调用k8s的api获取k8s账户的token 小结 概要 使用kubernetes部署项目时&#xff0c;有些特殊场景&#xff0c;我们需要在自己创建的pod里面调用k8s的api来管理k8s&#xff0c;但是需要使用…