magicpieh28 / Paper-Summary

1 stars 0 forks source link

Combination of Convolutional and Recurrent Neural Network for Sentiment Analysis of Short Texts(2016) #2

Open magicpieh28 opened 6 years ago

magicpieh28 commented 6 years ago

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

  1. word embedding: pre trained あるいは randomly initialized
  2. CNN: convolutional & pooling layer ⇒ feature map エンコーディング
  3. RNN: LSTM あるいは GRU
  4. softmax(loss関数:cross entropy)
  5. output: 分類結果 image

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を解決できると思われる。 image

conclusion

長い文章を用いての実験も行う必要がある

what's next

code

https://github.com/ultimate010/crnn