Help us understand the problem. What is going on with this article?

はじめての人工知能。自然言語処理をやってみたくなったので、python3 で MeCab を使って形態素解析をやってみる。

More than 3 years have passed since last update.

経緯

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がありましたけど。

参考:MeCab
https://drive.google.com/drive/folders/0B4y35FiV1wh7fjQ5SkJETEJEYzlqcUY4WUlpZmR4dDlJMWI5ZUlXN2xZN2s2b0pqT3hMbTQ

辞書のインストール

辞書がないと使い物になりませんので、こちらもサクッとインストールします。

# 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

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away