1 / 18

Обнаружение и исправление ошибок в словах

Обнаружение и исправление ошибок в словах. Докладчик: Анна Вероника Дорогуш, разработчик группы Морфологии. Зачем это нужно?. Первое применение: нахождение ошибочные записи в базах данных Сегодня используется повсеместно. Проверка орфографии в текстовых редакторах

Download Presentation

Обнаружение и исправление ошибок в словах

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Обнаружение и исправление ошибок в словах Докладчик: Анна Вероника Дорогуш, разработчик группы Морфологии

  2. Зачем это нужно? Первое применение: нахождение ошибочные записи в базах данных Сегодня используется повсеместно. • Проверка орфографии в текстовых редакторах • Подсказки пользователю при наборе текста • Распознавание речи(ASR) • Оптическое распознавание текста (OCR) Оснавнаязаадча–исправялтьопичаткииошипки.

  3. Типы ошибок в словах • Опечатки (случайный набор неверного символа) Матрос →Мартос Матрос → Матрас • Орфографические ошибки (пользователь не знает, как пишется слово) Матрос →Мотрос Бодаться →Бадаться • Ошибки распознавания layer→Iayer (второе слово начинается на iбольшое) Щупальца → Шупальца Макушка→Манушка

  4. Задача 1: Обнаружить ошибки Постановка задачи: Необходимо ответить на вопрос, есть ли в тексте слова с ошибками, и если таковые имеются, указать их. Вчера Георгий колбякнулсясо стула. WARNING !!!Найдена ошибка!!!

  5. Понятие N-граммы • Символьные триграммы: матрос →#ма, мат, атр, тро, рос, ос# • Словные биграммы Мама мыла раму.→<s Мама, Мамамыла, мылараму, раму /s> • Биграммы из признаков (например, части речи) Мама мыла.→<s сущ., сущ. гл., гл /s>

  6. Методы решения • На основе N-грамм • Проверка по допустимым триграммам • Насколько часто данная триграмма встречается в тексте • Поиск слова в словаре • Словарь в виде бора, отдельное хранение окончаний и основ • Хэширование

  7. Задача 2: Исправление ошибок Постановка задачи: Необходимо ответить на вопрос, правильно ли написано слово, и если нет, представить набор вариантов исправления Шёл геркчерез реку. Вариант исправления: грек

  8. Исправление ошибок Необходимо: • Уметь строить похожие варианты • Уметь их сравнивать 1 способ: рассматриваем все слова в словаре, до каждого считаем расстояние Левенштейна, выбираем ближайшее слово. Это долго….

  9. Исправление ошибок 2 способ: • Генерируем все строки, которые можно получить из данной за одну или две ошибки. • Проверяем есть ли они в словаре. • Выбираем лучший вариант. Вопрос: а как понять, какой лучший?

  10. Вычисление схожести • Штраф за ошибки по Левенштейну. • Одинаковый штраф за любое изменение. • Эвристики для вычисления штрафов. • Таблица частотностей ошибок. • Триграммы: • Штраф - число различных триграмм. • Триграммам назначаем веса (у первой и последней большой вес, вес в зависимости от символов-участников) • XOR по битовому вектору флагов наличияуниграмм и биграмм • Использование частотности вариантов-ответов

  11. Проблемы В некоторых языках есть составные слова. Например, в немецком. Donaudampfschiffahrtselektrizitätenhauptbetriebs- werkbauunterbeamtengesellschaft

  12. Проблемы • Есть более сложные ошибки. • Транспозиция соседних символов. Матрос →Маторс • Транспозиция несоседних символов. Опечатка →Очепятка • Ошибок может быть больше двух. Если допускать сложные ошибки и разрешать много ошибок, возможных вариантов исправления будет много. Решение Бор (Trie) + Очередь с приоритетами (Priority queue)

  13. Проблема: ложные тревоги Автозамены • Неполнота покрытия лексикона словарем • Термины, имена собственные • Возможные решения • Расширение словаря • Использование дополнительных словарей терминов и редких слов • Автоматическое определение имен собственных Эллочка → Ёлочка Два ужика→ Два ёжика Himmler → Hitler

  14. Проблема: пропуск ошибок Слово с ошибкой оказывается словарным • Возможные решения • На основе грамматического анализа Отличный день, чтобы расслабится и ничего не делать. • Правила, написанные экспертом • Триграммы из грамматических значений • На основе семантического анализа Кошка родила китёнка. • На основе словных N-грамм

  15. Алгоритм Витерби для исправления ошибок Задача: Подобрать значения, которые скорее всего были на входе. Зашумленный канал Исходные данные Наблюдаемое значение На сталележит рамб от картины. На столе лежит рама от картины.

  16. Что еще интересного? • Как реализовать дополнение слов? • Как узнать слово, записанное со звука, то есть звучащее похоже, но записанное с ошибками?

  17. SOUNDEX • Оставляем первую букву • Заменяем следующие буквы дефисами: a,e,i,o,u,y,h,w. • Остальные буквы заменяем цифрами следующим образом: • b,f,p,v : 1 • c,g,j,k,q,s,x,z : 2 • d,t : 3 • l : 4 • m,n : 5 • r : 6 • Удаляем повторяющиеся цифры из записи • Удаляем дефисы • Оставляем первые три числа, дополняем нулями

  18. Спасибо за внимание Вапросы ? Ворпосы Вопрооы ? ? ? Вопорсы Вопрось ? Вопросы ? ? ? Вопроссы Вонросы Dопросы Вопросьi

More Related