【问题标题】:Spark streaming using TextBlob for sentiment analysis使用 TextBlob 进行情绪分析的 Spark 流式传输
【发布时间】:2018-03-19 06:44:41
【问题描述】:

我对 Spark 还很陌生。开始我的第一个项目。需要分析推特数据进行情绪分析。我需要在 Python 中使用 TextBlob 库来执行此操作。 我能够获取 twitter 数据并在所有必要的转换之后创建 Dstream。我面临的挑战是如何将 dstream 数据(具有推文文本)提供给 TextBlob 进行分析,因为 TextBlob 只接受字符串值。如何将 dstream 值放入 TextBlob 进行情绪分析。任何指针都非常感谢。

谢谢, 凯里

【问题讨论】:

  • 您能发布到目前为止您尝试过的内容吗?我们无法为您从头开始编写代码。
  • 您是否有机会查看此链接:edureka.co/blog/spark-streaming?它非常不言自明。我希望你能用谷歌搜索出帖子中给出的 scala 代码的 python 对应项.... Happy Sparking!

标签: apache-spark twitter nlp


【解决方案1】:

我最近尝试将 textblob 用于流式数据集,并编写了一个小函数来将推文转换为文本并应用 Textblob。 所以你可以这样写:

def getSentiment(self, text):
        sentiment = TextBlob(text).sentiment.polarity
         if sentiment > float(benchmark):
            return float(positive)
        elif sentiment < float(benchmark):
            return float(negative)
        else:
            return float(noresponse)

然后编写接受文本的UDF

sentiment_score_udf = F.udf(lambda x: obj.getSentiment(x), FloatType())

这里的 F 是 pyspark sql 函数 然后你可以使用beow来计算情感分数

sentiment_score_udf(col("value")).alias("sentiment_score")

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    • 1970-01-01
    • 2019-08-17
    • 2015-09-23
    • 2012-05-01
    • 1970-01-01
    相关资源
    最近更新 更多