李峰,易綿竹
(中國(guó)人民解放軍外國(guó)語(yǔ)學(xué)院,河南洛陽(yáng)471003)
在許多自然語(yǔ)言處理(обработкаестественногоязыка)應(yīng)用研究中 ,屈折語(yǔ)形態(tài)分析往往是必不可少的一個(gè)模塊[1],俄文也不例外。俄語(yǔ)是斯拉夫語(yǔ)系的分支 ,屬典型的屈折語(yǔ)(флективныйязык),其特點(diǎn)是語(yǔ)法結(jié)構(gòu)嚴(yán)謹(jǐn)、語(yǔ)序排列隨意性強(qiáng),詞的形態(tài)變化十分豐富。其中,俄語(yǔ)名詞通常約有12個(gè)體現(xiàn)性、數(shù)、格語(yǔ)法意義的形式;形容詞最多約有28個(gè)詞形變化形式;俄語(yǔ)動(dòng)詞則更為復(fù)雜,不但有體、態(tài)、式、時(shí)、人稱、數(shù)、性等語(yǔ)法范疇,在另一維度上還分完成體與未完成體形式。俄文形態(tài)自動(dòng)分析在我國(guó)雖有個(gè)別研究,然而終因其復(fù)雜性,至今還沒(méi)有一個(gè)較為成熟的應(yīng)用模塊。在此背景下,本文系統(tǒng)歸納了國(guó)內(nèi)外 常見(jiàn) 的俄文 形態(tài) 分 析(морфологическийанализ)方法 ,深入剖析了幾個(gè)具有代表意義的俄文形態(tài)自動(dòng)分析器,同時(shí)在此基礎(chǔ)上提出并運(yùn)用多策略融合的方法構(gòu)建了一個(gè)較為高效的俄文形態(tài)自動(dòng)分析系統(tǒng),以期為我國(guó)俄文自然語(yǔ)言處理應(yīng)用研究盡綿薄之力。
近三十年來(lái),國(guó)外許多學(xué)者在俄文形態(tài)自動(dòng)分析方面做了大量的研究工作[2-10],嘗試了許多不同的方法,我國(guó)傅興尚[11]、范永明[12]等學(xué)者也曾撰文對(duì)此進(jìn)行深入闡述。綜合前人研究結(jié)果,可以把常見(jiàn)的俄文形態(tài)自動(dòng)分析方法歸納為以下幾種:1)基于詞典的方法(декларативныйподход);2)基 于規(guī)則的方法(процедурныйподход);3)基于無(wú)詞典的方法;4)多策略融合的方法。
基于詞典的分析方法是較早的一種分析方法,它通過(guò)人工或半人工的方式窮舉俄文單詞每個(gè)可能的變化形式,并將這些可能的變化形式組成詞典來(lái)進(jìn)行形態(tài)自動(dòng)分析。該方法的優(yōu)點(diǎn)是形式簡(jiǎn)單技術(shù)門(mén)檻較低,且還原率高,運(yùn)算速度快;不足的是俄語(yǔ)總共積累了大約20萬(wàn)詞左右[13],隨著社會(huì)的發(fā)展,俄語(yǔ)通過(guò)構(gòu)詞或引進(jìn)外來(lái)詞等方式還在不斷擴(kuò)大著詞匯總量,即使通過(guò)許多人多年的努力能夠?yàn)橐延卸砦脑~毫無(wú)差錯(cuò)地窮舉出所有可能的變化形式,對(duì)未登錄詞或新詞也將無(wú)能為力。
基于規(guī)則的方法主要是通過(guò)構(gòu)建詞干與詞綴詞典,通過(guò)一系列輔助的變化規(guī)則表來(lái)實(shí)現(xiàn)俄文詞的形態(tài)自動(dòng)分析[14-15]。這種方法的優(yōu)點(diǎn)是能夠一定程度上縮小詞典規(guī)模,運(yùn)用語(yǔ)言學(xué)規(guī)則進(jìn)行詞的形態(tài)分析;然而俄語(yǔ)有1000多種構(gòu)詞法,特殊變化詞比例較高[16],因而編寫(xiě)這個(gè)規(guī)則庫(kù)將非常耗時(shí)費(fèi)力,規(guī)則庫(kù)本身也將十分龐大,同時(shí)也很難避免規(guī)則間的重疊交織。在實(shí)際應(yīng)用中,這種方法一方面會(huì)大大加重算法負(fù)擔(dān),另一方面當(dāng)規(guī)則編寫(xiě)略有不周時(shí),形態(tài)分析正確率就會(huì)迅速下降,即便對(duì)于規(guī)則變化的詞,也可能會(huì)出現(xiàn)分析錯(cuò)誤。例如:“-ат ь”一般會(huì) 作 為 動(dòng) 詞 的 詞 尾 (с к а з ат ь, б е ж а т ь...), 但“к р о в а т ь”卻是 名詞 ,也就是 說(shuō)如 果不考 慮這種 例外,將會(huì)導(dǎo)致分析錯(cuò)誤。近年來(lái)在面向應(yīng)用的系統(tǒng)研發(fā)中,這種方法多與其他方法結(jié)合使用[17-20]。
基于無(wú)詞典的方法是指在形態(tài)分析中沒(méi)有詞形或詞干等詞典信息的參與,而是利用少量的語(yǔ)言學(xué)信息,通過(guò)一系列的統(tǒng)計(jì)與學(xué)習(xí)的方法進(jìn)行形態(tài)自動(dòng)分析?;跓o(wú)詞典的方法又細(xì)分為多種方法,如利用俄文詞規(guī)則變化表列舉一系列規(guī)則進(jìn)行形態(tài)分析后去文本中驗(yàn)證;利用大規(guī)模的語(yǔ)料庫(kù)進(jìn)行反向統(tǒng)計(jì)分析后綴構(gòu)成,得到詞的可能形態(tài),再用概率的方法選擇最可能的分析結(jié)果等。這些無(wú)詞典的分析方法在使用過(guò)程中還可能會(huì)使用詞性或者上下文相關(guān)詞等多種信息進(jìn)行輔助判斷,因方法眾多,這里不再詳細(xì)舉例。其優(yōu)勢(shì)主要是不像前兩種方法需要人工構(gòu)建大規(guī)模的預(yù)備知識(shí)庫(kù)(詞形庫(kù)、詞干庫(kù)、詞綴庫(kù)等),缺點(diǎn)是需要大規(guī)模的語(yǔ)料以及統(tǒng)計(jì)計(jì)算,又因俄語(yǔ)構(gòu)詞規(guī)則繁多,不規(guī)則變化詞數(shù)目眾多,在完全無(wú)詞典的條件下,這種方法在速度與準(zhǔn)確率方面很難平衡,因而較少采用,目前這種算法僅見(jiàn)于個(gè)別的自然語(yǔ)言處理系統(tǒng)中[11]。
多策略融合的方法,顧名思義就是使用多種策略與方法進(jìn)行俄文詞的形態(tài)自動(dòng)分析。這種方法在爭(zhēng)取處理速度的基礎(chǔ)上整合多種方法的優(yōu)勢(shì),力求達(dá)到一個(gè)較高的準(zhǔn)確率。本文最終實(shí)現(xiàn)的俄文形態(tài)分析系統(tǒng)也使用了這一方法,并取得了令人滿意的效果。它的優(yōu)勢(shì)是吸收多種方法的長(zhǎng)處,形成一種方法上的整合優(yōu)勢(shì),缺點(diǎn)是需要較好的算法設(shè)計(jì)以保證速度,并能夠在各種優(yōu)勢(shì)之間取一個(gè)平衡點(diǎn),以達(dá)到形態(tài)分析系統(tǒng)的最優(yōu)性能與最高準(zhǔn)確率。
俄文語(yǔ)言的特點(diǎn)決定了無(wú)論使用哪種方法進(jìn)行俄文形態(tài)自動(dòng)分析都需要付出艱辛的努力,盡管如此,依然有許多學(xué)者在此方面做了大量而細(xì)致的工作,取得了較高的準(zhǔn)確率,并有一部分研究機(jī)構(gòu)與個(gè)人將他們努力的成果開(kāi)源共享,為俄文自然語(yǔ)言處理應(yīng)用研究貢獻(xiàn)了自己的力量。限于篇幅,本文主要結(jié)合俄羅斯 2010年《“文本自動(dòng)分析方法評(píng)測(cè)——俄文形態(tài)自動(dòng)分析”論壇》[21]參與方提供的俄文形態(tài)分析器以及其他比較知名的俄文形態(tài)分析器進(jìn)行探討,其中重點(diǎn)放在開(kāi)源軟件上。
1)AOT
俄羅斯文本自動(dòng)處理(АвтоматическаяОбработкаТекста)研究組開(kāi)發(fā)的 AOT 軟件包主要用于俄、英、德三種語(yǔ)言文本的自動(dòng)形態(tài)分析與處理[22]。從2002年開(kāi)始該研究組開(kāi)放了該軟件包的源代碼,任何商業(yè)組織或個(gè)人都可以在遵循LGPL協(xié)議[23]的條件下免費(fèi)使用,該軟件包可以在Windows等多種平臺(tái)下運(yùn)行,因其跨平臺(tái)性及較高的準(zhǔn)確率而具有十分廣泛的知名度。
AOT主要使用基于詞典與規(guī)則的方法進(jìn)行形態(tài)自動(dòng)分析,在俄文形態(tài)自動(dòng)分析模塊中其使用Злизняк詞典[24]為分析依據(jù) 。 Зализняк詞典包含詞干、前綴、后綴以及重音等信息,其中,詞干約10萬(wàn)條,規(guī)則集約12萬(wàn)條。由于本文構(gòu)建的俄文形態(tài)自動(dòng)分析系統(tǒng)將使用該詞典,故此處不作過(guò)多介紹。
2)Стемка(Stemka)
Стемка[25]是由俄羅斯學(xué)者安德烈 ? 科瓦連科開(kāi)發(fā)的一個(gè)開(kāi)源的俄文形態(tài)自動(dòng)分析庫(kù),2002年后加入了對(duì)烏克蘭文的支持[26],該庫(kù)在保留作者版權(quán)的條件下可以免費(fèi)自由使用。
Стемка系統(tǒng)把屈折語(yǔ)形態(tài)分析看作是一 個(gè)機(jī)器學(xué)習(xí)的過(guò)程,該分析器使用一個(gè)經(jīng)過(guò)形態(tài)分析預(yù)處理的文本語(yǔ)料庫(kù)作為訓(xùn)練集(該語(yǔ)料集使用Ispell[27]進(jìn)行預(yù)處理),在訓(xùn)練的過(guò)程中針對(duì)每一個(gè)詞進(jìn)行剖析 ,獲取其不變部分 stem(Стемка系統(tǒng)規(guī)定stem中必須包含一個(gè)元音字母)及變化部分suffix(語(yǔ)料庫(kù)中沒(méi)有經(jīng)過(guò)形態(tài)分析的詞將直接被忽略),進(jìn)而得到一條規(guī)則rule,該規(guī)則可表示如下:
Rule(W)→rule(stem.subString(stem.length-2,2),suffix)
例如 ,對(duì)于морями這個(gè)單詞將產(chǎn)生規(guī)則 :
Rule(морями)→rule(-ор-,-ями)
其中ями是變化部分,op是 stem的后兩個(gè)字母 。Стемка利用這種方式為每一個(gè)詞產(chǎn) 生 一 條rule,并統(tǒng)計(jì)這些 rule的頻率,統(tǒng)計(jì)結(jié)束后,低頻rule將被移出,未移出的rule生成一個(gè)包含概率信息的 規(guī)則集 ,Стемка將依據(jù) 這些規(guī)則 集進(jìn)行形 態(tài)分析。
值得一提的是 ,Стемка系統(tǒng)沒(méi)有考慮俄語(yǔ)中許多特定的詞在進(jìn)行形態(tài)自動(dòng)分析時(shí)可能需要多條規(guī)則的情況 ,如針對(duì) “начинающийся”進(jìn)行分析時(shí) ,因其可發(fā)生變化的部分有 ий和ся兩處 ,因而Стемка系統(tǒng)將無(wú)法決定在單詞的何處開(kāi)始自動(dòng)分析。
3)其他的俄文形態(tài)分析器
除了 AOT 與Стемка外 ,其他的俄文形態(tài)分析器還有許多,如俄羅斯非商業(yè)性自組織信息研究中心(АвтономнаянекоммерческаяорганизацияЦентинформационныхисследований, АНО ЦИИ)研發(fā)的Cir_morph[28]能夠?qū)Χ怼⒂⑽倪M(jìn)行自動(dòng)形態(tài)分析 ,其俄文模塊以 З ал и з н я к詞典為基礎(chǔ) ,目前已經(jīng)擴(kuò)充到約13萬(wàn)詞庫(kù);俄羅斯科學(xué)院信息傳輸問(wèn)題研究所計(jì)算語(yǔ)言學(xué)實(shí)驗(yàn)室(лабораториякомпьютернойлингвистики, ИППИ РАН)研 發(fā)的 FSTMorph/Ф С ТМо р ф Ф[29],目前其形態(tài)詞典規(guī)模約為 12 萬(wàn)條 ,并能夠順利處理數(shù)字、大小寫(xiě)、人名及地名等問(wèn)題;著名俄文搜索引擎 Я н д е к с開(kāi)發(fā)的 mystem[30]僅用于俄文形態(tài)的自動(dòng)分析,對(duì)于無(wú)法使用形態(tài)詞典進(jìn)行分析的單詞,系統(tǒng)會(huì)自動(dòng)運(yùn)用相應(yīng)的算法給出可能的形態(tài)分析結(jié)果[18];其他的一些俄文形態(tài)分析器 ,如 Кросслятор[31],Libmorphrus[32],RCO Morphology[33],Ispell等,限于這些分析器主要功能并不是用于俄文形態(tài)自動(dòng)分析或者屬于商業(yè)系統(tǒng),本文不再作詳細(xì)討論,有興趣的讀者可以查閱俄羅斯2010年《“文本自動(dòng)分析方法評(píng)測(cè)——俄文形態(tài)自動(dòng)分析”論壇》[21]主頁(yè)了解更多信息。
從上文俄文形態(tài)自動(dòng)分析常見(jiàn)方法可以看出,如果使用單一的方法構(gòu)建俄文形態(tài)自動(dòng)分析系統(tǒng),將不可避免地存在這樣或那樣的不足,而使用多策略融合的方法不但能夠一定程度上避免單一方法的不足,而且能夠發(fā)揮多方法的整合優(yōu)勢(shì)。當(dāng)前多數(shù)俄文形態(tài)自動(dòng)分析系統(tǒng)都采用了融合的方法,例如:AOT 使用了基于詞典與規(guī)則兩種方法 ;С т е м к а使用了Ispell處理過(guò)的文本語(yǔ)料庫(kù)生成一個(gè)規(guī)則集,然后使用這些生成的規(guī)則來(lái)進(jìn)行詞的形態(tài)分析;其他較為實(shí)用的俄文形態(tài)自動(dòng)分析系統(tǒng)也很少采用單一的方法。
本文構(gòu)建的俄文形態(tài)自動(dòng)分析系統(tǒng)也不例外,采用了多策略融合的方法,其主要由詞預(yù)處理層、詞形詞典層、規(guī)則分析層以及統(tǒng)計(jì)學(xué)習(xí)層四層構(gòu)成,每一層都是一個(gè)獨(dú)立的模塊,同時(shí)這四層之間又相互影響。其中,詞預(yù)處理層是各層處理的基礎(chǔ),詞形詞典層是統(tǒng)計(jì)學(xué)習(xí)層的訓(xùn)練語(yǔ)料,規(guī)則分析層是詞形詞典層的補(bǔ)充,統(tǒng)計(jì)學(xué)習(xí)層又作為詞形詞典層不斷擴(kuò)容的主要來(lái)源。
詞預(yù)處理層主要由俄文常用停用詞列表、常用縮略語(yǔ)列表以及一些淺層規(guī)則集構(gòu)成。當(dāng)該層接收到一個(gè)單詞時(shí),首先判斷其是不是俄文單詞,是不是存在于停用詞列表或縮略語(yǔ)列表中,并運(yùn)用一些規(guī)則進(jìn)行詞的規(guī)范化處理。鑒于停用詞在俄文自然語(yǔ)言處理中經(jīng)常被拋棄,縮略語(yǔ)變化形式不確定等因素,本層將直接過(guò)濾停用詞與縮略語(yǔ),同時(shí)對(duì)俄文單詞書(shū)寫(xiě)進(jìn)行了規(guī)范化處理,其中以處理“ё”與“е”不分現(xiàn)象為主。在預(yù)處理完畢后,將結(jié)果傳遞給下一層。
詞形詞典層使用一部詞形詞典[34]作為分析基礎(chǔ) ,該詞典由 Зализняк詞典轉(zhuǎn)換而來(lái) ,窮舉了 近 9萬(wàn)詞的所有可能變化形式,并修正了原詞典中的不少錯(cuò)誤,累計(jì)共約260余萬(wàn)詞形。為提高處理速度,本層使用MSSQL2008企業(yè)版數(shù)據(jù)庫(kù)[35]存儲(chǔ)詞典,并為相關(guān)字段建立索引,在檢索過(guò)程中采用存儲(chǔ)過(guò)程對(duì)數(shù)據(jù)庫(kù)進(jìn)行只讀操作。當(dāng)詞形詞典層接收到來(lái)自詞預(yù)處理層傳遞的單詞后,即進(jìn)入數(shù)據(jù)庫(kù)檢索:查到相應(yīng)的記錄后,首先指向詞的原形,若是形態(tài)還原則直接返回,若是形態(tài)生成,則返回整個(gè)數(shù)據(jù)行;如果沒(méi)有查詢到相關(guān)記錄,則將詞傳遞給規(guī)則分析層。引入本層的主要目的在于利用空間換取時(shí)間,經(jīng)測(cè)試在260余萬(wàn)數(shù)據(jù)量時(shí),單個(gè)詞的檢索時(shí)間保持在1毫秒以下。
規(guī)則分析層采用了類(lèi)似 AOT 的算法 ,以 Зализняк原詞典作為分析基礎(chǔ)。本文為了獲取較高的運(yùn)行速度,把該詞典加工為數(shù)據(jù)庫(kù)存儲(chǔ)形式,并為相關(guān)列建立索引。其算法流程為:當(dāng)本層接收到傳入的單詞后,首先使用相似檢索查詢所有可能的詞干,形成一個(gè)列表,其次用迭代的方法為該列表中的每個(gè)詞干生成所有的詞形,即若干個(gè)對(duì)應(yīng)的子列表,最后再次使用一次迭代對(duì)比查找傳入的單詞屬于哪個(gè)子列表,若查找到 ,則返回該子列表(Зализняк詞典在編寫(xiě)過(guò)程中,保證了每一個(gè)詞干生成的詞形列表中第一個(gè)元素為原形,其他元素是該詞的相應(yīng)變化形式),若查找結(jié)果為空則將詞繼續(xù)傳遞給下一層。
統(tǒng)計(jì)學(xué)習(xí)層不同于 Стемка算法 ,它在接收到傳入詞后,首先以元音為標(biāo)識(shí)進(jìn)行迭代切割生成長(zhǎng)度依次遞減的子字符串,形成一個(gè)字符串列表,在切割的過(guò)程中要求列表中每個(gè)字符串元素至少包含一個(gè)元音;其次以詞形詞典層約260萬(wàn)確定的詞形變化作為訓(xùn)練集,按順序迭代檢索與列表中字符串相似的詞形,當(dāng)檢索返回結(jié)果不為空時(shí)停止;然后從檢索結(jié)果中統(tǒng)計(jì)并學(xué)習(xí)形態(tài)分析規(guī)則;最后運(yùn)用學(xué)習(xí)到的規(guī)則集對(duì)傳入詞進(jìn)行形態(tài)分析。當(dāng)對(duì)單個(gè)詞進(jìn)行分析時(shí),如果學(xué)習(xí)到的規(guī)則條數(shù)大于1,則該層將返回各種可能的形態(tài)分析結(jié)果,并將這些結(jié)果存入本層歷史數(shù)據(jù)庫(kù)以待檢驗(yàn);當(dāng)根據(jù)某條規(guī)則生成的一些詞形多次作為傳入詞出現(xiàn),并在歷史數(shù)據(jù)庫(kù)中命中時(shí),即確定相應(yīng)規(guī)則的有效性,此時(shí)系統(tǒng)根據(jù)此規(guī)則生成該詞的所有變化形式,并將結(jié)果存入詞形詞典層,最后在移出歷史數(shù)據(jù)庫(kù)中對(duì)應(yīng)規(guī)則及相關(guān)數(shù)據(jù)的同時(shí)更新詞形詞典層數(shù)據(jù)庫(kù)索引。
整個(gè)形態(tài)分析處理過(guò)程如圖1所示。
圖1 多策略融合的俄文形態(tài)自動(dòng)分析流程圖
下面 本 文以 “самолеторейсов”為例 進(jìn) 行 算 法描述:
首先將 “самолеторейсов”傳遞給詞預(yù)處理層 ,經(jīng)判斷其屬于俄文單詞且不在停用詞列表之中也不屬于縮略語(yǔ) ,接著將其標(biāo)準(zhǔn)化處理為“самолеторейсов” ,并傳遞給下一層。
在詞形詞典層,系統(tǒng)檢索到存在詞形“самолеторейсов”, 同時(shí)該詞形指向其原形“самолёторейс” ,在取得“самолёторейс”對(duì)應(yīng)的 ID 值后,系統(tǒng)再次反向順序檢索所有指向此ID值的詞形,同時(shí)形成一個(gè)列表L1,在列表L1中第一個(gè)元素為原形,其他元素按相應(yīng)的變化順序排列,“самолёторейс”為名詞 ,故其生成的形態(tài)列表如表1所示。在列表生成后,直接返回結(jié)果,不再進(jìn)入下一層。
表1 名詞“самолеторейсов”形態(tài)分析列表
為了說(shuō)明算法,我們從詞形詞典層刪除“самолёторейс”及其所有的變化形式 ,迫使程序進(jìn)入規(guī)則分析層。在規(guī)則分析層,系統(tǒng)會(huì)首先使用字符串累加的方法生成若干個(gè)可能的詞干集合P,其中P的元素個(gè)數(shù)為詞長(zhǎng),即:
然后,使用迭代的方法對(duì)P中每一個(gè)元素執(zhí)行詞干與規(guī)則查找,并生成列表L2,然后再次使用迭代的方法查看 L2 中是否包含元素“самолеторейсов” ,若是則返回列表L2,停止迭代,否則立即清空L2并進(jìn)入下一次迭代;如果P中所有元素迭代結(jié)束,列表L2 中依然找 不到“самолеторейсов” ,則本層形態(tài)分析失敗 ,將“самолеторейсов”傳遞給統(tǒng)計(jì)學(xué)習(xí)層 。由于本層采用了類(lèi)似窮舉的方法,導(dǎo)致迭代查找次數(shù)相對(duì)較多,處理速度較詞形詞典層有所降低。
在統(tǒng)計(jì)學(xué)習(xí)層接收到“самолеторейсов”后 ,首先查閱該層歷史數(shù)據(jù)庫(kù)進(jìn)行規(guī)則驗(yàn)證,若驗(yàn)證成功則直接返回形態(tài)分析建議或最終結(jié)果,并執(zhí)行數(shù)據(jù)維護(hù)。若驗(yàn)證失敗則首先以元音為切割點(diǎn)生成一個(gè)可能的變化部分列表Q,即:
其次,使用順序迭代的方法在詞形詞典層數(shù)據(jù)庫(kù)里查找與Q中元素相似的詞列表L3,當(dāng)L3中元素個(gè)數(shù)大于0時(shí),迭代停止。在測(cè)試過(guò)程中迭代到“р е й с о в”時(shí) ,獲取到列表L3,如表2 所示 。
表2 以“рейсов” 結(jié)尾的詞形與原形表
對(duì)表2進(jìn)行統(tǒng)計(jì)學(xué)習(xí),得到規(guī)則集R,即:
緊接著,系統(tǒng)會(huì)使用順序迭代的方法使用R中的每個(gè)元素進(jìn)一步生成形態(tài)規(guī)則生成規(guī)則R′,即:
其中,每條規(guī)則存在小括號(hào)之內(nèi),規(guī)則與規(guī)則之間用逗號(hào)分隔,規(guī)則內(nèi)用分號(hào)分隔形態(tài)生成模式與頻率。
由于本層需要進(jìn)行較多的數(shù)據(jù)運(yùn)算,因此單個(gè)詞分析所需時(shí)長(zhǎng)大于前三層任何一層,不過(guò)由于詞形詞典層及規(guī)則分析層詞典詞條數(shù)均在10萬(wàn)左右,交集在10萬(wàn)以上,覆蓋了俄文常見(jiàn)詞匯99.4%以上[36],故整個(gè)學(xué)習(xí)層對(duì)系統(tǒng)速度影響并不是很大。
為了保證文本書(shū)寫(xiě)比較規(guī)范,實(shí)驗(yàn)采用了俄羅斯國(guó)防部網(wǎng)站新聞文本語(yǔ)料作為測(cè)試語(yǔ)料[37]。我們從收集到的24000余份文本中隨機(jī)抽取10000份作為測(cè)試集,以盡可能廣地覆蓋俄文常用詞匯。在加工分析的過(guò)程中,采用如下處理方式:
1)剔除長(zhǎng)度等于1的俄文單詞;
2)由于本系統(tǒng)將詞的形態(tài)還原與形態(tài)生成處理為生成形態(tài)列表的方式,為減少數(shù)據(jù)運(yùn)算量,只做形態(tài)還原分析;
3)經(jīng)過(guò)系統(tǒng)分析后能夠正確還原的詞標(biāo)記為[詞的 可能 形 式 →詞 的 原 形],如 [→];
4)經(jīng)過(guò)系統(tǒng)分析后沒(méi)有正確還原的詞標(biāo)記為|單詞|,如|Каурбеку|;
5)除了縮略詞列表中出現(xiàn)的縮略詞外,將除了首字母大寫(xiě)外單詞中依然存在至少一個(gè)大寫(xiě)字母的單詞定義為縮略詞;
6)本測(cè)試過(guò)程中,對(duì)于統(tǒng)計(jì)學(xué)習(xí)層返回的多個(gè)可能的形態(tài)分析結(jié)果,判為分析失敗。
經(jīng)運(yùn)行統(tǒng)計(jì)后總共得到1591185個(gè)詞次、73837個(gè)詞形,分析結(jié)果如表3所示,其中還原成功的高頻前10詞如表4所示,還原失敗的高頻前10詞如表5所示。
表3 形態(tài)還原實(shí)驗(yàn)最終統(tǒng)計(jì)結(jié)果
表4 還原成功的高頻前10詞
續(xù)表
表5 還原失敗的高頻前10詞
一般來(lái)說(shuō),在自動(dòng)形態(tài)分析過(guò)程中總會(huì)伴隨著兩種錯(cuò)誤的現(xiàn)象,即形態(tài)分析不足或過(guò)于形態(tài)分析[16]。鑒于本系統(tǒng)在詞形詞典層以及規(guī)則分析層使用了大量的確定的詞典數(shù)據(jù)作為分析依據(jù),同時(shí)由于實(shí)驗(yàn)涉及總詞形數(shù)近8萬(wàn),因而產(chǎn)生了眾多生僻低頻詞,受限于作者知識(shí)水平已經(jīng)無(wú)法對(duì)其做出正確與否的判定,故在統(tǒng)計(jì)分析中不考慮這兩種現(xiàn)象,只是從總體上對(duì)系統(tǒng)所采用的算法進(jìn)行評(píng)估。
本系統(tǒng)采用的詞形詞典、詞干與規(guī)則詞典均屬于常規(guī)領(lǐng)域,而在實(shí)驗(yàn)測(cè)試過(guò)程中受限于語(yǔ)料來(lái)源采用了俄羅斯國(guó)防部網(wǎng)站新聞文本作為語(yǔ)料,屬于軍事專業(yè)領(lǐng)域,因而形態(tài)分析正確率受到了諸如軍事合成詞、軍事生僻詞、小寫(xiě)縮寫(xiě)詞、外來(lái)詞、新的姓名以及錯(cuò)詞等影響。盡管如此,本系統(tǒng)依然取得了形態(tài)分析97.18%的正確率,即使按詞數(shù)算也達(dá)到了90.02%,比AOT算法87%的詞數(shù)正確率高出約三個(gè)百分點(diǎn)[16]。
從處理速度方面看,系統(tǒng)通過(guò)引入詞形詞典層達(dá)到了以空間換時(shí)間的目的,即在詞形詞典層能夠成功進(jìn)行形態(tài)分析時(shí),則立即返回結(jié)果而不需要再進(jìn)入其他兩層,因而速度有了大幅提升。同時(shí),從前文算法描述中可以看出,本測(cè)試使用大型數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù),并通過(guò)其他技術(shù)手段進(jìn)行調(diào)優(yōu),因而即使在大規(guī)模的數(shù)據(jù)測(cè)試中,系統(tǒng)依然能夠保持較好的速度與性能。
最后,系統(tǒng)在統(tǒng)計(jì)學(xué)習(xí)層針對(duì)傳入詞進(jìn)行規(guī)則學(xué)習(xí)與持續(xù)的驗(yàn)證,從而獲取并返回詞的正確分析形式,并同步更新詞形詞典層。這種機(jī)制的引入能夠在提高準(zhǔn)確率的同時(shí),進(jìn)一步發(fā)揮詞形詞典層處理速度快的優(yōu)勢(shì)??梢灶A(yù)見(jiàn),隨著系統(tǒng)的不斷使用,系統(tǒng)的整體處理速度會(huì)越來(lái)越快,同時(shí)準(zhǔn)確率也將不斷提升。
本文系統(tǒng)分析并歸納了國(guó)內(nèi)外俄文形態(tài)自動(dòng)分析方法,深入剖析了俄羅斯以及歐美等其他國(guó)家具有代表意義的俄文形態(tài)分析器,并在此基礎(chǔ)上構(gòu)建了一個(gè)多策略融合的俄文形態(tài)自動(dòng)分析系統(tǒng)。系統(tǒng)采用分層設(shè)計(jì)的方式,在面對(duì)大規(guī)模測(cè)試集的情況下,不僅取得了較高的正確率,同時(shí)也保證了處理速度,得到了令人較為滿意的效果。
受限于語(yǔ)料資源來(lái)源不足以及作者自身知識(shí)水平,本文沒(méi)有對(duì)非專業(yè)領(lǐng)域文本進(jìn)行大規(guī)模測(cè)試,也沒(méi)有考慮俄文中合成詞以及縮略語(yǔ)等詞的形態(tài)分析。在未來(lái)作者將針對(duì)本系統(tǒng)做更多的測(cè)試與完善工作,同時(shí)作者也期望本文能夠拋磚引玉,為面向俄文的自然語(yǔ)言處理應(yīng)用研究盡綿薄之力。
[1]А.Ю. МУСОРИН.Основы науки о языке[ M ].Новосибирск:Новосибирское книжное издательство,2004:57-57 .
[2]Igor A.Bolshakov.A large Russian morphological vocabulary for IBM compatibles and methods of its compression[C]//Proceedings of the 13th conference on Computational linguistics,Helsinki,Finland:August 20-25,1990:p.317-317.
[3]Anciaux,Michele.Word-form Recognition and Generation:A Computational Approach to Russian Morphology[D].PhD dissertation,University of Washington:1991.
[4]Mikheev A.Automatic rule induction for unknownword guessing[J].Computational Linguistics,1997,23:405-423.
[5]John A.Goldsmith.Unsupervised learning of the morphology of a natural language[J].Computational Linguistics,2001,27(2):153-198.
[6]ЕлкинС.В., КлышинскийЭ.С., СтеклянниковС.Е.Проблемысозданияуниверсальногоморфосемантическогословаря[ M].трудов Международных конференцийIEEE AIS' 03 иCAD-2003 , том 1 , Дивноморское.2003 .
[7]ГельбухА.Ф., Сидоров Г.О. К вопросу обавтоматическомморфологическоманализефлективныхязыков[ C]// Труды Конференции Диалог-2005 :92-96 .
[8]Сидорова Е.А. Многоцелеваясловарная подсистемаизвлечения предметной лексики[ M]. Трудымеждународногосеминара Диалог' 2008 “ Компьютернаялингвистика и интеллектуальные технологии” .Россия:Наука, 2008:475-481.
[9]Клышинский Э. С. Некоторые сложностиавтоматизированной лемматизации несловарныхсловоформ[ M]. Труды международного семинараДиалог' 2009 “ Компьютерная лингвистика иинтеллектуальныетехнологии” .Россия:Наука, 2009 :165-169.
[10]Черненьков Д.М .Автоматизированноепополнениеморфологического словаря на массиве текстовыхдокументов[ M]. Труды научно-практическогосеминара “ Новыеинформационныетехнологии-12” ,Россия:МИЭМ , 2009 :138-141.
[11]傅興尚.俄語(yǔ)形態(tài)信息的自動(dòng)化處理——形態(tài)自動(dòng)分析及其算法[J].外語(yǔ)學(xué)刊,2003,(3):100-105.
[12]范永明.俄語(yǔ)機(jī)器輔助閱讀系統(tǒng)的詞法分析原則及其實(shí)現(xiàn)和難點(diǎn)處理[J].遼寧大學(xué)學(xué)報(bào),1999(5):319-323.
[13]趙敏善.俄漢語(yǔ)的本質(zhì)性差異[J].中國(guó)俄語(yǔ)教學(xué),1997,(3):43-46.
[14]Аношкина Ж.Г. Морфологический процессор русскогоязыка[ C]// Бюллетень машинного фонда русскогоязыка/отв.редактор В.М. Андрющенко / М.,1996, Вып.3 , с.53-57 .
[15]Саввина Г.В., Саввин И.В.Лемматизация словрусского языка в применении к распознаваниюслитнойречи[ C]// Диалог′2001.Т.2:Прикладныепроблемы.Аксаково, 2001:343-346 .
[16]М.В.Губин, А.Б.Морозов.Влияниеморфологическогоанализа на качествоинформационногопоиска[ C]//Pro ceeding s o f the RCDL 2006 .Россия.224-228 .
[17]КоваленкоА.Вероятностныйморфологическийанализаторрусского и украинского языков[ J]. Системныйадминистратор, 2002, 10(1):23-27 .
[18]Segalovich I.A Fast Morphological Algorithm with Unknown Word Guessing Induced By a Dictionary for a Web Search Engine[EB/OL].[2003-7-10].http://company.yandex.ru/articles/iseg-las-vegas.html
[19]Илья Сегалович, Михаил Маслов. Русскийморфологический анализ и синтез с генерациеймоделейсловоизменениядлянеописанныхвсловаресловКазань[ J].ООО“ Хэтер” , 1998, 9(2):547-552 .
[20]Аношкина Ж . Г. Морфологический процессоррусскогоязыка[ C]// Альманах“Говор” , Сыктывкар,1995 :17-23.
[21]Форум “ Оценка методов автоматического анализатекста:морфологические парсеры русского языка”[ EB/ OL].[ 2010-5-10].http :// ru-eval .ru .
[22]А в т о м ат и ч е с к аяО б р а б о т к а Т е к с т а[EB/OL].[2002-3-12].http://www.aot.ru/.
[23]LGPL 協(xié) 議[EB/OL].[2007-3-29].http://www.gnu.org/licenses/lgpl.html.
[24]ЗализнякА.А.Грамматический словарь русскогоязыка.Словоизменение.Около 100000 слов[ M ].Россия:“Русскийязык” , 1977 :1-880.
[25]Английский, украинскийирусскийморфологическийанализианализаторы[ EB/ OL].[ 2002-7-5].http://ling uist .nm .ru/ .
[26]Kovalenko A.Stemka:Morphological analyzer for small search systems[J].System Administrator.2002(10):57-61.
[27]Ispell[EB/OL].http://www.gnu.org/software/ispell/ispell.html.
[28]Cir_morp[EB/OL].http://uisrussia.msu.ru/docs/ips/n/cir.htm.
[29]FSTMorph/ ФСТМорфФ[EB/OL].http ://www.iitp.ru.
[30]mystem[EB/OL].http://company.yandex.ru/technology/mystem.
[31]Кросслятор[EB/OL].http://www.keldysh.ru/.
[32]Libmorphrus[EB/OL].http://www.keva.ru/.
[33]RCO Morphology[EB/OL].http://www.rco.ru/product.asp?ob_no=2871&part=docs.
[34]Russian Dictionaries and M orphology[EB/OL].http://starling.rinet.ru/
[35]MSSQL2008 數(shù)據(jù)庫(kù)[OL].http://www.microsoft.com/sqlserver/2008/en/us/default.aspx.
[36]常見(jiàn)俄文詞覆蓋率列表[OL]http://www.artint.ru/projects/frqlist/analysis.txt.
[37]俄羅斯國(guó)防部分網(wǎng)站[EB/OL].http://www.mil.ru.