IEEE Spectrum を読んでいたら、Andrew J. Viterbi さんは2010 Medal of
Honor Winner だそうで。
関連して(あるいは正確には *しなくて*) lattice.c の現状の実装に関する感
想です。
lattice.c では「いわゆるビタビアルゴリズムを使用して経路を選ぶ」とコメ
ントにありますが、このコメントは削除すべきではないでしょうか。
現状の実装は Viterbi アルゴリズムとは関係ないと思います。似ていると勘違
いしたか、あるいはこれから実装するつもりだったのか。
Viterbi アルゴリズムについては下記を参照ください:
http://en.wikipedia.org/wiki/Viterbi_algorithm
lattice.c の現状の実装は、文節の feature_list の遷移確率を使って、もっ
とも確率の高そうな文節の並びを選択するもの、となっています。
「Viterbi アルゴリズムを利用」する、というのであれば、文節 (Hidden
State)、読み (Obserbation) と対応させて、文節の遷移確率に加えて、文節か
らその読みが出てくる確率を使って、最尤の文節の並びを見つける、となると
思います。
* * *
ナイーブに double を使っていたり、掛け算/割り算を使っていたりする点は改
善の余地があるでしょう。get_poisson もナイーブにそのまま pow と expを
(毎回)呼ぶところも改善の余地があるでしょう。
計算機資源に窮する人生を送ってきたとすると、こういうナイーブなのを見る
と富豪だなぁ、と感じるところでしょうか。
ファイル名の lattice.c というのも再考の余地あり。
--
_______________________________________________
Anthy-dev mailing list
[email protected]
http://lists.sourceforge.jp/mailman/listinfo/anthy-dev