今動かしているTwitterの解析アプリでKnow Yourself - あなたを有名人です!というのがあるんだけど、これに関して去年末に
年末中の目標が一つ増えて、 http://t.co/rQ85zr0KfY の形態素解析をYahooAPIからkuromoji.jsに変えようと思う。
— みまティー (@mima_tea) 2014, 12月 27
と言ったな…
*1
「あれは嘘だ」
で、何が嘘だって、まず自分はkuromojiはGAE上で動かないと思っていて、代わりにYahoo!形態素解析APというのを使っていた。
テキスト解析:日本語形態素解析 - Yahoo!デベロッパーネットワーク
で、別にこれで不自由はない予定だったんだけど、不自由があったのはGAEの方で、
みんな大好きなGoogle App Engineですが、制限は2047バイトです。
[tech]HTTP GETメソッドのURIの長さ制限を調べてみた - Kazumi007の日記
だそうで、Twitterのユーザのbio(最大140文字?)とTweet(140文字)×100を(まとめて)解析するには明らかに形態素解析APIをフルに活用できていないわけです。
ということで、代わりになる形態素解析器をずっと探していたわけですが、そこで小耳にはさんだのがkuromoji.js。
stop-the-world: ブラウザで自然言語処理 - JavaScriptの形態素解析器kuromoji.jsを作った
これで適当なParse用のページにrequest送って結果を受け取れば終わりでは?と思って調査を開始…そして1時間後、すごくクリティカルなページを見つけてしまった。
(GAEで日本語の形態素解析を試してみる)第3回 Kuromojiを使ってみる
(GAEで日本語の形態素解析を試してみる)第3回 Kuromojiを使ってみる | Walk on apps.
kuromoji.jsを使わない方向でな!!!!!!!!
なんのことはない、kuromojiそのものが何の問題もなくGAE上で動くオチだった。どっかで動かない的な話を見た気がするんだが…
そして上記の手順に従って形態素解析器をアップデートし、再起動。
余裕で動いた(ただ、形態素解析にかかる時間がかなり増えて、1回の解析で10秒以上かかるようになった…)。
とりあえず、これで好きなだけ形態素解析処理周りの拡張ができるようになったので、今後はもうちょっと精度向上を目指して改良をする。
現状では特に面白い機能がないので、面白機能を実装するのもいいかもしれない。