999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于IKAnalyzer和Lucene的地理編碼中文搜索引擎的研究與實現

2014-06-24 14:33:30柴潔
城市勘測 2014年6期
關鍵詞:搜索引擎

柴潔

(重慶市勘測院航測遙感所,重慶 400020)

基于IKAnalyzer和Lucene的地理編碼中文搜索引擎的研究與實現

柴潔?

(重慶市勘測院航測遙感所,重慶 400020)

為實現帶有地址信息的屬性數據的空間化,依據數據采集相關規范和標準,通過建立地址模型中地理實體的一一對應關系組建空間參照數據庫,地理編碼索引建立以及搜索都基于多元分詞算法,因此研究采用IKAnalyzer中文分詞術實現詞庫的建立,基于Lucene開源框架開發出一套地理編碼系統,進而實現了地理編碼標準地址入庫、地址匹配搜索引擎正向、逆向、分級搜索、模糊查詢。

地理編碼;IKAnalyzer;Lucene;分級搜索;模糊查詢

1 引 言

目前,各行業領域的大部分業務信息都與地理空間位置有著密切聯系,而對這些數據的空間位置特征描述都是以中文語言文字的屬性記錄形式存在,未包含能夠確定其具體空間位置的坐標信息。在地理信息系統的展示及應用過程中,系統無法直接通過這些文字描述將其定位到實際的空間位置。因此,迫切需要通過某種手段,實現對帶有地址信息的屬性數據空間化[1~3]。

互聯網已經逐漸成為人們生活不可或缺的一部分,每天產生海量的信息中隱含著難以估量的地理信息,如何才能將其挖掘出來,值得我們思考與實踐。要整合大量歷史不規范的地名地址數據,不僅是技術層面的問題,還有部門之間的溝通協調、共享機制的問題。因此為有效利用地址編碼數據[4~6],應建立有效的、良性循環的地址編碼數據更新機制,建立地址編碼數據共享交換機制,保障數據的應用、更新與數據現勢性。

地理編碼是基于位置的應用服務系統的核心技術之一,負責將大量的地址信息通過地址匹配服務與空間地理信息相關聯。通過建立相應的地址編碼,實現對地址匹配[7~8],使得這些信息快速、準確的轉換為空間地理數據,從而實現空間與非空間信息的資源整合。地理編碼技術是實現大量管理信息(MIS數據)基于地理信息系統(GIS)空間定位和可視化分析應用的橋梁[9-11]。

本文采用了IKAnalyzer中文分詞技術和Lucene開源框架開發一套地理編碼系統,實現了地理編碼標準地址入庫、地址匹配搜索引擎正向、逆向、分級搜索、模糊查詢等功能。

2 地理編碼標準地址庫

2.1 可伸縮地址模型

國家標準《數字城市地理信息公共平臺地名/地址編碼規則》(GB/T23705-2009)中規定了不同粒度范圍地名/地址的描述規則,可以看做是一種在層次上可伸縮的地名/地址模型,如表1所示。

可伸縮地址模型中地址要素采用的地址級別 表1

可伸縮地址模型規則:

(1)存在門(樓)牌號時,使用“道路名(小區名)+門(樓)牌號”表述地址;

(2)存在標志物時,使用“行政區劃+標志物名”表述地址;

(3)第二種表述的標志物多于一個時,對行政區劃的粒度進行延伸,直至唯一確定此地址。

2.2 空間參照數據庫

空間參照數據庫是數據采集的規范和標準,也是地理編碼技術的核心基礎。空間參照數據庫組成地址模型中所包含的地理實體種類一一對應;按庫表結構依次錄入(批量導入)全市所有區縣、街道、道路、小區、標志物、門(樓)牌的名稱(簡稱、別名)和地理坐標即可構建一個城市的空間參照數據庫。地理編碼標準空間參照數據表結構如表2所示。

地理編碼標準空間參照數據表 表2

3 IKAnalyzer分詞算法與詞庫建立

IKAnalyzer是一個開源的、基于Java語言開發的中文分詞工具包,分詞器結構如圖1所示:

圖1 IKAnalyzer分詞器結構圖

本設計分詞算法流程建立如圖2所示:

地理編碼索引建立以及搜索都基于多元分詞算法,分詞效果的好壞取決于分詞字典的完備性。針對分詞字典需要具備以下特性:

(1)選取通用漢語詞條作為系統分詞詞典,盡可能多的容納日常用詞;

(2)增加停詞詞典,過濾敏感詞匯,用戶可以根據需要過濾掉包含特定詞匯的記錄,避免被搜索引擎搜索到;

(3)用戶自定義詞典,可提供增、刪、改功能,用戶根據實際需要修改自定義詞典。

圖2 分詞算法流程圖

采用IKAnalyzer分詞詞典作為系統詞典,包含數十萬日常用詞,能夠滿足用戶常用的分詞搜索。分詞示例:

北京市東城區建國門街道蘇州社區北京站前街1號北京市郵政公司==

北京市北京東城區東城城區建國門建國國門街道蘇州社區北京站北京站前街1號北京市北京郵政公司

4 Lucene索引建立

Lucene是一個開放源代碼的全文檢索引擎工具包,Lucene版本:3.0.2,全文檢索分兩個部分:索引創建(Indexing)和搜索索引(Search)。

索引過程包括:①有一系列被索引文件(此處所指即數據庫數據);②被索引文件經過語法分析和語言處理形成一系列詞(Term);③經過索引創建形成詞典和反向索引表;④通過索引存儲將索引寫入硬盤。

搜索過程包括:①用戶輸入查詢語句;②對查詢語句經過語法分析和語言分析得到一系列詞(Term);③通過語法分析得到一個查詢樹;④通過索引存儲將索引讀入到內存;⑤利用查詢樹搜索索引,從而得到每個詞(Term)的文檔鏈表,對文檔鏈表進行交差,并得到結果文檔;⑥將搜索到的結果文檔對查詢的相關性進行排序;⑦返回查詢結果給用戶。

本設計索引和搜索的流程圖如圖3所示:

圖3 索引和搜索的流程圖

4.1 索引創建(Indexing)

索引過程創建如下:

(1)創建一個IndexWriter用來寫索引文件,它有幾個參數,INDEX_DIR就是索引文件所存放的位置, Analyzer便是用來對文檔進行詞法分析和語言處理的。

(2)創建一個Document代表要索引的文檔。

(3)將不同的Field加入到文檔中。不同類型的信息用不同的Field來表示,在本研究中,一共有兩類信息進行了索引,一個是文件路徑,一個是文件內容。其中FileReader的SRC_FILE就表示要索引的源文件。

(4)IndexWriter調用函數addDocument將索引寫到索引文件夾中。

本設計和開發中文分詞器將標準地址進行拆分,完善中文分詞詞庫,通過語言處理組件將詞源進行標準化處理,使用索引組件將標準化之后的詞條創建字典表,并生成文檔倒排鏈表,索引文件存入硬盤。本設計索引過程創建如下:

(1)分詞:使用IKAnalyzer中文分詞組建將查詢語句進行拆分,除去“停詞”。IKAnalyzer中文分詞組建自帶強大的中文分詞詞庫,同時還可以拓展應用詞庫,將地理編碼應用城市的專有地址地名錄入應用詞庫,進行定制性的分詞處理;

(2)標準化:語言處理組件將詞源進行標準化處理,將“北京市”處理成“北京”,去掉通用的“街”、“巷”、“路”等詞匯;

(3)索引:使用索引組件將標準化之后的詞條創建字典表,并合成同義詞,生成文檔倒排鏈表。索引文件列表如圖4所示:

4.2 搜索索引(Search)

搜索過程創建如下:

(1)IndexReader將磁盤上的索引信息讀入到內存,INDEX_DIR就是索引文件存放的位置。

(2)創建IndexSearcher準備進行搜索。

圖4 索引文件列表圖

(3)創建Analyer用來對查詢語句進行詞法分析和語言處理。

(4)創建QueryParser用來對查詢語句進行語法分析。

(5)QueryParser調用parser進行語法分析,形成查詢語法樹,放到Query中。

(6)IndexSearcher調用search對查詢語法樹Query進行搜索,得到結果TopScoreDocCollector。

本設計索引和搜索的建立過程如下:

(1)用戶輸入查詢語句;

(2)對查詢語句進行詞法分析,語法處理及語言處理:生成語法樹;

(3)搜索索引,得到符合語法樹的記錄:對分詞之后的各詞元,找出其對應的文檔鏈表,對多個鏈表進行邏輯操作,得到終鏈表;

(4)根據最終鏈表,查詢語句的相關性,對結果進行排序:采用空間向量模型算法(VSM),計算次元權重,根據相關性對結果進行排序,得到類似Baidu、Google搜索排序效果。

5 地址匹配

地理編碼引擎將地址編碼中地址字符串輸入到地理坐標值輸出分為兩個過程:字符串拆分、數據庫匹配。系統通過字符串拆分將地址字符串分解成若干個地址要素和得出相應的地址公式,通過數據庫匹配找出與地址串相對應的地理坐標值,如圖5所示:

圖5 地理編碼-地址匹配的實現過程

地理編碼搜索引擎工作流程圖如圖6所示:

圖6 搜索引擎工作流圖

在地理編碼搜索引擎的支撐下,可以提供根據地址串生成位置(包括坐標信息和位置圖)、根據位置查詢地址串、獲得地址串的標準地址等功能,具體過程如圖7所示:

圖7 搜索過程圖

6 地址搜索引擎

本設計采用Lucene+IKAnalyzer開源框架搭建地址匹配搜索引擎,地理編碼-地址搜索引擎功能結構圖如圖8所示:

圖8 地理編碼搜索引擎功能結構

6.1 關鍵字搜索引擎

(1)模糊查詢

根據用戶輸入的關鍵詞檢索索引詞條,將匹配結果按相似度排序之后返回并高亮顯示關鍵字,如圖9所示:

圖9 模糊查詢-關鍵字搜索匹配結果圖

(2)分級查詢

可以依據模糊查詢的結果進行分層精細查詢,也可以按照用戶需求分區域分類型進行定制查詢,查詢結果按匹配相似度排序返回,搜索效果如圖10所示:

圖10 分級查詢-分區域分類型查詢匹配結果圖

6.2 拼音搜索引擎

搜索引擎增加拼音搜索功能,主要包括以下幾種方式:

(1)拼音簡拼

拼音簡拼搜索如圖11所示:

圖11 拼音簡拼搜索效果圖

(2)拼音全拼

拼音全拼搜索如圖12所示:

圖12 拼音全拼搜索效果圖

(3)拼音漢字混合

拼音漢字搜索如圖13所示:

圖13 拼音漢字搜索效果圖

6.3 正向、逆向、分級搜索引擎

地址搜索引擎分別提供通過地址描述搜索空間位置,通過空間坐標搜索地址描述以及通過分級過濾搜索記錄的功能。

(1)正向搜索

“正查”:類似Google和Baidu,實現對自然語言地址信息的語義分析、詞法分析,自動和標準地址庫匹配,提供精確的或接近的地理坐標(X,Y);根據用戶輸入的關鍵詞檢索索引詞條,將匹配結果按相似度排序之后返回并高亮顯示關鍵字,搜索如圖14所示:

圖14 正向搜索效果圖

(2)分級搜索

通過區、街道、社區、道路聯合關鍵字進行分級過濾搜索。通過空間位置獲得地址描述;可以依據模糊查詢的結果進行分層精細查詢,也可以按照用戶需求分區域分類型進行定制查詢,查詢結果按匹配相似度排序返回,如圖14所示:

圖14 分級搜索效果圖

(3)空間逆向搜索

“逆查”:通過空間位置獲得地址描述。在城市范圍內,根據任意位置坐標(X,Y),快速解析出合理的地址描述文字,能夠生成查詢位置點和返回POI點的相對關系,支持多個記錄的返回,返回的方式要求以最近的方式而不是以查詢順序的方式,返回包括POI點相對位置關系的描述;根據用戶輸入的坐標串,搜索在制定范圍之內的所有地址,搜索如圖15所示:

圖15 空間逆向搜索效果圖

7 結 語

本文采用了IKAnalyzer中文分詞技術和Lucene開源框架開發一套地理編碼服務系統,實現了地理編碼標準地址入庫流程、地址匹配搜索引擎正向、逆向、模糊查詢、分級搜索。本文所闡述的地理編碼引擎,在互聯網地理信息挖掘方面做出有益的嘗試和積極的探索。目前,搜索引擎原型應用系統尚待完善,在今后的學習工作當中,進一步完善本文所論述的地理信息編碼引擎及原型系統,下一步研究還需要優化軟件體系結構與數據庫設計,提高匹配效率,對中文分詞算法和語義分析算法進一步完善,提高地名地址的識別效率。

[1] 蔣景瞳.我國地理信息標準化政策研究[J].測繪科學,2008,33(1).

[2] 張磊,張代遠.中文分詞算法解析[J].電腦知識與技術, 2009,5(1):192~193.

[3] 李琦,羅志清等.基于不規則網格的城市管理網格體系與地理編碼[J].武漢大學學報·信息科學版,2005,30 (5):408~410.

[4] 高昭良.城市地理空間字典——地理編碼[J].城市勘測,2008,2(2):20~22.

[5] 張鶴,孔令彥.城市地址編碼發展歷史及現狀分析[J].測繪通報,2008(007):58~60.

[6] 薛明,肖學年.關于地理編碼幾個問題的思考[J].北京測繪,2007(2):54~56.

[7] 洪瑩.城市地名地址匹配方法研究及實驗[D].遼寧:遼寧工程技術大學碩士論文,2009.

[8] Morad M.British Standard 7666 as a Framework for Geocoding Land and Property Information the UK[Z].Compute, Environ·and Urban Systems,2002,26:483~492.

[9] LANGRAN G.Time in Geographic Information Systems [M].Taylor&Francis Ltd,Lond,UK,1992.

[10] LANGRAN G,CHRISMAN N R.A Framework for Temporal Geographic Information[J].Cartographica,1988,25 (3).

[11] Oracle Corp.Oracle Spatial Users'Guide and Reference Release 9.0.2[Z].2002.

Research and Implementation of Chinese Search Engine in Geocoding Based on IKAnalyzer and Lucene

Chai Jie
(Chongqing Survey Institute,Remote Sensing department,Chongqing 400020,China)

To realize the spatialization of attribute data with address information,based on relevant norms and standards of data collecting,this study formed a spatial reference database by establishing the one-to-one correspondence and relationship of geographical entities in the address model.Geocoding indexing and searching based on multiple segmentation algorithm.The establishment of thesaurus adopted the chinese word segmentation technology of IKAnalyze.A geocoding service system is based on the open source framework of Lucene,realizing the Warehousing processes of geocoding standard address,forward searching,backward searching,classification searching,and fuzzy query in address-matching searching engine.

Geocoding;IKAnalyzer;Lucene;classification search;fuzzy query

1672-8262(2014)06-45-06

P208.1

B

2014—03—23

柴潔(1988—),女,工程師,主要從事地理信息系統開發及應用技術工作。

猜你喜歡
搜索引擎
Chrome 99 Canary恢復可移除預置搜索引擎選項
網絡搜索引擎亟待規范
中國衛生(2015年12期)2015-11-10 05:13:38
Nutch搜索引擎在網絡輿情管控中的應用
警察技術(2015年3期)2015-02-27 15:37:09
基于Nutch的醫療搜索引擎的研究與開發
廣告主與搜索引擎的雙向博弈分析
基于Lucene搜索引擎的研究
知識漫畫
百科知識(2012年11期)2012-04-29 08:30:15
一種自反饋式元搜索系統的設計
搜索引擎,不止有百度與谷歌
搜索,也要“深搜熟濾”
主站蜘蛛池模板: 亚洲Aⅴ无码专区在线观看q| 欧美日韩国产在线播放| 71pao成人国产永久免费视频| 亚洲 欧美 日韩综合一区| 超清无码一区二区三区| 国产日韩欧美成人| 亚洲精品另类| 久久婷婷色综合老司机| 激情无码字幕综合| 青青草国产一区二区三区| 国产精品视频a| 欧美成人一区午夜福利在线| 九九九精品视频| 天天视频在线91频| 免费观看亚洲人成网站| 波多野结衣视频一区二区 | 欧美性爱精品一区二区三区 | 免费精品一区二区h| 国产亚洲欧美在线中文bt天堂 | 中文字幕首页系列人妻| 亚洲精品色AV无码看| 99久久精品国产综合婷婷| 久久综合九色综合97网| 国产精品嫩草影院av| 韩日午夜在线资源一区二区| 亚洲无码37.| 亚洲小视频网站| 欧美日韩国产系列在线观看| 国产精品视频第一专区| 中文毛片无遮挡播放免费| 久久一本日韩精品中文字幕屁孩| 欧美综合在线观看| 国产成人调教在线视频| 99re热精品视频国产免费| 日韩精品成人在线| 91精品国产91久久久久久三级| 亚洲手机在线| 最新国产你懂的在线网址| 最新国语自产精品视频在| 在线国产毛片| 国产 日韩 欧美 第二页| 亚洲天堂网在线观看视频| 国产免费羞羞视频| 天天做天天爱夜夜爽毛片毛片| 在线观看国产小视频| 亚洲国产一区在线观看| 亚洲国产看片基地久久1024| 亚洲日韩精品欧美中文字幕| 国产va免费精品| 国产乱子伦视频三区| 好紧好深好大乳无码中文字幕| 国产亚洲精久久久久久久91| 亚洲VA中文字幕| aaa国产一级毛片| 91年精品国产福利线观看久久 | 视频一区视频二区日韩专区| 亚洲国产AV无码综合原创| 美女免费黄网站| 亚洲视频欧美不卡| 国产欧美高清| 天天综合亚洲| 欧美高清国产| 青草午夜精品视频在线观看| 97国产在线播放| 欧美激情成人网| 激情综合婷婷丁香五月尤物| 国产精品第三页在线看| 国产精品久久久免费视频| 综合亚洲网| 欧美日本中文| m男亚洲一区中文字幕| 国内精品久久九九国产精品 | 亚洲品质国产精品无码| 高潮爽到爆的喷水女主播视频 | 国产亚洲欧美在线专区| 成人在线欧美| 中文字幕乱码中文乱码51精品| 一区二区欧美日韩高清免费 | 天天摸夜夜操| 亚洲第一视频网站| 精品偷拍一区二区| 亚洲一级无毛片无码在线免费视频 |