rhoknp.processors.knp module

class rhoknp.processors.knp.KNP(executable: str = 'knp', options: list[str] | None = None, senter: Processor | None = None, jumanpp: Processor | None = None, skip_sanity_check: bool = False)[source]

Bases: Processor

KNP クラス.

Parameters:
  • executable – KNP のパス.

  • options – KNP のオプション.

  • senter – 文分割器のインスタンス.文分割がまだなら,先にこのインスタンスを用いて文分割する. 未設定なら RegexSenter を使って文分割する.

  • jumanpp – Jumanpp のインスタンス.形態素解析がまだなら,先にこのインスタンスを用いて形態素解析する. 未設定なら Jumanpp (オプションなし)を使って形態素解析する.

  • skip_sanity_check – True なら,KNP の起動時に sanity check をスキップする.

Example

>>> from rhoknp import KNP
>>> knp = KNP()
>>> document = knp.apply("電気抵抗率は電気の通しにくさを表す物性値である。")

Note

使用するには KNP がインストールされている必要がある.

executable

KNP のパス.

options

KNP のオプション.

start_process(skip_sanity_check: bool = False) None[source]

KNP を起動する.

Note

KNP がすでに起動している場合は再起動する. skip_sanity_check: True なら,KNP の起動時に sanity check をスキップする.

is_available() bool[source]

KNP が利用可能であれば True を返す.

apply_to_document(document: Document | str, timeout: int = 10) Document[source]

文書に KNP を適用する.

Parameters:
  • document – 文書.

  • timeout – 最大処理時間.

Note

文分割がまだなら,先に初期化時に設定した senter で文分割する. 未設定なら RegexSenter で文分割する. 形態素解析がまだなら,先に初期化時に設定した jumanpp で形態素解析する. 未設定なら Jumanpp (オプションなし)で形態素解析する.

apply_to_sentence(sentence: Sentence | str, timeout: int = 10) Sentence[source]

文に KNP を適用する.

Parameters:
  • sentence – 文.

  • timeout – 最大処理時間.

Note

形態素解析がまだなら,先に初期化時に設定した jumanpp で形態素解析する. 未設定なら Jumanpp (オプションなし)で形態素解析する.

get_version() str[source]

Juman++ のバージョンを返す.

property run_command: list[str]

解析時に実行するコマンド.

property version_command: list[str]

バージョンを確認するコマンド.