テキストの感情分析をしたいと思って作ってみました.
動機:テキスト文の極性(ポジティブ,ネガティブ)の判定を手っ取り早く行いたい. >> ある商品レビュー,話題分析に,twitterのリアルデータを使うことができないか.
実装した内容
- ツイートを取得してきて, mysqlに格納する.(今回は「嬉し」,「悲し」の2クエリ)
- モデル: ランダムフォレスト
- モデルの保存: pickle
- 教師ラベル(正例,負例)の付け方: 「嬉し」で集めてきたツイートを全部POSのカテゴリ,「悲し」で集めてきたツイートを全部NEGのカテゴリとする.(手っ取り早くラベルを付けたかったので.)
- ブラウザ上でシステムを動かす方法: python3.6標準のCGIモジュールを使って,POST通信でデータの受け渡しを行う.
全体の流れ
1, twitterからモデル学習のためのツイートを収集する.
2, 集めてきたツイートの前処理を行う(形態素解析, 全n個の出現単語の出現頻度を換算して,n次元のベクトルを生成する.)
3, 前処理後のデータを用いて,ランダムフォレストのモデルを学習させる&モデルをpickleに保存する.
4, HTMLからPOST通信でデータを取ってこれるように, htmlファイルを作成し, pythonプログラムにCGIのコードを組み込む.
5,テキストデータをブラウザから持ってきて, モデルを使って,POSかNEGの判定を行う.