• Like
深層学習時代の自然言語処理
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

深層学習時代の自然言語処理

  • 324 views
Published

2015-01-24にTokyoWebminingで発表した資料です

2015-01-24にTokyoWebminingで発表した資料です

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
324
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
13
Comments
0
Likes
13

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 深層学習時代の⾃自然⾔言語処理理 (株)Preferred Infrastructure 海野  裕也(@unnonouno)
  • 2. ⾃自⼰己紹介 海野  裕也 l  (株)プリファードインフラストラクチャー l  ⾃自然⾔言語処理理、情報検索索、機械学習、テキストマイニングなど の研究開発 l  研究開発系案件、コンサルティング l  Jubatusの開発など NLP若若⼿手の会共同委員⻑⾧長(2014-) 2
  • 3. 宣伝:NLP若若⼿手の会(YANS) l  YANSシンポジウム(9⽉月) l  若若⼿手研究者(40歳未満くらい)の若若⼿手研究者が、⾃自 ⾝身の研究を進めるための集まり l  学⽣生やエンジニアの参加も歓迎 l  今年年も合宿をやる予定です l  スポンサーも募集する予定です l  YANS懇(3⽉月) l  ⾔言語処理理学会全国⼤大会期間中に懇親会をします l  単なる飲み会です  J 3
  • 4. 今⽇日のはなし l  ⾔言語処理理系でよくみる深層学習系の話のざっくりまとめ l  既存の⾔言語処理理技術との関係性について議論論(←こっち がメイン) 4
  • 5. おすすめ資料料 l  渡邉陽太郎郎さんのチュートリアルがよくまとまっている l  http://ibisml.org/archive/ibis2013/pdfs/ibis2013-watanabe.pdf 5
  • 6. ⾔言語処理理固有(?)の問題 1.  ⼊入⼒力力はシーケンス 2.  シーケンスの各要素の異異なり数は膨⼤大(単語) 3.  極めて規則的に各要素が選ばれる(⽂文法) 6
  • 7. ⾔言語処理理に於ける深層学習を観るポイント l  シーケンスをどう扱うか⼿手法毎に違う l  1つの単語は1つのベクトルで表す l  ⽂文法的な規則が学習できると信じる 7
  • 8. ⾔言語処理理でよくみる深層(表現)学習3種 l  Recurrent Neural Network l  Recursive Neural Network l  Skip-gram 8
  • 9. ⾔言語処理理でよくみる深層(表現)学習3種 l  Recurrent Neural Network l  Recursive Neural Network l  Skip-gram 9 Skip-gramは このあと@piroyoungさんが 説明してくれる!
  • 10. l  Recurrent Neural Network l  Recursive Neural Network 10
  • 11. Recurrent Neural Network (RNN) l  系列列に対するネットワーク l  隠れ層をコピーして、次の⼊入 ⼒力力に使うところがポイント l  必ずしも予測は必要ない 11 ⽂文字、単語 時刻  t-‐‑‒1  の隠れ層 隠れ層 予測 コピー
  • 12. 詳しいことは得居さんの資料料を⾒見見て下さい http://www.slideshare.net/beam2d/pfi-seminar-20141030rnn 12 オススメ
  • 13. つなげて書くと・・・ 13 ⽂文字1 時刻  0  の隠れ層 隠れ層 時刻1の 予測 ⽂文字2 時刻2の 予測 ⽂文字3 時刻3の 予測
  • 14. ふつうのニューラルネットとの関係 l  横⽅方向に並べて書くと・・・ 14 ここだけみると、⽂文 ⻑⾧長と同じ⻑⾧長さのニュー ラルネットワーク
  • 15. Recurrent Neural Network Language Model (RNNLM) [Mikolov+10] l  RNNを使った⾔言語モデル l  次の単語を予測する l  隠れ層に⽂文脈情報が埋め込ま れていくイメージ 15 ⽂文字、単語 時刻  t-‐‑‒1  の隠れ層 隠れ層 次の⼊入⼒力力 の予測 コピー
  • 16. Back Propagation Through Time (BPTT)で学習 l  展開した状態で誤差逆伝搬(Back Propagation)する と、時間をさかのぼって学習しているように⾒見見える 16
  • 17. 深いネットワークと同様の問題が発⽣生する l  何度度も掛け算が発⽣生するので、重みが爆発したり、勾配 が消失する問題が発⽣生する l  そのため、⻑⾧長期依存を学習できない 17
  • 18. Long Short-Term Memory l  勾配が消えないようにエラーを内部に貯めこむ構造に なっている l  ⼊入出⼒力力のゲートを作って、情報を選択的に流流すようにす る(流流すタイミングを学習するイメージ) 18 情報が貯 まる 出⼒力力タイ ミング ⼊入⼒力力タイ ミング
  • 19. 昨年年後半からLSTMが流流⾏行行(?) l  Sequence to sequenceのLSTMで機械翻訳 [Sutskever +14] l  原⽂文を全部⾷食わせてベクトルを作って、そこから翻訳⽂文を⽣生成 する l  同じ⽅方法を構⽂文解析に適⽤用 [Vinyals+15] l  いずれもGoogle 19
  • 20. l  Recurrent Neural Network l  Recursive Neural Network 20
  • 21. Recursive Neural Network (RNN) l  2つの単語の表現ベクトルを組合せて、フレーズ の表現ベクトルを構成する l  再帰的に繰り返すことで、⽂文全体の表現ベクト ルを作る 21
  • 22. RNNによる構⽂文解析 [Socher+11] l  隣隣接単語からフレーズを 構成する l  構成を繰り返すことで、 ⽊木ができる l  画像の構造推定にも使え る 22
  • 23. RNNによる評判分析 [Socher+13] l  構⽂文⽊木に沿ってベクトルを再帰的に構築して、分類する l  各フレーズ単位でもpos/negの判定ができる 23
  • 24. RecurrentはRecursiveの⼀一種? l  Recursiveでは、普通は⽊木構造(構⽂文⽊木)に沿ってベク トルを再帰的に構築する l  Recurrentは、⽊木ではなくてシーケンスに沿って構築し ていると⾒見見ると、Recursiveの特殊ケースに思える・・ 24 x1 x2 x3 x4 h1 h2 h3
  • 25. 議論論:Recursive Neural NetworkとConvolutional Neural Network (CNN) の関係? l  いずれも隣隣接要素から新しいベクトルを構成している点 で似ている l  CNNはどのような構造があるか仮定を置いていない点、 繰り返しの回数が予め決まっている点、層毎に重みが違 う点で異異なる 25
  • 26. Recurrent vs Recursive いずれも⼊入⼒力力(シーケンス)に対して単⼀一のベク トルが作られる l  Recurrentは前から順番にベクトルを構成する l  Recursiveは⽊木構造に沿ってベクトルを構成する 26
  • 27. ここからが本題 27
  • 28. 今⽇日の議論論 l  ⾃自然⾔言語処理理において深層学習のアプローチは 何が嬉しいのか考えてみる 28
  • 29. 構⽂文解析のことを考える・・・ l  構⽂文解析とは⽂文の構造を推定するタスク l  「構造」は、ふつう句句構造か係り受け構造 l  もっとも標準的な⾃自然⾔言語処理理のタスク 29 ⽂文 私は りんごを ⾷食べた 動詞句句 私は りんごを ⾷食べた
  • 30. 余談:プログラミング⾔言語の構⽂文解析の場合 ⾃自然⾔言語と違って・・・ l  曖昧性がない(2通りの解釈は許されない) l  線形の計算量量で解析できる(CKY法はO(n3)時 間) ことが強く要請される 30
  • 31. 構⽂文解析⼿手法(特に係り受け)の2⼤大派閥 l  Transition-based(局所最適型) l  ⽂文を前から順番に読んで、スタックに積んでいく l  Shift-Reduce法 l  Graph-based(⼤大域最適型) l  全ての構造の候補からスコアの最⼤大となる⽊木を効率率率 的に選ぶ l  MST法、Eisner法、CKYアルゴリズム 31
  • 32. Shift-Reduce法(1/2) l  単語を前から順番に読み込んで、スタックに積みながら ⽊木を構築していく l  普通は単語を読むたびに決定的に「操作」を⾏行行うため、 ⽂文⻑⾧長に対して線形時間で解析できる 32
  • 33. Shift-Reduce法(2/2) l  ⽂文を前から読んで、スタックに積む(Shift)か消す (Reduce)の分類を繰り返す l  操作のたびにスタックの中⾝身は変化する l  スタックの中⾝身と、⽂文中の単語からいずれの操作をする か判断する 33 時間変化
  • 34. スタックの操作の仕⽅方で⼿手法が変わる l  前から順番に読むのは同じだが、スタックに対 する操作の⽅方法で亜種が沢⼭山ある l  Arc-Eager / Arc-Standardなど l  どういう操作体系にするかが性能にも影響を与 える 34
  • 35. RecurrentとShift-Reduce法の類似性 l  前から順番に読んでいく l  内部状態(隠れベクトル or スタック)を次々に更更新し ていく 35 内部状態
  • 36. RNNの隠れ状態の中にスタック相当の情報が埋め込 まれている??? 36 ? いい感じのスタック操作になるように学習している?
  • 37. ⽂文脈⾃自由⽂文法(context free grammar, CFG) l  チョムスキー階層の3番⽬目 l  書き換え規則の左辺は1つの⾮非終端記号し か現れない 37 X à Y Z X à α
  • 38. 確率率率的⽂文脈⾃自由⽂文法(PCFG)による構⽂文解析 l  ⽂文脈⾃自由⽂文法の各規則にスコア(確率率率)をつけて、スコ アの総和が最⼤大になる⽊木を探索索する l  データに基づいてスコアは決められる 38 名詞句句 ⾚赤い りんごの ⽊木 名詞句句 名詞句句 ⾚赤い りんごの ⽊木 名詞句句>
  • 39. CKYアルゴリズム l  局所的な規則の総和が最⼤大となる⽊木を探すのは、動的計 画法によりO(n3)時間で求められる(CKY) 39 区間 [i, j) の最⼤大スコアは s(i, j) = maxk s(i, k) + s(k, j) + t(i, j, k) i k j
  • 40. RecursiveとPCFGとの類似性 l  いずれも、⼊入⼒力力列列に対して構造を再帰的に構築 している l  そもそもRecursiveは構⽂文⽊木をつかっているし、 そもそも構⽂文解析タスクも解いてる・・・ 40
  • 41. 品詞の粒粒度度では⾜足りない l  同じ品詞でも振る舞いは異異なる l  ⾃自動詞、他動詞、⽬目的語の数、補語の有無 etc. l  時制や⼈人称などの細かい規則が表現しきれない l  無限に品詞を増やすことになる・・・? 41
  • 42. 語彙ごとに振る舞いが異異なる l  どの語を使っているかという情報が構⽂文解析に 有効であることがわかっている l  例例えばgoなら、toがつきやすいなど l  単語⾃自体を特徴として学習することは有効 l  しかし、頻度度の低い単語の学習ができな い・・・ 42
  • 43. 品詞  vs 語 43 品詞 語 •  数が少ない •  表現力不足 •  数が多すぎる •  表現力は十分 この辺にいいのがあるは ず・・・
  • 44. 品詞以上語以下の表現を獲得する歴史 l  HPSGやCCGといった、語彙情報に統語的な振る舞いを 記述する⽂文法 l  PCFGに隠れ変数を持たせて、振る舞いの似ている単語 をまとめる⼿手法 l  こうした情報を単語ベクトルの中で表現されるのでは? (深層学習系アプローチ) 44
  • 45. 主辞駆動句句構造⽂文法(HPSG) l  それぞれの語に対して、⽂文法的な振る舞い(感覚的には ルール)を記述する l  振る舞いに応じて構造を推定できる 45 語彙項目
  • 46. Recursiveでこうした語彙項⽬目相当の情報が獲得で きている??? 46 ?
  • 47. ⾔言語処理理における深層学習に期待すること l  ⽂文法(規則)によるアプローチは構⽂文解析で有 効だった l  複雑な⽂文法に相当するような情報をベクトル空 間の中に埋め込んでくれる? l  構⽂文解析以外のタスクでも複雑な規則相当の情 報を学習してくれたら嬉しい? 47
  • 48. まとめ l  ⾃自然⾔言語処理理でよく⾒見見られる深層学習を紹介した l  Recurrent Neural Networkは状態をもって前から順に読む l  Recursive Neural Networkは構造に沿ってベクトルを構築する l  RecurrentはShift-Reduceパーザーの状態を埋め込んで いるようにみえる l  RecursiveはHPSGパーザーの語彙項⽬目相当の情報を埋め 込んでいるように⾒見見える l  いずれも⾮非⾃自明な規則を学習によって獲得してくれてい る・・・のかな・・? 48