Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ACL読み会@PFI “How to make words with vectors: Phrase generation in distributional semantics” 株式会社Preferred Infrastructure 海野 裕也 (@unnonouno) 2014/07/12 ACL読み会@PFI
Slide 2
Slide 2 text
要旨 l 複合語の合成・分解過程を学習する l 学習された合成・分解過程によって、既存の単語や複合 語から、新規の複合語を⽣生成できるようにする l 学習は既知のベクトル表現を⽣生成できるような⾏行行列列を計 算するだけ(簡単) l ⾔言語横断の実験もしている 2
Slide 3
Slide 3 text
フレーズベクトルの⽣生成 l 前提として単語やフレーズにはベクトルが割り当てられ るとする l 単語uと単語vのベクトルから、フレーズuvのベクトルp を⽣生成する関数 f comp を考える l uとvを並べた2d次元のベクトルに、⾏行行列列Wをかけたらp ができることにする 3
Slide 4
Slide 4 text
4 u v W p = X
Slide 5
Slide 5 text
⽣生成関数の学習 l 単語uと単語vと、フレーズpのベクトルが沢⼭山わかって るとする l 学習データ中で誤差が最⼩小になるような⾏行行列列Wを求める l 全体を⾏行行列列で書くと上の式 5 簡単!
Slide 6
Slide 6 text
フレーズベクトルの分解 l ベクトルpを持つ2単語からなるフレーズから、単語uと 単語vのベクトルに分解する関数f decomp を考える l pに⾏行行列列W’をかけたらuとvをつなげたベクトルができる とかんがえる 6
Slide 7
Slide 7 text
分解⾏行行列列の学習 l 同じように、学習事例例中での誤差が最⼩小になるように W’を解く (2)式 l フレーズのベクトルPがなくても、WからW’を学習する こともできる (3)式 l Wの学習にPが必要だから、これは意味あるのか? 7 簡単!
Slide 8
Slide 8 text
再帰的なフレーズの処理理 l フレーズは段階的に合成関数を適⽤用する l このとき、品詞対毎に合成関数は⽤用意する l 後の実験で出る通り、今回扱うのは名詞:N、形容詞:A、前置 詞:Pの3つ 8 big red car =
Slide 9
Slide 9 text
実験 l 学習した関数(⾏行行列列)を使って、フレーズの分解と合成 を⾏行行う l 単語とフレーズのベクトルは2種類を⽐比較する l cbow: Mikolovのword2vecを使って作ったベクトル l count: 出現頻度度で作ったナイーブなベクトル l 名詞(N)と形容詞(A)は2万個、前置詞(P)は25個使う 9
Slide 10
Slide 10 text
⽣生成と分解の実験 l 数字は正解単語のランクの中央値 l 上:A+NàNは合成の予備実験 l 下:NàA+Nは分解の実験 l いずれもcbowの結果が劇的に良良い 10 ⼤大体11番⽬目に正解が来る ということ
Slide 11
Slide 11 text
実例例 l 間違いではないものも多い l religious religionのように、同じ意味の語の繰り返しに なることも・・・ 11
Slide 12
Slide 12 text
複合語から複合語を⽣生成する実験 l ANからNPNを⽣生成する l やはり意味的に正しいものは多い l 評価⽅方法の限界? 12
Slide 13
Slide 13 text
英伊で⾔言語横断の複合語作成 l ⾔言語間のベクトルの写像は、少数の既知単語対から学習 l 同⼀一品詞間なので正解率率率は⾼高め 13
Slide 14
Slide 14 text
まとめ l 意味の合成・分解を単純な⾏行行列列の掛け算でモデル化 l 既知ベクトルから、合成・分解過程を学習する l ⽅方法は簡単だが、結果を⾒見見ると⽅方針としては筋が良良さそ う 感想 l 簡単なので実装しようと思ったが時間なかった l 単語ベクトルが意味の合成・分解に有⽤用そうなことを⽰示 しているが、⼿手法が安易易なのでもう少し⼯工夫したい 14