形態素解析をしたい…
pythonを使ってmecabをwindowsにインストールできない…
mecab ipadic neologdがインストールできない…
こんな悩みを解消できるかもしれません。形態素解析をするためにMeCabをインストールしてみました。この記事では、私が躓いたところ、MeCabの具体的なインストールまでの手順について書いていきます。各手順で参考にさせていただいた記事を紹介していきます。
pythonを使ってMeCabをインストールする手順はネット上にたくさんありますが、各々やり方、環境が違うので、自分の環境に合った方法を自身で見つけ出してインストールしなければなりません。私は丸2日かかってしまいました。。。私と同じような失敗を起こした人のために、エラーの解消法についてまとめておきます。
■環境
今回MeCabインストール時の私の環境は以下の通りです。
・OS:Windows10(64bit)
・Python3.7.2
・WSL:Ubuntu18.04
・MeCab0.996
■MeCabインストールの流れとエラー対処法
MeCabのインストールの具体的な流れ、インストール時のエラーを書いてきます。
□MeCab本体をインストール
MeCab本体のインストールについては。あれこれさんの64Bit版Windows10でMecabをインストールする方法
をみればできます。 注意点としては、この記事を書いている時点(2019/01/13)で、mecab-python-windowsのパッケージが更新されて、mecab_python_windows-0.996.1-cp37-cp37m-win_amd64.whlが使えるようになっています。Python3.7を使っている方は、こちらのファイルをpipでインストールしましょう。
Python3.6を使っている方は、以前のバージョンのもの(mecab-python-windows 0.996.0)を使えばMeCabをインストールできます。
この時点で、MeCab本体を使えるようになっています。
MeCabでエラーがでてしまう場合は、環境変数を編集からPathを上記記事でインストールしたMeCab\binにPathを通してみてください。
□WSLでUbuntuを導入
MeCabが利用できるようになりましたが、辞書が古いので、固有名詞を解析するのが難しいです。例えば、アイドルマスターをアイドル・マスターと分割してしまいます。分割数が増えるとより多くの処理が必要になるため、辞書を強化する必要があります。
そこでMeCabを開発した方が、mecab-ipadic-neologdという新しい辞書を世に出してくれています。ところがこのneologdはWindowsから直接インストールすることができません。そのため、WSLを使ってneologdをインストール、ビルドといった手順を踏む必要がでてきます。
以下の記事をみながらWSLでUbuntuをインストールできます。
Windows 10でLinuxプログラムを利用可能にするWSLをインストールする(バージョン1803以降対応版)
Ubuntu自体の導入はエラーが発生しなかったので、説明はリンク先の記事を参照してください。
□neologdをインストール、ビルド
ここからが鬼門です。Ubuntuでneologdをインストール、ビルドしていきます。
mecab64bit版をつくってくれたyukino itagakiさんのQuiitaがわかりやすいです。
MeCab NEologd辞書をWindows Subsystem for LinuxでビルドしてWindowsで使うための手順
この記事を参考に進めていきます。gitをインストールしておかないとエラーが出てた記憶があるので、以下のコードを実行してから記事へ飛んでください。
1 |
sudo apt install git |
私がneologdをインストールする際に起きたのが以下のエラーです。まだまだ私自身が初心者なのでエラーの詳しい説明はできませんが、解決法を載せておきます。
・unable to locate package
これはパッケージが古い状態のために出るエラーっぽい。
以下のコマンドを実行で、aptがアップデートされ、パッケージをインストールできるようになります。
1 2 |
$ sudo apt update $ sudo apt upgrade |
・make is nof found
対処法は、以下のコードを実行
1 |
sudo apt install --reinstall build-essential |
build-essentialを再インストールすることで、解決できます。
・curl is not found
curlをインストールすれば解決。
1 |
sudo apt install curl |
上記コード実行で解決します。
dicdirのパスをいじるとエラーになる方は、応急的な対応ですが、以下の方法も使えます。
既存の辞書データ(MeCab\dir\ipadic)へビルドしたneologdディレクトリ内のファイルをipadicへ上書き
これにより、neologdのデータがipadicに上書きされ、辞書が強化されます。
■まとめ
MeCabをインストールする手順は以下の通りです。
MeCabインストールの流れとエラー対処法
MeCab本体をインストール
WSLでUbuntuを導入
neologdをインストール、ビルド
MeCabをwindowsで動かすには、大変なことがわかりましたね。おとなしく別の方法からやればよかったかもと反省。
Windowsじゃなきゃだめなんだという強いこだわりがない人(特に初心者で)は、Windowsよりも仮想デスクトップとかを使って別のOSを使った方が無難だと思います。
また、知識がないうちはjanomeという形態素解析を行えるパッケージもあるので、そちらを使うのもありだと思います。
janomeは解析速度がMeCabの10倍かかると作者がおっしゃっていますが、初心者のうちはそもそも莫大な量の解析は行わない(行わないほうがいい)と思うので十分選択肢に入るかと思います。
最後まで読んでいただきありがとうございました。