方 艷,周國(guó)棟
(蘇州大學(xué) 自然語言處理實(shí)驗(yàn)室,江蘇 蘇州 215006;蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006)
?
基于層疊CRF模型的詞結(jié)構(gòu)分析
方 艷,周國(guó)棟
(蘇州大學(xué) 自然語言處理實(shí)驗(yàn)室,江蘇 蘇州 215006;蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006)
傳統(tǒng)的中文分詞就是識(shí)別出每個(gè)詞的邊界,它忽略了漢語中詞與短語分界不清這一特點(diǎn)。在理論上,語言學(xué)家對(duì)詞邊界的確定往往各持己見,各語料庫(kù)的分詞標(biāo)準(zhǔn)不能統(tǒng)一,在實(shí)踐中也不能完全滿足具體應(yīng)用的需求。該文給出了基于層疊CRF模型的詞結(jié)構(gòu)自動(dòng)分析方法,能夠以較高的精確度獲得詞的邊界信息和內(nèi)部結(jié)構(gòu)信息。相比于傳統(tǒng)的分詞,詞的結(jié)構(gòu)分析更加符合漢語詞法與句法邊界模糊的事實(shí),解決了語料庫(kù)標(biāo)準(zhǔn)的不一致性以及應(yīng)用的不同需求。
中文分詞;內(nèi)部結(jié)構(gòu);分詞標(biāo)準(zhǔn);層疊CRF
中文分詞是中文自然語言處理中最基本的一個(gè)步驟,其出發(fā)點(diǎn)是希望漢語的后續(xù)處理過程(如句法和語義分析)跟英語等西方語言基本一致,但漢語中詞與短語間的界限往往難以劃清,這就導(dǎo)致實(shí)踐中人工標(biāo)注的分詞語料存在嚴(yán)重的不一致性,這種不一致性無疑會(huì)制約漢語的后續(xù)處理工作。
分詞語料的不一致性不僅體現(xiàn)在不同語料庫(kù)間分詞標(biāo)準(zhǔn)不同,而且同一語料庫(kù)中的分詞標(biāo)準(zhǔn)也不一致。其主要原因是從認(rèn)知角度來看“詞”的概念本身就是模糊的,因而不同的人對(duì)“詞”的概念有著不同的理解。例如,在PKU語料庫(kù)中,“總教練”被切分為“總”和“教練”兩個(gè)詞,而“總書記”卻是一個(gè)詞。但是,“總教練”和“總書記”都有相同的結(jié)構(gòu),即前綴“總”加名詞構(gòu)成,它們可以表示成具有內(nèi)部結(jié)構(gòu)的標(biāo)注形式: “[總 書記]”和“[總 教練]”。這種結(jié)構(gòu)上的標(biāo)注比起線性分割的詞串,不僅容易取得一致性,而且能夠更加適應(yīng)漢語詞法及句法之間界限模糊的特點(diǎn)。
另一方面,不同的自然語言處理應(yīng)用對(duì)詞的粒度大小也有不同的需求,單一的分詞標(biāo)準(zhǔn)難以滿足各種要求。例如,機(jī)器翻譯通常偏好細(xì)粒度的詞語,而信息抽取等應(yīng)用則需要粗粒度的詞語切分。以人名“江澤民”為例,在機(jī)器翻譯中,需要將人名切分為姓和名以便分別翻譯;而在信息抽取中則關(guān)注整個(gè)人名。如果我們能給出人名的內(nèi)部結(jié)構(gòu)標(biāo)注“[江 澤民]”,那么不同的自然語言處理應(yīng)用系統(tǒng)都可以從中提取所需粒度的語言單位。
由此可見,要解決分詞標(biāo)準(zhǔn)的不一致性以及應(yīng)用的不同需求,一個(gè)有效的方法就是分析詞的內(nèi)部結(jié)構(gòu)。對(duì)詞進(jìn)行結(jié)構(gòu)分析是一種與傳統(tǒng)分詞(加空格)不同的詞法分析選擇,它更加符合漢語詞法及句法邊界模糊的事實(shí),有利于發(fā)揮詞法分析在實(shí)際應(yīng)用中的作用。因此,本文提出了詞內(nèi)部結(jié)構(gòu)的自動(dòng)分析方法。該方法對(duì)于無結(jié)構(gòu)的詞,如“華盛頓”、“葡萄”等,其輸出等同于傳統(tǒng)的分詞輸出,而對(duì)于有結(jié)構(gòu)的詞,輸出的結(jié)果中不僅有詞的邊界信息,還包含詞的內(nèi)部結(jié)構(gòu)信息。
本文第二部分簡(jiǎn)要介紹詞內(nèi)部結(jié)構(gòu)研究的相關(guān)工作;第三部分是任務(wù)定義;第四部分介紹語料的標(biāo)注工作;第五部分詳細(xì)描述基于層疊條件隨機(jī)場(chǎng)(CRF)模型的詞結(jié)構(gòu)分析方法;第六部分對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析與比較;最后是本文的總結(jié)與展望。
目前,自動(dòng)分析詞結(jié)構(gòu)的相關(guān)研究較為匱乏,人們對(duì)分詞的概念還只是停留在識(shí)別出詞的邊界,不過,也有許多研究者已經(jīng)意識(shí)到當(dāng)前分詞研究中存在的不足之處。Zhao[1]指出直到bakeoff-4為止,共有七種中文分詞標(biāo)準(zhǔn)。分詞作為中文語言處理最基礎(chǔ)和關(guān)鍵的步驟,如果沒有統(tǒng)一的標(biāo)準(zhǔn),那必將影響其后續(xù)處理。Dong等[2]指出目前中文分詞的結(jié)果雖然已經(jīng)很好,但其在實(shí)際應(yīng)用中的作用卻沒有大的突破,一個(gè)原因是不同的自然語言處理應(yīng)用對(duì)分詞的要求各不相同,因此需要改變傳統(tǒng)的分詞策略。
針對(duì)分詞研究中存在的問題,許多研究者提出了一些后處理方法來解決分詞標(biāo)準(zhǔn)的不一致性以及各種應(yīng)用的不同需求。Wu[3]認(rèn)為中文分詞不存在統(tǒng)一的標(biāo)準(zhǔn)來滿足所有的語言學(xué)家和各種應(yīng)用的需求,因此,他通過輸出粒度可調(diào)的結(jié)果來滿足不同的應(yīng)用需要。Gao等[4]認(rèn)為中文分詞的有用性關(guān)鍵在于它能適應(yīng)不同領(lǐng)域的文本以及不同分詞標(biāo)準(zhǔn)的能力,并給出了基于轉(zhuǎn)換的方法使特定領(lǐng)域的分詞系統(tǒng)能夠適應(yīng)其它不同的領(lǐng)域。Jiang等[5]針對(duì)不同語料庫(kù)間分詞標(biāo)準(zhǔn)的不同,提出了基于錯(cuò)誤驅(qū)動(dòng)的方法來自動(dòng)轉(zhuǎn)換不同標(biāo)準(zhǔn)間的語料庫(kù)。孟凡東等[6]在Jiang的基礎(chǔ)上進(jìn)行異種語料的融合研究。他們都試圖把各個(gè)不同標(biāo)準(zhǔn)的語料庫(kù)轉(zhuǎn)換成同一標(biāo)準(zhǔn),從而減少人工標(biāo)注的工作量,但是這些工作都屬于識(shí)別詞邊界框架內(nèi)的純工程性質(zhì)的研究,并且通過后處理來自動(dòng)轉(zhuǎn)換分詞標(biāo)準(zhǔn),不僅轉(zhuǎn)換難度比較大,還不能保證足夠精度。
針對(duì)目前的分詞規(guī)范在理論上和實(shí)際運(yùn)用中的不足,Li[7]提出了漢語詞法與句法統(tǒng)一分析的方法,把詞結(jié)構(gòu)的分析融入到普通的成分句法分析中,即在進(jìn)行句法分析的同時(shí)也分析出詞的內(nèi)部結(jié)構(gòu)。在賓州樹庫(kù)上的實(shí)驗(yàn)表明,該方法能有效進(jìn)行詞內(nèi)部結(jié)構(gòu)的分析,標(biāo)準(zhǔn)分詞的性能達(dá)到了97.3%,且句法分析的總體性能也相當(dāng)好。不過,過高的時(shí)間復(fù)雜度和空間復(fù)雜度使句法分析并不適合于處理大規(guī)模的文本,且在某些情況下不需要用到頂層的句法結(jié)構(gòu)。為此,本文將分詞和詞結(jié)構(gòu)分析作為一個(gè)單獨(dú)的任務(wù),提出了基于層疊CRF模型的分詞與詞結(jié)構(gòu)的一體化識(shí)別方法,克服了句法分析的復(fù)雜性,有效提高了分析效率。
本文分析的含結(jié)構(gòu)的詞并非所有的復(fù)合詞,因?yàn)閺淖匀徽Z言處理角度來看,有些復(fù)合詞的結(jié)構(gòu)并不需要分析,例如,“研究”雖為復(fù)合詞,但自然語言處理應(yīng)用系統(tǒng)一般不需要對(duì)其內(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)性的情形,如果該中心成分對(duì)應(yīng)的所有詞構(gòu)成平行的語義類別,則也作為有結(jié)構(gòu)的詞。例如,“洋”字嚴(yán)格意義上不算能產(chǎn),但由它派生的詞(如: 太平洋、北冰洋、大西洋、印度洋)在本文也分析了它們的結(jié)構(gòu),因?yàn)榉治銎浣Y(jié)構(gòu)可以緩解句法分析時(shí)中心詞面臨的稀疏問題。
3. 不具有中心成分的“離心結(jié)構(gòu)”,如果具有能產(chǎn)性并且產(chǎn)生的詞句法功能一致,也是本文所指的有結(jié)構(gòu)的詞。例如,“反革命”中的兩個(gè)成分“反”和“革命”都不是整個(gè)詞的中心成分,但由于“反+名詞”這種結(jié)構(gòu)具有能產(chǎn)性(反貪,反帝,反華,反浪費(fèi),反盜版等),本文仍將其作為有結(jié)構(gòu)的詞。
4. 漢語的人名是一類特殊的含結(jié)構(gòu)的詞,每個(gè)人名都包含姓與名,故本文對(duì)漢語人名的結(jié)構(gòu)也作了分析。
本文將詞結(jié)構(gòu)(除人名外)中能產(chǎn)的部分(以及第二種情況下的中心成分)稱為前綴或后綴(不同于語言學(xué)上的前后綴)。本文的前后綴不僅限于單個(gè)漢字,也可能是多個(gè)漢字,例如,主義,階級(jí)。詞的結(jié)構(gòu)可能是一層,也有可能是多層的,如 “總工程師”具有兩層結(jié)構(gòu)(圖1),本文用方括號(hào)表明了詞的內(nèi)部結(jié)構(gòu),一層括號(hào)表示一層詞的結(jié)構(gòu),即圖1的結(jié)構(gòu)表示為“[總 [工程 師]]”。表1列出了具有不同形式的詞結(jié)構(gòu),從中可以看出,漢語中詞的內(nèi)部結(jié)構(gòu)紛繁復(fù)雜。
圖1 “總工程師”的結(jié)構(gòu)
人 名[江澤民],[蘭紅光],[王元]前綴序數(shù)詞[第一],[第三十五],[第108]代詞[本鎮(zhèn)],[各族],[該校]名詞[副教授],[軟組織],[代總理]動(dòng)詞[超額],[抗旱],[反黨]形容詞[不景氣],[最高],[易燃]后綴地名[黑龍江省],[鎮(zhèn)江市],[加利福尼亞州]時(shí)間[一九一四年],[十一月],[清朝]名詞[支持者],[實(shí)習(xí)生],[收割機(jī)]動(dòng)詞[信息化],[沖走],[闖入]處所詞[湖邊],[門前],[校內(nèi)]多層結(jié)構(gòu)[總[工程師]],[[古[人類]]學(xué)],[[北京市]人],[[[無政府]主義]者]
本文中詞結(jié)構(gòu)自動(dòng)分析的任務(wù)不僅(以空格)分隔出一個(gè)句子中的詞,而且給出詞的內(nèi)部結(jié)構(gòu),并且這種結(jié)構(gòu)可能是嵌套的。如在下列句子中:
1. 林志浩是總工程師
2. 林志浩 是 總工程師
3. 林 志浩 是 總 工程師
4. [林 志浩] 是 [總 [工程 師]]
其中句1是未經(jīng)分詞的原始句子,句2和句3是兩種不同的分詞結(jié)果。顯然,就分詞的顆粒度而言,句2和句3是不同的。句4是本文的詞結(jié)構(gòu)分析所要輸出的結(jié)果,它不僅包含了各種可能的分詞情況,而且用方括號(hào)表明了詞的內(nèi)部結(jié)構(gòu),由此可見,詞結(jié)構(gòu)分析符合了漢語中詞與短語界限不清的特點(diǎn),并且該種詞法分析可以很好地兼容不同的分詞標(biāo)準(zhǔn),不同的應(yīng)用可以根據(jù)需要提取不同粒度的詞,克服了目前分詞中所存在的問題。
為了便于語料的共享及降低標(biāo)注成本,本文采用PKU1998年1月《人民日?qǐng)?bào)》作為語料的來源。PKU只考慮了詞的邊界信息,因此需要對(duì)其再進(jìn)行人工處理。其基本思路是對(duì)所有含前綴或后綴的復(fù)合詞重新進(jìn)行人工標(biāo)注。
雖然漢語中詞的內(nèi)部結(jié)構(gòu)紛繁復(fù)雜,幸運(yùn)的是,一個(gè)詞是否具有內(nèi)部結(jié)構(gòu)一般不依賴于上下文,因此在標(biāo)注的時(shí)候每個(gè)詞只需要標(biāo)注一次,而不需要在不同的上下文中單獨(dú)標(biāo)注,這大大減輕了標(biāo)注的工作量。標(biāo)注的過程分為四步。
1. 提取漢語人名: 漢語的人名作為一類特殊的含結(jié)構(gòu)的詞需另外處理。從帶有詞性標(biāo)記的語料中提取所有漢語人名,標(biāo)注它們的結(jié)構(gòu)信息。
2. 提取前后綴: 首先提取語料中所有出現(xiàn)過的詞,然后將長(zhǎng)度大于或等于兩個(gè)漢字的詞分別按照每個(gè)詞中的第一個(gè)漢字和最后一個(gè)漢字進(jìn)行歸類,根據(jù)有結(jié)構(gòu)詞的定界從每一類中提取前綴或后綴。
3. 提取未被切分的結(jié)構(gòu): 在確定了前后綴集合之后,逐一檢查語料中所有由前綴和后綴派生出來的復(fù)合詞,標(biāo)注它們的結(jié)構(gòu)信息。
4. 提取被切分的結(jié)構(gòu): 把語料中所有獨(dú)立成詞的前后綴連同其上下文(前后各三個(gè)詞)一起提取出來,逐一人工檢查,重新標(biāo)注所需的結(jié)構(gòu)信息。這樣做的目的是語料庫(kù)中存在著前綴或后綴獨(dú)立成詞的情況,例如,在PKU語料中“總教練”已經(jīng)被分成兩個(gè)詞“總”和“教練”, 但是“總書記”卻是一個(gè)詞。
經(jīng)過上述標(biāo)注之后,統(tǒng)計(jì)表明語料中所有出現(xiàn)過的詞共有55 303個(gè),提取的前綴有114個(gè),后綴503個(gè),含有結(jié)構(gòu)的詞占總詞數(shù)的56.8%。表2列出了語料庫(kù)中按結(jié)構(gòu)層次劃分的詞結(jié)構(gòu)的統(tǒng)計(jì)情況,由表2可知,含有結(jié)構(gòu)的詞中約88%只有一層結(jié)構(gòu),三層及以上結(jié)構(gòu)的詞非常少。另外,人名中的兩層結(jié)構(gòu)指漢語中妻子姓名前加丈夫姓的情況,如“陳方安生”的結(jié)構(gòu)“[[陳 [方 安生]]”。
表2 各層次結(jié)構(gòu)詞的個(gè)數(shù)
①未切分的結(jié)構(gòu)指原PKU語料中作為一個(gè)詞單獨(dú)出現(xiàn),但在本文中需分析其結(jié)構(gòu)的詞,即標(biāo)注過程中第三步提取的詞。
②已切分的結(jié)構(gòu)指原PKU語料中作為多個(gè)詞出現(xiàn),但在本文中需將其作為一個(gè)整體,并給出結(jié)構(gòu)。這類詞即標(biāo)注過程中第四步提取的詞。
作為解決序列標(biāo)注問題的有效方法,CRF模型在自然語言處理的各個(gè)領(lǐng)域都得到了廣泛的應(yīng)用,在分詞方面也取得了較好的性能[8]。由于詞結(jié)構(gòu)的嵌套性,單一的CRF模型顯然無法滿足詞結(jié)構(gòu)分析的需求,因此本文提出了基于層疊CRF模型的詞結(jié)構(gòu)分析方法,其整體框架如圖2所示。整個(gè)系統(tǒng)包含訓(xùn)練和測(cè)試兩個(gè)部分,采用兩個(gè)子模型,即底層模型和高層模型分別實(shí)現(xiàn)細(xì)粒度分詞和詞結(jié)構(gòu)分析。訓(xùn)練時(shí),通過提取不同的特征產(chǎn)生兩個(gè)不同的CRF模型;而測(cè)試時(shí),底層模型首先對(duì)未切分的漢字序列進(jìn)行細(xì)粒度分詞,然后,高層模型將細(xì)粒度分詞后的序列進(jìn)行逐層次的結(jié)構(gòu)分析,一次結(jié)構(gòu)分析得出一層詞的結(jié)構(gòu),直到所有的結(jié)構(gòu)都被識(shí)別出來為止。
圖2 基于層疊CRF模型的詞結(jié)構(gòu)分析流程圖
5.1 底層模型: 細(xì)粒度分詞
在識(shí)別詞的內(nèi)部結(jié)構(gòu)之前,首先需要對(duì)語料進(jìn)行細(xì)粒度分詞。細(xì)粒度分詞是一個(gè)標(biāo)準(zhǔn)的分詞過程,只不過其中所有詞的前后綴都作為一個(gè)單獨(dú)的詞。CRF模型能夠很好地解決分詞的序列化標(biāo)注問題,本文采用的標(biāo)記集為{B、M、E、S},分別表示詞首、詞中、詞尾和單獨(dú)成詞。由于人工標(biāo)注的語料存在詞的結(jié)構(gòu)信息,它們對(duì)細(xì)粒度分詞是沒有意義的,因此在提取分詞特征時(shí),首先要去除這些結(jié)構(gòu)信息,也就是將所有的前后綴都獨(dú)立成詞。
表3是底層CRF模型所用的分詞特征模板,其中Unigram是一元字符特征;Bigram(即二元特征)是相鄰兩個(gè)字符相結(jié)合產(chǎn)生的特征;Trigram(即三元特征)是當(dāng)前字符與前后相鄰的兩個(gè)字符結(jié)合所
產(chǎn)生的特征。在該模板中,C0指當(dāng)前字符,C-1指當(dāng)前字符的前一個(gè)字符,C1指當(dāng)前字符的下一個(gè)字符,以此類推。
表3 底層模型的分詞特征模板
在訓(xùn)練之前,需對(duì)語料作預(yù)處理。具體方法是: 將訓(xùn)練語料和測(cè)試語料中的四類不同字符分別替換成四個(gè)特殊字符,如將語料中所有的英文字母替換成‘A’,將阿拉伯?dāng)?shù)字替換成‘B’,將中文數(shù)字替換成‘C’,將標(biāo)點(diǎn)符號(hào)替換成‘D’。然后用替換后的語料訓(xùn)練CRF模型,當(dāng)測(cè)試結(jié)束后,再把測(cè)試語料中被替換掉的字符還原成原來的字符。
5.2 高層模型: 結(jié)構(gòu)分析
經(jīng)細(xì)粒度分詞后的詞序列,繼續(xù)使用高層CRF模型來識(shí)別詞的結(jié)構(gòu)。本文采用單一的高層模型,在結(jié)構(gòu)識(shí)別時(shí)分層次調(diào)用該模型,一次分析識(shí)別一層詞的結(jié)構(gòu)。結(jié)構(gòu)的識(shí)別問題仍然作為一個(gè)序列化標(biāo)注問題。此時(shí),高層模型所使用的標(biāo)記集合為{B,I,O},其中B表示一個(gè)結(jié)構(gòu)的開始,I表示一個(gè)結(jié)構(gòu)的中間,O表示結(jié)構(gòu)之外(Tsuruoka等[9])。
高層模型的訓(xùn)練需要提取原人工標(biāo)注語料中的結(jié)構(gòu)信息作為特征。對(duì)于一個(gè)人工標(biāo)注語料中的句子,需分層次提取語料中的結(jié)構(gòu)。如果句中詞結(jié)構(gòu)的最高層次為N,那么該句需提取N次的結(jié)構(gòu)特征,每次提取一層結(jié)構(gòu),最后將所有層次的特征加入到CRF訓(xùn)練器中產(chǎn)生高層模型。以“[林 志浩] 是 [總 [工程 師]]”為例,由于“[總 [工程 師]]”的結(jié)構(gòu)為兩層,且是該句中層次數(shù)最高的詞,因此需要提取訓(xùn)練特征兩次。第一次提取特征的樣本為“[林 志浩] 是 總 [工程 師]”,第二次提取特征的樣本為“林志浩 是 [總 工程師]”。
與高層模型的訓(xùn)練有所不同,應(yīng)用高層CRF模型進(jìn)行詞結(jié)構(gòu)分析時(shí),無法一次識(shí)別出所有層次的結(jié)構(gòu),而是一次分析過程只在當(dāng)前層次的結(jié)構(gòu)序列基礎(chǔ)上識(shí)別出上一層詞的結(jié)構(gòu)。因此,每一次分析結(jié)束后,都將從當(dāng)前的結(jié)構(gòu)序列中重新提取新的結(jié)構(gòu)特征進(jìn)入下一次分析,如此反復(fù),直到無法識(shí)別出新的結(jié)構(gòu)為止,把最終識(shí)別出的結(jié)構(gòu)作為詞結(jié)構(gòu)分析的輸出。仍以漢字序列“林志浩是總工程師”為例,圖3給出了整個(gè)分析過程。圖3(a)所示的初始狀態(tài)是原語料進(jìn)行細(xì)粒度分詞的結(jié)果,該狀態(tài)是結(jié)構(gòu)分析的最底層。調(diào)用高層模型進(jìn)行第一次結(jié)構(gòu)分析后,識(shí)別出了兩個(gè)包含結(jié)構(gòu)的詞,即“[林 志浩]”和“[工程 師]”,如圖3(b)所示。接下來再將這兩個(gè)包含結(jié)構(gòu)的詞作為一個(gè)整體重新加入到序列中繼續(xù)進(jìn)行結(jié)構(gòu)分析。第二次結(jié)構(gòu)分析后,模型分析器又識(shí)別出新的結(jié)構(gòu)“[總 [工 程師]]”,如圖3(c)所示,再把這個(gè)結(jié)構(gòu)作為一個(gè)整體加入到序列中進(jìn)行分析。當(dāng)輸出序列中已不存在新的結(jié)構(gòu)時(shí),分析結(jié)束。
圖3 分析過程
表4是高層CRF模型在進(jìn)行詞結(jié)構(gòu)分析時(shí)所用的特征模板,它與底層模型的特征模板不同之處在于此時(shí)的特征單元是詞,而非字。具體而言Unigram是單個(gè)詞作為特征,Bigram是相鄰兩個(gè)詞結(jié)合產(chǎn)生的特征,Trigram是當(dāng)前詞與前后相鄰的兩個(gè)詞結(jié)合產(chǎn)生的特征,W0指當(dāng)前詞,W-1指當(dāng)前詞的前一個(gè)詞,W1指當(dāng)前詞的下一個(gè)詞,以此類推。
表4 高層模型的特征模板
另外,為了體現(xiàn)序列的結(jié)構(gòu)性,高層模型加入了Daughter特征,表示一個(gè)包含結(jié)構(gòu)的詞所擁有的子結(jié)點(diǎn)信息,其中D0、D1和D2分別表示它的子結(jié)點(diǎn)序列。例如“[總 [工程 師]]”這個(gè)結(jié)構(gòu)的Daughter特征就是D0=總、D1=工程、D2=師。
本文實(shí)驗(yàn)中將已標(biāo)注的PKU語料分成兩部分,分別作為訓(xùn)練語料和測(cè)試語料,其規(guī)模如表5所示。
表5 訓(xùn)練語料及測(cè)試語料的規(guī)模
6.1 評(píng)測(cè)標(biāo)準(zhǔn)
目前,還沒有在PKU語料上進(jìn)行詞內(nèi)部結(jié)構(gòu)分析的相關(guān)研究,因此沒有一個(gè)基準(zhǔn)系統(tǒng)可以參考。本文采用的評(píng)測(cè)方法借鑒了句法分析的評(píng)測(cè)方法PARSEEVAL[10],采用正確率,召回率和F-值作為評(píng)測(cè)的三個(gè)指標(biāo),計(jì)算公式分別如式(1)~(3)所示。
正確率(Precision)=
(1)
召回率(Recall)=
(2)
(3)
評(píng)測(cè)時(shí),將分析結(jié)果中的所有節(jié)點(diǎn)表示成如下標(biāo)記格式: X-(起始位置: 終止位置)。其中X可以是無結(jié)構(gòu)的終節(jié)點(diǎn),也可以有結(jié)構(gòu)的非終節(jié)點(diǎn);(起始位置: 終止位置)為該節(jié)點(diǎn)的跨越范圍。與句法分析評(píng)測(cè)不同的是,詞結(jié)構(gòu)評(píng)測(cè)的對(duì)象不是一棵完整的樹,而是包含內(nèi)部結(jié)構(gòu)的分詞結(jié)果,并且沒有各種句法標(biāo)記,其終節(jié)點(diǎn)與非終節(jié)點(diǎn)都是詞。
6.2 實(shí)驗(yàn)結(jié)果及分析
本文首先進(jìn)行細(xì)粒度分詞,再將分詞后的序列進(jìn)行結(jié)構(gòu)分析,因此分詞結(jié)果的好壞直接影響結(jié)構(gòu)分析的最終結(jié)果。為了考察分詞對(duì)結(jié)構(gòu)分析的影響,分別進(jìn)行了自動(dòng)分詞下和標(biāo)準(zhǔn)分詞下的詞結(jié)構(gòu)分析實(shí)驗(yàn)。
6.2.1 自動(dòng)分詞下的性能
表6是進(jìn)行自動(dòng)分詞后再進(jìn)行結(jié)構(gòu)分析的實(shí)驗(yàn)結(jié)果。其中,零層結(jié)構(gòu)考察無結(jié)構(gòu)的詞以及詞結(jié)構(gòu)中的最底層的詞,即細(xì)粒度分詞的性能;一層結(jié)構(gòu)考察含有一層結(jié)構(gòu)的詞,由表2可知,大部分含結(jié)構(gòu)的詞都屬于此類(約占88%),而兩層及以上層次結(jié)構(gòu)較少(約占12%)。
從表6中可以看出,采用層疊CRF模型的詞結(jié)構(gòu)分析方法取得了較好的總體性能,達(dá)到了實(shí)用水平,其中細(xì)粒度分詞的性能為94.7%。當(dāng)然,隨著結(jié)構(gòu)層數(shù)的增加,性能有所下降,特別是對(duì)于兩層及以上結(jié)構(gòu),性能F值大幅度下降。其主要原因有兩個(gè)方面: 一是高層結(jié)構(gòu)的訓(xùn)練數(shù)據(jù)較少,導(dǎo)致稀疏性問題;二是錯(cuò)誤的傳遞性,底層結(jié)構(gòu)的錯(cuò)誤識(shí)別直接導(dǎo)致高層結(jié)構(gòu)的錯(cuò)誤識(shí)別。
表6 自動(dòng)分詞下的詞結(jié)構(gòu)分析性能
通過對(duì)測(cè)試結(jié)果的分析,詞結(jié)構(gòu)分析的錯(cuò)誤除了詞邊界的錯(cuò)誤識(shí)別外,還有許多結(jié)構(gòu)的錯(cuò)誤識(shí)別也是由于詞邊界的錯(cuò)誤切分而產(chǎn)生的。例如,“新華文摘”錯(cuò)誤切分為“新華 文 摘”,導(dǎo)致結(jié)構(gòu)分析時(shí)識(shí)別為“[新華 文] 摘”;地名“石河子”錯(cuò)誤切分為“石 河 子”,導(dǎo)致錯(cuò)誤的分析結(jié)構(gòu)“[[石 河] 子]”。
6.2.2 標(biāo)準(zhǔn)分詞下的性能
表7是在標(biāo)準(zhǔn)分詞的情況下進(jìn)行結(jié)構(gòu)分析的實(shí)驗(yàn)結(jié)果。和表6中的數(shù)據(jù)相比,一層結(jié)構(gòu)的F值提高了5.6,兩層及以上結(jié)構(gòu)的F值也提高了6.4,這說明分詞的性能對(duì)詞結(jié)構(gòu)的分析相當(dāng)重要。另外,從表中可以看出,盡管兩層及以上層次結(jié)構(gòu)詞的識(shí)別準(zhǔn)確率還不到70%, 但由于在測(cè)試集中這類詞的出現(xiàn)次數(shù)較少,因此詞結(jié)構(gòu)分析的總體性能相當(dāng)高。
表7 標(biāo)準(zhǔn)分詞下的詞結(jié)構(gòu)分析性能
通過對(duì)測(cè)試結(jié)果的錯(cuò)誤分析發(fā)現(xiàn),一些能產(chǎn)的前后綴容易生成錯(cuò)誤的結(jié)構(gòu)。例如,“志愿 者 進(jìn) 社區(qū)”經(jīng)結(jié)構(gòu)分析后的結(jié)果為“[[志愿 者] 進(jìn)] 社區(qū)”,“一 名 熱愛 海 的 看海 者”經(jīng)結(jié)構(gòu)分詞的結(jié)果為“一 名 [熱愛 海] 的 [看海 者]”。
6.2.3 與其他系統(tǒng)的比較
本文將Zhang等[11]基于字符的句法分析模型中的詞結(jié)構(gòu)分析的結(jié)果與本文模型的結(jié)果做了比較,如表8所示。從表中可看出,我們的模型與Zhang的模型在詞結(jié)構(gòu)分析的性能上基本相同。但Zhang采用的是字符級(jí)的詞結(jié)構(gòu),且所使用的語料庫(kù)領(lǐng)域及規(guī)模都與本文不同,故對(duì)結(jié)果的可比性有較大的制約。
表8 本文模型與Zhang的對(duì)比
盡管沒有相同的研究可以直接比較,我們?nèi)詫⒓?xì)粒度分詞的性能同目前最好的系統(tǒng)進(jìn)行了比較。表9列出這些系統(tǒng)所使用的語料類型,語料規(guī)模和性能等。當(dāng)然,由于語料庫(kù)領(lǐng)域和規(guī)模不同,訓(xùn)練集和測(cè)試集不同,這些比較僅供參考。
表9 不同分詞系統(tǒng)的性能比較
從表9中可以看出,本文的分詞性能雖然低于目前的最好成績(jī)(97%左右),但基本上是在同一水平上,且本文的重點(diǎn)在于探索有效的詞結(jié)構(gòu)分析方法,如層疊CRF模型在PKU語料上的訓(xùn)練時(shí)間約為40分鐘(處理器: Intel Pentium CPU;主頻: 2.20GHz;內(nèi)存: 8G)。下一步要做的工作是如何進(jìn)一步提高分詞性能從而提高詞結(jié)構(gòu)分析的總體性能。
詞與短語的界限往往難以分清,但這并不妨礙人們對(duì)語言的理解,同樣計(jì)算機(jī)也不必給詞與短語設(shè)定一個(gè)界限,只要能夠正確給出所有語言單位的結(jié)構(gòu),有利于后續(xù)應(yīng)用系統(tǒng)的處理和使用即可。本文從漢語所固有的特點(diǎn)出發(fā),對(duì)詞的內(nèi)部結(jié)構(gòu)進(jìn)行了分析,給出了一種與傳統(tǒng)分詞不同的詞法分析選擇,它更加適應(yīng)漢語詞法及句法分析階段的特點(diǎn),同時(shí)解決了語料庫(kù)分詞標(biāo)準(zhǔn)的不一致性以及不同的應(yīng)用需求。本文提出了基于層疊CRF模型的詞結(jié)構(gòu)識(shí)別方法,該方法首先進(jìn)行細(xì)粒度分詞,再將分詞后的序列進(jìn)行分層結(jié)構(gòu)分析。實(shí)驗(yàn)結(jié)果表明,該方法取得了令人滿意的效果。接下來,我們將進(jìn)一步探究高層模型和底層模型的特征設(shè)計(jì),以及挖掘更多的語料知識(shí)來提高詞結(jié)構(gòu)分析的總體性能。
[1] Hai Zhao. Character-level dependencies in Chinese: Usefulness and learning[C]//Proceedings of the 12th Conference of the European Chapter of the ACL(EACL 2009). 2009:879-887.
[2] Zhengdong Dong, Qiang Dong, Changling Hao. Word segmentation needs change-from a linguist’s view[C]//Proceedings of CIPS-SIGHAN Joint Conference on Chinese Language Processing. 2010:1-7.
[3] Andi Wu. Customizable segmentation of morphologically derived words in Chinese[C]//Computational Linguistics and Chinese language processing. 2003,8(1):1-27.
[4] Jianfeng Gao, Andi Wu, Mu Li Chang-Ning Huang, et al. Adaptive Chinese word segmentation[C]//Processings of the 42nd Annual Meeting on Association for Computational Linguistics. 2004:62-469.
[5] Wenbin Jiang, Liang Huang, Qun Liu. Automatic adaptation of annotation standards: Chinese word segmentation and POS tagging-a case study[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: 522-530.
[6] 孟凡東, 徐金安, 姜文斌, 等. 異種語料融合方法: 基于統(tǒng)計(jì)的中文詞法分析應(yīng)用[J]. 中文信息學(xué)報(bào),2012, 26(2): 3-7.
[7] Zhongguo Li. Parsing the Internal Structure of Words: A new paradigm for Chinese word segmentation[C]//Proceedings of the 49th Annual Meeting of the Association of Computational Linguistics. 2011:1405-1414.
[8] Hai Zhao, Changning Huang, Mu Li. An improved Chinese word segmentation system with conditional random field[C]//Proceedings of the Fifth SIGHAN Workshop on Chinese Language Processing. 2006: 162-165.
[9] Yoshimasa Tsuruoka, Jun’ichi Tsujii, Sophia Ananiadou. Fast full parsing by linear_chain conditional random fields[C]//Proceedings of the 12th Conference of the European Chapter of the ACL. 2009:790-798.
[10] S Abney, S Flicknger, C Gdaniec, et al. Procedure for quantitatively comparing the syntactic coverage of English grammars [C]//Proceedings of the workshop on Speech and Natural Language, Association for Computational Linguistics. 1991: 306-311.
[11] Meishan Zhang, Yue Zhang, Wanxiang Che, et al. Chinese Parsing Exploiting Characters [C]//Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics. 2013:125-134.
[12] 張梅山,鄧知龍,車萬翔,等. 統(tǒng)計(jì)與字典相結(jié)合的領(lǐng)域自適應(yīng)中文分詞[J]. 中文信息學(xué)報(bào). 2012, 26(2): 8-12.
[13] Qian Xian, Yang Liu. Joint Chinese word segmentation, POS tagging and parsing[C]//Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Association for Computational Linguistics. 2012:501-511.
Word Structure Analysis Based on Cascaded CRFs
FANG Yan,ZHOU Guodong
(Natural Language Processing Lab, Soochow University, Suzhou, Jiangsu 215006, China;School of Computer Science & Technology, Soochow University, Suzhou, Jiangsu 215006, China)
Traditional research in Chinese word segmentation focuses on identifying word boundaries, without considering the ambiguity of boundaries between Chinese words and phrases. In theory, linguists stick to their own view of word boundaries such that no uniform standard exists in Chinese word segmentation, and in practice, the corpus of various guidelines cannot bring satisfactory reusltsto wide applications. In this paper, we present a model based on cascaded CRF models to automatically parse internal structures of words, deciding both word boundaries and internal structures simultaneously with high precision. Compared with the traditional word segmentation methods, analyzing the structure of words is more consistent with the fact of fuzzy boundaries between Chinese lexical and syntactic units, solving the problem of inconsistent corpus standards and meeting different application requirements.
Chinese word segmentation;internal structure;annotation standard;cascaded CRFs
方艷(1989—),碩士,主要研究領(lǐng)域?yàn)樽匀徽Z言處理。E-mail:yfangyan@yeah.net周國(guó)棟(1967—),博士,教授,主要研究領(lǐng)域?yàn)樽匀徽Z言處理、信息抽取。E-mail:gdzhou@suda.edu.cn
1003-0077(2015)04-0001-07
2013-08-20 定稿日期: 2013-10-30
自然科學(xué)基金青年項(xiàng)目(61202162),教育部博士點(diǎn)基金新教師類課題(20123201120011)
TP391
A