JUMAN++は、京都大学黒橋・河原研究室で開発されている日本語の形態素解析システムです。RNNを使った言語モデルを使用しているとのことで、MecabやJUMANより自然な感じの形態素解析ができるらしいです。(雑な説明でごめんなさい)
今回のざっくりとした環境は下記のとおりです。CentOS7は最小インストールした直後の状態を想定しています。
- JUMAN 1.02
- Python 3.4
- CentOS 7.3
とても時間がかかりました。
準備
とりあえず、gccとc++が必要ですのでインストールします。それとPython-develが必要になりますので、インストールします。 (Python3-develでは、boostのコンパイル時にエラーが出るようです。)yum install gcc gcc-c++ python-devel
yum install epel-release
yum install python34 python34-devel python34-pip
Boost C++ Libraries のインストール
Boostの公式サイトからソースをダウンロードします。インストール方法は公式サイトの5.2.1に書いてあるみたいです。
なお、Boost C++ Librariesのインストールに当たっては、「boostjp : Boost日本語情報サイト」が大変参考になりました。
mkdir download
mkdir src
cd download
wget https://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_65_1.tar.gz
cd ~/src
tar xzvf ../download/boost_1_65_1.tar.gz
cd boost_1_65_1/
./bootstrap.sh
./b2 install -j2
-j2の部分はコア数に応じて増やした方が、コンパイルが早く終わると思います。
JUMAN++のインストール
長いコンパイルが終わるとやっとJUMAN++のインストールに入れます。 JUMAN++自体は、コンパイルしてインストールするだけです。cd ~/download/
wget 'http://nlp.ist.i.kyoto-u.ac.jp/DLcounter/lime.cgi?down=http://lotus.kuee.kyoto-u.ac.jp/nl-resource/jumanpp/jumanpp-1.02.tar.xz&name=jumanpp-1.02.tar.xz' -O jumanpp-1.02.tar.xz
cd ~/src
tar Jxfv ../download/jumanpp-1.02.tar.xz
cd jumanpp-1.02/
./configure
make
make install
正常に動作するか確認します。
echo "これは、テストです。" | jumanpp
これ これ これ 指示詞 7 名詞形態指示詞 1 * 0 * 0 NIL
は は は 助詞 9 副助詞 2 * 0 * 0 NIL
、 、 、 特殊 1 読点 2 * 0 * 0 NIL
テスト てすと テスト 名詞 6 サ変名詞 2 * 0 * 0 "代表表記:テスト/てすと カテゴリ:抽象物 ドメイン:教育・学習"
です です だ 判定詞 4 * 0 判定詞 25 デス列基本形 27 NIL
。 。 。 特殊 1 句点 1 * 0 * 0 NIL
EOS
上記のような表示されれば、インストールは成功です。
Pythonバインディングのインストール
PyKNPはJUMANをインストールした際に合わせてインストールしている場合は、読み飛ばしてください。pip3 install six
cd ~/download/
wget 'http://nlp.ist.i.kyoto-u.ac.jp/DLcounter/lime.cgi?down=http://lotus.kuee.kyoto-u.ac.jp/nl-resource/pyknp/pyknp-0.3.tar.gz&name=pyknp-0.3.tar.gz' -O pyknp-0.3.tar.gz
cd ~/src/
tar xzvf ../download/pyknp-0.3.tar.gz
cd pyknp-0.3/
python3 setup.py install
テストプログラムを書いて実行してみます。
ファイル: test.py
from pyknp import Jumanpp
j = Jumanpp()
r = j.analysis('これは、テストです。')
for m in r.mrph_list():
print (m.midasi, m.yomi, m.genkei, m.hinsi, m.bunrui, m.katuyou1, m.katuyou2, m.imis, m.repname)
下記のように表示されれば、成功です。
python3 test.py
これ これ これ 指示詞 名詞形態指示詞 * * NIL
は は は 助詞 副助詞 * * NIL
、 、 、 特殊 読点 * * NIL
テスト てすと テスト 名詞 サ変名詞 * * 代表表記:テスト/てすと カテゴリ:抽象物 ドメイン:教育・学習 テスト/てすと
です です だ 判定詞 * 判定詞 デス列基本形 NIL
。 。 。 特殊 句点 * * NIL
0 件のコメント:
コメントを投稿