WSL2上UbuntuでMeCab導入
日本語の構文解析・・・とまではいかないけど、NLP的なことをしたいのでMeCabを導入することにした。 これはその備忘録。ついでにvirtualenvで仮想環境を作る部分も(普段はDockerでOS/マシンレベルで仮想環境を作っていたけど、virtualenvってめちゃくちゃ楽で便利だ。anyenvとかほかにもいろいろあるみたいだけど)。
基本的にはこれにならった。
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/mecabrc
で
dicdir = /var/lib/mecab/dic/debian
を dicdir = /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も入れたらもっといろいろできるけど、今回はやらない。