陶彩霞,袁 海,陳 康,馬安華
(1.中國電信股份有限公司廣東研究院 廣州510630;2.中國電信股份有限公司江蘇分公司 南京210037)
互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,尤其是以個性化為主要特點的Web 2.0的不斷成熟,使得大量信息同時呈現(xiàn)在人們面前。信息消費者和信息生產(chǎn)者都面臨著很大的挑戰(zhàn):信息消費者如何從海量信息中獲得自己感興趣的內(nèi)容,而信息生產(chǎn)者如何讓自己的信息被關(guān)注。傳統(tǒng)的搜索引擎,如谷歌、百度等,只能呈現(xiàn)給所有用戶相同的排序結(jié)果,無法針對不同用戶、不同時期的興趣愛好提供相應(yīng)的服務(wù)。個性化推薦技術(shù)就是針對這個問題而提出的,其為不同用戶提供不同的服務(wù),以滿足不同的需求,一方面幫助用戶發(fā)現(xiàn)對自己有價值的信息;另一方面使信息能夠展現(xiàn)給對它感興趣的用戶,從而實現(xiàn)信息消費者和信息生產(chǎn)者的雙贏。
個性化推薦系統(tǒng)通過建立用戶與物品/信息之間的二元關(guān)系,利用用戶已有的操作行為或者相似性關(guān)系挖掘每個用戶潛在感興趣的對象,進而進行主動的個性化推薦。在日趨激烈的競爭環(huán)境下,個性化推薦系統(tǒng)已經(jīng)不僅僅是一種商業(yè)營銷手段,更重要的是能充分提高業(yè)務(wù)平臺的服務(wù)質(zhì)量和訪問效率,增進用戶的黏性,并吸引更多的用戶。
用戶興趣分析是個性化推薦的基礎(chǔ)和核心,只有系統(tǒng)很好地理解了用戶的興趣需求,才可能推薦出用戶滿意的信息。用戶興趣分析可以通過用戶手工輸入興趣點或評分信息來建模,這種方式雖然簡單易行,但完全依賴于用戶,一般主動評分的用戶不多,容易出現(xiàn)由于用戶行為信息單一和數(shù)量較少帶來的數(shù)據(jù)稀疏性的問題;并且用戶的輸入可能具有隨意性或者輸入錯誤,無法準(zhǔn)確表達用戶的興趣。理想的方式是全面收集用戶瀏覽、收藏、下載、分享的所有行為并進行自動興趣建模。
不同的行為反映的興趣程度不同,目前通常的做法是人工根據(jù)經(jīng)驗確定每個行為的權(quán)重系數(shù),但通常很難人工確定什么行為更加重要,從而難以確定行為的權(quán)重系數(shù),而且這種方式存在人為主觀性和領(lǐng)域局限性,這也是目前很多推薦系統(tǒng)只針對特定領(lǐng)域甚至特定平臺構(gòu)建的一個原因。針對這些問題,本文采集并分析用戶的所有顯式行為和隱式行為,結(jié)合用戶配置文件和熵值法,采用系統(tǒng)自動對用戶興趣進行建模的方式,基于協(xié)同過濾技術(shù)提出了一種靈活適應(yīng)不同業(yè)務(wù)的個性化推薦系統(tǒng)設(shè)計方案。
本文設(shè)計的推薦系統(tǒng)分為三大模塊,包括進行數(shù)據(jù)預(yù)處理的用戶行為記錄預(yù)處理模塊、作為連接模塊的用戶興趣分析模塊和個性化推薦算法模塊,如圖1所示。三大模塊以前面模塊為后面模塊提供輸入信息聯(lián)結(jié)而成。
用戶行為記錄預(yù)處理模塊獲取用戶行為信息,如用戶對某款游戲的下載、分享、推薦等具體行為,對數(shù)據(jù)集進行去噪、歸一化等預(yù)處理操作,并轉(zhuǎn)化為統(tǒng)一的數(shù)據(jù)格式。
用戶興趣分析模塊是不可或缺的連接模塊,通過對上一模塊行為記錄數(shù)據(jù)進行統(tǒng)計分析,得到用戶興趣偏好,并將用戶興趣偏好輸入個性化推薦算法模塊,通過推薦算法模塊得到推薦結(jié)果。用戶興趣偏好可以通過用戶顯式評分來確定,但這種方法的效果相當(dāng)有限,因為用戶通常都不愿意提供反饋,最終得到的信息也會由于它們主要來自于那些愿意提供反饋的用戶而造成數(shù)據(jù)稀疏性問題。本文利用熵值法對收集到的用戶的所有顯式行為和隱式行為數(shù)據(jù)進行賦權(quán),再取用戶行為數(shù)據(jù)向量的加權(quán)之和,結(jié)合時間遺忘函數(shù)解決用戶興趣漂移問題,分析用戶對物品的興趣度,得到三元組(用戶,物品,興趣度),作為統(tǒng)一形式輸入個性化推薦算法模塊,這種方式在一定程度上緩解了數(shù)據(jù)稀疏性問題。
圖1 系統(tǒng)架構(gòu)
個性化推薦算法模塊中,目前主要的推薦算法包括:協(xié)同過濾推薦、基于內(nèi)容的推薦、基于關(guān)聯(lián)規(guī)則的推薦、基于效用的推薦、基于知識的推薦以及選取若干經(jīng)典推薦算法組合使用的組合推薦。這里主要采用協(xié)同過濾推薦算法。
不同業(yè)務(wù)類型的用戶行為也不同,如游戲、視頻和電子商務(wù)平臺(電商平臺)的用戶行為各不相同,見表1。
根據(jù)業(yè)務(wù)平臺提供的用戶行為數(shù)據(jù),設(shè)置用戶行為配置文件,主要包括業(yè)務(wù)類型、用戶行為類型、行為編碼、行為初始權(quán)重weight0、行為動態(tài)權(quán)重weight1等,如圖2所示。
用戶原始行為記錄包括的信息主要有用戶ID、物品ID、行為ID、行為數(shù)值、行為發(fā)生時間,處理步驟主要包括規(guī)范處理和用戶興趣漂移(interest drift)處理兩個步驟。
(1)規(guī)范化處理
用戶行為記錄預(yù)處理模塊對原始數(shù)據(jù)記錄進行去噪和規(guī)范化處理,轉(zhuǎn)換為統(tǒng)一的數(shù)據(jù)格式。首先對各行為進行量化,即將原始用戶行為記錄處理為系統(tǒng)可識別的行為ID及行為數(shù)值,然后對用戶行為記錄進行規(guī)范化處理,不同的用戶行為有不同的數(shù)據(jù)規(guī)范化處理方式,如視頻用戶的觀看時長規(guī)范化公式為:
其中,t′為規(guī)范化新數(shù)據(jù),t為觀看時長,t-a為視頻總時長。
(2)用戶興趣漂移處理
用戶的興趣會隨著時間的推移而發(fā)生變化,一些用戶原本感興趣的主題會被漸漸遺忘,新的興趣主題會逐漸產(chǎn)生,用戶興趣的這一漸變過程又被稱為興趣漂移。在個性化推薦應(yīng)用中,信息的時效性至關(guān)重要,一般來說,用戶近期訪問過的物品對于推薦用戶未來可能感興趣的物品有比較重要的作用,而早期訪問記錄的影響則相對較小。引入了遺忘函數(shù)h(t),作用是增加最近訪問記錄的重要性,同時降低時間較長的訪問記錄的重要性。
首先計算用戶對物品的第i個行為向量中,第j項行為的時間遺忘函數(shù)h(Δtij):
其中,L為時間窗口,Δtij為行為發(fā)生時間與時間窗口最開始時間(即當(dāng)前時間減去時間窗口)之差,θ初始值設(shè)為0.5。
設(shè)有用戶對物品的m個行為數(shù)據(jù)向量、n項行為(列),形成用戶行為矩陣X=(xij)m×n,計算經(jīng)時間遺忘函數(shù)修正過的用戶行為數(shù)據(jù)xij′:
通過以上處理可解決用戶興趣漂移問題。
該模塊分析用戶操作行為,結(jié)合用戶行為配置文件和熵值法調(diào)整模型參數(shù),靈活適應(yīng)不同的業(yè)務(wù)類型,主要包括用戶行為權(quán)重計算和用戶對物品的興趣度計算兩個步驟。
(1)基于熵自動計算用戶行為權(quán)重
用戶對物品的興趣度由用戶對物品的各種操作行為確定,不同行為的重要程度不同,一般很難確定什么行為更加重要,常用方法是人工根據(jù)經(jīng)驗賦權(quán),缺陷是人工賦權(quán)存在主觀性和局限性,難以靈活適應(yīng)多種業(yè)務(wù)。本文利用信息熵理論和用戶行為數(shù)據(jù),自動計算各項行為的權(quán)重系數(shù)。
表1 各類業(yè)務(wù)的用戶行為示例
圖2 用戶行為配置文件示例
設(shè)有用戶對物品的m個行為數(shù)據(jù)向量、n項行為(列),通過“用戶行為記錄預(yù)處理模塊”進行規(guī)范化處理和零值處理后,形成用戶行為矩陣X=(xij′)m×n,對各項行為分值進行同度量化處理,標(biāo)記為:
然后計算第j項行為的熵值ej:
其中,k>0,ej≥0。如果xij對于給定的j全部相等,那么:
此時ej取極大值,即ej=kln m。若設(shè)k=1/ln m,則有0≤ej≤1。
根據(jù)用戶行為權(quán)重與用戶行為熵值成反相關(guān)關(guān)系的原理,令:
再對向量g進行歸一化處理,即可得到行為權(quán)重向量W=(w1,w2,…,wn)。
(2)計算用戶對物品i的興趣度
用戶對物品i的興趣度為:
由此得到用戶物品興趣度記錄表,包括用戶ID、內(nèi)容ID、興趣度、計算時間。
這個模塊采用業(yè)界最主流的推薦技術(shù),即協(xié)同過濾推薦技術(shù)。協(xié)同過濾的主要特點是:利用海量用戶的群體智慧采用關(guān)聯(lián)關(guān)系分析來確定推薦列表,具有推薦新穎性,可以發(fā)現(xiàn)使用者潛在的但自己尚未發(fā)現(xiàn)的興趣偏好。
目前主要有基于用戶的協(xié)同過濾(UserCF)和基于物品的協(xié)同過濾(ItemCF)。ItemCF通過用戶對不同物品的評分來評測物品之間的相似性,基于物品之間的相似性做出推薦,適用于物品種類比較穩(wěn)定的情況;UserCF則是基于用戶之間的相似性做出推薦,主要適用于物品種類變化比較快、用戶規(guī)模相對穩(wěn)定的領(lǐng)域。一般情況下,物品的相似度要比用戶的相似度穩(wěn)定,同時ItemCF可以分為最近鄰計算和產(chǎn)生推薦兩個階段,物品的最近鄰計算可離線完成,這樣在用戶評分/興趣度矩陣非常大的情況下也能做到實時計算推薦,因此,用戶規(guī)模大的平臺一般采用ItemCF推薦算法,如Amazon等。
在ItemCF的最近鄰計算階段,主要是確定相似度排名在前K名的物品,如圖3所示,K值是ItemCF非常重要的參數(shù)。
圖3 最近鄰計算
為了評測不同K值參數(shù)對推薦模型的效果,采用TopN預(yù)測準(zhǔn)確率、召回率和覆蓋率。準(zhǔn)確率即系統(tǒng)推薦的物品中,用戶喜歡的物品所占的比例;召回率即一個用戶喜歡的物品被推薦的概率;為了評測系統(tǒng)發(fā)掘長尾物品的能力,將覆蓋率也作為一個評測指標(biāo),覆蓋率表示能夠為用戶推薦的商品占所有商品的比例。
以中國電信某游戲平臺17 725名游戲用戶的歷史數(shù)據(jù)為例進行參數(shù)調(diào)優(yōu)試驗,不同K值參數(shù)的評估指標(biāo)如圖4所示。
對于該游戲平臺數(shù)據(jù),K=10時,預(yù)測準(zhǔn)確率為14.8%、召回率為17.5%、覆蓋率為62.7%,在略微犧牲覆蓋率的條件下,整體推薦效果最優(yōu)。
圖4 不同K值參數(shù)的測試結(jié)果
圖5 推薦效果對比
本次評估測試實驗中所采用的是中國電信某游戲平臺的實際用戶數(shù)據(jù),從真實數(shù)據(jù)中選取游戲行為相對較豐富的用戶,實驗的用戶總數(shù)為17 725個,用戶行為日志的時間段是19天,游戲數(shù)量為5 116款。將每個用戶對游戲的操作行為隨機按7∶3比例分為兩份,記作A份和B份,將A份作為訓(xùn)練集,B份作為測試集。分別運用本系統(tǒng)推薦算法、熱門推薦算法、隨機推薦算法得出每個用戶的TopN推薦列表,將推薦列表與測試集的結(jié)果進行對比,得到的結(jié)果如圖5所示。
由圖5可以看出,隨機推薦效果最差,雖然覆蓋率為100%,但預(yù)測準(zhǔn)確率只有0.15%,召回率為0.19%;熱門推薦效果居中,預(yù)測準(zhǔn)確率為6.80%,召回率為8.46%,但覆蓋率很低,僅為0.39%;本系統(tǒng)推薦的預(yù)測準(zhǔn)確率為14.8%,召回率為17.5%,覆蓋率為62.7%。從對比效果可以看到,本系統(tǒng)推薦的預(yù)測準(zhǔn)確率遠遠高于隨機推薦,并且是熱門推薦的2.18倍,召回率是熱門推薦的將近2倍,覆蓋率更是遠遠高于熱門推薦。實驗結(jié)果表明,本系統(tǒng)的綜合推薦效果良好,能很好地向用戶推薦用戶感興趣的物品,并具有良好的發(fā)掘長尾物品的能力。
本文研究了用戶興趣建模和個性化推薦技術(shù),針對目前很多個性化推薦系統(tǒng)的用戶興趣模型只針對特定領(lǐng)域甚至特定平臺構(gòu)建的情況,提出了一種靈活適應(yīng)不同業(yè)務(wù)的個性化推薦系統(tǒng)設(shè)計方案,通過分析用戶所有操作行為進行用戶興趣建模,結(jié)合用戶配置文件和熵值法調(diào)整用戶行為權(quán)重系數(shù),以適應(yīng)不同的業(yè)務(wù)領(lǐng)域,并采用協(xié)同過濾推薦技術(shù),為各類業(yè)務(wù)提供用戶行為分析和推薦能力。此外,提出的用戶興趣自動建模方法,以系統(tǒng)自動建模技術(shù)取代人工賦權(quán)的方式,提升了個性化推薦中用戶興趣模型的客觀性和準(zhǔn)確性,并引入時間遺忘函數(shù),可以解決用戶興趣漂移問題,能夠動態(tài)更新用戶興趣模型,使得推薦結(jié)果總能滿足用戶當(dāng)前的興趣需求。實驗結(jié)果表明,本文提出的個性化推薦系統(tǒng)能夠適應(yīng)不同的業(yè)務(wù)領(lǐng)域,并具有良好的綜合推薦效果。
1 王國霞,劉賀平.個性化推薦系統(tǒng)綜述.計算機工程與應(yīng)用,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 李寧,王子磊,吳剛等.個性化影片推薦系統(tǒng)中用戶模型研究.計算機應(yīng)用與軟件,2010,27(12):51~54
4 馬宏偉,張光衛(wèi),李鵬.協(xié)同過濾推薦算法綜述.小型微型計算機系統(tǒng),2009,30(7):1282~1288
5 丁振國,陳靜.基于關(guān)聯(lián)規(guī)則的個性化推薦系統(tǒng).計算機集成制造系統(tǒng),2003,9(10):891~893
6 吳兵,葉春明.基于效用的個性化推薦方法.計算機工程,2012,38(4):49~51
7 劉平峰,聶規(guī)劃,陳冬林.基于知識的電子商務(wù)智能推薦系統(tǒng)平臺設(shè)計.計算機工程與應(yīng)用,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 林霜梅,汪更生,陳棄秋.個性化推薦系統(tǒng)中的用戶建模及特征選擇.計算機工程,2007(9)