劉振娟,谷 林,郭佳玥,韓豪杰
(西安工程大學(xué) 計算機(jī)科學(xué)學(xué)院,陜西 西安 710048)
近年來,隨著電子商務(wù)的快速發(fā)展,服裝線上銷售越來越流行。但是,用戶購買服裝時,在眾多的服裝銷售頁面中挑選到適合自己的服裝非常費(fèi)時費(fèi)力。一方面是因?yàn)榉b推送信息雜亂,另一方面是因?yàn)橛脩羧狈I(yè)的服裝搭配知識和把握流行趨勢的能力,缺少專業(yè)指導(dǎo),所以選擇具有一定的盲目性。
目前,推薦系統(tǒng)已經(jīng)廣泛應(yīng)用于電影、圖書、音樂、新聞、服裝等商業(yè)領(lǐng)域[1],可以幫助用戶快速找到感興趣的相關(guān)信息[2]。迄今為止,實(shí)際商業(yè)網(wǎng)站運(yùn)行的推薦系統(tǒng)中主要包括基于內(nèi)容過濾、協(xié)同過濾及混合推薦等3種算法[3]。協(xié)同過濾[4]是目前應(yīng)用最廣泛和成功的推薦技術(shù),核心思想是找到具有相同興趣的用戶,然后把用戶感興趣的相似內(nèi)容推薦給目標(biāo)用戶。在服裝推薦領(lǐng)域,Zhao等[5]設(shè)計了一個基于用戶信息的服裝推薦系統(tǒng),該系統(tǒng)只考慮季節(jié)類別。LIU等[6]開發(fā)了一個名為“magic clost”面向場合的服裝搭配系統(tǒng),根據(jù)用戶指定的出席場合自動推薦出商場里最適合的服裝。此系統(tǒng)從現(xiàn)實(shí)的角度考慮用戶穿著的合適性和審美原則,但并未考慮用戶自身的體貌特點(diǎn)。Liu等[7]提出了一種面向天氣的實(shí)用服裝自動推薦系統(tǒng),根據(jù)天氣信息智能地從用戶的個人相冊中推薦出最適合用戶的服裝,但是只考慮了天氣因素。Kalanti dis[8]提出了一種可擴(kuò)展的自動推薦相關(guān)服裝的產(chǎn)品,主要解決跨領(lǐng)域的服裝檢索問題。Lin等[9]提出改進(jìn)貝葉斯網(wǎng)絡(luò)的個性化服裝推薦系統(tǒng),根據(jù)用戶的個人喜好、歷史購買記錄和歷史建議評價進(jìn)行服裝推薦,提出一種用戶反饋的選擇機(jī)制,但也只考慮了用戶的行為和以往購買、瀏覽記錄,并未考慮到用戶當(dāng)前的實(shí)際需求。
從以往服裝推薦系統(tǒng)的研究可以看出,大多數(shù)的服裝推薦系統(tǒng)都傾向于根據(jù)用戶的購物、瀏覽記錄及外界條件進(jìn)行分析推送。傳統(tǒng)的協(xié)同過濾推薦算法粗略地利用用戶-項(xiàng)目評級矩陣來尋找相似的用戶,注重基于海量歷史數(shù)據(jù)預(yù)測用戶的商品偏好,而忽視了用戶自身的體貌特點(diǎn)和服裝屬性的語義知識,例如膚色和衣服顏色的搭配效果,在實(shí)際應(yīng)用中存在冷啟動和數(shù)據(jù)稀疏的問題[10]。當(dāng)新用戶進(jìn)入系統(tǒng)時,由于系統(tǒng)沒有新用戶的行為數(shù)據(jù),所以推薦的效果并不理想。另外,目前的服裝推薦系統(tǒng)智能化程度較低,如當(dāng)前購物平臺最暢銷的衣服由于膚色、身型等互相不匹配,可能并不是最適合消費(fèi)者的服裝。對用戶的指導(dǎo)性只局限在用戶本身的審美和習(xí)慣中,缺乏專業(yè)化的建議和指導(dǎo)。服裝推薦需要考慮到消費(fèi)者自身的體貌特征信息和出席場合,而不是只盲目根據(jù)歷史信息和用戶偏好來進(jìn)行推薦。
針對目前服裝推薦中存在的問題,本文提出一種基于專家知識的智能服裝推薦方法。專家系統(tǒng)(ES)[11-12]是目前人工智能領(lǐng)域最活躍和最有成效的研究之一,是一種利用專業(yè)知識和推理能力解決特定領(lǐng)域問題的計算機(jī)程序設(shè)計系統(tǒng)[13]。將專家系統(tǒng)技術(shù)應(yīng)用到服裝推薦系統(tǒng),從專業(yè)人士的角度,依據(jù)專家知識規(guī)則實(shí)現(xiàn)服裝銷售的智能推薦是服裝行業(yè)的發(fā)展趨勢。本文所述的服裝推薦系統(tǒng)中存儲了豐富的基于服裝領(lǐng)域?qū)<业姆b搭配專業(yè)知識,結(jié)合用戶的體貌特征信息和服裝語義信息,構(gòu)建服裝知識庫,以產(chǎn)生式表達(dá)方法進(jìn)行知識表達(dá),并采用正向鏈接推理方法進(jìn)行智能推理,生成推薦結(jié)果,幫助用戶在豐富的服裝產(chǎn)品中選擇最適合自己的服裝。
基于專家知識的服裝推薦系統(tǒng)框架如圖1所示,包括人機(jī)界面、知識庫、數(shù)據(jù)庫等。首先,通過人機(jī)交互界面獲取用戶的體貌特征信息,生成用戶個人信息元素(臉型、膚色、肩型、體型等)。設(shè)計服裝知識庫存儲服裝知識并對輸入數(shù)據(jù)進(jìn)行解釋,知識庫是在數(shù)據(jù)庫的基礎(chǔ)上添加了推理機(jī)制,用CLIPS語言編寫用戶體貌特征與服裝屬性信息之間的搭配規(guī)則,與數(shù)據(jù)庫存儲的用戶信息和服裝信息映射。動態(tài)數(shù)據(jù)庫用來存儲系統(tǒng)推理的中間結(jié)果,構(gòu)建完備的服裝推薦知識庫,最后通過人機(jī)界面展示推薦結(jié)果。
知識庫是從知識存儲的角度出發(fā),描述知識存儲和管理的方法[14]。知識庫和傳統(tǒng)數(shù)據(jù)庫的區(qū)別在于它不但包含了大量的簡單事實(shí),而且還包含了規(guī)則和過程性知識。
對500名20~30歲女性做服裝購買影響因素的問卷調(diào)查,回收有效問卷共332份,數(shù)據(jù)顯示:臉型、膚色、肩型、體型和穿著場合對自身穿搭的影響占比最高,所以選取這5種用戶特征構(gòu)建知識庫。服裝推薦系統(tǒng)的知識庫是知識存儲結(jié)構(gòu),用來收集服裝專家經(jīng)驗(yàn),以產(chǎn)生式的規(guī)則形式表達(dá)知識,包括事實(shí)庫和規(guī)則庫。事實(shí)庫包含用戶個人信息(見表1)和服裝屬性信息(見表2)2部分。
表 1 用戶個人信息Tab.1 User′s information
表 2 服裝屬性信息Tab.2 Clothing attribute information
該推薦系統(tǒng)主要研究的是用戶的體貌特征、穿著場合與服裝屬性信息之間的關(guān)系。首先使用決策樹對服裝匹配知識進(jìn)行建模,然后將該樹映射到一組IF-THEN語句中以開發(fā)規(guī)則庫。產(chǎn)生式規(guī)則[15]采用“IF precoditons THEN action”的形式來表示規(guī)則,其中precoditons和action用三元組表示。當(dāng)包含一組待滿足條件的precoditons時,如果結(jié)果為真,則包含要執(zhí)行的動作或者產(chǎn)生新知識[16]。本系統(tǒng)知識庫設(shè)計主要分為user-apperance(體貌特征表),facts(輸入事實(shí)表),rules(規(guī)則表),conclusion(服裝推薦結(jié)論表)和explain(推薦解釋表)等5部分,關(guān)系圖如圖2所示。
推理機(jī)制[17]是推薦系統(tǒng)的核心,其作用是模擬領(lǐng)域?qū)<业乃季S過程,完成對領(lǐng)域知識的求解。采用正向鏈接規(guī)則匹配算法[18-19]實(shí)現(xiàn)推理,并考慮所有的事實(shí)和規(guī)則,從而得出結(jié)論。其次是深度優(yōu)先搜索引擎[20]的方法,從根節(jié)點(diǎn)的深度向下按順序搜索。
依據(jù)正向鏈接規(guī)則匹配算法和深度優(yōu)先搜索引擎方法,構(gòu)建用戶體貌特征、穿著場合和服裝屬性的關(guān)系決策樹。對獲取的用戶體貌信息與服裝屬性進(jìn)行匹配,得到推薦列表,服裝推薦決策樹如圖3所示。
從匹配關(guān)系決策樹可以看出,用戶的體貌特征、穿著場合等信息都可以與服裝屬性進(jìn)行匹配,從而在服裝數(shù)據(jù)庫中篩選出符合條件的服裝推薦列表。過程如下:
1) 采集用戶特征:膚色、臉型、肩型、體型和穿著場合;
2)從服裝數(shù)據(jù)庫中得到分別滿足以上用戶特征的服裝數(shù)據(jù)量,分別記為S1、S2、S3、S4、S5,以滿足用戶條件數(shù)目最少的服裝屬性作為根節(jié)點(diǎn),進(jìn)行深度搜索,確定優(yōu)先級順序。假設(shè)S1 3) 按照2)的順序依次搜索出符合用戶條件的服裝顏色、領(lǐng)型、款式和風(fēng)格,確定目標(biāo)服裝并推送給用戶。 采用CLIPS6.3(C語言集成產(chǎn)生式系統(tǒng))[21]作為專家系統(tǒng)工具,利用在線爬蟲技術(shù)隨機(jī)選取500條某知名服裝網(wǎng)站的服裝作為實(shí)驗(yàn)數(shù)據(jù),包括服裝名稱、類型、領(lǐng)型、顏色、款式、價格、風(fēng)格等,并對其進(jìn)行處理。 首先利用主動形狀模型(active shape model,ASM)提取用戶面部的30個特征點(diǎn),使用K近鄰算法實(shí)現(xiàn)用戶臉型的自動分類;然后提取具有代表性的面部區(qū)域,構(gòu)造膚色類別索引,將膚色區(qū)域塊圖像的RGB值轉(zhuǎn)換到Y(jié)CbCr顏色空間中,建立膚色模型,實(shí)現(xiàn)用戶膚色的自動分類;系統(tǒng)根據(jù)用戶提交的信息進(jìn)行服裝知識匹配,得到推薦結(jié)果。 為了驗(yàn)證本文基于專家知識服裝推薦方法的有效性,將推薦結(jié)果和傳統(tǒng)的協(xié)同過濾算法進(jìn)行比較,使用準(zhǔn)確率和召回率為評價指標(biāo)來衡量服裝推薦效果。 召回率是指系統(tǒng)推薦的商品集合與用戶實(shí)際歷史商品消費(fèi)偏好的比例。召回率越大,推薦系統(tǒng)越準(zhǔn)確。準(zhǔn)確率是指用戶在推薦集中選擇的項(xiàng)目占整個推薦集的比例,準(zhǔn)確率越高,推薦系統(tǒng)越好。在推薦系統(tǒng)過程中,設(shè)T(u)為訓(xùn)練集中目標(biāo)用戶生成的服裝推薦集,C(u)為目標(biāo)用戶在測試集中實(shí)際選擇的服裝項(xiàng)目。由式(1)、(2)計算實(shí)驗(yàn)中2種方法的準(zhǔn)確率(P)和召回率(R)。 (1) (2) 本文隨機(jī)抽取不同的服裝數(shù)據(jù)進(jìn)行6次實(shí)驗(yàn),分別比較基于專家知識的推薦方法和基于協(xié)同過濾推薦方法的準(zhǔn)確率和召回率,如圖4所示。 從圖4可以看出,基于專家知識的服裝推薦方法在精確率和召回率方面都優(yōu)于傳統(tǒng)的協(xié)同過濾推薦方法,具有更好地服裝推薦效果。為了更好地驗(yàn)證本文方法的實(shí)用性,從實(shí)驗(yàn)數(shù)據(jù)中隨機(jī)選取200條數(shù)據(jù),對3個不同體貌特征的用戶進(jìn)行服裝推薦,比較本文搜索方法與傳統(tǒng)搜索方法的實(shí)用性,如表3所示。 從表3可以看出本系統(tǒng)的推薦方法能在一定程度上提高搜索效率。以用戶編號為3的特征組為例進(jìn)行運(yùn)算,其用戶特征為膚色粉嫩、圓臉、窄肩、蘋果型體型、居家場合;適合的服裝顏色為白色、黑色、粉色、藍(lán)色、棕色、綠色、灰色、酒紅、橙色等顏色;適合的服裝領(lǐng)型為V領(lǐng)、高領(lǐng)、立領(lǐng)、翻折領(lǐng);適合的服裝風(fēng)格是韓版、清新、英倫、甜美、淑女、性感、休閑等;適合的款式是修身。得到的服裝推薦列表如圖5所示,可以看出,推薦結(jié)果與搭配規(guī)則一致,符合大眾的審美效果。 表 3 搜索時間對比Tab.3 Search time comparison 本文提出一種基于專家知識的智能服裝推薦方法,通過建立規(guī)則庫,根據(jù)用戶的體貌特征和穿著場合,利用正向規(guī)則推理機(jī)制建立決策樹,并從服裝專家角度為用戶提供專業(yè)化的著裝建議。結(jié)果顯示,本文方法推薦效率高,推薦的服裝符合大眾的審美,提高了用戶的滿意度。但是本系統(tǒng)只能給用戶推薦合適的上裝,并不能推薦出搭配的套裝,所以如何進(jìn)行上下裝的搭配是進(jìn)一步深入研究的課題。3 實(shí) 驗(yàn)
4 結(jié) 語