Pretraining Language Models with Text-Attributed Heterogeneous Graphs

news2025/2/26 7:58:45

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.coloradmin.cn/o/2306242.html

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

相关文章

模型疑问图像、嵌入、推理类型与说明

在进行模型使用的时候,有时候会碰到模型存在模型类型需要选择的情况,如下面deepseek模型选择模型类型图像、嵌入、推理。 以下是针对此问题的了解与说明: DeepSeek 模型是一个多模态人工智能模型,能够同时处理图像和文本数据,并在多种任务中实现高效的嵌入表示和推理。以下…

WiFi IEEE 802.11协议精读:IEEE 802.11-2007,6,MAC service definition MAC服务定义

继续精读IEEE 802.11-2007 6,MAC service definition MAC服务定义 6.1 MAC服务概述 6.1.1 数据服务 此服务为对等逻辑链路控制(LLC)实体提供交换MAC服务数据单元(MSDU)的能力。为支持此服务,本地媒体访…

Visual Studio Code 跨平台安装与配置指南(附官方下载链接)

一、软件定位与核心功能 Visual Studio Code(简称VS Code)是微软开发的开源跨平台代码编辑器,支持超过50种编程语言的智能补全、调试和版本控制功能。2025版本新增AI辅助编程模块,可自动生成单元测试代码和API文档注释。 二、下载…

deepseek自动化代码生成

使用流程 效果第一步:注册生成各种大模型的API第二步:注册成功后生成API第三步:下载vscode在vscode中下载agent,这里推荐使用cline 第四步:安装完成后,设置模型信息第一步选择API provider: Ope…

OceanBase + DeepSeek:5分钟免费搭建企业知识库

过去一个月,DeepSeek 在全球范围内引发了热烈讨论。其突破性的 AI 能力使其日流量显著超越 Claude 和 Perplexity,吸引了众多企业和技术专家的高度关注。随着 AI 技术的不断进步,企业正面临一场深刻的智能化变革——如何通过 AI 重构业务&…

水利工程安全包括哪几个方面

水利工程安全培训的内容主要包括以下几个方面: 基础知识和技能培训 : 法律法规 :学习水利工程相关的安全生产法律法规,了解安全生产标准及规范。 事故案例 :通过分析事故案例,了解事故原因和教训&#x…

基于 sklearn 的均值偏移聚类算法的应用

基于 sklearn 的均值偏移聚类算法的应用 在机器学习和数据挖掘中,聚类算法是一类非常重要的无监督学习方法。它的目的是将数据集中的数据点划分为若干个类,使得同一类的样本点彼此相似,而不同类的样本点相互之间差异较大。均值偏移聚类&…

国产OS上完整编译Qt5.15、搭建基本开发环境需要的库

近期有师弟问我国产OS安装Qt5.15编译老是不完整,不是没声音,就是没视频,或者没有xcb。通过QEMU模拟Arm64,闲来20几天摸索,完整编译了Qt5.15,并编译成功了我的SDR玩具taskBus。 1.主要结论: 该O…

MyBatis简明教程

MyBatis 是一个用于简化数据库操作的持久层框架,它的核心思想是 将 SQL 与 Java 代码解耦,让开发者专注于 SQL 的编写,同时自动处理重复的数据库操作步骤。 一、核心思想:SQL 与 Java 解耦 传统 JDBC 需要开发者手动管理数据库连…

有什么区别?Elastic 和 Splunk 数据层

作者:来自 Elastic Ugo Sangiorgi, Matt Wehle 了解 Elastic 和 Splunk 数据管理方法之间的主要区别,以便做出明智的决策,实现高效的数据处理 在数据管理领域,在讨论如何根据不同的性能要求提供和/或保留数据时,经常会…

BGP状态和机制

BGP邻居优化 为了增加稳定性,通常建议实验回环口来建立邻居。更新源:建立邻居和邻居所学习到的路由的下一跳。多跳:EBGP邻居建立默认选哟直连,因为TTL=1,如果非直连,必须修改TTL。命令备注peer 2.2.2.2 connect-interface lo1配置更新源peer 2.2.2.2 ebgp-max-hop 2配置T…

【电机控制器】PY32F00BF15U6TR-从KEIL5中计算资源消耗资源

【电机控制器】PY32F00BF15U6TR-从KEIL5中计算资源消耗资源 文章目录 [TOC](文章目录) 前言一、MCU芯片手册二、实验三、实验结论四、参考资料总结 前言 使用工具: 1.KEIL5编译器 提示:以下是本篇文章正文内容,下面案例可供参考 一、MCU芯片…

python实战项目58:采集蜻蜓FM热门音频top排行榜

python实战项目58:采集蜻蜓FM热门音频top排行榜 一、采集流程介绍二、数据接口采集三、使用xpath提取页面数据1、抓包,找到数据接口2、发送请求,获取数据3、提取数据4、保存数据一、采集流程介绍 蜻蜓FM热门音频top排行榜的链接为: https://m.qingting.fm/rank/,首页如下图…

STM32【3】芯片的底层组成概论

关于单片机的组成 单片机的意思是,小小计算电脑,麻雀虽小,五脏俱全,里面包含了CPU,ROM,RAM,各种外设。 CPU地位最高,可以访问ROM和RAM,Flash,GPIO等外设&…

基于django图书信息管理系统的搭建(增删改查)

✍django项目搭建教程 ☞ ----------------- 教程 本文主要讲解django如何连接数据库MySQL并且可视化展示,实现增删改查功能 目录 一. 创建django应用 二. 数据库配置 三. 查看数据库 四. 编写代码 4.1视图函数 4.2 配置URL 4.3创建模板文件 4.…

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

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

基于SpringBoot的“古城景区管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“古城景区管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统整体功能图 系统首页界面 系统注册界面 景…

力扣hot100 —— 电话号码字母组合; 子集 (非回溯做法)简单易懂

由于博主对回溯也不是很熟悉,这里提出一种简单易懂的解法(有点暴力) 解题思路: 每个数字对应有自己的字母串; 首先遍历将每个字母存入也就是 res{{a},{b},{c}} 然后遍历后续数子对应的字母,让每个字母与…

【Redis】在Java中以及Spring环境下操作Redis

Java环境下&#xff1a; 1.创建maven 项目 2.导入依赖 <!-- redis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.3.2</version></dependency> 此处使用的是Jedis&…

Directx上传堆和默认堆注意事项

前景 之前我用directx写上传堆上传给默认堆Index&#xff0c;但是我发现数据无法被GPU读取 void HelloTriangle::createDefaultBuffer(const void* data, const UINT byteSize, ComPtr<ID3D12Resource>& defaultBuffer) {ThrowIfFiled(m_Device->CreateCommitte…