摘 要:智能搜索引擎是解決當前網絡信息檢索中存在諸多瓶頸問題的有效途徑。智能搜索引擎需要獲取、預處理、表示和集成不同層次的(如HTML/XML/RDF/OWL文檔)的數據和信息,并最終轉換成各領域的智能語義信息。領域本體是實行智能的關鍵。提出了一種實現從Web文檔中(半)自動構建本體的學習系統框架,并討論本體學習中概念的獲取、相互關系的獲取等關鍵問題。
關鍵詞:智能搜索引擎; 本體; 本體學習
中圖分類號:TP391.1 文獻標志碼:A 文章編號:1001-3695(2008)08-2362-04
Study on ontology learning for intelligent search engine
XIAO Minga,b, HU Jin-zhua,b, XIAO Yic
(a.Center for Language Language Education, b.Dept. of Computer Science, c.Dept. of Information Management, Central China Normal University, Wuhan 430079, China)
Abstract:Intelligent search engine is an effective tool for solving many bottleneck problems in network information retrieval. It involves acquiring, preprocessing, representing and integrating data and information available at different levels of services (such as HTML/XML/RDF/OWL etc) and eventually converts them into useful intelligent semantic information of each domain. This paper proposed firstly a systemic framework for building (semi-)automatically ontology learning from Web pages and considered some key problems about extracting concepts and interrelationships in ontology learning.
Key words: intelligent search engine; ontology; ontology learning
0 引言
因特網的廣泛普及使得網上信息的數量和類型隨之急劇增加,從而造成用戶查找信息越來越困難。如何高質高效地檢索到所需的信息,是當前信息檢索領域迫切需要解決的問題。目前被普遍使用的檢索方式是利用搜索引擎的快速查找。搜索引擎利用基于關鍵詞的全文檢索技術和基于主題分類的檢索技術,其檢索效果還不能令人滿意。網絡信息檢索仍存在諸多瓶頸,主要表現在以下幾個方面:a)用戶表達模糊。一般情況下,用戶很難簡單地通過關鍵詞或關鍵詞串,準確地表達其真正想檢索的內容。此外,對同一概念的檢索,不同的用戶可能使用不同的但相似或相關的關鍵詞來查詢。用戶表達得不準確,造成檢索的困難。b)檢索過程機械,不理解語義。基于關鍵詞匹配的檢索技術,只是機械地把用戶的查詢請求以關鍵詞的形式與全文中的詞進行比較,而沒能考慮到查詢請求與文檔語義上的匹配。一方面,檢索結果中包含大量無關信息;另一方面,很多與關鍵詞同義的信息卻沒能檢索出來。c)出現“信息孤島”。事物之間是緊密聯系的,反映在概念上,概念之間也存在各種各樣的聯系。一個概念在被檢索時,系統只作為一個孤立的檢索詞來處理,忽略了概念之間的聯系,形成了“信息孤島”。檢索返回的結果只包含被檢索詞的文檔,而不涉及與其相關的信息。d)檢索結果缺乏知識。同一主題的相關信息,往往分布在多個不同的站點上,現有的檢索技術只能返回與主題相關的一系列網址列表,卻不能將相關信息合并后形成知識,為用戶服務。
本體機制是科學家為客觀地解釋對象的語義及它們之間的關系而建立的,反映了人們對語義的共識。本體將是實現智能信息搜索的前提。為實現智能信息搜索,需構建大量的本體(尤其是應用本體)來滿足其需求。但本體和知識庫從何而來?相對于因特網上海量信息而言,目前只有很少手工構建的本體如WordNet和Cyc,但是一方面用手工方式構建本體需要耗費大量的人力和時間,另一方面這些通用本體只包含非常少的領域概念。同時,如何維護現有本體,尤其是如何實現知識更新?因為新的概念、新的實例和已有概念的屬性在不斷出現。譬如,某一醫學本體中可能并不包含禽流感和口蹄疫,也不可能包括其與韓國和越南等疫區的關聯。
為了解決本體工程(ontology engineering)中知識瓶頸問題,需要采用自動化或半自動化工具來構建本體。大量的ontology主要是通過對網絡上各專業領域中大量的HTML網頁進行抽象分析得到。因此,需要一種簡單可靠的ontology的提取方法,即一種高效快捷的ontology構造方式。本文首先分析了當前本體學習的研究現狀,提出了一種面向智能搜索引擎的本體(半)自動構建的本體學習系統框架,并分別討論了本體學習中領域概念的抽取、概念之間關系的抽取和分類體系的自動構建等關鍵技術,最后給出還需要進行的相關研究工作。
1 研究背景
在本體建立方面,目前存在的絕大多數本體都是手工生成的。手工開發是一件單調枯燥的事情,且難以保證其正確性和可維護性,良好的工具支持是必不可少的。由于Internet上的信息量巨大、主題繁多,研究如何自動化、半自動化生成本體具有重大的意義。為此,研究者提出了本體學習這一涉及人工智能中信息獲取、機器學習、自然語言處理等多領域交叉的研究課題。目前已有多個本體學習系統被開發出來,如TextToOnto[1]、OntoLearn[2]、the ASIUM system[3]、OntoLT[4]和SOAT[5]等。The ASIUM system、the Mo’kWorkbench等早期開發的工具系統大多功能不完全,通常是側重于對本體學習過程中某一環節進行方法探索與系統實現。例如英國愛丁堡大學Mikheev和Finch[6]開發的一個Workbench系統,包括了一系列從自然語言文本中發掘內在結構的計算工具。
在當前開發的本體學習系統中,最典型的是德國卡爾斯魯厄大學AIFB研究所的Text2Onto和意大利羅馬大學R.Navigli等人開發的OntoLearn。其中,又以Text2Onto的功能更全。最初的版本是在2000年開發了TextToOnto本體學習系統,進行改進,實現了多種本體學習算法,可基于各種類型數據源進行概念術語抽取、實例抽取和概念關系學習,對本體進行裁剪、分類構建、擴展和比較等。2005年升級為新系統,命名為Text2Onto[7]。新系統增加了OWL、F-logic等本體表示語言的形式化表示。另一方面,采用數據驅動的數據變化發現方法,僅處理變化的數據集,重新進行本體學習,避免了對整個語料集從頭進行處理。該系統最新版可抽取的概念關系包括概念層次(類與子類)關系、部分與整體關系、同義關系、概念實例,是所有本體學習系統中抽取概念關系類型最多的系統。
國內的本體學習研究處于起步階段,已構建的本體學習工具系統有:中國科學院計算技術研究所程勇[8]開發的本體學習工具OntoSphere,包括了語料分析、本體學習、本體編輯和本體映射功能,該工具是知識管理系統KMSphere原型系統中的核心組件;中國臺灣中央研究院資訊科學研究所吳世弘等人開發的稱為SOAT的本體學習工具系統。
當前本體學習研究的重點在于概念術語和概念關系的自動抽取,特別是概念關系的抽取算法。根據目前本體學習系統的評估報告,概念術語抽取的準確率在80%~90%,概念關系抽取的準確率則根據抽取關系的類型不同而不同,結果為20%、30%到70%、80%不等。可見本體學習的結果只是一個草稿本體,需要經過領域專家進行確認后才能作為最終的正確本體使用。因此,本體學習工具系統通常被集成到一個典型的本體工程工作平臺(也稱為本體構建工具系統)中,利用本體學習獲得草稿本體來協助知識工程師構建本體。例如,Text2Onto被集成到本體構建工具系統OntoEdit和語義網套件工具KAON中,OntoLT作為本體構建系統Protégé的一個插件開發。因此,在本體體現其在知識管理和信息搜索方面的優越性之前,還需進行大量研究。本文給出用于智能搜索引擎的本體學習系統框架模型。
2 本體學習的概念及系統框架
本體建造是一個非常復雜的過程,它需要多個領域的專家參與。雖然目前本體工程工具已經較為成熟,但本體的手工構造仍是一項繁瑣而辛苦的任務,并最終導致所謂的知識獲取瓶頸。
面向智能搜索引擎的本體學習技術旨在開發能夠實現本體自動構建的機器學習技術來協助知識工程師構建本體。系統基本框架如圖1所示。總的來說分成以下三個部分:a)網頁搜集,包括網絡爬蟲、爬蟲控制、URL數據庫、URL提取、網頁數據庫。b)本體學習,包括:(a)本體獲取,有本體創建、本體模式(schema)抽取和本體實例(instances)抽取;(b)本體維護(ontology maintenance),本體集成和導航、本體更新以及本體擴充(enrichment)。c)查詢服務,包括對用戶查詢進行分詞分析、語義分析,根據語義關系推理,向索引數據庫提交檢索關鍵詞,并把查詢結果返回用戶,同時標注元數據,更新到本體庫。
本研究的主要目標是從Web文檔中自動獲取領域術語及其相互關系。采用信息抽取(IE)技術來確定概念對之間的語義關系,在獲取的概念及其相互關系的基礎上,構建本體。經過系統所獲取的Web本體能夠為計算機方便利用,因此,并不追求語義的完整和深入,只求語義表達的可擴展性。其任務是把共同約定、共同享用的知識(詞語的語義規范)用計算機容易處理的形式表達出來。
3 本體學習的實現過程
3.1 基本流程
本文旨在實現從Web頁面中自動抽取本體,從Web頁面數據中找出本體語義概念的模式及其關系。它通過分析同一應用領域Web頁面集來半自動化地抽取Web本體。其基本步驟包括:
a)通過搜索引擎從Web上抓取Web文檔集、進行選擇和預處理;
b)生成候選關鍵詞集;
c)抽取領域術語(term);
d)本體概念獲取;
e)確定語義關系并構建分類層次體系;
f)創建形式化表示。
3.2 文檔的預處理
當輸入一個Web頁,系統掃描該Web頁面,進行文檔的特征抽取、句子錨定,并找出HTML文本中可能分類為本體實例的詞組或短語(phrase)。
a)文檔的特征抽取。過濾一個Web頁面中包含了圖像、動畫、音頻、超鏈接等信息,保留正文的文字信息。因此采用如下步驟:
(a)過濾掉那些不包含子主題或關鍵概念的“噪聲”文檔,如論壇討論頁面以及根本不包含相關術語項的頁面。過濾啟發式規則是基于在這些“噪聲”文檔經常出現的線索短語。
(b)對每一頁面中的重要短語作出標記。這些標簽包括〈h〉,…,〈h〉〈strong〉〈big〉〈i〉等。另外,還確定一些規則讓某一標記文本能被安全忽略,如包含禮節性稱謂(如某某先生、博士或教授)、包含一個URL或電郵地址等。
(c)對于Web鏈接,假設網頁p中有鏈接指向網頁q,記為p->q,對于主題t,網頁p、q對此主題的原始權值分別為p(t)和q(t)。設w(i,t)為網頁i關于t主題的權值,則w′(p,t)=w(p,t)+fw(q,t),w′(q,t)=w(q,t)+fw(p,t)。其中:f(0 (d)采用上述規則,分析所有頁面并抽取符合要求的文本段。然后移除停用詞并word stemming。 b)句子錨定。該過程選擇那此可能包含本體關系的句子(S)。如果S中包含了是C的成員的提示詞,則某一句子S被錨定。更準確地說,某一錨定句子S可以重寫為字符串TL1..m·c·TR1..n。其中,TL1..m和TR1..n為名詞短語或術語序列。 c)每一候選規范詞的查詢結果進行匯總。重復每一候選規范詞,將所有候選規范詞和候選本體概念導入語言模式以提取假設短語。例如,候選規范詞“越南”和概念“國家及公司”合成為一種模式,如假設短語為“越南是一個國家”和“越南是一個公司”。該步驟的結果為假設短語集。然后,Google通過其Web服務API查詢假設短語。該API程序返回每一假設短語的命中數。 經過文檔預處理步驟,已經產生一系列的候選規范詞。 3.3 術語項生成 術語是專業領域中概念的語言指稱。通過提高準確率和召回率,由計算機盡可能準確、全面地抽取候選術語項,是本體學習的關鍵。本步驟的目標是從上一步的候選規范詞中抽取領域術語(term)。術語表示為某一指定領域內簡單或復雜含義的詞組或字符串。從某種意義上講,術語是一種領域知識的文本形式的淺層表示。因其低二義性和高專指性,這些詞對于領域知識的概念化尤其有效,可支持領域本體的創建。 a)候選術語生成。首先采用詞組塊(phrase chunking)來確定句子中淺層短語邊界。在該過程中,本文采用淺層解析技術以及啟發信息,如表示重點句子和段落的提示詞。淺層解析器模塊可分為兩個過程:句子錨定,候選術語生成和本體術語選擇。所有錨定句子被分塊以形成名詞短語、動詞短語和從句。該步驟的輸出是一組沒有結構消歧的候選名詞短語。 b)相關度計算。Roberto Navigli提出了一種新型的方法篩選“真正”的術語,該方法基于稱做領域相關性和領域一致性的兩種測度形式。類Dk中術語t的領域相關性采用如下公式計算: DRt,k=p(t|Dk)/max1≤j≤nP(t|Dj) 其中條件概率P(t|Dj)采用下式估計:E(P(t|Dk))=ft,k/∑i′∈Dkft′,k。 c)應用互信息(mutual information)方法來抽取共生(co-occurrence)詞:對b)中產生的結果中錯誤名詞短語進行修剪(pruning)。在該步驟中,通過應用句法結構和統計技術來分析名詞短語,解決名詞短語生成過度或不及的問題。從句法標注的語料庫中,創建相同名詞短語的概率模型,它通過從文檔中抽取信息并采用下式計算: PNPs(wi,wj)=Pf(wi)×Pb(wj) 其中:PNPs(wi,wj)為名詞短語或復合名詞wi和wj可關聯到一個新詞;Pf(wi)為i在名詞短語跟在其他后面中的出現頻度/i在所在文檔出現的頻度;Pb(wj)為i在名詞短語在其他前面中的出現頻度/i在所在文檔出現的頻度。 這種概率模型可用于修剪候選名詞短語中的錯誤名詞短語。如果前面的名詞短語的概率大于閾值,該名詞短語則可能為一個合適名稱(proper name)。 d)確定術語項的詞序。對選擇的術語集根據相關度進行排序,形成術語項列表。 3.4 概念間層次關系 概念間層次關系的抽取根據不同的數據源有不同的方法。最簡單的方法就是利用概念間詞串的包含關系確定其上下位關系[9]。例如,教育、幼兒教育、初等教育、高等教育、職業教育、本科教育、研究生教育、碩士、博士、教育碩士、工程碩士,可根據詞間的字串包含關系得到層次關系(圖2)。但這種方法只能得到少部分的層次關系。例如上例中,職業教育與教育碩士之間的上下位關系就不能得出。因此,更多的層次關系需要借助通用本體如WordNet中的語義關系,采用模式匹配方法來擴展獲取,如Hearst模式。此外,OntoLearn系統中應用語言學啟發式方法來獲取概念間的層次關系,通過解析概念術語定義的句法詞性規則抽取Kindof關系。TheMo’KWorkbench采用無監督機器學習方法從文本中獲得概念層次。 3.5 本體概念獲取 概念定義的獲取,除直接從術語詞典或知識庫中檢索外,通常采用模式匹配方法。Velardi等人[10]在OntoLearn評估報告中描述了這兩種概念定義獲取方法,一方面通過在線術語表;另一方面通過模式匹配規則和句法解析器從文檔中抽取概念術語定義,并定義了過濾規則剪除無關的概念術語定義或非術語定義。國內也有相關研究,如許勇等人[11]工歸納了用擴展BNF形式表示術語定義的模式,以及非術語定義的排除模式,并用這些模式從來自互聯網的語料中獲取術語的定義。 3.6 概念實例 概念的實例關系抽取,在Text2Onto中采用了相似性計算的方法。首先,從文本集中分別抽取實例和概念的關鍵詞矢量空間表示;然后用Skewed divergence提出的相似度指標計[12]算實例和概念的矢量相似度,將實例指定到與其矢量相似度最高的概念中作為其實例。實驗結果F因子為32.16%。 3.7 部分與整體關系 概念間部分與整體關系的獲取主要采用模式匹配方法。Charniak等人[13]描述了在大量語料中發現部分與整體關系的模式。Cimiano在Text2Onto系統中開發的JAPE模式引用了這一模式,通過計算部分與整體關系的模式共現率指示概念術語之間部分與整體關系的概率,也可借助通用本體如WordNet中的語義關系推理概念術語間的部分與整體關系。 3.8 同義關系 概念間的同義關系,一方面可利用通用本體或其義類辭典來推理獲取;另一方面可假設同義概念在文本中具有相同的上下文句法結構,因此可使用淺層解析器等抽取方法比較概念在上下文中的特征,然后計算兩者的相似性,以指示兩者同義關系的概率。此方法已在Text2Onto中運用。 4 結束語 基于本體的智能搜索引擎就是要提供更好性能、更加智能的知識服務。本文提出的從Web文檔中半自動化構建本體的本體學習方法,還處于探索階段,還需要作大量研究工作。本體學習的研究和發展必將從根本上改變Web語義理解和知識系統的構建方式,對語義網和智能信息檢索的向前發展并最終解決起很大作用。后續還需要研究本體學習體系功能結構與接口的統一和標準化,基于深層次語義分析的本體學習方法,適合中文特點的本體學習算法。 參考文獻: [1]MAEDCHE A, STAAB S. Ontology learning[C]// STAAB S, STUDER R. Handbook on Ontologies.Berlin, Heidelberg :Springer,2004:173-189. [2]VELARDI P, FABRIANI P. MISSKOFF M. Using text processing techniques to automatically enrich a domain ontology[C]// Proc of International Conference on Formal Ontology in Information Systems. New York : ACM Press , 2001: 270-284. [3]NEDELLEC C. Corpus-based learning of semantic relations by the ILP system, Asium[C]//Proc of Learning Language in Logic. New York: Springer-Verlag, 2000:259-278. [4]BUITELAAR P , OLEJNIK D , SINTEK M. OntoLT: a protégé plug-in for ontology extraction from text based on linguistic analysis[C]//Proc of the 1st ESWS’04 Heraklion. Berlin: Springer-Verlag , 2004: 31-44. [5]WU S, HSU Wen-lian. SOAT: a semi-automatic domain ontology acquisition tool from Chinese corpus[C]// Proc of the 19th International Conference on Computational Linguistics (COLING 2002). Morristown, NJ: Association for Computational Linguistics, 2002:1-5. [6]MIKHEEV A , FINCH S. A workbench for finding structure in texts[C]// Proc of the 5th Conference on Applied Natural Language Processing (ANLP297). San Francisco : Morgan Kaufmann Publishers Inc ,1997: 372-379. [7]CIMIANO P , VLKER J . Text2Onto: a framework for ontology learning and data-driven change discovery[C]//Proc of the 10th International Conference on Applications of Nature, Language to Information Systems. Alicante: Springer-Verlag , 2005: 227-238. [8]程勇. 基于本體的不確定性知識管理研究[D].北京:中國科學院計算技術研究所,2005. [9]NAVIGLI R, VELARDI P. Learning domain ontologies from document warehouses and dedicated Web site[M]. Cambridge, MA: MIT Press, 2004. [10]VELARDI P, NAVIGLI R, CUCHIARELLI A, et al. Evaluation of ontolearn, a methodology for automatic population of domain ontologies[C]// BUITELAAR P, CIMIAND P , MAGNINI B. Ontology learning from text: methods, applications and evaluation. Amsterdam: IOS Press, 2005. [11]許勇,荀恩東,賈愛平,等. 基于互聯網的術語定義獲取系統[J].中文信息學報,2004,18(4):37-43. [12]LEE L. Measures of distributional similarity[C]// Proc of the 37th Annual Meeting of the Association for Computational Linguistics on Computational Linguistics. Maryland, Morristown: Association for Computational Linguistics, 1999:25-32. [13]CHARNIAK E, BERLAND M. Finding parts in very large corpora[C]// Proc of the 37th Annual Meeting of the Association for Computational Linguistics on Computational Linguistics. Morristown, NJ: Association for Computational Linguistics,1999:57-64. 注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文