Reinforcement Knowledge Graph Reasoning for Explainable Recommendation
- abstract
与大多数现有的方法不同,这篇文章致力于实现明确的可解释推荐,在知识图谱中得到明确的理由从而进行推荐。
提出了一个 Policy-Guided Path Reasoning(PGPR)方法
提出了四个主要贡献,在introduction又详细写了下
- introduction
介绍了下当前方法存在的哪些问题:
1.利用知识图谱嵌入做推荐
1.1存在的问题:纯知识图谱嵌入,缺少发现多跳关系路径的能力 多跳关系路径是个啥??
1.2利用知识图谱嵌入增强协同过滤
存在的问题:是在相应的推荐项被选择后,再进行解释 具体怎么进行相应的解释不太清楚??
2.Another line of research investigates path-based recommendation
2.1 对知识图谱使用元路径进行推理(proposed the notion of meta-paths to reason over KGs.)
存在的问题:无法探索未连接的实体之间的关系
2.2 基于知识图谱路径嵌入的方法进行推荐,需要枚举user-item对之间的所有可能路径(developed a path embedding approach for recommendation over KGs that enumerates all the qualified paths between every user–item pair,and then trained a sequential RNN model from the extracted paths to predict the ranking score for the pairs.)
存在的问题:对于大的知识图谱,没有办法全部探索。
文章对此提出了他们的方法,不只是得到推荐项目的候选集,还有得到每个项目推荐的原因,可解释的证据。把推荐过程看成确定性马尔可夫决策过程。
agent从一个给定的user出发,学习找到用户潜在的感兴趣的项(item)。并且这个path history当作为什莫推荐给用户的解释。
如下图:
给定用户A,算法找到的item B 和F,推导路径(reasoning path)为{UserA → ItemA → BrandA → Item B} and {UserA → Feature B → Item F}.
实现上边的方法面临的挑战及解决方法:
1.如何正确的衡量推荐给用户的item,需要认真考虑终止情况(terminal conditions)和奖励(reward)
解决方案:搞了一个基于软奖励(soft reward strategy)的多跳评分函数,使用知识图谱中丰富的异构信息。
2.==这个没太看懂是个啥意思,关于这个action可能需要在后边的模型和实验再看下????==action的空间依赖于图的出度,某些点可能会非常大
解决方案:提出了一个user-conditional action pruning strategy来减少action空间
3.对于推荐,需要保证item和path的多样性,避免agent被限制在item的某一个区域
解决方案:design a policy-guided search algorithm to sample reasoning paths for recommendation in the inference phase具体咋做的还不太清楚???
这篇文章的贡献:
1.他们说明了把知识图谱里边丰富的异构信息放到推荐问题,用以解释推理过程的重要意义
2.提出了基于强化学习的方法,通过使用软奖励机制(soft reward strategy),user-conditional action pruning,and the multi-hop scoring strategy
3.设计了基于beam-search的算法来高效的取样推理路径和候选item用于推荐
4.在几个Amazon 电子商务领域上进行测试,得到了好的结果和可解释的推理路径
-
2. Related work
2.1 Collaborative Filtering
2.2 Recommendation with Knowledge Graphs
2.3 Reinforcement Learning
2.1 Collaborative Filtering
早期的协同过滤使用user-item评分矩阵,使用基于用户或基于物品的协同过滤方法。随着降维方法的发展,潜在因子(latent factor)模型比如矩阵分解被用于推荐。随着深度学习和神经网络的发展,拓展了协同过滤方法,主要分为两种子类:the similarity learning approach , the representation learning approach。但上边的这些方法都很解释推荐结果。
2.2 Recommendation with Knowledge Graphs
之前的工作将知识图谱嵌入以帮助推荐。一个研究方向是将知识图谱嵌入作为丰富的内容信息(rich content information)增强推荐的性能;另一个研究方向尝试使用知识图谱中实体(entity)和路径信息作可解释的决定,但是之前工作存在的问题就是上边introduction提到的:先选择项再形成推荐或无法在大的知识图谱上使用
2.3 Reinforcement Learning
提了一些RL在推荐系统的使用,但没有知识图谱;一些使用了知识图谱,但是在QA工作上。最后说当前的工作没有在较大知识图谱的基础上使用强化学习实现推荐系统的工作。
-
3. Methodology
3.1 Problem Formulation
3.2 Formulation as Markov Decision Process
3.3 Multi-Hop Scoring Function
3.4 Policy-Guided Path Reasoning
3.1 Problem Formulation
给出了一个新的知识图谱的定义 G R G_R GR,包含一个子集合’USER’ entities U U U和一个子集合’Item’ entities I I I,满足集合 U , I U,I U,I都属于实体集,并且 U ∩ I = ∅ U\cap I=\varnothing U∩I=∅.两种实体之间的连接关系使用 r u i r_{ui} rui
表示。
定义一个K跳路径: p k ( e 0 , e k ) = e 0 ↔ r 1 e 1 ↔ r 2 . . . ↔ r k e k p_k(e_0,e_k)={e_0\stackrel{r_1}{\leftrightarrow}e_1 \stackrel{r_2}{\leftrightarrow}...\stackrel{r_k}{\leftrightarrow}e_k} pk(e0,ek)=e0↔r1e1↔r2...↔rkek,其中 e i − 1 ↔ r i e i e_{i-1}\stackrel{r_i}{\leftrightarrow}e_i ei−1↔riei表示 ( e i − 1 , r i , e i ) ∈ G R (e_{i-1},r_i,e_i)\in G_R (ei−1