Датасет 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, отражающее общее качество исправления текс