Уплотнение структуры данных префиксного дерева на основе статистической модели | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №19 (123) октябрь-1 2016 г.

Дата публикации: 30.09.2016

Статья просмотрена: 199 раз

Библиографическое описание:

Марьянов, П. А. Уплотнение структуры данных префиксного дерева на основе статистической модели / П. А. Марьянов. — Текст : непосредственный // Молодой ученый. — 2016. — № 19 (123). — С. 46-49. — URL: https://moluch.ru/archive/123/34008/ (дата обращения: 16.11.2024).



В статье предложен алгоритм уплотнения структуры данных префиксного дерева, представленной в виде разреженной матрицы, которая используется при обработке информации методом лучевого поиска. Алгоритм позволяет уменьшить время, затрачиваемое на процесс уплотнения, за счет введения дополнительной процедуры учета статистических свойств битовой карты префиксного дерева.

Ключевые слова: поиск информации, автоматическая обработка текста, лучевой поиск, уплотнение структуры данных, префиксное дерево

В ходе решения ряда специфических задач по анализу и структурированию текстовой информации наиболее эффективным зарекомендовал себя алгоритм лучевого поиска (triesearch) [1]. В данном алгоритме, как правило, основная информационная структура хранится в виде префиксного дерева. Однако в ряде некоторых специальных задач обработки информации (например, фильтрация html-страниц по «черным» спискам доменных имен, URL) недостатком данного метода является большой объем памяти для хранения структуры префиксного дерева размером более 104 признаков вследствие сильной разреженности признаковой таблицы.

В этой связи возникает задача уплотнения префиксного дерева словаря признаков. Наиболее распространенный процесс уплотнения структуры данных рассмотрен в [1]. Он представляет собой попарное совмещение узлов (столбцов) таким образом, что ненулевые элементы не накладываются друг на друга. Процесс уплотнения таблицы префиксного дерева заключается в итерационном выборе (в случае аппроксимирующих алгоритмов — случайном итерационном выборе) двух столбцов матрицы состояний и переходов и проверке их на совместимость. В случае совместимости столбцов их совмещают (объединяют), получая в результате один столбец.

После уплотнения аппроксимирующим способом структура данных префиксного дерева занимает в порядки раз меньший объем оперативной памяти, нежели разреженный вариант. Это позволяет использовать данный способ уплотнения в современных информационных системах обработки информации. Однако, с другой стороны, уплотнение занимает значительное процессорное время. Так, например, уплотнение структуры данных префиксного дерева для 4·106 строк занимает 4–5 дней. Это связанно с тем, что при слиянии каждой пары узлов приходится производить проверку на пересечение двух битовых карт, что является ресурсоемкой операцией.

В общем случае, единственно применимым в условиях словарей больших объемов и требований ежедневного их обновления является поиск такой перестановки столбцов из всех возможных, при которой достигается наилучшее отношение количества занятых элементов к их общему количеству. Существует доказательство NP-полноты данного процесса [2]. Аппроксимирующие алгоритмы, основанные на принципе выбора первого найденного варианта [3] дают эффективный результат в случаях малой разветвленности узлов. В случаях, когда количество ключевых слов превышает 106, и при этом имеет место большая разветвленность, возникает задача разработки более эффективного алгоритма уплотнения. Данная задача может быть решена тем, что аппроксимирующий способ уплотнения структуры данных префиксного дерева будет дополнен тем, что слияние узлов будет происходить только после ранжирования и нахождения наиболее подходящих пар слияния. Таким образом, становится очевидной актуальность задачи разработки алгоритма уплотнения, учитывающего некоторые свойства и характеристики префиксного дерева и позволяющего ускорить процесс попарного совмещения столбцов при требуемом коэффициенте уплотнения.

Ввиду того, что на процесс уплотнения матрицы префиксного дерева влияет только наличие ненулевого элемента в той или иной ячейке, что в свою очередь можно представить поведением дискретной случайной величины — индикаторе заполненности ячейки. Таким образом, автором была выдвинута и подтверждена гипотеза: учет статистических характеристик индекса узлов префиксного дерева позволит построить более эффективную модель ее структуры с позиции уменьшения алгоритмической сложности процесса уплотнения при достаточном коэффициенте сжатия.

В ходе исследований, для сокращения времени уплотнения словаря признаков была разработана модель структуры данных префиксного дерева, учитывающая особенности ее построения и специфические признаки, которая обеспечила по результатам уплотнения в автоматическом режиме требуемое время работы алгоритма, максимизировав при этом степень уплотнения признаковой таблицы [4].

Результаты моделирования легли в основу предлагаемого алгоритма уплотнения структуры данных префиксного дерева, представленного на рисунке 1.

Рис. 1. Блок-схема алгоритма уплотнения структуры данных префиксного дерева

Определим показатели эффективности работы алгоритма уплотнения структуры данных префиксного дерева. Исходя из ограниченности вычислительных ресурсов, выделяемых на осуществление процедур уплотнения, очевидно, что помимо времени работы алгоритма, важна еще и степень уплотнения, которая выражается отношением количества занятых элементов префиксного дерева словаря признаков к их общему количеству (т. е. количества занятых ячеек к общему количеству ячеек признаковой таблицы):

,

где — коэффициент уплотнения, — мощности множества значений элементов таблицы состояний и переходов и ее нулевых элементов соответственно. Максимального значения коэффициент уплотнения может достигнуть путем применения полного перебора возможных вариантов размещения признаков.

Исходные данные алгоритма:

Т — множество признаков;

К — мощность алфавита признаков;

L — количество узлов префиксного дерева;

Е — множество значений элементов таблицы состояний и переходов;

— структура данных префиксного дерева словарных признаков (таблица состояний и переходов), содержащая занятые (ненулевые) элементы и свободные (нулевые) элементы ;

— уплотненная структура данных префиксного дерева словарных признаков;

— максимальное значение коэффициента уплотнения;

— время выполнения процесса уплотнения для аппроксимирующего алгоритма.

Результатом работы алгоритма является:

  1. Таблица элементов структуры данных префиксного дерева для словаря признаков W.
  2. Множество признаков статистических свойств элементов структуры данных и рациональных процедур их перестановки F(W) с целью уплотнения, основанное на статистической модели структуры данных.
  3. Уплотненная таблица структуры данных префиксного дерева, занимающая объем оперативной памяти при работе алгоритма лучевого поиска не более требуемого.

В итоге автором разработан алгоритм уплотнения словаря признаков отбора путем учета статистических свойств элементов префиксного дерева и применения рациональных процедур их перестановки, обеспечивающий минимизацию времени работы при достижении требуемого значения коэффициента уплотнения :

Проверка адекватности и оценка эффективности работы алгоритма производилась при следующих ограничениях:

 объем набора признаков находился в пределах 105–107 признаков;

 размер алфавита ограничен размерностью 255 (1 байта информации) и постоянен в процессе уплотнения.

Проведем оценку асимптотической сложности алгоритма. Предлагаемый алгоритм был дополнен процедурами вычисления статистических характеристик префиксного дерева и формирования признакового пространства (блоки 9 и 10, рис. 1). Данные процедуры линейно зависимы от количества узлов в битовой признаковой таблице, а коэффициент линейности будет определяться лишь количеством s вычисляемых статистических характеристик каждого столбца. Тогда, приняв O(f(N)) за асимптотическую сложность аппроксимирующего алгоритма уплотнения, можно определить сложность разработанного как — O(f(N) + sN). Однако учитывая, что наилучшие аппроксимирующие алгоритмы уплотнения имеют сложность близкую к субэкспоненциальной [3], то слагаемым sN можно пренебречь. С другой стороны, разделение узлов префиксного дерева на t классов слияния, переводит задачу перебора пар слияния к поиску этих пар внутри классов (сокращение мощности переборного множества), в добавок еще и со вспомогательным коэффициентом слияния kсл (блок 12, рис.1), уменьшая асимптотическую сложность алгоритма уплотнения в tkсл раз. Таким образом, представленный алгоритм уплотнения структуры данных префиксного дерева, учитывающий статистические свойства таблицы состояний и переходов, имеет сложность O(f(N)/tkсл).

Литература:

  1. Кнут, Д. Э. Искусство программирования. В 4 т. Т. 3. Сортировка и поиск: учебное пособие / Д. Э. Кнут. — 2-е изд.: пер. с англ. — Москва: Издательский дом «Вильямс», 2000. — 832 с.
  2. Dill, J. M. Optimal trie compaction is NP-complete. TR-CSD-167, Pennsylvania State Univ., March 1987.
  3. Марьянов, П. А. Сравнение реализаций алгоритмов цифрового поиска и конечных автоматов регулярных выражений / П. А. Марьянов, А. Л. Кузьмин // Телекоммуникации. — 2010. — № 11. С. 7–11.
  4. Марьянов, П. А. Статистическая модель структуры данных префиксного дерева на основе дискретного распределения / П. А. Марьянов // Телекоммуникации. — 2015. — № 3. С. 34–39.
Основные термины (генерируются автоматически): префиксное дерево, лучевой поиск, признаковая таблица, URL, коэффициент уплотнения, множество признаков, оперативная память, префиксное дерево словаря признаков, процесс уплотнения, структура данных.


Ключевые слова

поиск информации, автоматическая обработка текста, лучевой поиск, уплотнение структуры данных, префиксное дерево

Похожие статьи

Метод извлечения SAO-структур из текстовых источников

В данной работе предлагается метод для извлечения SAO структур из текстовых данных на основе семантических правил. Предложен алгоритм, который адаптирован для русского языка.

Определение предпочтительного числа кластеров. Момент остановки метода одиночной связи

Кластерный анализ является одним из основных методов предварительной классификации большого количества информации. Актуальной задачей остаётся определение момента остановки процесса кластеризации. Можно рассмотреть кластерный анализ данных методом «о...

Применение векторизации слов для нечеткого поиска

В этой статье рассматриваются вопросы выполнения нечеткого поиска, извлечение семантики слов и применение векторной модели для расширения поиска. Изложены общие идеи при решении поставленной задачи, приводятся алгоритмы с их последующей реализацией и...

Анализ эффективности алгоритмов сортировки и вcтроенных реализаций на примере языка программирования Java

В данной статье показана значительная роль проведения анализа работы алгоритмов сортировки на массивах данных различной размерности. Рассмотрены актуальные алгоритмы и стандартные реализации сортировки в языке программирования Java.

Аналитическая модель префиксного дерева на основе статистических свойств таблицы состояний и переходов

В работе предложена аналитическая модель структуры данных префиксного дерева, которая используется в работе алгоритма «лучевого» поиска информации. Рассматриваемая модель позволяет сократить время уплотнения разреженной таблицы состояний и переходов ...

Префиксный метод кодирования текстовой информации на основе остатка от приведенной частоты использования символа

Актуальность работы заключается в том, что в настоящее время, с развитием научно-технического прогресса, при многократно возросших объёмах информации возникает проблема сжатия данных. Для сжатия информации применяется кодирование. Так как при кодиров...

Сравнительный анализ методов Наивного Байеса и SVM алгоритмов при классификации текстовых документов

В статье раскрывается понятие классификации текстовых документов для автоматического обнаружения категорий по текстам. Проводится сравнительный анализ двух самых главных алгоритмов, которыми являются методы наивного Байеса и SVM. Делается вывод, что ...

Применение многоуровневой фрактальной модели для задач тематической обработки данных

Рассмотрено применение метода покрытий многоуровневой фрактальной модели при анализе текстур изображений для задач тематической обработки данных, при этом выявлено, что оценка фрактальной размерности определяется наклоном, порождаемым первым и послед...

Характеристические подходы при распознавании изображений

В данной работе рассматриваются характеристические методы идентификации. Они применяются в распознавании изображений, что является актуальным на сегодняшний день.

Анализ нечетких методов сравнения при работе с несколькими источниками данных

При сопоставлении данных, собранных из различных источников, появляется сложность, связанная с возможными различиями формообразования в наименованиях и возникающих ошибках при ручном вводе данных. Были рассмотрены методы нечёткого сравнения строк.

Похожие статьи

Метод извлечения SAO-структур из текстовых источников

В данной работе предлагается метод для извлечения SAO структур из текстовых данных на основе семантических правил. Предложен алгоритм, который адаптирован для русского языка.

Определение предпочтительного числа кластеров. Момент остановки метода одиночной связи

Кластерный анализ является одним из основных методов предварительной классификации большого количества информации. Актуальной задачей остаётся определение момента остановки процесса кластеризации. Можно рассмотреть кластерный анализ данных методом «о...

Применение векторизации слов для нечеткого поиска

В этой статье рассматриваются вопросы выполнения нечеткого поиска, извлечение семантики слов и применение векторной модели для расширения поиска. Изложены общие идеи при решении поставленной задачи, приводятся алгоритмы с их последующей реализацией и...

Анализ эффективности алгоритмов сортировки и вcтроенных реализаций на примере языка программирования Java

В данной статье показана значительная роль проведения анализа работы алгоритмов сортировки на массивах данных различной размерности. Рассмотрены актуальные алгоритмы и стандартные реализации сортировки в языке программирования Java.

Аналитическая модель префиксного дерева на основе статистических свойств таблицы состояний и переходов

В работе предложена аналитическая модель структуры данных префиксного дерева, которая используется в работе алгоритма «лучевого» поиска информации. Рассматриваемая модель позволяет сократить время уплотнения разреженной таблицы состояний и переходов ...

Префиксный метод кодирования текстовой информации на основе остатка от приведенной частоты использования символа

Актуальность работы заключается в том, что в настоящее время, с развитием научно-технического прогресса, при многократно возросших объёмах информации возникает проблема сжатия данных. Для сжатия информации применяется кодирование. Так как при кодиров...

Сравнительный анализ методов Наивного Байеса и SVM алгоритмов при классификации текстовых документов

В статье раскрывается понятие классификации текстовых документов для автоматического обнаружения категорий по текстам. Проводится сравнительный анализ двух самых главных алгоритмов, которыми являются методы наивного Байеса и SVM. Делается вывод, что ...

Применение многоуровневой фрактальной модели для задач тематической обработки данных

Рассмотрено применение метода покрытий многоуровневой фрактальной модели при анализе текстур изображений для задач тематической обработки данных, при этом выявлено, что оценка фрактальной размерности определяется наклоном, порождаемым первым и послед...

Характеристические подходы при распознавании изображений

В данной работе рассматриваются характеристические методы идентификации. Они применяются в распознавании изображений, что является актуальным на сегодняшний день.

Анализ нечетких методов сравнения при работе с несколькими источниками данных

При сопоставлении данных, собранных из различных источников, появляется сложность, связанная с возможными различиями формообразования в наименованиях и возникающих ошибках при ручном вводе данных. Были рассмотрены методы нечёткого сравнения строк.

Задать вопрос