利用个性化PageRank实现一个新的高灵活性的基于图的推荐
Abstract
本文研究了推荐的灵活性,提出了一种基于图形的多为推荐方法。对该问题使用隐式反馈数据集构建图上的实体排序问题。本文采用了个性化PageRank算法用于实体进行排序。
优点:支持灵活性,可以利用图中的间接关系
缺点:处理稀疏性问题的能力
Introduction
本文中提出的一种基于图形的方法,提供了推荐的灵活性。将多维空间中的每个维看作实体的域,图中的节点要么是实体(eg.用户个体),要么是实体的组合(eg.用户组)。使用隐式反馈数据集中隐含的实体关系分配节点的权值。
多维推荐问题可以看作是对表示给定查询的目标域实体的节点进行排序的问题,该查询也表示为一组节点。
利用图数据模型进行推荐的优点:
- 容易将各类信息合并到推荐中
- 不仅可利用实体之间的直接关系,还可以利用间接关系,是解决数据系数问题。
本文作者认为隐式反馈数据集更适合于多维推荐,隐式反馈通常包含多维信息。
本文对比在二维空间中的ItemRank和PureSVD
Related Work
本文模型可以归类为一种基于模型的协同过滤方法,首先使用隐式反馈数据集学习一个图,然后使用图进行推荐。
本文目标是建立一个多为推荐方法实现推荐的灵活性,可以支持各种类型的推荐请求。
Problem Formulation
只考虑二维空间不考虑多维空间
D 1 , D 2 , . . . , D n D_1,D_2,...,D_n D1,D2,...,Dn——互斥的集合,每个 D i D_i Di表示一个域 ∈ I t e m \in Item ∈Item(个人理解为代表不同类型的物品域)
e i 1 , e i 2 , . . . , e i k i e_{i1},e_{i2},...,e_{ik_i} ei1,ei2,...,eiki——一组实体
ε \varepsilon ε—— D 1 ⋃ D 2 ⋃ . . . ⋃ D n D_1\bigcup D_2\bigcup ...\bigcup D_n D1⋃D2⋃...⋃Dn
Q Q Q—— ε 子 集 的 查 询 \varepsilon 子集的查询 ε子集的查询
u ( Q , e i j ) u(Q,e_{ij}) u(Q,eij)——表示查询 Q 与 实 体 e i j Q与实体e_{ij} Q与实体eij之间的相关性得分
{ u 1 , u 2 , . . . , u k } ∈ U S E R \{u_1,u_2,...,u_k\}\in USER {u1,u2,...,uk}∈USER
在音乐上下文推荐中:
l ∈ l o c a t i o n l\in location l∈location
w ∈ w e a t h e r w\in weather w∈weather
q u e r y Q = { u , l , w } query Q=\{u, l, w\} queryQ={u,l,w}
D T 就 是 s o n g D_T就是song DT就是song
Modeling our method
数据模型
首先定义实体函数
u
(
Q
,
e
i
j
)
u(Q,e_{ij})
u(Q,eij)
将每个属性视为域,属性的值视为实体用e表示
定义
L
=
{
v
1
,
v
2
,
.
.
.
v
n
v
}
L=\{v_1,v_2,...v_{n_v}\}
L={v1,v2,...vnv},对于每个v都是一个元祖
(
e
D
1
,
e
D
2
,
.
.
.
,
e
D
n
)
(e_{D_1},e_{D_2},...,e_{D_n})
(eD1,eD2,...,eDn),其中
e
D
i
∈
D
i
e_{D_i}\in D_i
eDi∈Di。
举个例子:
USER | MOVIE | DATE | LOCAION |
---|---|---|---|
Matt | Superman | 09-16-2008 | Seoul |
Jack | 300 | 09-17-2008 | Seoul |
Matt | Rent | 09-17-2008 | Seoul |
定义域
USER={‘Matt’, ‘Jack’}
MOVIE={‘Superman’, ‘300’, ‘Rent’}
DATE={‘09-16-2008’, ‘09-17-2008’, ‘09-17-2008’}
LOCATION={‘Seoul’}
我们可以定义L元组(‘Matt’,‘Superman’,‘09-16-2008’,‘Seoul’),(‘Jack’,‘300’,‘09-17-2008’,‘Seoul’),(‘Matt’,‘Rent’,‘09-17-2008’,‘Seoul’)
假定数据提供方提供了推荐因子 F = { f 1 , f 2 , . . . , f n F } 定 义 w i 作 为 f i 的 权 值 , w 1 + w 2 + . . . + w n F = 1 F=\{f_1,f_2,...,f_{nF}\}定义{w_i}作为{f_i}的权值,w_1+w_2+...+w_{n_F}=1 F={f1,f2,...,fnF}定义wi作为fi的权值,w1+w2+...+wnF=1,每个 f i f_i fi决定什么影响推荐结果,每一个 w i w_i wi决定因素对推荐的影响程度。
顶点
V
=
V
1
⋃
V
2
⋃
.
.
.
⋃
V
T
,
其
中
V
i
节
点
对
应
域
域
f
i
匹
配
的
组
合
,
V
T
中
的
节
点
对
应
目
标
域
D
T
的
实
体
V=V_1\bigcup V_2\bigcup...\bigcup V_T,其中V_i节点对应域域f_i匹配的组合,V_T中的节点对应目标域D_T的实体
V=V1⋃V2⋃...⋃VT,其中Vi节点对应域域fi匹配的组合,VT中的节点对应目标域DT的实体
定义了一个|V|*|V|加权邻接矩阵M为二部图G={V,E},假设边只存在于不在VT的节点到VT的节点之间。此假设保证了图为二部图。
之后计算出泛化矩阵P
对图中的实体进行排序
排序函数采用个性化PageRank算法对图模型的排序进行调整。如果一个节点连接到更重要的节点,并且连接出去的链接较少,则节点PageRank得分会更高,得分计算公式为:
r
⃗
=
c
P
T
r
⃗
+
(
1
−
c
)
1
n
e
⃗
\vec r=cP^T\vec r+(1-c)\frac{1}{n}\vec e
r=cPTr+(1−c)n1e
n——是节点数
ri——排序分数
c——阻尼系数通常是0.85,(1-c)每个节点游走的可能性
1
n
e
⃗
\frac{1}{n}\vec e
n1e——替代个性化传送
t
⃗
\vec t
t,这是表示用户兴趣的个性化偏置量
e
⃗
=
(
1
,
1
,
.
.
.
,
1
)
T
\vec e=(1,1,...,1)^T
e=(1,1,...,1)T
由此计算出个性化PageRank是
r
⃗
=
c
P
T
r
⃗
+
(
1
−
c
)
t
⃗
\vec r=cP^T\vec r+(1-c)\vec t
r=cPTr+(1−c)t这里如果节点是用户感兴趣的则t为1否则为0。
计算出排序结果得到top-k
个性化PageRank的优势
- 可以利用传播性和衰减性
- 可以处理多维推荐中严重的稀疏性
- 可以通过各种因素的影响找到目标实体的等级得分
实验
使用了HR@k的度量标准进行评价,因为它更适合于度量top-k推荐。
对比了:基于流行度(POP)、基于用户的协同过滤(UKNN)、ItemRank(IRANK)、PureSVD(PSVD)
两个实验进行方法的评估:
- 评估传统推荐案例的推荐性能
- 研究隐式反馈数据集中包含的多维信息的开放效果。