国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于小字典不對等語料的跨語言詞嵌入方法

2019-09-06 08:14:22王紅斌馮銀漢余正濤文永華
中文信息學(xué)報 2019年8期
關(guān)鍵詞:源語言目標(biāo)語言語詞

王紅斌,馮銀漢,余正濤,文永華

(昆明理工大學(xué) 信息工程與自動化學(xué)院,云南 昆明 650504)

0 引言

跨語言詞嵌入最近幾年引起了很多人關(guān)注,并被廣泛研究和應(yīng)用。除了應(yīng)用于機(jī)器翻譯[1]、跨實體鏈接[2]等傳統(tǒng)任務(wù)外,它在文檔分類[3]、語法分析[4]和詞性標(biāo)注[5]等任務(wù)中都有應(yīng)用,并提供了一種優(yōu)秀的轉(zhuǎn)移機(jī)制。

現(xiàn)有的大多數(shù)跨語言詞嵌入方法都是利用大型雙語平行語料庫學(xué)習(xí)跨語言詞嵌入[6-7]。由于很多語言語料稀缺,S?gaard等[8],Hermann等[9],Vuli等[10]使用文檔對齊或標(biāo)簽對齊語料庫實現(xiàn)跨語言詞嵌入,但是許多語料庫并沒有可用的雙語詞對。針對這一問題,Mikolov等[11],Artetxe等[12]提出采用學(xué)習(xí)雙語字典的歐式距離的平方和最小化的線性變換方法實現(xiàn)跨語言詞嵌入,該方法首先使用單語言語料對每種語言進(jìn)行單語嵌入,然后使用兩種語言單語詞嵌入映射來表示兩種語言之間的關(guān)系。Zhang等[5]將轉(zhuǎn)換矩陣W約束為正交矩陣。Xing等[13]在單語詞嵌入訓(xùn)練中將長度歸一化,對轉(zhuǎn)換矩陣進(jìn)行正交性約束。Artetxe等[14]使用自學(xué)習(xí)方法來減少雙語資源的需求方法。Artetxe等[12]提出了一個雙語詞嵌入框架,并闡明了和Mikolov[11]之間的關(guān)系,提出了一種有效的分析實施方法。Smith等[15]對Artetxe等[12]的方法進(jìn)行合并降維擴(kuò)展。Faruqui等[16]提出了另一思想,不是學(xué)習(xí)從源語言到目標(biāo)語言的單一線性轉(zhuǎn)換,而是將兩種語言的詞向量投影到共同的低維空間學(xué)習(xí)線性變換。以上方法采用的詞典通常包含幾千個雙語詞對,但是許多語言不容易獲得這種規(guī)模的詞典,特別是涉及到資源很少的語言。

本文基于Mikolov[11]映射的方法,提出了一種基于小字典語料不對等的跨語言詞嵌入方法,該方法不需要大型雙語語料,僅使用5 000詞對。該方法首先對單語詞向量進(jìn)行歸一化,對5 000詞對正交最優(yōu)線性變換求得梯度下降初始值,然后通過對大型語料英語(源語言)進(jìn)行聚類,找出5 000詞源語言與源語言聚類得到的每一簇的對應(yīng)關(guān)系,把源語言中每一簇的平均詞向量值,與小字典中目標(biāo)語言對應(yīng)詞的平均詞向量值建立對應(yīng)詞向量對關(guān)系,然后追加到小字典后面來泛化和擴(kuò)展小字典。最后,用擴(kuò)展后的小字典利用梯度下降進(jìn)行優(yōu)化。本文方法降低了梯度下降的迭代次數(shù),減少了模型優(yōu)化時間,提高了跨語言詞嵌入的準(zhǔn)確率。

本文的組織結(jié)構(gòu)如下: 第1節(jié)為基于映射的跨語言詞嵌入方法介紹; 第2節(jié)詳細(xì)介紹基于小字典語料不對等的跨語言詞嵌入模型;第 3節(jié)對跨語言詞嵌入模型的實驗和結(jié)果進(jìn)行分析;第4節(jié)為結(jié)論。

1 基于映射的跨語言詞嵌入方法

(1)

圖1中給出了可視化的圖以說明Mikolov的方法。可以看到英語和意大利語中數(shù)字的向量,并且可以看到這些單詞具有相似的幾何排列[11]。

圖1 英文向量空間(左)和意大利文向量空間(右)的表示

圖1中,將每種語言的五個數(shù)字投影到兩個不同維度的向量空間,左邊為數(shù)字在英文向量空間的表示,右邊為數(shù)字在意大利文向量空間的表示。通過旋轉(zhuǎn)可以將某個詞語從一個向量空間線性轉(zhuǎn)換到另一個向量空間。

2 基于小字典語料不對等的跨語言詞嵌入模型

2.1 本文方法的思想

Mikolov[11]的方法,因其簡單且有良好的表現(xiàn)在雙語詞嵌入工作中具有廣泛應(yīng)用。本文在Mikolov基礎(chǔ)上進(jìn)行擴(kuò)展和優(yōu)化,使其在缺乏語料和雙語語料不對等的情況下有很好的表現(xiàn)。算法流程如下:

第一步,用Word2Vec對源語言和目標(biāo)語言進(jìn)行處理得到源語言S、目標(biāo)語Y及字典D詞向量;

第二步,歸一化S、D;

第三步,正交化(SVD)D得到W1;

第四步,k-means聚類S,得到S1,S2,…,Sn個聚類簇,n為聚類的簇數(shù);

第五步,建立S→X→Y之間的關(guān)系,S為源語言,X為字典D中的源語言詞集合,Y為字典D中與X互譯的目標(biāo)語言詞語集合,Xi為{x1,x2,…,xk}的集合,xk為源語言中的某個詞,Xi與S聚類后的某個簇i存在對應(yīng)關(guān)系,即Xi∈Si,對簇Si求平均詞向量為S′i,同時將字典中Xi集合對應(yīng)的目標(biāo)語言集合Yi取詞向量的平均Y′i,將S′i與Y′i這對擴(kuò)展后的對應(yīng)關(guān)系一同追加到字典D后面;

第六步,重復(fù)第五步,直到所有的簇S1,S2,…,Sn都找到與目標(biāo)語言集合的對應(yīng)關(guān)系,并將對應(yīng)的均值詞向量都追加到字典D中,得到新的字典D1,轉(zhuǎn)到第七步。

第七步,以W1為初始值,對D1進(jìn)行梯度下降求解,求解跨語言詞嵌入映射模型的最優(yōu)值。

在第1節(jié)中介紹了Mikolov的映射方法,由圖1可以看出Mikolov的方法學(xué)習(xí)了源語言到目標(biāo)語言的線性映射,這是一對一的線性映射。本文把一個源語言S聚類后的簇S1,S2,…,Sn映射到目標(biāo)語言,使源語言S得到充分利用。原理圖如圖2所示。

圖2 源語言(左)映射到目標(biāo)語言(右)的單詞向量分布式表示

圖2中,左邊為單詞向量在某一語言向量空間(原語言向量空間,如英語詞向量空間)的表示,右邊為將左邊(原語言空間)每個詞向量借助字典映射到另外一種語言向量空間(目標(biāo)語言向量空間,如意大利語向量空間),對源語言進(jìn)行聚類,然后把源語言詞向量簇與映射到目標(biāo)語言空間的詞向量建立對應(yīng)關(guān)系。

2.2 歸一化詞向量

2.3 K-means聚類

K-means算法是典型的基于距離的聚類算法,采用距離作為相似性的評價指標(biāo),即認(rèn)為兩個對象的距離越近,其相似度就越大。簇是由距離靠近的個體組成的,因此把得到緊湊且獨立的簇作為最終目標(biāo),具體如式(2)所示。

(2)

其中,μn簇Sn的均值向量,稱為質(zhì)心,表示如式(3)所示。

(3)

輸入詞向量矩陣D={x1,x2,…,xn},隨機(jī)的選取任意K個詞向量作為簇的初始聚類中心,代表初始地K簇,K個詞向量選取對聚類結(jié)果有較大的影響。該算法在每次迭代中將詞向量矩陣中剩余的詞向量根據(jù)其與各個簇中心的距離,將每個詞向量重新賦給最近的簇。如果在一次迭代前后,聚類的中心向量J沒有發(fā)生變化,說明已經(jīng)收斂,輸出的簇劃分為(S1,S2,…,Sn)。

2.4 聚類簇與小字典的擴(kuò)展和泛化

圖3 小字典泛化原理圖

2.5 梯度下降優(yōu)化

本文將第1節(jié)中Mikolov的方法進(jìn)行轉(zhuǎn)換,相當(dāng)于最小殘差矩陣F范數(shù)的平方,如式(4)所示。

(4)

為了降低模型參數(shù)W求解過程中的迭代次數(shù),首先,在預(yù)處理過程中對詞嵌入矩陣X和Y中的詞向量進(jìn)行歸一化約束。其次,利用正交轉(zhuǎn)換求得初始值W1,將W約束為正交矩陣(即WWT=WTW=I)。由W1=W=VWT正交性約束下計算W1,其中對YTX進(jìn)行SVD分解,即YTX=UZVT[2],可以在有效的時間內(nèi)計算最佳線性轉(zhuǎn)換,由此得到梯度下降較為理想的初始值進(jìn)W1,進(jìn)而降低模型參數(shù)轉(zhuǎn)換矩陣W的訓(xùn)練時間。

豐富的植被把丹霞地貌點綴的更具誘惑力,山坡上長滿各種喬灌木,形成了林海。溝溪邊綠草如茵,流水潺潺。每年6、7月間,山花爛漫,野草芳菲;9月金秋,霜葉鮮紅,碩果累累,樹林草叢中時有出沒的野生動物,使人有新奇之感,秋夏半年是一幅色彩斑斕的迷人畫卷。

由于現(xiàn)有的5 000詞對的小字典D太小,實驗效果不佳,本文將2.4節(jié)中泛化后的小字典D1作為梯度下降的訓(xùn)練數(shù)據(jù)對轉(zhuǎn)換矩陣W的訓(xùn)練和學(xué)習(xí)。所追求最理想的結(jié)果是XW=Y,因此考慮為簡單的線性過程[13],如式(5)所示。

(5)

由此得到損失函數(shù)如式(6)所示。

(6)

梯度下降更新迭代如式(7)所示。

(7)

其中,α為學(xué)習(xí)率,經(jīng)過訓(xùn)練學(xué)習(xí)得到最后的轉(zhuǎn)換矩陣W。

3 實驗

為了驗證本文方法的可行性,本文采用和Artetxe[14]一樣的公共英語、意大利、德語和芬蘭語數(shù)據(jù)集對本文的詞嵌入方法進(jìn)行評估,并與Mikolov[11],Xing[13],Artetxe[12]和Artetxe[14]等的方法進(jìn)行對比,來說明本文方法的有效性。

3.1 實驗數(shù)據(jù)

本文使用由Dinu等[17]提供的公共英語、意大利數(shù)據(jù)集,其中包括單語詞嵌入和雙語詞典的訓(xùn)練集和測試集。有(UKWAC +維基百科+ BNC)的28億個詞英語語料和16億意大利語詞的語料(itWaC)。用歐洲平行語料庫(Europarl-Parallel Corpus)中的詞對作為訓(xùn)練集和測試集[18],以詞典中5 000個最常用的詞對作為訓(xùn)練集和隨機(jī)1 500作為測試集。詞嵌入使用Word2vec工具包CBoW負(fù)采樣[11],上下文窗口設(shè)置為5個單詞,嵌入的維度為300維,子采樣為1×10-5,負(fù)樣本數(shù)量為10個,源語言(英語)選用200 000個最常用詞匯。

除了英語、意大利語外,本文還選擇了兩種有公共資源的語言進(jìn)行測試。因此,為英語、德語和英語、芬蘭語創(chuàng)建了類似的數(shù)據(jù)集。以同樣的訓(xùn)練方式對9億詞的WaCky德語語料訓(xùn)練詞嵌入。由于這個集合不包含芬蘭語,本文對爬取到的28億規(guī)模的語料庫,用斯坦福大學(xué)的分詞器進(jìn)行分詞[1]。此外,從歐洲平行語料庫(Europarl-Parallel Corpus)中獲取芬蘭語和意大利語各自的詞對,創(chuàng)建了訓(xùn)練和測試集。按照同樣的方法、相同的配置訓(xùn)練德語和芬蘭語單語詞嵌入[17]。

對于收斂標(biāo)準(zhǔn),當(dāng)權(quán)值從一次迭代下降到給定閾值以下時停止訓(xùn)練。因為歸一化后,點積為-1到1,所以將此閾值設(shè)置為1×10-6,這是一個比較合理的閾值。

3.2 評價指標(biāo)

(8)

3.3 K-means聚類中K值的選取

本文按Artetxe[14]設(shè)置同樣的參數(shù)和相同的評價標(biāo)準(zhǔn)。對20萬源語言(英語)語料進(jìn)行聚類,由于種子字典規(guī)模為5 000詞對,本文分別對源語言聚4 000、5 000、6 000、7 000和8 000簇。在每次聚類過程中對20萬數(shù)據(jù)集進(jìn)行100次迭代,聚上面5類,在內(nèi)存為64 GB的服務(wù)器上運(yùn)行了近五天,聚類耗時過長,并且在聚更高簇時,我們現(xiàn)有的實驗設(shè)備配置無法完成聚類。因此,本文聚類中K值的選取實驗我們只做到了8 000,而由表1也看出聚類K值對實驗結(jié)果有很大的影響,當(dāng)K=8 000時已經(jīng)取得較好的實驗結(jié)果,所以本文對K的選取就為8 000。

表1 對不同K值下的雙語詞匯歸納的正確性(%)

小字典的大小對實驗結(jié)果必然產(chǎn)生影響,在本文選用5 000的種子字典,更大的字典有更高的準(zhǔn)確率,但是大的字典很多情況下由于語料稀缺,雙語詞典難以獲得,從而轉(zhuǎn)向更小的字典的研究,基于更小的字典會導(dǎo)致聚類后擴(kuò)展的字典也更小,從而使得學(xué)習(xí)到的模型差一些,進(jìn)而影響實驗結(jié)果。

3.4 實驗結(jié)果與分析

對于雙語詞嵌入的實驗,本文的方法與Mikolov[11],Xing[13],Artetxe[12]和Artetxe[14]等提出的方法進(jìn)行了比較。表2顯示了與現(xiàn)有工作的比較,選擇K=8 000最佳性能配置的結(jié)果與現(xiàn)有方法進(jìn)行比較。

表2 雙語詞嵌入正確率實驗結(jié)果對比(%)

由表2看出Xing[13]的方法比Mikolov[11]準(zhǔn)確率高,這與他們在論文中內(nèi)容一致。說明歸一化和正交能很好地提高實驗效果。

Artetxe[12,14]較之前的兩種方法也有較好的表現(xiàn)結(jié)果,比之前的兩種方法表現(xiàn)更為優(yōu)秀。Artetxe[12]在Mikolov[11]的基礎(chǔ)上引入了長度歸一化和中心化,在三種語言的表現(xiàn)上都有很大的提高。Artetxe[14]提出了自學(xué)習(xí)框架,在25個詞對情況下就有不俗的結(jié)果。但是在5 000詞對下在英語—德語、英語—芬蘭語結(jié)果稍遜于Artetxe[12]。

本文的方法對源語言進(jìn)行聚類,使得小字典得以擴(kuò)展和泛化,并用正交SVD求得梯度下降初始值W1,降低迭代次數(shù),有效減少了模型訓(xùn)練時間。同時正確率也有明顯的提高,但是在英語—芬蘭語的表現(xiàn)結(jié)果比Artetxe[12]稍微差一點。分析其原因,主要是我們自己爬取芬蘭語,并利用斯坦福大學(xué)的分詞器進(jìn)行分詞來訓(xùn)練詞向量模型。芬蘭語的詞向量的效果可能受分詞或訓(xùn)練詞向量模型語料規(guī)模影響,從而影響詞嵌入的效果。

三種語言對的準(zhǔn)確率都表現(xiàn)出相同的一般性,它們的準(zhǔn)確度也有明顯的差異,這是所涉及的語言的鄰近性所致。芬蘭語是非印歐語的凝集語言,使得對這一語言的任務(wù)變得相當(dāng)困難。在小字典上取得良好結(jié)果表明本文方法的魯棒性。即使對于遙遠(yuǎn)的語言對,其中嵌入空間的結(jié)構(gòu)相似性可能較弱,它也能從雙語詞對中學(xué)習(xí)非常好的雙語映射。

3.5 跨語言相似度計算

為了證明模型的有效性,本文還在跨語言相似性方面進(jìn)行了測試,與Mikolov[11],Xing[13],Artetxe[12]和Artetxe[14]等的方法進(jìn)行對比,來證明本文方法的有效性。采用Artetxe[14]所用的帶有斯皮爾曼系數(shù)的測試集和評價指標(biāo),以相似度SIM作為度量標(biāo)準(zhǔn),N表示測試集的大小,如式(9)所示。

(9)

表3顯示了與現(xiàn)有工作的比較,由表3看出本文方法在先前的方法中引入了梯度下降初始值W1,對源語言聚類擴(kuò)展和泛化小字典。在模型訓(xùn)練時間和相似度計算上都有明顯的提高,但是在英語—意大利語的表現(xiàn)結(jié)果比Mikolov[11]稍微差一點。

表3 斯皮爾曼系數(shù)關(guān)于英語—意大利語和英語—德語的跨語言相似度的相關(guān)性

綜上實驗結(jié)果我們可以看出,本文方法在跨語言詞嵌入方面確實取得了一定的效果,但是對3.3節(jié)中出現(xiàn)的源語言一個詞對應(yīng)目標(biāo)語言的多個詞的情況,本文只是對所對應(yīng)的多個詞向量進(jìn)行取平均處理,后續(xù)工作將考慮進(jìn)一步優(yōu)化處理源語言一個詞對應(yīng)目標(biāo)語言的多個詞的問題,盡可能地排除所對應(yīng)的目標(biāo)詞中的干擾詞。

4 總結(jié)

本文基于Mikolov等[11],Xing等[13]的工作提出一種基于小字典不對等語料的跨語言詞嵌入方法,在英語—意大利語、德語和芬蘭語上進(jìn)行了實驗驗證,結(jié)果證明了訓(xùn)練時間和雙語詞嵌入準(zhǔn)確率都有很好的表現(xiàn)。本文方法首先對單語詞向量進(jìn)行歸一化,對小字典詞對正交最優(yōu)線性變換求得梯度下降初始值,然后通過對大型源語言(英語)語料進(jìn)行聚類,借助小字典找到與每一簇相對應(yīng)的源語言詞,取聚類得到的每一簇平均詞向量值和源語言與目標(biāo)語言對應(yīng)的詞向量值,建立新的雙語詞向量對應(yīng)關(guān)系,將新建立的雙語詞向量擴(kuò)展到小字典中,使得小字典得以泛化和擴(kuò)展。最后,利用泛化擴(kuò)展后的字典對跨語言詞嵌入映射模型進(jìn)行梯度下降求得最優(yōu)值。但是聚類消耗大量時間,未來我們的研究將圍繞解決這一問題開展,同時不再局限于詞的映射,將擴(kuò)展到句子,甚至是文本的映射。

猜你喜歡
源語言目標(biāo)語言語詞
你是那樣美 唐心語詞
歌海(2021年3期)2021-07-25 02:30:48
林巍《知識與智慧》英譯分析
《老子》“自”類語詞哲學(xué)范疇釋要
淺析日語口譯譯員素質(zhì)
教材插圖在英語課堂閱讀教學(xué)中的運(yùn)用及實例探討
跨文化視角下對具有修辭手法諺語英譯漢的研究
速讀·下旬(2016年7期)2016-07-20 08:50:28
從文化理據(jù)看英漢語詞翻譯
以口譯實例談雙語知識的必要性
考試周刊(2015年36期)2015-09-10 15:03:38
二語習(xí)得過程中的石化現(xiàn)象分析
概念任務(wù)下中英雙語者非目標(biāo)語言的詞匯通達(dá)
崇礼县| 洛阳市| 陇西县| 环江| 元阳县| 柳江县| 射阳县| 额敏县| 田东县| 五大连池市| 东丽区| 祁东县| 枣强县| 夏津县| 饶平县| 嘉峪关市| 临朐县| 高青县| 富源县| 和田县| 伊吾县| 尼木县| 肥乡县| 清原| 廊坊市| 深州市| 镇坪县| 北流市| 宜黄县| 尚义县| 汝南县| 利辛县| 隆德县| 东阳市| 水城县| 尚义县| 大石桥市| 安丘市| 蕲春县| 田东县| 平远县|