Pretraining Language Models with Text-Attributed Heterogeneous Graphs

Pretraining Language Models with Text-Attributed Heterogeneous Graphs

EMNLP

推荐指数:#paper/⭐⭐#​

贡献:

  1. 我们研究了在更复杂的数据结构上预训练LM的问题,即,TAHG。与大多数只能从每个节点的文本描述中学习的PLM不同,我们提出了一个新的预训练框架,使LM能够捕获不同节点之间的拓扑连接。
  2. 作者引入了一个拓扑感知的预训练任务去预测文本图的节点是否在文本图中。这可以使得LM可以利用高阶的信号
  3. 作者设计了一种文本增强策略来丰富无文本节点的语意信息,以缓解文本不平衡问题

异构文本属性图介绍(TAHGs)

G = ( V , E , U , R , X ) \mathcal{G}=(\mathcal{V},\mathcal{E},\mathcal{U},\mathcal{R},\mathcal{X}) G=(V,E,U,R,X),依次分别代表:节点属性,边,节点类型,边类型,节点文本描述。

模型架构

image

第一个模块提取目标节点的上下文,比国内通过联合优化LM和异构图神经网络来预测哪些节点涉及文本图。第二个模块是为了引入节点不平衡的文本描述。值得注意的是,当预训练结束之后,我们只使用PLM在下游任务上测试。

拓扑捕获阶段

这一部分,如上所示,我们的目的是捕获节点之间的一阶和高阶信息。

首先,我们定义context图。(及一个节点的邻域图)。 G u K \mathcal{G}_{u}^{K} GuK代表节点u的K阶内邻居集合。当K大于2,及捕获高阶信息。

Context 图预测(Context Graph Prediction)(GCP)

TAHGs包含多阶邻居信息。和大多数PLM对单个文本进行预训练不同,我们提出了上下文图预测来训练LM捕获丰富的关系信息。

首先,我们得到节点V的表征如下:

H G = f H G N N ( G ) ∈ R ∣ V ∣ × d , H^{\mathcal{G}}=f_{HGNN}\left(\mathcal{G}\right)\in\mathbb{R}^{|\mathcal{V}|\times d}, HG=fHGNN(G)RV×d,其初次输入是通过下面的式子(文本编码)得到的。

f H G N N ( ⋅ ) f_{HGNN}(\cdot) fHGNN()可以表示任何异构图神经网络。

之后,我们编码文本图节点u的描述通过LM:

h L M u = M E A N ( f L M ( X u ) ) ∈ R d , \boldsymbol{h}_{LM}^u=\mathrm{MEAN}(f_{LM}\left(X_u\right))\in\mathbb{R}^d, hLMu=MEAN(fLM(Xu))Rd,

为了捕获节点u的异构性,我们引入了一个映射头在PLM的最后一层。下一步,我们预测节点v是否在context 图中:(这是一个二分类问题)

y ^ u , v = sigmoid ⁡ ( h L M u ⊤ W ϕ ( v ) H v G ) \hat{y}_{u,v}=\operatorname{sigmoid}\left(\boldsymbol{h}_{LM}^{u}{}^{\top}\boldsymbol {W}_{\phi(v)}\boldsymbol{H}_{v}^{\mathcal{G}}\right) y^u,v=sigmoid(hLMuWϕ(v)HvG)

y u , v = 1 y_{u,v}=1 yu,v=1如果 G u K G_u^K GuK包含v,否则为0。

预训练策略

在这个工作中,我们使用BERT以及R-HGCN。

预测上述所有节点的context graph 概率是很困难的( y u , v y_{u,v} yu,v),因此我们使用负样本采样去优化上述公式。为了生成负样本,我们采样k个邻居对于每个跳,负样本从 V ∖ V u K \mathcal{V}\setminus\mathcal{V}_{\boldsymbol{u}}^{K} VVuK中采样,负样本比是5(一个正样本对应5个负样本)。对于GCPtask,我们使用MLM任务去帮助LMs更好的处理文本。最终的优化目标为:

L u = L u M L M + L u C G P = − log ⁡ P ( X ~ u ∣ X u ∖ X ˉ u ) − ∑ v ∈ V u K log ⁡ y ^ u , v − ∑ i = 1 5 E v i ′ ∼ P n ( V ∖ V u K ) log ⁡ ( 1 − y ^ u , v i ′ ) , \mathcal{L}_{u}=\mathcal{L}_{u}^{MLM}+\mathcal{L}_{u}^{CGP}=-\log P(\tilde{X}_{u}|X_{u\setminus\bar{X}_{u}})-\sum_{v\in\mathcal{V}_{u}^{K}}\log\hat{y}_{u,v}-\sum_{i=1}^{5}\mathbb{E}_{v_{i}^{\prime}\sim P_{\boldsymbol{n}}(\mathcal{V}\setminus\mathcal{V}_{\boldsymbol{u}}^{K})}\log\left(1-\hat{y}_{u,v_{\boldsymbol{i}}^{\prime}}\right), Lu=LuMLM+LuCGP=logP(X~uXuXˉu)vVuKlogy^u,vi=15EviPn(VVuK)log(1y^u,vi),

X ~ u \tilde{X}_{u} X~u代表扰动的节点,原始文本的masking rate是40%。 P n ( ⋅ ) P_n(\cdot) Pn()代表正太噪音分布。

文本增强策略

TAGs中有文本丰富的图,也有textless的图。textless的图不足以反映他们的语意,因此我们涉及了一种文本增强策略来解决这个问题。这个策略首先根据TAHGs中的链接结合其邻居的文本描述,来丰富无文本节点的语意,然后通过LM来增强文本。

具体的是,对于text-rich的节点u,我们可以使用token作为输入: M u M_{u} Mu=

[ C L S ] X u [ S E P ] [\mathrm{CLS}]X_{u}\mathrm{[SEP]} [CLS]Xu[SEP]。对于text-less的节点u,我们可以拼接它的文本和k个邻居采样的文本作为输入: M u M_{u} Mu= X u [ S E P ] X N u 1 [SEP] ... [SEP] X N k [ S E P ] , X_{u}\mathrm{~[SEP]~}X_{\mathcal{N}_u^1}\text{ [SEP] ... [SEP]}X_{\mathcal{N}^k} \mathrm{~[SEP],} Xu [SEP] XNu1 [SEP] ... [SEP]XNk [SEP],

通过如上的增强,我们可以将PLM的输入从 X X X更替为 M u M_u Mu

下游任务的微调

在下游任务中,我们抛弃了HGNN,只使用预训练的LM来生成语意信息通过LM编码器。我们探索了不同的headers(映射头)。对于下游任务,LM是冻结的,只有header会被微调。

实验结果+我自己的分内心:

image

image

从表2可以看出,作者提出的GCP好像么有啥特别大的效果(数值上与w/ RGCN对比)。但是,作者的方法又比其他人的方法好一点点,那么,其原因可能是:作者提出的第二部分:文本增强起作用了。这个文本增强的方法,也类似于24年唐杰组的虚拟节点​​

image

从该表可以看出,TAS的性能其实比neighbors only 和textless-only两者较高的的高一丢丢。可以猜测,TAS的最大的作用是增强了其的稳定性

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

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

相关文章

DeepSeek 提示词:基础结构

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…

2025-02-25 学习记录--C/C++-用C语言实现删除字符串中的子串

用C语言实现删除字符串中的子串 在C语言中&#xff0c;你可以使用strstr函数来查找子串&#xff0c;然后用memmove或strcpy来覆盖或删除找到的子串。 一、举例 &#x1f430; #include <stdio.h> // 包含标准输入输出库&#xff0c;用于使用 printf 函数 #include <s…

Python入门12:面向对象的三大特征与高级特性详解

面向对象编程&#xff08;OOP&#xff09;是Python编程中非常重要的一部分&#xff0c;它通过封装、继承和多态这三大特征&#xff0c;帮助我们更好地组织和管理代码。除此之外&#xff0c;Python还提供了一些其他特性&#xff0c;如类属性、类方法和静态方法&#xff0c;进一步…

对计算机中缓存的理解和使用Redis作为缓存

使用Redis作为缓存缓存例子缓存的引入 Redis缓存的实现 使用Redis作为缓存 缓存 ​什么是缓存&#xff0c;第一次接触这个东西是在考研学习408的时候&#xff0c;计算机组成原理里面学习到Cache缓存&#xff0c;用于降低由于内存和CPU的速度的差异带来的延迟。它是在CPU和内存…

音视频入门基础:RTP专题(12)——RTP中的NAL Unit Type简介

一、引言 RTP封装H.264时&#xff0c;RTP对NALU Header的nal_unit_type附加了扩展含义。 由《音视频入门基础&#xff1a;H.264专题&#xff08;4&#xff09;——NALU Header&#xff1a;forbidden_zero_bit、nal_ref_idc、nal_unit_type简介》可以知道&#xff0c;nal_unit…

Linux 驱动入门(6)—— IRDA(红外遥控模块)驱动

文章目录 一、编译替换内核和设备树二、IRDA&#xff08;红外遥控模块&#xff09;1. 红外遥控简介2. 红外遥控器协议3. 编程思路 三、驱动代码1. GPIO 实现1.1 驱动层代码1.2 应用层代码 2. 设备树实现2.1 修改设备树2.2 驱动层代码2.3 应用层代码 3. 上机测试 一、编译替换内…

QSNCTF-WEB做题记录(2)

[第一章 web入门]常见的搜集 来自 <天狩CTF竞赛平台> 1&#xff0c;首先就是对网站进行目录枚举爆破 dirsearch -u http://challenge.qsnctf.com:31616 -x 404,403 得到如下的目录&#xff0c;分别查看一下内容 /.DS_Store /inde…

「软件设计模式」责任链模式(Chain of Responsibility)

深入解析责任链模式&#xff1a;用C打造灵活的请求处理链 引言&#xff1a;当审批流程遇上设计模式 在软件系统中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个请求需要经过多个处理节点的判断&#xff0c;每个节点都有权决定是否处理或传递请求。就像企业的请假审批…

Ocelot 请求聚合

请求聚合 当下游服务是返回404状态码&#xff0c;在返回结果中&#xff0c;其对应的值则为空值&#xff0c; 即使聚合路由中所有的下游服务都返回404状态码&#xff0c;聚合路由的返回结果也不会是404状态码。 Ocelot允许你声明聚合路由&#xff0c;这样你可以把多个正常的Ro…

MongoDB安装与配置 导入导出

1、MongoDB的安装 首先cd到目录 cd /usr/local/ 执行下载 wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-7.0.7.tgz 解压文件 tar -xvf mongodb-linux-x86_64-rhel80-7.0.7.tgz 将解压后的“mongodb-linux-x86_64-rhel80-7.0.7”文件夹重命名…

Kotlin 知识点二 延迟初始化和密封类

对变量延迟初始化 Kotlin 语言的许多特性&#xff0c;包括变量不可变&#xff0c;变量不可为空&#xff0c;等等。这些特性 都是为了尽可能地保证程序安全而设计的&#xff0c;但是有些时候这些特性也会在编码时给我们带来不 少的麻烦。 比如&#xff0c;如果你的类中存在很多…

简单介绍 SSL 证书类型: DV、OV、EV 的区别

SSL证书类型DV、OV、EV 区别&#xff1a; DV(域名验证型)SSL证书 OV(组织验证型)SSL证书 EV(扩展验证型)SSL证书

深度解析SmartGBD助力Android音视频数据接入GB28181平台

在当今数字化时代&#xff0c;视频监控与音视频通信技术在各行各业的应用愈发广泛。GB28181协议作为中国国家标准&#xff0c;为视频监控设备的互联互通提供了规范&#xff0c;但在实际应用中&#xff0c;许多Android终端设备并不具备国标音视频能力&#xff0c;这限制了其在相…

1分钟用DeepSeek编写一个PDF转Word软件

一、引言 如今&#xff0c;在线工具的普及让PDF转Word成为了一个常见需求&#xff0c;常见的pdf转word工具有收费的wps&#xff0c;免费的有pdfgear&#xff0c;见下文&#xff1a; PDFgear:一款免费的PDF编辑、格式转化软件-CSDN博客 还有网上在线的免费pdf转word工具smallp…

PyCharm Professional 2025 安装配置全流程指南(Windows平台)

一、软件定位与核心功能 PyCharm 2025 是 JetBrains 推出的智能 Python IDE&#xff0c;新增深度学习框架自动补全、实时性能热力图等功能1。相较于社区版&#xff0c;专业版支持&#xff1a; Web开发&#xff08;Django/Flask&#xff09;数据库工具&#xff08;PostgreSQL/…

DeepSeek回答:AI时代Go语言学习路线

最近有小伙伴经常会问&#xff1a;**该如何学习入门Go语言&#xff1f;怎样提升Go语言Coding水平&#xff1f;**这篇文章我们就使用DeepSeek来梳理下Go语言在AI时代的学习路线。 向DeepSeek提问的问题原文&#xff1a; 你现在是一名资深的Go语言工程师&#xff0c;精通Go语言并…

OpenGL ES -> GLSurfaceView绘制点、线、三角形、正方形、圆(顶点法绘制)

XML文件 <?xml version"1.0" encoding"utf-8"?> <com.example.myapplication.MyGLSurfaceViewxmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"…

嵌入式项目:STM32刷卡指纹智能门禁系统

本文详细介绍基于STM32的刷卡指纹智能门禁系统。 获取资料/指导答疑/技术交流/选题/帮助&#xff0c;请点链接&#xff1a; https://gitee.com/zengzhaorong/share_contact/blob/master/stm32.txt 1 系统功能 1.1 功能概述 本系统由STM32硬件端&#xff08;下位机&#xff09;…

Dubbo RPC 原理

一、Dubbo 简介 Apache Dubbo 是一款高性能、轻量级的开源 RPC 框架&#xff0c;支持服务治理、协议扩展、负载均衡、容错机制等核心功能&#xff0c;广泛应用于微服务架构。其核心目标是解决分布式服务之间的高效通信与服务治理问题。 二、Dubbo 架构设计 1. 核心组件 Prov…

RBAC授权

4 RBAC授权 4.1 什么是RBAC 在Kubernetes中&#xff0c;所有资源对象都是通过API进行操作&#xff0c;他们保存在etcd里。而对etcd的操作我们需要通过访问kube-apiserver来实现&#xff0c;上面的Service Account其实就是APIServer的认证过程&#xff0c;而授权的机制是通过RBA…