Shironan Memory

いろいろかきます

ツイートのデータマイニングツールを作った話

 

こんにちは。

JavaTwitterのツイートをデータマイニングできるようなもののツールを作ったので記録。

//ソースコード修正ミスをしていたみたいで下のリポジトリですがただいま削除してあります。報告していただいた方スペシャルサンクス(本当にありがとうございます)

コード:https://github.com/shironatan/TweetSearch

 

データベーススペシャリスト試験の問題でデータマイニングの問題がありまして、

ナニコレオモシロイカキタイ!!

ってなりまして、JavaとTwitter4Jを使って作ってみました。

 

開発言語:Java 8 + MySQL

開発利用:Twitter4J

開発環境:Windows10 eclipse 4.7

開発期間:1週間ぐらい

 

目的

特定の単語を含むツイートをしている人を分析する。

 

データベースの構築 f:id:tn-mi:20180526140533j:plain

 

スタースキーマを利用してデータベースを構築しました。

 このように構築することで以下のようなツイート分析が可能です。

・特定の単語を含むツイートをしたアカウントはどのような特徴があるか分析が可能。(例えば”こんにちは”を含む内容をツイートした人はフォロー数500人の人が多い。 など)

・フォロー軸、フォロワー軸、リスト保有数軸、ツイート数軸、アカウント作成年数軸それぞれを指定した観点から、特定の単語を含むツイートをした人の件数を分析が可能。(例えばフォロー数5000、フォロワー数2000、3個のリストを保有、ツイート数10000件台、2017年にアカウント作成にあてはまる人は”こんにちは”をツイートしているか。 など)

・特定の単語同士の関係性があるか分析が可能(例えば”こんにちは”を呟いている人は”おはよう”も呟いている確率が高いが、”こんにちは”と”おはよう”と”こんばんは”を呟いている確率は高くない。 など)

 

実践

このツールを使って

23時12分~翌日2時12分まで”よるほー”と”ふぁぼれよ”と”アニメ”の内容を含むツイートをしている人を分析してみます。

f:id:tn-mi:20180527145313j:plain

”読み込み開始”においてTwitter4JのStreamingを開始しています。

”読込み終了”においてJPanelの移動とStreamingの停止を行っています。

 

 

結果

f:id:tn-mi:20180527145308j:plain

>!!!みにくい!!!<

・いずれのツイート内容もフォロワー数が500人未満の人が多くつぶやいているのがわかります。

・”よるほー”、”ふぁぼれよ”を含む内容を呟いている人が2011~2014年にアカウントを作成していて、リスト保有数が5個以上の確率が高いのに対し、”アニメ”を含む内容を呟いている人は2016~2018年にアカウントを作成していて、リスト保有数が0個の確率が高いことがわかります。

・また”よるほー”と呟く人は”ふぁぼれよ”を呟く可能性が高いことも分かります。

などのことがこのツールから分析できます。

 

まとめ

Swingの理解が足りなかったり、データマイニングの理解が足りなかったり、色々自分に不足しすぎててコーディング大変だった(;^ω^)

にしてもツイッターってハッシュタグ乱用しているアフィリエイトマンが多いっすね。データを上手く取るのが難しいかった。

これからいろいろ改善していきたいです。データマイニングたのしー