WSL上にJUMAN, JUMAN++,そしてKNPをインストールする。
備忘録として京都大学黒橋・村脇研究室が公開している日本語形態素解析器のJUMAN, JUMAN++、そして構文解析器のKNPをWSL上にインストールする方法を記します。※JUMANは既に開発が停止している?ようです。
1. 必要なビルド環境を整える。
sudo apt update -y
sudo apt upgrade -y
apt-get install build-essential
sudo apt-get install cmake -y
sudo apt-get install zlib1g-dev
sudo apt-get install autoconf automake libtool autoconf-doc libtool-doc
2. Jumanのインストール
tar xvf juman-7.01.tar.bz2
cd juman-7.01/
# デフォルトで /usr/local/にインストールされる。
./configure
make
# sudo権限で実行
make install
3. Jumanがイントールされているかどうかの確認
# versionチェック
$ juman -v
juman 7.01
# 動作確認
$ echo すもももももももものうち | juman
すもも すもも すもも 名詞 6 普通名詞 1 * 0 * 0 "自動獲得:テキスト"
も も も 助詞 9 副助詞 2 * 0 * 0 NIL
@ も も も 助詞 9 接続助詞 3 * 0 * 0 NIL
もも もも もも 名詞 6 普通名詞 1 * 0 * 0 "代表表記:桃/もも 漢字読み:訓 カテゴリ:植物;人工物-食べ物 ドメイン:料理・食事"
@ もも もも もも 名詞 6 普通名詞 1 * 0 * 0 "代表表記:股/もも カテゴリ:動物-部位"
も も も 助詞 9 副助詞 2 * 0 * 0 NIL
@ も も も 助詞 9 接続助詞 3 * 0 * 0 NIL
もも もも もも 名詞 6 普通名詞 1 * 0 * 0 "代表表記:桃/もも 漢字読み:訓 カテゴリ:植物;人工物-食べ物 ドメイン:料理・食事"
@ もも もも もも 名詞 6 普通名詞 1 * 0 * 0 "代表表記:股/もも カテゴリ:動物-部位"
の の の 助詞 9 接続助詞 3 * 0 * 0 NIL
うち うち うち 名詞 6 副詞的名詞 9 * 0 * 0 "代表表記:うち/うち"
EOS
4. Juman++のインストール
tar xvf jumanpp-2.0.0-rc3.tar.xz
cd jumanpp-2.0.0-rc3
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local
# install開始から10-15分程度時間が掛かります。
make
# sudo権限で実行
make install
5. Juman++がイントールされているかどうかの確認
# versionチェック
$ jumannpp -v
Juman++ Version: 2.0.0-rc3
# 動作確認
$ echo 今日は美味しいご飯を食べたい。 | jumanpp
今日 きょう 今日 名詞 6 時相名詞 10 * 0 * 0 "代表表記:今日/きょう カテゴリ:時間"
は は は 助詞 9 副助詞 2 * 0 * 0 NIL
美味しい おいしい 美味しい 形容詞 3 * 0 イ形容詞イ段 19 基本形 2 "代表表記:美味しい/おいしい ドメイン:料理・食事 反義:形容詞:まずい/まずい"
ご飯 ごはん ご飯 名詞 6 普通名詞 1 * 0 * 0 "代表表記:御飯/ごはん ドメイン:料理・食事 カテゴリ:人工物-食べ物"
を を を 助詞 9 格助詞 1 * 0 * 0 NIL
食べ たべ 食べる 動詞 2 * 0 母音動詞 1 基本連用形 8 "代表表記:食べる/たべる ドメイン:料理・食事"
たい たい たい 接尾辞 14 形容詞性述語接尾辞 5 イ形容詞アウオ段 18 基本形 2 "代表表記:たい/たい"
。 。 。 特殊 1 句点 1 * 0 * 0 NIL
EOS
※ apt-get install jumanでインストールすると、KNPがインストールできないようです。
出力結果がでていれば無事インストールされています。
続いて、KNPのインストールです。
6. KNPのインストール
git clone https://github.com/ku-nlp/knp
cd 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
./configure
make
# sudo権限で実行
make install
7. KNPがイントールされているかどうかの確認
# versionチェック
$ knp -v
knp 5.0 (Revision.165d699a on 2020-04-27)
# 動作確認
$ juman | knp
私は昨日図書館で借りた分厚い本を読んだ。
# S-ID:1 KNP:5.0-165d699a DATE:2020/07/19 SCORE:-31.26261
私は──┐ <体言>
昨日──┐ │ <体言>
図書──┐ │ <体言>
館で──┐ │ <体言><Wikipediaエントリ:図書館>
借りた──┐ │ <用言:動><格解析結果:ガ/-;ヲ/本;ニ/-;デ/館;カラ/-;時間/->
分厚い──┤ │ <用言:形><格解析結果:ガ/本;ガ2/->
本を──┤ <体言>
読んだ。<用言:動><格解析結果:ガ/私;ヲ/本;ニ/-;デ/-;カラ/-;マデ/-;時間/->
EOS
$ jumanpp | knp
私は昨日図書館で借りた分厚い本を読んだ。
# S-ID:1 KNP:5.0-165d699a DATE:2020/07/19 SCORE:-31.26261
私は──┐ <体言>
昨日──┐ │ <体言>
図書──┐ │ <体言>
館で──┐ │ <体言><Wikipediaエントリ:図書館>
借りた──┐ │ <用言:動><格解析結果:ガ/-;ヲ/本;ニ/-;デ/館;カラ/-;時間/->
分厚い──┤ │ <用言:形><格解析結果:ガ/本;ガ2/->
本を──┤ <体言>
読んだ。<用言:動><格解析結果:ガ/私;ヲ/本;ニ/-;デ/-;カラ/-;マデ/-;時間/->
EOS
$ echo 私は昨日図書館で借りた分厚い本を読んだ。 | juman | knp -tab
# S-ID:1 KNP:5.0-165d699a DATE:2020/07/21 SCORE:-31.26261
* 5D <SM-主体><SM-人><BGH:私/わたし><文頭><一人称><ハ><助詞><体言><一文字漢字><係:未格><提題><区切:3-5><主題表現><格要素><連用要素><正規化代表表記:私/わたし><主辞代表表記:私/わたし>
+ 7D <SM-主体><SM-人><BGH:私/わたし><文頭><一人称><ハ><助詞><体言><一文字漢字><係:未格><提題><区切:3-5><主題表現><格要素><連用要素><名詞項候補><先行詞候補><正規化代表表記:私/わたし><主辞代表表記:私/わたし><解析格:ガ>
私 わたし 私 名詞 6 普通名詞 1 * 0 * 0 "代表表記:私/わたし 漢字読み:訓 カテゴリ:人" <代表表記:私/わたし><漢字読み:訓><カテゴリ:人><正規化代表表記:私/わたし><一人称><漢字><かな漢字><名詞相当語><文頭><自立><内容語><タグ単位始><文節始><文節主辞>
は は は 助詞 9 副助詞 2 * 0 * 0 NIL <かな漢字><ひらがな><付属>
* 2D <SM-主体><SM-場所><SM-組織><BGH:図書/としょ+館/かん><デ><助詞><体言><係:デ格><区切:0-0><格要素><連用要素><正規化代表表記:昨日/きのう?昨日/さくじつ+図書/としょ+館/かん><主辞代表表記:館/かん><主辞’代表表記:図書/としょ+館/かん>
+ 2D <BGH:昨日/きのう><文節内><係:文節内><時間><強時間><体言><名詞項候補><正規化代表表記:昨日/きのう?昨日/さくじつ>
昨日 きのう 昨日 名詞 6 時相名詞 10 * 0 * 0 "代表表記:昨日/きのう カテゴリ:時間" <代表表記:昨日/きのう><カテゴリ:時間><正規化代表表記:昨日/きのう?昨日/さくじつ><品曖><ALT-昨日-さくじつ-昨日-6-10-0-0-"代表表記:昨日/さくじつ カテゴリ:時間"><品曖-時相名詞><原形曖昧><複合名詞構成:2-3><漢字><かな漢字><名詞相当語><自立><内容語><タグ単位始><文節始>
+ 3D <BGH:図書/としょ><文節内><係:文節内><体言><名詞項候補><先行詞候補><正規化代表表記:図書/としょ>
図書 としょ 図書 名詞 6 普通名詞 1 * 0 * 0 "代表表記:図書/としょ カテゴリ:抽象物 ドメイン:文化・芸術" <代表表記:図書/としょ><カテゴリ:抽象物><ドメイン:文化・芸術><正規化代表表記:図書/としょ><漢字><かな漢字><名詞相当語><自立><複合←><内容語><タグ単位始>
+ 4D <SM-主体><SM-場所><SM-組織><BGH:図書/としょ+館/かん><デ><助詞><体言><係:デ格><区切:0-0><格要素><連用要素><一文字漢字><名詞項候補><先行詞候補><正規化代表表記:館/かん><主辞代表表記:館/かん><主辞’代表表記:図書/としょ+館/かん><Wikipedia上位語:なし><Wikipediaエントリ:図書館><解析格:デ>
館 かん 館 名詞 6 普通名詞 1 * 0 * 0 "代表表記:館/かん 漢字読み:音 カテゴリ:場所-施設" <代表表記:館/かん><漢字読み:音><カテゴリ:場所-施設><正規化代表表記:館/かん><Wikipedia上位語:なし:3-4><Wikipediaエントリ:図書館:3-4><漢字><かな漢字><名詞相当語><自立><複合←><内容語><タグ単位始><文節主辞>
で で で 助詞 9 格助詞 1 * 0 * 0 NIL <かな漢字><ひらがな><付属>
* 4D <BGH:借りる/かりる><時制:過去><連体修飾><用言:動><係:連格><レベル:B><区切:0-5><ID:(動詞連体)><連体節><動態述語><正規化代表表記:借りる/かりる><主辞代表表記:借りる/かりる>
+ 6D <BGH:借りる/かりる><時制:過去><連体修飾><用言:動><係:連格><レベル:B><区切:0-5><ID:(動詞連体)><連体節><動態述語><正規化代表表記:借りる/かりる><主辞代表表記:借りる/かりる><用言代表表記:借りる/かりる><節-区切:連体修飾><節-主辞><格関係3:デ:館><格関係6:ヲ:本><格解析結果:借りる/ かりる:動6:ガ/U/-/-/-/-;ヲ/N/本/6/0/1;ニ/U/-/-/-/-;デ/C/館/3/0/1;カラ/U/-/-/-/-;時間/U/-/-/-/-><標準用言代表表記:借りる/かりる>
借りた かりた 借りる 動詞 2 * 0 母音動詞 1 タ形 10 "代表表記:借りる/かりる 授受動詞:授:貸す/かす 反義:動詞:貸す/かす" <代表表記:借りる/かりる><授受動詞:授:貸す/かす><反義:動詞:貸す/かす><正規化代表表記:借りる/かりる><かな漢字><活用語><自立><内容語><タグ単位始><文節始><文節主辞><用言表記先頭><用言表記末尾><用言意味表記末尾>
* 4D <BGH:分厚い/ぶあつい><連体修飾><用言:形><係:連格><レベル:B-><区切:0-5><ID:(形判連体)><連体節><状態述語><正規化代表表記:分厚い/ぶあつい><主辞代表表記:分厚い/ぶあつい>
+ 6D <BGH:分厚い/ぶあつい><連体修飾><用言:形><係:連格><レベル:B-><区切:0-5><ID:(形判連体)><連体節><状態述語><正規化代表表記:分厚い/ぶあつい><主辞代表表記:分厚い/ぶあつい><用言代表表記:分厚い/ぶあつい><時制:非過去><格関係6:ガ:本><格解析結果:分厚い/ぶあつい:形6:ガ/N/本/6/0/1;ガ2/U/-/-/-/-><標準用言代表表記:分厚い/ぶあつい>
分厚い ぶあつい 分厚い 形容詞 3 * 0 イ形容詞アウオ段 18 基本形 2 "代表表記:分厚い/ぶあつい" <代表表記:分厚い/ぶあつい><正規化代表表記:分厚い/ぶあつい><かな漢字><活用語><自立><内容語><タグ単位始><文節始><文節主辞><用言表記先頭><用言表記末尾><用言意味表記末尾>
* 5D <BGH:本/ほん><ヲ><助詞><体言><一文字漢字><係:ヲ格><区切:0-0><格要素><連用要素><正規化代表表記:本/ほん><主辞代表表記:本/ほん>
+ 7D <BGH:本/ほん><ヲ><助詞><体言><一文字漢字><係:ヲ格><区切:0-0><格要素><連用要素><名詞項候補><先行詞候補><正規化代表表記:本/ほん><主辞代表表記:本/ほん><解析連格:ガ><解析格:ヲ>
本 ほん 本 名詞 6 普通名詞 1 * 0 * 0 "代表表記:本/ほん 漢字読み:音 カテゴリ:人工物-その他;抽象物" <代表表記:本/ほん><漢字読み:音><カテゴリ:人工物-その他;抽象物><正規化代表表記:本/ほん><漢字><かな漢字><名詞相当語><自立><内容語><タグ単位始><文節始><文節主辞>
を を を 助詞 9 格助詞 1 * 0 * 0 NIL <かな漢字><ひらがな><付属>
* -1D <BGH:読む/よむ><文末><時制:過去><句点><用言:動><レベル:C><区切:5-5><ID:(文末)><係:文末><提題受:30><主節><格要素><連用要素><動態述語><正規化代表表記:読む/よむ><主辞代表表記:読む/よむ>
+ -1D <BGH:読む/よむ><文末><時制:過去><句点><用言:動><レベル:C><区切:5-5><ID:(文末)><係:文末><提題受:30><主節><格要素><連用要素><動態述語><正規化代表表記:読む/よむ><主辞代表表記:読む/よむ><用言代表表記:読む/よむ><節-区切><節-主辞><主題格:一人称優位><格関係0:ガ:私><格関係6:ヲ:本><格解析結果:読む/よむ:動2:ガ/N/私/0/0/1;ヲ/C/本/6/0/1;ニ/U/-/-/-/-;デ/U/-/-/-/-;カラ/U/-/-/-/-;マデ/U/-/-/-/-;時間/U/-/-/-/-><標準用言代表表記:読む/よむ>
読んだ よんだ 読む 動詞 2 * 0 子音動詞マ行 9 タ形 10 "代表表記:読む/よむ" <代表表記:読む/よむ><正規化代表表記:読む/よむ><かな漢字><活用語><表現文末><自立><内容語><タグ単位始><文節始><文節主辞><用言表記先頭><用言表記末尾><用言意味表記末尾>
。 。 。 特殊 1 句点 1 * 0 * 0 NIL <英記号><記号><文末><付属>
EOS
$ echo 私は昨日図書館で借りた分厚い本を読んだ。 | jumanpp | knp -tab
# S-ID:1 KNP:5.0-165d699a DATE:2020/07/21 SCORE:-31.26261
* 5D <SM-主体><SM-人><BGH:私/わたし><文頭><一人称><ハ><助詞><体言><一文字漢字><係:未格><提題><区切:3-5><主題表現><格要素><連用要素><正規化代表表記:私/わたし><主辞代表表記:私/わたし>
+ 7D <SM-主体><SM-人><BGH:私/わたし><文頭><一人称><ハ><助詞><体言><一文字漢字><係:未格><提題><区切:3-5><主題表現><格要素><連用要素><名詞項候補><先行詞候補><正規化代表表記:私/わたし><主辞代表表記:私/わたし><解析格:ガ>
私 わたし 私 名詞 6 普通名詞 1 * 0 * 0 "代表表記:私/わたし カテゴリ:人 漢字読み:訓" <代表表記:私/わたし><カテゴリ:人><漢字読み:訓><正規化代表表記:私/わたし><一人称><漢字><かな漢字><名詞相当語><文頭><自立><内容語><タグ単位始><文節始><文節主辞>
は は は 助詞 9 副助詞 2 * 0 * 0 NIL <かな漢字><ひらがな><付属>
* 2D <SM-主体><SM-場所><SM-組織><BGH:図書/としょ+館/かん><デ><助詞><体言><係:デ格><区切:0-0><格要素><連用要素><正規化代表表記:昨日/きのう+図書/としょ+館/かん><主辞代表表記:館/かん><主辞’代表表記:図書/としょ+館/かん>
+ 2D <BGH:昨日/きのう><文節内><係:文節内><時間><強時間><体言><名詞項候補><正規化代表表記:昨日/きのう>
昨日 きのう 昨日 名詞 6 時相名詞 10 * 0 * 0 "代表表記:昨日/きのう カテゴリ:時間" <代表表記:昨日/きのう><カテゴリ:時間><正規化代表表記:昨日/きのう><複合名詞構成:2-3><漢字><かな漢字><名詞相当語><自立><内容語><タグ単位始><文節始>
+ 3D <BGH:図書/としょ><文節内><係:文節内><体言><名詞項候補><先行詞候補><正規化代表表記:図書/としょ>
図書 としょ 図書 名詞 6 普通名詞 1 * 0 * 0 "代表表記:図書/としょ ドメイン:文化・芸術 カテゴリ:抽象物" <代表表記:図書/としょ><ドメイン:文化・芸術><カテゴリ:抽象物><正規化代表表記:図書/としょ><漢字><かな漢字><名詞相当語><自立><複合←><内容語><タグ単位始>
+ 4D <SM-主体><SM-場所><SM-組織><BGH:図書/としょ+館/かん><デ><助詞><体言><係:デ格><区切:0-0><格要素><連用要素><一文字漢字><名詞項候補><先行詞候補><正規化代表表記:館/かん><主辞代表表記:館/かん><主辞’代表表記:図書/としょ+館/かん><Wikipedia上位語:なし><Wikipediaエントリ:図書館><解析格:デ>
館 かん 館 名詞 6 普通名詞 1 * 0 * 0 "代表表記:館/かん カテゴリ:場所-施設 漢字読み:音" <代表表記:館/かん><カテゴリ:場所-施設><漢字読み:音><正規化代表表記:館/かん><Wikipedia上位語:なし:3-4><Wikipediaエントリ:図書館:3-4><漢字><かな漢字><名詞相当語><自立><複合←><内容語><タグ単位始><文節主辞>
で で で 助詞 9 格助詞 1 * 0 * 0 NIL <かな漢字><ひらがな><付属>
* 4D <BGH:借りる/かりる><時制:過去><連体修飾><用言:動><係:連格><レベル:B><区切:0-5><ID:(動詞連体)><連体節><動態述語><正規化代表表記:借りる/かりる><主辞代表表記:借りる/かりる>
+ 6D <BGH:借りる/かりる><時制:過去><連体修飾><用言:動><係:連格><レベル:B><区切:0-5><ID:(動詞連体)><連体節><動態述語><正規化代表表記:借りる/かりる><主辞代表表記:借りる/かりる><用言代表表記:借りる/かりる><節-区切:連体修飾><節-主辞><格関係3:デ:館><格関係6:ヲ:本><格解析結果:借りる/ かりる:動6:ガ/U/-/-/-/-;ヲ/N/本/6/0/1;ニ/U/-/-/-/-;デ/C/館/3/0/1;カラ/U/-/-/-/-;時間/U/-/-/-/-><標準用言代表表記:借りる/かりる>
借りた かりた 借りる 動詞 2 * 0 母音動詞 1 タ形 10 "代表表記:借りる/かりる 反義:動詞:貸す/かす 授受動詞:授:貸す/かす" <代表表記:借りる/かりる><反義:動詞:貸す/かす><授受動詞:授:貸す/かす><正規化代表表記:借りる/かりる><かな漢字><活用語><自立><内容語><タグ単位始><文節始><文節主辞><用言表記先頭><用言表記末尾><用言意味表記末尾>
* 4D <BGH:分厚い/ぶあつい><連体修飾><用言:形><係:連格><レベル:B-><区切:0-5><ID:(形判連体)><連体節><状態述語><正規化代表表記:分厚い/ぶあつい><主辞代表表記:分厚い/ぶあつい>
+ 6D <BGH:分厚い/ぶあつい><連体修飾><用言:形><係:連格><レベル:B-><区切:0-5><ID:(形判連体)><連体節><状態述語><正規化代表表記:分厚い/ぶあつい><主辞代表表記:分厚い/ぶあつい><用言代表表記:分厚い/ぶあつい><時制:非過去><格関係6:ガ:本><格解析結果:分厚い/ぶあつい:形6:ガ/N/本/6/0/1;ガ2/U/-/-/-/-><標準用言代表表記:分厚い/ぶあつい>
分厚い ぶあつい 分厚い 形容詞 3 * 0 イ形容詞アウオ段 18 基本形 2 "代表表記:分厚い/ぶあつい" <代表表記:分厚い/ぶあつい><正規化代表表記:分厚い/ぶあつい><かな漢字><活用語><自立><内容語><タグ単位始><文節始><文節主辞><用言表記先頭><用言表記末尾><用言意味表記末尾>
* 5D <BGH:本/ほん><ヲ><助詞><体言><一文字漢字><係:ヲ格><区切:0-0><格要素><連用要素><正規化代表表記:本/ほん><主辞代表表記:本/ほん>
+ 7D <BGH:本/ほん><ヲ><助詞><体言><一文字漢字><係:ヲ格><区切:0-0><格要素><連用要素><名詞項候補><先行詞候補><正規化代表表記:本/ほん><主辞代表表記:本/ほん><解析連格:ガ><解析格:ヲ>
本 ほん 本 名詞 6 普通名詞 1 * 0 * 0 "代表表記:本/ほん カテゴリ:人工物-その他;抽象物 漢字読み:音" <代表表記:本/ほん><カテゴリ:人工物-その他;抽象物><漢字読み:音><正規化代表表記:本/ほん><漢字><かな漢字><名詞相当語><自立><内容語><タグ単位始><文節始><文節主辞>
を を を 助詞 9 格助詞 1 * 0 * 0 NIL <かな漢字><ひらがな><付属>
* -1D <BGH:読む/よむ><文末><時制:過去><句点><用言:動><レベル:C><区切:5-5><ID:(文末)><係:文末><提題受:30><主節><格要素><連用要素><動態述語><正規化代表表記:読む/よむ><主辞代表表記:読む/よむ>
+ -1D <BGH:読む/よむ><文末><時制:過去><句点><用言:動><レベル:C><区切:5-5><ID:(文末)><係:文末><提題受:30><主節><格要素><連用要素><動態述語><正規化代表表記:読む/よむ><主辞代表表記:読む/よむ><用言代表表記:読む/よむ><節-区切><節-主辞><主題格:一人称優位><格関係0:ガ:私><格関係6:ヲ:本><格解析結果:読む/よむ:動2:ガ/N/私/0/0/1;ヲ/C/本/6/0/1;ニ/U/-/-/-/-;デ/U/-/-/-/-;カラ/U/-/-/-/-;マデ/U/-/-/-/-;時間/U/-/-/-/-><標準用言代表表記:読む/よむ>
読んだ よんだ 読む 動詞 2 * 0 子音動詞マ行 9 タ形 10 "代表表記:読む/よむ" <代表表記:読む/よむ><正規化代表表記:読む/よむ><かな漢字><活用語><表現文末><自立><内容語><タグ単位始><文節始><文節主辞><用言表記先頭><用言表記末尾><用言意味表記末尾>
。 。 。 特殊 1 句点 1 * 0 * 0 NIL <英記号><記号><文末><付属>
EOS
8. トラブルシューティング
wget http://nlp.ist.i.kyoto-u.ac.jp/DLcounter/lime.cgi?down=http://nlp.ist.i.kyoto-u.ac.jp/nl-resource/juman/juman-7.01.tar.bz2&name=juman-7.01.tar.bz2
JUMANは開発が停止しているためか、上記wgetで正常にダウンロードできませんでした。JUMANはGUIで黒橋・村脇研究室のダウンロードページからwindows上にダウンロードしました。KNPはgithub:ku-nlp/knpからのgit cloneのみで正常にインストールが進みました。