① CNN-RNNジョイントモデル
CNNはインプットのlocal featureを抽出することができて、RNNはsequenceのインプットを処理しながらlong-termの依存性を学習することができる。
② Convolutional段階で、異なる長さと重みを持つ行列windowを適用
max-poolingは全体の文章でではなく隣接featureで左→右に適用していく
⇒文脈のsequence情報を保ちながら、CNNかけてfeature map生成
③ LSTMとCNNで得られた、エンコードされたlocal featureを抽出
MR, SSTなどのデータセットを3つの条件に分けて、それぞれにbenchmarkを適用し分類器で実験を行う
model architecture
word embedding: pre trained あるいは randomly initialized
about this paper
Author:Xingyou Wang, Weijie Jiang, Zhiyong Luo Link:http://www.aclweb.org/anthology/C16-1229
Convolutional Recurrent Deep Learning Model for Sentence Classification(2018)のベースモデル。 レビュー分析に初めてCNN-RNNコンビネーションモデルを試したという論文。
what are problems they want to solve?
problems
CNNもRNNもNLPで活用されてるけど、まだ二つを組み合わせてのセンティメント分析の研究はされていない。
how to solve
① CNN-RNNジョイントモデル CNNはインプットのlocal featureを抽出することができて、RNNはsequenceのインプットを処理しながらlong-termの依存性を学習することができる。 ② Convolutional段階で、異なる長さと重みを持つ行列windowを適用 max-poolingは全体の文章でではなく隣接featureで左→右に適用していく ⇒文脈のsequence情報を保ちながら、CNNかけてfeature map生成 ③ LSTMとCNNで得られた、エンコードされたlocal featureを抽出 MR, SSTなどのデータセットを3つの条件に分けて、それぞれにbenchmarkを適用し分類器で実験を行う
model architecture
experiment
dataset
MR: レビュー一個当たり文章一つ。Positive/Negative分類。 SST1: MRの拡張版であり文章から句を抽出したものあるいは、句自体が文章であるもの。very Negative/Negative/Neutral/Positive/very Positive分類。 SST2: SST1と同じ。Neutralだけ抽出。
model variation
CNN-GRU: word2vecであらかじめ学習されたベクトル、max-pooling CNN-LSTM: word2vecであらかじめ学習されたベクトル、max-pooling AGV-GRU: word2vecであらかじめ学習されたベクトル、average-pooling CNN-GRU: word2vecであらかじめ学習されたベクトル、max-pooling CNN-LSTM: word2vecであらかじめ学習されたベクトル、max-pooling
setting
Tesla K40c GPUの環境で実験
result
GRUはクラス分けを少なくしたタスクで優れた結果を見せ、LSTMは5のクラス分けタスクにおいて優れた結果を見せた。 ランダムに初期化して使ったベクトルより、あらかじめ学習されたベクトルのほうがよかった。 予め学習されたベクトルを用いての手法は、semantic sparsity problemを解決できると思われる。
conclusion
長い文章を用いての実験も行う必要がある
what's next
code
https://github.com/ultimate010/crnn