unicode正規化

http://dev.razil.jp/svnweb/senna/checkout/trunk/util/unicode/README
検索に必要なので書きました。

unicodeと言えばicu(http://ibm.com/software/globalization/icu)が定番ですが、
微妙に要件に合わないのでicuの出力をターゲットとして同様の正規化を行うcのコードを吐くスクリプトを書きました。

文書中からパタンを抽出して置換する問題は巷で話題の
はてなキーワードを高速に付与する」問題と同じです。
http://chasen.org/~taku/blog/archives/2005/09/post_812.html

今回書いたのはtrieを生成しますから、
実行速度では恐らくDARTSにひけをとらないと思いますが、
空間効率ではDARTSの方が優れているかも知れません。

NFKCは日本語の全文検索にはオーバースペックなのですが、
敢えて時間をかけて対応したのは、
http://labs.cybozu.co.jp/blog/akky/archives/2005/08/google_yahoo.html
こういう考え方に感銘を受けたせいもあります。

多言語対応形態素解析器のOSS版が必要だと感じています。