“丝路通:推荐系统原理”的版本间的差异
来自CloudWiki
Xiaolongyang(讨论 | 贡献) (→流程介绍) |
Xiaolongyang(讨论 | 贡献) (→流程介绍) |
||
第13行: | 第13行: | ||
数据爬取 | 数据爬取 | ||
− | 数据爬取采用selenium自动化爬取工具,编写不同的爬虫代码对不同网站进行爬取, | + | 数据爬取采用selenium自动化爬取工具,编写不同的爬虫代码对不同网站进行爬取,最后保存至Csv文件中 |
数据清洗 | 数据清洗 | ||
− | + | 使用Spark SQL对采集到的原始数据进行清洗、处理,最后将所有清洗结果直接保存到HDFS中。 | |
数据存储 | 数据存储 | ||
+ | |||
+ | 数据存储采用分布式文件系统HDFS,一次写入,多次读取。 | ||
相似度计算 | 相似度计算 | ||
+ | |||
+ | |||
上传业务数据库 | 上传业务数据库 | ||
+ | |||
+ | Mysql作为主数据库。Mysql是项目广泛应用的文档数据库,主要负责平台业务逻辑数据的存储。 | ||
前端展示 | 前端展示 | ||
+ | |||
+ | [[文件:内容相似推荐整体流程.png]] | ||
==算法介绍== | ==算法介绍== |
2020年12月5日 (六) 14:26的版本
功能介绍
1. 用户在前台收藏感兴趣的商品,
2.根据用户的收藏列表,为其推荐感兴趣的商品。
3.感兴趣的商品是通过基于物品的相似推荐实现的,通过提取商品的......等几个关键指标,计算商品之间的相似度。
4.推荐系统为用户推荐与他收藏商品相似度最高的商品。
流程介绍
推荐部分的数据产生是利用spark程序提取到HDFS中的商品数据后再利用基于内容相似推荐算法计算出两两商品之间的相似度,保存到业务数据库中,最后在前端给予展示
数据爬取
数据爬取采用selenium自动化爬取工具,编写不同的爬虫代码对不同网站进行爬取,最后保存至Csv文件中
数据清洗
使用Spark SQL对采集到的原始数据进行清洗、处理,最后将所有清洗结果直接保存到HDFS中。
数据存储
数据存储采用分布式文件系统HDFS,一次写入,多次读取。
相似度计算
上传业务数据库
Mysql作为主数据库。Mysql是项目广泛应用的文档数据库,主要负责平台业务逻辑数据的存储。
前端展示
算法介绍
基于内容的相似推荐
1.商品描述分词:根据商品标签(商品分类和描述,商品名称)进行分词
2.TD-IDF算法计算特征向量
基于内容的相似推荐,用到提取商品标签中的关键词算法"TF-IDF算法",将商品标签tags当做文本或者文档,那商品标签中的每个单词,就可以看作是文本文档中的每一个词汇。 我们想要的得到的就是一个单词在商品标签tags中的关键程度是多少,这个关键程度就相当于商品在这个维度上的一个特征。 "词频"(TF)和"逆文档频率"(IDF),将这两个值相乘,就得到了一个词的TF-IDF值。某个词对文章的重要性越高.它的TF-IDF值就越大。所以,排在最前面的几个词,就是这篇文章或者说我们商品标签中的关键词。
3.余弦相似度计算
我们对这些特征向量进行余弦相似度计算,最后才得到了商品之间的相似度列表.余弦相似度越高的值,代表他们越相似。
4.相似度排序
对相似度排序 ,就可以得到某个商品的最相似商品。
是实时还是离线?
实时的,离线分析结果提前存入数据库中,用户点击时实时反馈最优推荐。
为什么不用基于用户的推荐?
因为用户不多,推荐结果并不精确。