ScalaNLPことはじめ

ScalaNLPとは?
"ScalaNLP is a suite of machine learning and numerical computing libraries."
ScalaNLPは"Breeze"と"Epic"というライブラリからなります。

Breezeは線形代数数値計算機械学習とテキスト処理を担当。

Epicは統計学的なパーサ? (未公開のため詳細は分からず)
"Coming Very Soon!"とあるのでそのうち公開するかもしれない。

scalala(Scala Linear Algebra library)というプロジェクとの共同開発からはじまっているのでBreezeはscalalaの影響を受けていると思われる。

まぁ、ことはじめということでScalaNLPのGitHubのQuickStartを参考に導入からサンプルまで動かしてみた。

まずいつものごとくsbtのBuild.sbtを下記のように作成。
name := "NLP with Scala"

version := "1.0"

scalaVersion := "2.9.2"

libraryDependencies ++=Seq(
"org.scalanlp" %% "breeze-math" % "0.1",
"org.scalanlp" %% "breeze-learn" % "0.1",
"org.scalanlp" %% "breeze-process" % "0.1",
"org.scalanlp" %% "breeze-viz" % "0.1"
)

resolvers ++= Seq(
"Sonatype Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
)


あとはQuickStartを見れば無問題。
一点つまったこととして
breeze.text.tokenizeでPoterStemmerというクラスを
使っていますが、これは

scala> import breeze.text.analyze.PorterStemmer

が必要です。
詳細はまたの機会に