Help us understand the problem. What is going on with this article?

NLP準備運動 : 分かち書き環境の構築 Mecab , Juman++ver2

More than 1 year has passed since last update.

この記事では、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の設定

  1. PCのプロパティを開き、「システムの詳細設定」をクリックします。
  2. 開いたWindowの一番下にある「環境設定(N)」をクリックします。
  3. 変数Pathを選択し、「編集(E)」をクリックして、開いたWindowの「新規(N)」をクリックし、「C:\Program Files\MeCab\bin」を追加して、OKします。 (注意:MeCabのインストール先が異なる場合は、適宜修正してください。)
  4. ユーザの環境変数の画面から「新規(N)」をクリックします。
  5. 「変数名:MECABRC」、「値:C:\Program Files\MeCab\etc\mecabrc」としてOKをクリックします。

2.3. pythonバインディングのインストール

  1. AnacondaでPython3.6の環境(NLPという名前にしました)を構築します。
  2. AnacondaからTerminalを開き、mecab-python-0.996.tar.gzを解凍します。
  3. mecab-python-0.996フォルダ内にあるsetup.pyを下記の内容で上書きします。
  4. Terminalからのmecab-python-0.996フォルダで「python setup.py build」を実行します
  5. 正常にbuildが完了したら、「python setup.py install」でインストールします。
  6. Pythonを立ち上げ「import MeCab」が実行できることを確認します。
setup.py
#!/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. ソフトウェアの準備

  1. Cmakeをインストールします。
  2. Visual Studio 2017 Communityをインストールします。いろいろオプションが出てきますが「C++によるデスクトップ開発環境」にチェックが入っていることを確認してください。 ##3.2. ファイルの用意
  3. Juman++ Ver.2をダウンロードします。

3.3. ビルド

  1. AnacondaからTerminalを開き、ダウンロードしたファイルを解凍します。
  2. 解凍したフォルダ(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」などパスに半角スペースが含まれないフォルダにしてください。
1. インストール先にファイルをコピー
- 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にリネームし、以下の内容を記載します。

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の設定

  1. PCのプロパティを開き、「システムの詳細設定」をクリックします。
  2. 開いたWindowの一番下にある「環境設定(N)」をクリックします。
  3. 変数Pathを選択し、「編集(E)」をクリックして、開いたWindowの「新規(N)」をクリックし、「C:\jumanpp」を追加して、OKします。 (注意:Juman++ Version.2のインストール先が異なる場合は、適宜修正してください。)

4. 動作確認

最後にTerminalからの動作確認をしておきます。
これはあくまで動作確認です。プログラムの性能の良し悪しは評価していません。

3.1. 入力ファイルの準備

適当な内容のテキストファイルを用意します。ここでは、以下のようにします。文字コードをUTF-8にすることを忘れないでください。

sample.txt
きしゃのきしゃがきしゃできしゃした。

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
yosh_s
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした