毛存禮,高 旭,余正濤,王振晗,高盛祥,滿志博
(昆明理工大學(xué)a.信息工程與自動化學(xué)院;b.云南省人工智能重點實驗室,昆明650500)
基于互聯(lián)網(wǎng)抽取平行句對是解決神經(jīng)機器翻譯中面臨平行語料稀缺的有效途徑。與英語、漢語這樣資源豐富語言相比,東南亞語資源稀缺,直接獲取大規(guī)模的平行句對十分困難?;ヂ?lián)網(wǎng)中存在大量的英語和東南亞語言的雙語數(shù)據(jù),但這些數(shù)據(jù)大多是主題相關(guān)、內(nèi)容相似的雙語可比文檔。準確抽取雙語可比語料中平行句子,對開展英語 東南亞神經(jīng)機器翻譯研究具有重要價值。
計算句子相似度是解決問答系統(tǒng)[1]、平行句抽取的主要方法。針對雙語平行句對抽取任務(wù),傳統(tǒng)的方法可以利用Wikipedia提供的附加注釋和特征使用自動生成詞典模型提高平行句對抽取任務(wù)的準確性[2],但是這類方法不僅受限于雙語詞典的規(guī)模,且不能很好的從語義上計算兩種不同語言間的相似度,導(dǎo)致抽取效果不理想。
隨著深度學(xué)習(xí)的發(fā)展,研究員開始使用深度學(xué)習(xí)方法抽取平行句子。采用端到端的方式學(xué)習(xí)句子的向量表示,不需要其他的結(jié)構(gòu)和特征,在英語 法語數(shù)據(jù)集上取得良好效果。英語和法語在語言特征上屬于相似語言,在進行向量表示時可以直接映射到同一語義空間中,而英語與東南亞語言之間語言差異性較大,映射到語義空間中會導(dǎo)致句子語義信息的丟失,得到效果會明顯降低,同時,英語和東南亞語言的句子長度存在差異,模型僅考慮語義信息,忽略句子長度特征會導(dǎo)致對僅有語義包含關(guān)系但不平行句對的誤判,以英語和緬甸語為例,如圖1所示。
圖1 具有語義包含關(guān)系但不平行的句對示例Fig.1 Examples of semantic similar but not parallel
圖1中,緬甸語句中有和英語句子相同的語義部分,所以在語義相似度計算時,句子對的相似度會很高,但實際上,兩者屬于不平行的句子。同時,對英 緬句子長度比的數(shù)據(jù)集進行了統(tǒng)計分析,英語與緬甸語的長度比在0.4~0.7之間的占比為80%,因此,不考慮句子間長度特征時,由上述問題及句對本身的結(jié)構(gòu)差異性,模型會出現(xiàn)錯誤分類。
因此針對因英語和東南亞語言的語義空間和長度特征差異導(dǎo)致模型誤判問題,提出了結(jié)構(gòu)特征一致性約束的平行句對抽取方法,結(jié)構(gòu)特征一致性包括減少語義和長度上的差異,使兩種語言能夠保持一致的結(jié)構(gòu)特征。首先使用BERT(BERT,bidirectional encoder representations from transformers)[3]預(yù)訓(xùn)練模型得到良好的英語和東南亞語言的詞向量并結(jié)合基于Bi-LSTM的孿生網(wǎng)絡(luò)將兩種語言在語義空間中共享,同時分別對句子的長度特征進行編碼并融合到句子向量中,以提高模型的準確率。
貢獻主要有以下2點:
1)基于多語言BERT預(yù)訓(xùn)練模型并結(jié)合孿生網(wǎng)絡(luò)將兩種語言編碼到同一語義空間,縮小語義空間中語言的差異,解決英語和東南亞語言空間差異較大問題,保持語義空間的一致。
2)對句子的長度特征進行編碼,與孿生網(wǎng)絡(luò)編碼后的句子語義向量進行融合,有效增強結(jié)構(gòu)特征上的表示,以解決模型對僅有語義包含關(guān)系但不平行的句對誤判的問題,保持結(jié)構(gòu)特征的一致。
目前從雙語可比語料中抽取平行句對的方法主要有三類:1)基于句子的特征信息、基于詞典以及信息檢索的方法;2)基于樞軸的方法;3)基于深度學(xué)習(xí)的方法。
第一類是基于句子的特征信息、基于詞典以及信息檢索的方法,例如Munteanu等人[4]通過使用一種信號處理的方法分析可能相似的句子對,檢測源句子中的哪些片段被翻譯為目標句子中的片段,這種方法甚至可以從非平行的語料庫中提取相對有用的機器翻譯訓(xùn)練數(shù)據(jù)。Zhao等人[5]提出一種自適應(yīng)方法,根據(jù)句子長度模型和基于詞典的模型在最大似然的規(guī)則下進行組合,從雙語可比新聞?wù)Z料中提取平行句對,同時使用已抽取的平行句對迭代更新翻譯詞典,以獲得更好詞匯覆蓋率和翻譯概率參數(shù)估計。Munteanu[6]訓(xùn)練最大熵分類器判斷是否是互譯句子,并從大型中文,阿拉伯文和英文非平行報紙語料庫中提取平行數(shù)據(jù),Alberto等人[7]通過余弦和跨語言信息檢索中的長度因子來計算句子對之間的相似性,從而對齊來自維基百科的特定域并行文檔;Tillmann等人[8]直接在句子級別對大量候選句子對進行評分。通過一個對稱評分函數(shù)實現(xiàn)句子級別提取。Chu等人[9]通過笛卡爾乘積生成所有可能的句子對,并過濾掉不滿足條件的,保留盡可能匹配的句子對,使用少量平行句對訓(xùn)練分類器,從候選句中識別平行句對。以上方法雖證明了抽取平行句對的有效性,但是由于依賴人工提取特征及詞典等外部信息,無法取得更好效果。
第二類是利用樞軸的方法,主要利用機器翻譯將源語言翻譯成目標語言,再獲取平行句對,如Ann等人[10]基于現(xiàn)有翻譯系統(tǒng),將源語言翻譯成目標語言得到候選句子,然后對候選句子對進行打分排序,獲得平行句子。Afli[11]等提出了一種基于多模態(tài)可比語料庫的機器翻譯并行數(shù)據(jù)提取方法,以及從多模態(tài)語料庫中提取雙語并行句子對或短語對的方法。Bouamor等人[12]通過將多語言句子級嵌入,并與神經(jīng)機器翻譯和監(jiān)督分類配對的混合,分類法語 英語語料庫中的平行句子對。通過雙語分布式表示模型學(xué)習(xí)的每個源 目標句子對的連續(xù)向量對目標翻譯候選進行過濾,使用神經(jīng)機器翻譯系統(tǒng)或二進制分類模型選擇最佳翻譯。以上方法雖然有效但是依賴機器翻譯的性能,不適用于低資源語言。
第三類是基于深度學(xué)習(xí)方法,利用深度學(xué)習(xí)對數(shù)據(jù)表征學(xué)習(xí)在機器翻譯、情感分類等任務(wù)上取得較好的效果,已成為自然語言處理任務(wù)的主流方法。針對雙語平行句抽取的任務(wù)開展大量研究。Grégoire等人[13]第一次提出使用深度學(xué)習(xí)方法抽取平行句對,使用雙向遞歸神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)句子向量表示,由于相似語言間可以共享詞表,結(jié)構(gòu)相似因此在英語 法語的平行句對抽取任務(wù)上表現(xiàn)良好。Ramesh等人[14]使用端到端的孿生網(wǎng)絡(luò)構(gòu)造了一個分類器,選擇了少量平行句對作為正樣本以及大量的負樣本訓(xùn)練模型,然后提取英語 塔達米爾語平行句子。Grover等人[15]訓(xùn)練模型以獲取雙語單詞嵌入,然后在2個句子的單詞之間創(chuàng)建相似度矩陣并將句子分類。相似語言擁有部分同源詞,可以共享語義空間,且在句子結(jié)構(gòu)上也基本相似,無需考慮長度特征問題。而針對英語 東南亞語言這樣的差異性較大的語言對,沒有同源詞,在語義空間中差異較大且句子存在結(jié)構(gòu)差異,上述方法并不完全適合,因此提出結(jié)構(gòu)特征一致性約束的雙語平行句對抽取方法,通過多語言BERT預(yù)訓(xùn)練語言模型得到較好的初始向量并共享雙語語義空間,融合結(jié)構(gòu)特征解決句子對語義相似但長度不平衡的問題,最終達到結(jié)構(gòu)特征的一致性。實驗表明,提出的方法在東南亞低資源語言的平行句對抽取任務(wù)上取得良好效果。
模型架構(gòu)主要分為兩部分:第一部分是多語言BERT預(yù)訓(xùn)練語言模型,第二部分是融合結(jié)構(gòu)特征的孿生網(wǎng)絡(luò),主要方法框架如圖2所示(以英語 緬甸語為例)。在多語言預(yù)訓(xùn)練BERT部分首先使用多語言BERT模型預(yù)訓(xùn)練英語和緬甸語的詞向量;其次,在嵌入層得到孿生網(wǎng)絡(luò)的輸入,通過孿生神經(jīng)網(wǎng)絡(luò)將英語和緬甸語句子表示共享到同一語義空間;同時對英語、緬語句子的長度特征進行編碼,與孿生網(wǎng)絡(luò)的編碼后的向量融合,使模型既考慮了語義信息,又考慮了英語和緬甸語的結(jié)構(gòu)特征;最后計算2個向量的相似程度。
圖2 模型架構(gòu)Fig.2 Model Structure
預(yù)訓(xùn)練詞向量(詞嵌入)是通過訓(xùn)練得到詞的向量化表示,Ma等人[16]通過Glove[17]、word2vec[18]的實驗證明了預(yù)訓(xùn)練詞向量方法與隨機初始化詞向量方法相比,具有顯著改進。在跨語言詞向量表示時,相似語言對可共享部分詞表,所以在孿生神經(jīng)網(wǎng)絡(luò)中直接使用隨機初始化方式可獲得較好效果。但針對英語和東南亞語言這樣語言差異較大的語言對,隨機初始化詞向量的方法不能將兩種語言在同一語義空間中表示,直接影響模型性能。BERT的網(wǎng)絡(luò)架構(gòu)基于多層Transformer[19]結(jié)構(gòu)構(gòu)建的,在最近的研究中證明Transformer結(jié)構(gòu)可以獲得更好學(xué)習(xí)效果[20]并在特征表示取得較好的效果,廣泛應(yīng)用到摘要生成[21]等自然語言處理任務(wù),是目前主流方法。由于語言差異性較大,使用隨機初始化生成的詞向量在語義上會有很大差別,為得到較好向量表示并共享語義空間及考慮上下文語義信息,使用多語言預(yù)訓(xùn)練語言模型(MBERT,multilingual bidirectional encoder representations from transformers)預(yù)訓(xùn)練英語和緬甸語詞向量。目前MBERT包括了104種語言,其中包括緬甸語、越南語和泰語,生成的詞向量能夠共享同一語義空間,最近研究表明MBERT在跨語言任務(wù)的有效性[22-23]。然而MBERT模型對英語和東南亞語的訓(xùn)練方式不同,英語以空格分詞并基于子詞切分,因此在Embedding層可以直接使用MBERT預(yù)訓(xùn)練的詞向量;東南亞語言由于構(gòu)詞特點不同,采取向量表示方法也會不同。緬甸語是基于字符構(gòu)詞,因此,在Embedding層進行緬甸語嵌入時有兩種方法,一種直接使用緬甸語字符嵌入組成緬甸語句子向量表示,這種方法并沒有考慮緬甸語字符之間的組合信息,通過字符嵌入得不到充分的語義信息。
筆者首先通過MBERT生成緬甸語文本中構(gòu)成每個詞語的各字符級向量,然后在Embedding層將字符級向量進行組合得到詞向量的表示。如表1所示是多語言MBERT的詞表。例如緬甸語句子中的語義單詞是由5個字符組合而成的。而在緬甸語的文本中,不同的上下文信息,字符的組合也會有所不同。在例句的語義場景中通過字符向量的相加將會組合成正確的目標詞的詞嵌入。這樣,可以更準確獲得緬甸語詞語的語義信息,通過字符和音節(jié)的組合在保留上下文信息以及語義信息的同時得到最終單詞的詞嵌入表示,最終得到句子表示;與緬甸語不同,越南語構(gòu)詞的主要特點是每一個音節(jié)都是一個有意義的單位,即越南語的最小語義單元是音節(jié),可以獨立使用,因此在生成向量表示時,基于音節(jié)得到詞向量的表示;泰語與緬甸語類似,單獨字符和音節(jié)沒有實際的語義含義,需將字符組合成詞向量表示。
表1 BERT東南亞語詞匯表Table 1 Vocabulary in BERT
基于深度學(xué)習(xí)的平行句對分類方法的本質(zhì)是將兩種語言的句子在同一個語義空間中表示成向量然后計算2個向量的相似度。孿生神經(jīng)網(wǎng)絡(luò)由2個結(jié)構(gòu)相同的神經(jīng)網(wǎng)絡(luò)構(gòu)成,2個網(wǎng)絡(luò)共享權(quán)值,主要應(yīng)用于分類任務(wù)。為了得到共享語義空間中雙語句子的向量表示,采用孿生神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對雙語句子進行編碼表示。孿生網(wǎng)絡(luò)得到的向量僅考慮了語義信息而忽略了結(jié)構(gòu)特征,導(dǎo)致僅有語義包含關(guān)系但不平行句對的相似度過高,因此研究融合了結(jié)構(gòu)特征雙語句對分類。
下面以英語 緬甸語為例介紹融合結(jié)構(gòu)特征的孿生網(wǎng)絡(luò)的雙語句對分類方法。使用基于Bi-LSTM(bidirectional long short-term memory)的孿生網(wǎng)絡(luò)結(jié)構(gòu)對預(yù)訓(xùn)練模型得到的英語和緬甸語詞向量作為輸入,分別經(jīng)過Bi-LSTM層將英語、緬甸語句子前向和后向2個方向最后狀態(tài)的向量做拼接以表示句子向量。以緬甸語為例,比如緬甸語句子在預(yù)訓(xùn)練模塊后得到向量表示表示句子單詞的個數(shù)。之后經(jīng)過Bi-LSTM編碼,前向LSTM編碼依次輸入詞向量得到{h f0,h f1,…,h f N},后向LSTM編碼從后向前輸入詞向量得到{h b N,…,h b1,h b0},N表示單詞的個數(shù),h fi和h bi表示i時刻的隱向量,h f N和h b0表示前向和后向編碼最后時刻的隱向量表示,將h f N和h b0拼接得到該句子的編碼向量h
通過MBERT預(yù)訓(xùn)練語言模型,可以使英語和緬甸語中相同語義的詞向量在語義空間中相互接近,但Bi-LSTM層中因為參數(shù)的不同,不能保證共享語義空間。共享權(quán)重的孿生網(wǎng)絡(luò)可以在相同參數(shù)的Bi-LSTM網(wǎng)絡(luò)下,將英語和緬甸語的向量表示最大程度共享到同一語義空間,提高跨語言句子表示的準確性,提高模型對跨語言句子的語義相似度計算準確性。通過孿生神經(jīng)網(wǎng)絡(luò)輸出,得到英語和緬甸語句子向量h en和h my。
在融合句子長度特征方面,使用隨機初始化方式將英語和緬甸語的句子的長度(即句中單詞的個數(shù))編碼為向量,分別得到然后與孿生網(wǎng)絡(luò)編碼后的英語、緬甸語句子語義向量h en和h my進行融合,增強平行句對在語義及結(jié)構(gòu)特征上的表示
為了衡量2個向量之間的相似程度,將h'en和h'my通過向量的點積和向量差的模表示句子相似程度的向量,計算2個句子平行的概率。
式中:σ是sigmoid函數(shù);W1、W2、W3、b、c是模型參數(shù);p是2個向量是平行句對的概率;y=1代表2個句子是平行句對。
對于模型訓(xùn)練的目標是最小化交叉熵損失函數(shù)
m代表句子對的數(shù)量。
為了驗證提出方法的有效性,使用英 緬數(shù)據(jù)集作為實驗數(shù)據(jù),以使用孿生神經(jīng)網(wǎng)絡(luò)的平行句對抽取模型作為基線模型。
目前針對緬甸語的開源數(shù)據(jù)集較少,從亞洲語言樹庫等網(wǎng)站中收集了部分語料,其余的由人工構(gòu)建。在的實驗中,將英 緬平行語料分成訓(xùn)練集、驗證集和測試集,具體如表2所示:
表2 英 緬平行語料規(guī)模Table 2 English-Burmese Parallel Corpus Scale
在訓(xùn)練集中,英語詞匯大約共有100 k條,緬甸語詞匯大約有45 k條,格式如下所示:
為了增強分類模型的健壯性,即讓模型更好的學(xué)習(xí)平行句對的分類任務(wù),在使用平行句對作為正樣本的同時,隨機采樣生成負樣本(非平行句對),并為每個平行句對和非平行句對生成標簽y,y=1即為平行,y=0為不平行。因此,對每一對數(shù)據(jù),是由三元組構(gòu)成的,即英語(源語言)緬甸語(目標語言)標簽(0或1)。正負樣本的比例設(shè)置為1∶5,針對訓(xùn)練集來說,則共有2 944 896個句子對用來訓(xùn)練模型;6 000個句子對作為驗證集,18 000個句子對作為測試集。
實驗的神經(jīng)網(wǎng)絡(luò)模型是基于Tensorflow實現(xiàn)的,Intel(R)Xeon(R)Gold 6132 CPU@2.60GHz,NVIDIA Corporation GP100GL GPU的服務(wù)器上進行。具體實驗環(huán)境如表3所示:
表3 實驗環(huán)境Table 3 Experimental Environment
針對基準模型,使用一個單層雙向LSTM的模型?;€模型的詞向量維度設(shè)置為512維,全連接的隱藏層具有256個單元,Batch size設(shè)置為128,訓(xùn)練輪次為15個epoch。
方法的實驗參數(shù)設(shè)置如表4所示。
表4 實驗參數(shù)設(shè)置Table 4 Training Parameter Setting
采用精確率、召回率和F1值來評價提出方法的模型性能。精確率(Precision)是真正抽取的平行句子對與所有抽取的句子對的比例;召回率(Recall)是真正抽取的平行句子對與數(shù)據(jù)集中所有平行句子對的比例,F1值是精確度和召回率的調(diào)和平均值,具體公式如下所示
實驗一:與基線模型對比
為了比較模型的性能,與使用機器學(xué)習(xí)的分類模型以及Bi-LSTM模型(基線模型)做了比較,實驗結(jié)果如表5所示。
1)機器學(xué)習(xí)方法:傳統(tǒng)的支持向量機(SVM)和線性回歸(LR)模型。
2)神經(jīng)網(wǎng)絡(luò)方法:使用Bi-GRU、LSTM、Bi-LSTM的網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練英 緬平行句對抽取模型。
3)方法:融合預(yù)訓(xùn)練語言模型及結(jié)構(gòu)特征的英 緬平行句對抽取模型。
從表5中可以看出,使用深度學(xué)習(xí)方法的Bi-LSTM模型與機器學(xué)習(xí)的支持向量機模型(SVM)和線性回歸(LR)分類模型相比具有更好效果,主要原因是Bi-LSTM模型可以更好的學(xué)習(xí)句子向量的特征,并且孿生網(wǎng)絡(luò)將2種語言共享到同一語義空間中可一定程度解決跨語言的問題而機器學(xué)習(xí)方法無法解決跨語言問題使效果明顯下降;基線模型的效果為77.33%,而MBERT+Bi-LSTM的方法的F1值達到了79.90%,提高了2.57%。研究的方法F1值達到了80.84%,比基線模型提高了3.51%,實驗結(jié)果表明,在不相關(guān)語言對之間直接將2種語言共享語義空間會丟失語義信息從而導(dǎo)致模型性能下降,融合MBERT預(yù)訓(xùn)練模型可以提高平行抽取模型性能,而提出的結(jié)構(gòu)特征一致性約束平行句對抽取方法達到了最好的效果。
為了探究實驗在訓(xùn)練過程中不同迭代次數(shù)的效果,圖3、4分別展示了隨著迭代次數(shù)的增加,F1值和損失的變化情況,并與基線模型做了對比。
表5 與基線模型對比Table 5 Compared to Baseline Model %
從圖3、4中可以看出,基線模型和MBERT+Bi-LSTM模型在第14個epoch都表現(xiàn)最好,F1值分別達到了87.11%,90.09%,損失值分別達到了最低0.005 243,0.003 311,方法同樣在第14個Epoch時表現(xiàn)最好,F1值達到了90.44%,損失值最低為0.003 252,比較模型在最好訓(xùn)練輪次時的結(jié)果,證明方法與基線模型相比有明顯的提升。
圖3 F 1值隨迭代次數(shù)的變化情況Fig.3 F 1 score changes with the number of iterations
圖4 損失值隨迭代次數(shù)的變化情況Fig.4 Loss changes with the number of iterations
實驗二:不同預(yù)訓(xùn)練詞向量方法對比
在預(yù)訓(xùn)練的方法上,與使用隨機初始化詞向量的方法以及傳統(tǒng)的Word2Vec方法做了對比,實驗結(jié)果如表6所示
表6 不同預(yù)訓(xùn)練方法的對比Table 6 Comparison of Different Pre-training %
從表6中可看出,使用傳統(tǒng)的詞向量訓(xùn)練方法對模型性能有一定提升,使用MBERT預(yù)訓(xùn)練詞向量的方法達到了最好效果。隨機初始化的向量并不能充分的表示語義信息,使用Word2vec的方法可以保留相對完整的語義信息,而MBERT的方法是在大規(guī)模的語料上訓(xùn)練,使用雙向Transformer編碼結(jié)構(gòu),不僅保留完整的語義信息,還考慮了上下文信息,所以結(jié)合模型的效果更好。
實驗三:預(yù)訓(xùn)練詞向量調(diào)優(yōu)實驗對比
為了探究詞向量在平行句對抽取任務(wù)中是否微調(diào)對模型性能的影響,比較直接使用MBERT預(yù)訓(xùn)練詞向量和初始化詞向量并在任務(wù)中進行微調(diào)的實驗結(jié)果,如表7所示。
表7 詞向量微調(diào)對實驗結(jié)果的影響Table 7 Influence of Fine-tuning on Results %
實驗結(jié)果表明,模型在訓(xùn)練過程中結(jié)合任務(wù)對詞向量的微調(diào)可以得到適合任務(wù)的更好向量表示,使模型更準確分辨是否是平行句子。
實驗四:融合結(jié)構(gòu)特征的實驗
在抽取平行句對實驗中,為證明融合結(jié)構(gòu)特征方法的有效性,對從維基百科中獲取句子分別進行打分,得到效果對比如圖5—6所示。
圖5 包含關(guān)系句對融合前后相似度比較Fig.5 Comparison of Similarity of Semantic Inclusion Sentences
圖6 非平行句對融合前后相似度比較Fig.6 Comparison of Similarity of Non-parallel Sentences
從圖5中可以看出,針對于僅有語義包含關(guān)系但不平行的句對,不融合結(jié)構(gòu)特征的相似度得分為0.996,融合了結(jié)構(gòu)特征,相似度得分為0.779,降低了模型對這類句對的誤判率,同時圖6中表明,針對不平行句對的相似度影響不大。
針對英語和東南亞語語言差異較大的平行句對抽取問題,對傳統(tǒng)方法進行擴展,提出結(jié)構(gòu)特征一致性約束的抽取方法,通過對兩種語言語義以及長度特征約束,減少兩種語言差異。實驗結(jié)果表明,提出的模型優(yōu)于基線模型,并且在東南亞低資源語言上具有推廣性。