潘璇 王雨嫣
摘要:從旅游推薦系統(tǒng)的研究與應(yīng)用現(xiàn)狀出發(fā),發(fā)現(xiàn)本異地差異的特點(diǎn)并沒有在國內(nèi)的旅游推薦系統(tǒng)中普及應(yīng)用。因此依據(jù)用戶的個(gè)性化偏好,以川渝的部分城市景點(diǎn)為基礎(chǔ),改進(jìn)的基于物品的協(xié)同過濾推薦為核心,搭建了考慮用戶是否來自于川渝地區(qū)這一本異地差異的個(gè)性化旅游推薦APP。
關(guān)鍵詞:旅游推薦;協(xié)同過濾;本異地差異。
1.背景
在新冠病毒疫情的爆發(fā)導(dǎo)致國人對(duì)國內(nèi)旅游需求不斷增長,大數(shù)據(jù)時(shí)代信息爆炸與用戶對(duì)信息的利用率反而下降的雙重背景下[1],提出了一種具有現(xiàn)實(shí)意義的個(gè)性化旅游推薦系統(tǒng),實(shí)現(xiàn)了一種更能符合用戶需求來進(jìn)行旅游景點(diǎn)推薦的APP。
2.算法介紹
2.1優(yōu)化的基于物品的協(xié)同過濾推薦算法
2.1.1 傳統(tǒng)的協(xié)同過濾推薦算法的缺點(diǎn)[2]
(1)用戶對(duì)物品評(píng)分非常稀疏,可能無法得到精準(zhǔn)的用戶相似性;
(2)隨著使用者和物品數(shù)目增多,計(jì)算復(fù)雜性也會(huì)增加導(dǎo)致系統(tǒng)性能變差;
(3)如果一個(gè)產(chǎn)品從來沒有被任何一個(gè)系統(tǒng)使用者進(jìn)行過評(píng)估,這個(gè)產(chǎn)品就不會(huì)成為被推薦的依據(jù)。
2.1.2 個(gè)性化環(huán)境下改進(jìn)的協(xié)同過濾推薦算法
在實(shí)際應(yīng)用中傳統(tǒng)的推薦算法通常會(huì)遇到冷啟動(dòng)問題。為此我們提出建立初始用戶必填的個(gè)性化表單,可有效解決冷啟動(dòng)問題。此外考慮到用戶的地域差異會(huì)導(dǎo)致相似用戶對(duì)同類型旅游景點(diǎn)產(chǎn)生不同程度的期望,該系統(tǒng)為每位用戶增添了地域?qū)傩?,以提高每位用戶?duì)推薦景點(diǎn)的滿意度。
3.系統(tǒng)設(shè)計(jì)
3.1系統(tǒng)需求分析
主要以川渝地區(qū)的部分城市景點(diǎn)構(gòu)建旅游推薦系統(tǒng),以改良的基于物品的協(xié)同過濾推薦算法為核心,設(shè)計(jì)一個(gè)更能符合用戶需求的個(gè)性化旅游推薦APP。
3.2系統(tǒng)總體功能設(shè)計(jì)
具體的系統(tǒng)功能結(jié)構(gòu)圖如圖3.1所示。
3.3系統(tǒng)詳細(xì)設(shè)計(jì)
3.3.1 功能模塊詳細(xì)設(shè)計(jì)
具體的功能流程設(shè)計(jì)如圖3.2所示。
3.3.2 改進(jìn)的協(xié)同過濾推薦算法設(shè)計(jì)
解決冷啟動(dòng)問題的具體做法如下。
(1)給用戶和旅游景點(diǎn)增加標(biāo)簽
每位用戶擁有風(fēng)格屬性和是否為川渝用戶屬性;每個(gè)旅游景點(diǎn)均有風(fēng)格屬性和是否火熱屬性。
(2)新用戶注冊后必須填寫個(gè)性化表單
該個(gè)性化表單的內(nèi)容為是否為川渝用戶和風(fēng)格屬性。隨后系統(tǒng)將內(nèi)容保存到服務(wù)器數(shù)據(jù)庫的用戶表里的相應(yīng)字段。
(3)按照表單內(nèi)容排序呈現(xiàn)旅游景點(diǎn)
根據(jù)當(dāng)前登錄用戶填寫的風(fēng)格類型對(duì)旅游景點(diǎn)進(jìn)行排序,與當(dāng)前登錄用戶風(fēng)格相同的景點(diǎn)排序靠前,優(yōu)先呈現(xiàn)給用戶。
下面依次闡明本文在具體實(shí)現(xiàn)改進(jìn)的基于物品推薦時(shí)的做法。
(1)尋找相似偏好用戶
本系統(tǒng)所使用的偏好信息是用戶“收藏”這一行為所產(chǎn)生的數(shù)據(jù)集,即協(xié)同過濾推薦中的隱性數(shù)據(jù)。當(dāng)用戶瀏覽到喜歡的景點(diǎn)時(shí)可對(duì)該景點(diǎn)進(jìn)行“收藏”;當(dāng)用戶不再喜歡該景點(diǎn)時(shí)可對(duì)其“取消收藏”,上述行為分別會(huì)增加、減少本系統(tǒng)所收集的該用戶偏好信息數(shù)據(jù)集中的數(shù)據(jù)。
(2)計(jì)算物品相似度
1)查看系統(tǒng)是否有當(dāng)前登錄用戶的偏好數(shù)據(jù)集。請求當(dāng)前登錄用戶的信息,然后遍歷數(shù)據(jù)庫中的用戶收藏表。若遍歷完成發(fā)現(xiàn)當(dāng)前登錄用戶沒有收藏,代表沒有刻畫該用戶偏好的數(shù)據(jù)集,則退出推薦流程;反之,則繼續(xù)推薦流程。
2)根據(jù)每位用戶收藏的景點(diǎn),先進(jìn)行分類計(jì)數(shù)再以類別為單位對(duì)其降序排序。連接數(shù)據(jù)庫中的用戶表,獲取每位用戶的UID,并保存到自定義的數(shù)組中。依次從數(shù)組里取出UID,遍歷收藏表,計(jì)數(shù)每位用戶收藏的各類型景點(diǎn);若當(dāng)前計(jì)數(shù)用戶就是現(xiàn)在的登錄用戶,那么在降序后把降序的結(jié)果單獨(dú)保存,作為一會(huì)兒對(duì)該用戶進(jìn)行推薦的依據(jù)。
3)根據(jù)每位用戶的top1和top2收藏,計(jì)算出最具有關(guān)聯(lián)性的物品組合。根據(jù)上一步得出的每位用戶收藏的景點(diǎn)的排序結(jié)果,依次統(tǒng)計(jì)top1和top2收藏的不同組合的個(gè)數(shù),計(jì)算完成后再對(duì)其進(jìn)行排序,得到最火熱的組合。
4)給用戶推薦景點(diǎn)。若用戶收藏的景點(diǎn)中有屬于最火熱組合里的其中一個(gè)類別,則為用戶推薦一個(gè)該組合中另外一個(gè)類別的景點(diǎn),其余情況則不推薦景點(diǎn)。在呈現(xiàn)時(shí),若用戶是川渝屬性,那么推薦的景點(diǎn)不僅滿足計(jì)算出的風(fēng)格后,還應(yīng)屬于非火熱屬性;反之則應(yīng)屬于火熱屬性。
4.結(jié)論
本系統(tǒng)考慮了本異地差異,對(duì)基于物品的推薦結(jié)果再次進(jìn)行了優(yōu)化。傳統(tǒng)的基于物品的協(xié)同過濾推薦算法,是一種大眾化的相似,如景點(diǎn)A和景點(diǎn)B相似,是因?yàn)檎麄€(gè)用戶群體中有很多用戶同時(shí)收藏這兩個(gè)景點(diǎn),假設(shè)目標(biāo)用戶收藏了景點(diǎn)A雖然推薦景點(diǎn)B看似合理,但是這個(gè)用戶是否真的有喜歡這個(gè)景點(diǎn)其實(shí)有待考量;在算法最后加入了本異地差異就考慮到了這一點(diǎn),在最后不僅合理的理由推薦給用戶,而且這個(gè)推薦的物品確實(shí)也考慮到了是否真的適合他。
References
[1]Milicevic,A.K.,Nanopoulos,A.&Ivanovic,M.Social tagging in recommender systems:a survey of the state-of-the-art and possible extensions.Artif Intell Rev 33,187–209(2010).
[2]Jia,Z.,Yang,Y.,Gao,W.,Chen,X.:User-based collaborative filtering for tourist attraction recommendations.In:International Conference on Computational Intelligence&Communication Technology,Ghaziabad,India(2015).
來源:訓(xùn)練計(jì)劃 + 項(xiàng)目編號(hào)S202010615101