Page 410 - 《软件学报》2024年第6期
P. 410
2986 软件学报 2024 年第 35 卷第 6 期
∑ 1
e (k+1) = e k (17)
i u∈N u √ u u
i |N ||N | i
i u
0
0 e 时, 便可分别通过公式 (16) 和公式 (17) 中
● 预测层. 当给定并初始化所有用户的嵌入 e 和所有项目的嵌入
u i
设置的传播方式来层层优化嵌入. 直到嵌入达到最后一层 (第 K 层) 时, 再将每一层用户和项目的嵌入 (包括初始
嵌入) 组合起来, 得到用户 (或项目) 的最终表示, 如公式 (18) 所示:
∑ K ∑ K
′ k
′ k
e u = ω e , e i = ω e (18)
k u
k i
k=0 k=0
其中, 第 k 层嵌入的权重为 ω (即, 用户对第 k 种兴趣项目类型的选择概率).
′
k
最后, 我们将模型预测定义为用户和项目最终表示的内积, 如公式 (19) 所示:
T
S u, i = e e i (19)
u
综上分析, 引入艾宾浩斯遗忘曲线构建兴趣模型, 分别求得自适应周期 (见算法 1) 和兴趣量因子 (见算法 2)
等关键深度信息, 再根据兴趣模型得到用户潜在推荐项目类型, 进一步构建用户-类型-项目三元图结构, 用来表示
用户和项目的嵌入表示, 最后结合 GCN 模拟协同过滤思想, 以生成推荐列表. 具体过程见算法 3.
算法 3. 融合深度信息的 GCN 自适应推荐.
i
输入: 用户当前内的所有的行为记录 B ;
u
输出: 用户的兴趣项目个体推荐列表 List.
Begin
1. Γ T p = ∅, List = ∅ /*参数初始化*/
i
2. For B in B :
u
3. Compute T p /* 计算所有用户对应所有项目的自适应周期, 见算法 1*/
4. Γ T p = f(T p )
5. End For ω (f A ) /* 计算用户-项目类型兴趣占比, 见公式
i
6. For B in B :
u
7. Compute φ /*计算所有用户对应所有项目的兴趣量因子, 见算法 2*/
8. ϕ = f(φ)
9. End For
i
10. For B in B :
u
11. For each user’s T p ∈ Γ T p and φ ∈ ϕ :
12. J = j(T p )
13. f A = φ∗ J /* 计算用户对项目类型的感兴趣程度, 见公式 (2)*/
14. End For
15. p = (11)*/
ω (p) /* 将兴趣占比转换成权重值, 见公式 (12)*/
′
16. q =
17. Sort and update the set of user interest items /* 排序并更新用户兴趣项目类型集*/
18. End For
0
0
19. e = g(∗), e = σ(∗) /*计算用户和项目的初始潜在嵌入, 见公式 (14) 和公式 (15)*/
i
u
0
0
20. e (k+1) = f(e ), e (k+1) = f(e ) /*计算用户和项目的 k 层潜在嵌入, 见公式 (16) 和公式 (17)*/
u u i i
∑ ∑
k
21. e u = e , e i = e k i /*计算用户和项目的最终潜在嵌入, 见公式 (18)*/
u
22. s = S (e u ,e i ) /* 计算项目个体的得分, 见公式 (19)*/
23. List = sort(s) /* 排序获得项目个体推荐得分*/