

Лучшая версия решения из библиотеки SAGE.
Возможности
Модель генеративной проверки орфографии переписывает текст без ошибок, не исправляя при этом там, где этого не требуется, сленг, особенности диалектов, сокращения и аббревиатуры. Опечаточник был обучен на базе генеративной модели M2M100 в два этапа. Вначале модель обучалась на обширном датасете с “искусственными” ошибками: корпус был собран на основе русскоязычной википедии и транскриптов русскоязычных видео, затем в него автоматически внедрили опечатки и орфографические ошибки. На заключительном этапе корректор обучался на комбинации из двух датасетов, содержащих “человеческие” ошибки и синтетически сгенерированные.
Преимущества нашего решения
Консистентный перенос стиля
На данный момент коррекция орфографических ошибок в большинстве случаев сопряжена с приведением всех слов в тексте к норме языка, что приводит к нежелательным с точки зрения пользователя исправлениям, как, например, тут:
ОМГ, какооооой фильм, сто проц побегу смотртеь → ???, какой фильм, сто процентов побегу смотреть
Мы постарались научить модель отличать случайную опечатку или ошибку от намеренного искажения нормы: на последней стадии обучения модели подавались пары текстов, где вручную экспертами были исправлены только ненамеренные ошибки, чтобы в итоге получалось исправлять именно ошибки:
ОМГ, какооооой фильм, сто проц побегу смотртеь → ОМГ, какооооой фильм, сто проц побегу смотреть
Устойчивость к текстам из разных источников
Модель обучена на примерах, покрывающих большинство часто встречающихся источников текста и их особенностей, различные варианты форматирования и символы:
- Новости;
- Социальные сети;
- Отзывы;
- Субтитры;
- Открытый интернет;
- Блоги и статьи;
Статьи и выступления
- Рассказ про библиотеку SAGE, DataFest 2023
- Статья про методы генерации синтетических ошибок, Dialogue 2023
- Статья про SAGE и наше лучшее решение, Review EACL 2024
Примеры работы
На входе | На выходе |
---|---|
Вытавка «Александ Иванов — мастир акварели. Жанр и пийзаж» проходит до 19 ноебря в Государственой Третьяековской галереи. Мусею принадлижыт значительное часть графическово наследия художника, включая свыше 700 отдельных листа и около 40 альбомов. Экспозиций включает в себя преимуществено пизажи и сцены из итальянской жизни. | Выставка «Александр Иванов — мастер акварели. Жанр и пейзаж» проходит до 19 ноября в Государственной Третьяковской галерее. Музею принадлежит значительная часть графического наследия художника, включая свыше 700 отдельных листов и около 40 альбомов. Экспозиция включает в себя преимущественно пейзажи и сцены из итальянской жизни. |
Пазетива и ынэргии Вам в ленту. Жывити, не нопригаесь. Пусь этат месиц буит яркем, тёплам и полнам только преятных маментов 🙏💖🙂🔥💫💫💫 | Позитива и энергии Вам в ленту. Живите, не напрягайтесь. Пусть этот месяц будет ярким, тёплым и полным только приятных моментов 🙏💖🙂🔥💫💫💫 |
Неполучаетсяставитьпрабелы,никтонипаймёт,штояпешу | Не получается ставить пробелы,никто не поймёт,что я пишу |
Метрики
Качество
Ниже представлены автоматические метрики для определения корректности работы спелл-чекеров. Мы приводим сравнение нашего решения как с открытыми автоматическими спелл-чекерами, так и с семейством моделей ChatGPT на всех четырёх имеющихся датасетах:
- RUSpellRU: тексты, собранные из ЖЖ (ЖивойЖурнал), с вручную исправленными опечатками и ошибками;
- MultidomainGold: примеры из 7 текстовых источников, включая открытый интернет, новости, социальные сети, отзывы, субтитры, стратегические документы и литературные произведения;
- MedSpellChecker: тексты с ошибками из медицинских анамнезов;
- GitHubTypoCorpusRu: орфографические ошибки и опечатки в коммитах на GitHub;
RUSpellRU
Модель | Precision | Recall | F1 |
---|---|---|---|
M2M100-1.2B | Best | 87.7 | 71.1 |
ChatGPT gpt-3.5-turbo-0301 | 55.8 | 75.3 | 64.1 |
ChatGPT gpt-4-0314 | 57.0 | 75.9 | 63.9 |
ChatGPT text-davinci-003 | 55.9 | 75.3 | 64.2 |
Yandex.Speller | 83.0 | 59.8 | 69.5 |
JamSpell | 42.1 | 32.8 | 36.9 |
HunSpell | 31.3 | 34.9 | 33.0 |
MultidomainGold
Модель | Precision | Recall | F1 |
---|---|---|---|
M2M100-1.2B Best | 62.3 | 59.3 | 60.8 |
ChatGPT gpt-3.5-turbo-0301 | 33.8 | 72.1 | 46.0 |
ChatGPT gpt-4-0314 | 34.0 | 73.2 | 46.4 |
ChatGPT text-davinci-003 | 33.6 | 72.0 | 45.8 |
Yandex.Speller | 52.9 | 51.4 | 52.2 |
JamSpell | 25.7 | 30.6 | 28.0 |
HunSpell | 16.2 | 40.1 | 23.0 |
MedSpellChecker
Модель | Precision | Recall | F1 |
---|---|---|---|
M2M100-1.2B Best | 77.7 | 75.7 | 76.7 |
ChatGPT gpt-3.5-turbo-0301 | 53.2 | 67.6 | 59.6 |
ChatGPT gpt-4-0314 | 54.2 | 69.4 | 60.9 |
ChatGPT text-davinci-003 | 47.8 | 68.4 | 56.3 |
Yandex.Speller | 80.6 | 47.8 | 60.0 |
JamSpell | 24.6 | 29.7 | 26.9 |
HunSpell | 10.3 | 40.2 | 16.4 |
GitHubTypoCorpusRu
Модель | Precision | Recall | F1 |
---|---|---|---|
M2M100-1.2B Best | 43.9 | 41.4 | 42.6 |
ChatGPT gpt-3.5-turbo-0301 | 43.8 | 57.0 | 49.6 |
ChatGPT gpt-4-0314 | 45.2 | 58.2 | 51.0 |
ChatGPT text-davinci-003 | 46.5 | 58.1 | 51.7 |
Yandex.Speller | 67.7 | 37.5 | 48.3 |
JamSpell | 49.5 | 29.9 | 37.3 |
HunSpell | 28.5 | 30.7 | 29.6 |
Текущие ограничения
- Можно загружать текст длиной до 1000 символов;
- Модель не исправляет пунктуационные ошибки, пунктуация остаётся авторской;
- Текущее решение поддерживает только русский язык.
Будущие возможности
Сервис развивается, запланированы следующие улучшения: Поддержка пунктуации и форматирования. Мы планируем добавить правку не только орфографических ошибок, но также пунктуации и форматирования. Поддержка нескольких языков. Постепенно будем внедрять другие, отличные от русского, языки, включая европейские языки, языки СНГ, а также малые языки России.
Инструкция по использованию
Входные параметры:
# обязательный параметр:
`text` - оригинальный текст для исправления. Непустая строка не длиннее 1000 символов.
Запрос выглядит следующим образом:
{"instances": [{"text": "text"}] }
На выходе:
{'comment': ['OK'],
'origin': 'тест с ошыбкой',
'predictions': 'тест с ошибкой',
'success': True,
'version': '1.0.0'}
Ресурсы
- Код библиотеки SAGE с методами аугментации, доступом к датасетам и открытым моделям, GitHub
- Открытая модель M2M100-1.2B после первой фазы обучения, HuggingFace
- Открытая модель M2M100-418M после первой фазы обучения, HuggingFace
- Открытая модель FredT5-large после первой фазы обучения, HuggingFace
- Открытая модель T5-large после первой фазы обучения для английского языка, HuggingFace
Лицензирование
Модель M2M100-1.2B, на основе которой сделан сервис, и её исходный код поставляются на основе открытой лицензии MIT. Сервис генеративной проверки орфографии является проприетарной разработкой, для его использования необходимо заключить договор с ML Space / Cloud.ru.