【Python】 MeCab をインストールして日本語のwordcloudを作ろう

install

今回は MeCab をインストールして日本語の wordcloud を作成します。
MeCab はオープンソースの形態素解析エンジンで
英語のようにスペース区切りの文章ではない日本語でも的確に単語を抽出してくれます。

本検証は以前投稿している Ubuntu20.04 で実施しています。

【Python】ubuntu20.04にPython3.9.1をインストールしてみた

Ubuntu20.04

ubuntu20.04

python 3.9.1
pip 21.0.1

Python 3.9.1
pip 21.0.1

また、 MeCab は以下も必要となりますのでインストールされていない場合は
sudo apt install ●●●でインストールしておきましょう。

g++ 9.3.0
iconv 2.31

g++ version
iconv version

MeCab のダウンロード

赤枠のダウンロードリンクから Mecab と辞書をダウンロードします。

MeCab: Yet Another Part-of-Speech and Morphological Analyzer
MeCabの本体と辞書をダウンロード

ダウンロードした MeCab 本体と辞書を任意の作業場所に格納します。

MeCabを作業場所へ移動

MeCab のインストール

MeCab 本体を解凍します。

cd ./tmp
tar -xzvf mecab-0.996.tar.gz

MeCabファイルの解凍

解凍すると[mecab-0.996]フォルダが作成されるので移動して MakeFile を作成します。

cd ./mecab-0.996/
./configure

MeCabのMakeFileの作成

make します。

make

 makeの実行

MeCab をインストールします。

sudo make install

MeCabのsudo make install

MeCab の辞書のインストール

MeCab の辞書も同様にインストールしていきますが注意点がありますので
解決方法も説明していきます。

MeCab の辞書ファイルを解凍します。

cd ../
tar -xzvf mecab-ipadic-2.7.0-20070801.tar.gz

MeCab 辞書 解凍

解凍すると[mecab-ipadic-2.7.0-20070801]フォルダが作成されるので移動して
MakeFile を作成します。(ここではデフォルトで指定される文字コードをutf-8にします)

cd ./mecab-ipadic-2.7.0-20070801/
./configure –with-charset=utf8

MeCab 辞書 MakeFile作成

make をそのままやるとエラーになります。。。

make error while loading shared libraries

/usr/local/libexec/mecab/mecab-dict-index: error while loading shared libraries: libmecab.so.2: cannot open shared object file: No such file or directory
make: *** [Makefile:253: matrix.bin] Error 127

どうも共有ライブラリを認識させてあげる必要があるので以下コマンドを実行します。

sudo ldconfig

ldconfig 共有ライブラリ 認識

make コマンドを実行してエラーが発生しないことを確認します。

MeCab 辞書 make

MeCab の辞書をインストールします。

sudo make install

MeCab 辞書 インストール

MeCab の動作検証

インストールした MeCab を試してみます。

mecab
これはテストです。

mecab 出力結果

[mecab] と入力し、[Enter]を押下すると
文字を入力することができるので任意の文字列を入力し、[Enter]を押下します。

すると上記画面の通り、日本語文章を分解してくれます。

日本語フォントのインストール

まず日本語フォントが環境にインストールされているか確認しましょう。

fc-list
※デフォルトではインストールされていないはずなので
 「sudo apt install fontconfig」を実行してください。

fc-list で利用可能なフォントを表示

今回はIPAフォントをインストールします。

sudo apt install fonts-ipaexfont

IPAフォントのインストール

もう一度、fc-listを実行してIPAフォントがインストールされたことを確認します。

fc-list | grep “IPA”

IPAフォントのパス確認

Python で MeCab をインストール

pip で MeCab をインストールします。

pip3 install –user mecab-python3

簡単にテストを実行してみます。

import MeCab
m = MeCab.Tagger()
print(m.parse(“これはテストです。”))

MeCab python 実行

事前に以下もインストールしておきましょう。

pip3 install wordcloud matplotlib

wordcloud matplotlib インストール

Python で日本語の wordcloud を作成する

Python でも MeCab を利用できるようになったので
いよいよ日本語の wordcloud を作成していきます。

今回は Ubuntu なのでデスクトップ環境が必要です。
Xming等で結果を出力させましょう。
Xming の使い方は以下を参考にしてください。

【Xming】インストールと使い方

サンプルコードは以下です。

import os
from os import path
from wordcloud import WordCloud
from MeCab import Tagger
import matplotlib.pyplot as plt
import re

d=path.dirname(file) if “file” in locals() else os.getcwd()

text = open(path.join(d, “test.txt”), encoding=”utf-8″).read()
m = Tagger()
m_text = m.parse(text)
re_m_text = re.sub(“\t.*”,””, m_text)

wordcloud = WordCloud(font_path=”/usr/share/fonts/truetype/fonts-japanese-gothic.ttf”,max_font_size=60).generate(re_m_text)
plt.figure()
plt.imshow(wordcloud, interpolation=”bilinear”)
plt.axis(“off”)
plt.show()

test.txt内の文章は 青空文庫 にある文章を一部引用したものとなります。
日本語の wordcloud が作成されるか実行してみましょう。

wordcloud 日本語 
wordcloud 日本語

日本語で表示されることを確認しました。
作成された wordcloud を見て、不要な単語があれば
stopwords を入れて調整していきましょう。

wordcloud stopwords

コメント

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