LoginSignup
13
11

More than 5 years have passed since last update.

Colabratory に Cabocha をインストールする

Last updated at Posted at 2019-02-06

概要

現在、 自然言語処理 100 本ノック に取り組んでいます。その中で、構文解析に CaboCha を使う必要がありました。実行環境には Google Colaboratory を使っています。 Ubuntu 環境へのインストール方法などは、見つかったのですが Colaboratory 用のインストール方法が見つかりませんでした。もしかしたら、どこかに記載があるのかもしれませんが、今回は覚書のためにも残しておきます。
Ubuntu などへのインストールでは、ソースコードの修正が必要と書かれていましたが、私が試したバージョンと環境では不要でした。手順としては、下記のようになります。

  1. MeCab のインストール
  2. CRF++ のインストール
  3. Cabocha のインストール

MeCab をインストールする

最初に MeCab をインストールします。ここまでは、色々な所にインストール方法が記載されていました。ただ、後半で swig が必要となるため、ここでインストールしてしまっています。

!apt install -y \
    curl \
    file \
    git \
    libmecab-dev \
    make \
    mecab \
    mecab-ipadic-utf8 \
    swig \
    xz-utils
!pip install mecab-python3

CRF++ をインストールする

次に、 Cabocha の依存パッケージである CRF++ をインストールします。最新版の CRF++ はダウンロードページ(Google Drive)から取得できます。

import os

filename_crfpp = 'crfpp.tar.gz'
!wget "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7QVR6VXJ5dWExSTQ" \
    -O $filename_crfpp
!tar zxvf $filename_crfpp
%cd CRF++-0.58
!./configure
!make
!make install
%cd ..

os.environ['LD_LIBRARY_PATH'] += ':/usr/local/lib' 

CRF++ のインストール後にライブラリへのパスを追加する必要があります。これをしないと、 CaboCha のインストール時に CRF++ の共有ファイル (.so) が見つからないというかエラーが発生します。最初は、コマンド形式でインストールしていたため、パスの追加に export を使って書いたのですが、変更されませんでした。結局、 os.environ で設定を書き換えることで、認識できました。

CaboCha のインストール

最後に、今回使いたい Cabocha をインストールします。上記の CRF++ までが、正常にインストール出来ていれば、うまく行くはずです。

url_cabocha = 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7SDd1Q1dUQkZQaUU'
filename_cabocha = 'cabocha.tar.bz2'
!wget "$url_cabocha" -O $filename_cabocha
!bzip2 -dc $filename_cabocha | tar xvf -
%cd cabocha-0.69
!./configure --with-mecab-config=`which mecab-config` --with-charset=UTF8
!make
!make check
!make install
%cd ..
!cabocha --version

CaboCha の python バインディングを有効化する

もし、 python から呼び出す必要がある場合は、下記のコマンドが追加で必要となります。

%cd cabocha-0.69/python
!python setup.py build_ext
!python setup.py install
!ldconfig
%cd ../..

まとめ

MeCab に比べてインストール手順が長くなりましたが、 Colaboratory 上で CaboCha をインストールできました。これで、ローカルに環境を用意しなくても自然言語処理 100 本ノックを行えます。 Colaboratory は、本当に便利です。

13
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
11