Cross Lingual Word Embedding Modelsの調査

タイトルの通り、[A Survey of Cross-lingual Word Embedding Models(2019)](https://arxiv.org/pdf/1706.04902.pdf)という論文を要約しようと思います。

# Abstract

言語を跨いだ単語表現は多言語文脈での意味の類推や、低リソース言語の翻訳モデルを作るときに重要である。
この論文ではcross-lingual word embedding modelsの包括的な類型を提示する。

# Introduction

近年（単言語の）単語ベクトル表現、いわゆる単語埋め込みが盛んに利用され、さらに多言語ベンチマークも豊富になってきたことからクロスリンガル埋め込み空間における言語をまたいだ単語表現のモデルが生まれた。

Cross-lingual word embeddingsが良いのは、１つには言語間で単語の意味を比較できること。これは二言語語彙誘導(Bilingual lexicon induction)、機械翻訳、cross-lingual情報検索などの役に立つ。

二つ目は共通の表現空間を使うことで例えばリソースが多い言語と少ない言語の間でmodel transferができるようになることで、これは評価手法にもつながる。

*Bilingual lexicon inductionとはある言語の単語列を別の言語に置き換えるタスクのこと。通常は共有空間内で最近傍なベクトルを用いる。

# 単言語埋め込み手法
ほとんどのcross-lingualモデルは一言語モデルを利用しているので、まずは一言語モデルをおさらいする

## 1. Latent Semantic Analysis（LSA)
コーパスから得られるスパースな共起行列を分解する手法。
PMI（自己相互情報量）の行列を特異値分解し、次元削減して単語表現にする。

## 2. Max-margin loss(MML)
ニューラルネットの出力がコーパス内で実際に出現した単語列は大きく、中心だけを入れ替えた間違った単語列では小さくなるようなヒンジ損失を考える。

## 3. Skip-gram with negative sampling(SGNS)
訓練の効率性と頑健さにより注目を集める。そもそもSkip-gramは中央単語からwindow内の別の単語を予測するタスクを解く。具体的には単語ベクトルと文脈ベクトルの内積のソフトマックスから定まる確率の対数損失をWindow内で合計し、中央単語を変えた時の平均値が損失関数（対数損失はヒンジ損失より大きい）。このときソフトマックスの分母を全て足さずにnegative sampleで近似する。

## 4. Continuous bag-of-words(CBOW)
window内の単語から中央単語を予測する。中央単語ベクトルと文脈ベクトルの和の内積によるソフトマックスから得られる確率の対数損失の平均値が損失関数

## 5. Gloval vectors(GloVe)
行列分解によって単語表現を得る手法。あまり分かってないので別にリサーチが必要。

# Cross-Lingual単語埋め込みモデルの類型
モデルのパフォーマンに効くのはモデルの構造よりもデータの選び方である。これは一言語のときにも同じことが言える。データの選び方には二つの観点がある。

- Type of alignment...alignmentの方法が単語ごとか、文ごとか、文書ごとか
- Comparability...対訳データそのものなのか、同じ画像に対するキャプションなど似た内容のものなのか

大雑把にいうと、単語ごと、文ごとでは対訳データが多く、文書では似ている内容が多い。文書で対訳となると文ごとと変わらなくなってしまう。

# (1-A) 単語レベル対応づけ手法-対訳データ
*Hubness ある点の周りに密集してしまう現象。高次元でよく起きる。cross-lingual空間で翻訳を考える際には厄介な存在

- 写像ベース手法
- 擬似二言語コーパスベース手法
- 結合法

がある。
## (1-A)1. 写像ベース手法
最もメジャーな手法。重要な観点は

- 写像方法
- seed lexiconの選び方
- 精度を上げる方法(refinement)
- 最近傍の選び方

である。
### (a) 写像手法について
1. 回帰法
2. 直交法
3. 標準法（カノニカル法)
4. マージン法

#### (a-1) 回帰法
線形変換。monolingual空間同士の幾何構造が似ている事による。一方からもう一方への線形変換行列Wを平均二乗誤差(MSE)の最小化によって実現。ムーアペンローズ擬似逆行列を使って解析解を求めることもできる。
全体の流れとしてはmonolingualで個々に損失を最小化した後に二乗誤差を最小化する。monolingual埋め込みを単位長に正規化することもある

#### (a-2) 直交法
回帰法を改善して変換行列を直交行列に限定。こちらも解析解あり。monolingual空間同士でベクトル長を揃える効果がある。

#### (a-3) 標準化法
両方の言語を共通の空間に写像する。カノニカル相関分析を使う。それぞれの空間に対して別々に回転行列を学習するのが回帰法との大きな違い。変換後の相関を最大化する。損失としては相関を−１倍。

#### (a-4) マージン法
hubnessを解消するためにMSEの代わりにランキング損失に基づくマージン最大化を利用した。monolingualにおけるMMLと本質的には同じ。k個のネガティブサンプルの選び方が重要。

一番よく用いられるのは直交法

### (b) seed lexiconについて
#### (b-1) Off-the shelf
頻度の高いbilingual lexiconを自動的に選ぶ。初期は5000個ほど、最近では25個ぐらいの研究もある.

#### (b-2) Weak supervision
同根語、shared numerals, 同スペル語などに基づいて選ぶ。選ぶのがより簡単でoff-the-shelfと同等の結果が出る

#### (b-3) Learned
unsupervised。写像空間かターゲット空間かを判別するadversarialな方法。翻訳は似た確率分布を持つというヒューリスティックスもある？

### (c) Refinementについて
既にあるcross-lingualモデルからseed単語をもらい、さらに新しいmappingを作る。seed単語をもらうときに、翻訳ペアがそのまま相互に最近傍なペアになっているものを選ぶ。hubnessの回避につながる。
このrefineを何回も繰り返す方法もある.
seed lexiconが大きい場合にはrefinementはそこまで重要ではないが、小さい場合には重要になってくる.

### (d) Retrieval(対応する単語の見つけ方)
hubnessを軽減するための様々な方法が提案されている。その中の一つがCSLS(cross-domain similarity local scaling)。単純なcos類似度から、考えている点からある程度近い点のcos類似度の平均を引いたものを考えることでhubnessの影響を補正する。これによって孤立した点の類似度を上げ、hubとなる点の類似度を下げることができる。CSLSはbilingual lexicon inductionの精度を上げる。
CSLSとは別に、2019にはcross-lingual単語埋め込みから学習したフレーズベース機械翻訳システムを利用してretrieveする手法が提案され、CSLSを上回った。

## (1-A)1'(番外編) retro-fitting
写像手法ではないが、retro-fittingという手法がある。これは、既にあるmono-lingual空間と、ナレッジグラフの両方に近いような空間を学習する。

## (1-A)2. 擬似二言語コーパスによる単語レベル手法
様々な手法があるが、その中の一つは片方の辞書の一部をもう一方の辞書の中にある翻訳に置き換えて学習する。
全体的に写像ベース手法と目的関数は似ているが、計算コストが大きい。

## (1-A)3. 結合モデル（joint model)
写像ベースと異なり、mono-lingual空間とcross-lingual正規化項を同時に最適化する。

- Bilingual language model
- Joint learning of word embeddings and word alignments

## (1-A)補足　３つの手法は等価なこともある
- 補題1→擬似二言語サンプリングは制約つき二言語SGNSと等価
- 補題2→SGNSのretro-fittingは制約つき二言語SGNSと等価

# (1-B) 単語レベル対応づけ手法-比較可能データ
## (1-B)1. Language grounding models

言語の情報を画像に落とし込んでしまうことで、画像の特徴量を使って類似度などを判断する。
音声など画像以外のセンサーシグナルに落とし込む研究もあるが、これらの分野はまだ発展途上で言語情報の補足としての側面が強い。

## (1-B)2. Comparable feature models

- POSタグ等価性
- 
POSタグの透過性を用いて二つの言語を結びつける

# 単語レベル手法要約
概して、対訳データは比較可能データよりも好まれる傾向にある。データを得やすい上に性能も良い傾向にあるからである。

# (2-A) 文レベル対応づけ手法-対訳データ

- 単語対応ベース行列分解手法
- 構成的文モデル
- 二言語オートエンコーダーモデル
- 二言語skip-gramモデル

## (2-A)1. 単語対応ベース行列分解手法
FastAlignなどの教師なし単語alignモデルを使ったalignされた文対訳テキストによって生成された行列Aを使う。
Aは行和が１になるように正規化されていて、source単語の表現が、target単語の表現の和で表されることになる。
目的関数については様々な手法がある。
Zou et al. (2013) の手法では、max-margin法による片方のmonolingualを学習する項と、Aを固定して両方の埋め込みを学習する正規化項の最適化を同時に行う。
回転行列を固定する点が単語レベルの回転法との大きな違いである。また、両方向の翻訳を別々に学習することになる
他に行列分解の手法もある


## (2-A)2. 構成的文モデル
文が単語の和であるとして考えた時に、alignされた文同士の距離が近づくようにMMLで単語埋め込みを最適化する。それと別にそれぞれの埋め込みをL2正規化する形でjointで学習する。
単語レベルのモデルと違って正規化項が逆になっている。
同じ考え方を文書に適用し、文書を文の和として最適化した手法もある。そこでは単純な和でなくbigramによる非線形和が提唱された。

## (2-A)3. 二言語オートエンコーダーモデル
この手法も文を単語の和と考える。
言語sの文から自分自身へのオートエンコーダーと、言語sから言語tの翻訳へのエンコーダーデコーダーの二つを考えて、それらから生じるロスの和をjointで最小化する。
この場合、エンコーダーは単語を埋め込んでから和を取るので変数は単語埋め込みとなり、デコーダーはエンコーダーの出力を文章に置き換える回転行列が変数となる

## (2-A)4. 二言語skip-gramモデル
mono-lingual SGNSとcross-lingualの正規化項をjointで最適化する。この手法の特徴は単語同士がalignされたaligned sentenceが必要ないこと。正規化項には種類がいくつかある。
BILBOWAでは、正規化項としては単語埋め込みの平均が文を表すとし、翻訳同士の距離をできるだけ近づける。構成的文モデルと似ているが平均を採用しているところが違う。
Transgramではskip-gramの機構をそのままcross-lingualにも適用する。すなわち、片方の言語のある文からもう片方の文に出てくる単語を全て予測する機構を作る。
BiSkipは非常に似ているが、同じ位置の単語同士が完全にalignmentが取れているとする。正直よくわからない

## (2-A)5. 他の文レベル手法
alignされた文のペアのIDを用いるという原始的？な方法もありそこそこ良い精度が出る。あとはpivotを用いる方法

# (2-B) 文レベル対応づけ手法-比較可能データ
単語の時と同様、画像に紐付ける方法がある。multi30kというデータを使う

# 文レベル手法要約
元々単語レベル手法が主流であったが、幾何的に同型に近くないと上手くいかないという弱点があるため文レベルの対応づけで補おうするタイプが多い。
これによって単語レベルよりも同型に近くhubnessの問題に悩まされない埋め込みが可能となるケースもある

# (3-B) 文書レベル対応づけモデル-比較可能データ
データを得やすい。自動でalignされたWikipediaを使うことが多い
- 擬似二言語文書対応づけコーパス手法
- 概念ベース手法
- 文対応づけモデルの拡張

## (3-B)1. 擬似二言語文書対応づけコーパス手法
単語レベルにおける擬似二言語コーパス手法に似ている。merge and shuffleする。シャッフルすることによってロバストになる！？

## (3-B)2. 概念ベース手法
似たような概念やトピックに登場しやすい単語同士は似ていると言われることを利用する


## (3-B)3. 文対応づけモデルの拡張
.

# 文書レベル要約
文レベルの補助的な位置付け

# 4. 二言語から多言語へ
多言語で一気に学習した方が精度が上がることもある

## 4-1. 単語レベル情報からの多言語単語埋め込み
### 4-1-a. 写像ベース手法
１つpivotとなる言語を決めて、そこに向けて全ての言語を変換する

### 4-1-b. 擬似二言語、joint手法
単語をごちゃ混ぜにする。

## 4-2. 文レベル、文書レベル情報からの多言語単語埋め込み
pivot言語を作る方法

まとめ
pivotを作るか、ごちゃ混ぜにするかの二つが多い


# 5. 評価
## 5-1. Intrinsic Tasks
### 単語類似度
### multiQVEC
## 5-2. Extrinsic Tasks
### 単語対応づけ予測
### 二言語辞書作成

# 6. 応用
## cross-lingual transfer
- 文書分類
- 依存解析
- 品詞タグつけ
- 固有名詞認識
- Super-senseタグ付け
- 意味解析
- 談話解析
- Dialog state tracking
- Entity linking or wikification
- 感情分析
- 機械翻訳
- 自然言語推論

## 情報検索

## マルチモーダル、認知アプローチ

# 7. ベンチマーク
# 8. 展望
- サブワードレベル情報
- 複数単語表現
- 機能語
- Polysemy
- 専門用語の埋め込み
- 実現可能性
- 非線形写像
- ロバスト教師なしアプローチ