Python 3.x 句子情绪分析-积极、消极和中性

Python 3.x 句子情绪分析-积极、消极和中性,python-3.x,nltk,sentiment-analysis,Python 3.x,Nltk,Sentiment Analysis,我正在使用NLTK用Python设计一个文本分类器。每个句子的特点之一就是它的情感。我想在句子中加入积极或消极情绪的句子比没有任何情绪的句子(中性句子)更重要。使用电影评论语料库和朴素贝叶斯分类器只能得到正面和负面标签。我尝试在nltk.touction.utils中使用demo_liu_hu_lexicon,但该函数不返回任何值,而是将其打印到输出,速度非常慢。有谁知道有一个图书馆,它根据情感赋予句子某种权重 谢谢 试试以下方法: 它使用nltk库来确定极性,极性是情绪的一个浮动度量,范围从-

我正在使用NLTK用Python设计一个文本分类器。每个句子的特点之一就是它的情感。我想在句子中加入积极或消极情绪的句子比没有任何情绪的句子(中性句子)更重要。使用电影评论语料库和朴素贝叶斯分类器只能得到正面和负面标签。我尝试在nltk.touction.utils中使用demo_liu_hu_lexicon,但该函数不返回任何值,而是将其打印到输出,速度非常慢。有谁知道有一个图书馆,它根据情感赋予句子某种权重

谢谢

试试以下方法:

它使用nltk库来确定极性,极性是情绪的一个浮动度量,范围从-1到1。中性句没有极性。你应该能够直接从nltk中获得相同的测量值。

是一种基于规则的情绪分析工具,适用于社交媒体文本和常规文本

from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
analyser = SentimentIntensityAnalyzer()

def print_sentiment_scores(tweets):
    vadersenti = analyser.polarity_scores(tweets)
    return pd.Series([vadersenti['pos'], vadersenti['neg'], vadersenti['neu'], vadersenti['compound']])

text = 'This goes beyond party lines.  Separating families betrays our values as Texans, Americans and fellow human beings'

print_sentiment_scores(text)

The results are:
0    0.2470
1    0.0000
2    0.7530
3    0.5067
复合分数的计算方法是将词典中每个单词的配价分数相加,根据规则进行调整,然后归一化为-1(最极端的负)和+1(最极端的正)之间。如果你想对一个给定的句子进行单一的一维情绪测量,这是最有用的度量。称之为“标准化加权综合分数”是准确的

虽然积极情绪的复合分数>=0.05,但我们始终可以通过改变这些分数来确定句子的积极、消极和中性

我个人认为维德情绪能够很好地理解基于情绪、特殊角色和表情的情绪

from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
analyser = SentimentIntensityAnalyzer()

def print_sentiment_scores(tweets):
    vadersenti = analyser.polarity_scores(tweets)
    return pd.Series([vadersenti['pos'], vadersenti['neg'], vadersenti['neu'], vadersenti['compound']])

text = 'This goes beyond party lines.  Separating families betrays our values as Texans, Americans and fellow human beings'

print_sentiment_scores(text)

The results are:
0    0.2470
1    0.0000
2    0.7530
3    0.5067