Juman and KNP

Machine Learning Digital Transformation Artificial Intelligence Probabilistic Generative Model Deep Learning Natural Language Processing Navigation of this blog

Juman and KNP

Juman and KNP are morphological, syntactic, case, and applicative analysis systems developed at Kyoto University.

Juman (Juman++) is a morphological analysis system based on the Recurrent Neural Network Language Model (RNNLM). When a sentence is input, the system analyzes the word sequence for semantic naturalness, divides it into words, and outputs a grammar and dictionary for each word. The system then outputs the grammar and dictionary for each word. For example, in the previously introduced passage from “Surfing Island,” “I saw the rising sea rushing toward us. as input, Juman++ outputs the following.

盛り上がった もりあがった 盛り上がる 動詞 2 * 0 子音動詞ラ行 10 タ形 10 "代表表記:盛り上がる/もりあがる 自他動詞:他:盛り上げる/もりあげる"
海 かい 海 名詞 6 普通名詞 1 * 0 * 0 "代表表記:海/かい 漢字読み:音 地名末尾 カテゴリ:自然物 漢字"
@ 海 うみ 海 名詞 6 普通名詞 1 * 0 * 0 "代表表記:海/うみ 漢字読み:訓 地名末尾 カテゴリ:場所-自然 漢字"
が が が 助詞 9 格助詞 1 * 0 * 0 NIL
、 、 、 特殊 1 読点 2 * 0 * 0 "代表表記:、/、 記号 記英数カ"
僕 ぼく 僕 名詞 6 普通名詞 1 * 0 * 0 "代表表記:僕/ぼく 漢字読み:音 カテゴリ:人 漢字"
ら ら ら 接尾辞 14 名詞性名詞接尾辞 2 * 0 * 0 "代表表記:ら/ら"
の の の 助詞 9 接続助詞 3 * 0 * 0 NIL
方 ほう 方 名詞 6 副詞的名詞 9 * 0 * 0 "代表表記:方/ほう 漢字"
に に に 助詞 9 格助詞 1 * 0 * 0 NIL
押し寄せて おしよせて 押し寄せる 動詞 2 * 0 母音動詞 1 タ系連用テ形 14 "代表表記:押し寄せる/おしよせる"
くる くる くる 接尾辞 14 動詞性接尾辞 7 カ変動詞 14 基本形 2 "代表表記:くる/くる"
の の の 名詞 6 形式名詞 8 * 0 * 0 "代表表記:の/の"
が が が 助詞 9 格助詞 1 * 0 * 0 NIL
見えた みえた 見える 動詞 2 * 0 母音動詞 1 タ形 10 "代表表記:見える/みえる 自他動詞:他:見る/みる"
。 。 。 特殊 1 句点 1 * 0 * 0 "代表表記:。/。 記号 記英数カ"
EOS

KNP takes the results of Juman’s analysis as input and outputs clause and case relations and correspondence relations between basic phrases. As an example, the result of juman is shown below.

盛り上がった海が、僕らの方に押し寄せてくるのが見えた。
# S-ID:1 KNP:4.2-75a8fa27 DATE:2021/04/28 SCORE:-57.02445
盛り上がった──┐                          <用言:動><格解析結果:ガ/海;ニ/-;ト/-;デ/-;マデ/-;時間/->
              海が、──┐                  <体言>
      僕らの──┐      │                  <体言><Wikipediaエントリ:ぼくらの>
                方に──┤                  <体言>
              押し寄せてくる──┐          <用言:動><格解析結果:ガ/海;ニ/方;カラ/->
                                のが──┐  
                                    見えた。<用言:動><格解析結果:ガ/の;ニ/->
EOS

The simplest way to use both Juman and KNP is to download the executable files from the respective pages for windows, install them, and run them in a terminal. for mac, homebrew supports them, so you just need to brew install (juman or For macs, homebrew supports it, so you can complete it with brew install (juman or knp).

To run it in a terminal, you can use “echo “sentence” | juman | knp”. In the example above, it looks like the following.

% echo "盛り上がった海が、僕らの方に押し寄せてくるのが見えた。" | juman | knp

KNP has a variety of options for the form of output. They can be executed by adding an option (-tab, -simple, -tree, etc.) to the end of the command.

There are also wrappers for Clojure and Python, which can be used from those.

コメント

タイトルとURLをコピーしました