Heuristic Mining이란?


heuristic mining의 의미를 정확히 알고 있다면, 
더 정확하고 전문적인 map을 그리는 것이 가능해집니다.

Heuristic mining은 다른 process map들에 비해 꽤나 복잡합니다. Threshold의 종류도 많고, 이에 따라 각 threshold가 어떤 의미를 가지고 있는지도 이해하기가 어렵기 때문에 heuristic mining의 의미를 정확히 알고 분석을 하는 것은 쉽지 않습니다. 하지만 heuristic mining의 의미를 정확히 알고 있다면, 더 정확하고 전문적인 map을 그리는 것이 가능해집니다.그렇다면, ProDiscovery에서의 heuristic mining에 대해 구체적으로 알아보겠습니다.

[Figure 1] ProDiscovery에서의 Heuristic Mining

우선 Heuristic mining이란, 프로세스 마이닝의 가장 기본이 되는 알고리즘인 Alpha algorithm을 발전시킨 형태로, 기본적으로 frequency(이벤트와 flow의 빈도)와 이를 바탕으로 한 dependency를 고려하여 맵을 생성합니다. Heuristic mining은 알파 알고리즘과는 다르게 빈도수를 고려할 수 있고, single activity, 즉 프로세스가 두 단계 이상 존재하지 않고 하나의 작업으로만 구성된 케이스를 생략할 수 있다는 장점을 가지고 있습니다.

Heuristic mining map이 만들어지는 과정은 다음과 같습니다. 우선, dependency matrix를 생성합니다. Dependency는 위에서도 말했듯이 heuristic mining을 구성하는 가장 기본이 되는 값입니다.

[Figure 2] dependency 계산식

Dependency가 양수이면 그 방향으로의 이벤트가 더 많은 것이고, 음수이면 반대 방향으로의 이벤트가 더 많은 것입니다. Dependency의 절댓값이 클수록 더 강한 관계를 가지고 있다고 볼 수 있습니다. 다음으로, 이 dependency matrix를 바탕으로 petri net을 생성합니다. 그러면 가장 기본적인 heuristic map이 생성되고, 이를 바탕으로 threshold를 조절함으로써 map을 원하는 대로 조절할 수 있습니다.

그렇다면, 이 threshold의 종류에는 어떤 것이 있을까요? ProDiscovery에서는 총 4개의 threshold를 사용하고 있습니다.

첫 번째 threshold_dependency threshold

각 경로의 dependency 값을 바탕으로, dependency가 설정한 threshold보다 높은 경로만을 map으로 표시합니다. 이 threshold를 통해 dependency 필터링이 가능합니다.

두 번째 threshold_positive observations threshold

두 액티비티 사이의 이벤트 수의 차이가 설정한 threshold보다 많은 경로만 표시합니다. 이를 통해 갑자기 프로세스가 분개 되는 경우나 합쳐지는 경우 등 두 작업 사이의 이벤트 수의 차이가 큰 것을 필터링하는 것이 가능해집니다.

세 번째 threshold_relative-to-best threshold

Map 내의 모든 경로의 dependency 중 가장 큰 maximum dependency 값과 각 경로의 dependency 값의 차이가 설정한 threshold보다 작은 경로만 표시합니다. 이를 통해 절대적인 dependency 값 만을 필터링하는 것이 아니라 각 map의 특성에 따른 dependency 필터링이 가능해집니다.

네 번째 threshold_ AND threshold

AND threshold를 아래 식에 따라 계산하고, 설정한 threshold보다 값이 높으면 AND, 낮으면 OR로 flow를 취급합니다.

[Figure 3] AND threshold

지금까지 heuristic mining을 어떻게 구성하고, 이 map을 사용자가 원하는 대로 조절하기 위해서는 어떤 값을 이용하고 어떻게 이용해야 하는지를 알아보았습니다. Heuristic mining을 통해 기존의 frequency만을 기반으로 한 프로세스 맵에서 벗어나, frequency와 dependency를 함께 고려하여 사용자의 입맛에 더 잘 맞는 프로세스 맵을 분석하실 수 있기를 바랍니다.