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

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