李雪婷,楊 抒,賽亞熱·迪力夏提,趙昀杰
(1.新疆農(nóng)業(yè)大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,新疆 烏魯木齊 830000; 2.成都大學(xué) 計(jì)算機(jī)學(xué)院,四川 成都 610000)
互聯(lián)網(wǎng)數(shù)據(jù)量的激增導(dǎo)致信息過載成了大數(shù)據(jù)時(shí)代的顯著問題。數(shù)據(jù)的增長率已遠(yuǎn)大于人們的處理能力,現(xiàn)有的技術(shù)已不能很好地處理日益加速增長的數(shù)據(jù)[1]。從冗雜的數(shù)據(jù)中,人們難以快速準(zhǔn)確地獲取有價(jià)值的信息。根據(jù)熱門信息的展示很難滿足用戶的個(gè)性化需求,為此推薦系統(tǒng)應(yīng)運(yùn)而生[2]。近年來,推薦系統(tǒng)在電商平臺(tái)、短視頻App、社交網(wǎng)站等各個(gè)領(lǐng)域中廣泛應(yīng)用,使其快速發(fā)展并具有一定商用價(jià)值。比如在電商平臺(tái)中用于挖掘用戶行為數(shù)據(jù)里的隱藏商業(yè)價(jià)值。
據(jù)相關(guān)部門統(tǒng)計(jì),推薦系統(tǒng)對網(wǎng)上商品銷售的貢獻(xiàn)率為20%~30%,已經(jīng)成為電商平臺(tái)中至關(guān)重要的工具之一[3]。
推薦系統(tǒng)根據(jù)實(shí)現(xiàn)方式的不同可將其分為基于內(nèi)容、基于協(xié)同過濾、基于深度學(xué)習(xí)和混合的推薦系統(tǒng)[1]。其中基于內(nèi)容的推薦系統(tǒng)能夠較好地為用戶提供個(gè)性化推薦服務(wù),適應(yīng)冷啟動(dòng)問題,但準(zhǔn)確率不高?;趨f(xié)同過濾的推薦系統(tǒng)應(yīng)用最廣泛[4],能夠較為準(zhǔn)確地向用戶進(jìn)行推薦。該算法并不依賴于物品的相關(guān)內(nèi)容信息,但需要有用戶行為數(shù)據(jù)做支撐。當(dāng)數(shù)據(jù)庫中數(shù)據(jù)稀疏或者沒有數(shù)據(jù)時(shí),沒有足夠的信息使該算法進(jìn)行用戶行為分析,導(dǎo)致推薦質(zhì)量不高,推薦結(jié)果的有效性較差[5]?;旌贤扑]算法是解決上述問題較為成熟的方法之一,該算法將多種推薦算法進(jìn)行混合,在實(shí)際應(yīng)用中能夠使各個(gè)推薦算法發(fā)揮其各自的優(yōu)勢,并且在一定程度上避免了其各自的劣勢,進(jìn)行高質(zhì)量推薦[6-7]。目前,有眾多學(xué)者將其在各個(gè)領(lǐng)域中應(yīng)用。例如,何鍇琦等人[8]將兩種傳統(tǒng)基于內(nèi)存的協(xié)同過濾方法進(jìn)行混合,應(yīng)用在GitHub項(xiàng)目個(gè)性化推薦中。冉從敬等人[9]將基于內(nèi)容和基于協(xié)同過濾的推薦算法進(jìn)行混合,應(yīng)用在高校專利個(gè)性化推薦中。王末等人[10]將動(dòng)態(tài)加權(quán)的混合過濾推薦方法應(yīng)用在地理數(shù)據(jù)共享領(lǐng)域中。葉小榕等人[11]將基于物品的協(xié)同過濾推薦算法和基于熱點(diǎn)的推薦算法進(jìn)行混合,應(yīng)用在圖書選取中,都取得了較好的效果。文中采用級(jí)聯(lián)的方式將基于內(nèi)容與協(xié)同過濾的推薦算法進(jìn)行混合,將其應(yīng)用在移動(dòng)電商應(yīng)用領(lǐng)域中,解決用戶難以從大量信息中獲取滿足個(gè)性化需求數(shù)據(jù)的問題。
基于內(nèi)容的推薦(content-based recommendation)算法最早用于信息檢索[12]。該算法將用戶和物品的特征都用顯式標(biāo)簽進(jìn)行表示,利用得到的用戶標(biāo)簽與物品標(biāo)簽構(gòu)建用戶畫像與物品畫像,并進(jìn)行相似度度量,得出相似度較高的TOP-N項(xiàng)完成推薦[13],其結(jié)構(gòu)如圖1所示。
圖1 基于內(nèi)容推薦算法結(jié)構(gòu)
通過物品的分類、屬性特征等信息構(gòu)建物品畫像的候選關(guān)鍵詞。利用TF-IDF(term frequency-inverse document frequency)計(jì)算出候選關(guān)鍵詞的權(quán)重值:
(1)
利用TF-IDF計(jì)算出的權(quán)重值選取TOP-N個(gè)候選關(guān)鍵詞作為物品畫像,建立倒排索引列表。根據(jù)用戶在登錄系統(tǒng)時(shí)的反饋信息收集用戶興趣詞,并結(jié)合其屬性特征構(gòu)建用戶畫像。運(yùn)用用戶畫像及物品畫像進(jìn)行相似度計(jì)算,其計(jì)算方法有很多種,如余弦相似度[15]、Jaccard相似度[16]及Pearson相似度[17]等。其中余弦相似度在計(jì)算過程中不考慮向量長度。Jaccard相似度計(jì)算的是兩個(gè)集合的交集元素個(gè)數(shù)占并集的比例,適合用于布爾向量表示。Pearson相似度在計(jì)算過程中不僅考慮向量夾角余弦值還考慮向量長度。因此,選取Pearson相似度作為相似度計(jì)算方法:
(2)
最后,將相似度最高的TOP-N項(xiàng)作為推薦結(jié)果進(jìn)行輸出。
在基于協(xié)同過濾的推薦算法中,根據(jù)計(jì)算方式的不同可將其分為基于鄰域和基于模型的推薦算法。文中采用的是Yehuda Koren等[18]提出的基于隱語義模型(latent factor model,LFM)的推薦算法,其結(jié)構(gòu)如圖2所示。
圖2 基于LFM的推薦算法結(jié)構(gòu)
LFM算法是一種基于矩陣分解(matrix factorization,MF)的協(xié)同過濾算法[19-20],其原理如圖3所示。
圖3 LFM算法原理
其中,P矩陣是User-LF矩陣,即用戶-隱含因子矩陣;Q矩陣是LF-Item矩陣,即隱含因子-物品矩陣;R矩陣是User-Item矩陣,即用戶-物品偏好矩陣。其中矩陣值P11為用戶1在隱含因子1上的權(quán)重值;矩陣值Q11為隱含因子1在物品1上的權(quán)重值;矩陣值R11為預(yù)測用戶1對物品1的喜愛程度。在該算法的實(shí)現(xiàn)過程中,運(yùn)用矩陣分解技術(shù)將R矩陣進(jìn)行降維,使其分解成P矩陣與Q矩陣,通過隱含因子將用戶與物品進(jìn)行關(guān)聯(lián):
Rui=PQ
(3)
再利用P矩陣與Q矩陣的乘積還原出R矩陣,將原有的稀疏矩陣進(jìn)行填充,預(yù)測用戶對物品的喜愛程度,F(xiàn)為隱含因子數(shù):
(4)
如圖3,有4個(gè)用戶,3個(gè)物品及3個(gè)隱含因子。以用戶1為例,用戶1對隱含因子LF1、LF2、LF3的關(guān)聯(lián)程度分別為P11、P12、P13。物品1與隱含因子LF1、LF2、LF3的關(guān)聯(lián)程度分別為Q11、Q21、Q31。因此,用戶1對物品1的感興趣程度為:
R11=P11Q11+P12Q21+P13Q31
(5)
利用平方差構(gòu)建損失函數(shù):
(6)
為防止過擬合,加入正則化參數(shù):
(7)
對損失函數(shù)求偏導(dǎo):
2λPu,f
(8)
2λQi,f
(9)
運(yùn)用隨機(jī)梯度下降法迭代計(jì)算,更新矩陣P和Q,從而找到最優(yōu)的P矩陣與Q矩陣:
(10)
(11)
其中,a為學(xué)習(xí)率。
本實(shí)驗(yàn)采用的數(shù)據(jù)從馬匹競拍App的數(shù)據(jù)庫中獲取,數(shù)據(jù)集由兩部分組成。第一部分是用戶到馬匹的評(píng)分?jǐn)?shù)據(jù)集,收集80個(gè)用戶在馬匹競拍App上的行為數(shù)據(jù)共22 423條。用戶行為數(shù)據(jù)主要包括是否瀏覽,是否收藏,是否參與競拍,用戶瀏覽的馬匹所具備的品種、價(jià)格、毛色、地區(qū)、性別、年齡等。并對其分別設(shè)置權(quán)重,計(jì)算用戶對馬匹的喜愛程度得出用戶到馬匹的評(píng)分?jǐn)?shù)據(jù)集。其評(píng)分范圍為0~5,其結(jié)構(gòu)如表1所示。
表1 用戶評(píng)分
第二部分是馬匹競拍App中925條馬匹數(shù)據(jù)。每條馬匹數(shù)據(jù)都含有馬匹的RFID、品種、價(jià)格、毛色、地區(qū)、性別、年齡等屬性,其結(jié)構(gòu)如表2所示。
表2 馬匹信息
在實(shí)驗(yàn)中,將數(shù)據(jù)集進(jìn)行進(jìn)一步劃分,使其80%作為訓(xùn)練集,20%作為測試集。
文中采用基于內(nèi)容和協(xié)同過濾的混合推薦算法來實(shí)現(xiàn)競拍App中馬匹的推薦。將參與競拍的馬匹向用戶進(jìn)行個(gè)性化推薦,產(chǎn)生較為可靠的推薦結(jié)果。使得用戶能夠快速地找到心儀馬匹,提升用戶參與競拍的積極性,增加參與同場競拍人數(shù),降低流拍比例,優(yōu)化馬匹競拍App首頁商品展示界面。其流程如圖4所示。
圖4 混合推薦算法流程
收集用戶在馬匹競拍App上的行為數(shù)據(jù),獲取User-Item矩陣。判斷當(dāng)前用戶是否為馬匹競拍App新注冊用戶或馬匹競拍App中是否有新成為拍品的馬匹。如果既不是新用戶,也沒有新成為拍品的馬匹,那么通過矩陣分解將User-Item矩陣做降維處理,使其分解成用戶-隱含因子矩陣P及馬匹-隱含因子矩陣Q,用隱含因子做連接用戶與馬匹的橋梁。使用平方差構(gòu)建損失函數(shù),再運(yùn)用隨機(jī)梯度下降法迭代計(jì)算,不斷更新矩陣P和Q,并加入避免過擬合的正則參數(shù),從而找到最優(yōu)的P和Q矩陣。建立LFM模型,對用戶未評(píng)分馬匹的興趣度進(jìn)行預(yù)測,將TOP-N項(xiàng)作為推薦結(jié)果進(jìn)行輸出。以馬匹競拍App中ID為10的用戶為例,當(dāng)N=10時(shí),推薦結(jié)果如表3所示。
表3 基于協(xié)同過濾推薦結(jié)果
當(dāng)有新注冊用戶使用馬匹競拍App或者有新馬匹成為拍品時(shí),數(shù)據(jù)庫新增的數(shù)據(jù)沒有任何歷史行為,就會(huì)面臨冷啟動(dòng)問題。此時(shí)利用基于內(nèi)容的方式進(jìn)行推薦,根據(jù)馬匹的屬性標(biāo)簽構(gòu)建物品畫像的候選關(guān)鍵詞。利用TF-IDF算出關(guān)鍵詞的權(quán)重值,從中選取TOP-N個(gè)作為馬匹畫像。此處選取部分馬匹畫像進(jìn)行展示,如表4所示。
表4 馬匹畫像
根據(jù)用戶在登錄時(shí)對馬匹進(jìn)行的反饋信息收集用戶興趣詞,結(jié)合用戶的屬性特征構(gòu)建用戶畫像。以馬匹競拍App中新注冊ID為144的用戶為例,構(gòu)建的用戶畫像如表5所示。
表5 用戶畫像
運(yùn)用用戶畫像從物品畫像中尋找最匹配的TOP-N項(xiàng)作為推薦結(jié)果進(jìn)行輸出。當(dāng)N=10時(shí),推薦結(jié)果如表6所示。
表6 基于內(nèi)容推薦結(jié)果
在本實(shí)驗(yàn)中選取的評(píng)估準(zhǔn)則為以下三種:
(1)準(zhǔn)確率(Precision):在產(chǎn)生的TOP-N個(gè)推薦結(jié)果中用戶喜歡的物品個(gè)數(shù)和所有被推薦物品個(gè)數(shù)N的比值,用于衡量推薦系統(tǒng)對用戶偏好的預(yù)測能力。其計(jì)算公式如下:
(12)
其中,U為用戶總量,R(u)為對每個(gè)用戶產(chǎn)生的推薦結(jié)果集,T(u)為用戶實(shí)際的行為結(jié)果集。
(2)召回率(Recall):在產(chǎn)生的TOP-N個(gè)推薦結(jié)果中用戶喜歡的物品個(gè)數(shù)和測試集中用戶喜歡物品個(gè)數(shù)的比值,用于衡量推薦系統(tǒng)的實(shí)際推薦效果。其計(jì)算公式如下:
(13)
(3)覆蓋率(Coverage):產(chǎn)生的TOP-N個(gè)推薦結(jié)果個(gè)數(shù)與物品總數(shù)的比值,用于描述推薦系統(tǒng)對長尾物品的發(fā)掘能力。其計(jì)算公式如下:
(14)
其中,I為物品總數(shù)。
為證明本實(shí)驗(yàn)提出的方法推薦質(zhì)量更佳,使用提出的基于內(nèi)容和基于協(xié)同過濾的混合推薦算法與基于用戶的協(xié)同過濾推薦算法和基于物品的協(xié)同過濾推薦算法進(jìn)行對比實(shí)驗(yàn)。分別計(jì)算在推薦長度為5、10、15、20、25和30時(shí),三種方法的準(zhǔn)確率、召回率和覆蓋率,其結(jié)果如表7~表9所示。并繪制出推薦長度為5、10、15、20、25和30時(shí)的變化趨勢,如圖5~圖7所示。
表7 準(zhǔn)確率 %
觀察表7和圖5可知,文中采用的融合內(nèi)容與協(xié)同過濾的混合推薦方法在指定推薦馬匹個(gè)數(shù)的情況下準(zhǔn)確率優(yōu)于基于用戶和基于物品的推薦方法。當(dāng)推薦長度大于或等于25時(shí),準(zhǔn)確率逐漸趨于穩(wěn)定狀態(tài)。
表8 召回率 %
觀察表8和圖6可知,隨著推薦長度的增加,混合推薦方法的召回率也逐漸優(yōu)于基于用戶和基于物品的推薦方法。當(dāng)推薦長度等于15時(shí),混合推薦方法的召回率超過其基于用戶和基于物品的推薦方法。
表9 覆蓋率 %
觀察表9和圖7可知,混合推薦方法的覆蓋率也優(yōu)于其他兩種推薦方法。當(dāng)推薦長度大于等于25時(shí),覆蓋率逐漸趨于穩(wěn)定狀態(tài)。
圖5 準(zhǔn)確率對比 圖6 召回率對比 圖7 覆蓋率對比
綜上所述,混合推薦算法不僅能夠解決冷啟動(dòng)問題,還具有更高的推薦質(zhì)量,可以更好地為用戶提供推薦服務(wù)。
隨著電子設(shè)備智能化的發(fā)展,推薦系統(tǒng)在移動(dòng)電商平臺(tái)中得到了廣泛應(yīng)用。將統(tǒng)計(jì)分析方法與機(jī)器學(xué)習(xí)相結(jié)合,提出的融合內(nèi)容與協(xié)同過濾的混合推薦算法能夠規(guī)避單一算法的弊端,融合其各自優(yōu)勢。敏銳地捕捉用戶需求,使用戶能夠從移動(dòng)電商平臺(tái)的大量數(shù)據(jù)中快速獲取所需信息,產(chǎn)生有針對性的高質(zhì)量推薦結(jié)果,減少用戶時(shí)間成本,具有一定的應(yīng)用價(jià)值。在真實(shí)的數(shù)據(jù)集下,將提出的混合推薦算法同傳統(tǒng)的推薦算法進(jìn)行對比實(shí)驗(yàn),驗(yàn)證了該算法在準(zhǔn)確率、召回率和覆蓋率上具有一定的優(yōu)越性。