范寶梅,韓 勇,齊永陽
(中國海洋大學信息科學與工程學院,山東青島 266100;中國海洋大學海洋信息技術(shù)教育部工程研究中心,山東青島 266100)
個性化電子地圖中用戶信息訂制服務的實現(xiàn)
范寶梅,韓 勇,齊永陽
(中國海洋大學信息科學與工程學院,山東青島 266100;中國海洋大學海洋信息技術(shù)教育部工程研究中心,山東青島 266100)
針對個性化電子地圖中的用戶訂制信息服務,從信息分類、信息挖掘及地圖中信息標注的添加等幾個方面對用戶信息訂制服務的關鍵技術(shù)及實現(xiàn)方法進行了詳細的介紹,并在實際應用中對功能進行了設計和實現(xiàn)。
個性化;電子地圖;信息訂制
隨著互聯(lián)網(wǎng)技術(shù)快速發(fā)展,信息資源迅猛增長,傳統(tǒng)的電子地圖服務無法為用戶主動提供信息服務,從而使用戶獲取信息的效率比較低。如何使電子地圖在提供可視化信息的基礎上為用戶提供更加符合其需求的信息,提高用戶獲取信息的效率,成為需要解決的問題之一。國內(nèi)外提出了各種信息提供策略,其中行之有效的方法就是根據(jù)用戶需求篩選出用戶所需要的信息,即建立面向用戶的個性化服務機制[1],將用戶個性化服務機制應用于電子地圖中,出現(xiàn)了針對用戶需求的個性化電子地圖,用戶可以根據(jù)需要在地圖上添加、編輯標注。然而隨著個性化電子地圖的應用廣泛化,用戶需求的復雜化為電子地圖服務提出更高的要求,為使電子地圖能夠主動為用戶提供信息,提高用戶獲取信息的效率,用戶信息訂制服務成為個性化電子地圖發(fā)展的一個重要趨勢和特點。
在個性化電子地圖中增加用戶信息訂制服務,即根據(jù)用戶的偏好通過數(shù)據(jù)挖掘技術(shù)從網(wǎng)絡中獲取相關信息,進行解析、規(guī)范,建立用戶信息庫,并利用Ajax技術(shù)從服務器端實時獲取數(shù)據(jù),最終在電子地圖上可視化顯示。
1.1 數(shù)據(jù)挖掘技術(shù)
數(shù)據(jù)挖掘,就是從大量的、不完全的、有噪聲的、模糊的、隨機的數(shù)據(jù)中,提取隱含在其中的潛在有用信息和知識的過程[2]。Web數(shù)據(jù)挖掘就是利用數(shù)據(jù)挖掘技術(shù)從網(wǎng)絡文檔中發(fā)現(xiàn)和提取信息。由于Web中的數(shù)據(jù)為半結(jié)構(gòu)化(即Web頁面具有描述層次,具有一定的結(jié)構(gòu)性,但數(shù)據(jù)沒有特定的模型描述),因而基于Web的數(shù)據(jù)挖掘具有更強的挑戰(zhàn)性[3]。
網(wǎng)頁信息抓取技術(shù)是Web數(shù)據(jù)挖掘應用的一個方面,羅敖生對ASP實現(xiàn)網(wǎng)上數(shù)據(jù)自動抓取的研究屬于比較早的網(wǎng)頁信息抓取研究,主要是通過設計ActiveX控件將網(wǎng)頁下載到本地存儲為文本文件,然后抓取數(shù)據(jù)存入另一個文本文件,做進一步地分析,最終將數(shù)據(jù)存入數(shù)據(jù)庫[4]。該方法容易造成數(shù)據(jù)冗余,并使處理過程復雜化。清華大學的李剛等人提出了一種抓取鄰域相關的Web站點的方法,對傳統(tǒng)的聚焦爬蟲技術(shù)進行改進,能夠在較小的代價下準確地收集用戶所關心領域內(nèi)的網(wǎng)站[5]。該方法所獲取的結(jié)果為覆蓋面比較廣,可以借鑒以獲取更全面的信息。劉書華等人利用PowerBuilder和SQLServer數(shù)據(jù)庫,提出了一種網(wǎng)頁數(shù)據(jù)抓取方法。該方法首先選定樣本網(wǎng)頁,對其中的樣本進行標記以形成信息抓取規(guī)則,進行數(shù)據(jù)抓取并直接存入數(shù)據(jù)庫,最終根據(jù)需要進一步分析和抽取[6]。由于提供相同類信息的網(wǎng)站結(jié)構(gòu)具有相似性,因此該方法對本研究有一定的借鑒價值。
本文基于 PowerBuilder的網(wǎng)頁數(shù)據(jù)抓取算法對其進行改進,并與鄰域網(wǎng)站獲取方法相結(jié)合,來實現(xiàn)網(wǎng)頁信息的獲取,具體流程如圖1所示。
1)首先將各類信息對應的關鍵字發(fā)送到網(wǎng)絡中的搜索引擎進行查詢,得到一系列網(wǎng)頁列表,作為進一步處理的輸入。
2)對第一步中獲取的網(wǎng)站進行檢查,來判斷是否為需要的相關網(wǎng)站,將獲取的URL存入相應的文本文件中,作為網(wǎng)頁信息抓取的資源網(wǎng)站。
3)由于同一站點的同類數(shù)據(jù)信息的HTML結(jié)構(gòu)相似,因此針對每一個站點選定一個樣本頁面,生成網(wǎng)頁抓取規(guī)則,以關鍵詞“青島最新影訊”在百度中搜索到的“青島影訊網(wǎng)站(http://www.5yi.com/movie/qingdao)”為例(如圖2所示)。
圖1 網(wǎng)頁信息抓取流程圖
圖2 青島影訊網(wǎng)樣本頁面
4)預定義模式,對于“青島影訊”,可以定義的模式信息為:影院名稱、電影名稱、類型、上映時間、地址等,為后期的數(shù)據(jù)抓取做準備。
5)設定抓取規(guī)則,對于預定義模式中的每個屬性定義抓取規(guī)則,首先定義第K個屬性的左右標識分別為begin_k_str、end_k_str,字符長度為len_k,起始、結(jié)束位置分別為begin_k、end_k,以“電影名稱”為例,規(guī)則設定如下:
6)執(zhí)行抓取,首先讀取文本文件中的鏈接,利用HttpWebRequest對象獲取網(wǎng)頁內(nèi)容,然后按照第5步中設定的規(guī)則進行抓取,最終將抓取的數(shù)據(jù)存入數(shù)據(jù)庫。
1.2 Ajax技術(shù)
Ajax技術(shù)結(jié)合了 Javascript、XML及 XMLHttp-Request等技術(shù),系統(tǒng)通過 Ajax引擎向服務器請求數(shù)據(jù),服務器端向Ajax引擎返回其可用的XML或Json格式的數(shù)據(jù),當Ajax引擎收到服務器響應時,會觸發(fā)一些操作進行數(shù)據(jù)解析并進行其他的前臺操作[7]。
在本研究中,服務器端和客戶端的數(shù)據(jù)傳輸和處理的詳細流程如圖3所示。
圖3 A jax數(shù)據(jù)交互流程圖
1)客戶端請求數(shù)據(jù)。在地圖初始化時,創(chuàng)建XMLHttpRequest對象向服務器端請求數(shù)據(jù),并傳遞相關的請求參數(shù)。
2)服務器端獲取數(shù)據(jù)。服務器端根據(jù)客戶端傳遞的參數(shù)和請求設定查詢條件進行數(shù)據(jù)查詢,并將查詢結(jié)果數(shù)據(jù)組織為Json數(shù)據(jù)格式,傳回客戶端。
3)客戶端處理數(shù)據(jù)。將服務器端傳遞的數(shù)據(jù)解析,并添加為地圖標注的屬性值,以完成地圖標注的創(chuàng)建。
2.1 用戶信息需求獲取及分析
了解和獲取用戶需求是實現(xiàn)用戶訂制信息服務的前提和基礎。主要有兩種方法用以獲取用戶興趣點:①對用戶訪問記錄進行分析,獲取用戶需求和興趣信息;②通過人機交互模式獲取用戶的信息需求 [8]。由于第一種方法獲取的信息范圍廣泛且較雜亂,在應用中不利于信息的組織和顯示,因此采用第二種方法,在用戶注冊時增加一個用戶信息訂制頁面,提供信息資源供用戶選擇(訂制)(如圖4所示)。
圖4 用戶信息訂制頁面
2.2 網(wǎng)頁信息抓取
將抓取的信息存入數(shù)據(jù)庫后,還需要為每一條信息添加坐標屬性:根據(jù) poi信息表,對信息的“Title”和“Details”字段進行匹配檢索,查找對應的poi并提取坐標,存入各條信息對應的坐標字段中。
圖5 抓取結(jié)果樣例
2.3 標注添加
最后將獲取的信息在前臺顯示。由于本研究應用的項目采用Map Easy開源框架,因此這里僅就該框架中標注的創(chuàng)建方法進行介紹。
Map Easy電子地圖框架是基于瓦片預生成技術(shù)的開源項目,實現(xiàn)了基本的數(shù)字地圖功能和簡單的地物標注等[9]??蚣鼙旧頉]有與后臺數(shù)據(jù)庫交互的功能,需要通過Ajax技術(shù)與服務器端交互,獲取服務器端的數(shù)據(jù),在前臺進行標注的創(chuàng)建和顯示。
在Map Easy框架中添加標注主要通過創(chuàng)建Marker、注冊Marker及添加Marker3個步驟:
1)創(chuàng)建Marker。Marker的創(chuàng)建是在Overlay類中實現(xiàn),包括Marker的id、顯示信息、經(jīng)緯度坐標等屬性信息和一些方法的定義。
2)注冊Marker。創(chuàng)建完成后,需要在MarkerWidget類中對創(chuàng)建的Marker進行注冊。這個過程中主要是定義標注添加方法并設置標注的大小、顯示圖標等。
3)添加 Marker。將 Marker創(chuàng)建并注冊后,利用Ajax獲取的數(shù)據(jù)在前臺實例化Marker,最后執(zhí)行標注添加的方法將標注添加到地圖中。
2.4 收藏夾定位
為進一步提高用戶使用的便捷性,添加了收藏夾功能:
1)用戶點擊標注信息框中的收藏按鈕,彈出對話框,用戶填寫收藏的標題,點擊確定后,將該標注添加到收藏夾;
2)用戶打開收藏夾時,所收藏的內(nèi)容顯示在收藏夾中,用戶可以刪除不需要的收藏;
3)用戶點擊收藏夾中的標題時,系統(tǒng)將地圖中心移至該標題對應的位置,實現(xiàn)快速定位。
在項目應用中實現(xiàn)的效果如圖6所示。
圖6 系統(tǒng)界面
在提供電子地圖服務的基礎上將數(shù)據(jù)挖掘技術(shù)和Ajax技術(shù)相結(jié)合,設計并實現(xiàn)了用戶信息訂制服務,使用戶能夠比較快速準確地獲取所需信息,為個性化電子地圖中用戶信息訂制服務的實現(xiàn)提供了一定的參考。
在網(wǎng)頁信息抓取中所涉及到的如何通過盡量少的網(wǎng)站獲取盡可能多的信息還需要進一步的研究和探索。
[1] 趙水森.基于因特網(wǎng)的個性化信息服務研究[J].中國圖書館學報,2003,29(146):20-24
[2] 王銳,馬德濤,陳晨.數(shù)據(jù)挖掘技術(shù)及其應用現(xiàn)狀探析[J].電腦應用技術(shù),2007(69):20-23
[3] 周光睿,馬駿.初探數(shù)據(jù)挖掘技術(shù)在Web中的應用[J].電腦編程技巧與維護,2010(14):33-34
[4] 羅敖生.基于ASP實現(xiàn)網(wǎng)上數(shù)據(jù)的自動抓取[J].江蘇廣播電視大學學報,2002,13(6):59-61
[5] 李剛,周立柱,郭奇,等.鄰域相關的Web網(wǎng)站抓取方法[J].計算機科學,2007,34(2):137-140,148
[6] 劉書華,陳國奎.基于PowerBuilder的網(wǎng)頁數(shù)據(jù)抓取[J].計算機系統(tǒng)應用,2009,18(2):171-175
[7] 范阿南,朱教君,張忠輝.基于Ajax的WebGIS應用[J].遼寧工程技術(shù)大學學報:自然科學版,2010,29(3):494-497
[8] 張蓉,袁俊華.網(wǎng)絡個性化定制服務的用戶管理研究[J].圖書館學研究,2007(2):61-63,67
[9] 張雯 .基于Map Easy的數(shù)字地圖實現(xiàn)[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
項目來源:成都市高新區(qū)科技型中小企業(yè)技術(shù)創(chuàng)新資金資助項目;成都市南區(qū)科技發(fā)展計劃資助項目(2009-3-07-XX)。
范寶梅,碩士生,主要從事WebGIS方向的研究。