Slide 1

Slide 1 text

ブートストラップ法による 自然言語処理 白井 尊昭 2014年7月24日

Slide 2

Slide 2 text

ブートストラップ法とは • 半教師あり学習の1つ • タグ付け作業を軽減するための一般的なフ レームワーク [Komachi+ 10] 1

Slide 3

Slide 3 text

ブートストラップ法の流れ 2 集めたいものの事例を人手でシードとして少数入力 (国名を集めたいならば”Japan”など) プール Japan シード パターン シードとコーパス中でよく共起 する文脈をパターンとして獲得 パターンとコーパス中でよく共 起するものをプールに追加 プールの中でスコアの高 いものをシードとして選択

Slide 4

Slide 4 text

ブートストラップ法を用いるメリット 1. 人手の削減 – タグ付けをする際、1つ1つ人手でつけるのでは なく、大量の候補をある程度の精度で集めるこ とができる 2. ラベルなしデータの利用 – ラベル付きデータだけでなく、ラベルなしデータ も用いて分類等のタスクを行うことができる 3

Slide 5

Slide 5 text

1. 人手の削減 4 スポーツ選手名を集めたいが、大量のテキスト中の固 有名詞を1つ1つ見てタグを付けていくことは困難 スポーツ選手(例:「本田圭佑」、「大谷翔平」)をシード (種)として少数入力すると、スポーツ選手候補(例:「香 川真司」)を大量に出力してくれるシステムがあれば便 利!

Slide 6

Slide 6 text

2. ラベルなしデータの利用 5 ラベル付きデータ のみで分類 ラベルなしデータ も用いて分類 「ラベル付きデータと近いデータにそのラベルを付与」 することを繰り返し行えば、(場合にもよるが) 右図のような分類が可能

Slide 7

Slide 7 text

注意点: 以下のブートストラップは無関係! • (統計学における)ブートストラップ法 –リサンプリングの一種 • ブートストラップ – 電源投入からOS起動までの処理 6

Slide 8

Slide 8 text

ブートストラップ法による語彙獲得タスク 7 語彙獲得はブートストラップ法により 広く行われている 広告 キーワード 拡張 知識 データベース テキストコーパス Japan France 国名 語彙獲得タスク

Slide 9

Slide 9 text

1.少数のインスタンス(語彙)を人手で入力 8 プール Japan シード

Slide 10

Slide 10 text

2.シードをコーパスから検索し,文脈を列挙す る 9 コーパス No. 1 in Japan countries such as Japan tour of Japan プール Japan シード 「名詞(句)+前置詞(句)+検索対象の名詞(句)」や 「名詞(句)+動詞詞(句)+検索対象の名詞(句)」 などを予めテンプレートとし、テンプレートにマッチする 部分を列挙する

Slide 11

Slide 11 text

3.パターンを作成する 10 コーパス No. 1 in Japan countries such as Japan No. 1 in <名詞句> countries such as <名詞句> パターン tour of Japan tour of <名詞句> プール Japan シード

Slide 12

Slide 12 text

4.スコアの高いパターンのみを残す 11 コーパス No. 1 in Japan countries such as Japan No. 1 in <名詞句> countries such as <名詞句> パターン tour of Japan tour of <名詞句> 0.2 0.5 0.3 スコア プール Japan シード 多くのシードとより多く共起しているパターンのスコアを 高くする

Slide 13

Slide 13 text

パターンのスコアについて[Pantel+ 06] 12 = 1 (, ) max ( ) Nはシードの個数 自己相互情報量pmi(x,y) = log2 (,) () の初期値は1

Slide 14

Slide 14 text

5.パターンを用い,インスタンスを列挙する 13 コーパス No. 1 in Japan countries such as Japan No. 1 in <名詞句> countries such as <名詞句> パターン tour of Japan tour of <名詞句> 候補 France Russia Tokyo プール Japan シード

Slide 15

Slide 15 text

6.プールと各候補のスコアを計算する 14 コーパス No. 1 in Japan countries such as Japan No. 1 in <名詞句> countries such as <名詞句> パターン tour of Japan tour of <名詞句> 候補 France Russia Tokyo 0.5 0.3 0.1 プール Japan シード 0.8 パターンの時と同 様にスコアを付与

Slide 16

Slide 16 text

7.スコアの高い候補のみをプールに追加する 15 プール Japan France Russia Tokyo 0.5 0.3 0.8

Slide 17

Slide 17 text

パターン獲得とインスタンス追加を交互に繰り 返す 16 プール No. 1 in <名詞句> countries such as <名詞句> パターン tour of <名詞句> <名詞句> has land borders Japan シード France Russia 1.0 0.5 0.3

Slide 18

Slide 18 text

課題1:意味ドリフト 17 No. 1 in <名詞句> countries such as <名詞句> パターン tour of <名詞句> 候補 France Russia Tokyo 「tour of <名詞句>」のような、多くの候補 にマッチするようなパターン(ジェネリック パターン)を使って候補を抽出すると、獲 得対象とは無関係の語も獲得してしまう 可能性がある。 Mac OS

Slide 19

Slide 19 text

意味ドリフトの解決 • 相互排他的ブートストラップ – 複数のクラスに同時にブートストラップ法を適用し、 どのクラスでも候補になるような語のスコアを減ら す [Thelen+ 02] [Curran+ 07, 08] [Carlson+ 10] • ストップクラスの利用 [Kiso+ 11] – 予め意味ドリフトを起こしやすいような語(多義 語)を列挙し、獲得しない • グラフ理論の応用 [Komachi+ 10] – (ブートストラップ法ではない) 18

Slide 20

Slide 20 text

相互排他的ブートストラップ 19 Japan Victoria 地名の候補 人名の候補 船名の候補 George Smith Victoria Titanic Britannic Victoria 0.8 0.75 0.6 0.9 0.4 0.5 0.4 0.2 Linda 0.2 Paris 0.4 London 0.4 HMS Ariel 0.2 複数クラスの候補となっているVictoriaのスコアを減らしたい

Slide 21

Slide 21 text

相互排他的ブートストラップ 20 Japan Victoria George Smith Victoria Titanic Britannic Victoria 0.8 0.75 0.6 0.9 0.4 0.5 0.4 0.2 Linda 0.2 Paris 0.4 London 0.4 HMS Ariel 0.2 0.1 -0.1 -0.3 クラス「地名」(LOC)における候補 の新たなスコア ′ , = , − , 他のクラス ′ Victoria, = . − max . , . = . 地名の候補 人名の候補 船名の候補

Slide 22

Slide 22 text

相互排他的ブートストラップ 21 Japan Paris George Smith Linda Titanic Britannic HMS Ariel 0.8 0.75 0.6 0.9 0.4 0.2 0.2 London 0.4 Victoria -0.1 Victoria 0.1 Victoria -0.3 0.4 クラス「地名」(LOC)における候補 の新たなスコア ′ , = , − , 他のクラス ′ Victoria, = . − max . , . = . 地名の候補 人名の候補 船名の候補

Slide 23

Slide 23 text

課題2: パラメータが多い(通常は5個) • パターン・インスタンスそれぞれについて – スコア関数 – スコア上位何個を採用するか • 終了条件 22

Slide 24

Slide 24 text

ブートストラップ法は様々なタスクに応用可能 • 知識獲得 – 大規模な知識データベースの構築(「病気」「ス ポーツ選手」「野球選手」など様々な種類・粒度の カテゴリごとに所属する語を集める) – 関係抽出(スポーツ選手とスポーツチームの組な どを集める) – タグ付け作業における人手の軽減 • 語義曖昧性解消[Yarowsky+ 95] – 例:”bank”は「銀行」「土手」などの意味を持つが、 個々の”bank”ごとにどの意味か当てる 23

Slide 25

Slide 25 text

応用例:Basiliskアルゴリズム[Thelen+ 02] • MUC-4コーパス中の名詞に6クラスのタグを付与 – MUC-4コーパス(1992): ラテンアメリカ諸国におけるテロリ ズムに関する1700文書 24 クラス クラスメンバ数 コーパスでの割合(%) Building 188 2.2 Event 501 5.9 Human 1,856 21.9 Location 1,018 12.0 Time 112 1.3 Weapon 147 1.7 Other 4,638 54.8 ※米国防高等研究計画局(DARPA)はこんなところにも お金を出していますという例

Slide 26

Slide 26 text

Relation Guided Bootstrapping [McIntosh+ 11] 25

Slide 27

Slide 27 text

まとめ • ブートストラップ法とは – 概要 – 流れ(シード選択→パターン獲得→インスタンス 獲得の繰り返し) – 課題(意味ドリフト、パラメータの多さ) • 応用例 – 知識獲得 26

Slide 28

Slide 28 text

Appendix 27

Slide 29

Slide 29 text

シードとのコサイン類似度順に列挙する方法 28 “Spain” のベクトル: 2 3 1 … 3 3 1 … コサイン類似度cos , = ∙ とし, 各シードとのコサイン類似度の平均が高い順に出力する “Denmark” のベクトル: 0 0 1 … “IBM” のベクトル:

Slide 30

Slide 30 text

Wikipediaからの語彙獲得における前処理の流 れ(例) 29 http://dumps.wikimed ia.org/enwiki/latest/e nwiki-latest-pages- articles.xml.bz2 をダウンロード WP2TXTで Wikipediaの 本文のみを 抽出 1. 文ごとに分割 2. トークン化 • 例: “$400” -> “$”, “400” 3. トークンに品詞付与 4. フレーズにまとめる(チャン キング) • 名詞句など ステミング (Porter Stemmerなど) “stemming” -> “stem” “stemmer” -> “stem” “argued” -> “argu” “argue” -> “argu” 名詞句から修飾子(冠詞、形容詞) を除き、さらに、頻度の低い名詞句は コーパスから削除

Slide 31

Slide 31 text

(参考): グラフ理論との関係 • Espresso 型ブートストラッピング法における意 味ドリフトのグラフ理論に基づく分析 – [小町+ 10] – 意味ドリフトはHITSにおけるトピックドリフトである ことを指摘した – Von Neumannカーネルと正則化ラプラシアンが意 味ドリフトを抑制することを示した 30

Slide 32

Slide 32 text

ブートストラップ法を用いた手法の1つ: Relation Guided Bootstrapping [McIntosh+ 11] • 複数クラスを同時に拡大させる • 単語同士の類似度だけでなく単語ペアの類 似度も用いて語彙獲得を行う 31

Slide 33

Slide 33 text

自己相互情報量pmiは低頻度の事例にペナル ティを与える尺度[Pantel+ 04]も存在 32 , = + 1 × (, ) , + 1 × log2 (, ) () = の出現頻度 = の出現確率 = min ,

Slide 34

Slide 34 text

参考文献 • [Yarowsky+ 95] – Unsupervised word sense disambiguation rivaling supervised methods – www.aclweb.org/anthology/P95-1026 • [Thelen+ 02] – A Bootstrapping Method for Learning Semantic Lexicons using Extraction Pattern Contexts – www.aclweb.org/anthology/W02-1028 • [Pantel+ 04] – Automatically harvesting semantic classes – www.aclweb.org/anthology/N04-1041 • [Pantel+ 06] – Espresso: leveraging generic patterns for automatically harvesting semantic relations – www.aclweb.org/anthology/P/P06/P06-1015.pdf • [Curran+ 07] – Minimising semantic drift with Mutual Exclusion Bootstrapping – sydney.edu.au/engineering/it/~james/pubs/pdf/pacling07boot.pdf 33

Slide 35

Slide 35 text

参考文献 • [Curran+ 08] – Weighted Mutual Exclusion Bootstrapping for Domain Independent Lexicon and Template Acquisition – www.aclweb.org/anthology/U/U08/U08-1013.pdf • [Komachi+ 10] – Espresso 型ブートストラッピング法における意味ドリフトのグラフ理論に基づく分析 – cl.sd.tmu.ac.jp/~komachi/papers/jsai2010-bootstrap.pdf • [Carlson+ 10] – Toward an Architecture for Never-Ending Language Learning – rtw.ml.cmu.edu/papers/carlson-aaai10.pdf • [McIntosh+ 11] – Relation Guided Bootstrapping of Semantic Lexicons – www.aclweb.org/anthology/P/P11/P11-2046.pdf • [Kiso+ 11] – HITS-based Seed Selection and Stop List Construction for Bootstrapping – www.aclweb.org/anthology/P/P11/P11-2006.pdf 34