フォロワードクラウド
ワードクラウドというものがある。
これを使うと文章中の出現頻度が高い単語を大きく表示して文章の内容を画像1枚で図示することができる。
前回の記事でTwitterの任意のアカウントについて、フォロワーのユーザー情報を取得することができた。
Twitter API v2の使い方4[ユーザー情報取得編]
Twitter API v2の使い方Twitter API v2は大きく分けると2つ、ツイートユーザー2つの情報が取得できる。以前はツイート検索をしたかったため…
これを使ってフォロワーの自己紹介文からワードクラウドを作る。
これがフォロワードクラウド。
アカウントをフォローしている層が図示できる。
1. 自分のアカウントで実験
まずは自分のTwitterアカウントで実験。
詳しいやり方は後述するがwordcloudのpythonライブラリを使うと簡単にできる。
できた。
URLの名残のようなものが目立つ。
頻出単語を抽出しているだけなのでそうなる。
ここで設定を2箇所変える。
stopwords
を設定すると特定の単語が選ばれないようにできる。
ここにhttps
を設定する。
min_word_length
を設定すると選ばれる単語の最小の長さを決められる。
これを3にする。
その結果がこれ。
とらのあなの18禁コーナーみたいになった。
Twitterで一番多く描いてる漫画はおそらくキンプリなのでまあ妥当。
次いでプリリズ、プリパラ、プリチャンも漫画描いてるので妥当。
ポケモン、アイカツ、プリキュア、あんスタ、Freeなどは上記のプリティーシリーズとファン層が被っているのだと考えられる。
2. 他のアカウントで実験
Twitter API v2
を使用すると自分のアカウント以外のフォロワー情報も取得できる。
これにより以下3つのアカウントのフォロワードクラウドを作成した。
「【公式】遊戯王OCG」
「アニメ「キラッとプリ☆チャン」公式アカウント」
「少年ジャンプ編集部」
「キラッとプリ☆チャン」公式アカウントはプリティーリズムの頃から名前を変えて運用しているので実質プリティーシリーズ公式アカウント。
自分のアカウントと多少似ているが「キンプリ」の割合が大きく異なることが分かる。
遊戯王OCGのフォロワーは「APEX」とか「モンハン」とかゲームの名前が目立つのがそれっぽい。
「大学生」に比べて「社会人」がかなり大きいことから年齢層が伝わる。
少年ジャンプ編集部からは「呪術廻戦」の人気が分かる。
「ヒロアカ」と「五条悟」が同じくらいの大きさ。
あと海外のフォロワーが多いのか英単語が目立つ。
3. 実装方法
3.1. インストール
参考
https://qiita.com/str32/items/4539e417a9cb333abd52
https://github.com/ikegami-yukino/mecab/releases
からインストーラーをダウンロードしてインストールする。
任意のPython環境にwordcloud
をインストールする。
3.2. CSVファイル取得
前回の記事の通りにすると任意のアカウントのフォロワー情報がCSVファイルに保存できる。
それを使う。
Twitter API v2の使い方4[ユーザー情報取得編]
Twitter API v2の使い方Twitter API v2は大きく分けると2つ、ツイートユーザー2つの情報が取得できる。以前はツイート検索をしたかったため…
3.3. コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| import MeCab import wordcloud from wordcloud import WordCloud
import csv
#### 設定 csv_filepath = "4790312834_followers.csv" # 読み込むCSVファイル font_path = "C:\Windows\Fonts\游ゴシック\YuGothB.ttc" # 表示するフォント、設定しないと日本語が文字化けする
#### CSVファイルからテキスト取得 text_list = [] with open(csv_filepath, "r", encoding="utf-16", errors="ignore", newline="") as f: for row in csv.DictReader(f, dialect="excel-tab"): text_list.append(row["description"]) #取得したい列(description) content = "\n".join(text_list[1:]) # 1行目は列名なので飛ばす
#### テキスト分割(分かち書き) tagger = MeCab.Tagger("-Owakati") parse = tagger.parse(content)
wordcloud stopwords=["https"] background_color="black" colormap = "spring" min_word_length = 3 wordcloud = WordCloud(font_path=font_path, width=800, height=400, stopwords=stopwords, min_word_length=min_word_length,background_color=background_color, colormap=colormap) wordcloud.generate(content) wordcloud.to_file("wordcloud.png")
|
Twitter API v2の使い方1 (Twitterアカウント作成からツイート取得まで)
Twitterアカウントの作成からAPIを使用してツイート取得するまで。Twitter APIというものを使うとTwitter上の情報を集めたりできて便利。すご…
Twitter API v2の使い方3[Tweet情報取得編](検索オプション・属性のまとめ)
Twitter API v2の使い方Twitter API v2は下の表のようなことができる。機能説明Tweet lookupツイートのID からツイートを検索…
Twitter API v2の使い方2 (ツイートのCSV出力からAWS上で定期実行するまで)
取得ツイートのCSV出力からAWS上で定期実行するまでTwitter APIというものを使うとTwitter上の情報を集めたりできて便利らしいので実験する。取得…
Twitter API v2の使い方4[ユーザー情報取得編]
Twitter API v2の使い方Twitter API v2は大きく分けると2つ、ツイートユーザー2つの情報が取得できる。以前はツイート検索をしたかったため…
Twitter API v2の使い方6[コウメ太夫氏の#まいにちチクショーを取得する]
Twitter API v2を使って特定アカウントのツイートを取得Twitter API v2の機能の中にUser Tweet timelineというものがあり…