個性化推薦中的用戶興趣建模淺析


http://in.sdo.com/?p=1386

引言

在互聯網上,信息的數量越來越大。用戶可以選擇的面也越來越廣,推薦系統的任務是,要從眾多的資訊中,過濾並挑選出符合每個用戶口味的內容,推薦給不同用戶。在這個過程中,對用戶興趣的刻畫、建模是最為重要的一環。

 

傳統的用戶興趣刻畫,大多集中於用戶基本屬性上,例如性別、年齡、職業、收入等,這樣提取的用戶屬性,對用戶興趣的刻畫並不夠直接,對推薦系統來說,更需要一類直接面向待推薦內容的用戶興趣描述方法,並能方便的應用於個性化推薦系統,進行精准的個性化推薦。本文就此簡單做些介紹,注意實際運用時會因地制宜進行更深入的改進。(文/陳運文)

 

符號標記方法(Notation)

本文中,約定 user代表用戶,item代表被推薦對象,log代表用戶點擊的歷史,tag代表標簽(標簽由一個或多個詞匯構成,例如 范冰冰、曲棍球、美國職業籃球聯賽等);category代表分類(例如 體育、娛樂、軍事等);

 

實現步驟

1 用戶點擊行為的日志記錄

2 基於點擊行為,對用戶興趣進行建模,分為三部分進行挖掘,也是本專利的核心內容

3 基於上節生成的用戶興趣模型,進行個性化推薦

4 用戶接收到個性化推薦結果后,點擊反饋行為將被回收並記錄到用戶點擊行為日志中,用戶下一次循環時更新興趣模型

點擊行為記錄

點擊行為是后續的用戶興趣建模的數據基礎。以系統日志的方式進行存儲,記錄有userid,itemid,時間,點擊行為等

 

用戶興趣建模過程

用戶興趣建模從日志中提取近一段時間的用戶點擊行為后,對該用戶點擊的item(對象)進行一下的分析。首先從標簽系統說起,因為標簽(tag)是對item的一種靈活描述方法。(如下圖是圖書標簽示例)

 

假定用戶日志中,有N個item,分別為item1,item2…, itemN, 每個item攜帶若干個標簽,如item1的標簽為:tag1_1, tag1_2, tag1_3…

 

同樣的,我們可以通過item所屬的類別(category)來對用戶進行建模刻畫,例如采用貝葉斯(Bayers)的統計思想進行計算:

公式中,p(click)表示用戶點擊的概率,計算方法為: 用戶點擊的總數/用戶被推薦的結果總數;P(category_i|click)表示類別category_i被點擊的條件概率,計算方法為:屬於該category_i的item被點擊的數量/用戶所有點擊的item數量

 

 

與該用戶的興趣相似的其他用戶,也可以作為用戶興趣建模的一部分。因為這些用戶閱讀的內容,也可以作為結果推薦給該用戶。因此,用戶興趣建模的第三部分,是挖掘相似興趣的用戶並記錄在用戶興趣模型中(user interest profile):

這樣能形成User—>User—->Item的推薦過程,將下圖中虛線框的部分存儲起來,可以構成用戶模型的一部分。如果有來自SNS的user間關系,則這里的sim計算可以更復雜一些。

 

用戶興趣建模和推薦過程

此處的個性化推薦從上面挖掘的3個來源來生成結果,分別是:

 

1根據user-tags關系,從item中,挑選其中有感興趣tag的item,加入推薦列表

2 從用戶感興趣的category中,取出最新的item,加入推薦列表

3 用和用戶興趣相似的user中,取出最新觀看的item列表,加入推薦列表

 

以上所有item合並起來,構成candidate item列表,為候選的個性化推薦結果,給用戶。用戶對這些item的點擊情況,將返回到“用戶點擊日志”系統中,供下一次更新用戶興趣模型時使用。因為用戶的興趣往往是不斷變化的,通過這樣一套循環系統,能夠不斷的捕捉用戶的興趣點,讓推薦結果保持優質


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM