閆曉珊 米紅娟
一種團(tuán)購商品的個(gè)性化推薦算法研究
閆曉珊 米紅娟
蘭州財(cái)經(jīng)大學(xué)信息工程學(xué)院,蘭州 730020
團(tuán)購商品憑借其價(jià)格優(yōu)惠和能夠親身體驗(yàn)的優(yōu)勢(shì)越來越得到人們的青睞。為幫助團(tuán)購網(wǎng)站實(shí)現(xiàn)個(gè)性化營(yíng)銷,將用戶購物過程中的上下文環(huán)境因素融入到傳統(tǒng)的推薦算法中,提出了一種基于上下文感知的推薦算法,基于用戶相似和物品相似中加入上下文信息相似,構(gòu)造了計(jì)算商品預(yù)測(cè)評(píng)分的公式,進(jìn)而得到推薦列表,使個(gè)性化推薦體現(xiàn)得更加充分。
團(tuán)購;推薦;上下文感知
近年來,上下文感知推薦系統(tǒng)(Contextaware Recommender System,簡(jiǎn)稱CARS)已成為國外各大學(xué)和研究機(jī)構(gòu)在推薦系統(tǒng)方面研究的熱點(diǎn)。G.Adomavicius[1]等人提出把上下文信息融入到推薦過程中存在三種情況——上下文信息預(yù)過濾,上下文信息后過濾和上下文信息建模。H.Negar[2]等人提出的交互式推薦系統(tǒng)可以根據(jù)用戶的動(dòng)態(tài)行為探測(cè)和適應(yīng)上下文的變化生成匹配用戶最近偏好的推薦。Augusto Q.Macedo[3]等人提出了一種綜合了社區(qū)信息,項(xiàng)目自身的屬性信息,地理位置信息和時(shí)間信息四種信息維度的推薦方法,有效地解決了項(xiàng)目冷啟動(dòng)的問題。
目前,國內(nèi)在上下文感知推薦方面的研究還處于實(shí)驗(yàn)階段,不過已經(jīng)涉及到了推薦系統(tǒng)應(yīng)用的許多方面。比如,北京郵電大學(xué)的李晟[4]研究了一個(gè)基于上下文因素的電影推薦模型,用用戶性別、用戶類型、用戶心情三種上下文信息計(jì)算用戶的觀影偏好度,根據(jù)其大小給出推薦列表;上海交通大學(xué)的陳杰[5]設(shè)計(jì)了一個(gè)應(yīng)用于大型購物中心的推薦系統(tǒng),根據(jù)人口統(tǒng)計(jì)學(xué)信息和時(shí)間因素生成用戶的偏好模型,利用歷史購物信息過濾掉熱門商戶,最后應(yīng)用規(guī)則引擎,進(jìn)行偏好模型匹配。但是在團(tuán)購商品的個(gè)性化推薦應(yīng)用方面,還很少有人涉及。
自從世界首家團(tuán)購網(wǎng)站美國Groupon問世以來,團(tuán)購銷售模式立即博得了電商企業(yè)的關(guān)注。各家企業(yè)為了獲得最大的用戶滿意度和忠誠度,都在不斷努力提高網(wǎng)站的服務(wù)質(zhì)量。本文結(jié)合用戶的多種上下文信息,研究一種個(gè)性化推薦方法,以幫助團(tuán)購網(wǎng)站提高服務(wù)質(zhì)量,增加客戶流量和用戶忠誠度。
1.1 上下文感知相關(guān)理論
在電子商務(wù)應(yīng)用領(lǐng)域,上下文信息的獲取有多種方式,主要包括顯式獲取,隱式獲取和推理獲取。傳統(tǒng)的推薦系統(tǒng)主要在于構(gòu)造一個(gè)二維評(píng)分預(yù)測(cè)模型R:User×Item→Rating,給用戶推薦評(píng)分最高的項(xiàng)目,其中Rating表示用戶項(xiàng)目評(píng)分矩陣,矩陣的兩個(gè)維度分別是User和Item。隨著上下文信息的融入,將傳統(tǒng)的二維模型擴(kuò)展到一個(gè)三維空間范圍上,構(gòu)造一個(gè)三維評(píng)分預(yù)測(cè)模型 R:User×Item×Context→Rating,其中Rating表示用戶項(xiàng)目評(píng)分矩陣,矩陣中的元素代表某個(gè)User對(duì)某個(gè)Item在特定Context中的評(píng)分,上下文在融入到推薦過程中可分為三種情況,即上下文信息預(yù)過濾,上下文信息后過濾和上下文信息建模。
上下文信息預(yù)過濾是在推薦之前利用上下文信息篩選出最相關(guān)的用戶項(xiàng)目數(shù)據(jù),然后在篩選出的結(jié)果數(shù)據(jù)上采用傳統(tǒng)的推薦方法產(chǎn)生推薦。在這種方法里上下文信息作為檢索而發(fā)揮作用,其優(yōu)點(diǎn)是可直接應(yīng)用任何傳統(tǒng)的推薦方法。但是,如果信息太過精確,可能會(huì)漏掉一部分有用的用戶項(xiàng)目數(shù)據(jù),為了得到更高的推薦準(zhǔn)確度,往往使用相對(duì)泛化的上下文信息。泛化預(yù)過濾方法[6]就是以這種思路來解決這個(gè)問題的。
上下文信息后過濾是在產(chǎn)生推薦結(jié)果之后利用上下文信息調(diào)整推薦列表的方法,一般有兩種作用:一是過濾掉和上下文不相關(guān)的推薦;二是調(diào)整推薦列表的排名順序。和上下文信息預(yù)過濾方法一樣,上下文信息后過濾方法也可以直接應(yīng)用任何傳統(tǒng)推薦方法。
上下文信息建模是把上下文信息直接融入到推薦模型中的方法。預(yù)過濾和后過濾都可以應(yīng)用傳統(tǒng)的二維推薦模型,但是建模的方法是處理真正的多維數(shù)據(jù)問題。建??煞譃閮煞N類型:啟發(fā)式方法和基于模型的方法。比如:A.Ansari[7]等人在傳統(tǒng)的二維推薦方法上是把用戶和項(xiàng)目信息結(jié)合到基于貝葉斯分層回歸的偏好模型中,之后把這種方法擴(kuò)展到三維空間,把用戶、項(xiàng)目和上下文信息結(jié)合到偏好模型中。
1.2 協(xié)同過濾推薦算法
協(xié)同過濾算法[8]的出現(xiàn)標(biāo)志著推薦系統(tǒng)的產(chǎn)生,分為兩大類:基于用戶的協(xié)同過濾推薦算法和基于項(xiàng)目的協(xié)同過濾推薦算法。
基于用戶的協(xié)同過濾推薦算法:假設(shè)如果兩個(gè)用戶對(duì)同一個(gè)項(xiàng)目的評(píng)分相似,那么他們對(duì)其它項(xiàng)目也具有相似的評(píng)分。算法主要包括兩個(gè)步驟:(1)計(jì)算用戶相似度找到和目標(biāo)用戶相似的用戶集合;(2)找到相似用戶喜歡的項(xiàng)目集合,并且把沒有和目標(biāo)用戶交互過的項(xiàng)目推薦給目標(biāo)用戶。這種方法最大的不足之處是如果相似用戶只對(duì)很少的項(xiàng)目給了評(píng)分或者目標(biāo)用戶為新用戶時(shí)將大大降低推薦性能,即數(shù)據(jù)稀疏性問題和冷啟動(dòng)問題對(duì)推薦結(jié)果的影響很大。
基于項(xiàng)目的協(xié)同過濾推薦算法:基于項(xiàng)目的協(xié)同過濾推薦算法是給用戶推薦那些和他們之前喜歡的項(xiàng)目相似的項(xiàng)目,也分為兩個(gè)步驟進(jìn)行:(1)計(jì)算項(xiàng)目間的相似度;(2)根據(jù)項(xiàng)目相似度和用戶的歷史評(píng)分信息來生成推薦列表。由于用戶歷史信息在推薦過程中發(fā)揮較大作用,所以這種方法不適用于為新用戶進(jìn)行推薦。
用戶在團(tuán)購過程中的上下文信息可以分為兩種類型,一種是用戶的屬性信息,來自于人口統(tǒng)計(jì)學(xué)數(shù)據(jù);另一種是用戶的偏好信息,一部分是對(duì)商品的偏好,一部分是對(duì)外部環(huán)境因素的偏好。偏好的存在是因?yàn)槊總€(gè)人都有自己與生俱來的個(gè)性,就像有的人喜歡紅顏色,有的人喜歡藍(lán)顏色,應(yīng)用到商品和環(huán)境上也是如此。傳統(tǒng)的協(xié)同過濾推薦方法是通過計(jì)算相似度,生成推薦列表兩步完成。
本文對(duì)傳統(tǒng)方法的兩個(gè)步驟分別加以改進(jìn),首先基于用戶屬性信息對(duì)用戶進(jìn)行聚類,然后以每個(gè)用戶類為處理單元,計(jì)算候選商品的得分,最后通過比較得分的大小生成推薦結(jié)果。
2.1 用戶聚類
根據(jù)用戶屬性信息計(jì)算相似用戶基于一個(gè)假設(shè):屬性信息相似的用戶更傾向于購買相似的商品。通過對(duì)用戶的人口統(tǒng)計(jì)學(xué)數(shù)據(jù)進(jìn)行聚類得到若干個(gè)用戶群體,處于同一個(gè)用戶群的用戶,用戶屬性信息接近,更容易購買相似的商品,而處于不同用戶群的用戶,屬性信息差別大,相應(yīng)地,購買的商品相似度小。
2.2 預(yù)測(cè)商品得分
在把用戶分為不同的類別之后,和目標(biāo)用戶處于同一類的用戶購買的商品都作為給目標(biāo)用戶推薦的候選商品。同一類中的用戶行為的不同主要受到用戶偏好信息的影響,偏好信息越接近,用戶行為也就越相似。
2.2.1 計(jì)算相似物品
根據(jù)商品屬性信息得到購買相似商品的用戶基于假設(shè):購買過相似物品的用戶的購買行為相似。商品根據(jù)自身的類別、價(jià)格、網(wǎng)站評(píng)分等信息可以大致分類,類別代表了消費(fèi)者的購物習(xí)慣,價(jià)格代表了消費(fèi)者的購物能力,網(wǎng)站評(píng)分說明了商品的熱門程度,屬于同一類別、同一價(jià)格范圍和同一評(píng)分范圍的商品可以看作是相似商品。假設(shè)整個(gè)用戶商品集合共有n個(gè)商品,記為{Y1,Y2……Yn},每個(gè)商品有m個(gè)特征屬性,即Yi={Yi1,Yi2,Yi3……Yim},商品間相似性的計(jì)算采用余弦相似性,即
其中Ya和Yb表示兩個(gè)不同的商品向量,‖Ya‖與‖Yb‖分別為它們的長(zhǎng)度,上式分子表示這兩個(gè)商品向量的內(nèi)積,分母表示這兩個(gè)商品向量長(zhǎng)度的乘積,對(duì)每個(gè)商品選擇k個(gè)相似度最大的商品構(gòu)成其最近鄰集合。
2.2.2 計(jì)算相似上下文
地域性團(tuán)購商品和其他電子商務(wù)商品最大的不同就是用戶的消費(fèi)過程是在線下完成的,因此人們出行的種種因素均會(huì)影響到用戶選購商品的過程,比如某個(gè)用戶通過瀏覽商品信息,找到了比較滿意的商品,但是礙于商家店鋪距離較遠(yuǎn),很可能放棄這個(gè)商品。同樣,根據(jù)上下文信息得到購買行為發(fā)生在相似上下文下的用戶基于一個(gè)假設(shè):在相似上下文下發(fā)生過購買行為的用戶的購買行為相似,這里的上下文主要考慮外部環(huán)境因素,比如:時(shí)間,距離,天氣等。給定兩個(gè)不同的上下文向量Za和Zb,用余弦相似性計(jì)算上下文相似度,即
2.2.3 計(jì)算預(yù)測(cè)評(píng)分
根據(jù)用戶屬性信息將數(shù)據(jù)集分為k個(gè)子集,之后的推薦工作在目標(biāo)用戶所處的子集上進(jìn)行。設(shè)目標(biāo)用戶的相似用戶集合為U={u1,u2……un}(n為用戶數(shù)量),將U中每個(gè)用戶購買的商品集中起來,構(gòu)成商品集合I,I={i1,i2,i3……im}(m為商品數(shù)量)。
假設(shè)目標(biāo)用戶購買了商品j,通過計(jì)算相似物品,在集合I中尋找與j相似的商品;再通過計(jì)算相似上下文,尋找與目標(biāo)用戶購買商品j時(shí)的上下文相似的上下文,以及在該上下文下發(fā)生購買行為的用戶和購買的商品。通過這兩步,目的是篩選出在同時(shí)考慮商品屬性和上下文信息時(shí),與目標(biāo)用戶購買的商品相似性大的商品,同時(shí)減少候選集合I里的商品數(shù)目。
經(jīng)過以上處理,分別得到兩個(gè)商品集合,取兩集合的交集,構(gòu)成候選推薦商品集合M,然后基于M中商品i與目標(biāo)用戶購買的商品j之間的相似度,以及對(duì)應(yīng)的上下文相似度,構(gòu)造相對(duì)于目標(biāo)用戶購買的商品j的M中商品i的預(yù)測(cè)評(píng)分的計(jì)算式:
其中,sim(yi,yj)表示商品i與目標(biāo)用戶購買的商品j的相似度,sim(zi,zj)表示相應(yīng)的上下文相似度,p表示商品i在團(tuán)購網(wǎng)站的評(píng)分,p0表示目標(biāo)用戶所處的子集上的所有用戶購買的商品在團(tuán)購網(wǎng)站上評(píng)分的均值,w表示購買i的用戶對(duì)其本次購買行為的滿意度評(píng)價(jià),w0表示目標(biāo)用戶所處的子集上的所有用戶對(duì)其購買行為滿意度評(píng)價(jià)的均值。
商品評(píng)分和滿意度評(píng)價(jià)與它們的均值相比,一方面表示兩個(gè)相似度的權(quán)重,另一方面可減少因人為因素造成的偏置,比如在五分制的評(píng)級(jí)中,有的人不愿意給5分,更樂意給4分,將評(píng)分與均值相比減少了類似情況造成的影響。
2.3 生成推薦
經(jīng)過以上工作,得到候選商品集合中的每個(gè)商品的預(yù)測(cè)評(píng)分,按從高到低的順序?qū)蜻x商品進(jìn)行排序,生成推薦列表,然后將排在列表前面的商品推薦給用戶。
本文的實(shí)驗(yàn)數(shù)據(jù)來自自主設(shè)計(jì)的調(diào)查問卷,共回收有效答卷350份,采集到了關(guān)于團(tuán)購消費(fèi)者的三個(gè)維度上的信息,用戶基本信息包括年齡、婚姻、受教育程度、收入、職業(yè);商品信息包括商品類型、價(jià)格區(qū)間和在團(tuán)購網(wǎng)站上的評(píng)分;上下文信息包括商家位置、路上用時(shí)、天氣、交通便利情況、消費(fèi)時(shí)間、陪同人及陪同人數(shù),除此之外,還收集了用戶對(duì)本次消費(fèi)的滿意度評(píng)價(jià)信息。
實(shí)驗(yàn)工具為SPSS 21.0和MATLAB 2012b,用戶聚類在SPSS 21.0中完成,相似度和商品預(yù)測(cè)評(píng)分的計(jì)算在MATLAB 2012b中完成。
3.1 兩步聚類
聚類的方法有很多種,但是大多數(shù)都只能處理數(shù)值類型的數(shù)據(jù),用戶的人口統(tǒng)計(jì)學(xué)信息屬于分類屬性的數(shù)據(jù),SPSS中的兩步聚類分析方法[7]可以同時(shí)處理連續(xù)變量和分類變量,分別使用凝聚聚類方法和分裂聚類方法,對(duì)數(shù)據(jù)進(jìn)行兩次聚類,聚類的性能較好,而且可以自動(dòng)選擇最優(yōu)化的聚類個(gè)數(shù)。聚類結(jié)果如圖1所示。
可看出兩步聚類方法將所有用戶分為兩類,第一類用戶有106個(gè),第二類用戶有244個(gè),聚類質(zhì)量尚好。
3.2 計(jì)算商品的預(yù)測(cè)評(píng)分矩陣
選擇第一類用戶,分別提取商品信息和上下文信息,計(jì)算兩者的相似度矩陣的MATLAB代碼如下:
根據(jù)公式(1)計(jì)算第一類用戶的商品預(yù)測(cè)評(píng)分矩陣的MATLAB代碼如下:
假設(shè)目標(biāo)用戶是序號(hào)為1的用戶,該用戶購買的商品品名為電腦,將商品預(yù)測(cè)評(píng)分矩陣的第一列排序,得分最高的前5個(gè)用戶信息如表1所示;如果將商品相似矩陣的第一列排序,即按照傳統(tǒng)的協(xié)同過濾方法生成推薦,得分最高的前5個(gè)用戶信息如表2所示。
表1 基于商品預(yù)測(cè)評(píng)分矩陣的推薦列表
表2 基于商品相似矩陣的推薦列表
3.3 結(jié)論
比較表1和表2可以發(fā)現(xiàn),表1中的商品種類多樣,表2的商品大部分屬于電子設(shè)備類,所以將上下文信息融入到推薦算法中,有利于挖掘長(zhǎng)尾商品,更大程度地滿足用戶的個(gè)性化需求。用戶的需求是多樣性的,不可能在團(tuán)購網(wǎng)站中只購買同種類型的商品,因此,對(duì)于團(tuán)購商品而言,基于上下文感知的推薦算法與傳統(tǒng)的推薦算法相比,表現(xiàn)出了更好的推薦性能。
本文提出了一種基于上下文的團(tuán)購商品個(gè)性化推薦方法,和傳統(tǒng)的只考慮用戶和商品兩種信息的算法比較,表現(xiàn)出了較好的推薦性能。因此,融合上下文信息對(duì)進(jìn)行個(gè)性化推薦有一定的幫助,不僅有利于挖掘長(zhǎng)尾商品,而且能在一定程度上緩解傳統(tǒng)方法的數(shù)據(jù)稀疏性問題。本文所提到的團(tuán)購商品僅限于地域性商品,并不適用目前各大電子商務(wù)網(wǎng)站上的商品推薦。
[1]Adomavicius G,Tuzhilin A.Context-aware recommender systems.Recommender Systems Handbook. Springer-Verlag, 2011, 217-253.
[2]Hariri N,Mobasher B,Burke R.Context adaptation in interactive recommender systems.In:Proc.of the RecSys 2014.New York:ACM Press,2014,41-48.
[3]Augusto Q.Macedo,Leandro B.Marinho,Rodrygo L.T.Santos.Context-aware event recommendation in event-based social networks.In:Proc.of the RecSys 2015.New York:ACM Press,2015,123-130.
[4]李晟.基于情境感知的個(gè)性化電影推薦[D].北京:北京郵電大學(xué),2012.
[5]陳杰.智能購物中心情境下上下文感知推薦系統(tǒng)研究與開發(fā)[D].上海:上海交通大學(xué),2013.
[6]Adomavicius G,Sankaranarayanan R,Sen S,et al.Incorporating contextual information in recommender systems using a multidimensional approach.ACM Transactions on Information Systems (TOIS),2005,23(1),103-145.
[7]Ansari A,Essegaier S,Kohli R.Internet recommendation systems.Journal of Marketing Research,2000,37(3),363-375.
[8]項(xiàng)亮.推薦系統(tǒng)實(shí)踐[M].北京:人民郵電出版社,2012.
[9]吳志強(qiáng),楊江麗.兩步聚類分析在圖書館門禁數(shù)據(jù)挖掘中的研究[J].四川圖書館學(xué)報(bào),2012(3):13-17.
[10]劉超峰,葉楓.團(tuán)購商品的個(gè)性化協(xié)同過濾推薦方法[J].經(jīng)營(yíng)與管理,2012(11): 121-124.
[11]王立才,孟祥武,張玉潔.上下文感知推薦系統(tǒng)研究[J].軟件學(xué)報(bào),2012,23(1): 1-20.
A Personalized Recommendation Algorithm Research of Group Purchase Goods
Yan Xiaoshan Mi Hongjuan
Information Engineering College,Lanzhou University of Finance and Economics,Lanzhou Gansu 730020,China
Group purchase goods increasingly get the favor of people by virtue of its concessions and personally experiencing.To help group-buying websites realize personalized marketing and improve their quality,a recommendation algorithm based on context-aware that puts users’shopping context factors into the traditional recommendation algorithm to get the recommend list is realized.This algorithm can join context similarity on the basis of user’s similarity and items similarity and make personalized reflected more fully.
group purchase;recommend;context-aware
TN391.1
A
1672-464X(2016)2-45-06
(責(zé)任編輯:張卷美)
閆曉珊(1992-),女,山西,蘭州財(cái)經(jīng)大學(xué),碩士研究生,主要研究方向:機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘。