Реферат
ВВЕДЕНИЕ 4
Глава 1. Способы исправления опечаток 6
1.1 Опечатки 6
1.2 Методы исправления опечаток 7
1.4 Расстояние Дамерау-Левенштейна 8
1.5 Алгоритм Бойера-Мура 9
1.6 Метод N-грамм 11
Выводы по главе 1 12
Глава 2 13
2.1 Хранение словаря и языковой модели 13
2.2 Метод нахождения слова для исправления опечатки 13
2.3 Выбор языковой модели 14
2.4 Выбор языка для написания библиотеки 14
Выводы по второй главе 14
Глава 3 16
3.1 Создание словаря и языковой модели 16
2.2 Метод нахождения кандидатов для исправления опечатки 18
2.3 Выбор кандидата для замены слова с опечаткой с учетом контекста 20
2.5 Создание библиотеки 21
2.6 Создание текстового редактора для демонстрации работы библиотеки... 22
Выводы по 3 главе 24
ЗАКЛЮЧЕНИЕ 26
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 27
Опечатка — ошибка в тексте, обычно в результате невнимательности наборщика. Чаще всего, в результате опечатки нарушается порядок букв в слове (быът вместо быть), одна буква исчезает из слова (чловек вместо человек) или одна буква заменяется другой (чтатъя вместо статья).
Со времен создания первых машин для печатания текста люди допускают опечатки в тексте. Изначально опечатки исправлялись вручную в каждом экземпляре отпечатанного текста. По мере развития типографского дела по инициативе издателя Габриэля Пьерри стал применяться более простой метод внесения правок, заключающийся в перечислении опечаток в конце книги. В быстро развивающемся мире, где количество печатного текста неминуемо росло, росло и количество допускаемых опечаток.
В 1960-х годах в инженерной среде возникла потребность возникла потребность в автоматическом исправлении опечаток. Коррекция опечаток - одна из проблем в области обработки ЭВМ естественного языка. Универсального решения данной проблемы до сих пор не существует, однако на протяжении всей истории коррекция орфографии отражала актуальные задачи прикладной лингвистики и вбирала в себя самые новые вычислительные методы. Развитие этой дисциплины определяется двумя основными технологическими потребностями: удобством дальнейшей обработки текста (оптимизация поисковой выдачи) и удобством набора для пользователя (проверка и коррекция орфографии в текстовых редакторах). Так в 1980-х годах появляются первые коммерческие продукты для редакции текста включающие в себя модули для поиска и исправления опечаток.
В современном мире с распространением персональных компьютеров продукты по исправлению опечаток становятся все более популярными.
Большинство редакторов текста включают в себя модули исправления опечаток, а поисковые системы в веб-интерфейсах используют алгоритмы автоматического исправления опечаток с учетом контекста. Например, такие алгоритмы используются для функций наподобие «Возможно вы имели в виду ...» в тех же поисковых системах.
В выпускной квалификационной работе были рассмотрены алгоритмы для исправления опечаток тексте с учетом и без учета контекста. Описаны методы создания языковой модели. Была создана программа для создания языковой модели, библиотека для исправления опечаток с учетом контекста и простейший текстовый редактор для демонстрации работы библиотеки, а также показан принцип работы выше перечисленных программ и библиотеки.
1. Шаврина Т.О. Методы обнаружения и исправления опечаток: исторический обзор. 2017.
2. Панина М.Ф., Байтин А.В., Галинская И.Е. Автоматическое исправление опечаток в поисковых запросах без учета контекста. Яндекс, Москва, Россия.
3. Ukkonen E. Approximate string-matching with q-grams and maximal matches. Theoretical Computer Science 92 (1992), 191-211.
4. Седова А.Г. Тематическое моделирование русскоязычных текстов с опорой на леммы и лексические конструкции
5. Маслинский К. А. N-граммы. моделирование локального контекста Компьютерные методы анализа текста. НИУ ВШЭ Санкт-Петербург 2014.
6. Бойцов Л.М. Классификация и экспериментальное исследование современных алгоритмов нечеткого словарного поиска // Труды 6-ой Всероссийской научной конференции “Электронные библиотеки: перспективные методы и технологии, электронные коллекции” - RCDL2004, Пущино, Россия, 2004.
7. Myers E.W. A Fast Bit-Vector Algorithm for Approximate String Matching Based on Dynamic Programming, In Journal of the ACM (JACM), volume 46(3), 1998, p. 395 - 415.