Тип работы:
Предмет:
Язык работы:


Серверная модель исправления опечаток

Работа №142361

Тип работы

Бакалаврская работа

Предмет

математика

Объем работы28
Год сдачи2022
Стоимость4700 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
31
Не подходит работа?

Узнай цену на написание


1. Введение 3
2. Обзор литературы 5
2.1. Классические подходы 5
2.2. Подход, применявшийся в JetBrains 6
2.3. Современные подходы, использующие контекст и глубокое обучение 6
3. Исследованные модели 10
3.1. Архитектуры и постановки обучения 10
3.1.1. Char-level seq2seq: char-level Transformer обученный с нуля . 10
3.1.2. Token-level seq2seq: BART fine-tune 11
3.1.3. Sep-Mask-One BART fine-tune 11
3.1.4. Sep-Mask-All BART fine-tune 13
3.1.5. Mask-Word BART fine-tune 14
3.1.6. Detection - Candidates Generation - Candidates Ranking .... 15
3.2. Ускорение моделей 17
4. Эксперименты и результаты 19
4.1. Данные 19
4.2. Метрики качества 20
4.3. Baselines 22
4.4. Результаты 22
5. Заключение 26

Многие современные программные продукты в которых пользователь работает с текстом оснащены системами исправления опечаток. По мере того как пользова­тель набирает текст, система в режиме реального времени делает исправления, а иногда указывает на потенциальную ошибку и подсказывает возможный вариант верного написания слова. От качества системы исправления опечаток может зави­сеть удобство печатания для пользователя, а также различные функции конкрет­ного программного продукта, например, качество поиска, если рассматривается текст вводимый в поисковую строку.
Качественная система исправления опечаток должна брать во внимание кон­текст, в котором употребляется то или иное слово, так как в зависимости от кон­текста корректными могут быть разные варианты написания. Кроме того, окружа­ющий контекст может значительно помочь в детекции опечатки и поиске верного варианта исправления.
Большинство современных исследований систем исправления опечаток исполь­зует техники обработки естественного языка, главным образом применяющие ней­ронные сети [4] [6] [14] [5] [8], в то время как более классические подходы [1] [13] [11] основаны на редакционном расстоянии и словарях.
При разработке системы исправления опечаток важной характеристикой по­мимо качества исправлений является также скорость работы, потому как если не брать в расчет скорость, можно будет попробовать в качестве исправления абсо­лютно любое слово из словаря, и оценить какое лучше. Такой подход не применим на практике.
Существующие нейросетевые архитектуры содержащие в себе авторегрессион­ную часть, такие как трансформер с кодировщиком и декодировщиком, имеют по­тенциал справляться с исправлением опечаток лучше, чем модели без этой части, так как исправление опечаток содержит в себе этап генерации верного написания, который, в свою очередь, напрямую вписывается в авторегрессионную архитекту­ру.
В компании JetBrains существует система исправления опечаток, поставляемая вместе со всеми IDE, действующая на устройстве пользователя. Система применя­ется для исправления опечаток в комментариях, а также при работе с Markdown и другими текстовыми файлами. В силу ограничений по памяти, на системы ко­торые можно поставлять в комплекте IDE, данная модель имеет недостаточно ре­сурсов, чтобы применять нейросетевые или иные подходы использующие контекст для исправления опечаток. С другой стороны, если развертывать модель на уда­ленном сервере, то ограничений по памяти будет на порядок меньше, а это, в свою очередь, позволит построить более сильную модель, которая может использовать тяжеловесные нейронные сети и качественно учитывать контекст.
Цель работы:
Создание новых методов исправления опечаток, которые превзошли бы по ка­честву существующие подходы. Предложенные методы должны учесть недостатки существующих методов, объединив в себе нейронные сети с авторегрессионной ча­стью для использования информации про контекст, а также способы ускорения работы нейронных сетей, чтобы модель могла использоваться в режиме реального времени в IDE JetBrains.
Задачи работы:
• Анализ существующих методов исправления опечаток
• Исследование нейросетевых моделей исправления опечаток
• Ускорение модели для работы в режиме реального времени
• Оценка качества предложенных методов на существующих датасетах и срав­нение с существующими моделями

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В этой работе было исследовано несколько способов построения модели исправ­ления опечаток. Было показано, что char-level модели существенно проигрывают token-level моделям на этой задаче. Кроме того, было обнаружено, что если явное указание модели на слова с опечатками, повышает качество исправлений. Луч­шим из рассмотренных подходов оказался Sep-Mask-All BART fine-tune, который объединяет в себе идеи использования сильной предобученной языковой модели и указания модели на слова с ошибками через механизм маскирования. На осно­ве лучшего подхода удалось предложить эффективную, ускоренную модель ран­жирования кандидатов на исправление опечатки, которая интегрируется в IDE JetBrains.
На открытом датасете реальных опечаток BEA60k было установлено, что пред­ложенный метод превосходит по качеству исправления ошибок открыто доступные существующие методы, тем самым доказывая, что авторегрессионная генерация исправления ошибки является эффективным подходом.
Полученные модели поддерживают использование через CLI. Модели, код обу­чения и датасеты доступны для публичного использования и выложены в отрытый доступ по адресу: https://github.com/melnikoff-oleg/spellchecker.


[1] Atkinson K. GNU Aspell. — 2019.—Access mode: http://aspell.net/.
[2] BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension / Lewis M., Liu Y., Goyal N., Ghazvininejad M., Mohamed A., Levy O., Stoyanov V., and Zettlemoyer L. // CoRR.— 2019.— Vol. abs/1910.13461.— arXiv : 1910.13461.
[3] Belinkov Y., Bisk Y. Synthetic and Natural Noise Both Break Neural Machine Translation // CoRR. — 2017.—Vol. abs/1711.02173.—arXiv : 1711.02173.
[4] Jayanthi S. M., Pruthi D., Neubig G. NeuSpell: A Neural Spelling Correction Toolkit // CoRR. —2020.—Vol. abs/2010.11085. — arXiv : 2010.11085.
[5] Kuznetsov A., Urdiales H. Spelling Correction with Denoising Transformer // CoRR. —2021.—Vol. abs/2105.05977. — arXiv : 2105.05977.
[6] Li X., Liu H., Huang L. Context-aware Stand-alone Neural Spelling Correction // CoRR. —2020.—Vol. abs/2011.06642. — arXiv : 2011.06642.
[7] Lu J. Speller100: Zero-shot spelling correction at scale for 100-plus languages. — 2021. — Access mode: https://www.microsoft.com/en-us/research/blog/ speller100-zero-shot-spelling-correction-at-scale-for-100-plus-languages/.
[8] Misspelling Correction with Pre-trained Contextual Language Model / Hu Y., Jing X., Ko Y., and Rayz J. T. // CoRR. — 2021. — Vol. abs/2101.03204. — arXiv : 2101.03204.
[9] Misspelling Oblivious Word Embeddings / Piktus A., Edizel N. B., Bojanowski P., Grave E., Ferreira R., and Silvestri F. // Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers). — Minneapolis, Minnesota : Association for Computational Linguistics. — 2019. — June. — P. 3226­3234. — Access mode: https://aclanthology.org/N19-1326.
[10] Napoles C., Sakaguchi K., Tetreault J. JFLEG: A Fluency Corpus and Benchmark for Grammatical Error Correction // Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 2, Short Papers. — Valencia, Spain : Association for Computational Linguistics. — 2017. — Apr. — P. 229-234. — Access mode: https://aclanthology.org/ E17-2037.
[11] Nemeth L. Hunspell. — 2002. — Access mode: http://hunspell.github.io.
[12] One Billion Word Benchmark for Measuring Progress in Statistical Language Modeling / Chelba C., Mikolov T., Schuster M., Ge Q., Brants T., and Koehn P. // CoRR.— 2013.— Vol. abs/1312.3005. — arXiv : 1312.3005.
[13] Ozinov F. Jamspell. — 2019. — Access mode: https://jamspell.com.
[14] Robsut Wrod Reocginiton via semi-Character Recurrent Neural Network / Sakaguchi K., Duh K., Post M., and Durme B. V. // CoRR. — 2016. —Vol. abs/1608.02214. — arXiv : 1608.02214.


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ