3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PythonのWordCloudで13連敗した力士に対してどんなツイートがされたか可視化してみた

Posted at

はじめに

2018年7月場所、西前頭五枚目の嘉風が初日から13連敗しました。

前回、Twitter APIを使って、場所中に投稿された幕内力士名が含まれるツイートを取得した際、嘉風は休場力士を除き5番目にツイート数が多かったことが分かりました。
 2018-08-20 20.09.22のコピー.png
どんな内容のツイートが多かったのでしょうか。

MeCabで形態素解析し、WordCloudで可視化してみました。

MeCabで形態素解析

スタバのTwitterデータをpythonで大量に取得し、データ分析を試みる その3を参考に、MeCabをインストールして使ってみました。

def words_with_keyword(data):
    m = MeCab.Tagger("-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd/")
    word_list = []
    for i in range(data.shape[0]):
        if type(data.text[i]) == str:
            texts = m.parse(data.loc[i, 'text'])
            texts = texts.split('\n')
            for text in texts:
                text = re.split('[\t,]', text)
                if text[0] == 'EOS' or text[0] == '':
                    pass
                elif text[1] in ['名詞', '形容詞', '動詞', '副詞']:
                    word_list.append(text[0])
    return word_list

力士名はユーザー辞書に登録しないと、単語として認識してくれないため、MeCabにユーザー辞書を追加するを参考に、

/usr/local/lib/mecab/dic/userdic/mecab_user_dic.csv
鶴竜,,,1,名詞,固有名詞,人名,名,*,*,*,*,*
白鵬,,,1,名詞,固有名詞,人名,名,*,*,*,*,*
稀勢の里,,,1,名詞,固有名詞,人名,名,*,*,*,*,*

このようなファイルを作り、

$ /usr/local/Cellar/mecab/0.996/libexec/mecab/mecab-dict-index \
-d /usr/local/lib/mecab/dic/ipadic \
-u /usr/local/lib/mecab/dic/userdic/mecab_user_dic.dic \
-f utf-8 -t utf-8 /usr/local/lib/mecab/dic/userdic/mecab_user_dic.csv

このようなコマンドで登録しました。

WordCloudで可視化

Word Cloudで文章の単語出現頻度を可視化する。[Python]を参考に、上で作ったword_listをWordCloudに食べさせます。
フォントはfont_pathで指定し、あまり意味のない単語はstopwordsで指定して取り除きます。

def make_word_cloud(rikishi, word_list):
    word_list = ' '.join(word_list)

    font_path = "~/Library/Fonts/RictyDiminished-Regular.ttf"
    stopwords = [
        'in', 'bot', 'https', 'co', 'ない', '無い', '投稿', 'ツイート', '今日', '明日',
        'さん', 'こと', 'よう', 'それ', 'どこ', 'これ', 'みたい', '名前', '自分', 'ちゃん',
        '登録', 'くん', 'あと', 'そこ', 'ため', 'うち', 'ここ', 'ところ', 'なん', '感じ',
        'もの', 'とき', 'やつ', 'もん', 'しよう', 'わけ', 'たち', 'とこ', 'つもり', 'こちら',
        'しんみ', 'した', 'せい', 'さま', 'さっき', 'こっち', 'かな', 'まま', '最近', '時間',
        '場所', '本日', '付近', 'よろしくお願いします', '昨日', '今週', '来週', '先週', 'みんな',
        '相撲', '名古屋場所', 'sumo', '大相撲', '力士', '中継', '相撲部', '相撲取り', '情報',
        '大相撲名古屋場所','相手', '土俵', '???', 'あれ', '近く', '思っ', 'しまっ', 'どう',
        'てる', 'ある', 'なる', 'なっ', 'やっ', 'あっ', 'ちゃっ', 'くれ', 'する', 'そう',
        'ニュース', 'www', 'スーモ', '…。', 'ww', 'られ', '思い', 'いる', 'ーーー', '思う'
    ]

    wordcloud = WordCloud(background_color="white", font_path=font_path, width=900, height=500,
                          max_words=70, stopwords=set(stopwords)).generate(word_list)

    plt.figure(figsize=(10,8))
    plt.imshow(wordcloud)
    plt.axis("off")
    plt.show()

2018年7月場所15日間の、嘉風という単語を含むツイートを可視化したのがこれです。
jjj.png
「引退」「よわ」「つまら」などの単語はなく、「応援」「頑張っ」「良かっ」「よかっ」「調子」「悪い」「心配」などの単語が目立っています。

まとめ

嘉風は多くの人に愛されている。

コードは全てgithubにあります。プログラミング、相撲、ともに初心者なのでご教授いただけたらうれしいです。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?