Вернуться к списку задач

SAGE

Способность модели
Spelling correction
Punctuation correction
Error detection
Text editing
Метрика
PUNCT_F1
SPELL_F1
ERRANT_F1
Top score
Датасет SAGE предназначен для оценки способности языковых моделей автоматически исправлять ошибки в русском тексте.

Описание задачи

Датасет SAGE предназначен для оценки способности языковых моделей автоматически исправлять ошибки в русском тексте. Он формулируется как задача преобразования текста с ошибками в корректный вариант. Модели должны исправлять орфографию и пунктуацию, не добавляя комментариев и пояснений. Данный набор является усовершенствованной версией открытого датасета SAGE (v1.1.0), опубликованного на Hugging Face. Набор ориентирован на text-to-text модели и позволяет количественно оценивать качество автоматической коррекции текста.

Некоторая часть примеров в датасете может быть уже корректной и не требовать исправлений. Это является нормальным и преднамеренным свойством выборки: модель должна уметь как исправлять ошибки, так и оставлять корректный текст без изменений.

Проверяемые навыки: Spelling correction, Punctuation correction, Error detection, Text editing.

Авторы: Данил Астафуров, Ульяна Исаева, Алена Феногенова, Анастасия Мордашева, Наталья Атнагулова, Ольга Кун, Ольга Таболина, Кристина Еремеева, Никита Мартынов, Александр Астафуров

Мотивация

Целевые модели

Датасет предназначен для генеративных языковых моделей, способных редактировать текст и выполнять задачи автоматической коррекции.

Ограничения

Бенчмарк не предназначен для оценки:

  • качества открытой текстовой генерации
  • способностей к рассуждению или фактических знаний
  • стилистического редактирования или перефразирования
  • смыслового улучшения текста
  • коррекции текста на нескольких языках

Какие способности проверяются

Оценивается способность модели:

  • обнаруживать ошибки разных типов
  • корректно их исправлять
  • сохранять исходный смысл текста

Это не просто language understanding, а способность к языковому редактированию.

Для кого результаты

Результаты предназначены для исследователей и разработчиков NLP-моделей, оценивающих качество текстовой генерации и постобработки текста.

Интерпретация метрик

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

Валидность

Text-to-text постановка задачи в сочетании с edit-level метриками позволяет раздельно оценивать способность модели обнаруживать ошибки (recall) и корректно их исправлять (precision), что затруднительно в классификационной или span-based постановке. Такой дизайн также соответствует реальному сценарию использования LLM как текстового редактора. Дизайн бенчмарка контролирует ключевые факторы, влияющие на оценку: используется стратифицированная выборка по длине входного текста, а орфографические и пунктуационные ошибки оцениваются раздельно. При этом существуют ограничения валидности. Часть случаев русской пунктуации допускает неоднозначную интерпретацию в gold-разметке. Обязательное восстановление буквы «ё» является намеренным решением дизайна и может влиять на оценки моделей, обученных на альтернативных нормах письма. Кроме того, агрегированная метрика ERRANT_F1 не отражает взаимосвязь между различными типами ошибок и должна интерпретироваться совместно с частными метриками.

Описание датасета

Поля данных

Каждый вопрос в датасете содержит следующие поля:

  • instruction [str] — Промпт-инструкция для модели, содержащая шаблон для вставки элементов вопроса.
  • inputs — Входные текстовые данные, формирующие задание для модели.
    • source [str] — Текст с ошибками, который необходимо исправить.
  • outputs [str] — Правильный ответ на вопрос.
  • meta — Метаданные, относящиеся к тестовому примеру, но не используемые в вопросе (скрытые от тестируемой модели).
    • id [int] — Номер-идентификатор вопроса в датасете.

Пример данных

{
    "instruction": "Задача:\nИсправь ошибки в тексте, сохранив смысл и стиль автора.\n\nИсправляй следующие ошибки:\n- орфографические\n- пунктуационные\n- синтаксические\n- морфологические\n- лексические\n\nНе исправляй:\n- стиль и формулировки\n- сленг, разговорную речь, диалектизмы\n- эмоции и намеренные искажения\n- логические или фактические ошибки\n- текст не на русском языке\n\nОграничения:\n- не добавляй и не удаляй слова без необходимости\n- не делай первую букву заглавной без причины\n- не добавляй точку в конце\n- всегда используй \"ё\"\n- сохраняй форматирование\n\nФормат ответа:\nНапиши только исправленный текст.\n\nТекст:\n{source}\n",
    "inputs": {
        "source": "Я заказала размер 35, себя замерив, почитая отзывы. На рос. размер 50-52 заказала, но не посоветовавшись со мной продавец отправил 36 размер. Ну, ооочень большой, одела с застегнутым замком, а пуговицы вообще не застегнула, так как петли не прорезаны. Я выразила претензию. Продавец долго морочил мне голову, что мой заказ мне должен подойти, не спросив даже мой размер. Короче, предложил взамен 3 доллара, я возмутилась и открыла спор. Спасибо AliExpress, вернули деньги полностью. Джинсы валяются, запах ужасный, хорошо, хоть деньги вернули"
    },
    "outputs": "Я заказала размер 35, себя замерив, прочитав отзывы. На рос. размер 50–52 заказала, но, не посоветовавшись со мной, продавец отправил 36 размер. Ну ооочень большой, надела с застёгнутым замком, а пуговицы вообще не застегнула, так как петли не прорезаны. Я выразила претензию. Продавец долго морочил мне голову, что мой заказ мне должен подойти, не спросив даже мой размер. Короче, предложил взамен 3 доллара, я возмутилась и открыла спор. Спасибо AliExpress, вернули деньги полностью. Джинсы валяются, запах ужасный, хорошо хоть деньги вернули",
    "meta": {
        "id": 1
    }
}

Промпты

Для задачи были подготовлены 5 промптов, которые были равномерно распределены по вопросам по принципу "один вопрос – один промпт". Шаблоны в фигурных скобках в промпте заполняются из полей внутри поля inputs в каждом вопросе.

Пример промпта:

Задача:
Исправь ошибки в тексте, сохранив смысл и стиль автора.

Исправляй следующие ошибки:
- орфографические
- пунктуационные
- синтаксические
- морфологические
- лексические

Не исправляй:
- стиль и формулировки
- сленг, разговорную речь, диалектизмы
- эмоции и намеренные искажения
- логические или фактические ошибки
- текст не на русском языке

Ограничения:
- не добавляй и не удаляй слова без необходимости
- не делай первую букву заглавной без причины
- не добавляй точку в конце
- всегда используй \"ё\"
- сохраняй форматирование

Формат ответа:
Напиши только исправленный текст.

Текст:
{source}

Создание датасета

Источники данных

Датасет SAGE основан на оригинальном датасете SAGE [1,2] и сформирован на основе различных русскоязычных текстовых источников, включая открытые корпуса, интернет-тексты и пользовательские запросы. Для обеспечения разнообразия языковых конструкций использовались данные из нескольких доменов, включая новостные статьи, литературные тексты, контент социальных сетей, медицинские тексты и техническую документацию.

В качестве источников использовались существующие русскоязычные корпуса и наборы данных, включая RUSpellRU, MultidomainGold, MedSpellChecker и GitHubTypoCorpusRu. Дополнительно использовались тексты из открытых интернет-источников и пользовательского контента для расширения покрытия орфографических и пунктуационных случаев.

Разметка и валидация

Для каждого примера фиксировались исходный текст и эталонный исправленный вариант. Выборка проходила ручную проверку корректности исправлений и соответствия нормам русского языка. Неоднозначные случаи, допускающие несколько нормативных вариантов, исключались из итогового набора данных.

Очистка данных

Из набора удалялись пустые, дублирующиеся и некорректные записи, а также примеры с неоднозначными исправлениями. Дополнительно проводилась проверка разнообразия текстов по длине, тематике и типам ошибок.

Категории ошибок

Датасет включает два типа ошибок: орфографические и пунктуационные. В одном тексте может встречаться несколько типов ошибок.

Формирование выборки

После предобработки данные были случайным образом перемешаны и разделены на итоговые наборы для оценки моделей. Исходный корпус содержал 2 500 примеров, из которых в итоговую тестовую выборку было отобрано 1 000 примеров (40% данных). Для сохранения разнообразия по длине текстов использовалась стратифицированная выборка по длине входного текста.

Оценка

Метрики

Для агрегированной оценки ответов моделей используются следующие метрики:

  • SPELL_F1 : F1-оценка качества исправления орфографических ошибок.
  • PUNCT_F1 : F1-оценка качества исправления пунктуационных ошибок.
  • ERRANT_F1 : агрегированная метрика, представляющая собой среднее значение SPELL_F1 и PUNCT_F1, отражающее общее качество исправления текс