李思卓 周蘭江 周楓 張建安



摘要:句子相似度的計算在自然語言處理的各個領域有很廣泛的應用,但跨語言的句子相似度計算方法卻非常少。文中提出一種基于互譯特征詞對匹配,構建老一漢雙語句子相似度計算方法,改進了傳統的依賴于詞形詞序通過計算相同詞個數和共有單詞的位置信息的相似度計算方法,充分考慮了老撾語和漢語句子中的詞匯互譯信息、相似概率,避免了由于特征詞位置導致的精度丟失。此方法用來最終識別相似度較高的老一漢雙語平行句對,依據相似度對源句子和目標句子進行對齊,在老一漢雙語平行語料庫的建設中使用。實驗結果表明,此方法在一定程度上提高了老一漢雙語句子相似度計算的準確率。
關鍵詞:老一漢雙語詞典;相似度計算;算法改進;雙語句對識別;詞匯互譯;實驗驗證
中圖分類號:TN912.34-34
文獻標識碼:A
文章編號:1004-373X( 2019) 24-0079-05
0 引言
句子相似度計算是自然語言處理領域中比較重要的研究課題,在雙語語料中,句子相似度本身是對齊的基礎因素,而全局的優化調整能進一步提高對齊的正確率。因此,一直以來句子相似度計算都是自然語言處理領域中不斷研究的重點問題。
在句子相似度計算研究方面,大致可以分為三類:基于表層信息,通常計算句子中詞形、詞序、句長相似度等信息。邸書靈等對基于分詞的語句相似度計算進行了改進,綜合考慮了詞形、詞序和句子長度等多方面的信息[1]。基于句子結構,如基于詞類串結構、本體結構[2]、詞性及詞性依存結構[3]等。藍雁玲等通過計算詞性及詞性依存信息來把握句子間的相似性[4]。基于語義資源,主要通過已經建成的語義資源考察詞間的語義關系[5]來計算句子相似度,如基于WordNet[6],HowNet或同義詞林來計算。
本文在前人研究的基礎上,針對雙語語料庫中的對齊塊(段落對齊或者篇章對齊)提出一種基于互譯特征詞對匹配,并結合構建的老一漢雙語相似詞典的句子相似度計算方法,用來最終識別相似度高的老一漢雙語平行句對,在老一漢雙語平行語料庫的建設中使用。
本文提取老一漢雙語的特征詞生成各自的特征詞列表,根據排序后的特征詞列表,選擇在列表中分布相近的詞匯作為候選相似對,依據特征詞列表選取特定窗口的特征詞對,最終生成候選相似對列表,并計算每一個相似對的相似概率。將候選相似對中的每一個相似對及其相似概率生成老一漢雙語相似詞典,并且根據特征詞在語料中的上下文不斷擴充雙語詞典。基于最終的老一漢雙語相似詞典,可以得到漢語句子中每一個特征詞對應的候選相似集合,得到相似結果。依據相似結果和每一個相似對的相似概率,得到老一漢雙語句子的相似度值。
1 篩選互譯特征詞
1.1 傳統的詞形詞序相似度計算方法
詞形相似度方法是通過計算兩個句子的詞形即相同詞的個數來比較相似度的。首先對兩個句子分詞,用SiArr和S7Arr兩個數組分別存放兩句子分詞后的單詞,然后再計算出兩個句子共同包含的單詞個數sum,若共有單詞出現次數不相同則取最小出現次數。Len (S1)表示S1分詞后的詞語數,則兩個句子Si,S2詞形相似度計算公式為:
CSim( Si,S2)= sum/max( Len( S1), Len( S2)) (1)可以看出,詞形相似度取值范圍為[0,1]。
詞序相似度是通過共有單詞在兩個句子中所處的位置信息來反映兩個句子的相似度,首先計算出S1和S2中都出現且只出現一次的詞的集合onews。然后計算出onews中各個詞語依次出現在S2中的位置向量,計算出逆序數count。利用onews中的詞語在兩個句子中的順序來判斷詞序的相似度,容易得出詞序相似度取值范圍為[0,1]。詞形詞序的相似度能夠反映出兩個句子之間的相似程度,但在跨語言使用中并不是有很好的效果,必須轉化為同種語言使用,但是翻譯的過程中會導致計算的準確率下降。
1.2 特征詞列表建立
無論哪種文本都存在一些沒有實際意義,但是使用頻率很高的虛詞和功能詞,這些詞往往對于句子的區分度不大。針對漢語和老撾語中的一些無實際作用的虛詞和功能詞,構造停詞表,將這些詞在實際應用中過濾掉。進行特征詞篩選之前,首先對句子進行預處理,進行分詞,利用中科院開源的SharpICTCLAS分詞系統[8]和本實驗室開發的Lao Word Segmentation( LaoWS)老撾語分詞系統分別對漢語文本和老撾語文本分詞,得到漢語和老撾語詞語序列。
TF-IDF是一種用于信息檢索與數據挖掘的常用加權技術,用以評估字詞對于一個文件集或一個語料庫中的其中一份文件的重要程度。其中詞頻(TF)、逆向文件頻率(IDF)表示如下:
TFw=在某一類中詞條w出現的次數 (2)
該類中所有的詞條數目
IDF=log 語料庫的文檔總數
(3)
包含詞條w的文檔數+1
TF-IDF= TF.IDF
(4)式(3)中,分母之所以加1是為了避免其為0。
在雙語語料庫的對齊塊中,如果一個源語言句子和一個目標語言句子互為譯文,那么在這個句對里面頻率相同的詞匯可能是互為譯文的。在兩個句子中,相同詞、相近詞體現了兩個句子的共同點,對兩個句子相似起到了較大的貢獻作用。本文將TF/IDF值作為篩選特征詞的依據,分別按照TF/IDF值的大小對老撾語和漢語的特征詞列表中的特征詞進行排序,在各自的列表中處于相似位置的詞很可能是互為譯文的。
2 相似度計算方法
2.1 候選相似對列表的建立
根據第一節得到的排序后的特征詞列表,選擇在列表中分布相近的詞匯作為候選相似對,依次針對老撾語特征詞列表中的每一個特征詞,以對應的漢語特征詞為中心選取特定數目的漢語特征詞,作為老撾語特征詞的候選相似;同理根據漢語特征詞列表中的每一個特征詞也選取特定數目的老撾語特征詞,作為其特征詞的候選相似。由于句子中特征詞之間的聯系取決于設定的窗口大小,為了更大限度地將特征詞的對應關系建立出來,本文將選取的窗口控制在[-2,2]之間。
根據老撾語和漢語的特征詞列表和候選相似生成候選相似對列表,此列表中的每一個相似對都是可能互為翻譯的老撾語特征詞和漢語特征詞,此時需要計算每一個相似對的相似概率。在一個相似對中,定義老撾語特征詞LWi、漢語特征詞CWj,則這兩個特征詞之間的相似概率計算方法如下:
由式(6)可以看出,對相似概率公式起主要作用的還是漢語和老撾語某個詞的詞頻,通過擴大窗口來挑選候選相似可以提高相似概率計算的準確性。但是一篇文章中,會存在某個詞只存在一次的情況,這樣利用式(6)進行計算,會存在相似概率為logl=0,為了避免這種情況,將詞頻為1的詞進行詞頻加1,防止由于詞頻太低導致句子相似度計算不正確的情況。
為了更形象地展示特征詞列表的建立過程,本文選取了老一漢雙語平行語料庫中的一段文本進行實驗,將TF/IDF值作為篩選特征詞的依據,構建的特征詞列表如圖1所示。
當特征詞列表構建完成后,通過漢語一老撾語、老撾語一漢語兩種語言之間候選相似對的選取(選取窗口[-2,2]),本文選擇此窗口已經能夠將老撾語和漢語的上下文對應關系盡可能多地包含其中。選取過程如下:圖1中已經給出了特征詞列表,針對漢語的特征詞,根據選取窗口的大小,得到從漢語一老撾語的三個候選相似對。同理,對于對應老撾語的特征詞,可以得到老撾語一漢語的三個候選相似對。通過從漢語一老撾語、老撾語一漢語兩個方向候選相似對的選取,能夠更大限度地將特征詞的對應關系建立出來。相似概率之間的計算按照式(5)計算,最終構建的部分候選相似對列表如圖2所示。若某個詞只存在一次,會導致相似概率的計算結果為0,因此對詞頻進行加1,圖2左下角顯示。
2.2 老一漢雙語相似詞典的建立
通過實驗發現,根據候選相似對列表中的每一個相似對生成最初老一漢雙語相似詞典,在控制的窗口內選擇的相似對進行計算后,在每6對或者8對相似對中,會出現相似概率相同的情況,相似概率越大,將其放在老一漢雙語句子中,兩個句子之間的相似度值也就越高,成為平行句對的可能性就越大。為了更大限度地將互譯關系體現出來,本文將相似對概率相同的相似對也考慮進去。選擇相似對概率相同的以及相似概率最大的相似對進入到老一漢雙語詞典中,相似詞典中的每一個條目包括了老撾語和漢語特征詞對以及相似概率。
確定好最初老一漢雙語相似詞典之后,通過詞典中的特征詞在雙語語料中的上下文來擴展雙語詞典,形成最終的老一漢雙語詞典。將雙語詞典中每一對特征詞對作為種子翻譯對,如果在原文中發現經常某個詞經常同時出現在他們前面或者后面,那么將這個新的詞對作為新的種子翻譯對加入到雙語詞典中,這個過程是一個迭代的過程,直到不能再生成新的詞典條目為止。
同樣地,對于上文選取出的文本,在對相似對的選擇與老一漢雙語詞典的擴充之后,篩選部分最終的老一漢雙語相似詞典如圖3所示。
2.3 老一漢雙語句子相似度計算
在得到最終的老.漢雙語相似詞典之后,通過查詢所擴充之后的雙語詞典可以得到漢語句子中各個特征詞對應的老撾語候選相似集合。假設漢語句子C=[CW1,CW2,…,CWn],老撾語句子L= [LW1,LW2,…,LWn]其中CWi和LWj分別表示漢語句子和老撾語句子中的第i個和第j個特征詞。則對于每一個漢語特征詞CWi都可以在相似詞典中找到對應的老撾語,即:L=[CW1{ LW1.1,…,LW1.n), CW2,…,CWn{LWn,1,…,LWn,n)],其中老撾語特征詞LWi,k,表示漢語特征詞CW;對應的一個譯文。
利用老撾語特征詞在老撾語句子中的出現次數、漢語特征詞在漢語句子中的出現次數以及老撾語和漢語特征詞的相似概率計算老一漢雙語句子的相似度值。老一漢雙語句子相似度值計算公式為:
根據改進后的式(8)可得到兩個句子的相似度值:
Simw( C,/)=0.336 589 961
通過實驗可得,式(8)計算出的句子相似度值總是在[0,1]之間,句子中包含的特征詞越多,句子相似度值越大,準確率越高。
3 實驗結果與分析
本文實現的跨語言句子相似度的計算方法主要應用在用來最終識別相似度高的老一漢雙語平行句對,在老一漢雙語平行語料庫的建設中使用,可以很好地促進各種漢老文化交流和雙方的發展。上述實驗結果證明,兩個句子互譯特征詞對的匹配可以很好地反映出句子之間的相似程度,匹配越好,相似度越高。
在本實驗室整理的老一漢雙語語料庫中分別抽取文學、歷史、教育、經濟、社會等24個領域的相關文章,共630篇文章,從中人工抽取13 650個老漢雙語平行句對作為標準集,同時加入在各個領域中選取的一到兩篇非平行篇章作為噪音集,其中漢語句子共1 125個,老撾語句子共1 035個。標準集和噪聲集合并得到14 775個漢語句子和14 685個老撾語句子作為測試集。
本文中首先從14 775個漢語句子中按順序抽出一個句子,然后計算這個句子與14 685個老撾語句子之間的相似度,并按照所得相似度的大小對老撾語測試集中的句子進行排序并輸出相似度最大的老撾語句子,如果該句子是抽取的漢語句子在標準集中對應的老撾語句子,則說明這個句子的相似度計算是成功的,對老撾語句子做相同的操作。
雙語詞典資源是機器翻譯等自然語言處理領域中非常重要的基礎資源,它的詞匯量及翻譯質量都會對實驗結果評估指標的準確率造成直接影響。目前存在著已經成熟的漢英雙語詞典、漢日雙語詞典等,但是缺乏已經成熟的漢老雙語詞典。國內互聯網上并沒有可用的漢老雙語詞典,通過國外老撾語網站及英語一老撾語雙語網站搜索到包含15 768個老撾語常用詞的老撾語單語詞典及大量的英老雙語詞典和一定規模的漢老雙語詞典。借助英漢雙語詞典當作媒介,整理獲取到關于老撾語的單語言詞典及雙語詞典,最終獲得規模達到31 719個詞匯的漢老雙語詞典。老漢雙語詞典如圖5所示。在構建的老一漢雙語詞典中,其中常用相關領域的詞典條目僅有6 000多條,較多的幾乎都是一些學科的專有名詞以及地名等詞語,日常生活中使用量較少。經過篩選,日常使用的名詞和動詞等占比不大,不足3 000條。人名、地名是雙語句子對齊的重要特征,但是它們大多為未登錄詞,無法利用雙語詞典進行互譯匹配。因此,利用詞典在老一漢雙語句子相似度計算中實際實驗結果收效甚微,不足以形成對比。
實驗評價標準如下:分別用本文提出的基于互譯特征詞對匹配的方法和基于詞形、基于詞序、基于構建的老一漢雙語詞典的句子相似度方法做了實驗,實驗結果見表1。本文采用的評價標準為P(準確率),計算如下:
P=n/N×100%
(9)式中:P代表正確率;Ⅳ代表測試句子總數;n代表測試結果正確的句子總數。
從上述的實驗結果可以看出,本文提出的基于互譯特征詞對匹配的老一漢雙語句子相似度計算方法具有較高的準確率,適合這種跨語言句子相似度計算。此方法改進了傳統的依賴于詞形、詞序通過計算相同詞個數和共有單詞的位置信息的相似度計算方法,充分考慮了老撾語和漢語句子中的詞匯互譯信息,計算它們之間的相似概率,從老撾語一漢語、漢語一老撾語兩個方向上考慮詞對的互譯信息,并擴大窗口,避免了由于特征詞位置導致的精度丟失。根據特征詞對之間的相似概率和構建的老一漢雙語相似詞典,計算老一漢雙語句子相似度值,改進了基于詞匯的方法,需要大規模的翻譯詞典,沒有通過翻譯來計算兩種語言的句子相似度,避免了由于翻譯的語料規模和質量導致的精度丟失。
此方法用來最終識別相似度較高的老一漢雙語平行句對,依據相似度對源句子和目標句子進行對齊,能夠簡化句子對齊時的流程,從而提高句子對齊的效率,在老一漢雙語平行語料庫的建設中使用。
4 結語
本文提出的基于互譯特征詞對匹配,并結合構建的老一漢雙語相似詞典的句子相似度計算方法,一定意義上提高了跨語言相似度計算的準確率。但是由于特征詞對的匹配并不能完全反映一個句子所包含的所有語義信息,只是在句子的特征結構方面進行計算,沒有考慮詞語蘊含的語義信息,對于同義詞以及一詞多義情況計算不佳,使得相似度計算的準確率不高。所以為了達到更好的效果,將對本相似度計算方法進行完善和擴充,加入一些詞性和語義信息,可以把更能代表一個句子的詞賦予更高的權重,引入到相似度計算公式中,還需要進一步研究老撾語句子的語法和語義的表示方式,隨著研究的深入,肯定還能發掘更多完善算法模型和提高計算精度的方法。
注:本文通訊作者為周蘭江。
參考文獻
[1]邸書靈,劉曉飛,李歡.基于分詞的語句相似度計算的改進[J]石家莊鐵道大學學報(自然科學版),2011,24(4):94-97.
DI Shuling, LIU Xiaofei, LI Huan. Improvement of sentencesimilaritv calculation based on participle [J]. Journal of Shijia-zhuang Railway University (Natural science edition), 2011. 24(4):94-97.
[2]劉宏哲.一種基于本體的句子相似度計算方法[J]計算機科學,2013(1):251-256.
LIU Hongzhe. An ontology - based sentence similarity calcula-tion method[J]. Computer science. 2013(1): 251-256.
[3]鄧涵,朱新華,李奇,等,基于句法結構與修飾詞的句子相似度計算[J],計算機工程,2017(9):240-244.
DENG Han. ZHU Xinhua, LI Qi,et al.Calculation of sen-tence similaritv based on syntactic structure and modifiers [J].Computer engineering, 2017(9):240-244.
[4]藍雁玲,陳建超.基于詞性及詞性依存的句子結構相似度計算 [J]。計算機工程,2011( 10):47-49.
LAN Yanling, CHEN Jianchao. Sentence structure similaritycalculation based on part of speech and part of speech depen-dence [J]. Computer engineering, 2011( lO): 47-49.
[5]張艷杰,邵雄凱,劉建舟.一種基于語義與結構的句子相似度計算方法J].湖北工業大學學報,2015(5):82-85.
ZHANG Yanjie. SHAO Xiongkai, LIU Jianzhou.A method forcalculating sentence similarity based on semantics and struc-ture [J]. Journal of Huhei University of Technology. 2015(5):82-85.
[6]陳麗莎.白動問答系統中基于WordNet的句子相似度計算研究與實現[D],廣州:華南理工大學,2014. CHEN Lisha. Research and implementation of sentence similar-ity computation based on WordNet in automatic question andanswer svstem [Dl. Guangzhou: South China University ofTechnology, 2014.
[7]李春梅,徐慶生,基于多特征的漢語句子相似度計算模型的研究[J].計算機技術與發展,2014(6):136-139.
LI Chunmei, XU Qingsheng. Research on Chinese sentencesimilarity computation model based on multi-features [J]. Com-puter technology and development, 2014(6): 136-139.
[8]王全民,曹建奇,王莉.一種基于多特征混合句子相似度計算的改進[J].計算機與現代化,2015(7):31-33.
WANG Q M, CAO J Q, WANG L.Improvement of sentencesimilarity computation based on multi-feature mixture[J].Com-puter and modernization. 2015(7):31-33.
[9]李家南.IT領域問答系統的研究與實現[D].廣州:華南理T大學,2016.
LI Jianan. Research and implementation of QA system in ITfield [D]. Guangzhou: South China University of Technology,2016.
[10] PEI Jing, BAO Hong. Application of Chinese sentence similar-ity computation in FAQ [J]. Computer engineering, 2009, 35(17):46-48.
[11] ALIGULIYEV R M.A new sentence similarity measure andsentence hased extractive technique for automatic text summa-rization [J]. Expert systems with applications, 2009. 36(4):7764-7772.
作者簡介:李思卓(1994-),女,陜西西安人,碩士,研究方向為自然語言處理。
周蘭江(1964-),云南玉溪人,副教授,研究方向為自然語言處理、機器翻譯、信息檢索。