使用句級別/文件級別資訊的多語詞嵌入
參考文獻
本文完全來自於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=k1i
=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函式的時候,空間也分配了...