摘 要:伴隨著智慧城市之智慧旅游建設,為了使數字旅游系統為不同游客提供個性化的服務,基于數據挖掘技術設計了一個旅游智能推薦子系統。文章介紹了系統的詳細分析與設計,并對核心數據挖掘模塊做了詳細介紹。
關鍵詞:智慧旅游;數字旅游;旅游智能推薦
1 引言
隨著城市智慧旅游的建設,旅游系統的旅游資源庫也逐漸龐大。如何整合這些旅游資源為游客提供一個智能化、個性化的服務,讓游客在短時間內找到自己想要的旅游信息,這就需要利用數據挖掘技術開發一個數字旅游服務智能推薦系統。該系統能夠根據游客的喜好、歷史訪問記錄或其他相似客戶信息為游客提供個性化的旅游服務。
2 系統設計
構建一個能充分利用秦皇島旅游資源,為游客推薦具有秦皇島特色旅游服務的系統是秦皇島旅游資訊服務實現個性信息化服務的有效手段。該系統運用數據挖掘技術根據需求信息結合歷史訪問記錄向游客推薦更符合用戶需求的旅游資源。通過該系統游客可以在世界的任何地方根據自己的喜好得到實時、動態和準確的旅游資源。
2.1 系統結構
該系統是基于java、Servlet、jsp、JDBC、數據庫等技術實現的以 Web 技術為核心的瀏覽器/服務器(B/S)模式的與平臺無關的大型旅游推薦系統。系統基于J2EE三層結構設計的,分為邏輯層、表達層和數據層。系統分為GUI(圖形用戶接口)、智能分析、推薦引擎、旅游資源庫、數據挖掘處理等幾個模塊。游客登錄網站后,系統智能分析模塊調用嵌入的Web挖掘算法根據游客以往的瀏覽記錄為用戶提供貼合用戶喜好的個性化頁面。而當用戶通過頁面輸入自己要查詢的信息關鍵詞提交后,智能分析模塊對用戶輸入的關鍵字進行分析,分析結果交給推薦引擎,經過數據挖掘處理模塊對系統用戶信息庫和旅游資源庫進行挖掘,得出推薦頁面集,最后將推薦內容返回給用戶。系統各個模塊之間相互依賴,互相交互得到個性化的推薦結果集。系統結構圖如圖1所示:
圖1 系統結構圖
2.2 系統功能
旅游智能推薦系統是秦皇島旅數字旅游系統的一個子系統,系統中嵌入了數據挖掘等技術實現了智能推薦功能,使系統可以根據用戶輸入需要的關鍵詞及用戶的訪問記錄為用戶感興趣的個性化推薦頁面集。具有以下方面的功能:
a.旅游詳細信息瀏覽。b.旅游資源庫更新。c.用戶查詢功能。
此功能包括兩個子功能:
a.分析輸入的檢索詞及用戶以往瀏覽記錄 b.通過嵌入的數據挖掘技術對數據進行分攤返回給用戶端感興趣的個性化頁面。
2.3 智能分析模塊設計
(1)獲取用戶需求,分析用戶訪問記錄;(2)響應用戶提交的搜索請求,通過關聯規則挖掘分析將列出對應的搜索結果以及相關鏈接返回給用戶。
2.4 推薦引擎設計
用戶與數據庫之間是通過推薦引擎模塊連接的,推薦引擎作為系統的一部分實施簡單運行在服務器端,推薦引擎模塊應用系統協同過濾推薦法來實現初始推薦功能。推薦引擎通過GUI模塊接受用戶需求,經過處理得到的數據立方體,在數據立方體上進行聯機分析。
2.5 數據挖掘處理模塊設計
系統實現智能推薦功能的主要模塊為數據挖掘處理模塊,此模塊繼承了多種成熟的數據挖掘算法。該模塊應用合理的數據挖掘算法通過對已有數據及資源庫進行數據收集、數據預處理、數據分析給用戶提供個性化的旅游服務。
2.5.1 數據收集
數據預處理的前提就是做好數據收集,收集的數據源包括頁面、日志以及用戶的訪問記錄和旅游資源庫的數據,分析這些數據,為數據挖掘做好充分準備。
2.5.2 數據預處理
數據分析之前需要對收集到的數據做預處理,處理成符合算法的數據集。數據預處理包括數據清洗、數據集成、數據選擇和數據變換四部分。數據清洗是對收集的數據進行預處理、抽取、過濾和組織重構等操作,通過數據清洗將數據整理成具有一定主題的主題數據庫,如中原山水、紅色之旅等,為進一步數據挖掘提供數據基礎。數據集成將不同的數據源合并成一致的數據存儲,對不同城市的旅游資源包括旅游路線、就去景點、酒店預訂、車票預訂等進行數據分析,按照數據的相似性進行集成。數據選擇通過一定的算法刪除數據集中的冗余數據,達到壓縮數據的目的。數據轉換將數據經過合適的規范化算法整理成適合不同數據挖掘算法合適的數據形式。通過對數據進行預處理可以降低數據挖掘處理的時間,提高數據挖掘的質量,進而提高系統的效率。數據預處理是數據挖掘模塊必不可少的階段,預處理的結果直接影響著系統推薦的質量。
2.5.3 數據分析
數據分析主要由成熟數據挖掘算法組成。通過數據挖掘算法對處理好的數據進行挖掘,挖掘出符合用戶需求的規則,并通過推薦引擎將分析的結果處理成個性化的推薦頁面返回給瀏覽器端。我們的系統暫時集成了聚類和關聯規則挖掘算法。
2.6 開放性智能推薦系統接口設計
為了提高系統的可擴展性,使系統可以不斷的集成先進的數據挖掘算法,我們定義一組標準的接口供各類人員繼承和調用。接口依據Java 語言中的 interface 類型來進行定義了,所有實現此接口的算法實例都必須實現相應的方法,從而為各種算法的實現提供了統一的規范,使得不同數據算法可以方便快速的集成。系統中的接口定義如下:
public interface IRSystem {
public String getAlgorithmName();// 數據挖掘算法名稱
public String getCName();//獲取所屬公司名稱
public String getAlgorithmDescription();// 獲取算法詳細描述
public String[] getRecoSets ();//獲取推薦結果
public String[] getRecoSets(String[]Keys); // 根據輸入的關鍵詞獲取推薦結果
public void init(String configFile); // 根據配置文件對當前推薦方法進行初始化
}
3 結束語
基于數據挖掘技術的旅游智能推薦系統,能夠滿足用戶的個性化需求,可以智能化的向用戶推薦感興趣的旅游服務,對建設智慧旅游有著重要的意義?,F有系統僅僅集成了K-聚類、貝葉斯、關聯規則等幾種成熟的推薦算法,隨著數據挖掘算法人員的研究會有更好更有效率的挖掘算法出現,為了使系統能夠很好的擴展這些算法,我們提供了標準的接口來實現這一功能,提高了系統的可擴展性。
參考文獻
[1]張晗,潘正運,張燕玲.智能“旅游電子超市”的研究與設計[J].微計算機信息.2005.12,3.
[2]黃解軍,潘和平,萬幼川.數據挖掘技術的應用研究[J].計算機工程與應用,2003.2,45-48.
[3]錢衛寧,魏藜,王焱,錢海蕾,周傲英.一個面向大規模數據庫的數據挖掘系統[J].軟件學報,2002.8,1540-1545頁.
[4]姚罡,麥永浩,黨選舉,數據挖掘在電子商務推薦系統中的應用設計[J].計算機與自動化,2002.12,39-41頁.
[5]曾春,邢春曉,周立柱,個性化服務技術綜述[J].軟件學報,2002,13(10),1952-1961.
作者簡介:趙鳳霞(1982,10-),女,河北省秦皇島市人,講師,碩士研究生,主要研究方向:人工智能,數據挖掘,軟件工程。