Why is not TextBlob using / detecting the negation?
<p>I am using TextBlob to perform a sentiment analysis task. I have noticed that TextBlob is able to detect the negation in some cases while in other cases not. </p>

<p>Here are two simple examples</p>

<pre><code>&gt;&gt;&gt; from textblob.sentiments import PatternAnalyzer

&gt;&gt;&gt; sentiment_analyzer = PatternAnalyzer()
# example 1
&gt;&gt;&gt; sentiment_analyzer.analyze('This is good')
Sentiment(polarity=0.7, subjectivity=0.6000000000000001)

&gt;&gt;&gt; sentiment_analyzer.analyze('This is not good')
Sentiment(polarity=-0.35, subjectivity=0.6000000000000001)

# example 2
&gt;&gt;&gt; sentiment_analyzer.analyze('I am the best')
Sentiment(polarity=1.0, subjectivity=0.3)

&gt;&gt;&gt; sentiment_analyzer.analyze('I am not the best')  
Sentiment(polarity=1.0, subjectivity=0.3)
</code></pre>

<p>As you can see in the second example when using the adjective <code>best</code> the polarity is not changing. I suspect that has to do with the fact that the adjective <code>best</code> is a very strong indicator, but doesn't seem right because the negation should have reversed the polarity (in my understanding).</p>

<p>Can anyone explain a little bit what's going? Is textblob using some negation mechanism at all or is it just that the word <code>not</code> is adding negative sentiment to the sentence? In either case, why does the second example has exactly the same sentiment in both cases? Is there any suggestion about how to overcome such obstacles?</p>