当前位置: 首页 > 编程笔记 >

使用Python编程进行Twitter情感分析。

宗政财
2023-03-14
本文向大家介绍使用Python编程进行Twitter情感分析。,包括了使用Python编程进行Twitter情感分析。的使用技巧和注意事项,需要的朋友参考一下

情感分析是估算通过书面文本或口头交流为特定事件提供反馈的人们的情绪的过程。当然,口头交流也必须转换为书面文本,以便可以通过python程序进行分析。人们表达的情绪可能是正面的也可能是负面的。通过为情感文本中的不同单词分配权重,我们可以计算出一个数值,从而对情感进行数学评估。

用处

  • 客户反馈-了解客户对产品或服务的意见对企业至关重要。当客户的反馈以书面形式提供时,我们可以在Twitter中运行情感html" target="_blank">分析,以编程方式找出总体反馈是正面还是负面,并采取纠正措施。

  • 政治运动-对于政治反对派来说,了解演讲者的反应至关重要。如果可以通过在线平台(如社交媒体平台)收集公众的反馈,那么我们可以判断公众对特定演讲的回应。

  • 政府倡议-政府不时实施新计划时,他们可以通过征询公众意见来判断对新计划的反应。公众经常通过Twitter表达赞扬或愤怒。

方法

下面我们列出了用python构建情感分析程序所需的步骤。

  • 首先,我们安装Tweepy和TextBlob。该模块将帮助我们从Twitter收集数据以及提取文本并进行处理。

  • 向Twitter进行身份验证。我们需要使用API键,以便可以从高音扬声器中提取数据。

  • 然后,根据推文中的文本将推文分为正面和负面推文。

示例

import re
import tweepy
from tweepy import OAuthHandler
from textblob import TextBlob
class Twitter_User(object):
   def __init__(self):
      consumer_key = '1ZG44GWXXXXXXXXXjUIdse'
      consumer_secret = 'M59RI68XXXXXXXXXXXXXXXXV0P1L6l7WWetC'
      access_token = '865439532XXXXXXXXXX9wQbgklJ8LTyo3PhVDtF'
      access_token_secret = 'hbnBOz5XXXXXXXXXXXXXefIUIMrFVoc'
      try:
         self.auth = OAuthHandler(consumer_key, consumer_secret)
         self.auth.set_access_token(access_token, access_token_secret)
         self.api = tweepy.API(self.auth)
      except:
         print("Error: Authentication Failed")
   def pristine_tweet(self, twitter):
      return ' '.join(re.sub("(@[A-Za-z0-9]+)|([^0-9A-Za-z \t])|(\w+:\/\/\S+)", " ", twitter).split())
   def Sentiment_Analysis(self, twitter):
      audit = TextBlob(self.pristine_tweet(twitter))
      # set sentiment
      if audit.sentiment.polarity > 0:
         return 'positive'
      elif audit.sentiment.polarity == 0:
         return 'negative'
   def tweet_analysis(self, query, count = 10):
      twitter_tweets = []
      try:
         get_twitter = self.api.search(q = query, count = count)
         for tweets in get_twitter:
            inspect_tweet = {}
            inspect_tweet['text'] = tweets.text
            inspect_tweet['sentiment'] = self.Sentiment_Analysis(tweets.text)
            if tweets.retweet_count > 0:
               if inspect_tweet not in twitter_tweets:
                  twitter_tweets.append(inspect_tweet)
               else:
                  twitter_tweets.append(inspect_tweet)
         return twitter_tweets
      except tweepy.TweepError as e:
         print("Error : " + str(e))
def main():
   api = Twitter_User()
   twitter_tweets = api.tweet_analysis(query = 'Ram Nath Kovind', count = 200)
   Positive_tweets = [tweet for tweet in twitter_tweets if tweet['sentiment'] == 'positive']
   print("Positive tweets percentage: {} %".format(100*len(Positive_tweets)/len(twitter_tweets)))
   Negative_tweets = [tweet for tweet in twitter_tweets if tweet['sentiment'] == 'negative']
   print("Negative tweets percentage: {} %".format(100*len(Negative_tweets)/len(twitter_tweets)))
   print("\n\nPositive_tweets:")
   for tweet in Positive_tweets[:10]:
      print(tweet['text'])
   print("\n\nNegative_tweets:")
   for tweet in Negative_tweets[:10]:
      print(tweet['text'])
if __name__ == "__main__":
main()

输出结果

运行上面的代码给我们以下结果-

Positive tweets percentage: 48.78048780487805 %
Negative tweets percentage: 46.34146341463415 %
Positive_tweets:
RT @heartful_ness: "@kanhashantivan presents a model of holistic living. My deep & intimate association with this organisation goes back to…
RT @heartful_ness: Heartfulness Guide @kamleshdaaji welcomes honorable President of India Ram Nath Kovind @rashtrapatibhvn, honorable first…
RT @DrTamilisaiGuv: Very much pleased by the affection shown by our Honourable President Sri Ram Nath Kovind and First Lady madam Savita Ko…
RT @BORN4WIN: Who became the first President of India from dalit community?
A) K.R. Narayanan
B) V. Venkata Giri
C) R. Venkataraman
D) Ram…
Negative_tweets:
RT @Keyadas63: What wuld those #empoweredwomen b termed who reach Hon HC at the drop of a hat
But Demand #Alimony Maint?
@MyNation_net
@vaa…
RT @heartful_ness: Thousands of @heartful_ness practitioners meditated with Heartfulness Guide @kamleshdaaji at @kanhashantivan & await the…
RT @TurkeyinDelhi: Ambassador Sakir Ozkan Torunlar attended the Joint Session of Parliament of #India and listened the address of H.E. Shri…
 类似资料:
  • 问题内容: 我正在寻找 文本情感分析 (http://en.wikipedia.org/wiki/Sentiment_analysis)的开源实现,最好是python 。有谁熟悉我可以使用的开源实现? 我正在编写一个应用程序,该应用程序在Twitter上搜索某个搜索词,例如“ youtube”,并计算“快乐”推文与“悲伤”推文的数量。我正在使用Google的appengine,所以它在python

  • 因此,我们已经使用Power Automation Power BI twitter开发API建立了twitter情绪分析。直到本月初,一切都很顺利。然而,由于无效的订阅密钥或错误的APIendpoint,我们突然开始出现以下错误:拒绝访问。请确保为活动订阅提供有效密钥,并为您的资源使用正确的区域API终结点”。进一步调查发现my Azure subcription已禁用。(免费帐户)。但是,免费

  • 问题内容: 在过去的两年中,我一直在编写Java,现在,我开始用python(另外)进行编写。 问题是,当我查看我的Python代码时,似乎有人试图将Java代码转换为python格式,但结果却很糟糕,因为- python不是Java。 关于如何摆脱“用Python编写Java”模式的任何技巧? 谢谢! 问题答案: 您可能会考虑将自己沉浸在Python范例中。最好的方法是首先了解他们的知识,然后通

  • 本文向大家介绍python snownlp情感分析简易demo(分享),包括了python snownlp情感分析简易demo(分享)的使用技巧和注意事项,需要的朋友参考一下 SnowNLP是国人开发的python类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,

  • 我读到分支错误预测可能是应用程序性能的一个热点瓶颈。正如我所看到的,人们经常展示能够揭示问题的汇编代码,并说明程序员通常能够在大多数情况下预测分支的位置,从而避免错误预测分支。 要用高级编程语言(我对C和C++最感兴趣)生成分支友好的代码,我应该记住什么? 欢迎使用代码示例和基准。

  • 本文向大家介绍使用tkinter模块在Python中进行GUI编程,包括了使用tkinter模块在Python中进行GUI编程的使用技巧和注意事项,需要的朋友参考一下 GUI(图形用户界面): GUI是一个简单的应用程序,可以帮助用户通过图形图标与计算机或任何其他电子设备进行交互。这通常用于在台式机或笔记本电脑上执行不同的任务。 GUI tkinter模块 tkinter是用于创建GUI应用程序的