生産性機能
キーボードショートカット、ツールチップ、キーワードハイライト、ラベル提案。
生産性機能
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.tsvTSVファイル形式
キーワードファイルは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ベストプラクティス
- 大量タスクにはキーボードショートカットを使用する - アノテーション速度を大幅に向上させる
- 複雑または曖昧なラベルにはツールチップを追加する - 不一致を減らす
- キーワードハイライトを使用する - 関連テキストに注意を向けるが、研究の妥当性のためにランダム化を検討する
- 事前入力の提案は慎重に - 過度に使用するとアノテーターにバイアスがかかる可能性がある
関連情報
実装の詳細については、ソースドキュメントを参照してください。