Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonプログラミングを使用したTwitterの感情分析。


感情分析は、書面または口頭でのコミュニケーションを通じて特定のイベントにフィードバックを与える人々の感情を推定するプロセスです。もちろん、Pythonプログラムで分析できるように、口頭でのコミュニケーションも文章に変換する必要があります。人々が表現する感情は、ポジティブにもネガティブにもなり得ます。感情テキスト内のさまざまな単語に重みを割り当てることにより、数値を計算し、それによって感情の数学的評価が得られます。

有用性

  • カスタマーフィードバック −製品やサービスに関する顧客の意見を知ることはビジネスにとって不可欠です。顧客のフィードバックが書かれたテキストとして利用できる場合、Twitterで感情分析を実行して、全体的なフィードバックをポジティブまたはネガティブとしてプログラムで見つけ、是正措置を講じることができます。

  • 政治キャンペーン −政敵にとって、彼らが演説をしている人々の反応を知ることは非常に重要です。ソーシャルメディアプラットフォームなどのオンラインプラットフォームを通じて一般の人々からのフィードバックを収集できれば、特定のスピーチに対する一般の人々の反応を判断できます。

  • 政府のイニシアチブ −政府が時折新しいスキームを実施するとき、彼らは世論をとることによって新しいスキームへの反応を判断することができます。多くの場合、一般の人々はTwitterを通じて賞賛や怒りを表明します。

アプローチ

以下に、Pythonで感情分析プログラムを構築するために必要な手順を示します。

  • まず、TweepyとTextBlobをインストールします。このモジュールは、Twitterからデータを収集し、テキストを抽出して処理するのに役立ちます。

  • Twitterへの認証。ツイーターからデータを抽出できるように、APIキーを使用する必要があります。

  • 次に、ツイート内のテキストに基づいて、ツイートをポジティブツイートとネガティブツイートに分類します。

<前>輸入逆輸入tweepyfrom tweepy輸入OAuthHandlerfrom textblobインポートTextBlobclass Twitter_User(オブジェクト):デフ__init __(自己):CONSUMER_KEY ='1ZG44GWXXXXXXXXXjUIdse' consumer_secret ='M59RI68XXXXXXXXXXXXXXXXV0P1L6l7WWetC' access_tokenは='865439532XXXXXXXXXX9wQbgklJ8LTyo3PhVDtF' access_token_secret ='hbnBOz5XXXXXXXXXXXXXefIUIMrFVoc' してみてください。self.auth =OAuthHandler (consumer_key、c​​onsumer_secret)self.auth.set_access_token(access_token、access_token_secret)self.api =tweepy.API(self.auth)ただし、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))#audit.sentiment.polarity> 0の場合に感情を設定:'positive'elifaudit.sentiment.polarityを返します==0:「負の」defを返しますtweet_analysis(self、query、count =10):twitter_tweets =[] try:get_twitter =self.api.search(q =query、count =count)fortweets in get_twitter:inspect_tweet ={} inspect_tweet ['text'] =tweets .text inspect_tweet ['sentiment'] =self.Sentiment_Analysis(tweets.text)iftweets.retweet_count> 0:if inspect_tweet not in twitter_tweets:twitter_tweets.append(inspect_tweet)else:twitter_tweets.append(inspect_tweet)return twitter_tweets(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( "Positivetweetspercent:{}%"。format(100 * len(Positive_tweets)/ len(twitter_tweets)))Negative_tweets =[tweet for tweet in twitte r_tweets if tweet ['sentiment'] =='negative'] print( "Negativetweetsパーセンテージ:{}%"。format(100 * len(Negative_tweets)/ len(twitter_tweets)))print( "\ n \ nPositive_tweets:" )Positive_tweets [:10]のツイートの場合:print(tweet ['text'])print( "\ n \ nNegative_tweets:")Negative_tweets [:10]のツイートの場合:print(tweet ['text'])if __name__ =="__main __":main()

出力

上記のコードを実行すると、次の結果が得られます-

ポジティブツイートの割合:48.78048780487805%ネガティブツイートの割合:46.34146341463415%Positive_tweets:RT @heartful_ness: "@kanhashantivanは、ホリスティックな生活のモデルを示しています。この組織との深く親密な関係は、…RT @heartful_ness:HeartfulnessGuide@に戻ります。 kamleshdaajiはインドの名誉ある大統領を歓迎しますRamNathKovind @rashtrapatibhvn、名誉ある最初の…RT @DrTamilisaiGuv:私たちの名誉ある大統領Sri RamNathKovindとファーストレディのマダムSavitaKoが示した愛情に非常に満足しています…RT@BORN4WIN:誰が最初の大統領になりましたかダリットコミュニティからのインドの? @ MyNation_net@vaa…RT@heartful_ness:何千人もの@heartful_ness開業医が、@kanhashantivanでHeartfulnessGuide @kamleshdaajiと瞑想し、…RT @TurkeyinDelhi:大使Sakir O zkan Torunlarは、#Indiaの国会の合同会議に出席し、H.E。の住所を聞きました。シュリ…

  1. PythonでのCX_Freezeの使用

    時々私たちは非常にエキサイティングな何か違うものを作りたいと感じます、そして人間の性質によれば、私たちはいつもそれを共有するのが大好きです。 Pythonもそれらの願いを満たします。 Pythonを使用して、Pythonプログラムを友人と共有したい場合は、それを行うことができます。必要なのは、マシンのプログラムで使用されるすべてのモジュールに同じバージョンのPythonをインストールすることだけです。 まず、 pip install CX_Frezzeを使用してCX_Freezeモジュールをインストールする必要があります コマンドプロンプトのコマンド。 最初のステップは、この割り当て、

  2. Pythonでのタートルプログラミング

    カメはPythonの特別な羽です。 Turtleを使用すると、簡単に製図板に描くことができます。 まず、タートルモジュールをインポートします。次にウィンドウを作成し、次にタートルオブジェクトを作成し、タートルメソッドを使用して製図板に描画できます。 いくつかのカメの方法 方法 パラメータ 説明 Turtle() なし 新しいタートルオブジェクトを作成して返します forward() 金額 指定された量だけカメを前進させます backward() 金額 指定された量だけカメを後方に動かします right() 角度 カメを時計回りに回転させます left() 角