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

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,一经查实,立即删除!

相关文章

python中容易错误的知识点,仅仅针对于自己

dtype 参数在创建 NumPy ndarray 对象时用于指定数组元素的数据类型。 在 NumPy 中,直接使用 Python 列表即可创建 ndarray 对象,无需使用 list() 函数。 dtype 属性正确地表示了数组中元素的数据类型,所以描述没有错误。实际上&#xff0c…

【Hadoop学习笔记】认识Hadoop

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

安装mmdetection

python版本:3.7 torch1.10.0,torchvision0.11.0 torchaudio0.10.0 cudatoolkit11.3.1 mmdetection版本:2.11.0 mmcv-full: 根据自己的cuda版本和torch版本修改下面的网址,找到对应的下载并安装 https://download.openmmlab.com/mmcv/dist/cu113/torch1.…

Django ModelForm:循环展示所有字段

在Django开发中,使用ModelForm可以大大简化表单的创建和处理过程。本文将介绍如何使用ModelForm,并展示一种简洁的方法来循环显示表单中的所有字段。 1. 模型定义 首先,让我们看一下我们的模型定义: # models.py from django.db import modelsclass Classxxxx(models.Mo…

C++轻量级 线程间异步消息架构(向曾经工作的ROSA-RB以及共事的DOPRA的老兄弟们致敬)

1 啰嗦一番背景 这么多年,换着槽位做牛做马,没有什么钱途 手艺仍然很潮,唯有对于第一线的码农工作,孜孜不倦,其实没有啥进步,就是在不断地重复,刷熟练度,和同期的老兄弟们&#xf…

[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)是根据所有数据网格记录计算的,并显示在视图页脚中。启…

学懂C#编程:常用高级技术——学会泛型与集合(一)

C# 中的泛型和集合是两个非常重要的概念,它们极大地增强了代码的灵活性和可重用性。下面我将详细讲解这两个概念。 一、泛型 (Generics) 泛型允许你在定义类、接口、方法或委托时使用类型参数,从而使这些类型或方法可以在不指定具体类型的情况下…

【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()…

【代码随想录算法训练营第五十三天|739.每日温度、496.下一个更大元素I、503.下一个更大元素II】

文章目录 739.每日温度496.下一个更大元素I503.下一个更大元素II 739.每日温度 在这里单调栈相当于是在遍历数组的同时记录下了额外的大小关系的信息。因为这里需要的是每个数组元素右边第一个比他大的元素的间隔,因此单调栈是用来在遍历数组的时候存放还没有找到比…

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

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

PyTorch学习之torch.nn.functional.conv2d函数

PyTorch学习之torch.nn.functional.conv2d函数 一、简介 torch.nn.functional.conv2d 是 PyTorch 中用于进行二维卷积操作的函数。卷积操作是深度学习中卷积神经网络(CNN)的核心部分,用于提取图像特征,常见于图像分类、目标检测和…

Nvidia显卡GeForce Experience录屏操作流程

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

MT1595 点到矩形

题目 用下面的数据类型分别表示点和矩形: struct POINT { //点 int x, y; //坐标值x和y } ; struct RECT { //矩形 POINT lt, rb; //矩形的左上角和右下角 } ; 输入矩形两个点的坐标值x和y,再输入第3个点的坐标,计算第3个点距这个矩形的最近…

SQL面试真题解答 数据统计分析,求“同比、环比”等(SQL窗口函数使用)

SQL面试真题解答 数据统计分析,求“同比、环比”等(SQL窗口函数使用) 环比、环比增长率、同比、同比增长率,根据百度百科上的 说明: 环比增长率 环比增长率,一般是指和上期相比较的增长率。 环比增长率&a…

【linux】vim的使用

目录 一、Vim的基本模式 二、Vim的常见命令 三、Vim的高级用法 四、Vim的进阶使用技巧 在Linux系统中,Vim是一款功能强大的文本编辑器,特别适用于程序员的代码编辑和修改。以下是Vim的详细使用教程,包括其基本模式、常见命令和高级用法。…

什么是区块链与去中心化技术?

区块链和去中心化技术代表了当今数字世界中最前沿的创新。这些技术不仅重新定义了数据的管理和交换方式,还开启了全新的应用场景。本文将详细介绍区块链和去中心化技术,探讨它们的原理、特点以及应用。 一、区块链技术概述 1. 区块链的定义 区块链是一…