Lucene FST のアルゴリズム (1) ~図解編~ の続きです。絵まで書いたなら実装しろよということで、、、実装してみました。実装言語はみんなだいすき Python です。 // fst.py https://gist.github.com/mocobeta/8e20a0c21b83bc98b880#file-fst-py コードを引用するとちょっと長いのですが、120行目〜231行目(create_minimum_transducer 関数) で FST を構築しています。こったことは全然していなくて、論文中の擬似コードを素直に落とし込んでいます。 FST のモデルを構築しただけでは実際に使えないので、バイトコードに落としこむ必要があるのですが、それは 234行目〜296行目の compileFST という関数でやっています。作った FST (状態のリスト) を、辺 (Arc) の