この記事では、windows10 64bit環境でNLPを行うための環境構築について記載します。
NLPの入力用データを準備として、まずは分かち書きを行う環境を構築します。
分かち書きの微妙な違いによりNLPの結果が異なっているかどうかを比較可能にするために、ソフトウェアは、MeCabとJuman++ version2の2つを用いることにしました。
#1. 前提となる環境
Windows10 64bit
Anaconda (Python3.6)
文字コードは「UTF-8」を用います。
※Juman++ Version.2の使用のためには「Visual Studio2017」と「cmake」が必要になります。(後述)
#2. MeCab環境の構築
Windows10(64bit)でMeCab-Pythonを使えるようにするシンプルな方法(2018/6)
にまとめられています。
少しだけ私の場合と違ったので、念のため、以下に記載しました。
##2.1. ファイルの用意
Mecab(64bit版)をダウンロードしインストールします。
インストール時の文字コードの選択は「utf-8」を使用します。
perl/ruby/python/java バインディング リンク先のダウンロード(Google Drive)からmecab-python-0.996.tar.gzをダウンロードします。
##2.2. Pathの設定
- PCのプロパティを開き、「システムの詳細設定」をクリックします。
- 開いたWindowの一番下にある「環境設定(N)」をクリックします。
- 変数Pathを選択し、「編集(E)」をクリックして、開いたWindowの「新規(N)」をクリックし、「C:\Program Files\MeCab\bin」を追加して、OKします。
(注意:MeCabのインストール先が異なる場合は、適宜修正してください。) - ユーザの環境変数の画面から「新規(N)」をクリックします。
- 「変数名:MECABRC」、「値:C:\Program Files\MeCab\etc\mecabrc」としてOKをクリックします。
##2.3. pythonバインディングのインストール
- AnacondaでPython3.6の環境(NLPという名前にしました)を構築します。
- AnacondaからTerminalを開き、mecab-python-0.996.tar.gzを解凍します。
- mecab-python-0.996フォルダ内にあるsetup.pyを下記の内容で上書きします。
- Terminalからのmecab-python-0.996フォルダで「python setup.py build」を実行します
- 正常にbuildが完了したら、「python setup.py install」でインストールします。
- Pythonを立ち上げ「import MeCab」が実行できることを確認します。
#!/usr/bin/env python
from distutils.core import setup, Extension
setup(name = "mecab-python",
version = '0.996',
py_modules=["MeCab"],
ext_modules = [
Extension("_MeCab",
["MeCab_wrap.cxx",],
include_dirs=[r'C:\Program Files\MeCab\sdk'],
library_dirs=[r'C:\Program Files\MeCab\sdk'],
libraries=['libmecab'])
])
#3. Juman++ Version.2の環境構築
Juman++のVersion.2は開発中でありインストールスクリプトも2019年3月時点では未整備な状況です。
以下の内容は、あくまで2019年3月時点のものであることを前提としてください。
最新の情報はGitHubのリポジトリを参考にしてください。
##3.1. ソフトウェアの準備
- Cmakeをインストールします。
-
Visual Studio 2017 Communityをインストールします。いろいろオプションが出てきますが「C++によるデスクトップ開発環境」にチェックが入っていることを確認してください。
##3.2. ファイルの用意 - Juman++ Ver.2をダウンロードします。
##3.3. ビルド
- AnacondaからTerminalを開き、ダウンロードしたファイルを解凍します。
- 解凍したフォルダ(jumanpp-2.0.0-rc2)の中に移動し、以下のコマンドを実行してファイルをビルドします。
> mkdir build-dir
> cd build-dir
> cmake -G "Visual Studio 15 2017 Win64" ..
> cmake --build . --config Release
> ctest -C Release --output-on-failure
##3.4. インストール
現在のJuman++ version.2の設定ファイルは、半角スペースを取り扱うことができません。
インストール先は、「C:\jumanpp」などパスに半角スペースが含まれないフォルダにしてください。
- インストール先にファイルをコピー
- jumanpp-2.0.0-rc2\build-dir\src\jumandic\Release\jumanpp_v2.exe を C:\jumanppにコピーします。
- jumanpp-2.0.0-rc2\model\jumandic.jppmdl と jumandic.conf.inを C:\jumanpp\libexec\jumanppにコピーします。
2.設定ファイルの用意
C:\jumanpp\libexec\jumanpp\jumandic.conf.inをjumandic.confにリネームし、以下の内容を記載します。
--model=C:/jumanpp/libexec/jumanpp/jumandic.jppmdl
--rnn-nce-bias=5.62844432562
--rnn-unk-constant=-3.4748115191
--rnn-unk-length=-2.92994951022
--feature-weight-perceptron=1
--feature-weight-rnn=0.0176
##3.5. Pathの設定
- PCのプロパティを開き、「システムの詳細設定」をクリックします。
- 開いたWindowの一番下にある「環境設定(N)」をクリックします。
- 変数Pathを選択し、「編集(E)」をクリックして、開いたWindowの「新規(N)」をクリックし、「C:\jumanpp」を追加して、OKします。
(注意:Juman++ Version.2のインストール先が異なる場合は、適宜修正してください。)
#4. 動作確認
最後にTerminalからの動作確認をしておきます。
これはあくまで動作確認です。プログラムの性能の良し悪しは評価していません。
##3.1. 入力ファイルの準備
適当な内容のテキストファイルを用意します。ここでは、以下のようにします。文字コードをUTF-8にすることを忘れないでください。
きしゃのきしゃがきしゃできしゃした。
##3.2. コマンドラインでの実行
下記のコマンドを実行し、出力されたファイルが半角で区切られていれば動作確認完了です。
###3.2.1. Mecab
> mecab sample.txt -Owakati -o mecab_sample.txt
###3.2.2. Juman++ version.2
> jumanpp_v2.exe -c C:\jumanpp\libexec\jumanpp\jumandic.conf sample.txt --segment -o jumanpp_v2_sample.txt