2012-07-06 39 views
0

我需要爲登錄用戶生成建議列表。基本上它是「既然你喜歡這些東西,以及其他喜歡這些東西的人,所以你也可能喜歡這些東西」。有沒有做一個「你這個樣子,誰喜歡這個也喜歡這些東西別人,所以你可能會喜歡這些」查詢的「正確」的方式?

我大概可以工作了製造這種結果的體面的算法,但在此之前我推倒重來,我想知道是否已經有生產這種結果的共同或確定的方法或搜索算法?

任何建議或意見,非常感謝!

謝謝,羅布

回答

2

最常用的方法是K Nearest Neighbours Algorithm

的算法是這樣的:

  • 挑一些N「鄰居」的考慮(例如5)
  • 挑選得分如何這兩個用戶的喜好之間的相似性(如總人數的一種方式項目的兩個用戶等)
  • 要爲用戶提出建議,首先找到誰擁有最相似的外形的N個其他用戶。在這裏,擁有大部分物品的5位用戶都喜歡與我們的用戶共同使用。
  • 的建議是由東西,目前用戶已經不喜歡那些其他用戶喜歡。當然,大多數其他用戶喜歡的項目是最好的候選人。

如果Apache Mahout的爲你工作,然後去了。但是,如果不是,這是迄今爲止最常用的(也是最簡單的)算法之一。如果你使用谷歌搜索,你可能想要搜索「協作過濾」,這是這個問題的公認名稱。