memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

今日の通勤電車での準備運動:Pythonで研究タイトルのワードクラウドを作成してみた

簡素ですが、研究室のページを公開しています。特にコンテンツはありませんが。。。活動の履歴として、卒業研究のタイトルを載せています。

www.takahashilabo.com

これ使って、研究室を表すキーワードを可視化してみたらどうだろう?と本日の電車で思いつきました。

ワードクラウドでググってサービス見つけてやってみたのですが。。。日本語対応しているはずだけどなぜか助詞とか出現頻度の高い言葉が大きく表示されてしまい使い物になりませんでした。たぶん、キーワードを抽出する機能がそもそもなく、整理したあとのデータを入力しなければならなかったのだと思います。よく見ていませんが。。。

で、調べているとワードクラウドをコード書いて作っている記事がいくつか見つかり、それを1つ試すとうまくいきました、ということです。

コードを使わせていただいた記事は以下です。ありがとうございます。

ton2net.com

pipenvで環境を作り、そこに必要なライブラリをインストールして、pipenv shellで中に入ります。一応、Pipfileを以下に掲載しておきます。

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
janome = "*"
matplotlib = "*"
numpy = "*"
wordcloud = "*"
pandas = "*"

[dev-packages]

[requires]
python_version = "3.9"

あとは上記の記事のコードをコピペして繋げるだけでした。

僕のPCがMacだったのでMac用に変更したのは以下だけです。

wc = wordcloud.WordCloud(width=2000, height=1200, background_color="white", font_path=r"/System/Library/Fonts/ヒラギノ丸ゴ ProN W4.ttc", regexp="[\w']+")

あと、入力ファイルと出力ファイルのパスを設定するところが面倒だったので、Pythonファイルのカレントディレクトリに入力ファイル(a.txt)と出力ファイル(a.png)を生成するように変更しました。全く本質的ではないですが。。。とりあえず。これで十分です。

テキストの読み込み

f = open("a.txt", 'r', encoding = 'UTF-8')

・・・

画像の保存

plt.savefig("a.png")

で、結果。なんか違いますね。。。

そこで、名詞だけ対象とするように以下を変更しました。

hinshi = ['名詞']

結果は以下です。

まぁ、悪くないけどちょっと寂しい。動詞もいれてみました。

hinshi = ['名詞','動詞']

結果は以下でした。やっぱり「用い」が大きくなっちゃいますね。上の名詞だけの方がよさそうです。はい。 形態素解析とか品詞分解とか何も考えずにコードをコピペするだけで結果が得られました。

ということで電車通勤の20分の試行でした。

私の研究室の名前は「ソフトウェア研究室」なんですね。。。これは自分でつけたわけではなく赴任前から決まっていたようです。ソフトウェアコースとネットワークコースという2つのコースがうちの学科にはあったのですが、その名前から来ているようです。ただ、ソフトウェアって広いですしね。。。いつか変えなきゃと思っていましたが、やっていることが広く浅くなので。。。どうしたものかとは思っていました。ワードクラウドを見る限りは「システム開発研究室」がいいんでしょうね。。。来年、変えてもらおうかな。

オシマイ。