[Anthy-dev 3824] lattice.c の現状の実装について

Back to archive index

NIIBE Yutaka gniib****@fsij*****
2010年 7月 7日 (水) 15:53:25 JST


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 メーリングリストの案内
Back to archive index