開源推薦框架:DUINE

jopen 11年前發布 | 23K 次閱讀 DUINE 推薦引擎

Duine 是由一個挪威的團隊開發的開源推薦引擎, 在 Duine 中推薦器只是其中的一個模塊,它同時還處理用戶資料庫(User Profile)、反饋(Feedback)、推薦可解釋性(Explanation)等等更多的模塊,以及這些模塊之間如何交互的問題。


  Duine 的三個主要的方面:推薦框架、推薦過程、自省過程,其實還應該有一個很重要的是反饋過程,但由于在 Duine 中這并不是一個重要的模塊,這里就不多說了。以下不完全是按照原文檔的敘述,有些地方會加入了我個人的理解或實踐上的認識,如有不妥之處,還請指出。


1、Ratable Item:例如書、電影、音樂等等用戶可以對它表達自己的觀點與愛好的事物集,它所包含的一 meta 信息也可作為推薦器的依據之一。拓展一下這個概念,你可以為自己的推薦系統構建一個 Item Profile 模塊。


2、User Profile:用戶資料庫,這是所有模塊里最不容易定義的一部分,通常用戶的性別、年齡、職業等人口統計學的信息是應該被包含在資料庫中的(如果有的 話);如果能通過對用戶行為與收藏的統計得到一些有價值的表征用戶興趣的信息與類別信息,也應該存放在其中;有些系統會把用戶的收藏與評分信息也歸入該模 塊,有些系統則傾向于把這部分數據獨立出來,因為這部分數據量畢竟比較大,這關系到應該把源數據還是應該把中間計算結果存儲在資料庫中。Duine 實際采用的是一個更廣義的 Profile Model 的概念,其中包括:Rating Model、Interest Model、User Similarity Model 以及 Item Similarity Model。


3、Prediction Technique:這是推薦框架的核心,也是推薦系統研究中被討論最多的模塊。學術研究與工業應用中已經催生出大量的推薦算法,目前為止可以說最強大的推薦算法不是某一個算法,而是一個適用于不同用戶需求的混合式的推薦算法。Duine 的推薦池中采用的推薦器并不太復雜,下面會逐一介紹。


4、Prediction & Explanation:這是推薦器模塊直接輸出到用戶的結果,推薦池依據已知的 User Profile 與Ratable Item(或許你可以認為它是 Item Profile)的輸入,對未知的 user-item 作出預測。如果這個推薦系統足夠 User Friendly 的話,它還應該輸入自己對這個預測的解釋,畢竟一個可解釋的推薦結果更容易為用戶所接受,這也是為什么 amazon 在每個推薦的下面都會給出自己的推薦依據。可解釋的東西有很多,比如某一個推薦器的決策依據,再比如下一節要講的推薦決策過程。


5、Feedback & Feedback Processor:一個有反饋的推薦系統才能向著更優化的方向演進,反饋更快,系統會得到更快的學習機會。Feedback Processor 收集來自用戶的顯式或隱式的反饋,并把變化更新到 User Profile 中。這里的反饋包括面比較廣,不單指用戶對推薦結果的愛好表達,還包括一般的收藏、評分行為這類用戶與推薦系統之間的交互。


6、Validity Indicators:這個我不知道該如何翻譯更合適,所以在下文根據自己的理解把它譯為“自省”。每個推薦器都需要一個自我評價與校正的機制,這樣才能 促使系統的不斷競爭與進化。Duine 中對這一模塊的處理比較簡單,只是根據測試集的測試結果對每個推薦器的可靠程度作一個評價。實際上這是很難以解決好的一部分,不同的推薦器應該有不同的校 驗方法,并且需要有能力根據用戶的反饋對自身進行校正,也許擁有一個高級的“自省過程”是一個“有智能”的推薦系統的前提條件。

項目主頁:http://www.baiduhome.net/lib/view/home/1372206091416

</span>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!