https://images.unsplash.com/photo-1516675457768-db513e191dcc?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb

tl;dr

mecab-python3を止める理由

メンテナが変わってDebianのパッケージを書いている人になったため、ユーザ寄りというよりは開発側の理屈が強く優先されるようになった。良くも悪くもUNIX的な思想?(一つ一つのやれる事は小さくというパイプ的なアレ)なんだが、これがすこぶるwheelのfat binary packageの方向性と相性が悪いと思う。具体的には

つまり、Neologdがデファクトとなった現代では使いづらさしかないのでやめたほうがいい。機械学習の教科書的な本では必ずmecab-python3が出てくるが、あれは古い話と思ったほうがいい。

MacとLinuxのユーザは迷わずnatto-pyを使いましょう。nattoシリーズはFFIベースでmecabを使うので、余計なバインディングのビルドは必要ありません。また、作者にお話を聞いたところ、Windows環境で動かすことを一つのモチベーションにしているとのことなので、割とWindowsユーザにも良いかと思います。

Windowsユーザは以下の記事を読んで、libmecab.dllを手に入れてnatto-pyを使いましょう。

Windows 64bitでMeCab(とKyTea)を使う方法 2018

余談だが、最近spaCyがfugashiというMeCabのCython wrapperに依存するように変わったが、これは今のところUniDic専用だ。この背景はmecab-python3がほぼIPAdic専用になったからだろう。なお、韓国語はnatto-pyを使っている。

natto-pyは作者に聞いたところ、もうmecabがメンテナンスされていないのでnatto自身もあまり大きな変更はしないだろうとのこと。

natto-pyの簡単な使い方はこれを見るといいと思う

backspace_stats_2.ipynb

mecab以外の方向性

Powered by Fruition