Open9
KKC(かな漢字変換)を作りたい
ピン留めされたアイテム
KKCを作りたいのでいろいろメモ
Viterbi(ビタビ)アルゴリズムというやつが一番大事。
とりあえずこのコードでは動的計画法の一種であるこの実装では変換候補に対して
- 単語候補を取得
- その単語に対して最適な前ノードを選択
- スコアを計算してノードを追加
スコアを計算する際に、単語自体のスコア、getScoreOfWord
と連続する品詞のスコア getScoreBetweenPosTag
を用いているみたい。
そしてそれを保存するフォーマットがLOUDSとよばれるものらしい
Rust用にもライブラリある
辞書引きアルゴリズムとして、エイホ–コラシック法っていうのもあるらしい
N-Bestだったり分節分け、学習の副作用などいろいろ載っている。
正直あんまりわかってない...
単語ラティス(辞書から引いた文字を格納するための構造)関連
形態素解析における高速な単語ラティス生成より
KKCではないが参考になる