mecab

MeCabのメモリ管理はどうなっているのか

以前mecab-rubyを用いた下記のコードがコケる場合がありました。 node = MeCab::Tagger.new.parse(text) これはparseメソッドを呼び出している最中にMeCab::TaggerのインスタンスがGCによって解放されてしまい、メモリ違反を起こすためです(昔のことなので…

最近のMeCabの使い方

MeCabはC/C++で書かれた形態素解析を行うライブラリなのですが、ちょっと疑問に思うところがあって、以下のようなコードを書きました。 require 'MeCab' mecab_options = '-Owakati' 1000.times do |n| begin tagger = MeCab::Tagger.new(mecab_options) # d…