0

我正在從查詢日誌構建推薦系統。對於每個查詢日誌,我都有關於用戶點擊鏈接的數據。用戶不會爲他們訪問的鏈接提供任何評分。 我想創建一個推薦系統,建議「如果你點擊了這個,試試這個另一個類似用戶試過的」。我正在探索Apache Spark - MLLib來爲此目的使用協作過濾。不幸的是,ALS算法需要「評級」數據。基於MLlib項目的無評級協作過濾

這是我在網上得到了解決方案之一:

「因爲我們想爲我們搜索所有誰已經查看該頁面的用戶,那麼,爲每個用戶的建議,每一個頁面,我們仰望所有其他頁面他們已經查看過,然後我們統計在這個數據集中查看每個頁面的用戶數量,並使用那些數量最高的用戶作爲我們的建議。「

用戶建議這種方法很慢。

我想知道是否有一種很好的方法來「僞造」排名數據,或者是否有一個流行的開源實現不需要排名數據?

+0

評分在隱式反饋的情況下也可以計數。 Ex(user1,url1,1/0),1/0是否點擊。 –

+0

感謝您的回答。我考慮過了。我擁有的數據只是用戶點擊的網址。這樣我就可以在我的矩陣中擁有所有的1。 另外,如果將0放到所有剩餘的文檔中(數量非常大),它將是一個非常巨大的稀疏矩陣。 – Omkar12353

回答

1

在隱式反饋的情況下,評分也可以被計數。 Ex(user1,url1,1/0),1/0是否點擊。

現在您提出了另一個問題,無論如何,稀疏矩陣和稠密矩陣之間存在差異。你不需要添加任何0,這是評級的想法,你有那些你有一個點擊,例如(u1,url1,1),如果這是唯一的網址,用戶1單擊它,你做不需要爲他還沒有點擊的人添加ceros。該模型知道這是使用的輸入數據格式。

我希望它有幫助。

相關問題