摘要:語義標注是Deep web數據集成系統中一個非常重要的模塊,它是實體識別和結果合并這兩模塊的基礎,語義標注的效果直接影響著整個Deep web數據集成系統的結果。本文提出了在圖書領域,利用本體對web數據庫查詢結果通過屬性值進行語義標注,通過對不同網站的測試,該方法具有較高的準確率和召回率。
關鍵詞:deep web;本體;語義標注
1、引言
隨著Word Wide Web的飛速發展,Web中的文本和超鏈接構成了豐富的網頁信息,同時,Web中出現了越來越多可以訪問的在線數據庫,其中蘊含的海量信息可供我們利用。整個Web按照信息蘊含的“深度”可以劃分為Surface Web和Deep Web兩大部分。Surface Web是可以被傳統搜索引擎索引到的頁面集合。Deep Web目前還沒有比較明確的定義,通常是指Web中可訪問的在線數據庫,簡稱為Web數據庫。Deep Web中蘊含的數據量更大,結構化程度更高,覆蓋領域更廣,內容更加專業化,因此對Web數據庫的訪問逐漸成為獲取信息的主要手段。
DeepWeb數據的集成是對結構化信息的集成,以盡可能自動的方式來完成對Web數據庫中信息的有效利用。目前,Deep Web數據集成框架共分為兩大模塊:集成查詢接口生成模塊和對集成查詢接口上查詢的處理,其中后者又包括領域的映射、Web數據庫的選擇、查詢分派、結果抽取、結果注釋、實體識別和結果合并七個模塊。
2、deep web語義標注
2.1 語義標注的定義
語義標注是指利用一組語義明確的詞匯,標注web數據庫查詢結果中的每個數據,使查詢結果不但人容易理解,而且是機器可處理的。這是一個對web數據庫查詢結果添加機器可處理的語義標記的過程。
領域知識指的是在某一特定領域內的概念與概念之間的相互關系,以及具有相關性概念間的約束的集合。一般來講,領域知識是指人們在日常生活中長期積累、社會流通度高、眾所周知的一些動態的語義知識,往往與具體領域相關。
2.2 查詢結果語義標注
基于Deep Web數據庫的查詢,返回的結果是通過提交的查詢詞,利用后臺數據庫中預先定義好的模板動態生成,這些模板結構清晰,可讀性強,因此對同一個Deep Web數據庫提交同一個領域內不同的查詢,返回結果頁面的模式也是相同,主數據區中的各個數據記錄相同的位置描述相同的屬性信息,基于這一點,本文利用實例對象建立本體模型,然后通過訓練本體中的實例生成標注模板。
查詢結果的模式中包含查詢詞和接口中的部分屬性名稱,因此將對象的標注轉化為對其屬性的標注。對將標注的對象進行屬性選取時,主要根據兩點進行選取:第一是根據查詢接口和返回結果頁面中各屬性出現的次數;第二是根據某特定領域的特征選擇領域對象的屬性。本文對標注對象進行抽象概括后,給出標注模型:ObjectModel={U,AN,A,T}u是網站的域名集,AN是該領域對象要標注的屬性名稱集;A是領域對象的屬性值集合,是該領域對象的所有屬性值;T是領域對象的數據特征集合,它是領域對象所對應屬性的基本特征集合。語義標注就是對于任何一個Ui(Ui∈U)中的結果記錄的屬性值Aj(Aj∈A),都要從AN中找到一個明確的詞匯并對其添加必要的語義信息,使得計算機可以識別、處理。
在基于本體的Deep Web數據集成系統的實現過程中,領域本體的構建關系著整個系統的效率,本文構建的本體以圖書領域為背景,給出本體中相關概念的定義和模型。圖書領域本體主要用于描述說明圖書領域知識的概念集,它是該領域中實體概念、相互關系以及該領域所具有的特征信息。因此本文認為圖書領域本體由概念、關系、屬性和實例組成。在本體的構造過程中,本文應用斯坦福大學開發的本體開發工具Protege,選取圖書的“ISBN”、“TITLE”、“AUTHOR”、和“PUBLISHER”四個屬性構造了一個小型的圖書領域本體。
通過統計與觀察大量的圖書網站,本文選取了幾個最為常用的屬性名稱:書名、作者、出版社、出版時間、原價和折扣價,即標注模型中的取值定位AN={書名、作者、出版社、出版時間、原價和折扣價}。本文的標注方法分為訓練階段和標注階段,訓練階段主要是根據樣本結果集生成某特定網站的標注規則,由于圖書領域的數據特征和特性,生成標注規則分為兩種:一種是對于書名、作者和出版社這三個屬性應用本體中的實例模板生成,另一種是對于出版時間、原價和折扣價這三個屬性應用數據特殊格式形成標注規則。標注階段的任務是根據訓練階段形成的標注規則對抽取結果進行標注。標注過程如下:
Step1:從的處理結果文檔中隨機選取若干個處理結果記錄,存入本體中,作為該網站的實例樣本,也是語義標注的訓練標注模板,由多個屬性名稱和屬性值組成的元組構成的。
Step2:從XML文檔集中隨機的選取一部分文檔作為訓練集,再隨機的選取一部分作為測試集,將本體中的實例模板與訓練樣本中的數據記錄進行匹配,在訓練樣本中找到本體實例在頁面中的位置,即,(Rj訓練樣本中的數據記錄)再將這個實例模板的各個屬性值與的各個數據單元進行匹配,如果匹配成功則說明的屬性名稱是標注的候選標注名稱。通過訓練之后,統計數據記錄相應位置所選的候選標注名稱,將概率最大的作為最佳標注名稱;如果在的所有屬性值中沒有找到與的數據單元相匹配的,說明不能夠使用本體中的標注模板來標注,應該使用特殊格式來標注。
Step3:這一步是標注階段,主要任務包括:首先通過該網站的URL判斷其是否包含在域名集中,如果不包含,則根據“Stepl-Step3”生成標注規則,如果包含,則通過映射規則找到該網站的標注規則,再應用標注規則對待標注頁面進行語義標注。
3、實驗數據與結果分析
對語義標注的評價采用準確率和召回率作為評價標準,基于領域的特征本文選擇了書名、作者、出版社、出版時間、原價、折扣價這六個基本屬性屬性。
準確率=(正確標注的數據記錄的個數/返回的數據記錄的 個數)×100%
召回率=(正確標注的數據記錄的 個數/實際標注的數據記錄的 個數)×100%
表1針對圖書領域的語義標注的實驗結果,本文對5個網站進行了測試,實驗表明本文應用的標注方法具有良好的召回率和準確率。
4、結論
對deep web數據庫的查詢結果添加語義標注是一個新的研究問題,為了獲得完整、一致的標注結果,本文提出將領域本體應用到標注過程中,并充分考慮到了查詢接口和查詢結果的特征,生成屬性標注的過程,最后對圖書網站進行了實驗與分析,實驗結果表明該方法有較好的查全率和查準率。