Выбор метрики для нечеткого поиска в структурированной

advertisement
УДК 004(06) Компьютерные системы и технологии
Г.Г. НОВИКОВ
ООО "Дуайен Консалтинг Сервис", Москва
ВЫБОР МЕТРИКИ ДЛЯ НЕЧЕТКОГО ПОИСКА
В СТРУКТУРИРОВАННОЙ ИНФОРМАЦИИ
Проведено сравнение метрик для поиска в структурированном тексте: таблицы, реляционные базы данных при решении задачи поиска по подобию.
В настоящее время существуют четыре класса поисковых алгоритмов.
Три из четырех требуют индексирования – предварительной обработки
документов, при котором создаются вспомогательный файл – индекс, призванный упростить и ускорить сам поиск. Это алгоритмы инвертированных файлов, суффиксных деревьев, сигнатур. Каждый из алгоритмов нечеткого поиска имеет свои особенности, но основан на понятии метрики –
инструмента позволяющего количественно оценить «расстояние» или
степень похожести фрагментов. Хорошая метрика учитывает различные
типы искажений, включая удаления, замены, вставки и транспозиции
символов, а в идеале, похожесть звучания слов и возможно семантику.
Одна из классических метрик близости слов является функция Левенштейна. Расстояние Левенштейна равно минимальному числу элементарных операций редактирования (замены, вставки и удаления одного символа), необходимых для преобразования одной строки в другую. Если добавить ещё операцию транспозиции, получим функцию Дамерау. Сложность вычисления расстояния Левенштейна–Дамерау имеет квадратичный
порядок относительно размера строк, и вычисляется с помощью матрицы
динамического программирования О(MN) где m и n длины сравниваемых
строк.
Другой подход к задаче вычисления расстояния заключается в выборе
более легко вычислимой функции похожести. Так, например, были предложены различные модификации n-граммных расстояний, основанные на
подсчете числа общих подстрок фиксированной длины.
В этой работе рассматривался вопрос исследования применимости метода n-граммных расстояний [1] для поиска в структурированной в виде
реляционной базы данных информации. В качестве метрики использовалась словарная n-граммная индексация основанная на следующем свойстве: если слово u получается из слова w в результате не более чем k элементарных операций редактирования (за исключением перестановок символов), то при любом представлении u в виде конкатенации из k+1-й
строки, одна из строк такого представления будет точной подстрокой w.
ISBN 5-7262-0710-6. НАУЧНАЯ СЕССИЯ МИФИ-2007. Том 12
125
УДК 004(06) Компьютерные системы и технологии
Это свойство можно усилить, заметив, что среди подстрок представления
существует такая, что разность между её позицией в строках w и u не
больше k. Таким образом, задача поиска сводится к задаче выборки всех
слов, содержащих заданную подстроку. Для решения этой задачи удобно
использовать инвертирование относительно набора n-грамм слова (инвертированный индекс).
Целью проведенного вычислительного эксперимента было сравнить на
применимость метрики Левенштейна-Дамерау в реализации ВагнераФишера (Л-Д) [2] с метрикой метода n-грамм, в режиме клиент-серверной
системы работающей в рамках ЛВС.
В роли хранилища использован MS SQL Server 2005, и язык программирования С++ для построения индексов. Реализована процедура вычисления метрики Л-Д на языке запросов Transact-SQL. Как тестовый пример
использовалась база абонентов МГТС, из которой предварительно были
удалена часть записей, в результате объем тестового примера составил
10000 записей. Для исследования использованы Пк P4/3Ггц./1гб ОЗУ.
Среднее время обработки запроса с использованием метрики Л-Д составило примерно 1 минуту 20 секунд, что, безусловно, долго, но не требует
предварительной индексации базы. Алгоритм, построенный на метрике nграмм (для n=3) показал среднее время на запрос около 30 секунд, с учетом предварительной индексации 10000 записей, занявшей 8 минут. Следует отметить, что в этом методе при длине запроса меньше длины
n-граммы алгоритм перестает работать.
Проведенное исследование позволяет заключить о предпочтительности применения метода n-грамм для рассмотренного случая, если есть
возможность предварительно провести индексацию базы данных. Целесообразным кажется доработка алгоритма для поиска «коротких» запросов.
Список литературы
1. Реализация блочных индексных файлов с применением реляционных СУБД в задачах
поиска информации. / Бойцов Л.М., Крылов Г.О.; Академия рынка труда и информационных
технологий. М.
2. Бойцов Л.М. Классификация и экспериментальное исследование современных алгоритмов нечеткого словарного поиска. Труды конференции RCDL, 2004.
ISBN 5-7262-0710-6. НАУЧНАЯ СЕССИЯ МИФИ-2007. Том 12
126
Download