2008-09-10 109 views
19

我已閱讀了這本書Programming Collective Intelligence,發現它很迷人。我最近聽說亞馬遜向全世界發佈了一個挑戰,希望爲他們的系統提供一個更好的推薦引擎。構建推薦引擎時應該考慮什麼?

贏家顯然是通過限制提供給它的信息量來產生最好的算法。

根據經驗,第一條規則我想......「更多信息未必是更好的時候,模糊算法。」

我知道是很主觀的,但最終這是一個衡量的東西(響應建議點擊)。

因爲我們大多數人,這些天處理的網頁和搜索可以被認爲是推薦的一種形式......我懷疑我不是誰願意欣賞這個其他人的想法只有一個。

簡而言之,「什麼是建立一個建議的最佳方式?」

回答

5

你不想除非你有沒有關於用戶的信息使用「全面普及」。相反,您希望將此用戶與相似的用戶對齊並相應地加權。

這正是Bayesian Inference所做的。在英語中,它意味着調整你喜歡的東西的總體概率(平均評分),其他人的評分也是,他們通常也會爲你的方式投票

另一個建議,但這次特設:我發現有人在哪裏,如果他們喜歡什麼,我幾乎可以肯定不是喜歡它。我不知道這種影響是真實的還是想象的,但是建立一種「負面影響」而不是僅僅通過相似性聚集人羣可能很有趣。

最後有一家公司專門研究SenseArray。店主(Ian Clarkefreenet fame)非常平易近人。如果你打電話給他,你可以用我的名字。

+1

這是貝葉斯推斷的一個不正確的定義。根據數據,貝葉斯推斷將您從先前的意見轉換爲最新的意見。這個答案太廣泛了,以回答@ Allain的問題。 – isomorphismes 2011-03-05 05:46:38

5

有一個計算機科學專門研究這個問題的整個研究領域。我建議讀some articles

5

同意@Ricardo。這個問題過於寬泛,比如問「什麼是優化系統的最佳方式?」幾乎所有現有的推薦引擎

的一個共同特點是,提出最後建議歸結爲乘向量和矩陣的一些數字。例如,將包含用戶之間的接近權重的矩陣乘以項目評級的向量。

(當然,你必須要準備好大部分的載體是超級疏!)

我的回答是肯定來不及@Allain但對於其他用戶發現通過搜索這個問題 - 給我一個下午,問一個更具體的問題,我一定會迴應。

(我設計的推薦引擎專業。)

2

@Lao姿,我同意你的看法。

據我,推薦引擎是由以下部分組成:從上下文感知系統(記錄所有數據)

  • 邏輯推理

    • 語境輸入輸送到過濾最明顯的
    • 專家系統,根據上下文輸入在一段時間內改善主觀數據,並基於前面行動的加權總和進行決策靠近的決策的概率推理(貝爾iefs,慾望,&意圖)。

    P.S. 我做了這樣的推薦引擎。