形態素解析エンジンmecabのjavaポーディングライブラリSenを使う

Senについて
>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までいってるので対応してるか不明。
とりあえず、これからもう少し詳しい使い方を調べてみる。

人気の投稿