Page 419 - 《软件学报》2025年第9期
P. 419
4330 软件学报 2025 年第 36 卷第 9 期
积进行域内和域间推荐. 尽管以上模型有一定程度上的改进但均未同时考虑两个域间的交互. Cao 等人 [22] 提出一
种新的方法 CDRIB, 利用信息瓶颈的原则, 设计了两个 IB 正则化器以同时对域间/域内用户-项目交互进行建模,
从而兼顾了两个域的交互使之可共同去偏置化. 这些正则化器鼓励对域共享信息进行编码, 使域共享信息能直接
在两个域中进行推荐. 然而, 虽然以上模型均是为优化基于图结构的推荐而设计的, 但它们仍是从传统 GCN 的角
度来设计的, 未能很好地考虑跨域推荐中的静态化偏好问题.
通过上面的分析, 当前运用于跨域推荐的聚类算法未能很好地利用重叠数据, 且很少考虑与大规模 CDR 数据
集的适配性, 导致聚类算法速度不高, 且无法保证聚类结果准确性. 同时跨域推荐中 GCN 方法使用静态图学习节
点嵌入, 无法有效处理数据稀疏问题.
基于此, 本文提出一种利用伪重叠判定机制的多层循环 GCN 跨域推荐模型 PO-CDRec. 该模型充分运用重叠
数据对 Louvain 社区聚类算法进行改进, 设计一个伪重叠判定机制, 挖掘用户的信任关系以及相似用户社区, 从而
提高聚类算法在跨域推荐中的准确率和效率; 此外, 该模型还利用一个包含嵌入学习模块和图学习模块的多层循
环 GCN, 学习动态的域共享特征、域特有特征以及动态图结构, 并通过两模块的循环增强, 获取用户最新偏好, 从
而缓解数据稀疏问题, 提高跨域数据利用率. 在得到用户与项目的组合特征向量后, 运用采用 MLP 对用户-项目交
互建模, 获取最终预测交互概率.
2 利用伪重叠判定机制的多层循环 GCN 跨域推荐模型框架
问题定义: 假定源域和目标域中分别存在一组用户及其对应的交互项目, 两组用户部分重叠, 项目不重叠,
S O T O S T
,
,
分别用集合 U = U ∪{u 1 ,u 2 ,...,u |U S −U O | } U = U ∪{u 1 ,u 2 ,...,u |U T −U O | } I = {i 1 ,i 2 ,...,i |I S | } 和 I = {i 1 ,i 2 ,...,i |I T | } 表示,
其中|U |、|U |、|I |和|I |分别为源域用户数、目标域用户数、源域项目数和目标域项目数. 重叠用户集用
T
S
S
T
O
O
U = {u 1 ,u 2 ,...,u |U O | } 表示, 其中|U |为重叠用户数. 对于重叠用户 u∈U , 他在源域与目标域中均存在交互的项目 I S u
O
I . 这样, 跨域推荐任务被定义为, 模型利用重叠用户的交互信息链接源域与目标域用户, 并分别学习不同域用
T
和
u
户的域共享特征和域特有特征, 最终为两域中不重叠用户做推荐.
本文模型 PO-CDRec 利用伪重叠判定机制对用户聚类以获取用户相似度矩阵, 同时使用动态循环图结构的多
层 GCN 学习域特有和域共享节点嵌入, 最终预测源域及目标域得分概率. 下面给出 PO-CDRec 的整体框架, 如后
文图 1 所示, 主要包含如下几个模块.
1) 伪重叠判定机制模块, 获取用户相似性. 利用重叠用户对联合域用户进行聚类时, 以社区聚类算法取代传统
跨域中的聚类算法, 我们设计了伪重叠用户判断机制, 改进 Louvain 算法用于跨域推荐, 对源域和目标域的用户进
行聚类, 生成用户社交网络, 得到用户信任关系.
2) 多层循环图卷积网络模块, 挖掘高阶节点嵌入. 利用 GCN 聚合节点嵌入时, 以动态循环图结构代替传统图
卷积中的固定图学习. 通过这种方式聚合嵌入可充分利用不同域数据信息, 从域内/域间角度考虑权重关系, 增强
模型的高阶连通性, 并利用门控网络聚合最终的节点嵌入表示.
3) 模型预测模块, 生成推荐列表. 采用 MLP 对用户-项目交互建模, 获取源域与目标域的预测得分概率. 联合
源域与目标域的损失函数优化总损失函数, 提升模型的泛化能力, 达到更优的推荐效果.
为便于阐述, 对文中一些主要符号进行说明, 如后文表 1 所示.
2.1 基于伪重叠 Louvain 算法的社区聚类
跨域推荐根据用户是否与源域/目标域项目同时交互细分为重叠用户与非重叠用户 (冷启动用户), 利用传统
聚类方法的 CDR 模型往往对两域用户分别聚合生成用户群体, 这忽视了不同领域用户的差异性, 同时也无法适用
于大规模 CDR 数据集. 相对于传统聚类方法, 社区聚类将用户划分为不同社区, 能够更好地处理复杂网络中的用
户节点间的关系, 从而挖掘具有相似兴趣的用户群体, 并可有效适用于大规模数据集. Louvain 算法 [23] 作为一种广
泛流行的社区聚类方法具备可扩展性和高效性, 其使用模块度作为相似性度量的局部优化策略, 逐步将节点聚集
成社区, 并将社区视为单个节点继续进行迭代, 以形成模块度最大化的社区聚类, 大大减少了计算复杂度. 为使其
更适配于部分用户重叠场景, 我们结合重叠用户交互信息对其做出相应改进, 提出伪重叠判定机制, 便于跨域推荐.

