Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

Анализ процессов (process mining)

Анализ процессов (process mining) -- это относительно свежая дисциплина, уже имеющая свой манифест, терминологию, стандарты, софт, организацию стандартизации, профессиональные конференции и университетские курсы. Основная идея анализа процессов -- это выявлять (discover), отслеживать (monitor) и улучшать реальные (не придуманные) процессы, извлекая знания из логов событий. Такие логи сегодня широко доступны в современных информационных системах. Анализ процессов включает автоматизированные:
-- выявление (discovery) процессов в виде создания модели процессов из журнала событий (event log)
-- проверка соответствия (conformance checking) путём сверки известной модели процесса и лога
-- выявление связности сообщества (организационная аналитика)
-- самые разные операции с моделями процесса: создание имитационных моделей, дополнения моделей, исправление моделей, предсказание характеристик кейсов (инстанса процессов), основанные на истории выполнения процесса рекомендации.

Анализ процессов лежит на связке между машинным обучением (слова про process pattern recognition techniques -- типичны) и организационным моделированием (ибо все эти "паттерны" в конечном итоге нужно выражать на каком-то понятном языке, каковым выступает тот или иной язык организационного моделирования, включающий обычно и язык моделирования процессов).

Краткое введение в предмет дано в Манифесте анализа процессов -- http://www.win.tue.nl/ieeetfpm/downloads/Process%20Mining%20Manifesto.pdf (создан IEEE Task Force on Process Mining в 2011г.), вот картинка оттуда:


Близкие (вплоть до полного смешения) темы -- process analytics (http://www.slideshare.net/mzurmuehlen/bu-5236080, с упором на реальное время), busines process intelligence (более древний термин), operation intelligence (и уж просто про реальное время, упор не на данные логов, а на деятельность -- http://en.wikipedia.org/wiki/Operational_intelligence), corporate performance management. И там далее огромное множество подпредметов, типа business activity monitoring. Для всех этих continuous process improvement и total quality management наряду даже с six sigma анализ процессов -- обеспечивающая (enabling) технология.

Вот что говорит Манифест по поводу связи разных типов анализа предпринятий:

Business Intelligence (BI): broad collection of tools and methods that use data to support decision making.
-- Process Intelligence : a branch of Business Intelligence focusing on Business Process Management.
---- Process Mining : techniques, tools, and methods to discover, monitor and improve real processes (i.e., not assumed processes) by extracting knowledge from event logs commonly available in today's (information) systems.

Нужно понимать, что есть и множество других вариантов внутри business intelligence, типа Workforce Intelligence (например, http://www.hcminst.com/workforce-intelligence-consortium/, или http://www.oc.com/technology/workforce_intelligence/ -- это особо модно вокруг case management, прежде всего в медицинских учреждениях).

Всё это по предмету относится к operations management и там к operations research, тяжело влезает в технологии data mining и техники типа visual analytics (использование возможностей человечьего мозга видеть в подходящем визуальном представлении паттерны не хуже, чем многие программы machine learning).

Главный вебсайт: http://www.processmining.org/, главная тусовка (IEEE Task Force on Process Mining): http://www.win.tue.nl/ieeetfpm/doku.php, главная книга: http://www.processmining.org/book/ (W.M.P. van der Aalst. Process Mining: Discovery, Conformance and Enhancement of Business Processes. Springer-Verlag, Berlin, 2011, логи и модели из книжки тут: http://www.processmining.org/event_logs_and_models_used_in_book).

Поддерживаемый стандарт логов -- Extensible Event Stream, XeS -- http://www.xes-standard.org/. Главные слова там "процесс" как набор "трасс" (то бишь кейсов=экземпляров процессов), и для каждого кейса можно указать много-много "событий" с парами атрибут-значение, опциональными метаданными (например, именами), в том числе расширения для каких-то микро-предметных областей (типа описания жизненного цикла какого-то кейса в терминах событий смены стадий). Был и более древний стандарт MXML и конвертор с более чем 20 плагинами для WebSphere, FLOWer, Staffware, PeopleSoft, Eastman, Subversion, CVS, Apache, Aris PPM, CPN Tools и прочих логопорождающих софтин -- http://www.promtools.org/promimport/.

Примеры софтвария для анализа процессов:
-- ARIS Process Performance Manager (Software AG) -- http://www.softwareag.com/corporate/products/aris_platform/aris_controlling/aris_process_performance/overview/default.asp
-- Comprehend (Open Connect), http://www.oc.com/technology/
-- Discovery Analyst (StereoLOGIC), http://www.stereologic.com/stereologic_software.htm
-- Flow (Fourspark), http://fourspark.no/?page_id=11
-- Futura Reflect (Futura Process Intelligence) и ReflectOne (Pallas Athena) съедены Perceptive Software от Lexmark, http://www.perceptivesoftware.com/products/perceptive-process/process-mining
-- Interstage Automated Process Discovery (Fujitsu), http://www.fujitsu.com/global/services/software/interstage/solutions/bpmgt/bpm-services/apd/
-- OKT Process Mining suite (Exeura), http://oktlab.openknowtech.it/OKTLAB/en/newsview.wp;jsessionid=DACB96A1DA4842EDE98291D1406AAE2A?contentId=NEW444 (open source)
-- Process Discovery Focus (Iontas/Verint), http://www.iontas.com/pages/products/pdf.php
-- ProcessAnalyzer (QPR), http://www.qpr.com/products/qpr-processanalyzer.htm
-- ProM (TU/e), -- это опенсорсовый process mining workbench: http://www.promtools.org, там сейчас более 100 пакетов с более чем 400 плагинами -- в том числе поддержка языков моделирования процессов на базе Petri Net (PNML, TPN), EPCs/EPKs (EPML), BPMN (XPDL) и так далее, ну и всякие разные аналитические алгоритмы от генетических до верификации линейной темпоральной логики.
-- Nitro (Fluxicon), http://fluxicon.com/nitro/ (бесплатно до 500 событий, $495 в месяц до 10 млн. событий, $1950 в месяц без ограничений на данные)
-- Rbminer/Dbminer (UPC), майнинг сетей Петри (опенсорс) -- http://personals.ac.upc.edu/msole/homepage/dbminer.html, http://personals.ac.upc.edu/msole/homepage/rbminer.html
-- и так далее, это уже общее место.

Примеры алгоритмов выявления процессов (из слайдов к 6й главе книжки -- http://www.processmining.org/_media/processminingbook/process_mining_chapter_06_advanced_process_discovery_techniques.pdf, с пропусками всяких hidden Markov model, stochastic task graphs, conformal process graph, automata-based learning и т.д. -- на бедность алгоритмами жаловаться не приходится):
Algorithmic techniques
• Alpha miner
• Alpha+, Alpha++, Alpha#
• FSM miner
• Fuzzy miner
• Heuristic miner
• Multi phase miner
Genetic process mining
• Single/duplicate tasks
• Distributed GM
Region- based process mining
• State- based regions
• Language based regions
Classical approaches not dealing with concurrency
• Inductive inference (Mark Gold, Dana Angluin et al.)
• Sequence mining
Общая организация дела представляет собой смесь аналитики данных и моделирования процессов.

Примеры process discovery можно поглядеть в середине обзорной презентации http://www.processmining.org/_media/presentations/nba-norea-process-mining-vdaalst2012.pdf (и сразу становится понятно, что работает вся эта технология только в весьма и весьма умелых руках, результаты расчётов нужно уметь интерпретировать). Кстати, вот пример применения в реальной жизни используемой при анализе процессов метафоры "сначала тропинки пусть протопчут, а потом мы их заасфальтируем" -- http://www.olifantenpaadjes.nl/ (именно отсюда взяты первые слайды в презентации по предыдущей ссылке).

Например, вот пример соревнований, они проводятся по традициям аналитики данных:
-- дан лог с 262200 событиями в 13087 кейсах. The data owner is interested in all valuable information and especially estimators for the total cycle time, which resources generate the highest activation rate of applications, how does the process model look like, which decisions have great influence on the process flow and where are they.: http://www.win.tue.nl/bpi2012/doku.php?id=challenge (участвовало 6 команд из США, Ирландии, Южной Кореи и Нидерландов. Победила команда из США).

Один из репозиториев данных процессов для обучения и тестирования софта:
-- http://data.3tu.nl/repository/collection:event_logs_real (логи из жизни)
-- http://data.3tu.nl/repository/collection:event_logs_synthetic (синтезированные логи)

Важно понимать, что
-- анализ процессов отнюдь не сводится к выявлению пути (control-flow). Фокус может быть не на последовательности, а на времени прохождения, организации и ресурсах, выборе типичного кейса (экземпляра процесса) и т.д..
-- анализ процессов не сводится к частному случаю анализа данных (data mining), ибо в нём есть присущая процессам параллельность и точки выбора (choice), игнорируемые большинством алгоритмов из data mining, так что нужны другие типы представлений (связанные с организационным моделированием -- события должны соотноситься с элементами модели! это называется event correlation) и другие алгоритмы, учитывающие параллельность и ветвления.
-- совершенно необязательно ограничение анализа процессов оффлайн-анализом логов. Например, время завершения незаконченного оформления клиентского заказа может быть предсказано на основе выявленной модели процесса вполне в реальном времени.
-- анализ процессов это непрерывная деятельность, а не разовое мероприятие.
-- логи бывают очень разного качества (Манифест вводит пять уровней качества), и нужно заботиться не только об алгоритмах, но и о логах.
-- нет вопросов (гипотез), не анализируй! Утонешь в данных (в современном софте этого добра навалом), а толку не будет.
-- помним о concept drift (когда по ходу анализа сам процесс меняется, или есть понятные сразу закономерности, типа выходных и праздников с их совершенно другими паттернами: стрельба по движущейся мишени)
-- помним, что модель лога и восстанавливаемая модель -- это разные модели, и они не совпадают (так называемый representational bias)! Процессы, которые непредставимы в целевой нотации, не смогут быть выявлены (это относится и к представимости параллельного выполнения). Это прежде всего про параллельность, представимость циклов, отражения непротоколируемых действий, точек сплита/объединения путей процесса, показ иерархии и т.д.
-- правильно моделировать процессы, пересекающие границы предпринятия -- что легче потребовать, чем сделать.

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

Case -- это синоним для Process Instance (the entity being handled by the process that is analyzed. Events refer to process instances. Examples of process instances are customer orders, insurance claims, loan applications, etc.). Интересно, что в стандарте представления лога XES этому соответствует Trace: A log contains an arbitrary number of trace objects. Each trace describes the execution of one
specific instance, or case, of the logged process. Examples of a trace are:
-- One specific insurance claim
-- One examination in which the x-ray machine is employed
-- One visit of the website, by one specific user

Конечно, такой взгляд на жизнь "через лог" просачивается и в определения на уровне Манифеста. Вот, например, как определяются события (не записано -- не событие!):
Event: an action recorded in the log, e.g., the start, completion, or cancelation of an activity for a particular process instance.

Event Log: collection of events used as input for process mining. Events do not need to be stored in a separate log file (e.g., events may be scattered over different database tables).
Очень интересны меры, описывающие анализ процессов:
Simplicity: a measure operationalizing Occam's Razor, i.e., the simplest model that can explain the behavior seen in the log, is the best model. Simplicity can be quantified in various ways, e.g., number of nodes and arcs in the model.

Generalization: a measure determining how well the model is able to allow for unseen behavior. An "overfitting" model is not able to generalize enough.

Fitness: a measure determining how well a given model allows for the behavior seen in the event log. A model has a perfect fitness if all traces in the log can be replayed by the model from beginning to end.

Precision : measure determining whether the model prohibits behavior very different from the behavior seen in the event log. A model with low precision is "underfitting".
В силу того, что process mining связан с "автоматизацией моделирования" (process/model discovery), очень часты сравнения результатов с картированием/картографией (карта -- это не территория; не бывает "универсальной карты", но бывает много разных карт/слоёв; нужны карты разных масштабов и детальности; и т.д.).

Вот, например, про "навигацию" (из презентации к главе 13 книжки -- http://www.processmining.org/_media/processminingbook/process_mining_chapter_13_cartography_and_navigation.pdf):
-- Whereas a TomTom device is continuously showing the expected arrival time , users of today’s information systems are often left clueless about likely outcomes of the cases they are working on.
-- Car navigation systems provide directions and guidance without controlling the driver. The driver is still in control, but, given a goal (e.g. to get from A to B as fast as possible), the navigation system recommends the next action to be taken.
-- Operational support provides TomTom functionality for business processes.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 7 comments