姚靜天, 王永利, 侍秋艷, 董振江
(1.南京理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,南京 210094; 2.上海交通大學(xué) 計(jì)算機(jī)科學(xué)與工程系,上海 200240;3.中興通訊股份有限公司 云計(jì)算及IT研究院,南京 210012)
基于聯(lián)合物品搭配度的推薦算法框架
姚靜天1, 王永利1, 侍秋艷1, 董振江2,3
(1.南京理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,南京 210094; 2.上海交通大學(xué) 計(jì)算機(jī)科學(xué)與工程系,上海 200240;3.中興通訊股份有限公司 云計(jì)算及IT研究院,南京 210012)
針對(duì)現(xiàn)有推薦系統(tǒng)大多基于物品(用戶)相似度進(jìn)行計(jì)算,其推薦結(jié)果無法兼顧推薦對(duì)象的搭配性特征的問題,提出了一種基于聯(lián)合搭配度的推薦算法框架.該算法框架中的聯(lián)合搭配度模型,結(jié)合了用戶交互反饋、物品的文本和結(jié)構(gòu)化知識(shí)3方面的信息,分別計(jì)算目標(biāo)物品與候選物品的搭配程度,然后利用邏輯回歸算法進(jìn)行搭配度融合,可以得到與目標(biāo)物品最相搭配的物品推薦列表.通過在淘寶真實(shí)數(shù)據(jù)集上的實(shí)驗(yàn),該推薦算法框架相比于傳統(tǒng)基于相似性的推薦算法,顯著提高了搭配推薦的性能,同時(shí)在用戶交互記錄較少的情況下也能有較好的精確度.
推薦系統(tǒng); 物品搭配; 協(xié)同過濾; 專家知識(shí); 相似度
隨著互聯(lián)網(wǎng)和電子商務(wù)的發(fā)展,推薦系統(tǒng)已然成為工業(yè)界和學(xué)術(shù)界研究的一個(gè)重要課題.推薦系統(tǒng)通過抓取用戶行為偏好、項(xiàng)目基本信息等,為用戶提供個(gè)性化的推薦,幫助用戶更快更好地找到自己需要的信息,以促進(jìn)購買或點(diǎn)擊行為的發(fā)生.
目前,推薦系統(tǒng)中常用的方法通常分為3類:協(xié)同過濾推薦算法、基于內(nèi)容的推薦算法和基于專家知識(shí)的推薦算法.其中,協(xié)同過濾[1]是目前研究和應(yīng)用最為廣泛的技術(shù),可以通過研究用戶對(duì)項(xiàng)目的評(píng)分,從基于群體用戶的行為分析或興趣偏好相似性的度量的角度,為用戶推薦類似項(xiàng)目,而不需要對(duì)項(xiàng)目本身內(nèi)容進(jìn)行分析或需要專家知識(shí)的輔助.這種方法適用性很廣,可以很方便地描述電影、音樂、圖片等難以進(jìn)行文本描述的對(duì)象,但也存在著諸多問題,比如數(shù)據(jù)稀疏性、冷啟動(dòng)問題等.基于內(nèi)容的推薦算法[2],則是利用用戶過去喜歡的物品,抽取特征,為其推薦特征相似的物品.而基于專家知識(shí)的推薦算法[3]則利用專家的先驗(yàn)知識(shí),構(gòu)建物品之間的關(guān)系,從而為用戶進(jìn)行推薦.后兩種算法可以有效地彌補(bǔ)協(xié)同過濾算法帶來的數(shù)據(jù)稀疏性和冷啟動(dòng)等問題,因此,也有一些推薦系統(tǒng)將這些方法按某些方式組合在一起,以達(dá)到更好的推薦效果.
通常的推薦系統(tǒng),往往是通過用戶對(duì)物品的評(píng)分?jǐn)?shù)據(jù),從物品或用戶興趣相似性的角度,給用戶推薦類似的物品,而鮮有針對(duì)物品互補(bǔ)性搭配的推薦.而比起用戶對(duì)物品的評(píng)分?jǐn)?shù)據(jù),用戶的購買/點(diǎn)擊行為的數(shù)據(jù)則更為豐富.此時(shí),傳統(tǒng)的基于物品相似度的推薦系統(tǒng)已經(jīng)無法滿足用戶的實(shí)際購買需求.而后出現(xiàn)的服裝風(fēng)格推薦系統(tǒng)[4-5],雖然考慮了物品之間的互補(bǔ)性和協(xié)調(diào)性,但卻需要時(shí)裝設(shè)計(jì)師的專家知識(shí),人工形式化關(guān)鍵屬性,建立它們之間的關(guān)系,這需要大量的人工操作,復(fù)雜而低效.
為了解決上述問題,本文提出了一種新的物品搭配度概念,從文本知識(shí)、結(jié)構(gòu)化知識(shí)和用戶交互反饋信息的角度對(duì)物品搭配度建模,然后提出了一個(gè)聯(lián)合物品搭配度算法框架(joint match degree of items,JMDI),可以更準(zhǔn)確地描述物品之間的搭配關(guān)系,為查詢的每個(gè)物品生成一個(gè)相應(yīng)的搭配物品推薦列表.它無須耗時(shí)復(fù)雜的人工標(biāo)記或評(píng)分,而是利用了簡(jiǎn)單易得的物品本身的內(nèi)容信息和用戶的交互行為記錄,再結(jié)合專家給出的物品搭配信息,為物品之間生成了搭配程度的評(píng)分結(jié)果.實(shí)驗(yàn)證明,論文提出的算法顯著提升了推薦結(jié)果的精確度、召回率和排序準(zhǔn)確度,在系統(tǒng)冷啟動(dòng)過程中,也可以表現(xiàn)出較好的結(jié)果.同時(shí),本文提出的模型也被證明在大數(shù)據(jù)集上也有較高的效率.
本文將首次提出一些術(shù)語,然后明確要解決的問題.
1.1 物品搭配度
本文關(guān)注的重點(diǎn)在于物品之間的搭配程度,相搭配的物品之間必定有某些特征相似或互補(bǔ)的關(guān)系,才能使得他們搭配起來和諧統(tǒng)一.而人們的審美各不相同,從單個(gè)用戶的角度量化搭配程度顯然不是一種客觀的評(píng)價(jià)方式.因此,本文試圖根據(jù)大多數(shù)用戶以及專家達(dá)人的角度,對(duì)物品之間的搭配程度進(jìn)行量化定義,即“物品搭配度”:
定義1 物品搭配度D(i,j),表示物品i和物品j之間的搭配程度,搭配度越高,表示兩者搭配起來相協(xié)調(diào)的可能性越高,反之則更不協(xié)調(diào).
為了統(tǒng)一量化標(biāo)準(zhǔn),物品搭配度的值需要進(jìn)行離差標(biāo)準(zhǔn)化,最終取值范圍為[0,1].物品搭配度可以用來產(chǎn)生每個(gè)物品的搭配物品列表,從而推薦給用戶,幫助用戶進(jìn)行物品的挑選.
1.2 用戶交互反饋
本文研究的目的是挖掘物品之間潛在的關(guān)系,而用戶的交互行為可以從側(cè)面反映出物品之間的聯(lián)系.假設(shè)有M個(gè)用戶、N個(gè)物品,行為觀察的時(shí)間段為T,定義用戶行為反饋為一個(gè)三階的張量R∈M×N×T.
(1)
式中,a表示在時(shí)間點(diǎn)η時(shí),用戶k對(duì)物品j產(chǎn)生了交互行為的權(quán)重a(a∈+).例如:在某個(gè)時(shí)刻,用戶點(diǎn)擊瀏覽了某個(gè)物品,或者生成了該物品的訂單,則該交互行為的權(quán)重就為某個(gè)正實(shí)數(shù).需要注意的是,R中值越大的情況并不一定意味著用戶k對(duì)物品j越有興趣,也有可能瀏覽或下單之后發(fā)現(xiàn)自己并不喜歡它;而值為0也并不一定說明用戶k對(duì)物品j不感興趣,有可能只是用戶k還未注意到該物品.
1.3 搭配知識(shí)庫
事實(shí)上,除了上文所提及的用戶行為反饋,與物品直接相關(guān)的各種知識(shí)也可以從另一方面幫助推薦系統(tǒng)挖掘物品之間的聯(lián)系,提高其推薦質(zhì)量.因此,在推薦系統(tǒng)中,每個(gè)物品都可以一一映射到知識(shí)庫中描述該物品的一系列實(shí)體(例如,一件物品通??梢杂成涞接晌锲奉悇e、物品圖片等信息組成的描述該物品的實(shí)體上),而這些實(shí)體,在本文中就稱為“物品實(shí)體”.
具體而言,綜合知識(shí)庫中包含的物品實(shí)體信息根據(jù)其特點(diǎn)一般可分為3種類型.
定義2 文本知識(shí).對(duì)于一個(gè)物品實(shí)體,例如知識(shí)庫中的電影或物品,通常會(huì)用文本概述來表示文本知識(shí),它往往是電影的主題梗概或物品的標(biāo)題.
定義3 結(jié)構(gòu)化知識(shí).這種知識(shí)是一種可以包含多種類型實(shí)體或?qū)嶓w間關(guān)系的網(wǎng)狀結(jié)構(gòu).例如對(duì)于物品推薦來說,實(shí)體通常包括物品本身和物品類別(如服飾)、地點(diǎn)等屬性,以及描述這些實(shí)體間關(guān)系的鏈接(如產(chǎn)地關(guān)系、從屬關(guān)系、搭配關(guān)系等).
定義4 圖像知識(shí).除了上述文本型描述,知識(shí)庫中還可以用圖像來代表一個(gè)實(shí)體.例如,用展示圖代表一個(gè)物品或是用海報(bào)圖代表一部電影.
結(jié)構(gòu)化知識(shí)與上文所述的用戶交互反饋?zhàn)鳛槲锲返慕Y(jié)構(gòu)特征,文本知識(shí)和圖像知識(shí)則是內(nèi)容特征,它們共同構(gòu)建了物品搭配度的模型.考慮到圖像知識(shí)中包含的特征與文本知識(shí)有一定的重合,且其數(shù)據(jù)量遠(yuǎn)遠(yuǎn)大于文本數(shù)據(jù),處理過程復(fù)雜耗時(shí),本文暫時(shí)不考慮圖像知識(shí)的處理.
1.4 問題定義
本文所研究的問題為:給定一個(gè)物品的集合,提供其文本、結(jié)構(gòu)化知識(shí)庫,以及用戶交互反饋信息,挖掘出物品之間的搭配關(guān)系,為每個(gè)待測(cè)物品生成一個(gè)搭配列表用于推薦給用戶.
現(xiàn)介紹如何從物品實(shí)體的文本知識(shí)、結(jié)構(gòu)化知識(shí)和用戶交互反饋信息中提取物品搭配度關(guān)系模型,從而為物品對(duì)生成統(tǒng)一的搭配度指標(biāo).
2.1 算法框架
具體而言,本文提出的基于聯(lián)合物品搭配度的推薦算法框架主要分為2個(gè)階段:基于內(nèi)容/結(jié)構(gòu)特征的物品搭配度建模和協(xié)同模型融合過程,如圖1所示.
其中,物品搭配度的建模包含3個(gè)部分:基于文本知識(shí)(textual knowledge)的物品搭配度模型(JMDI(T))、基于結(jié)構(gòu)化知識(shí)(structural knowledge)的物品搭配度模型(JMDI(S))和基于用戶交互反饋(user interaction feedback)的物品搭配度模型(JMDI(F)).
圖1 基于聯(lián)合物品搭配度的推薦算法框架JMDI的基本流程
物品搭配度建模過程是從物品實(shí)體的文本知識(shí)、結(jié)構(gòu)化知識(shí)以及用戶交互反饋信息出發(fā),對(duì)數(shù)據(jù)進(jìn)行預(yù)處理后,分別構(gòu)建物品搭配度模型.數(shù)據(jù)預(yù)處理階段將分別對(duì)文本知識(shí)、結(jié)構(gòu)化知識(shí)和用戶交互反饋數(shù)據(jù)進(jìn)行預(yù)處理.對(duì)文本知識(shí)首先用分詞算法進(jìn)行分詞并映射到整數(shù)集上,然后計(jì)算每個(gè)詞的tf-idf值,篩選出關(guān)鍵詞的tf-idf向量;對(duì)結(jié)構(gòu)化知識(shí)進(jìn)行降維處理,將物品實(shí)體空間轉(zhuǎn)化為物品間聯(lián)系的空間,從而利用相關(guān)實(shí)體預(yù)測(cè)算法得到預(yù)測(cè)的相搭配商品及其損失函數(shù);對(duì)用戶交互反饋數(shù)據(jù)進(jìn)行處理,生成物品對(duì)偏序關(guān)系矩陣.在此基礎(chǔ)上,本文將分別構(gòu)建出物品搭配度模型.
而搭配度的協(xié)同模型融合過程則是利用上一步的子搭配度模型,通過邏輯回歸方法,學(xué)習(xí)融合參數(shù),構(gòu)建融合后的搭配模型.下面將詳細(xì)介紹這個(gè)過程.
2.2 物品搭配度模型
為了構(gòu)建物品搭配度模型,本文從以下3個(gè)角度分別提取特征表示,構(gòu)建子搭配度模型.
假設(shè)在推薦系統(tǒng)中,有一個(gè)物品集I={i1,i2,…,iN},其中ij表示單個(gè)物品,由物品編號(hào)、類別和代表詞組(由分詞算法在物品文本描述上處理而得)組成的元組(δj,cj,τj)表示,I包含了其他所有數(shù)據(jù)集中出現(xiàn)的所有物品;一個(gè)用戶交互行為集B={b1,b2,…,bM},其中bk表示單次交互行為,由用戶編號(hào)、物品編號(hào)、交互行為類型和行為發(fā)生時(shí)間組成的元組(uk,δk,ψk,ηk)描述,表示用戶uk在ηk時(shí)刻對(duì)物品δk產(chǎn)生了交互行為ψk;專家搭配知識(shí)集S,其構(gòu)成的集合為S={s1,s2,…,sL},其中,sj由套餐編號(hào)和搭配套餐物品列表組成的元組(Yj1,Yj1,…)描述.B和S中δ所代表的物品都屬于物品集I.本文算法根據(jù)上述信息建立模型,然后對(duì)于給定物品集I中的每一個(gè)物品,預(yù)測(cè)最有可能與其搭配的Top-K個(gè)物品.因此構(gòu)造一個(gè)目標(biāo)函數(shù)D(i,j),i≠j,j∈[1,N],表示待測(cè)物品i和候選物品j之間的搭配度,而構(gòu)建的模型應(yīng)該能使搭配度最高的Top-K個(gè)物品更加符合實(shí)際情況,即能更好地預(yù)測(cè)專家搭配結(jié)果.
2.2.1 基于文本知識(shí)(模型1)
基于文本知識(shí)的搭配度模型(JMDI(T))根據(jù)物品本身的文本知識(shí)評(píng)估物品之間的搭配程度.
首先需要對(duì)文本降維處理,利用相關(guān)技術(shù)[6]提取文本關(guān)鍵詞,對(duì)文本知識(shí)中出現(xiàn)的詞語計(jì)算tf-idf值,取值最大的m個(gè)分詞作為該物品實(shí)體的詞向量.具體而言,物品p的一個(gè)分詞εp的tf-idf值為詞頻tf(εp)和逆文檔頻率idf(εp)的乘積,某個(gè)詞的重要性越高,則tf-idf值就越大.其中,
(2)
(3)
式中:l(τp)表示物品實(shí)體p的分詞集合τp的大小;r(εp,τp)表示τp中分詞εp出現(xiàn)的次數(shù);d(cp,·)表示與p類別相同的物品個(gè)數(shù);d(cp,εp)表示與p類別相同且包含分詞εp的物品個(gè)數(shù).為了防止式(3)造成某些分詞重要性偏高或偏低,因此需要對(duì)idf(εp)進(jìn)行平滑操作H(·).因此,tfidf(εp)=tf(εp)H(idf(εp)),這里H(·)可為一階線性平滑函數(shù),即
(4)
根據(jù)tf-idf值可以計(jì)算出每個(gè)物品實(shí)體的分詞向量及其tf-idf向量,由此可以進(jìn)一步構(gòu)建物品之間的搭配度模型.
考慮到物品之間若要搭配,它們之間勢(shì)必有一些共性元素,例如品牌、色調(diào)、季節(jié)等,這樣才能協(xié)調(diào)而不至于搭配突兀,這種信息一般都會(huì)作為關(guān)鍵詞出現(xiàn)在物品標(biāo)題中,以便用戶能夠很容易地搜索到.由此可以認(rèn)為,經(jīng)過類別過濾的物品之間的搭配度與其相似度成正相關(guān).因此,基于文本知識(shí)的搭配度可以由分詞向量的相似度w(p,p′)表示,即
(5)
式中,w(p,p′)為物品p和p′分詞的tf-idf向量的余弦相似度[7].
考慮到兩個(gè)物品的標(biāo)題分詞長度和分詞集合不一定相同,且物品p與p′的相似度應(yīng)是相對(duì)于p而言的,因此將w(p,p′)優(yōu)化為
(6)
另一方面,為了減少后續(xù)計(jì)算量,考慮到在搭配問題中,相似的同類物品一般都是可替代產(chǎn)品,而并非搭配物品,而某些類別對(duì)一般不會(huì)出現(xiàn)在同一組搭配中(例如羽絨服和熱褲).即相搭配的物品一般都不屬于同一個(gè)類別,且某些類別勢(shì)必與另一些類別不相搭配.因此D1(p,p′)可以定義為
(7)
2.2.2 基于結(jié)構(gòu)化知識(shí)(模型2)
復(fù)雜網(wǎng)絡(luò)中通常隱含著大量實(shí)體及其相互關(guān)系的結(jié)構(gòu)信息,一般可以用知識(shí)圖譜來表示.知識(shí)圖譜是一種圖結(jié)構(gòu),可以由若干條(vh,r,vt)的三元組構(gòu)成,表示頭實(shí)體vh與尾實(shí)體vt之間存在關(guān)系r,h,t表示實(shí)體.這種表示方式存在著計(jì)算效率低和數(shù)據(jù)稀疏性問題.因此,本文試圖將網(wǎng)絡(luò)結(jié)構(gòu)的知識(shí)嵌入到低維向量空間中,并盡量保留網(wǎng)絡(luò)中的某些信息.TransR模型[8]是當(dāng)前最為先進(jìn)的復(fù)雜網(wǎng)絡(luò)嵌入方法之一.基于結(jié)構(gòu)化知識(shí)的搭配度模型(JMDI(S))將TransR改進(jìn)并應(yīng)用于搭配場(chǎng)景下.下面介紹將TransR模型應(yīng)用到結(jié)構(gòu)化知識(shí)上,生成關(guān)系r的向量空間的方法.
TransR模型與其他類似模型不同,TransR模型將實(shí)體和關(guān)系表示在不同語義空間中,用特定關(guān)系的投影矩陣聯(lián)系起來.具體而言,如圖2所示,將每個(gè)三元組(vh,r,vt)中的實(shí)體嵌入到向量vh,vt∈k中,關(guān)系r嵌入到向量r∈d中.對(duì)于每個(gè)關(guān)系r,定義投影矩陣Mr∈k×d,將實(shí)體向量投影到關(guān)系r的子空間,實(shí)體的向量可以定義為
(8)
然后,通過不斷調(diào)整vh,vt,r使得vt≈vh+r,其損失函數(shù)定義為
(9)
有別于普通TransR模型基于邊際的目標(biāo)函數(shù),本文采用sigmoid函數(shù)來計(jì)算成對(duì)三元組的排序概率,然后將TransR擴(kuò)展為貝葉斯的版本,其算法步驟如下:
圖2 TransR的簡(jiǎn)單示例
從而可以訓(xùn)練得到每個(gè)物品的表示結(jié)構(gòu)化含義的向量.然后,根據(jù)式(9)計(jì)算出每個(gè)待測(cè)物品與候選物品的損失函數(shù),用以表示物品之間的搭配程度.由于其搭配度與損失函數(shù)值呈負(fù)相關(guān),因此
(10)
式中,ρ為參數(shù),可以取為所有fr的中位數(shù).
2.2.3 基于用戶交互反饋(模型3)
在基于用戶交互反饋的搭配度模型(JMDI(F))中,主要通過協(xié)同過濾的思想分析用戶交互反饋,得到物品之間的搭配關(guān)系.如上文所述,用戶交互反饋是關(guān)于用戶-物品-時(shí)間的三維不連續(xù)空間R,每個(gè)點(diǎn)表示一次交互行為代表的興趣值,其值與行為類型相關(guān).例如,通常購買行為的興趣值大于點(diǎn)擊行為.
通常的協(xié)同過濾算法很少會(huì)考慮歷史行為中的時(shí)序信息,但同一時(shí)間窗內(nèi)購買的物品之間很有可能就隱含著彼此的關(guān)系.因此,在某個(gè)時(shí)間窗Tc的約束條件下將R轉(zhuǎn)換到一個(gè)低維矩陣Q∈M×N,表示用戶對(duì)物品的興趣值的和,矩陣中的值Qi,j表示在Tc時(shí)間間隔內(nèi),用戶i對(duì)物品j產(chǎn)生交互行為的總興趣值.
對(duì)Q處理,將用戶-物品矩陣轉(zhuǎn)換為物品-物品的稀疏矩陣Z,使得
(11)
a. 若有同一用戶對(duì)p與p′產(chǎn)生了交互行為,則p與p′更有可能相搭配,其搭配度與p和p′被同一用戶產(chǎn)生交互行為的概率成正相關(guān),即D3(p,p′)與Pcnt(p,p′)成正相關(guān);
b. 若有同一用戶對(duì)p與p′產(chǎn)生了交互行為,則p與p′更有可能相搭配,且興趣值越接近,其搭配度越高,即D3(p,p′)與Zp,p′成正相關(guān);
c. 若p與p′從未被同一用戶發(fā)現(xiàn)過,考慮到可能存在可替代物品的情況,因此尋找物品q滿足Zq,p>0,Zq,p′>0,且q與p同類,與p′異類,其搭配度和p與q的相似度w(p,q)成正相關(guān),與D3(q,p′)成正相關(guān).
綜合上述邏輯,當(dāng)有同一用戶在時(shí)間窗Tc內(nèi)對(duì)p與p′產(chǎn)生了交互行為時(shí),則
(12)
否則
(13)
其中,Pcnt(a,b)=cnt(a,b)/(cnt(a)+cnt(b)),表示a,b在時(shí)間窗Tc內(nèi)被同一用戶產(chǎn)生交互行為的概率.
2.3 搭配度融合排序方法
根據(jù)上文所述,本文分別從文本知識(shí)、結(jié)構(gòu)化知識(shí)和用戶交互反饋信息中提取出了物品搭配度模型.本節(jié)中,為了將上述3種物品搭配度模型整合起來,在JMDI框架中引入了聯(lián)合學(xué)習(xí)過程.
由上述3個(gè)子搭配度模型可以初步得到每個(gè)待測(cè)物品的候選搭配列表及其子搭配度,然后需要對(duì)每個(gè)候選物品的搭配度進(jìn)行聯(lián)合評(píng)估排序,從而選出最可能搭配的Top-K個(gè)物品.
給定專家標(biāo)記的搭配套餐,可以得到物品之間偏序關(guān)系的正負(fù)反饋.具體來說,若物品i,j搭配而i,j′不搭配,則將(i,j)對(duì)標(biāo)記為+1,將(i,j′)對(duì)標(biāo)記為-1.隨后利用邏輯回歸模型[9](logic regression,LR)訓(xùn)練子搭配度的融合參數(shù).將子模型輸出的候選物品編號(hào)及其與待測(cè)物品的子搭配度構(gòu)成的向量分別作為訓(xùn)練融合模型的樣本,記為X={δi,xi,i∈[1,100]∩},其中xi=(Di1,Di2,Di3).接著利用專家搭配套餐獲得樣本的正負(fù)標(biāo)記Y∈{-1,1},從而根據(jù)邏輯回歸模型的原理,假設(shè)
(14)
然后利用梯度上升方法對(duì)參數(shù)θT求解,由于式(14)是非線性的,因此對(duì)其進(jìn)行l(wèi)ogit變換得到
(15)
g(x)即最終的搭配度D,對(duì)其進(jìn)行排序,通過對(duì)專家搭配套餐物品對(duì)的類目進(jìn)行統(tǒng)計(jì),去掉從未出現(xiàn)過的類目搭配,從而選出搭配度Top-K的候選物品作為與物品p相搭配的物品列表.
根據(jù)上文描述,本文的方法需要將數(shù)據(jù)集劃分為訓(xùn)練集Trainset和測(cè)試集TestItems.對(duì)于訓(xùn)練集,由于模型融合過程有監(jiān)督學(xué)習(xí),因此需要將訓(xùn)練集再劃分為兩部分,分別用于生成子模型結(jié)果和訓(xùn)練模型融合參數(shù).算法的主要流程如下:
a. 數(shù)據(jù)預(yù)處理,計(jì)算每個(gè)物品文本信息的tf,idf值,統(tǒng)計(jì)并計(jì)算Pcnt(p,p′);
b. 根據(jù)2.2.1節(jié)的模型計(jì)算待測(cè)物品的相似度和物品搭配度D1;
c. 根據(jù)2.2.2節(jié)訓(xùn)練模型并獲得待測(cè)物品的相搭配物品實(shí)體及其搭配度D2;
d. 根據(jù)2.2.3節(jié)計(jì)算時(shí)間窗Tc內(nèi)的Q矩陣,進(jìn)一步處理得到矩陣Z,計(jì)算待測(cè)物品的物品搭配度D3;
e. 利用訓(xùn)練集對(duì)上述子搭配度的融合參數(shù)進(jìn)行訓(xùn)練,然后融合候選物品與待測(cè)物品的搭配度,進(jìn)行離差標(biāo)準(zhǔn)化處理,最后取Top-K個(gè)作為最終結(jié)果.
由于并非所有的用戶都會(huì)有齊全的各類數(shù)據(jù),而本算法框架融合了物品本身文本知識(shí)、結(jié)構(gòu)化知識(shí)和用戶行為反饋,使得它可以解決現(xiàn)實(shí)中經(jīng)常遇到的數(shù)據(jù)缺失的問題,一定程度上擴(kuò)大了算法的適用面.
另一方面,本文提出的JMDI框架模塊化程度較高,模塊內(nèi)的計(jì)算也可以很容易地并行化處理,因此本算法也適用于大規(guī)模數(shù)據(jù)的處理.
4.1 實(shí)驗(yàn)數(shù)據(jù)集及評(píng)價(jià)方法
本文采用阿里天池大數(shù)據(jù)實(shí)驗(yàn)室提供的Taobao_Clothes_Matching[10]數(shù)據(jù)集.該數(shù)據(jù)集包括3部分,分別為物品基本信息數(shù)據(jù)(文本、圖像)、用戶歷史行為數(shù)據(jù)和搭配套餐數(shù)據(jù),總共上萬套餐,十萬級(jí)物品及圖像,百萬級(jí)用戶、千萬級(jí)行為的數(shù)據(jù).為了測(cè)試算法的性能,將搭配套餐數(shù)據(jù)的80%作為訓(xùn)練集,其余作為測(cè)試集,并利用所有搭配數(shù)據(jù)生成測(cè)試集的答案.物品集I和專家搭配套餐集S、用戶歷史行為數(shù)據(jù)集B,以及待預(yù)測(cè)商品集TEST中的物品關(guān)系如圖3所示.
圖3 數(shù)據(jù)集中物品來源的關(guān)系
為了評(píng)價(jià)算法的效果,本文對(duì)于每個(gè)物品采用MAP@K[11](mean average precision)和Recall@K作為評(píng)價(jià)指標(biāo),其值趨于0~1之間,數(shù)值越大越理想.其中MAP@K具體計(jì)算方法如下.
對(duì)每個(gè)物品,其api@K表示為
(16)
式中:n表示答案集合中物品的數(shù)量;p(k)表示在k截?cái)嘀暗念A(yù)測(cè)準(zhǔn)確率;當(dāng)?shù)趉個(gè)物品在答案集合中Δ(k)為1,否則為0.對(duì)每個(gè)物品的api@K在待預(yù)測(cè)物品集合下求平均值得到最終評(píng)測(cè)值為
(17)
這種評(píng)測(cè)指標(biāo)可以反映出預(yù)測(cè)搭配的命中率和排序準(zhǔn)確率.因此,需要本算法能夠盡量減少搭配集物品數(shù)目而提高命中率,同時(shí)搭配集的物品排序要盡可能貼近真實(shí)情況.
4.2 實(shí)驗(yàn)設(shè)計(jì)與結(jié)果分析
首先在數(shù)據(jù)集上進(jìn)行抽樣實(shí)驗(yàn),調(diào)整每個(gè)子模型的參數(shù)值,觀察對(duì)MAP@K,Recall@K的影響,設(shè)定評(píng)價(jià)指標(biāo)中的K為50,100,150,200,確定模型中各個(gè)參數(shù)如下:
a. 在式(4)中,α=0.008 5,β=0.07;
b. 模型3中,時(shí)間窗Tc取30d.
然后在正式數(shù)據(jù)集上運(yùn)行本文算法框架,根據(jù)基于文本知識(shí)、結(jié)構(gòu)化知識(shí)和用戶交互反饋的搭配度模型,分別計(jì)算得到搭配結(jié)果,與其他算法比較評(píng)估其結(jié)果.最后將完整框架的處理結(jié)果與其他算法比較.
為了驗(yàn)證本文提出的物品搭配度模型的有效性,設(shè)計(jì)對(duì)比實(shí)驗(yàn),將本文模型與下列實(shí)驗(yàn)的結(jié)果對(duì)比.
a.Item-basedCF(T)[12]:將基于物品文本相似度的協(xié)同過濾算法應(yīng)用于文本知識(shí)數(shù)據(jù)集,相似度采用余弦相似度,對(duì)訓(xùn)練集中標(biāo)注的搭配物品對(duì),尋找與待測(cè)物品最相似的幾個(gè)物品,獲得與它們相搭配的物品及其近似物品作為算法輸出.
b.BPRMF[13]+TransE[14]:將基于貝葉斯個(gè)性化排序的矩陣分解算法[2]結(jié)合TransE算法[3],應(yīng)用于結(jié)構(gòu)化知識(shí)數(shù)據(jù)集,生成候選搭配列表.
c.Item-basedCF(F):將基于物品文本相似度的協(xié)同過濾算法應(yīng)用于用戶交互反饋數(shù)據(jù)集,根據(jù)用戶同時(shí)感興趣的物品對(duì),尋找與待測(cè)物品最相似的幾個(gè)物品,獲得與它們相搭配的物品及其近似物品作為算法輸出.
d. 混合CF:將基于相似度的協(xié)同思想應(yīng)用于全部數(shù)據(jù)集上,生成候選搭配列表.
圖4(a),5(a)表示JMDI中的基于文本知識(shí)的搭配度模型與Item-basedCF(T)算法的效果比較;圖4(b),5(b)表示JMDI中的基于結(jié)構(gòu)化知識(shí)的搭配度模型與BPRMF+TransE算法的對(duì)比;圖4(c),5(c)表示JMDI中的基于結(jié)構(gòu)化知識(shí)的搭配度模型與混合CF算法的對(duì)比.
可以發(fā)現(xiàn),本文提出的JMDI框架中的每個(gè)子模型的表現(xiàn)都優(yōu)于其對(duì)比算法.而基于結(jié)構(gòu)化知識(shí)的搭配度模型由于引入了TransR模型,相較于其對(duì)比算法,效果提升顯著,能更好地應(yīng)對(duì)復(fù)雜關(guān)系網(wǎng)絡(luò),充分挖掘網(wǎng)絡(luò)知識(shí)中隱含的信息.而比較3個(gè)子模型可以看出,基于文本知識(shí)的子模型對(duì)于搭配預(yù)測(cè)的貢獻(xiàn)最大,但另外兩個(gè)子模型的貢獻(xiàn)也很重要.這是由于物品的文本描述本身包含了物品的關(guān)鍵特征的描述,而一般為了協(xié)調(diào),相搭配的物品大多都有類似的特征,因此文本描述的信息準(zhǔn)確地刻畫了物品特征,便可以更好地預(yù)測(cè)搭配物品;而基于結(jié)構(gòu)化知識(shí)和用戶交互反饋的模型,由于主要基于客觀事實(shí)或行為,其隱含特征的挖掘效果相對(duì)不如文本知識(shí),但它更具有可靠性,在樣本數(shù)據(jù)足夠多的情況下表現(xiàn)穩(wěn)定,不會(huì)受人為設(shè)定文本描述信息的干擾.
由圖6可以看出,3個(gè)子模型的使用顯著提升了算法的整體效果,證明本文的算法框架充分挖掘了各類數(shù)據(jù)中的隱含信息,并且將其有效融合為一體.與混合CF算法的對(duì)比顯示,本文將文本、結(jié)構(gòu)化知識(shí)與協(xié)同過濾結(jié)合到一起,有效提升了搭配預(yù)測(cè)的效果.此外,通過將3個(gè)模型結(jié)合起來,可以緩解協(xié)同過濾的數(shù)據(jù)稀疏性和冷啟動(dòng)問題,在沒有用戶有相應(yīng)交互行為的時(shí)候,可以通過利用物品相關(guān)知識(shí),很好地彌補(bǔ)協(xié)同過濾的不足,使推薦系統(tǒng)的整體效果得到提升.
圖4 JMDI算法框架子模型與對(duì)比算法的MAP@K比較結(jié)果
圖5 JMDI算法框架子模型與對(duì)比算法的Recall@K比較結(jié)果
圖6 JMDI算法框架與對(duì)比算法的比較結(jié)果
本文針對(duì)傳統(tǒng)的基于相似度度量的推薦算法無法表示物品之間搭配關(guān)系的問題,提出了一個(gè)基于聯(lián)合物品搭配度的推薦算法框架JMDI,整合了文本知識(shí)、結(jié)構(gòu)化知識(shí)和用戶交互反饋等信息用于搭配推薦.框架中構(gòu)建了3個(gè)物品搭配度子模型并通過邏輯回歸方法進(jìn)行搭配度融合,生成與目標(biāo)物品相搭配的物品推薦列表.在Taobao_Clothes_Matching數(shù)據(jù)集上的實(shí)驗(yàn)表明,本文提出的基于聯(lián)合物品搭配度(JMDI)的推薦算法框架可以提供有效的搭配物品推薦.由于該算法的效果還依賴于不同模型生成的結(jié)果的融合方法,因此下一步工作是研究如何更好地將子模型的結(jié)果進(jìn)行融合.此外,今后還將研究圖像知識(shí)的處理,將圖像特征融入到算法框架中,以期得到更好的結(jié)果.
[1] LIU Q,CHEN E H,XIONG H,et al.Enhancing collaborative filtering by user interest expansion via personalized ranking[J].IEEE Transactions on Systems,Man,and Cybernetics,Part B:Cybernetics,2012,42(1):218-233.
[2] PAZZANI M J,BILLSUS D.Content-based recommendation systems[M]∥BRUSILOVSKY P,KOBSA A,NEJDL W.The Adaptive Web.Berlin Heidelberg:Springer,2007:325-341.
[3] BURKE R.Knowledge-based recommender systems[J].Encyclopedia of Library and Information Systems,2000,69( 32):180-200.
[4] HU Y,YI X,DAVIS L S.Collaborative fashion recommendation:a functional tensor factorization approach[C]∥Proceedings of the 23rd ACM International Conference on Multimedia.Brisbane,Australia:ACM,2015:129-138.
[5] WONG W K,ZENG X H,AU W M R,et al.A fashion mix-and-match expert system for fashion retailers using fuzzy screening approach[J].Expert Systems with Applications,2009,36(2):1750-1764.
[6] ZHOU L.Exploration of the working principle and application of word2vec[J].Sci-Tech Information Development & Economy,2015,25(2):145-148.
[7] YE J.Cosine similarity measures for intuitionistic fuzzy sets and their applications[J].Mathematical and Computer Modelling,2011,53(1/2):91-97.
[8] LIN Y K,LIU Z Y,SUN M S,et al.Learning entity and relation embeddings for knowledge graph completion[C]∥Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence.Austin,Texas:AAAI,2015:2181-2187.
[9] RUCZINSKI I,KOOPERBERG C,LEBLANC M.Logic regression[J].Journal of Computational and Graphical Statistics,2003,12(3):475-511.
[10] Taobao_clothes_matching[EB/OL].[2015].https:∥tianchi.shuju.aliyun.com/datalab/dataSet.htm?spm=5176.100073.888.29.DatQOr&id=13.
[11] VAN DEN OORD A,DIELEMAN S,SCHRAUWEN B.Deep content-based music recommendation[C]∥Advances in Neural Information Processing Systems 26.South Lake Tahoe,NV,USA:MIT Press,2013:2643-2651.
[12] SARWAR B,KARYPIS G,KONSTAN J,et al.Item-based collaborative filtering recommendation algorithms[C]∥Proceedings of the 10th International Conference on World Wide Web.Hong Kong,China:ACM,2001:285-295.
[13] RENDLE S,FREUDENTHALER C,GANTNER Z,et al.BPR:Bayesian personalized ranking from implicit feedback[C]∥Proceedings of the 25th Conference on Uncertainty in Artificial Intelligence.Montreal,Quebec,Canada:AUAI Press,2009:452-461.
[14] BORDES A,USUNIER N,GARCIA-DURAN A,et al.Translating embeddings for modeling multi-relational data[C]∥Advances in Neural Information Processing Systems 26.South Lake Tahoe,United States:MIT Press,2013:2787-2795.
(編輯:丁紅藝)
Joint Match Degree of Items for Recommendation Systems
YAO Jingtian1, WANG Yongli1, SHI Qiuyan1, DONG Zhenjiang2,3
(1.SchoolofComputerScienceandEngineering,NanjingUniversityofScienceandTechnology,Nanjing210094,China; 2.DepartmentofComputerScienceandEngineering,ShanghaiJiaoTongUniversity,Shanghai200240,China; 3.Cloud&ITInstitute,ZTECorp.,Nanjing210012,China)
Since most recommendation systems are based on the calculation of items’ or users’ similarity,the results can’t give consideration to both the complementarity and similarity of recommened objects.An algorthm framework for calculating the joint match degree of items for recommendation systems was proposed.In the framework,combining with the informations of users’ interaction feedback,items’ textual knowledge and structural knowledge,the joint match degrees of the target item and those candidate items were calculated respectively.Integrating the match degrees by using logistic regression,a list of items matched with the target item was obtained.Through the experiments on a Taobao real data set,it is indicated that the model significantly improve the performance of recommendation collocation compared to the recommendation algorithm based on similarity only.Moreover,in the situation of fewer users’ interaction record,the model can also have better accuracy.
recommendsystem;itemmatch;collaborativefiltering;expertknowledge;similarity
1007-6735(2017)01-0042-09
10.13255/j.cnki.jusst.2017.01.008
2016-10-09
國家自然科學(xué)基金資助項(xiàng)目(61170035,61272420,61502233);2012年國家科技重大專項(xiàng)(2012ZX03002003);江蘇省科技成果轉(zhuǎn)化專項(xiàng)資金項(xiàng)目(BA2013047);江蘇省六大人才高峰項(xiàng)目(WLW-004);兵科院預(yù)研項(xiàng)目(62201070151);中央高校基本科研業(yè)務(wù)費(fèi)專項(xiàng)資金項(xiàng)目(30916011328)
姚靜天(1992-),女,碩士研究生.研究方向:推薦系統(tǒng)、大數(shù)據(jù)分析、社交網(wǎng)絡(luò).E-mail:codingyjt@gmail.com
王永利(1974-),男,教授.研究方向:數(shù)據(jù)庫與大數(shù)據(jù)分析、智能服務(wù)與云計(jì)算、模式識(shí)別等.E-mail:yongliwang@njust.edu.cn
TP 391
A