鄭恩讓, 韓國鋒, 劉 晨
(陜西科技大學(xué) 電氣與信息工程學(xué)院, 陜西 西安 710021)
隨著網(wǎng)絡(luò)技術(shù)的迅速普及和發(fā)展,人們通過互聯(lián)網(wǎng)可以便捷地、快速地獲取自身所需的旅游信息,并且人們也可以在互聯(lián)網(wǎng)中上傳各種旅游游記,照片等信息.但是,隨著用戶生成海量的旅游相關(guān)信息,導(dǎo)致了信息過載的問題,使得人們并不能從海量數(shù)據(jù)中迅速獲取想要查詢的旅游信息.因此,人們提出旅游信息推薦系統(tǒng).
在旅游推薦系統(tǒng)中,根據(jù)旅游推薦算法是否可以為不同的用戶推薦“量身定做”的推薦結(jié)果,可以將其分為基于大眾行為的旅游推薦和個(gè)性化旅游推薦.基于大眾行為的旅游推薦是指推薦結(jié)果沒有因?yàn)閭€(gè)體差異而不同,例如推薦給用戶熱門景點(diǎn).為提升用戶體驗(yàn),以精準(zhǔn)化個(gè)性化服務(wù)為目標(biāo),提出基于個(gè)性化旅游推薦,即推薦系統(tǒng)根據(jù)用戶個(gè)體差異進(jìn)行針對性推薦.常見的個(gè)性化旅游推薦算法是基于協(xié)同過濾的旅游推薦[1]和基于內(nèi)容的旅游推薦[2].
基于協(xié)同過濾的旅游推薦算法主要通過分析用戶與用戶之間的關(guān)系,將目標(biāo)用戶的相似用戶的喜好推薦給目標(biāo)用戶.基于協(xié)同過濾的旅游推薦算法可以分為基于景點(diǎn)的協(xié)同過濾旅游推薦(item-based collaborative filtering recommendation)和基于用戶的協(xié)同過濾旅游推薦(user-based collaborative filtering recommendation).基于景點(diǎn)的協(xié)同過濾旅游推薦是通過計(jì)算不同用戶對不同景點(diǎn)的評分獲得景點(diǎn)間的關(guān)系;基于用戶的協(xié)同過濾旅游推薦[3]是根據(jù)用戶對不同景點(diǎn)類型的興趣特征,然后計(jì)算目標(biāo)用戶與其他用戶的相似度,再采用K近鄰算法發(fā)現(xiàn)與目標(biāo)用戶有類似喜好的相似用戶,最后根據(jù)相似用戶的興趣喜好實(shí)現(xiàn)對目標(biāo)用戶進(jìn)行推薦.
但是,基于協(xié)同過濾的旅游推薦會(huì)面臨數(shù)據(jù)稀疏和冷啟動(dòng)兩大難題,大大影響了推薦效果.而基于內(nèi)容的旅游推薦更加專注于分析景點(diǎn)信息的特征從而挖掘有價(jià)值的信息,進(jìn)而為用戶推薦與其歷史偏好相似的景點(diǎn),并且基于內(nèi)容的旅游推薦可以有效地避免協(xié)同過濾的冷啟動(dòng)問題.因此,融入基于內(nèi)容的旅游推薦可以很好的彌補(bǔ)基于用戶的協(xié)同過濾旅游推薦的缺陷.所以,本文采用混合旅游推薦,即基于協(xié)同過濾的旅游推薦和基于內(nèi)容的旅游推薦相結(jié)合.文獻(xiàn)[4]和文獻(xiàn)[5]通過利用混合推薦方法提升個(gè)性化旅游推薦系統(tǒng)的推薦性能.
然而,傳統(tǒng)的機(jī)器學(xué)習(xí)算法需要大量的已標(biāo)記數(shù)據(jù)進(jìn)行訓(xùn)練,從而得到性能良好的推薦模型.但是,實(shí)際情況是網(wǎng)絡(luò)獲取的大量用戶生成數(shù)據(jù)都是缺少標(biāo)記,而大量的人工標(biāo)記耗費(fèi)太多的時(shí)間.針對缺少已標(biāo)記數(shù)據(jù)的問題,考慮利用與目標(biāo)任務(wù)相關(guān)的其他領(lǐng)域的大量已標(biāo)記數(shù)據(jù),在已標(biāo)記數(shù)據(jù)的輔助之下,對目標(biāo)模型進(jìn)行訓(xùn)練,從而得到性能良好的推薦模型.將其他領(lǐng)域的已標(biāo)記數(shù)據(jù)記為輔助數(shù)據(jù),目標(biāo)領(lǐng)域的數(shù)據(jù)記為目標(biāo)數(shù)據(jù),因此引入域適應(yīng)(Domain Adaptation)[6],主要解決當(dāng)輔助域任務(wù)與目標(biāo)域任務(wù)相同時(shí),輔助數(shù)據(jù)與目標(biāo)數(shù)據(jù)之間存在分布差異的問題.文獻(xiàn)[7]為了解決標(biāo)記數(shù)據(jù)稀少而導(dǎo)致的冷啟動(dòng)問題,提出一種跨域推薦方法來得到用戶興趣.
因此,本文提出一種基于域適應(yīng)的旅游景點(diǎn)個(gè)性化推薦模型,它可以有效地解決已標(biāo)記數(shù)據(jù)稀缺的問題,并且通過混合推薦更高效地挖掘用戶的潛在興趣,從而實(shí)現(xiàn)個(gè)性化推薦.首先,利用域適應(yīng)解決標(biāo)記數(shù)據(jù)稀少的問題;其次,采用混合旅游推薦方法更好地獲取用戶的潛在興趣;最后實(shí)現(xiàn)基于域適應(yīng)的旅游景點(diǎn)個(gè)性化推薦.本文通過引入全標(biāo)記的輔助數(shù)據(jù)集,通過域適應(yīng)方法解決目標(biāo)數(shù)據(jù)集中已標(biāo)記的景點(diǎn)數(shù)據(jù)稀少的問題,并且使用混合推薦算法,實(shí)現(xiàn)個(gè)性化旅游景點(diǎn)推薦.
為解決個(gè)性化旅游推薦的問題,當(dāng)使用基于協(xié)同過濾的旅游推薦時(shí),會(huì)由于數(shù)據(jù)稀疏和冷啟動(dòng)問題而影響整體推薦效果,所以,為了解決問題采用混合旅游推薦,在協(xié)同過濾的基礎(chǔ)上融入了基于內(nèi)容的旅游推薦.同時(shí),又由于存在缺少已標(biāo)記數(shù)據(jù)的問題,因此,本文提出的基于域適應(yīng)的旅游景點(diǎn)個(gè)性化推薦模型,旨在利用已有的景點(diǎn)標(biāo)記數(shù)據(jù)來輔助解決只有少量景點(diǎn)標(biāo)記數(shù)據(jù)的旅游景點(diǎn)推薦問題.
圖1給出基于域適應(yīng)的旅游景點(diǎn)個(gè)性化推薦模型框圖.首先,從社交媒體信息中獲取用戶上傳相冊作為目標(biāo)數(shù)據(jù)集(其中少量照片帶有標(biāo)記),并且從搜索引擎上爬取認(rèn)為有標(biāo)記的圖像作為輔助數(shù)據(jù)集.其次,對目標(biāo)數(shù)據(jù)集和輔助數(shù)據(jù)集進(jìn)行特征提取.在特征層面,由于目標(biāo)數(shù)據(jù)集與輔助數(shù)據(jù)集之間存在分布差異,所以需要減小兩者之間的分布差異;然后進(jìn)行分類,進(jìn)而得到用戶喜好.最后,根據(jù)用戶與用戶之間的關(guān)系,推薦用戶潛在感興趣的景點(diǎn),從而實(shí)現(xiàn)基于域適應(yīng)的旅游景點(diǎn)個(gè)性化推薦.
圖1 基于域適應(yīng)的旅游景點(diǎn)個(gè)性化推薦模型
基于域適應(yīng)的旅游景點(diǎn)個(gè)性化推薦模型分為四部分.第一部分是對目標(biāo)數(shù)據(jù)集和輔助數(shù)據(jù)集進(jìn)行特征提?。坏诙糠质峭ㄟ^域適應(yīng)方法來解決目標(biāo)數(shù)據(jù)集特征(用戶相冊)和輔助數(shù)據(jù)集特征(景點(diǎn)類型數(shù)據(jù)集)之間的數(shù)據(jù)分布差異;第三部分是通過分類器對目標(biāo)數(shù)據(jù)集(用戶相冊)進(jìn)行分類,從而得到用戶相冊的景點(diǎn)類型;第四部分是在已經(jīng)成功分類用戶相冊的基礎(chǔ)上,使用基于用戶的協(xié)同過濾推薦方法分析用戶與用戶之間的關(guān)系,從而實(shí)現(xiàn)個(gè)性化推薦.
在旅游景點(diǎn)推薦系統(tǒng)中,提取出來的旅游景點(diǎn)圖像特征的效果好壞會(huì)直接影響到景點(diǎn)類型分類的結(jié)果.隨著特征提取技術(shù)的迅速發(fā)展,視覺詞袋模型(Bag-of-Words,BoW)[8]是當(dāng)前常用的圖像表示方法.
視覺詞袋模型的生成過程為:首先,利用SIFT算法[9]提取圖像局部特征,得到圖像的描述子;然后利用K-means算法[10]對圖像描述子進(jìn)行聚類生成視覺詞典,K-means算法將描述子分為K個(gè)簇,簇內(nèi)相似度較高,而簇間相似度較低,聚類中心有K個(gè),視覺詞典為K;最后,統(tǒng)計(jì)圖像中所有視覺詞匯的出現(xiàn)頻率,進(jìn)而將圖像表示成一個(gè)K維數(shù)值向量.
由于目標(biāo)數(shù)據(jù)集(用戶相冊數(shù)據(jù)集)U與輔助數(shù)據(jù)集(景點(diǎn)類型數(shù)據(jù)集)S之間存在分布差異,所以需要先減小兩者之間的分布差異,從而實(shí)現(xiàn)輔助域數(shù)據(jù)與目標(biāo)域數(shù)據(jù)同分布.針對數(shù)據(jù)分布差異的問題,文獻(xiàn)[11]提出來一種最小化最大均值差異方法,它可以度量在再生希爾伯特空間中輔助域數(shù)據(jù)與目標(biāo)域數(shù)據(jù)之間的距離.然后,通過最小化在再生希爾伯特空間中輔助域數(shù)據(jù)與目標(biāo)域數(shù)據(jù)之間的距離,以此來減小輔助域數(shù)據(jù)與目標(biāo)域數(shù)據(jù)之間的分布差異.公式可表示為:
(1)
因此,可以通過最小化DISTk(U,S),從而減小用戶相冊數(shù)據(jù)集與景點(diǎn)類型數(shù)據(jù)集之間的分布差異.
在減少輔助域特征數(shù)據(jù)與目標(biāo)域特征數(shù)據(jù)之間的分布差異基礎(chǔ)上,利用已標(biāo)記的輔助數(shù)據(jù)集(景點(diǎn)類型數(shù)據(jù)集)S來訓(xùn)練得到一個(gè)輔助分類器fa(x),目標(biāo)是在輔助分類器fa(x)的基礎(chǔ)上,訓(xùn)練得到一個(gè)可以準(zhǔn)確分類目標(biāo)數(shù)據(jù)集(用戶相冊數(shù)據(jù)集)U的分類器f(x).在輔助分類器fa(x)的基礎(chǔ)上,引入Δf(x),則f(x)可表示為:
f(x)=fa(x)+Δf(x)=fa(x)+ωTφ(x)
(2)
由公式(2)可得目標(biāo)函數(shù):
(3)
s.t.ζi≥0
公式(3)的拉格朗日式可表示為:
(4)
式(4)中:拉格朗日乘子αi≥0,μi≥0.
αi=C-μi,?i
(5)
由公式(2)和公式(5)可得:
f(x)=fa(x)+ωTφ(x)=
(6)
因此,由上式可得,
‖f(x)-fa(x)‖=‖Δf(x)‖2=
‖ω‖2
(7)
所以,由公式(7)可知,在再生希爾伯特空間中,輔助函數(shù)fa(x)與目標(biāo)函數(shù)f(x)之間的距離可以通過正則式‖ω‖2來減小.同時(shí),將公式(5)代入公式(4)可得目標(biāo)函數(shù)的拉格朗日對偶式:
(8)
因?yàn)樽钚』疞p和最大化LD是一個(gè)對偶問題,所以可以通過求解最大化LD來解決最小化Lp.在公式(8)中,若λi<0,則輔助分類器fa(x)錯(cuò)誤分類了xi,但是為了最大化LD,會(huì)得到一個(gè)更大的αi.所以,當(dāng)輔助分類器fa(x)錯(cuò)誤分類了xi,目標(biāo)分類器f(x)通過得到一個(gè)較大的權(quán)重αi,以此輸出不同于輔助分類器的結(jié)果;當(dāng)輔助分類器fa(x)正確分類了xi,目標(biāo)分類器f(x)通過得到一個(gè)較小甚至為零的權(quán)重αi,且分類結(jié)果與輔助分類器一致.
因此,可以用已經(jīng)訓(xùn)練好的目標(biāo)分類器f(x)對目標(biāo)數(shù)據(jù)集(用戶相冊數(shù)據(jù)集)進(jìn)行分類,從而得到用戶相冊的景點(diǎn)類型yi.在得到用戶相冊的不同景點(diǎn)類型基礎(chǔ)之上,通過基于用戶的協(xié)同過濾推薦方法來實(shí)現(xiàn)旅游景點(diǎn)個(gè)性化推薦.
首先,計(jì)算目標(biāo)用戶與其他用戶的相似度,本文采用余弦相似度計(jì)算兩個(gè)用戶之間的相似度.設(shè)N(u)表示用戶u喜歡的景點(diǎn)類型的集合,N(v)表示用戶v喜歡的景點(diǎn)類型的集合,則用戶u和用戶v之間的余弦相似度可表示為:
(9)
假設(shè),共有n個(gè)用戶,則可以構(gòu)建一個(gè)相似度矩陣M∈Rn×n,其中sim(u,v)越大,表示用戶u和用戶v之間的相似度越高.因此,通過相似度矩陣,可以得到與目標(biāo)用戶u最相似的K個(gè)用戶,表示為集合T(u,K),然后將集合T中用戶喜愛的景點(diǎn)進(jìn)行分類,并去除用戶u已經(jīng)喜愛的景點(diǎn)類型.對于每個(gè)候選景點(diǎn)類型yi,用戶u對其的感興趣程度用如下公式計(jì)算:
(10)
式(10)中:rvi表示用戶v對景點(diǎn)類型yi的喜好程度,在本文中rvi都為1;N(i)表示喜愛景點(diǎn)類型yi的所有用戶集合.
最后,根據(jù)用戶u對候選景點(diǎn)類型yi的感興趣程度來對用戶u實(shí)現(xiàn)景點(diǎn)推薦.
本實(shí)驗(yàn)?zāi)繕?biāo)數(shù)據(jù)集使用Flickr旅游數(shù)據(jù)集[12],目標(biāo)數(shù)據(jù)集由4685名用戶提供的206776張圖片組成,一共涵蓋九座城市,分別是巴塞羅那、柏林、芝加哥、倫敦、洛杉磯、紐約、巴黎、羅馬和舊金山.輔助數(shù)據(jù)集從網(wǎng)絡(luò)爬取4000張八類不同的景點(diǎn)類型,分別是自然風(fēng)光、歷史古跡、藝術(shù)文化、購物、運(yùn)動(dòng)、娛樂、飲食和夜景,其中每一種景點(diǎn)類型有500張.
(1)支持向量機(jī)算法[13](Support Vector Machine,SVM)通過全標(biāo)記訓(xùn)練數(shù)據(jù)集訓(xùn)練得到的分類器對只有少量標(biāo)記的測試集進(jìn)行分類.
(2)跨域支持向量機(jī)算法[14](Cross-Domain SVM,CDSVM)利用目標(biāo)數(shù)據(jù)集對輔助數(shù)據(jù)集產(chǎn)生新的權(quán)重,然后使用新權(quán)重的輔助數(shù)據(jù)集來訓(xùn)練得到新的分類器.
(3)多核學(xué)習(xí)[15](Multiple Kernel Learning,MKL)學(xué)習(xí)一個(gè)由多個(gè)核函數(shù)線性組合的核函數(shù),然后對目標(biāo)數(shù)據(jù)集進(jìn)行分類.
3.3.1分類評價(jià)指標(biāo)
采用查準(zhǔn)率(P)、查全率(R)[16]作為景點(diǎn)類型分類實(shí)驗(yàn)的評價(jià)準(zhǔn)則.
(1)查準(zhǔn)率
(11)
(2)查全率
(12)
式(11)和式(12)中:TP表示正樣本被預(yù)測為正;FP表示負(fù)樣本被預(yù)測為正;FN表示正樣本被預(yù)測為負(fù).
3.3.2推薦評價(jià)指標(biāo)
采用準(zhǔn)確率(Precision)、召回率(Recall)[16]作為實(shí)驗(yàn)的評價(jià)準(zhǔn)則,比較本文提出的推薦模型與對比算法的推薦效果.準(zhǔn)確率表示用戶對推薦景點(diǎn)感興趣的概率,召回率表示用戶感興趣景點(diǎn)被推薦概率.
(1)準(zhǔn)確率
(13)
(2)召回率
(14)
式(13)和式(14)中:Pr表示推薦給用戶的景點(diǎn),Pv表示用戶感興趣的景點(diǎn).
本實(shí)驗(yàn)在聯(lián)想E4430(Intel(R) Core(TM) i5-4210M CPU @2.6GHz,內(nèi)存為16G)64位Windows10旗艦版操作系統(tǒng)上實(shí)現(xiàn).
基于域適應(yīng)的旅游景點(diǎn)個(gè)性化推薦算法的實(shí)驗(yàn)過程如下:
(1)提取景點(diǎn)類型相冊和用戶相冊的視覺詞袋模型特征.采用SIFT算法得到圖像的描述子,再對描述子進(jìn)行K-means聚類生成視覺詞典,本實(shí)驗(yàn)的K值選定為1000.
(2)減小數(shù)據(jù)集特征之間的分布差異.通過最小化最大均值差異的方法來實(shí)現(xiàn)景點(diǎn)類型相冊和用戶相冊同分布.
(3)采用分類器分類得到用戶相冊景點(diǎn)類型.在減小景點(diǎn)類型相冊和用戶相冊之間的分布差異的基礎(chǔ)上,分類器分類得到用戶相冊的景點(diǎn)類型.
(4)得到用戶感興趣的景點(diǎn)類型.根據(jù)分類得到的用戶相冊的景點(diǎn)類型,采用基于用戶的協(xié)同過濾推薦方法得到用戶感興趣的景點(diǎn)類型,進(jìn)而對用戶進(jìn)行旅游景點(diǎn)推薦.
3.6.1基于域適應(yīng)的旅游景點(diǎn)類型分類算法
首先,以Flickr用戶相冊做為目標(biāo)數(shù)據(jù)集,景點(diǎn)類型相冊做為輔助數(shù)據(jù)集,采用交叉驗(yàn)證的方式,隨機(jī)選取80%數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),20%數(shù)據(jù)作為測試數(shù)據(jù).然后分別使用Domain Adaptation算法和對比算法對用戶相冊進(jìn)行景點(diǎn)類型分類,共進(jìn)行5次交叉驗(yàn)證實(shí)驗(yàn),取5次實(shí)驗(yàn)的查準(zhǔn)率和查全率的平均值做為結(jié)果,并計(jì)算每種分類算法的查全率和查準(zhǔn)率的平均值,景點(diǎn)類型分類結(jié)果如表1所示.
表1 景點(diǎn)類型分類結(jié)果
3.6.2 個(gè)性化推薦算法評估
在得到用戶相冊的景點(diǎn)類型基礎(chǔ)上,分別在最近鄰用戶個(gè)數(shù)為10、20、40、60、80、100的情況下將基于用戶的協(xié)同過濾算法與本文的混合推薦算法進(jìn)行對比,得到推薦結(jié)果如圖2所示.
圖2 評價(jià)指標(biāo)對比圖
在圖2中,CF為基于用戶的協(xié)同過濾推薦算法,H為本文采用的混合推薦算法.由圖2可知,隨著最近鄰用戶個(gè)數(shù)的增加,準(zhǔn)確率和召回率也在增加,當(dāng)近鄰用戶個(gè)數(shù)達(dá)到80時(shí),準(zhǔn)確率和召回率趨于平穩(wěn).并且,實(shí)驗(yàn)表明,本文提出的基于域適應(yīng)的推薦模型在推薦準(zhǔn)確率與召回率方面優(yōu)于對比方法,提升了推薦性能.
3.6.3 視覺示例
圖3展示了基于域適應(yīng)的旅游景點(diǎn)推薦的視覺示例.通過分析用戶上傳相冊和用戶與用戶之間的關(guān)系,得到用戶的興趣景點(diǎn)類型,然后根據(jù)用戶的興趣景點(diǎn)類型向用戶進(jìn)行景點(diǎn)推薦.
圖3 基于域適應(yīng)的旅游景點(diǎn)推薦的視覺示例
利用社交網(wǎng)絡(luò)中海量的數(shù)據(jù)信息,以實(shí)現(xiàn)為用戶提供更加精確的旅游景點(diǎn)推薦,本文提出了基于域適應(yīng)的旅游景點(diǎn)個(gè)性化推薦模型,首先通過域適應(yīng)方法降低了目標(biāo)數(shù)據(jù)集(用戶相冊數(shù)據(jù)集)與輔助數(shù)據(jù)集(景點(diǎn)類型數(shù)據(jù)集)之間存在分布差異,分類得到每個(gè)用戶的興趣景點(diǎn)類型;然后根據(jù)用戶的不同偏好,采用基于用戶的協(xié)同過濾推薦算法對目標(biāo)用戶實(shí)現(xiàn)個(gè)性化景點(diǎn)推薦.實(shí)驗(yàn)表明,本文提出的基于域適應(yīng)的旅游景點(diǎn)推薦模型提升了個(gè)性化推薦性能.