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

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.mzph.cn/bicheng/37652.shtml

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

相关文章

【Hadoop学习笔记】认识Hadoop

认识Hadoop 从网上找的课程做的笔记,有些图是自己理解画的,可能不正确,可以作为参考,有疑问的地方请直接指出,共同交流。 Hadoop是由Apache基金会开发的一个分布式系统基础架构,主要解决海量数据的存储和海…

[OtterCTF 2018]Recovery

里克必须找回他的文件!用于加密文件的随机密码是什么 恢复他的文件 ,感染的文件 ? vmware-tray.ex 前面导出的3720.dmp 查找一下 搜索主机 strings -e l 3720.dmp | grep “WIN-LO6FAF3DTFE” 主机名 后面跟着一串 代码 aDOBofVYUNVnmp7 是不…

快速应用开发(RAD):加速软件开发的关键方法

目录 前言1. 快速应用开发的概念1.1 什么是快速应用开发?1.2 RAD与传统开发方法的对比 2. 快速应用开发的实施步骤2.1 需求分析与规划2.2 快速原型开发2.3 用户评估与反馈2.4 迭代开发与改进2.5 最终交付与维护 3. 快速应用开发的优点与应用场景3.1 优点3.2 应用场景…

微调Llama2自我认知

一、概述 最近在学习了解大模型微调相关的内容,在学习的过程中也遇到了很多问题,所以将自己的学习过程记录下来,希望对大模型微调感兴趣的小伙伴提供一点帮助,本文主要介绍一下如何通过SFT微调Llama2的自我认知,先看一…

Summaries

摘要是网格项,它利用聚合函数来显示有关所显示数据的摘要信息:总记录计数、最小值等。 GridControl-Grid View Summary Types 汇总 汇总总数(GridSummaryItem)是根据所有数据网格记录计算的,并显示在视图页脚中。启…

【ACM出版-EI稳检索】第三届金融创新、金融科技与信息技术国际学术会议(FFIT 2024,7月26-28)

第三届金融创新、科技与信息技术国际学术会议(FFIT 2024)将于2024年07月26-28日于重庆举行。 FFIT2024 将围绕“金融创新”、"金融科技”与“信息技术”等相关最新研究领域,为来自国内外高等院校、科学研究所、企事业单位的专家、教授、…

第三阶段Spark

Spark和PySpark的介绍 PySpark的相关设置 安装PySpark库 pip install pyspark pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark 构建PySpark执行环境入口对象 # 导包 from pyspark import SparkConf, SparkContext# 创建SparkConf类对象 conf SparkConf()…

算法题--华为od机试考试(整数对最小和、素数之积、找城市)

目录 整数对最小和 题目描述 注意 输出描述 示例1 输入 输出 说明 解析 答案 素数之积 题目描述 输入描述 输出描述 示例1 输入 输出 说明 示例2 输入 输出 说明 解析 找城市 题目描述 输入 输出 示例1 输入 输出 示例2 输入 输出 说明 解析…

Nvidia显卡GeForce Experience录屏操作流程

安装软件 首先我们从英伟达官网下载GeForce Experience程序,安装在电脑中GeForce Experience(简称 GFE)自动更新驱动并优化游戏设置 | NVIDIA 登录软件 安装完成后登录 开启录屏功能 登录后点击右上角的设置(小齿轮图标&#x…

隐藏Python运行产生的缓存文件(__pycache__)

不少同学使用VScode 提交或运行python代码的时候,出现一些缓存文件 类似于(__pycache__) 这种,对于我这种有一丢丢强迫症的人来说,运行一次就得删除一次,那有没有什么办法将其隐藏的? 在vscode编辑器中打开设置&#…

HarmonyOS Next开发学习手册——创建轮播 (Swiper)

Swiper 组件提供滑动轮播显示的能力。Swiper本身是一个容器组件,当设置了多个子组件后,可以对这些子组件进行轮播显示。通常,在一些应用首页显示推荐的内容时,需要用到轮播显示的能力。 针对复杂页面场景,可以使用 Sw…

第2章_开发板使用

文章目录 第2章 开发板使用2.1 硬件连接2.1.1 连接 ST-Link2.1.2 连接 USB 串口2.1.3 连接 SPI 屏 2.2 运行测试程序验证硬件2.2.1 硬件接线(RS485、CAN)2.2.2 编译工程2.2.3 配置调试器2.2.4 烧录运行 2.3 创建第 1 个工程2.3.1 创建工程2.3.2 选择调试…

动态规划基础练习

我们需要先从数组较大的开始进行处理&#xff0c;每次考察上下左右的&#xff0c;比较当前存储的最大值和转移来的值&#xff0c;哪一个大一点 #define _CRT_SECURE_NO_WARNINGS #include<bits/stdc.h> using namespace std;int n, m; int a[105][105]; int addx[] { 0,…

pandas合并,拆分excel

目录 一:按照列进行拆分 二:将某几列的数据写入新excel 三:合并两个sheet数据到一个excel的一个sheet中 我们以商品销售明细为例,说明下excel的数据拆分和合并,我们的原始数据如下: 一:按照列进行拆分 现在我们需要统计下是否配送和支付方式为维度进行分组以后得数据…

成品视频素材下载网站有哪些?剪辑好可以用的视频素材网站分享

对于初学者在制作短视频时&#xff0c;常常希望能够快速获取高质量的素材。如果你正计划从事短视频创作&#xff0c;这里推荐几个优秀的成品素材网站&#xff0c;希望能对你有所帮助。 首先推荐的是蛙学网 作为国内用户首选的成品视频素材平台之一。这里提供丰富的视频素材库&…

SM2258XT量产工具,SM2258XT开卡三星SSV4颗粒成功分享,SM2259XT量产参考教程,威刚ADATA SP580开卡记录

前两天拆了笔记本上的威刚ADATA SP580 240GB&#xff0c;准备做移动硬盘用&#xff0c;装入移动硬盘盒之后接入电脑&#xff0c;发现系统可认盘&#xff0c;SMART显示正常&#xff0c;Windows的磁盘管理能显示正确容量&#xff0c;但处于未初始化状态&#xff0c;且始终无法初始…

装载问题(回溯法)

#include<iostream> using namespace std; int n;//货物的数量 int c;//轮船的总的载重量 int cw;//轮船当前的载重量 int r;//货物的总重量 int w[1000];//n个货物各自的重量 int x[1000];//当前最优解 int bestx[1000];//最优解 int bestw;//货物的最优载重量 void Bac…

单调队列优化DP——AcWing 135. 最大子序和

单调队列优化DP 定义 单调队列优化DP是一种在动态规划&#xff08;Dynamic Programming, DP&#xff09;中应用的数据结构优化方法。它利用单调队列&#xff08;Monotonic Queue&#xff09;这一数据结构来高效维护一个区间内的最值&#xff08;通常是最大值或最小值&#xf…

C++输出彩色方块

1.使用方法 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0xab); ———————————————————————————————————————— 0 黑色 1 蓝色 2 绿色 3 湖蓝色 4 红色 5 紫色 6 黄色 7 白色 8 灰色 9 …

QT事件处理及实例(鼠标事件、键盘事件、事件过滤)

这篇文章通过鼠标事件、键盘事件和事件过滤的三个实例介绍事件处理的实现。 鼠标事件及实例 鼠标事件包括鼠标的移动、按下、松开、单击和双击等。 创建一个MouseEvent项目&#xff0c;通过项目介绍如何获得和处理鼠标事件。程序效果如下图所示。 界面布局代码如下&#xff…