Page 407 - 《软件学报》2024年第6期
P. 407
钱忠胜 等: 融合自适应周期与兴趣量因子的轻量级 GCN 推荐 2983
i i
2. T = (time_max( B ) – time_min( B )) / n /* 获取单位切分周期长度*/
u u
i
3. For B in B :
u
4. index = 0
5. For i in TPN: /* 按切分周期长度为单位, 遍历用户的整个周期*/
6. If action(i) ≠ NULL: /* 判断该切分周期内行为是否发生*/
7. If index< –z or index>z: /* 判断是否在有效饱和值内*/
8. Continue
9. Elif:
10. index += 1 /* 有值则加 1, 否则减 1*/
11. Else:
12. index –= 1
13. End If
φ An = σ (index) /* 将得出的兴趣指数经 Sigmoid 优化, 见公式 (10)*/
′
14.
15. End If
16. End For
17. ϕ = f(φ An ) /* 更新用户的兴趣量集*/
18. End For
19. Output ϕ
End
3.4 融合深度信息的 GCN 推荐
用户短期内兴趣量大的兴趣易被模型学习, 相反地, 将会被遗忘的兴趣却常被忽略, 但往往更可能是潜在兴
趣, 甚至其推荐价值要超过当前新挖掘的兴趣. 这就要求我们的推荐不仅要考虑当前的热门兴趣, 还需兼顾到下一
次推荐或用户下一次行为发生前将会被遗忘的兴趣 (注意, 这种兴趣可能来自前几次推荐). 显然, 前面第 3.2–3.3
节特征挖掘的工作能够保证这一点.
但现实中, 用户一般不会主动再去浏览将会被遗忘的兴趣个体, 也就是说用户的此次兴趣再次作用到上一个
周期兴趣项目的概率并不大. 但却常体现在同一类项目中, 即再次浏览与上一次兴趣项目同类的项目个体. 一般认
为, 用户潜在兴趣是先表现在某类项目上, 再指向该类的某个具体项目上的想法是合理的.
例 4: 假设喜剧类电影《喜剧之王》是用户上个历史周期的兴趣项目, 但这个周期对动作类电影浏览量更高.
因此, 在推荐中考虑动作类电影的同时, 也不能放弃电影《喜剧之王》带来的历史兴趣信息. 然而, 再推荐一次电
影《喜剧之王》意义不大, 但可推荐同为喜剧类的其他电影, 比如《功夫》.
根据例 4, 提出的模型 LG_APIF 遵从用户的兴趣变化规律, 先从更为宏观的角度去挖掘用户兴趣. 比如, 先推
荐出用户的兴趣项目类型, 再从兴趣项目类型推荐列表中预测用户的兴趣项目个体.
3.4.1 兴趣项目类型推荐
协同过滤、协同深度学习等模型 [23,24] 的嵌入函数缺乏对关键关联信息的精确编码, 往往这种编码揭示了隐藏
在用户-项目交互中的用户 (或物品) 间的相似性. 更具体地说, 大多数现有的方法为降低模型复杂度或使高阶传播
更好地拟合嵌入, 仅使用描述性特征 (例如 ID) 来构建嵌入函数, 这很难考虑用户-项目的一般交互或更高阶交互
关系. 因此, 当嵌入不足以捕获协作信息时, 我们采用具有交互关系的操作来弥补, 且为避免过度增加高阶传播的
负担, 先将用户-项目的一般交互关系转变成具有高阶连接性的形式, 如图 5 所示.
受最近发展的 GNN [3,4,25] 的启发, 模型 LG_APIF 在传统用户-项目图结构的基础上, 加入项目类型信息, 以构
建用户-类型-项目三元图结构, 使传播网络输入的图结构数据开始就拥有较为显式的协作信号. 此外, 本文采用
GCN 技术来传播用户-项目嵌入信息, 对用户与项目的高阶交互信息进行挖掘. 由图 5 可知, 将每种潜在项目类型