WordCloudで指定したワードを除外する方法

WordCloudというテキストの傾向を可視化できるツールがあります。

入力されるテキストの中から、単語の出現頻度等を調べ、頻度に応じて文字の大きさや色などを変更して、一枚の画像にして表示することができます。

前回、自分で用意したテキストファイルからWordCloudを使ってテキストを分析してみる方法について紹介を行いました。

WordCloudというテキストの傾向を可視化できるツールがあります。 入力されるテキストの中から、単語の出現頻度等を調べ、頻度に応...

しかしながら、WordCloudで分析を行う際に、あまり表示されてほしくないワードが表示されてしまうことがあります。

例えば、学会の傾向を掴むために、学会で発表される論文リストをWordCloudに突っ込んだ際に、例えば「Based」や「Using」のような、出現頻度は多いけれども、傾向を掴む上で不要なワードが表示されてしまうことがあります。

プレゼンテーションなどで使う場合にも、このようなワードが入っているのは非常に見栄えが悪いです。

そこで、このようなワードを除外できるプログラムを本日紹介します。

WordCloudで特定のワードを除外して結果を出力するプログラム(Python)

テストデータとして、前回同様、今回はコンピュータビジョンのトップカンファレンスであるCVPR2021のAccepted paperのリストを入力してみました。以下にテキストデータにしたものを用意したので、テストしたい方は試してみてください。

早速、以下にソースコードを掲載します。ポイントは5行目のstop_wordsで、stop_wordsの文字配列の中に入れたワードは表示されなくなります。

from wordcloud import WordCloud
import matplotlib.pyplot as plt
stop_words = ["based", "using", "via", "for", "with", "on", "in", "of", "a", "and", "the", "to", "from", "by", "method", "non", "an", "toward","towards"]
text = open("test.txt",encoding='utf-8').read()
wordcloud = WordCloud(width=1920, height=1080, max_words=50,background_color="black", stopwords=stop_words, max_font_size=250).generate(text)
wordcloud.to_file("word_cloud_result.png")
plt.imshow(wordcloud)

実行すると以下のような結果が得られます。指定したワードが含まれていないことが確認できると思います。

まとめ

本日はWordCloudを用いて、特定のワードを除外しながら出力を行う方法を確認してみました。

簡単にテキストの傾向を分析したり、プレゼンテーションに華を添える際に、是非試してみてください。

スポンサーリンク

シェアする

フォローする