rhoknp.cohesion.rel module

class rhoknp.cohesion.rel.RelMode(value)[source]

Bases: Enum

同一の基本句に同一タイプの関係タグが複数付いている場合にそれらの関係を表す列挙体.

Note

各関係タグの具体例は以下の通りである:

  • AND

    (例)太郎と花子が学校から<帰った>(ガ格:太郎, ガ格:花子 [and])

  • OR

    (例)私は田園調布か国立に<住みたい>(ガ格:私, ニ格:田園調布, ニ格:国立 [or])

  • AMBIGUOUS

    (例)高知県の橋本知事は…国籍条項を<撤廃する>方針を明らかにした(ガ格:高知県, ガ格:橋本知事 [?], ガ格:不特定:人 [?], ヲ格:条項, 外の関係:方針)

Note

target が「なし」の場合,同じタイプの関係タグが任意的要素であることを示す.

(例)太郎は一人で<立っていた>(ガ格:太郎, デ格:一人, デ格:なし [?])

AND = 'AND'

関係の対象が並列である.

OR = 'OR'

「AかB」のように意味的に or である.

AMBIGUOUS = '?'

いずれの解釈も妥当であり,文脈から判断ができない.

class rhoknp.cohesion.rel.RelTag(type: str, target: str, sid: str | None, base_phrase_index: int | None, mode: RelMode | None)[source]

Bases: object

関係タグ付きコーパスにおける <rel> タグを表すクラス.

PAT: ClassVar[Pattern] = re.compile('<rel type="(?P<type>\\S+?)"( mode="(?P<mode>\\S+?)")? target="(?P<target>.+?)"( sid="(?P<sid>.*?)" id="(?P<id>\\d+?)")?/>')
type: str
target: str
sid: str | None
base_phrase_index: int | None
mode: RelMode | None
to_fstring() str[source]

素性文字列に変換.

is_coreference() bool[source]

共参照・照応関係を表すタグなら True.

class rhoknp.cohesion.rel.RelTagList(iterable=(), /)[source]

Bases: list[RelTag]

関係タグ付きコーパスにおける <rel> タグの列を表すクラス.

classmethod from_fstring(fstring: str) RelTagList[source]

KNP における素性文字列からオブジェクトを作成.

to_fstring() str[source]

素性文字列に変換.