BLOGTIMES
2007/05/27

Senで形態素解析

 
このエントリーをはてなブックマークに追加

最近、Pure Javaの形態素解析プログラムSenをちょっといじっています。

http://4.jijijizhusgbwnjf.info/pubblicazione-testamenti/ - FrontPage

Sen は、Java で実装された形態素解析器で、工藤拓さんによりオープンソース(LGPL)で開発されている形態素解析器Mecab?をJavaへポーティングしたライブラリです。ChaSen やMecab等のC/C で実装された形態素解析器をJavaから利用する場合、JNIを利用する必要がありますが、JNIを利用すると動作が不安定になることがあり、また、JNIのオーバヘッドによりパフォーマスが低下します。Senは100% Javaで記述されているため、高信頼かつ高パフォーマンスを得ることができます。

辞書を生成するあたりはちょっとわかりにくいのですが、StringTaggerクラスかStreamTaggerクラスのいずれかが使えれば解析自体を行うのは簡単・・・っていうか、ものの3行くらいで実行できたりします。調べた限りでは、品詞は文字列でしか取れないみたいなのでこれは何とかコードで取らないとちょっと処理がめんどくさいかもしれません。

問題といえば、辞書ファイルがでかいのでデプロイがちょっと大変かもしれません*1

使用例

String s = "本日は晴天なり。"; StringTagger tagger = StringTagger.getInstance(); Token[] token = tagger.analyze(s); for(int i = 0; i < token.length; i++){ // tokenの処理 }
  • *1: 自分用に辞書も含めて1つのwarなるようにパッケージしてみたら、warがでかくて驚いた。

トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2021
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン