iOS 用の(あまり意味のない)学校文法学習補助ツール の開発を通じて気づいたことを徒然に記します。
MeCab は非常に優れたプログラムですから批判する意図は皆無です。
敢えて申しますと、むしろこの優れた要素技術を月並みな用途でしか利用しようとしない(Another Brick in the Wall な)アプリケーションプログラマーに向けてのお節介になるかと思います。
私がやっている作業も大して意味がある訳では無いのですが...
「この花は、あまりきれいでもない。」を学校文法に適合させるのに苦心しました。
以下は最新版を OSX で実行した結果です。
Mac-mini:~ matsu$ mecab
この花は、あまりきれいでもない。
この 連体詞,,,,,,この,コノ,コノ
花 名詞,一般,,,,,花,ハナ,ハナ
は 助詞,係助詞,,,,,は,ハ,ワ
、 記号,読点,,,,,、,、,、
あまり 副詞,助詞類接続,,,,,あまり,アマリ,アマリ
きれい 名詞,形容動詞語幹,,,,,きれい,キレイ,キレイ
でも 助詞,副助詞,,,,,でも,デモ,デモ
ない 助動詞,,,,特殊・ナイ,基本形,ない,ナイ,ナイ
。 記号,句点,,,,,。,。,。
EOS
^C
Mac-mini:~ matsu$ mecab --version
mecab of 0.996
MeCab は確定していない語幹に関しては、現状の品詞(ここでは名詞)を基に分解しているようです。なので、副助詞の「でも」になっていると思われます。
この文章を学校文法に適合させるために、形容動詞の末端の「だ」に導くべく「助動詞:で」+「副助詞:も」へ分割し後処理で「形容動詞の終端:で」+「副助詞:も」にしました。
iOS アプリ/ソースコード(ARCなしの Objective-C)
まとめ
MeCab のお父さんやお爺さんについてよく知らないので断言できませんが、MeCab が高速な理由は未定の前方参照への処理を省いているのかな?って感じました。