LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 5 years have passed since last update.

JUMAN++ × Python3 × Ubuntu17

Last updated at Posted at 2018-01-08

BOOST (version 1.57 or higher)

terminal
sudo apt-get install libboost-all-dev

JUMAN++

terminal
$ wget http://lotus.kuee.kyoto-u.ac.jp/nl-resource/jumanpp/jumanpp-1.01.tar.xz
$ tar xJvf jumanpp-1.01.tar.xz
$ cd jumanpp-1.01
$ ./configure
$ make
$ sudo make install
terminal
jumanpp
安倍晋三首相は選挙を控え、俄然、北朝鮮の脅威を利用した。
安倍 あべ 安倍 名詞 6 人名 5 * 0 * 0 "人名:日本:姓:189:0.00134"
晋三 晋三 晋三 名詞 6 人名 5 * 0 * 0 "自動獲得:Wikipedia Wikipedia人名 Wikipedia名 読み不明"
首相 しゅしょう 首相 名詞 6 普通名詞 1 * 0 * 0 "代表表記:首相/しゅしょう 人名末尾 カテゴリ:人 ドメイン:政治"
は は は 助詞 9 副助詞 2 * 0 * 0 NIL
選挙 せんきょ 選挙 名詞 6 サ変名詞 2 * 0 * 0 "代表表記:選挙/せんきょ カテゴリ:抽象物 ドメイン:政治"
を を を 助詞 9 格助詞 1 * 0 * 0 NIL
控え ひかえ 控える 動詞 2 * 0 母音動詞 1 基本連用形 8 "代表表記:控える/ひかえる"
、 、 、 特殊 1 読点 2 * 0 * 0 NIL
俄然 がぜん 俄然 副詞 8 * 0 * 0 * 0 "代表表記:俄然/がぜん"
、 、 、 特殊 1 読点 2 * 0 * 0 NIL
北朝鮮 きたちょうせん 北朝鮮 名詞 6 地名 4 * 0 * 0 "代表表記:北朝鮮/きたちょうせん 地名:国"
の の の 助詞 9 接続助詞 3 * 0 * 0 NIL
脅威 きょうい 脅威 名詞 6 普通名詞 1 * 0 * 0 "代表表記:脅威/きょうい カテゴリ:抽象物"
を を を 助詞 9 格助詞 1 * 0 * 0 NIL
利用 りよう 利用 名詞 6 サ変名詞 2 * 0 * 0 "代表表記:利用/りよう カテゴリ:抽象物"
した した する 動詞 2 * 0 サ変動詞 16 タ形 10 "代表表記:する/する 付属動詞候補(基本) 自他動詞:自:成る/なる"
。 。 。 特殊 1 句点 1 * 0 * 0 NIL
EOS

比較:mecab-ipadic-NEologd:https://github.com/neologd/mecab-ipadic-neologd/blob/master/README.ja.md
・結果がでるまでの速度が遅い(立ち上がりが遅いみたい)
・安倍晋三首相を1語として認識できていない。

考察
・最近の語であれば(twitterとか)、mecab-ipadic-NEologdのほうが、向いているのかもしれない。

JUMAN

terminal
$ wget http://nlp.ist.i.kyoto-u.ac.jp/nl-resource/juman/juman-7.01.tar.bz2
$ tar jxvf juman-7.01.tar.bz2
$ cd juman-7.01
$ ./configure
$ make
$ sudo make install

パスを通す(追記する)。

/etc/ld.so.conf
include /usr/local/lib
terminal
$ sudo ldconfig
$ juman -v

KNP

以下のサイトから最新版をダウンロードします。
http://nlp.ist.i.kyoto-u.ac.jp/?KNP
※データのロード・解凍に結構時間がかかります。

$ tar jxvf knp-4.18.tar.bz2
$ cd knp-4.18
$ ./configure
$ make
$ sudo make install
$ knp -v
terminal
echo "安倍晋三首相は選挙を控え、俄然、北朝鮮の脅威を利用した" | jumanpp | knp

# S-ID:1 KNP:4.18-CF1.1 DATE:2018/01/08 SCORE:-50.16797
安倍─────┐             <体言>
        晋三─────┐         <体言><NE:PERSON:安倍晋三>
              首相は─────┐     <体言>
              選挙を─────┤     <体言>
                      控え、<P>──┐ <用言:動><格解析結果:ガ/首相;ヲ/選挙;ニ/-;デ/-;時間/-;ノ/->
              俄然、─────┐    │ 
    北朝鮮の─────┐    │    │ <体言><NE:LOCATION:北朝鮮>
              脅威を─────┤    │ <体言>
                    利用した<P>─PARA<用言:動><格解析結果:ガ/-;ヲ/脅威;ノ/->

・NE:PERSON:安倍晋三:すごい!

PyKNP

terminal
$ sudo apt-get install -y python-setuptools
terminal
$ wget http://nlp.ist.i.kyoto-u.ac.jp/nl-resource/knp/pyknp-0.3.tar.gz
$ pip install pyknp-0.3.tar.gz

python3で試す

以下の例でが分かち書きにしている。

from pyknp import Jumanpp

def wakati_by_jumanpp(text):
    jumanpp = Jumanpp()
    result = jumanpp.analysis(text)
    word_list = []
    for mrph in result.mrph_list():
        hinsi = mrph.hinsi
        if hinsi in  ["名詞", "動詞", "形容詞"]:  # 対象とする品詞
            word = mrph.midasi
            word_list.append(word)
    return " ".join(word_list)

参照

JUMAN++の導入からPythonで日本語を形態素解析するまで
日本語形態素解析システム JUMAN++ version 1.01
JUMAN++をPythonから使う
新形態素解析器JUMAN++を触ってみたけど思ったより高精度でMeCabから乗り換えようかと思った話
MeCabより高精度?RNNLMの形態素解析器JUMAN++

KNPについて
pyKNPについてのメモ
構文 述語項構造解析システムKNPの解析の流れと特徴
愛するKNPの使い方を紹介する

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