圧倒的成長

日々の備忘録

WSL2上UbuntuでMeCab導入

日本語の構文解析・・・とまではいかないけど、NLP的なことをしたいのでMeCabを導入することにした。 これはその備忘録。ついでにvirtualenvで仮想環境を作る部分も(普段はDockerでOS/マシンレベルで仮想環境を作っていたけど、virtualenvってめちゃくちゃ楽で便利だ。anyenvとかほかにもいろいろあるみたいだけど)。

基本的にはこれにならった。

qiita.com

apt関連のアップデート。

sudo apt update

virtualenvをインストールして、workspaceという名前で仮想環境を作り、その仮想環境を有効化。

sudo apt install python3-venv
python3 -m venv .venv/workspace
source .venv/workspace/bin/activate

いちいち source .venv/workspace/bin/activate と入力するのも面倒なので、 ~/.bashrc に便利関数でも作ると良いかも。たとえば

function vactivate () {
        source ~/.venv/$1/bin/activate
    } 

的な。これで vactivate workspace で仮想環境 workspace が有効化される。無効化するときは deactivate

そこまでやったらMeCabのインストール。

sudo apt install mecab
sudo apt install libmecab-dev
sudo apt install mecab-ipadic-utf8
mkdir public_repo
cd public_repo/
git clone https://github.com/neologd/mecab-ipadic-neologd.git
cd mecab-ipadic-neologd/

ビルドが必要なので、開発者用ツールをインストールした後、ビルドする。

sudo apt install build-essential
sudo bin/install-mecab-ipadic-neologd 

その後辞書を登録する。具体的には、 /etc/mecabrc にさきほどビルドした辞書のパスを教えてあげる。 sudo vim /etc/mecabrcdicdir = /var/lib/mecab/dic/debiandicdir = /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/ に書き換え。

次にPythonパッケージをインストール。

sudo pip install -U pip
sudo apt install swig
sudo pip install mecab-python3

このままだと、冒頭のリンク先の記事にあるようにPythonからMeCabが使えない( failed to initialize みたいなエラーが出る)。なので、

vim .bashrc~/.bashrc を改変。 export MECABRC=/etc/mecabrc の1行を追加。 その後 source ~/.bashrcで変更を反映させる。 その後 mecab を使うと辞書が最新のものに反映されているのがわかる。Pythonからも使えるはず。

最後にウェブで悪いこと(嘘ですよ)をするときに必須のパッケージをインストール。

sudo pip install jupyter
sudo pip install beautifulsoup4

Seleniumも入れたらもっといろいろできるけど、今回はやらない。