2009年3月23日月曜日

levenstein~PHPで編集距離

昨日のKansai.pmに啓発され、自分が作っているサイトのサイト内フリー検索に"もしかして機能"を付けようとした。
要件としては
-PHP5以上
-UTF-8
-日本語・英語問わず編集距離を取得したい
-キーワード数は一万程度に対応すればよい
-CakePHPで
昨日発表してくれた方が説明上手だったので「僕も秒殺で作ったる!」と気合いが入ったが一筋縄ではいかなかった。
まずPHPにはlevenstein()という関数があった

これがUTF8やEUC、SJIなどマルチバイトだと正確な距離が出てこない。
値は返ってきているが日本語の場合、距離が多かったり、計算が不可解だったりで信頼できない。
自作でさらっとPHPで関数作ってみるかどうか。

今日は作業中断。ぼちぼち考えてみることに。

0 件のコメント:

コメントを投稿