史建國,侯宏旭,飛 龍
(內蒙古大學 計算機學院,內蒙古 呼和浩特 010021)
?
基于詞典、規則的斯拉夫蒙古文詞切分系統的研究
史建國,侯宏旭,飛 龍
(內蒙古大學 計算機學院,內蒙古 呼和浩特 010021)
斯拉夫蒙古文是蒙古國現行的文字,又稱為西里爾蒙古文或新蒙古文。蒙古文詞干和詞綴包含著大量信息,斯拉夫蒙古文詞切分是斯拉夫蒙古文信息處理眾多后續工作的基礎。該文嘗試了將詞典和規則結合的方法對斯拉夫蒙古文進行詞切分。首先預處理部分蒙古文詞,然后基于詞典切分高頻和部分不符合規則的詞。最后對剩余的詞,用切分規則生成多個候選的詞切分方案,然后在這些方案中選出最優方案。通過兩種方法的有機結合,發揮各自的優點,得到了性能較好的斯拉夫蒙古文詞切分系統。
斯拉夫蒙古文;詞切分;詞典;規則
蒙古語是黏著性語言,黏著語語言是一種有時態變化的語言類型,通過在單詞的詞尾綴接不同的詞綴來實現語法功能。蒙古語、維吾爾語、滿語、日語、韓語、芬蘭語、土耳其語、匈牙利語等為典型的黏著語。
蒙古語的構詞和構形都是以詞根、詞干上綴接不同詞綴來完成的。每一個詞的構成和其語法意義的表示都是依賴于不同詞綴的綴接,所以只有正確切分詞干和詞綴才能揭示其詞類屬性和語法關系。另一方面,蒙古語中存在大量的構詞、構形詞綴,而且它們往往有同形或兼類現象,這使蒙古語詞干和詞綴的切分更加復雜化[1]。
每個黏著語言的形態結構、構形詞綴和詞綴連接規則具有較大的差異,因此詞切分必須針對每個具體語言來設計與實現。詞切分算法在黏著語言的自然語言處理技術中占重要地位,所以斯拉夫蒙古文詞切分是斯拉夫蒙古文信息處理眾多后續工作的基礎。其他的研究,例如,斯拉夫蒙古文機器翻譯、信息檢索、文本分類、篇章處理等都是在斯拉夫蒙古文詞切分的基礎上進行的。所以設計一個高查準率、高查全率、運行速度快的斯拉夫蒙古文詞切分系統,對斯拉夫蒙古文信息處理的研究具有重要的意義。
詞切分長時間以來一直是被研究的課題,典型的詞切分方法有Porter[2]算法,基于詞典方法,有限狀態轉錄機,有限自動機,基于HMM的方法[3],基于同現概率的方法等。目前傳統蒙古文詞切分研究已經做了很多工作,而且取得了比較好的結果,但是斯拉夫蒙古文的詞綴切分還沒取得很好的結果。傳統蒙古文詞切分方法一般有3種: (1)基于切分詞典的切分方法[4]; (2)基于規則的切分方法[5]; (3)基于統計的切分方法[6]。此外也有人嘗試了結合多種方法對傳統蒙古文切分[7]。和傳統蒙古文有很大的不同,斯拉夫蒙古文基本上怎么讀就怎么寫的,讀與寫統一,在傳統蒙古文中的一個詞綴可能對應多種變形的詞綴,同時,詞庫、正字法等也存在混亂和無固定標準的現象,所以切分也相對較難,目前國內外還沒有一部實用的斯拉夫蒙古文詞切分系統。本文對斯拉夫蒙古文構詞從理論到實踐做了深入分析,提出了切合實際的切分方法,結合基于切分詞典的切分方法和基于規則的切分方法,對斯拉夫蒙古文詞進行詞綴切分,取得了比較好的結果。
蒙古國現行的斯拉夫蒙古文有35個字母,其中7個基本元音,6個輔助元音,7個帶元音輔音,4個借詞輔音,9個殘缺輔音,這些都屬于音素,還有1個隔音符號和1個前化符號。一個詞由一個或多個音節組成,一個音節一般由幾個音素組成,詞與詞之間用空格分開。
斯拉夫蒙古文是個語法信息特別豐富的語言文字。不僅存在著眾多規律和規則,而且每種規律或規則都有特殊的情況,除此之外還有違反規律規則及特殊規則的情況。這些使得斯拉夫蒙古文的語法變得更加復雜。
斯拉夫蒙古文在語音方面有嚴格的元音和諧律。蒙語詞的第一個音節的元音是要影響后續音節的元音。一般是第一個音節的元音是陽性,那么后續音節的元音只能是陽性,第一個音節的元音是陰性,那么后續音節的元音只能是陰性,只有中性元音不受這種限制,可以跟陽性元音或陰性元音同時出現在一個詞里[8]。
蒙語是一種連續語,因此,蒙古語詞從構造上可以分為: 詞根、詞干、附加成分。在形態學方面以詞根或詞干為基礎,后接詞綴派生新詞和進行詞形變化。詞干上綴接詞綴時有時在其中間增加字符、有時減少字符,也有時增加一個音節。詞根,表示蒙古語詞的最基本意義的部分,也就是詞的原來詞素叫做詞根。詞干,表示蒙古語的有意義的部分叫做詞干,詞干可以分為第一詞干、第二詞干、第三詞干等,詞根就是第一詞干。附加成分,單獨沒有意義,只在詞干下附加后產生詞匯意義和語法意義的部分叫做附加成分[8]。例如,
Yйлдвэрлэл(生產)這個詞由Yйл(行為)—Yйлд(制作)—Yйлдвэр(工廠)—Yйлдвэрлэ(生產<動>)—Yйлдвэрлэл(生產<名>)的順序構成的。這里Yйл為詞根(第一詞干),它后面接加《д》之后產生第二詞干Yйлд,再接加《вэр》時產生第3詞干Yйлдвэр,后面再接加《лэ》產生第4詞干Yйлдвэрлэ,最后又接加《л》之后產生Yйлдвэрлэл這個詞。
附加成分有構形附加成分和構詞附加成分,我們在此處理構形附加成分,它并沒有改變詞匯的意義,這在后續工作中都是很有用的,我們在此都稱為詞綴。
這里說的基于詞典的切分只是對高頻和部分不符合規則的斯拉夫蒙古文詞進行的切分,是用來提高本詞切分系統的效率和準確率。
對訓練語料進行詞頻統計后分析發現,有些高頻詞在短詞處理階段就能處理掉,所以不需要編入切分詞典。整理后得到出現頻率高的200個詞,對其進行人工詞切分編入詞切分詞典,用來進行基于詞典詞切分使用。高頻詞進行基于詞典的詞切分對于斯拉夫蒙古文詞切分的準確率和速度的提高有很大的幫助。此外,斯拉夫蒙古文中少量詞不符合切分規則,我們也把這些詞放入切分詞典中,可以避免詞切分的錯誤,提高切分的準確率。
詞切分詞典格式為: 索引——原詞——切分結果。其中,索引指的是該詞的首字母。
從表1中看出這200個高頻詞在語料中共出現了55 719 379次,所占的比例為 22.44%。最高出現頻率為623 782次,最低也有28 941次。所以對這200個高頻詞的準確處理意義非常大。

表1 高頻詞統計結果
雖然斯拉夫蒙古文和傳統蒙古文在形態分析方面并沒有本質的差異,但兩者在綴接詞綴時有很多不同的地方,因此詞綴切分規則有很大區別,傳統蒙古文的切分規則很多并不適用于斯拉夫蒙古文,相對于傳統蒙古文,斯拉夫蒙古文詞綴切分要復雜的多。
斯拉夫蒙古文是一個語法規則特別豐富的文字,有構詞詞綴和構形詞綴。在詞干上綴接詞綴時,不是簡單的連接,詞干詞尾發生變化,詞干末尾部分從詞尾形式變為詞中形式。有時二者之間還需要添加連接字符,而連接字符也分一般情況和特殊情況;有時二者之間還需要去掉字符,也分一般情況和特殊情況。斯拉夫蒙古文詞還分為陽性詞、陰性詞和中性詞。


завилгаа(盤腿坐)
該詞中гаа不是詞綴,不能切。
Байцаагаа
該詞中гаа是詞綴,切分結果為байцаагаа: байцаа(白菜)+гаа。
由于斯拉夫蒙古文詞綴情況非常復雜,所以處理好斯拉夫蒙古文的這些規則和變化對于蒙古文的詞綴切分意義重大。根據斯拉夫蒙古文的特點,我們總結出了下面一些規則,并設計了算法。
4.1 通用切分規則
斯拉夫蒙古文詞通用切分規則指切分詞干、詞綴時普遍的切分規則??梢远x如下,假設一個斯拉夫蒙古文詞“WS”,S∈Ts其中Ts為詞綴詞典,W為詞干,S為詞綴。如果S詞綴為某個詞綴表中的詞綴,且W詞干滿足該詞綴表對詞干的要求,那么可以直接切分為WS: W+S的形式。例如,
авьяастай: авьяас+тай
тай為詞綴詞典的詞綴表MK_AE_GEIGUULEGC_DSR中的詞綴,該詞綴表對詞干的要求是詞干為靜態詞詞干,且為AE(含有а、э、у、Y字母)型詞干,詞干以DSR(д、с、р)字母結尾。
авьяастай滿足該詞綴表的要求,所以可以直接切分為авьяас+тай。
應用通用切分規則進行詞切分時,我們切分的詞綴為多個詞綴的疊加,即,一個詞后面如果綴接了多個詞綴,那么我們將這多個詞綴看成一個整體,然后從單詞中切分。
4.2 脫落元音的恢復
斯拉夫蒙古文中有些情況單詞后綴加詞綴時會出現元音脫落現象,當出現這樣的情況時,切分詞綴后要將脫落的字符恢復。例如,以輔音結尾的詞干后接加以長元音開頭的詞綴時該結尾輔音前面的元音要脫落。除и以外,其他元音結尾的詞干后接加以長元音開頭的詞綴時該結尾的元音要脫落。以輔音結尾的詞干后接加以輔音開頭的詞綴時需要加元音時,該輔音前面的元音要脫落。例如,
олон+оос: олноос
олон以輔音結尾的詞干,后面綴接以長元音開頭的詞綴оос時,脫落掉олон結尾輔音字符н前的元音о。
м?нг?+ийг: м?нгийг
м?нг?為非и的元音結尾的詞干,后面綴接以長元音開頭的詞綴ийг時,脫落掉м?нг?末尾的元音?。
боловсор+л: боловсрол
боловсор后面綴接л時,боловсор末尾需要加元音о,所以脫落掉боловсор結尾的輔音字符р前的元音о。
但是,有些情況下元音不能脫落,例如,不能把帶元音輔音脫落成沒有元音,不能把殘缺輔音后接加殘缺輔音時加寫的元音脫落等。
斯拉夫蒙古文的元音有陽性、陰性和中性之分。一個詞里邊存在前后元音之間互相制約關系的元音和諧律。元音和諧律可用表2表示。

表2 元音和諧律
脫落元音恢復時可以考慮元音和諧律,根據元音和諧律恢復脫落的元音。例如,上面例子中,олноос為原詞干綴接詞綴時脫落掉了元音,所以олноос切掉詞綴оос后,詞干為олн恢復元音,根據元音和諧律,олн第一個音節的元音為о,所以原來脫落掉的元音為о,所以олноос切掉詞綴оос后,詞干為олно。
4.3 前化符號的恢復
在斯拉夫蒙古文中詞首音節的陽性元音受其后續音節и的影響而前化,最后成為獨立音位的叫做前化元音。前化元音在斯拉夫蒙古文里用前化符號ь表示。換句話說前化元音是陽性詞第一音節的а、о、у受到前元音и的影響,發音部位逐漸前移,成為一種獨立的前元音。
有些情況,前化符號后面接加附加成分時把前化符號轉換成и,如,前化符號后面接加以帶元音輔音開頭的詞綴時把前化符號轉換成и,前化符號后面接加以元音開頭的附加成分時把前化符號轉換成и等等。對于這樣的詞,在詞切掉詞綴后,要將前后符號恢復。例如,
соль+вол: соливол
соль以前化符號ь結尾,后面綴接以帶元音輔音開頭的詞綴вол時,前化符號ь轉換成и,所以соль后綴接詞綴вол后為соливол。相應的當соливол切掉詞綴вол時,詞干為соль。
而有些情況前化符號不轉換成и,所以切分詞綴時,如果需要將前化符號恢復時就得恢復。而前化符號后面接加以殘缺輔音開頭的詞綴時把前化符號不轉換成и,前化符號后面接加第一人稱意愿式附加成分я、ё時前化符號不轉換成и等等。對于這些情況,我們對詞直接切掉詞綴即為詞干了,不用考慮前化符號的恢復。
4.4 基于規則的詞切分算法
(1) 將詞與詞綴詞典各詞綴表中的詞綴進行匹配。
(2) 若沒有匹配,則返回結果;若有匹配且詞干符合該詞綴表中詞綴對其的要求,則轉入第(3)步。
(3) 若詞去掉詞綴后,剩下部分是否一個有意義詞或詞干,且可以綴接詞綴。若是真,則切分成功,若是假,則轉入第(4)步。
(4) 該詞是否屬于詞干綴接詞綴后脫落了元音情況,若不屬于,則轉入第(5)步,否則將脫落元音恢復,然后看恢復后是否一個有意義詞或詞干,且可以綴接詞綴。若是真,則切分成功;若是假,則該詞不屬于“詞干和詞綴結構”。
(5) 若不屬于第(4)步情況,則看該詞是否屬于詞干綴接詞綴后前化符號被轉換情況,若屬于,則將前化符號恢復,然后看恢復后是否一個有意義詞或詞干,且可以綴接詞綴。若是真,則切分成功;若是假,則該詞不屬于“詞干和詞綴結構”。
5.1 關于語料的說明
我們參閱了很多文獻和論文沒有發現公開公認的斯拉夫蒙古文訓練語料和測試語料,因此我們整理了一個訓練語料和一個測試語料。其中,訓練語料為我們整理網絡孔子學院等多個網站的斯拉夫蒙古文文本所得語料集,共1G多。訓練語料沒有詞性信息,也沒有詞綴切分信息,如圖1所示。測試語料為我們精心挑選的具有代表性的200句斯拉夫蒙古文語料,對測試語料切分后進行了人工校對。
5.2 人工編寫詞綴詞典
1. 詞綴
斯拉夫蒙古文和傳統蒙古文一樣,通過在詞干上綴接詞綴,有時層層綴接,變成一個結構相當復雜的蒙古文詞,所以構建詞綴詞典是蒙古文切分必須完成且重要的任務。

圖1 斯拉夫蒙古文原始語料

2. 詞綴詞典的設計
根據情況的不同,我們對詞綴總結整理,共分為30類詞綴表,這些詞綴表之間存在重復詞綴,而且詞綴表中的詞綴不是斯拉夫蒙古文語法上的詞綴,而是多個詞綴的疊加,即,一個詞后面如果綴接了多個詞綴,那么我們將這多個詞綴看成一個整體作為詞綴。詞綴表分類的依據是前面詞干的不同,如詞干是靜態詞詞干,還是動態詞詞干,詞干的陰陽性、末尾元音等,每一個詞綴表對詞干都有相應的要求,例如,MK_TYN_AE_GEIGUULEGC_DSR這個詞綴表要求詞干為靜態詞詞干,且為AE(含有а、э、у、Y字母)型詞干,詞干以DSR(д、с、р)字母結尾。
下面為詞綴表MK_TYN_AE_GEIGUULEGC_DSR的截圖如圖2所示。

圖2 詞綴表MK_TYN_AE_GEIGUULEGC_DSR
所有詞綴表統計如表3所示,其中,長度為斯拉夫蒙古文字母個數。

表3 詞綴詞典統計結果
5.2 人工編寫詞干詞典
我們統計并切分校正,生成5萬詞級的詞干詞典,其中有7千詞級的動態詞詞干。
對語料進行分析,發現斯拉夫蒙古文詞切分在真正開始切分之前,進行詞信息分析工作,將會大幅度提高詞切分效率和準確率。
6.1 切分過程
本系統對斯拉夫蒙古文詞切分的詞切分過程如圖3所示。

圖3 詞切分過程
首先,如果當前為斯拉夫蒙古文詞標點符號或非斯拉夫蒙古文詞,則直接輸出。
其次,第一步沒有得到處理的,如果該詞長度小于等于3,則直接輸出。
最后,前兩步中沒得到處理的,如果該詞在詞切分詞典中,則按詞典方法將該詞的切分結果輸出。剩余部分按后面介紹的基于規則的方法切分。如果都處理不掉,則直接輸出。
6.2 長度小于等于3的斯拉夫蒙古文詞
對于長度小于等于3的斯拉夫蒙古文詞的分析發現它們基本上為詞干。從表4中可以看到3 491個短詞在語料中占的比例高達17.93%。所以對這些詞的預處理,對詞切分的貢獻很大。

表4 訓練語料中長度小于等于3的詞的統計結果
我們精心選取了200句具有代表性的斯拉夫蒙古文長句子,對其單詞進行詞綴切分。實驗結果如表5所示。

表5 實驗結果
從上面結果看出,只是簡單基于切分詞典和通用切分規則的詞綴切分,準確率不高,而加上其它規則和預處理,則明顯的提高了詞綴切分的準確率。因為根據通用切分規則所得詞干,很多需恢復脫落的元音或前化符號等;預處理也會減少錯誤切分,如短詞,它們基本沒有詞綴,不需切分。另外,如果詞干詞典的覆蓋率比較小時會影響切分的準確率。而且,當出現多種滿足條件的情況時,就不能保證輸出正確結果了,例如,бартаа為“障礙、險阻、麻煩”的意思,沒有詞綴,但是在切分時卻切分成бар+таа了,詞干為бар,詞綴為таа,這是因為詞綴表MK_AE_GEIGUULEGC_DSR中含有詞綴таа,而且бар為AE型,以DSR(д、с、р)字符結尾,詞干詞典中存在,為靜態詞詞干,滿足了規則和設定的條件,所以切分得到的結果就不正確了。
本文對斯拉夫蒙古文詞采用基于詞典和規則結合的方法進行詞綴切分,實現了一個實用的切分系統。實驗表明,通過詞典和規則兩方法的結合,對斯拉夫蒙古文詞切分取得了比較好的結果。但是,由于斯拉夫蒙古文是一個很靈活的語言,規則不能完全覆蓋所有的單詞,有些特殊情況,而且隨著新詞的不斷出現,可能會出現更多的特殊情況,有些詞處理結果存在問題,系統還需要進一步完善。接下來的工作,進一步完善切分規則、詞綴詞典和詞干詞典,而且,我們考慮利用統計方法對大的詞切分語料根據斯拉夫蒙古文的特點進行機器學習,通過結合語言模型對該系統進一步改進。
[1] 那順烏日圖.蒙古文詞根、詞干、詞尾自動切分系統[J].內蒙古大學學報,1997,29(2):53-67.
[2] M F Porter. An algorithm for suffix stripping [J].Program, 1980, 14(3): 130-137.
[3] Massimo M and Nicola O. A Novel Method for Stemmer Generation Based on Hidden Markov Models[C]//Conference on Information and Knowledge Management Archive Proceedings of the twelfth International Conference on Information and Knowledge Management, 2003: 131 134.
[4] 淑琴.“蒙古語語法信息詞典附加成分分庫”的設計與實現[D],內蒙古大學碩士學位論文,2005.6.
[5] 葉嘉明,基于規則的蒙古語詞法分析研究與實現[D],北京: 北京大學碩士學位論文,2005.
[6] 侯宏旭,劉群,那順烏日圖等.基于統計語言模型的蒙古文詞切分[J].模式識別與人工智能,2009,22(1):108-112.
[7] 明玉.基于詞典、規則與統計的蒙古文詞切分系統的研究[D],內蒙古大學碩士學位論文,2011.
[8] 薩仁都拉嘎.新蒙文自學入門[M],內蒙古: 天馬出版有限公司,2005.1.
[9] 清格爾泰.蒙古語語法[M],內蒙古: 內蒙古人民出版社,1991.5.
[10] 嘎拉桑朋斯格.蒙古國基立爾蒙古文正字法[M],內蒙古: 內蒙古人民出版社,2001.11.
[11] 舍·卻瑪.蒙古文、基里爾文正字法比較研究[M],內蒙古教育出版社,2010.9.
[12] 古麗拉·阿東別克,米吉提·阿布力米提. 維吾爾語詞切分方法初探[J]. 中文信息學報,2004,18:61-65.
[13] 那順烏日圖,雪艷,葉嘉明.現代蒙古文語料庫加工技術的新進展——新一代蒙古文詞語自動切分與標注系線[C]//第十屆少數民族語言文字信息處理學術研討會,2005
[14] 米海濤,熊德意,劉群. 中文詞法分析與句法分析融合策略研究[J]. 中文信息學報,2008,22:10-17.
[15] 包薩日娜. 傳統蒙古文到新蒙文轉換中名詞及其格附加成分轉換的研究[D]. 內蒙古大學碩士學位論文,2009.6.
[16] 趙偉,侯宏旭,從偉,宋美娜.基于條件隨機場的蒙古語詞切分研究[J].中文信息學報,2010,24(5):31-35.
Research on Slavic Mongolian Word Segmentation Based on Dictionary and Rule
SHI Jianguo ,HOU Hongxu, BAO Feilong
(College of Computer Science, Inner Mongolia University, Hohhot, Inner Mongolia 010021,China)
Slavic Mongolian is the daily language in Mongolia, which is also known as Cyrillic Mongolian or new Mongolian. This paper explores the Slavic Mongolian word segmentation by combining the dictionary with rules. We first preprocess with the dictionary for the words of high-frequency or not consistent with rulesm then deal with the rest words with rules to generate n-best candidates for final decision We combine the two different methods, taking bothadvantages and achieving excellent performance in the Slavic Mongolian word segmentation.
Slavic Mongolian; word segmentation; dictionary; rule

史建國(1984—),碩士研究生,主要研究領域為中文信息處理。E?mail:tieshushjg@163.com飛龍(1985—),助教,主要研究領域為蒙古文信息處理、語音識別與合成。E?mail:csfeilong@imu.edu.cn侯宏旭(1972—),通訊作者,教授,博士生導師,主要研究領域為中文信息處理、信息檢索。E?mail:cshhx@imu.edu.cn
1003-0077(2015)01-0197-06
2012-10-08 定稿日期: 2013-02-03
工業與信息化部電子信息產業發展基金“蒙古文軟件開發和產業化”項目子課題“蒙古文輔助翻譯與電子辭典軟件”,內蒙古自然科學基金項目(2010ZD18)
TP391
A