简介
社会图谱-》society(社会)
兴趣图谱-》community(社区)
数据集分为三种:双向确认、单向关注和基于社区的(如豆瓣小组)。
推荐算法
基于邻域的社会化推荐算法
用户u对物品i的兴趣:p u i = ∑ v ∈ out ( u ) r v i
p_{u i}=\sum_{v \in \text { out }(u)} r_{v i}
p u i = v ∈ out ( u ) ∑ r v i
考虑不同好友的权重:p u i = ∑ v ∈ out ( u ) w u v r v i
p_{u i}=\sum_{v \in \text { out }(u)} w_{u v} r_{v i}
p u i = v ∈ out ( u ) ∑ w u v r v i
权重=用户熟悉度+兴趣相似度 familiarity ( u , v ) = ∣ out ( u ) ∩ out ( v ) ∣ ∣ out ( u ) ∪ out ( v ) ∣
\text { familiarity }(u, v)=\frac{| \text { out }(u) \cap \operatorname{out}(v) |}{| \text { out }(u) \cup \operatorname{out}(v) |}
familiarity ( u , v ) = ∣ out ( u ) ∪ o u t ( v ) ∣ ∣ out ( u ) ∩ o u t ( v ) ∣ similiarity ( u , v ) = ∣ N ( u ) ∩ N ( v ) ∣ ∣ N ( u ) ∪ N ( v ) ∣
\text { similiarity }(u, v)=\frac{|N(u) \cap N(v)|}{|N(u) \cup N(v)|}
similiarity ( u , v ) = ∣ N ( u ) ∪ N ( v ) ∣ ∣ N ( u ) ∩ N ( v ) ∣
基于图的社会化推荐算法
添加了社群以后的图,感觉这种建模方式可以用在社区发现上。
Twitter架构-》社会化推荐系统:
为每个用户维护一个消息队列,存储其推荐列表;
当一个用户喜欢一个物品后,就将记录写入关注该用户的推荐列表消息队列中;
当用户访问时,读出他的推荐列表消息队列,对于这个消息队列中的每个物品,重新计算该物品的权重。考虑物品在队列中出现的次数(行为数据),物品对应的用户和当前用户的熟悉程度(社交信息),物品的时间戳(上下文信息)。
信息流推荐
Facebook的EdgeRank:edge为其他用户对当前用户信息流中的会话产生过行为的行为。
还有一种结合用户的社会兴趣和个人兴趣进行推荐。
给用户推荐好友
=链接预测。推荐阅读文章:Link Prediction in Social Network
方法:基于内容匹配、基于共同兴趣、基于社交网络 的好友推荐。
3种基于社交网络的好友推荐算法:
w out ( u , v ) = ∣ out ( u ) ∩ out ( v ) ∣ ∣ out ( u ) ∣ ∣ out ( v ) ∣ w_{\text {out }}(u, v)=\frac{| \text { out }(u) \cap \operatorname{out}(v) |}{\sqrt{|\operatorname{out}(u)||\operatorname{out}(v)|}} w out ( u , v ) = ∣ o u t ( u ) ∣ ∣ o u t ( v ) ∣ ∣ out ( u ) ∩ o u t ( v ) ∣
w i n ( u , v ) = ∣ in ( u ) ⋂ in ( v ) ∣ in ( u ) ∣ ∣ in ( v ) ∣ w_{\mathrm{in}}(u, v)=\frac{|\operatorname{in}(u) \bigcap \operatorname{in}(v)|}{\sqrt{\operatorname{in}(u)|| \operatorname{in}(v) |}} w i n ( u , v ) = i n ( u ) ∣ ∣ i n ( v ) ∣ ∣ i n ( u ) ⋂ i n ( v ) ∣
w out , in ′ ( u , v ) = ∣ out ( u ) ⋂ in ( v ) ∣ ∣ out ( u ) ∣ ∣ in ( v ) ∣ w_{\text {out }, \text { in }}^{\prime}(u, v)=\frac{| \text { out }(u) \bigcap \operatorname{in}(v) |}{\sqrt{|\operatorname{out}(u)||\operatorname{in}(v)|}} w out , in ′ ( u , v ) = ∣ o u t ( u ) ∣ ∣ i n ( v ) ∣ ∣ out ( u ) ⋂ i n ( v ) ∣