伝説のどいつまの伝説~失敗編~

岩美に永住したい新米エンジニアのあれやこれやな話。

Twitterからデータ抽出してグラフにしたかった話。

前々回 ↓ d01tsumath.hatenablog.com

弊社の技術ブログ記事用に以下のようなネタを思いつきました。

Twitterから任意のキーワードに関するつぶやきを抽出する。
②それに対して影響力のあるユーザーを探せるようにグラフ化する。
③ついでに、非エンジニアでもできそうな感じが望ましい。

結果は、まぁタイトルからも察せるに失敗しました…Σ( ̄ロ ̄lll)
そりゃそう簡単にはいかないよネー。

ちなみに、こんな感じでできたらなという完成形イメージがこれ。(※あくまでイメージ) keywordmap.jp

そもそもこのネタは私が学部卒論のときにテーマにして書いていたもので
その時は
Gephi
を使いました。データも、元々用意されているデータセットを使って楽しました()
なので、非エンジニアでも特に問題がなかったんですけどね。会社の技術記事用ったらそうもいかないよねぇ~…、と。

というわけで今回は用意されたデータセットではなく、リアルタイムのデータが欲しいと思ってtw2csvで取ってきたデータを使用しよーかなと思ったら問題が発生しましたとさ。

【問題1】
会社のPCにGephiを入れたらGephiが動かない…。
VMWindows7環境を作成し、そこにGephi投入。動いた…。

【問題2】
tw2csvで取ってきたデータでは、私の想定していたグラフにはならない!!!←おい

SNS上の関係をグラフ化しようと思ったら、ユーザーを点、フォロー関係を辺として考えます。(下図参照)
f:id:d01tsumath:20190220235639j:plain
f:id:d01tsumath:20190221000641j:plain

GephiCSVデータをインポートする場合は、
点A点Bが相互フォローの関係をグラフに表したいときは、下図のようにデータを2軸用意してあげる必要があります。

f:id:d01tsumath:20190221001423j:plain
▲ A→Bの関係 を表したいとき

f:id:d01tsumath:20190221001442j:plain
▲ B→Aの関係 を表したいとき

つまり、点との繋がりのある辺の2軸が必要となってくるわけです。

としたとき、tw2csvで取ってきたデータの中身では、キーワードに関する点A単体の情報しか拾ってこれていないわけです。 条件①②に合致しているデータを取りたい場合は
・キーワードをつぶやいているユーザー (点A点Bなど)
・そのユーザーのつぶやきをRTしているユーザー
が必要となってきます。

完全に最初にきちんとどんな形式のデータが必要なのか?が分からないとダメじゃん...という失敗(?)でした。
この感じだと、恐らくノープログラミングは無理だなと悟りました。

今後またこのネタに取り掛かるかは不明ですが(飽きた感ある)、やるならちゃんとプログラム組んでデータを抽出したいと思いますね、はい。
完全に横着しすぎた感...。

グラフ理論に興味ある人は、これとか読むと良いかも。

これも数学だった!?: カーナビ、路線図、SNS (丸善ライブラリー)

これも数学だった!?: カーナビ、路線図、SNS (丸善ライブラリー)

今回はこんな感じで失敗談でしたが、気が向いたらデータセットを使うとどんな風にグラフ化できるんじゃいってところはまた紹介したいですね。
っていうかWin10環境で使えないならGephiに代わる何かを探すか、Pythonあたりならライブラリによっては良いのがありそう?
ま、そこはおいおい更新しまーす。