基于知识图谱商品推荐the Northwind example案例
为借鉴知识图谱在精确营销场景下的应用,梳理了商品推荐(the Northwind example)案例。该案例用到Northwind数据库,数据包含购买历史数据集,可以用来做推荐系统案例。通过import将Northwind数据库导入到图数据库。
(一)搜索最频繁的商品
通过从Customer到Product的路径,找到与客户联系最频繁的商品。
对第一条记录进行可视化展示。
(二)基于内容的推荐
基于内容的推荐是推荐算法中比较简单的算法,它的原理是基于商品的元数据,发现商品的相关性,然后基于用户以前的喜好记录推荐给用户相似的商品。
这里我们根据用户过去的购买记录,向他们推荐他们还没有购买的东西。对于每一个用户够买的商品,我们搜索购买这个商品的其他客户也购买了什么,基于其他用户购买的商品进行推荐。通过推荐商品和已经购买商品都与Category关联,我们可以进一步缩小要推荐商品的列表。
对第一条记录进行可视化直观展示
(三)协同过滤算法
协同过滤是推荐引擎一种常见技术,通过其他客户的反馈推荐商品。为此,我们可以使用最近邻算法(k-NN),最近邻算法可以根据商品之间的相似性将客户分组。在我们的案例中,两个客户对商品不同评价评估相似性,通过相似性找到相似用户,推荐相似用户购买的商品。
1、计算用户对商品的评价
首先我们需要建立用户对商品的评级关系,根据用户购买商品的次数为商品创建一个0到1之间的分数。表单中total为用户总的购买次数,orders为用户对该商品的购买次数,rating为orders/total,计算完成后在客户和商品之间建立评价关系。
2、计算用户相似度
通过用户对商品的评价,采用余弦距离计算两个用户之间的相似度。每个用户对所有购买过的商品生成一个评价向量,两个用户的评价向量之间求余弦距离即用户相似度。
3、基于用户相似性的推荐
基于相似用户的购买的商品,计算该商品推荐分值。