Kuromoji 形態素解析を使ってみた
ぶっちゃけこれ
Scala2.11.6 +SBT 0.13.x で使ってみたログ。
まずは build.sbt
libraryDependencies ++= Seq( "org.atilika.kuromoji" % "kuromoji" % "0.7.7" )
にこんなん書いて、
import org.atilika.kuromoji.{Token, Tokenizer} object SelfTokenizer { import scala.collection.JavaConversions._ val tokenizer = { val result = Tokenizer.builder() result.mode(Tokenizer.Mode.SEARCH) result.build() } def tokenize(str: String): List[Token] = this.synchronized { if (str == null || str.isEmpty) List.empty[Token] else tokenizer.tokenize(str).toList } }
とすれば完成。一応 Java のライブラリで、crawler4j と組み合わせで使うと幸せに。
Tokenizer.Mode で幾つかモードを指定できて、結果が違う。
今回のこれは、検索エンジンに特化するように、SEARCH を指定。
Token のフィールドは、「Surface(原文)」「PartOfSpeech(品詞情報)」だけ分かってれば良さそう。
形態素解析ライブラリを触ってみる【Igo】 - 謎言語使いの徒然 より手軽でいい感じ(結構最近でもメンテナンスしているので、信用できそう)