सेंटीमेंट एनालिसिस उन लोगों की भावना का आकलन करने की प्रक्रिया है जो किसी विशेष घटना पर लिखित पाठ या मौखिक संचार के माध्यम से प्रतिक्रिया देते हैं। बेशक मौखिक संचार को भी लिखित पाठ में बदलना होगा ताकि इसका विश्लेषण पायथन प्रोग्राम के माध्यम से किया जा सके। लोगों द्वारा व्यक्त की गई भावना सकारात्मक या नकारात्मक हो सकती है। सेंटीमेंट टेक्स्ट में अलग-अलग शब्दों को महत्व देकर हम एक संख्यात्मक मान की गणना करते हैं और यह हमें भावना का गणितीय मूल्यांकन देता है।
उपयोगिता
-
ग्राहक प्रतिक्रिया - व्यवसाय के लिए उत्पाद या सेवाओं के बारे में ग्राहक की राय जानना महत्वपूर्ण है। जब ग्राहक की प्रतिक्रिया लिखित पाठ के रूप में उपलब्ध होती है तो हम समग्र प्रतिक्रिया को सकारात्मक या नकारात्मक के रूप में प्रोग्रामेटिक रूप से खोजने और सुधारात्मक कार्रवाई करने के लिए ट्विटर में भावना विश्लेषण चला सकते हैं।
-
राजनीतिक अभियान -राजनीतिक विरोधियों के लिए यह जानना बहुत जरूरी है कि जिन लोगों को वे भाषण दे रहे हैं, उनकी प्रतिक्रिया क्या है। अगर जनता से फीडबैक सोशल मीडिया प्लेटफॉर्म जैसे ऑनलाइन प्लेटफॉर्म के माध्यम से एकत्र किया जा सकता है, तो हम एक विशिष्ट भाषण के लिए जनता की प्रतिक्रिया का न्याय कर सकते हैं।
-
सरकारी पहल - जब सरकार समय-समय पर नई योजनाओं को लागू करती है तो वे जनता की राय लेकर नई योजना की प्रतिक्रिया का अंदाजा लगा सकती हैं। अक्सर लोग अपनी तारीफ या गुस्सा ट्विटर के जरिए डालते हैं।
दृष्टिकोण
नीचे हम उन चरणों को सूचीबद्ध करते हैं जो पायथन में भावना विश्लेषण कार्यक्रम बनाने के लिए आवश्यक हैं।
-
सबसे पहले हम ट्वीपी और टेक्स्टब्लॉब इंस्टॉल करते हैं। यह मॉड्यूल हमें ट्विटर से डेटा एकत्र करने के साथ-साथ टेक्स्ट निकालने और उन्हें संसाधित करने में मदद करेगा।
-
ट्विटर पर प्रमाणीकरण। हमें एपीआई कुंजियों का उपयोग करने की आवश्यकता है ताकि ट्वीटर से डेटा निकाला जा सके।
-
फिर हम ट्वीट के टेक्स्ट के आधार पर ट्वीट्स को सकारात्मक और नकारात्मक ट्वीट्स में वर्गीकृत करते हैं।
उदाहरण
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…