〔摘 要〕盡管目前我們擁有Google、百渡等通用搜索引擎,但對于特定領域,人們需要的不僅僅是信息所在地址的指向,還需要獲取更小粒度的信息知識集成。本文嘗試結合Web網頁文檔的特點及領域本體知識,以及信息提取、知識挖掘和XML等技術,給出了一種基于領域本體的Web信息集成方法,旨在提高用戶利用Web信息的效率。
〔關鍵詞〕本體;信息抽??;XML
〔中圖分類號〕TP391 〔文獻標識碼〕B 〔文章編號〕1008-0821(2009)03-0194-03
隨著Internet的飛速發展,網絡信息資源正在不斷豐富,互聯網日益成為一個巨大的信息資源庫。與此同時,人們上網查找和利用信息卻變得越來越困難、效率低下甚至不可能實現。如何從Web上有效地提取實用信息是人們關注的重點,并已成為互聯網信息服務中一個重要的研究課題。盡管目前我們擁有Google、百渡等搜索引擎,但是它們都是通用性的工具。面對浩瀚的信息海洋,它們提供給人們的答案太多以至于有時候人們沒有耐心翻到合乎需要的那一頁。而且對特定領域,人們需要的不僅僅是信息所在地址的指向,還需要獲取更小粒度的信息知識集成。這些數據可以直接向用戶顯示,也可作為原文信息檢索的索引,或存儲到數據庫、電子表格中,以便于以后的進一步分析[1]。本文嘗試結合Web網頁文檔的特點及領域本體知識,以及信息提取、知識挖掘和XML等技術,給出了一種基于領域本體的Web信息抽取方法,旨在提高用戶利用Web信息的效率。
1 需求及技術思路
面對海量的Web數據,傳統的搜索引擎系統提供的服務質量不能滿足信息獲取的需求,為提高查詢結果的準確性和增強查詢的表達能力,人們需要將數據從缺乏結構約束的Web頁面提取出來,轉化為具有結構的數據。本文以上海外國教材中心的教育信息庫為背景,以外國著名大學教學信息自動抽取建庫為抓手,利用教學信息這個特定領域的信息表征特點構造相關的領域本體。通過基于本體的信息抽取方法利用領域本體作為提取的外部知識來產生應用本體,由應用本體來完成最終的提取方式。同時也對領域本體產生反饋,運用這種類似于機器學習的方法不斷完善領域本體,逐步提高抽取過程的自動化。
1.1 抽取的算法思路
Step1:選取HTML樣本。一般情況下,同一個學校的教學信息的表現風格基本一致,所要處理的文檔都是成批的,并且這些文檔都按照某一種或者幾種結構出現。因此只需要構造出其中一些樣本的抽取規則,其余的就可以利用這些規則進行抽取。每一個生成的規則針對Web數據源中的某類Web頁面。
Step2:輸入本體定義?!氨倔w定義”就是定義信息的抽取目標,指明感興趣的信息。通過本體定義使在后續的抽取過程中,只需要處理已經定義了的信息項,對無關的信息項不做處理或標記為“忽略”(Ignore)。
Step3:把HTML樣本解析為Dom樹。
Step4:規則生成器生成抽取規則。規則生成器根據本體定義和Dom樹進行歸納學習生成抽取規則。
Step5:生成的規則按一定形式存儲到規則庫供后續抽取利用。
1.2 本體及基于本體的抽取方法
本體[2](Ontology)在哲學上泛指對客觀世界的本體描述,在人工智能領域一般指智能系統中涉及的概念術語及其性質等靜態知識的描述。在人工智能界,最早給Ontology定義的是Neches等人。他們將Ontology定義為“給出構成相關領域詞匯的基本術語和關系,以及利用這些術語和關系構成的規定這些詞匯外延的規則定義”。1993年,Gruber給出了Ontology的一個最為流行的定義[4-5],即“Ontology是概念模型的明確規范說明”。Ontology的目標是捕獲相關領域的知識,提出供該領域知識的共同理解,確定該領域內共同認可的詞匯,并從不同的層次的形式化模式上給出這些詞匯(術語)和詞匯間相互關系的明確定義。在知識過濾器系統中,本體(Ontology)匯集了領域相關的所有概念與術語及其之間的關系。知識過濾器系統的本體(Ontology)表示按對象分類構成層次結構。其中最底層是領域常用的英語詞匯;次底層是這些詞匯對應的概念,該層每個概念對應底層中一個同義詞集,再往上則是這些概念的抽象。
基于本體的抽取方法簡單地說也就是先用本體(Ontology)建立數據模型,再把可能抽取的數據項映射到Ontology中的元素上,用戶選擇Ontology中的元素以決定抽取的對象。Ontology的引入既保證了結構的一致性,又保證了數據的一致性,使不同來源的數據都能以統一的視圖呈現,方便了信息的繼承和交換。
2 具體實現方案
2.1 本體定義
本體是關于某個領域描述的形式化理論,因此需要一種形式化的邏輯語言進行表達。隨著Web技術和知識工程研究的發展,很多語言標準可以做本體的描述語言。現有的傳統的本體描述語言包括CycL、KIF、Ontolingua、框架邏輯、描述邏輯等,其中CycL和KIF是擴展了的一階謂詞邏輯語言;Ontolingua和框架邏輯是基于框架的方法,兩種方法都是把基于框架的建模原語結合到一階邏輯框架中;描述邏輯根據概念和角色約束描述知識,角色用來推理出分類結果。它們能夠提供清楚描述數據語義信息的概念化表示。本系統本體的定義格式如下:
Concept
[super:{supername}*];
{
End
其中Concept
例如圖1中對應的本體可以定義如下:

(1)Concetp slipt
Super:Null;
Edge:{(INTRODUCTORY COURSES),(INTERMEDIATE COURSES),(ADVANCED COURSES)}
End split;
該段定義了文檔的區域劃分。從INTRODUCTORY COURSES到INTERMEDIATE COURSES為一個區域。
(2)Concept INTRODUCTORY COURSES
Super:Null;
Type:String;
Value:{CPSC 112a or b,INTRODUCTION TO PROGRAMMING.
112a:MWF 10.30-11.20 IV(33)Yang Richard Yang
112b:MWF 11.30-12.20 IV(34)Drew McDermott
Development on the computer of programming skills,problem-solving methods,and selected applications.No previous experience with computers necessary.}
End INTRODUCTORY COURSES
這是對圖中的數據項INTRODUCTORY COURSES的描述,即需要抽取的信息項的物理意義為INTRODUCTORY COURSES(入門課程);這個概念在文檔中是以String的形式出現的;這個概念在樣本中的實例為其值Value{……}。這個描述的意義在于與Value{……}具有相同路徑格式的信息就是所要抽取的Web文檔的INTRODUCTORY COURSES內容。
2.2 抽取規則生成
在樣本頁的本體定義中描述了需要抽取的信息項的類型、實例值、前導符和其物理名稱,同時在生成的樣本頁的Dom樹中分離出每一個數據(以概念形式給出),并解析出每個數據的類型、路徑。根據前導符與被抽取信息在物理位置上的連貫性,首先對于本體定義中的前導符到Dom樹中尋找匹配的數據。找到匹配的數據后立即對本體定義中出現的實例值在Dom樹尋找匹配的數據概念,找到匹配的數據概念后,若他們的類型一致,則認為匹配成功,Dom樹中給出的路徑即為目標信息在源碼中出現的路徑。
例如,在本體定義中,找到“INTRODUCTORY COURSES”概念,則INTRODUCTORY COURSES信息項的實例值“CPSC 112a or b……”必定在“INTRODUCTORY COURSES”概念后面出現。因而若在本體定義中“INTRODUCTORY COURSES”信息項與在Dom樹中的“CPSC 112a or b……”Type相同,則Dom樹中的“CPSC 112a or b……”的路徑值就是本體定義中的“INTRODUCTORY COURSES”信息項的出現路徑。
提取規則生成界面見圖2:

2.3 信息抽取步驟
Step1:調用Web頁面采集Agent程序將相關頁面獲取至本地。
Step2:調用頁面處理Agent程序,按照一定規則對數據進行格式化,如按照一定規則將對數據結構沒有影響的html標簽去除,然后以樹形方式保存在文件中,并以Web瀏覽器瀏覽的方式呈現給用戶。
Step3:調用頁面抽取Agent程序,對數據進行提取并驗證提取結果。當提取出來的信息匹配度低時,系統調用模板序列余下模板之一重新進行數據提取并驗證提取結果,最后提交給用戶匹配度最高的結果。
Step4:此時如果用戶對結果不滿意可修改模板重新提取,即對照HTML頁面信息指定其中那些內容將被抓取,并且可以指定各個特定標簽所包含的數據將在元數據里的屬性進行對模板的修改,調用模板生成Agent程序將新模板加入模板序列庫供后續使用。
其中:數據模板定義了信息提取中遵循的規則,刻畫了待提取信息的特征。模板的生成可以通過圖形化的界面由用戶自定義。例如可以選取已有的模板進行修改或選取一個或幾個網頁進行定義。匹配度指提取的信息與模板的匹配程度,可以通過對提取出的信息的格式、特征等進行識別和判斷。
2.4 數據處理
最后系統將提取出來的信息映射成為用XML描述的元數據。數據結構可以定義如下:
<Document>
<Element>…<Img Url=…/></Element>
<Element>
<Message>
<Hyperlink><Title>…</Title><Document>…</Document></Hyperlink>
<Date>…</Date>
</Message>
<Message><Title>…</Title><Date>…</Date></Message>
</Element>
</Document>
其中<Document solution=n></Document>內包含了一次網頁抓取的結果。<Element></Element>定義了一組信息,<Hyperlink></Hyperlink>說明了它包含的內容有一個下層連接頁面(由嵌套的<Document></Document>標簽包含),具體信息格式由configure中對應的solution定義的模板決定。通過以上工作完成了經過與處理后的信息抽取,并將抽取出來的信息按照事先定義好的格式存儲到數據庫中供后續使用。
3 小 結
本文提出由本體驅動,根據文檔結構和特征匹配來進行信息定位和信息抽取的方法,同時還引入了匹配度算法對提取的結果進行匹配度計算,實現了一個用戶指導的交互式信息抽取原型系統,能快速通過可視化的用戶的交互,方便用戶提取和定義其所需的信息。對于教學信息等有特定規范、特征的頁面信息,此方法不僅精確度高而且自動化,可以大大提高信息庫和知識集成的建設速度。
參考文獻
[1]陳靜,朱巧明,貢正仙.基于Ontology的信息抽取研究綜述[J].計算機技術與發展,2007,(10):84-86,91.
[2]鄧志鴻,唐世渭,張銘,等.Ontology研究綜述[J].北京大學學報:自然科學版,2002,(5):730-738.
[3]李勝利,李昌清,袁平鵬,等.基于Web的電子期刊元數據信息抽取方法[J].華中科技大學學報:自然科學版,2007,(12):13-15.
[4]T.R.Gruber.A translation approach to portable ontologies[J].Knowledge Acquisition,1993,5(2):199-220.
[5]T.R.Gruber.Toward principles for the design of ontologies used for knowledge sharing.Presented at the Padua workshop on Formal Ontology,March 1993,later published in International Journal of Human-Computer Studies,1995,43(4-5):907-928.