Skip to content

ku-nlp/knp

Repository files navigation

日本語構文・格・照応解析システム KNP

KNPは日本語文の構文・格・照応解析を行うシステムです。形態素解析システムJUMANもしくはJuman++の解析結果(形態素列)を入力とし、文節および基本句間の係り受け関係、格関係、照応関係を出力します。これらの関係の同定には、Webから自動構築した大規模格フレームを用いています。

以下では、KNPのインストール方法について説明します。KNPの使い方などは doc/manual.pdf をご覧ください。

インストール方法

以下のものが必要ですので、あらかじめインストールしておいてください。

  • zlibライブラリ (※ 多くのOSに標準でインストールされています)
  • gitからビルドする場合: libtool, automake, autoconf
    • Mac の場合、libtoolizeglibtoolize の形でインストールされていることがあります。その場合、 ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize などを実行し、libtoolize にパスを通しておいてください。

次の手順でKNPをビルドし、インストールしてください。

  1. (gitからビルドする場合) ./autogen.shを実行してください。
  2. 次のコマンドを実行して、KNP辞書をダウンロード、展開、配置してください。
    $ wget http://lotus.kuee.kyoto-u.ac.jp/nl-resource/knp/dict/latest/knp-dict-latest-bin.zip # ビルド済み辞書(2.6GB)
    $ unzip knp-dict-latest-bin.zip
    $ cp -ars `pwd`/dict-bin/* ./dict
  3. ./configureを実行してください。
  4. makeを実行してください。
  5. sudo make installを実行してください。

cp -ars実行時にmacOSなどで"cp: illegal option -- s"というエラーが出たら、cp -arsの代わりにmvを使うなどしてください。

Docker経由での利用

KNPのインストールに失敗する場合、Dockerを利用してコンテナ内のビルド済みKNPを使用することができます。 Dockerがインストールされた環境で以下のようにエイリアスを設定してください。

$ alias knp='docker run -i --rm --platform linux/amd64 kunlp/jumanpp-knp knp'
$ knp -v

Pythonからの利用

pyknp または rhoknp を使ってください。

Perlからの利用

次の手順を実行し、KNPのPerlモジュールをインストールしてください。

$ cd perl
$ perl Makefile.PL
$ make
$ sudo make install