李 響,才藏太,姜文斌,呂雅娟,劉 群
(1. 中國科學(xué)院 計算技術(shù)研究所,中國科學(xué)院 智能信息處理重點實驗室,北京 100190;2. 青海師范大學(xué) 計算機學(xué)院,青海 西寧 810008)
藏語是屬于漢藏語系的一種古老語言,在漫長的語言演變過程中,藏語形成了獨特的標(biāo)點符號體系,并仍然在現(xiàn)代藏語文本中得到廣泛使用。
藏文標(biāo)點符號體系僅含有限的標(biāo)點符號,并且標(biāo)識句子結(jié)束的標(biāo)點符號存在較多的歧義,功能不確定,嚴(yán)重影響了藏語句子邊界的準(zhǔn)確識別。作為藏文信息處理的一項基礎(chǔ)性工作和藏語自然語言處理的一項關(guān)鍵技術(shù),藏語句子邊界識別問題解決的好壞直接影響到詞性標(biāo)注,詞語切分、句法分析及機器翻譯等其他藏文自然語言處理應(yīng)用的性能,因此,解決現(xiàn)代藏語句子邊界的自動識別問題顯得日益重要。
現(xiàn)有的藏語句子邊界識別方法主要以采用規(guī)則方法為主[1],可以對特定領(lǐng)域的藏文文本實現(xiàn)較好的識別準(zhǔn)確率,但是該方法需要制作針對性的規(guī)則,人工代價較大,同時領(lǐng)域適應(yīng)性較差。本文提出了一種最大熵和規(guī)則相結(jié)合的藏語句子邊界識別方法。最大熵模型可以增強對不同領(lǐng)域文本句子邊界識別的魯棒性,但由于最大熵模型會因訓(xùn)練語料稀疏或低劣而產(chǎn)生對句子邊界的錯誤識別,而引入規(guī)則方法可以提高最大熵模型的準(zhǔn)確率。本文提出的方法首先利用人工總結(jié)和分析藏語語料得到的藏語句子邊界詞表和非邊界詞表識別藏語句子邊界,對于無法識別的藏語句子邊界,最后利用最大熵模型進行識別。實驗表明,本文提出的方法可以對現(xiàn)代書面藏語文本的句子邊界進行較好的識別。
本文包括如下部分: 第2節(jié)首先介紹藏語標(biāo)點符號體系和對藏語句尾的分析,提出基于規(guī)則方法的藏語句子邊界識別方案;第3節(jié)主要說明最大熵模型的原理,提出基于最大熵方法的藏語句子邊界識別方案;第4節(jié)為實驗結(jié)果;第5節(jié)為總結(jié)和展望。
藏語獨特的標(biāo)點符號系統(tǒng)中涉及標(biāo)識句子結(jié)束的標(biāo)點符號主要有[2]:
在這些標(biāo)點符號中,楔形符在藏文句子中主要用于句末,也可用于詞或者短語之后,在功能上相當(dāng)于漢語標(biāo)點符號的頓號、逗號、句號、問號及嘆號。例如:
第二條 活佛轉(zhuǎn)世應(yīng)當(dāng)遵循維護國家統(tǒng)一、維護民族團結(jié)、維護宗教和睦與社會和諧、維護藏傳佛教正常秩序的原則?;罘疝D(zhuǎn)世尊重藏傳佛教宗教儀軌和歷史定制,但不得恢復(fù)已被廢除的封建特權(quán)。
從上面的例句中我們可以通過逗號、頓號和句號的位置準(zhǔn)確識別出漢語句子邊界,但是對應(yīng)的藏語句子共出現(xiàn)了6個楔形符,導(dǎo)致無法準(zhǔn)確識別藏語句子邊界。
藏語的句子語序結(jié)構(gòu)屬于SOV型,即{主語+賓語+謂語}的語序結(jié)構(gòu)。藏語句子的構(gòu)成是以動詞為核心,運用各種關(guān)系詞將詞語聯(lián)接起來組成句子的過程。動詞的句法位置始終位于句子結(jié)尾部分,因此藏語句子中謂語部分的末端應(yīng)當(dāng)是整個句子的結(jié)尾。但是單獨分析謂語部分時,其謂語結(jié)構(gòu)又各有不同的特點,構(gòu)成要素之間相互影響。一般在藏語句子的謂語部分中核心動詞后總是附加包含有一些其他成分,例如輔助動詞等,其謂語的語序格式為: { (謂語動詞 (+狀語補語) (+助動詞[情態(tài)和趨向]) (+體貌-示證標(biāo)記) (語氣詞)}[3]。
另外,藏語句子的主要成分一般都要與格助詞相關(guān)聯(lián)。格關(guān)系是動詞和其周圍對象發(fā)生事件的約束關(guān)系,只有這樣才能把句子各成分之間的語義關(guān)系表達清楚[4]。通過對48 000句藏文語料中歧義句子邊界左側(cè)的格助詞等詞的分析和統(tǒng)計,我們從中總結(jié)出406個非邊界詞和166個邊界詞,這些詞可以確定性地表示藏語句子邊界的功能,如表1和表2所示。
表1 非邊界詞表(部分)
表2 邊界詞表(部分)
基于規(guī)則的方法利用表1和表2的詞表識別歧義的藏語句子邊界,對于每一次的識別結(jié)果,標(biāo)記該句子邊界的確定功能,從而根據(jù)該標(biāo)記決定最大熵模型需要識別的未確定的句子邊界。
現(xiàn)有許多機器學(xué)習(xí)方法可以應(yīng)用于句子邊界識別問題,例如,決策樹[5]、神經(jīng)網(wǎng)絡(luò)[6]和條件隨機場[7]等。由于最大熵模型已經(jīng)非常成熟,可以采用那些可以開源的最大熵訓(xùn)練工具包來進行訓(xùn)練,因此本文選擇最大熵模型來解決藏語句子邊界識別問題。
如果將一段文本看作一個詞序列,則可將句子邊界識別問題視為一個將文本劃分為句子的隨機過程,建立隨機過程的聯(lián)合概率分布模型p,p∈P,輸出值集合Y={sb,nsb},y∈Y,其中y是歧義句子邊界是否為有效邊界的結(jié)果,在這個隨機過程中,Y受到上下文信息x的影響,上下文集合X,x∈X,其中x表示此序列中所有可能的上下文特征組合,同時,從訓(xùn)練數(shù)據(jù)中獲得N個樣本的集合S={(x1,y1),(x2,y2),…,(xn,yn)},其中(x1,y1)是觀察到的一個事件,我們可以根據(jù)這些樣本定義一個事件空間X×Y,而對于句子邊界識別問題,特征是一個二值函數(shù)f:X×Y→{0,1}。
對于一個特征(x0,y0),定義特征函數(shù)如下:
(1)
對于一個特征(x0,y0),在樣本中的期望值如下:
(2)
對于一個特征(x0,y0),在模型中的期望值如下:
(3)
最大熵模型的約束條件為對每一個特征(x,y),模型所建立的條件概率分布的特征期望值應(yīng)與從訓(xùn)練樣本中得到特征的樣本期望值一致,如公式:
(4)
聯(lián)合概率分布模型p的熵函數(shù)如公式:
H(p)=-∑p(x,y)logp(x,y)
(5)
最大熵模型如公式:
(6)
其中,C是滿足條件約束的模型集合,下面需要尋找p*,p*具有如下的形式:
(7)
其中,Z(x)是歸一化常數(shù),表示形式如下:
(8)
λi是模型參數(shù),每一個特征fi對應(yīng)一個λi,λi決定了每個特征fi對概率分布的貢獻程度,同時,可以采用GIS算法[8]對這些模型參數(shù)進行參數(shù)估計。
針對藏語句子邊界識別問題,選擇有效的句子邊界特征是使用最大熵模型需要解決的一個關(guān)鍵問題。根據(jù)藏語句子邊界上下文的特點確定模型的上下文激發(fā)環(huán)境,從而選擇所需特征。本文考察了影響藏語句子邊界識別的多種因素,定義了藏語句子邊界識別的特征模板,具體的特征模板如表3所示,其中單詞表示藏語中兩個音節(jié)點之間的字串。
表3 藏語句子邊界識別的特征模板
同時,由于訓(xùn)練語料存在較多的數(shù)字、標(biāo)點和英文等非藏文字符,為了避免數(shù)據(jù)稀疏對藏語句子邊界識別效果的影響,我們采用泛化的方法,對這些字符進行分類處理,形成了如表4所示的單詞類型表。
表4 單詞類型表
下面通過圖1來簡要說明對2.1節(jié)中例句邊界特征模板的抽取,其中采用簡單的特征集合{L2, L1, L1Len, R1}。如圖1所示,將每一個句子邊界的功能標(biāo)記為斷句(sb)或不斷句(nsb),用左斜線劃分藏語單詞,空格表示非有效句子邊界,@符號表示有效句子邊界,共抽取了5個邊界特征。
實驗采用的藏語訓(xùn)練語料規(guī)模為48 000句,測試語料規(guī)模為140句,對應(yīng)的參考語料規(guī)模為560句,測試語料和參考語料的句數(shù)比為1∶4,從而可以較客觀地測試句子邊界識別性能。
本文采用了張樂開發(fā)的最大熵模型訓(xùn)練工具包*網(wǎng)址: http://homepages.inf.ed.ac.uk/lzhang10/maxent_toolkit.html.,在訓(xùn)練過程中,迭代次數(shù)設(shè)為100次,為了避免過訓(xùn)練,高斯先驗設(shè)為1.0,其他的參數(shù)都為缺省設(shè)置。
為了客觀評價本文提出的藏語句子邊界識別方法的性能,依據(jù)本文提出的方法,我們實現(xiàn)了一個藏語句子邊界自動識別系統(tǒng),以準(zhǔn)確率、召回率和F1值為指標(biāo)對系統(tǒng)的藏語句子邊界識別結(jié)果進行評價,相關(guān)計算公式如下所示。
對于基于最大熵模型解決藏語句子邊界識別問題,當(dāng)需要對藏文文本識別句子邊界時,利用公式(7)可以獲得句子邊界標(biāo)記的概率,而句子邊界識別可以看作兩類情況的分類問題,因此,實驗采用p(y=sb|x)≥0.5作為判別句子邊界的閾值。
由于特征模板可以形成很多特征集合,但在對藏語句子邊界進行充分分析的情況下,沒有必要嘗試所有的特征集合,根據(jù)經(jīng)驗和分析,在表3描述的特征模板的基礎(chǔ)上選擇特征形成如下6個特征模板集合。
(1) 特征集合A: A={L2L1, L2, L1Syl, L1Len, L1, R1, R1Len, R1Syl, R2, R1R2},包含了表3中的所有特征模板,作為評估其他特征模板的參考。
(2) 特征集合B: B = {L1Len, L1},用于評價句子邊界左側(cè)第一個單詞及單詞長度對句子邊界識別的影響。
(3) 特征集合C: C = {L1Syl, L1Len, L1},用于評價句子邊界左側(cè)第一個單詞的尾部字對句子邊界識別的影響。
(4) 特征集合D: D = {L2, L1Syl, L1Len, L1},用于評價句子邊界左側(cè)第二個單詞對句子邊界識別的影響。
(5) 特征集合E: E = {L2L1, L2, L1Syl, L1Len, L1},用于評價句子邊界左側(cè)第二個單詞和第一個單詞共現(xiàn)對句子邊界識別的影響及句子邊界左側(cè)特征對句子邊界識別的貢獻。
(6) 特征集合F: F = {L2L1, L2, L1},用于評價候選句子邊界左側(cè)第二個單詞和第一個單詞共現(xiàn),第二個單詞以及第一個單詞這種簡單特征模板集合對句子邊界識別的影響。
為了驗證每個特征集合的性能以及選擇最有效的特征集合,分別采用以上每個特征集合識別藏語句子邊界,實驗結(jié)果如圖2所示。
圖2 6個特征集合的測試結(jié)果
實驗結(jié)果表明,采用特征集合E的實驗結(jié)果最好,特征集合A的實驗結(jié)果最差,因此選擇特征集合E作為最有效的特征模板集合。另外,從實驗結(jié)果比較可見,特征集合A的實驗結(jié)果最差,說明句子邊界右側(cè)特征并不能對實驗結(jié)果產(chǎn)生較大貢獻,所含信息量較少。
為了驗證不同方法對句子邊界識別性能的影響,分別采用基于規(guī)則的方法、基于最大熵模型的方法以及最大熵模型和規(guī)則相結(jié)合的方法,對相同測試語料測試藏語句子邊界識別性能,其中特征集合采用4.2節(jié)中的特征集合E,實驗結(jié)果如表5所示。
表5 不同邊界識別方法的實驗結(jié)果
表5表明,雖然最大熵模型方法已經(jīng)實現(xiàn)了較好的性能,但是小規(guī)模訓(xùn)練語料并不能較好地反映藏語復(fù)雜的邊界特征分布,通過結(jié)合藏語句子邊界的規(guī)則,藏語句子邊界識別性能得到大幅提高,減少了最大熵模型對歧義句子邊界識別的誤判,具有對錯誤識別較好的約束作用。
藏文標(biāo)點符號的特殊性和復(fù)雜性使我們不易準(zhǔn)確地識別藏語句子邊界,從而影響其他藏文自然語言處理的相關(guān)工作。通過對藏文語料以及對藏語句尾結(jié)構(gòu)的分析,結(jié)合藏文語法規(guī)則,本文總結(jié)出大量的邊界詞及非邊界詞,可以利用詞表在一定程度上確定歧義的藏語句子邊界的功能,而對于規(guī)則不能識別的藏語句子邊界,采用最大熵模型進行邊界識別。實驗結(jié)果表明,本文提出的最大熵與規(guī)則相結(jié)合的藏語句子邊界識別方法能夠較好的解決藏語句子邊界識別問題。
在此基礎(chǔ)上,我們一方面計劃擴大訓(xùn)練語料,減少數(shù)據(jù)稀疏,提高語料質(zhì)量,從而改善最大熵模型的判別能力,另一方面,將針對識別錯誤的句子優(yōu)化邊界規(guī)則和特征模板選擇;其次,嘗試解決解決藏語復(fù)句以及嵌套語句的邊界識別問題;最后,我們希望利用其他機器學(xué)習(xí)方法嘗試解決藏語句子邊界識別的問題,從而比較不同方法的優(yōu)劣。
[1] 趙維納,劉匯丹,于新,等. 基于法律文本的藏語句子邊界識別[C]//第五屆全國青年計算語言學(xué)研討會論文集,2010: 480-486.
[2] 胡書津.簡明藏文文法[M]. 昆明: 云南民族出版社,1988.
[3] 格桑居冕,格桑央京. 實用藏文文法教程[M]. 成都: 四川民族出版社,2004.
[4] 扎西加,頓珠次仁. 自然語言處理用藏語格助詞的語法信息研究[J]. 中文信息學(xué)報,2010,24(5): 41-45.
[5] Riley, M. D. Some applications of tree-based modeling to speech and language indexing [C]//Proceedings of the DARPA Speech and Natural Language Workshop, 1989: 339-352.
[6] Palmer, D.D., Hearst M.A. Adaptive Multilingual Sentence Boundary Disambiguation [J]. Computational Linguistics, 1997, 23(2): 241-269.
[7] Liu, Y., Stolcke, A., Shriberg, E. and Harper, M. Using Conditional Random Fields for Sentence Boundary Detection in Speech[C]//Proc. ACL, 2005: 451-458.
[8] Darroeh J. N. and D. Ratcliff. Generalized Iterative Scaling for Log-Linear Models [J]. The Annals of Mathematical Statistics, 1972, 43(5): 1470-1480.
[9] 胡書津. 書面藏語常用關(guān)聯(lián)詞語用法舉要[M]. 昆明: 云南民族出版社,1993.
[10] 格桑居冕. 藏語復(fù)句的句式[J]. 中國藏學(xué),1996,(1): 132-141.
[11] 王詩文. 漢、藏語句子結(jié)構(gòu)對比研究[J]. 西南民族大學(xué)學(xué)報(人文社科版),2007,28(4): 50-55.
[12] 祁坤鈺. 信息處理用藏文自動分詞研究[J]. 西北民族大學(xué)學(xué)報(哲學(xué)社會科學(xué)版),2006,(4): 92-97.
[13] 艾山·吾買爾,吐爾根·依步拉音. 統(tǒng)計與規(guī)則相結(jié)合的維吾爾語句子邊界識別[J].計算機工程與應(yīng)用,2010,46(14): 162-165.
[14] Berger A. L., Della Pietra, S. A. and Della Pietra V. J. A Maximum Entropy Approach to Natural language Processing [J]. Computational Linguistics, 1996, 22(1): 39-71.
[15] Ratnaparkhi, Adwait. A Maximum Entropy Model for Part-of-speech Tagging [C]//Proceedings of EMNPL, 1996: 133-142.
[16] Mikheev, A. Tagging Sentence Boundaries [C]//Proceedings of ANLP-NAACL 2000: 264-271.
[17] Reynar, J. C. and Ratnaparkhi, A. A Maximum Entropy Approach to Identifying Sentence Boundaries[C]//Proceedings of the Firth Conference on ANLP, 1997: 803-806.
[18] Glenn Slayden, Mei-Yuh Hwang, and Lee Schwartz. 2010. Thai Sentence-Breaking for Large-Scale SMT [C]//Proceedings of the 1st Workshop on South and Southeast Asian Natural Language Processing at COLING 2010: 8-16.
[19] Jiang Di. Identification of Boundaries of Object Clauses in Causative Verb Sentences in Modern Tibetan [J]. Journal of Chinese Language and Computing, 2006, 15(4): 185-192.