江學為, 田潤雨, 盧方驍, 張 藝
(1. 武漢紡織大學 服裝學院, 湖北 武漢 430073; 2. 武漢紡織大學 武漢紡織服裝數字化工程技術研究中心, 湖北 武漢 430073; 3. 武漢大學 測繪學院, 湖北 武漢 430079)
近年來,隨著大數據與智能技術的不斷創新,電子商務進入高質量發展階段[1-2]。服裝精準營銷成為服裝企業關注的熱點。服裝推薦系統能夠根據消費者喜好,提出符合消費者購買需求的建議,對精準營銷有著重要意義[3-4]。傳統服裝推薦算法可分為2類:第1類是基于消費者群體劃分的推薦算法,如基于消費者群體的協同過濾算法[5];第2類是基于服裝相似度的推薦算法, 如基于關鍵點服裝款式識別的智能服裝推薦系統[6]。第1類推薦算法利用不同方法對消費者進行相似性分析,將其劃分為不同群體,根據同一群體對服裝的喜好,判斷該群體中消費者對某款服裝的喜好。這類服裝推薦系統不依賴消費者的歷史消費數據,但對于新上市的服裝,由于缺乏消費者評價,不能進行較為準確的推薦。第2類推薦算法對同一消費者的服裝消費行為進行分析,通過將服裝與歷史消費數據進行相似性比較,推薦與曾購買過的服裝相似的服裝。這類算法適用于新款服裝的推薦,但對于缺乏消費歷史記錄的消費者無法進行有效推薦[7]。
針對傳統服裝推薦算法存在的問題,有學者考慮到服裝不同屬性對消費者喜好的影響權重不同,對上述推薦算法進行改進,提出了基于層次分析法(AHP) 的服裝推薦方法[8]。為進一步提高推薦算法準確度,尹定乾等[9]利用奇異值分解和相關系數對上述2類算法進行結合,提出了基于奇異值分解(SVD++) 改進的服裝推薦算法,在一定程度上提高了推薦算法的準確性。但是,由于服裝具有周期短、款式多、批量小,消費者對服裝偏好會隨著時間推移發生變化等特點[10],需要進一步考慮消費者興趣、消費者群體及歷史消費數據對推薦準確性的影響。基于以上原因,本文考慮了服裝屬性與類別對消費者興趣的影響,對服裝的相關數據進行編碼,并通過服裝屬性與消費者時序行為引入興趣衰減函數,構建模擬評分模型,結合消費者群體進行卷積神經網絡訓練,建立了基于模擬評分服裝推薦系統,以期進一步優化服裝推薦算法。
本文針對服裝屬性和消費者時序行為對推薦算法進行改進,提出了基于模擬評分算法的服裝推薦系統。模擬評分算法通過收集消費者的相關數據(服裝的商品名和購買、瀏覽、收藏服裝的時間)進行編碼,并通過興趣函數計算消費者對服裝的偏好評分,然后將評分進行歸一化和模糊化處理,最后使用卷積神經網絡訓練數據,建立服裝推薦系統。
本文試驗對象為在校大學生,獲得試驗對象許可后,搜集其網絡中與服裝相關的信息:服裝名稱、購買時間、瀏覽時間、收藏時間、價格等數據。共收集了20位消費者的與服裝相關的數據1 166條。由于消費者對服裝的興趣變化受到服裝種類與購買時間、瀏覽時間、收藏時間的影響顯著[11-12],因此,使用服裝的商品名稱和購買記錄、瀏覽記錄、收藏服裝的時間作為編碼參數。由于價格等數據不能表達服裝特性,所以對消費者興趣不造成顯著影響[13],其不作為編碼參數。
圖1示出詞庫編碼示意圖。

圖1 詞庫編碼示意圖Fig.1 Schematic diagram of thesaurus coding
為提高數據分析的可靠性與模擬評分的準確性,首先對所收集數據進行預處理。預處理過程如下:根據分詞的權重,利用分詞算法對服裝標簽進行提取,并進行降序排列。選取前若干個分詞,判斷其是否能描述服裝特性,是否與已有特性重復。若該分詞不能描述服裝特性或與已有特性重復則刪除,重復該流程,直到提取的所有分詞都可表征服裝的特點。標簽提取完成后,根據服裝類別特點對標簽進行一級編碼,根據服裝的屬性特點進行二級編碼。
以收集的3件T恤為例,其標簽分別為:韓版、原宿、純棉、寬松、T恤、短袖、露肩、上衣;韓版、簡約、圓領、套頭、修身、露肚臍、短袖、T恤;寬松、T恤、原宿、韓版、百搭、上衣、慵懶風。首先對標簽進行去重處理并排序,根據服裝類別可獲得3個一級標簽:T恤、上衣、短袖。根據服裝屬性可獲得12個二級標簽:韓版、原宿、寬松、純棉、露肩、簡約、圓領、套頭、修身、露肚臍、百搭和慵懶風。當服裝屬性與標簽匹配時,該項編碼為1,否則為0,3件T恤編碼如表1所示。

表1 服裝編碼表Tab.1 Clothing coding table
根據以上計算流程,對所有服裝產品進行預處理,生成對應的編碼數據庫。
考慮時間對消費者興趣的影響,本文根據艾賓浩斯記憶模型[14],建立了基于歐氏距離的消費者服裝興趣衰減模型,并結合相似度評分修正模型構建了評分模擬算法,其計算過程如圖2所示。以襯衫和T恤品類為例,計算服裝消費偏好過程如下。

圖2 模擬評分算法的計算過程Fig.2 Calculation process of simulation scoring algorithm
1)初始化消費者對服裝的喜愛程度(評分),將該消費者有記錄的初始化服裝評分設置為100分。
2)計算每件服裝的時間間隔。由于消費者對服裝的興趣衰減程度并不以天為周期急劇下降,因此,為方便計算,將每一個興趣衰減周期定義為30 d。 將實際購買、瀏覽和收藏服裝的時間除以30 d, 計算時間間隔t(t屬于無量綱單位)。有時間記錄的數據可直接計算時間間隔;無時間記錄的數據,利用反距離加權插值法進行加權進行計算[15],公式如下:
式中:tc為無記錄時間的服裝時間間隔;i為有時間記錄的服裝編號;n為有時間記錄的服裝件數;c為待求時間間隔編號;ti為第i件有時間記錄的服裝的時間間隔;di為第i件有記錄時間的服裝向量與待求服裝向量的歐氏距離。其中di的算法如下式所示:
式中:p為編碼向量的維度;q為維度上限;xp,i為第i件已知時間間隔服裝的p維編碼;yp為待求時間間隔服裝的p維編碼。
3)基于興趣衰減函數計算服裝評分。艾賓浩斯記憶函數為M=79.975t-0.126[14],該模型反映了記憶量M隨時間t衰退的趨勢。式中:0.126為衰減系數,79.975為常量。消費者的興趣衰減過程類似于記憶衰退過程,隨時間逐漸下降,因此,可采用記憶量與時間的關系分析興趣衰減過程。但這二者的下降趨勢并不完全相同,消費者在開始一段時間內保持對服裝的興趣不變。在興趣與時間的關系式中,興趣系數常量設為100。由于消費者對服裝興趣的衰減速度較慢[16],所以本文利用范圍為0.1~1.0的a系數對衰減速度進行調整,其函數為
M=100t-0.126a
為確定a的值,跟蹤了3位消費者對1件服裝在30、40、50、60、70、80、90 d的模擬評分,并比較了其均方誤差如圖3所示。當a= 0.6時,均方誤差最小,因此,興趣衰減公式表示為。

圖3 a值對應的均方誤差Fig.3 Mean square error for a
式中:mh為第h件服裝的模擬評分;h為服裝編號;th表示第h件服裝的時間間隔。
4)獲取消費者對當前服裝的興趣編碼Yp。本文通過2種方式獲取當前興趣編碼:若消費者當天曾購買服裝,則此服裝對應的編碼為當前興趣編碼;若消費者當天未購買服裝,則通過時間間隔倒數加權法[15]計算當前的興趣編碼,計算公式為
式中:Yp為當前興趣的p維編碼;p為編碼向量的當前維度;l為服裝件數;Xp,h為第h件服裝的p維編碼。
時間間隔倒數加權法是根據1組已知數據計算未知數據的插值方法。Xp,h代表了1組已知數據,即有時間記錄服裝的p維編碼,Yp則是未知待求數據。上式中分子為已知服裝編碼除以時間間隔,用以計算服裝單位編碼,將所有服裝的單位編碼求和計算總體服裝單位編碼。總體服裝單位編碼包含了消費者有時間記錄服裝的編碼特征,用以表征消費者對服裝結構、風格和面料的興趣。分母為已知服裝的時間間隔的倒數,是為了將總體服裝單位編碼去單位化,即當前興趣的p維編碼Yp。
5)計算消費者當前興趣編碼與歷史消費編碼的歐氏距離。由于消費者對服裝的興趣具有一定主觀性,可能會隨著時間衰減,也可能會不變或升高,因此,在計算消費者對服裝的喜好時,不能僅根據時間計算,還應該考慮當前服裝編碼與消費者歷史興趣編碼之間的關系(歐式距離D),其計算公式為
式中:Dh為第h件服裝與當前興趣編碼間的歐氏距離;Q為維度上限。Dh表示2個編碼向量間的多維空間距離,編碼間距離越近,2個編碼對應服裝的相似度越高,則該服裝的評分也應越高。
6)構建基于Dh與mh的模擬評分修正模型。為提高推薦系統的準確性,通過參數Dh對初始模擬評分進行修正。為保持計算的一致性,模型以選擇e(1-Dh/Dmax)b為修正系數;b為調整系數,取值范圍為0.1~1.0。當Dh越小時,消費者對當前服裝的興趣越高,模擬評分越高。當Dh=Dmax,e(1-Dh/Dmax)b=1時,表示不需要修正模擬評分mh,因此Mh=mh。而當Dh Mh=e(1-Dh/Dmax)bmh 式中:Mh表示修正后的模擬評分;Dmax表示服裝與消費者當前興趣間歐氏距離的最大值。為保證更加接近真實值,分別計算了b取不同值時,修正后模擬評分與實際評分的均方誤差如圖4所示。結果表明,b=0.3時,均方誤差最小,因此,模型表示為 圖4 b值對應的均方誤差Fig.4 Mean square error for b Mh=e0.3(1-Dh/Dmax)mh 7)評分歸一化和模糊化處理。為統一評分標準,將所有模擬評分歸一化處理,計算公式為 式中:R為修正后的模擬評分;Rmax為修正后的最大模擬評分;Rnorm為歸一化服裝模擬評分。 為使模擬評分過程更接近真實情況,對時間與模擬評分進行了模糊化處理,并使用卷積神經網絡進行訓練,完成服裝推薦。根據人的記憶特點將時間間隔分為5類(見表2)。通過將真實評分除以10,并利用四舍五入法取整進行評分模糊化處理。經過模糊化處理后,評分范圍是0~10的整數。由于神經網絡的輸出在0~1之間,所以將已得到的評分除以10后進行訓練。 表2 時間模糊化規則Tab.2 Time fuzzification rule 神經網絡訓練過程是模擬人腦按照已得到的評分規則,對消費者的相關服裝進行自動評分的過程,通過模糊處理的方式,使模擬評分更接近真實人腦的狀態。將已經得到的143件服裝的服裝編碼、時間間隔編碼及模糊處理后的模擬評分作為訓練的初始數據,經卷積層、池化層和全連接層處理,并通過loss層的反饋調節權重對模擬評分進一步修正。神經網絡訓練過程如圖5所示[17]。 圖5 文本卷積神經網絡Fig.5 Text convolution neural network 為驗證模擬評分算法的準確性,本文根據20位消費者的消費特點,通過網絡平臺為每位消費者隨機選擇25件襯衫和T恤,然后分別通過模擬評分以及測評者評價的方式對500件服裝進行評分。參照李克特五級評分法[18],消費者按照五分制規則進行評分。定義為:1分為非常不滿意,2分為不滿意,3分為勉強滿意,4分為滿意,5分為非常滿意。將模擬評分乘以100后,根據表3的轉換規則,將模擬評分轉化為五分制。 表3 評分轉換規則Tab.3 Scoring conversion rules 為評價模擬評分的準確性,本文采用平均絕對值誤差(MAE)作為評價指標[19]。指標MAE表示模擬評分和真實值評分之間絕對誤差的平均值,計算公式如下: 式中:GAB表示通過模擬計算的消費者A對服裝B的評分;G′AB表示消費者A對服裝B的真實評分;N表示服裝的總件數;U代表消費者測試集;I代表服裝測試集。平均絕對值誤差值越小,說明模擬評分與消費者評分誤差越小,算法越準確。20位消費者對每件商品評分的平均絕對值誤差值如圖6所示。通過計算發現,20位消費者的平均絕對值誤差值為0.808,其中70%消費者的平均絕對值誤差小于0.8。 圖6 消費者平均絕對值誤差Fig.6 Mean absolute error value of users 奇異值分解算法(SVD)及SVD++算法被廣泛應用于推薦系統與自然語言處理等領域,為提高預測準確性,尹定乾等[9]提出了基于SVD++的改進算法,并對服裝推薦系統進行研究。該研究以2015年阿里巴巴移動推薦算法大賽的數據作為樣本,分別利用SVD、SVD++和改進SVD++算法進行評分。通過比較三者評分的平均絕對值誤差發現,改進SVD++算法最準確。通過與改進SVD++算法(0.832) 進行比較發現,本文模擬的平均絕對值誤差降低了0.024,結果更準確。其中70%消費者的平均絕對值誤差小于0.8,準確性有提升。 為進一步分析改進評分算法的效果,本文對評分平均絕對值誤差大于1的消費者(占25%)進行分析。在本文調查中,消費者2、消費者4、消費者10、消費者13和消費者19的評分平均絕對值誤差大于1,即平均每件商品的評分誤差在1分以上。通過分析消費者4的訓練集發現,該消費者的早期購物較多,缺少近期數據,難以捕捉消費者近期喜好,導致訓練集中的數據評分普遍偏低,從而影響了評分。而消費者19在實驗前后身份發生了變化,由大學生身份轉變為上班族,其對服裝的喜好由活潑風格變為沉穩風格,而這一變化無法被模擬評分算法捕捉,導致了較大誤差。若不計以上影響,消費者的評分平均絕對值誤差為0.632,相對于0.832大幅度降低,說明模擬評分算法的準確性有很大提高。 由消費者評分規則及模擬評分轉換規則可知,3分為消費者對服裝偏好程度的臨界點。評分大于3表示消費者在不同程度上喜歡被評測服裝;評分小于3表示消費者在不同程度上不喜歡該服裝。若某件服裝模擬評分大于3,則系統將該服裝推薦給消費者,否則不推薦。 為評價推薦結果的準確性,對消費者進行回訪,分析消費者偏好是否與推薦一致。如果消費者偏好與推薦一致,則視為推薦準確,否則視為推薦錯誤。通過比較發現,55%消費者的推薦準確率為100%,35%消費者的推薦準確率為96%,5%消費者的推薦準確率為64%,5%消費者的推薦準確率為60%。導致推薦準確性較低的原因是消費者缺少一定時期的購買數據,或由于數據采樣和回訪期間身份轉變導致的喜好變化。由以上分析可知,基于模擬評分的服裝推薦系統對90%消費者的推薦準確率為96%及以上,僅有10%消費者的推薦準確率為60%~64%。 本文利用服裝編碼、時間間隔和歐氏距離等參數,建立了服裝興趣衰減函數,提出了模擬評分算法,并通過卷積神經網絡建立了服裝推薦系統。該算法結合了第1類和第2類傳統推薦算法的優勢,降低了推薦系統對歷史消費數據的依賴。推薦系統通過興趣編碼間的歐式距離對模擬評分進行修正,降低了模擬評分與真實評分間的誤差,從而提高了推薦的準確性。 在缺乏消費者一定時期內的服裝消費數據及由外界引起消費喜好發生突然改變的情況下,基于模擬評分的服裝推薦系統準確性會受到較大影響,因此,本文后期將針對這一問題,進一步優化算法,減少推薦系統對歷史服裝消費數據的依賴。

1.4 神經網絡訓練

2 模擬評分算法準確度評估


3 服裝推薦與評測
4 結 論