高廷麗, 陶建華, 戴紅亮,李 雅
(1. 中國科學(xué)院 自動化研究所 模式識別國家重點(diǎn)實(shí)驗(yàn)室,北京 100190; 2. 教育部語言文字應(yīng)用研究所,北京 100010)
隨著計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)技術(shù)的發(fā)展,積累了大規(guī)模的中文語言資源,為中文分詞、文本分類、輸入法等中文信息處理技術(shù)提供了良好的研究基礎(chǔ)。目前,中文分詞技術(shù)已經(jīng)非常成熟,準(zhǔn)確率和召回率達(dá)到了較高水平。西雙版納傣文作為一種少數(shù)民族語言文字,與中文有較大差別,目前雖然有部分傣文語料,但都沒有經(jīng)過加工處理,無法用于后續(xù)研究開發(fā)。受限于語料庫技術(shù),傣文的自然語言處理技術(shù)也較為薄弱,目前還沒有較好的傣文分詞系統(tǒng)。本文的工作主要有兩部分: 一是建立一個能用于后續(xù)傣文信息處理的傣文語料庫;二是充分結(jié)合傣文自身特點(diǎn),將中文分詞方法應(yīng)用到傣文中,研制一個高性能的傣文分詞系統(tǒng),為傣文信息處理提供基礎(chǔ)。
傣族有五種不同形體的文字,即西雙版納傣文(也稱傣泐文或經(jīng)典傣文)、德宏傣文(也稱傣那文)、傣繃文、金平傣文、新平傣文。其中西雙版納傣文和德宏傣文使用廣泛,留下了大量文獻(xiàn),傣繃文也留有少量文獻(xiàn),金平傣文和新平傣文文獻(xiàn)較罕見。
西雙版納傣文當(dāng)?shù)卮稣Z稱為“多泐ki VAh”,ki為“文字”的意思,VAh為西雙版納傣族自稱,意為傣泐人使用的文字。但在泰國、緬甸北部和老撾以及我國其他傣族地區(qū)則多稱西雙版納傣文為“多塔姆ki OF”,OF意為佛經(jīng),連起來就是佛經(jīng)文字。傣文源于印度的婆羅米字母,是隨著小乘佛教的傳播進(jìn)入傣族地區(qū)的。婆羅米字母在演變過程中分成三個大的子系統(tǒng),其中阿薩姆文、他加祿文、那加利文、天成體梵文字母和藏文與梵文較為接近,其他文字分成南北兩系,南系文字主要有泰米爾文,爪哇文等,北系文字是巴利文文字及其衍生文字(主要包括緬甸文、僧伽羅文、波羅馬特文、高棉文、泰國文、老撾文以及我國的傣文)。西雙版納傣文有新老傣文之別。老傣泐文的組合結(jié)構(gòu)比較復(fù)雜,一般是輔音字母居中,頂格書寫,元音字母或韻母符號以及聲調(diào)符號分布于輔音字母的上下左右,多數(shù)字詞以輔音為中心單向或雙向向外擴(kuò)散,有的字詞以輔音為中心向四周擴(kuò)散。有時前一字母和后一字母又交叉組合,環(huán)環(huán)相扣。1954年,西雙版納通過了“西雙版納傣文改進(jìn)方案”,在繼承了老傣文字形和聲母分高低音組的基礎(chǔ)上,對老傣文作了以下改進(jìn)。
1) 以西雙版納傣族自治州政府所在地景洪語音為標(biāo)準(zhǔn)音,依據(jù)語音實(shí)際情況,增添了老傣泐文沒有的輔音字母;
2) 依據(jù)一聲母、一韻母、一聲調(diào)一種寫法的原則,選擇老傣文中使用頻率高的字母作為聲母書寫形式,改變了大部分元音和韻尾的寫法,重新規(guī)定了聲調(diào)的寫法;
3) 改變了老傣泐文以聲母為核心的書寫形態(tài),將傣文聲韻母線性化。
傣語屬于漢藏語系壯侗語組壯傣語支,是一種有聲調(diào)的單音節(jié)文字,音節(jié)類型與漢語相近,傣語一個詞通常由一個或多個音節(jié)組成,因此傣文在信息處理時,也需要像漢語一樣進(jìn)行分詞。
隨著少數(shù)民族語言信息化的發(fā)展,少數(shù)民族信息化已由字處理向語言處理轉(zhuǎn)變,我國少數(shù)民族語言中,蒙、藏、維吾爾、朝鮮以及彝語等有傳統(tǒng)文字的民族都建立了語料庫。2009年10月,西雙版納傣族自治州建立了第一個西雙版納傣文網(wǎng)站,該網(wǎng)站是一個多語網(wǎng)站,包括新傣文、老傣文、漢文、英文和泰文。主要包括十二個方面內(nèi)容: 貝葉文化、傣鄉(xiāng)資訊、東盟之窗、科技動態(tài)、旅游資訊、民族宗教、農(nóng)業(yè)之窗、社會論壇、社會新聞、生活常識、文化生活、重要新聞?;竞w了傣族社會生活的方方面面。其中貝葉文化、傣鄉(xiāng)資訊、農(nóng)業(yè)之窗、重要新聞、民族宗教五個板塊占語料量的70%左右。西雙版納網(wǎng)站的開通,使傣族語言信息化成為可能。
從西雙版納傣語網(wǎng)站下載傣文語料,語料庫中記錄了傣語文本的ID編號、網(wǎng)址、所屬欄目、標(biāo)題、發(fā)布時間、作者、內(nèi)容、出處、版面等信息。從2009年9月到2011年10月的文本,總計(jì)727 923個音節(jié)。
由于傣文是一種拼音文字,音節(jié)與音節(jié)之間以空格分隔,從網(wǎng)站上下載到的很多文章中,音節(jié)之間有些出現(xiàn)多個空格,有些沒有空格,還有些構(gòu)成一個音節(jié)的字符之間出現(xiàn)了換行情況,有些文章中還夾雜著不少html標(biāo)記。因此,在進(jìn)行傣文分詞之前,必須先對文本進(jìn)行預(yù)處理。基于傣文的特點(diǎn),總結(jié)了以下六條規(guī)則,對語料進(jìn)行了很好的預(yù)處理。
經(jīng)過預(yù)處理后,首先對其中約30萬音節(jié)進(jìn)行人工標(biāo)注,形成一個訓(xùn)練語料,并從中提取了一個 8 000多詞語的詞表,然后使用基于詞表的方法對傣文語料進(jìn)行分詞,利用詞表進(jìn)行分詞的結(jié)果見表1。
表1 基于詞表的分詞結(jié)果
然后對全部切分結(jié)果進(jìn)行人工校對(727 923個音節(jié)),得到1 744篇質(zhì)量較高的訓(xùn)練語料和測試語料,供給CRF模型,最終開發(fā)了一個基于音節(jié)標(biāo)注的傣文分詞系統(tǒng),使用CRF進(jìn)行分詞,只需要少量的標(biāo)注語料,系統(tǒng)在整體性能上就能達(dá)到F值為95.58的較高水平。實(shí)驗(yàn)結(jié)果表明,使用CRF模型,結(jié)合傣文的一些固有特點(diǎn)對傣文進(jìn)行分詞切實(shí)可行。
經(jīng)過校對后的訓(xùn)練和測試語料格式如下:
符號“<”與“>”之間表示一個詞,每個詞給出了傣文形式、詞性、音標(biāo)、中文解釋、來源(來源指明該傣語詞是漢語借詞、巴利語借詞還是傣文詞匯等)這幾個信息,各個信息之間以“#”號分隔。
與中文類似,可將傣文分詞問題看成給傣文中每個音節(jié)標(biāo)注位置信息的過程,其核心本質(zhì)是給傣文文本中的每個音節(jié)標(biāo)注位置信息,然后通過位置信息將音節(jié)串轉(zhuǎn)換成對應(yīng)的合法詞串。
傣文詞是由音節(jié)構(gòu)成的,其中單音節(jié)詞由一個單獨(dú)的音節(jié)構(gòu)成,多音節(jié)詞則由兩個或兩個以上的音節(jié)按順序組合構(gòu)成,因此音節(jié)與詞之間存在著一種特殊位置對應(yīng)關(guān)系。Xue NianWen的中文分詞系統(tǒng)中定義的“4-tag標(biāo)記集: 詞首(LL)、MM(詞中)、RR(詞尾)、LR(單字詞)”*Nianwen Xue,Libin Shen.“Chinese Word Segmentation as LMR Tagging”. In Proceedings of the Second SIGHAN Workshop on Chinese Language Processing, in conjunction with ACL’03,2003: 176-179.,Hwee Tou Ng 2004年提出簡化標(biāo)記詞首(B)、詞尾(E)、詞中(M)、單字詞(S)*Hwee Tou Ng.Chinese partofspeech tagging: One-at-a-time or all-at-once word-based or character-based.2004,在傣文分詞系統(tǒng)中,采用這種簡化的位置標(biāo)記來表示音節(jié)在詞語中所處的不同物理位置,則只要給定一個詞就能將其中的每個音節(jié)標(biāo)上一個唯一的位置標(biāo)記,同樣地只要給定一個帶位置標(biāo)記的音節(jié)序列,就能將其轉(zhuǎn)化為唯一的合法詞串。
目前,經(jīng)過人工校對的傣文語料庫文本內(nèi)容都是以詞串的形式保存的,因此在進(jìn)行音節(jié)標(biāo)注模型訓(xùn)練前需要將傣文詞串轉(zhuǎn)換為帶位置標(biāo)記的音節(jié)串。在利用上述四個位置標(biāo)記集進(jìn)行語料轉(zhuǎn)換前后格式如下所示,其中(a)為原始句子;(b)為人工切分校對后的詞串,(c)為帶位置標(biāo)記信息的音節(jié)串。
與基于詞表的方法不同,基于音節(jié)標(biāo)注的分詞方法,未登錄詞(OOV)是指在測試語料中出現(xiàn)而在訓(xùn)練語料中沒有出現(xiàn)的詞。在傳統(tǒng)的基于詞表的分詞方法(如正向最大匹配FMM)中,如果待切分的文本包含未登錄詞,則這個詞被正確識別出的概率是很小的。但在基于音節(jié)標(biāo)注的分詞方法中,詞是通過相鄰的音節(jié)的位置標(biāo)記信息在概率上求最優(yōu)解后組合而成的,在這個求解過程中詞表詞和未登錄詞是沒有明顯區(qū)別的。例如,存在某個新詞,該詞有兩個音節(jié)組成,記為AB,這個詞從來沒有在訓(xùn)練語料中出現(xiàn)過,但是以音節(jié)A開頭的詞出現(xiàn)過多次,以音節(jié)B結(jié)尾的詞也出現(xiàn)過多次,這樣在計(jì)算AB這個未登錄詞音節(jié)的位置信息時就會認(rèn)為“A”被標(biāo)注為詞首(B)且同時“B”被標(biāo)注為詞尾(E)的概率比較大,這樣“AB”就有很大的可能被當(dāng)作一個詞而識別出來。
基于音節(jié)標(biāo)注的分詞方法由于把詞表詞和未登錄詞放在同一個框架下進(jìn)行統(tǒng)一處理,因此在一定程度上解決了基于詞表的分詞方法無法解決未登錄詞的問題。
4.2.1 定義特征模板
“字符的n元特征在基于機(jī)器學(xué)習(xí)的中文分詞中出于其離散性被經(jīng)常運(yùn)用”*姜鋒: 基于條件隨機(jī)場的中文分詞研究【D】.大連: 大連理工大學(xué),2006.。傣語借用了很多漢語和巴利語詞,雖然雙音節(jié)詞還是主流,但詞長總體比漢語要長一些,四音節(jié)詞也比較發(fā)達(dá),出現(xiàn)了一個漢語或者巴利語,經(jīng)常用傣語作解釋,一個雙音節(jié)的巴利語后面再跟一個傣語就組成四音節(jié)了,而且這是傣文中的一種使用習(xí)慣。曾對一篇大約1萬多音節(jié)的傣文做過人工統(tǒng)計(jì),單音節(jié)大約在22.31%,高于漢語;雙音節(jié)大約在62.86%,低于漢語;三音節(jié)和四音節(jié)比例比重較大,兩者約為14.42%,遠(yuǎn)高于漢語?;诖?,本文使用5音節(jié)窗口特征,它們分別是C-2、C-1、C0、C1、C2、C-2C-1C0、C-1C0C1、C0C1C2、C-1C0、C0C1,字母C代表一個音節(jié),其下標(biāo) -2,-1,0,1,2,分別代表前面第二個音節(jié)、前一個音節(jié)、當(dāng)前音節(jié)、后一個音節(jié)、后第二個音節(jié)。
使用5音節(jié)模板窗口如下:
# Unigram
U00: %x[-2,0]
U01: %x[-1,0]
U02: %x[0,0]
U03: %x[1,0]
U04: %x[2,0]
U05: %x[-2,0]/%x[-1,0]/%x[0,0]
U06: %x[-1,0]/%x[0,0]/%x[1,0]
U07: %x[0,0]/%x[1,0]/%x[2,0]
U08: %x[-1,0]/%x[0,0]
U09: %x[0,0]/%x[1,0]
# Bigram
B
4.2.2 實(shí)驗(yàn)結(jié)果
由于經(jīng)過校對的傣文文本數(shù)量較少,對1 744篇傣文文檔采用十折交叉驗(yàn)證的方法進(jìn)行模型訓(xùn)練和測試,每次使用174個文檔作為測試集,1 566個文檔作為訓(xùn)練集來訓(xùn)練模型,最終取十次實(shí)驗(yàn)得到的平均值作為最終實(shí)驗(yàn)結(jié)果。
按照SIGHAN的評測標(biāo)準(zhǔn),對分詞結(jié)果進(jìn)行評價(jià),包括分詞整體的準(zhǔn)確率P、召回率R和綜合評價(jià)F,未登錄詞(基于序列標(biāo)注的分詞方法沒有詞表方法中定義的未登錄詞概念,這里所說的未登錄詞是指沒有在訓(xùn)練語料中出現(xiàn)的詞)的準(zhǔn)確率P、召回率R、綜合評價(jià)F,非未登錄詞(在訓(xùn)練語料中出現(xiàn)過的詞)的準(zhǔn)確率P、召回率R、綜合評價(jià)F。實(shí)驗(yàn)結(jié)果見表2。
表2 傣文分詞試驗(yàn)結(jié)果
4.2.3 融合傣文特征的分詞結(jié)果后處理
由于傣文中未登錄詞所占比例較少,因此,盡管未登錄詞的識別能力并不理想,但對系統(tǒng)整體的準(zhǔn)確率、召回率、F值影響不太大。經(jīng)過對模型分詞的錯誤類型進(jìn)行分析,分詞錯誤主要有以下幾種類型。
(1) 將一個詞切成多個單音節(jié)詞,這是最常見的切分錯誤。
? 獨(dú)立成詞頻率較高;
? 被分開頻率較低;
? 被其他詞包含而成為新詞的頻率較低;
把這類切分錯誤歸為絕對切分詞錯誤。
(2) 歧義切分錯誤。當(dāng)一個傣文句子或一個傣文音節(jié)串中包含歧義時,必定是因?yàn)槠渲械哪承┮艄?jié)對應(yīng)著多個位置標(biāo)記。確定每個音節(jié)對應(yīng)的正確位置標(biāo)記是通過這個音節(jié)的上下文環(huán)境而決定的,只要給定一個音節(jié)的上下文信息,就能很準(zhǔn)確的為這個音節(jié)選擇一個位置標(biāo)記。所以傣文分詞問題最終就是根據(jù)句子中每個音節(jié)的上下文信息給這個音節(jié)選擇一個位置標(biāo)記。而這個任務(wù)可以通過有指導(dǎo)的機(jī)器學(xué)習(xí)模型來完成。
(3) 包含音節(jié)數(shù)目較多的人名、地名,尤其是借用的漢語結(jié)構(gòu)名。
(4) 傣文書寫錯誤詞。
通過以上的錯誤類型分析,結(jié)合傣文的特點(diǎn),提取了一個傣文常用漢語借詞詞表和常用傣文絕對切分詞表,對待切分語料先進(jìn)行預(yù)處理后再使用CRF模型進(jìn)行分析。
絕對切分詞表和傣族漢語借詞詞表提取: 根據(jù)傣文特點(diǎn),在詞表中提取出來源為“漢借”的雙音節(jié)及以上的詞語,提取出來源為“巴利語”的三音節(jié)以上詞,以及詞性被標(biāo)注為“成語或慣用語”的詞語,再加上人工整理的1 562個絕對切分詞,構(gòu)成最終的預(yù)處理詞表,該詞表包含了傣語中大多數(shù)常用的絕對切分詞,能很好的解決絕對切分詞被模型切開的問題。
表3 加入絕對切分詞表后分詞結(jié)果
實(shí)驗(yàn)結(jié)果表明, 加入絕對切分詞表能明顯改善整個未登錄詞識別的準(zhǔn)確率。
本文首先建設(shè)了一個傣文語料庫,并根據(jù)傣文的特點(diǎn),構(gòu)建出一個傣語詞表,基于該詞表,使用最大匹配算法對傣文文檔進(jìn)行粗切分,對粗切分的結(jié)果經(jīng)過人工校對,形成質(zhì)量較高的訓(xùn)練和測試語料,使用CRF模型進(jìn)行分詞,并結(jié)合傣文特點(diǎn),加入絕對切分詞表對待切分語料進(jìn)行預(yù)處理,進(jìn)一步提高分詞系統(tǒng)的整體性能,最終達(dá)到十折交叉驗(yàn)證平均F值為95.58的結(jié)果。該方法解決了基于詞表的分詞方法中由于缺乏語料,未登錄詞識別、歧義字段消解困難的問題。實(shí)驗(yàn)結(jié)果表明,該分詞方法對傣語切實(shí)有效,填補(bǔ)了傣語分詞系統(tǒng)的空缺,同時,達(dá)到較高切分水平的系統(tǒng)為后續(xù)進(jìn)行傣文輸入法開發(fā)、傣文自動機(jī)器翻譯系統(tǒng)開發(fā)、傣文文本信息抽取等高層次傣文信息的處理奠定了較好的基礎(chǔ)。
[1] Nianwen Xue, Libin Shen. Chinese Word Segmentation as LMR Tagging[C]//Proceedings of the Second SIGHAN Workshop on Chinese Language Processing, in conjunction with ACL’03,2003: 176-179.
[2] 姜鋒. 基于條件隨機(jī)場的中文分詞研究[D].大連: 大連理工大學(xué),2006.
[3] 宗成慶. 統(tǒng)計(jì)自然語言處理[M].清華大學(xué)出版社2008年版,105-129.
[4] 梁南元. 書面漢語自動分詞系統(tǒng)——CDWS[J].中文信息學(xué)報(bào),1987,(2):57-61.
[5] 孫茂松,肖明,鄒嘉彥. 基于無指導(dǎo)學(xué)習(xí)策略的無詞表?xiàng)l件下的漢語自動分詞[J].計(jì)算機(jī)學(xué)報(bào),2004,(6):30-33.
[6] 戴紅亮. 傣漢《民族區(qū)域自治法》詞語統(tǒng)計(jì)及比較分析[J]. 構(gòu)建多語和諧的社會語言生活,民族出版社,2009: 589-597.