28
全脳アーキテクチャ若⼿の会 カジュアルトーク (2017.1.31) Convolutional Neural Networks で⾃然⾔語処理をする 全脳アーキテクチャ若⼿の会 法政⼤学⼤学院 理⼯学研究科 修⼠課程 島⽥ ⼤樹

Convolutional Neural Netwoks で自然言語処理をする

Embed Size (px)

Citation preview

Page 1: Convolutional Neural Netwoks で自然言語処理をする

全脳アーキテクチャ若⼿の会 カジュアルトーク (2017.1.31)

Convolutional Neural Networks で⾃然⾔語処理をする

全脳アーキテクチャ若⼿の会法政⼤学⼤学院 理⼯学研究科 修⼠課程

島⽥ ⼤樹

Page 2: Convolutional Neural Netwoks で自然言語処理をする

⾃⼰紹介

島⽥ ⼤樹 (SHIMADA Daiki)@sheema_sheema (Twitter)

• 法政⼤学⼤学院 理⼯学研究科 M2• 知的情報処理研究室(彌冨研)

• 画像解析による授業受講者の態度推定

• 画像の半教師あり学習

• ⾃然⾔語⾔語処理 (⽇本語)

• 全脳アーキテクチャ若⼿の会 副代表• 会全体の運営 (運営メンバー⼤募集中!!)

1

Page 3: Convolutional Neural Netwoks で自然言語処理をする

前回までのあらすじ

l カジュアルにCNN系画像認識⽂献64本ノック!http://www.slideshare.net/sheemap/convolutional-neural-networks-wbafl2

2016/02: Convolutional Neural Networks (CNN) の動向

2

l 2016年前半までのGANによる画像⽣成事例を紹介http://www.slideshare.net/sheemap/adversarial-networks-wbafl3

2016/06: Generative Adversarial Nets (GAN) の画像⽣成

しかし,今回は ”⾃然⾔語処理 (NLP)” 特集…

Page 4: Convolutional Neural Netwoks で自然言語処理をする

今⽇のおはなし

l なんでNLPでCNNなのか

l 実際のところNLPでどれだけCNNが使えるのか

l 近年のCNN x NLPの動向をチェック

l どんなタスクがどれだけ上⼿くいっているのか

l ⽇本語は?

2017/01: ⾃然⾔語処理にCNNの波はやってくるか?

3

Page 5: Convolutional Neural Netwoks で自然言語処理をする

⽬次全脳アーキテクチャ若⼿の会 カジュアルトーク (17.1.31)

ConvNetで⾃然⾔語処理をする

1. Why CNN in NLP?2. CNN x NLPの研究動向3. ⽇本語NLPへのCNN適⽤の試み4. まとめ

4

Page 6: Convolutional Neural Netwoks で自然言語処理をする

Why CNN in NLP?

l もともと画像を処理することを想定して提案された

l ⾃然⾔語処理では,1次元⽅向のみの畳み込みを⾏う

Convolutional Neural Networks (LeCun & Bengio, 1995), (LeCun+, 1998)

5Y. LeCun, et al.: Gradient Based Learning Applied to Document Recognition. Procs. of IEEE, 1998.

Y. LeCun and Y. Bengio.: Convolutional Networks for Images, Speech, and Time-Series. The handbook of brain theory and neural networks, 1995.

2D-conv. 1D-conv.

Page 7: Convolutional Neural Netwoks で自然言語処理をする

Why CNN in NLP?

RNN vs. CNN

6

Recurrent Neural Networks Convolutional Neural Networks

l 前時間の隠れ状態をフィードバック

l 時間⽅向にforward / backward を展開する (BPTT)

l 時間⽅向にカーネルを⾛査

l 計算の並列化がし易いため⾼速

l 時間的に離れた情報間の関係も学習出来る

Page 8: Convolutional Neural Netwoks で自然言語処理をする

⽬次全脳アーキテクチャ若⼿の会 カジュアルトーク (17.1.31)

ConvNetで⾃然⾔語処理をする

1. Why CNN in NLP?2. CNN x NLPの研究動向3. ⽇本語NLPへのCNN適⽤の試み4. まとめ

7

Page 9: Convolutional Neural Netwoks で自然言語処理をする

CNN x NLPの研究動向

l 単語ベクトルをword2vecによって予め学習l Sentence-levelの分類タスク7つについて評価

l 5 / 7で従来⼿法を上回る性能

Sentence Classification (Kim, 2014)

8Y. Kim: Convolutional Neural Networks for Sentence Classification. EMNLP, 2014.

Page 10: Convolutional Neural Netwoks で自然言語処理をする

CNN x NLPの研究動向

l ⽂字レベルでテキストを扱った⽂書分類

l アルファベット, 数字, 記号を one-hot encoding

l シソーラスを使って類語で置換 (data augmentation)

Character-level Document Classification (Zhang+, 2015)

9X. Xhang et al.: Character-level Convolutional Networks for Text Classification. NIPS, 2015.

CNNの畳み込み層のパラメータ

Page 11: Convolutional Neural Netwoks で自然言語処理をする

CNN x NLPの研究動向

Character-level Document Classification (Zhang+, 2015)

10X. Xhang et al.: Character-level Convolutional Networks for Text Classification. NIPS, 2015.

Lg. :深いモデルSm. :浅いモデルTh. :類語置換w2v :word2vecLk. :lookup tableFull :⼤⽂字/⼩⽂字

Page 12: Convolutional Neural Netwoks で自然言語処理をする

CNN x NLPの研究動向

l RNNベースの画像⽣成⼿法を提案

l convolutionでRNNライクな計算をする⽅法の提案

l masked convolution

l 現時間より先の情報を畳み込んでしまわないように,畳み込みカーネルをマスクする

Pixel Recurrent Neural Networks (Van den Oord+, 2016a)

11A. Van den Oord, et al.: Pixel Recurrent Neural Networks. ICML, 2016.

Page 13: Convolutional Neural Netwoks で自然言語処理をする

CNN x NLPの研究動向

l ByteNet と呼ばれるCNNベースのニューラル翻訳モデル

l Dilated CNN による Encoder-Decoderモデル

Machine Translation (Van den Oord+, 2016b)

12A. Van den Oord et al.: Neural Machine Translation in Liner Time. arXiv: 1610.10099, 2016.

Negative log-likelihood of bits/byte on Hutter Prize Wikipedia

Page 14: Convolutional Neural Netwoks で自然言語処理をする

CNN x NLPの研究動向

l ByteNet と呼ばれるCNNベースのニューラル翻訳モデル

l 近年のRNN系の⼿法に近く,より⾼速に動作する

Machine Translation (Van den Oord+, 2016b)

13A. Van den Oord et al.: Neural Machine Translation in Liner Time. arXiv: 1610.10099, 2016.

Page 15: Convolutional Neural Netwoks で自然言語処理をする

CNN x NLPの研究動向

l ゲート関数を導⼊したCNNを提案 (Gated CNN)

Language Modeling (Dauphin+, 2016)

14Y. N. Dauphin et al.: Language Modeling with Gated Convolutional Networks. arXiv: 1612.08083, 2016.

ゲート⽤畳み込みフィルタを⽤意し,他の畳み込み結果と要素毎に積を取る

Page 16: Convolutional Neural Netwoks で自然言語処理をする

CNN x NLPの研究動向

l ゲート関数を導⼊したCNNを提案 (Gated CNN)

l 他のRNN系⾔語モデルよりも良好な結果

Language Modeling (Dauphin+, 2016)

15Y. N. Dauphin et al.: Language Modeling with Gated Convolutional Networks. arXiv: 1612.08083, 2016.

Page 17: Convolutional Neural Netwoks で自然言語処理をする

CNN x NLPの研究動向

l Gated CNN よりもLSTMライクなゲート関数がついたCNN(fo-pooling)

Quasi-RNN (Bradbury & Merity+, 2016)

16J. Bradbury, S. Merity, et al.: Quasi-Recurrent Neural Networks. arXiv: 1611.01576, 2016.

Page 18: Convolutional Neural Netwoks で自然言語処理をする

CNN x NLPの研究動向

l Sentiment ClassificationQuasi-RNN (Bradbury & Merity+, 2016)

17J. Bradbury, S. Merity, et al.: Quasi-Recurrent Neural Networks. arXiv: 1611.01576, 2016.

l Single model perplexity on Penn Treebank

Page 19: Convolutional Neural Netwoks で自然言語処理をする

CNN x NLPの研究動向

l そして,速いQuasi-RNN (Bradbury & Merity+, 2016)

18J. Bradbury, S. Merity, et al.: Quasi-Recurrent Neural Networks. arXiv: 1611.01576, 2016.

LSTM (cuDNN)との速度⽐較Training Speed Comparision

Page 20: Convolutional Neural Netwoks で自然言語処理をする

⽬次全脳アーキテクチャ若⼿の会 カジュアルトーク (17.1.31)

ConvNetで⾃然⾔語処理をする

1. Why CNN in NLP?2. CNN x NLPの研究動向3. ⽇本語NLPへのCNN適⽤の試み4. まとめ

19

Page 21: Convolutional Neural Netwoks で自然言語処理をする

⽇本語にCNN + NLPを使う

l ⽇本語をローマ字にしてCNNを⼊⼒

l データ数が多い場合に⾼い性能が出ることを確認

Character-level CNN の⽇本語ローマ字列への適⽤(佐藤+, 2016)

20佐藤ら:⽂字レベル深層学習によるテキスト分類と転移学習. ⼈⼯知能学会⼈⼯知能基本問題研究会, 2016.

Page 22: Convolutional Neural Netwoks で自然言語処理をする

⽇本語にCNN + NLPを使う

l Image-based Character Embeddingl Wildcard Training (単語分割不要な data augmentation)

Character-level CNN による⽇本語⽂書分類(⼩⾕+, 2016), (Shimada+, 2016)

21

⼩⾕ら: ⽂字画像によるCharacter-level Embeddingと⽂書分類. NLP若⼿の会シンポジウム, 2016.D. Shimada et al.: Document Classification through Image-Based Character Embedding and Wildcard Training.BigNLP in IEEE Big Data, 2016.

Page 23: Convolutional Neural Netwoks で自然言語処理をする

⽇本語にCNN + NLPを使う

l Image-based Character Embedding (画像⽂字表現)l 従来のNLPでは⽂字の”⾒た⽬”は捨てちゃうl ⽂字を表現するときに,⾒た⽬も使ってみる

Character-level CNN による⽇本語⽂書分類(⼩⾕+, 2016), (Shimada+, 2016)

22

⼩⾕ら: ⽂字画像によるCharacter-level Embeddingと⽂書分類. NLP若⼿の会シンポジウム, 2016.D. Shimada et al.: Document Classification through Image-Based Character Embedding and Wildcard Training.BigNLP in IEEE Big Data, 2016.

Page 24: Convolutional Neural Netwoks で自然言語処理をする

⽇本語にCNN + NLPを使う

Character-level CNN による⽇本語⽂書分類(⼩⾕+, 2016), (Shimada+, 2016)

23

⼩⾕ら: ⽂字画像によるCharacter-level Embeddingと⽂書分類. NLP若⼿の会シンポジウム, 2016.

D. Shimada et al.: Document Classification through Image-Based Character Embedding and Wildcard Training.BigNLP in IEEE Big Data, 2016.

(1)Author Estimation of Japanese NovelsMethods Accuracy [%](proposed) CAE + CLCNN + WT 69.57(proposed) CAE + CLCNN w/o WT 52.17(proposed) Lookup Table + CLCNN + WT 69.57Lookup Table + CLCNN w/o WT 65.22Character-level 3-gram* + TF-IDF 56.52Word segmentation* + TF-IDF 47.83LSI (# topics = 60) 73.90LDA (# topics = 30) 52.10* 3-gram and Word segmentation use top-50,000 most frequently tokens.

Page 25: Convolutional Neural Netwoks で自然言語処理をする

⽇本語にCNN + NLPを使う

Character-level CNN による⽇本語⽂書分類(⼩⾕+, 2016), (Shimada+, 2016)

24

⼩⾕ら: ⽂字画像によるCharacter-level Embeddingと⽂書分類. NLP若⼿の会シンポジウム, 2016.

D. Shimada et al.: Document Classification through Image-Based Character Embedding and Wildcard Training.BigNLP in IEEE Big Data, 2016.

(2) Publisher Estimation from Japanese Newspaper ArticlesMethods Accuracy [%](proposed) CAE + CLCNN + WT 86.72(proposed) CAE + CLCNN w/o WT 80.95(proposed) Lookup Table + CLCNN + WT 79.66Lookup Table + CLCNN w/o WT 73.13Character-level 3-gram* + TF-IDF 84.27Word segmentation** + TF-IDF 67.22LSI (# topics = 2,000) 84.00LDA (# topics = 70) 56.10* 3-gram approach uses top-30,000 most frequently tokens.** Word segmentation approach uses all of morphemes in training data.

Page 26: Convolutional Neural Netwoks で自然言語処理をする

⽬次全脳アーキテクチャ若⼿の会 カジュアルトーク (17.1.31)

ConvNetで⾃然⾔語処理をする

1. Why CNN in NLP?2. CNN x NLPの研究動向3. ⽇本語NLPへのCNN適⽤の試み4. まとめ

25

Page 27: Convolutional Neural Netwoks で自然言語処理をする

まとめ

l Bag of Words (BoW) のようなNLPテクニックが画像へ適⽤された歴史をみれば,画像→NLPもうまくいきそう

l テキスト分類だけでなく,⾔語モデリングや機械翻訳もすでに⼀定の成果を挙げ始めている.

l ⽂字レベルで⽇本語NLPをCNNで攻略する⽅向も

l 画像・⾔語だけでなく⾳声のような信号処理もCNNで…!

l WaveNet (Van den Oord+, 2016c)

CNNでも⾃然⾔語処理が出来る(かも)!

26

A. Van den Oord et al.: WaveNet: A Generative Model for Raw Audio. arxiv: 1609.03499, 2016.

Page 28: Convolutional Neural Netwoks で自然言語処理をする

Fin.

27