Page 405 - 《软件学报》2024年第6期
P. 405

钱忠胜 等: 融合自适应周期与兴趣量因子的轻量级               GCN  推荐                                  2981



                     T α  (z 1 ,…) /* 指定浏览次数, 见公式  (3)*/
                 3. a=
                 4. b=  T β  (a, k) /* 计算浏览周长, 见公式  (4)*/
                           i
                 5.   For  B in   B  :
                           u
                 6.  For j in range(k):
                                j
                      c = dis(B m,B u)  /* 计算用户的项目兴趣距离, 见公式   (5)*/
                             j
                 7.
                 8.   d = sim(c) /* 将距离转化为兴趣形态相似度, 见公式        (6)*/
                 9.  End For
                 10. Output I(u, i) /* 输出用户对各种项目的兴趣形态*/
                 11. End For
                            i
                 12.   For  B in   B  :
                            u
                 13.  For i in I:
                              T α T β  ) /* 构建自适应周期模型, 见公式   (7)*/
                 14.    e = F(i,     ,
                                                    被划分为
                 15.  End For
                 16. End For
                            i
                           B  :
                 17.   For  B in    u
                 18.  For i in I i : /* 遍历目标用户的项目兴趣形态集*/
                 19.   T p = Li(B, i) /* 训练模型并生成自适应周期, 见公式    (8)*/
                 20.  End For
                 21. End For
                 22. Output T p  /* 输出自适应周期*/
                 End

                  3.3   兴趣量因子解析
                    已有研究将用户的兴趣量定义为用户对项目的总浏览时长或总行为次数, 显然, 这未注意到兴趣会随时间变
                 化及当前兴趣应起主导作用的问题, 且这种方式通用性不强, 缺乏充足的说服力. 因此, 引入时间影响因素及提高
                 通用性对于衡量用户的兴趣量具有重要意义.
                  3.3.1    行为记忆重组
                    不同情景的推荐, 需要参考的用户历史行为跨度是不一致的. 比如, 商品推荐中, 用户一个月前的数据依然具
                 有很好的参考价值, 但在音乐推荐中, 用户的爱好随心情变化明显, 一周前数据的价值就已大打折扣. 为使近期行
                 为能在兴趣量中起主导作用, 却不丢失长久行为的作用, 就应让用户历史行为时间跨度能随着兴趣分布特性而变
                 化. 为此, 先定义一个周期间隔数         (time_period_num, TPN), 将其作为单位周期间隔长度, 进而用户的历史行为总周
                 期被切分为    n  块. 同时, 用兴趣指数描述用户的兴趣量变化情况, 该指数会随着切分周期的改变呈起伏变化, 表现
                 为一个浮动的小点. 为此, 给出兴趣浮点模型, 通过该模型演算出用户对项目的兴趣量, 如图                         4  所示.
                    例  3: 在图  4  中, 用户历史记录按照    TPN        n  个单位周期, 在一个单位周期中, 并未考虑浏览次数、浏
                 览周长, 而仅考虑行为是否发生, 因为用户的历史行为时间跨度是不断变长的, 历史行为周期内行为发生的过程和
                 程度不是关键, 甚至很容易给当前兴趣带来噪声, 因而只需关注该行为发生与否. 假设用户对每种项目的起始点                                  a
                 的初始兴趣量均为       0, 根据时间周期的推进可演算用户的兴趣量. 在规定一个切分周期内, 若用户对某一项目类型
                 产生行为, 则兴趣指数加一个单位, 否则减一个单位, 直到最近的一个时间节点, 该兴趣指数即对应用户对该项目
                 类型的兴趣量.
                    但采用例    3  的这种简单方式演算出的数值作为兴趣量, 存在很大弊端, 如图                  4  中的  b–c 段及  e–f 段, 由于在历
                 史的某个时期内, 用户对该种项目的未浏览              (或连续浏览) 周期过长, 均会快速减小           (或增大) 该兴趣指数, 使其局
   400   401   402   403   404   405   406   407   408   409   410