この記事は、Windows10上のPython3でMecabライブラリを使ってワードクラウドを出力するまでの流れを解説します。
時代はDX人材の募集・育成の流れなので、こういったスキルが必要になってるそうです。
Mecabとは
Mecabとは、自然言語処理分野でよくつかわれる形態素解析を行うオープンソースのライブラリです。
自然言語処理というのは、日本語や英語など、私たち人間が日常話したり、書いたりするような自然な言語のことを指します。
形態素解析とは、自然言語な文章に対して、意味を持つ最小の言語単位に処理することを指します。
(例)「庭には二羽ニワトリがいる」を形態素解析すると、以下のように分解されます。
庭:名詞
に:助詞
は:助詞
二:数詞
羽:助数詞
ニワトリ:名詞
が:助詞
いる:動詞
ワードクラウドとは ~ビジネスへの応用例!?~
ワードクラウドとは、以下のように文書中の出現頻度が高い単語を複数選び出し、その頻度に応じた大きさで図示する手法になります。
ビジネスの応用例で言えば、メモした議事録の文章やコールセンタで受け付けたユーザ対応のメモなどに頻出して出てきた単語がキーワードであり、サービス改善につながるヒントかもしれませんね!
Mecabの設定の流れ
Windows上でPython3が利用できる環境を整えていることを前提とします。
Windows上でPython3環境を整えてない場合は、以下から入手ができます。
ダウンロードタブから入手して、インストールしましょう。
WindowにおけるPythonダウンロード
① 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
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でワードクラウド実行できる
コメント