本文通过利用用户的review文本信息,构造“特征-相关性评分”,从而在LFM模型当中引入显性因子,从而使得模型的推荐结果具有解释性。(content-based + CF-based)
本文的Motivations:
(1) 单纯看评分和隐因子分解,无法给出具体的特征解释;所以加入显性因子
(2)不同用户会关注不同的特征,如果是隐性因子,没本法给出具体解释,也没办法体现出这里面的不同?
具体做法:
(1)先通过phrase-level sentiment analysis on user reviews, 提取特征名词、对于特征的评价;特征名词既可以用来表达item,也可以用来表达user
(2)根据用户的评价,构造user-feature矩阵以及item-feature矩阵(有点像package中label的关联属性),如一个用户多次采用了某个特征名词,那么user-feature中该实体的值就会大些;如果某个item被多个用户评价了同一个特征,该item-feature对应的实体值也应该增大
(3)结合user-item评分矩阵, user-feature, item-feature三个矩阵的分解如下,:user-feature~U1,V; item-feature~U2,V; user-item~ [U1, H1], [U2, H2];
(4)确定统一的优化目标(loss function),再结合Lagrange multiplier 和KTT补充条件,和求某个参数时,固定其他参数的方法求解。(存在疑惑;需要时再具体研究求解方法)
(5)求出5个矩阵之后,就可以还原user-item, user-feature, item-feature;在做推荐的时候,根据user-feature 和 item-feature可以求出user对于item在显性特征下的相关性,再结合user-item的评分,可确定最终的推荐score。 其中user-feature 和item-feature构造的相关性还可以用来给出推荐的解释。
启发:
类似的,通过分析显性特征user-feature的分布,是否可以得出用户做出选择时的选择结构?
代码参考:
librec: EFM
@RELATION user-music
@ATTRIBUTE user NUMERIC
@ATTRIBUTE item NUMERIC
@ATTRIBUTE rating NUMERIC
@ATTRIBUTE feature-sentiment STRING
@DATA
0,0,5,0:1 1:1
0,1,4,0:1 1:1
0,2,3,0:1 1:-1
文献题目 | 去谷歌学术搜索 | ||||||||||
Explicit Factor Models for Explainable Recommendation based on Phrase-level Sentiment Analysis | |||||||||||
文献作者 | Yongfeng Zhang | ||||||||||
文献发表年限 | 2014 | ||||||||||
文献关键字 | |||||||||||
Recommender Systems; Sentiment Analysis; Collaborative Filtering; Recommendation Explanation; EFM | |||||||||||
摘要描述 | |||||||||||
Collaborative Filtering(CF)-based recommendation algorithms, such as Latent Factor Models (LFM), work well in terms of prediction accuracy. However, the latent features make it difficulty to explain the recommendation results to the users. Fortunately, with the continuous growth of online user re- views, the information available for training a recommender system is no longer limited to just numerical star ratings or user/item features. By extracting explicit user opinions about various aspects of a product from the reviews, it is possible to learn more details about what aspects a user cares, which further sheds light on the possibility to make explainable recommendations. In this work, we propose the Explicit Factor Model (EFM) to generate explainable recommendations, meanwhile keep a high prediction accuracy. We first extract explicit product features (i.e. aspects) and user opinions by phrase-level sen- timent analysis on user reviews, then generate both recommendations and disrecommendations according to the spe- cific product features to the user’s interests and the hid- den features learned. Besides, intuitional feature-level ex- planations about why an item is or is not recommended are generated from the model. Offline experimental results on several real-world datasets demonstrate the advantages of our framework over competitive baseline algorithms on both rating prediction and top-K recommendation tasks. Online experiments show that the detailed explanations make the recommendations and disrecommendations more influential on user’s purchasing behavior. |