Содержание к диссертации
Введение
Глава 1. Проблемы поиска информашюшшх шаблонов в хранилищах и потоках информации 9
1.1. Эволюция систем обработки данных 9
1.2. Анализ современных средств поиска информационных шаблонов 17
1.2.1. Информационный шаблон 17
1.2.2. Элементные множества и последовательности элементных множеств 18
1.2.3. Ассоциативные правила 21
1.2.4. Основы теории поиска информационных шаблонов 21
1.2.5. Компактное представление коллекций шаблонов 23
1.2.6. Кластеризация 27
1.3. Выводы и постановка задачи 35
Глава 2. Повышение эффективности поиска информационных шаблонов в хранилищах информации 38
2.1. Задача поиска последовательностей элементных множеств в хранилище транзакций 38
2.2. Разработка алгоритма поиска последовательностей элементных множеств в хранилище транзакций 41
2.3. Исследование эффективности алгоритма 50
2.4. Выводы 59
Глава 3. Разработка алгоритмов поиска шаблонов в потоках транзакций 60
3.1. Задача поиска информационных шаблонов в потоке транзакций 60
3.2. Разработка алгоритма поиска элементных множеств в потоке транзакций 62
3.3. Исследование эффективности алгоритма поиска элементных множеств в потоке транзакций 69
3.4. Разработка алгоритма поиска последовательностей элементных множеств в потоке транзакций 78
3.5. Исследование эффективности алгоритма поиска последовательностей элементных множеств в потоке транзакций 96
3.6. Выводы 106
Глава 4. Применение разработанных алгоритмов в задачах информационно-аналитического обеспечения 107
4.1. Система автоматизации информационной инфраструктуры 107
4.2. Выводы 114
Заключение 115
Список литературы
- Анализ современных средств поиска информационных шаблонов
- Разработка алгоритма поиска последовательностей элементных множеств в хранилище транзакций
- Разработка алгоритма поиска элементных множеств в потоке транзакций
- Система автоматизации информационной инфраструктуры
Введение к работе
Актуальность проблемы. Совершенствование алгоритмов поиска и классификации взаимосвязей и закономерностей в гетерогенных хранилищах и потоках информации является одной из основных задач развития средств автоматизированного анализа. С ростом локальных сетей, а также все большим использованием сети Internet увеличивается обмен как внутри организаций, так и между ними. Возрастает количество поставщиков и пользователей информации. Помимо увеличения плотности информационных потоков, усложняется и их структура. Любая организация, как правило, для решения своих задач редко обходится одним программным комплексом. Каждый из комплексов порождает свои информационные объекты. Существующие задачи стратегического анализа деятельности организации заставляют использовать гетерогенные хранилища и потоки информации, объединяющие в рамках одного информационного поля разнородные объекты.
Автоматизированные системы, разработанные за последнее время, решали в основном задачи накопления данных. Способы доступа к накопленным сведениям, сводились к простым механизмам поиска по прямому совпадению. Однако, любое хранилище и поток информации ценны не только и столько конкретными данными, образующими их, но связями между информационными объектами. Подобная метаинформация не может быть извлечена из баз данных, например, с помощью прямого использования реляционных запросов или технологии OLAP. Выявление связей и закономерностей ложится на плечи аналитика. Однако, в настоящее время, во многих организациях объем информации достиг такого масштаба, что без использования автоматизированных программных средств нового уровня задача анализа становится непосильной для человека. В качестве
4 примеров практических задач обработки больших массивов данных можно привести следующие:
обработка результатов научно-технических исследований и испытаний образцов техники;
обработка финансовой информации;
анализ покупательской активности;
мониторинг в системах безопасности;
обработка потоков данных и мониторинг в системах автоматизации бизнес-процессов;
В течение нескольких последующих лет основной тенденцией будет дальнейший рост хранилищ, увеличение плотности потоков, объединения в рамках одного информационного поля объектов, порожденных различными системами и, как следствие, усиление потребности в использовании автоматизированных средств анализа информации.
Одним из решений обозначенных проблем являются так называемые системы извлечения данных (англ. Data Mining). Научная область систем извлечения данных включает в себя практически все наиболее значимые направления исследования прикладного использования алгоритмов искусственного интеллекта. К этим направлениям можно отнести классификацию, кластеризацию, поиск информационных шаблонов, прогнозирование. Одним из наиболее практически значимых направлений является поиск информационных шаблонов. Под поиском информационных шаблонов понимается поиск и классификация взаимосвязей, закономерностей в гетерогенном хранилище или потоке информации. Поскольку выявление взаимосвязей, подразумевает выполнение операций не на уровне отдельных информационных объектов, а на уровне всего хранилища/потока информации, то этот процесс является гораздо более вычислительно- и ресурсоемким, нежели обычные процедуры поиска и классификации в базах данных. Таким образом, совершенствование алгоритмов поиска и классификации взаимосвязей и закономерностей в
5 гетерогенных хранилищах и потоках информации является важной и актуальной для дальнейшего развития средств автоматизированного анализа. Несмотря на то, что история разработки алгоритмов искусственного интеллекта, предназначенных для классификации, кластеризации и предсказания, насчитывает уже более полувека, направление, связанное с поиском информационных шаблонов, является относительно новым. Первые значимые исследования в этой области датированы началом 90-х годов прошлого века. Сама концепция информационного шаблона впервые была предложена исследователями лаборатории IBM Research в 1992 году. Исследователями М.Заки, Р.Агравалем была описана математическая модель поиска информационных шаблонов, предложена концепция элементного множества и последовательности элементных множеств.
Цели и задачи. Целью работы является повышение скорости работы алгоритмов поиска информационных шаблонов в хранилищах информации и разработка новых алгоритмов поиска информационных шаблонов в потоках информации. Реализация поставленной цели подразумевает решение следующих задач:
Обзор и сравнительный анализ моделей поиска элементных множеств и последовательностей в хранилищах информации, используемого математического аппарата и базовых концепций. Классификация информационных шаблонов, выбор целевого класса исследований;
Исследование проблемы поиска элементных множеств и последовательностей в потоках информации;
Разработка алгоритма поиска последовательностей в информационном хранилище;
Разработка алгоритма поиска элементных множеств в потоке информации;
Разработка алгоритма поиска последовательностей в потоке информации;
Программная реализация разработанных алгоритмов.
Объект исследования. Объектом исследования являются программные средства, математические методы и модели поиска информационных шаблонов в гетерогенных хранилищах и потоках информации.
Методы исследования. При проведении исследований в диссертации использованы численные методы, эвристические методы, методы классификации и кластеризации, а также построение экспериментальных моделей и прототипов алгоритмов.
Научная новизна. Научная новизна работы заключается в следующем:
Разработан алгоритм поиска максимальных последовательностей элементных множеств в хранилищах данных с использованием битовых матриц. Алгоритм превосходит по скорости работы существующие аналоги;
Разработан алгоритм поиска элементных множеств в информационном потоке. Предложен ряд подходов, ускоряющих поиск;
Предложен подход к поиску последовательностей элементных множеств в потоке информации, позволяющий увеличить скорость поиска. На основе предложенного подхода разработан алгоритм поиска максимальных последовательностей в потоке информации;
Предложен метод оценки ресурсоемкости алгоритма поиска элементных множеств и последовательностей элементных множеств;
Практическая значимость. Результаты проведенных исследований были использованы при создании программных средств. Разработанный алгоритм поиска последовательностей элементных множеств с помощью битовых матриц за счет применения быстрых вычислительных операций дает выигрыш в скорости работы в больших информационных хранилищах, по сравнению с существующими алгоритмами. В алгоритмах поиска элементных множеств и последовательностей элементных множеств в информационных потоках использован ряд новых подходов увеличивающих точность и скорость поиска. Разработанные программные средства
7 позволили использовать в работе новые алгоритмы при создании информационно-аналитической системы для извлечения данных;
Реализация результатов. Разработанные в данной работе программные средства входят в состав комплекса «Система автоматизации информационной инфраструктуры», внедренного в компании ЗАО «КРОК инкорпорейтед».
Апробация работы. Результаты диссертационной работы докладывались и обсуждались на трех конференциях: в 2005, 2006 годах на всероссийской конференции студентов, аспирантов и молодых ученых «Технологии Microsoft в теории и практике программирования» и 2007 году на XXXVI международной конференции молодых ученых «Информационные технологии в науке, социологии, экономике и бизнесе IT+S&E'07».
Публикации. По материалам диссертационной работы опубликовано 7 печатных работ.
Структура диссертации. Диссертация состоит из введения, четырех глав, заключения и списка литературы.
В первой главе рассматриваются базовые концепции поиска элементных множеств и последовательностей элементных множеств. Дается математический аппарат и определения, используемые в дальнейших исследованиях. Рассматриваются классы информационных шаблонов, дается их сравнительная характеристика. Выбирается целевой для дальнейшего исследования класс. Рассматриваются концепции: транзакции, элементного множества, последовательности, поддержки, ассоциативного правила, кластеризации. Рассматриваются современные средства поиска, выделяются существующие проблемы. В заключение главы обозначаются задачи исследования.
Во второй главе рассматриваются вопросы поиска последовательностей элементных множеств в хранилищах транзакций. Разрабатывается алгоритм
8 поиска последовательностей элементных множеств с помощью битовых матриц. Исследуется эффективность предложенного алгоритма. В третьей главе рассматриваются вопросы поиска элементных множеств и последовательностей элементных множеств в информационных потоках. Рассматривается концепция плавающего окна. Предлагается новый подход к постановке задачи поиска последовательностей в потоке. Разрабатываются алгоритмы поиска элементных множеств и последовательностей элементных множеств в потоке транзакций. Исследуется эффективность предложенных алгоритмов.
В четвертой главе дается описание программной реализации разработанных алгоритмов.
В заключение подводятся итоги проделанной работы. Перечисляются основные результаты диссертации и следующие из них выводы.
Анализ современных средств поиска информационных шаблонов
Целью извлечения информационных шаблонов является поиск в наборах данных интересных схем, описывающих связи между данными. Определение интересности можно дать несколько более формально.
Определение. Если дан определенный класс шаблонов Р и предикат q, определяющий интересность q: Р - {0,1}, то набор Pq= {р є Р : q(p) = 1} будем считать интересными шаблонами. Дополнение Qq= Р\ Pq представляет набор неинтересных шаблонов.
Проблема нахождения, таким образом, состоит из двух составляющих: набора потенциально интересных шаблонов Р и предиката, определяющего интересность того или иного шаблона.
Интересность шаблона может определяться множеством факторов. С прикладной точки зрения следует выбирать критерии, которые можно оценить программным путем. Для прояснения понятий шаблон и интересность шаблона рассмотрим пример. Представим журнал безопасности гипотетической системы, в котором сохраняются все действия пользователей. Журнал анализируется на предмет выявления частотных свойств различных комбинаций функций системы, используемых одновременно в рамках одной пользовательской сессии. Задачи данного исследования могут являться следующие: определение наиболее популярных комбинаций функций системы; определение наименее популярных сочетаний функций системы; Очевидно, что конечной прикладной целью может являться улучшение эргономики системы, повышение ее привлекательности и удобства использования. Данный пример позволяет разобраться с ключевыми понятиями теории извлечения информационных шаблонов. Шаблоном является набор комбинаций функций, использованных пользователем в рамках одной рабочей сессии, предикатом интересности является набор из следующих характеристик найденной комбинации: длина комбинации, так как нас могут интересовать только комбинации определенной длины; частота появления комбинации в базе данных.
Определение интересности через частоту появления шаблона в базе обуславливается тем, что данная характеристика: может быть легко извлечена из базы данных; обладает очевидным смыслом для человека; может быть использована для ранжирования найденных шаблонов. Следует отметить, что, поскольку частотные характеристики являются наиболее практически ценными, то в дальнейшем алгоритмы извлечения информационных шаблонов будут базироваться именно на них.
Алгоритмы извлечения информационных шаблонов могут быть использованы для решения множества прикладных задач в различных областях человеческой деятельности: обработка экспериментальных данных научных опытов; маркетинговые исследования; системы безопасности; промышленный дизайн и эргономика.
Поиск информационных шаблонов базируется на понятиях элементного множества и последовательности элементных множеств.
Определение часто встречающихся элементных множеств в транзакционных базах данных впервые было введено в 1992 году учеными исследовательской лаборатории IBM, [1,2].
Определение (элементы и элементные множества). Пусть дано множество возможных элементов L. Элементным множеством X называется подмножество L. Для краткости дальнейшего изложения элементное множество X, состоящее из элементов АьА2,...,Ах будем записывать AiA2...AX.
Определение (транзакции и транзакционные базы данных).
Транзакцией t назовем пару i,X , где і - номер транзакции (tid), а X -элементное множество. Количество элементов в элементном множестве X транзакции t= i,X обозначим t.
Транзакционной базой данных D будем называть набор транзакций. Каждая транзакция в D имеет уникальный порядковый номер. Количество транзакций определяется как D и номера транзакций определяются tid(D) = {1,...,D}.
Следующим важным вопросом является определение частоты элементного множества в транзакционной базе данных.
Определение (покрытие, поддержка и частота). Говорят, что транзакция t= i,Y покрывает элементное множество X, если ХсГ. Покрытие элементного множества X в D есть множество cover{X, D) = {/ : /", Y є D,X с Y}. Поддержкой sup(X) элементного множества в базе данных D называется мощность множества cover: sup(X,D) = cover(X,D). Частотой X в D называется поддержка X деленная на мощность множества D:
Разработка алгоритма поиска последовательностей элементных множеств в хранилище транзакций
Вновь обратимся к базе данных D с экспериментальными данными.
Данные по эксперименту снимаются в определенные моменты времени. Получаемый срез данных будем называть транзакцией Т. Транзакция состоит из набора наименований показателей и в базе данных идентифицируется уникальным упорядоченным номером транзакции TID и уникальным номером эксперимента СЮ. Формально вводные данные к задаче представлены в таблице 5 :
Обозначим X некоторое подмножество элементов транзакции Т, обозначающее, что в определенный момент времени мы наблюдаем группу показателей. Обозначим через S = {XhX2...X]} упорядоченную последовательность подмножеств Xs, где каждое отдельное подмножество элементов Xs, принадлежит уникальной транзакции, транзакции принадлежат одному эксперименту, а условие упорядоченности говорит о том, что если один элемент Xs в описании последовательности стоит левее другого, то соответствующая ему транзакция появилась в D раньше транзакции, соответствующей второму элементу. Длину множества \Х\ будем вычислять как количество элементов /, его образующих. Длину последовательности S будем вычислять как \S 1= І \х,\ где к - количество подмножеств X, образующих последовательность. Последовательность длины / будем называть 1-последовательностъю.
Введем термин «поддержка» Sup(S) последовательности S в D, как количество экспериментов, в которых наблюдались группы показателей в последовательности S. Частота последовательности S определяется как F(S)= SUP iS) D I где \D\ - количество уникальных идентификаторов СЮ в D. Обозначим MinSup минимальную интересную для нас поддержку последовательности S в D. Будем называть последовательность S максимальной, если из данной последовательности невозможно получить последовательность SExt большей длинны, имеющей Sup(SExt) MinSup.
Следует отметить, что SExt можно получить из S двумя способами, за счет добавления к одному из множеств Xs нового элемента /, либо за счет добавления к последовательности нового подмножества X.
Таким образом, мы подошли к формулировке задачи: «В базе данных D найти все максимальные последовательности S , для которых Sup(S) MinSup».
Прежде чем перейти к конструированию алгоритма, необходимо представить некоторые положения, используемые далее.
Рассмотрим последовательности Si={X\,X2,...Xm} и S2-{Yl,Y2,...Yn}. Будем считать, что Sj является подпоследовательностью S2, в том случае, если существуют такие числа1 1 !1 12 ... 1т п, что XJQYU, X2QY12,..., Xm zYim.
Лемма J. Если St является подпоследовательностью S2, то Sup(Si) Sup(S2), см. [1].
Возвращаясь к задаче поиска максимальных последовательностей, следует отметить, что в общем случае нам предстоит перебрать все возможные последовательности S и для каждой проверить условие Sup(S) MinSup. Алгоритм подобного перебора обладает неопределенной сложностью, стремящейся к бесконечности.
Опираясь на Лемму 1, можно построить итерационный алгоритм конструирования последовательностей. При этом на каждом шаге мы сможем оценивать полезность последовательности в качестве строительного материала для следующего шага и, в случае необходимости, отсекать бесполезные.
Алгоритм начинается с определения всех последовательностей длины 1, для которых Sup(S) MinSup. Все последовательности, не обладающие необходимой поддержкой, отсекаются. Обозначим полученное множество всех S(l), обладающих необходимой поддержкой, Н(1). Далее, попарно комбинируя элементы Щ1), сгенерируем множество кандидатов последовательностей длины 2. Алгоритм генерации последовательностей-кандидатов длины 2 представлен ниже: Из 2-х элементов Si(l) и S2(l) можно образовать последовательность: 1. (Sj(l)S2(l)} - назовем это 1-шаг; 2. (Si(l), S2(l)j - назовем это S-шаг
Обозначим Н(2) все сгенерированные последовательности длины 2, обладающие требуемой поддержкой.
Уже начиная с шага генерации последовательностей длины 3, возникает важный вопрос, какие последовательности имеет смысл комбинировать между собой. Предлагается следующий алгоритм генерации последовательностей- кандидатов длиной, превышающей 2:
Разработка алгоритма поиска элементных множеств в потоке транзакций
Рассмотрим окно W, в которую поступают новые транзакции Т. Каждая транзакция состоит из подмножества элементов множества L. Окно W единовременно может хранить N транзакций, т.е. если текущее количество транзакций базы \W\ = N, то каждая следующая поступившая транзакция вытесняет наиболее старую транзакцию, хранящуюся в W. Транзакции нумеруются последовательно, чем меньше номер транзакции, тем раньше она пришла в W.
Определение. Максимальным элементным множеством S в окне W, называется такое подмножество L, которое встречается М в транзакциях окна Ww выполняются 2 условия:
1. M = MinSup, где MinSup параметр алгоритма, определяющий минимальное количество транзакций, в которых должно появится
2. Добавление любого элемента множества L / S к множеству S приводит к тому, что М становится меньшим MinSup.
Таким образом, можно сформулировать задачу поиска всех максимальных элементных множеств AllS={Si} в окне W с заданным параметром MinSup (см. [1]). Основным требованием к алгоритму является возможность последовательно изменять AUS при изменении W, ибо полный пересчет AUS является слишком дорогим с точки зрения вычислительных ресурсов.
Пересчитывать множество AUS после поступления одной транзакции может оказаться бессмысленным, поэтому введем дополнительный параметр алгоритма К, определяющий количество транзакций, после прихода которых необходимо обновлять AUS.
Алгоритм состоит из 2 этапов: 1. Инициализация: вычисление AIIS в момент поступления в W . первых iVтранзакций; 2. Последовательное изменений AUS при вытеснении К старых транзакций вновь поступившими.
Основной структурой хранения является так называемое лексикографическое дерево. Особенностью дерева является то, что узлы, длина пути до которых от корня одинакова, содержат элементные множества одинаковой длины. Таким образом, дерево по вертикали можно разбить на уровни, где уровень состоит из узлов, находящихся на одинаковом расстоянии от корня. Корневым элементом дерева является пустое множество. Уровень корневого узла будем считать нулевым.
Дерево строится по следующим правилам: узел дерева содержит элементное множество S, получаемое как объединение элементного множества с предыдущего уровня и элемента Ik множества L. При этом самый правый элемент S должен быть лексикографически меньше Ik; Sup(S) = MinSup;
Таким образом, дерево содержит только частые элементные множества, лексикографически отсортированные. Листовыми элементами дерева являются максимальные элементные множества. Каждый узел дерева имеет следующую структуру: ссылки на родительские элементы; значение Sup(S); ссылки на дочерние узлы; отсортированный по возрастанию массив номеров транзакций T(S), в которых участвует элементное множество S.
При построении дерева важным вопросом является вычисление Sup(S) для вновь образованного узла. Поддержка вычисляется по следующей формуле Sup(S) = 7(5,)0 7(/ ) , где Si - элементное множество с предыдущего уровня, aheL. Рассмотрим операции удаления и добавления транзакций в окно. Удаление.
При вытеснении самой старой транзакции поддержка элементных множеств в узлах дерева может уменьшиться на единицу. Однако, поддержка может уменьшиться только у узлов элементные множества которых являются подмножествами удаляемой транзакции.
Следующим важным наблюдением является то, что после удаления транзакции для вычисления поддержки узлов дерева нет необходимости проходить по всему дереву. Достаточно лишь пройтись по поддеревьям с корнем в элементах, принадлежащих удаляемой транзакции. Опираясь на принцип Apriory, если узел дерева не обладает требуемой поддержкой, то и все поддерево с корнем в этом узле не представляет более интереса и может быть удалено. К примеру, если Sup("a") =MinSup, то мы удаляем узлы "ab","ac","abc".
Если первым элементом массива транзакций T(S) узла St является номер удаляемой транзакции, то удалить первый элемент T(Si), в противном случае перейти на шаг 1; 1.2.Если T(S)\ MinSup, то удалить сам узел и все его дочерние узлы, перейти на шаг 1; 1.3. Если узел является листовым перейти на шаг 1; 1.4.Выполнить рекурсивно шаги алгоритм удаления, передав в качестве параметра массив дочерних элементов узла 5/. Первый раз алгоритм удаления вызывается, используя в качестве параметра узлы первого уровня лексикографического дерева.
Рассмотрим теперь следующий шаг алгоритма, а именно, добавление новой транзакции в окно. Добавление транзакции может привести к появлению новых частых элементных множеств. Поскольку новые частые множества могут быть только подмножествами множества элементов добавленной транзакции, это дает возможность обрабатывать только часть лексикографического дерева.
Система автоматизации информационной инфраструктуры
Разработанные алгоритмы внедрены в систему автоматизации информационной инфраструктуры компании ЗАО «КРОК инкорпорейтед».
В компании разработано порядка 80 сервисов, предоставляющих информационное обеспечение сотрудникам компании. Сервисы являются частью корпоративного портала и обеспечивают выполнение основных бизнес-процессов: подготовка тендерных предложений для конкурсов; маркетинговые исследования; анализ технических проблем; подготовка и ведение контрактов с заказчиками; прием заявок на техническое обслуживание и сопровождение. Так, например, при подготовке тендерного предложения ответственному за его подготовку необходимо решить ряд вопросов. Ниже приведен краткий перечень: подготовка расчета себестоимости системы; подготовка технического задания ; подготовка сопроводительных писем.
Реализация каждого из названных пунктов зависит от конкретных параметров выставленной на тендер системы и организации-заказчика. Решение задачи требует максимального привлечения опыта компании в данной области. Хорошим подходом является использование накопленной базы знаний, хранящей лучшие примеры документов по каждому из пунктов. Кроме этого желательно иметь возможность видеть потенциальные дальнейшие шаги, в зависимости от уже совершенных. В приведенном примере каждый из вопросов, подлежащих решению, соответствует определенному сервису компании.
Бизнес-процесс представляет из себя последовательность обращений к сервисам. На каждом шаге пользователь должен выполнить ввод данных, основанный на определенных аналитических решениях. Аналитические решения принимаются исходя из так называемого информационного контекста. Информационный контекст включает в себя документы из базы знаний компании. База знаний содержит следующую информацию: документация к тендерам, информация по организациям, объявляющими тендер, а также участвующими в тендере; юридическо-правовая документация; шаблоны и образцы официальных документов; техническая документация по используемым системам, и технологиями; проектная документация по разрабатываемым системам; отчеты службы технической поддержки.
В предыдущей версии системы информационная поддержка пользователей была не слишком развита. При работе с сервисом пользователь не имел возможности: использовать опыт работы по решению аналогичных задач другими пользователями системы; динамически получать наиболее релевантные для текущего состояния бизнес-процесса сведения из базы знаний; видеть дальнейшие потенциально возможные шаги бизнес-процесса;
При работе с сервисом пользователю приходилось самостоятельно обращаться в базу знаний. При возникновении вопросов во время поиска документов в базе данных приходилось прибегать к помощи экспертов в данной области. Эта процедура обладала следующими серьезными недостатками: возложение большой нагрузки на экспертов; простои в работе из-за ожидания ответа эксперта; неточность ответов экспертов из-за постоянного роста количества документов в базе знаний; ошибки в принятии решений в случае, когда пользователь решает обойтись без помощи эксперта.
Для решения выявленных проблем было принято решения разработать модуль обеспечения сервисов аналитическим информационным контекстом.
Все сервисы логически сгруппированы по бизнес-процессам, которые они обеспечивают. Все действия пользователя по вводу данных и использованию тех или иных документов из базы знаний в рамках выполнения определенного бизнес-процесса сохраняются в базу данных.
Для каждого сервиса выделяются наиболее важные параметры, характеризующие семантические особенности реального бизнес-процесса. Помимо этого с введенными данными ассоциируются задействованные разделы базы данных. Обозначенный выше набор элементов формируется транзакцию.
Несколько сервисов, вызванных в рамках одного бизнес-процесса, определяют последовательность транзакций. Каждый пользователь в системе уникально идентифицируется. Таким образом, каждый пользователь определяет собой сессию работы с системой.
Целью применения разработанных в диссертации алгоритмов было решение следующих задач: повышение уровня доступности сервисов и релевантности сопроводительной документации для сотрудников компании; сокращение числа запросов, связанных с поиском информационных ресурсов, в аналитическую службу.
Задача определения информационного контекста представляет из себя поиск максимальных последовательностей среди транзакций, сохраненных в базе данных. Таким образом, удается выделить наиболее часто встречающиеся решения в рамках определенных бизнес-процессов.