











摘 要:文章簡要介紹了自動術語提取任務的定義、主要方法和評價指標。針對傳統的自動術語提取方法,以互信息、t值、tf-idf、C/NC-value為例介紹了單元度和術語度的概念;針對自動術語標注方法,主要介紹了基于序列標注的建模思想。從提取效果來看,現有自動術語提取技術距離期望仍有差距,文章也嘗試給出了一些值得探索的方向。
關鍵詞:自動術語提取;自動術語標注;單元度;術語度;機器學習
中圖分類號:TP391;H083? 文獻標識碼:A? DOI:10.12339/j.issn.1673-8578.2022.01.001
Techniques of Automatic Term Extraction:Current Sate and Reflections//CHANG Baobao
Abstract: This paper overviews the definition, major approaches and the evaluation metrics of the ATE task. For the traditional approaches, we mainly elaborate the measurement of the Unithood and Termhood, using pointwise mutual information, t-value, ti-idf weighting and C/NC-value as examples. For Automatic Term Labelling, we mainly present the sequence labelling modelling. We think the performance of Automatic Term Extraction/Labelling is still not satisfactory from a point of view of real application, and try to offer a few directions of further improvements.
Keywords: automatic term extraction; automatic term labelling; unithood; termhood; machine learning
引言
術語(term)是“各門學科的專門用語,在專業范圍內表示單一的專門概念”[1]。術語處在專業知識體系構建的基石位置,術語的獲取、整理和規范不僅對專業知識體系的構建和發展有重要作用,也會對專業領域之外的其他許多行業產生影響。
傳統上,術語的收集整理主要依靠領域專家進行,這種工作方式的優點是質量高,缺點也很明顯,成本高,速度慢,難以適應當今科技高速發展中術語大量急速涌現的現狀。20世紀90年代前后,伴隨著語料庫建設的進步,利用信息技術和自然語言處理技術進行術語快速獲取——自動術語提取(automatic term extraction,ATE)的想法就應運而生并成為一個重要的研究議題[2]。
術語自動提取有著不言而喻的重要意義。如果擁有可靠的術語自動提取技術,科技術語整理、審定與專業詞典編纂的工作效率和質量就會得到極大提高。術語作為一種特殊詞匯,在語言實踐中,常有與普通語言詞匯不同的處理策略和規律,可靠的術語自動提取技術也會對許多語言文字工作帶來積極影響,例如,在翻譯、教育等很多行業,及時、規范、全面的術語資源都是非常寶貴的資源。術語提取和識別還是專業自然語言理解的基礎技術,對于自然語言處理而言,術語通常都是未登錄詞(out of vocabulary,OOV),術語自動提取技術的進步有助于改善自然語言處理系統未登錄詞的處理能力,有助于推動專業文本機器理解技術的發展。
經過研究人員近三十年的努力,自動術語提取技術取得了許多進展,也出現了一些術語提取工具。例如,在許多機器輔助翻譯平臺中都有相應的自動術語管理和提取工具,譬如在著名的機器輔助翻譯平臺SDL-Trados中就配備了術語提取組件SDL MultiTerm Extract,可用于輔助翻譯工作者定位專業文檔及翻譯記憶庫中潛在的單語或者雙語術語,從而輔助翻譯工作者改進術語翻譯質量。不過,自動術語提取也是一個有挑戰性的研究任務,總的看來,自動術語提取技術的性能還不能令人滿意,還需要研究人員的持續攻關和努力。
1 自動術語提取的任務定義
自動術語提取研究從特定專業文本中提取術語的自動技術和方法。自動術語提取系統的輸入是特定領域的專業文本,任務是通過對這些文本的自動分析和處理,提取其中的術語條目并以列表的形式輸出。例如,從給定計算語言學文本中,提取其中的計算語言學術語。盡管自動術語提取系統在應用時面向特定的目標領域,但現有自動提取技術基本上是通用的,并不因為所處理的領域不同采用不同的方法。為了指稱的統一,在本文中,我們把自動術語提取所處理的特定領域文本統稱為目標領域文本,即自動術語提取系統的輸入是目標領域文本,輸出是目標領域文本中所使用的目標領域術語條目。
文獻中,除了術語自動提取這個名稱外,還有一些其他說法也指向術語提取或相關研究,例如,自動術語識別(automatic term recognition或automatic term identification)、自動術語檢測(automatic term detection)、自動術語挖掘(automatic term mining)等。許多文獻不加區別地使用這些術語,含義都是從目標領域文本中提取相應的術語條目。
不過,這里也想特別指出,針對目標領域文本中的術語,從語型(type)和語例(token)兩個處理角度,實際上可以構思出兩種既相互聯系又相互區別的處理任務。在語型處理層面,旨在提取目標領域文本中的術語條目,而不關心精確標記術語條目在目標領域文本中的每個使用實例。與之不同,我們還可以界定一種語例層面的自動術語處理任務,即在目標領域文本中精確標記所有的術語實例。傳統上所說的自動術語提取主要指語型層面的處理,我們在本文中稱之為自動術語提取。為了與之區別,在本文中,我們把上述語例層面的術語處理任務統一稱作自動術語標注(automatic term labelling,ATL)任務。二者區別如下:
a) 目標領域文本→自動術語提取ATE→術語表
b) 目標領域文本→自動術語標注ATL→標注了術語的目標領域文本
自動術語標注和提取可以獨立研究,但也可以結合進行。事實上,可以將自動術語標注看作自動術語提取的前驅任務,如果可以成功識別并標記目標領域文本中的術語,那么只要將這些標記好的術語提取出來并進行去重操作就可以得到相應的術語條目列表,從而實現術語提取的目的。
這里之所以對自動術語提取和自動術語標注區別對待,除了自動術語標注可以作為術語提取的實現技術之外,更為重要的是,從專業文本機器理解這個更為一般的角度出發,自動術語標注更具基礎意義,在許多專業文本的機器理解任務中,更加需要語例層級的術語標注處理,因此自動術語標注技術除可以用以支持術語提取外,也是專業文本機器理解的基礎技術。
2 術語的組成和統計特性
要想利用計算機自動標注或提取目標領域文本中的術語,就需要研究和總結術語在組成和分布方面的形式特征。作為一種特殊的語言表達,術語有著與普通詞語和短語不同的區別性特征。
從術語的組成來看,術語通常由一個或多個單詞組成。由一個單詞組成的術語通常稱作簡單術語(simple term)或單詞術語(single-word term),由不止一個單詞組成的術語通常稱作復雜術語(complex term)或多詞術語(multi-word term)。僅從組成單詞的數量上看,術語與普通短語并沒有區別。但術語與普通短語具有性質上的差異,術語是指稱領域概念的,所指通常固定明確。即便是復雜術語,本質上仍是詞匯層面的語言單位[3]。術語與普通短語在性質上的不同決定了術語必然具有不同于普通短語的特殊組成模式和特殊統計特性。
(1) 從語言學角度看,術語大多是名詞或者名詞短語,這是由術語是對概念的指稱這一特點決定的。例如,根據文獻[3]對四個領域術語的抽樣調查,名詞短語在英語術語中所占比例很高,在所調查的四個領域中比例介于92.5%和99.0%之間。
(2) 術語意義一般不是其組成單詞意義的簡單疊加,在使用中,變化有限。不具有一般短語所具有的(修飾詞)省略、變化、替換甚至增添等靈活變化現象[3]。術語形式變化,通常會導致所指的變化,也會造成歧義,所以同一術語在使用中形式基本不發生變化。
(3) 術語組成模式相對有限。例如,根據文獻[3]對四個領域中多詞術語的調查,僅由名詞、形容詞和介詞組成的名詞短語型術語占比在99%以上,僅由名詞和形容詞組成的名詞短語型術語占比可達97%,并認為英語術語的組成可用正則表達式描述如下[3]:
((A|N)+(A|N)*(NP)?(A|N)*)N
這里A、N、P分別代表形容詞、名詞和介詞。AN、NN、AAN、ANN、NAN、NNN、NPN等常見的英語術語組成模式都可以由該表達式所生成并覆蓋。
(4) 在目標領域文本中,術語通常具有較高的出現頻率。而且與普通短語不同,術語在領域文本和一般文本中有較大的分布差異,集中出現在所屬領域的文本中,而在其他領域文本中則較少出現。
(5) 復雜術語的組成單詞之間結合緊密穩定,形成領域文本中的特有固定搭配。從統計學的角度看,復雜術語各組件的共現頻度通常會顯著超過一般預期。
(6) 在專業文本中,術語的上下文語境也有一定封閉性,尤其是與術語共現的實詞往往因領域不同而不同。
術語的組成和統計特性是利用計算機識別和提取術語的主要依據,大多數術語自動提取方法是根據和利用上述術語特點而設計的。例如,利用術語的語言學特點,將目標領域文本中符合特定模式的名詞短語視作潛在的術語候選,或者利用術語的統計特性設計不同的度量指標衡量單詞和多詞組合作為術語的可能性。
3 單元度和術語度
從計算機的角度出發,目標領域文本中任何一個單詞或者連續幾個單詞的組合都有成為術語的可能。在本文中,我們把目標領域文本中任意一個由n個單詞組成的連續片段稱作n元組(n≥1)。理論上,任何一個長度小于術語最大長度的n元組都有成為術語的可能,我們把這些n元組稱作術語候選(term candidate),計算機需要逐一評價這些術語候選,計算它們作為術語的可能性。
衡量一個n元組是否構成術語通常被歸結為計算兩個指標的問題,即計算單元度和術語度[4]的問題。
單元度(unithood)是針對復雜術語而言的,一個包含多個單詞的n元組要成為一個術語,前提是它們需要構成一個固定搭配,組成單詞間需要結合緊密并整體構成一個語言單位。單元度就是衡量一個多詞n元組中詞與詞之間關聯強度的指標。但組合緊密穩定的多詞組合未必就是術語,術語需要具有領域性,術語度(termhood)就是用來衡量一個n元組與特定領域關聯程度的度量指標。
因此,對于目標領域文本中的某個n元組是否構成術語,可以分別計算該n元組的單元度和術語度分值,如果單元度和術語度得分都高的話,那么這個n元組很可能是一個術語。
多年來,研究人員先后設計和使用了很多計算單元度和術語度的具體方法,這些方法形式各不相同,但原理上都是利用術語的形式和分布特點。
3.1 單元度計算
常見的單元度計算方法包括t值、χ2值、對數似然比、點式互信息、Dice系數等多種方法。一一羅列和介紹這些方法并無必要,我們這里只介紹其中兩個計算指標,分別是點式互信息和t值。選擇這兩個指標,主要是因為點式互信息比較常見,而t值可以作為一類方法的代表。
(1) 基于點式互信息的單元度計算
點式互信息(point-wise mutual information)源自信息論,用于衡量兩個具體事件所共有的信息量。點式互信息值可以區分三種不同的事件依賴關系:若兩個事件高度依賴,總是相伴出現,則其點式互信息通常為較大的正值;若兩個事件相互獨立,則其點式互信息為0;若兩個事件互相排斥,則其點式互信息為負值。以二元組wawb為例,wa和wb間的點式互信息計算如下:
Iwa,wb=log2Pwa,wbPwaPwb
這里,P(wa,wb)、P(wa)和P(wb)分別代表二元組wawb、wa和wb在目標領域文本中出現的概率,它們均可以通過目標領域文本加以估計。
若在目標領域文本中,wa和wb總是結伴出現,此時二者之間聯系緊密,其點式互信息為正值;若wa和wb相互獨立或者在語料中互相排斥,則點式互信息為0或者負值。所以互信息值可以作為單元度的一種度量值,互信息值越大,說明單詞之間結合穩定緊密。而互信息為0或者為負值,即使二者相伴共現,也是偶然共現,wa出現不會提升wb出現的可能性或者會降低wb出現的可能性。
點式互信息會有低頻偏執問題,當wa和wb在文本中出現稀疏時,容易得到虛高的點式互信息,習慣上,人們通常采用下面的方式減緩低頻偏執問題:
I-wa,wb=fwa,wb×Iwa,wb
其中,fwa,wb是二元組wawb在目標領域文本中出現的頻率,Iwa,wb是未加改進的點式互信息,I-wa,wb是改進后的點式互信息。
(2) 基于t值的單元度計算
在單元度計算中,有一類方法脫胎于數理統計中的假設-檢驗法,是對假設-檢驗法的簡化使用,用t值作為單元度計算指標就是這樣一種方法,同樣基于假設-檢驗原理的單元度計算方法還包括χ2值、對數似然比等計算方法。
用假設-檢驗的方法確定n元組組成單詞之間結合是否緊密,首先需要預設兩個假設:原假設(null hypothesis)和備擇假設(alternative hypothesis)。原假設假定組成單詞之間結合不緊密,這些單詞之所以共現完全是偶然所致。而備擇假設假定這些單詞之間結合緊密。
假設-檢驗法采用一種類似反證法的邏輯來論證n元組組成單詞之間結合是否緊密。首先假定原假設成立,那么基于原假設,可根據統計學知識推斷該n元組在目標領域文本中應該具有的統計特性,然后與目標領域文本中觀察到的真實統計特性做比對,如果推斷得到的統計特性和真實統計特性有較大差異,以至于大到在假定原假設成立的前提下不大可能發生的程度,那么我們就可以有較大的信心確定作為推斷基礎的原假設不成立,而轉向承認認為單詞間結合穩定緊密的備擇假設成立;反過來,如果根據原假設推斷得到的統計特性和真實統計特性差異較小,在原假設成立的前提下發生的概率很大,那此時就需要承認認為單詞之間結合不緊密的原假設。不同的假設-檢驗方法對數據分布和差異度量有不同的規定,但道理基本一樣。在利用假設-檢驗方法計算單元度時,通常并不完整使用假設-檢驗的完整流程,而只關心統計特性的差異值,差異值越大,則認為單詞間結合越緊密,t值就是一種這樣的差異值,具體而言,t值是反映樣本均值和原假設成立前提下推斷值的差異程度的統計量,一般形式如下:
t=x-μSE
這里x代表樣本均值,μ代表原假設成立前提下的推斷值,SE是均值估計的標準誤差(standard error),t值以標準誤差為單位衡量樣本均值和推斷值的差異程度。
這里,我們仍以計算二元組wawb的單元度為例,說明t值的計算過程。原假設是wa與wb結合不緊密,也就是說wa與wb在文本中出現時相互獨立,按照獨立性的判定原則,可以推斷二元組wawb在目標領域文本中出現的概率Pwa,wb為:
P0=Pwa·Pwb
同時利用目標領域文本,也可得到二元組wawb在目標領域文本中出現概率Pwa,wb的估值P1。t值即可用來衡量二者間的差異:
t=P1-P0SE
由于估算P1采用均值估算,若用N代表目標領域文本的長度,依據大數定律,估值P1的標準誤差為:
SE= P11-P1N
因此,只要給定目標領域文本,就能計算出給定二元組的t值。t值越大,表明P1與P0之間的差異越大,說明wawb在目標領域文本中結伴出現的概率遠大于二者獨立出現的概率,也就說明二者組合可視作結合穩定緊密的整體。在假設檢驗的實踐中,通常還需要計算置信區間并進一步做出推翻原假設和接受原假設的結論,但對于單元度計算而言,通常只考慮t值的相對大小,t值越大,單元度越大;t值越小,單元度越小,無須明確做出接受原假設和推翻原假設的結論。
在上面的介紹中,我們以二元組為例進行說明,若對一般的n元組可以進行計算方式的推廣或者采用迭代方式進行[5]。
3.2 術語度計算
術語度計算術語候選和領域的關聯程度。術語度計算的出發點依然是充分利用術語的統計特性。術語具有領域分布不平衡的特點,在計算術語度時要利用這一特點,單純使用目標領域文本是不夠的,需要引入目標領域文本之外的其他領域文本或不具備領域色彩的普通文本作為比對參照,這樣的文本稱作參照文本(reference text)。
與單元度計算類似,現有術語度計算方法也有很多,這里介紹兩種較為常見的計算方法:
(1) 基于項頻率-逆向文檔頻率的術語度計算方法
項頻率(term frequency,tf)、文檔頻率(document frequency,df)、逆向文檔頻率(inverse document frequency,idf)等概念源自信息檢索研究。項頻率-逆向文檔頻率(tf-idf)計算方法是一種為文檔中項(term)賦以權值的方法,項是信息檢索中用以表征文檔內容的詞或者短語,項的tf-idf權值用來代表項對于文檔的重要程度。在英文中,項與術語均用term指稱,含義不完全相同,但也有共性,項是一個文檔中最具信息意義的詞或者短語,而術語則是一個目標領域中最具信息價值的詞或短語。鑒于這種共性,tf-idf計算方法常被術語提取研究作為術語度計算方法。
設D為一個文檔集合,D=d1,d2,…,dD,其中,d1,d2,…,dD代表集合中所包含的文檔,在術語度計算的語境下,可以將這些文檔看作領域文本,這里我們把其中的di看作目標領域文本,其余的文本看作普通文本或者其他領域文本,起參照文本的作用。
對于給定的n元組tc,基于上述文檔集合D,可以得到兩個統計數據,一是tc在目標領域文本di中的頻率,稱作項頻率,記作tfi(tc);另一個是tc所出現過的所有文本的數量,稱作文檔頻率,記作df(tc)。項頻率高意味著tc在目標領域文本中頻率高,可能是術語,而文檔頻率底,則意味著tc只在少量文本中出現,區別于在所有文本中都大致均勻出現的非術語詞匯,組合這兩個因素,即可形成一種集項頻率和文檔頻率的術語度度量指標:
tf-idfitc=tfitc·log2Ddftc
在上述計算公式中,文檔頻率是以倒數形式出現的,因文檔頻率的倒數形式被稱作逆向文檔頻率,這種計算方法被稱作基于項頻率和逆向文檔頻率的計算方法。可以看出,對于一個候選術語tc而言,它在目標領域文本中頻率越高,且出現在其他參照文本中的數量越少,則其tf-idf值就越大,tc是術語的可能性就越高,這與術語分布的統計特性是一致的。
(2) 基于C-value和NC-value的術語度計算方法
C-value與NC-value[7-8]也是自動術語提取研究中常見的術語度計算方法。
C-value在計算時考慮了術語候選之間的嵌套關系。綜合而言,對于一個候選術語tc而言,其C-value可通過下面的公式加以計算:
C-value(tc)=
log2|tc|·f(tc),若tc不被嵌套
log2|tc|·(f(tc)-1|Ttc|∑b∈Ttcf(b)),若tc被嵌套
在上面的式子中,f(tc)代表術語候選tc在目標領域文本中出現的頻率,tc代表術語候選tc的長度,即tc中包含單詞的數量。可以看到,術語候選tc在目標領域文本中出現的次數越多,其C-value就會越大,tc就越可能是一個術語。C-value將術語候選的長度因素也納入考慮范圍,可以看出,若頻率相同,一個較長的n元組比一個較短的n元組更可能是術語。
C-value的一個主要創新在于將術語候選之間的嵌套關系考慮在內。在計算一個術語候選tc的C-value時,tc可能會作為一個組成部分嵌套在其他更長的n元組中,而在統計tc的頻率時,會將嵌套在其他n元組中的tc的頻率也計算在內,從而高估了tc作為術語的可能。因此,在評價tc作為術語的可能性時,需要將嵌套在其他n元組的這部分tc頻率做折減處理。一般而言,當tc被其他n元組嵌套時,會有兩種可能,一種可能為tc是術語,另一種可能為tc不是術語。若tc是術語,那么完全折減嵌套在其他n元組中的頻率又會引起低估tc作為術語的可能,因此需要根據tc是術語的可能性大小做不同的折減處理。那么如何判斷一個處在嵌套中的tc作為術語的可能性呢?一個可行的辦法是評判tc的獨立性。通常而言,若tc可以被很多不同的n元組所嵌套,說明tc可以出現在很多不同的語境中,具有較強的獨立性,此時tc更可能是一個術語,在頻率折減時,應該折減少一些;但若tc只能被很少其他的n元組所嵌套,甚至只能被一個n元組所嵌套時,這說明tc具有較強的黏著性,只是包含它的n元組的組成部分,此時更應該考慮包含它的n元組是否為術語,這種情況下,在折減頻率時,可以折減得多一些,降低tc作為術語的可能性。C-value在計算時通過按照包含tc的n元組個數對折減頻率總和取平均的方式體現了這一思想。在上面的公式中,Ttc代表由所有包含tc的n元組組成的集合,b代表其中的n元組,fb代表n元組b在目標領域文本中的頻率。式中首先累加包含tc的所有n元組的頻率,然后按照包含tc的n元組個數Ttc對頻率和取平均作為最終折減頻率。
需要補充說明的是,上述的C-value計算公式只能計算多詞術語候選的術語度。原因在于對于單詞術語候選而言,公式中的系數log2tc恒為0,使得所有單詞術語候選的術語度計算結果均為0。針對這一問題,文獻[9]提出將公式中的系數部分修改為1+log2tc,從而將單詞術語候選術語度計算問題涵蓋在內。
C-value計算綜合考慮了n元組的頻率、n元組的長度和n元組間的嵌套關系,根據這些因素計算n元組作為術語的可能性。但在C-value的計算中,沒有考慮到術語候選語境中的詞對術語度計算的影響。一般而言,術語對其語境中的詞有選擇限制作用,一些詞比另外一些詞更容易出現在術語的語境中,換句話說,如果某個術語候選的語境中出現了這樣的詞,那么這個術語候選就更有可能是術語。這也就是說,語境中出現的詞對判定術語候選是否為術語有指示作用。NC-value計算正是基于這一動機,在C-value計算的基礎上增加了語境影響因素。
并非所有出現在術語候選語境中的詞對術語判定都有指示作用,即使有指示作用,不同詞指示能力的強弱也不盡相同。因此,計算NC-value之前需要事先確定哪些詞對術語判定有指示作用,若有指示作用,還要確定表征它們指示能力強弱的權重。這些對術語判定有指示作用的詞稱作術語語境詞(term context word)。術語語境詞包含哪些詞與處理的目標領域有關,在一個領域中是目標語境詞,在另一個目標領域中未必是目標語境詞。
為給定的目標領域選擇語境詞,需要首先準備一個包含一定條目的種子術語表。這個術語表可以從現有的術語詞表中選擇一些術語組成。如果沒有這樣的術語表,也可以基于C-value,選擇C-value靠前的若干術語候選組成目標領域術語表。
確定一個詞w是否為術語語境詞,可以統計w曾經在多少種子術語的語境中出現過,w在越多的種子術語語境中出現過,就越可能是一個術語語境詞,因而其權重可用與其共現過的種子術語的比例來衡量:
weight(w)=|T(w)||T|
其中,T代表種子術語集合,T(w)是語境中出現過w的所有種子術語的集合。
NC-value在C-value的基礎上增加了對術語語境詞影響的考慮,術語候選tc作為術語的可能性由其C-value和語境詞影響兩個部分按照不同的比例綜合計算得到:
NC-value(tc)=0.8C-value(tc)+0.2∑b∈Ctcftc(b)weight(b)
上式中,Ctc是出現在tc語境中的所有術語語境詞的集合,在計算這些語境詞的影響時,一個語境詞b對tc是否為術語的影響由其權重weight(b)與其出現在tc語境中的次數ftc(b)共同決定。
4 術語提取的一般流程
術語提取系統通常采用兩階段的流水線架構,其中第一階段生成術語候選,第二階段對術語候選進行單元度和術語度評分,整體流程如下:
目標領域文本→提取術語候選①→評分和排序②→術語條目列表
4.1 提取術語候選
提取術語候選的目的是從目標領域文本中選擇可能是術語的單詞或者多詞組合,這些選擇出的單詞或者多詞組合未必是術語,它們是否為術語需要交給后續階段進一步評估。從這一階段的目的和在整個提取流程中的作用來看,理想的結果應該是既不漏掉真正的術語也不應該生成太多的術語候選。生成太多的術語候選會增加第二階段的工作負擔,降低效率,但漏掉真正術語會影響術語提取任務的準確率,造成提取質量下降。
術語的長度有限,對術語提取系統而言,長度在一定范圍內的連續n元詞串都有可能是術語,因此生成術語候選最簡單的辦法是首先設定一個術語的長度上限MaxLen,然后窮盡列出目標領域文本中長度不超過MaxLen的所有n元組(1≤n≤MaxLen),然后將所有這些n元組作為術語候選提供給第二階段進行評判。
當然這種方法會生成大量的術語候選,通常可以選擇利用下面的策略對候選做進一步的裁剪和篩選:
(1)引入停用詞表(stop list),列出所有不可能在術語中出現的單詞;應用停用詞表,將其中含有或特定位置含有停用詞的n元組剔除,從而減少術語候選的數量。
(2)引入語言學知識,如前文所述,多詞術語絕大多數由名詞、形容詞按照一定的模式構成,可以利用預定義的詞類模式對術語候選進行過濾篩選,如可把能與第2節中正則表達式成功匹配的n元組作為術語候選。這種策略是一種常見的將語言學知識引入術語提取過程中的做法。不過,由于模式匹配建立在詞類模式的基礎上,需要事先對目標領域文本進行詞類標注處理,由于現有詞類標注程序并不完美,存在錯誤標注的情況,也會對術語候選生成產生一定的影響。
(3)鑒于術語多為名詞短語,也有研究限定只處理名詞短語,規定術語候選需要是名詞短語。這會對目標領域文本處理提出更高的要求,需要對目標領域文本進行句法或者名詞組塊分析處理。同樣自動句法或組塊分析的效果也會對術語候選質量產生影響。
4.2 評分和排序
評分和排序階段的任務是通過評分的方式對第一階段生成的術語候選逐一評價,按照一定的準則評判術語候選作為術語的分值,并根據分值對術語候選排序,截取得分較高的術語候選條目作為最終結果輸出給用戶。用戶通常可以指定輸出術語候選條目的數量,如可以設定提取條目數量,輸出得分排序靠前的r個術語候選條目;也可以設定得分閾值,輸出得分超過閾值的術語候選條目;還可以采用相對比例的方式,選取得分排在前x%的術語條目作為最終術語提取結果。
術語候選評分是自動術語提取的核心環節,評分方法主要是統計方法,如可以從上面介紹的單元度和術語度兩個角度進行評判,再將二者得分進行綜合排序。當然在具體系統實現中,未必需要專門的單元度和術語度評分組件,但評分一般應能體現出對術語候選在這兩個方面的考量。
有時會進行不止一次的評分和排序處理,這樣的策略被稱作重排序(reranking)策略。之所以這樣,通常是希望在前一種評分策略的基礎上增加新的關注因素,在第一次排序所得到的結果中使用改進的或新的評分策略重新評分并排序,以達到改進術語提取質量的目標。例如,首先使用C-value對術語候選進行評分并排序,選取C-value得分最高的若干提取結果選擇術語語境詞,在選定語境詞后,計算候選術語的NC-value,并再次基于NC-value的大小對術語候選進行排序。由于在計算NC-value時,考慮了候選術語的語境特征,新的排序結果會更加準確合理。
5 自動術語標注和機器學習
在本文第1節,我們對自動術語提取和自動術語標注兩個任務進行了區分,也指出自動術語標注可作為自動術語提取的實現技術。例如,對于下面的文本片段:
進行詞法分析的程序或者函數叫作詞法分析器
自動術語標注的結果是:
進行[詞法分析]的[程序]或者[函數]叫作[詞法分析器]
自動術語標注程序需要把文本中的術語實例標記出來(方括號括起來的部分)。
經過自動術語標注處理目標領域文本,其中出現的術語實例均已明確標記,提取匯集這些術語即可實現術語提取的目的。例如,根據標注結果,從上面的例子中,可以提取得到“程序”“詞法分析”“詞法分析器”和“函數”四個術語條目。
5.1 序列標注模型
作為一種語例層級的標注任務,在模型構建層面,自動術語標注展現出與自動分詞、詞類標注、命名實體識別等眾多自然語言處理任務類似的特性,可被視作一個典型的序列標注型機器學習任務。序列標注任務的輸入是一個序列X,輸出是一個長度相等的標記序列Y:
X=x1x2…xn→Y=y1y2…yn
這里xi和yi分別是輸入序列和輸出序列的組成元素,且xi和yi一一對應,yi可視作xi的類別標記,這種任務稱作序列標注(sequence labeling)任務,是一種給序列中每個元素賦以類別標記的機器學習任務。
利用序列標注模型解決自動術語標注問題,輸入X是單詞序列,序列中每個基本元素xi是單詞。漢語、日語等語言中詞和詞之間沒有空格,任務的輸入也可是字符序列,序列中每個基本元素xi是單個字符(漢字或字母)。在序列標注任務中,標記的種類、數量和含義通常會因任務不同而有所差異。對于自動術語標注而言,一個較為簡單的選擇是采用BIO標記集。BIO標記可用于標記序列中的目標片段,對于自動術語標注而言,這個目標片段就是術語。BIO標記有三個基本標記,B標記術語中的首字(或詞),I標記術語中除首字(或詞)之外的其他字(或詞),O標記非術語組成部分的字(或詞)。所以自動術語標注任務的輸出是由BIO三個標記組成的序列。下面是一個標記示例:
OOBIIIOBIOOBI…
↑↑↑↑↑↑↑↑↑↑↑↑↑…
進行詞法分析的程序或者函數…
在這個例子中,輸入是字符序列“進行詞法分析的程序或者函數…”,輸出序列是“OOBIIIOBIII BI…”。如“進”和“行”被標注O標記,表明“進行”兩字不是術語或術語的組成部分,“詞”被標注B標記,表明“詞”是一個術語的首字,“法”“分”“析”被標注I標記,表明這三個字是術語的組成部分。可以看到,如果可以成功給輸入字符序列加注這樣的標記序列,根據標記序列就可以確定其中的術語,任何一個由B開始并接續若干I的標記序列片段對應的字符序列片段就是術語,如在上例中,由標記序列片段“BIII”可得知“詞法分析”是一個術語。
序列標注模型是自然語言處理中使用最為頻繁的模型之一,現有多種不同的序列標注模型可供使用,在經典模型中,使用最多的是條件隨機場(CRF)模型。 條件隨機場模型是一種基于特征的模型,模型要確定某個字的正確標記,需要根據這個字在句子中的上下文特征做出決策,因此構建基于CRF的自動術語標注模型需要進行人工特征工程(feature engineering),需要人工事先設定特征模板或特征。文獻[10]和[11]都是使用CRF模型解決自動術語標注問題的示例。
近年來,深度學習(deep learning)技術的應用為自然語言處理等領域帶來很多進展。深度學習在多個方面推進了經典機器學習技術,主要體現在:從(對數)線性模型升級為非線性模型,提升了模型容量,改善了模型的表達能力;從高維離散型特征升級為低維連續型特征表示,實現了處理對象間關聯關系的表示和建模;實現了特征的自動學習和分層學習,消除或減少了對人工特征工程的依賴,也為機器決策提供了從具體到抽象的多層特征表示;靈活的預訓練機制,提供了利用大數據改善性能的可能。深度學習中常見的序列處理模型,例如長短期記憶網絡模型(LSTM)、變換器模型(transformer)、基于編碼-解碼架構的序列到序列(seq2seq)模型,原則上都可以用來建模自動術語標注任務。在自動術語標注任務中利用深度學習技術的研究目前并不多見,文獻[12]提出一種基于自注意力機制的自動術語標注模型,可作為運用深度學習技術處理自動術語標注問題的一個示例。
5.2 術語標注語料庫
總體而言,自動術語標注研究不夠充分,相關研究在頂級學術會議和學術期刊上鮮有展現。原因有可能是多方面的,但是缺乏大規模術語標注語料庫應是主要原因之一。
無論是CRF等經典機器學習模型還是目前流行的深度學習模型,都屬有指導的機器學習(supervised learning)技術,都需要以大規模術語標注語料庫作為學習素材,對于深度學習模型而言,由于模型容量大的原因,理論上需要更大規模的術語標注語料庫才能產生更具推廣能力的術語標注效果。
針對術語標注語料庫缺乏的現象,除人工構建外,似乎并無省時省力的快捷辦法,但遠程指導(distant supervision)技術或不失為一種權宜解決辦法。遠程指導技術最早被用于關系提取研究[13],是一種通過知識庫回標方式產生弱標注數據的技術。文獻[12]在自動術語標注研究中使用了這一技術,基本思想是利用現有術語詞表,將術語詞表中的術語回標至目標領域文本,簡單地說,就是將目標領域文本中出現的術語表中的術語標注為術語實例并作為術語標注語料庫用作機器學習模型的訓練數據。遠程指導技術存在錯誤標注和漏標的問題,文本中出現了術語表中沒有的術語時,就會出現漏標現象。如果文本中出現術語的非術語用法(這種情況盡管很少出現),也會導致錯標的現象。遠程指導技術的優點是無須人工干預、速度快,可以在短時間內產生大規模術語標注語料,用以支持基于經典機器學習技術和深度學習技術的自動術語標注研究。例如,文獻[12]利用一個包含7萬多個條目的計算機領域中文術語表應用遠程指導技術回標了6萬多個論文摘要文本作為術語標注語料,以支持術語標注研究,并取得了一定的自動術語標注效果。
6 自動術語提取與標注的評價
與其他很多研究一樣,方法的好和壞、改進方向、應用意義都需要通過評價來體現和基于評價來做出判斷,自動術語提取研究也不例外。與很多自然語言處理任務評價類似,在自動術語標注和提取任務中,最常用的評價指標是F值。
測試術語提取系統的性能,需要引入目標領域的測試文本。對于給定的目標語料測試文本,其中包含的術語條目理論上是確定的,如果由領域專家把這些術語條目提取出來,就可以作為自動方法評判的標準答案。通過比對術語提取系統返回的術語條目和標準答案,會有三種情況出現:
(1) 正確提取,也就是在標準答案中的術語被術語提取系統正確提取的情況。這里用nA代表術語自動提取系統正確提取的術語的數量。
(2) 漏提,也就是正確答案中有但未能被術語提取系統提取的情況。這里用nB代表被術語自動提取系統漏提的術語的數量。
(3) 錯提,也就是并非術語但被自動術語提取系統誤認作術語的情況。這里用nC代表自動提取結果中這種被錯認的術語數量。
基于上述三種不同情況和對應的統計數據,可以分別定義精確率(precision)和召回率(recall)兩個評價指標。其中精確率用來評判自動提取系統提取結果的準確程度,定義為自動提取結果中正確結果所占的百分比,即:
precision=nAnA+nC×100%
召回率用來評判自動提取結果對正確結果的覆蓋情況,定義為正確的提取結果占標準答案的百分比,即:
recall=nAnA+nB×100%
而F值是結合精確率和召回率的綜合評價指標,定義為精確率和召回率的調和平均值,即:
F-measure=2·precision·recallprecision+recall
對于術語提取而言,最終輸出的術語條目數量會受用戶預設的數量或得分閾值的影響,因而設定不同,評價結果也會不同。對同一個術語提取系統而言,提取的準確率通常會隨著輸出條目數量的增加而降低,而召回率則會隨著輸出條目數量的增加而升高。
對于自動術語標注而言,通常也采用F值來評價效果,只不過術語標注是標注文本中所有的術語實例,因此是在語例層次進行評價。評價時需要事先準備正確標注了所有術語實例的目標領域測試文本作為標準答案,與自動術語標注系統的標注結果做比對,計算標注的精確率、召回率及相應的F值。
7 結語
自動術語提取研究取得了不少進展,但距離人們的期望還有不小的差距。這表現在,現有術語提取結果中存在大量的噪聲,人工核校剔除需要花費大量成本;術語漏提現象也普遍存在,尤其是現有術語提取技術大多基于統計技術,限于長尾效應,一些低頻術語很難被識別和提取。如何減少噪聲和漏提現象仍是術語提取研究要解決的核心問題。
從方法層面而言,形成了基于術語評分統計量的提取策略和基于機器學習的術語標注策略兩大類方法。基于術語評分統計量的辦法無需大規模術語標注語料庫,因而得到了較多的關注和研究。基于機器學習的術語標注技術由于需要大規模術語標注語料庫,限于缺乏這樣的標注數據,效果和潛力仍未充分體現。尤其值得指出的是,近年來深度學習技術在自然語言處理的許多任務中有突出表現,但在自動術語提取和標注任務上的深入探索仍不多見。在基于深度學習技術的自動術語提取和標注研究中,至少有兩個方面值得進一步關注:一是許多神經網絡架構已被證實在自然語言處理的許多任務中可以帶來效果提升,諸如CNN、LSTM、Transformer等,這些模型可為術語提取技術帶來何種影響需要實踐驗證,研究人員也需要在此基礎上探索并提出適于自動術語提取問題的新型模型架構;二是大規模預訓練語言模型發展如火如荼,BERT、GPT、XLNet、T5等眾多大規模預訓練語言模型在許多自然語言處理任務中的價值已得到證實,但在自動術語提取方面的價值仍有待探索和關注。
術語提取和標注主流技術仍是數據驅動的技術,術語標注資源的建設至關重要。但術語標注語料構建耗時費力,在這種情況下,有效利用遠程指導等弱指導技術和有效應對遠程指導技術的噪聲問題值得研究和探索。術語標注資源的建設還有利于形成統一基準評測語料,為準確有效評價不同術語提取或標注方法提供基礎資源,有利于術語提取和標注技術的持續發展。
隨著科學技術的進步,新術語層出不窮,從術語整理和審定的角度看,新術語提取效果更具應用價值,如何在方法、評價層面考慮新術語提取能力也是有待關注的問題。
參考文獻
[1] 語言學名詞審定委員會.語言學名詞[M]. 北京:商務印書館,2011.
[2] CABR CASTELLV M T , BAGOT R E , PALATRESI J V. Automatic term detection: a review of current systems[M]//BOURIGAULT D, JACQUEMIN C, L’HOMME M-C. Recent Advances in Computational Terminology. Amsterdam:John Benjamins Publishing Company, 2001:53-88.
[3] JUSTESON J,KATZ S. Technical Terminology: Some Linguistic Properties and an Algorithm for Identification in Text[J]. Natural Language Engineering, 1995,1(1):9-27.
[4] KYO K,BIN U. Methods of automatic term recognition:a review[J]. Terminology, 1996,3(2):1-23.
[5] CHANG B B, DANIELSSON P, TEUBERT W. Extraction of Translation Unit from Chinese-English Parallel Corpora[C]//Proceedings of The First SIGHAN Workshop on Chinese Language Processing, 2002.
[6] CHURCH K W,GALE W A. Inverse document frequency (idf): A measure of deviations from poisson[C]//Proceedings of the ACL 3rd Workshop on Very Large Corpora, 1995:121-130.
[7] FRANTZI K, ANANIADOU S, MIMA H. The C-value/NC-value method of automatic recognition for multi-word terms[C]//Proceedings of the Second European Conference on Research and Advanced Technology for Digital Libraries (ECDL),1998:585-604.
[8] FRANTZI K, ANANIADOU S, MIMA H. Automatic recognition of multi-word terms: the C-value/NC-value method[J]. International Journal on Digital Libraries,2000, 3(2):115-130.
[9] BARRN-CEDEO A, SIERRA G, DROUIN P, et al. An improved automatic term recognition method for Spanish[C]//International Conference on Intelligent Text Processing and Computational Linguistics, 2009:125-136.
[10] 王海雄,郭劍毅,余正濤,等. 基于CRFs的中文領域術語自動抽取研究[C]//第六屆全國信息檢索學術會議論文集,北京:中國中文信息學會,2010:505-512.
[11] ZHANG X, SONG Y, FANG A C. Term recognition using Conditional Random fields[C]//International Conference on Natural Language Processing and Knowledge Engineering, IEEE, 2010:1-6.
[12] 趙頌歌,張浩,常寶寶. 基于自注意力機制的科技術語自動提取技術研究[J]. 中國科技術語,2021,23 (2):20-26.
[13] MINTZ M, BILLS S, SNOW R, et al. Distant supervision for relation extraction without labeled data[C]//Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP, 2009:1003-1011.
[14] KIM J-D,OHTA T,TATEISI Y,et al. GENIA corpus:a semantically annotated corpus for bio-textmining[J]. Bioinformatics, 2003,19(1):i180-i182.
[15] ZADEH B Q,HANDSCHUH S. The ACL RD-TEC: A Dataset for Benchmarking Terminology Extraction and Classification in Computational Linguistics[C]//Proceedings of the 4th International Workshop on Computational Terminology (Computerm),2014:52-63.
[16] 馮志偉. 一個新興的術語學科:計算術語學[J]. 術語標準化與信息技術,2008(4):4-9.
[17] ZHANG Z Q,GAO J,CIRAVEGNA F. JATE 2.0: Java Automatic Term Extraction with Apache Solr[C]//Proceedings of the Tenth International Conference on Language Resources and Evaluation (LREC’16), 2016:2262-2269.
[18] KANG B, CHANG B B, CHEN Y R, et al. Extracting Terminologically Relevant Collocations in the Translation of Chinese Monograph[C]//International Joint Conference on Natural Language Processing, 2005:1017-1028.
[19] KANG B, CHANG B B, CHEN Y R, et al. Translating multi word terms into Korean from Chinese documents[C]//International Conference on Natural Language Processing and Knowledge Engineering, 2005:449-454.
作者簡介:常寶寶(1971—),博士,北京大學信息科學技術學院副教授,主要研究領域為自然語言處理。先后主持多個國家自然科學基金和國家社會科學基金等項目,在包括ACL、EMNLP、COLING、IJCAI、AAAI等國際頂級會議在內的國內外學術會議及期刊上發表論文近百篇。作為主要成員,先后獲得教育部科技進步一等獎、中國電子學會科技進步一等獎、國家科技進步二等獎等。通信方式:chbb@pku.edu.cn。