PRINCE: Provider-side Interpretability with Counterfactual Explanations in Recommender Systems
PRINCE:推荐系统中具有反事实解释的提供者方可解释性
WSDM2020
ABSTRACT
推荐系统和其他机器学习模型的可解释解释对于获得用户信任至关重要。先前专注于在异构网络中连接用户和项目的路径的工作有几个局限性,例如发现关系而不是真实的解释,或者忽略其他用户的隐私。本文采用一个新的视角,提出Prince:一种为最终用户产生有形解释的提供者端机制,**其中解释被定义为用户执行的一组最小行动,如果删除,将更改对不同项目的推荐。给定一个推荐,Prince使用一个多项式时间的最优算法,基于对动态图的随机游走,从指数搜索空间中找到这个用户行为的最小集合。**在两个真实的数据集上的实验表明,Prince提供了比直观基线更紧凑的解释,来自众包用户研究的见解证明了这种基于行动的解释的可行性。因此,假设Prince可以产生可理解的、可操作的和简洁的解释,这是因为它分别使用了反事实证据、用户自己的行动和最小集合。
1 介绍
动机为机器学习模型提供用户可理解的解释在多个社区中得到了重视[35,41,57,60]。一些研究表明,解释增加了用户对生成个性化推荐或其他排名(在新闻、娱乐等)的系统的信任[27,29,40]。推荐已经变得非常复杂,从用户的活动、兴趣和社交链接等复杂的相互作用因素中挖掘信号。因此迫切需要解释。
对推荐者的解释可以采取几种形式,这取决于生成器generator(explanations by whom?)和消费者consumer(explanations for whom?))。作为生成器,只有服务提供商可以为系统如何计算推荐项目提供真正的解释[6,48,59];第三方只能发现关系并为黑盒模型创建事后合理化,这些模型可能对用户来说是令人信服的[19,39,49]。在消费者方面,终端用户可以掌握有形的方面,如活动,喜欢/不喜欢/评级或人口统计因素。**与系统开发人员或责任工程师不同,最终用户很难从内部系统工作的透明性中获得任何见解。**在这项工作中,我们处理提供者和最终用户的解释。
先进技术的局限性大多数推荐系统的核心是矩阵或张量分解(如[26])或谱图分析(如[22])的一些变体,具有各种形式的正则化,通常使用梯度下降法进行参数学习。最近流行的一种范式是基于异质信息网络(heterogeneous information networks, HIN)[43,53 - 55]。一种强大的模型,将相关实体和动作表示为具有多种节点和边类型的有向加权图。之前对基于HIN的推荐的解释的工作主要集中在连接用户和推荐项目的路径[1,19,44,47,50-52]。对于在线商城,基于 路径的解释 的应用如下所示:
用户u收到商品rec是因为u关注用户v,而用户v购买了商品j,与rec属于同一品类。
然而,这种方法会带来严重的隐私问题,因为路径中的节点会向用户u泄露其他用户的行为或兴趣,比如上面的用户v的购买。即使用户v的id是匿名的,用户u也能知道她关注的是谁,并且经常能猜出购买商品j的用户v是谁,假设u的关注者数量相对较少[33]。如果包含其他用户的整个路径被抑制,那么这样的解释将不再忠实于真正的原因。另一类基于路径的方法[19,39,49**]将用户和物品之间的合理联系作为论证。然而,这仅仅是事后的合理化,而不是实际的因果关系。**
解决本文提出了一种面向提供者端的PRINCE方法反事实证据的可解释性,克服了上述局限性。PRINCE是一种提供商端解决方案,旨在**在包含用户、物品、评论和类别的异构信息网络中发现负责推荐的实际原因。**PRINCE的解释基于用户自己的行为,因此排除了基于路径模型的隐私问题。图1显示了一个说明性示例。
在这里,爱丽丝的行为,比如买鞋子、看相机、给充电宝评级,都被认为是她推荐背包的原因。识别用户解释行为的一种方法是计算与推荐物品相关的行为的得分。然而,这将是一个包含数百个操作的笨重的分配——对于最终用户来说很难理解。相反,我们在一个反事实设置[34]中操作。**PRINCE标识一个小的(实际上是最小的)用户操作集合,删除这些操作将导致用一个不同的项目替换推荐项目。**在图1中,rec = " Jack Wolfskin backpack "作为系统的top recommendation会被i3 = " iPad Air "取代(i代表候选替换物品)。请注意,可能有多个这样的最小集合,但这里不关心唯一性。
从另一个角度来看,**解释的目标通常是向用户展示他们可以做什么,以获得更多相关的推荐。**根据这一说法,终端用户对其邻近区域以外的网络没有控制,即以外的网络是不可操作的(图1中的阴影区域),这促使PRINCE选择在用户自己的行为中进行接地解释。
为了得到真正的解释,我们需要致力于一个特定的推荐模型族。本文选择了一个基于个性化PageRank (PPR)的通用框架,用于最先进的RecWalk系统[37]中,并将其适应HIN的设置。**PRINCE的核心是一个多项式时间的算法,用于探索用户行为子集的搜索空间(潜在的指数级)——导致推荐的候选者。**该算法将[2]的反向局部推算法应用到[56]的动态图设置中,高效地计算出行为组对物品的PPR贡献。总而言之,PRINCE(粗体)对解释的要求与采用的技术方法(斜体)以以下方式相联系。我们的解释如下:
1、Scrutable(可解释的),因为它们是在一个反事实的设置中推导出来的;
2、Actionable(可执行的),因为它们是基于用户自己的行为;
3、Concise(简明的),因为它们是改变推荐的最小集合。
在Amazon和Goodreads数据集上的大量实验表明,基于贡献分数和最短路径的启发式方法难以获得PRINCE的最小解释,从而无法达到理想的物品替换效果。在Amazon Mechanical Turk (AMT)上的一项众包用户研究提供了额外的证据,表明PRINCE的解释比基于[52]路径的解释更有用。[代码](https://github.com/ azinmatin/prince/)
贡献我们在这项工作中的突出贡献是:
1、PRINCE是第一份探索在异质信息网络中发现因果解释的反事实证据的工作;
2、PRINCE是第一个根据用户自己的行为来定义推荐解释的工作;
3、我们提出了一种最优算法,该算法在多项式时间内探索动作子集的搜索空间,以便有效地计算用户动作的最小子集;
4、在两个大型数据集和一个用户研究上的实验表明,PRINCE可以有效地帮助服务提供商为推荐项目生成用户可理解的因果解释。
2 计算模型
==Heterogeneous Information Networks (HIN)==一个异质图 G = ( V , E , θ ) G= (V, E,\theta) G=(V,E,θ)由一组节点V、一组边 E ⊆ V × V E \subseteq V \times V E⊆V×V和一个从每个节点和每条边到它们类型的映射 θ \theta θ组成,使得 θ V : V → T V \theta _V :V \rightarrow T_V θV:V→TV和 θ E : E → T E \theta _E: E \rightarrow T_E θE:E→TE具有 ∣ T V ∣ + ∣ T E ∣ > 2 |T_V|+|T_E|>2 ∣TV∣+∣TE∣>2。在我们的工作中,一个异构图至少包含两种节点类型,用户 U ∈ T V U \in T_V U∈TV和项目 I ∈ T V I \in T_V I∈TV。为简单起见,我们使用U和I表示节点的类型,以及该类型所有节点的集合。如果图的每条边都被赋予了权重, w : E → R w:E\rightarrow R w:E→R,则图是加权的;如果E是一组有序的节点对,则图是有向的。我们分别用 N o u t ( v ) N_{out}(v) Nout(v)和 N i n t ( v ) N_{int}(v) Nint(v)表示节点v的外邻居集合和内邻居集合。每个节点 v ∈ V v \in V v∈V和每个边 e ∈ E e \in E e∈E只属于一种类型的有向加权异构图称为异质信息网络(heterogeneous information network, HIN)[43]。
==Personalized PageRank (PPR) for recommenders.==我们在HINs中使用个性化PageRank (PPR)进行推荐[20,37]。PPR是G中一次随机游走的平稳分布,在给定的步长下,冲浪者以概率α传送到一组种子节点{s},以概率1−α继续从当前节点随机选择一条出方向的边。更准确地说,给定隐形传态概率α、G、单种子s、one-hot向量
e
s
e_s
es和转移矩阵W, the Personalized PageRank向量PPR(s)递归定义为:
P
P
R
(
s
,
⋅
)
=
α
e
s
+
(
1
−
α
)
P
P
R
(
s
,
⋅
)
W
PPR(s,\cdot) = \alpha e_s +(1-\alpha )PPR(s,\cdot)W
PPR(s,⋅)=αes+(1−α)PPR(s,⋅)W
设PPR(s,v)为节点v对s个性化的PPR得分。我们定义用户
u
∈
U
u \in U
u∈U的PPR推荐,或top-1推荐,为:
r
e
c
=
a
r
g
m
a
x
i
∈
I
N
o
u
t
(
u
)
P
P
R
(
u
,
i
)
rec = arg \ max_{i\in I N_{out}(u)} \ \ \ PPR(u,i)
rec=arg maxi∈INout(u) PPR(u,i)
给定一组边
A
⊂
E
A \subset E
A⊂E,我们使用符号
P
P
R
(
u
,
i
∣
A
)
PPR(u,i|A)
PPR(u,i∣A)在图
G
=
(
V
,
E
A
,
θ
)
G = (V, E \ A,\theta )
G=(V,E A,θ)中定义用户u的个性化物品i的PPR。我们称这个图为G \ A。为了改进top-n推荐,Nikolakopoulos等人在[37]中定义HIN G中的随机漫步如下:
以α概率,冲浪者传送到u
在概率为1−α的情况下,冲浪者以以下方式继续行走:
+以1−β的概率,随机冲浪者使用基于相似性的随机转移矩阵移动到同一类型的节点。
+以β的概率,冲浪者随机选择任何向外的边。
对于
T
V
T_V
TV中的每个类型为t的节点,都有一个相关联的随机相似度矩阵
S
t
S_t
St,它编码了类型为t的节点之间的关系。当同类节点不可比较时,相似度矩阵为单位矩阵,即
S
t
=
I
S_t = I
St=I。否则,
S
t
S_t
St中的一个元素(i, j)表示节点i和节点j的相似度。该漫步描述的随机过程是一个几乎不耦合的马尔可夫链[37]。随机游走的平稳分布是图
G
β
G^β
Gβ(在[37]中称为RecWalk)中具有隐形传态概率α的PPR,其中
G
β
G^β
Gβ的转移概率矩阵为:
W
β
=
β
W
+
(
1
−
β
)
S
W^ \beta = \beta W+(1-\beta)S
Wβ=βW+(1−β)S
矩阵W是原始图G的转移概率矩阵。矩阵
S
=
D
i
a
g
(
S
1
,
S
2
,
⋅
⋅
⋅
,
S
∣
T
V
∣
)
S = Diag(S_1, S_2,···,S_{ |TV|})
S=Diag(S1,S2,⋅⋅⋅,S∣TV∣)是
∣
V
∣
|V|
∣V∣阶的对角矩阵。
Diag函数生成对角矩阵
==反事实的解释.==用户u通过不同类型的操作A与物品交互,例如点击、购买、评级或评论,这些都被捕捉为图G中的交互边。我们的目标是向用户u展示一组交互边 A ∗ ⊆ { ( u , n i ) ∣ ( u , n i ) ∈ A } A^*\subseteq \{(u,n_i)|(u,n_i) \in A\} A∗⊆{(u,ni)∣(u,ni)∈A}(其中 n i n_i ni是u的邻居),负责物品的推荐 res;我们称之为反事实的解释。一个解释是反事实的,如果从图中移除边 A ∗ A^* A∗之后,用户收到不同的top- ranked推荐 r e c ∗ rec ^* rec∗。一个反事实的解释 A ∗ A^* A∗是极小的,如果没有更小的集合 A ′ ⊆ A A'\sube A A′⊆A使得 ∣ A ′ ∣ < ∣ A ∗ ∣ |A' | <|A^∗| ∣A′∣<∣A∗∣和 A ′ A' A′也是对rec的反事实解释。
==Formal problem statement.==给定一个异质信息网络 G = ( V , E , θ ) G = (V, E,\theta) G=(V,E,θ),用户 u ∈ U u \in U u∈U的推荐 r e c ∈ I rec\in I rec∈I排名最高,找到rec的最小反事实解释。
3 PRINCE算法
在本节中,我们开发了一种算法,用于计算接收推荐项目的用户u的最小反事实解释,给出基于RecWalk推荐框架的PPR评分[37]。naïve最优算法枚举行为的所有子集 A ∗ ⊆ A A^*\sube A A∗⊆A,并检查删除每个子集是否用不同的项目取代rec作为最高推荐,最后选择最小的子集。这种方法与用户的操作数量呈指数关系。
为了设计出更高效且实际可行的算法,我们将PPR得分表示如下式(4)[23],其中
P
P
R
(
u
,
r
e
c
)
PPR(u,rec)
PPR(u,rec)表示rec针对u(即跳回u)的个性化PPR:
P
P
R
(
u
,
r
e
s
)
=
(
1
−
α
)
∑
n
i
∈
N
o
u
t
(
u
)
W
(
u
,
n
i
)
P
P
R
(
n
i
,
r
e
c
)
+
α
δ
u
,
r
e
s
PPR(u,res) = (1-\alpha) \sum_{n_i \in N_{out}(u)}W(u,n_i)PPR(n_i,rec)+\alpha \delta_{u,res}
PPR(u,res)=(1−α)ni∈Nout(u)∑W(u,ni)PPR(ni,rec)+αδu,res
其中α为隐形传态概率(跳回u的概率),δ为克罗内克函数。对于RecWalk[37],唯一需要的修改是将转移概率矩阵从W转化为
W
β
W^β
Wβ。为简单起见,我们将调整后的概率矩阵称为W。
由公式4可知,用户u个性化的PPR为 P P R ( u , r e c ) PPR(u,rec) PPR(u,rec),是用户u的邻居个性化的PPR值的函数。因此,为了降低 P P R ( u , r e c ) PPR(u,rec) PPR(u,rec),我们可以删除边 ( u , n i ) , n i ∈ N o u t ( u ) (u, n_i), n_i \in N_{out}(u) (u,ni),ni∈Nout(u)。用不同的项目 r e c ∗ rec^* rec∗代替推荐的 r e c rec rec一个简单的启发式算法是按照边 ( u , n i ) (u, n_i) (u,ni)的贡献度 W ( u , n i ) ⋅ P P R ( n i , r e c ) W (u, n_i)·PPR(n_i,rec) W(u,ni)⋅PPR(ni,rec)的非递增顺序删除边 ( u , n i ) (u, n_i) (u,ni)。然而,尽管这会降低rec的PPR,但它也会影响并可能降低其他项目的PPR,因为PPR的递归性质,其中所有路径都很重要。
设A是用户u的出边的集合,设A∗是A的子集,使得 A ∗ ⊆ A A^∗\sube A A∗⊆A.该算法的主要思想是:在移除一个 A ∗ A^∗ A∗后,可以将 P P R ( u , r e c ∣ A ∗ ) PPR(u,rec |A^∗) PPR(u,rec∣A∗)表示为两个组成部分的函数: P P R ( u , u ∣ A ∗ ) PPR(u,u|A^∗) PPR(u,u∣A∗)和 P P R ( n i , r e c ∣ A ) PPR(n_i,rec|A) PPR(ni,rec∣A),其中 n i ∈ { n i ∣ ( u , n i ) ∈ A ∖ A ∗ } n_i\in \{n_i |(u, n_i)\in A \setminus A^∗\} ni∈{ni∣(u,ni)∈A∖A∗}和 n i ≠ u n_i \not= u ni=u。 P P R ( u , u ∣ A ∗ ) PPR(u,u |A^∗) PPR(u,u∣A∗)不依赖于 r e c , P P R ( n i , r e c ∣ A ) rec, PPR(n_i,rec|A) rec,PPR(ni,rec∣A)的得分与 A ∗ A ^* A∗无关。
基于这些考虑,我们提出了算法1,并在第4节中证明了其正确性。算法1将图G、用户u、推荐rec和一组物品I作为输入。在第3-13行,我们遍历物品I,并找到最小的反事实解释 A ∗ A^* A∗。在这里, A i A^i Ai指的是操作的移除会改变元素rec和i的顺序。此外,我们确保在移除一个 A ∗ A^* A∗之后,我们返回PPR分数最高的项目作为替换项目(第9-11行)。请注意,在下一节中,我们提出了条件 P P R ( u , i ∣ A i ) > P P R ( u , r e c ∗ ∣ A i ) PPR(u,i|A^i)>PPR(u,rec^∗|A ^i) PPR(u,i∣Ai)>PPR(u,rec∗∣Ai),消除了G \ A∗中重新计算分数的需要。
该算法的核心是SwapOrder函数,它接收两个项目rec和rec∗以及用户u作为输入。在第20-24行中,我们将相互作用边 ( u , n i ) ∈ A (u, n_i)\in A (u,ni)∈A按其贡献 W ( u , n i ) ⋅ ( P P R ( n i , r e c ∣ A ) − P P R ( n i , r e c ∗ ∣ A ) ) W (u, n_i)·(PPR(n_i,rec|A)-PPR(n_i,rec^*|A)) W(u,ni)⋅(PPR(ni,rec∣A)−PPR(ni,rec∗∣A))非递增顺序进行排序。在第25-29行中,我们在每一步都删除贡献最大的外向交互边,并相应地更新S和A*。如果在当前图结构 ( G A ∗ ) (G \ A^∗) (G A∗), P P R ( u , r e c ) > P P R ( u , r e c ∗ ) PPR(u,rec) >PPR (u, rec^∗) PPR(u,rec)>PPR(u,rec∗)。这构成了我们方法的主要构建块。图2说明了算法1在一个玩具示例上的执行。
算法的时间复杂度为是 O ( ∣ I ∣ × ∣ A ∣ × l o g ∣ A ∣ ) O(|I| × |A| ×log |A |) O(∣I∣×∣A∣×log∣A∣),加上计算这些结点PPR的代价。避免考虑A的所有子集的指数成本的关键是,我们只需要根据删除所有用户操作A的图来计算具有个性化的替代商品的PPR值。这是可行的,因为动作删除只影响传送目标u的传出边缘,如第4节所述。
PPR的计算可以简单地对整个图重新运行一次幂迭代算法,或者计算底层矩阵的主特征向量。图的大小可能是三次(例如,如果我们使用完整的SVD),但它使我们保持在多项式运行时间的范围内。在实验中,我们使用了效率更高的反向本地推送算法[2]进行PPR计算。
4 正确性证明
我们证明了两个主要结果:
1、 P P R ( u , r e c ∣ A ∗ ) PPR(u,rec|A ^∗ ) PPR(u,rec∣A∗)可以被计算为两个分量的乘积,其中一个分量依赖于修改后的具有边集E \ A的图(即删除所有用户动作),另一个分量依赖于A∗的选择,但不依赖于rec的选择。
2、为了确定某一A∗是否用一个不是u的外邻居的不同节点rec∗替换顶部节点rec,我们只需要计算(i)中的两个组件中的第一个。
**定理4.1.**给定一个图G = (V, E),节点u的出边A使得 ( u , u ) ∉ A (u,u) \notin A (u,u)∈/A,一组边 A ∗ ⊂ A A^∗ \sub A A∗⊂A,一结点 r e c ∉ N o u t ( u ) rec \notin N_{out}(u) rec∈/Nout(u), rec为u在修正图 G ∗ = ( V , E ∖ A ∗ ) G^∗= (V, E \setminus A^∗) G∗=(V,E∖A∗)中的PPR可以表示为:
P P R ( u , r e c ∣ A ∗ ) = P P R ( u , u ∣ A ∗ ) ⋅ f ( { P P R ( n i , r e c ∣ A ) ∣ ( u , n i ) ∈ A ∖ A ∗ } ) PPR(u,rec|A^*) = PPR(u,u|A^*) \cdot f(\{PPR(n_i,rec|A)|(u,n_i)\in A \setminus A^* \}) PPR(u,rec∣A∗)=PPR(u,u∣A∗)⋅f({PPR(ni,rec∣A)∣(u,ni)∈A∖A∗})
其中f(·)为聚合函数。
**证明.**假设每个节点至少有一条出边,则PPR可以表示为从节点u开始的长度为l的行走概率之和[3]:
P P R ( u , ⋅ ) = α ∑ l = 0 ∞ ( 1 − α ) l e u W l PPR(u,\cdot) = \alpha \sum_{l=0}^\infty (1-\alpha)^l e_u W^l PPR(u,⋅)=αl=0∑∞(1−α)leuWl
其中 e u e_u eu是 u u u的one-hot向量。为了分析删除A∗的影响,我们将从u到rec的步行分为两部分,(i) 表示从u开始并再次经过u的漫步概率之和的部分,等于 α − 1 P P R ( u , u ∣ A ∗ ) α^{-1}PPR(u,u|A^∗) α−1PPR(u,u∣A∗)(由于漫步不停止于u,因此需要除以α)
(ii) 部分代表从节点u开始,在rec结束,没有再次访问u的漫步的概率之和,表示为 p − u ( u , r e c ∣ A ∗ ) p_{−u}(u,rec|A^∗) p−u(u,rec∣A∗)。综合这些组成部分,PPR可以表述如下:
P P R ( u , r e c ∣ A ∗ ) = α − 1 P P R ( u , u ∣ A ∗ ) ⋅ P − u ( u , r e c ∣ A ∗ ) PPR(u,rec|A^*) = \alpha^{-1} PPR(u,u|A^*)\cdot P_{-u}(u,rec|A^*) PPR(u,rec∣A∗)=α−1PPR(u,u∣A∗)⋅P−u(u,rec∣A∗)
如前所述, p − u ( u , r e c ∣ A ∗ ) p_{−u}(u,rec|A^∗) p−u(u,rec∣A∗)表示从u步行到rec而不重新访问u的概率之和。我们可以用移除A*后u的剩余邻居来表示这些行走:
P − u ( u , r e c ∣ A ∗ ) = ( 1 − α ) ∑ ( u , n i ) ∈ A ∖ A ∗ W ( u , n i ) ⋅ p − u ( n i , r e c ∣ A ∗ ) P_{-u}(u,rec|A^*) = (1-\alpha) \sum_{(u,n_i)\in A \setminus A^*}W(u,n_i)\cdot p_{-u}(n_i,rec|A^*) P−u(u,rec∣A∗)=(1−α)(u,ni)∈A∖A∗∑W(u,ni)⋅p−u(ni,rec∣A∗)
其中 p − u ( u , r e c ∣ A ∗ ) p_{−u}(u,rec|A^∗) p−u(u,rec∣A∗)是指从 n i ( n i , u ) n_i (n_i, u) ni(ni,u)开始,到rec结束,不经过u的漫步。我们将 p − u ( u , r e c ∣ A ∗ ) p_{−u}(u,rec|A^∗) p−u(u,rec∣A∗)替换为其等效公式 P P R ( n i , r e c ∣ A ) PPR(n_i,rec |A) PPR(ni,rec∣A)。图G \ A中的 P P R ( n i , r e c ) PPR(n_i,rec) PPR(ni,rec)被计算为从未经过u的漫步概率之和。等式6可以重写为:
P P R ( u , r e c ∣ A ∗ ) = P P R ( u , u ∣ A ∗ ) ⋅ α − 1 ( 1 − α ) ∑ ( u , n i ) ∈ A ∖ A ∗ W ( u , n i ∣ A ∗ ) P P R ( n i , r e c ∣ A ) PPR(u,rec|A^*)\\ =PPR(u,u|A^*)\cdot \alpha^{-1}(1-\alpha) \sum_{(u,n_i)\in A \setminus A^*} W(u,n_i |A^*)PPR(n_i,rec|A) PPR(u,rec∣A∗)=PPR(u,u∣A∗)⋅α−1(1−α)(u,ni)∈A∖A∗∑W(u,ni∣A∗)PPR(ni,rec∣A)
这个等式直接意味着:
P P R ( u , r e c ∣ A ∗ ) = P P R ( u , u ∣ A ∗ ) ⋅ f ( { P P R ( n i , r e c ∣ A ) ∣ ( u , n i ) ∈ A ∖ A ∗ } ) PPR(u,rec|A^*) = PPR(u,u|A^*)\cdot f(\{PPR(n_i,rec|A)|(u,n_i)\in A \setminus A^*\}) PPR(u,rec∣A∗)=PPR(u,u∣A∗)⋅f({PPR(ni,rec∣A)∣(u,ni)∈A∖A∗})
定理 4.2 (u,rec)的最小反事实解释可以在多项式时间内计算。
**证明.**本文证明了存在一个多项式时间的算法来寻找最小的集合 A ∗ ⊂ A A^* \sub A A∗⊂A使 P P R ( n i , r e c ∣ A ∗ ) < P P R ( u , r e c ∗ ∣ A ∗ ) PPR(n_i,rec |A^*)<PPR(u,rec^*|A^*) PPR(ni,rec∣A∗)<PPR(u,rec∗∣A∗),如果存在这样的集合。使用定理4.1,我们表明,人们可以计算是否某些rec∗可以取代原始rec作为top推荐,仅基于来自单个图的PPR分数,其中所有用户操作A都被删除:
P P R ( u , r e c ∣ A ∗ ) < P P R ( u , r e c ∗ ∣ A ∗ ) ⇔ ∑ ( u , n i ) ∈ A ∖ A ∗ W ( u , n i ∣ A ∗ ) ( P P R ( n i , r e c ∣ A ) − P P R ( n i , r e c ∗ ∣ A ) < 0 ⇔ ∑ ( u , n i ) ∈ A ∖ A ∗ W ( u , n i ) ( P P R ( n i , r e c ∣ A ) − P P R ( n i , r e c ∗ ∣ A ) < 0 PPR(u,rec |A^*) <PPR(u,rec^*|A^*) \\ \Leftrightarrow \sum_{(u,n_i)\in A \setminus A^*}W(u,n_i |A^*)(PPR(n_i,rec|A)-PPR(n_i,rec^*|A)<0\\ \Leftrightarrow \sum_{(u,n_i)\in A \setminus A^*}W(u,n_i )(PPR(n_i,rec|A)-PPR(n_i,rec^*|A)<0 PPR(u,rec∣A∗)<PPR(u,rec∗∣A∗)⇔(u,ni)∈A∖A∗∑W(u,ni∣A∗)(PPR(ni,rec∣A)−PPR(ni,rec∗∣A)<0⇔(u,ni)∈A∖A∗∑W(u,ni)(PPR(ni,rec∣A)−PPR(ni,rec∗∣A)<0
最后一个等价来源于:
W ( u , n i ∣ A ∗ ) = W ( u , n i ) 1 − ∑ u , n j ∈ A ∗ W ( u , n j ) W(u,n_i|A^*) =\frac {W(u,n_i)}{1-\sum_{u,n_j\in A^*}W(u,n_j)} W(u,ni∣A∗)=1−∑u,nj∈A∗W(u,nj)W(u,ni)
对于rec*一个固定的选择,表达式10中的总和不依赖于一个A∗,所以它们是一个A∗的所有可能选择的常量。因此,通过将求和值降序排列,我们可以贪婪地将A∗从单个动作扩展到多个动作,直到有一个rec∗的秩大于rec。
5 图的实验
现在,我们描述使用基于真实数据集构建的图推荐器来评估PRINCE的实验。
5.1 设置
数据集。我们使用了两个真实的数据集:
(i)亚马逊客户评论数据集(由亚马逊发布)
(ii) Goodreads评论数据集(由[46]的作者爬取)。
取样:我们从Amazon和Goodreads数据集中采样了500个种子用户,他们有10到100个操作。过滤器的作用是剔除不活跃的和强大的用户(潜在的机器人)。从采样数据中选取四跳邻域,为采样用户构建活动图(表1)。4是一个合理的小半径,以保持项目对种子用户的相关性和个性化。平均而言,这导致每个用户在他们的HIN中分别有大约29k项和16k项。
为了提高节点的相似性,图被增加了加权边。对于亚马逊,我们添加了评论-评论边缘,其中权重是使用谷歌的通用句子编码器[8]生成的评论嵌入的余弦相似度来计算的,并使用阈值τ = 0.85来仅保留置信度对。这导致了194个评论-评论边。对于Goodreads,我们添加了三种类型的相似边:类别-类别、书籍-书籍和评论-评论,具有相同的相似度量(24条类别-类别、113条书籍和1003条评论-评论边缘)。相应阈值分别为0.67、0.85和0.95。我们从Goodreads '网站爬取类别描述,并使用原始数据中的书籍描述和评论文本。表1给出了采样数据集的一些统计信息。
**初始化:**rec的替代项总是从系统产生的原始top-k推荐中选择;我们在实验中系统地研究了k对解释大小的影响(默认k = 5)。Prince不需要被限制在一个明确指定的候选集上,实际上可以在整个项目i的空间上操作。然而,在实践中,替换项目需要以与用户的相关性或项目-项目相似性的某种度量为指导,以避免产生退化或琐碎的解释。
我们使用标准的隐形传态概率α = 0.15[7]。参数β设置为0.5。为了计算PPR分数,我们使用反向本地推送方法[56],亚马逊的= 1.7e−08,Goodreads的= 2.7e−08。有了这些设置,Prince和baseline在所有500个用户特定的hin上执行,以计算替代推荐(即替换物品)rec*和反事实解释设置a *。
**基准:**由于Prince是一种具有正确性保证的最优算法,因此它总是能找到替代rec的最小动作集(如果存在的话)。我们想调查,在多大程度上,其他更启发式的方法,接近相同的效果。为此,我们将Prince与两个自然基线进行了比较:
(i)最高贡献(HC):这类似于结构化数据的基于特征的分类器中的反事实证据[10,36]。它将用户行为(u, ni)对推荐评分PPR(u,rec)的贡献分数定义为PPR(ni,rec)(公式4),并迭代删除贡献最高的边,直到排名最高的rec更改为不同的物品。
(ii)最短路径(SP): SP计算u到rec的最短路径,并删除这条路径上的第一条边(u, ni)。这个步骤在修改后的图上重复,直到排名最高的rec变成另一个项目。
**评价指标:**评价解释质量的标准是它的大小,即Prince中A∗的动作数,以及HC和SP中删除的边数。
5.2 结果和见解
我们将主要结果展示在表2中,并在下面讨论见解。对于不同的参数k值进行这些比较。在适用的情况下,在p <0.05进行单尾配对t检验;. 表4给出了Prince和基线的解释示例。在亚马逊的例子中,我们观察到该方法产生了一个主题连贯的解释,推荐项目和解释项目都在同一个类别中。
接近PRINCE是困难的。Prince生成的解释比基线生成的解释更简洁,因此更容易被用户理解。这个优势非常明显;例如,在亚马逊中,所有基线平均至少会在解释集中产生一个额外的操作。请注意,这将为希望根据解释采取行动的用户带来不必要的工作。
**解释随着k的增加而缩小。**解释的大小随着选择替代项目的前k个候选集的扩大而缩小。例如,在Amazon上,Prince的解释大小从k = 3时的5.09下降到k = 20时的1.80。这是因为随着候选集的增加,找到一个排名超过rec的项目变得更容易。
**PRINCE很有效率。**为了生成反事实的解释,Prince仅依赖于图结构G \ a中的分数(其中u的所有外向边都被删除)。预计算PPR(ni,rec |a)(对于所有ni∈Nout (u)), Prince平均可以在1毫秒左右找到每个(user,rec)对的解释(当k≤20时)。表3显示了不同参数下Prince的运行时间。我们可以看到,在两个数据集上,运行时间都随着k的增加而线性增长。这在算法1的第3行得到了验证。实时计算PPR(ni,rec |a)会降低算法的速度。表3中的第二列和第四列给出了使用动态图[56]的反向推算法计算分数PPR(ni,rec|A)时Prince的运行时间。增大β使计算变慢(实验时k = 5)。所有实验都是在Intel Xeon服务器上进行的,该服务器具有8核@ 3.2 GHz CPU和512 GB主内存
6 用户研究
有用性的定性调查。
为了评估反事实(面向行动的)解释的有用性,我们与Amazon Mechanical Turk (AMT)主[工人](www。mturk.com/help # what_are_masters)。在这项调查中,我们向500名员工展示了3个推荐项目(“系列卡梅洛特”,“怀孕指南书”,“耐克背包”)以及每个项目的两种不同解释。一种解释仅限于用户自己的操作(面向操作),另一种解释是连接用户和物品的路径(面向连接)。
我们问了工人三个问题:(1)你觉得哪种方法更有用?,其中70%选择了面向行动的方法;(2)你对通过向他人解释而被暴露有何感受?,其中有75%的人表示了对隐私的担忧,要么完全不赞同,要么要求匿名;(iii)就个人而言,哪种类型的解释对你更重要:“以行动为导向”还是“以联系为导向”?,其中61.2%的工人选择了以行动为导向的解释。我们将面向行动的解释描述为允许用户控制他们的推荐,而面向连接的解释则揭示了用户和物品之间通过其他用户和物品之间的联系。
有用性的定量测量
在另一项研究中(仅对亚马逊数据进行资源约束),我们将Prince与基于路径的解释52进行了比较。我们使用[52]中的可信度度量,按照边权重的乘积降序对路径进行评分。我们计算了所有500个用户-物品对的最佳路径(第5.1节)。这导致路径的最大长度为3条边(包括user和rec在内的4个节点)。为了在认知负荷方面进行公平比较,我们排除了Prince计算出更大反事实集的所有数据点。这导致了大约200个用户-物品对,我们从其中精确抽样了200个。由于Prince和CredPaths生成的解释具有不同的表示格式(行动列表与路径),我们分别评估了每种方法,以避免表示偏差。为了可读性,我们将路径分成边,并在新一行上显示每条边。每个任务有3个AMT主树,我们为Prince收集了600(200 × 3)个注释,为CredPaths收集了相同的数量。
一个典型的数据点看起来像表6中的一行,其中显示了具有代表性的例子(Goodreads仅为了完整而显示)。我们将样本分为10个命中点(人类智能任务,AMT上的一个工作单元),每个命中点有20个数据点。对于每个数据点,我们展示了一个推荐项目及其解释,并在1 - 3的范围内询问用户解释的有用性(“完全没用”、“部分有用”和“完全有用”)。为此,工作人员必须想象他们是一个电子商务平台的用户,在平台上做了一些操作后收到了建议。只有AMT的主工人被允许提供评估。
为了检测垃圾邮件,我们在每10个点击中都植入了一个蜜罐,这是一个完全不恰当的解释。随后,检测到的垃圾邮件发送者(将此类无关解释评级为“完全有用”的工作人员)的所有注释都被删除(所有注释的25%)。
表5显示了我们的用户研究结果。它给出了平均得分和标准差,并用星号表示两两比较的统计显著性。平均而言,Prince显然获得了AMT评委更高的有用性评分。对于Prince模型和CredPaths模型,Krippendorff模型的alpha[28]分别为双均衡点或双均衡点,表明当双均衡点从双均衡点过渡到双均衡点时,双均衡点从双均衡点过渡到双均衡点。Prince的优越性也适用于Prince生成大小为1、2和3的解释的样本切片。我们还要求Turkers为他们在每个数据点上的分数提供简洁的理由。表7显示了一些典型的注释,其中用于生成解释的方法位于括号中。
7 相关工作
Herlocker等人在基于协同过滤的推荐系统的可解释性方面做了基础性工作。随着时间的推移,生成解释(如[52])已经与构建旨在产生更透明的推荐(如[6])的系统紧密耦合。有关广泛的调查,请参阅[45,58]。使用矩阵或张量分解[12,48,59]的方法,目标是使潜在因子更有形。最近,可解释的神经模型变得很流行,特别是对于文本[9,13,42]和图像[11],其中图像中单词、评论、项目或区域的注意力机制对可解释性至关重要。人们还努力使用LSTMs[30]或GANs[31]等模型生成可读的解释。
将用户、项目、类别和评论表示为知识图谱或异质信息网络(heterogeneous information network, HIN)已经成为一种流行的方法,其中解释采用用户和项目之间的路径形式。这种范式包括各种机制:学习路径嵌入[1,48],传播用户偏好[47],使用可解释规则[32,51]学习和推理,以及对用户-项目联系[19,52]进行排名。选择[52]中最新的方法作为基于路径的推荐算法家族的代表,与Prince进行比较。最后,对黑盒模型的事后或模型无关的合理化引起了人们的兴趣。方法包括关联规则挖掘[39]、有监督的用户-物品关系排序[19]和强化学习[49]。
一系列的工作一直在追求对HIN的随机漫步,包括[14,15,17,18,24]。简而言之,项目节点在HIN中的个性化PageRank (PPR)被用作推荐的排名标准。[37]引入RecWalk方法,提出了一种近似非耦合马尔可夫链的随机游走方法。我们的工作使用这个框架。据我们所知,我们是第一个研究计算边缘移除(用户动作)的最小子集的问题,以改变反事实设置中排名靠前的节点。之前关于动态图的研究,如[16,25],解决了相关问题,但没有解决这个问题。另一项研究集中于PPR的高效计算。近似算法包括幂迭代[38]、局部推法[2,3,56]和蒙特卡罗方法[4,5]。
8 总结和展望
本文探索了图推荐中基于动作的解释的一种新范式,目标是识别具有反事实属性的用户动作的最小集合,即缺少它们会将排名最高的推荐更改为不同的项目。与之前关于(主要基于路径)推荐解释的工作相比,该方法有两个优点:(i)解释简洁、可理解和可操作,因为它们是使用用户自己的购买、评分和评论的反事实设置导出的最小集合;(ii)解释不暴露其他用户的任何信息,从而避免了设计上的隐私泄露。
、局部推法[2,3,56]和蒙特卡罗方法[4,5]。
8 总结和展望
本文探索了图推荐中基于动作的解释的一种新范式,目标是识别具有反事实属性的用户动作的最小集合,即缺少它们会将排名最高的推荐更改为不同的项目。与之前关于(主要基于路径)推荐解释的工作相比,该方法有两个优点:(i)解释简洁、可理解和可操作,因为它们是使用用户自己的购买、评分和评论的反事实设置导出的最小集合;(ii)解释不暴露其他用户的任何信息,从而避免了设计上的隐私泄露。
Prince方法利用随机游走的个性化PageRank评分作为推荐模型,实现了上述原则。提出了一种高效的计算和正确性证明,用于计算反事实解释,尽管用户行为子集的搜索空间可能呈指数增长。在Amazon和Goodreads的大型现实数据上进行的广泛实验表明,更简单的启发式方法无法找到最佳解释,而Prince可以保证最优性。对AMT Masters的研究表明,Prince在解释有用性方面优于基线。