20111124
■[memo]MecabのJavaバインディング 
注意)今回のpostはめずらしくAndroidはぜんっぜん関係ありません。また自分用メモとして残しただけなので間違いがあってもご容赦願います。
日本語形態素解析ライブラリを使おうと思い立ちました。Javaで形態素解析するにはSenやGoSen、lgoなどがあるようですが、まずはMecabを使ってみるということで。mecab-0.98.tar.gzをダウンロード。
Mecabの辞書作成はこの辺。
私はJavaが一番使い慣れてるので、Javaでバインディングすることに。でもオフィシャルではぜんっぜん詳しく書いてません。まずはここでmecab-java-0.97.tar.gzをダウンロードします。
mecab-java-0.97.tar.gzを解凍し、makeしてやるとjavaバインディングに必要なファイルが作成できます。私の環境(Mac OS X(Lion))では、Makefileを以下の赤字のように書き換えるとmakeがうまく行きました。環境に応じて変えてやってください。
TARGET=MeCab JAVAC=javac JAVA=java JAR=jar CXX=c++ INCLUDE=/System/Library/Frameworks/JavaVM.framework/Headers PACKAGE=org/chasen/mecab LIBS=`mecab-config --libs` INC=`mecab-config --cflags` -I$(INCLUDE) -I$(INCLUDE)/linux all: $(CXX) -O3 -c -fpic $(TARGET)_wrap.cxx $(INC) $(CXX) -shared $(TARGET)_wrap.o -o lib$(TARGET).so $(LIBS) $(JAVAC) $(PACKAGE)/*.java -J-Dfile.encoding=UTF8 $(JAVAC) test.java -J-Dfile.encoding=UTF8 $(JAR) cfv $(TARGET).jar $(PACKAGE)/*.class -J-Dfile.encoding=UTF8 test: env LD_LIBRARY_PATH=. $(JAVA) test clean: rm -fr *.jar *.o *.so *.class $(PACKAGE)/*.class cleanall: rm -fr $(TARGET).java *.cxx
これでmakeすると、新規に2つのファイルが作成されます。
Eclipseで実行する時はJavaプロジェクトを作成しMeCab.jarを外部ライブラリとして追加します。そして、mecab-java-097フォルダ内のtest.javaをEclipseを取り込み、以下のように書き換えます。
File f = new File("/Users/hogehoge/mecab-java-097/libMeCab.so"); System.load(f.toString());
これで、ライブラリがロードでき、実行できます。
コメントを書く
トラックバック - http://d.hatena.ne.jp/Superdry/20111124/1322114202
リンク元
- 18 http://www.google.co.jp/url?sa=t&rct=j&q=Renderscript&source=web&cd=2&ved=0CCoQFjAB&url=http://d.hatena.ne.jp/Superdry/20110210/1297349640&ei=-E7OTsrQM87QmAXzzojSDQ&usg=AFQjCNFGQpKUcInsdqs2Y79bOoLhu9_E2w
- 16 http://www.google.co.jp/url?sa=t&rct=j&q=android edittext フォーカス 色 変更&source=web&cd=4&ved=0CD0QFjAD&url=http://d.hatena.ne.jp/Superdry/20110221&ei=rirRTsfrBoyUmQXzloTIDQ&usg=
- 15 http://www.google.co.jp/url?sa=t&rct=j&q=android renderscript&source=web&cd=2&ved=0CCUQFjAB&url=http://d.hatena.ne.jp/Superdry/20110210/1297349640&ei=-BzPTumhFOmimQWapeXXDQ&usg=AFQjCNFGQpKUcInsdqs2Y79bOoLhu9_E2w&sig2=kQcbAU2-TsDaB-7T37KMxA
- 14 http://www.google.co.jp/url?sa=t&rct=j&q=android gridview 画像表示&source=web&cd=3&ved=0CDEQFjAC&url=http://d.hatena.ne.jp/Superdry/20100915/1284572908&ei=QpzOTrDhFoj_mAW47oWrDQ&usg=AFQjCNGqHrmIGurTSiNmjycMdOsVb
- 12 http://www.google.co.jp/url?sa=t&rct=j&q=setpreviewcallbackwithbuffer&source=web&cd=1&ved=0CB0QFjAA&url=http://d.hatena.ne.jp/Superdry/20110529/1306627289&ei=7nTQTpy6J8_FmQWCisnWBA&usg=AFQjCNFCvSRaI-oClIu7XMs1Oz6D86Ryjw
- 11 http://www.google.co.jp/url?sa=t&rct=j&q=android class load&source=web&cd=1&ved=0CCIQFjAA&url=http://d.hatena.ne.jp/Superdry/20110729/1311917881&ei=q3S3TprFPNDtmAX_zc3KAw&usg=AFQjCNG_1iLqH09OjP-NxrSo45XWcksJiQ&sig2=kihmvp7snHkPmrlBEG6u_w
- 8 http://www.google.co.jp/url?sa=t&rct=j&q=keyguardmanager&source=web&cd=3&ved=0CDMQFjAC&url=http://d.hatena.ne.jp/Superdry/20101103/1288810032&ei=Jz_PTqPyO-bFmAXf3OC-DQ&usg=AFQjCNEe42t9yOZweyFqAE2vMESbk4Qw3g
- 7 http://www.google.co.jp/url?sa=t&rct=j&q=アンドロイド サードパーティアプリ&source=web&cd=1&ved=0CB8QFjAA&url=http://d.hatena.ne.j
- 7 http://www.google.co.jp/url?sa=t&rct=j&q=edittext+枠の色&source=web&cd=1&ved=0CCcQFjAA&url=http://d.hatena.ne.jp/Superdry/20110221&ei=vzHUTuHKGMPMmAWL6ZBR&usg=AFQjCNF5xUljdKUpjyUF6hxMWJ_iv7ru2Q
- 6 http://www.google.co.jp/url?sa=t&rct=j&q=サードパーティ アプリ android &source=web&cd=1&ved=0CCIQFjAA&url=http://d.hatena.ne.jp/Superdry/20110505/130452601
