LoginSignup
10
9

More than 5 years have passed since last update.

JUMAN++, KNP, python(for pyKNP)を使うためのDockerコンテナを作りました。

Last updated at Posted at 2017-08-22

目的

JUMAN++ と KNP を使って係り受け解析をしたかったのですが、手元にwindows PCしかないために、Docker for Windowsを使って環境構築しました。
手作業では辛い作業があったので、pyKNPも使えるようにしたかった。

Dockerコンテナはこちら

yusanish/jumanpp_knp

簡単な説明です。

  • pythonの3-stretchを継承してます。
  • 日本語化済み
  • pyKNPは初期状態では入っていないです。
  • デカイです。3GBあります…。

使い方

基本的には、コンテナの標準出力を繋いでコンテナ内のJUMAN++とKNPを利用します。
CMDには/bin/bashを指定してます。

docker run -it --name jumanpp_knp yusanish/jumanpp_knp:latest

root@CONTAINER_ID:~#
root@CONTAINER_ID:~# echo "今日のご飯はカレーです。" | jumanpp | knp
今日の═════╗     <体言><NE:DATE:今日>
        ご飯は═════╗ <体言>
          カレーです。<体言><用言:判><格解析結果:ガ/ご飯;ガ2/->
EOS
root@CONTAINER_ID:~#

pyKNPを使いたいとき

pyKNPのインストール方法はこちらをどうぞ。

とても簡単なサンプル

>>> import pyknp
>>> knp = pyknp.KNP()
>>> knp = pyknp.KNP(jumanpp=True)
>>> result = knp.parse("今日の晩御飯はカレーだった。")
>>> result.draw_bnst_tree()

使用できる関数や変数に関しては、こちらに詳しくまとめてあります。
pyKNPについてのメモ

参考文献・コード

10
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
9