Graph-based推荐传统做法是构建二元图(bipartite),分为user和item两个node集合,user-item的interaction构建两个集合之间的连线,见下图,其中圆框是三个user,方形框是四个item。
该方法在2005年前较流行,现在学术界更流行的方法是Graph Convolutional Network(GCN)。
推荐采用personal rank算法,或者说random work,与page rank思路是一样的。首先从一个顶点(即某一user A)出发,以一定概率 α \alpha α往下一个节点游走,以 1 − α 1-\alpha 1−α概率回到初始顶点A,足够长时间后,整幅图的概率分布会趋于一个稳定值,这个概率值即为该user A对每个item的感兴趣程度。
举个例子:
假定从A出发,一开始 P R ( A ) = 1 {PR(A) = 1} PR(A)=1,其余为0
第一步,A以 1 2 × α \frac{1}{2} \times \alpha 21×α概率分别向a、c游走,
P R ( A ) = 1 − α P R ( a ) = P R ( c ) = 1 2 × α PR(A) = 1-\alpha \\ PR(a) = PR(c) = \frac{1}{2} \times \alpha PR(A)=1−αPR(a)=PR(c)=21×α
第二步,A以 1 2 × α \frac{1}{2} \times \alpha 21×α概率分别向a、c游走,a以 1 2 × α {\frac{1}{2} \times \alpha} 21×α概率分别向A、B游走,c以 1 3 × α {\frac{1}{3} \times \alpha} 31×α