摘要翻译:
社交网络是全球范围内分享内容的重要在线渠道之一。在这种背景下,预测一篇帖子在互动方面是否会产生影响,对于推动这些媒体的盈利利用至关重要。在现有研究中,许多方法通过利用帖子的直接特征来解决这一问题,这些特征通常与文本内容以及发布该帖子的用户相关。
在本文中,我们认为互动的增加还与另一个关键因素相关,即社交媒体用户发布的帖子之间的语义关联。因此,我们提出了一种基于图神经网络(Graph Neural Network)的解决方案------TweetGage,该方法基于一种全新的图模型来表示帖子之间的关系,以预测用户互动情况。
为了验证我们提出的方法,我们专注于 Twitter 平台,并进行了全面的实验,提供了其有效性的证据。
相关工作部分翻译:
社交网络中的用户参与度(User Engagement)概念已在文献中得到了广泛研究[20, 41, 38]。由于 Facebook、Twitter 和 TikTok 等社交媒体的广泛流行,许多公司在这些平台上不断加大内容创建和分发的投资。然而,评估这些投资的效果并非易事,但对有效创建社交平台上的帖子而言至关重要。用户参与度是衡量帖子影响力的最常用指标之一[41]。
根据不同的社交网络,用户可以通过多种方式与帖子互动,因此衡量参与度的方法也各不相同[20]。例如,在 Twitter 上,用户可以点赞、转发和回复帖子,这些行为被用于构建用户参与度的衡量指标[38, 32, 31, 19]。在本研究中,我们决定使用[19]提出的公式来计算参与度,详细内容将在第3节中介绍。
由于研究人员和企业对社交网络用户参与度研究的高度兴趣,许多关于预测参与度的方法相继被提出[14, 5, 6, 28]。许多方法依赖于机器学习和深度学习算法。从利用网络特征的角度来看,现有研究可分为两大类:(i) 不考虑基于图的特征的参与度预测[42, 44, 14, 29, 34, 4],以及 (ii) 考虑基于图的特征进行预测[19, 46, 37, 18, 21, 2]。
在第一类方法中,研究人员利用用户个人资料特征、推文的点赞、转发和评论数量等推文表现数据,以及文本分析。例如,在[44]中,作者分析了一组反映用户行为、推文统计和文本语义(通过 BERT 进行建模)的特征,并使用 LightGBM(轻量级梯度提升机)和多层感知机(MLP)在监督任务中进行预测。结果表明,用户与推文的互动主要基于文本语义和内容,而推文作者的受欢迎程度在评论和提及方面有所作用。在[42]中,研究人员研究了 COVID-19 相关推文中的错误信息与用户参与度之间的关系,参与度通过点赞和转发总数进行衡量,并根据中位数将其标记为高或低参与度。他们从推文文本中提取了诸如单词数量、词性标注等特征,但未使用深度学习嵌入技术。结果数据集被输入到梯度提升、多项式朴素贝叶斯和随机森林分类器中,取得了较好的性能。然而,这类方法未考虑用户和帖子之间的交互,而这些交互正是社交网络的核心,蕴含着可以提高分类效果的重要信息。
在第二类方法中,研究人员不仅使用前述特征,还结合从用户及相关推文中提取的基于图的特征。例如,在[19]中,研究人员预测哪些推文将在 Twitter 上产生最高的用户参与度。他们将这一问题建模为协同排序任务,并利用用户-项目-推文的交互数据,提取诸如用户历史平均参与度、用户好友与关注者数量比率等特征,并通过归一化折扣累计增益(NDCG)优化评分函数,以直接提高用户参与度。在[18]中,研究人员微调了 DistilBERT 模型,以获取推文的文本嵌入,并使用高效流形密度估计器(Efficient Manifold Density Estimator)将推文文本表示为固定大小的压缩特征。此外,他们还加入了基于有向图的社区检测特征,以捕捉用户之间的复杂交互,研究发现大型社区通常具有较低的互动强度。随后,这些特征被输入到浅层前馈神经网络,以预测推文的参与度。
在[37]中,研究人员提出了"人-内容网络分析"(PCNA)框架,该框架分析社交网络上的人类动态,使用了三类特征:(i) 社区特征,如社区规模、用户跟随的活跃用户数量等;(ii) 作者特征,如关注者数量;(iii) 内容特征,如转发、提及、标签和关键词等。最终,他们使用支持向量机(SVM)进行推文参与度预测,证明了所有这些特征类别对获得良好的性能都至关重要。
在[21]中,研究人员提出了一个包含两阶段的集成模型,第一阶段包括 LightGBM、梯度提升和神经网络,第二阶段使用另一个 LightGBM 进行最终预测。该模型的输入分为两组:第一组用于建模用户行为,如主动和被动的参与数量、基于语言或标签的参与度、用户相似度(通过无向图提取,其中每条边表示一个用户与另一个用户的交互,并以参与数量作为权重);第二组涉及推文文本特征,包括 DistilBERT 生成的文本嵌入、用户使用相同单词的频率以及推文主题(研究人员手动将热门主题与最常使用的单词列表进行关联)。
尽管已有一些研究考虑了基于图的特征来预测帖子参与度,但我们的研究与其他研究仍存在一些差异。正如我们将在第3.1节中详细讨论的,我们使用基于标签的推文网络进行建模,并引入时间阈值来控制连接数量。然后,该推文网络被输入到图神经网络(GNN)中,以预测推文的用户参与度。
目前文献中使用的机器学习和深度学习算法并未专门设计用于处理图数据,这也是我们希望强调的限制。我们将证明,图神经网络在该场景下具有优势,因为它们可以从推文之间的潜在图结构中学习有意义的模式,并利用这些知识来获得极高的预测性能。
3 方法论
在本节中,我们描述用于 Twitter 参与度预测的方法论。第 3.1 节介绍了我们的建模方案,第 3.2 节简要描述了图卷积神经网络(Graph Convolutional Neural Networks, GCN)及其在我们研究中的重要性。
3.1 模型方案
在本节中,我们提出了一种合适的网络模型来表示 Twitter 推文及其交互。设 TTT 为一组 Twitter 推文,其中 ti∈Tt_i \in Tti∈T 表示一条推文,而 ϕ(ti)\phi(t_i)ϕ(ti) 为提取推文 tit_iti 信息的函数,例如时间戳、文本、点赞数、发布用户的 ID 等。在本研究中,ϕ(ti)\phi(t_i)ϕ(ti) 关联了以下特征:
- idtiid_{t_i}idti: 推文 tit_iti 的唯一标识符;
- ttit_{t_i}tti: 推文发布时间戳;
- texttitext_{t_i}textti: 推文文本内容;
- 帖子长度: 推文字符数;
- 表情符号: 推文中使用的表情符号数量;
- utiu_{t_i}uti: 发布推文的作者用户名;
- 是否含媒体: 是否包含图片和/或视频;
- FavoritetiFavorite_{t_i}Favoriteti: 推文的点赞数量;
- RetweettiRetweet_{t_i}Retweetti: 推文的转发数量;
- 官方来源: 是否通过 Twitter 官方网站或 API 发布;
- htih_{t_i}hti: 推文使用的标签集(hashtags);
- 标签数量: 推文中包含的标签数量;
- 提及数量: 推文中提及的用户名数量。
为处理推文文本 texttitext_{t_i}textti,我们需要将文本映射到向量表示。为此,定义函数 ψ(textti)\psi(text_{t_i})ψ(textti),将自然语言文本输入并返回一个在连续空间中的数值向量。该函数可使用 NLP 领域中常见的嵌入模型,如 Word2Vec、GloVe 或 BERT[35]。
此外,我们需要提取关于推文发布用户的信息。用户 ID 由 utiu_{t_i}uti 表示,我们定义函数 γ(uti)\gamma(u_{t_i})γ(uti) 来提取用户的相关信息,例如:
- 是否为认证用户: 真假用户标识(布尔值);
- 粉丝数量: 该用户的粉丝数量;
- 关注数量: 该用户关注的账户数量;
- 推文总数: 该用户创建账户以来发布的推文数量。
随后,我们定义图 GGG 来建模推文及其交互。具体而言,设 G=(T,E)G = (T, E)G=(T,E) 为推文网络,其中边集 EEE 表示推文之间的关系。如果两条推文 tit_iti 和 tjt_jtj 共享至少一个相同的标签,并且发布时间在特定时间间隔 Δ\DeltaΔ 内,则存在边 eij=(ti,tj,wij)e_{ij} = (t_i, t_j, w_{ij})eij=(ti,tj,wij),其中边权 wijw_{ij}wij 表示两条推文的共同标签数量。
在本研究中,我们设定时间阈值 Δ=15\Delta = 15Δ=15 分钟,即两条推文必须在 15 分钟内发布,并共享至少一个标签,才会在图中建立连接。
为了评估推文的参与度,我们采用 [19] 提出的公式进行计算:
eng(ti)=Favoriteti+Retweettieng(t_i) = Favorite_{t_i} + Retweet_{t_i}eng(ti)=Favoriteti+Retweetti
其中,FavoritetiFavorite_{t_i}Favoriteti 代表点赞数,RetweettiRetweet_{t_i}Retweetti 代表转发数。
为了进行二分类预测,我们需要为每条推文 tit_iti 分配一个类别标签集合 LLL。标签定义如下:
lti={0如果 eng(ti)=01如果 eng(ti)≥1l_{t_i} = \begin{cases} 0 & \text{如果 } eng(t_i) = 0 \\ 1 & \text{如果 } eng(t_i) \geq 1 \end{cases}lti={01如果 eng(ti)=0如果 eng(ti)≥1
简单来说,如果推文在 Twitter 上未获得任何点赞或转发,则其标签为 0;若至少获得一次点赞或转发,则其标签为 1。
3.2 图卷积神经网络(GCN)
深度学习模型能够有效地学习欧几里得数据的隐藏模式,但在许多情况下,数据是以图的形式表示的[48]。图数据具有可变的节点数量,并且每个节点可以有不同数量的邻居,使得传统的深度学习操作(如卷积)难以直接应用。此外,图数据中的实例(即节点)通常通过各种类型的链接相互关联,违背了机器学习假设数据独立性的前提。
这些问题可通过图神经网络(Graph Neural Networks, GNN)来解决,GNN 可以从输入图中提取节点和边的高层次表示[40]。
研究表明,图卷积操作能够在图的邻域中学习丰富的表示[11]。GCN 允许将节点嵌入表示为其自身特征及邻居特征的聚合。近年来,图卷积神经网络(GCNN)的两种变体获得了广泛关注:
- GraphSAGE[22]: 显式为邻居分配非参数权重,基于节点度数进行聚合;
- Graph Attention Network(GAT)[45]: 通过注意力机制自动分配权重,给关键邻居更大的权重。
在我们的研究场景中,GraphSAGE 优于 GAT,因为它能够更好地处理数据的特定特性。因此,我们选择 GraphSAGE 作为参考 GCNN 结构。
根据 GraphSAGE[22],设 TtiT_{t_i}Tti 为与节点 tit_iti 直接相连的邻居集合,计算节点嵌入的过程如下:
-
对于每一步 kkk,节点 tit_iti 的表示为 rtikr^k_{t_i}rtik。
-
聚合邻居表示:
rTtik=∑tj∈Ttirtjkr^k_{T_{t_i}} = \sum_{t_j \in T_{t_i}} r^k_{t_j}rTtik=tj∈Tti∑rtjk
-
将当前节点表示与聚合的邻居表示拼接,输入全连接层,并使用 GELU 激活函数。
在我们的模型中,GCNN 的节点特征来自推文及其发布用户。对于用户,我们使用粉丝数、关注数、推文数;对于推文,我们采用帖子长度、标签数量、提及数量、表情符号数量、官方来源及媒体包含情况。此外,我们通过预训练 BERT 计算推文文本嵌入。
4 实验
在第 4 节,我们将介绍所使用的数据集及其统计信息,并进行网络分析,以验证我们的策略。随后,我们将本研究方法与其他仅使用文本和用户信息的模型进行对比,并进行消融研究,评估是否由于考虑图结构信息而取得了更优的预测性能。
4.1 数据集描述
我们的 Twitter 数据集包含 2021 年 11 月发布的推文,并通过 Twitter API 实时流收集。下载 2021 年 11 月的 Twitter 数据集后,我们进行了数据清洗操作。首先,删除了所有非英文推文。其次,由于原始数据集中不包含任何交互信息(例如点赞数、提及数和转发数),我们开发了一个 Python 脚本,再次使用 Twitter API 更新推文数据[24, 12]。
由于数据集中推文数量非常庞大(超过 100 万条),我们决定仅选取 2021 年 11 月 1 日至 7 日的一周数据,这仍然是一个较大的数据集。最后,我们根据公式 (1) 计算每条推文的用户参与度。数据清洗后的统计信息见表 1。
表 1:数据集统计信息
项目 | 数值 |
---|---|
天数 | 7 |
用户数量 | 194,046 |
推文数量 | 243,750 |
平均每日推文数 | 34,821.43 |
唯一标签数量 | 94,646 |
用户推文数中位数 | 1 |
用户发布推文最大数 | 126 |
从表 1 的分析中可以看出,我们的数据集包含 243,750 条推文,分布在 11 月的第一周。推文中使用了大量不同的标签(hashtags),这对于我们构建推文网络非常重要。正如许多社交网络场景中观察到的[16, 33],用户推文数的中位数较低(即 1),但最大值较高(即 126)。这表明,不同作者在发布活动方面存在显著差异,少数用户发布了大量推文,而大多数用户仅发布了一到两条推文。
基于所选推文数据集,我们构建了对应的图 GGG,其统计特征见表 2。
表 2:图统计信息
项目 | 数值 |
---|---|
时间阈值(分钟) | 15 |
节点数量(推文数) | 243,750 |
边数量 | 4,403,434 |
图密度 | 0.000148 |
连接组件数 | 120,434 |
最大连接组件的节点数 | 18,322 |
从表 2 中可以看到,节点数量与推文数量一致,而边数量超过 440 万条,表明推文之间存在大量关联。尽管我们设定了 15 分钟的时间阈值以限制边的生成,仍然产生了大量连接。此外,我们观察到连接组件的数量较多(占节点总数的 49.40%),最大组件包含 18,322 个节点。这表明图中存在许多孤立节点或包含少量节点的子图,这可能受到使用的标签和时间阈值的影响。
构建 GGG 之后,我们计算了每个推文的四种中心性指标(加权度中心性、接近中心性、中介中心性和特征向量中心性[13, 26]),并生成了所有已提取特征的相关矩阵,结果如图 2 所示。
相关性分析
从图 2 中可以看到,数据集中大多数特征之间的相关性较低,且一些相关性符合预期。具体而言,推文的参与度与以下特征具有一定的相关性:
- 用户粉丝数量
- 帖子长度
- 标签数量
- 提及数量
- 是否包含媒体
此外,加权度中心性和特征向量中心性与推文中的标签和提及数量存在相关性,这可以通过图构建方式来解释。整体而言,数据集中推文参与度与其他特征的线性相关性较弱,这表明我们需要采用非线性方法来预测推文的用户参与度。
4.2 中心性测度与参与度分析
为了进一步研究参与度的影响,我们分析了推文在图中的中心性特征,并比较了有参与度与无参与度推文的差异。我们使用四种中心性指标来描述节点的不同角色,例如连接数量、信息流影响力或与重要节点的连接程度。
从实验结果来看,加权度中心性、接近中心性和特征向量中心性遵循幂律分布,而中介中心性呈现出更均匀的分布。这表明在 Twitter 网络中,少数推文在网络中起到更关键的连接作用。
我们进一步根据参与度对推文进行了分类,并比较了不同类别的中心性值分布。结果表明,无互动推文的加权度中心性均值和标准差均高于有互动推文,这表明使用大量标签并不能保证推文获得更高的互动率。统计检验(Kolmogorov-Smirnov 检验)表明两类推文的中心性分布存在显著差异,这验证了采用图神经网络进行预测的可行性。
4.3 结果分析
我们的方法优于传统方法的优势在于它不仅利用了推文的特征,还结合了图的结构信息。我们与多种基线模型进行了比较,包括:
- BERT 微调(BERT FT): 仅使用推文文本嵌入进行预测。
- 多层感知机(MLP): 采用 32 个隐藏神经元的 MLP 模型。
- 卷积神经网络(CNN): 采用 1D 卷积层的 CNN 模型。
- XGBoost: 使用 2020 RecSys Challenge 获胜方案。
实验结果显示,基于 BERT 的文本特征模型性能最差,说明仅使用文本信息不足以完成该任务。我们的基于 GNN 的模型在所有评估指标上均显著优于基线方法。
4.4 消融研究
我们进一步研究了不同特征对模型性能的贡献。实验显示:
- 仅使用图结构特征,模型表现较差。
- 结合推文内容和用户信息特征后,模型性能显著提升。
- 使用 PCA 降维后,仍然保持高精度,但完整特征集性能最佳。
5 结论
本文提出了一种基于图神经网络的推文用户参与度预测方法。我们构建了基于标签的推文网络,并结合推文内容和用户信息,实现了对推文互动情况的精准预测。实验结果表明,该方法在所有评估指标上均优于现有方法,证明了结合图结构信息的有效性。
未来研究将扩展至多分类问题,并探索时间变化对推文互动的影响。此外,我们计划建立基于用户的图模型,以预测社交网络中的用户互动模式,并开发推荐系统,以识别最适合撰写特定主题推文的用户。