陶彩霞,袁 海,陳 康,馬安華
(1.中國電信股份有限公司廣東研究院 廣州510630;2.中國電信股份有限公司江蘇分公司 南京210037)
互聯網技術的迅速發展,尤其是以個性化為主要特點的Web 2.0的不斷成熟,使得大量信息同時呈現在人們面前。信息消費者和信息生產者都面臨著很大的挑戰:信息消費者如何從海量信息中獲得自己感興趣的內容,而信息生產者如何讓自己的信息被關注。傳統的搜索引擎,如谷歌、百度等,只能呈現給所有用戶相同的排序結果,無法針對不同用戶、不同時期的興趣愛好提供相應的服務。個性化推薦技術就是針對這個問題而提出的,其為不同用戶提供不同的服務,以滿足不同的需求,一方面幫助用戶發現對自己有價值的信息;另一方面使信息能夠展現給對它感興趣的用戶,從而實現信息消費者和信息生產者的雙贏。
個性化推薦系統通過建立用戶與物品/信息之間的二元關系,利用用戶已有的操作行為或者相似性關系挖掘每個用戶潛在感興趣的對象,進而進行主動的個性化推薦。在日趨激烈的競爭環境下,個性化推薦系統已經不僅僅是一種商業營銷手段,更重要的是能充分提高業務平臺的服務質量和訪問效率,增進用戶的黏性,并吸引更多的用戶。
用戶興趣分析是個性化推薦的基礎和核心,只有系統很好地理解了用戶的興趣需求,才可能推薦出用戶滿意的信息。用戶興趣分析可以通過用戶手工輸入興趣點或評分信息來建模,這種方式雖然簡單易行,但完全依賴于用戶,一般主動評分的用戶不多,容易出現由于用戶行為信息單一和數量較少帶來的數據稀疏性的問題;并且用戶的輸入可能具有隨意性或者輸入錯誤,無法準確表達用戶的興趣。理想的方式是全面收集用戶瀏覽、收藏、下載、分享的所有行為并進行自動興趣建模。
不同的行為反映的興趣程度不同,目前通常的做法是人工根據經驗確定每個行為的權重系數,但通常很難人工確定什么行為更加重要,從而難以確定行為的權重系數,而且這種方式存在人為主觀性和領域局限性,這也是目前很多推薦系統只針對特定領域甚至特定平臺構建的一個原因。針對這些問題,本文采集并分析用戶的所有顯式行為和隱式行為,結合用戶配置文件和熵值法,采用系統自動對用戶興趣進行建模的方式,基于協同過濾技術提出了一種靈活適應不同業務的個性化推薦系統設計方案。
本文設計的推薦系統分為三大模塊,包括進行數據預處理的用戶行為記錄預處理模塊、作為連接模塊的用戶興趣分析模塊和個性化推薦算法模塊,如圖1所示。三大模塊以前面模塊為后面模塊提供輸入信息聯結而成。
用戶行為記錄預處理模塊獲取用戶行為信息,如用戶對某款游戲的下載、分享、推薦等具體行為,對數據集進行去噪、歸一化等預處理操作,并轉化為統一的數據格式。
用戶興趣分析模塊是不可或缺的連接模塊,通過對上一模塊行為記錄數據進行統計分析,得到用戶興趣偏好,并將用戶興趣偏好輸入個性化推薦算法模塊,通過推薦算法模塊得到推薦結果。用戶興趣偏好可以通過用戶顯式評分來確定,但這種方法的效果相當有限,因為用戶通常都不愿意提供反饋,最終得到的信息也會由于它們主要來自于那些愿意提供反饋的用戶而造成數據稀疏性問題。本文利用熵值法對收集到的用戶的所有顯式行為和隱式行為數據進行賦權,再取用戶行為數據向量的加權之和,結合時間遺忘函數解決用戶興趣漂移問題,分析用戶對物品的興趣度,得到三元組(用戶,物品,興趣度),作為統一形式輸入個性化推薦算法模塊,這種方式在一定程度上緩解了數據稀疏性問題。

圖1 系統架構
個性化推薦算法模塊中,目前主要的推薦算法包括:協同過濾推薦、基于內容的推薦、基于關聯規則的推薦、基于效用的推薦、基于知識的推薦以及選取若干經典推薦算法組合使用的組合推薦。這里主要采用協同過濾推薦算法。
不同業務類型的用戶行為也不同,如游戲、視頻和電子商務平臺(電商平臺)的用戶行為各不相同,見表1。
根據業務平臺提供的用戶行為數據,設置用戶行為配置文件,主要包括業務類型、用戶行為類型、行為編碼、行為初始權重weight0、行為動態權重weight1等,如圖2所示。
用戶原始行為記錄包括的信息主要有用戶ID、物品ID、行為ID、行為數值、行為發生時間,處理步驟主要包括規范處理和用戶興趣漂移(interest drift)處理兩個步驟。
(1)規范化處理
用戶行為記錄預處理模塊對原始數據記錄進行去噪和規范化處理,轉換為統一的數據格式。首先對各行為進行量化,即將原始用戶行為記錄處理為系統可識別的行為ID及行為數值,然后對用戶行為記錄進行規范化處理,不同的用戶行為有不同的數據規范化處理方式,如視頻用戶的觀看時長規范化公式為:

其中,t′為規范化新數據,t為觀看時長,t-a為視頻總時長。
(2)用戶興趣漂移處理
用戶的興趣會隨著時間的推移而發生變化,一些用戶原本感興趣的主題會被漸漸遺忘,新的興趣主題會逐漸產生,用戶興趣的這一漸變過程又被稱為興趣漂移。在個性化推薦應用中,信息的時效性至關重要,一般來說,用戶近期訪問過的物品對于推薦用戶未來可能感興趣的物品有比較重要的作用,而早期訪問記錄的影響則相對較小。引入了遺忘函數h(t),作用是增加最近訪問記錄的重要性,同時降低時間較長的訪問記錄的重要性。
首先計算用戶對物品的第i個行為向量中,第j項行為的時間遺忘函數h(Δtij):

其中,L為時間窗口,Δtij為行為發生時間與時間窗口最開始時間(即當前時間減去時間窗口)之差,θ初始值設為0.5。
設有用戶對物品的m個行為數據向量、n項行為(列),形成用戶行為矩陣X=(xij)m×n,計算經時間遺忘函數修正過的用戶行為數據xij′:

通過以上處理可解決用戶興趣漂移問題。
該模塊分析用戶操作行為,結合用戶行為配置文件和熵值法調整模型參數,靈活適應不同的業務類型,主要包括用戶行為權重計算和用戶對物品的興趣度計算兩個步驟。
(1)基于熵自動計算用戶行為權重
用戶對物品的興趣度由用戶對物品的各種操作行為確定,不同行為的重要程度不同,一般很難確定什么行為更加重要,常用方法是人工根據經驗賦權,缺陷是人工賦權存在主觀性和局限性,難以靈活適應多種業務。本文利用信息熵理論和用戶行為數據,自動計算各項行為的權重系數。

表1 各類業務的用戶行為示例

圖2 用戶行為配置文件示例
設有用戶對物品的m個行為數據向量、n項行為(列),通過“用戶行為記錄預處理模塊”進行規范化處理和零值處理后,形成用戶行為矩陣X=(xij′)m×n,對各項行為分值進行同度量化處理,標記為:

然后計算第j項行為的熵值ej:

其中,k>0,ej≥0。如果xij對于給定的j全部相等,那么:

此時ej取極大值,即ej=kln m。若設k=1/ln m,則有0≤ej≤1。
根據用戶行為權重與用戶行為熵值成反相關關系的原理,令:

再對向量g進行歸一化處理,即可得到行為權重向量W=(w1,w2,…,wn)。
(2)計算用戶對物品i的興趣度
用戶對物品i的興趣度為:

由此得到用戶物品興趣度記錄表,包括用戶ID、內容ID、興趣度、計算時間。
這個模塊采用業界最主流的推薦技術,即協同過濾推薦技術。協同過濾的主要特點是:利用海量用戶的群體智慧采用關聯關系分析來確定推薦列表,具有推薦新穎性,可以發現使用者潛在的但自己尚未發現的興趣偏好。
目前主要有基于用戶的協同過濾(UserCF)和基于物品的協同過濾(ItemCF)。ItemCF通過用戶對不同物品的評分來評測物品之間的相似性,基于物品之間的相似性做出推薦,適用于物品種類比較穩定的情況;UserCF則是基于用戶之間的相似性做出推薦,主要適用于物品種類變化比較快、用戶規模相對穩定的領域。一般情況下,物品的相似度要比用戶的相似度穩定,同時ItemCF可以分為最近鄰計算和產生推薦兩個階段,物品的最近鄰計算可離線完成,這樣在用戶評分/興趣度矩陣非常大的情況下也能做到實時計算推薦,因此,用戶規模大的平臺一般采用ItemCF推薦算法,如Amazon等。
在ItemCF的最近鄰計算階段,主要是確定相似度排名在前K名的物品,如圖3所示,K值是ItemCF非常重要的參數。

圖3 最近鄰計算
為了評測不同K值參數對推薦模型的效果,采用TopN預測準確率、召回率和覆蓋率。準確率即系統推薦的物品中,用戶喜歡的物品所占的比例;召回率即一個用戶喜歡的物品被推薦的概率;為了評測系統發掘長尾物品的能力,將覆蓋率也作為一個評測指標,覆蓋率表示能夠為用戶推薦的商品占所有商品的比例。
以中國電信某游戲平臺17 725名游戲用戶的歷史數據為例進行參數調優試驗,不同K值參數的評估指標如圖4所示。
對于該游戲平臺數據,K=10時,預測準確率為14.8%、召回率為17.5%、覆蓋率為62.7%,在略微犧牲覆蓋率的條件下,整體推薦效果最優。

圖4 不同K值參數的測試結果

圖5 推薦效果對比
本次評估測試實驗中所采用的是中國電信某游戲平臺的實際用戶數據,從真實數據中選取游戲行為相對較豐富的用戶,實驗的用戶總數為17 725個,用戶行為日志的時間段是19天,游戲數量為5 116款。將每個用戶對游戲的操作行為隨機按7∶3比例分為兩份,記作A份和B份,將A份作為訓練集,B份作為測試集。分別運用本系統推薦算法、熱門推薦算法、隨機推薦算法得出每個用戶的TopN推薦列表,將推薦列表與測試集的結果進行對比,得到的結果如圖5所示。
由圖5可以看出,隨機推薦效果最差,雖然覆蓋率為100%,但預測準確率只有0.15%,召回率為0.19%;熱門推薦效果居中,預測準確率為6.80%,召回率為8.46%,但覆蓋率很低,僅為0.39%;本系統推薦的預測準確率為14.8%,召回率為17.5%,覆蓋率為62.7%。從對比效果可以看到,本系統推薦的預測準確率遠遠高于隨機推薦,并且是熱門推薦的2.18倍,召回率是熱門推薦的將近2倍,覆蓋率更是遠遠高于熱門推薦。實驗結果表明,本系統的綜合推薦效果良好,能很好地向用戶推薦用戶感興趣的物品,并具有良好的發掘長尾物品的能力。
本文研究了用戶興趣建模和個性化推薦技術,針對目前很多個性化推薦系統的用戶興趣模型只針對特定領域甚至特定平臺構建的情況,提出了一種靈活適應不同業務的個性化推薦系統設計方案,通過分析用戶所有操作行為進行用戶興趣建模,結合用戶配置文件和熵值法調整用戶行為權重系數,以適應不同的業務領域,并采用協同過濾推薦技術,為各類業務提供用戶行為分析和推薦能力。此外,提出的用戶興趣自動建模方法,以系統自動建模技術取代人工賦權的方式,提升了個性化推薦中用戶興趣模型的客觀性和準確性,并引入時間遺忘函數,可以解決用戶興趣漂移問題,能夠動態更新用戶興趣模型,使得推薦結果總能滿足用戶當前的興趣需求。實驗結果表明,本文提出的個性化推薦系統能夠適應不同的業務領域,并具有良好的綜合推薦效果。
1 王國霞,劉賀平.個性化推薦系統綜述.計算機工程與應用,2012,48(7):66~76
2 Koychev I,Schwab I.Adaptation to drifting user’s interests.Proceedings of ECML2000/MLnet Workshop on Machine Learning in the New Information Age,Barcelona,Catalonia,Spain,2000
3 李寧,王子磊,吳剛等.個性化影片推薦系統中用戶模型研究.計算機應用與軟件,2010,27(12):51~54
4 馬宏偉,張光衛,李鵬.協同過濾推薦算法綜述.小型微型計算機系統,2009,30(7):1282~1288
5 丁振國,陳靜.基于關聯規則的個性化推薦系統.計算機集成制造系統,2003,9(10):891~893
6 吳兵,葉春明.基于效用的個性化推薦方法.計算機工程,2012,38(4):49~51
7 劉平峰,聶規劃,陳冬林.基于知識的電子商務智能推薦系統平臺設計.計算機工程與應用,2007,43(19):199~201
8 Goldberg D,Nichols,Oki B M,et al.Using collaborative filtering to weave an information tapestry.Communications of the ACM,1992,35(12):61~70
9 林霜梅,汪更生,陳棄秋.個性化推薦系統中的用戶建模及特征選擇.計算機工程,2007(9)