Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python प्रोग्रामिंग का उपयोग करके ट्विटर भावना विश्लेषण

भावना विश्लेषण उन लोगों की भावना का अनुमान लगाने की प्रक्रिया है जो लिखित टेक्स्ट या मौखिक संचार के माध्यम से किसी निश्चित घटना पर प्रतिक्रिया देते हैं। बेशक मौखिक संचार को भी लिखित टेक्स्ट में बदलना होगा ताकि इसका विश्लेषण Python प्रोग्राम के माध्यम से किया जा सके। लोगों द्वारा व्यक्त की गई भावना सकारात्मक या नकारात्मक हो सकती है। भावना टेक्स्ट में विभिन्न शब्दों को वेटेज देकर हम एक संख्यात्मक मान की गणना करते हैं और यह हमें भावना का गणितीय मूल्यांकन देता है।

उपयोगिता

  • ग्राहक प्रतिक्रिया - व्यवसाय के लिए अपने उत्पाद या सेवाओं के बारे में ग्राहक की राय जानना महत्वपूर्ण है। जब ग्राहक की प्रतिक्रिया लिखित टेक्स्ट के रूप में उपलब्ध होती है तो हम ट्विटर में भावना विश्लेषण चलाकर प्रोग्रामेटिक रूप से समग्र प्रतिक्रिया को सकारात्मक या नकारात्मक के रूप में पता लगा सकते हैं और सुधारात्मक कार्रवाई कर सकते हैं।

  • राजनीतिक अभियान - राजनीतिक विरोधियों के लिए उन लोगों की प्रतिक्रिया जानना बहुत महत्वपूर्ण है जिनको वे भाषण दे रहे हैं। यदि जनता से प्रतिक्रिया सोशल मीडिया प्लेटफॉर्म जैसे ऑनलाइन प्लेटफॉर्म के माध्यम से एकत्र की जा सकती है, तो हम विशिष्ट भाषण के प्रति जनता की प्रतिक्रिया का आकलन कर सकते हैं।

  • सरकारी पहल - जब सरकार समय-समय पर नई योजनाएं लागू करती है तो वे जनता की राय लेकर नई योजना की प्रतिक्रिया का आकलन कर सकते हैं। अक्सर जनता ट्विटर के माध्यम से अपनी प्रशंसा या क्रोध व्यक्त करती है।

दृष्टिकोण

नीचे हम उन चरणों को सूचीबद्ध करते हैं जो Python में भावना विश्लेषण प्रोग्राम बनाने के लिए आवश्यक हैं।

  • सबसे पहले हम Tweepy और TextBlob इंस्टॉल करते हैं। यह मॉड्यूल हमें ट्विटर से डेटा एकत्र करने के साथ-साथ टेक्स्ट निकालने और उन्हें संसाधित करने में मदद करेगा।

  • ट्विटर पर प्रमाणीकरण। हमें 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))
        # भावना सेट करें
        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...
  1. पायथन का उपयोग करके व्हाट्सएप ऑटोमेशन पायथन का उपयोग करके व्हाट्सएप ऑटोमेशन

    इस खंड में हम एक व्हाट्सएप चैटबॉट बनाने जा रहे हैं, लेकिन ट्विटर या फेसबुक के कुछ अन्य चैटबॉट्स के विपरीत, व्हाट्सएप चैटबॉट्स व्हाट्सएप की नीतियों के कारण सीधे प्लेटफॉर्म पर नहीं चलते।लेकिन इसे पूरा करने का एक तरीका है, सेलेनियम का उपयोग करके, पायथन में एक बहुत स्मार्ट पैकेज जिसके साथ डेवलपर्स ब्राउ

  1. पायथन में CX_Freeze का उपयोग पायथन में CX_Freeze का उपयोग

    कभी-कभी हम कुछ अलग बनाना चाहते हैं जो बहुत रोमांचक हो, और मानव स्वभाव के अनुसार, हम हमेशा इसे साझा करना पसंद करते हैं। पायथन भी उन इच्छाओं को पूरा करता है। पायथन का उपयोग करके, अगर हम अपने पायथन प्रोग्राम को अपने दोस्तों के साथ साझा करना चाहते हैं तो हम ऐसा कर सकते हैं, बस उनके मशीन पर वही पायथन सं

  1. पायथन में टर्टल प्रोग्रामिंग पायथन में टर्टल प्रोग्रामिंग

    टर्टल पायथन की एक विशेष विशेषता है। टर्टल का उपयोग करके, हम आसानी से एक ड्राइंग बोर्ड पर ड्रा कर सकते हैं। पहले हम टर्टल मॉड्यूल इम्पोर्ट करते हैं। फिर एक विंडो बनाते हैं, अगला हम टर्टल ऑब्जेक्ट बनाते हैं और टर्टल मेथड का उपयोग करके ड्राइंग बोर्ड पर ड्रा कर सकते हैं। कुछ टर्टल मेथड मेथडपैरामीटरविव