Skip to content

スパンアノテーション

スパンアノテーションの完全ガイド。テキスト領域のハイライト、重なり合うスパンと入れ子のスパン、ラベルの色、BIO/IOB タグ付け、そして Potato でのスパンタスクの作り方を解説します。

スパンアノテーションとは、項目全体にラベルを付けるのではなく、項目の内部にある領域を印付けることです。アノテーターはひと続きのテキスト(または音声の一区間)をハイライトし、そこにラベルを割り当てます。 これは固有表現抽出、エラーの印付け、抽出型質問応答、音声イベント検出の土台であり、いずれもラベルセットが異なるだけのスパンタスクです。

スパンとは、ラベルの付いた部分列のことです。開始位置、終了位置、そしてカテゴリからなります。機械学習では通常、これは系列ラベリングとして定式化され、各トークンにタグが付与されます。

基本的なスパンタスク

ラベルを定義し、アノテーターにハイライトさせるだけです。色とツールチップによって、インターフェースは素早く、説明不要なものになります。

yaml
annotation_schemes:
  - annotation_type: span
    name: entities
    description: "Highlight each named entity and choose its type."
    labels: [PERSON, ORGANIZATION, LOCATION, DATE, MISC]
    label_colors:
      PERSON: "#3b82f6"
      ORGANIZATION: "#10b981"
      LOCATION: "#f59e0b"
      DATE: "#8b5cf6"
      MISC: "#6b7280"
    sequential_key_binding: true
    allow_overlapping: false

固有表現抽出のデザインはまさにこのタスクで、そのまま実行できます。

重なり合うスパンと入れ子のスパン

デフォルトでは、1 つの文字はたかだか 1 つのスパンにしか属しません。タスクによっては、それ以上が必要です。

  • 重なり合うスパン:2 つのアノテーションが同じテキストの一部を覆う場合。たとえば、感情のスパンが固有表現のスパンの上に重なるケースです。
  • 入れ子のスパン:あるスパンが別のスパンの内側に収まる場合。たとえば "[University of [Michigan]]" では、地名が組織名の中に入れ子になっています。

ガイドラインが求めるときは allow_overlapping: true を設定してください。これは早めに決めましょう。アノテーターが境界をどう捉えるかに影響するからです。

BIO/IOB タグ付け、エクスポートはどう見えるか

スパンアノテーションは学習用にエクスポートする際、通常 BIO スキーム(IOB とも呼ばれます)のトークンタグとして出力されます。B- はエンティティの最初のトークンを、I- はその内部のトークンを、O はどのエンティティにも属さないトークンを表します。

text
Barack    B-PERSON
Obama     I-PERSON
visited   O
Paris     B-LOCATION

Potato はスパンを CoNLL や spaCy の形式にエクスポートでき、これらはこのタグ付けをそのまま使います。機械学習向けのアノテーションのエクスポートを参照してください。

境界を正しく決める

スパン作業で最も難しいのは、スパンがどこで始まりどこで終わるかについて合意することです。役に立ついくつかのルールを挙げます。

  • 周囲の句読点、敬称("Dr.")、末尾の所有格を含めるかどうかを決め、それを書き留めておきましょう。
  • 一致度は文書レベルだけでなくスパンレベルでも測りましょう。そうすれば境界の不一致が表に出てきます。アノテーター間一致度を参照してください。
  • ツールチップを使って、境界のルールをアノテーターの目の前に常に置いておきましょう。

NER の枠を超えたスパンタスク

同じ仕組みが、多くのタスクを支えています。

  • エラースパン:翻訳やモデル出力の誤りを、MQM 方式で印付けします。ハルシネーションの検出を参照してください。
  • 抽出型 QA:ある一節の中で、質問に対する答えをハイライトします。
  • 音声イベント検出:波形上で、ある音がいつ生じるかを印付けします。音声アノテーションを参照してください。
  • 関係と共参照:複数のスパンを結びつけます。関係・イベント抽出共参照解析を参照してください。

さらに読む