Применение сентиментального анализа TextBlob в Twitter Stream - PullRequest
0 голосов
/ 06 июня 2018

В настоящее время я транслирую твиты и хочу применить сентиментальный анализ для каждого твита, отображая как твит, так и значение.Я получаю сообщение об ошибке: «Объект NoneType не имеет атрибута« предел »».Не уверен, что я делаю не так.

from textblob import TextBlob
from textblob import Blobber
from textblob.sentiments import NaiveBayesAnalyzer

tb = Blobber(analyzer=NaiveBayesAnalyzer())
def tweet_sentiment(tweet):
'''function for polarity'''
  sentiment = tb(tweet)
  if analysis.sentiment.polarity > .5:
      return 1
  elif analysis.sentiment.polarity < .5:
      return -1
  else:
      return 0


(lines.flatMap(lambda x: (x, tweet_sentiment))
.map(lambda rec: Tweet(rec[0], rec[1]))
.foreachRDD(lambda rdd: rdd.toDF())
.limit(20).registerTempTable("tweets"))


    ------------------------------------------------------------------- 
    --------
    AttributeError                            Traceback (most recent 
    call last)
    <ipython-input-8-d939b88ef526> in <module>()
          2 (lines.flatMap(lambda x: (x, tweet_sentiment))
          3 .map(lambda rec: Tweet(rec[0], rec[1]))
    ----> 4 .foreachRDD(lambda rdd: rdd.toDF())
          5 .limit(20).registerTempTable("tweets"))

    AttributeError: 'NoneType' object has no attribute 'limit'

1 Ответ

0 голосов
/ 08 июня 2018

Попробуйте это:

(lines.flatMap(lambda x: (x, tweet_sentiment))
.map(lambda rec: Tweet(rec[0], rec[1]))
.foreachRDD(lambda rdd: rdd.toDF())
.registerTempTable("tweets"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...