《推荐系统实践》阅读笔记(五):利用上下文信息与社交网络数据

    技术2023-07-31  85

    《推荐系统实践》阅读笔记(五):利用上下文信息与社交网络数据

    利用上下文信息

    上下文包括用户访问推荐系统的时间、地点、心情等,对于提高推荐系统是非常重要的。

    时间上下文信息

    时间信息对用户兴趣的影响表现在:用户的兴趣是变化的、物品也是有生命周期的、季节效应

    推荐系统的实时性意味着:实时推荐系统不能每天都给所有用户离线计算推荐结果,然后在线展示昨天计算出来的结果;推荐算法需要平和考虑用户的近期行为和长期行为。

    时间多样性:不同时间推荐的内容不一致

    时间上下文推荐算法:

    最近最热门: n i ( T ) = ∑ ( u , i , t ) ∈ T r a i n , t < T 1 1 + α ( T − t ) n_i(T) = \sum_{(u,i,t) \in Train, t < T}\frac{1}{1+\alpha(T-t)} ni(T)=(u,i,t)Train,t<T1+α(Tt)1

    时间上下文相关的ItemCF算法:

    物品相似度: s i m ( i , j ) = ∑ u ∈ ∣ N ( i ) ⋂ N ( j ) ∣ f ( ∣ t u i − t u j ∣ ) ∣ N ( i ) ∣ ∣ N ( j ) ∣ sim(i,j) = \frac{\sum_{u \in \mid N(i)\bigcap N(j)\mid}f(\mid t_{ui} - t_{uj} \mid)}{\mid N(i)\mid\mid N(j)\mid} sim(i,j)=N(i)N(j)uN(i)N(j)f(tuituj)

    其中 f ( ∣ t u i − t u j ∣ ) f(\mid t_{ui} - t_{uj} \mid) f(tuituj)为时间衰减函数,可以为 f ( ∣ t u i − t u j ∣ ) = 1 1 + α ∣ t u i − t u j ∣ f(\mid t_{ui} - t_{uj} \mid) = \frac{1}{1+\alpha\mid t_{ui} - t_{uj} \mid} f(tuituj)=1+αtuituj1

    预测公式: p ( u , i ) = ∑ j ∈ N ( u ) ⋂ S ( i , k ) s i m ( i , j ) 1 1 + β ∣ t 0 − t u j ∣ p(u,i) = \sum_{j \in N(u) \bigcap S(i,k)}sim(i,j)\frac{1}{1+\beta\mid t_0-t_{uj}\mid} p(u,i)=jN(u)S(i,k)sim(i,j)1+βt0tuj1

    时间上下文相关的UserCF算法:同ItemCF一样添加一个时间衰减函数

    地点上下文信息

    利用社交网络数据

    基于社交网络的推荐可以很好的模拟现实社会。

    获取社交网络数据的途径:电子邮件、用户注册信息、用户的位置数据、论坛和讨论组、即时聊天工具、社交网站。

    社交图谱(Facebook)、兴趣图谱(Twitter)

    基于社交网络的推荐:

    好友推荐可以增加推荐的信任度、社交网络可以解决冷启动问题

    基于领域的社会化推荐算法:

    用户u对物品i的兴趣: p u i = ∑ v ∈ o u t ( u ) w u v r v i p_{ui} = \sum_{v \in out(u)}w_{uv}r_{vi} pui=vout(u)wuvrvi

    其中 w u v w_{uv} wuv由两部分组成:用户之间的熟悉程度( f a m i l i a r i t y ( u , v ) = ∣ o u t ( u ) ⋂ o u t ( v ) ∣ ∣ o u t ( u ) ⋃ o u t ( v ) ∣ familiarity(u,v) = \frac{\mid out(u)\bigcap out(v)\mid}{\mid out(u)\bigcup out(v)\mid} familiarity(u,v)=out(u)out(v)out(u)out(v)),

    用户之间的兴趣相似度( s i m i l i a r i t y ( u , v ) = ∣ N ( u ) ⋂ N ( v ) ∣ ∣ N ( u ) ⋃ N ( v ) ∣ similiarity(u,v)=\frac{\mid N(u) \bigcap N(v)\mid}{\mid N(u) \bigcup N(v)\mid} similiarity(u,v)=N(u)N(v)N(u)N(v))

    基于图的社会化推荐算法:将用户之间的社会关系结合进之前的用户-物品图中,具体结合方式为:如果两个用户为好友,则在他们之间添加一条边。然后使用PersonalRank算法进行计算

    为用户推荐好友

    基于内容的匹配:为用户推荐和他们有相似内容属性的用户作为好友

    基于共同兴趣的好友推荐

    基于社交网络图的好友推荐

    Processed: 0.009, SQL: 9