Twitter上の「有名人・芸能人」をクラスタリングしてみた ~松本人志さん、茂木健一郎さん、宮迫さんは一緒~

[サマリー]

Twitter「有名人・芸能人」(以下、芸能人)のフォロワー数Top 50アカウントからツイート(リツイート除く)を抽出し、テキスト解析により8クラスタクラスタリング(グループ化)しました。結果、グループの意味が推測できそうでした。

 

以下はクラスタリング結果のうちの一つとなります。

 例えば、グループ番号1は政治経済系の芸能人、グループ番号8には美容・ファッション系の芸能人に分類できそう。(あくまで個人的な感想です。)

 

 <クラスタ結果> ※名称はTwitterアカウントから取得。敬称略。

f:id:inoka4ra:20170904142323p:plain

 

また、10回クラスタリングした結果、以下の芸能人は毎回同じクラスタに属したため、より関連性が深いと思われます。

(例:松本人志 さんと茂木健一郎 さんと宮迫さんは毎回同じグループになった。)

 <毎回同じクラスタになった有名人・芸能人>

f:id:inoka4ra:20170904141349p:plain

 

[補足・感想]

Web上にあるデータを使ってデータ分析を行いたいと思ったのがきっかけです。

Twitter上のテキストは、本などの文章とは異なる部分も多く、その分析手法についても研究の余地がありそうです。

これからも面白そうなテーマが見つかり次第、チャレンジしたいと思います。

 

 

[実施方法]

Twitter API, TwitteR

Python (以下、主な機能)

from janome.tokenizer import Tokenizer

from gensim.models import word2vec

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans

・2017/8/31時点で各アカウントから最大100ツイートを抽出、日本語以外の文字(アルファベット等)を除いた1000文字を名詞・形容詞・動詞に分かち書き

・K-mean法(k-means++)でクラスタリング

KMeans(n_clusters=8, init='k-means++', n_init=10, max_iter=300,
tol=0.0001,precompute_distances='auto', verbose=0,
random_state=None, copy_x=True, n_jobs=1)