Taku Kudo
taku****@chase*****
2006年 2月 28日 (火) 23:57:01 JST
高岡さん 工藤です 原因を特定していただきありがとうございます。助かります。 > この原因がわかりました。 > mecab-dict-gen の部分が、EUC-JP でしか正常に動かなくなっていました。 > > src/tool.cpp:Tool::mktextdic() の部分で、property.set_property() をし > ていないために、デフォルトの EUC-JP が使われています。 > > このために、素性エンコーディング時に文字種が正しくふられず、辞書に間違っ > たコストが出力されていました。 確かに、問題ですね。 最新の CVS では、辞書の文字コードを自動判定するようにしたので、 それに合わせて素性エンコード時に正しく文字コードを判定するように 修正したいと思います。 > あと、関係ないですが、Unix 系と VC で浮動小数点数を文字列化するときの > 打ち切り桁数がちがうらしく、モデルファイルの内容が微妙にちがう結果になっ > ています。 > > Linux での出力: > -0.157662639258269760000886 > > Windows での出力 > -0.157662639258269760000000 確証はないですが、個の程度の差であれば解析結果は 変わらないと思います。モデルの値は最終的には高速化のために int にまるめらるのですが、その変換による違いのほうが大きいです。 -- taku