Ruby
Python
mecab

Mecabのインストールメモ

More than 3 years have passed since last update.

CentOS 6.4上にMecab 0.994をインストールしRubyとPythonから呼び出します。

Rubyのバージョンは2.1.2p95、Pythonは3.4.1です。

Mecabのインストール

Mecab本体をインストールします。

$ wget http://mecab.googlecode.com/files/mecab-0.994.tar.gz

$ ls
$ cd mecab-0.994
$ sudo ./configure --enable-utf8-only
$ make
$ sudo make install
$ sudo ln -s /usr/local/bin/mecab-config /usr/bin/mecab-config
$ cd ~
$ sudo vi /etc/ld.so.conf
/usr/local/lib ←追加
$ sudo ldconfig

辞書の登録

Mecabが使用する辞書を登録します。

$ wget http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz

$ tar zvxf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset=utf8
$ make
$ sudo make install
$ cd ~

$ wget "http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Fnaist-jdic%2F53500%2Fmecab-naist-jdic-0.6.3b-20111013.tar.gz" -O naistdic.tar.gz
$ tar zvxf naistdic.tar.gz
$ cd mecab-naist-jdic-0.6.3b-20111013/
$ sudo ./configure --with-charset=utf8
$ make
$ sudo make install
$ cd ~

MeCabのテスト

Mecabを実行してみます。

$ mecab

隣の客はよく柿食う客だ
隣 名詞,一般,*,*,*,*,隣,トナリ,トナリ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
客 名詞,一般,*,*,*,*,客,キャク,キャク
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
よく 副詞,一般,*,*,*,*,よく,ヨク,ヨク
柿 名詞,一般,*,*,*,*,柿,カキ,カキ
食う 動詞,自立,*,*,五段・ワ行促音便,基本形,食う,クウ,クウ
客 名詞,一般,*,*,*,*,客,キャク,キャク
だ 助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ
EOS

Rubyバインディング

RubyからMecabを呼び出せるようにします。

$ wget http://mecab.googlecode.com/files/mecab-ruby-0.994.tar.gz

$ tar zvxf mecab-ruby-0.994.tar.gz
$ /opt/ruby/current/bin/ruby extconf.rb
$ make
$ sudo make install
$ sudo ldconfig

Rubyからのテスト

テスト用のファイルが用意されているので、そのまま実行します。

$ /opt/ruby/current/bin/ruby test.rb

$ cd ~

Pythonバインディング

Pythonからも呼び出せるようにします。

$ wget http://mecab.googlecode.com/files/mecab-python-0.994.tar.gz

$ tar zvxf mecab-python-0.994.tar.gz
$ cd ../mecab-python-0.994
$ sudo vi setup.py
return cmd1(str).split() ←def cmd2(str):の中身を変更(1カ所)
/usr/local/bin/mecab-config ←mecab-configを変更(4カ所)
$ sudo /opt/python/current/bin/python setup.py build
$ sudo /opt/python/current/bin/python setup.py install
$ sudo ldconfig

Pythonからのテスト

テスト用のファイルが用意されていますが、Python3系ではエラーとなるので手っ取り早くPythonの対話モードで確認します。

$ /opt/python/current/bin/python

Python 3.4.1 (default, Aug 7 2014, 15:45:41)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import MeCab
>>> test = MeCab.Tagger("-Ochasen")
>>> hoge = test.parse("PythonからMecabを呼び出します")
>>> print(hoge)
Python Python Python 名詞-固有名詞-組織
から カラ から 助詞-格助詞-一般
Mecab Mecab Mecab 名詞-一般
を ヲ を 助詞-格助詞-一般
呼び出し ヨビダシ 呼び出す 動詞-自立 五段・サ行 連用形
ます マス ます 助動詞 特殊・マス 基本形
EOS

>>>

終了。