[mecab-users 150] コーパスからの学習について

Back to archive index

nomoto nomot****@la*****
2006年 8月 2日 (水) 01:55:02 JST


野本です。
mecab のメモリ不足の件についての報告です。

mecab の使用環境は
mecab-0.91
mecab-jumandic-5.1
また、今回は mecab-ipadic-2.7.0-20060408 も使って検証してみました。

mecab-jumandic-5.1 に8万行のコーパスを学習させると、

Done! writing model file ...
terminate called after throwing an instance of 'std::bad_alloc'
  what():  St9bad_alloc
  Abort trap (core dumped)

というエラーが出てしまうということでした。
この原因はメモリ不足だということで、

>> メモリを増設すればこのエラーは解決するのでしょうか?

>はい。解決します。

なので、早速メモリを増設し 512M から 1G にメモリを増設し再度8万行のコーパスを学習させてみました。
ところが、また同じエラーが発生してしまいました。
これはおかしいな。と思ったので、コーパスから学習している間、パソコンのメモリ使用状況を監視してやってみたのですが、8万行の場合に1Gのメモリをフルに使っていないにもかかわらず上記のようなエラーが発生してしまいます。

ということはこのエラーはメモリ不足ではなく、mecab 自体のプログラムがメモリ違反をしているのではないか?と考えました。

また、juman5.0 の辞書を使うとメモリをかなり食うということなので、mecab-ipadic-2.7 を使ってコーパスを学習させてみたのですが、結果は mecab-jumandic-5.1 と同じ結果になりました。

さらに、コーパスの量を増やし 14万行 で学習を行なったところ 8万行では
Done! writing model file ...
の直後にエラーが出ていたのが、コーパスをスクロールしている場面でエラーが発生し、

terminate called after throwing an instance of 'std::bad_alloc'
  what():  St9bad_alloc
Abort trap (core dumped)
パイプ破壊

というエラーになります。



mecab-users メーリングリストの案内
Back to archive index