ColabでJUMAN++を使う

2019年8月16日金曜日

GoogleColab 自然言語処理

t f B! P L

Google Colaboratoryで形態素解析器JUMAN++を楽に使うためのメモです。


JUMANとは


京大で開発された形態素解析器。
最新のJUMAN++はMeCabよりイケてるとのこと。

ちなみに、形態素解析とは分かち書き+品詞解析を指す。


Colabで使う際の問題点


MeCabの場合、本体やColab(Python)から使うためのbindingなどはapt, pipで入れることができる。

JUMANにおいては、python bindingであるpyknpはpipで入るが、JUMAN++本体は残念ながらaptで入らずビルドしたものを毎回インストールする必要がある。


ビルドしたファイル群まではGoogle Driveに保存しておくことができるが、インストール先がデフォルトではランタイムのシステム領域になっており、ランタイムを終了すると消えてしまう。


Google Driveに内にインストールする(binをおく)方法もあるが、driveをランタイムにマウントするとcontent/drive/My Drive/直下がGoogle Driveのルートに相当する。

そのため、PATHを指定すればJUMANを実行できそうだが、JUMANの実装上、PATHにスペースが入っているとエラーになる仕様らしく、ソースの書き換えが必要(バージョンアップのときなどの管理がめんどくさい)。


以上諸々のため、あきらめて毎回インストールするという手もあるが、インストールにはまぁまぁ時間がかかるためスピード感に欠ける。


解決策



そこで以下の解決策がある。

  1. 初回のみシステム領域(/usr/localなど)へインストールする。
  2. 生成されたファイルとディレクトリ(/usr/local/bin/jumanpp/usr/local/libexec/jumanpp)を自分のGoogleドライブへコピーする。
  3. 2回目以降に使うときは、自分のGoogleドライブから/usr/localへ上記のファイル群をコピーする。

これで実行できます。

コピーにかかる時間はインストールにかかる時間よりはるかに短いので、スピーディーに実験開始できます。

以下に全体のスクリプトを載せます。
Colabのセルで実行してください。



今日のベストプラクティス


インストールで生成されたファイル群をコピーして保存、使うときは同じPATHに戻すというテクニックはColabだと結構使える。

QooQ