2

我正在嘗試推出一個基於主題的推薦系統來向用戶建議相關的文本文檔。針對基於主題的推薦系統的用戶配置

我在wikipedia語料庫上使用gensim訓練了一種潛在語義索引模型。這使我可以輕鬆地將文檔轉換爲LSI主題分發。我現在的想法是以同樣的方式代表用戶。但是,用戶當然有閱讀文章的歷史,以及文章的評分。

所以我的問題是:如何表示用戶?

我的想法如下:將用戶表示爲所有查看文檔的聚合。但如何考慮評分?

任何想法?

謝謝

回答

1

我不認爲這是與LSA合作。

但是你也許可以做某種類型的k-NN分類,其中每個用戶的座標是查看的文檔。每個對象(=用戶)發出輻射(強度與距離的平方成反比)。強度由單個文檔的評分計算得出。

然後,您可以在此超維空間中放置一個對象(用戶),並查看其他用戶提供的最多「光線」。

但是:不能Apache Lucene爲你做那整個東西? 「

0

」代表一個用戶作爲所有查看的文檔的集合「:如果您處於線性空間,這可能確實可行。您可以輕鬆將所有文檔向量添加到一個大向量中。

如果您想添加評分,您可以簡單地在總和中添加一個係數。

假設你將所有文件在一個向量D2中評爲2,在D3等中評爲3 ...然後你簡單地定義一個用戶向量爲U = c2 * D2 + c3 * D3 + ... 你可以玩各種形式爲c2,c3,但最簡單的方法是簡單乘以評分,併除以最大等級以歸一化原因。

如果您的最大等級是5,您可以定義例如c2 = 2/5,c3 = 3/5 ...