王俊華,左萬利,彭 濤
(1.吉林大學 計算機科學與技術學院,長春130012;2.吉林大學 符號計算與知識工程教育部重點實驗室,長春130012;3.長春工業大學 計算機科學與工程學院,長春130012)
本體是共享概念模型的明確的形式化規范說明。本體O:=(C,root,R),其中C 為概念集合,root 為根標識,R 為C 上的二元關系,包括分類關系(IS-A)、語義關系(SR)和屬性關系(AR)。20 世紀70 年代本體被引入人工智能領域,隨著人工智能的發展,本體應用越來越廣泛[1-2],而手工構建本體的代價太大,因此人們提出了自動或半自動地構建本體。面向文本的本體學習研究的早期成果 有Text2Onto[3]、Hasti[4]、OntoLearn[5]、OntoBuilder[6]和OntoGen[7],但多數是原型系統,生成的本體不能指導各類應用。面向文本的本體學習仍是本體工程的研究熱點。
邢軍等[8]以面向對象思想的分析方法為基礎,把傳統的單層文本向量空間模型改進為2 層向量空間模型,并在此基礎上引入模糊形式概念分 析 本 體 學 習 技 術。Zouaq 等[9]提 出 了OntoCmaps,是一領域獨立的和開放的本體學習工具,它從語料庫中抽取深層的語義表達。OntoCmaps 以概念圖的形式生成豐富的概念表示,并提出一種基于度量的創新的過濾機制。Ruiz-Martinez 等[10]提出了一種面向文本構建生物醫學本體的方法。該方法通過自然語言處理和增量知識獲取技術來獲得相關概念和關系,這些被包括在OWL 本體中。此外,他們用UMLS 來連接本體中孤立的概念區域。Yang 等[11]提出了一新的本體學習模型,該模型提高了抽取概念的效率,減少了構建本體的時間。該模型包括幾個方面,其中區域概念抽取是最主要的方面,它把概念抽取與個性化推薦聯合起來實現了一個更精確和穩定的領域概念抽取方法。Jiang 等[12]提出了CRCTOL 系統,用于從指定的領域文檔中自動地挖掘本體。CRCTOL 采用一種完全的文本剖析技術及統計與lexicon-syntactic 方法相結合的綜合策略,包括一個統計算法用于從文檔集中抽取關鍵概念,一個語義消歧算法用于消除關鍵概念中的單詞的歧義,一個基于規則的算法用于抽取關鍵概念之間的關系,一個改進的廣義關聯規則挖掘算法用于修剪對本體學習不重要的關系。以上成果較早期成果有所改進,但仍不能滿足各類本體的應用需求。
本文借助文本預處理工具Gate 和通用本體WordNet,采用統計、頻繁項挖掘、模式匹配、啟發式學習和主動學習等技術,學習本體基元——概念、概念間的分類關系、概念間的語義關系和概念屬性。提出了基于主動學習的語義排歧算法,彌補了SSI 算法[13]無法處理所有術語在WordNet中都不是獨義的情況的不足;并增加了概念屬性的學習。
概念可以是詞,也可以是短語,是在特定領域表示想法、觀念、范疇或類的實體集合,是特定領域具有語義的詞匯的集合。概念由術語經語義排歧后獲得,術語是領域知識的外在表現。概念學習包括術語抽取和詞義消歧。
術語是代表領域知識的短語或單詞,其語言結構較固定,一般有前后界標記、長度較短、為名詞性單詞或符合一定模式的短語,停用詞除外。術語亦具有較明顯的統計特性,一般為高頻詞。綜合術語的如上特征,本文結合語言學采用統計和模式匹配技術學習術語,術語抽取如圖1 所示。

圖1 術語抽取Fig.1 Term extraction
術語抽取步驟如下:
Step1 調用Gate 接口,預處理語料集,并將詞性標注結果輸出到XML 文檔中。
Step2 借用dom4j 處理XML 文檔,依次抽取單詞和其詞性,并逐行存入文本中。
Step3 抽取名詞并計算其頻數TF,提取TF 值大于閾值α 的名詞為術語。
Step4 獲取名詞性短語并計算其頻數TF,提取TF 值大于閾值β 的名詞性短語為術語。
定義1 名詞性短語。字符串S 是名詞性短語,當且僅當S 符合名詞性短語模式(NN+NNP+NNS+VBG)*,不存在左上下文依賴和右上下文依賴,且S 的互信息大于0.5。
定義2 左上下文依賴。S 是字符串,L 是S 左邊相鄰的詞匯集合,S 的左上下文依賴記為LCDS,計算公式為:

定義3 右上下文依賴。S 是字符串,R 是S右邊相鄰的詞匯集合,S 的右上下文依賴記為RCDS,計算公式為:

定義4 互信息。用于度量字符串間的關聯程度。已知S1、S2是字符串,TFS1、TFS2和TFS1S2分別為S1、S2和S1S2的出現頻數,則S1和S2的互信息記為MIS1S2,計算公式為:

字符串S 的互信息記為MIS,計算公式為:

術語可能具有多個語義,而概念的語義是唯一的,因此需要確定術語的語義。相同語義的術語集合可以唯一標識特定的概念語義。詞義消歧可確定術語的語義,獲得相同語義的術語集合。本文利用主動學習技術改進SSI 算法實現術語的語義消歧以獲取概念,消歧過程由學習引擎和選擇引擎兩部分組成,如圖2 所示。選擇引擎自動選擇信息增益大的未消歧術語,提交領域專家標注,系統將反饋結果添加到概念集I 中,以最大限度地提升學習引擎性能。

圖2 基于主動學習的詞義消歧Fig.2 Word semantic disambiguation based on active learning
詞義消歧步驟如下:
Step1 提取術語的語境特征,生成術語語境。
定義5 語境。術語的語境表征了術語應用的上下文,記為Context。Context=(FW×POS×V)*,其中,FW 為語境特征詞,POS 為FW 的詞性,V 為FW 的權重。
語境特征提取有滑動窗口法[14-15]、基于詞間依賴關系的語境特征提取法[16-18]和基于句法分析的語境特征提取法[19-21]三類。滑動窗口法易實現,但由于沒有考慮句法和語義關系致使結果中包含了鄰近的但不相關的詞而遺漏了較遠的但相關的詞。基于詞間依賴關系的語境特征提取法的準確率較高,但提取的語境詞數目較少。基于句法分析的語境特征提取法在一定程度上彌補了以上不足。綜合語境特征提取的研究現狀,本文選用了基于句法分析的語境特征提取法。
采用基于句法分析的語境特征提取法提取的術語語境特性,為在句法分析樹結構中與術語擁有共同祖先或位置上相鄰的節點。提取術語語境特征的步驟如下:
①生成句法結構分析樹。圖3 是語句“The coaches which brought the workers to the plant are produced by FAW corporation and CN heavy duty truck factory.”的句法分析樹。

圖3 句法分析樹示例Fig.3 Example of syntactic analysis tree
②按照樹的層次結構,從目標節點開始遍歷樹結構,逐層搜集鄰近節點選為候選語境特征詞,并利用候選特征節點和歧義詞間的層次關系和路徑距離,依據式(6)計算其權重,直到根節點為止。

式中:fj表示第j 個候選語境特征詞;l 表示候選語境特征詞與歧義詞間的層距;d 表示候選語境特征詞與歧義詞間的路徑距離;μ 和τ 是調節因子;分別選擇0.4 和0.2。
③將候選語境特征詞按其權重降序排列,去掉虛詞,選取前8 個作為歧義詞的語境特征,獲得術語語境。
Step2 計算術語語義相似度,生成術語語義相似矩陣A。

式中:aij是詞性為POSi的術語Termi與詞性為POSj的術語Termj的語義相似度。
定義6 術語語義相似度。已知詞性為POS1的術語Term1與詞性為POS2的術語Term2,它們的語義相似度記為ST(Term1,POS1,Term2,POS2),計算公式為:

式中:n=|Context1|,m=|Context2|。
定義7 詞語義相似度。已知詞性為POS1的詞W1與詞性為POS2的詞W2,它們的語義相似度記為SW(W1,POS1,W2,POS2),計算公式為:

式中:C1i和C2j分別為W1和W2的特定語義所對應的概念。
定義8 概念語義相似度。已知概念C1、C2,它們的語義相似度記為SC(C1,C2),計算公式為[22]:

式中:D 為全局概念上下位體系的最大深度;L(C1,C2)為概念C1、C2的最短上下位路徑長度。
Step3 處理在WordNet 中只存在一個語義的術語,添加相應概念到集合I 中。
Step4 處理與I 存在關聯的歧義術語,針對每個術語依據式(10)添加與I 關聯度最大的概念到集合I 中。

定義9 概念關聯度。已知概念C1、C2,它們的關聯度記為RC(C1,C2)。如果概念C1、C2在WordNet 中存在直接關系,則RC(C1,C2)的值為1,否則為0。
Step5 在未消歧術語集中選擇信息增益最大的術語提交領域專家。保存反饋結果到I,轉Step4。
定義10 信息增益。本文中的選擇引擎需在未消歧術語集Term 中選出核心術語,即與其他未消歧術語聯系最緊密的術語,因此本文以術語的相似度和量化術語對消歧任務的信息增益。

式中:ST(Termi,POSi,Termj,POSj)可通過查詢矩陣A 獲得。
分類關系是一種類屬關系,大多存在于表示事物名稱的名詞之間,具有一定的語言模式。直接在WordNet 中查找概念間分類關系,準確率高但查全率不夠。如圖4 所示,本文通過挖掘CC二元頻繁項來提高查全率,并采用模式匹配的方法自動判別CC 二元頻繁項集合中的分類關系,彌補了關聯規則學習關系時關系類型需要工作人員確定的缺陷。

圖4 分類關系學習Fig.4 IS-A relation learning
分類關系學習的步驟如下:
Step1 基 于 WordNet 調 用 PointerUtils.getHypernymTree()方法直接獲取概念間分類關系。
Step2 以概念集為項目集,以語句為事務,基于閾值θ 抽取CC 二元頻繁項。
定義11 CC 二元頻繁項(CC)。表達概念間的二元關系,以二元組表示CC=(C,C)。
Step3 基于WordNet 過濾CC 二元頻繁項,刪除可識別關系的CC 二元頻繁項。
Step4 采用模式匹配技術識別CC 二元頻繁項中的分類關系,使用如下分類關系模式。
分類關系模式:
NP such as NP,NP…and NP
Such NP as NP,NP…or NP
NP,NP…and other NP
NP,especially NP,NP…and NP
NP is a NP
語義關系描述了一種對象屬性,即兩個概念間的關系可用一個動詞表示。現有VCC(n)事務方法學習概念間語義關系基于假設:如果概念C1、C2存在語義關系V,當且僅當C1、C2都出現在含有動詞V 的n 個詞內,動詞和概念對間的這種關聯度則可以用一個條件概率來表示[8]。如圖5所示,本文借鑒VCC(n)事務方法的思想,通過挖掘CCV 頻繁項啟發式學習概念語義關系。
語義關系學習的步驟如下:
Step1 由語料庫中提取動詞集Vset。
Step2 讀取分類關系學習階段未標識關系的CC 二元頻繁項。
Step3 以語句為事務,計算Ci1、Ci2、Vj在語料庫中同時出現的頻數TF。其中,Ci1Ci2∈CC,Vj∈Vset。
Step4 設定閾值γ,挖掘頻繁項Ci1Ci2Vj。Ci1、Ci2和Vj在語料庫中同時出現的頻數大于γ。
Step5 基于啟發式規則1 獲語義關系集SR。
啟發式規則1:若存在頻繁項Ci1Ci2Vj,則Ci1、Ci2存在語義關系Vj。
概念屬性學習是獲取概念內涵的方法之一。從語言學角度,概念的屬性仍為概念,屬性值則是屬性的實例,因此概念屬性包含了概念與概念、概念與實例的關聯。概念屬性包含信息的多樣性,增加了概念屬性學習的難度。本文提出了模式匹配、CCC 三元頻繁項挖掘、啟發式規則與WordNet相結合的概念屬性學習方法,見圖6。

圖6 概念屬性學習Fig.6 Concepts attribute learning
概念屬性學習的步驟如下:
Step1 直接由WordNet 中查找概念的Part 屬性。
Step2 采用模式匹配技術識別剩余CC 二元頻繁項中的概念屬性關系,使用的模式為如下概念屬性模式。
NP’s NP
NP part of NP
Step3 以概念集為項目集,語句為事務,基于閾值δ 挖掘CCC 三元頻繁項Ci1Ci2Ci3。Ci1、Ci2和Ci3在語料庫中同時出現的頻數大于δ。
Step4 遍歷 CCC 三元頻繁項集,結合WordNet 基于啟發式規則2 學習概念屬性。
啟發式規則2:若CCC 三元頻繁項中有兩個概念存在上下位關系,且剩余概念和上述概念不存在上下位關系和同義關系,則CCC 三元頻繁項中存在概念、屬性和屬性值,其中屬性是屬性值的上位概念。
例1 如若C1是C2的下位概念,且C3和C1、C2不存在上下位關系和同義關系,則認為C3具有屬性C2,其屬性值為C1,添加C3、C2、C1到概念屬性集中。
算法1 K 元頻繁項挖掘算法
輸入:K-1 元頻繁項集LK-1,
事務集D,閾值V。
輸出:K 元頻繁項集LK。
1 CK-1=LK-1;
2 組成候選集:
3 令CK為容量為K 的那些集合的集合,
4 它們的所有非空真子集都屬于CK-1;
5 While CK不為空do
6 掃描事務集D:
7 計算CK中每個元素Ei的次數Ti;
8 令LK為CK中頻繁集的匯集;
9 IF Ti>V Then
10 Ei加入LK;
11 End IF
12 End
算法2 模式匹配算法
輸入:概念C1、C2,模式P。
輸出:True 或者False。
1 生成模式:Pattern。compile(C1,C2,Pi);
2 掃描語料集:
3 以每篇文檔為母字符串生成匹配器;
4 執行模式匹配,matcher。find();
5 IF 匹配成功Then
6 Return True;
7 Else
8 Return False;
9 End IF
10 End
本文提出的面向文本的本體學習方法簡記為TOL。并選擇旅游領域的英文語料作為測試語料(http://www.lonelyplanet.com/destinations)驗證TOL。評價指標采用查準率、查全率和F 指數。從以下5 個方面給出實驗結果。語料庫不同,最佳閾值亦有所差別,因此通過實驗獲得各閾值。將實驗結果與較好的本體自動構建平臺Text2Onto 的結果進行了對比分析。
實驗1 主要考查TOL 方法中閾值α 和β 的不同在術語抽取過程中對3 個評價指標的影響情況,從而選擇最佳閾值。α 的取值范圍為0.003 ~0.009,β 的取值范圍為0.002 ~0.008。不同閾值對評價指標的影響如圖7 ~圖9 所示。對于準確度來說閾值選擇過小會產生噪聲數據,而閾值過大會過濾掉有用信息,可以看出當α 為0.006,β為0.004 時,整體效果較好。把α 為0.006,β 為0.004 的結果與Text2Onto 的結果相比較,如表1所示,各項指標均優于Text2Onto,這與本文增加了短語學習密不可分。后續實驗均在α 為0.006,β 為0.004 的基礎上進行。

圖7 α-β-準確度Fig.7 α-β-precision

圖8 α-β-召回率Fig.8 α-β-recall

圖9 α-β-F-measureFig.9 α-β-F-measure

表1 術語抽取實驗結果對比Table 1 Comparison of term extraction experiment
實驗2 主要考查TOL 方法中基于主動學習的詞義消歧算法的性能。實驗數據采用Senseval-3 中的全文消歧任務作為測試集,該測試集由3篇文檔組成,共包含349 個句子、4903 個單詞,需要消歧的單詞有1969 個,短語有114 個。Text2Onto 直接將術語作為概念未提供詞義消歧功能,因此僅將實驗結果與SSI 算法的結果做了對比分析,對比結果見表2。TOL 各項指標均顯著高于SSI,可見專家的適當干預是提高詞義消歧的有效途徑。

表2 詞義消歧實驗結果對比Table 2 Comparison of WSD experiment
實驗3 主要考查TOL 方法中閾值θ 的變化在分類關系學習過程中對3 個評價指標的影響情況,從而選擇最佳閾值。θ 的取值范圍為3 ~9,不同閾值對評價指標的影響如圖10 所示,可以看出當θ 為6 時,整體效果較好。另外把θ 為6 的結果與Text2Onto 的結果相比較,對比結果見表3。TOL 各項指標均高于Text2Onto,其中準確率高出Text2Onto 6 個百分點。這要歸功于本文采用了多種策略相結合的分類關系學習方法。

圖10 θ-準確度-召回率-F-measureFig.10 θ-precision-recall-F-measure

表3 分類關系學習實驗結果對比Table 3 Comparison of IS-A relation learning
實驗4 主要考查TOL 方法中閾值γ 的變化在語義關系學習過程中對3 個評價指標的影響情況,從而選擇最佳閾值。γ 的取值范圍為3 ~9,不同閾值對評價指標的影響如圖11 所示,可以看出當γ 為5 時,整體效果較好。另外把γ 為5 的結果與Text2Onto 的結果相比較,對比結果見表4。TOL 的準確率、召回率和F-measure 值均稍高于Text2Onto。

圖11 γ-準確度-召回率-F-measureFig.11 γ-precision-recall-F-measure

表4 語義關系學習實驗結果對比Table 4 Comparison of semantic relation learning
實驗5 主要考查TOL 方法中閾值δ 的變化在概念屬性學習過程中對3 個評價指標的影響情況,從而選擇最佳閾值。δ 的取值范圍為2 ~8,不同閾值對評價指標的影響如圖12 所示,可以看出當δ 為4 時,整體效果較好。另外,Text2Onto 尚未提供概念屬性的學習。

圖12 δ-準確度-召回率-F-measureFig.12 δ-precision-recall-F-measure
本文提出的面向文本的本體學習方法,使用統計和名詞性短語模式學習術語,并利用主動學習技術改進SSI 算法實現術語的語義排歧以獲取概念,采用頻繁項挖掘與模式匹配技術結合WordNet 學習概念上下位關系,通過挖掘CCV 頻繁項啟發式學習概念語義關系,結合模式匹配、CCC 三元頻繁項挖掘、啟發式規則與WordNet 學習概念屬性,實驗結果表明TOL 方法整體效果較好,改善了概念語義排歧效果,豐富了短語概念學習與語義關系學習,提高了本體自動構建的準確度,可降低本體構建的代價。其中,提出的基于主動學習的語義排歧算法,彌補了SSI 算法無法處理所有術語在WordNet 中都不是獨義的情況的不足;并增加了概念屬性的學習。
[1]葉育鑫,歐陽丹彤,領吉,等.本體與規則整合的推理方法研究及設計[J].吉林大學學報:工學版,2009,39(5):1297-1302.Ye Yu-xin,Ouyang Dan-tong,Ling Ji,et al.Research and design of reasoning algorithm with ontologies and rules[J].Journal of Jilin University(Engineering and Technology Edition),2009,39(5):1297-1302.
[2]白巖,劉大有,劉杰.一種移動Agent 通信中本體信息調整方法[J].吉林大學學報:工學版,2007,37(3):587-590.Bai Yan,Liu Da-you,Liu Jie.Ontology based information alignment method in mobile Agent communication[J].Journal of Jilin University(Engineering and Technology Edition),2007,37(3):587-590.
[3]Philipp Cimiano,Johanna V?olker.Text2Onto a framework for ontology learning and data-driven change discovery[C]∥LNCS,2005,3513:227-238.
[4]Shamsfard M,Barforoush A A.Learning ontologies from natural language texts[J].Journal of Human-Computer Studies,2004,60(1):17-63.
[5]Navigli R,Velardi P,Gangemi A.Ontology learning and its application to automated terminology translation[J].IEEE Intelligent Systems,2003,18(1):22-31.
[6]Avigdor G,Giovanni M,Hasan J.OntoBuilder:fully automatic extraction and consolidation of ontologies from web sources[C]∥Proc of the ICDE,Boston:IEEE Computer Society,2004:853-858.
[7]Fortuna Blaz,Grobelnik Marko,Mladenic Dunja.OntoGen:semi-automatic ontology editor[C]∥HCII,2007:309-318.
[8]邢軍,韓敏.基于兩層向量空間模型和模糊FCA 本體學習方法[J].計算機研究與發展,2009,46(3):443-451.Xing Jun,Han Min.An ontology learning method based on double VSM and fuzzy FCA[J].Journal of Computer Research and Development,2009,46(3):443-451.
[9]Zouaq Amal,Gasevic Dragan,Hatala Marek.Towards open ontology learning and filtering[J].Information Systems,2011,36(7):1064-1081.
[10]Ruiz-Martinez J M,Valencia-Garcia R,Fernandez-Breis J T,et al.Ontology learning from biomedical natural language documents using UMLS[J].Expert Systems with Applications,2011,38(10):12365-12378.
[11]Yang Qing,Cai Kai-min,Sun Jun-li,et al.Design analysis and implementation for ontology learning model[C]∥ICCET,2010:164-167.
[12]Jiang Xing,Tan Ah-hwee.CRCTOL:a semanticbased domain ontology learning system[C]∥ICCET,2010:3164-3167.
[13]Navigli R,Velardi P.Structural semantic interconnections:acknowledge-based approach to word sense disambiguation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2005,27(7):1075-1086.
[14]Patwardhan S,Banerjee S,Pedersen T.UMND1:unsupervised word sense disambiguation using contextual semantic relatedness[C]∥The 4th International Workshop on Semantic Evaluations,2007:390-393.
[15]Pedersen T,Kolhatkar V.WordNet:SenseRelate:All-Words -a broad coverage word sense tagger that maximizes semantic relatedness[C]∥NAACL HLT,2009:17-20.
[16]McCarthy Diana,Koeling Rob,Weeds Julie,et al.Unsupervised acquisition of predominant word senses[J].Computational Linguistics,2007,33(4):553-590.
[17]Eneko Agirre,Oier Lopez de Lacalle,Aitor Soroa.Knowledge-based WSD on specific domains:performing better than generic supervised WSD[C]∥The Twenty-First International Joint Conference on Artificial Intelligence,2009:1501-1506.
[18]Lu Zhi-mao,Liu Ting,Zhang Gang,et al.Word sense disambiguation based on dependency relationship analysis and Bayes model[J].High Technology Letters,2003,13(5):1-7.
[19]Chen P,Ding W,Bowes C,et al.A fully unsupervised word sense disambiguation method using dependency knowledge human language technologies[C]∥The Annual Conference of the North American Chapter of the ACL,2009:28-36.
[20]Lu Wen-peng,Huang He-yan,Zhu Chao-yong.Feature words selection for knowledge-based word sense disambiguation with syntactic parsing[J].Przeglad Elektrotechniczny,2012,88:82-87.
[21]Huang He-yan,Lu Wen-peng.Knowledge-based word sense disambiguation with feature words based on dependency relation and syntax tree[J].IJACT,2011,3(8):73-81.
[22]Leacock Claudia,Chodorow Martin.Combining local context and WordNet similarity for word sense identification[C]∥Fellbaum,1998:265-283.