畢玉德,姜博文
(1. 復(fù)旦大學(xué) 外國語言文學(xué)學(xué)院,上海 200433;2. 信息工程大學(xué) 洛陽校區(qū),河南 洛陽 471003)
相似度計算作為自然語言處理領(lǐng)域的一項基礎(chǔ)算法,越來越受到研究人員的關(guān)注。目前,相似度計算的方法基本都集中在兩方面: 一種方法是基于表層特征的詞法、句法的相似度計算,這種方法注重對句子形式等一些外部特征的研究;另外一種方法是深層的基于語義的相似度計算,計算過程中需要使用語義詞典等對句子進(jìn)行分析,例如WordNet,最終得到句子的相似度。目前基于語義的相似度計算方法并沒有太多的突破,還有很長的路要走。
國內(nèi)外學(xué)者對相似度計算的研究已經(jīng)取得了不少成績。其中,國外學(xué)者Chris等[1]采用了隱含語義索引(latent semantic indexing)的方法,它是一種自動的索引方法,通過挖掘文本和詞匯之間的隱含關(guān)系來得出相似度,這種方法效率比較高。國內(nèi)學(xué)者在研究相似度計算方面也取得了一定的成績。晉耀紅[2]提出了一種新的形式化文本模型——語境框架來計算文本相似度,這種方法考慮了句子的歧義、多義及語言的褒貶傾向,但是最終效果取決于語義知識庫的質(zhì)量;李彬等[3]提出了一種基于語義依存的句子相似度計算方法,該方法效果優(yōu)于經(jīng)典的TF-IDF算法,其計算效果受制于句子依存分析的準(zhǔn)確率。劉宏哲[4]提出了一種基于本體的句子相似度計算方法,利用本體概念與句子中關(guān)鍵詞之間建立的語義索引,構(gòu)建句子與本體間的直接和間接語義聯(lián)系,據(jù)此提取描述句子的語義向量,從而計算句子間的語義相似度。王榮波等[5]提出了一種漢語句子結(jié)構(gòu)相似性的計算方法,該方法比較兩個句子的詞類信息串,通過最優(yōu)匹配,進(jìn)行結(jié)構(gòu)相似度計算。孫向東等[6]從圖同構(gòu)角度給出樹同構(gòu)的性質(zhì),闡述了結(jié)構(gòu)異構(gòu)與結(jié)構(gòu)對齊之間的關(guān)系,利用對數(shù)線性模型,提出了基于結(jié)構(gòu)對齊的統(tǒng)計機器翻譯模型。鄧涵等[7]提出了基于句法結(jié)構(gòu)與修飾詞的句子相似度計算方法,該方法對本文研究具有借鑒意義。
鑒于韓國語的黏著語屬性,其語法功能采用語法標(biāo)記實現(xiàn),我們嘗試研究句子結(jié)構(gòu)相似度來為基于實例的機器翻譯服務(wù)。待翻譯語言與實例庫中實例句的匹配是基于實例機器翻譯的核心過程,匹配的過程就是相似度計算的過程,匹配的準(zhǔn)確度直接影響最終的譯文質(zhì)量。本文研究目的是提高基于實例的機器翻譯效果,句子的相似度計算是提高翻譯效果的核心問題,我們聚焦該過程的關(guān)鍵環(huán)節(jié)——句子的結(jié)構(gòu)相似度,結(jié)合韓國語的句法特點提出了一種基于句子結(jié)構(gòu)的相似度計算方法。通過在語言教學(xué)及句法研究中的積累形成句法知識庫,利用知識庫制定了句子結(jié)構(gòu)中標(biāo)記轉(zhuǎn)換規(guī)則,那么假設(shè)句子的結(jié)構(gòu)相似,如果兼顧詞形、語義等信息,句子的相似度計算效果將會得到提高,特別是隨著句法知識庫的不斷豐富,基于實例的機器翻譯系統(tǒng)的譯文質(zhì)量也會更加準(zhǔn)確。
韓國語作為黏著語的一個顯著特點就是具有種類豐富的助詞和詞尾,它的語法關(guān)系主要依靠助詞、詞尾和語法連語來實現(xiàn),其句子成分所在的位置相對比較自由,基本跟它們的語序無關(guān)[8]。其中,助詞包括格助詞和補助格助詞,后者是對前者的意義上的補充。助詞沒有獨立的詞匯意義,一般只能加在體詞后面,表示該詞在句中的地位,是其充當(dāng)句子某一句法成分的表現(xiàn)形式。韓國語的格助詞系統(tǒng)包含主格、賓格、屬格、副詞格、補格、呼格等助詞,分別表示句子的主語、賓語、定語、狀語、補語、獨立語。詞尾是接在謂詞(包括系詞)詞干后、一起構(gòu)成句子的謂語,詞尾分為先句末詞尾和句末詞尾,其中先句末詞尾包括時間詞尾和尊敬詞尾,句末詞尾包括終結(jié)詞尾、連接詞尾和轉(zhuǎn)成詞尾。結(jié)合韓國語的形式化特點,研究者制定了一套韓國語分詞體系,共7大類(體詞、謂詞、修飾詞、助詞、依存詞、獨立詞、符號)、35小類(如普通名詞、代詞、形容詞、輔助謂詞等)。
本文選取的實驗語料來自韓國“21世紀(jì)世宗計劃”標(biāo)注語料庫中的單句,該語料庫是韓國政府于1998年開始建設(shè),一直持續(xù)到2007年,耗費十年建立起來的國家級語料庫,其內(nèi)容涵蓋韓國的政治、經(jīng)濟、歷史、文化等眾多方面,這些內(nèi)容基本可以代表韓國語的最普遍特征,使用這個語料庫的目的是力圖使結(jié)果更加客觀。
韓國“世宗計劃”開發(fā)的標(biāo)注語料庫,正是采用該分詞體系。例如:
目前,對句子的相似度并沒有一個明確的概念,因為句子的相似度是一個主觀性很強的概念,它在不同的領(lǐng)域表示的意義也不盡相同。本文的具體應(yīng)用背景是基于實例的韓漢機器翻譯,句子相似度反映更多的是源語言與實例庫中實例的結(jié)構(gòu)相似度。在此給出句子相似度的概念: 兩個句子的相似度是指兩個句子在結(jié)構(gòu)以及詞形上的匹配符合程度,相似度取值為[0,1]之間的實數(shù),相似度越接近于1,說明兩個句子越相似;否則反之。
發(fā)達(dá)的韓國語助詞體系對韓國語的句子結(jié)構(gòu)以及語義表達(dá)有著直接影響,如果兩個句子中共同含有的助詞同時連續(xù)出現(xiàn)且在句子中的位置也相同,那么這兩個句子就為結(jié)構(gòu)相似,這就降低了翻譯的難度,直接找到已經(jīng)翻譯過的結(jié)構(gòu)相似的句子就較容易得到譯文。同時,如果再加入詞形信息,那么相似度的計算結(jié)果將更加精確,本文目前主要研究結(jié)構(gòu)相似,對于詞形相似暫不做詳細(xì)說明。實驗選取“世宗語料庫”中的單句作為研究對象,進(jìn)行句子結(jié)構(gòu)的相似度計算試驗。
1.2.1 骨架結(jié)構(gòu)提取
1.2.2 句中標(biāo)記轉(zhuǎn)換規(guī)則
根據(jù)韓國語句子的語言結(jié)構(gòu)特點以及對應(yīng)漢語譯文的位置特點,制定了以下7條針對句子結(jié)構(gòu)成分標(biāo)記處理和轉(zhuǎn)換的規(guī)則。
規(guī)則2在一個句子中,如果基本結(jié)構(gòu)中主格助詞(JKS)與補助詞(JX)相鄰出現(xiàn),即出現(xiàn)這樣的結(jié)構(gòu)JKS+JX,那么在處理過程中按照J(rèn)KS單獨處理;如果出現(xiàn)JKB+JX的結(jié)構(gòu),則按照J(rèn)KB單獨出現(xiàn)來處理。這是因為補助格(JX)只是起到對前面的格助詞的補充作用。
規(guī)則3當(dāng)句子中出現(xiàn)動詞派生結(jié)尾詞(XSV)時,說明該句中的動詞是派生動詞,等同于其他句子中的VV。類似的,當(dāng)出現(xiàn)形容詞派生結(jié)尾詞(XSA)時,等同于其他句子的VA。
規(guī)則6對于慣用型,要同時考慮標(biāo)記和標(biāo)記前的詞匯,按照體、樣式和否定范疇做不同的處理歸類。
規(guī)則7如果句子1的基本結(jié)構(gòu)有四個結(jié)構(gòu)性成分A、B、C、D,句子2中與句子1中的基本結(jié)構(gòu)成分是一樣的但是順序不同,是B、A、C、D,那么視為相似;如果句子2中基本結(jié)構(gòu)標(biāo)記是B、C、D,包含于句子1的句子成分中,那么視為一定相似,相似度為75%,這是根據(jù)共同含有的成分計算得來的。這個原則我們稱之為包含相似原則。但是這個原則中存在一種特殊情況,即第一個原則中如果含有JKB為標(biāo)記的成分,我們需要考慮與JKB相連接的韓國語的內(nèi)容,韓國語內(nèi)容相似了才是完全相似,反之則不相似,在這個過程中同時也兼顧了一定的語序信息,更加符合實際情況。
經(jīng)過7個轉(zhuǎn)換規(guī)則以后將兩個句子結(jié)構(gòu)向量進(jìn)行比較,在測試過程中,根據(jù)句子成分在句子的地位,我們使VV/VA、JKS、JKO、JKB的權(quán)重依次遞減,分別為5、4、3、2,匹配后得到的結(jié)果就是句子結(jié)構(gòu)相似度。
1.2.3 相似度比較
在經(jīng)過骨架結(jié)構(gòu)提取以后,利用制定的結(jié)構(gòu)轉(zhuǎn)換規(guī)則開始計算結(jié)構(gòu)相似度。首先假設(shè)我們有兩個韓國語句子S1和S2的骨架結(jié)構(gòu),利用轉(zhuǎn)換規(guī)則后,生成兩個結(jié)構(gòu)性成分序列:
S1:s1s2s3,si,…sn-2sn-1sn.
S2:w1w2w3,wk,…wm-2wm-1wm.
其中,si(1≤i≤n)表示句子S1中的第i個結(jié)構(gòu)性成分,wk(1≤k≤m)表示句子S2中的第k個結(jié)構(gòu)性成分。為了形象說明,我們用有向圖表示兩個序列的匹配過程,如圖1所示。
圖1 序列S1和S2匹配有向圖
首先是從左到右的正向匹配,對相同位置的成分進(jìn)行比較,若相同則繼續(xù)下一個成分的比較,直至其中一個句子結(jié)束,也就是兩個句子中相對較短的句子的對比結(jié)束。經(jīng)過最優(yōu)匹配以后,我們可以計算出句子結(jié)構(gòu)相似度,如式(1)所示。
(1)
計算過程中我們定義每一個句子結(jié)構(gòu)標(biāo)記為一個結(jié)構(gòu)點。式(1)中,C是結(jié)構(gòu)轉(zhuǎn)換后句子與實例庫中句子的相同結(jié)構(gòu)點數(shù)量,E是兩個句子中結(jié)構(gòu)點總量,F(xiàn)i是第i個相同結(jié)構(gòu)點的權(quán)值,F(xiàn)k是所有結(jié)構(gòu)點中第k個結(jié)構(gòu)點的權(quán)值,在計算過程中根據(jù)詞類標(biāo)記在句子中作用的不同賦予不同的權(quán)值,最后得到相似度計算結(jié)果。
我們以1萬句單句為實驗對象,抽取每個句子的骨架結(jié)構(gòu),按照上文描述的句子結(jié)構(gòu)相似度計算方法,使這些句子進(jìn)行兩兩比較,每遍歷到最后一句再繼續(xù)下一次遍歷,下一次遍歷從上一次開始遍歷的第2句開始。經(jīng)過運算得到句子結(jié)構(gòu)的相似度計算結(jié)果。圖2是以前10句為例相互比較得到的相似度計算結(jié)果。
表中前14句與第83句的相似度值為1,其骨架結(jié)構(gòu)相同,只是有些句子多了時間、副詞等成分,如
圖2 句子兩兩比較相似度計算結(jié)果示例
表1 相似度值排序結(jié)果示例
據(jù)此,我們統(tǒng)計出每句遍歷以后與之相似度結(jié)果大于65%的句子數(shù)量(圖3)。
圖3 相似句子數(shù)量統(tǒng)計圖
我們對每個句子對應(yīng)的相似句數(shù)量統(tǒng)計以后,人工驗證了這種方法的準(zhǔn)確率,如式(2)所示。
(2)
這些相似的句子正確率達(dá)到76%以上,因此我們可以得出結(jié)論,通過轉(zhuǎn)換規(guī)則對句子的骨架結(jié)構(gòu)轉(zhuǎn)換以后得到的句子結(jié)構(gòu)相似度,基本符合我們的預(yù)期設(shè)想,它們對應(yīng)的中文句子的結(jié)構(gòu)相似度結(jié)果,也大致與得到的韓國語句子結(jié)構(gòu)相似度結(jié)果基本吻合,基于句子結(jié)構(gòu)的相似度計算方法是可行的。對梯形圖表以及韓漢句子表格分析以后可以看出結(jié)果在65%以上的表明它們的句子結(jié)構(gòu)相似的可信度較高,在這個結(jié)果以下的基本可以判斷句子結(jié)構(gòu)相似程度不高,那么在構(gòu)建實例庫以及別的工作中可以舍棄這些偏低的結(jié)果,有助于為基于實例的機器翻譯提供精確匹配。
需要說明的是,系統(tǒng)可以抽取出與源句子結(jié)構(gòu)相似的句子,并且可以計算出結(jié)果在0到1之間的數(shù)值。但是由于算法過程中存在不同程度的偏差,計算出的相似度結(jié)果并不一定完全精確,相似度結(jié)果只是一個相對的數(shù)值。數(shù)字越接近1,說明與源句子的結(jié)構(gòu)相似度相對越高,反之說明不高。但是在分析實驗數(shù)據(jù)時也會出現(xiàn)相似度結(jié)果大于65%,但是兩個句子實際上是不相似的,例如:
這兩個句子的相似度計算結(jié)果是1.0,即完全相似,但是兩個句子實際上是不相似的,這是由于句子中省略了某些重要成分,影響了相似度結(jié)果。
句子相似度在機器翻譯中發(fā)揮著極其重要的作用,本文從韓國語特有的句法特性出發(fā),利用簡單句的結(jié)構(gòu)性成分標(biāo)記,通過7條語言規(guī)則,提出了韓國語句子結(jié)構(gòu)相似度計算方法,通過實驗證明這種方法是可行的,但是該方法還有很大的改進(jìn)空間。下一步工作主要在以下幾個方面展開: ①通過更大規(guī)模語料的反復(fù)實驗,進(jìn)一步豐富影響句子結(jié)構(gòu)的成分和轉(zhuǎn)換規(guī)則,并細(xì)化對權(quán)值的分配,以期獲得更加理想的結(jié)果; ②把結(jié)構(gòu)相似度和詞形相似度結(jié)合起來,進(jìn)一步提高句子相似度的精度; ③根據(jù)韓國語復(fù)句的特點,基于大規(guī)模標(biāo)注語料庫統(tǒng)計歸納各種類型復(fù)句的分布特點,有針對性地開展對不同類型復(fù)句的相似度計算研究。