XES(eXtensible Event Stream) 파일은 프로세스 마이닝의 가장 기본이 되는 파일 타입이다. 기본적으로 MXML의 스키마를 가지지만, 이벤트 로그와 이벤트스트림의 구조를 표현하는 데에 특화된, 즉 프로세스 마이닝을 위해 사용되는 파일 형태이다. 그렇기 때문에 ProM, Disco, Celonis 등 대부분의 프로세스 마이닝 툴들은 XES 파일을 input으로 받아 프로세스 마이닝을 진행한다. 이번 포스팅에서는 XES 파일이 어떤 형태로 구성되어 있는지에 대해 간단하게 살펴보고자 한다.
XES 파일의 형태
위 XES 파일을 Notepad 등으로 열어 보면 다음과 같은 형태를 가진다.
위에서부터 필요한 부분만 하나씩 설명하도록 하겠다.
log 태그
log 태그는 말 그대로 이벤트 로그가 시작됨을 알리는 태그이다. 이 태그가 모든 이벤트 로그 전체를 감싼다.
extension 태그
extension 태그는 XES 파일에서 자주 쓰이는 attirbute들을 정의한 extension을 표현하는 태그이다. 이 extension에는 concept, time, organizational, life-cycle 등이 있다.
- concept: trace와 이벤트의 name attribute를 정의한다. 즉, trace의 name인 case id와 event의 name인 액티비티 이름을 정의하는 데에 사용된다.
- time: 이벤트의 timestamp를 정의한다.
- organizational: 이벤트의 resource, role, group을 정의한다. resource는 이벤트를 수행한 사람, role과 group은 해당 resource의 역할이나 그 resource가 속한 단체 등을 표현할 때 사용된다.
global 태그
이벤트 로그 전체에서 공통적으로 사용되는 attribute들을 한 번에 정의한다.
trace 태그
하나의 케이스를 감싸는 태그이다. 하나의 trace 태그 안에는 하나의 case id에 속하는 trace의 이벤트들만이 포함된다.
event 태그
하나의 이벤트를 감싸는 태그이다. 해당 이벤트의 액티비티, timestamp, resource 등이 이 태그 안에 포함된다.
XES 파일의 해석
다음과 같은 파일의 일부분이 있다고 하자.
위 파일의 일부분을 보면, trace 태그가 시작되고, 그 안에 5개의 이벤트가 속해 있다. 첫 번째 이벤트의 액티비티(concept:name)은 register request이고, 이를 진행한 resource는 Mike이며, 2010년 12월 30일에 이 이벤트가 행해졌음을 알 수 있다. trace 전체를 보면, 이 trace가 <register request, check ticket, examine casually, decide, pay compensation>의 순서로 진행되었음을 알 수 있다.
이번 포스팅에서는 프로세스 마이닝의 가장 기본이 되는 파일 타입인 XES 파일이 무엇인지에 대해 간단하게 알아보았다. 사실 이 소재는 전에 쓰려고 했다가 너무 쉬운 내용을 구구절절 설명하는 것 같아 보류했었는데, 내가 시작할 때 삽질했던 경험이 있기 때문에 ㅎㅎ ( + 소재 떨어짐) 쓰게 되었다. 간단한 내용이지만 몰랐던 사람들에게는 도움이 되면 좋겠다!!
최근댓글