技術メモ(仮)

IT系の話や研究,他のことなど話して行けたらいいな~って感じです.ただいまJavaを学習中

MeCabをjavaから実行できるようにする

今回は以前インストールした形態素解析MeCabJavaから実行できるようにする.

環境

マシン:Centos(version 6.4)
JDK:JDK1.7.0
MeCab:0.996

インストールの流れ

ダウンロードと展開

まずmecab-javaをダウンロード,展開する.
この時MeCabのバージョンと同じバージョンのものを取ってくる必要がある.

$ wget https://mecab.googlecode.com/files/mecab-java-0.996.tar.gz  // 同じバージョンをDL
$ tar vzxf mecab-java-0.996.tar.gz    // 展開
$ mv mecab-java-0.996 mecab-java      // 名前変更
$ cd mecab-java

Makefile編集およびビルド

このままではmakeコマンドが失敗するのでMakefileを編集
INCLUDEを以下通りに変更(自分のJavaのインクルドパスを指定)

INCLUDE=/usr/java/jdk1.7.0_25/include #=> /usr/lib/jvm/java-6-openjdk/includeから変更

そのままmakeコマンドを実行,フォルダにMeCab.jarとlibMeCab.soが生成される

$ make
$ ls
AUTHORS  BSD  COPYING  GPL  LGPL  Makefile  MeCab.jar  MeCab_wrap.cxx  MeCab_wrap.o  README  bindings.html  libMeCab.so  org  test.class  test.java

libMeCab.soの移動とPATHの設定

libMeCab.soを移動させる.
移動させた場所をbash_profileに記載

$ sudo mv libMeCab.so /usr/local/lib/mecab/mecab-java/     // libMeCab.soを移動
$ cd     // ホームディレクトリに移動
$ vi .bash_profile  // 以下の情報を末尾に記載
export LD_LIBRARY_PATH=/usr/local/lib/mecab/mecab-java:$LD_LIBRARY_PATH

コンパイル及び実行方法

mecab-java-0.996に入っていたtest.javaを実行する.
コンパイルするときはMeCab.jarが存在するパスをクラスパス(-cp)で指定する.
実行するときは上記に加え生成されるclassファイルの場所を指定する

$ javac -cp MeCab.jar test.java
$ java -cp MeCab.jar:. test
0.996
太郎    名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
は      助詞,係助詞,*,*,*,*,は,ハ,ワ
二郎    名詞,固有名詞,人名,名,*,*,二郎,ジロウ,ジロー
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
この    連体詞,*,*,*,*,*,この,コノ,コノ
本      名詞,一般,*,*,*,*,本,ホン,ホン
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
渡し    動詞,自立,*,*,五段・サ行,連用形,渡す,ワタシ,ワタシ
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。      記号,句点,*,*,*,*,。,。,。
EOS

***************以下略*************

次回はTFでも求めるプログラムでも作ろうかなと考えている.
また訂正がある方はお手数ですがコメントをいただけると幸いです.

以上