




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、CLUCENE在語料庫建設中的應用第8卷第4期南京師范大學(工程技術版)Vo1.8No.42008年12月JOURNALOFNANJINGNORMALUNIVERSITY(ENGINEERINGANDTECHNOLOGYEDITION)Dec.2008CLUCENE在語料庫建設中的應用賀勝,曲維光,盧亞軍(1.南京師范大學文學院,江蘇南京210097;2.南京師范大學數學與計算機科學學院,江蘇南京210097;3.西北民族大學藏語言文化學院,甘肅蘭州730030)摘要】深入分析了現有語料庫的構建模式和語料庫應具備的功能模塊,提出基于文件系統和Clucene全文檢索引擎工具包的語料庫建設方案.實
2、驗證明,Clucene具有豐富的接口設計和良好的擴展性,為語料庫建設提供了一種較好的技術實現方式.關鍵詞Clucene,語料庫,語料庫建設中圖分類號TP301文獻標識碼A文章編號16721292(2008)04-0118-05ApplyingCLUCENEinCorpusBuildingHeSheng,QuWeiguang,LuYajun(I.SchoolofChineseLanguageandLiterature,NanjingNormalUniversity,Nanjing210097,China;2.SchoolofMathematicsandComputerScience,Nanjin
3、gNormalUniversity,Nanjing210097,China;3.SchoolofTibetanLanguageandCulture,NorthwestUniversityforNationalities,Lanzhou730030,China)Abstract:Thispaperexaminesdeeplytheconstructedmodelsofthecurrentcorpusbuildingdesignandthefunctionscorpusshouldhave.AnewcorpusdesignbasedonfilesystemandClucenefulltextsea
4、rchingenginepackageispro-posed.ExperimentsshowthatCluceneprovidesvarioustypesofinterfacesandcanbeeasilyextendedforlargequantitydata.Thesecharacteristicsmakethepackageapromisingplatformforcorpusbuilding.Keywords:Clucene,corpus,corpusbuilding語料庫顧名思義是指存放語言材料的倉庫,一般指收集并存儲在計算機中并可以用計算機處理的電子文本庫,它已成為語言研究,自然語
5、言處理,人工智能研究等方面不可缺少的基礎資源.語料庫的建設涉及語料的采集,管理和語料加工,檢索,統計等功能模塊的軟件開發等方面.隨著Internet的飛速發展和電子圖書的日益普及,語料的獲取已不再困難,但如何高效地組織,管理和加工大規模語料庫,并根據語言研究,自然語言處理的具體任務快速,準確,全面地從中檢索,統計到用戶所需要的信息是當前語料庫建設中亟待解決的重要問題.1語料庫的構建模式語料庫的的構建模式是指語料庫的組織,存儲,管理方式,它決定著語料庫的性能,包括語料規模(存儲量),檢索效率(訪問速度),系統的可操作性,開放性和可擴展性等.綜合現有的語料庫系統,主要有4種構建模式:即文件系統,X
6、ML,關系數據庫和文檔數據庫.1-l文件系統構建模式操作系統中負責管理和存儲文件信息的軟件機構稱為文件管理系統,簡稱文件系統.基于文件系統構建語料庫時一般都是以文本文件的形式存儲語料,語料庫是相同結構的文本文件的集合.文件系統構建語料庫的優點是:便于系統從中提取自然語言的各種統計數據;便于為各種語言處理模型提供訓練和測試材料;便于按字或按詞建立索引并進行全文檢索;便于對語料進行自動分詞,詞性標注等方面的加工;存儲容收稿日期:2008-06-18.基金項目:江蘇省社會科學基金(07YYB003,06JSBYY001),國家自然科學基金(60773173),國家社會科學基金(07BYY050),國
7、家社會科學基金2005重點項目(05AYY001)和國家”973”計劃(2004CB318102)資助項目.通訊聯系人:賀勝,講師,博士生,研究方向:中文信息處理.Email:hesheng99一118賀勝,等:CLUCENE在語料庫建設中的應用量不受存儲結構的束縛,開放性好等.其不足之處在于:語料對程序依賴性強;當語料文本包括元數據(元數據是關于語料特性的描述,如語料來源,文體,主題,作者等),正文以及其它格式的內容時,程序控制就顯得比較復雜,數據的一致性較難控制;當語料庫的數據結構改變時,程序要作較大的修改.1.2XML構建模式XML(ExtensibleMarkupLanguage)稱為
8、可擴展標記語言,能夠很好地表現復雜的數據關系,可用來描述任何類型的文檔,可定義適合自己所需要的附加標記集合.使用XML語言組織語料庫時,一個語料庫的文件是一個或多個XML格式文件的集合.用XML組織語料庫的優點是:數據跨平臺,易于交換,通用性強;可以依據DTD(數據類型定義)通過常用的網頁瀏覽軟件(如IE5.0)來檢查語料文件的結構是否規范,因此解讀語料文件的程序就不用像傳統的文件系統那樣,過多地在程序中解決數據存儲結構的問題,從而提高了語料數據和程序的獨立性,共享性.其不足之處是:基于文件的管理機制,難以管理大批量文檔;基于節點的檢索方式,不適合大規模語料的檢索;另外,解析手段仍存在缺陷,修
9、改效率低;安全性和并發操作機制還不夠強大等.1.3關系數據庫構建模式用關系數據庫來構建語料庫時,一條語料記錄就是關系數據庫的一條記錄,語料文本用一個能支持大文本的數據字段來存放,語料庫的每一個子庫對應關系數據庫的一個關系.關系數據庫構建語料庫的優點是:可以充分利用數據庫管理系統提供的功能,使語料的插人,刪除,更新,備份,查詢,統計都比較容易,特別是能方便地對語料的元數據進行查詢,更新,統計;結構化的數據存儲,使得數據冗余度低,程序與數據獨立性較高;系統易于擴充,易于編制應用程序,開發效率高.其不足之處在于:如何對關系數據庫中的大文本按字或者詞建立索引,并實現索引和關系數據庫的無縫連接,還是一個
10、有待研究的課題.雖然一些專用的全文檢索軟件較好地解決了這個問題,但是,當語料庫規模大時,檢索效率較低.1.4文檔數據庫構建模式文檔數據庫區別于傳統的其它數據庫,它的基本要素是文檔,能夠存儲和管理類似文檔這樣的非結構化數據.在傳統的數據庫中,文檔被分割成離散的數據段進行處理.而在文檔數據庫中,文檔作為信息處理的基本單位保持其完整性.文檔可以很長,很復雜,文檔的格式可以靈活多樣,可以無結構,可以包含各種信息等.文檔數據庫構建語料庫的優點是:可以輕松應付成千上萬篇文檔的維護和管理,發布,查詢,瀏覽文檔方便快捷;允許創建許多不同類型的非結構化的或任意格式的字段.不足之處是:不提供如關系數據庫中的參數完
11、整性支持,不提供分布事務的支持,并行處理能力較弱.目前使用文檔數據庫來存儲語料還比較少,但這種善于存儲非結構化的數據的數據庫產品可能會成為未來語料庫的發展趨勢.2語料庫的功能模塊要使語料庫在語言研究和自然語言處理各個領域的研究和應用中發揮作用,就需要強有力的工具進行數據管理,語料加工,用戶服務等J.這些工具就是建設與應用語料庫的功能模塊,其中數據管理部分主要涉及文本格式轉換,字符編碼轉換,文本分割,符號置換,文件管理等技術.為了保證語料格式的統一,通過各種方式采集的語料需轉換成統一的格式后才能加入到語料庫中.語料加工的主要內容是自動分詞,詞性標注,語法特征標注,語義標注等各種語言學屬性的自動標
12、注.為從語料庫獲取語言知識,必須在各個層次上對語料庫進行加工.對語料庫的加工深度決定該語料庫能為語言研究和自然語言處理提供什么樣的信息.例如,通常把沒有語言學屬性標注的語料叫做生語料,對漢語的生語料只能以字為單位進行檢索和統計;經過分詞加工處理的語料則能以詞為單位進行檢索,統計和定量分析;如果還作了詞性標記,那么可以獲得的語言學信息就更多了.用戶服務主要是指面向用戶的語料檢索,統計和分析技術.語料庫建立之后,將提供給各種需求的用戶使用,使其能夠訪問語料庫的內容,對自然語言進行相關的分析,研究.因此,語料的檢索是語料庫最基本的功能之一.語料庫檢索屬于全文檢索,但僅用普通的全文檢索技術尚不能滿足基
13、于語料庫的檢索需要.這是因為全文檢索一般關心的是檢索的內容,不是檢索目標的語言表述形式.而面向語言研究的語料庫檢索則特別注重語言的表述形式,語言現象及其上下文,它既需要按照字,詞,字串檢索,也需要把詞語或字串的語言學屬性作為檢索的目標和約束條件,還要求把檢索的結果或結果的出處按照研究的需要排序,輸出.除此之外,還要有語料元數據,字頻,詞頻和特定語言形式出現頻率一l19南京師范大學(工程技術版)第8卷第4期(2008年)的查詢,統計功能等.3Clucene簡介Lucene是國外Apache軟件基金會Jakarta項目組的一個子項目,是一個開放源代碼的全文檢索引擎工具包,是用純Java語言寫的全文
14、檢索引擎架構,它可以方便地嵌入到各種應用中實現全文索引和檢索功能J.Clucene是c+版的全文檢索引擎工具包,完全移植于Lucene,采用STL編寫.相對于JAVA版的Lucene,Clucene運行效率更高,適用于基于文件系統的文檔集的全文檢索和海量數據的模糊檢索,特別是對大數據的字符類型進行檢索更顯示出它的高效性L6J.在Clucene的基礎上開發中文全文檢索是一種高性能的選擇,因為其全文數據庫采用倒排索引技術,對于大規模的全文檢索系統來說,倒排索引是目前最高效的數據結構,查詢速度要優于現有的數據庫系統.Clucene中最基本的概念是索引,文檔,字段和項.文檔代表一種邏輯文件,當與一個物
15、理文件對應時,可以提取出多種數據源,如文件名,作者,文件內容,文件創建時間等,每種數據源對應一個字段,因此字段適合于表示語料的各種元數據與正文.Clucene有兩個主要的服務,即索引和檢索.Clucene并未規定索引數據源的格式,而只是提供了一個通用的文檔對象來接受索引的輸入,因此輸入的數據源可以是任何類型的文本數據,如TXT文本,Word,PDF,HTML文檔等,只要設計相應的文檔分析器將數據源構造成文檔對象中的字段即可進行索引.檢索是根據查詢條件返回結果,Clucene具有豐富的查詢模式,包括布爾查詢,短語查詢,范圍查詢,組合查詢,跨度查詢等.通過Clucene提供的檢索接口,用戶只需簡單
16、地將查詢對象傳人,就可以得到返回結果.Clucene的主要功能都采用了抽象類,開發人員可以對它們進行擴展來滿足自己的需求.例如,Clu.cene是針對西文的文法開發的,在倒排中文文檔的時候,無法正確地將中文切分開,也不支持中文查詢.我們可通過對語言詞法分析接口進行擴展加入中文單字切分,詞切分等擴展模塊,從而使其支持對中文的處理.在應用接口方面,Clucene提供了豐富的應用接口函數,可以與存儲在索引庫中的信息交互.通過接口函數的調用,可以輕松地完成元數據與正文的檢索和一些信息的統計工作.如:可以列出索引庫中文檔總數及文檔列表;可以查詢具體某個項在索引庫中的文檔頻度,總詞次,以及在某個文檔中出現
17、的頻度和在某文檔中出現的位置等信息.4Clucene在語料庫中的應用由于文件系統在構建語料庫時,可以方便,快捷地將不同來源,不同類型的語料分門別類地存放在不同的文件夾下,具有不受存儲結構的束縛,開放性強,且易于對語料文本進行加工,檢索,統計等優點.結合Clucene主要適用于文檔集的全文檢索,系統運行效率高,功能易擴展,接口函數豐富等特點,我們設計了一個基于文件系統和Clucene全文檢索引擎工具包的現代文學作品語料庫.系統結構如圖1所示.4.1Ciucene在語料庫建設中的應用實例在這里我們以構建漢語現代文學作品語料庫為例,對Clucene在語料庫建設中的應用及其技術實現概述如下.(1)構建
18、現代文學作品文本庫:一個語料庫系統首先要做的事情,必須收集和構建一個文本數據庫.我們將所收集到的現代文學作品,基于文件系統模式,采用層次的目錄結構,將不同類型的文本分門別文檔分析器詞法分析器H查詢分析器索引引擎IIII查詢引擎CLUCENElI圖1語料庫應用系統結構圖Fig.1Theframeofcorpusapplication查詢結果/統計結果類存放在不同的文件夾及子文件夾下,使之構成一個文本庫.(2)語料加工:語料加工主要是文檔預處理和自動分詞及詞性標注.預處理包括文本類型轉換,字符編碼轉換,繁簡轉換,標點符號置換等;自動分詞及詞性標注是系統調用自動分詞模塊,實現對指定文件夾.-120-
19、握圈一一分詞模塊T.一.十上土一土賀勝,等:CLUCENE在語料庫建設中的應用下所有純文本文件(TXT)的自動分詞,詞性標注.(3)建立全文索引庫:有了文本庫之后,就可以建立全文索引庫.從語料庫多用途的應用角度出發,系統除了提供字索引,詞索引及相關檢索方式外,還提供了詞及詞性混合索引及相關檢索方式.對應這3種索引模式,我們對系統的詞法分析器進行了功能擴展,使之可實現中文字串的字,詞,詞及詞性的切分,對應建立基于字,詞,詞及詞性的3種索引庫.利用Clucene創建索引庫只需指定要索引的文本庫位置,索引庫的存放位置和相應的詞法分析器即可.下面以字索引庫的建立為例,介紹字索引庫的建立.假定語料的元數
20、據為:文件路徑,篇名,作者.關鍵代碼如下:/構造一個寫索引器,詞法分析器為中文字分析器(StandardAnalyzer()IndexWriterwriter=newIndexWriter(indexDir,newStandardAnalyzer(),ture);/遍歷文本庫文件夾下的所有文本文檔,為每個文檔創建了一個文檔(Document)對象Documentdoc=newDocument();doc.add(Field.UnIndexed(“path”,getFilesi);/將文件路徑加入path字段doc.add(Field.Unlndexed(“name”,getFilenamei)
21、;/將篇名加入name字段doc.add(Field.UnIndexed(“writer,getWriter();/將作者加入Writer字段ReadertxtReader=newFileReader(Filesi);doc.add(Field.Text(“contents”,txtReader);/將文本內容加入contents字段,進行全文索引writer.addDocument(doc);/將文檔寫入索引庫參數indexDir是存放索引的目錄;創建索引最重要的類是Indexwriter,其構造器有3個參數,第1個參數指定了存儲索引文件的路徑,第2個參數指定了在索引過程中使用什么樣的詞法分
22、析器,最后一個參數是個布爾變量,用于控制是重建索引,還是在原有索引上添加.4.2現代文學作品語料庫的應用(1)進行檢索.在上面的例子中,我們己經為現代文學作品語料庫建立好了基于字的索引庫,現在我們可以利用這個索引庫進行檢索,以找到包含某個關鍵詞或短語的所有文檔.假設根據contents字段進行全文檢索,將查詢結果以name字段內容輸出.關鍵代碼如下:IndexSearchersearcher=newIndexSearcher(indexDir)/實例化IndexSeacher對象/聲明一個查詢解析器對象QueryqueryQueryParser.parse(querystring,”conte
23、nt”,newStandardAnalyzer();Hitshits=searcher.search(query);/搜索結果/通過hits可以訪問到相應字段的數據for(inti=0;i<hits.1ength();i+)printout(hits.doc(i).get(“name”);這里搜索過程主要用到2個對象Indexsearcher和Query.Indexsearchersh是查詢索引庫的類,參數in-dexDir為前面索引存放的位置.Query用來處理搜索請求,它包含了3個參數:查詢內容,查詢字段,采用的詞法分析器,參數querystring為要查詢的字符串.(2)對
24、結果進行處理.通常,從語料庫檢索到用戶需要的結果集后,可以根據Lucene提供的API取出索引庫中相應的數據,并以一定的規則進行排序,過濾,關鍵詞對齊等,然后再返回給用戶.如sort是Clucene一個排序接口,通過它可以方便地以某個字段(Field)的值為參數對檢索結果進行排序.(3)統計功能.原始文本經詞法分析器處理后,文本切分成一個個的Term(或Token),同時被索引器紀錄下它的所在位置,出現次數等信息.有了這些數據,利用查詢引擎IndexReader及相關的接口函數就可以從索引庫中獲取到一些統計信息.如:NumDocs()獲取整個索引庫中文檔的個數;Terms()列舉索引庫中所有的
25、項(Term);DocFreq()獲取某個項(Term)在某文檔中出現的頻次;TermPositions()列出某個項在某文檔中出現的位置信息等.5結論本文通過分析現有語料庫系統的構建模式和語料庫應具備的功能模塊,展示了基于文件系統和Clu-eene全文檢索引擎工具包的語料庫建設的具體示例.表明以此示例所呈現的方案,可以方便地將文檔以文件系統的方式構建成文本庫,在文本庫的基礎上建立基于Clucene的全文索引庫,從而輕松實現語料庫一12l一南京師范大學(工程技術版)第8卷第4期(2008年)的加工和檢索,統計等應用.實驗證明,Clucene具有豐富的接口設計和良好的擴展性,適用于海量文本數據的檢索和查詢,為語料庫的建設提供了一種較好的技術實現方式.參考文獻(References)1何婷婷.語料庫的數據管理方式研究c/第一屆學生計算語言學研討會論文集.北京:清華大學出版社,2002:3073l0.HeTingting.Studyondatamanagementofcorpusc/ProceedingsIstStudentsWorkshoponComputationalLingu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設計方案介紹(3篇)
- 江西財經大學現代經濟管理學院《家居空間設計》2023-2024學年第二學期期末試卷
- 中原科技學院《暖衛工程施工》2023-2024學年第二學期期末試卷
- 門禁維護修理方案(3篇)
- 景德鎮學院《商務禮儀實訓》2023-2024學年第二學期期末試卷
- 農莊路面鋪設方案(3篇)
- 監控設施安裝方案(3篇)
- 產品服務方案投標(3篇)
- 食堂人員替補方案(3篇)
- 工程行業分支方案(3篇)
- 部編 人教版四年級語文下冊全冊課內閱讀理解練習(含答案)
- 工程建設管理工作報告
- 攪拌站環境管理制度
- 江蘇省蘇州市相城區2024年五年級數學第二學期期末調研試題含解析
- 礦山企業會議管理制度
- 人教版七年級下冊英語單詞變形
- 廣東中山市2023-2024學年三年級數學第二學期期末學業水平測試試題含解析
- (高清版)AQ 1056-2008 煤礦通風能力核定標準
- 《學前兒童健康教育》6-2學前兒童安全教育的目標和內容課件
- 《建筑施工塔式起重機安裝、使用、拆卸安全技術規程》(JGJ196-2010)
- 2024年陜西初中地理學業水平考試試卷答案講解課件
評論
0/150
提交評論