Header Ads

[jumanpp]pyknp-0.4.5でのJumanppのオブジェクト生成に関して

jumanppの参考サイトは複数存在していたが、
Windows10で、pyknp-0.4.5を利用している中での
Jumanppオブジェクトの生成方法が見つけられなかったのでメモしておく。


pyknp-0.4.5では、
Jumanppのサポートが標準となっており、
下記のような形式でオブジェクトを生成することになる。

下記の例では、
ビルドを行ったjumanpp_v2をcommandに設定、
辞書ファイルの設定パス(C:/work/test_jumanpp/jumandic.conf)をoptionに設定、
「Jumanppオブジェクトの生成」という文言をpyknp経由でjumanppを呼び出して、
解析させるというpythonコードとなっている。

jumanppを扱うが、オブジェクト生成は、
juman = Juman(~command~,~option~)と
なっている点に注意が必要である。

commandとoptionを設定しない場合は、
「InvalidParameter: failed to fixup path:  reason=Windows Error Code 87: パラメーターが間違っています。」というエラーが原因となり、
解析部分で無限ループに陥り、失敗することになる。

(コード例)
test_jumanpp.py

from pyknp.juman.juman import Juman

juman = Juman(command='jumanpp_v2', option='--config=C:/work/test_jumanpp/jumandic.conf') 
mlist = juman.analysis('Jumanppオブジェクトの生成')
for mrph in mlist.mrph_list(): 
    print("%s\n, %s\n, %s\n, %s\n, %s\n, %s\n, %s\n, %s\n, %s\n" \
            % (mrph.midasi, mrph.yomi, mrph.genkei, mrph.hinsi, mrph.bunrui, \
            mrph.katuyou1, mrph.katuyou2, mrph.imis, mrph.repname))

Windows10のコマンドプロンプトでの実行結果。

>>下記コマンドをコマンドプロンプトで入力
python test_jumanpp.py

>>結果例ここから

Jumanpp
, Jumanpp
, Jumanpp
, 未定義語
, アルファベット
, *
, *
, 未知語:ローマ字 品詞推定:名詞
, 

オブジェクト
, おぶじぇくと
, オブジェクト
, 名詞
, 普通名詞
, *
, *
, 代表表記:オブジェクト/おぶじぇくと ドメイン:科学・技術 カテゴリ:抽象物
, オブジェクト/おぶじぇくと

の
, の
, の
, 助詞
, 接続助詞
, *
, *
, NIL
, 

生成
, せいせい
, 生成
, 名詞
, サ変名詞
, *
, *
, 代表表記:生成/せいせい ドメイン:科学・技術 カテゴリ:抽象物
, 生成/せいせい



※Windows10での設定
jumanpp_v2.exeの格納先へのパスを通しておくこと。

※参考程度の情報
Windows(日本語)の標準は、Shift-JISであるが、
コマンドプロンプトから、文字コードをutf-8に変更する方法
→「chcp 65001」を入力すればOK。

参考にどうぞ。

0 件のコメント