【プログラミング】日本語のワードクラウド!文学作品で作ってみたよ
こんにちは。アメリカ・シリコンバレー在住のSeikaです。
先日、ワードクラウドを作りましたがそれは英語でのワードクラウド。
今回は日本語のワードクラウドに挑戦しました!
(2024年4月5日公開)
# 必要なライブラリをインストールします
!pip install numpy==1.24.1
!pip install Pillow==10.1.0
!pip install matplotlib==3.8.3
!pip install wordcloud==1.9.3
# 必要なライブラリをインポートします
import numpy
from janome.tokenizer import Tokenizer
from matplotlib import pyplot
from PIL import Image
from wordcloud import WordCloud
# マックのデフォルトフォントを使用します
FONT_PATH = "/Library/Fonts/Arial Unicode.ttf"
# マスク画像のパスです(ワードクラウドの形状を定義します)
IMAGE_MASK_PATH = "./nene_mask.png"
# 生成されるワードクラウド画像の保存先パスです
IMAGE_OUTPUT_PATH = "./nene.png"
# ワードクラウドを生成するためのテキストデータです
TEXT = """
...
"""
# Janomeトークナイザーを使用してテキストをトークン化します
tokenizer = Tokenizer()
words = []
for token in tokenizer.tokenize(TEXT):
if token.extra:
word_judge_token = str(token.extra[0])
# 名詞のみを抽出し、wordsリストに追加します
if word_judge_token.startswith("名詞") and "接尾" not in word_judge_token:
words.append(token.node.surface)
# ワードクラウドを生成するためのマスクを読み込みます
mask = numpy.array(Image.open(IMAGE_MASK_PATH))
# WordCloudインスタンスを生成します
word_cloud = WordCloud(
background_color="white", # 背景色を白に設定
mask=mask, # マスク画像を適用
width=800, # 幅を800に設定
height=800 # 高さを800に設定
)
# wordsリストからワードクラウドを生成します
word_cloud.generate(" ".join(words))
# 生成されたワードクラウドをファイルに保存します
word_cloud.to_file(IMAGE_OUTPUT_PATH)
# ワードクラウドを表示します
pyplot.imshow(word_cloud)
pyplot.axis("off") # 軸を表示しない
pyplot.show()
実行⭐️
こちらのテキストから単語を視覚化しています。
芥川龍之介の蜜柑
芥川龍之介の鼻
芥川龍之介のトロッコ
芥川龍之介の蜘蛛の糸
芥川龍之介の羅生門
太宰治 走れメロス
太宰治の斜陽
森鴎外の舞姫
森鴎外の山椒大夫
森鴎外の高瀬舟
梶井基次郎の檸檬
おまけ
最初はうまくいかず失敗が続きました😅
もし記事が役に立ったと思ったら、スキボタンを押してくださいね😊
それでは、次回の記事でお会いしましょう!
Follow me here😊
よろしければサポートお願いいたします。いただいたサポートはクリエイターとしての活動費に使わせていただきます。