• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于案例推理的浙江旅游智能推薦系統(tǒng)研究

      2019-11-22 10:07:35李維
      中國(guó)集體經(jīng)濟(jì) 2019年32期

      李維

      摘要:在智慧旅游的大目標(biāo)以及旅游網(wǎng)站功能落后的背景下,解決信息過(guò)載問(wèn)題的推薦系統(tǒng)引起學(xué)者的關(guān)注。文章以浙江省750個(gè)景點(diǎn)為例,基于案例推理法,通過(guò)多線程爬取、預(yù)處理旅游網(wǎng)站的數(shù)據(jù)來(lái)構(gòu)建旅游案例庫(kù)。系統(tǒng)基于Flask框架敏捷開(kāi)發(fā),設(shè)計(jì)了基于Word2Vec詞嵌入向量技術(shù)計(jì)算文本相似度的案例匹配算法,調(diào)用MongoDB數(shù)據(jù)庫(kù)索引以及Find引擎,實(shí)現(xiàn)了耦合層次的搜索,根據(jù)用戶的旅游偏好給用戶提供個(gè)性化旅游景點(diǎn)、游記等服務(wù)。

      關(guān)鍵詞:案例推理;旅游推薦系統(tǒng);文本相似度

      一、引言

      隨著旅游信息化的發(fā)展和智慧城市的建設(shè),智慧旅游成為我國(guó)各旅游目的地信息化建設(shè)的重點(diǎn)。而國(guó)內(nèi)的旅游網(wǎng)站基本停留在旅游產(chǎn)品的簡(jiǎn)單搜索上,服務(wù)項(xiàng)目比較單一,且旅游產(chǎn)品種類繁多,無(wú)法滿足人們對(duì)個(gè)性化旅游信息服務(wù)的需求。在智慧旅游的大目標(biāo)以及旅游網(wǎng)站的功能落后的背景下,可以解決信息過(guò)載問(wèn)題的推薦系統(tǒng)被廣大學(xué)者重視。傳統(tǒng)的推薦系統(tǒng)雖然已經(jīng)取得了不小的發(fā)展,但仍存在數(shù)據(jù)稀疏性、冷啟動(dòng)、行業(yè)特殊性等問(wèn)題。本文將案例推理法應(yīng)用到旅游推薦系統(tǒng)的研究中,通過(guò)與用戶交互,根據(jù)用戶的旅游偏好快速推薦出旅游目的地信息和游記信息,一定程度上改進(jìn)了現(xiàn)有旅游推薦系統(tǒng)存在的數(shù)據(jù)稀疏性和冷啟動(dòng)等問(wèn)題。

      二、旅游智能推薦系統(tǒng)的原理及技術(shù)

      (一)工作原理

      本旅游智能推薦系統(tǒng)的設(shè)計(jì)目標(biāo)有以下幾點(diǎn)。

      1. 根據(jù)用戶的旅游偏好,提供個(gè)性化旅游目的地信息和游記信息列表推薦服務(wù)。

      2. 實(shí)現(xiàn)用戶管理及后臺(tái)管理員職能。

      3. 系統(tǒng)功能模塊化,交互界面友好,快速響應(yīng),可拓展性強(qiáng)。

      根據(jù)案例推理的基本流程,先確定案例的表示方法,接著多線程爬取在線旅游網(wǎng)站的景點(diǎn)和游記數(shù)據(jù)并預(yù)處理,構(gòu)建旅游案例庫(kù)。然后基于Flask框架敏捷開(kāi)發(fā),在系統(tǒng)后端,設(shè)計(jì)了基于Word2Vec詞嵌入向量技術(shù)計(jì)算文本相似度的案例匹配算法,調(diào)用下層MongoDB數(shù)據(jù)庫(kù)索引以及Find引擎,實(shí)現(xiàn)了耦合層次的搜索。具體的工作原理有以下幾點(diǎn)。

      1. 對(duì)旅游目的地文獻(xiàn)進(jìn)行研究,構(gòu)造旅游偏好模型和旅游目的地模型,進(jìn)一步確定旅游案例的表示方法。

      2. 設(shè)計(jì)并實(shí)現(xiàn)基于Python語(yǔ)言的數(shù)據(jù)收集模塊,多線程爬取在線旅游網(wǎng)站的相關(guān)景點(diǎn)和游記信息。

      3. 根據(jù)系統(tǒng)的設(shè)計(jì)目標(biāo),設(shè)計(jì)并實(shí)現(xiàn)基于Python語(yǔ)言的數(shù)據(jù)預(yù)處理模塊,包括對(duì)數(shù)據(jù)進(jìn)行分類、清洗等進(jìn)一步處理,并構(gòu)建索引表即旅游案例庫(kù)。

      4. 基于Python Flask框架開(kāi)發(fā)系統(tǒng),采用前后端分離的MVC框架。在系統(tǒng)后端,構(gòu)建基于Word2Vec詞嵌入向量技術(shù)計(jì)算文本相似度的案例匹配算法,調(diào)用下層MongoDB數(shù)據(jù)庫(kù)索引以及Find引擎,實(shí)現(xiàn)了耦合層次的搜索,提供根據(jù)相似度排列的推薦結(jié)果。

      5. 實(shí)現(xiàn)用戶管理及后臺(tái)案例庫(kù)管理的管理員職能,根據(jù)用戶的瀏覽行為,修正旅游數(shù)據(jù)庫(kù)中的解決方案,完成案例庫(kù)的更新。

      (二)案例推理

      案例推理法(Case-based reasoning,簡(jiǎn)稱CBR)借鑒人類處理問(wèn)題的方式,運(yùn)用過(guò)往的經(jīng)驗(yàn)和知識(shí)解決問(wèn)題,成為了人工智能領(lǐng)域的一個(gè)研究熱點(diǎn)。案例推理法來(lái)源于認(rèn)知科學(xué):人類能把感知的信息傳達(dá)至大腦,大腦會(huì)將這些信息存儲(chǔ)起來(lái)。而今后遇到類似的問(wèn)題時(shí),這種被存儲(chǔ)的信息就為問(wèn)題的求解帶來(lái)可借鑒的參考經(jīng)驗(yàn)。CBR系統(tǒng)一般包括4個(gè)循環(huán)過(guò)程:檢索(Retrieve)、重用(Reuse)、修正(Revise)、保留(Retain)。CBR系統(tǒng)首先會(huì)對(duì)比問(wèn)題案例和先前案例的相似性,去先前案例庫(kù)里檢索出相似的案例來(lái)解決問(wèn)題案例,并修正先前的解法,而新的解決問(wèn)題的方法和問(wèn)題案例都會(huì)被系統(tǒng)記錄并存儲(chǔ),先前案例庫(kù)就得到了更新。這種增量式學(xué)習(xí)方法使得CBR系統(tǒng)的學(xué)習(xí)能力不斷提高。

      (三)自然語(yǔ)言處理之計(jì)算文本相似度

      互聯(lián)網(wǎng)迅猛發(fā)展,每時(shí)每刻都在產(chǎn)生大量的文本、圖片、音頻等數(shù)據(jù),自然語(yǔ)言處理(Natural Language Processing, NLP)技術(shù)可對(duì)數(shù)據(jù)進(jìn)行處理并挖掘其中的價(jià)值,廣泛應(yīng)用于語(yǔ)音合成、文本分類、詞性標(biāo)注等領(lǐng)域。文章中主要應(yīng)用了Word2Vec詞嵌入向量技術(shù)來(lái)計(jì)算文本相似度。Google在2013年提出Word2Vec詞向量訓(xùn)練算法,將詞轉(zhuǎn)換為實(shí)數(shù)向量。Word2Vec采用的詞向量是Hinton于1986年提出的Distributed Representation,其基本思想是通過(guò)訓(xùn)練,將某種語(yǔ)言中的每一個(gè)詞映射成一個(gè)固定長(zhǎng)度的向量。Word2Vec工具采用了CBOW(Continuous Bag-Of-Words)模型和Skip-gram模型。CBOW模型是根據(jù)上下文的詞計(jì)算中心詞的概率分布,在模型的訓(xùn)練中,耗時(shí)較短,句法分析的準(zhǔn)確率較高,但訓(xùn)練結(jié)果受限于上下文,難以正確反映在此范圍外的語(yǔ)義關(guān)系。而Skip-gram模型是通過(guò)中心詞來(lái)計(jì)算上下文的詞的概率,在模型的訓(xùn)練中由于計(jì)算量較大,耗時(shí)較長(zhǎng),但語(yǔ)義分析的準(zhǔn)確性較高。將文本表示成詞向量,文本的相似度就可以轉(zhuǎn)化為詞與詞的相似度。詞與詞的語(yǔ)義相似度可以通過(guò)向量余弦表示,相似度越高,余弦值越大。

      三、旅游案例庫(kù)的構(gòu)建

      (一)案例表示

      在案例推理中,案例的有效表示是案例推理運(yùn)行的基礎(chǔ)。常見(jiàn)的案例表示方法為<問(wèn)題描述,解決方案>的二元組形式,其中問(wèn)題描述是問(wèn)題發(fā)生的背景和原因,通過(guò)對(duì)比待解決案例和已有案例的問(wèn)題描述,實(shí)現(xiàn)案例的推理;解決方案是提供相似的已有案例的解決過(guò)程。本文首先構(gòu)建了旅游偏好模型。旅游偏好模型體現(xiàn)了游客對(duì)下一次旅游的興趣偏好,了解用戶的偏好是后續(xù)進(jìn)行推薦的基礎(chǔ)。本文在已有旅游目的地文獻(xiàn)研究基礎(chǔ)上,構(gòu)建了旅游偏好模型如下:<目的地類型,出發(fā)月份,出行天數(shù),出行人物,人均費(fèi)用,交通方式,住宿設(shè)施,餐飲方式>,其中目的地類型分為10類:自然景觀、歷史文化、紅色旅游、主題游樂(lè)、度假休閑、鄉(xiāng)村旅游、工業(yè)旅游、博物館、科技教育、其他;出發(fā)月份分為1~2、3~4等;出行天數(shù)分為3天以下、4~7天、8~14天、15天以上;出行人物分為一個(gè)人,和朋友,情侶/夫妻,帶孩子,其他;人均費(fèi)用分為1~999元、1000~5999元、6000~19999元、20000元及以上。

      接著構(gòu)建了旅游目的地模型。旅游目的地指的是能夠滿足游客游憩目的的地點(diǎn)。本文根據(jù)研究需要,構(gòu)建了旅游目的地模型如下:<景點(diǎn)名稱、景點(diǎn)簡(jiǎn)介、景點(diǎn)開(kāi)放時(shí)間、景點(diǎn)門(mén)票價(jià)格、交通線路、景點(diǎn)游記>,其中景點(diǎn)游記是過(guò)往游客記錄該旅游目的地的游覽經(jīng)歷。

      在已經(jīng)構(gòu)建的旅游偏好模型和旅游目的地模型的基礎(chǔ)上,本文將旅游案例表示為<{目的地類型,出發(fā)月份,出行天數(shù),出行人物,人均費(fèi)用,交通方式,住宿設(shè)施,餐飲方式}, {景點(diǎn)名稱、景點(diǎn)簡(jiǎn)介、景點(diǎn)開(kāi)放時(shí)間、景點(diǎn)門(mén)票價(jià)格、交通線路、景點(diǎn)游記}>,其中旅游偏好模型是案例的問(wèn)題描述,即待推薦用戶的偏好,旅游目的地模型是案例的解決方案,即根據(jù)待推薦用戶的偏好從案例庫(kù)中匹配出相似偏好的案例進(jìn)行推薦。

      (二)案例收集

      國(guó)內(nèi)熱門(mén)的旅游領(lǐng)域的垂直搜索引擎主要有馬蜂窩、攜程、去哪兒等,存有海量旅游目的地信息和游記信息。本文以知名旅游勝地浙江省為研究對(duì)象,目的是構(gòu)建基于CBR的浙江旅游智能推薦系統(tǒng)。由于馬蜂窩運(yùn)營(yíng)時(shí)間較早,旅游目的地攻略專業(yè),群眾基礎(chǔ)較大,游記信息量豐富,因此設(shè)計(jì)基于Python語(yǔ)言的網(wǎng)絡(luò)數(shù)據(jù)收集模塊,爬取馬蜂窩網(wǎng)站上浙江省景點(diǎn)及游記的文本信息。

      由于在線旅游網(wǎng)站反爬蟲(chóng),設(shè)置了IP訪問(wèn)量限制,如果單個(gè)IP在短時(shí)間內(nèi)大量訪問(wèn)網(wǎng)站將會(huì)被封禁。在網(wǎng)絡(luò)數(shù)據(jù)挖掘時(shí),本文將多線程(multithread)代理、隨機(jī)瀏覽器、代理IP地址三種反反爬蟲(chóng)技術(shù)進(jìn)行結(jié)合。首先多線程,代理IP地址,隨機(jī)User-Agent,隨機(jī)休眠,得到景點(diǎn)下所有游記鏈接,再多線程爬取每一篇游記的文本信息,最終得到浙江省景點(diǎn)共750個(gè),游記共6410篇,返回3個(gè)文檔:“馬蜂窩浙江景點(diǎn).csv“文檔中收集了景點(diǎn)名稱、景點(diǎn)介紹url、景點(diǎn)簡(jiǎn)介、景點(diǎn)下游記list的url;“merged_links.csv”文檔中收集了景點(diǎn)下游記list的url、具體游記url、游記標(biāo)題;”res“文件夾中以json格式返回了景點(diǎn)信息”interest.json”和游記信息”youji.json”,其中景點(diǎn)信息包括景點(diǎn)介紹url、交通線路、景點(diǎn)門(mén)票價(jià)格、景點(diǎn)簡(jiǎn)介信息、景點(diǎn)營(yíng)業(yè)時(shí)間,游記信息包括出行人物、出發(fā)時(shí)間、人均費(fèi)用、游記作者、出行天數(shù)、具體游記url。

      (三)案例分類和清洗

      先進(jìn)行案例分類。文章參照浙江省文化和旅游廳官網(wǎng)的景區(qū)及對(duì)應(yīng)景區(qū)類型信息,將“馬蜂窩浙江景點(diǎn).csv“文檔中的750個(gè)景點(diǎn)根據(jù)上節(jié)10類旅游目的地類型進(jìn)行歸類。對(duì)于浙江文旅官網(wǎng)有的景點(diǎn)名稱,直接引用景區(qū)類型,剩下沒(méi)有的,將結(jié)合景點(diǎn)介紹人為進(jìn)行分類,例如 “杭州蕭山國(guó)際機(jī)場(chǎng)”、“杭州東站”等歸為“其他”一類。最終整理得到“浙江景點(diǎn)及類型匹配表.xlsx”,并與“馬蜂窩浙江景點(diǎn).csv“文檔進(jìn)行合并,新增景點(diǎn)類型信息。

      接著進(jìn)行案例清洗。本小節(jié)做的是數(shù)據(jù)的初步清洗,主要是刪除爬取的文本信息中的網(wǎng)絡(luò)符號(hào)、無(wú)效字符以及重復(fù)的數(shù)據(jù)等。由于基于Python的爬蟲(chóng)爬取的是HTML格式的網(wǎng)頁(yè)數(shù)據(jù),保存時(shí)會(huì)帶有例如

      ,

      等HTML符號(hào),這些符號(hào)屬于噪聲數(shù)據(jù),在寫(xiě)入文檔前需要被過(guò)濾掉。本文在爬蟲(chóng)程序new_scrawler.py中引入BeautifulSoup庫(kù)解析網(wǎng)頁(yè),將HTML數(shù)據(jù)解析成對(duì)象來(lái)處理,將全部頁(yè)面轉(zhuǎn)變?yōu)樽值浠驍?shù)組,從而實(shí)現(xiàn)將網(wǎng)絡(luò)符號(hào)全部過(guò)濾。

      (四)案例庫(kù)的構(gòu)建

      1. 建立索引表

      一個(gè)景點(diǎn)鏈接對(duì)應(yīng)多個(gè)游記鏈接,即存在映射關(guān)系。將原始數(shù)據(jù)進(jìn)行匹配整合,新增一個(gè)空字典mapping{},根據(jù)映射關(guān)系向字典中增加景點(diǎn)和游記信息的鍵值對(duì)。在“馬蜂窩浙江景點(diǎn).csv”文檔和“merged_links”文檔中,以景點(diǎn)下游記list的url作為主鍵進(jìn)行匹配;在”res“文件夾和“merged_links”文檔中,以具體游記url為主鍵進(jìn)行匹配,最終將3張表中的信息進(jìn)行合并導(dǎo)入CSV文檔,得到索引表_V5,如結(jié)構(gòu)圖1所示。

      鑒于后續(xù)開(kāi)發(fā)的旅游智能推薦系統(tǒng)具備根據(jù)用戶輸入的旅游偏好:目的地類型、出發(fā)月份、出行天數(shù)、出行人物、人均費(fèi)用等檢索出符合條件的景點(diǎn)和游記信息,需要對(duì)索引表進(jìn)行以下處理。對(duì)于表中數(shù)值類型數(shù)據(jù)如出發(fā)時(shí)間、出行天數(shù)等要抽取出數(shù)值列,對(duì)于文本類型數(shù)據(jù)如目的地類型等無(wú)需處理,后續(xù)可直接調(diào)用find()函數(shù)查找。對(duì)于索引表中以字典形式{簡(jiǎn)介、交通線路、景點(diǎn)營(yíng)業(yè)時(shí)間、景點(diǎn)門(mén)票價(jià)格}存儲(chǔ)的景點(diǎn)信息,需拆開(kāi)獨(dú)立成列,以字符串格式呈現(xiàn)。

      為實(shí)現(xiàn)以上處理,設(shè)計(jì)了基于Python語(yǔ)言的數(shù)據(jù)預(yù)處理模塊。定義了split_csv()函數(shù):把索引表的interest_info中的類目拆開(kāi)單獨(dú)寫(xiě)入表格;將所有游記中出發(fā)時(shí)間、出行天數(shù)、人均費(fèi)用缺失為空的列記為-1000;把\n替換成‘

      、亂碼 替換成空格;把數(shù)據(jù)進(jìn)一步清洗,提取出int類型的出發(fā)月份,int類型的人均費(fèi)用,int類型的youji_day,最終得到索引表V_7。

      2. 構(gòu)建案例庫(kù)

      將索引表_V7寫(xiě)入進(jìn)MongoDB。MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。在MongoDB中新建Travel數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)游記信息,將原本存在硬盤(pán)的索引表_V7讀進(jìn)內(nèi)存。

      四、旅游智能推薦系統(tǒng)的實(shí)現(xiàn)

      (一)開(kāi)發(fā)環(huán)境

      實(shí)驗(yàn)采用的操作系統(tǒng)為Win10,開(kāi)發(fā)語(yǔ)言為Python 3.5,開(kāi)發(fā)環(huán)境IDE為Pycharm,網(wǎng)站主要是基于 Flask框架開(kāi)發(fā),采用前后端分離的MVC框架。使用的數(shù)據(jù)庫(kù)為MongoDB。

      (二)案例匹配

      為實(shí)現(xiàn)旅游智能推薦系統(tǒng),本文定義了兩個(gè)搜索引擎。第一個(gè)搜索引擎是根據(jù)用戶篩選旅游偏好:目的地類型、出發(fā)月份、出行天數(shù)、出行人物、人均費(fèi)用,調(diào)用下層MongoDB數(shù)據(jù)庫(kù)索引以及Find引擎,由于大量游記存在出發(fā)月份、出行天數(shù)、人均費(fèi)用中一個(gè)或多個(gè)缺失的情況,返回的檢索結(jié)果將包括所有符合篩選的偏好以及缺失該偏好的游記。第二個(gè)搜索引擎是基于Word2Vec詞嵌入向量技術(shù)的搜索引擎,根據(jù)用戶輸入的自定義旅游需求,計(jì)算其與第一個(gè)搜索引擎的搜索結(jié)果的文本相似度,將搜索結(jié)果按相似度由高到低推薦給用戶。該搜索引擎的基本原理是用Jieba模型將句子切割成詞組,用Word2Vec工具將詞組變成64維的向量,返回用戶輸入的旅游需求和第一次搜索結(jié)果的相似度打分并排序,按照順序返回前端頁(yè)面顯示,實(shí)現(xiàn)耦合層次的搜索。

      文章中計(jì)算文本相似度采用的是余弦相似性算法,詞組x和詞組y分別對(duì)應(yīng)m維詞向量和詞向量,二者的相似度為兩向量的余弦值,如公式(1),其中,表示向量的點(diǎn)積,||||表示向量的模。

      sim(x,y)=con(,)=(1)

      具體代碼函數(shù)實(shí)現(xiàn)如圖2所示。

      (三)案例庫(kù)更新

      用戶在輸入旅游偏好后,系統(tǒng)會(huì)推薦出符合偏好的旅游目的地和游記列表,如圖3所示。用戶對(duì)推薦結(jié)果的瀏覽點(diǎn)擊情況一定程度上可以反映對(duì)推薦結(jié)果的采納程度,對(duì)后續(xù)旅游案例庫(kù)的更新有一定的依據(jù)價(jià)值。在MongoDB數(shù)據(jù)庫(kù)新增一個(gè)User數(shù)據(jù)庫(kù)存儲(chǔ)用戶信息,將用戶注冊(cè)信息、用戶搜索記錄、用戶瀏覽歷史等信息寫(xiě)入。在網(wǎng)頁(yè)后端注冊(cè)管理員帳號(hào),實(shí)現(xiàn)管理員管理用戶和管理后臺(tái)案例庫(kù)的職能,可以根據(jù)用戶的瀏覽行為修正Travel數(shù)據(jù)庫(kù)中的解決方案,也可以往Travel數(shù)據(jù)庫(kù)中新增案例,從而實(shí)現(xiàn)案例庫(kù)的更新,完成CBR的增量式學(xué)習(xí)。

      五、結(jié)論

      通過(guò)對(duì)用戶的旅游偏好和旅游目的地建模,基于案例的推理方法,結(jié)合網(wǎng)絡(luò)爬蟲(chóng)技術(shù)構(gòu)建浙江省景點(diǎn)和游記案例庫(kù),結(jié)合深度學(xué)習(xí)構(gòu)建案例匹配算法,基于Flask框架設(shè)計(jì)并實(shí)現(xiàn)了基于案例推理的浙江旅游智能推薦系統(tǒng)。該系統(tǒng)根據(jù)用戶的偏好輸入,匹配旅游案例庫(kù)中的解決方案,提供旅游目的地信息和游記信息列表,給用戶提供個(gè)性化定制旅游景點(diǎn)、游記等服務(wù)。該系統(tǒng)具有良好的穩(wěn)定性和較強(qiáng)的可拓展性,對(duì)其他旅游目的地的研究也有一定的借鑒意義。

      參考文獻(xiàn):

      [1]Watson I. Case-based reasoning is a methodology not a technology[J].Knowledge-Based Systems,1999,12(5-6).

      [2]Rumelhart D E, Hinton G E, Williams R J.Learning representations by back-propagating errors[J].Nature,1986,323(6088).

      [3]Zahran M A, Magooda A, Mahgoub A Y, et al. Word Representations in Vector Space and their Applications for Arabic[M].Computational Linguistics and Intelligent Text Processing,Springer International Publishing,2015.

      [4]侯玉梅,許成媛.基于案例推理法研究綜述[J].燕山大學(xué)學(xué)報(bào)(哲學(xué)社會(huì)科學(xué)版),2011(04).

      [5]Shardanand U. Social Information Filtering:Algorithms for automating“word of mouth”[C].Proc. Conference on Human Factors in Computing Systems,Denver,CO.ACM Press,1995.

      (作者單位:同濟(jì)大學(xué)經(jīng)濟(jì)與管理學(xué)院)

      长春市| 南乐县| 广西| 阿坝| 静乐县| 瑞金市| 临泉县| 莲花县| 正安县| 云和县| 彰武县| 株洲市| 咸阳市| 类乌齐县| 策勒县| 从江县| 赣榆县| 若尔盖县| 十堰市| 青岛市| 北川| 合水县| 南昌市| 彭州市| 江川县| 庆云县| 黔西县| 沿河| 浦江县| 安阳县| 长垣县| 浙江省| 莱芜市| 梅河口市| 积石山| 潞西市| 拉萨市| 灵宝市| 宾阳县| 高台县| 敦煌市|