SlideShare a Scribd company logo
1 of 38
Download to read offline
Краткое содержание
● PM — изучение процессов на основе логов
● Задачи:
– синтез моделей
– проверка соответствия
– анализ процессов
● Есть теория
● Есть специализированный софт
● Простые вещи делаются на коленке
● Есть куда копать
Краткое содержание - 2
1. Что такое Process Mining
2. История вопроса
3. Процессы, более строго.
4. Логи
5. Параллельные элементы
6. Альфа Алгоритм
7. Специализированный софт
8. Разведочный анализ своими силами, на игрушечном примере.
9. Аннотированный список книг, курсов, ссылок.
10. За пределами WFMS логов.
11. Процессы как текст.
12. Вопросы
Что такое PM - 1
● PM — изучение процессов на основе логов
● "Сколько еще лет мы будем моделировать
процессы через интервью участников?"
Такие картинки рисовали во всех бизнес-школах, начиная с 1960-х
Что такое PM - 2
● Госпиталь:
– Почему больные так долго ждут операции?
– Следуют ли врачи регламенту?
– Можем ли мы предсказать время ожидания?
– Сколько людей нужно и где?
– Как снизить затраты (времени, денег)
Понять и улучшить поток оказания услуги в госпитале, проанализировав
записи, разбросанные по сотням таблиц базы данных.
Что такое PM - 3
● Philips, томографы:
– Как на самом деле используются машины?
– Почему они ломаются?
– Какие компоненты нужно заменить?
– Можем ли мы предсказать поломку?
– Какие части нужно улучшить?
– Каким должен быть тестовый сценарий?
Понять и улучшить работу и характеристики томографов, используя
данные, полученные от сети сенсоров.
Что такое PM - 4
● Каков процесс работы на самом деле?
● Где узкие места?
● Где люди и машины отклоняются от ожидаемых
или предписанных процедур?
● Какие участки работают хорошо?
● Какие факторы влияют на узкие места?
● Можем ли мы предсказать задержки, отклонения, риски для
уже идущих процессов?
● Что мы можем предпринять, чтобы снизить риски/цены etc?
● Как нам преобразовать Рабкрин?
Возражение это состоит в том, что будто бы из предлагаемого мной преобразования
получится один хаос. Члены ЦКК будут слоняться по всем учреждениям, не зная, куда,
зачем и к кому им обратиться, внося повсюду дезорганизацию, отрывая служащих от их
текущей работы, и т. д. и т. п. (с) В.И. Ленин
Что такое PM - 5
● Процессы нужно изучать в динамике
● Псевдо динамика. Множественные замеры.
Фото vs видео. Недостатки.
● Частотный спектр vs временной ряд
● Информационные системы пишут логи
● Базовые задачи:
– Синтез модели
– Проверка соответствия
– Совершенствование процессов
– Визуализация
История вопроса
История вопроса - 2
● 2011 BPM 2011 International Workshops
Process mining techniques are able to extract
knowledge from event logs commonly available
in today's information systems.
These techniques provide new means to
discover, monitor, and improve processes in a
variety of application Domains.
.. this manifesto hopes to serve as a guide for
software developers,
scientists, consultants, business managers, and
end-users.
IEEE CIS Task Force on Process Mining
Eindhoven University of Technology TU/e
ВШЭ
История вопроса - 3
Процесс
Процесс - 2
● Процесс
● Экземпляр процесса (case)
● След процесса (trace)
● Событие (event)
● Ресурсы
● Атрибуты процесса, кейса, ресурса
Petri net
● Карл Адам Петри, 1939, химические процессы
● N = (P, T, F, W, m* )
● места, переходы, дуги, веса, разметка
● P ∩ T = ∅
● F (P × T ) (T × P )⊆ ∪
● W : (P × T ) (T × P ) → N∪
● W (x, y) > 0 iff (x, y) F∈
● m* : P → N
● Временная, раскрашенная, стохастическая,
ингибиторная, иерархическая ….
Petri net - 2
Petri net - 3
● Исполнимы
● Очень похожи на конечные автоматы
● WF-сети: PN с одним началом и концом, связанные.
● Хорошие (sound):
– Безопасные (safe): 1-bounded
– Конец достижим
– Завершимые (кода отмечен конец, остальные места пусты)
– Нет мертвых частей (можно прийти к активному состоянию
перехода из любой достижимой разметки)
Fuzzy net
● Места
● Дуги
● Без переходов
● Неисполнимы
● Удобны и наглядны
см. так же BPMN и примкнувший к ним UML
Сопряженные процессы
● Больной в госпитале
– Больной - кейс
– Врач — место
– Назначения и бумажки — токены
● Врач в госпитале
– Врач — кейс
– Больной — место
● Студенты и классы
● Разработчики и проекты
● Такие задачи мы сначала поручаем Васе, а если смог — Пете
● Таких разработчиков мы сначала отправляем на месяц в саппорты,
потом в QA, а потом ставим на проекты.
● Ищем не правильную, а полезную точку зрения
Логи
Логи - 2
● Стартовая точка для майнинга процессов
● Все логи несчастливы по-своему
● Фильтрация и агрегирование
● Приведение к единому времени
● Есть ли начало и конец?
● Денормализованные логи
● Время — конец события?
Логи - 3
● Обычно доступно только событие завершения
● Время первого события не нулевое
● Иногда доступны время планирования, начала,
конца.
– конец в дело
– остальное в подпроцесс
● Сколько ресурсов в событии?
● Иерархия процессов
Логи - 4
● IEEE 1849-2016 XES Standard
● IEEE Standard for eXtensible Event Stream
(XES) for Achieving Interoperability in Event
Logs and Event Streams
● XML-based
● http://pmuc.ing.puc.cl/tools/opyenxes/
● Хорошо, но опять где-то не у нас
Параллельность
● A → B → C → D
● A → C → B → D
Ну он все равно не работает
● TL — все, кто встретился
● TI — стартовые
● TO — конечные
● A > B (прямое следование)
● A → B iif A > B ^ A ≮ B
● A # B iif A≯B ^ A ≮ B
● A || B iif A > B ^ B < A
Ну он все равно не работает - 2
● Находим максимальные группы, такие что
внутри группы они не следуют друг за другом,
а между группами строго следуют
● Добавляем начало и конец
● Каждый элемент в (A, B) — место
● Соединяем дугами A — место — B
● Соединяем начало и конец
● Выдыхаем
А если?
● Альфа*
● Альфа+
● Альфа++ (серьезно)
● IPL
● Inductive Miner
● IPL Miner
● Тысячи их
ProM и его друзья
● ProM, без апдейтов
● Плагин для Rapid Miner
● Disco
● Все BI делают это, но как-то так
● ProM Lite
ProM - 2
● Импортируем
● Конвертируем в XES
● XES - Альфа майнер - Петри нет
● Фильтрация логов
● Майнер эпизодов
● Fuzzy model
● Petri net, Inductive Miner, живой лог
● Dotted chart
Что может быть интересно
● Модель процесса
● Граф сотрудничества
● Распределение работы по сотрудникам
● Время перехода, гистограммы
● Очередь
● Диаграмма точками
Найди 10 различий
● Изменения в процессе
● Ускорение обслуживания
Что почитать
● Лекция Аалста в Яндексе
● http://www.processmining.org/prom/start
● Process Mining: Data science in Action
● Diogo R. Ferreira. A Primer on Process Mining
Practical Skills with Python and Graphviz
● Wil M.P. van der Aalst. Process Mining
● Introduction to Event Log Mining with R
За пределами WFMS логов
● Временные ряды, события серверных ферм.
● Логи высокой кардинальности (веб-сайты)
– иерархия
– группировка событий.
● События в жизни микрорайона
● Моделирование человеческой нервной
системы как сети Петри
Процесс как текст
● Сеть Петри как строка. См Visual Miner
● Sec2Sec преобразование
● Генерация обучающего набора
Вопросы?
dk.promsoft@mail.ru
@d_key
https://telegram.me/Promsoft

More Related Content

What's hot

Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромKirill Kovalchuk
 
My talk at YouCon Saratov 2016
My talk at YouCon Saratov 2016My talk at YouCon Saratov 2016
My talk at YouCon Saratov 2016Alex Chistyakov
 
урок 3 6 класс
урок 3 6 классурок 3 6 класс
урок 3 6 классmrsvetlana01
 
Keynote on JavaDay Omsk 2014 about new features in Java 8
Keynote on JavaDay Omsk 2014 about new features in Java 8Keynote on JavaDay Omsk 2014 about new features in Java 8
Keynote on JavaDay Omsk 2014 about new features in Java 8Alexey Zinoviev
 
#ITSubbotnik Rodionov talk - "Neural networks in JS" (Нейронные сети на JS, С...
#ITSubbotnik Rodionov talk - "Neural networks in JS" (Нейронные сети на JS, С...#ITSubbotnik Rodionov talk - "Neural networks in JS" (Нейронные сети на JS, С...
#ITSubbotnik Rodionov talk - "Neural networks in JS" (Нейронные сети на JS, С...Vsevolod Rodionov
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинOntico
 
Perl 5.16 and beyond by Jesse Vincent (Русская версия)
Perl 5.16 and beyond by Jesse Vincent (Русская версия)Perl 5.16 and beyond by Jesse Vincent (Русская версия)
Perl 5.16 and beyond by Jesse Vincent (Русская версия)Anatoly Sharifulin
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?PyNSK
 
Erlang for Yandex
Erlang for YandexErlang for Yandex
Erlang for YandexMax Lapshin
 
алгоритмы исполнители алгоритмический язык.
алгоритмы исполнители алгоритмический язык.алгоритмы исполнители алгоритмический язык.
алгоритмы исполнители алгоритмический язык.metodkopilka
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Ontico
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаAleksandr Makhomet
 
Как и зачем можно создать DSL на Python
Как и зачем можно создать DSL на PythonКак и зачем можно создать DSL на Python
Как и зачем можно создать DSL на PythonPyNSK
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовYandex
 
закон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelinesзакон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelinesCOMAQA.BY
 
Локализация программных продуктов и тестирование локализации
Локализация программных продуктов и тестирование локализацииЛокализация программных продуктов и тестирование локализации
Локализация программных продуктов и тестирование локализацииSQALab
 

What's hot (20)

Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодером
 
My talk at YouCon Saratov 2016
My talk at YouCon Saratov 2016My talk at YouCon Saratov 2016
My talk at YouCon Saratov 2016
 
урок 3 6 класс
урок 3 6 классурок 3 6 класс
урок 3 6 класс
 
Смолина Пользовательские интерфейсы систем лингвистической разметки текстов
Смолина Пользовательские интерфейсы систем лингвистической разметки текстовСмолина Пользовательские интерфейсы систем лингвистической разметки текстов
Смолина Пользовательские интерфейсы систем лингвистической разметки текстов
 
Keynote on JavaDay Omsk 2014 about new features in Java 8
Keynote on JavaDay Omsk 2014 about new features in Java 8Keynote on JavaDay Omsk 2014 about new features in Java 8
Keynote on JavaDay Omsk 2014 about new features in Java 8
 
#ITSubbotnik Rodionov talk - "Neural networks in JS" (Нейронные сети на JS, С...
#ITSubbotnik Rodionov talk - "Neural networks in JS" (Нейронные сети на JS, С...#ITSubbotnik Rodionov talk - "Neural networks in JS" (Нейронные сети на JS, С...
#ITSubbotnik Rodionov talk - "Neural networks in JS" (Нейронные сети на JS, С...
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
 
Per! А что дальше?
Per! А что дальше?Per! А что дальше?
Per! А что дальше?
 
Perl 5.16 and beyond by Jesse Vincent (Русская версия)
Perl 5.16 and beyond by Jesse Vincent (Русская версия)Perl 5.16 and beyond by Jesse Vincent (Русская версия)
Perl 5.16 and beyond by Jesse Vincent (Русская версия)
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?
 
запахи кода
запахи кодазапахи кода
запахи кода
 
Erlang for Yandex
Erlang for YandexErlang for Yandex
Erlang for Yandex
 
алгоритмы исполнители алгоритмический язык.
алгоритмы исполнители алгоритмический язык.алгоритмы исполнители алгоритмический язык.
алгоритмы исполнители алгоритмический язык.
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кода
 
Как и зачем можно создать DSL на Python
Как и зачем можно создать DSL на PythonКак и зачем можно создать DSL на Python
Как и зачем можно создать DSL на Python
 
BE SOLID
BE SOLIDBE SOLID
BE SOLID
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
 
закон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelinesзакон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelines
 
Локализация программных продуктов и тестирование локализации
Локализация программных продуктов и тестирование локализацииЛокализация программных продуктов и тестирование локализации
Локализация программных продуктов и тестирование локализации
 

Similar to Процесс майнинг

CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...CodeFest
 
Говорим о СУБД языком HR
Говорим о СУБД языком HRГоворим о СУБД языком HR
Говорим о СУБД языком HRKonstantin Osipov
 
20111001 information retrieval raskovalov_lecture2
20111001 information retrieval raskovalov_lecture220111001 information retrieval raskovalov_lecture2
20111001 information retrieval raskovalov_lecture2Computer Science Club
 
Собеседование на позицию Java Developer
Собеседование на позицию Java DeveloperСобеседование на позицию Java Developer
Собеседование на позицию Java DeveloperOlexandra Dmytrenko
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовYandex
 
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидахОмские ИТ-субботники
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ruRoman Ivliev
 
Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...
Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...
Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...Ontico
 
Процесс разработки дата-сервисов или CRISP курильщика
Процесс разработки дата-сервисов или CRISP курильщикаПроцесс разработки дата-сервисов или CRISP курильщика
Процесс разработки дата-сервисов или CRISP курильщикаДмитрий Колодезев
 
MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7Alexander Levantovsky
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest
 
Jpoint 2017 - как это было (обзор конференции)
Jpoint 2017 - как это было (обзор конференции)Jpoint 2017 - как это было (обзор конференции)
Jpoint 2017 - как это было (обзор конференции)CleverDATA
 
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...SECON
 
SECON'2016. Бартунов Олег, Карьера в Open Source
SECON'2016. Бартунов Олег, Карьера в Open SourceSECON'2016. Бартунов Олег, Карьера в Open Source
SECON'2016. Бартунов Олег, Карьера в Open SourceSECON
 
Highload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPIHighload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPILeonid Yuriev
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективыBoris Volfson
 
Джентльменский набор сисадмина / Антон Турецкий (Badoo)
Джентльменский набор сисадмина / Антон Турецкий (Badoo)Джентльменский набор сисадмина / Антон Турецкий (Badoo)
Джентльменский набор сисадмина / Антон Турецкий (Badoo)Ontico
 
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest
 

Similar to Процесс майнинг (20)

CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
 
Говорим о СУБД языком HR
Говорим о СУБД языком HRГоворим о СУБД языком HR
Говорим о СУБД языком HR
 
20111001 information retrieval raskovalov_lecture2
20111001 information retrieval raskovalov_lecture220111001 information retrieval raskovalov_lecture2
20111001 information retrieval raskovalov_lecture2
 
Sivko
SivkoSivko
Sivko
 
Собеседование на позицию Java Developer
Собеседование на позицию Java DeveloperСобеседование на позицию Java Developer
Собеседование на позицию Java Developer
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
 
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ru
 
Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...
Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...
Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...
 
Процесс разработки дата-сервисов или CRISP курильщика
Процесс разработки дата-сервисов или CRISP курильщикаПроцесс разработки дата-сервисов или CRISP курильщика
Процесс разработки дата-сервисов или CRISP курильщика
 
MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
 
Jpoint 2017 - как это было (обзор конференции)
Jpoint 2017 - как это было (обзор конференции)Jpoint 2017 - как это было (обзор конференции)
Jpoint 2017 - как это было (обзор конференции)
 
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
 
Scrum Wars
Scrum WarsScrum Wars
Scrum Wars
 
SECON'2016. Бартунов Олег, Карьера в Open Source
SECON'2016. Бартунов Олег, Карьера в Open SourceSECON'2016. Бартунов Олег, Карьера в Open Source
SECON'2016. Бартунов Олег, Карьера в Open Source
 
Highload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPIHighload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPI
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективы
 
Джентльменский набор сисадмина / Антон Турецкий (Badoo)
Джентльменский набор сисадмина / Антон Турецкий (Badoo)Джентльменский набор сисадмина / Антон Турецкий (Badoo)
Джентльменский набор сисадмина / Антон Турецкий (Badoo)
 
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
 

Процесс майнинг

  • 1.
  • 2. Краткое содержание ● PM — изучение процессов на основе логов ● Задачи: – синтез моделей – проверка соответствия – анализ процессов ● Есть теория ● Есть специализированный софт ● Простые вещи делаются на коленке ● Есть куда копать
  • 3. Краткое содержание - 2 1. Что такое Process Mining 2. История вопроса 3. Процессы, более строго. 4. Логи 5. Параллельные элементы 6. Альфа Алгоритм 7. Специализированный софт 8. Разведочный анализ своими силами, на игрушечном примере. 9. Аннотированный список книг, курсов, ссылок. 10. За пределами WFMS логов. 11. Процессы как текст. 12. Вопросы
  • 4. Что такое PM - 1 ● PM — изучение процессов на основе логов ● "Сколько еще лет мы будем моделировать процессы через интервью участников?" Такие картинки рисовали во всех бизнес-школах, начиная с 1960-х
  • 5. Что такое PM - 2 ● Госпиталь: – Почему больные так долго ждут операции? – Следуют ли врачи регламенту? – Можем ли мы предсказать время ожидания? – Сколько людей нужно и где? – Как снизить затраты (времени, денег) Понять и улучшить поток оказания услуги в госпитале, проанализировав записи, разбросанные по сотням таблиц базы данных.
  • 6. Что такое PM - 3 ● Philips, томографы: – Как на самом деле используются машины? – Почему они ломаются? – Какие компоненты нужно заменить? – Можем ли мы предсказать поломку? – Какие части нужно улучшить? – Каким должен быть тестовый сценарий? Понять и улучшить работу и характеристики томографов, используя данные, полученные от сети сенсоров.
  • 7. Что такое PM - 4 ● Каков процесс работы на самом деле? ● Где узкие места? ● Где люди и машины отклоняются от ожидаемых или предписанных процедур? ● Какие участки работают хорошо? ● Какие факторы влияют на узкие места? ● Можем ли мы предсказать задержки, отклонения, риски для уже идущих процессов? ● Что мы можем предпринять, чтобы снизить риски/цены etc? ● Как нам преобразовать Рабкрин? Возражение это состоит в том, что будто бы из предлагаемого мной преобразования получится один хаос. Члены ЦКК будут слоняться по всем учреждениям, не зная, куда, зачем и к кому им обратиться, внося повсюду дезорганизацию, отрывая служащих от их текущей работы, и т. д. и т. п. (с) В.И. Ленин
  • 8. Что такое PM - 5 ● Процессы нужно изучать в динамике ● Псевдо динамика. Множественные замеры. Фото vs видео. Недостатки. ● Частотный спектр vs временной ряд ● Информационные системы пишут логи ● Базовые задачи: – Синтез модели – Проверка соответствия – Совершенствование процессов – Визуализация
  • 10. История вопроса - 2 ● 2011 BPM 2011 International Workshops Process mining techniques are able to extract knowledge from event logs commonly available in today's information systems. These techniques provide new means to discover, monitor, and improve processes in a variety of application Domains. .. this manifesto hopes to serve as a guide for software developers, scientists, consultants, business managers, and end-users. IEEE CIS Task Force on Process Mining Eindhoven University of Technology TU/e ВШЭ
  • 13. Процесс - 2 ● Процесс ● Экземпляр процесса (case) ● След процесса (trace) ● Событие (event) ● Ресурсы ● Атрибуты процесса, кейса, ресурса
  • 14. Petri net ● Карл Адам Петри, 1939, химические процессы ● N = (P, T, F, W, m* ) ● места, переходы, дуги, веса, разметка ● P ∩ T = ∅ ● F (P × T ) (T × P )⊆ ∪ ● W : (P × T ) (T × P ) → N∪ ● W (x, y) > 0 iff (x, y) F∈ ● m* : P → N ● Временная, раскрашенная, стохастическая, ингибиторная, иерархическая ….
  • 16. Petri net - 3 ● Исполнимы ● Очень похожи на конечные автоматы ● WF-сети: PN с одним началом и концом, связанные. ● Хорошие (sound): – Безопасные (safe): 1-bounded – Конец достижим – Завершимые (кода отмечен конец, остальные места пусты) – Нет мертвых частей (можно прийти к активному состоянию перехода из любой достижимой разметки)
  • 17. Fuzzy net ● Места ● Дуги ● Без переходов ● Неисполнимы ● Удобны и наглядны см. так же BPMN и примкнувший к ним UML
  • 18. Сопряженные процессы ● Больной в госпитале – Больной - кейс – Врач — место – Назначения и бумажки — токены ● Врач в госпитале – Врач — кейс – Больной — место ● Студенты и классы ● Разработчики и проекты ● Такие задачи мы сначала поручаем Васе, а если смог — Пете ● Таких разработчиков мы сначала отправляем на месяц в саппорты, потом в QA, а потом ставим на проекты. ● Ищем не правильную, а полезную точку зрения
  • 20. Логи - 2 ● Стартовая точка для майнинга процессов ● Все логи несчастливы по-своему ● Фильтрация и агрегирование ● Приведение к единому времени ● Есть ли начало и конец? ● Денормализованные логи ● Время — конец события?
  • 21. Логи - 3 ● Обычно доступно только событие завершения ● Время первого события не нулевое ● Иногда доступны время планирования, начала, конца. – конец в дело – остальное в подпроцесс ● Сколько ресурсов в событии? ● Иерархия процессов
  • 22. Логи - 4 ● IEEE 1849-2016 XES Standard ● IEEE Standard for eXtensible Event Stream (XES) for Achieving Interoperability in Event Logs and Event Streams ● XML-based ● http://pmuc.ing.puc.cl/tools/opyenxes/ ● Хорошо, но опять где-то не у нас
  • 23. Параллельность ● A → B → C → D ● A → C → B → D
  • 24.
  • 25.
  • 26. Ну он все равно не работает ● TL — все, кто встретился ● TI — стартовые ● TO — конечные ● A > B (прямое следование) ● A → B iif A > B ^ A ≮ B ● A # B iif A≯B ^ A ≮ B ● A || B iif A > B ^ B < A
  • 27. Ну он все равно не работает - 2 ● Находим максимальные группы, такие что внутри группы они не следуют друг за другом, а между группами строго следуют ● Добавляем начало и конец ● Каждый элемент в (A, B) — место ● Соединяем дугами A — место — B ● Соединяем начало и конец ● Выдыхаем
  • 28. А если? ● Альфа* ● Альфа+ ● Альфа++ (серьезно) ● IPL ● Inductive Miner ● IPL Miner ● Тысячи их
  • 29. ProM и его друзья ● ProM, без апдейтов ● Плагин для Rapid Miner ● Disco ● Все BI делают это, но как-то так ● ProM Lite
  • 30. ProM - 2 ● Импортируем ● Конвертируем в XES ● XES - Альфа майнер - Петри нет ● Фильтрация логов ● Майнер эпизодов ● Fuzzy model ● Petri net, Inductive Miner, живой лог ● Dotted chart
  • 31. Что может быть интересно ● Модель процесса ● Граф сотрудничества ● Распределение работы по сотрудникам ● Время перехода, гистограммы ● Очередь ● Диаграмма точками
  • 32.
  • 33.
  • 34. Найди 10 различий ● Изменения в процессе ● Ускорение обслуживания
  • 35. Что почитать ● Лекция Аалста в Яндексе ● http://www.processmining.org/prom/start ● Process Mining: Data science in Action ● Diogo R. Ferreira. A Primer on Process Mining Practical Skills with Python and Graphviz ● Wil M.P. van der Aalst. Process Mining ● Introduction to Event Log Mining with R
  • 36. За пределами WFMS логов ● Временные ряды, события серверных ферм. ● Логи высокой кардинальности (веб-сайты) – иерархия – группировка событий. ● События в жизни микрорайона ● Моделирование человеческой нервной системы как сети Петри
  • 37. Процесс как текст ● Сеть Петри как строка. См Visual Miner ● Sec2Sec преобразование ● Генерация обучающего набора