УДК 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