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

自然言語処理ライブラリサーバ環境構築(MeCab, NEologd, JDepP)

More than 1 year has passed since last update.

形態素解析器MeCabとその辞書のインストール方法、pythonバインディングのインストール方法、係り受け解析器jDepPのインストール方法を書き残します。

管理者権限がないことを考えてホームにインストールします。
基本的な方法はこれを参考に。

libtool

libtoolが必要なので先にインストールしておく

cd ~/src
$ curl -O ftp://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz
$ tar zxvf libtool-2.4.2.tar.gz
$ rm libtool-2.4.2.tar.gz
$ cd libtool-2.4.2
$ ./configure --prefix=$HOME/local
$ make
$ make check # 処理が長い
$ make install

MeCab

MeCabをインストールします

$ cd ~/src
$ git clone git@github.com:taku910/mecab.git
$ cd mecab/mecab
$ ./configure --prefix=$HOME/local --with-charset=utf8 --enable-utf8-only
$ make

ここでエラーが出る場合。
エラー: aclocal-1.10: couldn't open directory `m4': No such file or directory とか言われた。調べたらディレクトリを作れば良いらしかった。

$ mkdir m4

再度

$ make # ここでエラーが出て再度やりなおす場合下のコマンドで設定を再度してくれるっぽい
# $ autoreconf
# $ ./configure --prefix=.............

そして、エラーが出なかったら、以下の続き

$ make check
$ make install

ipadic

MeCabで使うipadic辞書をインストールします。

$ wget https://sourceforge.net/projects/mecab/files/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz/download -O mecab-ipadic-2.7.0-20070801.tar.gz
$ tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz
$ rm mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801/
$ ./configure --prefix=$HOME/local --with-charset=utf8
$ make
$ make install

NEologd

辞書NEologdをインストールします。
固有名詞捉えたい時に便利ですよね。むしろ最近これしか使っていないです。
また今回は、研究用も考えて、固定のバージョンであるv0.0.5のインストール方法を載せています。

$ cd ~/src
$ wget https://github.com/neologd/mecab-ipadic-neologd/archive/v0.0.5.tar.gz
$ tar zxvf v0.0.5.tar.gz
$ rm v0.0.5.tar.gz
$ cd mecab-ipadic-neologd-0.0.5
$ ./bin/install-mecab-ipadic-neologd -n # 一度失敗してbuild dirができる

公式では./bin/install-mecab-ipadic-neologd -nをしろと書いてあるが、sudo権限を要求され失敗します。
このコマンドを叩くと ~/src/mecab-ipadic-neologd-0.0.5 ディレクトリ以下にbuildディレクトリが生成されるので、これを使う。

$ cd build/mecab-xxx...xxx/
$ ./configure --prefix=$HOME/local
$ make
$ make install

ただし、この時、ipadicを上書きしている感じになっている。
だからといってipadicより先に入れるのはダメなよう(utf-8のipadicが入っていないと後で文字化けしたり面倒なことになる)。

よって、ipadicを上書きすることになる。
辞書の名前はNEologdに変更しておく。

$ mv $HOME/local/lib/mecab/dic/ipadic $HOME/local/lib/mecab/dic/mecab-ipadic-neologd-0.0.5 

ipadic辞書が欲しい場合はもう一度インストールする。

それぞれの辞書が正しく入っているか不安な人は、mecabで辞書指定して芸能人の名前など固有名詞入れてみてください。NEologdの辞書の方では正しく固有名詞と解析されていると思います。

pythonバインディング

python3系

$ pip install mecab-python3

python2系

(googlecodeから取得している記事が多いですが、googlecodeは閉鎖してしまったのでこちらで)

$ cd ~/src/mecab
$ cd mecab/python
$ vi setup.py 

以下setup.pyを編集
編集前

setup.py
def cmd2(str):
    return string.split (cmd1(str))

↓↓↓↓↓↓↓↓
編集後

setup.py
def cmd2(str):
    return cmd1(str).split()

そしてインストール

$ python setup.py build
$ python setup.py install

テスト

$ python test.py

JDepP

東京大学の吉永先生が作成した係り受け解析器です(ホームページ)。
驚異的な解析速度らしいですね(参考)。

コンパイル時に指定した辞書じゃないと、結果が壊れてしまうので注意が必要です。

ダウンロード

$ cd ~/src
$ wget http://www.tkl.iis.u-tokyo.ac.jp/~ynaga/jdepp/jdepp-latest.tar.gz
$ tar zxvf jdepp-latest.tar.gz

NEologdを辞書にしたいなら

# mecab辞書へのパス
# ローカルにインストールしていれば
# $HOME/local/lib/mecab/dic
$ cd path/to/lib/mecab/dic
$ mv ipadic ipadic.orig
$ ln -s mecab-ipadic-neologd ipadic

インストール

$ cd ~/src/jdepp-YYYY-MM-DD
$ ./configure --with-mecab-dict=IPA --prefix=$HOME/local
$ make clean
$ make model
$ make install
Why do not you register as a user and use Qiita more conveniently?
  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
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