Mecabのインストール手順
「MeCab本体」「MeCabの辞書」「MeCabのJavaバインディング」をCentOSにインストールして、Javaで実行できるまでの手順のまとめ。
MeCabはオープンソースの形態素解析エンジン。MeCabは自然言語で書かれた文を形態素(言語における最小単位)に分割し、それぞれの品詞を判別することができる。
JavaからMeCabを実行するには「MeCab本体」「MeCabの辞書」「MeCabのJavaバインディング」が必要。これらをCentOSにインストールする手順をメモする。
MeCab本体バージョン | 0.996 |
OS | CentOS 6.6 |
準備
インストールする際にコンパイラの状態によっては、次のようなエラーになることがある。これは必要なコンパイラが入っていないのが原因なので、エラーが発生した場合はgcc-c++のインストールを行う。
configure: error: Your compiler is not powerful enough to compile MeCab.
If it should be, see config.log for more information of why it failed.
$ sudo yum install gcc-c++
MeCab本体のインストール
まずは本体のインストール。
「mecab-0.996.tar.gz」をダウンロードしてインストールする。 作業ディレクトリはどこでもよい。成功すると「/usr/local/lib」以下にインストールされる。
-
Mecab本体→ こちら
$ wget https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE
$ tar xvf mecab-0.996.tar.gz
$ cd mecab-0.996/
$ ./configure
$ make
$ make check
$ sudo make install
$ cd ../
MeCabは辞書がないと動かないので、この時点での動作確認はできない。
MeCab辞書のインストール
続いて辞書のインストール。推奨されているIPA辞書にする。
「mecab-ipadic-2.7.0-20070801.tar.gz」をダウンロードしてインストールする。作業ディレクトリはどこでもよい。成功すると「/usr/local/lib/mecab」以下にインストールされる。
-
MeCab辞書→ こちら
$ wget http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
$ tar xvf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801/
$ ./configure --with-charset=utf8
$ make
$ sudo make install
$ cd ../
辞書のインストールが成功するとコマンドラインからの実行が可能になるので、テストする。
$ mecab
皆さん、こんにちは
皆さん 名詞,一般,*,*,*,*,皆さん,ミナサン,ミナサン
、 記号,読点,*,*,*,*,、,、,、
こんにちは 感動詞,*,*,*,*,*,こんにちは,コンニチハ,コンニチワ
EOS
こんなかんじならOK。
MeCab-Javaバインディングをインストール
インストールしたMeCabをJavaから動かすにはこれが必要。
-
MeCab-Javaバインディング → こちら
「mecab-java-0.996.tar.gz」をダウンロードしてファイルを生成する。 作業ディレクトリはどこでもよい。makeによって「libMeCab.so」「MeCab.jar」を生成する。このときMakefileの変更が必要。
「libMeCab.so」「MeCab.jar」を生成後、更に設定が必要。「libMeCab.so」はMeCabのインストール先へコピーして「LD_LIBRARY_PATH」を設定する。「MeCab.jar」は、MeCabを利用したいJavaプログラムへインポートすることで、そのプログラムで利用できるようになる。
Makefileの変更
「Makefile」を少しだけ書き換える必要がある。
TARGET=MeCab
JAVAC=javac
JAVA=java
JAR=jar
CXX=c++
INCLUDE=/usr/lib/jvm/java-6-openjdk/include (←環境にあわせたJDKのパスに変更する)
PACKAGE=org/chasen/mecab
…
--- 以下略 ---
「libMeCab.so」「MeCab.jar」の生成
makeに成功すると「libMeCab.so」「MeCab.jar」が生成される。
$ wget https://mecab.googlecode.com/files/mecab-java-0.996.tar.gz
$ tar xvf mecab-java-0.996.tar.gz
$ cd mecab-java-0.996/
$ vi Makefile (ファイルの書き換えをおこなう)
$ sudo make
$ ls -l (「libMeCab.so」「MeCab.jar」が存在するか確認する)
「libMeCab.so」のmoveと「LD_LIBRARY_PATH」設定
「libMeCab.so」を利用するには、MeCabインストール先へのmoveと環境変数(LD_LIBRARY_PATH)の設定が必要。
環境変数「LD_LIBRARY_PATH」は次のように、「~/.bash_profile」などに設定しておく。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/
mv libMeCab.so /usr/local/lib/
vi ~/.bash_profile (「LD_LIBRARY_PATH」の設定)
source ~/.bash_profile
テストプログラムを動かす
makeした際にtestプログラムもコンパイルされているので、うまく設定できてるかを実行して確かめる。
java test
0.996
太郎 名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
二郎 名詞,固有名詞,人名,名,*,*,二郎,ジロウ,ジロー
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
この 連体詞,*,*,*,*,*,この,コノ,コノ
本 名詞,一般,*,*,*,*,本,ホン,ホン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
渡し 動詞,自立,*,*,五段・サ行,連用形,渡す,ワタシ,ワタシ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。 記号,句点,*,*,*,*,。,。,。
EOS
…
--- 以下略 ---
こんなかんじならOK。
あとは「MeCab.jar」をプロジェクトへインポートすればプログラムから利用できる。使い方は「test.java」などを参考にする。
Appendix A: 参考
Appendix B: 改訂履歴
-
v1.0, 2015-02-25: 初稿