送り仮名の正規表現

形態素解析をやるのに辞書が必要なのが辛いところ。
何とか正規表現で逃げれないものかと思って調べてみると、やっている人が居た。

エブログ JavaScript で形態素解析もどき

ただ、問題点として、送り仮名に弱い。

美しい -> 美 しい

と、誤検出してしまう。

なんとかならねーのかと思って、mecab の辞書を perlRegexp::Assemble に食べさせてみた。
結果、、、2644kb (約2.5MBの正規表現)になった。

でかっ!!


仕方がないので、名詞を無視したり、長すぎる語句を無視したりといろいろ削りまくって、139kb の正規表現までもってこれた。


2644kb -> 139kb

1/20以下にもってこれたんだから、私がんばったよね、もうゴールしてもいいよね?って感じだけど、問題は、この正規表現php で使いたいということ。

php の preg_match系はアホなんで、 32k ぐらいを超える正規表現を食べさせると、エラーになってしまう。バッファを固定長でもっているのか? いい加減にバッファを固定長で確保するのをやめてほしい。

ただ、139kbまでもってこれたんだから、これからいらない語を何とか削り、1/5 にすれば。。。
命令形とか普通のテキストには出てこないようなヤツを削れば何とかなるかも!? といういうか、なんとかするべし!! ケータイ取り出しポパピプペ 縮んでくれま・す・か?