【Python】ワードクラウド/Mecab設定エラー対処【Windows】

データアナリティクス


この記事は、Windows10上のPython3でMecabライブラリを使ってワードクラウドを出力するまでの流れを解説します。

時代はDX人材の募集・育成の流れなので、こういったスキルが必要になってるそうです。

スポンサーリンク

Mecabとは

Mecabとは、自然言語処理分野でよくつかわれる形態素解析を行うオープンソースのライブラリです。

自然言語処理というのは、日本語や英語など、私たち人間が日常話したり、書いたりするような自然な言語のことを指します。

形態素解析とは、自然言語な文章に対して、意味を持つ最小の言語単位に処理することを指します。

(例)「庭には二羽ニワトリがいる」を形態素解析すると、以下のように分解されます。

庭:名詞
に:助詞
は:助詞
二:数詞
羽:助数詞
ニワトリ:名詞
が:助詞
いる:動詞

ワードクラウドとは ~ビジネスへの応用例!?~

ワードクラウドとは、以下のように文書中の出現頻度が高い単語を複数選び出し、その頻度に応じた大きさで図示する手法になります。



出典:ワードクラウドを容易に作成できる「Webページのキーワード可視化」サービス


ビジネスの応用例で言えば、メモした議事録の文章やコールセンタで受け付けたユーザ対応のメモなどに頻出して出てきた単語がキーワードであり、サービス改善につながるヒントかもしれませんね!

スポンサーリンク

Mecabの設定の流れ

Windows上でPython3が利用できる環境を整えていることを前提とします。

Windows上でPython3環境を整えてない場合は、以下から入手ができます。
ダウンロードタブから入手して、インストールしましょう。
WindowにおけるPythonダウンロード


Mecabの設定の流れ

① Mecabの実行プログラム本体をダウンロードとインストール

② Mecab実行の環境変数の設定

③ PythonにてMecab関連ライブラリをインストール

Mecabのインストールから設定まで

STEP① Mecabの実行プログラム本体をダウンロードとインストール

まず①Mecabの実行プログラム本体のダウンロードを行い、インストールをします。
Mecabの実行プログラム本体はGitから入手します。

mecab-0.996-64.exeをダウンード&インストールしましょう。
文字コードの選択にて「UTF-8」を選択します。

https://github.com/ikegami-yukino/mecab/releases/tag/v0.996

STEP② Mecab実行の環境変数の設定

Mecabのインストールが完了したら、環境変数の編集で以下のPathを設定してください。
Windows10の場合は、PCを右クリックして、プロパティを開いた後に、カーソルを下へもっていくと「システムの詳細設定」があるので、そこから設定できます。

(システムドライブ名):\Program Files\MeCab\bin





パスの設定ができたら、Mecabが実行できるか確認します。
コマンドプロンプト、もしくはPowerShellを起動し以下のコマンドを打ちます。

in.txtはメモ帳で「UTF-8」の文字コード指定でファイル保存をしたものにします。
メモで「名前を付けて保存をする」と右下の方で文字コードを選択できます。

ファイルの中身は「我々は宇宙人である」

mecab in.txt -o out.txt

適当に文書を入力すると、形態素解析が実行されます。

我々	名詞,代名詞,一般,*,*,*,我々,ワレワレ,ワレワレ
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
宇宙	名詞,一般,*,*,*,*,宇宙,ウチュウ,ウチュー
人	名詞,接尾,一般,*,*,*,人,ジン,ジン
で	助動詞,*,*,*,特殊・ダ,連用形,だ,デ,デ
ある	助動詞,*,*,*,五段・ラ行アル,基本形,ある,アル,アル
EOS

③ PythonにてMecab関連ライブラリをインストール

PythonでMecabを実行し、ワードクラウドを出力するため、PythonでMecabを利用できるようにライブラリを整えます。

以下4つのライブラリをインストールします。

pip install ipykernel
pip install mecab-python-windows
pip install mecab-python3
pip install unidic-lite
pip install実行時に以下のようなエラーが出たら、Visual C++ Build Toolsをインストールしましょう。
Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio”: https://visualstudio.microsoft.com/downloads/
  running build_ext
    building 'geventhttpclient._parser' extension
    error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\user\scoop\apps\python\3.8.4\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-ksgd7scx\\geventhttpclient\\setup.py'"'"'; __file__='"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-ksgd7scx\\geventhttpclient\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\user\AppData\Local\Temp\pip-record-wrb3wqwg\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\user\scoop\apps\python\3.8.4\Include\geventhttpclient' Check the logs for full command output.

「すべてのダウンロード」の「Visual Studio 2019のツール」の「

Build Tools for Visual Studio 2019」をダウンロードして、インストールします。

続いて、mecabのbinフォルダにあるlibmecab.dllをPythonのsite-packagesに配置してください。

(MeCabのインストール先)/bin
(Pyhthonのインストール先)/Lib/site-packages

以上で実行環境のセッティング終了です。

スポンサーリンク

Python3でMecabを利用してワードクラウドを出力

それでは環境が整ったので、以下のようにコーディングして実行してみてください。
テキストファイルは、青空文庫の「吾輩は猫である」を使いました。

吾輩は猫であるのテキストファイルのダウンロードはこちらへ

789_ruby_5639.zipを解凍するとテキストファイルが出てきます。

import MeCab
from matplotlib import pyplot as plt
from wordcloud import WordCloud

# テキストファイル読み込み
with open(‘wagahaiwa_nekodearu.txt’, mode=’rt’, encoding=’utf-8′) as fi:
source_text = fi.read()

# MeCabの準備
tagger = MeCab.Tagger()
tagger.parse(”)
node = tagger.parseToNode(source_text)

# 名詞を取り出す
word_list = []
while node:
word_type = node.feature.split(‘,’)[0]
if word_type == ‘名詞’:
word_list.append(node.surface)
node = node.next

# 文字列に変換
word_chain = ‘ ‘.join(word_list)

# ワードクラウド作成
W = WordCloud(width=640, height=480, background_color=’white’, colormap=’bone’, font_path=’C:\Windows\Fonts\yumin.ttf’).generate(word_chain)

plt.imshow(W)
plt.axis(‘off’)
plt.show()

引用:PythonでWord Cloudを作ってみた(和文編)

以下のような画面が出力されます

まとめ

・Mecabとは、自然言語処理分野でよくつかわれる形態素解析を行うオープンソースのライブラリ

・ワードクラウドとは、文書中の出現頻度が高い単語を複数選び出し、その頻度に応じた大きさで図示する手法

・Python3 + Windows10 + Mecabでワードクラウド実行できる

コメント

タイトルとURLをコピーしました