复现KGAT: Knowledge Graph Attention Network for Recommendation(三)
昨天写了复现KGAT系列的第二篇文章,准确的说那片文章里第二部分是昨天写的,第三部分是今天写的。如果再连着写下去就太长了,不如正好把第四部分单拿出来写,正好第四部分是实验部分,也是我复现论文需要关注的主要部分。
能挤出很多时间来复现论文真的很不容易,估计今天写完明天就没有什么时间来继续写了,也不知道再写又会是什么时候了。
4.EXPERIMENTS
我们在三个真实数据集上估计了我们提出的方法,特别是嵌入传播层,我们的目标是回答以下三个研究问题:
RQ1:KGAT与最先进的知识感知推荐方法比表现如何?
RQ2:不同的内容(比如说,知识图谱嵌入(konwledge graph embedding),注意力机制(attention mechanism)和聚集器选择(aggregator selection))对KGAT的影响如何?
RQ3:KGAT可以为用户对于物品的的偏好做出合理的解释吗?
4.1 Dataset Description
为了评估KGAT的效果,我们利用了三个分支数据集:Amazon-book,Last-FM和Yelp2018,这三个数据集都是公开可获得的并且在域、大小和稀疏程度上都是不同的。
Amazon-book: Amazon-review是被产品推荐广泛使用的数据集。我们从这个集合中选取了Amazon-book数据集。为了保证数据集的质量,我们使用了10-core的设置,即保留至少有10个交互的用户和物品。
Last-FM: 这是音乐收听数据集,收集自Last.fm 在线音乐系统。其中,tracks被视作items。特别的,我们使用时间从2015.1 到2015. 6期间的数据子集。同样的,我们使用10-core的设置保证数据质量。
Yelp2018: 这个数据集收集自2018版的黄色挑战。因此我们将当地的商业,比如说餐馆和酒吧看作是item。同样的,我们使用了10-core设置来确保用户和物品有最少10词交互。
除了用户和物品的交互,我们需要对每个数据集构造物品的知识。对于Amazon-book和Last-fm,如果有映射,我们通过标题匹配将项目映射到freebase entity(自由基础实体)。特别的,我们考虑与和物品对齐的实体直接相关的三元组,无论他是subject还是object。和仅提供物品一跳实体的知识感知数据集不同,我们将包括两跳邻居的实体的三元组也考虑在内。对于Yelp2018,我们从当地商业的信息网络(比如说,分类,地点和属性)中提取物品的知识作为KG数据。为了确保KG的质量,我们通过过滤掉不常用的实体(在两个数据集中都低于10)和保持至少在50个三元组中出现的关系来处理三个KG部分。我们总结了三个数据集的的特性(见下表)然后将数据集发布在了t https://github.com/xiangwang1223/knowledge_graph_attention_network.这个网址上。