- 日本のツイートの様子を森のイラストで可視化したWebアプリです
- こちらで公開していますhttps://murmurs-forest.herokuapp.com/
- 森の木の色でポジティブなツイートとネガティブなツイートの割合を表しています
- アカウントのIDを入力することでアカウントの木を見るページに飛びます
- 木の葉の色でそのアカウントのポジティブなツイートとネガティブなツイートの割合を表しています
- 主にPython, Flask, kerasを用いて制作しました
- Dockerコンテナを用いてHerokuにデプロイしています
- 5分おきに日本語のツイートを5000件取得し、それらをkerasを用いて構築したテキスト分類モデルによって、ネガポジ判定を行います
- APSchedulerを用いてcronタイプのジョブを設定しています
- webアプリ自体はコンテナ上でgunicornで動かしています
- 画面下部のグラフでは、過去のデータを日付や時刻を選択して見ることができます
- アカウントの木を表示するページでは、最新200件までのツイートを取得し、そのうち日本語のものに対してネガポジ判定を行っています
- RTしたツイートは含まれません(リプライは含まれます)
- 非公開アカウントや最新200件に日本語ツイートが含まれない場合は表示されません
- ツイートデータの前処理では、mecab-ipadic-neologdを用いて形態素解析をしています
- 今回のニューラルネットワークの構成は次のようになっています
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
embedding (Embedding) (None, 140, 64) 2271040
_________________________________________________________________
dense (Dense) (None, 140, 16) 1040
_________________________________________________________________
global_average_pooling1d (Gl (None, 16) 0
_________________________________________________________________
dense_1 (Dense) (None, 1) 17
=================================================================
Total params: 2,272,097
Trainable params: 2,272,097
Non-trainable params: 0
_________________________________________________________________
- Twitterと連携してアカウントの木を投稿する機能
- 過去のデータをグラフだけでなく、その時の森の様子も表示する
- 定期的にツイートデータを収集し、モデルを訓練し、対応できる語彙を増やす
- 実際に文章を入力し、どのように判定されるのかをユーザーが試せる機能
- アプリが大きくなったらHeroku以外の環境も検討する