丝路通:推荐系统原理

来自CloudWiki
Xiaolongyang讨论 | 贡献2020年12月5日 (六) 14:07的版本 流程介绍
跳转至: 导航搜索

功能介绍

1. 用户在前台收藏感兴趣的商品,

2.根据用户的收藏列表,为其推荐感兴趣的商品。

3.感兴趣的商品是通过基于物品的相似推荐实现的,通过提取商品的......等几个关键指标,计算商品之间的相似度。

4.推荐系统为用户推荐与他收藏商品相似度最高的商品。

流程介绍

推荐部分的数据产生是利用spark程序提取到HDFS中的商品数据后再利用基于内容相似推荐算法计算出两两商品之间的相似度,保存到业务数据库中,最后在前端给予展示

数据爬取

 数据爬取采用selenium自动化爬取工具,编写不同的爬虫代码对不同网站进行爬取,最后

数据清洗

 主要才用的是spark-sql

数据存储

相似度计算

上传业务数据库

前端展示

算法介绍

基于内容的相似推荐

1.商品描述分词:根据商品标签(商品分类和描述,商品名称)进行分词

2.TD-IDF算法计算特征向量

 基于内容的相似推荐,用到提取商品标签中的关键词算法"TF-IDF算法",将商品标签tags当做文本或者文档,那商品标签中的每个单词,就可以看作是文本文档中的每一个词汇。

  我们想要的得到的就是一个单词在商品标签tags中的关键程度是多少,这个关键程度就相当于商品在这个维度上的一个特征。

"词频"(TF)和"逆文档频率"(IDF),将这两个值相乘,就得到了一个词的TF-IDF值。某个词对文章的重要性越高.它的TF-IDF值就越大。所以,排在最前面的几个词,就是这篇文章或者说我们商品标签中的关键词。

3.余弦相似度计算

我们对这些特征向量进行余弦相似度计算,最后才得到了商品之间的相似度列表.余弦相似度越高的值,代表他们越相似。

4.相似度排序

 对相似度排序 ,就可以得到某个商品的最相似商品。

是实时还是离线?

实时的,离线分析结果提前存入数据库中,用户点击时实时反馈最优推荐。

为什么不用基于用户的推荐?

因为用户不多,推荐结果并不精确。




TF-IDF流程图.png