最近,我發現有幾個網站有這樣的內容:「爲你推薦」,例如youtube或facebook,網站可以研究我的使用行爲,併爲我推薦一些內容... ...我想知道他們如何分析這些信息?有沒有任何算法可以這樣做?謝謝。計算機如何知道「爲您推薦」?
回答
亞馬遜和Netflix(其中包括)使用名爲Collaborative filtering的技術根據您購買和選擇類似於您的其他人的喜好來推薦您喜歡的產品。
哪些有時會奇怪的事情。亞馬遜曾與我買過的一本書,一張CD和一臺電腦配件相關聯,並推薦了一張DVD(我對它感興趣,但是......) – 2010-07-30 18:32:26
@James Curran:在CS文本和漫畫之間亞馬遜讓我非常準確盯住一個巨大的書呆子。 Netflix更有趣,因爲我與我的妻子共享一個隊列。我很喜歡科幻,但她不喜歡。最近她看了* Free Willy *之後,我很高興看到它推薦* Star Trek IV *。 – 2010-07-30 20:05:30
有沒有任何算法可以做到這一點?
是
+1讓我笑了:) – 2010-07-30 18:02:34
我本來可以從來沒有這個提示。 :) – 2010-07-30 18:05:20
非常毫無價值的答案,即使它有點有趣/誠實。 – 2010-07-30 18:08:42
是。一個比較常見的方法是看你過去選擇的東西,找到其他人做出選擇,然後找到其他人中最常見的選擇,並猜測你可能對那些也是。
這通常是通過將您與其他具有相似使用歷史記錄/配置文件的用戶進行匹配,然後推薦他們已經購買/觀看過/其他任何內容的用戶完成的。
這樣一個算法將會隨着公司而變化很大。在很多情況下,它會分析您的搜索歷史記錄,購買歷史記錄,物理位置以及其他因素的組合。它可能還會比較其他人的購買/搜索,以查找這些人購買/搜索的內容,並向您推薦一些這些產品。
這裏面可能有數百種算法,但我懷疑你可以使用其中的任何一種算法(實際上是好的)。也許你最好自己搞清楚。
搜索「推薦算法」會生成大量論文。大多數算法結合「機器學習」算法來確定事物組(喜劇電影,園藝書籍,管絃樂曲等)。您與這些組的匹配會產生建議。一些公司也使用人類對事物進行分類。
如果您可以對內容進行分類(即通過標記或內容分析),您還可以對用戶及其偏好進行分類。
例如:你有一個視頻門戶網站有500萬視頻..其中1兆標記爲mostly red
。如果用戶觀看的所有視頻中的80%(由IP定義,持久用戶帳戶...)標記爲mostly red
,則可能需要向他推薦更多紅色視頻。您可能希望通過查看他的進一步行動來改進您的建議:他是否喜歡您的建議 - 如果是這樣,爲什麼不給他更多,如果不是,嘗試第二好的猜測,也許他不是在尋找顏色,而是爲了背景音樂......
有沒有絕對的算法來做到這一點,但所有的實現都將進入類似的方向。它總是建立在觀察用戶的基礎上,這會不時驚醒我:-)
是的,有很多算法。比如k-nearest neighbour:http://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm。
這是關於這個主題的一本很好的書,涵蓋了與其他人一起製作這些系統:http://www.amazon.com/gp/product/0596529325?ie=UTF8&tag=ianburriscom-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0596529325。
有很多解決問題的算法:Wiki article。這是一個機器學習領域的問題。可以使用兩種主要技術來學習計算機:分類和聚類。他們需要一些數據集作爲輸入。如果數據集是信息性的(確實存在一些有用的模式),那些ML技術可以挖掘它的大部分。
羣集可能是最適合這種問題。主要用法是找到提供的數據集中的點之間的相似性。如果分數是,例如您的搜索歷史記錄,它們可以組合在一起形成特定的羣集。如果您的搜索記錄與另一個搜索記錄密切相關,則可以提供提示 - 選取與您的搜索記錄最相似的鏈接。
書中的建議也一樣 - 顯然它們使用的是什麼數據集:「其他購買此產品的人也購買了產品A,產品B ......」。這裏的關鍵是將您的個人資料與他人相匹配,並使用最相似的建議。
計算機通過複雜的內存掃描過程從人腦中檢索信息,並對其進行相應排序,並根據您迄今爲止在生活中經歷的內容輸出結果。
- 1. 你如何計算網上的推薦?
- 2. 推薦算法
- 3. 軌道HTTP推薦
- 4. 如何知道計算機重新啓動
- 5. 如何使用Python知道計算機(Windows 7)的內容?
- 6. 計算機如何知道將會有多少參數?
- 7. 計算機如何知道數據包的端口?
- 8. 如何知道文件是否在計算機中使用?
- 9. GWT推薦的計算機輔助翻譯
- 10. 獲取計算機推薦的分辨率代碼
- 11. 如何在C中計算您的計算機的字大小?
- 12. 如何實現這個推薦算法?
- 13. 如何根據推薦的memebrs計算commision?
- 14. 從手機訪問您的計算機
- 15. WCF - 如何知道連接到我的計算機的主機名稱
- 16. 如何設計推薦頁面
- 17. 發送方計算機如何知道接收方計算機上自定義進程的端口號?
- 18. Microsoft認知服務推薦
- 19. 管道計算機瞭解
- 20. 如何知道在C++中計算算法的執行時間?
- 21. 如何知道何時將計算機對象添加到安全組
- 22. Android本機SIP推薦庫
- 23. 推薦手機尺寸
- 24. 隨機推薦列表VBA
- 25. 您可以推薦什麼JavaScript緩存
- 26. 您推薦哪個HTML5移動框架?
- 27. 您會推薦哪種報告工具?
- 28. 您對Android推薦哪個XML-RPC庫?
- 29. Django:實施推薦計劃
- 30. 桂設計模式推薦
Netflix提供了100萬美元的獎金來改進他們的算法,所以顯然一個好的算法並不便宜。 http://www.netflixprize.com/ – Greg 2010-07-30 18:06:41
計算機是否知道建議的內容?它知道的應用程序。 – Kangkan 2010-07-30 18:17:08
@Kangkan:你的技術水平很高,路面很滑......應用程序是否有效_knows_?應用程序是否存在於計算機之外? – mjv 2010-07-30 18:31:47