Computer >> Máy Tính >  >> Lập trình >> Python

Phân tích tình cảm trên Twitter bằng cách sử dụng Lập trình Python.

Phân tích cảm xúc là quá trình ước tính cảm xúc của những người đưa ra phản hồi đối với sự kiện nhất định thông qua văn bản hoặc thông qua giao tiếp bằng miệng. Tất nhiên, giao tiếp bằng miệng cũng phải được chuyển đổi thành văn bản viết để nó có thể được phân tích thông qua chương trình python. Tình cảm mà mọi người thể hiện có thể tích cực hoặc tiêu cực. Bằng cách gán trọng số cho các từ khác nhau trong văn bản tình cảm, chúng tôi tính toán một giá trị số và điều đó cho chúng tôi đánh giá toán học về tình cảm.

Tính hữu ích

  • Khách hàng phản hồi - Điều quan trọng đối với doanh nghiệp là phải biết ý kiến ​​của khách hàng về sản phẩm hoặc dịch vụ. Khi phản hồi của khách hàng có sẵn dưới dạng văn bản, chúng tôi có thể chạy phân tích cảm xúc trong Twitter để tìm ra phản hồi tổng thể theo chương trình là tích cực hay tiêu cực và thực hiện hành động khắc phục.

  • Chiến dịch chính trị - Đối với các đối thủ chính trị, điều rất quan trọng là phải biết phản ứng của những người mà họ đang phát biểu. Nếu phản hồi từ công chúng có thể được thu thập thông qua các nền tảng trực tuyến như nền tảng truyền thông xã hội, thì chúng tôi có thể đánh giá phản ứng của công chúng đối với một bài phát biểu cụ thể.

  • Sáng kiến ​​của Chính phủ - Thỉnh thoảng, khi chính phủ thực hiện các kế hoạch mới, họ có thể đánh giá phản ứng đối với kế hoạch mới bằng cách lấy ý kiến ​​của công chúng. Công chúng thường khen ngợi hoặc giận dữ thông qua Twitter.

Phương pháp tiếp cận

Dưới đây, chúng tôi liệt kê các bước cần thiết để xây dựng chương trình phân tích tình cảm trong python.

  • Đầu tiên, chúng tôi cài đặt Tweepy và TextBlob. Mô-đun này sẽ giúp chúng tôi thu thập dữ liệu từ Twitter cũng như trích xuất văn bản và xử lý chúng.

  • Xác thực với Twitter. Chúng tôi cần sử dụng các khóa API để dữ liệu có thể được trích xuất từ ​​loa tweeter.

  • Sau đó, chúng tôi phân loại các tweet thành các tweet tích cực và tiêu cực dựa trên văn bản trong tweet.

Ví dụ

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()

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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…