TextBlob如何计算情感极性?如何使用机器学习分类器计算情感价值?

时间:2018-07-06 11:32:42

标签: python python-3.x machine-learning sentiment-analysis textblob

TextBlob如何计算情感极性的经验值。我使用过朴素的贝叶斯,但它只是预测它是正面还是负面。如何像TextBlob一样为情感计算值?

2 个答案:

答案 0 :(得分:1)

以下是该网站的一个示例:https://textblob.readthedocs.io/en/dev/quickstart.html#sentiment-analysis

text1 = TextBlob("Today is a great day, but it is boring")
text1.sentiment.polarity
# You can derive the sentiment based on the polarity.

这是我如何在推文情感中使用TextBlob的示例代码:

from textblob import TextBlob
### My input text is a column from a dataframe that contains tweets. 

def sentiment(x):
    sentiment = TextBlob(x)
    return sentiment.sentiment.polarity

tweetsdf['sentiment'] = tweetsdf['processed_tweets'].apply(sentiment)
tweetsdf['senti'][tweetsdf['sentiment']>0] = 'positive'
tweetsdf['senti'][tweetsdf['sentiment']<0] = 'negative'
tweetsdf['senti'][tweetsdf['sentiment']==0] = 'neutral'

基于极性和句子的发音,我得出了上面的逻辑。请注意,某些推文可能并非如此。

我个人发现vader情绪的复合分值更有意义,因此我可以根据复合分值和tweet文本确定积极,消极和中性情绪的范围,而不仅仅是为带有极性的所有文本分配暂定情绪> 0

答案 1 :(得分:-1)

您的问题需要更清楚。您是在谈论创建自己的代码库来计算情感吗?

TextBlob执行NLP任务,例如令牌化,情感分析,POS标记等。 有关如何计算情感极性和主观性,请参见source code

您可以使用TextBlob或Vader计算情感。根据极性和主观性,您可以确定它是正面文字还是负面文字或中性文字。对于TextBlog,如果极性> 0,则将其视为正极,将<0-视为负极,并将== 0视为中性。对于vader情绪,这是基于综合得分。

然后,根据您的情绪(积极,消极,中立)训练分类器,并进行预测。