跨語言詞向量筆記2. 跨語言詞向量表示簡史

本文完全來自於Anders Søgaard等人的著作[Søgaard2019] Søgaard, A., Vulić, I., Ruder, S., & Faruqui M. (2019). Cross-Lingual Word Embeddings

儘管原書討論的是跨語言詞向量的獲得方法,但是在使用神經網絡獲得詞向量的時代來臨之前,學界就已經有類似工作開展,彼時的一些研究思路實際上也指導了現在的一些方法。本文簡單介紹了這些“史前方法”。獨立於語言的表示方法已經被學界研究了數十年,很多都依賴於正字法特徵或抽象的語言學特徵(如詞性標註PoS),而非詞法特徵。這也是使用所謂去詞彙化方法(delexicalized)來做跨語言模型遷移、單詞聚類等工作的策略

在一個共享的、跨語言的向量空間中表示兩種不同語言的詞彙信息,還可以提供語言之間單詞級別的細粒度聯繫,因此可以更好地做去詞彙化的跨語言遷移。引入這種細粒度的跨語言詞向量也可以看做是一種“再詞彙化(relexicalization)”:不再求助於高層、粗粒度的抽象表示(如跨語言聚類),基於跨語言詞向量的再詞彙化模型直接操作跨語言的詞級別特徵。例如,跨語言文檔分類或者依存分析問題,就可以這麼解決:首先在資源充分,有足夠標記數據的語言上訓練一個模型,這個模型也被共享的跨語言嵌入空間中源語言所處的子空間所支持。然後,模型直接用在目標語言上,不過此時是把目標語言的嵌入子空間看做是特徵集。

這樣的流程常見於2016、2017年的工作,而2012年實際上已經有了類似的思路,只不過當時的工作是對跨語言的詞類別做操作(跨語言詞類別通常從單語語料和平行句對中學出)。跨語言的詞類別,如字面意思所述(原文用的是英文clustering,意義更明顯),就是要把兩個不同語言中的單詞聚類成若干個離散的簇,使得語義上相關的詞可以被分在相似的簇中,這樣可以應對語言模型建模時面對的數據稀疏性。這種聚類方法可以看做是詞嵌入的一種樸素形式,區別在於可能有若干個詞有相同的表示,每個詞的表示方法是一個編號,而不是一個向量。跨語言單詞的聚類方式通常有兩種方法。其一是映射法,即先對源語言單詞聚類,然後通過平行語料,得出雙語單詞相似度或詞對齊信息,再將聚類結果投影到目標語言中。另一種是聯合學習法,即最大化單語和雙語聚類的聯合目標函數,其中雙語目標函數也編碼了某些從平行語料中提取的單詞相似度,可以看做是跨語言的正則項。這兩種不同的方法與近幾年表示學習中的一些方法也有異曲同工之妙

下圖給出了使用跨語言詞彙信息作爲句法解析器特徵的一個例子,來自於[Täckström2012]。在對英語和克羅地亞語做了單詞聚類以後,可以將源語言(英語)每個句子的treebank通過把單詞替換成類別號的方式來去詞彙化,這樣就得到了一個與語言無關的表示。這種去詞彙化的句法分析器使用跨語言的單詞類別信息就可以用來對目標語言做分析

使用跨語言詞彙信息的句法分析器

使用雙語詞典的跨語言詞向量表示

先來看一種傳統方法,其試圖從分佈式語義中推演得到跨語言詞向量空間。方法的基礎是高維的、基於上下文計數的向量,向量的每一維度都編碼了各個語言中與某個指定單詞(加權的)共現信息。其背後的假設是,如果兩個單詞呈可互譯的關係,那麼它們各自的鄰接詞很可能也是有相似的語義。換句話說,每個詞都被表示成一個高維向量,稱爲在特徵向量空間(也就是語義空間)中的一個上下文向量,向量的每個維度都是它的一個上下文特徵。在共享的語義空間中,兩個單詞的相似度就可以如下表示
sim(w1s,w2t)=SM(vec(w1s),vec(w2t)) {\rm sim}(w_1^s, w_2^t) = {\rm SM}({\rm vec}(w_1^s), {\rm vec}(w_2^t))
其中w1sw_1^s是來自源語言LsL_s詞表VsV^s的單詞,w2tw_2^t是來自目標語言LtL_t詞表VtV^t的單詞,SM\rm SM是衡量兩個係數向量相似度的一種手段(具體實現可以是餘弦距離、歐幾里得距離等),vec\rm vec是一個NN維上下文向量,包含NN個上下文特徵cnc_n
vec(w1s)=[sc1s(c1),,sc1s(cn),,sc1s(cN)] {\rm vec}(w_1^s) = [{\rm sc}_1^s(c_1), \ldots, {\rm sc}_1^s(c_n), \ldots, {\rm sc}_1^s(c_N)]
其中sc1s(cn){\rm sc}_1^s(c_n)表示單詞w1sw_1^s與上下文特徵cnc_n相關的共現權重/得分,常見的有如下幾類計算方式

  • 直接使用共現次數C(w1s,cn)C(w_1^s, c_n)
  • 條件概率P(cnw1s)P(c_n|w_1^s)
  • 帶權重的啓發式算法,例如TF-IDF
  • 逐點互信息(PMI)
  • 基於假設檢驗的方法,例如對數似然比

爲了構建共享的跨語言語義空間,兩個語言的詞向量必須使用同樣的特徵。標準方法是使用一個雙語的種子詞典,即cnc_n是詞對(cns,cnt)(c_n^s, c_n^t),其中cnsc_n^s是源語言單詞,cntc_n^t是目標語言單詞,兩者必須表達同樣的概念。例如英語-西語可以是(dog, perro), (bone, bueso), (blue, azul)等等。對源語言詞表VsV^s中的每個單詞,求出其與種子詞表中每個詞的共現得分scs(cn){\rm sc}^s(c_n)(當然要給定窗口大小)。這可以看做是將單語詞向量映射到一個跨語言詞向量空間的過程:通過mm個源語言上下文單詞的共現信息和pp個目標語言上下文單詞的共現信息,可以初始化mm維和pp維單語言詞向量。然後,兩個詞向量各自通過投影矩陣Ms\boldsymbol{M}_sMt\boldsymbol{M}_t被映射到一個由NN個跨語言上下文特徵(cns,cnt)(c_n^s, c_n^t)張成的子空間。更具體的幾何解釋可以參見下圖(來自[Gaussier2004])。

由於這部分工作可以看做是跨語言詞向量模型一個很重要的前處理工作,而雙語種子詞典的質量對這部分工作起着決定性的影響,因此有一些研究工作嘗試使用自助迭代技術(bootstrapping iterative technique)來不斷擴張種子詞典,例如[Peirsman2010][Vulić2013]。核心思想是檢查到一對單詞能通過某些可靠性驗證(如兩個單詞有互譯關係,或者相似度的分超過某個閾值)就將其加入種子詞典。這方面工作對近期基於映射的無監督或弱監督方法也很重要。不過有一點不同:傳統方法在加入新的詞對以後,種子詞典張成的子空間維度會增加;而基於映射的方法在加入新詞對後不會讓維度發生變化

跨語言詞嵌入與詞對齊

跨語言詞向量也可以與統計機器翻譯(SMT)裏的詞對齊相關聯,實際上一些嵌入模型也直接依賴於詞對齊。簡單說,詞對齊這一任務的目的是在句子對齊的平行預料中找出詞法單元(通常是單詞)之間的翻譯關係,其最終產品是一個源文本和目標文本之間的二部圖,當且僅當某一組單詞互爲對方的翻譯時,這兩個單詞有邊相連

IBM系列模型(IBM模型1-6)是NMT時代到來之前,SMT系統的重要部分。而其中最簡單的IBM模型1的思想在衆多跨語言詞嵌入算法中都有體現。該方法的核心思想是僅做基於單詞的對齊,最關鍵的參數稱爲翻譯表(translation table),該表存儲概率得分P(wtws)P(w^t|w^s),即源語言單詞wsw^s翻譯成目標語言單詞wtw^t的概率。IBM模型1的核心假設簡單說是所有可能的(ns+1)nt(n_s + 1)^{n_t}種詞對齊都是等可能的,其中nsn_sntn_t分別是已對齊句子對中源語言和目標語言的句子長度,模型在這個假設基礎上根據對齊句子的單詞共現信息使用EM算法學出翻譯表

[Levy2017]認爲無論是這種由IBM對齊模型學出的帶概率得分的翻譯表,還是以及其他類似的詞對齊模型,或者其它簡單的單詞共現信息統計指標,都可以代替餘弦距離,作爲前文提到的跨語言語義相似度衡量方法sim(ws,wt){\rm sim}(w^s, w^t)的一種。這種翻譯表也可以再用來引入雙語詞典,構建種子對應關係,爲後面的工作(例如基於映射的嵌入方法)所使用

當前大部分跨語言詞向量對齊的方法都會試着把源語言句子中的單詞與目標語言句子中與之最相似的單詞對齊,這個過程也正是IBM模型1中實現的貪心解碼算法,不過單純的對齊算法不會顯式學出單詞的向量表示vec(w){\rm vec}(w)。後面討論的若干方法會提出一種聯合目標函數,即將兩個單語言目標函數和一個跨語言正則項相結合,而這種方法也蘊含了IBM模型1的基礎假設。例如[Gouws2015]提出的跨語言正則項是對兩個嵌入空間中單詞的歐幾里德距離做懲罰,懲罰項正比於兩個單詞的對齊頻率。這項工作沒有直接在平行預料上運行對齊算法,而是假設有一個“均勻對齊模型”,和IBM模型1異曲同工。[Hermann2014]也做了類似假設

基於隱式/顯式跨語言概念的表示

除去從種子雙語詞典中得到的單詞之間的一對一翻譯,還可以使用其它一些跨語言特徵來張成共享的跨語言語義空間。最典型的方法是從詞對齊/句子對齊/文檔對齊的雙語數據之中直接推出一個隱藏的(latent)、跨語言共享的特徵,例如通過雙語概率主題建模(bilingual probabilistic topic modeling)得出它([Vulić2015])

雙語概率主題建模的目標是抽出NN個隱藏的、共享的跨語言概念(也就是跨語言主題){z1,,zN}\{z_1, \ldots, z_N\},使得這些概念可以最好地描述手頭數據。具體實現時,要學習兩組概率分佈

  • 首先,對每個隱藏主題znz_n、源語言單詞wsVsw^s \in V^s和目標語言單詞wtVtw^t \in V^t,算出條件概率P(wszn)P(w^s|z_n)P(wtzn)P(w^t|z_n)。這個分佈可以看做是語言無關的隱藏主題在不同語言上的表示(語言無關概念的語言相關表示)
  • 其次,算出每個文檔的主題分佈P(znd)P(z_n|d),其中dd是任意語言寫成的文檔。這個分佈可以看做是對文檔本身的一種表示,表示形式是NN個隱藏跨語言主題的混合

也就是說,每個隱藏的主題znz_n都有一定概率在某個文檔中被找到,這個主題在每個語言中也有一個與該語言相關的表示方法

由於每個主題此時都有一個與詞(無論是wsVsw^s \in V^s還是wtVtw^t \in V^t)相關的表示方法,反過來,也可以通過不同主題給每個詞一個表示方法,得到一個NN維向量(NN是主題數),向量的每個維度都是一個條件分佈

vec(ws)=[P(z1ws),,P(znws),,P(zNws)] {\rm vec}(w^s) = [P(z_1|w^s) , \ldots, P(z_n|w^s) , \ldots, P(z_N|w^s)]

這樣形成的語義空間有一個比較直觀的解釋:詞向量的每個維度都與某個主題相關聯,那麼兩個在所有隱藏主題上有相似分佈的單詞,其語義也應該是相似的。這種相似度可以用概率分佈的相似度來度量,例如KL散度

具體做法取決於不同的監督信號。有的工作需要對齊的文檔,然後在文檔上使用LSI或者LDA等主題模型;有的依賴於雙語種子詞典來獲得相似的文檔分佈,有的則是在文檔級別引入共享的主題空間

另一種方法則是從外部資源顯式引入主題信息。以維基百科爲例,假如收集到了NN組相同概念,用兩種語言寫成的文檔(例如“狗”的英文頁面和德文頁面)c1=(c1s,c1t),,cn=(cns,cnt),,cN=(cNs,cNt)c_1 = (c_1^s, c_1^t), \ldots, c_n = (c_n^s, c_n^t), \ldots, c_N = (c_N^s, c_N^t),記函數i(ws,cns)i(w^s, c_n^s)是單詞wsw^s在文檔cnsc_n^s中是否出現,則該單詞的一個向量表示是

vec(ws)=[i(ws,c1s),,i(ws,cns),,i(ws,cNs)] {\rm vec}(w^s) = [i(w^s, c_1^s), \ldots , i(w^s, c_n^s), \ldots, i(w^s, c_N^s)]

這個稀疏向量再通過維度縮減方法(例如PCA或者SVD),就可以得到稠密向量

結語

所有這些“上古”方法都是使用跨語言空間中的一些指標來計算跨語言單詞相似度,這些指標包括但不限於KL散度或者向量內積。這些方法通常也是從相同的數據中學習,使用相同的雙語監督信號,因此不同的方法之間存在一定可轉換性。近期的工作雖然和這些古老的工作之間有着共同的目標和理論假設,但是它們進一步利用了近期表示學習領域取得的成果,因此更簡單、更有效、更適用於大數據,在也能更魯棒地適用於不同領域

參考文獻

  • [Gaussier2004]: Gaussier, E., Renders, J. M., Matveeva, I., Goutte, C., & Déjean, H. (2004). A geometric view on bilingual lexicon extraction from comparable corpora. In Proceedings of the 42nd Annual Meeting of the Association for Computational Linguistics (ACL 2004) (pp. 526-533).
  • [Täckström2012]: Oscar Täckström, Ryan McDonald, and Jakob Uszkoreit. 2012. Cross-lingual word clusters for direct transfer of linguistic structure. In Proc. of the Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL-HLT 2012), pages 477–487.
  • [Peirsman2010]: Peirsman, Y., & Padó, S. (2010, June). Cross-lingual induction of selectional preferences with bilingual vector spaces. In Human Language Technologies: The 2010 Annual Conference of the North American Chapter of the Association for Computational Linguistics (NAACL-HLT 2010) (pp. 921-929). Association for Computational Linguistics.
  • [Vulić2013]: Vulić, I., & Moens, M. F. (2013, October). A study on bootstrapping bilingual vector spaces from non-parallel data (and nothing else). In Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing (EMNLP 2013) (pp. 1613-1624).
  • [Levy2017]: Omer Levy, Anders Søgaard, and Yoav Goldberg. 2017. A strong baseline for learning cross-lingual word embeddings from sentence alignments. In Proc. of the 15th Conference of the European Chapter of the Association for Computational Linguistics (Volume 1: Long Papers) (EACL 2017).
  • [Gouws2015]: Stephan Gouws, Yoshua Bengio, and Greg Corrado. 2015. BilBOWA: Fast bilingual distributed representations without word alignments. In Proc. of International Conference on Machine Learning (ICML 2015).
  • [Hermann2014]: Karl Moritz Hermann and Phil Blunsom. 2014. Multilingual models for compositional distributed semantics. In Proc. of the 52nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) (ACL 2014), pages 58–68.
  • [Vulić2015]: Ivan Vulić, Wim De Smet, Jie Tang, and Marie-Francine Moens. 2015. Probabilistic topic modeling in multilingual settings: An overview of its methodology and applications. Information Processing and Management, 51(1), pages 111–147.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章