×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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