狠狠撸

狠狠撸Share a Scribd company logo
Learning Composition Models
for Phrase Embeddings
Mo Yu, Mark Dredze
TACL2015
読む人:東北大学,高瀬翔
1
word embedding
? 単語の特徴(意味)を低次元のベクトルで表現
? どのように得るか?
– 次元圧縮(e.g., 単語共起行列をSVD)
– ニューラル言語モデル(e.g., word2vec)
2
peach penguin medicinedrug
本論文の目的
? フレーズの意味を表す低次元のベクトル
を単語のベクトルから構築する
3
medical
center
product
research center
medical product
research
f ( , )
f ( , )
既存研究と問題点
? あらかじめ演算を定義(e.g., sum)
?単語の特徴や文脈に適した演算を行えない
? DT(e.g., a, the, this)の意味は無視して良いはず
? 行列やテンソルを利用(e.g., RecursiveNN)
?計算量が大きい
? 次元数を増やしづらい
? 小規模なデータセットでの教師あり学習のみ
4
+
medical product
f ( , ) =
medical product
medical product
f ( , ) =
medical product
σ [ : ]
本研究の概要
? 単語の特徴や文脈に応じた演算でフレー
ズのベクトルを計算する手法を提案
? 提案手法の計算量は小さい
– 高次元(e.g., 200次元)なベクトルも扱える
– 大規模なデータで学習可能
? データスパースネスを解消できる
? 教師なし,教師あり,組み合わせで学習,
評価
5
提案モデル
? フレーズのベクトル:単語ベクトルの重み付き和
? 重みは単語の素性(e.g., 品詞,単語の位置)から
計算
6
フレーズのベクトル 単語ベクトル単語wi への
重みベクトル
単語wi への
重みベクトルの j 次元
素性ベクトル
素性
? 組み合わせ素性は割愛
7
品詞による意味の
強さを捉えたい
(DT(e.g., a, the, this)の
意味は無視(重み 0 )する)
似た意味の単語は
同じ重みで計算して欲しい
(big, large, hugeは
同じ重みになって欲しい)
目的関数
? 教師なし学習
– skip-gramの目的関数をフレーズに拡張
? 教師あり学習
– softmaxを用いたmulti label分類
? 2つの組み合わせ
– 2つの目的関数の重み付き和
– 重みは開発セットで調整
8
? 単語wiから周辺語wi+jの予測確率を最大化
– 周辺単語のベクトルに似るように学習
9
P(wi+j | wi ) =
exp(ewi+j
T
ewi
)
exp(ew'
T
ewi
)
w'?V
?
skip-gram[Mikolov+ 13]
…natural herbal medicine cures several …
周辺単語を予測
文脈の範囲
J = logP(wi+j | wi )
-c?j?c, j?0
?
i=1
S
?
ただし
skip-gramのフレーズへの拡張
? 単語ベクトルの代わりにフレーズのベクトル
で周辺語を予測
– フレーズのベクトル:単語ベクトルから構築
10
…natural herbal medical product cures several …
周辺単語を予測
+λproductλmedical
medical product
誤差逆伝播でパラメータ
(単語のベクトル,α,b)
を学習
softmaxを用いたmulti label分類
? フレーズ ps がフレーズ pi と似ているか,
分類するタスク
– ps がpi と似ている:yi = 1
– ps がpi と似ていない:yi = 0
– として
11
目的関数:
実験設定
? コーパス:NYT 1994-97(LDC2011T07)
– 515,301,382 tokens
– 語彙:518,235語(頻度5以上の単語)
? フレーズ:NPとなるbi-gram
– new trial, dead body, an extension, …
? ベクトルの次元数:200
? 提案手法の初期値:skip-gramで学習したベクトル
– skip-gramモデルを比較する際はコーパスを2周する
? skip-gramと提案手法での学習設定(窓幅や負例の
サンプリング数)は合わせる
12
比較手法
? skip-gramで得たベクトルの和(SUM)
? RecursiveNN(行列は品詞組み合わせ毎)
– ADJ-NNの行列,NN-NNの行列,…
13
+
medical product
f ( , ) =
medical product
medical product
f ( , ) =
medical product
σ [ : ]
ADJ-NNの行列 ADJ NN
タスク
? 複数の教師ありタスクで実験
? PPDB:inputに対し,outputとの類似度が候補中で高いか
? SemEval2013:2つの表現が類似か否か
? Turney2012:inputに対し,正しいoutputを選択できるか
– 候補中で正解の類似度が最も高くなるか
14
PPDB
15
提案手法
目的関数
(LM,-:skip-gram
TASK-SPEC:教師あり学習)
単語ベクトルを
更新するか
正解のランク
の逆数の和
単語毎の重み
ベクトルを学習
(提案手法で
素性ベクトルを
利用しない手法)
Turney2012,SemEval2013
16
この2つは
50次元かも
ベクトルの次元と性能
17
結論
? 単語の特徴や文脈に応じた演算でフレー
ズのベクトルを計算する手法を提案
? 単語ベクトルの和,RNNよりも良い性能
であると示した
– 教師なし学習(大量のデータ使用)を組み合
わせるとさらに良くなる
18
おまけ:計算量,計算時間
? 単語ベクトルの次元数200での訓練時に
– 提案手法:2.33 instance / ms
– RNN:0.31 instance / ms
? と論文では報告している
? しかし,計算量は
– 単語の次元数 d ,発火した素性数 n とすると
– 提案手法:O( n * d^2 )
? 重みベクトルの計算量:O( n * d ) なので(多分)
– RNN:O(次元数^2)
? に思うので,ちょっと良くわからない
19
おまけ:素性と性能の変化
? 単語クラスタが最も効果がある
? 単語ごとに重みベクトルを学習(WSUM)は低い
– クラスタにしないと疎だから?
– 素性は前後の単語も見ているから?
20
おまけ:skip-gramモデルの
perplexity
? 提案手法はperplexity,lossが低いのでフレーズの
ベクトルから周辺語の予測が良く出来ている
? 学習時にフレーズを学習するかで窓幅が変わる可
能性があり,公平な比較か少し疑問
– herbal medical product curesについて
– skip-gram:medicalの周辺N単語
– 提案手法:medical productの周辺N単語
21

More Related Content

Learning Composition Models for Phrase Embeddings

Editor's Notes

  • #3: word embedding(前提)に関する説明 似た意味の単語は似たベクトルとなる(なるようにする)
  • #6: 提案手法の计算量は小さい,という主张,ちょっと纳得感がない,実装の问题では?という気がする
  • #7: 単語 i への,ってのは言わなくても良いと思っているが
  • #8: head wordとかに関する説明はないけど,その単語がフレーズ内でどれくらい重要そうかを位置から判断しているんだと思う
  • #10: これ一枚目でも良いかも(単语の意味ベクトル学习の话)
  • #13: 窓幅5,负例15,サブサンプル3/4
  • #15: 教師ありのタスクはnegative samplingで学習する設定のみ
  • #16: 箩辞颈苍迟の方が良い(大规模なデータを利用することで,データスパースネスを解消できるので)
  • #17: FCT d = 50はRNNのd = 50よりも良かった(200次元で負けた言い訳)を本文中でしているので,表の中に50次元のFCTが入っている可能性がある,それが下から2つ目のテーブルでは?と思っている Dual space:turney2012を再実装したものと,turney 2012の論文で報告されているもの
  • #18: 論文中ではタスクを解くために次元を大きくする必要があるが,RNNは計算量が大きいので次元を大きくしづらいと主張,しかし,自分としては一部はサチっているようにも見えるのでこの主張は疑問 次元数を大きくするのがsemanticなタスクでは重要,と言っているが,それの主張としては謎,って感じか
  • #20: 提案手法が速いと言っているの,実装の问题では?と思う(计算量は论文に书かれてないし,俺の勘违いかもしれない)
  • #21: このスライド,完全に个人の意见だし,出しても出さなくても良い,って感じかな?