司夢楚, 季同同, 張春明*,3
(1.青島大學 紡織服裝學院,山東 青島 266071;2. 青島大學 紡織產業創新研究院,山東 青島 266071;3. 孚日集團股份有限公司,山東 高密 261500)
隨著中國逐漸進入全民網購的電子商務時代,推薦系統越來越多地被應用到不同的產品領域和電商平臺,服裝推薦系統也展現出巨大的商業潛力和應用前景。在線上選購服裝時,消費者從大量的可選對象中篩選出能滿足其需求的目標并非易事,而經營者想要引起所有目標消費群的注意力也同樣困難。等待用戶搜索然后提供信息的傳統服務模式已很難跟上電商發展的要求,消費者希望能夠根據用戶特點和喜好自動組織和主動呈現信息,而智能推薦系統就是解決這一矛盾的重要工具之一。
美國對推薦系統的研究起步較早,SARWAR B等[1]率先提出基于互聯網平臺的“協同過濾”推薦算法的概念,并較為系統地闡述了這一算法能夠解決的主要問題;此后LINDEN C D等[2]和KLEINBERG J等[3]提出通過分析用戶購買物品的相關性進而實現推薦的算法,并結合模型分析此算法的優缺點。近年來,伴隨著信息技術和電子商務的不斷發展,一些新的算法相繼問世。SON J等[4]提出一種多屬性網絡的基于內容的過濾算法,經過驗證后指出網絡分析過程中可以考慮間接關聯項目之間的相似性;KOOHI H等[5]提出一種基于子空間聚類的新鄰居(相似偏好用戶)搜索方法,并根據相關性為目標用戶繪制鄰居用戶的樹結構;GEUENS S等[6]構建一個新的決策支持框架,根據在線二進制購買數據(稀疏級、采購分配和項目-用戶比率)生成建議,以幫助電商平臺選擇最佳的協同過濾算法。
國內在本領域的研究雖起步較晚,但近年來也取得了較豐富的研究成果。何佳知[7]通過數據統計與計算,論證偏好文檔和項目文檔的余弦相似度與用戶對該項目特征偏好之間的關系;WEI Jianliang等[8]提出一種在社會標記系統中計算用戶權限的方法,實驗表明該算法根據權威用戶的表現生成個性化的信息推薦,優于傳統的模型;鄭充林[9]、陳丹兒等[10]、單毓馥等[11]也對基于用戶的協同過濾推薦開展相關研究,并結合服裝產品特征進行調研,最后根據用戶評分數據、搜索關鍵詞、顧客選擇因素的權重提出了各自的推薦建議。
目前,主流的推薦算法主要概括為協同過濾和基于內容/項目兩大范疇,其中協同過濾推薦算法具有顯著的優點:可以對未曾涉及的項目領域進行數據分析,如尚未嘗試過的服裝款式或未曾看過的電影等;有助于消費者更好地提高自我認知的能力、挖掘潛在興趣。然而,協同過濾推薦算法也有難以解決的問題,如數據稀疏性以及項目、用戶的冷啟動等[12-13],尤其是對存在諸如品牌、款式、風格、色彩、面料、尺碼以及流行性等復雜項目屬性的服裝類產品,這些問題使得相似度計算的結果與實際相差甚遠,導致推薦效果不佳。為解決這一問題,文中針對服裝類產品,在余弦相似度(cosine similarity,CS)和Slope One算法的基礎上提出了CF-SO算法。分別應用于協同過濾推薦中的基于用戶推薦和基于項目推薦,通過實例論證本算法在服裝個性化推薦中的作用。
隨著互聯網的高速發展,電子商務與物流產業的日益成熟與融合,我國電商行業的市場占比大幅度上升。2017年天貓“雙十一”購物狂歡節的最終成交額接近1 700 億元,是2009年首次舉辦“雙十一”時成交額的3 300 倍,是2014年交易額的3倍(見圖1)[14]。與此同時,我國網絡購物用戶規模也呈直線式增長(見圖2)[15],截至2017年,全國每3人中就有1人使用網絡購物。

圖1 2009—2017年天貓“雙十一”交易額 Fig.1 Tmall "double 11" transaction volume from 2009 to 2017

圖2 2012—2017年中國網絡購物用戶規模Fig.2 Shopping user scale of Chinese network from 2012 to 2017
表1列出了各年齡層消費者網絡購物情況[16]。由表1可以看出,在所有成交的網購商品中,服裝類商品占據了較大比例;各年齡層的網絡消費者偏好有所不同,服裝是80后女性和90后群體的主要網購商品,鞋/包在90后女性網購人群的喜好排行中也占據了重要位置。因而,電商平臺成為幾乎所有服裝品牌爭取市場份額、實施營銷策略的新戰場。

表1 各年齡層消費者網絡購物喜好排行
基于用戶的興趣特點和購買行為的個性化推薦系統,可以向用戶推薦感興趣的信息和商品。這一策略的實施改變了商家在銷售中的被動地位,從而為其爭取更多的商業價值。服裝個性化推薦是基于電商平臺服裝消費者的穿衣行為、購買習慣、搭配偏好和身體特點等,有針對性地向其提供滿足個性化需求的產品信息和購買建議。
1.2.1基于內容的服裝推薦算法 基于內容推薦(content-based recommendation)通過產品的特征屬性來定義項目(即服裝),當用戶(即服裝消費者)完成對產品的評價后,系統再通過分析用戶的興趣判斷其個人資料與潛在可推薦項目之間的匹配程度。提取項目特征、建立用戶興趣資料和計算相似度(匹配度)是基于內容推薦的3大要素。其推薦機制的基本原理如圖3所示。圖3中假設有3種類型的用戶(用戶A、用戶B和用戶C),實線箭頭從用戶指向某款式,表示該用戶喜歡購買該款式的服裝。將用戶偏好模型與款式的特征矩陣匹配后發現,當款式A提取的特征和款式C的類似,則系統會把款式C推薦給用戶A。

圖3 基于內容的推薦機制的基本原理Fig.3 Basic principles of content-based recommendation mechanisms
1.2.2協同過濾服裝推薦算法 協同過濾推薦(collaborative filtering recommendation)是當下使用最多的服裝推薦算法,它以某一用戶群體(即服裝消費者群)對某一項目(即服裝)的滿意度評價作為推測另一與該群體特征相似的個體用戶對相同項目滿意度評價的主要依據,一般分為兩種類型:基于用戶的協同過濾推薦和基于項目的協同過濾推薦。
1)基于用戶的協同過濾服裝推薦算法 該算法主要依靠集體思考與決策。一般認為每個服裝購買者的消費行為都屬于某個已知或未知的群體特征范圍,同一群體中每個消費者間的偏好具有相似性,研判群體中某一服裝消費者對某服裝產品的偏好情況時,問題就轉化為搜索群體中其他用戶對該項目的喜好情況。
2)基于項目的協同過濾推薦算法 該算法強調物品與物品之間存在關聯。一般認為每個被消費的服裝產品都屬于某個已知或未知的商品特征范圍,同一范圍中每個項目間的相似性可以通過數據計算,在研判服裝消費者對某服裝產品的偏好情況時,問題就轉化為搜索該用戶對以前相似項目的喜好情況。
CS-SO算法的核心思想來源于CS和Slope One算法[17-18]。CS是計算個體間相似度的一種方法,該方法將個體的指標數據映射到向量空間,然后通過計算兩個個體向量之間的內積空間夾角余弦值度量它們之間的相似性。CS可以很好地反映集合內部變化情況,作為聚類的指標是可行的[19]。目前,余弦相似值作為聚類的指標已應用于生物科學、優化算法、人臉識別等領域[20]。文中利用CS度量用戶相似值。
兩個向量間的余弦值采用歐幾里得點積公式計算:
a·b=|a|×|b|cosθθ∈[0,2π] (1)
其中,cosθ為兩個向量之間的余弦相似度,其取值范圍是[-1,1]。變換式(1)得到余弦相似度的計算公式
(2)
其中,an,bm分別為向量a,b的分量值。
通俗地講,本算法即以消費者為本,先找出與被推薦對象相似的用戶群,然后進行數據分析得出他們曾經購買而被推薦者尚未購買的項目。
2.1.1算法描述 CS算法核心思想來源于余弦相似度,即在向量空間模型中用兩個向量(即兩件服裝產品)間夾角的余弦值衡量兩個項目的個體間差異大小[17],余弦值越接近1,表明夾角越接近0°,也就是兩個向量越相似。
CS算法的基本原理如圖4所示。圖4中假設有3種類型的用戶(用戶A、用戶B和用戶C),統計數據顯示用戶A和用戶C的興趣類似,即都喜歡購買運動裝和工裝產品,而用戶B則偏愛休閑裝;與此同時,統計數據顯示用戶C還偏愛西裝產品,這意味著相似用戶A也存在喜歡這一項目的可能,則系統會將這一項目推薦給用戶A,而用戶B不會收到西裝推薦。

圖4 CS服裝推薦算法原理Fig.4 Principle of cosine similarity clothing recom-mended algorithm
2.1.2案例分析 為測試基于用戶的CS服裝推薦算法求解高維度問題的性能,文中對褲裝偏愛程度的權值進行量化,并在此基礎上將該算法應用于用戶對多風格褲裝選擇的預測領域中。
可以把褲裝的多個項目想象成多維空間的若干個維度,具體見表2。用戶對每種褲裝的喜歡程度以該維度上對應的坐標值表示,設:購后好評=5,購買=4,分享=3,收藏/放進購物車=2,瀏覽=1,一般評價=-3,負面評價/跳過/不喜歡=-5。由式(2)可推得兩個用戶之間的相似度,具體可表示為
式中:c,d,…,j為多維空間中各個維度;c1,d1,…,j1為用戶1在對應維度下對該項目的喜好評級;c2,d2,…,j2為用戶2在對應維度下對該項目的喜好評級。根據式(3)計算相似度,若θ=0時,cosθ=1,表示兩個用戶喜好完全一致;若θ=180°時,cosθ=-1,表示兩個用戶喜好截然相反[21]。

表2 利用CS服裝推薦算法求解褲裝選擇問題
由式(3)計算得到用戶A與用戶B的相似度cosθ為0.87,而與用戶C的相似度cosθ為 -0.31,可見用戶A與用戶B相似度更高,而與用戶C相似度較低,這一結果與表中不同用戶在各個維度下的量化值規律一致。
服裝產品的特殊性就在于,可推薦項目存在諸如品牌、款式、風格、色彩、面料等復雜維度,讓所有用戶都提供出表中每個維度下的行為數據是不現實的,CS服裝推薦算法可用于解決這一問題。假如用戶D在此前只購買過西裝褲、哈倫褲和闊腿褲,且網購平臺行為少(較少在推薦商品上點擊“不感興趣”或“不喜歡”,在商品廣告頁面較少點擊“跳過廣告”),那么可將這些有限的行為數據簡化為維度較少的空間,通過式(3)算出用戶D與用戶A、用戶B及用戶C之間的相似度cosθ分別為0.95,0.99,-0.36,由此可見,新用戶D與用戶B具有更高的相似度,所以可向其推薦用戶B更加偏愛的項目,如:運動褲、喇叭褲、七分褲。CS服裝推薦算法是找到與新用戶相似的人,推薦別人買過而新用戶還沒買的新商品。實現的途徑是計算多維空間中兩個用戶的向量夾角。
與CS服裝推薦算法不同,SO算法思想是以商品為本,直接建立各服裝項目之間的相似度關系,進而計算出推薦結果。
2.2.1算法描述 SO服裝推薦算法核心思想來源于Slope One算法[19],即基于新產品與已完成用戶評估產品之間的平均偏好值差異來預測被推薦者對新項目的興趣。具體表示為

SO服裝推薦算法的基本原理如圖5所示。圖5中假設有3種類型的用戶(用戶A、用戶B和用戶C),統計數據顯示用戶A和用戶B都在喜歡款式1的同時喜歡款式3,得出這兩個項目具有較高相似度;與此同時,統計數據顯示用戶C也喜歡款式1,這意味著相似用戶C也存在喜歡款式3的可能,則系統將會向其推薦這一項目。

圖5 SO服裝推薦算法原理Fig.5 Principle of slope one clothing recommended algorithm
2.2.2案例分析 為測試基于用戶的SO服裝推薦算法性能,文中對大衣版型偏愛程度的權值進行量化,并在此基礎上將該算法應用于用戶對多風格版型大衣選擇的預測領域。
可以把大衣中的不同版型想象成多維空間的若干個維度,具體見表2。用戶對每種外套的喜歡程度用該維度上的坐標值表示,設:購后好評=5,購買=4,分享=3,收藏/放進購物車=2,瀏覽=1,一般評價=-3,負面評價/跳過/不喜歡=-5。
選取5個用戶(用戶A~用戶E),計算A型對X型的偏好差異平均值[22],由式(4)可推得
式中:c,d為多維空間中的兩個維度;c1,d1為用戶A在對應維度下對該項目的喜好評級;c2,d2為用戶B在對應維度下對該項目的喜好評級;其余用戶及維度依次類推。偏好差異值越小表示兩個項目的相似度越大,越容易被推薦。

表3 利用SO服裝推薦算法求解大衣版型推薦問題
根據式(4)依次計算A型對X型、H型、繭型、沙漏型以及浴袍型的偏好差異平均值,分別是-3,-1.4,-1.6,-3.6,-2.8。因此得出購買A型大衣的用戶更容易購買X型和沙漏型這兩種款式項目的大衣,這3類被歸結于相似。在新用戶F消費行為數據有限的情況下,比如用戶F僅購買過一次A型的大衣,類比其他用戶的偏好差異平均值,得出A款式大衣與X型和沙漏型這兩種款式的大衣偏好差異值較小,故可向新用戶F推薦這兩種款式的項目。SO推薦算法尋求商品之間的相似度,即買了這種商品的人還會去購買什么,實現的途徑是計算新產品與已完成用戶評估產品之間的偏好差異值。
由于可推薦項目存在諸如品牌、款式、風格、色彩、面料等復雜維度,服裝類產品的智能推薦仍處于摸索階段。文中提出了一種基于協同過濾推薦的CS-SO算法,CS服裝推薦算法以用戶為依據,通過計算項目偏愛相似度匹配相似的用戶群,然后向新用戶推薦相似用戶群較為偏愛的項目;與之不同的是,SO服裝推薦算法是以分析項目之間的關聯性為基礎,通過計算已被購買或評價產品的偏好差異建立起各服裝項目之間的相似度關系,進而給出推薦結果。實驗證明本算法能夠有效提升電商平臺服裝個性化推薦的推薦效率與推薦質量,具有推廣價值。