CaboChaをWindows(WSL/Ubuntu)で使用する手順
代表的な係り受け解析器であるCaboChaは、UNIXベースで設計されています。
なのでWindowsPCで直接動かすのはハードルが高く、WSLを使うほうが楽です。
当記事は、CaboChaをWindows(WSL/Ubuntu)で使用する手順のメモです。
筆者の環境
私の実行環境は以下の通りです。
OS:Windows11
WSL:Ubuntu 22.04 LTS
Python 3.11.13(※)
※後述しますが、3.12以降だとそのまま動作させることができません。
また、一般権限ユーザ前提の手順になっています。
手順0.WSLに接続して必要なパッケージのインストール
まず初めに、WSLに接続して必要なパッケージを一通りインストールしておきます。
sudo apt update
sudo apt install -y \
build-essential \
mecab \
libmecab-dev \
mecab-ipadic-utf8 \
swig \
python3-dev \
python3-pip \
autoconf \
automake \
libtool \
curl \
xz-utils
手順1.解析エンジンCRF++のインストール
まずはCaboChaをインストールする前に、CRF++という解析エンジンをインストールします。
ダウンロード
以下からCRF++の最新をダウンロードして任意の場所に配置します。
今回私は「CRF++-0.58.tar.gz」をダウンロードしています。
解凍
tar -zxvf CRF++-0.58.tar.gz
解凍すると「CRF++-0.58」というディレクトリが作成されました。
作成されたディレクトリに移動します。
cd CRF++-0.58
※ダウンロードしたバージョンによってディレクトリ名は異なります
コンパイル&インストール
CRF++はc++で記述されています。
解凍先にconfigureがファイルがあるので、これを使ってコンパイル&インストールします。
./configure
make
sudo make install
sudo ldconfig
動作確認
以下のコマンド実行して
crf_test --version
→CRFのバージョンが表示されればOKです。
私はCRF++ of 0.58と表示されました。
手順2.CaboChaのインストール
では、CaboCha本体をインストールしていきます。
ダウンロード
以下からCaboChaの最新をダウンロードして任意の場所に配置します。
今回私は「cabocha-0.69.tar.bz2」をダウンロードしました。
解凍
ダウンロードしたファイルをtarコマンドで解答します。
tar -xjvf cabocha-0.69.tar.bz2
解凍すると「cabocha-0.69」というディレクトリが作成されました。
作成されたディレクトリに移動します。
cd cabocha-0.69
※ダウンロードしたバージョンによってディレクトリ名は異なります
コンパイル&インストール
こちらもCRF++と同様にコンパイルしてインストールします。
この時、mecabのconfigの場所と文字コードを指定しておきます。
./configure --with-mecab-config=`which mecab-config` --with-charset=UTF8
make
sudo make install
sudo ldconfig
動作確認
cabocha --version
→cabochaのバージョンが表示されればOKです。
私は「cabocha of 0.69」と表示されました。
手順3.venvの作成
続いてPythonで実行するための環境を構築していきます。
pyenvで3.11に指定
※デフォルトでPython3.11を使用している場合は当手順は不要です。
CaboChaはPython3.12以降で無くなったモジュールを使用しているので、3.11を使用したほうが良いです。3.12以降で無理やり環境構築しようとするとPythonファイルの修正が必要になります。
python3.12以降を使用している場合は、pyenvなどを使って3.11に切り替えるようにします。
pyenv install 3.11.13
pyenv local 3.11.13
pyenv version
python3 --version
→3.11.13と表示されればOKです。
pyenvのインストールは以下のQiitaの記事を参考にさせていただいています。
venvの作成
venvを作成してアクティベートします。
python -m venv .venv
source .venv/bin/activate
手順4.CaboChaのPythonバインディングをインストール
続いて、先ほどインストールしたCaboChaをPythonから利用できるように、バインディングを構築します。
手順「2.CaboChaのインストール」でCabochaを解凍した結果作成されたディレクトリに、pythonというディレクトリがあるので、そこに移動します。
cd [Cabocha解凍先]/python
ディレクトリ内にsetup.pyがあるのでこれを使ってinstallします。
python3 setup.py build
python3 setup.py install
これでvenvで構築した環境にバインディングがインストールされました。
手順5.動作確認
CLIでpythonインタプリタを起動して動作確認してみます!
(.venv) .venv $ python3
Python 3.11.13 (main, Jun 22 2025, 15:28:43) [GCC 13.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>
>>> import CaboCha
>>> c = CaboCha.Parser()
>>> sentence = "すもももももももものうち"
>>> tree = c.parse(sentence)
>>> print(tree.toString(CaboCha.FORMAT_TREE))
すももも-D
ももも---D
ももの-D
うち
EOS
>>>
解析できていることが確認できました!
おわり
Pythonあまり詳しくないなりにいろいろ調べた結果ですので、
不足している点あれば忌憚なくご指摘くだされば幸いです!
参考文献
TakuKudo様の公式ドキュメント
Discussion