簡單的項目到項目推薦系統是衆所周知的並且經常實施。一個例子是Slope One algorithm。如果用戶還沒有評分很多項目,這很好,但是一旦他們有了,我想提供更細緻的建議。我們以音樂推薦系統爲例,因爲它們很受歡迎。如果用戶正在觀看莫扎特的作品,可以給出另一首莫扎特作品或貝多芬的建議。但是,如果用戶對古典音樂進行了很多評分,我們可能能夠在這些項目之間進行關聯,並看到用戶不喜歡人聲或某些樂器。我假設這將是一個由兩部分組成的過程,第一部分是找出每個用戶的評分之間的相關性,第二部分是從這些額外的數據構建推薦矩陣。所以問題是,它們是否可以用於這些步驟的任何開源實現或論文?除了項目之間的建議
4
A
回答
0
有兩種技術,我能想到的:
- 列車使用Backpropagation或它的繼任者之一的前饋人工神經網絡(例如反彈傳播)。
- 使用version space learning。這從關於用戶喜歡什麼的最一般和最具體的假設開始,並且在集成新示例時將其縮小。您可以使用術語層次結構來描述概念。這些方法
共同特點是:
- 您需要爲 每個用戶不同的功能。當 搜索建議時,這非常規則 出有效的數據庫查詢。
- 該功能可在用戶投票選擇項目時即時更新 。
- 尺寸沿着要劃分 輸入數據(例如具有人聲,節拍 每分鐘,音階, 無論)是到 質量分類的非常關鍵的。
請注意,這些建議來自基於知識的系統和人工神經網絡的大學課程,而不是來自實踐經驗。
2
口味可能有一些有用的東西。它移動到亨利馬烏項目:
一般情況下,這個想法是,給定用戶過去的喜好,要預測什麼,他們會選擇一個和推薦。您構建了一個機器學習模型,其中輸入是用戶過去選擇的內容以及每個選擇的屬性。輸出是他們將要選擇的項目。您可以通過阻止他們的一些選擇來創建培訓數據,並使用他們的歷史記錄來預測您保留的數據。
您可以使用許多不同的機器學習模型。決策樹很常見。
1
一個答案是,任何推薦系統應該有一些你描述的屬性。最初,建議不是很好,而且都在這個地方。在學習口味時,建議將來自用戶喜歡的區域。
但是,您描述的協作過濾過程根本上不是試圖解決您正在嘗試解決的問題。它基於用戶的評分,並且兩首歌曲的評分也不相同,因爲它們是相似的歌曲 - 它們的評價類似,只是因爲類似的人喜歡它們。
你真正需要的是定義你的歌曲歌曲相似度的概念。它是基於歌曲的聲音?作曲家?因爲聽起來這個概念實際上並不基於評分。這是你試圖解決的問題的80%。
我認爲你真正回答的問題是,哪些項目與給定項目最相似?鑑於您的物品相似性,這是一個比推薦更容易的問題。
Mahout可以幫助所有這些事情,除了基於其音頻的歌曲相似度 - 或者至少爲您的解決方案提供開始和框架。
相關問題
- 1. GIS項目建議
- 2. ASP.NET MVC的項目建議
- 3. Silverlight項目建議 - 在解決方案共享項目之間的資源/項目
- 4. 如何在某些項目之間刪除QListWidget上的項目?
- 5. 重建我的項目的建議
- 6. 如何在gwt項目之間建立共享項目?
- 7. 項目之間的參考
- 8. 的Maven - 項目之間
- 9. Android和AppEngine之間的連接!建議
- 10. 刪除RecyclerView中項目之間的間距android
- 11. md-autocomplete - 刪除建議中的選定項目
- 12. Visual Studio 2010是否打破了C++項目之間的「項目依賴關係」?
- 13. RSS提要中的建議項目數
- 14. 關於項目規劃的建議?
- 15. 關於Yii項目結構的建議?
- 16. .gitignore對於Android項目的建議
- 17. SQL查詢建議 - 最近的項目
- 18. 我需要此項目的建議
- 19. 點擊autocompletetextview建議的項目
- 20. 關於WPF和WCF項目的建議
- 21. 關於Zend或CI項目的建議
- 22. 對Android項目指南的建議
- 23. 除了使用$ _GET之外的選項
- 24. 更改ActionBarTab項之間的項目
- 25. Xcode項目之間的選項卡?
- 26. Xamarin Listview StackLayout項目之間的空間
- 27. 你會建議在iAd和adSense之間
- 28. 關於組織項目集合和團隊項目的建議
- 29. 開源asp.net mvc項目的項目結構建議
- 30. Egit從工作空間中移除了我的項目
是的,你想現在下載http://mahout.apache.org。 – 2010-12-23 22:50:00