趙子花,任若彤,劉爽,陳娜,王順曄
(廊坊師范學(xué)院,河北廊坊065000)
隨著互聯(lián)網(wǎng)+技術(shù)應(yīng)用于各行各業(yè),線上服裝行業(yè)發(fā)展迅猛。在服裝領(lǐng)域,穿衣搭配助手APP更能滿足用戶的需求,將成為用戶最實用的搭配應(yīng)用軟件。目前服裝穿搭A(yù)PP開發(fā)市場競爭并不激烈,國內(nèi)服裝穿搭A(yù)PP還不夠豐富,產(chǎn)生的影響較小,穿搭A(yù)PP的市場前景非常可觀。最重要的是,對于青年人,他們對時尚穿搭很渴望,但是很多用戶缺乏穿搭技巧,實現(xiàn)時尚穿搭很困難,導(dǎo)致用戶對穿搭A(yù)PP的關(guān)注度和使用度日益提高。
服裝推薦主要包含側(cè)重個人服務(wù)的線下服裝推薦、側(cè)重單向資訊推廣的在線服裝推薦和側(cè)重個性偏好的在線服裝推薦[1]。目前市面上已有的明顯衣櫥、美麗衣櫥、穿衣助手APP等都能為用戶介紹當下最流行最潮流的穿衣搭配方式,使用戶獲得更多穿衣搭配技巧,提高用戶審美能力。
智慧穿衣APP使用了二級服裝搭配,分別是基于用戶的協(xié)同過濾推薦并融合氣象數(shù)據(jù)的服裝搭配推薦。用戶將自己的已有服裝信息錄入,建立數(shù)據(jù)庫1。第一級是基于用戶協(xié)同過濾的推薦,并建立推薦服裝信息庫2。但是考慮到推薦的服裝可能并不適應(yīng)當前天氣,進而融合氣象數(shù)據(jù)建立實時服裝搭配推薦。根據(jù)天氣狀況對一級推薦的服裝數(shù)據(jù)庫2進行篩選,建立服裝數(shù)據(jù)庫3。考慮到推薦的衣服用戶不一定都有,計算已有的衣服數(shù)據(jù)庫1和推薦的衣服數(shù)據(jù)庫3的交集,便是符合今日天氣的服裝智慧穿搭,相對補集是用戶缺少的服裝,此時導(dǎo)入購物鏈接,如圖1所示。
服裝數(shù)據(jù)庫的構(gòu)成分為兩部分,分別是服裝款式和服裝面料。服裝款式又可分為上衣、下衣和裙裝,分別用S、X和Q表示,如圖2所示。在上衣S中,00為短衫的編號,01為T恤的編號,其他服裝編號以此類推。服裝面料表設(shè)計如圖3所示,00表示純棉,01表示滌綸,以此類推。由于這種構(gòu)成方式,數(shù)據(jù)庫中服裝的表示也分為兩部分。表示需要5位,其中服裝款式占3位,服裝面料占2位。例如,Q0100表示純棉材質(zhì)的連衣裙。用戶需要在智慧穿衣中輸入用戶所擁有的全部衣服及其材質(zhì),構(gòu)建數(shù)據(jù)庫1。

圖1 智慧穿衣APP系統(tǒng)設(shè)計思路

圖2 服裝款式數(shù)據(jù)表設(shè)計

圖3 服裝面料數(shù)據(jù)表設(shè)計
推薦系統(tǒng)是一種個性化的信息服務(wù),能夠很好地充當用戶和信息資源之間的橋梁。推薦系統(tǒng)通過建立模型,對用戶的需求進行描述,再通過某種推薦策略將特定的信息資源主動推薦給目標用戶。由于推薦系統(tǒng)具有個性化和智能化等特點,已經(jīng)成為各類應(yīng)用平臺的核心子系統(tǒng)。基于協(xié)同過濾的推薦系統(tǒng)是應(yīng)用最為廣泛、研究最為深入的一類推薦系統(tǒng),這類推薦系統(tǒng)算法的關(guān)鍵是尋找用戶或者項目的鄰居,鄰居尋找的準確性決定了最后推薦結(jié)果的質(zhì)量,而鄰居的尋找依賴于用戶或者項目相似度的計算,因此設(shè)計一個適合的相似度計算方法是推薦算法成功的關(guān)鍵問題[2]。
基于用戶的協(xié)同過濾是通過用戶的歷史行為數(shù)據(jù)(用戶瀏覽、收藏、分享、評論)判斷用戶更傾向于某類穿搭,從而進行推薦。根據(jù)不同用戶對各類服裝推薦的喜愛程度計算用戶之間的關(guān)系,在具有相同喜好的用戶之間推薦搭配類型。
如圖4所示,用戶1喜歡搭配類型ABCD,用戶2喜歡搭配類型B,用戶3喜歡搭配類型BCD,那么由此判斷,用戶1和用戶3屬于擁有同種喜好的人,根據(jù)他們的喜好,可以將A類搭配推薦給用戶3。
基于用戶的協(xié)同過濾算法是從用戶的角度出發(fā),參考和目標用戶興趣相似的用戶對該項目的評分計算出該用戶對未評分項目的評分[2],算法如下:

式中,S(u,K)是和用戶u興趣最相似的K個用戶的集合,其中K需要根據(jù)數(shù)據(jù)集情況自己定義;N(i)是對項目i評過分的用戶集合;rui是用戶v對項目i的評分;-rv是用戶v的所有項目評分均值;Wuv代表用戶和之間的相似度[4]。

圖4 基于用戶相似度的協(xié)同過濾推薦
用戶相似度是計算用戶間相似程度的計算量,根據(jù)不同的應(yīng)用場景,可以采用不同的計算方法,常用的有距離計算方法(歐式距離、曼哈頓距離、閔可夫斯基距離、切比雪夫距離)、余弦相似度、皮爾遜相關(guān)系數(shù)等,本文采用皮爾遜相關(guān)系數(shù)計算公式作為用戶相似度計算的方法。皮爾遜相關(guān)系數(shù)進行計算公式(2)[4],各參數(shù)如式(1)所示。

用戶的喜好通過對不同服裝搭配打分體現(xiàn),可以采用5分制,也可采用10分制,不同分制之間可以做歸一化處理后統(tǒng)一,如表1所示。隨機抽取7人對6類搭配進行評價后為用戶7推薦穿搭。

表1 不同用戶對不同服裝搭配的打分情況
計算用戶的相似度,可根據(jù)數(shù)據(jù)庫中用戶的數(shù)量確定最相似用戶數(shù)量,如TOP10等,此例選擇相似度最高的兩個用戶,所以與用戶7相似度最高的用戶為用戶1和用戶5。通過協(xié)同過濾推薦算法得到用戶7最可能喜歡穿搭為搭配3、搭配6和搭配1,并將這3個穿搭推薦給用戶7。運用協(xié)同過濾可以推薦出適合任一用戶的搭配類型,并將其推薦的搭配根據(jù)服裝款式和服裝材質(zhì)構(gòu)加入到數(shù)據(jù)庫2。
#計算兩個用戶的皮爾遜相關(guān)系數(shù)

搭的評分

#給用戶推薦穿搭

運行結(jié)果見圖5。

圖5 基于皮爾遜相關(guān)系數(shù)相似度的推薦結(jié)果
通過python語言中requests和BeautifulSoup4庫抓取“中國天氣網(wǎng)”網(wǎng)頁的數(shù)據(jù)集。向網(wǎng)站發(fā)送抓取請求,獲得用戶所輸入的所在地天氣信息。

抓取結(jié)果如圖6所示。

圖6 抓取近一周的氣象數(shù)據(jù)
氣象數(shù)據(jù)直接影響穿衣搭配,服裝通過著裝厚度體現(xiàn)與天氣的關(guān)系。影響著裝厚度的因素主要有溫度和風力等。根據(jù)文獻[5]給出如下公式:

其中,Y為室外環(huán)境所需著裝厚度(mm);v為環(huán)境風力預(yù)報值(級);x為環(huán)境溫度預(yù)報值(攝氏度);0.61表示環(huán)境溫度變化時每攝氏度所需增加的服裝厚度(mm°C-1);25.8為穿著溫度為裸體溫度的數(shù)值。根據(jù)上面提到的爬蟲天氣可以獲取風力預(yù)報值和環(huán)境溫度預(yù)報值。通過公式(3)(4)就可以得出當日的著裝厚度。
著裝厚度與服裝面料和服裝款式也有著密切關(guān)系。根據(jù)文獻[6],列出了服裝厚度和服裝面料的關(guān)系,如表2所示,而在春秋季、夏季和冬季的著裝款式各有千秋。根據(jù)Fourt和Fanger研究以及上海琪名實業(yè)有限公司的資料,列出了服裝厚度和服裝款式的對照表,如表3所示[5]。
計算得到著裝厚度之后,根據(jù)表2、表3的對照圖,使用判斷語句就可計算符合條件的款式和面料。在基于用戶的協(xié)同過濾后建立數(shù)據(jù)庫2,根據(jù)款式和面料篩選出符合條件的穿搭后建立數(shù)據(jù)庫3。對用戶已有的衣服數(shù)據(jù)庫1和推薦穿搭的數(shù)據(jù)庫3求得交集(數(shù)據(jù)庫1∩數(shù)據(jù)庫3)便是適合當日天氣的穿搭。數(shù)據(jù)庫1關(guān)于數(shù)據(jù)庫3的相對補集(數(shù)據(jù)庫3-數(shù)據(jù)庫1)便是推薦搭配里用戶所缺少的衣服。關(guān)聯(lián)到購物平臺,作為用戶初始數(shù)據(jù),再根據(jù)推薦算法等挑選用戶急需購買的衣服。

表2 服裝厚度與服裝面料種類對照表

表3 服裝厚度與服裝款式對照表
手機個性化推薦系統(tǒng)目前在很多領(lǐng)域都有比較成熟的應(yīng)用,但服裝搭配類產(chǎn)品的智能推薦仍處于初級階段,存在很大的研究空間。本文所設(shè)計的智慧穿搭A(yù)PP首先搭建各類數(shù)據(jù)庫,基于用戶的協(xié)同過濾推薦算法挖掘相似用戶的穿搭愛好進行推薦;其次通過網(wǎng)絡(luò)爬蟲爬取氣象數(shù)據(jù)進行二次篩選推薦,結(jié)合當日天氣狀況使推薦效果得到進一步改善;最后進行購物鏈接引導(dǎo),完成一條龍的優(yōu)質(zhì)私人專享服務(wù),充分滿足了智慧穿搭的個性化需求。