読者です 読者をやめる 読者になる 読者になる

UTALI

書き溜めておいた技術記事や旅行記のバックアップです。

Pythonで JUMAN++ を使用する方法

f:id:mochizuki_p:20161020203741p:plain

JUMAN++のPythonラッパー

京大で開発されたRNNベースの形態素処理エンジンのJUMAN++はC++で書かれていますが公式がPythonラッパーを提供しています。

Linuxでのみ利用可能とのことですが今回はMacでの動作確認を兼ねてOSXで実行してみることします。

最初にJUMAN++がインストールされているか確認して下さい もしインストールされていない場合はこちらを参考に

mochizuki4.hatenablog.com

まずは公式にしたがってライブラリをインストール

$ 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

このライブラリはPython2とPython3の両方に対応しています。

次にREPLを立ち上げて動作確認をしてみようと思います。

python3

ライブラリをインポート

from pyknp import Jumanpp
jumanpp = Jumanpp()

解析はanalysis()で実行します。

result = jumanpp.analysis("外国人参政権")

結果は.mrph_list()にリスト形式で保存されています。

各要素にはmrph.midasiのようにオブジェクト形式でキーを指定してアクセスします。 対応を表にまとめました。

キー
見出し midasi
読み yomi
原形 genkei
品詞 hinsi
品詞細分類 bunrui
活用型 katuyou1
活用形 katuyou2
意味情報 imis
代表表記 repname

見出しのみを表示してみることにしましょう。

for mrph in result.mrph_list():
  print(mrph.midasi)

結果

外国
人
参政
権