Майнинг бизнес-процессов с помощью ИИ, Neo4j и Plotly
Материал может быть полезен операционным директорам, бизнес-аналитикам или руководителям компаний. Есть технические нюансы, но не пугайтесь, сильно грузить не буду.
Контекст:
Компания Фикус, один из лидеров Российского рынка по озеленению корпоративных и общественных пространств. Уже год мы с ними внедряем ИИ-решения по всему контуру бизнеса: от саппорт-службы для потенциальных заказчиков до разработки персональных ассистентов сотрудникам.
Осенью 2023 года в компании произошли организационные изменения в одном из ключевых отделов. Его руководитель покинул компанию и команда решила воспользоваться этим, чтобы устранить узкие места в процессе. Кроме того до этого была определенная непрозрачность и непоследовательность в этой функции, которую требовалось устранить. Генеральный директор предложил извлечь данные из информационных систем и проанализировать их, чтобы понять как была выстроена истинная система управления и взаимодействия между людьми (которая отличалась от официально принятого бизнес процесса).
Решение:
Компания использует информационную систему Kaiten для ведения проектов, в которой скопилось огромное количество данных, в том числе сообщения по статусам проектов и операционные обсуждения. Их мы и взяли за основу работы.
Извлечение и связывание данных
В каком-то смысле нам повезло и вот почему: а) В компании используют сквозные методологии управления проектами и гибкие канбан инструменты. Так, до 2022 года Фикус использовал Trello, потом компания переехала в Кайтен. б) Кайтен предоставляет API и довольно легко выдергивать информацию. Если система управления выстроена (а в компании она выстроена) , у нас может быть много полезных данных.
Сначала нам нужно было выдернуть два JSON файла:
- JSON по всем проектам за 2023 год;
- JSON со всеми комментариями за этот период.
Небольшой питон скрипт для извлечения данных:
Далее мы связали все комментарии, которые были оставлены в ИС, с проектами и сотрудниками, которые их оставляли.
Визуализация данных
Уже на этом этапе, когда мы еще не приступили к анализу сообщений, стало любопытно визуализировать связанные данные с помощью Neo4J. Получился такой граф:
За 2023 год было оставлено порядка 18 000 комментариев – определенно есть с чем работать и очень интересно разглядывать. Но полезной информации здесь пока нет.
Дескдопная база данных Neo4j не позволяет визуализировать графы так, чтобы у нас изменялся размер вершин в зависимости от количества отправленных комментариев. А это любопытная деталь, так как показывает коммуникационную нагрузку. Да, можно попробовать использовать bloom – онлайн интрумент от Neo4j для визуализации данных. Но и здесь данные представлены не слишком наглядно.
Поэтому я решил прибегнуть к Plotly – питон библиотеке, которая можно гибко настроить под нужные мне задачи.
Здесь мы взяли авторов сообщений и упоминания сотрудников в комментариях и связали их в новый граф. Чем больше упоминаний, тем больше диаметр вершина графа. Помимо этого применили формулу центральности по степени. Характеристика «центральность» позволяет определить степень важности вершины графа (сотрудник) , основываясь на ее расположении. Получилась такая визуализация:
Теперь видно, на кого из сотрудников оказывается наибольшая информационная нагрузка. Что с этим делать? Ну, во-первых, мы можем понять на ком именно сосредоточены основные бизнес-процессы. Количество коммуникаций с определенными людьми свидетельствуют что без них задача не может двинуться дальше или, наоборот, только с ними и может двинуться. Нужно изучить сообщения и на основе них сформулировать задачи, что мы дальше и сделаем.
Во-вторых, я уже выше упомянул термин «Информационная нагрузка». Если ключевые люди перегружены сообщениями, остается немного времени на выполнение основной работы. Соответственно, наша задача состоит в том, чтобы снять эту нагрузку. Как – это уже второй вопрос, который мы в этом материале обсуждать не будем.
Майнинг бизнес-процессов с помощью LLM
Теперь перейдем к следующей задаче. Нам нужно выяснить на основе сообщений, какие бизнес-процессы присутствуют в компании, не так как мы их описали, а как они есть. Так же будет здорово выяснить ожидания коллег при обращении, решаемые проблемы и компоненты процессов. Для этого мы использовали модель генеративного ИИ (семейство gpt), через неё прогнали все сообщения и получилась такая табличка:
Связка бизнес-процессов и коммуникационного графа
После того, как прогнали все сообщения через LLM, часть данных были удалены или объединены (пустые строки, повторяющиеся значения) мы снова построили граф, но к вершинам (сотрудники) привязали упоминаемые процессы.
Получилась примерно такая такая визуализация:
Таким образом, на основе собранной нами информации и визуализации, мы можем принимать те или иные управленческие решения, которые будут опираться на реальное положение дел в компании.
Заключение
Это не предел использования данных. Мы могли бы так же проследить появление бизнес-процессов в течение времени, посмотреть задержки (сколько занимает по времени тот или иной процесс на основе разницы между полученным комментарием и отликом) и много чего еще. Но это уже предмет для другой истории.