MeCab,出力形式によってはエラーになる

 MeCabにて解析できない文がある。
 半角記号はすべて全角にしているので、その辺は心配していなかったのだが。

tagger.cpp(166) [writer_.write(ostrs_, str, n)] writer.cpp(271) [n < psize] given index is out of range

 MeCabメーリングリストに入ってみた。まだこの件は投稿していない。
 UTF-8なのが問題な気もする。EUC_JP版を作ってみるかどうか……

 しかし半分近く解析できていないのは辛すぎる。
 mecab-perlだけでなくsystem関数を呼んでも駄目。

 困った。

一歩前進

 "-Oxml"オプションを消したら動作した。

解決

 /usr/local/lib/mecab/dic/ipadic/dicrcで定義しているXML形式からreadとpron(口語調?)を削除する。

; XML
bos-format-xml = \n
node-format-xml = \s\s%m\n
eos-format-xml =
\n

  • 修正後

; XML
bos-format-xml = \n
node-format-xml = \s\s%m\n
eos-format-xml =
\n