两小时搭建一个推荐系统

字体大小: [] [] []

 

目前的推荐系统大都有基于物品相似度的推荐策略、基于协同过滤的推荐策略,大多数大型的推荐系统会有若干种推荐策略,最后用排序融合策略,获得更好的推荐效果。

今天给大家介绍的是基于物品相似度的推荐算法,来实现一个推荐系统(Easy Recommend Framework)。系统代码存放在github上。

https://github.com/tianzhaotong2012/EasyRecom

系统有着开箱即用的特性,简单的部署,就可以让推荐系统跑在你的服务器上了,windows和linux都可运行。

使用方法:

1、安装python,下载程序代码

2、安装jieba,切换到jieba目录运行 python setup.py install

3、替换自己系统的物料文件及用户文件(也可不替换使用项目自带的演示文件)

物料文件是/input/post/post_online文件,每行一个物料,物料ID和物料title

用户文件是/input/user/文件夹下,用户ID命名的文件,每个文件内是用户感兴趣的内容,ID和title构成

3、执行src目录下的python run.py

4、查看output下的推荐结果

 

运行原理

  • 将物料库中的title一个个读取出来,用jieba对title做分词处理
  • 把上一步中分割的词去词向量库中把每个词对应的词向量取出
  • 把每个词的词向量相加,得到整个title的词向量
  • 依次处理整个词向量库的title,转换为句子向量
  • 将用户喜爱的物料的title也转换成句子向量
  • 将用户喜爱的物料的向量依次与物料库每个向量,取余弦距离,计算相似度
  • 取相似度高的物料,推荐给用户

 

目前该系统已在时讯快报APP(shixunkuaibao.com)上运行

 

24
甜筒冰激凌 的头像
[共196篇]

个人空间: 点击进入

You must be logged in to post a comment.