使用句級別/文件級別資訊的多語詞嵌入
參考文獻
本文完全來自於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) 文件級別的工作則是選擇了多語言版本的維基詞條內容或聖經內容,仍然是使用單詞的倒排文件索引做稀疏向量表示,再做乙個矩陣分解獲得單詞-概念矩陣 本文完全來自於anders s gaard等人的著作 s gaard2019 提出跨語言詞向量的目的是在跨語言應用中表示各語言單詞詞義,並跨語言傳遞學到的知識。跨語言詞向量使得模型可以在多語言上下文中推理詞義,也可以計算不同語言單詞的相似度,有利於跨語資訊提取。此外,由於跨語詞向量有助於跨語言傳遞學... 本章命令小結 x 建立向量並賦值給xc 數值,數值,數值 c 字串 字串 字串 c true,false,t,f c 1 100 冒號表示等差數列,1 100是1到100的等差數列 公差為1 seq from 起始值,to 終止值,by 公差 建立等差數seq from 起始值,to 終止值,len... 這個形參包括了傳入引數和傳出引數 傳入引數 就是數值的傳遞。在函式中不會修改這個引數,不會修改呼叫這個函式的函式的值。例如void exchange int a,int b int main 輸出的結果是 a 4 b 5 這是傳參,僅僅是乙個數值的傳遞。在呼叫exchange函式的時候,空間也分配了...跨語言詞向量筆記1 序言與分類方法
r語言邏輯向量相加 R語言學習筆記 向量
C語言筆記(6)