1 / 17

Быстрая коррекция ошибок в поисковых запросах

Быстрая коррекция ошибок в поисковых запросах. Сметанин Н. А. РИ-480208. Требования. Высокая скорость работы Интеграция с поисковой машиной Исправление орфографических ошибок Исправление склеек и разрывов слов Исправление контекстных ошибок Устранение морфологических ошибок

ovid
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. Быстрая коррекция ошибок в поисковых запросах Сметанин Н. А. РИ-480208

  2. Требования • Высокая скорость работы • Интеграция с поисковой машиной • Исправление орфографических ошибок • Исправление склеек и разрывов слов • Исправление контекстных ошибок • Устранение морфологических ошибок • Избавление от фонетических неоднозначностей • Множественные варианты возможных исправлений

  3. Существующие программные решения Поисковые машины • Apache Lucene, FAROO, Sphinx, Dataspark Engine, Open Search Server, Xapian Поисковые системы • Google, Яндекс, Bing, Duck Duck Go, Wikia Search

  4. Apache Lucene Исправление орфографических ошибок Исправление контекстных ошибок

  5. Поисковые системы – Google, Yandex Достоинства: поддерживают наибольшее число методов коррекции поисковых запросов. Недостатки: закрытые системы – невозможно интегрировать в свой проект, расширять и адаптировать их.

  6. Сравнение функциональных возможностей поисковых машин

  7. Разработка модуля коррекции ошибок На основе поисковой машины «Xapian» на языке «С++» мной был разработан полноценный модуль коррекции ошибок в поисковых запросах. Данный модуль реализует исправление всех типов ошибок, указанных в требованиях.

  8. Поиск возможных исправлений– метод N-грамм Индексация – слово разбивается на множество N-грамм (подстрок длины N) В таблицу заносится соответствие N-граммы списку слов, содержащих её. Подбор кандидатов на исправление – исходное слово запроса разбивается на N-граммы, для каждой N-граммы перебирается все слова, содержащие её

  9. Улучшения метода N-грам Так как метод N-грамм является фильтрующим методом (отсеивает около 95% слов), То имеется возможность еще больше сократить обрабатываемое множество слов. Каждая N-грамма заносится только в таблицу с номером, соответствующим положению N-граммы в исходном слове.

  10. Метрика Левенштейна Метрика Левенштейна – расстояние между двумя словами, определяемое минимальным числом операций удаления, добавления или замены единичных символов, которые преобразует одно слово в другое. Значение метрики Левенштейна определяет степень сходства двух слов. • Преобразование «Дагестан» в «Арестант»: • 1. Дагестан → Агестан – операция удаления одного символа «Д». • 2. Агестан→ Арестан– операция замены символа «Г» на «Р». • 3. Арестан→ Арестант– операция добавления символа «Т». • Таким образом, результирующее значение метрики будет = 3.

  11. Вычисление метрики Левенштейна Метрика Левенштейна вычисляется с помощью алгоритма Вагнера-Фишера Формула вычисления значения очередного элемента матрицы Хв, Xз, Ху– предыдущие значения метрики, соответственно, для вставок, замен и удалений символов. Сзамены – «стоимость» замены символа Dij – результирующее значение метрики Матрицапроцесса вычисления метрики

  12. Метрика Дамерау-Левенштейна Метрика Дамерау-Левенштейна – расстояние между двумя словами, определяемое минимальным числом операций удаления, добавления или замены единичных символов, а также перестановки двух соседних символов, которые преобразует одно слово в другое. Метрика Дамерау-Левенштейна является усовершенствованным вариантом метрики Левенштейна, увеличивая количество обнаруживаемых ошибок в запросе. Формула вычисления значения очередного элемента матрицы при расчёте метрики Дамерау-Левенштейна Хв, Xз, Ху, Хт– предыдущие значения метрики, соответственно, для вставок, замен, удалений и транспозиций символов. Сзамены – «стоимость» замены символа Странспозиции– «стоимость» транспозиции двух смежных символов Dij – результирующее значение метрики

  13. Фонетические алгоритмы Задача – исправить ошибки фонетической природы, т.е. найти все слова, схожие по звучанию с исходным словом Таблица преобразованийдля алгоритма Daitch-MokotoffSoundex

  14. Дополнительная функциональность • Исправление контекстных ошибок • Исправление морфологических ошибок • Исправление склеек и разрывов слов • Исправление клавиатурных раскладок • Специальный оператор запроса «FUZZY» • Автоматическое определение языка запроса

  15. Тестирование функциональности • Исправление орфографических и контекстных ошибок:«the unknown brown quikforsjumpsover the lazy fogx»«the unknown brown quick fox jumps over the lazy dog» • Исправление склеек и разрывов слов:«drckingthedrckingthe»«docking the docking the» • Транслитерации слов из нелатинских алфавитов:«привет howare ты pozhivaesh»«privethowareti поживаешь» • Исправление некорректных раскладок клавиатуры:«trfnthby,ehuisшьзкуыыштп»«екатеринбургisimpressing» • Исправления фонетических искаженийФонетический код («Шварцнегер») = Фонетический код («Швэртснегир») • Классификация языков запросов:Английский: «london is the capital of great Britain»;Русский: «мама мыла раму»;Японский: «みつびしお疲れさん»;Китайский: «拼音漢字汉字官話»;Украинский: «мовакорінногонаселенняУкраїни».

  16. Тестирование производительности Результат сравнительного тестирования производительности различных алгоритмов: Среднее время поиска возможных исправлений слов на множестве из 3.2 млн слов. Время поиска (мс) (меньше – лучше)

  17. Заключение • Рассмотрены и проанализированы 11 поисковых машин и систем, проведен сравнительный анализ и выявлены их достоинства и недостатки. • Описаны подходы и алгоритмы, позволяющие реализовать функциональность коррекции ошибок в поисковых запросах. • Разработана полноценная подсистема коррекции ошибок на базе поисковой машины «Xapian».

More Related