[Из песочницы] Бизнес-процессы. Извлечение BPMN-модели из документа. Часть 1

7_zazmzxwcdd4tomstu6xjxk7ak.png Современные проекты по оптимизации и автоматизации бизнес-процессов, как правило, предполагают на начальном этапе анализ больших объемов документов Заказчика с целью моделирования на их основе бизнес-процессов «as-is» в сжатые сроки. Перечень анализируемых документов может включать нормативно-правовые акты, отраслевые стандарты, протоколы интервью, регламенты, положения, технические задания и другие корпоративные документы.

Перед аналитиком проекта ставится довольно трудоемкая и, в то же время, рутинная задача, которая в настоящий момент не имеет средств автоматизации. Как показывает анализ современных средств моделирования бизнес-процессов, даже такие известные на рынке приложения как Enterprise Architect, Business Studio, Bizagi Modeler — не имеют механизмов поддержки построения моделей бизнес-процессов по их текстовому описанию.

В статье решается задача Извлечения BPMN‑модели из документа.


Надо отметить, что в настоящее время на рынке управления бизнес-процессами (BPM) существует технология интеллектуального анализа процессов (Process Mining). Однако, в отличие от описываемой ниже технологии, на вход Process Mining системы подается база данных с результатами выполнения моделируемого бизнес-процесса, а не набор документов с его текстовым описанием.
Постановку идеальной задачи можно представить как »большую красную кнопку», по нажатию которой весь объем, подлежащих анализу документов, автоматически преобразуется в сеть BPMN-моделей бизнес-процессов Заказчика, доступную для анализа, оптимизации и автоматизации.

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

Цель: минимизировать трудоемкость построения модели бизнес-процессов по текстовому описанию при обеспечении полноты и связанности модели.

На входе имеется документ в формате Microsoft Word, который:

  • содержит текстовое описание одного внутреннего бизнес-процесса (Private Business Process).
  • в бизнес-процессе участвует один исполнитель (Participant).
  • бизнес-процесс описан на одном уровне детализации (Sub-Process отсутствуют).


На выходе получаем xml-файл в формате BPMN2.0, который:

  • содержит модель бизнес-процесса, соответствующую базовому уровню описания (BPMN Descriptive Conformance Sub-Class).
  • корректно открывается для редактирования в Bizagi Modeler.


В качестве тестового примера будем использовать текстовое описание, такого широко распространенного процесса, как Управление инцидентами (Incident Management) из стандартной библиотеки ITIL (Information Technology Infrastructure Library). Тестовый пример сознательно взят на английском языке. Английский язык не имеет падежей и выбран для облегчения обработки ссылок (coreferences) на элементы бизнес-процесса в рамках пилотной задачи (более подробно об этом будет рассказано во 2-й части).

На выходе должна быть сформирована модель процесса Управление инцидентами »не хуже» приведенной в библиотеке ITIL блок-схемы. Под критерием »не хуже» будем понимать: полноту и связанность бизнес-функций, данных, условий принятия решений и участников бизнес-процесса.

5p3d8bmicprqmuuxeiwrbb3nebs.png
Рисунок 1. Блок-схема процесса Управление инцидентами (ITIL v. 3 Official Introduction, p.98)


Согласно глоссарию стандарта BPMN (Business Process Model and Notation, version 2.0), бизнес-процесс (Process) представляется «графом Flow-элементов (набором активностей, событий, шлюзов) и отношений Sequence Flow, связывающих их в исполняемый поток».

Определение. Под BPMN-графом будем понимать конечный, ориентированный граф (Теория графов) со следующими расширениями:

  1. Вершины графа соответствуют BPMN-элементам процесса (Flow, Data, Participant).
  2. Ребра графа соответствуют BPMN-связям процесса (Sequence Flow, Message Flow, Association).
  3. Вершины и ребра имеют обязательные атрибуты: идентификатор (id), наименование (name), комментарий (documentation).
  4. Обязательные типы вершин — это элементы категории Flow (Activity, Event, Gateway).
  5. Обязательные типы ребер — это связи потока управления (Sequence Flow).


Утверждение 1. Текстовое описание бизнес-процесса в документе (на естественном языке) — содержит BPMN-граф в неявном виде.

Утверждение 2. Задача извлечения BPMN модели из документа относится к классу задач извлечения информации из слабоструктурированных машиночитаемых документов (Information extraction), основными подзадачами которого являются: идентификация сущностей (named entity recognition), идентификация связей (relationship extraction), разрешение ссылок (coreference resolution).

Комбинируя алгоритмы Теории графов и Information extraction, получаем следующие шаги решения.

  1. Разметка документа BPMN-тегами (для идентификации элементов процесса).
  2. Компиляция BPMN-тегов в BPMN-модель процесса (для идентификации связей процесса).
  3. Верификация BPMN-модели (для разрешения ссылок).
  4. Корректировка BPMN-модели (в случае несоответствия модели текстовому описанию).
  5. Экспорт BPMN-модель в xml-файл (для преобразования BPMN-графа в стандартный формат).


drc7l6g7zts-dpld4c3cejnofz0.png
Рисунок 2. Схема процесса Извлечения BPMN-модели из документа (BPMN Text Extraction)

Решение. Шаг 1: Разметка документа BPMN-тегами


Для маркировки BPMN-элементов бизнес-процесса в документе будем использовать BPMN-теги.

Определение. BPMN-тег — это цветной текстовый маркер с идентификатором, содержащим тип BPMN-элемента. Наименование и цвет BPMN-тега соответствует определенной категории BPMN-элемента.

Ниже показаны цвета, категории и типы BPMN-тегов, а также даны рекомендации по разметке документа (поиск точных правил идентификации BPMN-элементов задача следующей стадии проекта).

zmgtxx6qbl4htqzcbprtuv9bwjw.png
Таблица 1. Описание BPMN-тегов

Общий принцип выполнения операций с BPMN-тегами: выделить фрагмент текста, содержащий BPMN-элемент, и нажать кнопку соответствующего BPMN-тега.
Например, для выделения бизнес-процесса — выделить »INCIDENT MANAGEMENT», затем нажать кнопку <Business Process>. Фон выделенного BPMN-элемента окрасится в цвет выбранного BPMN-тега, а в закладки документа будет добавлена закладка с идентификатором BPMN-тега.

uptwdf0wmt_qh77gtvc1f9wlatg.png
Рисунок 3. Лента меню вкладки BPMN (группы BPMN tags, Edit tags)

Ниже перечислены основные операции над BPMN-тегами:

  • Добавление (BPMN tag) — добавляет новый BPMN-тег в закладки документа (Word Bookmarks) и маркирует соответствующим цветом выделенный фрагмент текста.
  • Отображение/Скрытие (Show Tags) — включает/отключает маркеры BPMN-тегов в тексте документа.
  • Изменение размера (Resize) — изменяет область маркированного текста BPMN-тега.
  • Удаление (Delete) — удаляет BPMN-тег (закладку и маркер) из документа.
  • Детальная информация (Details) — показывает детальную информацию по BPMN-тегу (идентификатор, категорию, тип и текст BPMN-тега).
  • Отчет (Report) — показывает статистический отчет о количестве и типах BPMN-тегов в активном документе.


В результате разметки тестового документа получаем следующий результат.

nxnypuurufa60ft5xb-2-b_brs4.png
Рисунок 4. BPMN-разметка текстового описания процесса Управление Инцидентами (картинка кликабельна)

Заметим, что в тексте есть »повторяющиеся» BPMN-теги, имеющие одинаковый текст и цвет (например, Service Desk, Problem Management, Incident Record) — это ссылки на один и тот же элемент процесса. Обработка таких ссылок (coreferences) будет рассмотрена на 2-ом шаге решения.

Продолжение следует…

© Habrahabr.ru