rhoknp.units.morpheme module

class rhoknp.units.morpheme.Morpheme(text: str, reading: str, lemma: str, pos: str, pos_id: int, subpos: str, subpos_id: int, conjtype: str, conjtype_id: int, conjform: str, conjform_id: int, semantics: SemanticsDict | None = None, features: FeatureDict | None = None, homograph: bool = False)[source]

Bases: Unit

形態素クラス.

PAT: ClassVar[Pattern] = re.compile('(?P<surf>^([^ ]+| [^ ]*))( (?P<attrs>([^ ]+| [^ ]*) ([^ ]+| [^ ]*) ([^ ]+) (\\d+) ([^ ]+) (\\d+) ([^ ]+) (\\d+) ([^ ]+) (\\d+)))( (?P<sems>("[^"]+?")|NIL))?( (?P<feats>(<(?P<key>([^:\\"]|\\"[^\\"]*?\)
PAT_REPEATED: ClassVar[Pattern] = re.compile('(?P<surf>.+) (?P<attrs>(?P=surf) (?P=surf) [^ ]+ \\d+ [^ ]+ \\d+ [^ ]+ \\d+ [^ ]+ \\d+)( (?P<sems>("[^"]+?")|NIL))?( (?P<feats>(<(?P<key>([^:\\"]|\\"[^\\"]*?\\")+?)(:(?P<value>([^>\\\\]|\\\\>?)+))?>))
reading

読み.

lemma

原形.

pos

品詞.

pos_id

品詞ID.

subpos

品詞細分類.

subpos_id

品詞細分類ID.

conjtype

活用型.

conjtype_id

活用型ID.

conjform

活用形ID.

conjform_id

活用形ID.

semantics: SemanticsDict

辞書に記載の意味情報.

features: FeatureDict

素性.

homographs: list['Morpheme']

同形の形態素のリスト.

index

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

property global_index: int

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

property document: Document

文書.

Raises:

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

property sentence: Sentence

文.

property clause: Clause

節.

Raises:

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

property phrase: Phrase

文節.

Raises:

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

property base_phrase: BasePhrase

基本句.

Raises:

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

property surf: str

表層表現.

property canon: str | None

代表表記.

property sstring: str

Juman++ フォーマットの意味情報.

property fstring: str

Juman++ フォーマットの素性.

property parent: Morpheme | None

係り先の形態素.ないなら None.

property span: tuple[int, int]

文における文字レベルのスパン.

property global_span: tuple[int, int]

文書全体における文字レベルのスパン.

property children: list[Morpheme]

この形態素に係っている形態素のリスト.

classmethod from_jumanpp(jumanpp_text: str) Morpheme[source]

形態素クラスのインスタンスを Juman++ の解析結果から初期化.

Parameters:

jumanpp_text – Juman++ の解析結果.

Raises:

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

to_jumanpp() str[source]

Juman++ フォーマットに変換.

to_knp() str[source]

KNP フォーマットに変換.

static is_morpheme_line(line: str) bool[source]

形態素行なら True を返す.

static is_homograph_line(line: str) bool[source]

同形行なら True を返す.