見出し画像

【プログラミング】日本語のワードクラウド!文学作品で作ってみたよ

こんにちは。アメリカ・シリコンバレー在住の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()

実行⭐️

できました!

こちらのテキストから単語を視覚化しています。

私はマイロ。3歳のコーギーです。私の一日は、常に冒険で満ちています。朝目覚めた際、まず大きく身を伸ばします。んー、快適!その後、朝の散歩時間となります。散歩は私の最も愛する時。新鮮な匂いを嗅ぎ、未知の道を探検することに大きな喜びを感じます。特に、公園の香りは最高です。様々な匂いが混ざり合い、私の鼻を刺激します。

散歩から戻ると、朝食の時間です。食事は私のもう一つの大きな喜び。私の食器が見え始めると、尾が自然と振り出します。むさぼり食べ、お腹が満たされると、幸福でたまりません。

人間をこよなく愛し、私の家族を深く愛しています。家族と共に過ごす時間は常に楽しいものです。彼らが私を撫でてくれると、非常に幸せを感じます。時に、彼らが忙しい時でも、私は静かに彼らを見守り続けます。いつも彼らを守りたいと思っています。

他の犬には若干警戒心を持ちますが、特別な友人がいます。白い柴犬のもえと、女の子コーギーのモクシーです。もえは少し控えめですが、遊び心があり、私と良く遊んでくれます。モクシーは活気に満ち、私と同じ速さで走ります。二人とは、公園で追いかけっこをするのが大好きです。

しかし、正直言って、他の犬たちとはそう簡単に仲良くなることはありません。私は少し人見知りで、新しい犬に出会う際は慎重になります。しかし、もえとモクシーは例外です。彼らとは何か特別な絆があるように感じます。

夕方になると、再び散歩に出かける時間です。夕方の散歩は、朝とは異なる魅力があります。夕暮れ時、空がオレンジ色に染まる時、非常に美しいです。その美しい空を眺めながら、静かに歩くのが好きです。

そして、家に帰り、夕食を済ませると、一日が終わります。私は家族のそばで、安心して眠りにつきます。今日一日、新しいことを多く学び、愛する人たちと過ごし、本当に幸せでした。明日もまた、新たな冒険が待っています。私はマイロ、3歳のコーギー。毎日が楽しくて、ワクワクしています。

芥川龍之介の蜜柑

芥川龍之介の蜜柑

芥川龍之介の

芥川龍之介の鼻

芥川龍之介のトロッコ

芥川龍之介のトロッコ

芥川龍之介の蜘蛛の糸

芥川龍之介の蜘蛛の糸

芥川龍之介の羅生門

芥川龍之介の羅生門

太宰治 走れメロス

太宰治 走れメロス

太宰治の斜陽

太宰治の斜陽

森鴎外の舞姫

森鴎外の舞姫

森鴎外の山椒大夫

森鴎外の山椒大夫

森鴎外の高瀬舟

森鴎外の高瀬舟

梶井基次郎の檸檬

梶井基次郎の檸檬

おまけ

最初はうまくいかず失敗が続きました😅

日本語対応フォントの指定に失敗

もし記事が役に立ったと思ったら、スキボタンを押してくださいね😊
それでは、次回の記事でお会いしましょう!

Follow me here😊

この記事が参加している募集

週末プロジェクト

よろしければサポートお願いいたします。いただいたサポートはクリエイターとしての活動費に使わせていただきます。