范寶梅,韓 勇,齊永陽
(中國海洋大學信息科學與工程學院,山東青島 266100;中國海洋大學海洋信息技術教育部工程研究中心,山東青島 266100)
個性化電子地圖中用戶信息訂制服務的實現
范寶梅,韓 勇,齊永陽
(中國海洋大學信息科學與工程學院,山東青島 266100;中國海洋大學海洋信息技術教育部工程研究中心,山東青島 266100)

針對個性化電子地圖中的用戶訂制信息服務,從信息分類、信息挖掘及地圖中信息標注的添加等幾個方面對用戶信息訂制服務的關鍵技術及實現方法進行了詳細的介紹,并在實際應用中對功能進行了設計和實現。
個性化;電子地圖;信息訂制
隨著互聯網技術快速發展,信息資源迅猛增長,傳統的電子地圖服務無法為用戶主動提供信息服務,從而使用戶獲取信息的效率比較低。如何使電子地圖在提供可視化信息的基礎上為用戶提供更加符合其需求的信息,提高用戶獲取信息的效率,成為需要解決的問題之一。國內外提出了各種信息提供策略,其中行之有效的方法就是根據用戶需求篩選出用戶所需要的信息,即建立面向用戶的個性化服務機制[1],將用戶個性化服務機制應用于電子地圖中,出現了針對用戶需求的個性化電子地圖,用戶可以根據需要在地圖上添加、編輯標注。然而隨著個性化電子地圖的應用廣泛化,用戶需求的復雜化為電子地圖服務提出更高的要求,為使電子地圖能夠主動為用戶提供信息,提高用戶獲取信息的效率,用戶信息訂制服務成為個性化電子地圖發展的一個重要趨勢和特點。
在個性化電子地圖中增加用戶信息訂制服務,即根據用戶的偏好通過數據挖掘技術從網絡中獲取相關信息,進行解析、規范,建立用戶信息庫,并利用Ajax技術從服務器端實時獲取數據,最終在電子地圖上可視化顯示。
1.1 數據挖掘技術
數據挖掘,就是從大量的、不完全的、有噪聲的、模糊的、隨機的數據中,提取隱含在其中的潛在有用信息和知識的過程[2]。Web數據挖掘就是利用數據挖掘技術從網絡文檔中發現和提取信息。由于Web中的數據為半結構化(即Web頁面具有描述層次,具有一定的結構性,但數據沒有特定的模型描述),因而基于Web的數據挖掘具有更強的挑戰性[3]。
網頁信息抓取技術是Web數據挖掘應用的一個方面,羅敖生對ASP實現網上數據自動抓取的研究屬于比較早的網頁信息抓取研究,主要是通過設計ActiveX控件將網頁下載到本地存儲為文本文件,然后抓取數據存入另一個文本文件,做進一步地分析,最終將數據存入數據庫[4]。該方法容易造成數據冗余,并使處理過程復雜化。清華大學的李剛等人提出了一種抓取鄰域相關的Web站點的方法,對傳統的聚焦爬蟲技術進行改進,能夠在較小的代價下準確地收集用戶所關心領域內的網站[5]。該方法所獲取的結果為覆蓋面比較廣,可以借鑒以獲取更全面的信息。劉書華等人利用PowerBuilder和SQLServer數據庫,提出了一種網頁數據抓取方法。該方法首先選定樣本網頁,對其中的樣本進行標記以形成信息抓取規則,進行數據抓取并直接存入數據庫,最終根據需要進一步分析和抽取[6]。由于提供相同類信息的網站結構具有相似性,因此該方法對本研究有一定的借鑒價值。
本文基于 PowerBuilder的網頁數據抓取算法對其進行改進,并與鄰域網站獲取方法相結合,來實現網頁信息的獲取,具體流程如圖1所示。
1)首先將各類信息對應的關鍵字發送到網絡中的搜索引擎進行查詢,得到一系列網頁列表,作為進一步處理的輸入。
2)對第一步中獲取的網站進行檢查,來判斷是否為需要的相關網站,將獲取的URL存入相應的文本文件中,作為網頁信息抓取的資源網站。
3)由于同一站點的同類數據信息的HTML結構相似,因此針對每一個站點選定一個樣本頁面,生成網頁抓取規則,以關鍵詞“青島最新影訊”在百度中搜索到的“青島影訊網站(http://www.5yi.com/movie/qingdao)”為例(如圖2所示)。

圖1 網頁信息抓取流程圖

圖2 青島影訊網樣本頁面
4)預定義模式,對于“青島影訊”,可以定義的模式信息為:影院名稱、電影名稱、類型、上映時間、地址等,為后期的數據抓取做準備。
5)設定抓取規則,對于預定義模式中的每個屬性定義抓取規則,首先定義第K個屬性的左右標識分別為begin_k_str、end_k_str,字符長度為len_k,起始、結束位置分別為begin_k、end_k,以“電影名稱”為例,規則設定如下:


6)執行抓取,首先讀取文本文件中的鏈接,利用HttpWebRequest對象獲取網頁內容,然后按照第5步中設定的規則進行抓取,最終將抓取的數據存入數據庫。
1.2 Ajax技術
Ajax技術結合了 Javascript、XML及 XMLHttp-Request等技術,系統通過 Ajax引擎向服務器請求數據,服務器端向Ajax引擎返回其可用的XML或Json格式的數據,當Ajax引擎收到服務器響應時,會觸發一些操作進行數據解析并進行其他的前臺操作[7]。
在本研究中,服務器端和客戶端的數據傳輸和處理的詳細流程如圖3所示。

圖3 A jax數據交互流程圖
1)客戶端請求數據。在地圖初始化時,創建XMLHttpRequest對象向服務器端請求數據,并傳遞相關的請求參數。
2)服務器端獲取數據。服務器端根據客戶端傳遞的參數和請求設定查詢條件進行數據查詢,并將查詢結果數據組織為Json數據格式,傳回客戶端。
3)客戶端處理數據。將服務器端傳遞的數據解析,并添加為地圖標注的屬性值,以完成地圖標注的創建。
2.1 用戶信息需求獲取及分析
了解和獲取用戶需求是實現用戶訂制信息服務的前提和基礎。主要有兩種方法用以獲取用戶興趣點:①對用戶訪問記錄進行分析,獲取用戶需求和興趣信息;②通過人機交互模式獲取用戶的信息需求 [8]。由于第一種方法獲取的信息范圍廣泛且較雜亂,在應用中不利于信息的組織和顯示,因此采用第二種方法,在用戶注冊時增加一個用戶信息訂制頁面,提供信息資源供用戶選擇(訂制)(如圖4所示)。

圖4 用戶信息訂制頁面
2.2 網頁信息抓取
將抓取的信息存入數據庫后,還需要為每一條信息添加坐標屬性:根據 poi信息表,對信息的“Title”和“Details”字段進行匹配檢索,查找對應的poi并提取坐標,存入各條信息對應的坐標字段中。

圖5 抓取結果樣例
2.3 標注添加
最后將獲取的信息在前臺顯示。由于本研究應用的項目采用Map Easy開源框架,因此這里僅就該框架中標注的創建方法進行介紹。
Map Easy電子地圖框架是基于瓦片預生成技術的開源項目,實現了基本的數字地圖功能和簡單的地物標注等[9]??蚣鼙旧頉]有與后臺數據庫交互的功能,需要通過Ajax技術與服務器端交互,獲取服務器端的數據,在前臺進行標注的創建和顯示。
在Map Easy框架中添加標注主要通過創建Marker、注冊Marker及添加Marker3個步驟:
1)創建Marker。Marker的創建是在Overlay類中實現,包括Marker的id、顯示信息、經緯度坐標等屬性信息和一些方法的定義。
2)注冊Marker。創建完成后,需要在MarkerWidget類中對創建的Marker進行注冊。這個過程中主要是定義標注添加方法并設置標注的大小、顯示圖標等。
3)添加 Marker。將 Marker創建并注冊后,利用Ajax獲取的數據在前臺實例化Marker,最后執行標注添加的方法將標注添加到地圖中。
2.4 收藏夾定位
為進一步提高用戶使用的便捷性,添加了收藏夾功能:
1)用戶點擊標注信息框中的收藏按鈕,彈出對話框,用戶填寫收藏的標題,點擊確定后,將該標注添加到收藏夾;
2)用戶打開收藏夾時,所收藏的內容顯示在收藏夾中,用戶可以刪除不需要的收藏;
3)用戶點擊收藏夾中的標題時,系統將地圖中心移至該標題對應的位置,實現快速定位。
在項目應用中實現的效果如圖6所示。

圖6 系統界面
在提供電子地圖服務的基礎上將數據挖掘技術和Ajax技術相結合,設計并實現了用戶信息訂制服務,使用戶能夠比較快速準確地獲取所需信息,為個性化電子地圖中用戶信息訂制服務的實現提供了一定的參考。
在網頁信息抓取中所涉及到的如何通過盡量少的網站獲取盡可能多的信息還需要進一步的研究和探索。
[1] 趙水森.基于因特網的個性化信息服務研究[J].中國圖書館學報,2003,29(146):20-24
[2] 王銳,馬德濤,陳晨.數據挖掘技術及其應用現狀探析[J].電腦應用技術,2007(69):20-23
[3] 周光睿,馬駿.初探數據挖掘技術在Web中的應用[J].電腦編程技巧與維護,2010(14):33-34
[4] 羅敖生.基于ASP實現網上數據的自動抓取[J].江蘇廣播電視大學學報,2002,13(6):59-61
[5] 李剛,周立柱,郭奇,等.鄰域相關的Web網站抓取方法[J].計算機科學,2007,34(2):137-140,148
[6] 劉書華,陳國奎.基于PowerBuilder的網頁數據抓取[J].計算機系統應用,2009,18(2):171-175
[7] 范阿南,朱教君,張忠輝.基于Ajax的WebGIS應用[J].遼寧工程技術大學學報:自然科學版,2010,29(3):494-497
[8] 張蓉,袁俊華.網絡個性化定制服務的用戶管理研究[J].圖書館學研究,2007(2):61-63,67
[9] 張雯 .基于Map Easy的數字地圖實現[J].湘南學院學報, 2010,31(2):69-72
Implementation of User Information Custom Service in Personalized Electronic Map
by FAN Baomei
The paperdescribed key technologiesand implementationmethodsof user information custom service in electronicmap in details,from theaspectof information classification,datam iningandmapmarkeradding,and designed and realized the functionmodules in implements.
personalization,electronicmap,information custom (Page:144)
P299
B
1672-4623(2011)02-0144-03
2010-10-25
項目來源:成都市高新區科技型中小企業技術創新資金資助項目;成都市南區科技發展計劃資助項目(2009-3-07-XX)。
范寶梅,碩士生,主要從事WebGIS方向的研究。