はじめまして。
プログラミング開発者コースに所属しています、神戸大学国際文化学部所属の廣瀬大斗です!
僕は4月中旬から未来電子テクノロジーのプログラミングコースでインターンをしていて、現在HTMLやCSS、Pythonを勉強させてもらっています。
5月に、私は生まれて初めて自分でプログラムを書きました。
言い換えると、初めてプログラミングのアウトプットを実行しました。
使用言語はPythonで、Twitterのテキストマイニングを行いました。
その成果がどんなものだったのかを紹介していきたいと思います。
テキストマイニング
テキストマイニングは、「定型化されていない文字情報の集まりを自然言語解析などの手法を用いて解析し、何らかの有用な知見を見つけ出すこと。データマイニングをテキストデータに適用したもの。」(IT用語辞典e-Wordsより)と定義されています。
つまり、SNSやWikipediaなどの文字が多くあるサイトやアカウントにあるテキストを分析して、「このアカウントはどのような単語を多く使用しているか」「どんなサイトにどんな単語が多く使用されているか」などの何かしらの結果を得ることです。
今回は、テキストマイニングをするために、WordCloudという分析ツールを利用しました。
WordCloud
なぜ今回テキストマイニングをする際にWordCloudを使用したかというと、この分析ツールは分析結果を可視化することができるからです。
WordCloudでは、分析したテキストに頻出する文字は大きく表示されるので、どのような単語を多く使用しているかひと目で判断することができます。
また、大きさの違う多くの単語が表示されるので見にくくなってしまいそうですが、文字によって色を変えて表示させるので見やすさもあります。
動機
Progateというプログラミング学習サイトを利用してPythonの勉強をしている時、ふと昔wordcloudで自分のツイートを分析している人を見かけて面白いなと感じたことを思い出しました。
そこで、Pythonを勉強している今なら、色々調べながらやっていけばプログラムを書けるのではないかと思い、実行してみることにしました。
ただ調べるだけでは面白くないので、主アカウントと趣味アカウントの両方で試し、その違いを比較してみようと考えました。
手順
1.data_mining.py、word_cloud.py、tweet_data.txtの3つのファイルを作成します。
2.次にTwitterをデータマイニングで使用するためにTwitterAPIを取得します。
3.data_mining.pyに自分のツイッターのアカウント名を入力して、自分のツイートの情報を取得させるようにプログラムし、テキストファイルtweet_data.txtに書き込ませます。
4.word_cloud.pyでテキストファイルtweet_data.txtから名詞だけを抽出するようにプログラムします。
5.そして抽出したデータをwordcloudを用いて図を表示させます。
結果
自分の主アカウントの方では、「バイト」「ゼミ」「国文(国際文化学部の略称)」といった日常生活の大部分を占めているものが大きく表示されました。
一方で趣味アカウントの方では、ゲームの名前やスポーツ選手などが多く表示され、予想通り自分の趣味に関することが出てきました。
課題
「これ」「そう」「こと」など、どのような文章にでも入っていそうな単語も抽出してしまい少し正確さに欠けたので、次はこれらの単語は表示させないようにプログラムしたいと考えています。
最後に
まだまだPythonの知識が乏しいのでかなり色々調べながらでないとできませんでしたが、初めて上手く実行できた時の達成感はすごかったです。
これからも精進していきたいと思います。
みなさんもこの達成感を味わってみませんか。