import json
json_open=open("drive/MyDrive/2022-05-17.json")
json_data=json.load(json_open)
freq={}
#print(len(json_data))
for i in range(len(json_data)):
if "user_profile" in json_data[i]:
#print(json_data[i]["user_profile"]["real_name"])
text=json_data[i]["text"]
node=mecab.parseToNode(text)
while node:
term=node.surface
if node.feature.split(",")[0]=="名詞":
if node.surface not in stop_words:
if term not in stop_words:
if term in freq.keys():
freq[term]=freq[term]+1
else:
freq[term]=1
node=node.next
print(freq)
wordcloud.generate_from_frequencies(freq)
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
原神のワードクラウド
原神のワードクラウド(英語バージョン)
崩壊スターレイルのワードクラウド
崩壊3rdのワードクラウド
「原神」という言葉が「原」と「神」に分かれて認識されてしまうのを防ぐために辞書を作るところからやってみました!!
# 参考:https://qiita.com/jun40vn/items/78e33e29dce3d50c2df1
# 形態素分析ライブラリーMeCab と 辞書(mecab-ipadic-NEologd)のインストール
!apt-get -q -y install file mecab libmecab-dev
# gitを使って最新のNEologd(辞書)をゲットするよ
!git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
# 途中で yes と入力しなきゃいけないのでechoで省略している
!echo yes | mecab-ipadic-neologd/bin/install-mecab-ipadic-neologd -n
# mecab-python3をインストールする
!pip install mecab-python3
# シンボリックリンクによるエラー回避(これがないとMeCab.Tagger()でエラー)
!ln -s /etc/mecabrc /usr/local/etc/mecabrc
!mkdir ../var/lib/mecab/dic/userdic
# フォントを用意しよう
!wget https://noto-website-2.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip
!unzip NotoSansCJKjp-hinted.zip
# matplotlibの日本語化用のものをインストール
!pip install -q japanize-matplotlib
import MeCab
# matplotlibを読み込んで日本語化
import japanize_matplotlib
import matplotlib.pyplot as plt
# wordcloudも利用するため準備しておく
from wordcloud import WordCloud
# 先ほどダウンロードしておいたNotoSansCJKjpをフォントとして設定
wordcloud = WordCloud(font_path='NotoSansCJKjp-Regular.otf')
!/usr/lib/mecab/mecab-dict-index \
-d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/ \
-u /content/userdic.dic \
-f utf-8 \
-t utf-8 'drive/MyDrive/mydic.csv'
!echo "userdic = /content/userdic.dic" >> /usr/local/etc/mecabrc
#一応、ちゃんとCSVになってるか確認
import pandas as pd
cols = '表層形,左文脈ID,右文脈ID,生起コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用型,活用形,原形,読み,発音'.split(',')
pd.read_csv('drive/MyDrive/mydic.csv', names=cols)
# MeCabを読み込む
import MeCab
# mecabの設定(分かち書き用)
mecab = MeCab.Tagger("-d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/ -u /content/userdic.dic")
#mecab = MeCab.Tagger("-d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/")
text="原神は、miHoYoが開発したオープンワールド・アクションロールプレイングゲーム。2020年にAndroid、iOS、Windows、PlayStation 4で、2021年にPlayStation 5でリリースされた。テイワットと呼ばれる大陸を舞台に、プレイヤーは旅人となって双子の片割れを探す旅を行う。本作は基本プレイ無料であり、プレイヤーは課金を通じてゲーム内通貨を入手する。また、Games as a Serviceモデルを取っている。原神の開発は2017年に始まった。2019年のE3 2019において発表され、2020年9月にAndroid、iOS、Windows、PlayStation 4でリリースされ、2021年にはPlayStation 5でもリリースされた。また、Nintendo Switchでのリリースが計画されている。原神は、オープンワールドのアクションロールプレイングゲームである。プレイヤーは最大で4人のプレイアブルキャラクターを1つのパーティーに入れて操作することができる。本作には「水」「炎」「雷」「岩」「草」「氷」「風」の7つから成る「元素」が存在し、プレイアブルキャラクターや敵キャラクターは元素による攻撃を行うことができる。プレイアブルキャラクターは1人につき元素と武器の種類が1種類ずつ割り当てられ、1つの武器と5つの「聖遺物」と呼ばれるアクセサリーを装備することができる。プレイヤーは「祈願」と呼ばれるガチャでキャラクターや武器を入手する。主人公である双子の兄妹、空と蛍は、多くの世界を渡り歩く旅人である。テイワットを訪れた際、天理の調停者と戦いになり敗れ、双子の片割れを連れ去られる。目覚めた主人公は、行方不明になった双子の片割れを探すため、テイワットに存在する7つの国を順にめぐる。主人公は双子の片割れの手掛かりを探しながら、各国の問題に巻き込まれる。本作はテイワットと呼ばれる幻想世界が舞台である。テイワットは7人の神が統治する7つの国で構成されており、それぞれの国はその国を統治する神の特色を反映している。かつてテイワットにはカーンルイアと呼ばれる国があったが、神によって滅ぼされた。旅人とは本作の主人公である双子の兄妹。プレイヤーはどちらかを選び、もう片方を探すためテイワット大陸を旅する。モンドは、テイワット大陸の北東部に位置し、風神であるバルバトスが治める国。プレイヤーが最初に訪れる場所である。自由の都であるモンド城があり、防衛組織である西風騎士団が守っている。モンドはヨーロッパ風に描かれている。璃月(リーユエ)は、テイワット大陸の東部に位置し、岩神であるモラクスが治める国。テイワット最大の貿易港である璃月港があり、璃月七星と呼ばれる実力者集団が守っている。稲妻は、テイワット大陸の東方に位置する島国で、雷神であるバアルゼブルが治める国。スメールは、テイワット大陸の中西部に位置する国で、草神であるブエルが治める国。"
node=mecab.parseToNode(text)
stop_words=["","2019","2020年","2021年","PlayStation", "4","5","こと","3"]
frequency={}
while node:
term=node.surface
if node.feature.split(",")[0]=="名詞":
if node.surface not in stop_words:
if term not in stop_words:
if term in frequency.keys():
frequency[term]=frequency[term]+1
else:
frequency[term]=1
node=node.next
print(frequency)
wordcloud.generate_from_frequencies(frequency)
plt.imshow(wordcloud)
plt.axis("off")
plt.show()