rhoknp.cohesion.pas module

class rhoknp.cohesion.pas.CaseInfoFormat(value)[source]

Bases: Enum

各解析のフォーマットを表す列挙体.

CASE = 1

格解析フォーマット.

PAS = 2

述語項構造フォーマット.

class rhoknp.cohesion.pas.Pas(predicate: Predicate)[source]

Bases: object

述語項構造クラス.

Parameters:

predicate – 述語.

ARGUMENT_PAT = re.compile('([^/;]+/[CNODEU-]/[^/]+/(-?\\d*)/(-?\\d*)/[^/;]+)')
property predicate: Predicate

述語.

property cases: list[str]

属する全ての項の持つ格を集めたリスト.

property sid: str

文 ID.

is_empty() bool[source]

述語が項を持たなければ True.

parse_pas_string(base_phrase: BasePhrase, pas_string: str, format_: CaseInfoFormat) None[source]

PAS 文字列から述語項構造を生成する.

Parameters:
  • base_phrase – 述語となる基本句.

  • pas_string – 述語項構造を表す素性文字列(e.g., “食べる/たべる:動2:ガ/C/太郎/0/0/1;ヲ/C/パン/1/0/1;ニ/U/-/-/-/-;デ/U/-/-/-/-;カラ/U/-/-/-/-;時間/U/-/-/-/-”)

  • format – fstring における述語項構造のフォーマット.

get_arguments(case: str, relax: bool = True, include_nonidentical: bool = False, include_optional: bool = False) list[EndophoraArgument | ExophoraArgument][source]

与えられた格の全ての項を返す.

Parameters:
  • case – 格.

  • relax – True なら 共参照関係で結ばれた項も含めて出力する.

  • include_nonidentical – True なら nonidentical な項も含めて出力する.

  • include_optional – True なら修飾的表現(「すぐに」など)も含めて出力する.

References

格・省略・共参照タグ付けの基準 3.2.1 修飾的表現

get_all_arguments(relax: bool = True, include_nonidentical: bool = False, include_optional: bool = False) dict[str, list[EndophoraArgument | ExophoraArgument]][source]

この述語項構造が持つ全ての項を格を key とする辞書形式で返す.

Parameters:
  • relax – True なら 共参照関係で結ばれた項も含めて出力する.

  • include_nonidentical – True なら nonidentical な項も含めて出力する.

  • include_optional – True なら修飾的表現(「すぐに」など)も含めて出力する.

add_argument(argument: EndophoraArgument | ExophoraArgument, mode: RelMode | None = None) None[source]

述語項構造に項を追加.

Parameters:
  • argument – 追加する項.

  • mode – 関係のモード.

set_arguments_optional(case: str) None[source]

与えられた格に属する項をすべて修飾的表現として登録.

Parameters:

case – 対象の格.

rhoknp.cohesion.pas.normalize_case(case: str) str[source]

格を表す文字列を正規化.

Parameters:

case – 格.

Returns:

正規化された格.