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

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

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

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

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

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

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

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

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

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