Skip to content

共参照解析

共参照アノテーションとは何か、メンションをエンティティの連鎖にまとめる方法、そして Potato で共参照タスクを構築する方法を解説します。

共参照解析は、テキスト中で同じ対象を指すすべてのメンションをまとめるタスクです。「マリー・キュリー……彼女……その物理学者」は、一人の人物を指す 1 本の連鎖です。 ばらばらのメンションをエンティティへと変えるもので、要約・質問応答・知識抽出に欠かせません。

背景は共参照を参照してください。

アノテーターがすること

  1. 各メンション(名前、代名詞、名詞句)をスパンとして印を付ける。
  2. 同じエンティティを指すメンションを 1 本の連鎖にまとめる。
  3. 文章中の異なるエンティティごとに繰り返す。

出力は連鎖の集合で、それぞれが共参照するスパンのリストになります。連鎖は文の境界をまたぐことがあり、これが単純なスパンアノテーションよりもこのタスクを難しくしている点です。

Potato での構築

Potato には共参照アノテーションタイプがあり、アノテーターがメンションに印を付け、それらを連鎖に結びつけられます。共参照のショーケースはそのまま動かせる実例です。

yaml
annotation_schemes:
  - annotation_type: span
    name: mentions
    description: "Mark every mention (names, pronouns, noun phrases), then group mentions that refer to the same entity into a chain."
    labels: [Entity]
    allow_overlapping: true

メンションは入れ子になることが多いため(「[[彼の]母]」)、スパンの重複を許可します。

よくある落とし穴

  • シングルトン。 一度しか言及されないエンティティに印を付けるかどうかを決めます。集計と指標に影響します。
  • 総称か特定か。 「医師は休養を勧める」の「医師」は追跡すべきエンティティか。ルールを書きましょう。
  • 分裂した先行詞。 「アリスとボブ……彼ら」は両者を指します。どう表すかを決めます。

連鎖は構造化されているため、一致度は慎重に測ってください。アノテーター間一致度を参照し、丁寧に裁定します。

さらに読む