IBIS 2017 企画セッション：自然言語処理への機械学習の応用

深層学習と自然言語処理
東京大学大学院
情報理工学系研究科
鶴岡 慶雅

2017/11/9

概要• ニューラルネットワーク• 多層ニューラルネットワーク• リカレントニューラルネットワーク• 畳み込みニューラルネットワーク• 自然言語処理• 基盤技術• 言語モデル、品詞タグ付け、チャンキング、固有表現認識、構文解析• 応用• 機械翻訳、対話、要約、説明文生成、質問応答、プログラム生成2

ニューラルネットワーク• ニューロン

xD
入力

x2
x1
1

入力の線形和に非線形な活性化関数を適用

重みwD
w2

y

 D
y  f   wi xi  i 0

活性化関数
Hyperbolic tangent

ReLU (Rectified Linear Unit)

3

多層ニューラルネットワーク• 多数の入出力のペアから入出力関係を学習

xD

yK
出力

入力

x1

y1x0

入出力の次元は固定→ 不定形な構造を持つ入出力は扱いにくい
4リカレントニューラルネットワーク(Recurrent Neural Network, RNN)
• 任意の長さの系列を扱うことができる
出力ベクトル

状態ベクトル

入力ベクトルyt
htxt

ht  sigmoid W hx xt  W hh ht 1

yt  W yh ht
重みパラメータを共有

y1y2y3y4

h1

h2

h3

h4

x1x2x3x4…

等価5

LSTM (Long Short-Term Memory)• 単純な RNN の問題点
• 勾配消失問題• 長距離の依存関係をとらえられない• Long Short-Term Memory (LSTM)

f   W   x  U  h  b   o   W   x  U  h  b   c~  tanh W   x  U  h  b   it   W i  xt  U i ht 1  b i ftftottotc~tct  it  c~t  f t  ct 1ht  ot  tanh ct ft 1t 1c~ot 1c~LSTM
入力
6RNNと自然言語処理• 自然言語処理では文字や単語の系列を扱う• 言語モデル 、品詞タグ付け、固有表現認識、機械翻訳 、etc.

• 例）言語モデル• 次の単語を予測
でほうれん草が？
文脈情報

h1

h2

h3

h4

長雨

でほうれん草が…

7

品詞タグ付け• 文中の各単語に品詞情報を付与
Paul Krugman , a professor at Princeton University, was
NNP NNP , DT NN
IN NNP
NNP , VBD
awarded the Nobel Prize in Economics on Monday.
VBN
DT NNP NNP IN NNP IN NNP• 品詞タグ
NN: 名詞
NNP: 固有名詞
DT: 限定詞:

IN: 前置詞
VBD: 動詞（過去形）
VBN: 動詞（過去分詞）:

Bidirectional LSTM (BiLSTM)• ２つのRNN（順方向と逆方向）• 左右両方向の文脈情報を捉えられる

y1y2y3y4



h1



h2



h3



h4...







...

x1x2x3x4

h1

h2

h3

h4

BiLSTMによる品詞タグ付け• 学習データ• Wall Street Journal コーパス：約40,000文

PRP

VBDDTNNh1h2

h3



h4...



...

Heatethecakeh1h2h3h4→ CRF 層を追加 (Huang et al., 2015; Ma and Hovy, 2016)

チャンキング(shallow parsing)He reckons the current account deficit will narrow toNP VP
NPVP
PPonly # 1.8 billion in September .
NPPPNP• 文をフラットな句に分割• 再帰的な分割は行わないチャンキング (shallow parsing)He reckons the current account deficit will narrow to
BNP BVP
BNP INPINPINP BVP
IVP BPP
only # 1.8 billion in September .
BNP INPINP INP BPP
BNPO• 各単語に対するタグ付けの問題に変換できる• B: チャンクの先頭• I: チャンクの中（先頭以外）• O: チャンクの外固有表現認識 (named entity recognition)
The peri-kappa B site mediates human immunodeficiency
DNAvirus
virus type 2 enhancer activation in monocytes …
cell_type• 文中の固有表現を認識• チャンキングと同様、系列ラベリングの問題として処理できる構文解析• 依存構造（dependency structure）• 文中の単語間の関係をグラフで表す• 係り元（dependent）から係り先（head, 主辞）へのエッジ（矢印を逆向きに描くことも多い）• 係り受け構造とも呼ばれる

Shift-Reduce法による依存造解析• Shift-Reduce 法• バッファー（buffer）• 解析前の単語列を格納• スタック（stack）• 解析後の依存構造を格納• アクション（action）• Shift• バッファーの先頭の単語をスタックに移動• Reduce• スタックトップの２つの単語の間にエッジを生成Shift-Reduce 法

I saw a dog with eyebrows
OPERATION
Shift
ReduceL
ReduceR

STACK

BUFFERI saw a dog with eyebrowsShift-Reduce 法

I saw a dog with eyebrows
OPERATION
Shift
ReduceL
ReduceR

STACKIBUFFERsaw a dog with eyebrowsShift-Reduce 法

I saw a dog with eyebrows
OPERATION
Shift
ReduceL
ReduceR

STACK
I saw

BUFFERa dog with eyebrowsShift-Reduce 法

I saw a dog with eyebrows
OPERATION
Shift
ReduceL
ReduceR

STACK
saw

BUFFERa dog with eyebrowsShift-Reduce 法

I saw a dog with eyebrows
OPERATION
Shift
ReduceL
ReduceR

STACK
saw a

BUFFERdog with eyebrowsShift-Reduce 法

I saw a dog with eyebrows
OPERATION
Shift
ReduceL
ReduceR

STACK
saw a dog

BUFFER
with eyebrowsShift-Reduce 法

I saw a dog with eyebrows
OPERATION
Shift
ReduceL
ReduceR

STACK
saw dog

BUFFER
with eyebrowsShift-Reduce 法

I saw a dog with eyebrows
OPERATION
Shift
ReduceL
ReduceR

STACK
saw dog with

BUFFEReyebrows

Shift-Reduce 法

I saw a dog with eyebrows
OPERATION

STACK

Shift
ReduceL
ReduceRsaw dog with eyebrows

BUFFERShift-Reduce 法

I saw a dog with eyebrows
OPERATION
Shift
ReduceL
ReduceR

STACKsaw dog with

BUFFERShift-Reduce 法

I saw a dog with eyebrows
OPERATION
Shift
ReduceL
ReduceR

STACK
saw dog

BUFFERShift-Reduce 法• 学習モデル• Stack LSTM (Dyer et al., 2015)• FFNN + ビーム探索 + Early Update (Andor et al., 2016)• BiLSTM (Kiperwasser & Goldberg, 2016)• Stack LSTM (Dyer et al., 2015)

構文解析
S

• 句構造解析

VP
NP
NNP

VBZ DT NN

.

John

has.

adog

(S (NP NNP )NP (VP VBZ (NP DT NN )NP )VP . )SRecurrent Neural Network
Grammar (RNNG) (Dyer et al., 2016)
入力文: The hungry cat meows .
Stack0Buffer

ActionThe | hungry | cat | meows | . NT(S)

1(SThe | hungry | cat | meows | . NT(NP)

2(S | (NPThe | hungry | cat | meows | . SHIFT

3(S | (NP | The

hungry | cat | meows | .

SHIFT

4

(S | (NP | The hungry

cat | meows | .

SHIFT

5(S | (NP | The hungry | catmeows | .

REDUCE

6(S | (NP | The hungry | cat)meows | .

NT(VP)

7(S | (NP | The hungry | cat) (VP

meows | .

SHIFT

8

(S | (NP | The hungry | cat) (VP meows.

REDUCE

9(S | (NP | The hungry | cat) (VP meows)

.

SHIFT

10 (S | (NP | The hungry | cat) (VP meows) | .

11 (S | (NP | The hungry | cat) (VP meows) | . )REDUCE

Recurrent Neural Network
Grammar (RNNG) (Dyer et al., 2016)
Stack LSTM

アクションを予測

REDUCE の際は BiLSTM で親の embedding を子の embedding から構成的に計算
The hungry cat構文解析の精度• 依存構造解析
パーザー

UAS

LAS

Turbo parser (Martins et al., 2013)

92.9

90.6

SyntaxNet (Andor et al., 2016)

94.6

92.8

Deep Biaffine Attention (Dozat and Manning, 2016)

95.4

93.8

Recurrent Neural Network Grammar (Dyer et al. 2016)

95.8

94.6

• 句構造解析
パーザー

F1 score

Symbol-refined CFG (Petrov and Klein, 2007)

90.1

Bayesian Symbol-refined TSG (Shindo et al. 2012)

91.1

Recurrent Neural Network Grammar (Dyer et al. 2016)93.6

マルチタスク学習による解析• Joint Many-Task Model (Hashimoto et al., 2016)• ５つのタスクを同時学習ニューラル機械翻訳• エンコーダ・デコーダモデル (Sutskever et al., 2014)• Encoder RNN• 翻訳元の文を読み込み、実数値ベクトルに変換• Decoder RNN• 実数値ベクトルから翻訳先言語の文を生成
彼

はチーズが好き

<EOS>

LSTM

LSTM

LSTM

LSTM

LSTM

LSTM

LSTMLSTM

LSTM

Helikescheese<EOS>

彼はチーズが好き33

アテンション (Bahdanau et al., 2015)• 翻訳先の各単語を選択する際に、翻訳元の文中の各単語の隠れ状態の情報を利用
翻訳元の各単語の隠れ状態の加重平均
Txci    ij h j

ctj 1

重み（すべて足すと１）

 ij 

exp eij  expe e  FeedForwardNN s , h 
Tx

k 1

ijiki 1j

Tree-to-sequence モデル• 入力文の句構造を利用 (Eriguchi et al. 2016)
LSTM

彼は 望遠鏡 でLSTM

LSTM

LSTM

LSTM

彼は望遠鏡

LSTM

LSTM

LSTM

LSTM
LSTM

LSTM

LSTM

LSTM

LSTM

LSTM

He

saw the moon withLSTM

LSTM

a telescope

35

翻訳例
In information technology and electron field, the application ofnanotechnology to next generation semiconductors, high-density
information record technology, miniature integrated circuit
elements, electric power saving displays using carbon nano-tube,etc. can be expected.

情報 技術 と 電子 分野 で は ， 次 世代 半 導体 へ の ナノテク
ノロジー の 応用 ， 高 密度 情報 記録 技術 ， 超 小型 集積 回
路 要素 ， カーボン ナノ チューブ を 用い た 省 電力 表示 な
ど が 期待 でき る 。

36

ニューラル会話モデル (Vinyals & Le, 2015)• エンコーダ・デコーダモデルで会話文を学習• 学習データ• 映画の中での会話 6200万文• 学習したモデルと人間との会話の例
Human: who is skywalker ?
Machine: he is a hero .
Human: who is bill clinton ?
Machine: he 's a billionaire .
Human: is sky blue or black ?
Machine: blue .
Human: does a cat have a tail ?
Machine: yes .

Human: does a cat have a wing ?
Machine: no
Human: can a cat fly ?
Machine: no .
Human: how many legs does a cat have ?
Machine: four , i think .
Human: how many legs does a spider have ?
Machine: three , i think .
37

Eメールの返事の自動生成 (Kannan et al., 2016)

Kannan et al., Smart Reply: Automated Response Suggestion for Email, KDD 2016

畳み込みニューラルネットワーク（Convolutional Neural Network, CNN）
• 全結合

パラメータ数5 x 3 = 15

• 局所的結合パラメータ数
3x3=9• パラメータ共有

パラメータ数3

パラメータ数を減らすことにより過学習を回避
画像認識、テキスト分類などに有効
39画像の説明文の生成(Vinyals et al., 2015)

1. 大量のラベル付き画像で画像認識CNNを学習
2. 説明文付きの画像で言語生成RNNを学習
40

画像の説明文の生成(Vinyals et al., 2015)

CNNRNN41

説明文生成例 (Vinyals et al., 2015)42動画の説明文の生成

Venugopalan et al., Sequence to Sequence – Video to Text, ICCV 2015

動画の説明文の生成

Venugopalan et al., Sequence to Sequence – Video to Text, ICCV 2015

CNN による文分類 (Kim, 2014)• 単語 n-gram（的なものを）をソフトに検出

SQuAD(The Sanford Question Answering Dataset)Rajpurkar et al. (2016)• Wikipedia記事に関するQAデータセット• 大規模• 500記事、10万QAペア• クラウドソーシングによって作成• 質問の答えは文書中の単語列

Dynamic Coattention Networks (Xiong et al., 2016)• 文書と質問の中の各単語を互いの類似度で重みづけ

推論を必要とする質問応答（QA）
文書

Mary got the football there.
John moved to the bedroom.
Sandra went back to the kitchen.
Mary travelled to the hallway.
John got the football there.
John went to the hallway.
John put down the football.
Mary went to the garden.
質問
Where is the football?
48

Dynamic Memory Networks (Kumar et al., 2016)• 答えを導出するために必要な文を順次推定

49

文書要約

生成された要約：(See et al., 2017)

Pointer networks (Vinyals et al., 2015)• 入力系列中の要素を指すポインタの系列を出力

Pointer-generator model (See et al., 2017)• ポインタを併用して要約文の単語を生成

プログラム自動生成

Magic the Gathering

Hearthstone

Ling et al., Latent Predictor Networks for Code Generation, ACL 2016

Latent Predictor Networks (Ling et al., 2016)• 構造を持つ入力へのポインタも併用

生成例

Ling et al., Latent Predictor Networks for Code Generation, ACL 2016

Text to Python Code (Yin and Neubig, 2017)

Yin and Neubig, A Syntactic Neural Model for General-Purpose Code Generation, ACL 2017

Seq2SQL (Zhong et al., 2017)• 教師付き学習＋• 強化学習データベース

実行• 方策勾配法により、クエリの実行結果を報酬として学習
https://einstein.ai/research/how-to-talk-to-your-databaseまとめ• ニューラルネットワーク• リカレントニューラルネットワーク• 畳み込みニューラルネットワーク• エンコーダー・デコーダーモデル• 系列から系列への変換• 複雑なタスクを簡単なアーキテクチャで実現• レゴブロック (?) の組み合わせ、End-to-end 学習• 大幅な性能向上• 構文解析、機械翻訳、質問応答、etc