形態素解析プログラムをJavaに移植してみた

MySQLに登録したなろうのテキストを読み込んでmecabに突っ込んでいくrubyのプログラムを作っていた。

しかしどうにも遅いので、業を煮やしてJavaに移植。

そしたら同じ分量をmecabで分解してハッシュに蓄えても速度が5倍になった。

Java速いなー

しかし、その分コードとか妙に増えた。

rubyならハッシュへの足し算なんて

 

hash[“hoge”]=hash[”hoge”].to_i + 1

ですむけど、Javaだと

 

Integer i = hash.get(x);

if(i==null){
  i = new Integer(1);
  hash.put(x,i);
}else{
  hash.put(x, new Integer(i.intValue()+1));
}

とかになっちゃうから、簡単に行数が増える。

めんどいけど、Javaは厳密性が求められるので仕方がない・・・

 

しかしそれでも全テキストを処理しようとすると何時間かかるんだかわからないレベル。

やっぱり多すぎるよ、このテキスト量。

さらにマルチスレッド化して高速化しないと実用的にならんかも。

 

捨てたものはいらない部品。

体重は64.5kg

SNSでもご購読できます。

コメントを残す