跨語言詞向量筆記6 從跨語言詞向量到多語言詞向量

2021-09-27 16:44:08 字數 3596 閱讀 4649

使用句級別/文件級別資訊的多語詞嵌入

參考文獻

本文完全來自於anders søgaard等人的著作[søgaard2019] søgaard, a., vulić, i., ruder, s., & faruqui m. (2019). cross-lingual word embeddings

在獲得了雙語詞向量後,很自然地會考慮將其擴充套件到多語的環境下。訓練多語詞向量實際有很強的現實意義:一些工作指出對於詞語歧義性問題,多語環境可以提供一種自然的、隱含的監督訊號。一些語言對某些意思的定義是含蓄的,另一種語言則可能是外露的。因此使用多種語言做對齊可能可以更好地利用這種隱含的監督訊號,達到消歧義以及產生更好的詞嵌入的目的。即便是想學習詞表之間的一一對映關係,詞彙詞意上分布的差異也可以扮演乙個有效的正則項的角色

多語詞嵌入學習裡,最直接的仍然是基於對映的方法。這種方法需要乙個中樞語言(通常是英語),若要學習l

ll個語言的詞向量,則需要l

ll個單語空間和l−1

l-1l−

1個種子詞典,然後將l−1

l-1l−

1個空間對映到相同的這個中樞語言空間中。記中樞語言為l

pl^p

lp,則對映法的目標函式基本形式為

l 1+

l2+…

+ll−

1+lp

+ωl1

→lp+

ωl2→

lp+…

+ωll

−1→l

p\mathcal^1 + \mathcal^2 + \ldots + \mathcal^ + \mathcal^p + \omega^ + \omega^ + \ldots + \omega^ \rightarrow l^p}

l1+l2+

…+ll

−1+l

p+ωl

1→lp

+ωl2

→lp+

…+ωl

l−1→

lp[smith2017]使用這樣的方法構建了90種語言的多語詞向量模型,中樞語言是英語。種子詞典的構造方法是對每種語言選出最常出現的5000個詞,使用google翻譯將其翻譯成英語得出。由於限制了轉換矩陣必須正交,所以單語空間內個點的距離沒有變化。同樣的工作還指出,多語空間可以推出種子詞典中沒有包含的單詞對,並且對相似的語言(例如西班牙語-加泰隆語、俄語-烏克蘭語、捷克語-斯洛伐克語、塞爾維亞語-克羅埃西亞語、丹麥語-挪威語)構建出質量比較高的對照詞典。另外一些工作使用的不是單語空間,而是若干已經學好的雙語空間

由於對映到某個指定的向量空間會引入偏差,因此也有一些工作尋找其他解決方案。[kementchedjhieva2018]使用了廣義普式分析(genreralized procrustes analysis, gpa),這種方法能一次對齊k

kk個向量空間(將k

kk個空間對映到乙個共享的隱空間l

ll上再對齊)。對k

kk個嵌入空間x1,

…,xk

\boldsymbol^1 ,\ldots, \boldsymbol^k

x1,…,x

k,gpa最小化如下目標函式

a rg

min⁡∑i

∥wi→

lxi−

wj→l

xj∥2

\mathop\min}_^ ,\ldots, \boldsymbol^\}}\sum_​i

k​∥∥

∥​wi

→lxi

−wj→

lxj∥

∥∥​2

這些嵌入矩陣經過線性變換後的結果均值可以通過如下方法求得

g =1

k∑i=

1kxi

wi→l

(1)\boldsymbol = \frac\sum_^k \boldsymbol^i\boldsymbol^ \tag

g=k1​i

=1∑k

​xiw

i→l(

1)這樣的隱空間可以捕捉所有單語空間x1…

k\boldsymbol^

x1…k

的性質,而且通過組合這些空間可能還可以湧現出一些額外的性質。g

\boldsymbol

g的計算是迭代的,最初始沒有任何w

\boldsymbol

w的時候,先設g:=

xi

\boldsymbol := \boldsymbol^i

g:=x

i,其中i

ii是1到k的任意乙個值。然後使用svd計算各個wi→

l\boldsymbol^

wi→l

katex parse error: no such environment: align* at position 8: \begin̲ \boldsymbol…

再使用1式得出新的g

\boldsymbol

g,如此反覆直到輪數足夠或者達到其他收斂條件

聯合訓練的核心思路還是要找多語言單詞上下文。代表性工作是[duong2017],基於乙個類似於cbow的目標函式:假設有l

ll個語言,對每個語言l

il^i

li,模型不僅要用上下文**該語言的中心單詞,還要**這個中心單詞的所有翻譯。這種multicbow模型可以看做是多個單語和多個跨語言cbow目標函式的組合

j =l

cbow

1+lc

bow2

+…+l

cbow

l+lc

bow1

→2+l

cbow

2→1+

…+lc

bow(

l−1)

→l+l

cbow

l→(l

−1

)j = \mathcal_^1 + \mathcal_^2 + \ldots + \mathcal_^l + \mathcal_^ + \mathcal_^ + \ldots + \mathcal_^ + \mathcal_^

j=lcbo

w1​+

lcbo

w2​+

…+lc

bowl

​+lc

bow1

→2​+

lcbo

w2→1

​+…+

lcbo

w(l−

1)→l

​+lc

bowl

→(l−

1)​這裡目標函式的跨語言部分也可以看做是正則項ω

\omega

ω。如果將cbow風格的目標函式換成sgns,就得到了biskip模型的擴充套件multiskip

這些工作基本都是雙語詞嵌入工作的擴充套件。例如,trans-gram模型的擴充套件可以看做是丟棄了詞對齊資訊的multiskip,也就是它用中心詞**的不僅是視窗內上下文單詞及其對應的翻譯,而是把範圍擴充套件到了整句話。例如對英語the cat sat on the mat,克羅埃西亞語mačka sjedi na otiraču和法語le chat est assis sur le tapis,要用cat**這三句話共16個詞(只是不用**cat)

文件級別的工作則是選擇了多語言版本的維基詞條內容或聖經內容,仍然是使用單詞的倒排文件索引做稀疏向量表示,再做乙個矩陣分解獲得單詞-概念矩陣

跨語言詞向量筆記1 序言與分類方法

本文完全來自於anders s gaard等人的著作 s gaard2019 提出跨語言詞向量的目的是在跨語言應用中表示各語言單詞詞義,並跨語言傳遞學到的知識。跨語言詞向量使得模型可以在多語言上下文中推理詞義,也可以計算不同語言單詞的相似度,有利於跨語資訊提取。此外,由於跨語詞向量有助於跨語言傳遞學...

r語言邏輯向量相加 R語言學習筆記 向量

本章命令小結 x 建立向量並賦值給xc 數值,數值,數值 c 字串 字串 字串 c true,false,t,f c 1 100 冒號表示等差數列,1 100是1到100的等差數列 公差為1 seq from 起始值,to 終止值,by 公差 建立等差數seq from 起始值,to 終止值,len...

C語言筆記(6)

這個形參包括了傳入引數和傳出引數 傳入引數 就是數值的傳遞。在函式中不會修改這個引數,不會修改呼叫這個函式的函式的值。例如void exchange int a,int b int main 輸出的結果是 a 4 b 5 這是傳參,僅僅是乙個數值的傳遞。在呼叫exchange函式的時候,空間也分配了...