言語処理学会 第24回年次大会 発表論文集 (2018年3月)

Poincare Embedding を用いた単語の埋め込みベクトルの獲得
橋本 隼人 11
1

京都大学 情報学研究科

2

森 信介 2

京都大学 学術情報メディアセンター
2

hashimoto.hayato.73e@st.kyoto-u.ac.jp

forest@i.kyoto-u.ac.jp

法をそのまま Mikolov らの方法に適用すると、精度よ1 序論

く学習することができない。Nickel らは、精度の高いも単語のベクトル埋め込み表現の獲得は、深層学習を用のから順に、Poincare 円盤での距離、Euclid 距離、内積いた自然言語処理を行うために不可欠である。Mikolov

であることを示したが、われわれの予備実験では、Skip-ら [2] は、注目する単語の前後の単語を予測するタスク

Gram や Continuous Bag of Words (CBoW) では、内である Skip-Gram をネガティブサンプリングを用いて積を用いた方が Euclid 距離を用いるほうが精度が高い学習することで、教師なしで有用な分散表現が学習でことが分かった。したがって、Poincare Embedding をきることを示した。この分散表現は、人手評価でつくSkip-Gram や CBoW に適用するためには、Poincareられた単語の類似度である WordSim-353 スコアとの円盤での内積を使う必要があると推察される。

類似度により評価され、高い相関を持つことが示され通常の内積は、x · y = ||x|| ||y|| cos θ と定義された。また、この手法によって学習された表現は、加算にる。これは、Euclid 距離 dE を用いて以下のように書け

より合成可能である性質があると考えられており、 例る。kxk kyk(1 − (dE (x̂, ŷ))2 /2) ここで x̂ = x/||x||,

えば、“Vietnam” の埋め込みベクトルと “capital” のŷ = y/||y|| である。Poincare 円盤上のベクトル xp , yp

埋め込みベクトルを加算し、その結果に最も近い埋めを x̂, ŷ に相当するものと考え、距離を Poincare 円込みベクトルは “Hanoi” のものとなる、といった結果盤での距離 dp に置き換え、さらに新しいパラメーが示されている。

タ rx , ry を導入すると、これらに対する内積 (·p ) を一方で、単語の同士の意味的関連は、合成する・合成されるといった関係だけでなく、上位語・下位語といった関係もある。Nickel ら [3] は Poincare Embeddingを提案し、WordNet によって定義される上位語・下位(rx , xp ) ·p (ry , yp ) = rx ry (1 − dp (xp , yp )/2) と定義できる。ここでdp (u, v) = arccosh 1 + 2

ku − vk2(1 − kuk2 )(1 − kvk2 )

語の関連性をこれを用いた埋め込みベクトルによってである。ところで、Euclid 空間での単位円上の 2 点間提示元で効率よく表現できることを示した。Poincareの距離は [0, 2] に限定されるが、Poincare 円盤上でのEmbedding は、双曲空間のモデルである Poincare 円距離には上限がないため、距離を除算するためのパラ盤に対応する Riemann 計量を用いてベクトル間の距メータ σ を導入し、これを学習により定めるものとす離・微分を定義するものであり、Poincare 円盤で定義る。これらをすべて含めた Negative Sampling によるされる距離は、円盤の周縁部に近いほど Euclid 距離よLoss 関数は、以下のようになる。

りも大きくなるように定義されている。

Loss = − log (rˆT rˆH exp(−dp (xT , xH )/σ 2 ))本研究では、Poincare Embedding にいくらかの改+ log (rˆT rˆH exp(−dp (xT , xH )/σ 2 )変を加えることで、教師なしで階層的関係を考慮した+分散表現を獲得できることを示す。

SXrN
ˆ i rˆH exp(−dp (xN i , xH )/σ 2 ))i=1√
ここで rˆx = e exp(rx ) であり、xT は正解単語のベク

2 提案手法Nickel らは、Poincare Embedding による距離をそのまま softmax によって確率としていた。しかし、この手

トル、xH は予測ベクトル、xN i はネガティブサンプ
ルされた単語のベクトル、S はネガティブサンプル数である。

― 1187 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

Poincare Embeddings,dimension = 2
Learnt from PTB
CBoW (win=15)

図 1 Penn Treebank から学習することによって得られた Poincare embedding による 2 次元ベクトル表現。高頻度語のみを示す。単語を表す丸の大きさは、rˆx の大きさを示す。

なっている。

3 実験
学 習 ル ー チ ン は Python の 深 層 学 習 ラ イ ブ ラ リ

4 考察

Chainer を用いて実装した。後ろ向き計算は、Nickel

Penn Treebank は経済ニュースをもとにしているらによる RSGD と同じ方法で微係数をリーマン計量にコーパスのため、それらに関連する単語が多く出現よって修正し、Adam [1] により最適化した。

している。図示した結果を観察すると、周縁部に社

Penn Treebank を学習コーパスとして用いて CBoW

名の一部とみられる “Corp.”, “Inc.” といった単語かにより埋め込みベクトルを学習し、その学習結果を図らなるクラスターや、会社の代表を表す “chairman”,示した。また、単語の予測確率のクロスエントロピー“exective”, “president” といった単語からなるクラスを Euclid 内積による場合と提案手法による場合とでター、“revenue”, “income” といった会社の業績の単語比較した。提案手法の場合、rx と xp の両方で一つのからなるクラスターなどがみられる。さらに、“bank”,単語を表すことから、n 次元 Euclid ベクトルと n − 1“company”, “capital” といった単語がこれらの上位語

次元 Poincare 円盤ベクトルとを比較することとする。に相当する位置に位置しており、会社の業績や株式指Poincare Embedding の学習のうち、n = 100 での標、価格といった時間変化する数値を表すような単語

実験においては発散を防ぐため、Adam のパラメーの上位語に相当する位置に、“up”, “down”, “about”,タを α = 0.0003 に設定した。そのほかの実験では、“since”, “after”, “in” といった単語がみられる。また、

α = 0.001 とした。

属する文脈が最も不明であるといえる “<eos>” タグ

実験はそれぞれのパラメータにつき 6 回行い平均値は中心に位置している。これらは上位語ではないが、こを算出した。結果を図 2 に示す。5 次元では Poincare

れらの単語に共通している文脈をあらわす単語である

Embedding によってエントロピーを小さくすることがと考えることができる。文脈に階層性があるとすると、できている。しかし、100 次元では検証データセットのこの埋め込みベクトルはその情報を学習しているといエントロピーが小さくならず、過学習が目立つ結果とえるだろう。

― 1188 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

図 2 5 次元の埋め込みベクトルによる、CBoW での 1 単語の予測確率のクロスエントロピーの比較。“Euclidean

dot product” は Euclid 内積の結果を示し、“Poincare dot product” は Poincare 内積の結果を示す。

図 3 100 次元の埋め込みベクトルによる、CBoW での 1 単語の予測確率のクロスエントロピーの比較。

一方で、次元数が大きいときは、精度を向上させないめ込みベクトルを学習することができる。これらは、ようである。これは、Nickel らの報告において次元数低次元においては階層的関係の情報が標準的な Euclidが大きい場合には、Euclid 距離によるモデル (transla-モデルよりよく抽出されているとみることができるだtional) と Poincare 円盤距離によるモデル (Poincare)ろう。との精度差が小さくなることと同じ理由であると考えられる。

参考文献[1] Diederik Kingma and Jimmy Ba.

5 結論

Adam: Amethod for stochastic optimization.

Poincare 円盤に内積に相当する量を導入すること
で、Poincare Embedding においてもテキストから埋

arXiv

preprint arXiv:1412.6980, 2014.
[2] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S― 1189 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

Corrado, and Jeff Dean. Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems, pages 3111–3119, 2013.
[3] Maximilian Nickel and Douwe Kiela. Poincare
embeddings for learning hierarchical representations. Advances in neural information processing
systems, 2017.

― 1190 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.