劉浩翰,馬騰飛,賀懷清
(中國民航大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300300)
基于民航附加服務(wù)本體的個性化協(xié)同過濾算法
劉浩翰,馬騰飛,賀懷清
(中國民航大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,天津300300)
在構(gòu)建完成的民航附加服務(wù)本體的基礎(chǔ)上,針對傳統(tǒng)協(xié)同過濾算法存在數(shù)據(jù)稀疏性和無法考慮項目自身語義關(guān)系等缺點,提出了基于本體的個性化協(xié)同過濾算法。該方法采用基于規(guī)則的推薦方法在Jena的基礎(chǔ)上進(jìn)行推理,然后利用推理結(jié)果更新本體,完善了本體中旅客的興趣評分信息,降低了旅客興趣評分稀疏性。接著引入本體語義相似度計算,將語義相似度與協(xié)同過濾算法相似度結(jié)合,加入了項目之間語義相似度的計算,提高了相似度計算的準(zhǔn)確度。通過實驗證明,改進(jìn)的推薦技術(shù)很好地提高了推薦的準(zhǔn)確性。
民航附加服務(wù);推理機(jī);語義相似度;協(xié)同過濾
隨著民航業(yè)的快速發(fā)展以及運(yùn)輸行業(yè)不斷變化,民航附加服務(wù)[1]應(yīng)運(yùn)而生,但是面對數(shù)以千萬的旅客和產(chǎn)品,怎樣能從海量的數(shù)據(jù)中找到旅客的興趣,給旅客推薦更貼心的服務(wù)已成為當(dāng)下之急。
推薦系統(tǒng)到現(xiàn)在所用到的思想和基礎(chǔ)技術(shù)已發(fā)展10多年了,雖然目前傳統(tǒng)的推薦技術(shù)已在很多領(lǐng)域得到廣泛的應(yīng)用,并且取得了很不錯的效果,其中協(xié)同過濾算法可以通過分析用戶的行為記錄來預(yù)測其可能喜歡的事物,是現(xiàn)今應(yīng)用最為成功和最廣泛的推薦技術(shù),但是面對目前快速發(fā)展的互聯(lián)網(wǎng)的需求,傳統(tǒng)的協(xié)同過濾推薦算法存在著種種問題和不足。隨著互聯(lián)網(wǎng)時代對推薦系統(tǒng)要求的不斷增高,基于本體的推薦技術(shù)已成為個性化推薦技術(shù)研究的一個必然發(fā)展方向。因此本文在民航附加服務(wù)本體的基礎(chǔ)上,針對傳統(tǒng)協(xié)同過濾算法的缺點在基于本體推薦技術(shù)的基礎(chǔ)上,提出了基于本體的個性化協(xié)同過濾算法。
民航附加服務(wù)領(lǐng)域本體是針對民航附加服務(wù)領(lǐng)域概念眾多、關(guān)系復(fù)雜的特點,提出的基于本體的民航附加服務(wù)領(lǐng)域知識規(guī)范化的方法,利用protégé構(gòu)建了民航附加服務(wù)領(lǐng)域本體,通過構(gòu)建該領(lǐng)域本體知識邏輯體系,得以實現(xiàn)領(lǐng)域知識的共享和重用,圖1為構(gòu)建完成的民航附加服務(wù)領(lǐng)域本體部分可視關(guān)聯(lián)圖,主要包括產(chǎn)品、品牌、旅客、興趣、情景、共享6個部分。
1)產(chǎn)品是指民航附加服務(wù)領(lǐng)域的各種產(chǎn)品服務(wù)。其中包括機(jī)上服務(wù)、機(jī)場服務(wù)、商品服務(wù)、航空運(yùn)輸服務(wù)、地面運(yùn)輸非航空服務(wù)、行李服務(wù)、財務(wù)相關(guān)服務(wù)和航空公司自定義服務(wù)8個子概念,具體如圖2所示。
圖1 民航附加服務(wù)領(lǐng)域本體部分可視關(guān)聯(lián)圖Fig.1 Partial visual association graph of civil aviation auxiliary service domain ontology
圖2 產(chǎn)品層次圖Fig.2 Product hierarchical graph
2)品牌是由1到N個產(chǎn)品所組成的。
3)旅客分為旅客個體和旅客聚類2個子概念。旅客個體又分為常旅客和普通旅客,常旅客中還包含X航常旅客。
4)興趣指的是旅客對產(chǎn)品和品牌產(chǎn)生的興趣,分為長期興趣和短期興趣兩個子概念。
5)情景指旅客購買產(chǎn)品時的情景,分為活動和天氣2個子概念。
6)共享是指民航內(nèi)部,民航與鐵路、公路、水路以及民航與國際市場相互共享的信息,分為共享概念集、旅客共享屬性結(jié)構(gòu)體、附加服務(wù)共享屬性結(jié)構(gòu)體3個子概念。
在傳統(tǒng)的協(xié)同過濾推薦中,最主要的事情是通過相似度計算獲取近鄰集合。目前主要的相似度計算方法就是Pearson相關(guān)系數(shù)法[2]、余弦相似度和改進(jìn)的余弦相似度方法[3]。其中基于用戶的相似度計算主要運(yùn)用Pearson相關(guān)系數(shù)法如式(1)所示[4],基于項目的相似度計算運(yùn)用改進(jìn)的余弦相似度算法如式(2)所示[5]。
其中:pred(a,j)為用戶a對未評分產(chǎn)品j的預(yù)測評分;為用戶a的平均評分;neighbor(a)為用戶a的最近鄰居;sim(a,u)為用戶a和用戶u的相似度;Puj為是用戶u對產(chǎn)品j的評分為用戶u的平均評分。
其中:pred(u,j)為用戶u對未評分產(chǎn)品j的預(yù)測評分;ratedItems(j)為產(chǎn)品j的最近鄰居;sim(i,j)為產(chǎn)品i和產(chǎn)品j的相似度;Ru,i為用戶u對產(chǎn)品j的評分。
傳統(tǒng)的協(xié)同過濾推薦系統(tǒng),在一定程度上很好地實現(xiàn)了推薦,但是其自身還存在很多的不足:
1)稀疏性問題
在現(xiàn)實中面對各式各樣的產(chǎn)品,用戶對很多產(chǎn)品是未進(jìn)行過評分的,而協(xié)同過濾算法所依賴的正是這些用戶過去的行為,如果評分過于稀疏,在計算旅客相似度時就會因為數(shù)據(jù)稀疏導(dǎo)致計算的相似度不準(zhǔn)確,很難計算出用戶的最近鄰居,結(jié)果導(dǎo)致推薦精度大大降低。
2)缺乏項目之間語義關(guān)系的考慮
通常協(xié)同過濾算法只是面對基于用戶與項目的矩陣進(jìn)行相似度計算,項目之間沒有語義關(guān)系,因此可忽略項目與項目之間的關(guān)聯(lián)性問題,但在實際中某些事物之間存在著必然的聯(lián)系,如果能將項目之間的關(guān)聯(lián)性考慮進(jìn)去,勢必將使推薦精度得到提升。
針對傳統(tǒng)的協(xié)同過濾算法面臨的稀疏性問題和缺乏對不同項目之間語義相似度考慮的缺點,提出基于本體的個性化協(xié)同過濾算法。其主要思想內(nèi)容如下。
3.1基于規(guī)則推薦降低數(shù)據(jù)稀疏性
通過上文介紹可知數(shù)據(jù)的稀疏性在很大程度上決定著推薦系統(tǒng)的好壞,因此首要目的是增加數(shù)據(jù)信息量,從而解決數(shù)據(jù)的稀疏性?;诒倔w的規(guī)則推薦技術(shù),可通過定義規(guī)則,挖掘用戶潛在的興趣,通過關(guān)聯(lián)規(guī)則進(jìn)行推薦,利用推薦的結(jié)果對本體進(jìn)行更新,從而降低數(shù)據(jù)稀疏性。圖3為基于本體的規(guī)則推薦框架圖。
圖3 基于本體規(guī)則推薦框架圖Fig.3 Recommendation framework based on ontology rules
在推理過程中,選擇Jena推理機(jī)來實現(xiàn)基于本體的規(guī)則推薦。它提供了一個處理RDF、RDFS、OWL的API接口,通過Java編程可實現(xiàn)對本體進(jìn)行操作,還可實現(xiàn)基于本體的規(guī)則推薦[6]。Jena推理機(jī)自身就具有一些基礎(chǔ)的推理規(guī)則[7]。但是僅僅這些規(guī)則遠(yuǎn)遠(yuǎn)滿足不了在現(xiàn)實推薦過程中的應(yīng)用。為了更好的進(jìn)行推理可依據(jù)自身需求定制自己的規(guī)則,建立特定的推理規(guī)則,用于滿足特定領(lǐng)域的個性化需求。
3.2項目之間語義相似度
通過基于本體規(guī)則推薦解決了數(shù)據(jù)的稀疏性,但是由于還存在缺乏對不同項目之間語義相似度的考慮的缺點,因此引入了本體語義相似度計算思想,將項目之間語義相似度與協(xié)同過濾算法相結(jié)合來提高相似度的精確度。
基于距離的語義相似度算法[8]是通過計算2個詞語在本體中的路徑長度來表示其之間的語義距離,代表算法有:Shortest Path法、Weighted Links法、Lietal法、LeacockandChodorow法等[9]。其中LeacockandChodorow法,不僅考慮到了本體概念之間的距離,還考慮了本體分類體系樹自身的深度對被比較概念詞相似度的影響,因此本文選擇了Leacock and Chodorow法作為本體語義相似度計算的算法。詳細(xì)定義為
其中:Anc(w1,w2)表示節(jié)點w1和節(jié)點w2在層次網(wǎng)絡(luò)中的最近共同祖先節(jié)點;Nlinks[w1,w2]表示節(jié)點w1和節(jié)點w2在層次網(wǎng)絡(luò)中的最短距離;dmax為網(wǎng)絡(luò)的最大深度。
3.3基于本體的個性化協(xié)同過濾算法
通過上文對傳統(tǒng)協(xié)同過濾系統(tǒng)的介紹和缺點分析,針對這些缺點本文提出了新的方法思路,通過分析現(xiàn)有的技術(shù)、方法,最終本文確定了基于本體的個性化協(xié)同過濾算法思想,即通過基于本體規(guī)則推薦來降低數(shù)據(jù)的稀疏性,然后通過語義相似度和協(xié)同過濾相似度的結(jié)合來提高相似度的計算。如圖4所示。
圖4 基于本體的個性化協(xié)同過濾算法流程圖Fig.4 Personalized collaborative filtering algorithm flowchart based on ontology
基于本體的個性化協(xié)同過濾算法推薦步驟如下:①整理數(shù)據(jù)構(gòu)建本體;②根據(jù)Jena規(guī)則構(gòu)建標(biāo)準(zhǔn)和推理需求構(gòu)建規(guī)則;③利用Jena推理引擎實現(xiàn)基于本體的規(guī)則推薦,獲取推薦結(jié)果利用Jena提供的Api接口在Netbeans上編寫程序?qū)Ρ倔w進(jìn)行更新;④分別計算未知產(chǎn)品與其他已知產(chǎn)品的修正余弦相似度和語義相似度;⑤通過計算2個產(chǎn)品的修正余弦相似度和語義相似度的加權(quán)值,來獲取2個產(chǎn)品最終的相似度sim如式(4)所示;⑥最后計算產(chǎn)品的加權(quán)方法如式(2),來計算旅客對未知產(chǎn)品的評分;⑦求得的評分按照從高到低排列,取前K個進(jìn)行推薦。其中:sim(a,b)表示產(chǎn)品a和產(chǎn)品b的相似度;U表示旅客的集合;ru,a表示旅客u對產(chǎn)品a的打分;ru表示旅客u的平均打分;Anc(w1,w2)表示節(jié)點w1和節(jié)點w2在層次網(wǎng)絡(luò)中的最近共同祖先節(jié)點;Nlinks[w1,w2]表示節(jié)點w1和節(jié)點w2在層次網(wǎng)絡(luò)中的最短距離;dmax表示網(wǎng)絡(luò)的最大深度;α取值為0~1。
4.1數(shù)據(jù)集以及度量標(biāo)準(zhǔn)
本文采用前文構(gòu)建的民航附加服務(wù)領(lǐng)域本體作為數(shù)據(jù)基礎(chǔ),其中數(shù)據(jù)中包含了旅客的購買記錄,通過數(shù)據(jù)分析整理將旅客對每個產(chǎn)品進(jìn)行評分,評分等級為1~5。其中數(shù)據(jù)中包含2 000個旅客和180個服務(wù)項目的評分,并將數(shù)據(jù)按照4:1的比例來進(jìn)行訓(xùn)練集和測試集的劃分。
在對推薦的準(zhǔn)確度進(jìn)行評估時,主要有2種方法:平均絕對誤差MAE[10]和平方根誤差RMSE。本文采用MAE作為評價標(biāo)準(zhǔn)。假設(shè)預(yù)測的用戶評分值為{m1,m2,…,mi},實際評分值為{n1,n2,..,nj},定義如下
4.2實驗步驟
1)本體構(gòu)建
將構(gòu)建完成的民航附加服務(wù)領(lǐng)域本體作為推薦系統(tǒng)數(shù)據(jù)基礎(chǔ)。
2)關(guān)聯(lián)規(guī)則制定
依據(jù)Jena關(guān)聯(lián)規(guī)則構(gòu)建標(biāo)準(zhǔn)和民航附加服務(wù)領(lǐng)域個性化需求,以滿足旅客實際需求出發(fā),通過分析旅客購買心理和與領(lǐng)域?qū)<疑逃?,自定義規(guī)則分為3類:旅客相關(guān)規(guī)則類、產(chǎn)品相關(guān)規(guī)則類、旅客與產(chǎn)品相關(guān)規(guī)則類。其中部分旅客與產(chǎn)品規(guī)則類如下所示。
Rule1:(?a有興趣?b),(?b類似的?c)→(?a有興趣?c)
說明:假如旅客a對產(chǎn)品b有興趣,產(chǎn)品b與產(chǎn)品c是類似的,表明旅客a對產(chǎn)品c有興趣。
Rule2:(?a有興趣 ?b),(?b屬于 ?c)→(?a有興趣?c)
說明:假如旅客a對產(chǎn)品b有興趣,產(chǎn)品b屬于品牌c,那么認(rèn)為旅客a對品牌c有興趣。
Rule3:(?a年齡?b),(?b morethan 60)→(?a旅客聚類類型老人旅客)
說明:假如旅客a的年齡大于60歲,那么這位旅客就是老人旅客。
Rule4:(?a旅客聚類類型 老人旅客)→(?a有興趣無人陪伴服務(wù))
說明:假如旅客a是老人旅客,那么認(rèn)為旅客a對無人陪伴服務(wù)有興趣。
3)利用Jena推理機(jī)推理并更新本體
推理機(jī)在基于民航附加服務(wù)本體的推理中的工作過程為:①讀入創(chuàng)建的民航附加服務(wù)領(lǐng)域本體OWL文件;②通過推理機(jī)利用上述描述的民航附加服務(wù)規(guī)則來注冊創(chuàng)建推理機(jī);③將民航附加服務(wù)本體和推理機(jī)綁定到一起,進(jìn)而得到進(jìn)行檢索的模型對象(InfModel);④通過運(yùn)用已建立的模型對象并且借助Ontology API和Model API來進(jìn)行操作和處理,最后完成推理過程;⑤獲取推理結(jié)果利用Jena提供的API將推理結(jié)果更新本體。
4)相似度計算獲取最近鄰居集合
利用式(4)計算出未知產(chǎn)品與已知產(chǎn)品的相似度,然后通過將相似度排序,取前K個作為未知產(chǎn)品的最近鄰居。
5)計算用戶對未評分產(chǎn)品的評分
對求得的未知產(chǎn)品的最近鄰居的相似度進(jìn)行加權(quán)計算,如式(2),計算出旅客對未知產(chǎn)品的最終評分。
6)實現(xiàn)推薦
將旅客所對應(yīng)產(chǎn)品的相似度進(jìn)行從大到小排序,將前K個推薦給用戶,這就是本文最終推薦結(jié)果。本文將Jena提供的API和NetBeans與所構(gòu)建的民航附加服務(wù)推薦系統(tǒng)平臺相結(jié)合,推薦結(jié)果如圖5所示。
4.3實驗數(shù)據(jù)分析
實驗1由于在平均相似度式(4)~式(6)的計算中α的變化會改變協(xié)同過濾算法和語義相似度算法在相似度計算中所占比重,因此α取值可能會影響推薦的準(zhǔn)確度。在本實驗中本文選擇產(chǎn)品近鄰個數(shù)K取整數(shù)1~40之間進(jìn)行試驗,其中間隔為5,并且通過調(diào)節(jié)α的變化來觀察MAE的變化,其中α變化范圍為0~1,變化間隔為0.1,其中當(dāng)K=30時效果最好,結(jié)果如圖6所示。
圖5 基于本體的民航附加服務(wù)混合推薦系統(tǒng)推薦結(jié)果Fig.5 Recommended results of additional service of civil aviation hybrid recommendation system based on ontology
圖6 調(diào)節(jié)因子α對平均絕對誤差的影響Fig.6 Effect of regulatory weighting factor α on mean absolute error
根據(jù)圖6本文可以得出結(jié)果:當(dāng)近鄰個數(shù)K=30時,并且α取值為0.6時,MAE取值最小,即推薦效果最好。
實驗2在α=0.6的條件下,將基于民航附加服務(wù)本體的個性化協(xié)同過濾系統(tǒng)與傳統(tǒng)協(xié)同過濾算法和基于語義的協(xié)同過濾算法作對比,分別計算這3種推薦算法在最近鄰K等于5~30之間的平均絕對誤差,間隔為5,結(jié)果如圖7所示。
圖7 最近鄰數(shù)目對MAE的影響Fig.7 Effect of nearest passenger number on MAE
由圖7的實驗結(jié)果可知:本文所采用改進(jìn)算法計算得到的MAE值最小。這說明本實驗所設(shè)計的算法的推薦效果最好。
在構(gòu)建完成的民航附加服務(wù)本體的基礎(chǔ)上,通過分析和總結(jié)傳統(tǒng)協(xié)同過濾算法的不足,并針對其不足提出了基于本體的個性化協(xié)同過濾算法,通過專家決策制定了關(guān)聯(lián)規(guī)則,通過基于規(guī)則推薦,填充了旅客興趣的空白信息,降低了旅客興趣數(shù)據(jù)的稀疏性。然后引進(jìn)了本體的語義相似度計算,將兩種相似度計算方法相結(jié)合,提高了推薦的準(zhǔn)確度。將推薦算法運(yùn)用于民航附加服務(wù)領(lǐng)域本體。實驗結(jié)果證明,基于本體的個性化協(xié)同過濾算法有效地解決了傳統(tǒng)協(xié)同過濾系統(tǒng)存在的問題,并且明顯地提高了推薦的精度。
雖然本文通過構(gòu)建關(guān)聯(lián)規(guī)則降低了數(shù)據(jù)的稀疏度,但是規(guī)則的制定與構(gòu)建的好壞在很大程度上決定了推薦的準(zhǔn)確性,因此在未來需隨著民航附加服務(wù)發(fā)展,對關(guān)聯(lián)規(guī)則進(jìn)行不斷完善和改進(jìn),使推薦更加準(zhǔn)確、快捷。
[1]馬鐵勇.中國航空公司開展附加服務(wù)業(yè)務(wù)的政策研討[J].空運(yùn)商務(wù),2014(10):17-19.
[2]CHEN D.The CollaborativeFiltering Recommendation Algorithm Based on BPNeuralNetworks[C]//2009InternationalSymposium on Intelligent Ubiquitous Computing and Education,2009:234-236.
[3]TAO Y F,YI K,SHENG C,et al.Quality and Efficiency in High Dimens Ional Nearest Neighbor Search[C]//Proceedings of the 35th SIGMOD International Conference on Management of Data.Rhode Island,USA,2009:563-576.
[4]ADIBI P,LADANI B T.A Collaborative Filtering Recommender System Based on User’s Time Pattern Activity[C]//2013 5th Conference on Information and Knowledge Technology(IKT),2013:252-257.
[5]MITTAL N,NAYAK R,GOVILM C,et al.Recommender System Framework using ClusteringandCollaborative Filtering[C]//ThirdInternational Conference on Emerging Trends in Engineering and Technology,2010:555-558
[6]KIM J Y,JEONG D W,BAIK D-K.Ontology-based semantic recommendation system in home network environment[J].IEEE Transactions on Consumer Electronics,2009,55(3):1178-1184.
[7]HOSER B,HOTHO A,JASCHKE R,et al.Semantic Network Analysis of Ontologies[C]//Proceedings of ESWC 2006,LNCS 4011,Berlin:Spr-inger,2006:514-529.
[8]LEACOCK C,CHODOROW M.Word Net:An Electronic Lexical Database[M].MIT Press,1998:265-283.
[9]劉宏哲.文本語義相似度計算方法研究[D].北京:北京交通大學(xué),2012.
[10]MASEH,OHWADAH.ACollaborativeFiltering Incorporating Hybrid-Clustering Technology[C]//International Conference on Systems and Informatics(ICSAI 2012),2012:2342-2346.
(責(zé)任編輯:黃月)
Personalized collaborative filtering algorithm based on auxiliary service ontology of civil aviation
LIU Haohan,MA Tengfei,HE Huaiqing
(College of Computer Science and Technology,CAUC,Tianjin 300300,China)
Personalized ontology-based collaborative filtering algorithm is proposed,aiming at the short-comings of traditional collaborative filtering algorithm such as data-sparsity and lack of reflection to the semantic relationship of item itself.The method adopts Jena inference engine and constructs association rules based on ontology inference rules,and inference results are used to update ontology and complete the interest rating information of tourist to reduce the sparsity of tourist interest rating.Then the ontology semantic similarity is introduced to compute and combine the similarity of semantics and the similarity of collaborative filtering algorithm,improving the accuracy of similarity calculation after adding semantic similarity computation between items.Experiments prove that the hybrid recommendation technology effectively improves its accuracy.
auxiliary service of civil aviation;Jena;semantic similarity;collaborative filtering
TP3911
A
1674-5590(2016)03-0042-05
2015-04-01;
2015-04-23基金項目:天津市應(yīng)用基礎(chǔ)與前沿技術(shù)研究計劃重點項目(14JCZDJC32500);中國民航大學(xué)預(yù)研重大項目(3122013P003);中國民用航空局科技基金項目(MHRDZ201207)
劉浩翰(1966—),男,黑龍江富錦人,副教授,碩士,研究方向為民航信息智能處理.