孫 靜,方 艷,丁 彬,周國棟
(蘇州大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006)
在中文信息處理領(lǐng)域中,詞法分析的一般做法是通過分詞來劃定詞和短語的邊界,從而使?jié)h語的后續(xù)處理過程,如語義分析、句法分析等,能夠跟英語等西方語言基本一致。然而,漢語中單字詞與語素之間、詞與短語之間的界限比較模糊。許多情況下甚至連語言學(xué)家也難以確定某些語言單位是語素、詞還是短語,這就導(dǎo)致實踐中人工標(biāo)注的分詞語料存在嚴(yán)重的不一致性,這種不一致性無疑會制約漢語的后續(xù)處理工作。
分詞語料的不一致性不僅體現(xiàn)在不同語料庫間分詞標(biāo)準(zhǔn)不同,而且同一語料庫中的分詞標(biāo)準(zhǔn)也不一致。例如,在PKU語料庫中,“總教練”被切分為“總”和“教練”兩個詞,而“總書記”卻是一個詞。但是,“總教練”和“總書記”都有相同的結(jié)構(gòu),即前綴“總”加名詞構(gòu)成,它們可以表示成具有內(nèi)部結(jié)構(gòu)的標(biāo)注形式: “[總書記]”和“[總教練]”。另一方面,不同的自然語言處理應(yīng)用對詞的粒度大小也有不同的需求,單一的分詞標(biāo)準(zhǔn)難以滿足各種要求。
由此可見,要解決分詞標(biāo)準(zhǔn)的不一致性以及應(yīng)用的不同需求,一個有效的方法就是分析詞的內(nèi)部結(jié)構(gòu)。對詞進(jìn)行結(jié)構(gòu)分析,是為了提供一種與傳統(tǒng)分詞不一樣的詞法分析選擇,它更加符合漢語詞法及句法邊界模糊的事實,有利于發(fā)揮詞法分析在實際應(yīng)用中的作用。
漢語詞語結(jié)構(gòu)的自動分析方面,Wu[1]提出了一種基于規(guī)則的詞語內(nèi)部結(jié)構(gòu)分析方法。趙海[2]對目前分詞范式所存在的問題進(jìn)行了分析,并提出了利用漢字之間的依存關(guān)系對詞進(jìn)行表述。Zhang等[3]提出漢語中絕大多數(shù)的詞都有語法結(jié)構(gòu),分析詞的結(jié)構(gòu)對分詞、詞性標(biāo)注及句法分析精確度的提高都有幫助。針對目前的分詞規(guī)范在理論上和實際運(yùn)用中的不足,Li[4]從理論和應(yīng)用兩個角度論證了分析詞語結(jié)構(gòu)的必要性,并提出了漢語詞法與句法統(tǒng)一分析的方法。方艷等[5]提出了一種基于層疊CRF模型的詞結(jié)構(gòu)分析方法,對于無結(jié)構(gòu)詞的輸出等同于傳統(tǒng)的分詞輸出,對于有結(jié)構(gòu)詞的輸出結(jié)果中不僅有詞的邊界信息,還包含詞的內(nèi)部結(jié)構(gòu)信息。該方法包括底層模型和高層模型兩部分。底層模型主要實現(xiàn)漢語字串的細(xì)粒度分詞,該任務(wù)與傳統(tǒng)分詞相同,僅在詞的粒度上有所區(qū)別。高層模型是對經(jīng)細(xì)粒度分詞后的詞序列使用CRF模型來識別詞的內(nèi)部結(jié)構(gòu)。實驗結(jié)果表明,該方法對詞結(jié)構(gòu)的識別取得了較高的準(zhǔn)確率,總體性能達(dá)到了實用水平。
雖然方艷等[5]方法的總體性能達(dá)到了實用水平,但此方法需要先進(jìn)行細(xì)粒度分詞,然后在分詞基礎(chǔ)上進(jìn)行詞結(jié)構(gòu)分析,因此最終結(jié)果受分詞結(jié)果好壞的影響。通過統(tǒng)計方艷等[5]所用語料庫,發(fā)現(xiàn)語料中99%含結(jié)構(gòu)的詞都是結(jié)構(gòu)簡單的詞(小于等于兩層結(jié)構(gòu)),并且有97%的詞結(jié)構(gòu)可以表示成“詞根+后綴”或者“前綴+詞根”的形式。針對此特點(diǎn),可以把前后綴視作特殊的詞,通過識別出每一個詞的前后綴來識別詞的內(nèi)部結(jié)構(gòu)。這樣可以把詞內(nèi)部結(jié)構(gòu)的識別問題轉(zhuǎn)換成序列標(biāo)注問題。綜上本文提出了一種一步到位實現(xiàn)詞結(jié)構(gòu)自動分析的方法,即通過擴(kuò)展標(biāo)記集來實現(xiàn)詞結(jié)構(gòu)的自動分析,避免細(xì)粒度分詞所帶來的錯誤傳遞。
本文第2部分簡要介紹詞結(jié)構(gòu)分析任務(wù)定義;第3部分介紹擴(kuò)展標(biāo)注集設(shè)置;第4部分介紹實驗設(shè)置;第5部分對實驗結(jié)果進(jìn)行分析與比較;最后總結(jié)全文。
漢語的詞可以分為單純詞和離合詞,單純詞僅有一個語素,談不上內(nèi)部結(jié)構(gòu)。而復(fù)合詞顧名思義是由一些詞復(fù)合形成的,它含有多個語素,都有內(nèi)部結(jié)構(gòu)。本文分析的含結(jié)構(gòu)的詞并非所有的復(fù)合詞,因為從自然語言處理角度來看,有些復(fù)合詞的結(jié)構(gòu)并不需要分析,例如“研究”雖為復(fù)合詞,但自然語言處理應(yīng)用系統(tǒng)一般不需要對其內(nèi)部結(jié)構(gòu)進(jìn)行分析。本文所指的有結(jié)構(gòu)的詞界定如下。
1. 詞中包含中心成分,并且該結(jié)構(gòu)具有能產(chǎn)性*能產(chǎn)性指由某種規(guī)則能產(chǎn)生大量新詞,也可指某語言單位能產(chǎn)生大量更大的單位,但本文中的能產(chǎn)性更偏向于后者。。例如,“工程師”,其中的“師”為中心成分,并且“師”字是能產(chǎn)的。
2. 具有中心成分但不滿足能產(chǎn)性的情形,如果該中心成分對應(yīng)的所有詞構(gòu)成平行的語義類別,則也作為有結(jié)構(gòu)的詞。例如,“大學(xué)、中學(xué)、小學(xué)”,雖然表示“學(xué)?!钡摹皩W(xué)”字不具有能產(chǎn)性,但標(biāo)注這組詞語結(jié)構(gòu)以后,類似“大中小學(xué)”的結(jié)構(gòu)分析就能與前面三個詞語的結(jié)構(gòu)分析統(tǒng)一起來。
3. 不具有中心成分的“離心結(jié)構(gòu)”,如果具有能產(chǎn)性并且產(chǎn)生的詞句法功能一致,也是本文所指的有結(jié)構(gòu)的詞。例如,“反革命”中的兩個成分“反”和“革命”都不是整個詞的中心成分,但由于“反+名詞”這種結(jié)構(gòu)具有能產(chǎn)性(反貪,反帝,反華,反浪費(fèi),反盜版等),本文仍將其作為有結(jié)構(gòu)的詞。
4. 漢語的人名是一類特殊的含結(jié)構(gòu)的詞,每個人名都包含姓與名,故本文對漢語人名的結(jié)構(gòu)也作了分析。
本文將詞結(jié)構(gòu)(除人名外)中能產(chǎn)的部分(以及第二種情況下的中心成分)稱為前綴或后綴(不同于語言學(xué)上的前后綴)。例如,在詞結(jié)構(gòu)“[總經(jīng)理]”中,“總”稱為前綴,“經(jīng)理”稱為詞根。本文的前后綴不僅限于單個漢字,也可能是多個漢字,例如,主義,階級。詞的結(jié)構(gòu)可能是一層,也有可能是多層的,如“總工程師”具有兩層結(jié)構(gòu),如圖1所示,本文用方括號表明了詞的內(nèi)部結(jié)構(gòu),一層括號表示一層詞的結(jié)構(gòu),即圖1的結(jié)構(gòu)表示為“[總 [工程師]]”。表1列出了具有不同形式的詞結(jié)構(gòu),從中可以看出,漢語中詞的內(nèi)部結(jié)構(gòu)紛繁復(fù)雜。
圖1 “總工程師”的結(jié)構(gòu)
本文中詞結(jié)構(gòu)自動分析的任務(wù)不僅(以空格)分隔出一個句子中的詞,而且給出詞的內(nèi)部結(jié)構(gòu),并且這種結(jié)構(gòu)可能是嵌套的。如在下列句子中:
表1 詞的內(nèi)部結(jié)構(gòu)舉例
1. 林志浩是總工程師
2. 林志浩 是 總工程師
3. 林 志浩 是 總 工程師
4. [林 志浩] 是 [總 [工程 師]]
其中句1是未經(jīng)分詞的原始句子,句2和句3是兩種不同的分詞結(jié)果。顯然,就分詞的顆粒度而言,句2和句3是不同的。句4是本文的詞結(jié)構(gòu)分析所要輸出的結(jié)果,它不僅包含了各種可能的分詞情況,而且用方括號表明了詞的內(nèi)部結(jié)構(gòu),由此可見,詞結(jié)構(gòu)分析符合了漢語中詞與短語界限不清的特點(diǎn),并且該種詞法分析可以很好地兼容不同的分詞標(biāo)準(zhǔn),不同的應(yīng)用可以根據(jù)需要提取不同粒度的詞,克服了目前分詞中所存在的問題。
運(yùn)用序列標(biāo)注法來分析詞的內(nèi)部結(jié)構(gòu),就是把識別詞內(nèi)部結(jié)構(gòu)的過程視為字(這里的“字”不一定只表示漢字,還可以是外文字母,阿拉伯?dāng)?shù)字,標(biāo)點(diǎn)符號等字符)在字符串中的標(biāo)注問題。由于在分析詞內(nèi)部結(jié)構(gòu)這個問題上,詞有詞根與詞綴之分,故需要將詞根與詞綴分別設(shè)立構(gòu)詞位置才能識別詞的內(nèi)部結(jié)構(gòu)。
詞根是無內(nèi)部結(jié)構(gòu)的詞,它的識別等同于傳統(tǒng)的分詞,故本文借鑒基于字的序列標(biāo)記法使用的標(biāo)記集來識別詞根。用序列標(biāo)注法來分詞所使用的標(biāo)記方法有多種: 如基于詞邊界的0/1標(biāo)記法[6]、2詞位標(biāo)記法[7]、4詞位標(biāo)記法[8]、6詞位標(biāo)記法等[9]。不同的標(biāo)記方法都有各自的優(yōu)缺點(diǎn),標(biāo)記個數(shù)越多的,如6詞位標(biāo)記,對于識別長度較大的詞效果越好,但是所需時間復(fù)雜度和空間復(fù)雜度越高;標(biāo)記個數(shù)越少的,時間復(fù)雜度和空間復(fù)雜度較低,但需要設(shè)計更為復(fù)雜的特征模板來提高分詞的準(zhǔn)確率。綜合考慮,本文對詞根的識別選擇了4詞位標(biāo)記集,即B(詞首)、M(詞中)、E(詞尾)和S(單獨(dú)成詞)。
由于詞結(jié)構(gòu)中詞綴有前綴和后綴之分,故本文首先增加三個構(gòu)詞位置: P(前綴)、F(后綴詞首)、G(后綴詞尾)。之所以有后綴詞首和后綴詞尾之分,是因為在所有的后綴中,有些后綴不是單字,而是雙字(無三字和三字以上的后綴,無多于一字的前綴),如主義、階級。故分別用F和G表示二字后綴的首字和尾字。若后綴是單字,則直接用F表示。漢語中的人名是一類特殊的詞,它包括姓和名兩部分。本文對人名作特殊處理,把人名中的姓專門設(shè)定一個詞位N,因此,共增加了四個標(biāo)記,如表2所示。根據(jù)以上分析,句子(a)可以直接表示成如(b)所示的逐字標(biāo)注形式。
表2 增加的標(biāo)記及意義
(a) [游泳隊] [總教練] [陳運(yùn)鵬]赴珀斯觀賽
(b)游/B泳/E隊/F總/P教/B練/E陳/N運(yùn)/B鵬/E赴/S珀/B斯/E觀/B賽/E
對(b)式還原的時候需分兩步進(jìn)行,第一步首先還原所有詞根,以及二字后綴,即將所有是B、M、E、S和G的標(biāo)記還原。如(b)句經(jīng)第一步還原后的結(jié)果如(b’)所示。
(b’)游泳隊/F總/P教練陳/N運(yùn)鵬赴/S珀斯觀賽
第二步對詞綴還原。還原詞綴標(biāo)記時,若標(biāo)記為P,則將該字與其后一個詞結(jié)合成形如“詞→前綴+詞”的結(jié)構(gòu)。若標(biāo)記為F,則將該字與其前一個詞結(jié)合成形如“詞→詞+后綴”的結(jié)構(gòu)(人名的還原如同前綴還原)。例如,在(b’)中,“隊”的標(biāo)記是F,因此將“隊”與其前一個詞“游泳”合并成“[游泳隊]”。還原所有的標(biāo)記后便可得到(a)式結(jié)構(gòu)。但是這樣的標(biāo)記設(shè)置也會出現(xiàn)問題,比如句子(c)。
(c) [林志浩]是[總[工程師]]
(d)林/N志/B浩/E是/S總/P工/B程/E師/F
根據(jù)新增的標(biāo)記集,(c)式的標(biāo)記序列如(d)所示,但還原(d)式時,在進(jìn)行第二步詞綴還原時,對于詞“總工程師”,在前綴“總”和后綴“師”哪個優(yōu)先與“工程”合并的問題上將產(chǎn)生歧義。即(d)式還原的結(jié)果可能是(c)式,也有可能是(g)式。
(g) [林志浩]是[[總工程]師]
對于這種問題,本文將其定義為前后綴優(yōu)先合并歧義,即當(dāng)詞根的左右兩邊同時出現(xiàn)前綴和后綴時,詞根首先應(yīng)該跟前綴結(jié)合還是應(yīng)該先跟后綴結(jié)合就會產(chǎn)生歧義。為了解決這個問題,本文又增加了兩個標(biāo)記: T和H。T也表示前綴標(biāo)記,但此前綴與P的不同點(diǎn)在于T一般與F同時出現(xiàn)在有前后綴優(yōu)先合并歧義的詞中,并且表示后綴優(yōu)先合并。例如增加標(biāo)記“T”后,“總工程師”的標(biāo)記將是“總/T工/B程/E師/F”,此時由于T的優(yōu)先級低于F,“工程”先與“師”合并成“[工程 師]”,再與“總”合并成“[總 [工程 師]]”。H也表示后綴標(biāo)記,但H與F的不同在于H一般與P同時出現(xiàn)在有前后綴優(yōu)先合并歧義的詞中,并表示前綴優(yōu)先合并。例如增加“H”后,“低收入者”的標(biāo)記將是“低/P收/B入/E者/H”,這樣便很容易得到正確的結(jié)構(gòu)“[[低 收入] 者]”。
因此,本文所設(shè)定的標(biāo)記集中,詞根部分采用的是4詞位標(biāo)記,即B、M、E、S;詞綴部分增加了6個標(biāo)記,如表3所示。之所將前綴和后綴分別設(shè)立兩種不同的標(biāo)記,是為了解決前后綴優(yōu)先合并歧義問題。本文規(guī)定P一般與H同時出現(xiàn)在有前后綴優(yōu)先合并歧義的詞中,并且表示前綴優(yōu)先合并;而T一般與F同時出現(xiàn)在有前后綴優(yōu)先合并歧義的詞中,并且表示后綴優(yōu)先合并。例如改用此種標(biāo)記后,對于有前后綴優(yōu)先合并歧義的詞,如圖2中的兩種結(jié)構(gòu),若前綴優(yōu)先合并,則前后綴的標(biāo)記如圖2(a)所示;若后綴優(yōu)先結(jié)合,則前后綴標(biāo)記如圖2(b)所示。
表3 增加的標(biāo)記及意義
圖2 結(jié)構(gòu)標(biāo)記示例
當(dāng)標(biāo)記集確定了之后,可以很方便的運(yùn)用序列標(biāo)注法來實現(xiàn)詞的內(nèi)部結(jié)構(gòu)分析??紤]到CRF在序列標(biāo)注任務(wù)中表現(xiàn)出的優(yōu)越性,故本文采用的分類器為CRF分類器。
本文使用文獻(xiàn)[5]中標(biāo)注的語料,該語料嚴(yán)格按照本文第二節(jié)中有結(jié)構(gòu)詞的范圍界定,對PKU1998年1月的《人民日報》語料中所有含結(jié)構(gòu)的詞進(jìn)行二次標(biāo)注,如圖3所示。
圖3 人工標(biāo)注的語料
在實驗中將已標(biāo)注的PKU語料分成兩部分,分別作為訓(xùn)練語料和測試語料,其規(guī)模如表4所示。
表4 訓(xùn)練語料及測試語料的規(guī)模
與分詞的過程一樣,在進(jìn)行CRF模型訓(xùn)練之前,需對語料中的一些特殊的字符作特殊處理。因為在語料中,時間詞、字母串、數(shù)詞往往都是未登錄詞,而對未登錄詞的識別一直是中文分詞中的難點(diǎn)。若不對語料作任何處理,這些特殊的詞就很容易識別錯誤。為了提高識別準(zhǔn)確率,我們引用“分類泛化”思想來對語料作適當(dāng)?shù)奶幚?,具體方法是將訓(xùn)練語料和測試語料中的4類不同字符分別替換成4個特殊字符。
1. 所有的英文字母,如: a、A、b、B等,都替換成字母“A”;
2. 所有阿拉伯?dāng)?shù)字,如: 1、2、3等,都替換成字母“B”;
3. 所有中文數(shù)字,如: 一、二、三、百、千、萬等,都替換成字母“C”;
4. 所有標(biāo)點(diǎn)符號,如: 。、!、?等,都替換成字母“D”。
保留測試語料中所有被替換的字符,然后用替換后的訓(xùn)練語料來訓(xùn)練CRF模型。當(dāng)測試結(jié)束后,再把測試語料中被替換掉的字符還原成原來的字符。
在使用CRF模型時,特征模板將對CRF模型具有表征意義的上下文特征按照共同屬性分類,它的選擇至關(guān)重要。本文在實驗過程中經(jīng)過多次實驗對比,發(fā)現(xiàn)傳統(tǒng)的5字窗口寬度的特征效果并不理想,采用4字窗口寬度的特征效果較好。因此,本文最終選擇了4字窗口寬度,采用兩組字特征,即當(dāng)前字本身及其前后兩個字構(gòu)成的位置特征,如表5所示。其中,Unigram是單字符特征,Bigram雙字符結(jié)合作為二元組合特征。在特征模板中,指當(dāng)前字符,指當(dāng)前字符的前一個字符,指當(dāng)前字符的下一個字符,以此類推。
表5 CRF詞結(jié)構(gòu)分析特征模板
本文使用文獻(xiàn)[5]中提出的正確率,召回率和F-值作為評測的三個指標(biāo),計算公式分別如下。
利用擴(kuò)展標(biāo)記集來實現(xiàn)詞內(nèi)部結(jié)構(gòu)的自動分析,就是把前后綴視作特殊的詞,通過識別出每一個詞的前后綴來識別詞的內(nèi)部結(jié)構(gòu)。該方法所得到的詞結(jié)構(gòu)分析的最終結(jié)果如表6所示。其中,零層結(jié)構(gòu)考察模型識別無結(jié)構(gòu)的詞和詞結(jié)構(gòu)中的最底層詞的性能;一層結(jié)構(gòu)考察模型識別含有一層結(jié)構(gòu)詞的性能;兩層及兩層以上結(jié)構(gòu)考察模型識別大于等于兩層結(jié)構(gòu)詞的性能。
表6 實驗結(jié)果
從表6中可以看出,采用擴(kuò)展標(biāo)記集實現(xiàn)詞結(jié)構(gòu)分析方法無論是在總體性能上,還是在各層結(jié)構(gòu)的識別上都取得了較高的準(zhǔn)確度。其中總體性能達(dá)到了95.1%,零層結(jié)構(gòu)的性能達(dá)到了95.1%。雖然隨著結(jié)構(gòu)層數(shù)的增加,性能有所下降,但是下降的幅度不是很大。兩層及兩層以上的結(jié)構(gòu)在語料中只占不到11.5%的比例,性能卻達(dá)到了82.2%。高層結(jié)構(gòu)性能下降的主要原因有兩個: 一是訓(xùn)練數(shù)據(jù)較少所導(dǎo)致的稀疏性問題;二是存在某些特殊短語結(jié)構(gòu),系統(tǒng)不能正確的識別。該部分將在后續(xù)5.4節(jié)做詳細(xì)的討論。
分析實驗結(jié)果后發(fā)現(xiàn),采用擴(kuò)展標(biāo)記集實現(xiàn)的詞結(jié)構(gòu)分析能克服文獻(xiàn)[5]中基于層疊CRF模型的詞結(jié)構(gòu)分析結(jié)果中的許多錯誤。例如,本方法的實驗結(jié)果中能正確識別“新華文摘”的正確結(jié)果是“新華文摘”,以及在“一名熱愛海的看海者”中也不會錯誤的把“[熱愛海]”作為詞語結(jié)構(gòu)。但是,對于一些多產(chǎn)的前后綴也有許多無法避免的錯誤。例如在“一副冷眼歧視的面孔”中,系統(tǒng)錯誤的把量詞“副”識別為前綴,即將“[副冷眼]”作為一個結(jié)構(gòu)。此外,某些短語結(jié)構(gòu)無法被本方法識別。例如,“[[書法愛好] 者]”被錯誤的識別為“書法 [愛好者]”,“[人民 [日報]]”被錯誤的識別為“人民 [日報]”。
本文沒有進(jìn)一步給出和SIGHAN比較的實驗結(jié)果,是因為目前的SIGHAN沒有詞結(jié)構(gòu)的分析這一項,若與分詞這一任務(wù)相比,兩者雖都屬于詞法分析,但是任務(wù)定義不同,所以可比性有限。且我們的詞結(jié)構(gòu)分析結(jié)果跟目前最好的分詞結(jié)果相比,雖有所差距,但在同一水平上。我們的下一步工作就是尋找更進(jìn)一步提高詞結(jié)構(gòu)性能的方法。
為了考察語料對實驗結(jié)果的影響,本文設(shè)置了5種不同的語料來考察利用擴(kuò)展標(biāo)記集實現(xiàn)詞結(jié)構(gòu)分析系統(tǒng)的性能。由于目前對詞結(jié)構(gòu)的相關(guān)研究并不多,沒有更多可供使用的公測語料,因此我們的實驗都是在人工標(biāo)注的PKU語料上進(jìn)行。我們把人工標(biāo)注的PKU語料平均分成5份,分別將其中的每1份作為測試語料,剩下的4份作為訓(xùn)練語料,共產(chǎn)生5種不同的測試語料和訓(xùn)練語料。
圖4、5、6、7分別是系統(tǒng)在這五種不同的語料下獲得的詞結(jié)構(gòu)分析的總體性能、零層結(jié)構(gòu)的性能、一層結(jié)構(gòu)性能、兩層及以上結(jié)構(gòu)的性能。每張表的橫縱軸表示的意義相同,其中橫軸表示語料種類,縱軸表示性能值。并且本文從準(zhǔn)確率,召回率和F值三方面來考察系統(tǒng)的性能。
圖4 五種語料下詞結(jié)構(gòu)總體性能
圖5 五種語料下零層結(jié)構(gòu)性能
圖7 五種語料下兩層及以上結(jié)構(gòu)性能
從這4張表中可以看出,雖然不同的語料產(chǎn)生的最終結(jié)果有所差別,但差別較小。詞結(jié)構(gòu)分析的總體性能F值最高是95.8%,最低是95.1%,5個結(jié)果的平均值是95.5%。零層結(jié)構(gòu)的性能F值最高是95.7%,最低是95.1%,5個結(jié)果的平均值是95.5%。一層結(jié)構(gòu)的性能F值最高是92.7%,最低是91.4%,5個結(jié)果的平均值是92.0%。兩層及兩層以上結(jié)構(gòu)的性能F值最高是82.8%,最低是81.0%,5個結(jié)果的平均值是82.1%。從結(jié)果中可看出,系統(tǒng)對于不同的語料,性能差別較小,總體性能較穩(wěn)定。并且對于兩層及兩層以上的結(jié)構(gòu),系統(tǒng)的性能平均F值能達(dá)到82.1%。這說明隨著詞語層次數(shù)的增加,雖然系統(tǒng)識別能力在不斷的降低,但降幅相對較小,系統(tǒng)對高層次的結(jié)構(gòu)具有較高的識別能力。
本文將文獻(xiàn)[5]中基于層疊CRF模型的詞結(jié)構(gòu)分析系統(tǒng)與本文的詞結(jié)構(gòu)分析系統(tǒng)做了比較。所采用的對比數(shù)據(jù)是在5種不同語料下兩個系統(tǒng)所取得的性能平均值,并分別從總體性能F值,零層結(jié)構(gòu)性能F值,一層結(jié)構(gòu)性能F值,兩層及兩層以上結(jié)構(gòu)性能F值4方面做了對比。
表7是兩個系統(tǒng)在5種語料下測試的性能平均值。從表中可看出,利用擴(kuò)展標(biāo)記集實現(xiàn)的詞結(jié)構(gòu)分析系統(tǒng)無論是在總體性能,還是在各層次結(jié)構(gòu)的識別性能上,都比基于層疊CRF模型的詞結(jié)構(gòu)分析系統(tǒng)更優(yōu)秀。其中,總體性能提高了0.8%,零層結(jié)構(gòu)的性能提高0.7%,一層結(jié)構(gòu)的性能提高了1.4%,兩層及兩層以上結(jié)構(gòu)的性能提高了18.8%。由于零層結(jié)構(gòu)相當(dāng)于細(xì)粒度分詞的結(jié)果,因此從零層結(jié)構(gòu)的對比中可以看出,增加了標(biāo)記集后的序列標(biāo)注法實現(xiàn)的細(xì)粒度分詞,相比于四標(biāo)記的細(xì)粒度分詞,性能有所提高,并且基于擴(kuò)展標(biāo)記集實現(xiàn)的詞結(jié)構(gòu)分析對于兩層及兩層以上詞結(jié)構(gòu)的識別性能提升幅度較大。
表7 兩種模型在不同結(jié)構(gòu)層次上的性能對比
雖然運(yùn)用擴(kuò)展標(biāo)記集實現(xiàn)的詞結(jié)構(gòu)分析系統(tǒng)相比于基于層疊CRF模型的詞結(jié)構(gòu)分析系統(tǒng),性能有很大的提高,特別是在識別兩層及兩層以上詞的結(jié)構(gòu),性能提高了18.8%。但是利用擴(kuò)展標(biāo)記集實現(xiàn)詞結(jié)構(gòu)分析時,在理論上仍有兩種結(jié)構(gòu)是不能被系統(tǒng)正確識別的。
第一種是短語結(jié)構(gòu)。雖然本文所分析的是詞的內(nèi)部結(jié)構(gòu),但是一些特殊的短語結(jié)構(gòu)也在本文的分析范圍之內(nèi)。由于這些短語結(jié)構(gòu)與其他詞具有相同的句法功能和語義類別,為了達(dá)到語料標(biāo)注的一致性,本文對這類特殊的短語也做了結(jié)構(gòu)分析。這種短語結(jié)構(gòu)不能表示成“詞→詞根、詞→詞+后綴、詞→前綴+詞”中的任何一個,或者是不能完全表示成這些結(jié)構(gòu),即不滿足上下文無關(guān)文法。例如“身體健康者”的結(jié)構(gòu)“[[身體健康] 者]”。雖然該結(jié)構(gòu)中的外層結(jié)構(gòu)相當(dāng)于“詞→詞+后綴”結(jié)構(gòu),即由詞“身體健康”加后綴“者”構(gòu)成,但是其內(nèi)層的結(jié)構(gòu)卻不同于“詞→詞根、詞→詞+后綴、詞→前綴+詞”中的任何一個。因此在本文的識別結(jié)果中,能識別出“者”是一個后綴,“身體”和“健康”是兩個詞,但卻不能正確的識別整個結(jié)構(gòu)。因為在標(biāo)記還原的時候,系統(tǒng)將“者”與其前一個詞構(gòu)成一層結(jié)構(gòu),所得到的最終結(jié)構(gòu)為“身體 [健康者]”。類似的情況如“大中小學(xué)”的結(jié)構(gòu)“[[大中小] 學(xué)]”,也不能被正確的識別。雖然這類特殊的短語結(jié)構(gòu)在本文中不能被正確的識別,但是由于這類結(jié)構(gòu)的數(shù)量較少(在語料中共有830個,占所有有結(jié)構(gòu)詞總數(shù)的2.6%),故對實驗結(jié)果產(chǎn)生的影響不大。
第二種不能被識別的結(jié)構(gòu)有兩類,如圖8所示。
其中圖8(a)是雙前綴加一個后綴的情況,之所以不能識別,是因為詞根首先與前綴1結(jié)合,再與后綴結(jié)合。根據(jù)我們設(shè)定的標(biāo)記集含義,此時前綴1的標(biāo)記必為P,后綴的標(biāo)記為H;但此時前綴2無論標(biāo)記是P或是T,都會與后綴產(chǎn)生前后綴優(yōu)先合并歧義。圖8(b)表示的是一個前綴加雙后綴的情況。該情況不能識別的原因是如果詞根首先與后綴1結(jié)合再與前綴結(jié)合,那后綴1的標(biāo)記必為F,且前綴的標(biāo)記是T。但此時后綴2無論標(biāo)記是F還是H,都會與前綴產(chǎn)生前后綴優(yōu)先合并歧義。如“古人類學(xué)”、“副部長級”。雖然在理論上這兩種結(jié)構(gòu)的是無法被正確識別的,但是由于在本文標(biāo)注的語料中這兩種結(jié)構(gòu)數(shù)量較少,其中,圖8(a)所示的情況在語料中并未出現(xiàn),圖8(b)所示的情況在所有標(biāo)注的有結(jié)構(gòu)的詞中共有16個,因此對最終的性能影響較小。
圖8 不能處理的結(jié)構(gòu)舉例
本文研究了利用擴(kuò)展標(biāo)記集實現(xiàn)詞內(nèi)部結(jié)構(gòu)的分析。由于本文所分析的詞有97%是結(jié)構(gòu)簡單的詞,并且結(jié)構(gòu)能用上下文無關(guān)文法表示,因此可以把前后綴視作特殊的詞。通過識別出每一個詞的前后綴來識別詞的內(nèi)部結(jié)構(gòu),并且可以很方便的運(yùn)用序列標(biāo)注法來實現(xiàn)。實驗結(jié)果表明,該方法進(jìn)行的詞結(jié)構(gòu)分析在總體性能上相比于基于層疊CRF模型的詞結(jié)構(gòu)分析有顯著的提高。經(jīng)過比較零層結(jié)構(gòu)的準(zhǔn)確率可知,增加了標(biāo)記集后的序列標(biāo)注法對實現(xiàn)細(xì)粒度分詞也有很大程度的性能提高。雖然本系統(tǒng)在理論上有兩類特殊的結(jié)構(gòu)不能被識別,但由于在語料中這兩種結(jié)構(gòu)所占的比例極小,故對系統(tǒng)的最終效果影響較小。
[1] Wu A D. Customizable segmentation of morphologically derived words in Chinese[J]. International Journal
of Computational Linguistics and Chinese Language Processing, 2003, 8(1): 1-27.
[2] Zhao H. Character-level dependencies in Chinese: Usefulness and learning[C]//Proceedings of the 12th Conference of the European Chapter of the Association for Computational Linguistics. Association for Computational Linguistics, 2009: 879-887.
[3] Zhang M S, Zhang Y, Che W, et al. Chinese parsing exploiting characters[C]//Proceedings of 51st Annual Meeting of the Association for Computational Linguistics. 2013.
[4] Li Z G. Parsing the internal structure of words: a new paradigm for Chinese word segmentation[C]//Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies-Volume 1. Association for Computational Linguistics, 2011: 1405-1414.
[5] 方艷, 孫靜, 丁彬,等. 基于層疊CRF模型的詞結(jié)構(gòu)分析[J]. 中文信息學(xué)報,已錄用.
[6] Li S, Huang C. Word Boundary Decision with CRF for Chinese Word Segmentation[C]//Proceedings of PACLIC-2009. 2009:726-732.
[7] Peng F, Feng F, McCallum A. Chinese segmentation and new word detection using conditional random fields[C]//Proceedings of COLING. 2004.
[8] Xue N W, Converse S P. Combining classifiers for Chinese word segmentation[C]//Proceedings of the first SIGHAN workshop on Chinese language processing-Volume 18. Association for Computational Linguistics, 2002: 1-7.
[9] Zhao H, Huang C N, Li M. An improved Chinese word segmentation system with conditional random field[C]//Proceedings of the Fifth SIGHAN Workshop on Chinese Language Processing. Sydney: July, 2006: 108-117.