形態素解析エンジンmecabのjavaポーディングライブラリSenを使う
Senについて
Mecabの最終更新よりも若干古い(2006-03-28)のが気になるが、
とりあえず公式サイトのリンクからダウンロードして使ってみた。
luceneとの連携に期待したが、lucene-jaのコードはどこだろう?
luceneはバージョン3までいってるので対応してるか不明。
とりあえず、これからもう少し詳しい使い方を調べてみる。
>Sen は、Java で実装された形態素解析器で、工藤拓さんによりオープンソース(LGPL)で開発されている形態素解析器MecabをJavaへポーティングしたライブラリです。ChaSen?? やMecab等のC/C++で実装された形態素解析器をJavaから利用する場合、JNIを利用する必要がありますが、JNIを利用すると動作が不安定に なることがあり、また、JNIのオーバヘッドによりパフォーマスが低下します。Senは100% Javaで記述されているため、高信頼かつ高パフォーマンスを得ることができます(注:ChaSen??やMecabが安定していない、パフォーマスが低いという訳ではありません。JNIの特性上、そうなるということです)。ということらしい。
Mecabの最終更新よりも若干古い(2006-03-28)のが気になるが、
とりあえず公式サイトのリンクからダウンロードして使ってみた。
$ unzip sen-1.2.2.1.zip
$ cd unzip sen-1.2.2.1
$ ant
$ chmod +x bin/sen.sh
$ ./bin/sen.sh
done.
Please input Japanese sentence:
[INFO] Dictionary - token file = ./dic/token.sen
[INFO] Dictionary - time to load posInfo file = 49[ms]
[INFO] Dictionary - double array trie dictionary = ./dic/da.sen
[INFO] DoubleArrayTrie - loading double array trie dict = ./dic/da.sen
[INFO] DoubleArrayTrie - loaded time = 1.952[ms]
[INFO] Dictionary - pos info file = ./dic/posInfo.sen
[INFO] Dictionary - time to load pos info file = 0[ms]
[INFO] Tokenizer - connection file = ./dic/matrix.sen
[INFO] Tokenizer - time to load connect cost file = 1431[ms]
すもももももももものうち
すもも (すもも) 名詞-一般(0,3,3) スモモ スモモ
も (も) 助詞-係助詞(3,4,1) モ モ
もも (もも) 名詞-一般(4,6,2) モモ モモ
も (も) 助詞-係助詞(6,7,1) モ モ
もも (もも) 名詞-一般(7,9,2) モモ モモ
の (の) 助詞-連体化(9,10,1) ノ ノ
うち (うち) 名詞-非自立-副詞可能(10,12,2) ウチ ウチ
^C
$
luceneとの連携に期待したが、lucene-jaのコードはどこだろう?
luceneはバージョン3までいってるので対応してるか不明。
とりあえず、これからもう少し詳しい使い方を調べてみる。