張 偉,陳曉慧,岳 耀,李海崗
(1.信息工程大學(xué),河南 鄭州 450000;2.61175部隊(duì),山東 淄博 255000;3.地理信息工程國家重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710000)
隨著科學(xué)技術(shù)的不斷進(jìn)步,尤其是互聯(lián)網(wǎng)的飛速發(fā)展,用戶不僅使用網(wǎng)絡(luò)下載各類數(shù)據(jù),也會通過網(wǎng)絡(luò)通信產(chǎn)生大量信息內(nèi)容。如何實(shí)時處理和掌握各種 UGC(User Generated Contens)方式產(chǎn)生的地理空間隱喻數(shù)據(jù),提取具有空間和時間屬性的地理事件信息,已成為地理空間情報(bào)領(lǐng)域研究的重要內(nèi)容。本文通過對地理事件本體模型的研究,以Gate自然語言處理框架為基礎(chǔ),實(shí)現(xiàn)地理事件信息抽取,為地理事件分析和可視化提供支撐。
本體是哲學(xué)的概念,關(guān)注的是客觀現(xiàn)實(shí)的抽象本質(zhì),最早引入信息科學(xué)的目的是為了解決信息唯一性的問題[1]。在信息抽取領(lǐng)域,本體是概念化的明確表述,避免概念之間的關(guān)系混淆,解決語義層次上信息共享。
地理事件是時空數(shù)據(jù)模型研究過程中提出的概念、時空數(shù)據(jù)模型,主要有時間附加型,時間四維型、面向?qū)ο笮秃突谑录?種[2]。因?yàn)槊嫦虻膽?yīng)用領(lǐng)域不同,對地理事件也沒有統(tǒng)一定義,例如數(shù)據(jù)更新領(lǐng)域,地理事件是地理要素狀態(tài)與事件共同構(gòu)成時空對象模型,強(qiáng)調(diào)事件的動態(tài)性[3];信息檢索領(lǐng)域,地理事件是發(fā)生在地表空間的各種自然和社會現(xiàn)象,強(qiáng)調(diào)靜態(tài)結(jié)果[4]。
本文從地理事件的本體出發(fā),研究信息抽取領(lǐng)域地理事件的概念模型,給出基于本體的地理事件統(tǒng)一模型,為地理事件的信息抽取提供支撐。因此,信息抽取領(lǐng)域的地理事件是指與地理空間信息相關(guān)的對象,和它的時間、空間(位置、形狀和關(guān)系)、屬性等發(fā)生變化的地理現(xiàn)象。地理事件是一個<Te,Le,Pe,E>四元組集合,其中Te是地理現(xiàn)象的時間屬性,Le是地理想象的位置屬性,Pe是地理現(xiàn)象的非時空屬性,E是地理現(xiàn)象。
Perez歸納了用于描述本體的基本建模原語包括[5]:類或概念、關(guān)系、函數(shù)、公理、實(shí)例。其中,基本關(guān) 系 有 part-of、kind-of、instance-of、attribute-of 4種。
地理事件本體定義為:GeoEvent-Ontology=<GEC、GER、GEH、GEP、GEI>五元組。
(1)GEC——地理事件概念(本體中稱作類),表示具有相同屬性的對象集合。
(2)GER——地理事件語義關(guān)系,概念間的并列關(guān)系。
(3)GEH——地理事件層次關(guān)系,概念間的層次關(guān)系。
(4)GEP——地理事件屬性,主要有屬性對象和屬性限制。
(5)GEI——地理事件實(shí)例,即概念的現(xiàn)實(shí)實(shí)現(xiàn)。
語義描述的方法有很多,其中 XML、RDF、OWL應(yīng)用廣泛。XML語言可創(chuàng)建具有語義的自定義標(biāo)簽,將數(shù)據(jù)與顯示分離,樹結(jié)構(gòu)表示,但是不能表達(dá)被機(jī)器識別的語義;RDF用URI來標(biāo)識事物,通過二元關(guān)系模型的有向圖結(jié)構(gòu)表示能被機(jī)器識別的知識表述語言;OWL是RDF擴(kuò)展,是本體描述語言[6]。
基于本體的地理事件語義描述采用OWL本體語言進(jìn)行描述,以地震事件為例,如下所示。
<o(jì)wl:Class rdf:about=“#地震”>
<o(jì)wl:unionOf rdf:parseType=“Collection”>
<o(jì)wl:Class rdf:about=“#特大地震”/>
……
<o(jì)wl:Class rdf:about=“#極小地震”/>
</owl:unionOf>
</owl:Class>
GATE(A General Architecture for Text Engineering),通用文本工程框架,是由Sheffield大學(xué)提供的一款基于java的開源軟件。GATE的主要功能是基于標(biāo)注的信息抽取,是計(jì)算機(jī)語言學(xué)(CL)、自然語言處理(NLP)、語言工程學(xué)(LE)的軟件基礎(chǔ)設(shè)施和開發(fā)工具。
3.1.1 GATE體系結(jié)構(gòu)
GATE是基于JavaBean的可重用組件式開發(fā)[7],其核心是CREOLE組件集,具體劃分為3類組件。
(1)語言組件(LR):主要包括數(shù)據(jù)相關(guān)的實(shí)體,例如文檔、語料庫、標(biāo)注等。
(2)處理組件(PR):主要包括與算法相關(guān)的實(shí)體,例如解析器、生成器等,會對本體、詞表、規(guī)則等進(jìn)行操作。
(3)可視化組件(VR):主要包括圖形組件,提供用戶圖形界面。
3類組件構(gòu)成了GATE的MVC體系框架,即模型-視圖-控制器的設(shè)計(jì)模式。
3.1.2 GATE的規(guī)則語言
GATE信息抽取采用基于規(guī)則的方法(有別于基于統(tǒng)計(jì)的方法),通過JAPE規(guī)則定義語言,實(shí)現(xiàn)命名實(shí)體的識別與標(biāo)注。JAPE規(guī)則的基本結(jié)果如下。
(1)每條規(guī)則(rule)分為左側(cè)(LHS)和右側(cè)(RHS)2部分。
(2)左側(cè)是標(biāo)注識別規(guī)則,包含操作符(|,*,?,+)等標(biāo)注模式。
(3)右側(cè)是標(biāo)注操作規(guī)則,包含對標(biāo)注集操作的描述。
3.1.3 GATE組件開發(fā)
GATE執(zhí)行流程如下:通過建立Application應(yīng)用將相關(guān)的處理組件PR拼接起來,創(chuàng)建工作流水線對文本進(jìn)行處理。例如GATE內(nèi)置組件ANNIE等。
GATE提供了一個開發(fā)組件的環(huán)境架構(gòu),在此架構(gòu)上可以開發(fā)自己的組件,支持架構(gòu)和組件導(dǎo)出(gate.jar),并且可以方便地嵌入到其他應(yīng)用程序中。自定義組件繼承于GATE的CREOLE資源的3類組件,一般包括jar包和xml及Jape規(guī)則制定,具體如下。
(1)建立基于GATE接口的java類,并編譯。(2)編寫XML配置數(shù)據(jù)。
(3)把JAR和XML集成到GATE中。
3.2.1 信息抽取
信息抽取就是從文本中抽取特定實(shí)體、關(guān)系及相關(guān)信息。MUC定義了信息抽取的5個類型[8],包括:命名實(shí)體識別(NE)、共指消解(CO)、模板元素構(gòu)建(TE)、模板關(guān)系構(gòu)建(TR)和情景模板建立(ST)。
信息抽取常用方法有基于自然語言處理、基于規(guī)則、基于統(tǒng)計(jì)學(xué)習(xí)3種方法。其中基于統(tǒng)計(jì)學(xué)習(xí)是利用統(tǒng)計(jì)知識對未標(biāo)注語料進(jìn)行訓(xùn)練并獲取信息的方法;基于規(guī)則是從帶標(biāo)注的訓(xùn)練語料庫中提取規(guī)則,用構(gòu)建規(guī)則庫的方式匹配信息的方法。
GATE采用基于規(guī)則方法進(jìn)行信息抽取,步驟如下。
(1)首先,對原始語料庫進(jìn)行標(biāo)注,得到帶標(biāo)注的訓(xùn)練語料庫。
(2)其次,定義規(guī)則的表示模式,例如GATE基于鍵值對的標(biāo)注集和特征集。
(3)最后,根據(jù)規(guī)則模式,采用算法學(xué)習(xí)規(guī)則,構(gòu)建規(guī)則庫,例如覆蓋算法、壓縮算法等。
3.2.2 框架設(shè)計(jì)
基于GATE的地理事件信息抽取流程框架如圖1所示。首先,根據(jù)地理事件的任務(wù)描述,對原始語料數(shù)據(jù)進(jìn)行信息抽取的預(yù)處理,主要是數(shù)據(jù)清洗、中文分詞、句子拆分、詞表構(gòu)建等。其次,隨機(jī)劃分標(biāo)注訓(xùn)練語料庫和未標(biāo)注的測試語料庫,對標(biāo)注訓(xùn)練語料庫進(jìn)行規(guī)則的機(jī)器學(xué)習(xí),構(gòu)建規(guī)則庫。對通過語義網(wǎng)本體解析得到的本體庫也可以進(jìn)行規(guī)則學(xué)習(xí),導(dǎo)入規(guī)則庫。最后,利用GATE框架對測試語料庫進(jìn)行基于規(guī)則的信息抽取,得到地理事件的描述信息。
圖1 基于GATE的地理事件信息抽取流程
制定利用GATE進(jìn)行信息抽取的規(guī)則至關(guān)重要。GATE中規(guī)則被保存為*.jape文件,一般存放在grammer文件夾中。JAPE是規(guī)則制定的基本語言,是提高命名實(shí)體識別精度的關(guān)鍵。但是,JAPE有其自身優(yōu)點(diǎn),主要如下。
(1)JAPE允許右邊部分不僅僅可以添加屬性項(xiàng),也可以編寫java代碼,很大程度上擴(kuò)展了GATE規(guī)則的強(qiáng)大功能。
(2)JAPE可以使用宏的概念,避免不同規(guī)則重復(fù)信息出現(xiàn)。
(3)JAPE可以編譯并存儲為java對象。
地理事件命名實(shí)體的抽取規(guī)則應(yīng)根據(jù)任務(wù)的需求定制。只有在一定的語言環(huán)境中,才能更好進(jìn)行信息抽取。地理事件規(guī)則庫是根據(jù)訓(xùn)練語料不斷學(xué)習(xí)更新的,規(guī)則學(xué)習(xí)的好壞對信息抽取至關(guān)重要,以下是規(guī)則示例。
Rule:Location
Priority:100
(({Lookup.majorType==location})+):tag-->
{gate.FeatureMap features = Factory.new-FeatureMap();
gate.AnnotationSet locSet= (gate.AnnotationSet)bindings.get("tag");
gate.AnnotationSet loc= (gate.Annotation-Set)locSet.get("Lookup");
if(loc!=null &&loc.size()>0)
{gate.Annotation locAnn = (gate.Annotation)loc.iterator().next();
features.put("locType",locAnn.getFeatures().get("minorType"));}
features.put("rule","Location");
outputAS.add(locSet.firstNode(),locSet.lastNode(),"Location",features);
outputAS.removeAll(loc);}
GATE中的詞表(gazetteer)由一組列表組成,用于發(fā)現(xiàn)文本中包含這些名稱的命名實(shí)體,其標(biāo)注類型為lookup。詞表用基于規(guī)則的方法,而語料用基于統(tǒng)計(jì)的方法進(jìn)行信息抽取。GATE自身詞表數(shù)量有限,且中文詞表不夠完善,尤其是專業(yè)領(lǐng)域詞表不全。因此,需要根據(jù)任務(wù)更新詞表。
GATE中詞表被保存在*.lst文件中,多個詞表會建立索引文件,一般保存為lists.def文件。詞表索引文件描述每個列表的主要類型、次要類型和語言,用冒號隔開。如表1所示,第一列是詞表文件名,第二列是主要類型,第三列是次要類型。
表1 詞表索引格式
詞表文件可以用任何文本編輯器打開或修改,也可以在GATE框架中打開,一般詞表用UTF-8編碼形式存儲。如圖2所示,左邊顯示索引文件,右邊顯示詞表文件,有1+2n列(值,特征1,值1……特征n,值n)。詞表的質(zhì)量及完善性直接決定了命名實(shí)體識別的準(zhǔn)確率和效率。
圖2 GATE中詞表編輯顯示
信息抽取的前提是對文本進(jìn)行分詞,GATE對中文分詞做的不夠好,因此需要借助中文分詞組件彌補(bǔ)不足。ICTCLAS是中科院計(jì)算技術(shù)研究所研發(fā)的分詞軟件,該軟件中文分詞精度可達(dá)98.45%,是目前比較流行的漢語詞法分析器。
GATE是基于java語言編寫的框架,要調(diào)用ICTCLAS的C++函數(shù)接口,需要通過JNI調(diào)用其分詞效果,如圖3所示。
基于GATE的中文分詞只是利用ICTCLAS進(jìn)行分詞,不需要詞性標(biāo)注。以空格將文本進(jìn)行分詞之后,即可轉(zhuǎn)換為GATE識別的格式,進(jìn)行下一步處理。
圖3 ICTCLAS中文分詞和詞性標(biāo)注效果
命名實(shí)體是文本中最基本的信息元素,包括現(xiàn)實(shí)世界中的實(shí)體甚至?xí)r間、數(shù)量等。根據(jù)MUC標(biāo)準(zhǔn),命名實(shí)體可分為:人名(Person)、地名(Location)、機(jī)構(gòu)名(Organization)、日期(Date)、時間(Time)、百分?jǐn)?shù)(Percentage)、貨幣(Monetary Value)等幾大類[9]。根據(jù)ACE的解釋,實(shí)體在文本中有命名性、名詞性、代詞性3種表現(xiàn)形式。
命名實(shí)體識別是從文本中匹配識別命名實(shí)體,是信息抽取的關(guān)鍵。命名實(shí)體識別有基于規(guī)則的方法和基于統(tǒng)計(jì)的方法2種[10]。早期的命名實(shí)體識別采用基于規(guī)則的方法,移植性差。而基于統(tǒng)計(jì)的方法是在大規(guī)模語料基礎(chǔ)上進(jìn)行的,主要有以下4種。
(1)有監(jiān)督學(xué)習(xí)方法,例如 HMM、MEM、SVM、CRF、DT等。
(2)半監(jiān)督學(xué)習(xí)方法,例如利用標(biāo)注的小規(guī)模語料自己學(xué)習(xí)。
(3)無監(jiān)督學(xué)習(xí)方法,例如利用詞典進(jìn)行文本聚類。
(4)混合方法,幾種方法或模型的結(jié)合。
基于GATE的命名實(shí)體識別采用基于規(guī)則的學(xué)習(xí)方法,首先對文本進(jìn)行分詞,再對已有詞典進(jìn)行查找匹配,對未識別實(shí)體進(jìn)行標(biāo)注規(guī)則學(xué)習(xí),最后將識別結(jié)果按照標(biāo)注模式進(jìn)行信息抽取,以此得到用戶關(guān)心的內(nèi)容,如圖4所示。
圖4 基于GATE的命名實(shí)體識別流程示意圖
GATE中標(biāo)注類型通過標(biāo)注模式庫來定義,支持XMLSchema表示的標(biāo)注模式,可根據(jù)解析器進(jìn)行擴(kuò)展,表示領(lǐng)域本體的標(biāo)注模式,例如地理事件中地震事件的標(biāo)注模式文件(如下所示)。地理事件本體中不同的概念對應(yīng)不同的標(biāo)注模式并以此共同構(gòu)成標(biāo)注模式庫。
<?xml version="1.0"encoding="utf-8"?>
<EventList><Event>
<DataId>1</DataId>
<Type>新聞</Type>
<Url>http://news.21cn.com/caiji/roll1/a/2015/0401/18/29324097.shtml</Url>
<Date>2015年04月01日07:18</Date>
<EventTitle>貴州劍河5.5級地震已致3萬余民眾受災(zāi)</EventTitle>
<EventType>地震</EventType>
<Annotated><when>2015年3月30日9時47分</when>,<where>貴州?。迹痺here><where>黔東南</where><where>苗族侗族自治州</where><where>劍河縣</where>發(fā)生<what>5.5級地震</what>,震源深度7千米。</Annotated>
</Event></EventList>
隨著互聯(lián)網(wǎng)信息的日益增長,面向任務(wù)的信息抽取成為各個領(lǐng)域研究的重要內(nèi)容。本文基于GATE的地理事件信息抽取是地理空間信息領(lǐng)域面向地理事件挖掘的研究內(nèi)容。通過對地理事件本體模型的研究,利用GATE自然語言處理框架,可以對領(lǐng)域語料庫進(jìn)行中文分詞、詞表構(gòu)建、規(guī)則制定、命名實(shí)體識別等,實(shí)現(xiàn)了地理事件的標(biāo)注和信息抽取。
[1] 王振峰.基于本體的地理事件信息檢索[D].武漢:武漢大學(xué),2009.
[2] 杜哲.GIS時空數(shù)據(jù)模型研究[D].北京:北京林業(yè)大學(xué),2011.
[3] 王艷軍,徐狄軍,李丹農(nóng),等.面向服務(wù)架構(gòu)的地理要素在線更新[J].測繪通報(bào),2013(6):41-44.
[4] 嚴(yán)薇.基于地理事件的變化信息存儲管理和應(yīng)用研究[D].鄭州:信息工程大學(xué),2011:28-30.
[5] Perez A G,Benjamins V R.Overview of Knowledge Sharing and Reuse Components: Ontologies and Problem-Solving Methods[C]// Proceedings of the 16thInternational Joint Conference on Artificial Intelligence(IJCAI-99).Stockholm:the IJCAI-99 Workshop,1999:1-5.