2013年09月14日

mahoutで用意されているanalyzerを調査してみた

blogramランキング参加中!

Mahoutイン・アクション

新品価格
¥4,200から
(2013/9/14 11:00時点)



mahoutでコマンドラインで実行している
マスタカです。


(´・ェ・)こんにつあー!!!!!!!!!!!


以下のコマンドでseq2sparseを使ってvectorファイルを作る
hogehogeのパラメータを変えることで文書の切り方が変わるようです


./mahout/bin/mahout seq2sparse -i $input_dir -o $output_dir -ow -ng 2 -a hogehoge


そんなわけで調査してみた。

いろんな場所で以下のように-aのパラメータを書かれているが
org.apache.lucene.analysis.WhitespaceAnalyzer


実際はcore以下。
どこかでluceneのバージョン変わったんですかね。
org.apache.lucene.analysis.core.WhitespaceAnalyzer

なのでここのクラスのAnalyzer系は全部使えるはず
http://lucene.apache.org/core/4_0_0/analyzers-common/org/apache/lucene/analysis/core/package-summary.html


で試しに使ってみた。


・org.apache.lucene.analysis.core.WhitespaceAnalyzer
スペースと改行で区切る


・org.apache.lucene.analysis.core.KeywordAnalyzer
一つの文章を1トークンとして扱う。
これ実際使い道あるんかね。。。


・org.apache.lucene.analysis.core.StopAnalyzer
stopワードで区切る。
日本語だと形態素よりもっと長い文章で切れる。


・org.apache.lucene.analysis.core.SimpleAnalyzer
結果はstopAnalyzerみたいな感じになった。


・org.apache.lucene.analysis.standard.StandardAnalyzer
デフォルト日本語でやると以下になる
http://masterka.seesaa.net/article/373842856.html



Standardが微妙なので、
最初から用意されている文書解析は日本語には向かないってことが分かりました(・ェ・`)

じゃあ、どうするのかというと二択
mecabで形態素してからwhitespaceにかけるか
JapaneseAnalyzerを改良して引数なしコンストラクタを作るか
http://www.mwsoft.jp/programming/mahout/text_clustering1.html

らしい。
とりあえずmecabの方向で

デートサイエンティストへの道は続く
タグ:mahout lucene
posted by マスタカ at 11:00 | Comment(0) | TrackBack(0) | プログラミング | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。