TextBlob如何计算情感极性的经验值。我使用过朴素的贝叶斯,但它只是预测它是正面还是负面。如何像TextBlob一样为情感计算值?
答案 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情绪,这是基于综合得分。
然后,根据您的情绪(积极,消极,中立)训练分类器,并进行预测。