ubuntuへのjuman++、knp、pyknpのインストール方法
jumanのインストール
JUMAN - KUROHASHI-KAWAHARA LAB より最新のjumanのbzip2ファイルをダウンロードし、
$ tar jxvf juman-7.01.tar.bz2 $ cd juman-7.01 $ ./configure --prefix=/home/<username>/.usr $ make $ make install $ ./configure # juman.hをknpインストール時に使うため、prefixを指定しないケースでのインストールも実施する $ make $ sudo make install
そして、jumanを実行できるようにするため、~/.bashrc
に以下を記述する。
export PATH=$HOME/.usr/bin:$PATH
また、jumanの*.soファイルを見つけられるように、
$ sudo vim /etc/ld.so.conf
でファイルを開いた後に、以下の1行を追加する。
include /home/<usrname>/.usr/lib
最後にパスを読み込み直す。
$ sudo ldconfig
knpのインストール
KNP - KUROHASHI-KAWAHARA LAB より最新のknpのbzip2ファイルをダウンロードし、
$ tar jxvf knp-4.19.tar.bz2 $ cd knp-4.19 $ ./configure --prefix=/home/<usrname>/.usr --with-juman-prefix=/home/<usrname>/.usr $ make $ make install
juman++のインストール
ku-nlp/jumanpp: Juman++ (a Morphological Analyzer Toolkit)の通り。 Releases · ku-nlp/jumanppより最新のtar.xzファイルをダウンロードし、
$ tar xf jumanpp-<version>.tar.xz # decompress the package $ cd jumanpp-<version> # move into the directory $ mkdir bld # make a subdirectory for build $ cd bld $ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/<usrname>/.usr $ make install -j<parallelism>
pyknpのインストール
$ pip install pyknp
インストール確認
ターミナルから
$ echo "麻生太郎はコーヒーを買って飲んだ。" | jumanpp | knp -simple -anaphora
と叩いて、以下のように出力されたら成功。
# S-ID:1 KNP:4.19-CF1.1 DATE:2019/06/08 SCORE:-16.31767 * 3D <体言> + 1D <体言><EID:0> 麻生 あそう 麻生 名詞 6 人名 5 * 0 * 0 "人名:日本:姓:135:0.00166 疑似代表表記 代表表記:麻生/あそう" <NE:PERSON:B> + 4D <体言><NE:PERSON:麻生太郎><Wikipediaエントリ:麻生太郎><EID:1> 太郎 たろう 太郎 名詞 6 人名 5 * 0 * 0 "人名:日本:名:45:0.00106 疑似代表表記 代表表記:太郎/たろう" <Wikipediaエントリ:麻生太郎:0-1><NE:PERSON:E> は は は 助詞 9 副助詞 2 * 0 * 0 NIL * 3D <体言> + 4D <体言><EID:2> コーヒー こーひー コーヒー 名詞 6 普通名詞 1 * 0 * 0 "代表表記:珈琲/こーひー ドメイン:料理・食事 カテゴリ:人工物-食べ物" を を を 助詞 9 格助詞 1 * 0 * 0 NIL * 3D <用言:動> + 4D <用言:動><EID:3><項構造:ガ/麻生太郎/1;ヲ/コーヒー/2> 買って かって 買う 動詞 2 * 0 子音動詞ワ行 12 タ系連用テ形 14 "代表表記:買う/かう ドメイン:家庭・暮らし;ビジネス 反義:動詞:売る/うる" * -1D <用言:動> + -1D <用言:動><EID:4><項構造:ガ/麻生太郎/1;ヲ/コーヒー/2> 飲んだ のんだ 飲む 動詞 2 * 0 子音動詞マ行 9 タ形 10 "代表表記:飲む/のむ ドメイン:料理・食事" 。 。 。 特殊 1 句点 1 * 0 * 0 NIL EOS
pythonから
# coding: utf-8 # It is not necessary when you use python3. from __future__ import unicode_literals from pyknp import Juman # default is JUMAN++: Juman(jumanpp=True). if you use JUMAN, use Juman(jumanpp=False) jumanpp = Juman() result = jumanpp.analysis("下鴨神社の参道は暗かった。") for mrph in result.mrph_list(): # 各形態素にアクセス print("見出し:%s, 読み:%s, 原形:%s, 品詞:%s, 品詞細分類:%s, 活用型:%s, 活用形:%s, 意味情報:%s, 代表表記:%s" % (mrph.midasi, mrph.yomi, mrph.genkei, mrph.hinsi, mrph.bunrui, mrph.katuyou1, mrph.katuyou2, mrph.imis, mrph.repnam\ e))
上記スクリプトを実行して、以下のように出力されたら成功。
見出し:下鴨, 読み:しもがも, 原形:下鴨, 品詞:名詞, 品詞細分類:地名, 活用型:*, 活用形:*, 意味情報:自動獲得:Wikipedia Wikipedia地名, 代表表記: 見出し:神社, 読み:じんじゃ, 原形:神社, 品詞:名詞, 品詞細分類:普通名詞, 活用型:*, 活用形:*, 意味情報:代表表記:神社/じんじゃ ドメイン:文化・芸術 カテゴリ:場所-施設 地名末尾, 代表表記:神社/じんじゃ 見出し:の, 読み:の, 原形:の, 品詞:助詞, 品詞細分類:接続助詞, 活用型:*, 活用形:*, 意味情報:NIL, 代表表記: 見出し:参道, 読み:さんどう, 原形:参道, 品詞:名詞, 品詞細分類:普通名詞, 活用型:*, 活用形:*, 意味情報:代表表記:参道/さんどう ドメイン:文化・芸術 カテゴリ:場所-施設, 代表表記:参道/さんどう 見出し:は, 読み:は, 原形:は, 品詞:助詞, 品詞細分類:副助詞, 活用型:*, 活用形:*, 意味情報:NIL, 代表表記: 見出し:暗かった, 読み:くらかった, 原形:暗い, 品詞:形容詞, 品詞細分類:*, 活用型:イ形容詞アウオ段, 活用形:タ形, 意味情報:代表表記:暗い/くらい, 代表表記:暗い/くらい 見出し:。, 読み:。, 原形:。, 品詞:特殊, 品詞細分類:句点, 活用型:*, 活用形:*, 意味情報:NIL, 代表表記:
参考URL
- JUMAN - KUROHASHI-KAWAHARA LAB
- KNP/インストール方法 - KUROHASHI-KAWAHARA LAB
- KNP - KUROHASHI-KAWAHARA LAB
- Ubuntu 日本語形態素解析システムJUMANのインストール方法 | トライフィールズ
- ku-nlp/jumanpp: Juman++ (a Morphological Analyzer Toolkit)
- ku-nlp/pyknp: A Python Module for JUMAN++/KNP
- pyknp: Python Module for JUMAN++/KNP — pyknp documentation