鮑紹武
(安徽工商職業(yè)學(xué)院信息工程學(xué)院 ,安徽 合肥 231131)
近年來(lái),旅游業(yè)蓬勃發(fā)展,旅游業(yè)與信息技術(shù)(Information Technology,IT)之間的技術(shù)合作也日趨成熟。在智慧旅游服務(wù)中,已使用諸如物聯(lián)網(wǎng)[1]、人工智能、大數(shù)據(jù)、無(wú)線(xiàn)傳感器網(wǎng)絡(luò)和近距離通信(NFC)等IT技術(shù)為游客提供準(zhǔn)確的旅行信息和豐富的旅行經(jīng)歷[2-3]。例如,游客可以下載休閑公園的應(yīng)用程序并預(yù)訂其游樂(lè)設(shè)施或設(shè)施的時(shí)隙。這樣可以縮短訪(fǎng)客排隊(duì)等候的時(shí)間,并提高設(shè)施的整體利用率和訪(fǎng)客滿(mǎn)意度。為了進(jìn)一步提高旅游管理和服務(wù)的效率、優(yōu)化旅客的出行體驗(yàn),結(jié)合人工智能和大數(shù)據(jù)的技術(shù),探討智慧旅游大數(shù)據(jù)分析模型的構(gòu)建,設(shè)計(jì)高效的推薦策略。
數(shù)據(jù)模型包含兩個(gè)主要實(shí)體:用戶(hù)(U)和旅游景點(diǎn)(O)。旅游景點(diǎn)可以是考古遺址的特定遺址、博物館內(nèi)展示的雕塑或圖片、市中心的歷史建筑和著名廣場(chǎng)等等。另外,旅游景點(diǎn)可以與特定的PoI相關(guān)聯(lián),該P(yáng)oI由一組地理坐標(biāo)定義。
對(duì)于旅游景點(diǎn)oi∈O,其標(biāo)注可以用元組ζoi=(a1,...,aN;b1,...,bM)表示,其中ai和bi分別是本體屬性和元數(shù)據(jù)。旅游景點(diǎn)的一個(gè)或多個(gè)附件(例如,與帖子相關(guān)的文本或發(fā)布的圖像的多媒體數(shù)據(jù))可以與給定的旅游景點(diǎn)相關(guān)聯(lián)。
關(guān)于用戶(hù),處理兩種不同類(lèi)型的信息:靜態(tài)信息記錄在用戶(hù)的配置文件中,而動(dòng)態(tài)信息則記錄在用戶(hù)數(shù)據(jù)日志中。
對(duì)于用戶(hù)ui,其用戶(hù)配置文件可以用元組?ui=(x1,...,xN;y1,...,yN)表示,其中xi和yi分別表示用戶(hù)的本體屬性和配置文件的元數(shù)據(jù)。
上述的數(shù)據(jù)模型構(gòu)成一個(gè)知識(shí)庫(kù),可以在其中分析用戶(hù)的信息以推斷特定用戶(hù)可能感興趣的旅游景點(diǎn)是什么。
知識(shí)庫(kù)可以用圖(V,E)表示,其中V是節(jié)點(diǎn)集合,節(jié)點(diǎn)可以是用戶(hù)、旅游景點(diǎn)、標(biāo)注等;E是邊的集合,邊代表節(jié)點(diǎn)之間的關(guān)系。
推薦策略的主要目標(biāo)是在用戶(hù)旅游的過(guò)程中推薦一系列的PoI。推薦策略由以下三個(gè)階段組成:(1)預(yù)過(guò)濾:在此階段,系統(tǒng)首先學(xué)習(xí)用戶(hù)的信息,即基于社交網(wǎng)絡(luò)分析得到有關(guān)的位置和興趣,并為用戶(hù)選擇可能感興趣的旅游景點(diǎn)子集。(2)排序:基于社交網(wǎng)絡(luò)行為的動(dòng)態(tài)知識(shí),為上一階段中選擇的旅游景點(diǎn)分配三個(gè)不同的分?jǐn)?shù),即興趣,情緒和流行度。(3)后過(guò)濾:在此階段,根據(jù)用戶(hù)的位置和基于文化吸引力和旅行本體的概率時(shí)空推斷,將這三個(gè)分?jǐn)?shù)組合在一起。
1.2.1 預(yù)過(guò)濾階段
所采用的機(jī)器學(xué)習(xí)技術(shù)計(jì)算每個(gè)對(duì)象相對(duì)于用戶(hù)配置文件的關(guān)聯(lián)概率:將具有大于給定閾值λ的旅游景點(diǎn)添加到子集C中。初始化子集C為空集,對(duì)于任意的o∈O,存在λ≥0,當(dāng)滿(mǎn)足下式的關(guān)系時(shí),將旅游景點(diǎn)o∈O加入集合C。
(1)
1.2.2 排序階段
排序旨在根據(jù)以下三個(gè)不同的排序標(biāo)準(zhǔn)對(duì)在預(yù)過(guò)濾階段得到的旅游景點(diǎn)進(jìn)行排序:
1)流行度:如果一個(gè)旅游景點(diǎn)的拍攝量最高,那么它可能很受歡迎;
2)情感:對(duì)于每個(gè)旅游景點(diǎn),排序的計(jì)算方法是情感的加權(quán)總和,計(jì)算所使用的算法是自然語(yǔ)言處理(NLP)中的情感分析算法。情感算法通過(guò)分析從社交網(wǎng)絡(luò)獲取的標(biāo)題、旅游景點(diǎn)類(lèi)型和作者來(lái)獲得旅游景點(diǎn)的情感。
3)興趣:此分?jǐn)?shù)是通過(guò)使用用戶(hù)數(shù)據(jù)日志計(jì)算的,應(yīng)用了類(lèi)似頁(yè)面排名的算法:主要思想是,如果大多數(shù)用戶(hù)訪(fǎng)問(wèn)過(guò)這樣的項(xiàng)目,那么旅游景點(diǎn)就會(huì)變得更加有趣。該任務(wù)計(jì)算知識(shí)庫(kù)中每個(gè)旅游景點(diǎn)的鏈接數(shù)(僅考慮從用戶(hù)類(lèi)型節(jié)點(diǎn)到旅游景點(diǎn)類(lèi)型節(jié)點(diǎn)的邊緣)。
1.2.3 后過(guò)濾階段
后過(guò)濾的目的是從推薦列表中過(guò)濾掉遠(yuǎn)離用戶(hù)位置并且對(duì)于給定用戶(hù)不感興趣的旅游景點(diǎn)。它由兩個(gè)子階段組成:
1)結(jié)合推薦集的計(jì)算排序,通過(guò)使用加權(quán)總和得出加權(quán)的總和,以獲得加權(quán)分?jǐn)?shù)總和的有序列表。
2)根據(jù)旅游景點(diǎn)的位置和用戶(hù)需求/興趣對(duì)其進(jìn)行排序:此階段分別比較被檢查的旅游景點(diǎn)與緊隨其后的旅游景點(diǎn)與被檢查的旅游景點(diǎn)與列表的其余部分之間的距離:如果相對(duì)于給定閾值,第一距離小于第二個(gè)距離,則列表已更新。此外,為了對(duì)用戶(hù)的需求/興趣進(jìn)行建模,采用了一種本體論方法。例如,如果用戶(hù)在午餐時(shí)間沿著一條文化路線(xiàn)前進(jìn),則該方法將自動(dòng)開(kāi)始推薦附近的餐廳。為了實(shí)現(xiàn)這一目標(biāo),在旅游景點(diǎn)中豐富了文化景點(diǎn)本體[4-5]。
本研究設(shè)計(jì)并實(shí)現(xiàn)一個(gè)基于大數(shù)據(jù)技術(shù)的多層體系結(jié)構(gòu)。為支持所描述的推薦策略的系統(tǒng)區(qū)分了以下層:數(shù)據(jù)獲取、知識(shí)庫(kù)、數(shù)據(jù)處理和應(yīng)用程序。
數(shù)據(jù)獲取層由兩個(gè)子層組成,即數(shù)據(jù)源子層和數(shù)據(jù)存儲(chǔ)子層。數(shù)據(jù)源子層的目的是從異構(gòu)數(shù)據(jù)源(例如,在線(xiàn)社交網(wǎng)絡(luò)和數(shù)字倉(cāng)庫(kù))中獲取數(shù)據(jù),以不同的視角提供旅游景點(diǎn)。在此階段,通過(guò)收集用戶(hù)的訪(fǎng)問(wèn)和操作來(lái)構(gòu)成用戶(hù)數(shù)據(jù)日志,通過(guò)對(duì)在線(xiàn)社交網(wǎng)絡(luò)上的用戶(hù)行為進(jìn)行分析來(lái)獲得用戶(hù)的喜好。最終,表現(xiàn)層狀態(tài)轉(zhuǎn)換(REST)API用于瀏覽CH固有的本體,并選擇連接到給定文化項(xiàng)目的對(duì)象,或使用基于關(guān)鍵字的搜索。
在數(shù)據(jù)存儲(chǔ)子層中,根據(jù)數(shù)據(jù)類(lèi)型和源,以不同的方式存儲(chǔ)數(shù)據(jù)。與文化項(xiàng)目(雕塑,繪畫(huà),博物館,歷史建筑等)相關(guān)的數(shù)據(jù)、相關(guān)的地理定位的信息(例如緯度和經(jīng)度)以及用戶(hù)數(shù)據(jù)日志和偏好設(shè)置存儲(chǔ)在NoSQL列式數(shù)據(jù)庫(kù)中以更好地處理異構(gòu)且海量的數(shù)據(jù)。而來(lái)自在線(xiàn)社交網(wǎng)絡(luò)的數(shù)據(jù)(例如用戶(hù)的反饋、照片、評(píng)分、心情等)將通過(guò)流處理存儲(chǔ)到NoSQL文檔數(shù)據(jù)庫(kù)中來(lái)構(gòu)建動(dòng)態(tài)知識(shí)。
KB層使用圖形數(shù)據(jù)庫(kù)根據(jù)本模型管理來(lái)自上一層的數(shù)據(jù)。采用了Neo4j數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)是一個(gè)開(kāi)放源的原子性、一致性、隔離性和持久性的事務(wù)數(shù)據(jù)庫(kù),用Java編寫(xiě)原生圖形存儲(chǔ)和處理。
數(shù)據(jù)處理層依靠大數(shù)據(jù)分析和數(shù)據(jù)挖掘技術(shù)來(lái)支持新穎的CH應(yīng)用程序。在這一層中,使用Spark框架從Cassandra、Neo4j和MongoDB數(shù)據(jù)庫(kù)中查詢(xún)數(shù)據(jù),并通過(guò)使用SparkML庫(kù)將本體數(shù)據(jù)與利用數(shù)據(jù)挖掘算法的本體數(shù)據(jù)結(jié)合起來(lái)進(jìn)行處理。
在應(yīng)用程序?qū)又?,可以使用由?shù)據(jù)處理層提供的API開(kāi)發(fā)的應(yīng)用程序,這些API可以實(shí)現(xiàn)以下功能:查詢(xún)數(shù)據(jù)檔案、執(zhí)行語(yǔ)義搜索以及執(zhí)行數(shù)據(jù)分析任務(wù)。
提供了一組專(zhuān)用API,以支持推薦應(yīng)用程序,這些應(yīng)用程序根據(jù)用戶(hù)所處的環(huán)境和用戶(hù)的偏好返回推薦的文化項(xiàng)目列表。預(yù)過(guò)濾和后過(guò)濾模塊可以直接在提供邊緣計(jì)算功能的設(shè)備上運(yùn)行。
實(shí)驗(yàn)所使用的文化數(shù)據(jù)是從官方資料庫(kù)中收集的,由大約473個(gè)文化物體組成,平均每個(gè)地區(qū)的文化物體數(shù)量為26個(gè))。這些文化物體主要由博物館、考古遺址和具有繪畫(huà)、雕塑和其他人工制品的文化景點(diǎn)組成。此外,這些數(shù)據(jù)以及相應(yīng)的元數(shù)據(jù)都可以通過(guò)API公開(kāi)訪(fǎng)問(wèn)。實(shí)驗(yàn)所使用的服務(wù)器配置有2個(gè)英特爾至強(qiáng)銀牌4214處理器,96GB內(nèi)存。實(shí)驗(yàn)所采用的評(píng)價(jià)指標(biāo)是平均絕對(duì)誤差(MAE)和均方根誤差(RMSE),其定義分別如下所示:
(2)
(3)
將推薦系統(tǒng)計(jì)算的預(yù)測(cè)的準(zhǔn)確性與基于用戶(hù)的Pearson correlation(UBPC)進(jìn)行了比較。 如圖1所示,本系統(tǒng)的MAE和RMSE均小于UBPC。原因是主要是本系統(tǒng)使用了KB,KB收集了有關(guān)旅游景點(diǎn)和用戶(hù)的信息,并將此信息與在排名階段從社交網(wǎng)絡(luò)獲得的信息相結(jié)合。而且由于提出了數(shù)據(jù)模型,本方法可以減少冷啟動(dòng)問(wèn)題的影響。我們觀(guān)察到,要獲得準(zhǔn)確的旅游景點(diǎn)列表以推薦給給定的用戶(hù),有必要立即擁有可以?xún)H過(guò)濾可能感興趣的對(duì)象的信息,以便將其傳遞到排名階段。所提出的系統(tǒng)成功地推論了用戶(hù)和/或?qū)ο螅驗(yàn)樯踔猎谧蛹膭?chuàng)建階段之前它就已經(jīng)具有關(guān)于這些信息。
圖1 MAE和RMSE對(duì)比
從人工智能的視角出發(fā),探討智慧旅游大數(shù)據(jù)分析模型的構(gòu)建問(wèn)題。提出了一種用于管理文化項(xiàng)目的大數(shù)據(jù)多層基礎(chǔ)模型,并設(shè)計(jì)了基于機(jī)器學(xué)習(xí)技術(shù)的推薦算法。使用真實(shí)數(shù)據(jù)集對(duì)本系統(tǒng)進(jìn)行實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)具有較好的性能。在未來(lái)的研究中,將會(huì)把本系統(tǒng)實(shí)現(xiàn)部署到真實(shí)的應(yīng)用場(chǎng)景,進(jìn)一步驗(yàn)證系統(tǒng)的有效性,并有針對(duì)性地做出相應(yīng)的改善。