KR20230062318A - 확률적 인덕티브 마이너를 사용한 프로세스 트리 탐색 - Google Patents

확률적 인덕티브 마이너를 사용한 프로세스 트리 탐색 Download PDF

Info

Publication number
KR20230062318A
KR20230062318A KR1020217039301A KR20217039301A KR20230062318A KR 20230062318 A KR20230062318 A KR 20230062318A KR 1020217039301 A KR1020217039301 A KR 1020217039301A KR 20217039301 A KR20217039301 A KR 20217039301A KR 20230062318 A KR20230062318 A KR 20230062318A
Authority
KR
South Korea
Prior art keywords
event log
event
activity
sub
indirect
Prior art date
Application number
KR1020217039301A
Other languages
English (en)
Inventor
롤랜드 요하네스 쉐펜스
데니스 브론즈
더크 파랜드
Original Assignee
유아이패스, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 유아이패스, 인크. filed Critical 유아이패스, 인크.
Publication of KR20230062318A publication Critical patent/KR20230062318A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Databases & Information Systems (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

프로세스의 프로세스 트리를 생성하기 위한 시스템 및 방법이 제공된다. 프로세스의 이벤트 로그가 수신된다. 이벤트 로그에 베이스 케이스가 적용되는지의 여부를 결정하고, 베이스 케이스가 이벤트 로그에 적용된다는 결정에 응답하여, 하나 이상의 노드가 프로세스 트리에 추가된다. 베이스 케이스가 이벤트 로그에 적용되지 않는다는 결정에 응답하여, 이벤트 로그는 이벤트 로그 내의 액티비티 쌍에 대한, 직접 추종 관계(directly follows relation)의 빈도 및 엄격한 간접 추종 관계(strictly indirectly follows relation)의 빈도에 기초하여 서브 이벤트 로그로 분할되고, 프로세스 트리에 하나 이상의 노드가 추가된다. 베이스 케이스의 적용 여부를 결정하는 단계와 이벤트 로그를 분할하는 단계는 베이스 케이스가 이벤트 로그에 적용된다고 결정될 때까지 각각의 서브 이벤트 로그에 대해 각자의 서브 이벤트 로그를 이벤트 로그로서 사용하여 반복 수행된다. 프로세스 트리가 출력된다. 프로세스는 로보틱 프로세스 자동화 프로세스일 수 있다.

Description

확률적 인덕티브 마이너를 사용한 프로세스 트리 탐색
[관련 출원과의 상호 참조]
본 출원은 2020년 9월 6일에 출원한 미국 특허출원 번호 제17/013,624호에 대해 우선권을 주장하며, 이 우선권 출원의 내용은 그 전체가 본 명세서에 원용된다.
[기술 분야]
본 발명은 개괄적으로 컴퓨터 프로세스 마이닝에 관한 것이고, 보다 구체적으로는 유용하고 이해 가능하며 정확한 컴퓨터 프로세스의 프로세스 트리를 생성하기 위한, 확률적 인덕티브 마이너(probabilistic inductive miner)를 사용한 프로세스 트리 탐색에 관한 것이다.
컴퓨터 프로세스는 다양한 서비스를 제공하기 위하여 하나 이상의 컴퓨터에 의해 실행되는 액티비티들의 시퀀스이다. 프로세싱 마이닝에 있어서, 프로세스의 실행을 나타내는 프로세스 모델을 생성하기 위해 프로세스 모델 탐색 기술이 적용된다. 기존의 프로세스 모델 탐색 기술은 병렬처리(parallelism)와 같은 복잡한 거동(complex behavior)을 표현할 수 있는 형식적 프로세스 모델을 생성한다. 그러나, 기존의 프로세스 모델 탐색 기술은 다수의 애플리케이션에서 활용하기에는 너무 복잡한 프로세스 모델을 생성한다.
하나 이상의 실시형태에 따르면, 프로세스의 프로세스 트리를 생성하기 위한 시스템 및 방법이 제공된다. 프로세스의 이벤트 로그가 수신된다. 이벤트 로그에 베이스 케이스(base case)가 적용되는지의 여부를 결정하고, 베이스 케이스가 이벤트 로그에 적용된다는 결정에 응답하여, 하나 이상의 노드가 프로세스 트리에 추가된다. 베이스 케이스가 이벤트 로그에 적용되지 않는다는 결정에 응답하여, 이벤트 로그는 이벤트 로그 내의 액티비티 쌍에 대한, 직접 추종 관계(directly follows relation)의 빈도 및 엄격한 간접 추종 관계(strictly indirectly follows relation)의 빈도에 기초하여 서브 이벤트 로그로 분할되고, 프로세스 트리에 하나 이상의 노드가 추가된다. 베이스 케이스의 적용 여부를 결정하는 단계와 이벤트 로그를 분할하는 단계는 베이스 케이스가 이벤트 로그에 적용된다고 결정될 때까지 각각의 서브 이벤트 로그에 대해 각자의 서브 이벤트 로그를 상기 이벤트 로그로서 사용하여 반복 수행된다. 프로세스 트리가 출력된다. 프로세스는 로보틱 프로세스 자동화 프로세스(robotic process automation process)일 수 있다.
일 실시형태에서, 이벤트 로그는, 이벤트 로그의 직접 추종 그래프 및 이벤트 로그의 간접 추종 그래프를 생성하고, 직접 추종 그래프 및 간접 추종 그래프를 필터링하고, 필터링된 직접 추종 그래프 및 필터링된 간접 추종 그래프에 기초하여 이벤트 로그 내의 액티비트 쌍에 대한 관계 연산자의 액티비티 관계 스코어를 계산하고, 액티비티 관계 스코어에 기초하여, 1) 이벤트 로그 내의 커트 위치(cut location) 및 2) 서브 이벤트 로그 사이의 거동을 나타내는 관계 연산자 노드를 결정하고, 커트 위치에 기초하여 이벤트 로그를 서브 이벤트 로그로 분할함으로써, 분할된다.
일 실시형태에서, 직접 추종 그래프 및 간접 추종 그래프는, 이벤트 로그에서 직접 추종 관계 또는 엄격한 간접 추종 관계에 있는 액티비티 쌍을 소팅(sorting)하고, 소팅된 액티비트 쌍에서 필터 임계값에 기초하여 액티비티 쌍을 식별하고, 직접 추종 그래프 및 간접 추종 그래프에서 식별된 액티비트 쌍을 연결하는 에지를 제거함으로써 필터링된다. 필터 임계값은 사용자에 의해 정의될 수 있다.
일 실시형태에서, 커트 위치 및 관계 연산자 노드는, 액티비티 관계 스코어에 기초하여 잠재적인 커트 위치에 대한 커트 스코어를 계산하고, 커트 스코어에 기초하여, 1) 잠재적인 커트 위치 중의 커트 위치 및 2) 관계 연산자 노드를 결정함으로써, 결정된다.
일 실시형태에서, 이벤트 로그 내의 액티비티 쌍에 대한, 직접 추종 관계의 빈도 및 엄격한 간접 추종 관계의 빈도에 기초하여 이벤트 로그를 서브 이벤트 로그로 분할하고 프로세스 트리에 하나 이상의 노드를 추가하는 것은, 서브 이벤트 로그 사이의 거동을 나타내는 관계 연산자 노드 및 서브 이벤트 로그 각각에 대한 관계 연산자 노드의 차일드 노드를 추가하는 것을 포함한다.
일 실시형태에서, 이벤트 로그에 베이스 케이스가 적용되는지의 여부를 결정하고, 베이스 케이스가 이벤트 로그에 적용된다는 결정에 응답하여, 프로세스 트리에 하나 이상의 노드를 추가하는 것은, 스킵 로그 케이스(skip log case)가 이벤트 로그에 적용되는지의 여부를 결정하고, 스킵 로그 케이스가 이벤트 로그에 적용된다는 결정에 응답하여, 프로세스 트리에, 사일런트 액티비티(silent activity)를 나타내는 제1 차일드 노드 및 이벤트 로그에 대한 제2 차일드 노드와 함께 배타적 선택 노드가 추가된다.
일 실시형태에서, 프로세스 트리에 기초하여 프로세스 모델이 생성될 수 있다.
본 발명의 이들 이점 및 기타 이점은 다음의 상세한 설명 및 첨부 도면을 참조함으로써 당업자에게 명백해질 것이다.
도 1은 본 발명의 하나 이상의 실시형태에 따른 예시적인 프로세스를 보여준다.
도 2는 본 발명의 하나 이상의 실시형태에 따른, 프로세스의 프로세스 트리를 생성하기 위한 방법을 보여준다.
도 3은 본 발명의 하나 이상의 실시형태에 따른, 도 1에 도시한 프로세스의 예시적인 이벤트 로그를 보여준다.
도 4는 본 발명의 하나 이상의 실시형태에 따른, 프로세스의 실행을 나타내는 예시적인 프로세스 트리를 보여준다.
도 5는 본 발명의 하나 이상의 실시형태에 따른, 프로세스의 이벤트 로그를 서브 이벤트 로그로 분할하기 위한 방법을 보여준다.
도 6은 본 발명의 하나 이상의 실시형태에 따른, 도 1에 도시한 프로세스의 예시적인 직접 추종 그래프를 보여준다.
도 7a는 본 발명의 하나 이상의 실시형태에 따른, 도 6에 도시한 직접 추종 그래프의 필터링된 그래프를 보여준다.
도 7b는 본 발명의 하나 이상의 실시형태에 따라, 필터링된 에지가 제거된 도 7a의 필터링된 그래프를 나타내는 결과 그래프를 보여준다.
도 8은 본 발명의 하나 이상의 실시형태에 따른, 액티비티 쌍에 대한 관계 연산자를 추론하기 위한 빈도 정보의 기여도를 나타내는 도면을 보여준다.
도 9는 본 발명의 일 실시형태에 따른 컴퓨팅 시스템의 블록도이다.
컴퓨터 프로세스는 예컨대 관리용 애플리케이션(예컨대, 신입직원 온보딩), P2P용(procure-to-pay) 애플리케이션(예컨대, 구매, 청구서 관리, 급행료(facilitating payment)), 정보 기술용 애플리케이션(예컨대, 티켓팅 시스템)과 같은 다수의 상이한 애플리케이션을 위한 서비스를 제공하기 위하여 하나 이상의 컴퓨터에 의해 실행될 수 있다. 예시적인 프로세스(100)가 도 1에 도시되어 있다. 일 실시형태에서, 프로세스(100)는 하나 이상의 로보틱 프로세스 자동화(RPA, robotic process automation) 로봇을 사용하여 태스크를 자동으로 수행하기 위한 로봇 프로세스 자동화(RPA) 워크플로우로서 구현될 수 있다.
프로세스(100)는 프로세스(100)의 사전 정의된 단계들의 시퀀스를 나타내는, 액티비티 A(102), 액티비티 B(104), 액티비티 C(106), 및 액티비티 D(108)를 포함한다. 도 1에 도시하는 바와 같이, 프로세스(100)는 각 액티비티(102-108)가 노드로 표시되고 액티비티(102-108) 사이의 각 천이(transition)가 노드들을 연결하는 에지로 표시되는 방향성 그래프로 모델링된다. 액티비티 간의 천이는 소스 액티비티로부터 대상 액티비티로의 프로세스(100)의 실행을 나타낸다. 프로세스(100)의 실행은 이벤트 로그의 형태로 기록된다.
여기에 설명하는 실시형태는, 이벤트 로그에 기초하여, 예컨대, 프로세스(100)와 같은 프로세스의 실행을 나타내는 프로세스 트리를 재귀적으로 생성하기 위한 확률적 인덕티브 마이너 시스템(probabilistic inductive miner system)을 제공한다. 일 실시형태에서, 이벤트 로그는 반복적이고 재귀적으로 서브 이벤트 로그(sub-event log)로 분할된다. 각 분할에 있어서, 서브 이벤트 로그 간의, 예컨대 배타적 선택(exclusive choice), 시퀀스, 병렬, 또는 루프와 같은 거동(behavior)을 나타내는 관계 연산자 노드가 프로세스 트리에 추가된다. 액티비티 노드는 양쪽 서브 이벤트 로그 모두에 대해 관계 연산자 노드에 차일드로서 재귀적으로 추가된다. 이벤트 로그에서 분할을 찾으려고 시도하기 전에, 먼저 프로세스의 액티비티 또는 사일런트 액티비티를 나타내는 리프 노드가 추가되는 경우라면, 베이스 케이스(base case)가 적용되는지 여부가 결정된다. 이 프로세스는 각 서브 이벤트 로그에 대해 재귀적으로 수행되어 프로세스 트리에 노드의 재귀적 추가를 제공함으로써 프로세스 실행을 나타내는 프로세스 트리를 생성한다. 바람직하게는, 여기에 설명하는 실시형태에 따라 생성된 이러한 프로세스 트리는 유용하고 이해 가능하며 정확한 프로세스의 프로세스 모델(예컨대, BPMN(business process model and notation) 유사 모델)을 생성하는 데 사용될 수 있다.
도 2는 하나 이상의 실시형태에 따른, 프로세스의 프로세스 트리를 생성하기 위한 방법(200)을 보여준다. 방법(200)의 다양한 단계들은 프로세스 트리에 노드를 반복적으로 추가함으로써 프로세스 트리를 생성하도록 재귀적으로 수행된다. 방벙(200)은 도 1의 프로세스(100)를 계속 참조함으로써 설명될 것이다. 일 실시형태에서, 방법(200)의 단계들은 도 1의 프로세스(100)에 대한 프로세스 트리를 생성하도록 수행된다. 방법(200)은 예컨대 도 9의 컴퓨팅 시스템(900)과 같은, 하나 이상의 적절한 컴퓨팅 디바이스에 의해 수행될 수 있다.
단계 202에서, 프로세스의 이벤트 로그가 수신된다.
Figure pct00001
로 표시하는 이벤트 로그는 프로세스의 하나 이상의 실행 인스턴스 동안 발생하는 이벤트를 기록함으로써 프로세스의 하나 이상의 실행 인스턴스 동안 유지될 수 있다. 이벤트(event)는 특정 시간에 그리고 특정 케이스에 대한 액티비티(activity)의 실행을 나타낸다. 케이스(case)는 프로세스의 특정 실행 인스턴스에 해당하며 케이스 식별자(ID)로 식별된다. 트레이스(trace)는 어느 한 케이스에서 실행된 액티비트들의 정렬된 시퀀스(ordered sequence)를 나타낸다. 베리언트(variant)는 특정 트레이스의 발생 빈도를 나타낸다.
도 3은 하나 이상의 실시형태에 따른, 도 1의 프로세스(100)의 예시적인 이벤트 로그(300)를 보여준다. 이벤트 로그(300)는 이벤트 로그(300)에서 케이스 ID 1부터 케이스 ID 6에 해당하는, 프로세스(100)의 6개 실행 인스턴스 동안 발생하는 이벤트를 기록한다. 도 3에 도시하는 바와 같이, 이벤트 로그(300)는 이벤트에 각각 대응하는 행(302)과 이벤트의 속성을 각각 식별하는 열(304)을 갖는 테이블로서 포매팅되며, 이벤트의 속성은 행(302)과 열(304)이 교차하는 셀에 관한 것이며 헤더 행(306)에서 식별된다. 특히, 각각의 행(302)은 액티비티(102-108)의 실행을 나타내는 이벤트(열(304-B)에서 식별됨), 액티비티(102-108)의 실행의 타임 스탬프(열(304-C)에서 식별됨), 및 실행된 액티비티(102-108)의 실행 인스턴스를 식별하는 케이스 ID(열(304-A)에서 식별됨)와 연관된다. 일 실시형태에서, 열(304-C)에서 식별되는, 액티비티(102-108)의 실행의 타임 스탬프는 액티비티(102-108)의 실행이 완료된 시간을 나타내지만, 대안적으로 액티비트(104-108)가 시작된 시간을 나타낼 수도 있다. 이벤트 로그(300)는 임의의 적절한 포맷일 수 있고 이벤트의 다른 속성을 식별하는 추가 열(304)을 포함할 수 있음을 이해해야 할 것이다다.
단계 204에서, 베이스 케이스가 이벤트 로그에 적용되는지 여부가 결정된다. 베이스 케이스는 상태(condition)이며, 예컨대 단일 액티비티 케이스, 액티비티 없음 케이스, 또는 스킵 로그 케이스를 포함할 수 있다. 단일 액티비티 케이스는 이벤트 로그가 단일 액티비티만 포함하는 경우의 이벤트 로그에 적용된다. 액티비트 없음 케이스는 이벤트 로그가 어떤 액티비티도 포함하지 않는 경우의 이벤트 로그에 적용된다. 스킵 로그 케이스는, 생성된 이벤트 로그의 빈 트레이스(empty trace) 수가 이벤트 로그의 트레이스 수를 초과하는 경우 - 이것은 이벤트 로그가 실행된 것보다 더 자주 스킵되었음을 나타냄 - 의 이벤트 로그에 적용된다. 생성된 이벤트 로그의 빈 트레이스 수는 빈 거동 카운터(empty behavior counter)에 의해 추적되며 이벤트 로그의 트레이스 수에 포함되지 않는다. 베이스 케이스는 단일 액티비티 케이스, 액티비티 없음 케이스, 또는 스킵 로그 케이스로 제한되지 않음을 이해해야 할 것이다. 다른 베이스 케이스도 고려된다.
이벤트 로그에 베이스 케이스가 적용된다는 결정에 응답하여, 하나 이상의 노드가 프로세스 트리에 추가된다. 이를테면, 이벤트 로그에 단일 액티비티 케이스가 적용된다는 결정에 응답하여, 해당 액티비트를 나타내는 노드가 프로세스 트리에 추가된다. 이벤트 로그에 액티비티 없음 케이스가 적용된다는 결정에 응답하여, 사일런트 액티비티를 나타내는 리프 노드(leaf node)가 프로세스 트리에 추가된다. 사이런트 액티비티(silent activity)는 "아무것도" 일어나지 않음을 표시한다. 이벤트 로그에 스킵 로그 케이스가 적용된다는 결정에 응답하여, 프로세스 노드에, 2개의 차일드 노드와 함께 배타적 선택 연산자 노드가 추가된다. 제1 차일드 노드는 사일런트 액티비티를 나타내는 리프 노드이다. 제2 차일드 노드는, 빈 거동 카운트를 리셋하고 이벤트 로그에 베이스 케이스가 적용되는지 여부를 결정하는 단계 204로 되돌아감으로써 추가되는 이벤트 로그에 대한 노드이다.
프로세스 트리는 단계 204와 단계 206를 재귀적으로 그리고 반복해서 수행함으로써 노드별로 노드의 재귀적 추가를 가능하게 하기 위해 방법(200) 사이에 생성되는 동안, 메모리에(예컨대, 도 9의 컴퓨팅 시스템(900)의 메모리(906)에) 저장된다.
단계 206에서, 베이스 케이스가 이벤트 로그에 적용되지 않는다는 결정에 응답하여, 이벤트 로그는 이벤트 로그 내의 액티비티 쌍에 대한, 직접 추종 관계(directly follows relation)의 빈도 및 엄격한 간접 추종 관계(strictly indirectly follows relation)의 빈도에 기초하여 서브 이벤트 로그로 분할되고, 프로세스 트리에 하나 이상의 노드가 추가된다. 프로세스 트리에 추가되는 노드는, 1) 서브 이벤트 로그 사이의 거동(예컨대, 배타적 선택, 시퀀스, 병렬, 또는 루프)를 나타내는 관계 연산자 노드 및 2) 각각의 서브 이벤트 로그에 대한 차일드 노드를 포함한다. (단계 208에서) 단계 204로 재귀적으로 되돌아가서 각각의 서브 이벤트 로그에 대해 단계 204 및 단계 206를 반복함으로써, 차일드 노드의 특정 노드가 결정된다. 일 실시형태에서, 이벤트 로그는 서브 이벤트 로그로 분할되고, 후술하는 도 5의 방법(500)의 단계에 따라 관계 연산자 노드가 결정된다.
단계 208에서, 방법(200)은 단계 204로 되돌아가고 단계 204 및 단계 206는 베이스 케이스가 이벤트 로그에 적용된다고 결정될 때까지(단계 204에서) 각각의 서브 이벤트 로그에 대해 각자의 서브 이벤트 로그를 이벤트 로그로서 사용하여 반복된다. 이런 식으로, 방법(200)은 각각의 서브 이벤트 로그에 대해 프로세스 트리에 하나 이상의 노드를 재귀적으로 추가함으로써 프로세스 노드를 생성한다.
단계 210에서, 프로세스의 이벤트 트리가 출력된다. 프로세스 트리는 단계 204 및 단계 206가 모든 서브 이벤트 로그에 대해 수행되면 출력된다. 일 실시형태에서, 프로세스 트리는, 예컨대 컴퓨터 시스템의 디스플레이 디바이스 상에 프로세스 트리를 표시하거나, 컴퓨터 시스템의 메모리 또는 스토리지에 프로세스 트리를 저장하거나, 원격 컴퓨터 시스템에 프로세스 트리를 전송함으로써, 출력될 수 있다. 도 4는 하나 이상의 실시형태에 따른, 프로세스의 실행을 나타내는 예시적인 프로세스 트리(400)를 보여준다.
일부 실시형태에서, 프로세스 트리는 예컨대 공지된 기술을 사용하여 프로세스 모델로 변환될 수 있다. 프로세스 모델은, 예컨대, BPMN 모델 또는 BPMN 유사 모델일 수 있다.
도 5는 하나 이상의 실시형태에 따른, 프로세스의 이벤트 로그를 서브 이벤트 로그로 분할하기 위한 방법(500)을 보여준다. 일 실시형태에서, 방법(500)의 단계들은, 예컨대 도 1의 프로세스(100)의 이벤트 로그와 같은 이벤트 로그를 서브 이벤트 로그로 분할하고 서브 이벤트 로그 사이의 거동을 나타내는 관계 연산자 노드를 결정하기 위해 도 2의 단계 206에서 수행된다. 방법(500)은 예컨대 도 9의 컴퓨팅 시스템(900)과 같은, 하나 이상의 적절한 컴퓨팅 디바이스에 의해 수행될 수 있다.
단계 502에서, 이벤트 로그의 직접 추종 그래프(directly follows graph) 및 이벤트 로그의 간접 추종 그래프(indirectly follows graph)가 생성된다. 직접 추종 그래프는 액티비티들을 표시하는 노드 및 직접 추종 관계를 가진 액티비트들의 노드를 연결하는 에지를 포함하는 방향성 그래프이다. 간접 추종 그래프는 액티비티들을 표시하는 노드 및 엄격한 간접 추종 관계를 가진 액티비트들의 노드를 연결하는 에지를 포함하는 방향성 그래프이다. 여기에서 사용하는 용어인 직접 추종 관계는 서로 직접적으로 추종하는 액티비티들을 의미하고, 엄격한 간접 추종 관계는 서로 간접적으로는 추종하지만 서로 직접적으로는 추종하지 않는 액티비티들을 의미한다.
도 6은 하나 이상의 실시형태에 따른, 도 1의 프로세스(100)의 예시적인 직접 추종 그래프(600)를 보여준다. 직접 추종 그래프(600)는 액티비티 A(102), 액티비티 B(104), 액티비티 C(106), 및 액티비티 D(107)에 대한 노드 및 서로 직접적으로 추종하는 액티비트들의 노드를 연결하는 에지를 표시한다. 각각의 에지에는 발생 빈도를 표시하는 값이 주석으로 달린다.
단계 504에서, 직접 추종 그래프 및 간접 추종 그래프가 필터링된다. 직접 추종 그래프 및 간접 추종 그래프에서 덜 빈번한 에지와 노드를 제거하면, 더 빈번한 데이터를 유지하면서 덜 복잡한 프로세스 트리가 생성된다. 또한, 직접 추종 그래프 및 간접 추종 그래프를 필터링하면 이벤트 로그가 직접 필터링된 경우에 발생할 수 있는, 빈번한 액티비티를 포함한 덜 빈번한 베리언트의 제거를 피한다.
일 실시형태, 직접 추종 그래프 및 간접 추종 그래프는, 이벤트 로그 내의 액티비티(예시적으로 a 및 b) 쌍에 대해 직접 추종 관계(
Figure pct00002
로 표시)를 갖는 것 또는 엄격한 간접 추종 관계(
Figure pct00003
로 표시)를 갖는 것을 소팅(sorting)함으로써, 필터링된다. 액티비티 쌍은 직접 추종 그래프 및 간접 추종 그래프로부터 각각 결정되는, 이들 쌍이 직접 추종 관계 또는 간접 추종 관계를 갖는 발생 빈도(각각
Figure pct00004
Figure pct00005
로 표시)에 기초하여 소팅된다. 그런 다음 소팅된 액티비트 쌍에서 필터 임계값(f)에 기초하여 액티비티 쌍이 식별된다. 식별된 액티비트 쌍을 연결하는 에지가 직접 추종 그래프 및 간접 추종 그래프에서 제거된다. 예를 들어, 소팅된 액티비티 쌍의 상위 (100 - f)퍼센트(즉, 최저 빈도(most infrequent)의 액티비트 쌍)가 식별될 수 있고 식별된 액티비티 쌍을 연결하는 에지가 직접 추종 그래프 및 간접 추종 그래프에서 제거된다. 일 실시형태에서, 필터 임계값(f)은 사용자 입력으로부터 수신된 사용자 정의 값이다. 이러한 사용자 정의 필터 임계값(f)은 사용자가 정의하는 다양한 수준의 모델 복잡성을 허용한다. 일 실시형태에서, 직접 추종 그래프로부터 제거된 에지가 해당 그래프에 연결되지 않은 노드를 초래하는 경우, 해당 노드도 그래프로부터 제거된다.
도 7a는 하나 이상의 실시형태에 따른, 도 6의 직접 추종 그래프(600)의 필터링된 그래프(700)를 보여준다. 필터링된 그래프(700) 내의 점선 에지는 직접 추종 그래프(600)로부터 필터링된 에지를 나타낸다. 필터링은 임계값(f)이 93인 필터를 사용하여 수행되었다. 도 7b는 하나 이상의 실시형태에 따라, 필터링된 에지가 제거된 필터링된 그래프(700)를 나타내는 결과 그래프(710)를 보여준다.
단계 506에서, 필터링된 직접 추종 그래프 및 필터링된 간접 추종 그래프에 기초하여 이벤트 로그 내의 액티비티 쌍에 대한 관계 연산자의 액티비티 관계 스코어가 계산된다. 액티비티(a 및 b) 쌍에 대한 관계 연산자는 배타적 선택 관계 연산자(
Figure pct00006
로 표시), 시퀀스 관계 연산자(
Figure pct00007
로 표시), 병렬 관계 연산자(
Figure pct00008
로 표시), 루프 진입 및 루프 탈출 관계 연산자(
Figure pct00009
로 표시), 및 간접 루프 관계 연산자(
Figure pct00010
로 표시) 중 하나 이상(예컨대, 전부)을 포함할 수 있다. a 및 b에 대한 루프 진입 및 루프 탈출 관계 연산자는 a에서 b로의 루프의 진입 또는 탈출을 나타낸다. a 및 b에 대한 간접 루프 관계 연산자는 루프 내에서 a와 b 사이의 엄격한 간접 관계를 나타낸다. 다른 관계 연산자도 고려된다.
액티비티 관계 스코어는 a와 b 사이에 관계 연산자가 존재할 확률을 나타낸다. 액티비티 관계 스코어는 필터링된 직접 추종 그래프 및/또는 필터링된 간접 추종 그래프를 사용하여 결정된 a와 b 사이의 직접 추종 관계 및/또는 간접 추종 관계의 발생 빈도에 기초하여 계산된다. 도 8과 관련하여 설명하지만, 발생 빈도는 관계 연산자의 존재를 추론하는 데 사용될 수 있다.
도 8은 하나 이상의 실시형태에 따른, 액티비티(a 및 b) 쌍에 대한 관계 연산자를 추론하기 위한 빈도 정보의 기여도를 나타내는 도면(800)을 보여준다. 각 블록 802 내지 814에서, 수평선 위의 정보는 관계 연산자의 추론에 기여하는 직접 추종 관계(
Figure pct00011
로 표시) 및 엄격한 간접 추종 관계(
Figure pct00012
로 표시)를 보여주며, 수평선 아래의 정보는 관계 연산자의 추론에 기여하는 빈도 정보를 보여준다.
블록 814에 표시하는 바 같이, a와 b 사이의 배타적 선택 관계 연산자는 a와 b 사이에서 직접 추종 관계 및 엄격한 간접 추종 관계의 빈도가 상대적으로 작을 때(예를 들어, 0에 가까울 때) 추론될 수 있고, 그 반대인 b와 a 사이의 배타적 선택 관계 연산자의 그 반대인 경우도 마찬가지이다. 블록 810에 표시하는 바와 같이, a에서 b로의 시퀀스 관계 연산자는 a에서 b로의 직접 추종 관계 및 엄격한 간접 추종 관계의 빈도가 b에서 a로의 해당 빈도보다 훨씬 더 큰 경우에 추론될 수 있고, 블록 812에 표시하는 바와 같이 그 반대인 b에서 a로의 시퀀스 관계 연산자의 경우도 마찬가지이다. 블록 802에 표시하는 바와 같이, a와 b 사이의 병렬 관계 연산자는 a에서 b로의 직접 추종 관계의 빈도가 b에서 a로의 직접 추종 관계의 빈도와 대략 같을 때에 추론될 수 있다. 블록 804에 표시하는 바와 같이, a에서 b로의 루프 진입 및 루프 탈출 관계 연산자는 a에서 b로의 직접 추종 관계의 빈도가 b에서 a로의 엄격한 간접 추종 관계의 빈도와 대략 같을 때에 추론될 수 있고, 블록 806에 표시하는 바와 같이 그 반대인 b에서 a로의 루프 진입 및 루프 탈출 관계 연산자의 경우도 마찬가지이다. 블록 808에 표시하는 바와 같이, a와 b 사이의 간접 루프 관계 연산자는 a에서 b로의 엄격한 간접 추종 관계의 빈도가 b에서 a로의 엄격한 간접 추종 관계의 빈도와 대략 같을 때에 추론될 수 있다.
도 8에 도시하는 바와 같이, 관계 연산자를 추론하기 위한 빈도 정보의 기여도는, 이벤트 로그 내의 각 액티비티(a 및 b) 쌍에 대한 각 관계 연산자의 액티비티 관계 스코어를 계산하기 위한 공식을 생성하는 데 사용된다. 일 실시형태에서, 각 관계 연산자에 대한 액티비티 관계 스코어 값은 0 내지 1의 범위 내에 있다. 그러나, 액티비티 관계 스코어 값은 적절한 형식으로 표현될 수도 있다.
Figure pct00013
Figure pct00014
가 액티비티(a 및 b)의 각각의 빈도를 표시한다고 하면,
Figure pct00015
는 a에서 b로의 직접 추종 관계의 빈도를 표시하고,
Figure pct00016
는 a에서 b로의 엄격한 간접 추종 관계의 빈도를 표시한다.
a와 b 사이의 배타적 선택 관계 연산자의 액티비티 관계 스코어
Figure pct00017
는 다음과 같이 수식 (1)에 따라 계산된다:
Figure pct00018
수식 (1)
수식 (1)은 a 와 b의 빈도(즉,
Figure pct00019
Figure pct00020
)를, 필터링된 직접 추종 그래프 및 필터링된 간접 추종 그래프에서 이들이 서로 관련될 때의 빈도(즉,
Figure pct00021
)와 비교한다. 수식 (1)은 a와 b가 동일한 트레이스에서 함께 발생하지 않는 빈도를 표현하는데, 이것은 a 또는 b 중 하나만 존재해야 하며 정도에 따라 배타적 선택이어야 함을 의미한다. 액티비티 관계 스코어
Figure pct00022
는 액티비티(a 또는 b)의 빈도와 이들이 서로 관련되어 있는 빈도의 차이로 표현되며, a와 b의 평균 발생 빈도에 대해 정규화된다. a와 b가 서로 관련되어 있는 빈도가 낮을수록 액티비티 관계 스코어
Figure pct00023
는 높아지는데, 이것은 a와 b 사이에 배타적 선택 관계 연산자가 존재할 가능성이 높은 것을 나타낸다. a와 b가 서로 관련되어 있는 빈도가 높을수록 액티비티 관계 스코어
Figure pct00024
는 낮아지는데, a와 b 사이에 배타적 선택 관계 연산자가 존재할 가능성이 낮은 것을 나타낸다.
a와 b 사이의 시퀀스 관계 연산자에 대한 액티비티 관계 스코어
Figure pct00025
는 다음과 같이 수식 (2)에 따라 계산된다:
Figure pct00026
수식 (2)
수식 (2)는 일방향의 관계(즉,
Figure pct00027
)를 타방향의 관계(즉,
Figure pct00028
)와 비교하며, 이들의 조합 빈도(즉,
Figure pct00029
)에 대해 양을 정규화한다. 제1 방향(즉, a에서 b)이 우세하면, 액티비티 관계 스코어
Figure pct00030
는 0과 1 사이일 것이다. 다른 방향(즉, b에서 a)이 우세하면, 액티비티 관계 스코어
Figure pct00031
는 -1과 0 사이일 것이다. 수식 (2)는 임의의 액티비티(a와 b)에 대해,
Figure pct00032
라는 특성을 갖는다. 이 특성은 1회의 계산으로
Figure pct00033
Figure pct00034
둘 다를 계산하는 데 사용된다. 액티비티 관계 스코어
Figure pct00035
를 0 내지 1의 범위로 두기 위해, 음수 스코어는 0으로 반올림된다.
a와 b 사이의 병렬 관계 연산자에 대한 액티비티 관계 스코어
Figure pct00036
는 다음과 같이 수식 (3)에 따라 계산된다:
Figure pct00037
수식 (3)
수식 (3)은 a와 b 사이의 직접 관계들을 비교한다. 값
Figure pct00038
Figure pct00039
이 가까울수록, a와 b가 병렬 관계일 가능성이 높아지고 액티비티 관계 스코어
Figure pct00040
도 높아진다.
Figure pct00041
Figure pct00042
에 대한 양쪽 값이 대략 같은 값이면, 액티비티 관계 스코어
Figure pct00043
는 1에 가깝다.
Figure pct00044
Figure pct00045
의 값이 서로 다르면, 스코어를 0 내지 1의 범위 내에 두기 위해
Figure pct00046
Figure pct00047
중 최소값이 액티비티 관계 스코어
Figure pct00048
를 결정한다.
a와 b 사이의 루프 진입 및 루프 탈출 관계에 대한 액티비티 관계 스코어
Figure pct00049
및 a와 b 사이의 간접 루프 관계에 대한 액티비티 관계 스코어
Figure pct00050
는 다음과 같이 각각 수식 (4) 및 수식 (5)에 따라 계산된다:
Figure pct00051
수식 (4)
Figure pct00052
수식 (5)
수식 (4)는 루프의 재실행(redo) 부분의 식별을 가능하게 하며, 여기서 루프는 반복의 종료 시의 액티비티 a에서 다음 반복의 시작 시의 액티비티 b로 반복된다. 수식 (5)는 루프 내에서 엄격한 간접 관계의 액티비티들의 식별을 가능하게 한다. 이러한 루핑 거동의 표기법(notation)은 단일 휴리스틱으로 집계될 수 없으므로 별도로 평가된다. 수식 (4)에서, 루프의 재실행 부분에 진입하는 빈도는
Figure pct00053
로 표현된다. b가
Figure pct00054
회 실행되는 재실행 액티비티이면, 재실행 액티비티 b에서 액티비티 a로 돌아가는 경로는 유사한 빈도로 재실행 본체
Figure pct00055
에서 예상된다. 이것은 a와 b가 루프 진입 및 루프 탈출 관계에 있는 것을 나타낸다. 루프의 재실행 부분을 탈출하는 것은
Figure pct00056
를 고려하여 유사한 방식으로 평가될 수 있는데, 여기서 a와 b가 수식 (4)에서 전환된다. 루프 본체 및 루프의 재실행 부분에는 다수의 액티비티가 있을 수 있다. 루프 진입 및 루프 탈출 관계
Figure pct00057
는 루프 본체 내의 액티비트 a가 재실행 부분 내의 액티비티 b 바로 앞에 있는 것을 나타내지만, 루프 본체 내 또는 재실행 부분 내의 모든 액티비티에 해당하는 것은 아니다. 수식 (5)는 간접 루프 내의 액티비트들의 평가를 제공한다. 간접 루프에서, a와 b는 서로 엄격하게 간접 추종하고(즉,
Figure pct00058
) 그리고 엄격하게 간접 선행하며(즉,
Figure pct00059
), 이것이 루프 구조이기 때문에, 빈도는 유사할 것으로 예상된다.
도 5를 참조하면, 단계 508에서, 액티비티 관계 스코어에 기초하여 이벤트 로그 내의 커트 위치(cut location) 및 관계 연산자 노드가 결정된다. 커트 위치는 이벤트 로그(Σ)를 서브 이벤트 로그(Σ1 및 Σ2)로 분할한다. 관계 연산자 노드는 서브 이벤트 로그들 사이의 거동을 나타내며, 예컨대 배타적 선택, 시퀀스, 병렬, 또는 루프를 포함할 수 있다. 커트 위치는 각각의 관계 연산자(즉, 배타적 선택 관계 연산자, 시퀀스 관계 연산자, 병렬 관계 연산자, 루프 진입 및 루프 탈출 관계 연산자, 및 간접 루프 관계 연산자)에 대한 누적된 액티비티 관계 스코어에 기초하여 이벤트 로그(Σ) 내의 모든 잠재적 커트 위치를 평가함으로써 결정된다. 일 실시형태에서, 이벤트 로그(Σ) 내의 각각의 관계 연산자에 대해 그리고 각각의 잠재적 커트 위치에 대해 커트 스코어가 계산된다. 잠재적 커트 위치는 이벤트 로그 내의 각 액티비티 쌍 사이의 천이를 포함한다. 커트 위치 및 관계 연산자 노드는 커트 스코어에 기초하여 결정된다.
커트 스코어는 먼저 특정 관계 연산자에 대한 누적 스코어를 결정함으로써 계산된다. 배타적 선택 관계 연산자, 시퀀스 관계 연산자, 및 병렬 관계 연산자에 대한 누적 스코어는, 각각의 잠재적 커트 위치에 대해 잠재적인 서브 이벤트 로그(Σ1 및 Σ2) 내의 각각의 액티비트 쌍에 대한 평균 액티비티 관계 스코어를 계산함으로써 결정된다.
Figure pct00060
Figure pct00061
인 커트라고 하기로 한다. 그러면
Figure pct00062
는 다음과 같이 커트(c)의 누적 스코어를 표시한다.
Figure pct00063
수식 (6)
일례로, 커트
Figure pct00064
에 대한 누적 스코어는 액티비티 관계 스코어
Figure pct00065
,
Figure pct00066
,
Figure pct00067
, 및
Figure pct00068
에 대한 평균이다.
루핑 거동에 대한 누적 스코어는 루프 진입 및 루프 탈출 관계 연산자 및 간접 루프 관계 연산자에 대한 액티비티 관계 스코어의 조합에 기초한다. 루핑 거동은 3부분을 포함한다: redostart 부분, redoend 부분, 및 간접(indirect) 부분. 루프의 본체에서 탈출할 때에 루프의 재실행 부분에 진입하는데, 이것은 루프의 반복을 나타낸다. 루프의 redostart 부분은, redostart 부분의 제1 액티비티가 본체의 최종 액티비티이고 redostart 부분의 제2 액티비티가 재실행 부분의 제1 액티비티인 액티비티 쌍의 집합(collection)을 나타낸다. 재실행 부분이 끝나면, 본체가 또 반복된다. 루프의 redoend 부분은 redoend 부분의 제1 액티비티가 재실행 부분의 최종 액티비티이고 제2 액티비티가 본체의 제1 액티비티인 액티비티 쌍의 집합을 나타낸다. 루프의 간접 부분은 redostart 부분 또는 redoend 부분에 없는 루프의 액티비티 쌍을 나타낸다. 간접 부분 내의 액티비티 쌍은 서로 엄격한 간접으로 추종한다. 루프에 대한 누적 스코어
Figure pct00069
는 다음과 같으며, 여기서 재실행 시작 액티비티는 S2로 표시되고, 재실행 종료 액티비티는 E2로 표시되며,
Figure pct00070
이다:
Figure pct00071
수식 (7)
여기서:
Figure pct00072
수식 (8)
Figure pct00073
수식 (9)
Figure pct00074
수식 (10)
액티비티 쌍의 수는 다음과 같이 결정된다:
Figure pct00075
수식 (11)
Figure pct00076
수식 (12)
Figure pct00077
수식 (13)
루프에 대한 누적 스코어
Figure pct00078
가 스코어의 평균화와 유사하지만, 모든 경우가 그렇지는 않다.
Figure pct00079
내의 쌍의 수는
Figure pct00080
에서 합산되는 액티비티 관계 스코어의 수와 반드시 같을 필요는 없으므로,
Figure pct00081
로 나눈 것이 실제 평균이 아니다.
Figure pct00082
로 표시되는 사일런트 루프는 제로의 재실행 사이즈(redo size)를 갖는다. 제로의 재실행 사이즈란 루프의 재실행 부분(루프 본체가 반복되기 위해 실행되어야 함)이 어떤 액티비티도 포함하지 않는 루프를 의미한다. 이벤트 로그(Σ)에 대한 사일런트 루프의 누적 스코어
Figure pct00083
는 다음과 같다:
Figure pct00084
수식 (14)
누적 스코어가 항상 올바른 관계 연산자를 정확하게 식별하는 것은 아니다. 따라서, 일 실시형태에 있어서, 누적 스코어는 커트 스코어를 결정하기 위해 수정된다.
배타적 선택 관계 연산자 및 시퀀스 관계 연산자의 경우, 다른 관계 연산자에 비해 액티비티 관계 스코어가 높은 경향이 있다. 이것을 해결하기 위해, 배타적 선택 관계 연산자 및 시퀀스 관계 연산자에 대한 액티비티 관계 스코어의 표준 편차를 활용하여, 외관상 범위 밖의(seemingly outlying) 액티비티 관계 스코어에 가중치를 부여한다. 표준 편차에 의해 일련의 스코어, 그리고 더 나아가 범위 밖의 스코어 값에서 높은 분산을 검출할 수 있다. 표준 편차가 높을수록 스코어 세트의 분산이 더 커진다. 누적 스코어에서 표준 편차를 차감함으로써 표준 편차가 적용된다.
Figure pct00085
인 커트
Figure pct00086
에 대한 배타적 선택 관계 연산자 및 시퀀스 관계 연산자의 수정된 관계 스코어
Figure pct00087
는 다음과 같다:
Figure pct00088
수식 (15)
여기서
Figure pct00089
는 배타적 선택 관계 연산자 및 시퀀스 관계 연산자에 대한 누적 스코어이고(수식 (6)),
Figure pct00090
는 값 S의 다중 세트의 표준 편차를 표시한다.
병렬 관계 연산자 및 루프 연산자는 액티비티 관계 레벨에서 유사하다. 병렬 관계 연산자 및 루프 연산자에 대한 액티비티 관계 스코어는 거의 동일한 빈도로 양방향으로 서로 추종하는 액티비티들에 의존한다. 따라서, 병렬 관계 연산자와 루프 연산자를 구별하기가 어렵다. 병렬 및 루프 거동을 더 잘 구별하기 위해, 트레이스당 여러 번 발생하는 액티비티가 루핑 거동의 증거이기 때문에, 누적 스코어는 트레이스당 여러 번 발생하는 액티비티에 기초하여 수정된다. 병렬 거동의 가능성을 평가하는 수정자(modpara) 및 루핑 거동의 가능성을 평가하는 수정자(modloop)는 다음과 같이 트레이스 수를 액티비티의 평균 빈도와 비교하여 정의된다:
Figure pct00091
수식 (16)
Figure pct00092
수식 (17)
여기서 L은 이벤트 로그 내의 트레이스의 집합을 표시하고, |L|는 이벤트 로그 내의 트레이스 수를 표시하며, ∥L∥는 이벤트 로그 내의 총 이벤트 수를 표시하고, Σ는 이벤트 로그 내의 모든 고유 액티비티들을 표시하고, |Σ|는 고유 이벤트의 수를 표시한다.
병렬 관계 연산자의 커트
Figure pct00093
에 대한 수정된 누적 스코어
Figure pct00094
는 다음과 같다:
Figure pct00095
수식 (18)
루프 연산자의 커트
Figure pct00096
에 대한 수정된 누적 스코어
Figure pct00097
는 다음과 같다:
Figure pct00098
수식 (19)
사일런트 루프 오버
Figure pct00099
에 대한 수정된 누적 스코어
Figure pct00100
는 다음과 같다:
Figure pct00101
수식 (20)
수식 (16)에서, 수정자(modpara)는 트레이스(|L|)당 액티비티가 평균적으로 발생하는 횟수
Figure pct00102
의 척도이다. 트레이스에서 액티비티의 반복이 많을수록 modpara은 더 낮아진다. modpara는 트레이스당 1회 미만으로 발생하는 액티비티 그 자체는 병렬 거동의 증거가 되지 못하기 때문에 최대 1로 제한된다.
누적 스코어는 모두 [0,1] 범위 내에 있으므로 수정된 누적 스코어를 비교하는 것이 가능하다. 누적 스코어의 수정으로 이 특성이 더 이상 유지되지 않는다. 그러나, 수정된 누적 스코어에 대해 더 이상의 계산이나 수정이 수행되지 않으므로, [0,1] 범위를 초과하는 수정된 누적 스코어는 영향을 미치지 않는다.
커트 스코어에 기초하여 잠재적 커트 위치로부터 커트 위치 및 관계 연산자 노드가 결정된다. 일 실시형태에서, 커트 위치 및 관계 연산자 노드는 가장 높은 커트 스코어를 갖는 특정 관계 연산자에 대한 잠재적 커트 위치로서 결정된다.
단계 510에서, 커트 위치에 기초하여 이벤트 로그가 서브 이벤트 로그로 분할된다. 이벤트 로그를 분할하기 위해 이벤트 로그의 트레이스는 커트 위치에 따라 분할된다. 일 실시형태에서, 커트 위치에 적합하지 않는 트레이스는 빈 트레이스로 간주된다. 빈 트레이스의 수는 빈 거동 카운터에 의해 추적된다. 빈 거동 카운터는 로그 분할 동안 증분되고 (도 2의 단계 204에서) 스킵 로그 베이스 케이스 동안 이벤트 로그가 재귀될 때 재설정된다.
도 9는 본 발명의 일 실시형태에 따른, 도 2 및 5를 포함한 여기에 설명한 방법, 워크플로우, 및 프로세스를 실행하도록 구성된 컴퓨팅 시스템(900)을 도시하는 블록도이다. 일부 실시형태에서, 컴퓨팅 시스템(900)은 여기에 도시 및/또는 설명한 컴퓨팅 시스템 중 하나 이상일 수 있다. 컴퓨팅 시스템(900)은 정보를 통신하기 위한 버스(902) 또는 기타 통신 메커니즘, 및 정보를 처리하기 위해 버스(902)에 연결된 프로세서(904)를 포함한다. 프로세서(904)는 CPU(Central Processing Unit), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), GPU(Graphics Processing Unit), 이들의 다수의 인스턴스, 및/또는 이들의 조합을 포함한 임의 유형의 범용 또는 특정 목적 프로세서일 수 있다. 프로세서(904)는 또한 다중 프로세싱 코어를 가질 수 있고, 이들 코어의 적어도 일부는 특정 기능을 수행하도록 구성될 수 있다. 일부 실시형태에서는 다중 병렬 프로세싱도 사용될 수 있다.
컴퓨팅 시스템(900)은 프로세서(904)에 의해 실행될 정보 및 명령어를 저장하기 위한 메모리(906)를 더 포함한다. 메모리(906)는 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM), 플래시 메모리, 캐시, 자기적/광학적 디스크와 같은 스태틱 스토리지, 또는 임의의 다른 유형의 비일시적 컴퓨터 판독 가능 매체 또는 이들의 조합 중 임의의 조합으로 구성될 수도 있다. 비일시적 컴퓨터 판독 가능 매체는 프로세서(904)에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있고 휘발성 매체, 비휘발성 매체, 또는 둘 다를 포함할 수 있다. 매체는 또한 이동식, 비이동식, 또는 둘 다일 수도 있다.
추가적으로, 컴퓨팅 시스템(900)은 현재 존재하거나 미래에 구현될 통신 표준 및/또는 프로토콜에 따라 무선 및/또는 유선 접속을 통해 통신 네트워크에 대한 액세스를 제공하기 위해 트랜시버와 같은 통신 장치(908)를 포함한다.
프로세서(904)는 또한 버스(902)를 통해, 사용자에게 정보를 표시하기에 적합한 디스플레이(910)에 연결된다. 디스플레이(910)는 또한 터치 디스플레이 및/또는 임의의 적절한 햅틱 I/O 디바이스로서 구성될 수 있다.
사용자가 컴퓨팅 시스템과 인터페이싱하는 것을 가능하게 하도록 컴퓨터 마우스, 터치패드 등과 같은 키보드(912) 및 커서 제어 디바이스(914)가 또한 버스(902)에 연결된다. 그러나, 특정 실시형태에서, 물리적 키보드 및 마우스가 존재하지 않을 수 있고, 사용자는 디스플레이(910) 및/또는 터치패드(도시 생략)를 통해서만 디바이스와 인터랙션할 수도 있다. 설계 선택 사항으로서 모든 유형 및 조합의 입력 디바이스가 사용될 수 있다. 특정 실시형태에서는, 물리적 입력 디바이스 및/또는 디스플레이가 존재하지 않는다. 예를 들어, 사용자는 통신하는 다른 컴퓨팅 시스템을 통해 원격으로 컴퓨팅 시스템(900)과 인터랙션할 수 있거나, 컴퓨팅 시스템(900)은 자율적으로 작동할 수 있다.
메모리(906)는 프로세서(904)에 의해 실행될 때 기능성을 제공하는 소프트웨어 모듈을 저장한다. 모듈은 컴퓨팅 시스템(900)을 위한 운영 체제(916) 및 여기에 설명한 프로세스의 전부 또는 일부 또는 그 파생물을 수행하도록 구성된 하나 이상의 추가 기능 모듈(918)을 포함한다.
당업자는, "시스템"이 본 발명의 범위를 벗어나지 않으면서, 서버, 임베디드 컴퓨팅 시스템, 퍼스널 컴퓨터, 콘솔, 퍼스널 디지털 어시스턴트(PDA), 휴대 전화, 태블릿 컴퓨팅 디바이스, 양자 컴퓨팅 시스템, 임의의 기타 적절한 컴퓨팅 디바이스, 또는 디바이스의 조합으로서 구현될 수 있는 것을 알 것이다. 전술한 기능을 "시스템"에 의해 수행되는 것으로 제시하는 것은 본 발명의 범위를 어떤 식으로든 제한하는 것으로 의도되지 않고, 본 발명의 많은 실시형태의 일례를 제공하는 것이 의도된다. 실제로, 여기에 개시한 방법, 시스템 및 장치는 클라우드 컴퓨팅 시스템을 포함한 컴퓨팅 기술과 부합하는 국부화 및 분산화된 형태로 구현될 수 있다.
본 명세서에서 설명한 시스템 특징 중 일부는 그 구현 독립성을 보다 구체적으로 강조하기 위해 모듈로 제시되었다는 점을 알아야 한다. 예를 들어, 모듈은 맞춤형 VLSI(Very Large Scale Integration) 회로 또는 게이트 어레이, 로직 칩, 트랜지스터 또는 기타 개별 컴포넌트와 같은 기성품 반도체를 포함하는 하드웨어 회로로 구현될 수 있다. 모듈은 또한 필드 프로그래머블 게이트 어레이, 프로그래머블 어레이 로직, 프로그래머블 로직 디바이스, 그래픽 프로세싱 유닛 등과 같은 프로그래머블 하드웨어 디바이스로 구현될 수 있다. 모듈은 또한 다양한 유형의 프로세서에 의한 실행을 위해 적어도 부분적으로 소프트웨어로 구현될 수도 있다. 실행 코드의 식별된 단위는 예를 들어 오브젝트, 프로시저, 또는 펑션으로 구성될 수 있는 컴퓨터 명령어의 하나 이상의 물리적 또는 논리적 블록을 포함할 수 있다. 그렇지만, 식별된 모듈의 실행 파일은 물리적으로 병치될 필요는 없지만, 논리적으로 함께 결합될 때 모듈을 구성하고 모듈에 대해 명시된 목적을 달성하는 상이한 위치에 저장된 상이한 명령어를 포함할 수도 있다. 또한, 모듈은 컴퓨터 판독 가능 매체에 저장될 수 있으며, 이는 예컨대 하드 디스크 드라이브, 플래시 디바이스, RAM, 테이프, 및/또는 본 발명의 범위에서 벗어나지 않고서 데이터를 저장하는 데 사용되는 임의의 기타 비일시적 컴퓨터 판독 가능 매체일 수 있다. 실제로, 실행 코드의 모듈은 단일 명령어 또는 다수의 명령어일 수 있으며, 여러 상이한 코드 세그먼트에 걸쳐, 상이한 프로그램 사이에서, 그리고 여러 메모리 디바이스에 걸쳐 배포될 수도 있다. 마찬가지로, 운용 데이터는 여기서는 모듈 내에서 식별되는 것으로서 예시되지만, 임의의 적절한 형태로 구현되고 임의의 적절한 유형의 데이터 구조 내에서 구성될 수도 있다. 운용 데이터는 단일 데이터 세트로서 수집될 수 있거나, 다른 저장 디바이스를 포함하여 다른 위치에 분산될 수 있으며, 적어도 부분적으로는 시스템 또는 네트워크에서 전자 신호로만 존재할 수 있다.
이상은 본 개시내용의 원리를 예시한 것에 불과하다. 그러므로 당업자라면 여기서 명시적으로 기술되거나 도시되지는 않았지만 본 개시내용의 원리를 구현하고 그 사상 및 범위 내에 포함되는 다양한 배열을 고안할 수 있음이 이해될 것이다. 또한, 여기서 언급한 모든 예 및 조건부 언어는 원칙적으로 독자가 본 개시내용의 원리 및 발명자가 기술의 발전에 기여한 개념을 이해하는 데 도움을 주기 위한 교육적 목적만을 위한 것이며, 이러한 구체적으로 언급된 예 및 조건에 제한되지 않고서 해석되어야 할 것이다. 더욱이, 본 개시내용의 원리, 양태, 및 실시양태를 언급하는 본원의 모든 진술은 물론 그 특정 예는 해당 구조적 및 기능적 등가물을 모두 포함하는 것이 의도된다. 또한, 그러한 등가물은 현재 알려진 등가물 및 미래에 개발되는 등가물 모두를 포함하는 것이 의도된다.

Claims (20)

  1. 프로세스의 프로세스 트리를 생성하기 위한 컴퓨터 구현 방법(computer implemented method)에 있어서,
    프로세스의 이벤트 로그를 수신하는 단계;
    상기 이벤트 로그에 베이스 케이스(base case)가 적용되는지의 여부를 결정하고, 상기 베이스 케이스가 상기 이벤트 로그에 적용된다는 결정에 응답하여, 프로세스 트리에 하나 이상의 노드를 추가하는 단계;
    상기 베이스 케이스가 상기 이벤트 로그에 적용되지 않는다는 결정에 응답하여, 상기 이벤트 로그 내의 액티비티 쌍에 대한, 직접 추종 관계(directly follows relation)의 빈도 및 엄격한 간접 추종 관계(strictly indirectly follows relation)의 빈도에 기초하여 상기 이벤트 로그를 서브 이벤트 로그(sub-event log)로 분할하고, 상기 프로세스 트리에 하나 이상의 노드를 추가하는 단계;
    상기 베이스 케이스가 상기 이벤트 로그에 적용된다고 결정될 때까지 각각의 서브 이벤트 로그에 대해 각자의 서브 이벤트 로그를 상기 이벤트 로그로서 사용하여 상기 결정 및 상기 분할을 반복하는 단계; 및
    상기 프로세스 트리를 출력하는 단계
    를 포함하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서, 상기 이벤트 로그 내의 액티비티 쌍에 대한, 직접 추종 관계의 빈도 및 엄격한 간접 추종 관계의 빈도에 기초하여 상기 이벤트 로그를 서브 이벤트 로그로 분할하고, 상기 프로세스 트리에 하나 이상의 노드를 추가하는 단계는:
    상기 이벤트 로그의 직접 추종 그래프(directly follows graph) 및 상기 이벤트 로그의 간접 추종 그래프(indirectly follows graph)를 생성하는 단계;
    상기 직접 추종 그래프 및 상기 간접 추종 그래프를 필터링하는 단계;
    상기 필터링된 직접 추종 그래프 및 상기 필터링된 간접 추종 그래프에 기초하여 상기 이벤트 로그 내의 액티비티 쌍에 대한 관계 연산자의 액티비티 관계 스코어를 계산하는 단계;
    상기 액티비티 관계 스코어에 기초하여, 1) 상기 이벤트 로그 내의 커트 위치(cut location) 및 2) 상기 서브 이벤트 로그 사이의 거동(behavior)을 나타내는 관계 연산자 노드를 결정하는 단계; 및
    상기 커트 위치에 기초하여 상기 이벤트 로그를 서브 이벤트 로그로 분할하는 단계를 포함하는, 컴퓨터 구현 방법.
  3. 제2항에 있어서, 상기 직접 추종 그래프 및 상기 간접 추종 그래프를 필터링하는 단계는:
    상기 이벤트 로그에서 상기 직접 추종 관계 또는 엄격한 간접 추종 관계에 있는 액티비티 쌍을 소팅(sorting)하는 단계;
    상기 소팅된 액티비트 쌍에서 필터 임계값에 기초하여 액티비티 쌍을 식별하는 단계; 및
    상기 직접 추종 그래프 및 상기 간접 추종 그래프에서 상기 식별된 액티비트 쌍을 연결하는 에지를 제거하는 단계를 포함하는, 컴퓨터 구현 방법.
  4. 제3항에 있어서, 상기 필터 임계값은 사용자에 의해 정의되는, 컴퓨터 구현 방법.
  5. 제2항에 있어서, 상기 액티비티 관계 스코어에 기초하여, 1) 상기 이벤트 로그 내의 커트 위치 및 2) 상기 서브 이벤트 로그 사이의 거동을 나타내는 관계 연산자 노드를 결정하는 단계는:
    상기 액티비티 관계 스코어에 기초하여 잠재적 커트 위치에 대한 커트 스코어를 계산하는 단계; 및
    상기 커트 스코어에 기초하여, 1) 상기 잠재적 커트 위치 중의 상기 커트 위치 및 2) 상기 관계 연산자 노드를 결정하는 단계를 포함하는, 컴퓨터 구현 방법.
  6. 제1항에 있어서, 상기 이벤트 로그 내의 액티비티 쌍에 대한, 직접 추종 관계의 빈도 및 엄격한 간접 추종 관계의 빈도에 기초하여 상기 이벤트 로그를 서브 이벤트 로그로 분할하고, 상기 프로세스 트리에 하나 이상의 노드를 추가하는 단계는:
    상기 서브 이벤트 로그 사이의 거동을 나타내는 관계 연산자 노드 및 상기 서브 이벤트 로그 각각에 대한 상기 관계 연산자 노드의 차일드 노드를 추가하는 단계를 포함하는, 컴퓨터 구현 방법.
  7. 제1항에 있어서, 상기 이벤트 로그에 베이스 케이스가 적용되는지의 여부를 결정하고, 상기 베이스 케이스가 상기 이벤트 로그에 적용된다는 결정에 응답하여, 프로세스 트리에 하나 이상의 노드를 추가하는 단계는:
    상기 이벤트 로그에 스킵 로그 케이스(skip log case)가 적용된다고 결정하는 단계; 및
    상기 스킵 로그 케이스가 상기 이벤트 로그에 적용된다는 결정에 응답하여, 사일런트 액티비티(silent activity)를 나타내는 제1 차일드 노드 및 상기 이벤트 로그에 대한 제2 차일드 노드와 함께 배타적 선택 노드를 상기 프로세스 트리에 추가하는 단계를 포함하는, 컴퓨터 구현 방법.
  8. 제1항에 있어서,
    상기 프로세스 트리에 기초하여 프로세스 모델을 생성하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  9. 제1항에 있어서, 상기 프로세스는 로보틱 프로세스 자동화 프로세스인, 컴퓨터 구현 방법.
  10. 장치에 있어서,
    프로세스의 프로세스 트리를 생성하기 위한 컴퓨터 명령어를 저장한 메모리; 및
    상기 컴퓨터 명령어를 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 컴퓨터 명령어는 상기 적어도 하나의 프로세서로 하여금:
    프로세스의 이벤트 로그를 수신하는 동작;
    상기 이벤트 로그에 베이스 케이스가 적용되는지의 여부를 결정하고, 상기 베이스 케이스가 상기 이벤트 로그에 적용된다는 결정에 응답하여, 프로세스 트리에 하나 이상의 노드를 추가하는 동작;
    상기 베이스 케이스가 상기 이벤트 로그에 적용되지 않는다는 결정에 응답하여, 상기 이벤트 로그 내의 액티비티 쌍에 대한, 직접 추종 관계의 빈도 및 엄격한 간접 추종 관계의 빈도에 기초하여 상기 이벤트 로그를 서브 이벤트 로그로 분할하고, 상기 프로세스 트리에 하나 이상의 노드를 추가하는 동작;
    상기 베이스 케이스가 상기 이벤트 로그에 적용된다고 결정될 때까지 각각의 서브 이벤트 로그에 대해 각자의 서브 이벤트 로그를 상기 이벤트 로그로서 사용하여 상기 결정 및 상기 분할을 반복하는 동작; 및
    상기 프로세스 트리를 출력하는 동작
    을 수행하게 하도록 구성되는, 장치.
  11. 제10항에 있어서, 상기 이벤트 로그 내의 액티비티 쌍에 대한, 직접 추종 관계의 빈도 및 엄격한 간접 추종 관계의 빈도에 기초하여 상기 이벤트 로그를 서브 이벤트 로그로 분할하고, 상기 프로세스 트리에 하나 이상의 노드를 추가하는 동작은:
    상기 이벤트 로그의 직접 추종 그래프 및 상기 이벤트 로그의 간접 추종 그래프를 생성하는 동작;
    상기 직접 추종 그래프 및 상기 간접 추종 그래프를 필터링하는 동작;
    상기 필터링된 직접 추종 그래프 및 상기 필터링된 간접 추종 그래프에 기초하여 상기 이벤트 로그 내의 액티비티 쌍에 대한 관계 연산자의 액티비티 관계 스코어를 계산하는 동작;
    상기 액티비티 관계 스코어에 기초하여, 1) 상기 이벤트 로그 내의 커트 위치 및 2) 상기 서브 이벤트 로그 사이의 거동을 나타내는 관계 연산자 노드를 결정하는 동작; 및
    상기 커트 위치에 기초하여 상기 이벤트 로그를 서브 이벤트 로그로 분할하는 동작을 포함하는, 장치.
  12. 제11항에 있어서, 상기 직접 추종 그래프 및 상기 간접 추종 그래프를 필터링하는 동작은:
    상기 이벤트 로그에서 상기 직접 추종 관계 또는 엄격한 간접 추종 관계에 있는 액티비티 쌍을 소팅하는 동작;
    상기 소팅된 액티비트 쌍에서 필터 임계값에 기초하여 액티비티 쌍을 식별하는 동작; 및
    상기 직접 추종 그래프 및 상기 간접 추종 그래프에서 상기 식별된 액티비트 쌍을 연결하는 에지를 제거하는 동작을 포함하는, 장치.
  13. 제12항에 있어서, 상기 필터 임계값은 사용자에 의해 정의되는, 장치.
  14. 제11항에 있어서, 상기 액티비티 관계 스코어에 기초하여, 1) 상기 이벤트 로그 내의 커트 위치 및 2) 상기 서브 이벤트 로그 사이의 거동을 나타내는 관계 연산자 노드를 결정하는 동작은:
    상기 액티비티 관계 스코어에 기초하여 잠재적 커트 위치에 대한 커트 스코어를 계산하는 동작; 및
    상기 커트 스코어에 기초하여, 1) 상기 잠재적 커트 위치 중의 상기 커트 위치 및 2) 상기 관계 연산자 노드를 결정하는 동작을 포함하는, 장치.
  15. 프로세스의 프로세스 트리를 생성하기 위한, 비일시적 컴퓨터 판독 가능 매체 상에 수록된 컴퓨터 프로그램에 있어서, 상기 컴퓨터 프로그램은 적어도 하나의 프로세서로 하여금:
    프로세스의 이벤트 로그를 수신하는 동작;
    상기 이벤트 로그에 베이스 케이스가 적용되는지의 여부를 결정하고, 상기 베이스 케이스가 상기 이벤트 로그에 적용된다는 결정에 응답하여, 프로세스 트리에 하나 이상의 노드를 추가하는 동작;
    상기 베이스 케이스가 상기 이벤트 로그에 적용되지 않는다는 결정에 응답하여, 상기 이벤트 로그 내의 액티비티 쌍에 대한, 직접 추종 관계의 빈도 및 엄격한 간접 추종 관계의 빈도에 기초하여 상기 이벤트 로그를 서브 이벤트 로그로 분할하고, 상기 프로세스 트리에 하나 이상의 노드를 추가하는 동작;
    상기 베이스 케이스가 상기 이벤트 로그에 적용된다고 결정될 때까지 각각의 서브 이벤트 로그에 대해 각자의 서브 이벤트 로그를 상기 이벤트 로그로서 사용하여 상기 결정 및 상기 분할을 반복하는 동작; 및
    상기 프로세스 트리를 출력하는 동작
    을 포함한 동작들을 수행하게 하도록 구성되는, 컴퓨터 프로그램.
  16. 제15항에 있어서, 상기 이벤트 로그 내의 액티비티 쌍에 대한, 직접 추종 관계의 빈도 및 엄격한 간접 추종 관계의 빈도에 기초하여 상기 이벤트 로그를 서브 이벤트 로그로 분할하고, 상기 프로세스 트리에 하나 이상의 노드를 추가하는 동작은:
    상기 이벤트 로그의 직접 추종 그래프 및 상기 이벤트 로그의 간접 추종 그래프를 생성하는 동작;
    상기 직접 추종 그래프 및 상기 간접 추종 그래프를 필터링하는 동작;
    상기 필터링된 직접 추종 그래프 및 상기 필터링된 간접 추종 그래프에 기초하여 상기 이벤트 로그 내의 액티비티 쌍에 대한 관계 연산자의 액티비티 관계 스코어를 계산하는 동작;
    상기 액티비티 관계 스코어에 기초하여, 1) 상기 이벤트 로그 내의 커트 위치 및 2) 상기 서브 이벤트 로그 사이의 거동을 나타내는 관계 연산자 노드를 결정하는 동작; 및
    상기 커트 위치에 기초하여 상기 이벤트 로그를 서브 이벤트 로그로 분할하는 동작을 포함하는, 컴퓨터 프로그램.
  17. 제15항에 있어서, 상기 이벤트 로그 내의 액티비티 쌍에 대한, 직접 추종 관계의 빈도 및 엄격한 간접 추종 관계의 빈도에 기초하여 상기 이벤트 로그를 서브 이벤트 로그로 분할하고, 상기 프로세스 트리에 하나 이상의 노드를 추가하는 동작은:
    상기 서브 이벤트 로그 사이의 거동을 나타내는 관계 연산자 노드 및 상기 서브 이벤트 로그 각각에 대한 상기 관계 연산자 노드의 차일드 노드를 추가하는 단계를 포함하는, 컴퓨터 프로그램.
  18. 제15항에 있어서, 상기 이벤트 로그에 베이스 케이스가 적용되는지의 여부를 결정하고, 상기 베이스 케이스가 상기 이벤트 로그에 적용된다는 결정에 응답하여, 프로세스 트리에 하나 이상의 노드를 추가하는 동작은:
    상기 이벤트 로그에 스킵 로그 케이스가 적용된다고 결정하는 동작; 및
    상기 스킵 로그 케이스가 상기 이벤트 로그에 적용된다는 결정에 응답하여, 사일런트 액티비티를 나타내는 제1 차일드 노드 및 상기 이벤트 로그에 대한 제2 차일드 노드와 함께 배타적 선택 노드를 상기 프로세스 트리에 추가하는 동작을 포함하는, 컴퓨터 프로그램.
  19. 제15항에 있어서, 상기 동작들은:
    상기 프로세스 트리에 기초하여 프로세스 모델을 생성하는 동작을 더 포함하는, 컴퓨터 프로그램.
  20. 제15항에 있어서, 상기 프로세스는 로보틱 프로세스 자동화 프로세스인, 컴퓨터 프로그램.
KR1020217039301A 2020-09-06 2020-10-15 확률적 인덕티브 마이너를 사용한 프로세스 트리 탐색 KR20230062318A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/013,624 2020-09-06
US17/013,624 US11500756B2 (en) 2020-09-06 2020-09-06 Process tree discovery using a probabilistic inductive miner
PCT/US2020/055646 WO2022050968A1 (en) 2020-09-06 2020-10-15 Process tree discovery using a probabilistic inductive miner

Publications (1)

Publication Number Publication Date
KR20230062318A true KR20230062318A (ko) 2023-05-09

Family

ID=80491391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217039301A KR20230062318A (ko) 2020-09-06 2020-10-15 확률적 인덕티브 마이너를 사용한 프로세스 트리 탐색

Country Status (6)

Country Link
US (1) US11500756B2 (ko)
EP (1) EP4208827A1 (ko)
JP (1) JP2023546305A (ko)
KR (1) KR20230062318A (ko)
CN (1) CN114730408A (ko)
WO (1) WO2022050968A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220114508A1 (en) * 2020-10-09 2022-04-14 International Business Machines Corporation Enriching process models from unstructured data and identify inefficiencies in enriched process models

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7251787B2 (en) 2002-08-28 2007-07-31 Siebel Systems, Inc. Method and apparatus for an integrated process modeller
US8265979B2 (en) 2003-06-17 2012-09-11 International Business Machines Corporation Automatic generation of process models
US20090112667A1 (en) 2007-10-31 2009-04-30 Ken Blackwell Automated Business Process Model Discovery
US9239887B2 (en) * 2012-12-18 2016-01-19 Cisco Technology, Inc. Automatic correlation of dynamic system events within computing devices
US20190050317A1 (en) 2013-10-01 2019-02-14 Google Inc. Systems and methods for determining event processing delays
US9697100B2 (en) 2014-03-10 2017-07-04 Accenture Global Services Limited Event correlation
US20170111245A1 (en) 2015-10-14 2017-04-20 International Business Machines Corporation Process traces clustering: a heterogeneous information network approach
US10656979B2 (en) 2016-03-31 2020-05-19 International Business Machines Corporation Structural and temporal semantics heterogeneous information network (HIN) for process trace clustering
US20210216925A1 (en) 2017-01-25 2021-07-15 Koninklijke Philips N.V. Generating a process model
US10467083B2 (en) * 2017-06-08 2019-11-05 International Business Machines Corporation Event relationship analysis in fault management
US20190286504A1 (en) 2018-03-15 2019-09-19 Ca, Inc. Graph-based root cause analysis
CN109033368A (zh) 2018-07-27 2018-12-18 安徽理工大学 一种基于活动划分和日志划分的块结构过程挖掘方法
CN109460391A (zh) 2018-09-04 2019-03-12 安徽理工大学 一种基于流程切的过程模型挖掘新方法
KR102175326B1 (ko) 2018-11-19 2020-11-06 주식회사 아이오코드 모듈 프로세스 모델의 버전 관리로 전반적인 프로세스 모델 운영 개선
US11106800B1 (en) * 2018-11-30 2021-08-31 Capsule8, Inc. Detecting kernel exploits
US11361163B2 (en) 2018-12-17 2022-06-14 MuyVentive, LLC System and method to represent conversational flows as graph embeddings and to conduct classification and clustering based on such embeddings
CA3123945A1 (en) 2018-12-21 2020-06-25 Odaia Intelligence Inc. Accurate and transparent path prediction using process mining
US11281520B2 (en) 2020-06-05 2022-03-22 Vmware, Inc. Methods and systems for determining potential root causes of problems in a data center using log streams

Also Published As

Publication number Publication date
JP2023546305A (ja) 2023-11-02
CN114730408A (zh) 2022-07-08
WO2022050968A1 (en) 2022-03-10
US11500756B2 (en) 2022-11-15
US20220075705A1 (en) 2022-03-10
EP4208827A1 (en) 2023-07-12

Similar Documents

Publication Publication Date Title
US10068176B2 (en) Defect prediction method and apparatus
Munoz-Gama et al. Enhancing precision in process conformance: Stability, confidence and severity
US8589331B2 (en) Predicting outcomes of a content driven process instance execution
US10146531B2 (en) Method and apparatus for generating a refactored code
JP2012113537A (ja) 潜在リスク抽出方法およびシステム
US20160012110A1 (en) General and automatic approach to incrementally computing sliding window aggregates in streaming applications
US9600795B2 (en) Measuring process model performance and enforcing process performance policy
US8725461B2 (en) Inferring effects of configuration on performance
Burattin et al. Lights, camera, action! business process movies for online process discovery
Meedeniya et al. Traceability establishment and visualization of software artefacts in devops practice: a survey
KR20230062318A (ko) 확률적 인덕티브 마이너를 사용한 프로세스 트리 탐색
US9251489B2 (en) Node-pair process scope definition adaptation
EP4260258A1 (en) Process mining for multi-instance processes
vanden Broucke et al. Improved artificial negative event generation to enhance process event logs
Seeliger et al. Process compliance checking using taint flow analysis
JP2023507688A (ja) プロセスのエッジテーブル表現
US11521088B2 (en) Process tree discovery using a probabilistic inductive miner
US20220075706A1 (en) Process tree discovery using a probabilistic inductive miner
WO2022164578A1 (en) Process tree discovery using a probabilistic inductive miner
US20140067732A1 (en) Training decision support systems from business process execution traces that contain repeated tasks
WO2022164577A1 (en) Process tree discovery using a probabilistic inductive miner
US20230054774A1 (en) User constrained process mining
US20230057746A1 (en) User constrained process mining
US20220206878A1 (en) Bottleneck detection for processes
Kaminski et al. Towards process design for efficient organisational problem solving