0
1

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 1 year has passed since last update.

Google Colaboratoryでワードクラウドを作ってみる【Python】

Posted at

Google Colaboratoryでワードクラウドを作ってみる【Python】

今回は日本語テキストをワードクラウドで可視化します。
開発環境として、Google Colaboratoryを利用します。

▼Google Colaboratoryの詳細・設定方法はこちらから

またワードクラウドを生成するためのPythonライブラリであるWordCloudを使用します。

ワードクラウドとは
ワードクラウドはテキストに含まれるキーワードの出現頻度にあわせて文字の大きさを変えて視覚化したものです。出現頻度の高い単語を視覚的にとらえやすくなります。

stop_wordsの設定

stop_wordsとは、除外するあまり意味のない単語を指定することです。
ワードクラウドから除外することで、精度を上げることができます。

# stop_wordsの設定(表示しない単語)文章に応じて追加してよし
# 不要な文字を入力→指定した文字は処理されない

stop_words = [ u'てる', u'いる', u'なる', u'れる', u'する', u'ある', u'こと', u'これ', u'さん', u'して', \
u'くれる', u'やる', u'くださる', u'そう', u'せる', u'した', u'思う',u'すぎ',u'ため', \
u'それ', u'ここ', u'である', u'だ', u'', u'て',u'に',u'を',u'は',u'の', u'が', u'と', u'た', u'し', u'で', \
u'ない', u'も', u'な', u'い', u'か', u'ので', u'']

MeCabと各種インストール

!apt install aptitude
!aptitude install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file -y
!pip install mecab-python3==0.7

import MeCab # 分かち書きに必要
import re #reは正規表現操作で用いられる

from wordcloud import WordCloud
import matplotlib.pyplot as plt
import codecs

フォントの設定

fpath = '/usr/share/fonts/truetype/fonts-japanese-gothic.ttf' # フォント指定

テキスト入力&形態素解析処理

入力したテキストを形態素解析し、WordCloudを利用するための文字列に変換します。
また、品詞を指定してワードクラウドに表示することができます
(今回は’名詞’となっていますが、動詞や形容詞なども指定できます)

## 解析したい文章を入力
text=input('文章を入力してください')

tagger = MeCab.Tagger("")
tagger.parse(text)
node = tagger.parseToNode(text).next
print(node.surface)
print(node.feature[0])

wc_text=''
while node.next:
    print(node.surface, node.feature.split(',')[0])
    if node.feature.split(',')[0]=='名詞': #名詞のみ取り出す(動詞、形容詞など変更可)
        wc_text += node.surface+' '
    node = node.next
print(wc_text) # 分かち書き&品詞の分類の表示

ワードクラウド表示

形態素解析した結果をWordCloudを利用して表示します。

wordcloud = WordCloud(font_path = fpath,
                      background_color="white",
                      width=1000,height=400,stopwords=set(stop_words)).generate(wc_text)
plt.figure(figsize=(15,12))
plt.imshow(wordcloud)
plt.axis("off")
plt.savefig("word_cloud.png")

以上です。
ありがとうございます。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?