Canna の変換ロジック

昔読んだ気がするので検索したら割とすぐ見つかった。Canna の変換ロジックについて。

Canna でも単語生起コストの推定は、生コーパス形態素解析して単語の生成確率のログの値の絶対値入れておけば、それなりにまともな値になるのではないかと思うのだが、なんかなんでこうなったのかよく分からない値が入っている。自分でコスト設定したいときもどうすればよく分からないし。

単語の連接については Canna でも Anthy でも同じなのかな? (Canna は二文節最長一致のヒューリスティック) Anthy も付属語(格助詞とか)リストに挙げられていないと文節の展開で失敗するみたい。単語ということが分かっていたら全部展開するのだと計算量が激しいのだろうか。もしくは、付属語リストを使うヒューリスティックだと未知語もそれなりに扱えるというメリットもある。ま、そのあたりもあまりコミットしたくないので、自立語と付属語の区別はせず、全部単語は同じだと思って扱うことにする。

特別扱いしない利点はモデルがシンプルになることなのだが、副作用として間違えやすい付属語(たとえば格助詞「で」)が出てしまうのだが、どうやったら直るんだろう。

未知語の長さに関するペナルティを入れていないので、長い文字列を未知語だと思ってしまう不具合が。明日までに解決できるかな……