董洋溢 李偉華 陳世亮
1(西北工業(yè)大學計算機學院 陜西 西安 710072)2(西北工業(yè)大學明德學院 陜西 西安 710124)
?
中文領域知識半自動化OWL本體構建方法研究
董洋溢1李偉華1陳世亮2
1(西北工業(yè)大學計算機學院陜西 西安 710072)2(西北工業(yè)大學明德學院陜西 西安 710124)
摘要傳統(tǒng)中文領域本體構建多采用手工構建的方法,這種方法費時費力且重用率不高。針對這種情況,提出一種把中文領域知識文檔半自動化地轉化為OWL(Web Ontology Language)本體的方法。該方法以武器裝備領域為例,先使用分詞工具ICTCLAS5.0對中文文檔進行分詞等預處理,然后使用TF-IDF算法、基于模板匹配算法挖掘領域核心概念、聚類概念等級關系,再使用Jena將聚類后的三元組文檔形式化為OWL本體,最后使用 Protégé工具對OWL本體進行可視化管理。實驗結果表明,該方法可以有效地節(jié)省中文本體構建的時間和人力成本,為全面解決中文領域本體的自動化構建提供了一個新的思路和嘗試。
關鍵詞OWL本體本體構建JenaProtégé
0引言
本體用于形式化地保存某一領域的知識,創(chuàng)建本體的過程可以被視為將人類所掌握的知識轉換為一種計算機可獲取的形式的過程。顯然,有不少可能的知識源需要被形式化。知識源可能存放在領域專家的大腦中、互聯(lián)網中、數據庫中或者書本及文檔中[1]。本文主要討論如何將非結構化的中文文檔中的領域知識轉化為計算機所能處理的本體。國內外主要的本體構建方法有TOVE法、骨架法、IDEF5法、METHONTOLOGY法、SENSUS法、KACTUS工程法、七步法等綜合性方法[2]。文獻[3-5]分別對這些方法進行了比較研究。通過這些分析比較,可以看出[6]:1) 目前還沒有一套完善的工程方法,很大程度上依賴于具體的項目;2) 本體的構建應以具體的項目領域和任務作為起點,以便于進行本體功能的描述和知識的獲取;3) 沒有專門針對中文文檔知識的本體構建的成熟方法,可參考現(xiàn)有軟件開發(fā)標準,結合項目和實際任務的需求,探索和完善構建本體的標準方法論;4) 大部分構建過程都需要人工構建,自動化程度不高,效率低下。
OWL[7]是W3C目前推薦的本體表示語言,被設計用于供計算機進行信息處理,采用XML語言編寫。考慮到中文語義的復雜性,研究中文領域知識的半自動本體構建方法是一個可行且很有意義的研究方向。為了便于研究和說明,本文以武器裝備(如武警)領域為例,提出一種將中文領域文檔半自動地轉化為OWL本體的方法。
1武器裝備領域中文本體半自動構建流程設計
參照Uschold的“骨架法”[8],武器裝備領域中文本體半自動構建方法可以分為五個步驟。即確定研究領域、中文知識文檔預處理、挖掘核心概念、概念間關系抽取及聚類以及OWL本體結構化。如圖1所示。
圖1 武器裝備領域本體構建流程
1.1確定研究領域
在信息化戰(zhàn)爭的背景下,武器裝備領域的信息化已成為一個研究的熱點??紤]到武器裝備領域的相關詞匯量相對集中,概念層次分類清晰,有利于研究和分析。本實驗選取了武器裝備領域來建立本體,以期為今后的武器裝備信息化提供一定的借鑒。
1.2中文知識文檔預處理
大量的領域知識永久化地保存在各種中文文檔中,中文文檔語料屬于非結構化知識結構,在計算機進行處理前要先進行預處理。對中文知識文檔的預處理包括分詞、詞性標注及去掉干擾項等工作。
1.3挖掘核心概念
使用預處理過的中文語料來半自動地構建領域本體,最為關鍵的一步就是要確定該領域的核心概念。可以根據詞頻或特定參數設計特定的算法來最終確定核心概念,在自動化初步建模后再由領域專家進行完善和修正。
1.4概念間關系抽取及聚類
武器裝備領域中概念之間的關系很復雜,包括等級關系(上下位關系)、等價關系、傳遞關系及不相交關系等。為了便于研究,這里主要討論等級關系的抽取及聚類。
1.5OWL本體結構化
在武器裝備領域概念及概念之間的關系確定后,就需要把這些概念及關系結構化為OWL本體。OWL本體結構化可以采用Jena推理機進行自動構建[9],領域專家最后可以使用Protégé工具進行編輯和查看構建好的OWL本體,進行手工完善和修正,從而完成本體的半自動化構建。OWL本體方便計算機進行管理,也為知識的邏輯推理和形式化奠定的基礎。
2武器裝備領域中文本體半自動構建的實現(xiàn)
武器裝備領域中文本體半自動構建的實現(xiàn)過程主要包括中文知識文檔預處理、挖掘核心概念、概念間關系的抽取和聚類及OWL本體結構化。如圖2所示。
圖2 武器裝備領域本體半自動構建的實現(xiàn)
2.1中文知識文檔預處理
中文知識文檔預處理主要包括對原始語料的分詞、詞性標注及去干擾處理。中文原始語料的分詞及詞性標注采用中科院計算所分詞工具ICTCLAS5.0,該工具的分詞準確率一般可達90%以上,在分詞的同時標注出詞性。對于特定的領域詞匯,也可以加入自定義的用戶詞典,以確保專有詞匯的準確切分。
例如,圖3所示的中文領域文檔[10]。
圖3 中文領域文檔
經過ICTCLAS5.0工具進行分詞及詞性標注后的結果如圖4所示。
圖4 經過標注后的結果
將一些領域專用詞匯(比如:殲7、殲8、殲8-2、殲9、殲10、殲11、蘇30)加入用戶詞典后,分詞結果如圖5所示。
圖5 加入專用詞匯后的分詞結果
去干擾處理主要包括去掉語氣詞、介詞、量詞、形容詞及連詞等。這些詞對提取本體需要的核心概念沒有多大幫助,反而會產生干擾。
2.2核心概念挖掘
在對武器裝備領域原始中文文檔語料進行預處理后,得到了許多與該領域相關的概念(詞匯或詞條)。接下來就要從這些概念中提取和挖掘出該領域的核心概念。
核心概念的挖掘算法采用統(tǒng)計學習中比較成熟的TF-IDF算法[11]。特征項頻率TF(Term Frequency),是指特征項(概念)在文檔中出現(xiàn)的次數。反文檔頻率IDF(Inverse Document Frequency),是指特征項在文檔集分布情況的量化。TF-IDF的主要思想是:如果某個詞或短語,在一個文檔中出現(xiàn)的頻率TF高,并且在其他文檔中很少出現(xiàn),則認為此詞或者短語具有很好的類別區(qū)分能力,適合用來進行分類。
TF-IDF計算公式如下[12]:
TFIDFi,j=TFi,j×IDFi
(1)
使用TF-IDF提取領域核心概念的流程如下:
S1:輸入預處理過的中文領域文檔集D={di,i=1,2,…,N}。
S2:按照式(1)計算出每個概念的領域權重,即TF-IDF值。
S3:遍歷每個概念的TF-IDF值,若其TF-IDF值>設定閾值,則提取出該概念。
為了便于研究和分析,本次實驗選取了100篇武器裝備領域相關的中文文檔進行實驗[13]。在分詞及去干擾后對概念的TF-IDF權值進行了計算,表1給出了其中部分概念的TF-IDF值。
表1 部分領域概念的TFIDF值
比如:若閾值設為0.008的話,則表1中的概念都可以被提取出來。
2.3概念層次聚類
抽取領域核心概念后,為了便于研究,接下來就要確定這些概念之間最重要的關系,即等級關系。確定等級關系也就是對這些概念進行層次聚類。概念的層次聚原理如圖6所示。
圖6 概念層次聚類示例
基于改進的模板匹配層次聚類算法如下:
輸入:若干個概念
輸出:包含等級關系的樹形的概念圖
S1:逐個掃描待處理的概念,查詢是否存在于敘詞表或航空名詞大典航空中,若存在,則把概念標記為1,轉向S2;若不存在,則標記為0,轉向S3;
S2:查看概念在敘詞表或航空名詞大典航空中的層次關系概念,再查看這些層次關系概念是否存在于待處理的概念中,若存在則構建等級關系概念樹。轉向S4;
S3:逐個掃描標記為0的待處理概念,根據自定義的模板匹配等級關系,構建等級關系概念樹;
S4:遍歷概念標記為1的概念樹,根據自定義模板匹配判定是否有和標記為0的概念樹中的概念存在等級關系的概念,若存在,則將兩棵概念樹合并;
S5:輸出一棵完整的概念樹。
以三元組的形式保存概念樹,比如:“殲7殲擊機”,“isSubOf”,殲擊機,將這些三元組寫入到一個txt文件中。
2.4形式化為OWL本體
讀取保存等級關系概念樹的txt文件,通過Jena提供的Java API將txt文件轉化為OWL本體文件。Jena是HP公司開發(fā)的開源工具[14],可由http://jena.apache.org/上直接下載,本文使用的是Jena2.12.0。
下面給出了Jena形式化OWL本體的算法示例。
輸入:保存概念及其等級關系的三元組形式的txt文件
輸出:OWL格式的本體文件
File toONTO(File txtFile)
{
//調用Jena API,建立本體模型,該模型使用OWL語言
OntModel m = ModelFactory.createOntologyModel( );
String URI="http:// owl/KJOntologies#";
//本體命名空間URI
//按行讀出txt文件record
while ((record=readLine(txtFile ))!=EOF)
{//將三元組的三個詞條保存在fields數組中
String fields[]=record.split(“ ”);
OntClass C1 = m.createClass( URI + fields[0]);
//第一個詞條轉化為Class
OntClass C3= m.createClass( URI + fields[2]);
//第三個詞條轉化為Class
if(fields[1]是對象)
//第二個詞條轉化為ObjectProperty
{
//創(chuàng)建對象屬性
ObjectProperty op= m.createObjectProperty(URI+ fields[1] );
C1.addProperty(op,C3);
//添加對象屬性
}else
//第二個詞條轉化為DataProperty
{
DataProperty dp=m.createDataProperty(URI+ fields[1]);
C1.addProperty(op,C3);
//添加數據屬性
}
}
owlFile. write(m);
//將內存本體寫入OWL文件中
return owlFile;
//返回OWL文件
}
若需要創(chuàng)建實例,Jena也提供了相應的方法。比如:Individual inst = m.createIndividual(URI + “殲8”,殲擊機 );//創(chuàng)建了“殲8”作為“殲擊機”類的實例。
2.5使用Protégé對OWL本體進行可視化管理
得到OWL本體后,可以使用Protégé4.0工具打開OWL文件,對半自動化構建的OWL本體進行可視化管理,進一步通過
領域專家來完善和修正武器裝備領域本體,完成對半自動構建本體微調和擴展。部分界面如圖7所示。
圖7 使用Protégé4.0工具可視化管理本體
3實驗和推廣
3.1實驗
本次實驗選取了100篇武器裝備領域相關txt類型的中文文檔,經過預處理及TF-IDF算法共挖掘出核心概念78個,概念間等級關系24個。在使用Jena工具自動化生成OWL本體后,采用Protégé可視化工具管理本體,此時加入領域專家人工參與本體的完善和排錯,圖形化的界面便于人工進行管理。在此實驗中,人工修正概念12個,關系6個,即概念的正確率約為85%,關系的正確率可達75%。
3.2推廣
中文武器裝備領域知識的半自動OWL本體構建方法可以推廣到其他中文領域。該方法的基本步驟用在其他領域也是類似的,如圖2所示。不同的是,在文檔預處理階段,需要添加特定領域的用戶詞典。在挖掘特定領域概念時需要查看相關領域的敘詞表或領域專用詞匯表,這樣可以確保半自動化本體構建的準確性更高。
由于領域詞匯和知識的不斷更新,本體的構建無論是人工進行,還是采用自動化的方法,都應該是一個反復迭代和完善的過程。在本體的初始版本建立后,還要反復地將其應用到實際系統(tǒng)中或與領域專家交流,來評價和修正,直至滿意。這個反復迭代的過程將貫穿于本體的整個生命周期[15]。
4結語
傳統(tǒng)的中文領域本體構建的方法多采用手工構建,但會耗費大量時間及人力成本。國內外針對中文文檔半自動化地構建為OWL本體的方法尚無成熟的方法及應用可供參考,需要在摸索中前進。本文所提出的中文知識文檔半自動化地構建為OWL本體的方法對解決這一問題提供了一個參考??梢园讶祟惸苤苯永斫獾闹形奈臋n語義半自動地轉換為計算機可以解釋的OWL本體,實現(xiàn)了從人類對中文文字、符號的理解到機器自動進行處理的轉化。該方法在小規(guī)模的特定文檔實驗中可以獲得較為理想的結果,實驗結果表明,該方法可以有效地縮短本體構建的時間,節(jié)省人力成本,為全面解決中文本體自動化構建方法提供一個新的思路和嘗試。
參考文獻
[1] Pascal Hitzler,Markus Krotszsch,Sebastian Rudolph,等.語義Web技術基礎[M].俞勇,等譯.北京:清華大學出版,2012.
[2] 董慧,聶曼曼.中文本體的半自動構建研究[J].情報雜志,2009,28(11):145-149.
[3] 劉萍,胡月紅.領域本體學習方法和技術研究綜述[J].現(xiàn)代圖書情報技術,2012,125(1):17-22.
[4] 張佳.基于ontology的領域知識庫的構建與集成實現(xiàn)[D].貴州:貴州大學,2006.
[5] 何海蕓,袁春風.基于Ontology的領域知識構建技術綜述[J].計算機應用研究,2005(3):14-18.
[6] 王超,李書琴,肖紅.基于文獻的農業(yè)領域本體自動構建方法研究[J].計算機應用與軟件,2014,31(8):71-74.
[7] OWL簡介[EB/OL].2014.http://www.w3school.com.cn/rdf/rdf_owl.asp.
[8] Uschold M,King M,Moralee S,et al.The Enterprise Ontology[J].The Knowledge Engineering Review,1998,13(1):31-89.
[9] 王雪.中文領域本體構建方法研究[D].武漢:華中科技大學,2011.
[10] 中國武器大全[EB/OL].2014-08-12.http://www.zgjunshi.com/Article/Class38/Class60/Index.html.
[11] 彭時名.中文文本分類中特征提取算法研究[D].重慶:重慶大學,2006.
[12] TF-IDF[EB/OL].2014-07-18.http://baike.baidu.com/view/1228847. htm? fr=aladdin#2.
[13] 中國空軍實力[EB/OL].2014-08-11.http://www.leiting001.com/huati/zhonguokongjun/.
[14] 向陽,王敏.馬強.基于Jena的本體構建方法研究[J].計算機工程,2007,33(14):59-61.
[15] 熊大紅,方逵,戴小鵬,等.農業(yè)本體構建方法研究[J].農機化研究,2012(11):48-55.
RESEARCH ON SEMI-AUTOMATIC CONSTRUCTION APPROACH FOR OWL ONTOLOGY OF CHINESE DOMAIN KNOWLEDGE
Dong Yangyi1Li Weihua1Chen Shiliang2
1(SchoolofComputerScience,NorthwesternPolytechnicalUniversity,Xi’an710072,Shaanxi,China)2(NorthwesternPolytechnicalUniversityMingDeCollege,Xi’an710124,Shaanxi,China)
AbstractTraditional Chinese domain ontology constructions are usually by manual, such method is time-consuming and lower in reuse rate. Aiming at the problem, we put forward a method that can semi-automatically convert Chinese domain knowledge documents into OWL ontology. Taking weapon equipment domain as an example, first the method used the word segmentation tool ICTCLAS5.0 to carry out pretreatment of segmentation on Chinese documents, then used TF-IDF algorithm and the template-based matching algorithm to mine the core concepts and clustering concept hierarchy relationship, and after that it formalised the clustered triple documents to OWL ontology using Jena, and finally conducted visualisation management on OWL ontology by Protégé tools. Experimental results showed that, this method could effectively save the time and manpower costs of Chinese ontology construction, and provided a new thought and attempt to fully solving the automatic construction of Chinese domain ontology.
KeywordsOWL ontologyOntology constructionJenaProtégé
收稿日期:2014-11-05。陜西省教育廳2014年科學研究專項項目(14JK2150)。董洋溢,講師,主研領域:本體技術,智能信息處理。李偉華,教授。陳世亮,副教授。
中圖分類號TP311
文獻標識碼A
DOI:10.3969/j.issn.1000-386x.2016.05.005