潘王蕾,何 瑛*,2
(1.浙江理工大學(xué) 服裝學(xué)院,浙江 杭州 310018; 2.浙江理工大學(xué) 絲綢文化傳承與產(chǎn)品設(shè)計數(shù)字化技術(shù)文化和旅游部重點(diǎn)實(shí)驗室,浙江 杭州 310018)
隨著生活水平的不斷提高,人們的消費(fèi)需求逐步個性化。同時,服裝的品類和產(chǎn)量不斷增加,消費(fèi)者網(wǎng)購時需要花費(fèi)大量的精力與時間才能找到心儀的商品,因此服裝個性化推薦至關(guān)重要。服裝個性化系統(tǒng)可以根據(jù)用戶的需求和偏好推薦服裝,減少消費(fèi)者檢索時間,提高購物效率,增加其對所推薦服裝的購買意愿。
服裝個性化推薦模型主要由服裝信息獲取和服裝推薦算法組成。服裝信息獲取主要采用視覺圖像識別的方法識別服裝屬性特征,或通過數(shù)據(jù)爬取、信息挖掘等方式構(gòu)建推薦模型[1-2]。服裝推薦算法主要用于服裝屬性特征的評價權(quán)重分析以及服裝屬性信息的聚類研究。例如,胡覺亮等[3]、單毓馥等[4]根據(jù)用戶權(quán)重給服裝打分,并推薦評分最高的服裝給顧客。也有學(xué)者通過對用戶偏好進(jìn)行聚類產(chǎn)生用戶集合,結(jié)合服裝基礎(chǔ)特征語義推薦合適的服裝,以提高推薦準(zhǔn)確率[5-6]。但上述大部分研究忽略了服裝在購物環(huán)境中呈現(xiàn)的外在屬性,如服裝品牌、服裝銷售渠道以及在線評論等,這些也是影響用戶購買意愿的因素之一。蔡麗玲等[7]提出,線上評論內(nèi)容對消費(fèi)者購買意愿有顯著影響。因此,可以通過在服裝推薦系統(tǒng)中添加輔助信息來補(bǔ)全服裝屬性,而知識圖譜通常包含商品屬性以及各項目之間的關(guān)系,通過知識圖譜中豐富的商品語義,可以深入挖掘用戶的潛在興趣。
知識圖譜是2012年由Google正式提出的,用來描述真實(shí)世界中存在的各種實(shí)體或概念以及它們之間的關(guān)系。知識圖譜通常采用三元組
文中提出了知識圖譜在服裝個性化推薦領(lǐng)域的應(yīng)用方法,結(jié)合專家意見、文獻(xiàn)資料以及平臺調(diào)研數(shù)據(jù),把在線評論情感分析加入服裝屬性中,從電商平臺獲取服裝數(shù)據(jù),構(gòu)建服裝領(lǐng)域知識圖譜,全方位描述服裝、用戶信息,構(gòu)建兩者間的關(guān)系,為服裝個性化推薦提供新思路,從而提高消費(fèi)者購買意愿。
在大數(shù)據(jù)時代,知識圖譜是一種重要的知識表達(dá)形式,它通過符號對現(xiàn)實(shí)世界進(jìn)行抽象表達(dá)。知識圖譜主要采用自頂向下和自底向上兩種構(gòu)建模式[13],其中自頂向下模式是在定義實(shí)體屬性及其相互關(guān)系后,進(jìn)行知識圖譜數(shù)據(jù)的抽取和構(gòu)建;自底向上模式是指從底層對實(shí)體或事件進(jìn)行歸納后,向上逐步建立實(shí)體關(guān)系,從而得到知識圖譜。將兩種方式結(jié)合構(gòu)建知識圖譜,可以使多源數(shù)據(jù)根據(jù)概念層知識體系進(jìn)行精準(zhǔn)抽取與存儲。
文中采用自底向上及自頂向下混合模式進(jìn)行服裝領(lǐng)域知識圖譜構(gòu)建,具體流程如圖1所示。服裝知識圖譜主要由模式層和數(shù)據(jù)層兩部分構(gòu)成,模式層采用自頂向下的方式構(gòu)建,由人工整理出圖譜要素,定義實(shí)體屬性關(guān)系,以提高服裝知識圖譜的構(gòu)建質(zhì)量;數(shù)據(jù)層以模式層為理論基礎(chǔ),通過自底向上的方式構(gòu)建,在底層獲取電商平臺數(shù)據(jù)源信息,根據(jù)模式層服裝羅列的要素和定義的屬性值開展知識抽取、融合和存儲等,從而完成服裝知識圖譜構(gòu)建。
圖1 服裝知識圖譜構(gòu)建流程Fig.1 Construction process of clothing knowledge graph
模式層主要是對服裝知識體系的構(gòu)建,是對實(shí)體的抽象描述,包含各要素及其關(guān)系的集合,并由此形成基礎(chǔ)理論框架。模式層構(gòu)建的主要流程包括知識體系需求分析、要素羅列、屬性值構(gòu)成體系確定。在服裝知識體系構(gòu)建中,主要是對服裝各要素進(jìn)行區(qū)分,明確各屬性名稱。綜合國內(nèi)外研究成果,發(fā)現(xiàn)不同研究領(lǐng)域的學(xué)者對產(chǎn)品屬性的分類有一些差異,在分析產(chǎn)品屬性與消費(fèi)偏好的關(guān)系時,產(chǎn)品屬性通常被劃分為內(nèi)在屬性、外在屬性、基礎(chǔ)屬性、表現(xiàn)屬性和價格屬性等[14-15]。文中將服裝屬性分為基礎(chǔ)屬性、表現(xiàn)屬性和外在屬性。把服裝基礎(chǔ)屬性與用戶屬性結(jié)合,可以劃分年齡、性別等要素,便于確定推薦服裝的范圍。服裝由款式、色彩、面料3個要素組成[16],根據(jù)文獻(xiàn)和專家訪談可再細(xì)分為廓形、風(fēng)格等屬性,作為服裝表現(xiàn)屬性。
當(dāng)用戶購買服裝時,除了考慮其穿著偏好外,還會瀏覽商家信息和商品評論等內(nèi)容,最終做出購買決定,在此過程中會產(chǎn)生服裝、商家及用戶之間的交互數(shù)據(jù),得到服裝外在屬性,補(bǔ)全服裝知識體系,加深服裝和用戶的聯(lián)系。外在屬性包含店鋪物流、服務(wù)、評論得分等,其中商品評論由大量的文本組成,包含用戶對商品的情感態(tài)度和商品特征,文中提出評論情感得分屬性,對評論采用中文分詞方法得到高頻詞后確定特征集X={x1,x2,x3,…,xn}。運(yùn)用層次分析法將特征成對比較,生成判斷矩陣
其中,aij表示特征xi相對于xj對評論情感得分的重要程度。
運(yùn)用和積法得到特征權(quán)重α={α1,α2,α3,…αn},特征值的情感得分根據(jù)情感詞庫情感值進(jìn)行打分,得到集合β={β1,β2,β3,…,βn}。由此可得到評論情感得分為
F=α·β┰。
(1)
式中:F為評論情感得分;α為特征權(quán)重;β為特征值的情感得分。
根據(jù)上述理論體系可得到服裝屬性。根據(jù)服裝領(lǐng)域?qū)傩悦Q的語義關(guān)聯(lián),結(jié)合文獻(xiàn)[3,6,14]以及淘寶電商平臺與專家訪談的屬性值描述,明確各項服裝屬性的屬性值并得到三元組<服裝,屬性,屬性值>,完成服裝知識體系構(gòu)建,具體如圖2所示。
圖2 服裝知識體系模型Fig.2 Mode of clothing knowledge system
服裝知識圖譜的數(shù)據(jù)層是在模式層框架下描述所得,是實(shí)體和屬性的關(guān)系集合。通過數(shù)據(jù)的獲取、實(shí)體關(guān)系的抽取、知識的融合和存儲可構(gòu)建數(shù)據(jù)層知識圖譜。
1.2.1服裝知識圖譜獲取 對于網(wǎng)頁數(shù)據(jù)的獲取,可通過設(shè)置檢索關(guān)鍵詞得到相關(guān)網(wǎng)頁,再利用網(wǎng)頁爬蟲技術(shù)獲取數(shù)據(jù)[9]。依據(jù)電商平臺檢索習(xí)慣,將服裝檢索關(guān)鍵詞分為服裝類別和性別。服裝分類的方法較多,文中通過文獻(xiàn)[3,17-18]確定服裝類別。服裝檢索關(guān)鍵詞見表1。
表1 服裝檢索關(guān)鍵詞
文中運(yùn)用八爪魚網(wǎng)絡(luò)爬蟲軟件獲取服裝知識,選擇其在淘寶平臺的商品列表、詳情頁和在線評論采集模塊進(jìn)行操作,具體流程為:①點(diǎn)擊商品列表采集模塊,輸入確定的服裝類別關(guān)鍵詞,如“毛衣男”,通過統(tǒng)一資源定位系統(tǒng)(uniform resource locator,URL)轉(zhuǎn)至相應(yīng)淘寶網(wǎng)頁,從頁面的服裝商品列表中自動爬取商品ID信息;②清洗初步數(shù)據(jù),對爬取的商品ID進(jìn)行分析判斷,將相同的服裝去重;③點(diǎn)擊商品詳情頁采集模塊,導(dǎo)入清洗后的服裝ID,通過服裝鏈接得到詳情頁信息,進(jìn)一步爬取服裝產(chǎn)品參數(shù)、商家信息;④點(diǎn)擊在線評論采集模塊,輸入服裝ID采集評論,評論時間越近,其有用性感知越高[19],因此文中將評論時間設(shè)置為近3個月。知識獲取流程如圖3所示。
圖3 知識獲取流程 Fig.3 Knowledge acquisition process
1.2.2服裝知識圖譜抽取 知識抽取包含實(shí)體抽取和關(guān)系抽取。抽取的數(shù)據(jù)源分為結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。
由知識抽取部分可知,淘寶平臺服裝詳情頁面中的產(chǎn)品參數(shù)包含屬性及屬性值的匯總表,是對實(shí)體的結(jié)構(gòu)化總結(jié)。相較于其他兩類數(shù)據(jù)源,這類結(jié)構(gòu)化數(shù)據(jù)的置信度高,數(shù)據(jù)質(zhì)量可靠,不易隨時間改變。結(jié)構(gòu)化數(shù)據(jù)可以直接從詳情頁面中提取實(shí)體相關(guān)的屬性及屬性值,簡化知識抽取過程,提高工作效率。根據(jù)模式層中服裝實(shí)體屬性的定義,對網(wǎng)頁中獲取的知識進(jìn)行關(guān)系抽取,剔除網(wǎng)頁中的冗余信息和不相關(guān)信息,如“貨號”等屬性詞。過濾后得到較為有效的語料,構(gòu)成<服裝,屬性,屬性值>三元組數(shù)據(jù)。
評論屬于非結(jié)構(gòu)化數(shù)據(jù),處理非結(jié)構(gòu)性文本一般采用基于規(guī)則的方法、基于機(jī)器學(xué)習(xí)的方法等。關(guān)系抽取的目的是獲得實(shí)體間的語義關(guān)系,該過程在數(shù)據(jù)抽取中屬于難點(diǎn)。文中通過Python語言庫中的Jieba分詞處理文本,在分詞過程中使用停用詞表,以提高文本處理效率及篩選后的高頻詞提取特征值的準(zhǔn)確率。考慮到服裝的特殊性,文中在采用中文停用詞表、哈工大停用詞表和四川大學(xué)機(jī)器智能實(shí)驗室停用詞庫的基礎(chǔ)上,自定義343個服裝停用詞,如“衣服” “穿”“上身”等。
采用漢語分詞得到高頻詞,并對其進(jìn)行分類,得到特征集合X。針對網(wǎng)購消費(fèi)者在線評論的特征,以問卷形式向20位服裝領(lǐng)域資深專家征詢意見,并通過層次分析法得到特征值權(quán)重α。對于特征值對應(yīng)的情感得分,文中使用Python中的SnowNLP語言庫對情感值進(jìn)行打分,分值為0~1。由于已有的服裝情感詞庫語料不夠全面,需要通過人工標(biāo)注對詞匯進(jìn)行擴(kuò)充,如增加“衣服洗了褪色”“容易皺”“會起球”等語料。為驗證補(bǔ)充后詞庫情感打分的準(zhǔn)確性,將文中驗證實(shí)驗得到的積極、中等、消極3種情感比例與商品評論好、中、差評的比例進(jìn)行對比。
驗證實(shí)驗以連衣裙為對象,從淘寶爬取400件不重復(fù)商品的17 003條評論。為提高實(shí)驗準(zhǔn)確性,清除評論數(shù)不足10條的服裝,最終得到379件服裝,共計16 856條評論,并標(biāo)記好、中、差評。將數(shù)據(jù)集以9∶1的比例劃分訓(xùn)練集和驗證集,得到的對比結(jié)果如圖4所示。由圖4(a)可知,積極-中等的情感分界值在0.5~0.7時,準(zhǔn)確率和F值隨著情感分界值的增加呈上升趨勢;情感分界值在0.7~0.9時,準(zhǔn)確率和F值隨著情感分界值的增加呈下降趨勢。由圖4(b)可知,中等-消極的情感分界值在0.1~0.3時,準(zhǔn)確率和F值與情感分界值呈正相關(guān);情感分界值在0.3~0.6時呈負(fù)相關(guān)。因此,當(dāng)情感分界值為0.7和0.3時,服裝評論的準(zhǔn)確率最高,此時F值分別為0.92和0.73,整體召回率數(shù)值較好,因而情感分類效果最優(yōu)。對基于服裝情感詞庫的SnowNLP庫進(jìn)行情感分析,得出積極、中等、消極情感的數(shù)量接近于實(shí)際商品評論好、中、差評的數(shù)量,分析結(jié)果準(zhǔn)確度高,可以用于服裝評論情感打分。
圖4 不同情感界限實(shí)驗結(jié)果對比Fig.4 Experimental comparison results with different emotional boundaries
1.2.3服裝知識圖譜融合 知識融合是通過對同類知識的融合,實(shí)現(xiàn)對已有知識圖譜的補(bǔ)充、更新和去重。文中以模式層中服裝知識體系的屬性值為理論標(biāo)準(zhǔn),對數(shù)據(jù)層中知識抽取得到的不規(guī)范名詞屬性值進(jìn)行融合,從而保證知識圖譜中的數(shù)據(jù)一致性和準(zhǔn)確性。以顏色的屬性值為例,杏色、檸檬黃、姜黃色屬于黃色系,紅色系、黃色系、橙色系屬于暖色系,服裝a的顏色是姜黃色,用三元組可表示為
表2 知識融合前后對比
此類融合方式在服裝個性化推薦過程中可以緩解用戶數(shù)據(jù)的稀疏性。例如,當(dāng)用戶想購買黃色服裝時,則會一同推薦暖色系中的其他顏色,提高推薦結(jié)果的多樣性。
1.2.4服裝知識圖譜存儲 服裝知識圖譜中的知識通過資源描述框架(resource description framework,RDF)表示,在存儲后運(yùn)用?;趫D結(jié)構(gòu)的存儲是知識存儲的主要方式,可以利用有向圖對知識圖譜的數(shù)據(jù)進(jìn)行建模。在圖模型結(jié)構(gòu)中,實(shí)體為節(jié)點(diǎn),屬性為帶標(biāo)簽的邊,數(shù)據(jù)在實(shí)際存儲時需借助存儲系統(tǒng)。常用的存儲數(shù)據(jù)庫有Neo4j,InfoGrid,InfiniteGraph等。文中運(yùn)用Neo4j圖形數(shù)據(jù)庫存儲系統(tǒng)將結(jié)構(gòu)化數(shù)據(jù)存儲在圖中。Neo4j作為基于文件的數(shù)據(jù)庫,在運(yùn)用過程中不需要啟動數(shù)據(jù)庫服務(wù)器,可直接在本地進(jìn)行操作,有利于加快訪問速度。
為驗證知識圖譜在服裝領(lǐng)域的可行性,文中以連衣裙為例,展示服裝知識圖譜的構(gòu)建過程:①在模式層構(gòu)建連衣裙服裝知識體系,在數(shù)據(jù)層中通過淘寶平臺搜索關(guān)鍵詞“連衣裙”后爬取連衣裙數(shù)據(jù);②重新爬取500件連衣裙ID,分別進(jìn)入商品詳情頁和評論進(jìn)行實(shí)體、屬性爬取;③經(jīng)過數(shù)據(jù)清洗,剩余463件連衣裙和20 657條評論,對連衣裙的評論進(jìn)行分詞處理得到高頻詞詞云(見圖5);④選擇質(zhì)量、價格、外觀、物流和服務(wù)5個特征值,通過問卷法和層次分析法確定相應(yīng)權(quán)重(見表3);⑤通過SnowNLP語言庫對情感值打分,根據(jù)式(1)得到評論情感得分屬性值;⑥對詳情頁進(jìn)行知識抽取,得到23個屬性,1 325個實(shí)體,經(jīng)過知識融合后,得到23個屬性,881個實(shí)體; ⑦利用Neo4j圖形數(shù)據(jù)庫存儲系統(tǒng)對數(shù)據(jù)進(jìn)行存儲,形成連衣裙的知識圖譜(見圖6),知識融合所得到的實(shí)體和屬性分別構(gòu)成服裝知識圖譜的節(jié)點(diǎn)和邊。
圖5 連衣裙評論高頻詞詞云Fig.5 High-frequency word cloud of dress comments
表3 連衣裙評論的特征權(quán)重
通過連衣裙的基礎(chǔ)屬性、表現(xiàn)屬性和外在屬性,可以描述服裝之間的關(guān)系。以連衣裙a,b,c為例,假設(shè)用戶甲購買連衣裙a,用戶乙購買連衣裙b,c,則可用以下三元組表示其中的幾條路徑:
<用戶甲,購買,cloth_a>→
<用戶甲,購買,cloth_a>→
<用戶甲,購買,cloth_a>→
從上述路徑可以推理得到,用戶甲可能會購買連衣裙b,c。由此可見,將知識圖譜帶入到服裝推薦中,可以提高推薦結(jié)果的合理性。
圖6 連衣裙知識圖譜Fig.6 Dress knowledge graph
此外,基于知識圖譜的服裝個性化推薦可以利用圖譜中物品的語義關(guān)聯(lián)內(nèi)容作為輔助信息,豐富對用戶和物品的描述,以此提高推薦準(zhǔn)確性;同樣也可以利用知識圖譜中物品的交互數(shù)據(jù)挖掘從用戶到物品的不同路徑[20]。服裝知識圖譜的三元組表達(dá)了實(shí)體與屬性間的語義關(guān)系,通過知識表示學(xué)習(xí)(knowledge representation learning,KRL)模型,將圖譜中的語義關(guān)系映射到向量空間,計算服裝間的相似度。常見的知識表示學(xué)習(xí)模型有距離模型、翻譯模型等,其中翻譯模型運(yùn)用廣泛[21-22],TransE模型是典型代表[23]。將三元組
(2)
相似度為
(3)
根據(jù)式(2)、式(3)計算服裝間的相似度,并通過K-最近鄰(K-nearest neighbor,KNN)算法選擇對象,排序得到評分最高的k件相似類型服裝組成推薦列表進(jìn)行推薦。
個性化服裝推薦可以提高購物效率。文中研究構(gòu)建了一個能夠顯示服裝間關(guān)系的服裝領(lǐng)域知識圖譜,將專家知識和文獻(xiàn)研究引入服裝建模,把服裝屬性分為基礎(chǔ)要素、表現(xiàn)要素和外在要素,并將在線評論的情感分析引入服裝外在屬性,從而構(gòu)建服裝領(lǐng)域知識體系;通過大數(shù)據(jù)爬取服裝數(shù)據(jù)后,依據(jù)知識體系構(gòu)建出知識圖譜。服裝知識圖譜點(diǎn)邊游走路徑和語義相似度可用于服裝推薦,通過考慮用戶和用戶、用戶和服裝以及服裝和服裝之間的關(guān)系,發(fā)現(xiàn)用戶的潛在興趣,得到滿足消費(fèi)者需求和偏好的服裝信息,更好地實(shí)現(xiàn)服裝個性化推薦。未來需要進(jìn)一步研究服裝領(lǐng)域知識圖譜以及基于知識圖譜的新推薦技術(shù),以提供更準(zhǔn)確的個性化建議。