黃宇浩 顧得豪 胡炎林 周子楚 朱津毅 宋爽
摘? 要: 旅游網(wǎng)站上有著數(shù)不勝數(shù)的景點(diǎn)信息,但是對新用戶來說,網(wǎng)站缺少他們的瀏覽記錄、旅游經(jīng)歷等數(shù)據(jù),因此很難從眾多景點(diǎn)中精確推薦出適合他們的景點(diǎn)。本研究提出了一種通過標(biāo)簽挖掘和聚類算法快速構(gòu)建新用戶興趣模型的方法,以提高旅游推薦系統(tǒng)中新用戶的用戶體驗(yàn)感。
關(guān)鍵詞: 旅游推薦; 冷啟動(dòng); 網(wǎng)絡(luò)文本挖掘; 用戶聚類
中圖分類號:TP391.1? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ?文章編號:1006-8228(2023)05-88-03
Fast user interest modeling for new users using tag mining
techniques and clustering algorithm
Huang Yuhao, Gu Dehao, Hu Yanlin, Zhou Zichu, Zhu Jinyi, Song Shuang
(Nanjing University of Technology,School of Computer Science and Technology, Nanjing, Jiangsu 211816, China)
Abstract: There are countless tourism information on various travel websites, however, the lack of user data such as browsing history or travel experience makes it difficult to recommend the right point of interest for new users. In this paper, a method to quickly build a new user interest model using tag mining techniques and clustering algorithm is proposed to improve the user experience of new users in the travel recommendation system.
Key words: tourism recommendation; cold start; online text mining; user clustering
0 引言
旅游業(yè)是一個(gè)熱門行業(yè),但是由于缺少新用戶的數(shù)據(jù),旅游網(wǎng)站往往只能根據(jù)景點(diǎn)名、評論數(shù)、用戶評分計(jì)算景點(diǎn)的陳列順序[1],導(dǎo)致推薦效果不理想,用戶體驗(yàn)感差,不利于旅游服務(wù)的多樣化和個(gè)性化。
目前常見的新用戶興趣建模方法有兩種,第一種是問卷調(diào)查法,即采取問卷的形式獲取新用戶興趣,如提供由李克特五級量表構(gòu)成的選項(xiàng)供用戶選擇[2]。但是,大量的文字題目會(huì)增加用戶的負(fù)擔(dān),降低用戶體驗(yàn),所以不是最理想的手段。第二種是相關(guān)推薦法,即基于新用戶的個(gè)人信息和與其相似的老用戶的景點(diǎn)喜好實(shí)現(xiàn)推薦。這種方式無需用戶操作,但研究表明,如果年齡、性別等的人口統(tǒng)計(jì)學(xué)信息較為模糊,就不足以支持實(shí)現(xiàn)精細(xì)化、個(gè)性化推薦[3]。
綜合以上分析,本文提出一種基于標(biāo)簽內(nèi)容和聚類算法的快速興趣建模方法,通過讓新用戶選擇自己感興趣的景點(diǎn),快速分析用戶的景點(diǎn)偏好,從而緩解新用戶的冷啟動(dòng)問題。
1 系統(tǒng)設(shè)計(jì)
本系統(tǒng)總體分為用戶端和管理端,功能分類如圖1。
管理端實(shí)現(xiàn)了對用戶信息及景點(diǎn)信息的增刪改查操作;用戶端包括智能推薦模塊、熱門景點(diǎn)推薦模塊和景點(diǎn)評分模塊,可以查看景點(diǎn)推薦列表并對景點(diǎn)進(jìn)行評分。用戶在注冊時(shí),需要填寫個(gè)人信息,并在若干張預(yù)設(shè)圖片中選擇自己感興趣的景點(diǎn),系統(tǒng)通過逆向挖掘相應(yīng)景點(diǎn)的標(biāo)簽,計(jì)算出新用戶的興趣。
2 初始化算法設(shè)計(jì)與實(shí)現(xiàn)
2.1 數(shù)據(jù)采集
本研究以南京市的旅游景點(diǎn)為對象,使用了Python語言,基于爬蟲技術(shù)從貓途鷹(www.tripadvisor.com)、去哪兒旅行網(wǎng)(www.qunar.com)、百度百科(www.baike.baidu.com)和攜程網(wǎng)(www.ctrip.com)采集所有相關(guān)數(shù)據(jù)。數(shù)據(jù)由三部分組成:①景點(diǎn)基本信息的文本數(shù)據(jù),②景點(diǎn)評論及游記的文本數(shù)據(jù),③景點(diǎn)的圖片數(shù)據(jù)。采集時(shí)間是2022年7月至9月,最終采集到295個(gè)有效景點(diǎn),共計(jì)43531條評論和829張圖片。
2.2 標(biāo)簽制作與提取
針對景點(diǎn)評論、景點(diǎn)簡介等文本數(shù)據(jù),使用jieba分詞技術(shù)提取單詞后,去除停用詞,基于式⑴~式⑶計(jì)算TF-IDF值以構(gòu)建景點(diǎn)-標(biāo)簽庫[4]。
[TF-IDFi,t=TFi,t*IDFi,t]? ⑴
[TFi,t=ni,tnt]? ⑵
[IDFi,t=lgItI+1]? ⑶
其中,TFi,t表示景點(diǎn)i對標(biāo)簽t的依賴程度,ni,t是景點(diǎn)i的文本數(shù)據(jù)中標(biāo)簽t的出現(xiàn)次數(shù),nt是標(biāo)簽t在所有文本數(shù)據(jù)中的出現(xiàn)次數(shù)。IDFi,t表示標(biāo)簽t的熱門程度,用于實(shí)現(xiàn)對出現(xiàn)次數(shù)過多的熱門標(biāo)簽的懲罰,|I|是景點(diǎn)個(gè)數(shù),|It|是包括標(biāo)簽t的景點(diǎn)個(gè)數(shù)。最后,根據(jù)TF-IDF將標(biāo)簽降序排列,并計(jì)算TF-IDF值的累積和,取累計(jì)和小于50%部分作為有效標(biāo)簽。
2.3 基于聚類算法求初始化圖片
為了實(shí)現(xiàn)用盡量少的景點(diǎn)挖掘用戶對盡量多種類的標(biāo)簽的依賴性,本研究采用如下方法對景點(diǎn)進(jìn)行分類,并挑選每個(gè)類型的代表景點(diǎn)。
⑴ 對景點(diǎn)的每個(gè)標(biāo)簽的TF-IDF值進(jìn)行標(biāo)準(zhǔn)化和歸一化,使其值域?yàn)閇0,1]。
⑵ 基于碎石圖決定景點(diǎn)類型數(shù)量k,具體步驟是:首先,基于K-means聚類算法[5]將景點(diǎn)分成k類(k=2,3,4,…),計(jì)算每種分類結(jié)果中,各景點(diǎn)到相應(yīng)質(zhì)心的距離,取最小值作為該分類的評價(jià)值,取所有類型評價(jià)值的平均值作為分成k類時(shí)的評價(jià)值,最后根據(jù)圖2中的坡度變化選取了k=9。
⑶ 基于k-means聚類算法將全部景點(diǎn)分成九類。
⑷ 選取每類的代表景點(diǎn),該步驟設(shè)計(jì)思路如下:首先,用歐式距離公式計(jì)算每個(gè)景點(diǎn)i到對應(yīng)分類c質(zhì)心的距離sc,i;其次,對sc,i進(jìn)行z-score標(biāo)準(zhǔn)化得到dc,i后,使用式⑷計(jì)算分類c中景點(diǎn)i的評價(jià)值rc,i;最后,取每個(gè)分類中評價(jià)值最高的景點(diǎn)作為代表。式⑷中,ni代表景點(diǎn)i所包含的標(biāo)簽數(shù)。由于系統(tǒng)采用圖片展示景點(diǎn),所以設(shè)置α值作為判斷景點(diǎn)是否具備圖片數(shù)據(jù)的權(quán)重,即若有圖片則置為1,否則為0。
[rc,i=α×nidc,i]? ⑷
3 算法效果評估
3.1 評估方法
本研究采用仿真實(shí)驗(yàn)評估用戶興趣建模的效果。由于本實(shí)驗(yàn)選出了九個(gè)景點(diǎn)并采用“喜歡”和“不喜歡”兩種選項(xiàng),因此可以將用戶快速分成29=512種類型。本實(shí)驗(yàn)分為以下兩個(gè)子實(shí)驗(yàn)。
實(shí)驗(yàn)1 考察不同類型用戶的推薦結(jié)果間是否存在差異,即:針對每種類型的用戶,基于標(biāo)簽推薦算法計(jì)算出對應(yīng)的景點(diǎn)推薦列表,在此基礎(chǔ)上,計(jì)算任意兩組推薦結(jié)果的斯皮爾曼順位相關(guān)系數(shù);
實(shí)驗(yàn)2 考察不同類型用戶的推薦結(jié)果是否合理,即:按照旅游網(wǎng)站上列舉的景點(diǎn)歷史評論數(shù)由高到低計(jì)算出景點(diǎn)的熱門度排序,計(jì)算任意推薦結(jié)果與熱門度排序間的順位相關(guān)系數(shù)。
3.2 結(jié)果與討論
本實(shí)驗(yàn)使用了SPSS軟件對512種推薦結(jié)果進(jìn)行雙變量相關(guān)性分析。
實(shí)驗(yàn)1得到512×512組斯皮爾曼相關(guān)系數(shù),并從中除去了自相關(guān)的512個(gè)數(shù)據(jù)和重復(fù)數(shù)據(jù)(如x和y的相關(guān)系數(shù)與y和x的相關(guān)系數(shù)),結(jié)果的平均值為0.718,方差為0.085。這說明任意組合的排序有一定的相似但是存在差異,即采用本方法可以實(shí)現(xiàn)多樣化的推薦。同時(shí),結(jié)果中存在少量組合間的順位相關(guān)系數(shù)為1,這些組合對應(yīng)的是僅有一個(gè)景點(diǎn)選擇不同的兩類用戶,造成該現(xiàn)象的原因可能是景點(diǎn)數(shù)量較少,沒有足夠的景點(diǎn)來體現(xiàn)少量標(biāo)簽的差異,導(dǎo)致了標(biāo)簽興趣不同的用戶獲得的推薦結(jié)果相同,后續(xù)可以嘗試增加景點(diǎn)數(shù)量加以應(yīng)對。
實(shí)驗(yàn)2得到512個(gè)相關(guān)系數(shù),其平均值為0.827,方差為0.091,這說明本算法得出的推薦結(jié)果和熱門排序相具有一定的相似性,不是隨機(jī)推薦。同時(shí),推薦結(jié)果與熱門度排序的差異體現(xiàn)了針對不同用戶可以獲得個(gè)性化的推薦結(jié)果。
雖然本方法能夠快速的將用戶分類,但本研究沒有檢查用戶興趣和每種分類間的映射關(guān)系,因此后續(xù)還需進(jìn)行用戶評價(jià)實(shí)驗(yàn)。此外,本系統(tǒng)采用了“喜歡”和“不喜歡”兩極化選項(xiàng),若改為“喜歡-中性-不喜歡”等多級選項(xiàng)的話,可以實(shí)現(xiàn)更為細(xì)致的用戶劃分,對于選項(xiàng)設(shè)置對推薦結(jié)果的影響,還應(yīng)進(jìn)一步考察。
4 結(jié)束語
本文針對推薦系統(tǒng)無法快速、精準(zhǔn)建立新用戶興趣模型的問題,提出了一種基于標(biāo)簽挖掘和聚類算法的建模方法。經(jīng)過多次測試評估推薦結(jié)果,本方法能夠有效的實(shí)現(xiàn)對用戶的快速分類,獲得多樣化的推薦結(jié)果,并且該結(jié)果可以兼顧個(gè)性化與熱門度。若將該方法運(yùn)用在推薦系統(tǒng)中,可以在減少繁瑣的操作的同時(shí)獲得個(gè)性化的推薦景點(diǎn),提升新用戶的使用體驗(yàn),有利于提升網(wǎng)站的用戶留存率和用戶評價(jià)。但是,本研究僅僅針對了新用戶的冷啟動(dòng)問題進(jìn)行了處理,若想要整體改善用戶間推薦結(jié)果雷同的問題,還可以進(jìn)一步的加入?yún)f(xié)同過濾等推薦算法。
參考文獻(xiàn)(References):
[1] 劉艷,潘善亮.基于LBSN好友關(guān)系的個(gè)性化景點(diǎn)推薦方法[J].計(jì)算機(jī)工程與應(yīng)用,2015,51(8):117-122
[2] 漆亞莉.城鎮(zhèn)居民鄉(xiāng)村文化旅游消費(fèi)意愿影響因素研究——基于南寧市城鎮(zhèn)居民問卷調(diào)查數(shù)據(jù)[J].北京文化創(chuàng)意,2022(1):70-78
[3] 陳阿龍.推薦系統(tǒng)用戶冷啟動(dòng)問題相關(guān)研究[D].碩士,國防科學(xué)技術(shù)大學(xué),2016
[4] 熊中敏,郭懷宇,吳月欣.缺失數(shù)據(jù)處理方法研究綜述[J].計(jì)算機(jī)工程與應(yīng)用,2021,57(14):27-38
[5] 李明媚.基于數(shù)據(jù)特征選擇的融合聚類方法研究[D].碩士,杭州電子科技大學(xué),2022