Pythonプログラミング

Pythonでテキストマイニングによる自己分析

こんな方におすすめ

  • Pythonでテキストマインニングをやってみたい
  • 自分のツイートの傾向を知りたい

今回の内容はPythonを使ってテキストマイニングによる自己分析を行うプログラムを開発します。

簡単に言うと、自分のツイートからPythonを用いて頻度分析をして、自分のツイート傾向をつかむという内容です。

プログラムの概要ですが、まず自分の過去のツイッターの内容を全て拾い上げ、その全ツイートに対して頻度分析を行います。自分がどんな言葉を多く発しているかを確認することで、自分の興味ある分野などを考えてみたいと思います

ソースについては、現時点では非公開にしてます。ほとんどが既存のPythonモジュールを組み合わせて、ループで回しているだけなので、簡単にできるはずです

 


プログラムの手順

プログラムの内容です。自分のツイートをテキストに落とし込むプログラムと、そのテキストを用いて頻度分析するプログラムの2つを作成してます。どちらも30行程度のソースになります

①自分のツイートの内容をテキストに落とし込むプログラム (30行)

  1. tweepyをインポートする
  2. Consumer Key,Consumer Secret Key, Access Token, Access Token Secretの設定
  3. tweepyのsearch関数のキーワードに自分のアカウントを入れて、自分のツイートをlistとして得る。
  4. 3のlistを1行ずつ、テキストに書きこむ。(with openでテキストを開いて、writeで書くことでファイルに落とせる)

②①で作成したテキストを頻度分析するプログラム (30行)

  1. janome.tokenizerパッケージからTokenizerをインポートする
  2. ①のプログラムで作成したテキストを読み込む
  3. 1行ずつテキスト処理するために、2を"¥n"でsplitしてリスト化する
  4. 3のリストをループで回し、1文ずつtokenizerで品詞分析をする
  5. 4で品詞分析したリストをループで回し、名詞だけを抽出しカウントしていく。
  6. カウントした数を上位の順に表示させ、頻度分析する。

このような流れです。

 

ちなみに私は、Pythonについては最初にUdemyで学びました。私がUdemyで最初に学んだのが、以下の講座です。

講師の酒井さんはツイッターもやってますし、気軽に返事もくれます。
Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学ぶオンライン講座 (私が最初に受講した講座)



テキストマイニングの出力結果

名詞の頻度分析

名詞を頻度分析すると、以下のようになりました。うーん。。いまいちですけど、赤字だけピックアップしたら、少しずつどんなことをツイートしてそうか見えてくるような気もします。

ブログ(71)
https(39)
://(38)
t(38)
.(38)
co(38)
/(38)
初心者(26)
@(25)
Python(23)
python(23)

自分(19)
:(18)
人(17)
更新(16)

こと(16)
方(16)
1(14)
の(14)
オンライン(14)
英会話(14)
今日(13)
お願い(13)
プログラミング(13)

日(12)
中(12)
RT(11)
お(10)
今(10)
記事(10)
ツイート(9)

サ変接続の頻度分析

次にサ変接続の頻度分析をしてみます。サ変接続って何?って感じだと思いますが、~される、~した、~する、~せよにつながる品詞らしいです。なぜこれを分析しようと思ったかというと、出力してみたら感情が出てそうだったらからです。結果論。笑

#(130)
://(38)
.(38)
/(38)
@(25)
:(18)
更新(16)
お願い(13)
プログラミング(13)

_(9)
行動(9)
成功(8)
送信(7)
プログラム(7)
自粛(7)
散歩(5)
フォロー(5)
教育(5)
分析(4)
経験(4)
勉強(4)
話(4)
連絡(4)
募集(4)
問い合わせ(3)

 

自己分析について

今回、Pythonのテキストマイニングから自己分析を試みました。上記の赤字を取り出すと、いかになります。

ブログ(71)、初心者(26)、Python(23)、python(23)、自分(19)、人(17)、更新(16)、オンライン(14)、英会話(14)、今日(13)、お願い(13)、プログラミング(13)

更新(16)お願い(13)プログラミング(13)行動(9)成功(8)送信(7)プログラム(7)自粛(7)散歩(5)フォロー(5)教育(5)分析(4)経験(4)勉強(4)
話(4)連絡(4)募集(4)問い合わせ(3)

これらの情報から自己分析をしてみます。

私は、ブログ初心者でPythonプログラミングや、オンライン英会話に興味があります。頻繁にブログを更新しており、行動して成功したいと思っています。

自己紹介しているだけやんと突っ込まれそうですが(笑)

今回は、自分のツイートでテキストマイニングを行い自己分析しまたが、テキストマイニングを上手く使うことで、最近のトレンドなどを分析することができると思います。みなさんもぜひトライしてみてください。you can do it!

 



スポンサーリンク

-Pythonプログラミング

Copyright© MAYRのPython活用法! , 2021 All Rights Reserved Powered by AFFINGER5.