JUMAN++をPythonから使う

  • 32
    Like
  • 0
    Comment

はじめに

JUMAN++は黒橋・河原研究室から発表されたRNNを使用した形態素解析器です.
本記事ではPythonラッパーを通じてJUMAN++を使用する方法を紹介します.
単純にJUMAN(形態素解析器),KNP(構文解析器),PyKNP(JUMANとKNPのPythonバインディング)のインストール方法なので,これらの導入の参考にもなるかと思います.

導入方法

JUMAN++はPyKNPを通じて利用することができます.
PyKNPはJUMANとKNPに依存しているため,まず先にこれらをインストールしていきます.

前提

  • ubuntu-16.04
  • こちらを参考にJUMAN++をインストールしていること

JUMANのインストール

まず以下のコマンドでJUMANをインストールします.

$ wget http://nlp.ist.i.kyoto-u.ac.jp/nl-resource/juman/juman-7.01.tar.bz2
$ tar jxvf juman-7.01.tar.bz2
$ cd juman-7.01
$ ./configure
$ make
$ sudo make install

このままではパスが通っていないので,以下の通りパスを通していきます.

$ sudo vim /etc/ld.so.conf

ファイルが開けたら以下を追記します.

include /usr/local/lib

以下のコマンドでパスを読み込み直します.

$ sudo ldconfig

バージョンが確認できたらインストールに成功しています.

$ juman -v
juman 7.01

KNPのインストール

次にKNPをインストールします.
環境によっては解凍に時間がかかりますが,終わるまで待ちます.

$ wget http://nlp.ist.i.kyoto-u.ac.jp/nl-resource/knp/knp-4.16.tar.bz2
$ tar jxvf knp-4.16.tar.bz2
$ cd knp-4.16
$ ./configure
$ make
$ sudo make install

インストール完了です.
ついでに動作確認も行います.

$ echo "外国人参政権" | jumanpp | knp
# S-ID:1 KNP:4.16-CF1.1 DATE:2016/10/19 SCORE:-1.20047
外国──┐
          人──┐
                参政──┐
                          権
EOS

構文解析できました.
(jumanppの部分はjumanでも構いません)

PyKNPのインストール

前提環境ではsetuptoolsがインストールされていないため,以下の通りsetuptools(とpip)をインストールします.
ついでに,PyKNPの依存ライブラリsixも入れています.

$ sudo apt install python-pip
$ pip install six

以下のようにPyKNPをインストールします.

$ wget http://nlp.ist.i.kyoto-u.ac.jp/nl-resource/knp/pyknp-0.3.tar.gz
$ tar xvf pyknp-0.3.tar.gz
$ cd pyknp-0.3
$ sudo python setup.py install

完了です.

サンプルプログラム

では,PythonからJUMAN++を使用してみます.
以下のようなプログラムを作成します.

test.py
#-*- encoding: utf-8 -*-
from pyknp import Jumanpp
import sys
import codecs
sys.stdin = codecs.getreader(utf_8)(sys.stdin)
sys.stdout = codecs.getwriter(utf_8)(sys.stdout)
# JUMAN++をsubprocessモードで使用
jumanpp = Jumanpp()
result = jumanpp.analysis(u"ケーキを食べる")
for mrph in result.mrph_list():
    print(u"見出し:{0}".format(mrph.midasi))
$ python test.py
見出し:ケーキ
見出し:を
見出し:食べる

PythonからJUMAN++を呼び出せました.

参考

JUMAN++ マニュアル v1.01
http://lotus.kuee.kyoto-u.ac.jp/nl-resource/jumanpp/jumanpp-manual-1.01.pdf
Ubuntu 日本語形態素解析システムJUMANのインストール方法
http://www.trifields.jp/how-to-install-juman-in-ubuntu-1404-1375
Ubuntu 日本語構文・格・照応解析システムKNPのインストール方法
http://www.trifields.jp/how-to-install-knp-in-ubuntu-1404-1382