Контроль качества
Обеспечьте качество разметки в Potato проверками внимательности, эталонными примерами, настраиваемым пересечением разметчиков и отчётом по альфе Криппендорфа.
В Potato есть механизмы контроля качества, помогающие держать разметку надёжной: проверки внимательности, эталонные примеры, поддержка предразметки и метрики согласованности в реальном времени.
Four quality controls, one reliable dataset
Обзор
Контроль качества в Potato складывается из четырёх ключевых механизмов:
- Проверки внимательности — подтверждают вовлечённость разметчика объектами с известным ответом
- Эталонные примеры — отслеживают точность относительно объектов, размеченных экспертом
- Поддержка предразметки — заполняет формы предсказаниями модели
- Метрики согласованности — считают согласованность разметчиков в реальном времени
Проверки внимательности
Проверки внимательности — это объекты с заранее известным правильным ответом, подтверждающие, что разметчик работает внимательно, а не кликает наугад.
Конфигурация
attention_checks:
enabled: true
items_file: "attention_checks.json"
# How often to inject attention checks
frequency: 10 # Insert one every 10 items
# OR
probability: 0.1 # 10% chance per item
# Optional: flag suspiciously fast responses
min_response_time: 3.0 # Flag if answered in < 3 seconds
# Failure handling
failure_handling:
warn_threshold: 2 # Show warning after 2 failures
warn_message: "Please read items carefully before answering."
block_threshold: 5 # Block user after 5 failures
block_message: "You have been blocked due to too many incorrect responses."Файл с объектами проверки внимательности
[
{
"id": "attn_001",
"text": "Please select 'Positive' for this item to verify you are reading carefully.",
"expected_answer": {
"sentiment": "positive"
}
}
]Эталонные примеры
Эталонные примеры — это объекты, размеченные экспертом и служащие мерой точности разметчика. По умолчанию эталоны молчаливые: результаты записываются для разбора администратором, но разметчик обратной связи не видит.
Конфигурация
gold_standards:
enabled: true
items_file: "gold_standards.json"
# How to use gold standards
mode: "mixed" # Options: training, mixed, separate
frequency: 20 # Insert one every 20 items
# Accuracy requirements
accuracy:
min_threshold: 0.7 # Minimum required accuracy (70%)
evaluation_count: 10 # Evaluate after this many gold items
# Feedback settings (disabled by default)
feedback:
show_correct_answer: false
show_explanation: false
# Auto-promotion from high-agreement items
auto_promote:
enabled: true
min_annotators: 3
agreement_threshold: 1.0 # 1.0 = unanimousФайл с эталонными объектами
[
{
"id": "gold_001",
"text": "The service was absolutely terrible and I will never return.",
"gold_label": {
"sentiment": "negative"
},
"explanation": "Strong negative language clearly indicates negative sentiment.",
"difficulty": "easy"
}
]Автоматическое повышение
Объекты могут автоматически становиться эталонными, когда несколько разметчиков сходятся во мнении:
gold_standards:
auto_promote:
enabled: true
min_annotators: 3 # Wait for at least 3 annotators
agreement_threshold: 1.0 # 100% must agree (unanimous)Поддержка предразметки
Предразметка позволяет заранее заполнять формы предсказаниями модели — это удобно для активного обучения и сценариев исправления.
Конфигурация
pre_annotation:
enabled: true
field: "predictions" # Field in data containing predictions
allow_modification: true # Can annotators change pre-filled values?
show_confidence: true
highlight_low_confidence: 0.7Формат данных
Включите предсказания в объекты данных:
{
"id": "item_001",
"text": "I love this product!",
"predictions": {
"sentiment": "positive",
"confidence": 0.92
}
}Метрики согласованности
Метрики согласованности разметчиков в реальном времени по альфе Криппендорфа доступны в админ-панели.
Конфигурация
agreement_metrics:
enabled: true
min_overlap: 2 # Minimum annotators per item
auto_refresh: true
refresh_interval: 60 # Seconds between updatesКак читать альфу Криппендорфа
| Значение альфы | Толкование |
|---|---|
| α ≥ 0,8 | Хорошая согласованность — надёжно для большинства задач |
| 0,67 ≤ α ≤ 0,8 | Предварительная согласованность — выводы делать с осторожностью |
| 0,33 ≤ α ≤ 0,67 | Низкая согласованность — пересмотрите инструкции |
| α ≤ 0,33 | Плохая согласованность — серьёзные проблемы |
Интеграция с админ-панелью
Метрики контроля качества смотрите в админ-панели по адресу /admin:
- Проверки внимательности: общая доля прохождений и провалов, статистика по каждому разметчику
- Эталонные примеры: точность по каждому разметчику, разбор сложности по каждому объекту
- Согласованность: альфа Криппендорфа по каждой схеме с толкованием
- Автоматически повышенные объекты: список объектов, ставших эталонными по высокой согласованности
Эндпоинты API
Метрики контроля качества
GET /admin/api/quality_controlВозвращает статистику по проверкам внимательности и эталонным примерам.
Метрики согласованности
GET /admin/api/agreementВозвращает альфу Криппендорфа по схемам с толкованием.
Полный пример
annotation_task_name: "Sentiment Analysis with Quality Control"
annotation_schemes:
- name: sentiment
annotation_type: radio
labels: [positive, negative, neutral]
description: "Select the sentiment of the text"
attention_checks:
enabled: true
items_file: "data/attention_checks.json"
frequency: 15
failure_handling:
gold_standards:
enabled: true
items_file: "data/gold_standards.json"
mode: mixed
frequency: 25
accuracy:
agreement_metrics:
enabled: true
min_overlap: 2
refresh_interval: 60Решение проблем
Проверки внимательности не появляются
- Убедитесь, что путь в
items_fileверный (относительно каталога задачи) - Проверьте, что у объектов есть обязательные поля (
id,expected_answer) - Убедитесь, что задан
frequencyилиprobability
Метрики согласованности показывают «No items with N+ annotators»
- Убедитесь, что объекты размечены несколькими пользователями
- При необходимости уменьшите
min_overlap - Проверьте, что разметка вообще сохраняется
Что почитать дальше
- Фаза обучения — допуск разметчиков
- Админ-панель — наблюдение за метриками
- Назначение заданий — управление распределением разметки
Детали реализации — в исходной документации.