?

基于概念結構與分布式表征的術語語義知識庫構建

2023-09-26 00:39王裴巖李林娜沈思嘉
中國科技術語 2023年4期
關鍵詞:三元組術語橡膠

王裴巖 李林娜 沈思嘉

(沈陽航空航天大學人機智能研究中心,遼寧沈陽 110136)

0 引言

詞匯語義知識庫在自然語言處理的各任務中都扮演著重要角色?,F有的詞匯語義知識庫主要是面向通用領域的,面向特定領域的較少,因此,構建特定領域的術語語義知識庫具有重要意義。

本文以航空術語語義知識庫ATHowNet為基礎,基于HowNet[1]的理論體系和概念表示形式,提出一種面向復合術語的術語語義知識庫自動構建方法。該方法秉承復雜概念由簡單概念構成的思想,由術語內子詞概念構筑術語概念。術語概念采用了計算機可讀的形式化表示方式。通過實驗驗證了本文提出的方法在自動生成復合型術語概念表示方面的有效性,并且能夠擴展ATHowNet知識庫的數據量。

1 HowNet與ATHowNet

1.1 HowNet與概念表示方法

HowNet最初是由董振東和董強在20世紀90年代設計和構建的一個以漢語和英語詞語所代表的概念為描述對象,以揭示概念與概念之間以及概念所具有的屬性之間關系為基本內容的常識知識庫[1]。HowNet最大的特點是采用可計算的知識庫標記語言KDML(Knowledge Data Base Markup Language)描述概念?!癏owNet的知識表達模式是針對計算機的信息處理特點而制定的?!盵2]KDML這種形式化表達方式,便于將HowNet應用于相似度計算[3]、情感分析[4]、詞向量[5-6]、語言建模[7]等。目前,HowNet的網絡開源版本OpenHowNet[8],包含35 202個概念和237 974個中英文詞。

HowNet遵循還元論,通過義原(sememe)和語義角色(semantic role)描述概念。義原是最小的不可分割的語義單元。HowNet通過對大量中文字的語義進行標注與歸納,定義了2540個義原,建立了義原的分類(taxonomy),分為事物(thing)、部分(part)、屬性(attribute)、時間(time)、空間(space)、事件(event)與屬性值(attribute-value)7大類。語義角色定義為參與者在真實或想象的情境中與事件之間的固有關系,用以描述概念中義原的角色[9]。HowNet定義了116個語義角色。表1給出了術語“橡膠減震墊”所表示概念的HowNet表示形式(KDML),并列出了涉及的全部義原和語義角色含義?!皃art|部件”與“shiver|顫動”等為義原,whole與instrument等為語義角色。概念表示以“DEF”開始,“{}”表示不同層級的概念,“patient=”表示事件“weaken|削弱”的受事是“shiver|顫動”。需要特別指出的是,“part|部件”作為第一個義原被稱為首義原。KDML的詳細語法規則和義原及關系集,可以參考HowNet在線手冊[10]。

表1 “橡膠減震墊”的概念KDML表示

1.2 ATHowNet與術語概念結構

ATHowNet(Aviation Terms HowNet)[11]是基于HowNet的理論體系與概念表示方法所構建的一個航空領域術語語義知識庫,包含4152條記錄、3864個術語和3700個概念。ATHowNet擴寬了HowNet的適用領域,通過形式化描述航空領域的概念語義,能夠實現領域概念相似性運算與概念關系推理。

ATHowNet針對航空領域術語多為復合詞或詞組的特點,更加注重概念間的構筑結構,即復雜概念由簡單的概念構建,簡單的概念由更為簡單的概念構建,直至基礎概念。表2展示了“橡膠減震墊”的多層級概念構筑關系??梢?“橡膠減震墊”由“墊”“減震”與“橡膠”三個子概念通過語義角色構成。如“墊”用來“減震”,由于“減震”的首義原“weaken|削弱”是事件類義原,因此“墊”與“減震”省略了語義角色,其含義是“減震”事件的施事者為“墊”。

表2 “橡膠減震墊”概念層次構筑關系

2 概念與文本的分布式表征

分布式表征(distributed representation)[12]又叫作嵌入(embedding),是將詞、圖片與文本等離散量轉為低維、稠密、連續向量的技術。分布式表征能夠通過向量計算實現不同粒度與形式數據的關系計算,如詞與文本間或文本與圖片間的計算。通常,分布式表征向量間的距離或是向量夾角余弦等運算能夠體現兩個被表征對象間的語義距離。這種性質被應用于句子相似度計算[12]、問答系統[13]、圖片搜索[14]等問題,例如在句子相似度計算中將句子中的詞轉為低維、稠密、連續的分布式表征向量,通過兩個句子向量間的夾角余弦或歐式距離來體現句子間的語義相似性。

本文利用分布式表征方法表征概念與術語定義文本,能夠計算概念與概念間、概念與文本間的語義距離,用于術語子詞概念消歧和語義角色判斷。對于概念,其分布式表征向量是全部義原表征向量的平均向量。首先,提取概念內全部義原,從騰訊詞向量[15]中查詢出該詞的分布式表征向量,將該向量作為義原的表征向量。騰訊詞向量是通過大規模文本數據訓練獲得的,在中文詞語相似度運算、詞類比及自然語言處理相關任務上都具有較好的效果。對于術語定義文本,其分布式表征向量是全部詞表征向量的平均向量。用騰訊詞向量的詞表對術語的定義文本進行分詞,并查詢出每個詞的詞向量,求得所有向量的平均向量作為術語定義文本的分布式表征向量。

3 術語概念表示的自動生成方法

人類從客體特性出發,在腦中形成特征和概念(concept),概念反映事物的本質屬性,同時也反映具有這種屬性的事物[16]。術語是專業領域科學概念的語言指稱[17],可以是單個詞,也可以是復合詞,一個詞可以承載多個概念,一個概念也可能由多個詞來體現。復合術語[18]是指由多個詞組合而成的術語,組合結果所表達的語義構成了領域的重要概念,如“航空地球物理探礦”和“空中加油裝置”是航空領域的復合術語,擁有完整的語義,表示領域內的重要概念。概念的內涵和外延是概念的基本特征,概念的內涵反映概念中對象的本質屬性,概念的外延反映于思維中具有相同本質屬性的事物對象,外延是受內涵制約的,如貓的外延包括白貓、花貓等,但不包括黃牛、泰迪。根據概念的基本特性可將概念分為屬種概念[19],屬概念指具有各個種概念的共同屬性,外延大,內涵少,為一般概念,也可理解為上位概念,種概念相對而言是個別概念,根據種屬概念的從屬關系,特定語境下種概念會使屬概念的外延縮小[20],直至縮小為獨立概念。復雜概念就是由種、屬概念組合而成,來共同描述現實世界的事物,本文為了方便描述,將種概念和屬概念稱為簡單概念,復雜概念則由簡單概念構筑而成。

本文沿襲并利用ATHowNet的領域概念構筑關系的思想,專門面向復合型術語,提出術語概念KDML表示自動生成方法。

3.1 總體流程

本文提出的方法包括以下四步:

(1)術語子詞切分:切分出構成復合術語的子術語。

(2)子詞的概念消歧:對切分后的子術語,確定在該術語內所代表的概念。

(3)子詞概念間語義角色判斷:判斷各個子詞概念間是否存在語義角色,若存在則語義角色是什么。

(4)術語概念描述生成:按照KDML語法規則,生成術語的概念表示。

3.2 術語子詞切分

本文以OpenHowNet和ATHowNet中的詞作為詞表,采用逆向最大匹配算法對生成概念表示的術語進行分詞。以OpenHowNet和ATHowNet中的詞作為詞表,能夠保證切分出的詞都帶有KDML概念表示。逆向最大匹配算法能夠保證最大粒度的切分,減少概念消歧和子詞概念動態角色判斷的數量,也能夠保證最大粒度地重用已知概念。例如術語“橡膠減震墊”,其切分結果為“橡膠”“減震”“墊”三個子詞。若詞表中存在“減震墊”,則切分為“橡膠”與“減震墊”兩個詞。并且將術語最后一個詞作為術語核心詞,其概念為屬概念,屬概念的義原為首義原。

3.3 子詞概念消歧

術語子詞切分之后,從OpenHowNet與ATHowNet中查詢出每個子詞的全部KDML概念表示。以術語“橡膠減震墊”為例,其切分后每個子詞的概念列入表3??梢姟皽p震”與“橡膠”是單義詞,即對應1個概念;而“墊”為多義詞,對應2個名詞與2個動詞4個不同的概念。依據術語“橡膠減震墊”的定義“保護設備和儀表部件免受振動和沖擊影響的橡膠用具”,詞“墊”在該術語中的概念應為第1個,表示一種嵌入設備應用的部件。

表3 “橡膠減震墊”的概念KDML表示

術語定義對術語概念具有一定的約束性。依據定義“保護設備和儀表部件免受振動和沖擊影響的橡膠用具”,術語“墊”的概念不可能為2個動詞概念, “設備”和“儀表”作為“整體”,使得“部件”概念可能性增加。

由此,采用的概念消歧方法是計算子詞每個概念的分布式表征與術語定義文本分布式表征的語義距離。與術語定義文本分布式表征語義距離更近的概念作為最終被選擇的概念。概念分布式表征與定義文本分布式表征采用第2節介紹的方法。語義距離計算方法采用向量夾角余弦,如式1所示,向量夾角余弦越大表明語義距離越小。

式1

其中,ec為概念的分布式表征向量,ed為定義文本的分布式表征向量。以“墊”為例,分別計算4個概念分布式表征向量與術語定義文本表征向量的向量夾角余弦,取獲得最大值的概念為“墊”的概念。

3.4 子詞概念間語義角色判斷

子詞概念間語義角色判斷采用文獻[21]所提出的基于實例的KNN(K Nearest Neighbor)方法。該方法將語義角色判斷問題轉化為分類問題,分類標簽就是HowNet的116個語義角色,即將兩個概念分入某一語義角色類。

首先,從OpenHowNet和ATHowNet的每個概念表示中抽取其子概念及子概念間的語義角色,形成“(概念1, 概念2, 語義角色)”三元組作為KNN的實例集。例如對于概念“{weaken|削弱:patient={shiver|顫動}}”,則形成三元組“({weaken|削弱}, {shiver|顫動}, patient)”。本文約定三元組中的語義角色是從概念1到概念2的語義角色,并稱概念1為歸屬概念,概念2為被歸屬概念。實例集中增加了無語義角色的反例,從而在判斷語義角色時能夠判斷出不存在語義角色關系的兩概念。之后,將實例集三元組內的兩概念用第2節的方法形成分布式表征向量。三元組形式為(e'c1,e'c2,r'),其中e'c1為三元組概念1的分布式向量表征,e'c2為三元組概念2的分布式概念表征。

判斷語義角色時,將待判斷語義角色的兩個概念采用第2節方法轉為分布式表征向量(ec1,ec2)之后,計算(ec1,ec2)與實例集每個三元組(e'c1,e'c2,r')概念間的語義距離,計算方法如式2所示,其值越大表示語義距離越接近。

式2

選取式2最大的前K個三元組,并將K個元組內同一語義角色的語義距離值相加,獲得最大值的語義角色作為待判斷語義角色的兩個概念的語義角色。

3.5 術語概念描述生成

概念的KDML是樹形結構,也就是一個詞的概念僅有一個屬概念,也可稱為核心概念。因此,首先判斷除術語核心詞以外所有子詞概念與核心詞概念間的語義角色。如果與核心詞存在語義角色,則不再判斷它與其他詞間的語義角色。若與核心詞之間不存在語義角色,則判斷與其他詞間的語義角色。如果存在沖突,如(ec1,ec2)與(ec2,ec1)都存在語義角色,那么保留語義距離計算值較大者,從而保證KDML的結構。

4 實驗

本文設計了自動生成術語概念表示質量的評價實驗來驗證所提出的方法。

由于術語概念表示的KDML以義原和語義角色為基本單元,通過義原-語義角色-義原構筑。因此,本文從義原正確性、語義角色正確性、三元組(義原-語義角色-義原)正確性三個方面來評價。另外,首義原表示了概念的核心語義,因此單獨評價所生成概念表示的首義原的準確性。

4.1 實驗數據集

本文實驗數據集使用了OpenHowNet與ATHowNet航空術語語義知識庫,從ATHowNet中選取300條數據作為測試集。其余數據作為KNN的實例集,包含48 983個三元組。

4.2 實驗結果評價指標

本文對生成概念的首義原、義原、語義角色、三元組(義原-語義角色-義原)分別與測試集進行對比。其中義原、語義角色、三元組采用準確率P(Precision),召回率R(Recall)以及F1值作為最終的實驗評價指標,具體公式如式3、式4與式5。首義原采用精確率A(Accuracy),如式6。

式3

式4

式5

式6

4.3 實驗結果

對本文所選數據集獲得的實驗結果,各評價指標所得結果見表4。

表4 實驗結果

本文基于概念結構和分布式表示自動生成術語KDML表示的方法,從表4測試集的評價結果中可以得出:

(1)本文自動生成方法在義原和首義原上的預測結果的F1值和準確率均超過90%,這兩個指標是DEF的重要構成部分,其中首義原能描述術語的基本性質,總義原衡量術語整體語義的描述正確與否。實驗結果表明,采用本文方法能對復合型術語的基本性質和整體語義進行正確描述,在很大程度上保證了語義描述的準確性和一致性。一方面是因為生成語義描述的過程中減少了義原的判斷,進而保證了數據的一致性和準確性,語義消歧過程也使義原選擇的準確性大大提高;另一方面,由于測試集選取的是航空領域術語,實驗數據中添加了ATHowNet中除測試集之外的3852條數據,ATHowNet構建的初衷是理解復雜的航空術語的語義,同時也對一些簡單概念進行標注,本文方法會從這部分數據中獲得航空領域的知識,并結合通用領域的知識提高義原預測的準確率。

(2)預測語義角色的F1值達到了78.90%,基于簡單概念生成復雜概念描述的思想,減少了義原與義原之間語義角色的判斷,另外采用無監督的學習方法從語義角色選擇的實例集中確實學習到概念之間語義角色的知識,大大縮小了語義角色的選擇范圍,使選擇正確語義角色的概率大大增加,預測結果更加準確。由于關系種類有116種,義原有2540種,相近概念之間的語義角色也不盡相同,選擇K近鄰方法雖然縮小了關系選擇的范圍,但具體情況下使用哪一個語義角色仍具有一定的不確定性;另外,測試集選用人工標注的數據集,由多位專家編寫術語DEF,導致在語義角色的選擇上存在個體差異,增大了語義角色選擇的難度。

(3)預測三元組的F1值達到了73.41%,預測結果雖然沒有上述指標高,但能完全體現出采用本文的方法在很大程度上保證了概念描述的一致性和準確性。由于三元組的形式是(義原,語義角色,義原),不僅要求義原是正確的,而且義原與義原之間的語義角色也要正確,即使義原預測正確,而語義角色不正確,三元組的結果也會受到影響,例如ATHowNet中的術語 “邊際成本”,用本文方法預測輸出DEF中的一個三元組為(expenditure|費用,RelateTo,Boundary|界限),人工標注對應的三元組為(expenditure|費用,concerning,Boundary|界限),但語義角色“RelateTo”和“concerning”都表示“與什么相關”,語義相似度極高,所以增加了三元組正確預測的難度。

表5列出了不同長度的復合型術語采用本文自動生成術語KDML表示生成結果的實例。

表5 自動生成術語KDML表示實例

4.4 實例展示

本文設計并實現了領域HowNet語義知識庫構建系統,系統共分為4個模塊,分別是輸入模塊、輸出模塊、人工編輯模塊和中間計算結果顯示模塊,在本節以術語“橡膠減震墊”為例進行實例展示,系統實現的實驗環境如表6所示。

表6 實驗環境說明

(1)系統初始界面。如圖1所示。

圖1 系統初始界面

(2)系統輸入模塊。此處以術語“橡膠減震墊”為例,如圖2所示。

圖2 系統輸入模塊

(3)系統輸出模塊。輸入術語后,點擊系統輸出模塊生成DEF按鈕,系統自動在輸出框內輸出術語的KDML描述,如圖3所示的術語“橡膠減震墊”術語的輸出DEF,可理解為“一種在嵌入時削弱顫動由橡膠制成的用具”。

圖3 系統輸出模塊

(4)計算過程結果顯示。點擊系統最上方的顯示控件會顯示生成DEF的中間計算過程,并會將語義選擇和語義角色選擇的計算結果顯示在對應的子模塊。如圖4左邊子模塊中所顯示的,術語“橡膠減震墊”的分詞以及消歧后分詞對應的DEF,與目標輸出“DEF={part|部件:{weaken|削弱:patient={shiver|顫動},material={material|材料}},whole={implement|器具},{inlay|嵌入:instrument={~}}}”相比,可得出基于復雜概念由簡單概念構成的思想,使得概念內部的語義角色和義原都保證了極大的一致性和準確性,如義原“weaken|削弱”“shiver|顫動”,語義角色“instrument”“patient”等,極大提高了語義角色和義原的準確率。

圖4 計算過程結果顯示

表7列出了圖4語義角色預測結果子模塊中的詳細內容,其中子詞對(墊,減震)預測得出的語義角色中“RelateTo”“modifier”“null”的得分相同,系統會為概念2處概念首義原類型為事件類義原的情況自動選擇“null”,如圖3系統預測結果中顯示概念“墊”與“減震”之間無語義角色連接,可以驗證系統能夠正確為概念間預測語義角色,并按照語法規則將概念連接起來。概念“橡膠”與“減震”之間的語義角色使用了“MaterialOf”,理解為“橡膠制成材料為減震”,顯然是不正確的,由此也反映出KNN算法能大大縮小語義角色的預測范圍,但準確率有待提升,因此本文在設計系統時設置了人工編輯模塊,如圖5所示,以便校正保存。

圖5 人工編輯、格式檢查及保存

表7 “橡膠”“減震”“墊”各概念間的語義角色預測結果

5 結語

本文提出了一種基于概念結構與分布式表征的術語語義知識庫構建方法,該方法面向復合術語,基于復雜概念由簡單概念構成的思想,由術語內子詞概念構筑出術語概念。首先將復合術語分為子詞,之后消歧確定子詞概念,判斷子詞概念間的語義角色。并且為了使概念與概念之間及概念與文本之間都能夠量化計算語義距離,采用了分布式表征方法,將概念與術語定義文本表征為向量,應用于子詞概念消歧及語義角色判斷。通過實驗,驗證了所提出的方法能夠基于術語及定義自動生成術語概念的形式化表示。在未來的工作中,考慮將該方法擴展至非復合術語,雖然非復合術語概念不是由子詞概念構筑的,但也是由其他相關概念構筑的,研究定義術語概念的相關概念范圍是未來的重點。

猜你喜歡
三元組術語橡膠
基于帶噪聲數據集的強魯棒性隱含三元組質檢算法*
偷運橡膠
橡膠
特征標三元組的本原誘導子
關于余撓三元組的periodic-模
固特異與橡膠
一種閉孔發泡橡膠
三元組輻射場的建模與仿真
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合