Skip to content

生産性機能

キーボードショートカット、ツールチップ、キーワードハイライト、ラベル提案。

生産性機能

Potatoには、アノテーターがより速く正確に作業するための機能が含まれています。キーボードショートカット、ツールチップ、キーワードハイライト、ラベル提案などがあります。

キーボードショートカット

連番キーバインド

最大10個のオプションを持つアノテーションスキームでは、デフォルトで連番のキーバインドを割り当てることができます:

yaml
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    labels: [positive, neutral, negative]
    sequential_key_binding: true

最初のオプションは「1」キー、2番目は「2」キーに対応します。

カスタムキーバインド

より細かい制御のために、各ラベルにカスタムキーバインドを設定できます:

yaml
annotation_schemes:
  - annotation_type: multiselect
    labels:
      - name: "Option 1"
        key_value: "1"
      - name: "Option 2"
        key_value: "2"
      - name: "Skip"
        key_value: "s"

管理者キーワードハイライト

一致するテキストの周りに色付きハイライトを表示して、アノテーターが関連する単語やフレーズを特定するのを支援します。

設定

yaml
keyword_highlights_file: data/keywords.tsv

TSVファイル形式

キーワードファイルは3列のタブ区切りです:

text
Word	Label	Schema
love	positive	sentiment
hate	negative	sentiment
excel*	positive	sentiment
disappoint*	negative	sentiment
説明
Wordハイライトするキーワードまたはフレーズ(*ワイルドカード対応)
Labelこのキーワードに関連するアノテーションラベル
Schemaアノテーションスキーマ名

マッチング動作

  • 大文字小文字を区別しない:「Love」は「love」、「LOVE」、「Love」にマッチ
  • 単語境界:「love」は「love」にマッチするが「lovely」にはマッチしない(ワイルドカードを使用しない限り)
  • ワイルドカード:前方/後方一致に*を使用:
    • excel*は「excellent」、「excels」、「excel」にマッチ
    • *happyは「unhappy」、「happy」にマッチ

色の設定

色はui.spans.span_colorsセクションで設定します:

yaml
ui:
  spans:
    span_colors:
      sentiment:
        positive: "(34, 197, 94)"    # Green
        negative: "(239, 68, 68)"    # Red
        neutral: "(156, 163, 175)"   # Gray

ランダム化設定

研究目的で、アノテーターがハイライトのみに依存することを防ぐためにキーワードハイライトのランダム化を設定できます:

yaml
keyword_highlights_file: data/keywords.tsv
 
keyword_highlight_settings:
  keyword_probability: 1.0       # Show 100% of keywords (0.0-1.0)
  random_word_probability: 0.05  # Highlight 5% random words as distractors
  random_word_label: "distractor"
  random_word_schema: "keyword"

主な機能:

  • 永続性:ハイライトされた単語はユーザー+インスタンスごとにキャッシュされる
  • 決定論的ランダム化:ユーザー名 + instance_idのハッシュをシードとして使用
  • 行動追跡:どの単語がハイライトされたかを記録

ツールチップ

各回答オプションに詳細な説明を追加します:

プレーンテキストのツールチップ

yaml
annotation_schemes:
  - annotation_type: multiselect
    name: "Question"
    labels:
      - name: "Label 1"
        tooltip: "This option means..."

HTMLツールチップ

フォーマットされたツールチップの場合は、HTMLファイルを指定します:

yaml
annotation_schemes:
  - annotation_type: multiselect
    name: "Question"
    labels:
      - name: "Label 1"
        tooltip_file: "config/tooltips/label1_tooltip.html"

ラベル提案

アノテーターを支援するための2つのモードで提案を表示します:

  • highlight:提案されたラベルを色でハイライト
  • prefill:提案されたラベルを自動的に事前選択

設定

yaml
annotation_schemes:
  - annotation_type: multiselect
    name: "sentiment"
    description: "What sentiment does the text express?"
    labels: [positive, neutral, negative]
    label_suggestions: "highlight"  # or "prefill"
 
  - annotation_type: text
    name: "explanation"
    description: "Why do you think so?"
    multiline: true
    rows: 2
    label_suggestions: "prefill"

データ形式

データアイテムに提案を含めます:

json
{
  "id": "1",
  "text": "Good Job!",
  "label_suggestions": {
    "sentiment": "positive",
    "explanation": "Because I think "
  }
}

自動タスク割り当て

異なるアノテーターにアノテーションタスクを簡単に割り当てます:

yaml
automatic_assignment:
  on: true
  output_filename: "task_assignment.json"
  sampling_strategy: "random"
  labels_per_instance: 10
  instance_per_annotator: 50
  test_question_per_annotator: 2

能動学習との統合

生産性機能は能動学習と統合して、最も有益なインスタンスを優先します:

yaml
active_learning:
  enabled: true
  schema_names: ["sentiment"]
  min_annotations_per_instance: 2
  min_instances_for_training: 20
  update_frequency: 10

ベストプラクティス

  1. 大量タスクにはキーボードショートカットを使用する - アノテーション速度を大幅に向上させる
  2. 複雑または曖昧なラベルにはツールチップを追加する - 不一致を減らす
  3. キーワードハイライトを使用する - 関連テキストに注意を向けるが、研究の妥当性のためにランダム化を検討する
  4. 事前入力の提案は慎重に - 過度に使用するとアノテーターにバイアスがかかる可能性がある

関連情報

実装の詳細については、ソースドキュメントを参照してください。