Slide 1

Slide 1 text

Distributed Representations of Words and Phrases and their Compositionality (株)Preferred Infrastructure 海野  裕也 (@unnonouno) 2014/01/23 NIPS2013読み会@東京大学

Slide 2

Slide 2 text

⾃自⼰己紹介 l  海野  裕也 (@unnonouno) l  Preferred Infrastructure (PFI) l  Jubautsプロジェクトリーダー l  http://jubat.us l  専⾨門 l  ⾃自然⾔言語処理理 l  テキストマイニング 2

Slide 3

Slide 3 text

概要 l  MikolovのICLR2013(word2vec)の続編 l  Berlin – German + France = Paris!! l  計算をサボって速くしたら、何故か結果も良良くなった話 l  Before: ⽇日単位でかかっていた l  After: 15~30分 3

Slide 4

Slide 4 text

word2vec [Mikolov+13] l  各単語の「意味」を表現するベクトルを作るはなし l  vec(Berlin) – vec(German) + vec(France) と⼀一番近い単 語を探したら、vec(Paris)だった l  ベクトルの作り⽅方は次のスライドで説明 4 Berlin German France Paris!!

Slide 5

Slide 5 text

Skip gramモデル[Mikolov+13]の⽬目的関数 l  ⼊入⼒力力コーパス: w 1 , w 2 , …, w T   (w i は単語) 5 これを最 ⼤大化 vw は単語wを表現するようなベクトル(適当な次元)で、 これらを推定したい cは文脈サイズで5くらい

Slide 6

Slide 6 text

問題点 l  語彙数が多すぎて∑の計算が⼤大変 l  W = 105 ~ 107 l  いかに効率率率よく計算をサボるかがこの論論⽂文の主題 6 [Mikolov+13]より

Slide 7

Slide 7 text

Hierarchical Softmax (HS) [Morin+05] l  単語で⽊木を作り、ルートからその単語までの各ノードの ベクトルと内積をとり、そのシグモイドの積にする l  計算量量が単語数の対数時間になる 7 りんご みかん カレー ラーメン n1 n2 n3 各ノードのベ クトル ルートからw までの全ノー ドで積をとる σ(x)=1/(1 + exp(-x))

Slide 8

Slide 8 text

Noise Contrastive Estimation (NCE) [Gutmann +12] l  本題から外れるので割愛 l  Softmaxによる分布を近似するらしい 8

Slide 9

Slide 9 text

Negative Sampling (NEG) (提案⼿手法1) l  NCEをもっとサボった上式を使う l  ∑の中の期待値計算は、k個のサンプルを取って近似する l  データが少ない時は5~20個、多ければ2~5個で充分 l  P(w)として、1-gram頻度度の3/4乗に⽐比例例させたときが ⼀一番良良かった 9 log P(wo |wI ) =

Slide 10

Slide 10 text

頻出語のサブサンプリング(提案⼿手法2) l  “a”や”the”などの頻出語をうまくモデル化してもしょう がないので、頻度度をディスカウントする l  tは適当な閾値(10-5くらい)、f(w)は単語頻度度 l  もはやPとは何だったのか・・・ 10

Slide 11

Slide 11 text

実験結果 l  [Mikolov+13]でやったanalogical reasoning taskで評価 l  vec(Berlin) – vec(Germany) + vec(France)の近傍探索索で vec(Paris)を⾒見見つける l  NEGがHierarchical SoftmaxやNCEよりも⾼高精度度 l  サブサンプリングも効果的 11 小さい方がいい 大きい方がいい

Slide 12

Slide 12 text

複合語の実験 l  適当なスコア関数(上式)の⾼高いものを複合語として 取ってくる(δは適当なディスカウント係数) l  あとは同様に実験 l  単語と複合語のスコアからどうやって⽬目的関数を設計したかは ちゃんとかかれてない・・・? 12

Slide 13

Slide 13 text

複合語の実験結果 l  サブサンプリングなしだとNEGがいいが、ありだとHS の⽅方がとたんに良良くなる l  データセットとベクトルの次元を増やすとどんどんよく なる l  最終的に72%の精度度まで上がった 13

Slide 14

Slide 14 text

意味の⾜足し算 l  単純に2つの単語のベクトルを⾜足すと複合的な意味の単 語が⾒見見つかる l  2つの単語の両⽅方と頻出しやすい単語を探していること になるからでは(AND検索索っぽく振る舞う) 14

Slide 15

Slide 15 text

議論論 l  このベクトルは何を⽰示しているのか? l  Softmaxをとると何がおこるのか? l  ベクトルのたし引きは何を⽰示しているのか? l  Distributional Hypothesisの実現? l  words that occur in the same contexts tend to have similar meanings (wikipedia) 15

Slide 16

Slide 16 text

参考⽂文献 l  [Mikolov+13] Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient estimation of word representations in vector space. ICLR 2013. l  [Morin+05] Frederic Morin and Yoshua Bengio. Hierarchical probabilistic neural network language model. AISTATS 2005. l  [Gutmann+12] Michael U. Gutmann and Aapo Hyvarinen. Noise-Contrastive Estimation of Unnormalized Statistical Models, with Applications to Natural Image Statistics. JMLR 2012. 16