Page 41 - 《软件学报》2020年第12期
P. 41

陈劲松  等:基于多维上下文感知图嵌入模型的兴趣点推荐                                                      3707


         生活中,用户的偏好往往存在周期性.例如,有的用户会在每周末去小区附近的餐馆就餐;或者连续性,例如,一些
         用户偏好吃火锅,可能外出就餐中火锅的比例最大.对于这些用户,POI 的类型对用户偏好的影响远甚于时间的
         衰减效应.
             基于上述的数据和客观现实的分析,我们重新定义了用户偏好的计算公式.我们认为,用户的偏好受两方面
         因素的影响:一方面,显式评分能够反映用户的偏好;另一方面,用户的偏好在语义上有一定的趋向性(图 1 所示).
         也就是说,用户会给那些喜爱的 POI 较高的评分.同时,用户也会喜欢一类 POI,如一些四川的用户可能对火锅的
         偏好要远甚于其他类型的餐馆.具体的公式如下所示:

                                        u = ∑  ⎛  ⎜  S  i v  +  cos(w w ⎟     u ,     i v  ) ⋅  ⎞  v    i  (5)
                                          (, ) D ⎝  uv i ∈  u  S u  ⎠
         其中,括号内第 1 项是指 POI v i 受到用户 u 的喜爱程度. S 表示用户 u 对 POI v i 的评分,S u 表示用户 u 的所有评
                                                       i v
                         S
         分记录中的最大值.         i v  的值越大,说明用户对该 POI 的偏爱程度越大;第 2 项是指用户 u 和 POI  v i 在语义上的
                         S u


         相似性,旨在挖掘 POI  v i 在语义上与用户 u 偏好的契合度. w 表示用户 u 的主题特征向量; w 表示 POI  v i 的主
                                                                                   i v
                                                         u
         题特征向量;cos(⋅)表示余弦相似度,相似度越大,则表示用户 u 与 POI v i 的契合程度越高.
             值得注意的是,两项的取值范围均为(0,1].即,这里我们认为,用户评分和语义相似性在用户偏好的计算上有
         相同的影响力.
             展开来说,我们认为,用户对 POI 的偏好由显示反馈和语义相似性共同组成.而这样的机制还有助于揭示用
         户对 POI 的偏好原因.例如,假设通过计算发现,特定用户偏爱火锅,但是一家具体的火锅店评分却较低,则可能
         分析出其环境不能满足用户需求.因此,通过融合这两种因素,能够更准确地刻画用户偏好.另外,在缺乏评分记
         录时,我们依然可以通过计算语义特征的相似性描述用户偏好,一定程度上克服数据缺失的问题.
         2.5   生成推荐列表

             在为用户提供移动推荐服务时,需要知道用户当前位置 l 和当前时间节点τ,即为模型提供一个输入三元组
         q=(u,l,τ).
             为了减少模型的计算量,参考图 3 的统计结果,绝大部分的用户活动范围没有超过 50km,所以我们将设定一
         个阈值ρ=50km.以用户的当前位置为圆心,计算半径范围中所有地区的 POI.在计算 POI 与用户的关联评分之前,
         先进行一次距离筛选,过滤掉那些距离用户当前位置过远的 POI,避免无意义的计算,提高模型效率.
             筛选出符合用户当前位置的 POI 后,需要对这些 POI 做关联评分计算.通过上文给出的训练方法,我们可以

         计算得到 POI-POI、POI-地区和 POI-时间段的二部图中顶点的嵌入向量 ,vr 和 t .然后,我们根据文献[23]中提
         到的公式(6)计算出 POI 的相关评分.这里的评分代表 POI 与用户偏好的相似程度,评分越高,则代表用户可能会
         更喜欢:
                                            (, ) v =
                                        Score q  u ⋅  T       v +  r ⋅  T    v +       t ⋅  T    v  (6)

         其中, u 表示用户的偏好特征向量,由公式(5)计算得到; r 是代表用户当前位置所对应地区的嵌入向量; t 是代

         表当前时间节点所对应的时间段的嵌入向量; v 是在阈值距离范围内 POI 的嵌入向量.
             通过公式(6)计算出推荐列表后,按照评分降序排列,并过滤掉用户已经访问过的 POI,最后将这个列表推荐
         给用户.
         2.6   方法描述
             输入数据:签到集(包括用户、POI、签到时间和签到地理位置)、评论集(包含用户、POI、评分和评论)、
         一个包含用户实时信息的三元组(u,l,τ),其中,u 表示目标用户,τ表示当前时间节点,l 当前用户所在的位置;
             输出数据:一个按预测值递减排序的 POI 推荐列表.
             方法流程:
             步骤 1.    利用 LDA 主题模型,结合评论集中的用户对 POI 的评论数据,提取出用户和 POI 的主题特征向
   36   37   38   39   40   41   42   43   44   45   46