上週已經實現了對於用戶面部表情的捕捉,並對用戶的情緒進行了分析.隊友通過情緒分析給出了用戶對當前文章的評分.這周則根據以情緒爲基礎評分的文章評價進行推薦.
1.初始數據
首先我們得到的數據有用戶閱讀完一篇文章後,對該文章的評價,這個評價是一個綜合評價分值,由之前隊友的工作完成.所以最終的數據形式應該是一個用戶-文章評分的矩陣.因此根據用戶-評價矩陣,我決定採用基於用戶的協同過濾推薦算法.通過尋找與目標用戶具有相似評分的鄰居用戶,通過查找鄰居用戶喜歡的項目,推測目標用戶也具有相同的喜好。
2.算法思想
基於用戶的協同過濾推薦算法基本思想是:根據用戶-文章評分矩陣查找當前用戶的最近鄰居,利用最近鄰居的評分來預測當前用戶對項目的預測值,將評分最高的N個項目推薦給用戶.其算法流程圖如下圖1所示
爲什麼採用基於用戶的推薦而不是基於內容,因爲基於用戶的協同過濾推薦算法可以幫助用戶發現新的商品,帶來驚喜.我們需要的更多是內容的新穎,而對於複雜的在線計算和用戶問題,都是可以接受的.
3.具體步驟
基於用戶的協同過濾推薦算法實現步驟爲:
1).實時統計user對item的打分,從而生成user-item表
2).計算各個user之間的相似度,從而生成user-user的得分表,並進行排序;
3).對每一user的item集合排序;
4).針對預推薦的user,在user-user的得分表中選擇與該用戶最相似的N個用戶,並在user-item表中選擇這N個用戶中已排序好的item集合中的topM;
5).此時的N*M個商品即爲該用戶推薦的商品集。
4.實現