艾丹祥,左 暉,楊 君
(1.廣東工業(yè)大學管理學院,廣東廣州510520;2.廣東工業(yè)大學經濟與貿易學院,廣東廣州510520)
電子商務推薦系統(tǒng)是互聯網環(huán)境下解決信息過載和吸引客戶的有效途徑,已廣泛應用于各種電子商務網站[1-2]。它通過分析用戶的歷史行為,發(fā)現用戶的興趣需求和購買模式,有針對性地進行商品或服務推薦。協同過濾是目前最成功的推薦技術之一[3]。傳統(tǒng)的協同過濾推薦主要針對B2C(business to customer)電子商務模式設計,推薦過程只涉及兩個維度: “用戶和商品”,推薦的基本任務為:“計算用戶和商品的相關度,并從商品集合中選擇與用戶相關度最高的若干商品進行推薦”[4]。然而這種二維協同過濾方法并不能較好地適用于C2C(customer to customer)電子商務中的推薦問題。C2C電子商務網站中不但存在大量的商品,還存在大量的賣家,且同一商品被多個賣家同時銷售的情況非常普遍。這使得C2C網站中的買家面臨的不僅是一組商品,而是一個由賣家和商品形成的銷售網絡。買家既要選擇喜愛的商品,也要選擇合適的賣家。因此C2C網站中的推薦問題變得更為復雜,涉及到買家、賣家和商品三個維度,推薦任務也變?yōu)?“計算買家、賣家和商品三者間的相關度,并從銷售網絡中選擇與買家相關度最高的若干商品及銷售該商品的賣家進行推薦?!庇捎诙S協同過濾方法只能推薦商品而不能同時推薦賣家,因此其用于C2C網站時具有較大的局限性。通常C2C網站會提供一些簡單的賣家篩選策略,如根據價格高低、信用度大小、銷售量大小等屬性對賣家進行排序。簡單篩選策略雖然可以在一定程度上彌補二維協同過濾推薦的缺陷,輔助買家對賣家進行選擇,但是它沒有考慮買家選擇商品和選擇賣家的相關性,也沒有考慮買家對賣家的個性化要求。
針對上述問題,本文對傳統(tǒng)的二維協同過濾方法進行擴展,使其適用于C2C中“買家×賣家×商品”的三維推薦空間,并以此為基礎設計基于三維協同過濾[5]的C2C電子商務推薦系統(tǒng),為C2C買家推薦個性化的賣家和商品組合。
傳統(tǒng)的二維協同過濾技術依據“相似用戶具有相似興趣”的基本假設,在用戶群中找到目標用戶的相似用戶,綜合這些相似用戶對某一商品的評價,形成目標用戶對此商品的喜好程度預測[6]。相似用戶通常被稱為目標用戶的“最近鄰”,通過計算用戶相似度來進行識別。協同過濾的基本過程包括以下3步[7]:
(1)用戶建模[8]
協同過濾中典型的用戶模型為“用戶——項目”評分矩陣 (如表1所示),通過采集所有用戶對所有項目的歷史評分形成。
表1 “用戶——項目”評分矩陣
評分值通常會被歸一化,取值范圍為 [0,1]或 [-1,1]之間,分值大小反映用戶對項目感興趣的程度,NULL表示用戶沒有對項目進行過評分。
(2)最近鄰計算
最近鄰是指與目標用戶興趣相似度最高的N個用戶。獲得最近鄰的關鍵在于計算用戶間的相似度。在協同過濾系統(tǒng)中,相似度通?;趦蓚€用戶對項目的共同評分來計算。測量用戶相似度的方法有很多,其中最常用的兩種是皮爾遜相關系數相似度和余弦相似度[9]。
(3)評分預測
一旦獲得目標用戶的最近鄰,即可根據最近鄰的歷史評分計算目標用戶對某項目的未知評分[10]。假設用戶u對項目i的未知評分為r(u,i),則r(u,i)是N個最近鄰對項目i的評分的聚合值
一種將二維協同過濾方法直接擴展到“買家×賣家×商品”三維推薦空間的方法是:將賣家和商品的組合視作一個項目,根據買家對此“項目”的共同評分計算買家最近鄰并預測未知評分。但此方法在實際計算時的效果很難保證。由于同時涉及到賣家和商品兩個維度,且C2C網站中可選的賣家和商品數通常都很龐大,使得兩個買家對同一賣家的同一商品進行評分的情況較少出現,共同評分數據由此變得非常稀疏,影響了相似度和未知評分的計算。為此,本文不僅僅對二維協同過濾方法進行三維擴展,而且依據“同一買家選擇的賣家應彼此相似”的原則,引入對賣家相似度的計算,并依據賣家相似度以及賣家和商品間的銷售關系對評分數據進行適當地推斷和填補,減少三維數據的稀疏程度,保證推薦計算的有效性。
圖1顯示了基于三維協同過濾的電子商務推薦系統(tǒng)的基本架構。系統(tǒng)由用戶界面、數據存儲模塊和三維協同過濾推薦模塊3個部分構成。
用戶界面部分負責實現與C2C買家的交互,一方面觀察和記錄買家的交易或評價行為,形成買家對賣家和商品的評分;另一方面為買家提供推薦的結果。
數據存儲模塊包含三個數據庫:買家評分數據庫存儲買家對所購買的商品以及銷售商品的賣家的歷史評分;賣家-商品銷售關系數據庫記錄當前賣家銷售商品的狀況;賣家屬性數據庫存儲賣家的各種特征屬性。C2C網站為了使買賣雙方的信息更加對稱,通常會展示賣家各方面的屬性,如信用度、銷售量、銷售價格、物流速度等,這些屬性是買家選擇賣家時的決定性因素,也是計算賣家相似度的主要依據。
圖1 基于三維協同過濾的電子商務推薦系統(tǒng)架構
三維協同過濾推薦模塊是推薦系統(tǒng)的核心模塊,它與數據存儲模塊交互,完成三維協同過濾的運算,最終形成推薦結果,具體的推薦過程如下:
(1)根據賣家的屬性值,計算賣家間的相似度;
(2)利用賣家相似度對具有相似賣家的商品的評分進行推斷,并對評分數據進行填補;
(3)利用協同過濾技術,依據買家對<賣家,商品>組合的共同評分,計算買家間的相似度,并將與目標買家相似度最高的若干買家確定為目標買家的最近鄰。
(4)以買家相似度和賣家相似度為權值,聚合前N個最近鄰的評分,預測目標買家對<賣家,商品>組合的未知評分。
(5)將預測評分最高的若干<賣家,商品>組合推薦給目標買家。
下一節(jié)將詳細描述三維協同過濾推薦中涉及到的4個關鍵運算:賣家相似度計算、買家評分數據填補、買家相似度計算和買家未知評分預測。
2.3.1 賣家相似度計算
賣家之間的相似度由賣家的屬性 (信用度、好評率、價格水平等)決定,具有類似屬性值的賣家相似度較高。我們利用余弦相似度計算賣家相似度,假定賣家s和s'的相似度為sim(s,s'),其計算方法為
式中:fk(s)和 fk(s')——賣家 s和 s'的第 k個屬性值,n——屬性的數目。
2.3.2 買家評分數據填補
對買家評分數據進行推斷和填補的基本思想為:假設賣家s和s'均銷售商品p,買家b從未對s和p進行過評分,但曾對s'和 p給出過評分r(b,s',p),則根據 r(b,s',p)以及賣家s和s'的相似度可推斷b對s和p的評分r(b,s,p),可以認為賣家s和賣家s'越相似,r(b,s,p)和r(b,s',p)的值也越接近。
假定rinference(b,s,p)為買家b對賣家s和商品p的評分推斷值,其計算方法為
式中:S(b,p)——銷售p且被b評分過的所有賣家。sim(s,s')——賣家s和s'的相似度。M——S(b,p)中的賣家數量。計算所得的rinference(b,s,p)將作為r(b,s,p)的替代值填入買家評分數據中。
2.3.3 買家相似度計算
計算買家相似度的方法與二維協同過濾方法類似,即將<賣家,商品>視作一個整體項目,以經過填補的買家評分數據為基礎,依據買家對<賣家,商品>的共同評分計算相似度。假設買家b和b'的相似度為我們采用皮爾森相關系數進行計算
2.3.4 買家未知評分預測
與二維協同過濾方法類似,我們通過對最近鄰評分的聚合來預測目標買家b對賣家s和商品p的未知評分r(b,s,p)。聚合函數采用調整后的加權求和,因而有
為了驗證本文所提出的C2C電子商務系統(tǒng)的可行性與有效性,我們在windows平臺上,采用Java語言編程實現三維協同過濾推薦算法,并利用從淘寶網上采集的真實數據進行模擬實驗。
數據集為2010年8月到10月佳能數碼照相機及其配件在淘寶網的銷售和評價記錄,每一條記錄由“買家、賣家、商品、評分”4項基本內容構成。原始數據共包含16564條記錄,涉及13183個買家,419個賣家和144個商品。為了使數據更好地適用于實驗驗證,我們對數據記錄進行了篩選,去掉在該時間段只購買了1個商品的買家,最終獲得4138條記錄,涉及1557個買家,268個賣家和144個商品,其中賣家和商品的銷售關系共1171條。
根據淘寶網的信譽機制,在每筆交易完成后,買家可以根據購物體驗為商品和賣家進行評分,每一個評分具有3個等級:好評、中評、差評。如果買家沒有在規(guī)定的時間內進行評分,則淘寶網會默認給出好評。這種機制使得每一筆銷售記錄都具有相應的評分。為了便于計算,我們將好評、中評、差評分別對應于評分1、0.5和0,由此形成買家評分數據。
除此以外,我們采集了淘寶網提供的關于賣家的19項屬性值,包括:成交數量、收藏人氣、瀏覽次數、價格等級、庫存數量、賣家信用度、好評率、虛擬商品交易比例、實物商品交易比例、寶貝與描述相符度評分、賣家的服務態(tài)度評分、賣家的發(fā)貨速度評分、是否如實描述、是否支持7天退換、是否支持正品保障、有無違規(guī)行為、有無退款糾紛、有無處罰情況、是否為淘寶商城。其中前12項為連續(xù)值屬性,在預處理階段對其值進行分級排序,用1、2、3、4……表示不同的等級;后7項為二值屬性,取值為1和0。
為了評估三維協同過濾方法的推薦效果,我們采用了三個評價指標:召回率 (Recall)、準確率 (Precision)和F-Measure[11]。其定義分別為
我們在數據集上同時實現三維協同過濾推薦和二維協同過濾推薦,并對其推薦效果進行比較。三維方法將直接產生〈賣家、商品〉組合的推薦,而二維方法在產生商品推薦后,還需要通過簡單篩選策略為被推薦的商品組合相應的賣家。具體過程如下:
實驗1:通過三維協同過濾推薦方法計算〈賣家、商品〉組合的推薦。
實驗2:通過二維協同過濾方法計算商品推薦,并通過價格排序為每個推薦商品組合價格最低的賣家
實驗3:通過二維協同過濾方法計算商品推薦,并通過信用度排序為每個推薦商品組合信用度最高的賣家
實驗4:通過二維協同過濾方法計算商品推薦,并通過銷售量排序為每個推薦商品組合銷售量最高的賣家
實驗5:通過二維協同過濾方法計算商品推薦,并為每個被推薦商品隨機的組合一個賣家。
實驗結果如圖2至圖4所示。
圖2至圖4中的橫坐標K表示保留的買家最近鄰數,取值分別為10、15、20、25、30。從圖中可以看出,當需要推薦<賣家,商品>組合時,三維推薦方法在Recall、Precision和F-measure三個指標上的表現都優(yōu)于二維推薦方法。此外,隨機選擇賣家的二維推薦方法表現好于其他幾種二維推薦方法,這從某種意義上說明買家對賣家的選擇并不是一個簡單的行為,可能受到各種因素的綜合影響。不同的買家對賣家的要求各不相同,單一的賣家篩選策略并不能很好的適應不同買家的需求。而三維推薦方法的表現優(yōu)于各種二維推薦方法,說明通過計算賣家相似度和買家相似度能較好地為買家對賣家的個性化要求建模。
圖4 三維推薦與二維推薦F-measure指標結果比較
本文針對C2C電子商務網站中的推薦問題,設計了一種基于三維協同過濾的電子商務推薦系統(tǒng)。該系統(tǒng)將傳統(tǒng)的二維協同過濾方法擴展到“買家×賣家×商品”的三維推薦空間,依據買家的歷史評分和網站展示的賣家屬性,計算賣家相似度和買家相似度,在對評分數據進行適當填補的基礎上,預測買家對<賣家,商品>組合的未知評分并據此形成推薦。實驗結果證明,該系統(tǒng)在C2C電子商務環(huán)境下能有效發(fā)現買家對賣家和商品的個性化需求,具有較好的推薦效果。
[1]LIU Pingfeng,NIE Guihua,Chen Dongli.A survey:Electronic commerce recommender systems [J].Journal of Information,2007,26(9):46-50(in Chinese).[劉平峰,聶規(guī)劃,陳冬林.電子商務推薦系統(tǒng)研究綜述 [J].情報雜志,2007,26(9):46-50.]
[2]XU Hailing,WUXiao,LIXiaodong,et al.Comparison study of internet recommendation system [J].Journal of Software,2009,20(2):350-362(in Chinese).[許海玲,吳瀟,李曉東,等.互聯網推薦系統(tǒng)比較研究[J].軟件學報,2009,20(2):350-362.]
[3]Schafer J,Frankowski D,Herlocker J,et al.Collaborative filtering recommender systems[G].LNCS 4321:Heidelberg:Springer Berlin,2007:291-324.
[4]Adomavicius G,Sankaranarayanan R,Sen S,et al.Incorporating contextual information in recommender systems using a multidimensional approach [J].ACM Trans Inf Syst,2005,23(1):103-145.
[5]LI Gai,PAN Rong,LI Lei.CubeALS:A novel approach to 3D collaborative filtering[J].Journal of Frontiers of Computer Science and Technology,2012,6(2):156-164(in Chinese).[李改,潘嶸,李磊.CubeALS:新的三維協同過濾推薦算法[J].計算機科學與探索,2012,6(2):156-164.]
[6]YU C,XU J R,DU X Y.Recommendation algorithm combining the user-based classified regression and the item-based filtering[C]//Proceedings of the8th International Conference on Electronic Commerce:The New E-commerce:Innovations for Conquering Current Barriers,Obstacles and Limitations to Conducting Successful Business on the Internet.New York:ACM Press,2006:574-578.
[7]GUO Yanhong,DENG Guishi.Improved personalized recommendation algorithm in collaborative filtering[J].Application Research of Computers,2008,25(1):39-41(in Chinese).[郭艷紅,鄧貴仕.協同過濾的一種個性化推薦算法研究 [J].計算機應用研究,2008,25(1):39-41.]
[8]WU Lihua,LIU Lu.User profiling for personalized recommending systems-a review [J].Journal of the China Society for Scientific and Technical Information,2006,25(1):55-62(in Chinese).[吳麗花,劉魯.個性化推薦系統(tǒng)用戶建模技術綜述[J].情報學報,2006,25(1):55-62.]
[9]Adomavicius G,Tuzhilin A.Toward the next generation of recommender systems:A survey of the state-of-the-art and possible extensions[J].IEEE Transactions on Knowledge and Data Engineering,2005,17(6):734-749.
[10]Ricci F,Rokach L,Shapira B,et al.Recommender systems handbook[M].Berlin:Springer-Verlag,2011:1-842.
[11]LIU Jianguo,ZHOU Tao,GUO Qiang,et al.Overview of the evaluated algorithms for the personal recommendation systems [J].Complex Systems and Complexity Science,2009,6(3):1-8.(in Chinese).[劉建國,周濤,郭強,等.個性化推薦系統(tǒng)評價方法綜述.復雜系統(tǒng)與復雜性科學,2009,6(3):1-8.]