rhoknp.units.phrase module

class rhoknp.units.phrase.Phrase(parent_index: int | None, dep_type: DepType | None, features: FeatureDict | None = None)[source]

Bases: Unit

文節クラス.

PAT = re.compile('^\\*( (?P<pid>-1|\\d+)(?P<dtype>[DPAI]))?( (?P<feats>(<(?P<key>([^:\\"]|\\"[^\\"]*?\\")+?)(:(?P<value>([^>\\\\]|\\\\>?)+))?>)*))?$')
parent_index: int | None

係り先の文節の文内におけるインデックス.

dep_type: DepType | None

係り受けの種類.

features: FeatureDict

素性.

index

文内におけるインデックス.

property global_index: int

文書全体におけるインデックス.

property document: Document

文書.

Raises:

AttributeError – 解析結果にアクセスできない場合.

property sentence: Sentence

文.

property clause: Clause

節.

Raises:

AttributeError – 解析結果にアクセスできない場合.

property base_phrases: list[BasePhrase]

基本句のリスト.

property morphemes: list[Morpheme]

形態素のリスト.

property parent: Phrase | None

係り先の文節.ないなら None.

Raises:

AttributeError – 解析結果にアクセスできない場合.

property children: list[Phrase]

この文節に係っている文節のリスト.

Raises:

AttributeError – 解析結果にアクセスできない場合.

classmethod from_knp(knp_text: str) Phrase[source]

文節クラスのインスタンスを KNP の解析結果から初期化.

Parameters:

knp_text – KNP の解析結果.

Raises:

ValueError – 解析結果読み込み中にエラーが発生した場合.

to_knp() str[source]

KNP フォーマットに変換.

static is_phrase_line(line: str) bool[source]

文節行なら True を返す.