@Jared が指摘したように、トレーニング コーパスの品質によっては、辞書ベースのアプローチを使用すると、状況によっては非常にうまく機能する場合があります。これは、実際に CLIPSパターンとTextBlobの実装がどのように機能するかです。
TextBlob を使用した例を次に示します。
from text.blob import TextBlob
b = TextBlob("StackOverflow is very useful")
b.sentiment # returns (polarity, subjectivity)
# (0.39, 0.0)
デフォルトでは、TextBlob はパターンの辞書ベースのアルゴリズムを使用します。ただし、アルゴリズムは簡単に交換できます。たとえば、映画レビュー コーパスでトレーニングされた単純ベイズ分類器を使用できます。
from text.blob import TextBlob
from text.sentiments import NaiveBayesAnalyzer
b = TextBlob("Today is a good day", analyzer=NaiveBayesAnalyzer())
b.sentiment # returns (label, prob_pos, prob_neg)
# ('pos', 0.7265237431528468, 0.2734762568471531)