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

基于Lucene搜索引擎的醫(yī)技報告檢索模塊設(shè)計與實現(xiàn)

2014-06-24 14:42:33吳斌徐哲霍洪波
中國醫(yī)療設(shè)備 2014年10期
關(guān)鍵詞:搜索引擎報告

吳斌,徐哲,霍洪波

杭州電子科技大學 信息與控制研究所,浙江 杭州 310018

基于Lucene搜索引擎的醫(yī)技報告檢索模塊設(shè)計與實現(xiàn)

吳斌,徐哲,霍洪波

杭州電子科技大學 信息與控制研究所,浙江 杭州 310018

為了滿足影像醫(yī)生快速有效檢索歷史數(shù)據(jù)的需要,本文設(shè)計了一種基于Lucene搜索引擎的醫(yī)技報告檢索模塊嵌入放射科信息管理系統(tǒng)(RIS)。此模塊利用優(yōu)化的倒排索引技術(shù)對Lucene引擎進行二次開發(fā),實現(xiàn)了醫(yī)技報告快速檢索功能。

放射科信息管理系統(tǒng);全文檢索;Lucene搜索引擎;倒排索引

0 前言

隨著數(shù)字化醫(yī)院建設(shè)的不斷深入,放射科信息管理系統(tǒng)(RIS)在影像診斷活動中的應(yīng)用不斷擴大[1-2],積累在RIS中的影像診斷信息也不斷增多。以國內(nèi)某三甲醫(yī)院為例,從20世紀90年代中期開始應(yīng)用RIS至今,每天獲得的RIS數(shù)據(jù)從幾十兆字節(jié)上升到幾百兆字節(jié)。其中包含能夠為當前醫(yī)療科研活動提供借鑒作用的大量信息被封存在數(shù)據(jù)庫中,主要原因在于業(yè)務(wù)系統(tǒng)主要面向日常事務(wù)處理。系統(tǒng)雖具有一定的信息采集、查詢、統(tǒng)計、報表功能,但大量數(shù)據(jù)的組織和存儲都是圍繞事務(wù)處理進行設(shè)計的,這樣的數(shù)據(jù)組織方式不利于對大規(guī)模的數(shù)據(jù)進行分析。可見,如何有效利用RIS中的歷史數(shù)據(jù)已成為醫(yī)療信息技術(shù)人員所面臨的一個重要課題。

當面對RIS中浩如煙海的醫(yī)療文本數(shù)據(jù)[3-4],為了能夠快速、準確、有效、多角度地利用這些信息為影像醫(yī)生診斷、科研、教學提供便利,需要在RIS中增加醫(yī)技報告全文檢索模塊。傳統(tǒng)的查找技術(shù)是通過逐次匹配內(nèi)存中的文本實現(xiàn)的,即順序查找。對文檔集合中的信息進行少量預(yù)處理或不做處理,這種方法只適合文檔較少的情況,雖然結(jié)構(gòu)簡單,易實現(xiàn),但檢索速度比較慢,尤其在處理海量數(shù)據(jù)和模糊查詢時有著明顯不足[5]。當信息量在TB級別時,查找的速度是無法忍受的。本文采用優(yōu)化的倒排索引技術(shù),通過對第三方的全文檢索工具Lucene進行二次開發(fā),實現(xiàn)對醫(yī)技報告的高效檢索,為醫(yī)療影像信息的使用提供便捷,進而提升RIS的使用價值。

1 全文檢索引擎Lucene簡介

Lucene是使用Java實現(xiàn)的一個高性能、可擴展的信息檢索工具庫[6-8]。它提供核心的索引和搜索模塊,支持包括中文等部分語言的文本分析,最終返回給用戶的是一個搜索結(jié)果集。

Lucene可以對任何格式的數(shù)據(jù)做索引和搜索。只要這些文件格式能被轉(zhuǎn)化為文字的形式,都可以通過Lucene的分析機制進行識別。只要所給出的文件格式可以從中抽取出文字的內(nèi)容,就可以被Lucene加以使用,并對它們進行索引以及搜索。它是一個能夠執(zhí)行一些功能的應(yīng)用程序,它把搜索引擎的索引、搜索等相關(guān)功能封裝成一套接口,利用這套接口再做一些實用程序嵌入到應(yīng)用之中,實現(xiàn)不同的功能,使用起來也非常簡單,并且實用性也好。

2 檢索模塊設(shè)計

2.1 結(jié)構(gòu)設(shè)計

整個模塊結(jié)構(gòu)以B/S(Broswer/Server)模式設(shè)計。B/S模式的用戶界面完全通過WWW瀏覽器實現(xiàn),具有易學易用、操作友好的優(yōu)點。模塊采用標準的Web瀏覽器作為瀏覽檢索結(jié)果的操作界面,所有的操作都在同一個窗口中通過超文本鏈接完成,用戶可以方便地瀏覽信息和導航,使用簡單。

2.2 開發(fā)環(huán)境及工具

運用C#、EXTJS技術(shù)和SQL數(shù)據(jù)庫開發(fā)醫(yī)技報告檢索模塊。開發(fā)環(huán)境:操作系統(tǒng)選用Windows2000 Server,數(shù)據(jù)庫采用SQL Server 2008R2。開發(fā)工具選用Microsoft Visual Studio 2008和Dreamweaver CS4。

系統(tǒng)硬件選用Intel(R)Core(TM) i5-2004 CPU @3.10GHz的處理器,2.00GB內(nèi)存,32位操作系統(tǒng)。

2.3 功能設(shè)計

全文檢索模塊主要功能:按輸入關(guān)鍵詞在數(shù)據(jù)庫關(guān)鍵字段中進行檢索,將查詢出來的文本關(guān)鍵詞用高亮顯示。整個模塊以Lucene搜索引擎為支撐,用優(yōu)化的倒排索引技術(shù)進行二次開發(fā),實現(xiàn)快速檢索。

全文檢索模塊作用的文本數(shù)據(jù)是醫(yī)療影像數(shù)據(jù)庫RIS中的檢查報告。數(shù)據(jù)來源于RIS數(shù)據(jù)庫中的事實表EISReports。事實表EISReports包括ReportsIndex(報告編號)、ReportsDoctor(報告醫(yī)生)、ReportsTechnologies(影像所見)、ReportsConclusion(診斷結(jié)論)等條目。對表中信息不完全的和有明顯錯誤的條目經(jīng)刪除或清洗后加載到數(shù)據(jù)倉庫RIS_DW中。

3 檢索模塊的實現(xiàn)

3.1 倒排索引全文檢索原理

本模塊中醫(yī)技報告查詢功能以Lucene搜索引擎為支撐,為了實現(xiàn)快速檢索,Lucene采用倒排索引的數(shù)據(jù)結(jié)構(gòu)。Lucene的索引結(jié)構(gòu)可以分為索引(index)、索引段(segment)、索引文檔(document)、索引域(field)和索引項(term)5個層次。Lucene的索引過程可以分為3個階段:① 預(yù)處理階段,將數(shù)據(jù)轉(zhuǎn)換成Lucene能夠處理的格式——純文本字符流,先提取出文本信息,然后利用這些提取出來的數(shù)據(jù)創(chuàng)建Lucene的Document對象及其對應(yīng)的Field對象;② 分析階段,通過調(diào)用索引管理器(IndexWriter)的addDocument(Document)方法將數(shù)據(jù)傳遞給Lucene進行索引操作,在對數(shù)據(jù)進行索引處理時,Lucene會首先分析數(shù)據(jù),使之更加適合被索引;③ 寫入索引,對輸入數(shù)據(jù)分析完成后, 將結(jié)果寫入索引文件中,將輸人數(shù)據(jù)以倒排索引的數(shù)據(jù)結(jié)構(gòu)進行存儲,索引建立后,Lucene通過IndexReader類來實現(xiàn)索引文檔的刪除、添加功能。

Lucene搜索引擎中倒排索引的創(chuàng)建、增量更新及檢索過程中,都需要在詞庫中進行查找來實現(xiàn)分詞,尤其是創(chuàng)建和增量更新索引的過程中這種查找更是頻繁。詞庫的查找過程其實是一個典型的字典問題,一般有3類方法:①基于單詞比較(comparison based)的方法;② 基于表示法(representation based)的方法;③ 散列法,一種無需經(jīng)過任何比較,一次存取便能得到所查單詞位置的方法。本文選用一種絕對不產(chǎn)生沖突且能保持散列映射前后次序一致的有序保留最小完全散列函數(shù)(order preserving minimal perfect hash function,OPMPHF)。

完美哈希函數(shù)(perfect hash function,PHF)是可以確保在從n個鍵值的映射到一個整數(shù)所組成的集合時絕對不發(fā)生沖突的函數(shù)。其還可以用如下過程來表示:檢索某詞項是否在由若干個單詞構(gòu)成的集合S中及其所在位置。進一步,假如哈希函數(shù)h:S→[0,m-1](n表示單詞集合的詞項個數(shù))是完美哈希函數(shù)并且m=n,則h就是最小MPHF。更進一步地,如果一個最小MPHF的h具有針對A xi,xj∈S,i≤j<=>h(xi)≤h(xj)的保序的特性時,則h稱為有序保留最小完美哈希函數(shù)(OPMPHF)。

為了將n個詞項t(t∈S)映射成[0,m-1]之間的整數(shù),預(yù)先假定存在兩個一般的哈希函數(shù)h1(t)和h2(t),如式(1)和式(2):

其中m≥n,并且允許重復。

與這兩個函數(shù)一起,還需要一個特別的數(shù)組g,它將把0...m-1映射到0...n-1。給某個字符串t,采用OPMPHF h(t)的方法計算公式為:

這里+n表示加法執(zhí)行后還需對n取模,即先把兩個數(shù)相加,然后把這個數(shù)除以n,最后取余數(shù)。換句話說,首先計算兩個非完美哈希函數(shù)的值,用映射g分別計算這兩個哈希函數(shù)的值,然后將其相加后對n取模。如同變戲法一樣,最后的哈希值確實就是字符串列表中的原位置。

3.2 全文檢索的關(guān)鍵代碼

public static List Search(string keywords)

{

List list = new List();//創(chuàng)建返回結(jié)果類集合

string indexDir = MyIndex.INDEX_DIR;//創(chuàng)建的索引存放的路徑

keywords = ManagerIndexSensitiveWords(keywords);//直接去掉敏感字

if (keywords.Length == 0)

{ searchCount = 0;

Expression = "";

return list;}

IndexSearcher searcher = new IndexSearcher(indexDir);//聲明一個指向索引目錄的搜索器對象

keywords = GetKeyWordsSplitBySpace(keywords, new PanGuTokenizer());//搜索詞進行分詞

Analyzer analyzer = new PanGuAnalyzer(true);//創(chuàng)建盤古分詞器對象

MultiFieldQueryParser parser = new MultiFieldQueryParser (INDEXFIELDS, analyzer);

Query query = parser.Parse(keywords);//搜索結(jié)果

Hits hits = searcher.Search(query);//通過hits來訪問相應(yīng)字段的數(shù)據(jù),并將搜到的條目的路徑都打印出來

searchCount = hits.Length();

for (int i = 0; i < hits.Length(); i++)

{MyModel c = new MyModel();

c.SID = int.Parse(hits.Doc(i).Get("SID"));

c.Title = hits.Doc(i).Get("TITLE");

c.Content = hits.Doc(i).Get("CONTENT");

list.Add(c); }

searcher.Close();

return list;

}

在上面的程序段中,INDEXFIELDS是要查找的索引字段。對于要查詢的關(guān)鍵字(keywords),首先判斷keywords的長度,如果長度為零,即關(guān)鍵字為空,直接返回無命中條目的結(jié)果。對不為空的關(guān)鍵詞,首先對關(guān)鍵字進行分詞,然后構(gòu)造出Query對象并把這Query對象傳入到IndexSearcher的Search方法中進行查詢,返回的結(jié)果保存在Hits對象中;再從Hits對象中讀取需要的信息返回給前臺程序。

4 應(yīng)用效果

在檢索模塊中,疾病類型選擇“消化系統(tǒng)疾病”,輸入關(guān)鍵詞“腹腔”,按“檢索”按鈕后可以看見在主列表中當前頁顯示20條結(jié)果,在主列表下的條形欄可以看到一共查詢到1000條結(jié)果,分50頁顯示。結(jié)果包括報告編號、報告醫(yī)生和診斷結(jié)果等。點擊查看列表中的“查看”鏈接,可以展示相應(yīng)的診斷報告表。在檢索結(jié)果和診斷報告表中的關(guān)鍵詞“腹腔”高亮顯示。

在檢索模塊中顯示的結(jié)果主列表上方的條形欄中還顯示了此次查詢所花費的時間開銷為0.002 s。類似的,采用折半查找法實現(xiàn)的詞庫詞庫中針對檢索字“腹腔”同樣檢索出了1000條結(jié)果,但是其花費的時間開銷是0.395 s。可見采用折半查找法實現(xiàn)的詞庫查找速度與采用OPMPHF進行詞庫查詢優(yōu)化的速度是難以相比擬的。

5 結(jié)語

倒排索引全文檢索模塊在RIS醫(yī)技報告中的應(yīng)用,可以極大地方便影像醫(yī)生針對海量歷史檢查信息進行快速查詢,其高效性和便捷性為影像醫(yī)生節(jié)約了大量的時間和精力,從而使RIS的可用性得到提升。但是僅限于關(guān)鍵字檢索顯然是不夠的,在接下來的研究中將考慮搜索的智能化,比如基于文本概念搜索及提供選擇匹配等功能。

[1] 唐震,朱銀民,施玲華.利用RIS/PACS管理影像科[J].中國醫(yī)療設(shè)備,2008,(2):73-74.

[2] 楊志安,張松,王亞杰,等.PACS/RIS助推學院型醫(yī)院的發(fā)展[J].醫(yī)院院長論壇,2011,(4):47-49.

[3] Nelson H.F.Beebe.A search strategy for large document bases[J].Electronic Publishing:Origination, Dissemination and Design,1988,1(2):105-116.

[4] Lacroix Z.Web data retrieval and extraction[J].Data&Knowledge Engineering,2003,44(3):347-367.

[5] 郎小偉,王申康.基于Lucene的全文檢索系統(tǒng)研究與開發(fā)[J].計算機工程,2006,(4):94-96.

[6] 郭永利,盧穎穎.基于Lucene對文件全文檢索的研究與應(yīng)用[J].微型電腦應(yīng)用,2014,(1):51-54.

[7] Hatcher E,Gospodnetic O,Mccandless M.Lucene in action[Z]. Manning Publications Greenwich,CT,2004.

[8] 鄭榕增,林世平.基于Lucene的中文倒排索引技術(shù)的研究[J].計算機技術(shù)與發(fā)展,2010,(3):80-83.

Design and Realization of Medical Reports Retrieve Module Based on Lucene Search Engine

WU Bin, XU Zhe, HUO Hong-bo
Institute of Information and Control Technology, Hangzhou Dianzi University, Hanzhou Zhejiang 310018, China

To meet radiologists’ requirements for rapid and eff i cient retrieving history data, this paper designed a Lucene search engine based medical report retrieval module to be embedded in radiology information system (RIS). Applying optimized inverted index to further develop the Lucene search engine, this module can retrieve medical reports rapidly.

RIS; full text retrieval; Lucene search engine; inverted index

TP311.52

A

10.3969/j.issn.1674-1633.2014.10.012

1674-1633(2014)10-0041-03

2014-04-09

2014-05-06

浙江省重大科技專項(2009C14035)資助。

本文作者:吳斌,在讀碩士研究生。

徐哲,碩士研究生導師。

通訊作者郵箱:xuzhe@hdu.edu.cn

猜你喜歡
搜索引擎報告
一圖看懂十九大報告
報告
南風窗(2016年26期)2016-12-24 21:48:09
網(wǎng)絡(luò)搜索引擎亟待規(guī)范
報告
南風窗(2015年22期)2015-09-10 07:22:44
報告
南風窗(2015年14期)2015-09-10 07:22:44
報告
南風窗(2015年7期)2015-04-03 01:21:48
Nutch搜索引擎在網(wǎng)絡(luò)輿情管控中的應(yīng)用
基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
報告
南風窗(2014年5期)2014-09-10 07:22:44
廣告主與搜索引擎的雙向博弈分析
主站蜘蛛池模板: 亚国产欧美在线人成| 大学生久久香蕉国产线观看 | 国产综合亚洲欧洲区精品无码| 综1合AV在线播放| 少妇高潮惨叫久久久久久| 天天视频在线91频| 全裸无码专区| 日韩精品欧美国产在线| 欧美成人综合在线| 九色在线观看视频| 青青青国产视频| 亚洲中文字幕无码爆乳| 欧洲一区二区三区无码| 无码在线激情片| 国产一级毛片yw| 四虎影视无码永久免费观看| www.91中文字幕| 久久精品国产精品青草app| 韩日免费小视频| 萌白酱国产一区二区| 国产二级毛片| 日韩毛片免费观看| 欧美日韩第三页| 免费播放毛片| 亚洲av日韩av制服丝袜| 在线播放国产一区| 国产午夜人做人免费视频中文| 无码中字出轨中文人妻中文中| 亚洲国产精品无码AV| 91破解版在线亚洲| 好紧太爽了视频免费无码| 97狠狠操| 99er精品视频| 亚洲中文在线看视频一区| 国产91丝袜在线播放动漫| 91福利一区二区三区| 国产成人精品2021欧美日韩| 国产凹凸视频在线观看| 在线观看精品国产入口| 欧美高清国产| 亚洲高清免费在线观看| 国产对白刺激真实精品91| 久久综合色天堂av| 中文成人在线视频| 伊人蕉久影院| 亚洲国产日韩在线观看| 国产资源免费观看| 久久久久久久97| 久久久久久尹人网香蕉 | 久久大香香蕉国产免费网站| 亚洲综合久久成人AV| 欧美亚洲一区二区三区在线| 91久久精品国产| 国产成人一二三| 日本成人一区| 亚洲成年网站在线观看| 国产在线啪| 91久久国产热精品免费| 少妇精品在线| A级全黄试看30分钟小视频| 国产一区二区三区在线无码| 国产亚洲视频中文字幕视频| 亚洲系列中文字幕一区二区| 亚洲成AV人手机在线观看网站| 国产剧情一区二区| 欧美亚洲网| 亚洲欧美人成电影在线观看| 国产视频a| 中文字幕无码av专区久久| 久久久久中文字幕精品视频| 在线观看国产黄色| 九九视频免费在线观看| 亚洲无码高清视频在线观看| 国产成人做受免费视频| 国产日韩欧美精品区性色| 日韩123欧美字幕| 亚洲天堂2014| 亚洲中文字幕在线观看| 一级片一区| 老色鬼久久亚洲AV综合| 国产农村1级毛片| 午夜国产理论|