Python 用の TextBlob を使用して、ツイートの感情分析を行っています。TextBlob のデフォルトのアナライザーは PatternAnalyzer で、非常にうまく機能し、かなり高速です。
sent = TextBlob(tweet.decode('utf-8')).sentiment
NaiveBayesAnalyzer に切り替えようとしましたが、ランタイムが私のニーズには実用的ではないことがわかりました。(ツイートあたり 5 秒に近づいています。)
sent = TextBlob(tweet.decode('utf-8'), analyzer=NaiveBayesAnalyzer()).sentiment
以前に Naive Bayes Classifier の scikit Learn 実装を使用したことがありますが、これほど遅いとは思いませんでした。
少なくともドキュメントには、「映画レビューのデータセットでトレーニングされた Naive Bayes アナライザー」と記載されています。ただし、「映画レビューコーパスで単純ベイズ分類器をトレーニングする」と説明されている関数 train() もあります。各実行前にアナライザーを内部的にトレーニングしますか? ないことを願っています。
これをスピードアップする方法を知っている人はいますか?