Post on 08-Aug-2015
Unsupervised Morphology Induction Using Word
Embeddings
NAACL2015読み会 首都大学東京 小町研究室 2015/06/24 M1 北川善彬
Radu soricut, Franz Och
Abstract• Word embedding を使って形態素の変換を見つける話
• 6個の異なる言語で改善を見せた
• 例: cars car と dogs dog の関係が似ているという直感
• 有名な King = man + Queen - women の形態素verみたいな感じ
• つまり cars = car + dogs - dog
2
dog
dogs
car
cars
dogs - dog dogs - dog
Main contribution1. 教師なしで形態素のルールを獲得する手法を提案
2. ルールを知られている単語に適用する仕組みを提案例: boldly → bold + ly とか onlyには適用しなくて大丈夫とか
3. ルールを未知、あるいは低頻度の単語に適用する仕組みを提案
3
形態素の変換の主な流れ• 今回の論文では他の形態素の変換は考えていなくてこの2つの主な形態素の変換を考える
• 形態素の変換は4つのステージに分けて行う
1. 語彙(V)から prefix/suffix の候補を選択
2. Word embedding のトレーニング
3. 候補として出てきたルールの質を評価
4. 形態素の変換の生成4
形態素の変換の主な流れ• 今回の論文では他の形態素の変換は考えていなくてこの2つの主な形態素の変換を考える
• 形態素の変換は4つのステージに分けて行う
1. 語彙(V)から prefix/suffix の候補を選択
2. Word embedding のトレーニング
3. 候補として出てきたルールの質を評価
4. 形態素の変換の生成5
1. 語彙(V)から prefix/suffix の候補を選択
• 語彙から2つのペアの組みあわせを考え可能な全てのペアを候補として抽出
• 候補は type: from: to の 3つ組で考える 例: suffix: ed: ing だったら (bored,borring)
• この候補の中には正しくないルールも含まれる例: prefix: S: ε (Scream, cream), (Scope, cope)3. 候補として出てきたルールの質を評価 で取り除く
6
形態素の変換の主な流れ• 今回の論文では他の形態素の変換は考えていなくてこの2つの主な形態素の変換を考える
• 形態素の変換は4つのステージに分けて行う
1. 語彙(V)から prefix/suffix の候補を選択
2. Word embedding のトレーニング
3. 候補として出てきたルールの質を評価
4. 形態素の変換の生成7
2. Word embedding のトレーニング
• これは word2vec を使用してトレーニングしている (https://code.google.com/p/word2vec/)(ほんのちょっと違うらしい)
• 例: 入力: france これは単なるcos類似度の近い単語を探す例
8
形態素の変換の主な流れ• 今回の論文では他の形態素の変換は考えていなくてこの2つの主な形態素の変換を考える
• 形態素の変換は4つのステージに分けて行う
1. 語彙(V)から prefix/suffix の候補を選択
2. Word embedding のトレーニング
3. 候補として出てきたルールの質を評価
4. 形態素の変換の生成9
3. 候補として出てきたルールの質を評価(1/2)
• 候補を以下のように表現:
• ここから十分な数だけサンプリング 10001000個とれば prefix/suffix 変換が網羅できるのだろう
• 評価関数を作成する単純に類似度をとってランクを出す関数:
• それぞれの(1)のスコアが100(事前に決めた閾値)以下である率: hit rate
10
3. 候補として出てきたルールの質を評価 (2/2)
• 候補の評価例
• 意味のある変換は高いhit rate例(suffix: ed: ing) 過去/今 の意味をもつ
• 意味のない変換は低いhit rate
11
形態素の変換の主な流れ• 今回の論文では他の形態素の変換は考えていなくてこの2つの主な形態素の変換を考える
• 形態素の変換は4つのステージに分けて行う
1. 語彙(V)から prefix/suffix の候補を選択
2. Word embedding のトレーニング
3. 候補として出てきたルールの質を評価
4. 形態素の変換の生成12
4. 形態素の変換の生成• only を on にするような変換は避けたい(hit rate 32% なら 68% は避けたい)
• 2つの閾値(r, c)を使って避けるrank = 30 and cos類似度 = 0.5
13
node: w, edge: 重み(r, c)でグラフを書くと
• 綺麗なグラフがかける
• 同じ矢印が2本あるのは同じ変換でも意味の違う変換があるから(ここでは最大2本としている)例: 複数形の ”s” 三単現の ”s”
ルールを作ってグラフを1:1にマッピングすると
• ルールを自分で決めることで欲しいグラフができる
• 正規化へ向かう流れに近い(もしそうなら”create”が一番下が良い)
• これはもっともよく使われる”created”へのマッピング
15
これを使ってRare wordにアプローチ
• さっき示した1:1のグラフから変換ルールの系列 sを獲得(グラフの下から上に遡るようなやつ)
1. 適用できる系列 s があればそれを適用
2. 適用できる系列 s がなければ以下のようにする (d=1で事前に定義)
16
• 例: 系列が s=prefix : un : ε, suffix : ness : ε ならunassertiveness → assertive.s
Results(6言語で比較)
• SG: skip-gram SG+morph: 提案手法
• LSM2013, BB2014: 先行研究
• DEのZGテストセットを除くすべてのテストセットで提案手法が優位
17