Как TextBlob рассчитывает полярность настроения? Как рассчитать значение для настроения с помощью классификатора машинного обучения? - PullRequest
0 голосов
/ 06 июля 2018

как TextBlob вычисляет эмпирическое значение для полярности настроения.Я использовал наивный байесовский анализ, но он только предсказывает, положительный он или отрицательный.Как я могу вычислить значение для настроения, как TextBlob?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Вот пример с сайта: 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'

Исходя из полярности и того, как на самом деле звучали предложения, я закончил с логикой выше. Обратите внимание, что это может быть не так для некоторых твитов.

Лично я обнаружил, что составная оценка настроений вейдера имеет больше смысла, так что я могу определить диапазон положительных, отрицательных и нейтральных настроений на основе составной оценки и текста твита вместо того, чтобы просто назначать позитивные настроения для всех текстов с полярностью > 0

0 голосов
/ 12 июля 2018

Нужно больше ясности в вашем вопросе. Вы говорите о создании собственной базы кода для расчета настроения?

TextBlob выполняет задачи НЛП, такие как токенизация, анализ настроений, POS-теги и т. Д. Обратитесь к исходному коду , чтобы узнать, как рассчитываются полярность и субъективность настроения.

Вы рассчитываете настроение, используя TextBlob или Vader. Основываясь на полярности и субъективности, вы определяете, является ли это положительным текстом или отрицательным или нейтральным. Для TextBlog, если полярность> 0, она считается положительной, <0 - считается отрицательной, а == 0 считается нейтральной. Для настроений Вейдера это основано на сложном балле. </p>

Затем вы тренируете классификатор на основе ваших настроений (положительных, отрицательных, нейтральных) и продолжаете предсказывать.

...