目前的推薦系統大都有基於物品相似度的推薦策略、基於協同過濾的推薦策略,大多數大型的推薦系統會有若干種推薦策略,最後用排序融合策略,獲得更好的推薦效果。
今天給大家介紹的是基於物品相似度的推薦算法,來實現一個推薦系統(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)上運行