陳優(yōu)陽
(北京理工大學(xué)計算機(jī)學(xué)院 北京 100081)
2000年《東京宣言》中提出了信息無障礙的理念。信息無障礙[1]是指利用不斷發(fā)展的信息科學(xué)技術(shù),使得所有人都能無障礙地獲取信息資源。其核心內(nèi)容是利用科學(xué)技術(shù)手段消除某些生理功能退化或喪失的人群在信息獲取、接受過程中的障礙。因為盲人存在最嚴(yán)重的信息獲取問題,所以推進(jìn)盲人信息無障礙尤其最為迫切和重要。
解決盲人信息無障礙問題的一個重要方法就是利用先進(jìn)的計算機(jī)應(yīng)用技術(shù),制造出適合盲人使用的計算機(jī)硬件設(shè)備和軟件系統(tǒng)。軟件系統(tǒng)中非常重要的一個系統(tǒng)是漢盲翻譯系統(tǒng),漢盲翻譯系統(tǒng)將數(shù)字化的中文信息翻譯成數(shù)字化的盲文,然后通過特殊的顯示或印刷設(shè)備把信息以盲文形式呈現(xiàn)出來。
本文旨在研究如何設(shè)計一個高效,易于擴(kuò)展和維護(hù)的盲文分詞連寫實現(xiàn)方案。首先設(shè)計了一個基于SC文法[4]的規(guī)則表示形式,并且根據(jù)盲文分詞連寫需要設(shè)計了一個連寫規(guī)則庫。然后根據(jù)語料和基于字典樹的匹配算法設(shè)計了一個連寫語料統(tǒng)計庫,它用來連寫那些無法表示為規(guī)則的連寫知識。最后,本文提出的方案實現(xiàn)了快速、準(zhǔn)確的分詞連寫需求,并且連寫規(guī)則庫和連寫語料統(tǒng)計庫是易于擴(kuò)展和維護(hù)的。
我們形式化地定義了分詞連寫處理問題。提出了基于 SC文法的規(guī)則表示和連寫語料統(tǒng)計庫的解決方案。其中,連寫語料統(tǒng)計庫用來處理需要連寫卻無法用規(guī)則形式化表示的知識。分詞連寫處理模塊的輸入是分詞模塊的輸出結(jié)果,設(shè)為
針對可以用形式化規(guī)則表示的連寫知識需求,本文設(shè)計了一個基于 SC文法的,可擴(kuò)展性好的,表示效率高的,人性化的規(guī)則表示語言。
第一部分是規(guī)則句塊部分。我們使用“Si{}”(i=1,2,3……)表示規(guī)則中的句塊,Si表示句塊的索引,即該句塊處于規(guī)則中的位置。{}表示句塊的屬性字典,它使得規(guī)則表示系統(tǒng)易于理解和擴(kuò)展。其中,屬性字典由多個屬性與屬性值組成,屬性可取值為詞性,內(nèi)容和字?jǐn)?shù)。一個屬性可以對應(yīng)多個屬性值,這樣我們可以在一條規(guī)則里面表示多個連寫要求,多個屬性值用“/”分割,分詞后的句塊只要滿足該屬性中的一個屬性值,就匹配成功,這樣使得我們的規(guī)則表示效率高,也容易擴(kuò)展。
第二部分是條件部分。其中條件部分是由條件名字和條件句塊組成。有些分詞利用規(guī)則進(jìn)行連寫需要設(shè)定一定的條件,最常見的條件是規(guī)則中某兩句塊的內(nèi)容必須相同。如果一個規(guī)則的條件部分不為空,分詞的結(jié)果除了必須匹配上規(guī)則的句塊之外,還需要滿足條件部分中定義的條件才可以進(jìn)行連寫,條件部分使得我們的規(guī)則表示靈活多變,能適應(yīng)各種需求。
第三部分是連寫模式部分。因為有的規(guī)則涉及到多個句塊,但是最后連寫的時候并不是把所有的句塊都連寫,所以需要連寫模式部分來指定需要連寫的句塊,使用規(guī)則句塊部分中的句塊索引”Si”即可表示需要連寫的句塊。例如規(guī)則“名詞后接兩個方位詞,則兩個方位詞連寫”。我們用S1表示名詞,S2和S3表示兩個方位詞,則連寫模式就是”S2,S3”,表示只需將S2,S3連寫。這種設(shè)計方式可滿足規(guī)則連寫的普適性。
規(guī)則的三個部分用”|”分隔,下面給出一個具體的規(guī)則表示的例子。在本文的第二部分提到的連寫規(guī)則“單音節(jié)動詞重疊式連寫”,其對應(yīng)的規(guī)則表示內(nèi)容如下“S1{label:verb,length:1} S2{label:verb,length:1}|prefix_content_equal(S1,S2)|S1,S2”。
分詞連寫規(guī)則可以解決大部分分詞連寫的需求,然而有一部分詞需要連寫卻無法用形式化的規(guī)則進(jìn)行表示。為了解決這個問題,本文設(shè)計了一個基于高效的字符查找數(shù)據(jù)結(jié)構(gòu)Trie的連寫語料統(tǒng)計庫。連寫語料統(tǒng)計庫中的每一條記錄為需要連寫的字詞,出現(xiàn)在連寫統(tǒng)計庫中的詞如果被分詞器分開,我們要能識別出各種切開的情況并且還原那個詞。以“愛鳥周”為例,分詞器的分詞結(jié)果有可能為”愛 鳥周”、“愛鳥 周”“愛 鳥 周”,“愛鳥周”,當(dāng)分詞結(jié)果為前面3種情況時,都需要將分詞結(jié)果重新連寫為“愛鳥周”。由此可見,隨著詞的長度增加,需要考慮的的情況呈指數(shù)型增長,因此我們需要一個高效的句塊查找數(shù)據(jù)結(jié)構(gòu),Trie是一個非常合適的選擇。
Trie[4],又稱前綴樹或字典樹,我們結(jié)合統(tǒng)計庫中句塊匹配給出一個小型Trie樹實例,如圖一。圖中的空心節(jié)點是字典樹的根節(jié)點。邊上的字表示句塊的內(nèi)容,白色節(jié)點表示樹中的內(nèi)部節(jié)點,藍(lán)色實心節(jié)點表示統(tǒng)計庫中的詞。由于其復(fù)雜度與詞表的個數(shù)無關(guān),所以能極大的加快查找速度,即使增加了許多統(tǒng)計庫后也是如此。引入字典樹提高了整個系統(tǒng)的可擴(kuò)展性,是本論文的一大亮點。

圖1 字典樹在統(tǒng)計庫上的應(yīng)用實例
根據(jù)《中國盲文》[5]對盲文分詞連寫的要求,我們設(shè)計了130條連寫規(guī)則。根據(jù)中國盲文出版社的專家知識和實際語料,設(shè)計了一個連寫統(tǒng)計庫。我們對2000條句子進(jìn)行了連寫處理,連寫處理的結(jié)果由中國盲文出版社的專家進(jìn)行鑒定。根據(jù)實驗結(jié)果,我們的解決方案連寫處理的準(zhǔn)確率達(dá)到91%。連寫錯誤是由于分詞及詞性標(biāo)注的錯誤引起的。影響準(zhǔn)確率的根本因素是中文分詞和詞性標(biāo)注這個模塊。首先中文分詞的準(zhǔn)確率沒有達(dá)到百分百的精度,所以它肯定會對連寫算法造成負(fù)面影響。其次,對一個詞進(jìn)行詞性標(biāo)注時會有歧義,因為漢語詞的兼類現(xiàn)象比較頻繁。
根據(jù)我們設(shè)計的分詞連寫規(guī)則庫和連寫語料統(tǒng)計庫,很好的解決了漢盲翻譯轉(zhuǎn)換中存在的分詞連寫問題,實現(xiàn)了漢盲翻譯高效和準(zhǔn)確地轉(zhuǎn)換。由于所設(shè)計的連寫規(guī)則庫和語料統(tǒng)計庫是可擴(kuò)充的,那么接下來,我們可以更深入的了解盲人對于分詞連寫的需求,然后設(shè)計更多的連寫規(guī)則添加到連寫規(guī)則庫中,更好的讓盲人理解和得到信息。
[1]何川,國內(nèi)信息無障礙的現(xiàn)狀及展望.現(xiàn)代電信科技,2007.37(3):p.4-8.
[2]黃河燕,陳肇雄,黃靜,基于多知識分析的漢盲轉(zhuǎn)換算法,in 語言計算與基于內(nèi)容的文本處理.2003:哈爾濱.p.607-613.
[3]陳肇雄,高慶獅,SC 文法功能體系.計算機(jī)學(xué)報,1992.11:p.801-808.
[4]Knuth,D.E.,The art of computer programming,volume 3:sorting and searching.1973,Addison-Wesley Reading,Mass.
[5]滕偉民等.中國盲文.1996:華廈出版社.