経緯
python3 でMeCab をインストールする色々な記事を参考にしてきました。
短気な性格なので、ページの頭から順番にコピペしてうまく動作するページが大好きです。「めんどくさい」が口癖で、「無いなら作る」がモットーでございます。(後半どうでもいい戯言だな。)
環境設定
CentOS7
MeCab をインストール
MeCabをクローンするのが速かった。
# git clone https://github.com/taku910/mecab.git
# cd mecab/mecab
# ./configure --enable-utf8-only
# make
# make check
# make install
下記のページからMeCabをダウンロードしてきてもいいのですが、結構面倒くさいですよ。色々なMeCabがありましたけど。
辞書のインストール
辞書がないと使い物になりませんので、こちらもサクッとインストールします。
# cd mecab-ipadic
# ./configure --with-charset=utf8
# make
# make install
MeCabをコンソールで試してみる
インストールが終わったら、コンソールで動かせますのでやってみます。
# mecab
MeCab はフリーソフトウェアです
MeCab 名詞,固有名詞,組織,*,*,*,*
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
フリー 名詞,一般,*,*,*,*,フリー,フリー,フリー
ソフトウェア 名詞,一般,*,*,*,*,ソフトウェア,ソフトウェア,ソフトウェア
です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
EOS
動きました。日本語も問題なく表示されていてホッとする瞬間です。
python3.5系でMeCabを動かしてみる
ようやくここで、pip の出番です。
# pip install mecab-python3
他のサイトだと、いきなりこのコマンドを載せているページもあります。
でも、MeCabもインストールせずにこのコマンドが動くはずがありません。
pip万能説を信じていて、このコードを見て「こっちの方が楽じゃん!」とpipホイホイに捕まった私が、その後悩んだのは言うまでもありません。
問題なくインストールできます。
それでは、python ファイル test.py を書いてみます。
#test.py
# coding: UTF-8
import sys
import MeCab
m = MeCab.Tagger ("-Ochasen")
print(m.parse ("めんどくさいから自分で作る"))
実行してみます。
# python test.py
めんどくさい メンドクサイ めんどくさい 形容詞-自立 形容詞・アウオ段 基本形
から カラ から 助詞-接続助詞
自分 ジブン 自分 名詞-一般
で デ で 助詞-格助詞-一般
作る ツクル 作る 動詞-自立 五段・ラ行 基本形
EOS
MeCab.Taggerの引数を変えるとデータの出力形式を変えることができます。
-Ochasen
-Owakati
-Oyomi
mecabrc
といったものが他にもあります。
#test2.py
# coding: UTF-8
import sys
import MeCab
m = MeCab.Tagger ("-Ochasen")
print(m.parse ("めんどくさいから自分で作る"))
m = MeCab.Tagger ("-Owakati")
print(m.parse ("めんどくさいから自分で作る"))
m = MeCab.Tagger ("-Oyomi")
print(m.parse ("めんどくさいから自分で作る"))
m = MeCab.Tagger ("mecabrc")
print(m.parse ("めんどくさいから自分で作る"))
興味があるので、ためしに表示させてみます。
# python test2.py
めんどくさい メンドクサイ めんどくさい 形容詞-自立 形容詞・アウオ段 基本形
から カラ から 助詞-接続助詞
自分 ジブン 自分 名詞-一般
で デ で 助詞-格助詞-一般
作る ツクル 作る 動詞-自立 五段・ラ行 基本形
EOS
めんどくさい から 自分 で 作る
メンドクサイカラジブンデツクル
めんどくさい 形容詞,自立,*,*,形容詞・アウオ段,基本形,めんどくさい,メンドクサイ,メンドクサイ
から 助詞,接続助詞,*,*,*,*,から,カラ,カラ
自分 名詞,一般,*,*,*,*,自分,ジブン,ジブン
で 助詞,格助詞,一般,*,*,*,で,デ,デ
作る 動詞,自立,*,*,五段・ラ行,基本形,作る,ツクル,ツクル
EOS
備忘録 自力でインストールしてた時に出てきたエラー
libmecab.so.2がないよ、と言われた場合の対処法。
ImportError: libmecab.so.2: cannot open shared object file: No such file or directory
対処法
$ vi /etc/ld.so.conf.d/lib.conf
/usr/local/lib #<-- 新規記入、もしくは追記する。
$ ldconfig #<-- 再度読み込ませる
参考:Mecab Pythonを使ったTF・IDFによるWikipediaの重要単語抽出
http://yut.hatenablog.com/entry/20130215/1360884220
参考:Python3で形態素解析エンジンMeCabを使えるようにする(2016年3月版)
http://qiita.com/grachro/items/4fbc9bf8174c5abb7bdd#_reference-f17313e8bc66cbbff3ef