Управляемое извлечение фактов (IE) с оценкой достоверности

Индекс кейса: INFO-01

Описание идеи (зачем это надо, контекст):

Для ML-инженера недостаточно просто "попросить" LLM пересказать текст; необходимо извлекать (Information Extraction, IE) конкретные факты в строго заданном формате и, что критически важно, понимать границы применимости модели.

Задача IE (Information Extraction) — не просто извлечь информацию, а уметь отличать наличие факта от его отсутствия и сообщать уровень уверенности.Ваша система должна найти основной факт, действующее лицо, дату, место и источник и оценить собственную уверенность в предоставленных фактах.

Этот кейс тренирует создание промптов, надёжных в продакшн-сценариях, где ошибки интерпретации приводят к искажению аналитики или дезинформации.

Чему вы научитесь:

Задача:

Разработайте промпт, который принимает ссылку на статью и возвращает JSON строго следующего вида:
{
"main_fact": "...", // Ключевой факт статьи (string)
"main_actor": "...", // Главное действующее лицо/организация (string, null если нет)
"event_date": "...", // Дата события (string, null если нет)
"location": "...", // Место события (string, null если нет)
"source_reference": "...", // На что ссылается (string, null если нет)
"confidence": {
"main_fact": "high/medium/low",
"main_actor": "high/medium/low",
"event_date": "high/medium/low",
"location": "high/medium/low",
"source_reference": "high/medium/low"
}
}

Требования:

Вам предоставляется единый список статей (см. Исходные данные). Вы можете использовать любые статьи из этого списка для разработки, отладки и создания примеров (one-shot/few-shot learning).

Финальное тестирование будет проводиться на 5 статьях из этого же списка и одной статьи из закрытого списка, которые будут выбраны жюри в момент оценки. Так как вы не знаете заранее, какие именно 5 статей будут тестовыми, ваш промпт должен быть устойчивым ко всему списку и обобщаться на статьи за его пределами.

В список намеренно включены статьи, где информация: а) Отсутствует (например, нет даты или места). б) Противоречива или неявна (например, "событие произошло на прошлой неделе").

Ваша задача — "научить" LLM с помощью промпта корректно обрабатывать эти пограничные случаи. Вместо додумывания фактов система должна возвращать null (для отсутствующих данных) и выставлять low confidence (для неявных или противоречивых).

Советы:

Исходные данные:

  1. https://www.culture.ru/materials/258004/koporskii-chai-kak-kiprei-vydavali-za-elitnoe-kitaiskoe-syre
  2. https://i-m-i.ru/news/yandex-music-has-launched-a-new-recommendation-feature
  3. https://i-m-i.ru/news/zabelin-lecture
  4. https://i-m-i.ru/news/imanbek-after-the-grammy
  5. https://www.culture.ru/materials/254296/odisseya-nikolaya-rezanova
  6. https://www.theartnewspaper.ru/posts/20251007-vugy/
  7. https://www.theartnewspaper.ru/posts/20250514-meov/
  8. https://78.ru/news/2025-10-09/andriano-chelentano-ispolnit-pesnyu-na-stihi-rubalskoi
  9. https://www.championat.com/other/article-6206610-fide-anonsirovala-novyj-chempionat-mira-po-shahmatam-total-chess-world-championship-tour-chto-za-turnir-budet-li-igrat-karlsen.html
  10. https://habr.com/ru/news/959196/

Критерии оценки:

  1. Точность извлечения фактов (40 баллов)
    Оценивается F1-score по точному совпадению для main_fact, main_actor, event_date, location, source_reference. Совпадение null с эталоном засчитывается как корректное извлечение.

  2. Обработка неопределённых и противоречивых данных (20 баллов)
    Баллы начисляются, если модель корректно выставляет low confidence или null при неявных/отсутствующих данных. Штраф, если выдано high confidence, но значение неверное.

  3. Структурированность вывода (15 баллов)
    JSON должен быть полностью валидным и соответствовать образцу. Любая ошибка парсинга даёт 0 баллов за кейс.

  4. Итеративная устойчивость и воспроизводимость (15 баллов)
    Промпт должен работать без ручных правок на новых статьях. Баллы даются за универсальность и стабильность поведения на разнообразных источниках.

  5. Качество промпта и инженерный подход (5 баллов)
    Ясная структура запроса, логика инструкций, корректное использование ролей, подсказок и примеров.

  6. Креативность и оформление (5 баллов)
    Ясный язык, аккуратная подача финального промпта и вашего анализа. Решение легко читать и проверять.

Для сдачи проекта:

Отчет по проекту:

В свободной форме опишите

Ссылки на все диалоги с LLM, которые приводят к финальному решению.

Уникальное для кейса:

Добавить в отчёт:

Тестирование: