Page 422 - 《软件学报》2025年第9期
P. 422
钱忠胜 等: 利用伪重叠判定机制的多层循环 GCN 跨域推荐 4333
重复步骤 1、2, 直至社区网络模块度达到最优, 得到完整的社区网络, 可获取最终的社区集. 在社交网络中,
共同邻居的数量可反映用户之间的兴趣相似程度. 若两个用户有很多共同的朋友, 则他们很可能有相似的兴趣和
行为. 故我们使用社区网络图中的共同邻居重新衡量用户间的相似度. 同一社区中的用户 u 和 v 的相似度计算, 如
公式 (6) 所示.
∑
w = w uv +β (w uk +w vk ),(k , u∩v)∩(w uk ∩w vk ) (6)
′
uv
k∈c
其中, w ′ 表示经过伪相似判定后重新获取的用户相似度, β 表示共同邻居权重.
uv
计算用户 u 的所有相似用户节点, 获得基于 u 的相似度矩阵 W , 即联合域相似度矩阵, 它由源域相似度矩阵
′
W 也是加权邻接矩阵, 可作为多层循环 GCN 节点嵌入学习模块的输
′
与目标域相似度矩阵组成. 同时相似度矩阵
入. 伪重叠判定机制的流程图如图 2 所示.
N
初 计 所 非
始 计 与 用 算 在 邻 叠 将 模 更 重
居
化 算 社 户 将 社 节 加 用 块 新 重 叠 重
每 社 区 节 用 区 点 重 计 户 度 社 叠 用 构
户
点
开 个 区 节 是 N 节 产 是 Y 叠 算 节 增 区 用 户 相
始 用 内 点 否 点 生 否 用 模 点 益 集 户 视 似 结
户 权 相 的 户 块 移 最 社 为 束
为 重 连 为 移 模 为 权 度 入 大 与 区 伪 度
矩
模
一 和 权 重 入 块 重 重 增 获 的 块 中 重 阵
叠
个 及 重 叠 邻 度 用 益 得 社 度 的 叠
用
社 和 居 增 区 用
区 户 节 益 户 户
? 点 ?
Y
更新伪重叠用户集
图 2 伪重叠判定机制流程图
2.2 基于多层循环 GCN 的偏好获取
跨域场景中节点大多缺乏明显的特征, 故为提高跨域节点嵌入的准确性, 考虑不使用用户-项目特征信息捕获
节点嵌入. 我们提出多层循环 GCN 学习跨域节点嵌入, 包含节点嵌入模块和图学习模块. 其中, 节点嵌入模块涉及
域共享嵌入层和两域特有嵌入层, 分别生成用于跨域传输的共享嵌入和两域特定嵌入; 图学习模块将用户、项目
嵌入作为输入, 得到用户-项目偏好.
在第 2.1 节利用伪重叠判定机制得到所有用户、项目相似度矩阵后, 将其作为多层循环 GCN 节点嵌入模块
的初始输入. 该模块利用 GCN 分别学习源域、目标域和联合域节点嵌入, 通过聚合低阶信息, 得到用户、项目域
共享和两域特有嵌入, 并利用门控神经单元得到用户组合嵌入和项目组合嵌入. 多层循环 GCN 图如图 3 所示.
嵌入层的输入是邻接矩阵和节点特征矩阵, 通过对节点属性和图结构进行编码生成节点嵌入. 在嵌入层中采
用多层 GCN, 可有效地学习基于邻域聚合的节点嵌入. 在初始阶段, 每个用户 (或项目) 节点初始化为特征向量 X 0
u
0
(或 X ), 此时图结构分别为用户、项目相似度图. 节点嵌入计算如公式 (7) 所示.
i
1 1
(k)
− 2 ˆ
(k)
X (k+1) = ϖ(D u W u D u X F )
− 2
u u u (7)
1 1
− 2 ˆ − 2
(k+1) (k) (k)
X = ϖ(D W i D X F )
i i i i i
其中, X (k) 和 X (k) 分别是第 k 层得到的用户、项目嵌入矩阵, ϖ 表示激活函数, ˆ W u 和 ˆ W i 分别表示带自连接的用户、
u i
′
项目邻接矩阵, ˆ W = W + I (I 为单位矩阵), D u 和 D i 为用户、项目节点的度矩阵, 表示与之相似度不为零的邻居节
点数, F (k) 和 F (k) 分别是第 k 层的用户、项目权重矩阵.
u
i
嵌入模块得到的用户、项目节点嵌入作为图学习模块的输入, 该模块在获取新的权重矩阵后, 将其作为下一
层节点嵌入模块的再次输入, 多次迭代操作. 这样, 利用图学习模块将用户、项目表示可从潜在空间映射到相似度

