Поиск
ruM2M100-1.2B-image

ruM2M100-1.2B

Открытое решение для коррекции орфографии из библиотеки SAGE

Лицензия

MIT

Размер файлов

5 GB

Версия

1.0

Модели-корректоры

  • ruM2M100-1.2B;
  • ruM2M100-418M;
  • FredT5-large;
  • T5-large: коррекция орфографии на английском языке;
  • 🔥 Сервис “Генеративная проверка орфографии”;

Возможности

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

Корректор был обучен на основе модели M2M100-1.2B. В качестве обучающего корпуса был взят обширный датасет с “искусственными” ошибками: корпус был собран на основе русскоязычной википедии и транскриптов русскоязычных видео, затем в него автоматически внедрили опечатки и орфографические ошибки с помощью функционала библиотеки SAGE.

Преимущества нашего решения

Устойчивость к высокой плотности ошибок

Во время обучения, модели на “вход” подавались пары текстов, где один из текстов содержал ошибки и опечатки, а второй был корректным. При формировании текстов с ошибками, мы добавляли в 10 раз больше ошибок, чем в среднем содержится в предложениях, чтобы модель умела исправлять даже самые запутанные случаи, как, например, такой:

Думю ешцъа лет череа 10 ретроспективно просматривотьэ то будкетцц мне невероя тна ин те р но

Устойчивость к текстам из разных источников

Обучающий корпус для модели был собран из нескольких текстовых доменов:

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

Статьи и выступления

Примеры работы

На входеНа выходе
Думю ешцъа лет череа 10 ретроспективно просматривотьэ то будкетцц мне невероя тна ин те р ноДумаю что лет через 10 ретроспективно просматривать это будет мне невероятно интересно
Основая цель мероприятия - практическая отработка навыков по оказанию помощи гражданам, попавшим в ДТП, а также повышение и совершенствование уровня профессиональной подготовки сотрудников МЧС при проведении аварийно-спасательных работ по ликвидации последствий дорожно-транспортных проишествий, сокращение временных показателей реагирования.Основная цель мероприятия - практическая отработка навыков по оказанию помощи гражданам, попавшим в ДТП, а также повышение и совершенствование уровня профессиональной подготовки сотрудников МЧС при проведении аварийно-спасательных работ по ликвидации последствий дорожно-транспортных происшествий, сокращение временных показателей реагирования.
прийдя в МГТУ я был удивлен никого необноружив там…прийдя в МГТУ я был удивлен никого не обнаружив там...

Метрики

Качество

Ниже представлены автоматические метрики для определения корректности работы спелл-чекеров. Мы приводим сравнение нашего решения как с открытыми автоматическими спелл-чекерами, так и с семейством моделей ChatGPT на всех четырёх имеющихся датасетах:

  • RUSpellRU: тексты, собранные из ЖЖ (ЖивойЖурнал), с вручную исправленными опечатками и ошибками;
  • MultidomainGold: примеры из 7 текстовых источников, включая открытый интернет, новости, социальные сети, отзывы, субтитры, стратегические документы и литературные произведения;
  • MedSpellChecker: тексты с ошибками из медицинских анамнезов;
  • GitHubTypoCorpusRu: орфографические ошибки и опечатки в коммитах на GitHub;

RUSpellRU

МодельPrecisionRecallF1
M2M100-1.2B59.443.350.1
ChatGPT gpt-3.5-turbo-030155.875.364.1
ChatGPT gpt-4-031457.075.963.9
ChatGPT text-davinci-00355.975.364.2
Yandex.Speller83.059.869.5
JamSpell42.132.836.9
HunSpell31.334.933.0

MultidomainGold

МодельPrecisionRecallF1
M2M100-1.2B56.444.849.9
ChatGPT gpt-3.5-turbo-030133.872.146.0
ChatGPT gpt-4-031434.073.246.4
ChatGPT text-davinci-00333.672.045.8
Yandex.Speller52.951.452.2
JamSpell25.730.628.0
HunSpell16.240.123.0

MedSpellChecker

МодельPrecisionRecallF1
M2M100-1.2B63.757.860.6
ChatGPT gpt-3.5-turbo-030153.267.659.6
ChatGPT gpt-4-031454.269.460.9
ChatGPT text-davinci-00347.868.456.3
Yandex.Speller80.647.860.0
JamSpell24.629.726.9
HunSpell10.340.216.4

GitHubTypoCorpusRu

МодельPrecisionRecallF1
M2M100-1.2B45.741.443.5
ChatGPT gpt-3.5-turbo-030143.857.049.6
ChatGPT gpt-4-031445.258.251.0
ChatGPT text-davinci-00346.558.151.7
Yandex.Speller67.737.548.3
JamSpell49.529.937.3
HunSpell28.530.729.6

Инструкции по использованию

Использовать модель можно следующим образом:

from transformers import M2M100ForConditionalGeneration, M2M100Tokenizer

path_to_model = "<path_to_model>"

model = M2M100ForConditionalGeneration.from_pretrained(path_to_model)
tokenizer = M2M100Tokenizer.from_pretrained(path_to_model)

sentence = "прийдя в МГТУ я был удивлен никого необноружив там…"

encodings = tokenizer(sentence, return_tensors="pt")
generated_tokens = model.generate(
        **encodings, forced_bos_token_id=tokenizer.get_lang_id("ru"))
answer = tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
print(answer)

# ["прийдя в МГТУ я был удивлен никого не обнаружив там..."]

Ресурсы

Лицензирование

Модель M2M100-1.2B, на основе которой сделано наше решение, и её исходный код поставляются на основе открытой лицензии MIT. Наше решение также поставляется на основе лицензии MIT.

Технические характеристики

  • Размер файлов: 5 Gb;
  • Фреймворк: pytorch
  • Tags: spellchecking проверка орфографии NLP M2M100 pytorch natural language generation
  • Формат: AI Service
  • Версия: v1.0
  • Разработчик: AGI NLP

Обратная связь

Круглосуточная поддержка по телефону 8 800 444-24-99, почте support@cloud.ru и в Telegram