javaでMecab
Java系言語,あわよくばWebフレームワーク系の勉強のために,何か作ろう思ってネタはないかと思っていたところ,ふと学生時代にやってた自然言語処理をやってみようと思いつく.
ちょっとMakefileをいじりつつ(64bit向けビルドしたり,JDKのパスをあわせたり)導入し, 無事以下のコードが動作しました.
import org.chasen.mecab.Tagger; import org.chasen.mecab.Node; public class main { public static void main(String args[]) { Tagger tagger = new Tagger("-Ochasen"); Node node = tagger.parseToNode("すもももももももものうち"); for(; node != null; node = node.getNext() ) { System.out.println( node.getSurface() + ":" + node.getFeature() + "\n"); } } static { System.loadLibrary("MeCab"); } }
結果は以下.
:BOS/EOS,*,*,*,*,*,*,*,* すもも:名詞,一般,*,*,*,*,すもも,スモモ,スモモ も:助詞,係助詞,*,*,*,*,も,モ,モ もも:名詞,一般,*,*,*,*,もも,モモ,モモ も:助詞,係助詞,*,*,*,*,も,モ,モ もも:名詞,一般,*,*,*,*,もも,モモ,モモ の:助詞,連体化,*,*,*,*,の,ノ,ノ うち:名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ :BOS/EOS,*,*,*,*,*,*,*,*
次はどうしようかな.どこかから素材になる文章をひっぱってこようか. それともScalaから使ってみようか.