梁婧文,蔣朝惠
(貴州大學 計算機科學與技術(shù)學院,貴州 貴陽 550025)
一種基于用戶交易行為的隱語義模型推薦算法*
梁婧文,蔣朝惠
(貴州大學 計算機科學與技術(shù)學院,貴州 貴陽550025)
通過分析目前推薦技術(shù)在電子商務系統(tǒng)中的應用優(yōu)勢,并針對當前產(chǎn)品交易系統(tǒng)的無評分、產(chǎn)品量大和難以分類等現(xiàn)狀與問題,設計了一種基于用戶交易行為的隱語義模型推薦算法。該算法從用戶的隱式交易行為出發(fā),采用隱語義模型推薦算法,構(gòu)建用戶-產(chǎn)品興趣模型,并加入K均值算法劃分隱式特征聚類。實驗驗證表明,該算法在滿足用戶的個性化需求的同時,可提高電子商務系統(tǒng)的產(chǎn)品推薦效率。
推薦算法;用戶交易行為;隱語義模型;K均值算法
電子商務網(wǎng)站是個性化推薦系統(tǒng)的一個重要應用領域,各種著名的電子商務網(wǎng)站,例如亞馬遜、淘寶、Netflix、京東等,都在各個方面使用到了個性化推薦,是個性化推薦技術(shù)最積極的應用者和推廣者。
在主流的電子商務系統(tǒng)中大都采用協(xié)同過濾(Collaborative Filtering,CF)推薦算法[1],該算法是基于用戶行為數(shù)據(jù)分析設計的,并且基于一種假設:用戶過去喜歡的在未來也同樣喜歡。最廣泛使用的協(xié)同過濾算法有:(1)基于鄰域(Neighborhood-based)的方法,包括基于用戶(User-based)和基于產(chǎn)品(Item-CF)的,通過分析與用戶之前喜好相似的產(chǎn)品或者推薦給用戶與他喜好相似的用戶所關(guān)注的產(chǎn)品來構(gòu)成推薦模型;(2)隱語義模型(Latent Factor Model,LFM),使用某些隱含特征來關(guān)聯(lián)用戶興趣和產(chǎn)品,并據(jù)此構(gòu)建推薦模型。
對于電子商務推薦系統(tǒng)來說,如何建立用戶的偏好模型是首要問題,但當前產(chǎn)品交易系統(tǒng)存在無評分、產(chǎn)品量大、難以分類等問題,同時對協(xié)同過濾算法中隱式反饋方面的研究也越來越廣泛。因此本文從用戶的隱式交易行為出發(fā),設計了一種基于用戶交易行為的隱語義模型推薦算法(User Transaction Behavior for Latent Factor Model,UTB-LFM)。
自Netflix Prize推薦系統(tǒng)大賽之后,研究者對隱式反饋信息和隱語義模型越來越關(guān)注,近幾年人們對LFM的應用與研究也越來越深入。2014年,YIN F L、CHAI J P[2]等人在數(shù)字電視節(jié)目的推薦中使用了隱式特征模型,通過對觀眾行為進行分析,確定觀眾興趣與觀看電視節(jié)目之間的關(guān)系,并據(jù)此為觀眾建議節(jié)目類型。CHEN C、ZHENG L[3]等人在LFM中加入偏置項,證明推薦的準確度較原始的LFM推薦模型有所提高。2015年,張玉連[4]等人提出了一種通過建立隱語義模型,分析用戶和論文的特征向量進行科技論文的推薦,獲得了較好的準確度。2016年,文獻[5]將用戶的某些屬性信息融合到LFM上,即使用戶歷史行為數(shù)據(jù)稀疏,也可根據(jù)用戶屬性來尋找鄰域用戶,解決了稀疏問題。
上述研究都涉及到用戶的隱式行為,隱式獲取用戶信息的方式主要包括:訪問用戶日志和挖掘、跟蹤用戶行為兩個方面。同時,隱語義模型以其基于用戶隱式行為設計的優(yōu)勢,通過收集用戶隱式反饋信息來獲取用戶偏好的方式,已是目前信息提供服務領域關(guān)注的熱點之一,為推薦技術(shù)的發(fā)展奠定了理論基礎。因此,將隱語義模型推薦算法與電子商務系統(tǒng)結(jié)合,通過獲取用戶隱式的交易行為產(chǎn)生推薦,更加具有研究和應用前景。
2.1隱語義模型
2006年,Koren提出了隱語義模型,簡稱LFM。從矩陣分解方法出發(fā),假設用戶u對產(chǎn)品i的評分矩陣R可以分解為用戶特征矩陣P、產(chǎn)品特征矩陣Q,兩矩陣的乘積表示用戶-產(chǎn)品評分矩陣,如式(1)所示:
(1)
其中P∈Rf×m和Q∈Rf×n是兩個低維度矩陣。預測評分通過式(2)計算得到,其中puf=P(u,f),qif=Q(i,f):
(2)
為了求解該模型中各參數(shù)值,定義了損失函數(shù)如式(3)所示:
(3)
通過對上述損失函數(shù)求偏導數(shù)得到式(4)、式(5),利用隨機梯度下降法不斷迭代[4],即最小化損失函數(shù)求出P、Q中的參數(shù),得遞推公式(6)和式(7):
(4)
(5)
puf=puf+α(qif-λpuf)
(6)
qif=qif+α(puf-λqif)
(7)
其中涉及的重要參數(shù)包括:α表示學習速率,λ表示正則化參數(shù)。迭代次數(shù)根據(jù)實際誤差情況進行調(diào)整。
由于實際的推薦系統(tǒng)有很多固定屬性與用戶、產(chǎn)品無關(guān),而上述隱語義模型并沒有考慮這種影響,因此,又進一步得到另一種LFM模型的預測公式(8):
(8)
其中μ+bu+bi稱為偏置項,μ是訓練數(shù)據(jù)集中全部評分值的全局平均數(shù),描述系統(tǒng)屬性對用戶的影響;bu是用戶偏置項,描述和產(chǎn)品無關(guān)的用戶習慣;bi是產(chǎn)品偏置項,描述與用戶無關(guān)的產(chǎn)品屬性。再根據(jù)隨機梯度下降法,得到式(9)~式(12)的遞推公式:
bu=bu+α(eui-λbu)
(9)
bi=bi+α(eui-λbi)
(10)
puk=puk+α(qik×eui-λpuk)
(11)
qik=qik+α(puk×eui-λqik)
(12)
2.2基于用戶交易行為的隱語義模型
構(gòu)建用戶興趣模型的輸入數(shù)據(jù)總體分為用戶數(shù)據(jù)和產(chǎn)品數(shù)據(jù),用戶數(shù)據(jù)又包括用戶自身的屬性數(shù)據(jù)、評分數(shù)據(jù)、行為模式數(shù)據(jù)等,用戶在產(chǎn)品交易時,有一些常見的情況,比如用戶不希望通過對產(chǎn)品評分來表達個人的喜好,或者該系統(tǒng)并沒有提供評分的功能,系統(tǒng)能夠獲得的僅僅是用戶的交易行為。此外,一個系統(tǒng)擁有的產(chǎn)品數(shù)量非常巨大,難以通過人為手段對產(chǎn)品進行分類,直接計算相似性效率較低,且推薦不夠準確。
針對上述問題,本文首先在交易數(shù)據(jù)中提取用戶有過購買行為的數(shù)據(jù),“1”表示推測用戶喜歡該產(chǎn)品,“0”表示推測用戶不喜歡該產(chǎn)品或不知道該產(chǎn)品,使用二進制反饋數(shù)據(jù),也可以說是表示為0-1數(shù)據(jù)[6],構(gòu)建初始化的用戶-產(chǎn)品興趣度矩陣。
然后根據(jù)隱語義模型的思想,把用戶-產(chǎn)品興趣度矩陣分解為兩個低維度的矩陣P和Q,P是用戶-隱式特征矩陣,表示用戶對隱類的偏好程度,Q是隱式特征-產(chǎn)品矩陣,表示每個產(chǎn)品屬于隱類的概率,用P和Q兩個矩陣的乘積表示實際評分,這樣得到的預測評分會更接近實際評分。最后,利用式(3)、式(6)、式(7)得到P、Q特征矩陣。
采用上述方法構(gòu)建基于用戶交易行為的隱語義模型,既解決人為分類產(chǎn)品導致的推薦不準確問題,又通過隱語義模型達到對用戶交易行為矩陣降維的目的。
基于用戶交易行為的隱語義模型推薦算法(UTB-LFM)的流程如圖1所示。
圖1 UTB-LFM算法流程圖
UTB-LFM的具體流程如下:
(1)基于用戶交易記錄,有過購買行為的產(chǎn)品選為正樣本,設興趣度Rui=1,采集同等數(shù)量的負樣本,設興趣度為Rui=0,使用0、1初始化用戶-產(chǎn)品矩陣R;
(2)利用式(3)、式(6)、式(7)對矩陣R進行分解,得到針對隱類的用戶特征矩陣P和產(chǎn)品特征矩陣Q;
(3)對產(chǎn)品特征矩陣Q使用K均值聚類算法[7]進行聚類,得到K個小規(guī)模的產(chǎn)品特征矩陣;
(4)根據(jù)目標用戶的交易記錄,找到已購產(chǎn)品所屬類別,在相應類別中,根據(jù)產(chǎn)品的特征權(quán)值,計算產(chǎn)品之間的相似性,其中相似度計算使用余弦相似性度量方法,如式(13)所示[8]。產(chǎn)品i與產(chǎn)品j的相似度公式中的Ri,f和Rj,f分別表示產(chǎn)品i屬于f個隱式特征的權(quán)值和產(chǎn)品j屬于f個隱式特征的權(quán)值,選取的隱式特征個數(shù)用F表示。
(13)
(14)
4.1實驗環(huán)境及數(shù)據(jù)集
實驗使用MovieLens數(shù)據(jù)集,其中包括943個用戶和1 682個電影資源組成的100 KB的評分數(shù)據(jù)(1~5)。反復測試實驗誤差,選擇80%的實驗數(shù)據(jù)作為訓練數(shù)據(jù),20%的實驗數(shù)據(jù)作為測試數(shù)據(jù),表1是實驗運行環(huán)境。
表1 實驗環(huán)境表
4.2評價指標
推薦準確度是評價推薦算法最基本的指標之一,由于推薦系統(tǒng)的主要工作是根據(jù)用戶的偏好提供給他可能喜歡的產(chǎn)品,所以將準確度看作是用戶對推薦結(jié)果的認可程度。最常用的評價推薦準確度的方法是均方根誤差(Root Mean Square Error,RMSE)[9],準確度越高則該值越小。因此,本文使用RMSE來衡量推薦算法的準確度。此外,通過推薦運行時間對使用K均值聚類縮小查找范圍的效率進行評估。RMSE表達準確度如式(15),其中T為預測評分的總個數(shù)。
(15)
4.3結(jié)果分析
4.3.1推薦模型評估
采用RMSE比較本文設計的UTB-LFM、User-CF和Item-CF三種算法的預測準確性;并比較隱式特征F的不同值對推薦模型效果的影響。
(1)不同隱式特征個數(shù)F對應的RMSE
本文選擇α=0.006,λ=0.015進行實驗,在訓練集上迭代14次,并且學習速率按照每次迭代縮減0.9倍的速度遞減。實驗結(jié)果如圖2所示,其中User-CF算法選擇最優(yōu)的鄰居數(shù)為80個。
圖2 不同F(xiàn)值在各推薦模型下測試的RMSE值
通過實驗發(fā)現(xiàn),由于UTB-LFM中包括學習的過程,因此算法的RMSE較User-CF和Item-CF小,推薦的準確度高。同時隨著隱式特征個數(shù)F值的增加,UTB-LFM算法的準確度也隨之提高。而兩種基于鄰域的協(xié)同過濾推薦算法沒有引入隱式特征值,算法的準確度不會變化。
(2)不同學習速率和迭代次數(shù)對RMSE的影響
選擇隱式特征F值為200,通過改變學習速率和迭代次數(shù),保證基本相近的RMSE值,實驗結(jié)果如表2所示。
表2 不同學習速率和迭代次數(shù)對RMSE值的影響
從表2得出,學習速率從0.005增加到0.01的過程中,保證準確度的前提下,迭代次數(shù)逐漸減少,構(gòu)建模型時間變短。因此可以通過增加學習效率來減少算法迭代次數(shù),提高效率。
4.3.2產(chǎn)生推薦時間評估
比較UTB-LFM、User-CF和Item-CF三種推薦算法的推薦運行時間,并驗證不同聚類數(shù)K值對UTB-LFM產(chǎn)生推薦運行時間的影響,實驗結(jié)果如圖3所示。
圖3 不同K值在各模型下的推薦運行時間
通過實驗比較發(fā)現(xiàn),UTB-LFM算法的推薦時間比User-CF和Item-CF算法短,且隨著K值的增加推薦時間逐漸降低,提高了推薦效率。
本文主要對隱語義模型推薦算法進行研究,并針對當前電子商務系統(tǒng)以及交易數(shù)據(jù)存在的問題,提出了一種基于用戶交易行為的隱語義模型推薦算法(UTB-LFM),該算法能夠在電子商務系統(tǒng)中通過獲取用戶的隱式交易行為,為用戶提供產(chǎn)品推薦。通過與基于用戶的協(xié)同過濾推薦算法和基于產(chǎn)品的協(xié)同過濾推薦算法的比較實驗,驗證了算法的準確性和推薦效率均有所提高。
[1] 馬小龍.基于協(xié)作過濾算法的電子商務個性化推薦系統(tǒng)的研究[J].微型機與應用,2014,33(15):13-15.
[2] YIN F L,CHAI J P,LI N,et al.Digital TV program recommendation system based on latent factor model[J].Applied Mechanics & Materials,2014(513-517):1692-1695.
[3] CHEN C,ZHENG L,THOMO A,et al.Comparing the staples in latent factor models for recommender systems[C].ACM Symposium on Applied Computing.ACM,2014: 91-96.
[4] 張玉連,袁偉.隱語義模型下的科技論文推薦[J].計算機應用與軟件,2015,32(2):37-40.
[5] 巫可.基于隱語義模型的個性化推薦算法的研究[D].廣州:廣東工業(yè)大學,2016.
[6] HAHSLER M.Recommenderlab: a framework for developing and testing recommendation algorithms[EB/OL].(2015-XX-XX)[2017-04-20].https://cran.r-project.org/web/packages/recommenderlab/vignettes/recommenderlab.pdf.
[7] 何佳知,謝穎華.基于密度的優(yōu)化初始聚類中心K-means算法研究[J].微型機與應用,2015,34(19):17-19.
[8] 付芬,豆育升,韓鵬,等.基于隱式評分和相似度傳遞的學習資源推薦[J].計算機應用研究,2017,34(12):1-8.
[9] 程超,楊力,陳嘉鑫.融合語義關(guān)聯(lián)挖掘的文本情感分析算法研究[J].硅谷,2013,56(13):99-103.
Latent factor model recommendation algorithm based on user transaction behavior
Liang Jingwen,Jiang Chaohui
(College of Computer Science and Technology,Guizhou University,Guiyang 550025,China)
Through analysis of the application advantages of recommendation technology in e-commerce system,and in order to solve the present situation and problems of the product trading system without scoring,large volume of products and difficult classification,a latent factor model recommendation algorithm based on user transaction behavior was designed,which starts from the implicit user transaction behavior,and constructs the interest model between users and products,which uses latent factor model recommendation algorithm,and K-means algorithm is used to cluster implicit feature.The experimental results show that the algorithm meets the individual needs of users,and can improve the recommendation efficiency of e-commerce system.
recommendation algorithm; user transaction behavior; latent factor model; K-means algorithm
TP312
A
10.19358/j.issn.1674-7720.2017.21.005
梁婧文,蔣朝惠.一種基于用戶交易行為的隱語義模型推薦算法J.微型機與應用,2017,36(21):15-18,25.
貴州省基礎研究重大項目(黔科合JZ字[2014]2001-21)
2017-05-10)
梁婧文(1990-),女,碩士研究生,主要研究方向:數(shù)據(jù)庫與軟件工程。
蔣朝惠(1965-),通信作者,男,碩士,教授,主要研究方向:數(shù)據(jù)庫與軟件工程、網(wǎng)絡與信息安全。E-mail:jiangchaohui@126.com。