KR102363373B1 - System of recommending activity using artificial neural network, method of recommending activity using artificial neural network and computer program therefor - Google Patents

System of recommending activity using artificial neural network, method of recommending activity using artificial neural network and computer program therefor Download PDF

Info

Publication number
KR102363373B1
KR102363373B1 KR1020210102158A KR20210102158A KR102363373B1 KR 102363373 B1 KR102363373 B1 KR 102363373B1 KR 1020210102158 A KR1020210102158 A KR 1020210102158A KR 20210102158 A KR20210102158 A KR 20210102158A KR 102363373 B1 KR102363373 B1 KR 102363373B1
Authority
KR
South Korea
Prior art keywords
data
activity
neural network
artificial neural
activities
Prior art date
Application number
KR1020210102158A
Other languages
Korean (ko)
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 (주)메가투스
Priority to KR1020210102158A priority Critical patent/KR102363373B1/en
Application granted granted Critical
Publication of KR102363373B1 publication Critical patent/KR102363373B1/en

Links

Images

Classifications

    • 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
    • G06N3/0472
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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

Abstract

The present invention relates to an activity recommendation system using an artificial neural network, an activity recommendation method using an artificial neural network, and a computer program therefor. According to an embodiment of the present invention, in designing a business process model combining IT services, it is recommended to probabilistically select the next activity based on the order and/or context of input activities. Disclosed are the activity recommendation system using an artificial neural network, the activity recommendation method using an artificial neural network, and the computer program therefor.

Description

인공신경망을 이용한 액티비티 추천 시스템, 인공신경망을 이용한 액티비티 추천 방법, 이를 위한 컴퓨터 프로그램 {System of recommending activity using artificial neural network, method of recommending activity using artificial neural network and computer program therefor}System of recommending activity using artificial neural network, method of recommending activity using artificial neural network and computer program therefor

본 발명은 인공신경망을 이용한 액티비티 추천 시스템, 인공신경망을 이용한 액티비티 추천 방법, 이를 위한 컴퓨터 프로그램에 관한 것으로서, IT 서비스를 조합한 비즈니스 프로세스 모델을 디자인함에 있어서 입력된 액티비티들의 순서 및/또는 컨텍스트를 기반으로 다음 액티비티를 확률적으로 선택할 수 있도록 추천하는 인공신경망을 이용한 액티비티 추천 시스템, 인공신경망을 이용한 액티비티 추천 방법, 이를 위한 컴퓨터 프로그램에 관한 것이다. The present invention relates to an activity recommendation system using an artificial neural network, an activity recommendation method using an artificial neural network, and a computer program therefor, and based on the order and/or context of input activities in designing a business process model combining IT services It relates to an activity recommendation system using an artificial neural network that recommends the next activity to be probabilistically selected as a method, an activity recommendation method using an artificial neural network, and a computer program for this.

BPEL(Business Process Execution Language) 또는 이와 유사한 표준 또는 비표준 프로세스 기술에 기반하여 웹서비스를 포함하는 다양한 IT 서비스를 조합한 비즈니스 프로세스 모델을 디자인함에 있어서, 다양한 종류의 액티비티들을 순서적이거나 병렬적으로 연결하여 디자인을 완성하게 된다. In designing a business process model that combines various IT services including web services based on BPEL (Business Process Execution Language) or similar standard or non-standard process technology, various types of activities are connected sequentially or in parallel. will complete the design.

비즈니스 프로세스 모델 디자인에 관한 종래기술로서, 대한민국 등록특허 10-1596257 (2016년02월16일)은, 소프트웨어 제품 라인(Software Product Line)에서의 핵심 자산으로 서비스 및 서비스 모델을 사용하되, 신규 서비스를 개발하는 과정에서 기등록된 핵심 자산 중에서 목표에 부합하는 비즈니스 프로세스 모델을 임포트(import)하여 재사용하거나 또는 신규 비즈니스 프로세스를 모델링하며, 비즈니스 프로세스의 각 액티비티를 설정하는 구성을 제안하였다. As a prior art related to business process model design, Republic of Korea Patent Registration 10-1596257 (February 16, 2016) uses services and service models as core assets in the Software Product Line, but uses new services In the course of development, we proposed a configuration in which business process models matching the goals were imported and reused or new business processes were modeled, and each activity of the business process was set.

또다른 종래기술로서, 대한민국 공개특허 10-2009-0131426 (2009년12월29일)은, 전자 장치가 워크플로우 패턴 블록(workflow pattern block) 추가 명령을 전달받는 단계 및 전자 장치가 추가 명령에 상응하는 위치에 추가 명령에 상응하는 워크플로우 패턴 블록을 추가하는 단계를 포함하며, 워크플로우 프로세스 모델링 수행시 사용자의 별도의 조치 없이도 예기치 못한 오류를 방지하기 위한 구성을 제안하였다. As another prior art, Korean Patent Laid-Open Publication No. 10-2009-0131426 (December 29, 2009) discloses a step in which an electronic device receives a workflow pattern block additional command and the electronic device responds to the additional command Including the step of adding a workflow pattern block corresponding to the additional command to the position to be performed, a configuration was proposed to prevent unexpected errors without the user's separate action when performing workflow process modeling.

또다른 종래기술로서, 대한민국 등록특허 10-1127701 (2012년03월09일)은, 사용자의 비즈니스 프로세스 상의 공통성(commonality)과 가변성(variability)에 대한 표현을 지원하는 비즈니스 프로세스 패밀리 모델을 제공하고, 이러한 모델을 컴퓨터 시스템에 의해 실행될 수 있는 웹 서비스로서 실제화하여 사용자의 요구 사항에 부합하는 웹 서비스를 생성하는 구성을 제안하였다. As another prior art, Korean Patent Registration No. 10-1127701 (Mar. 09, 2012) provides a business process family model that supports the expression of commonality and variability in a user's business process, This model is realized as a web service that can be executed by a computer system and a configuration is proposed to create a web service that meets the user's requirements.

그런데, 상기 종래기술들은 프로세스 모델링 과정의 오류를 방지하거나 효율성을 높이는 구성을 제안하기는 하였지만, 프로세스 디자이너에게 프로세스 모델링에 필요한 액티비티를 추천하는 것과 같이 디자인 작업의 효율성 및 정확성을 높이는 구성을 제안하지는 않았다. By the way, although the prior arts suggested a configuration to prevent errors in the process modeling process or to increase efficiency, a configuration to increase the efficiency and accuracy of design work, such as recommending an activity required for process modeling to a process designer, was not proposed. .

예를 들어, 액티비티들로 구성된 프로세스의 디자인은, 프로세스를 설계하고 개발하는 설계자 혹은 개발자가 특정 액티비티를 선택하여 순서적이거나 병렬적으로 연결하여 진행한다. For example, in the design of a process composed of activities, a designer or developer who designs and develops the process selects specific activities and proceeds by connecting them sequentially or in parallel.

그런데, 설계자가 현재 작업중인 프로세스를 위해 다음 액티비티를 선택하고 연결하여 프로세스 디자인을 하는 중에 단순 실수 또는 정보 부족 등으로 액티비티를 잘못 선택하거나 잘못 연결하고 수정하는 상황이 빈번하게 발생하지만, 종래기술들은 이러한 문제점을 해결하기 위한 구성을 제안하지는 않았다. However, while designing the process by selecting and connecting the next activity for the process currently being worked by, the designer frequently selects or incorrectly connects and corrects the activity due to a simple mistake or lack of information. I did not propose a configuration to solve the problem.

대한민국 등록특허 10-1596257 (2016년02월16일)Republic of Korea Patent Registration 10-1596257 (February 16, 2016) 대한민국 공개특허 10-2009-0131426 (2009년12월29일)Republic of Korea Patent Publication 10-2009-0131426 (December 29, 2009) 대한민국 등록특허 10-1127701 (2012년03월09일)Republic of Korea Patent Registration 10-1127701 (Mar. 09, 2012)

본 발명은 상기와 같은 문제점을 감안하여 안출한 것으로서, IT 서비스를 조합한 비즈니스 프로세스 모델을 디자인함에 있어서 입력된 액티비티들의 순서 및/또는 컨텍스트를 기반으로 다음 액티비티를 확률적으로 선택할 수 있도록 추천하는 인공신경망을 이용한 액티비티 추천 시스템, 인공신경망을 이용한 액티비티 추천 방법, 이를 위한 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.The present invention has been devised in consideration of the above problems, and in designing a business process model combining IT services, an artificial recommendation for probabilistically selecting the next activity based on the order and/or context of the activities inputted An object of the present invention is to provide an activity recommendation system using a neural network, an activity recommendation method using an artificial neural network, and a computer program for the same.

상기 목적을 감안한 본 발명의 일 측면에 따르면, 액티비티 순서 조합에 기반하여 생성된 매개변수 데이터를 프로세스 디자인부로부터 전달받고, 상기 매개변수 데이터를 학습된 인공신경망 모델부에 입력하며, 상기 인공신경망 모델부에서 수득한 액티비티 추천 데이터를 상기 프로세스 디자인부로 반환하는 액티비티 추천 서비스부; 및 상기 매개변수 데이터에 포함된 액티비티의 순서 조합의 다음 순서의 액티비티를 확률값 형태로 추천하는 액티비티 추천 데이터를 수득하는 인공신경망 모델부;를 포함하여 구성된 인공신경망을 이용한 액티비티 추천 시스템이 개시된다.According to one aspect of the present invention in consideration of the above object, parameter data generated based on the activity sequence combination is received from the process design unit, the parameter data is input to the trained artificial neural network model unit, and the artificial neural network model an activity recommendation service unit returning the activity recommendation data obtained in the unit to the process design unit; and an artificial neural network model unit for obtaining activity recommendation data that recommends an activity in the next sequence of the sequence combination of activities included in the parameter data in the form of a probability value; an activity recommendation system using an artificial neural network configured to include.

바람직하게 본 발명은, 상기 프로세스 디자인부에서 제공하는 프로세스 데이터에 포함된 액티비티 순서 조합에 기반하여 생성된 훈련 데이터 및 목표 데이터의 데이터 세트를 수득하고, 상기 데이터 세트를 입력하여 인공신경망 모델부를 학습시키는 인공신경망 학습부;를 포함한다. Preferably, the present invention obtains a data set of training data and target data generated based on a combination of activity sequences included in the process data provided by the process design unit, and inputs the data set to train the artificial neural network model unit. Artificial neural network learning unit; includes.

바람직하게 본 발명은, 상기 인공신경망 모델부의 구성에 필요한 뉴런의 개수, 활성화 함수의 종류, 훈련 에포크의 크기, 최적화 방법의 종류 중의 적어도 어느 하나를 설정하는 인공신경망 구성부;를 포함하여 구성된다. Preferably, the present invention includes an artificial neural network configuration unit configured to set at least one of the number of neurons required for the construction of the artificial neural network model unit, the type of activation function, the size of the training epoch, and the type of the optimization method.

바람직하게 본 발명은, 상기 프로세스 데이터에 포함된 텍스트 기반의 액티비티 데이터를 순서적으로 추출하고, 숫자 기반의 데이터로 전처리하여 상기 훈련 데이터 및 목표 데이터를 수득하는 데이터 전처리부;를 포함하여 구성된다. Preferably, the present invention, a data preprocessor for sequentially extracting text-based activity data included in the process data, and pre-processing it into number-based data to obtain the training data and target data; is configured to include.

바람직하게, 상기 훈련 데이터는 상기 프로세스 데이터에 포함된 하나 이상의 액티비티의 순서 조합에 관한 데이터이며, 상기 목표 데이터는 상기 훈련 데이터에 포함된 액티비티의 순서 조합의 다음 순서에 해당하는 액티비티에 관한 데이터이다. Preferably, the training data is data related to a sequence combination of one or more activities included in the process data, and the target data is data related to an activity corresponding to a next sequence of sequence combinations of activities included in the training data.

바람직하게, 상기 훈련 데이터는 상기 프로세스 데이터에 포함된 병렬 연결 액티비티를 상기 순서 조합을 구성하는 액티비티로서 포함한다. Preferably, the training data includes a parallel connection activity included in the process data as an activity constituting the sequence combination.

바람직하게, 상기 훈련 데이터는 상기 프로세스 데이터에 포함된 액티비티의 속성을 상기 순서 조합을 구성하는 액티비티로서 포함한다. Preferably, the training data includes an attribute of an activity included in the process data as an activity constituting the sequence combination.

바람직하게, 상기 프로세스 데이터에 포함된 하나의 액티비티 타입이 2 이상의 속성을 갖는 경우, 상기 훈련 데이터는 해당 액티비티 타입을 각각의 속성별로 별개의 액티비티 타입인 것으로 구분하여 액티비티의 순서 조합을 구성한다. Preferably, when one activity type included in the process data has two or more properties, the training data classifies the corresponding activity type as a separate activity type for each property to configure an order combination of activities.

바람직하게, 상기 인공신경망 모델부는, 입력층, GRU(Gated Recurrent Unit) 셀, 은닉층 및 출력층을 포함하는 GRU 방식의 순환신경망(RNN, Recurrent Neural Network)에 기반한다. Preferably, the artificial neural network model unit is based on a GRU-type Recurrent Neural Network (RNN) including an input layer, a Gated Recurrent Unit (GRU) cell, a hidden layer, and an output layer.

바람직하게, 상기 인공신경망 모델부는, 은닉층 다음에 과적합을 피하기 위한 드롭아웃(Dropout)층을 더욱 포함하여 구성된다. Preferably, the artificial neural network model unit is configured to further include a dropout layer to avoid overfitting after the hidden layer.

바람직하게, 상기 인공신경망 모델부는, 출력층의 활성화 함수로서 소프트맥스(Softmax) 함수를 사용하며, 상기 매개변수 데이터에 포함된 액티비티의 순서 조합의 다음 순서를 구성하는 하나 이상의 액티비티에 대한 각각의 확률값을 수득하도록 구성된다. Preferably, the artificial neural network model unit uses a Softmax function as an activation function of the output layer, and each probability value for one or more activities constituting a next sequence of sequence combinations of activities included in the parameter data. is configured to obtain.

바람직하게, 상기 인공신경망 모델부의 입력층은, 프로세스 데이터에 포함된 액티비티 순서 조합에 기반하여 생성된 훈련 데이터 및 목표 데이터의 데이터 세트 중 가장 많은 개수의 액티비티가 순서 조합을 구성하는 훈련 데이터에 기초하여 입력 뉴런의 개수가 결정된다. Preferably, the input layer of the artificial neural network model unit is based on the training data in which the largest number of activities among the data sets of the training data and the target data generated based on the sequence combination of activities included in the process data constitute the sequence combination. The number of input neurons is determined.

바람직하게, 상기 인공신경망 모델부의 출력층은, 프로세스 데이터에 포함된 액티비티 순서 조합에 기반하여 생성된 훈련 데이터 및 목표 데이터의 데이터 세트에 포함된 목표 데이터를 구성하는 서로 다른 액티비티의 타입 개수에 기초하여 출력 뉴런의 개수가 결정된다. Preferably, the output layer of the artificial neural network model unit is output based on the number of types of different activities constituting the target data included in the data set of the training data and the target data generated based on the sequence of activities included in the process data. The number of neurons is determined.

본 발명의 또다른 일 측면에 따르면, 하나 이상의 명령을 저장하는 메모리와 상기 메모리에 저장된 상기 하나 이상의 명령을 실행하는 프로세서를 포함하는 액티비티 추천 시스템에서 실행되는 액티비티 추천 방법으로서, 1) 액티비티 순서 조합에 기반하여 생성된 매개변수 데이터를 프로세스 디자인부로부터 전달받는 단계; 2) 상기 매개변수 데이터를 학습된 인공신경망 모델부에 입력하는 단계; 3) 상기 인공신경망 모델부를 이용하여, 상기 매개변수 데이터에 포함된 액티비티의 순서 조합의 다음 순서의 액티비티를 확률값 형태로 추천하는 액티비티 추천 데이터를 수득하는 단계; 및 4) 상기 인공신경망 모델부에서 수득한 액티비티 추천 데이터를 상기 프로세스 디자인부로 반환하는 단계;를 포함하여 구성된 인공신경망을 이용한 액티비티 추천 방법이 개시된다. According to another aspect of the present invention, there is provided an activity recommendation method executed in an activity recommendation system including a memory for storing one or more instructions and a processor for executing the one or more instructions stored in the memory, receiving the parameter data generated based on the process design unit; 2) inputting the parameter data into a trained artificial neural network model unit; 3) obtaining, by using the artificial neural network model unit, activity recommendation data for recommending an activity next to a sequence combination of activities included in the parameter data in the form of a probability value; and 4) returning the activity recommendation data obtained from the neural network model unit to the process design unit; an activity recommendation method using the configured artificial neural network is disclosed.

바람직하게 본 발명은, 상기 1)단계 이전에, P1) 상기 프로세스 디자인부에서 제공하는 프로세스 데이터에 포함된 액티비티 순서 조합에 기반하여 생성된 훈련 데이터 및 목표 데이터의 데이터 세트를 수득하는 단계; 및 P2) 상기 데이터 세트를 입력하여 인공신경망 모델부를 학습시키는 단계;를 더욱 포함하여 구성된다. Preferably, the present invention, before step 1), P1) obtaining a data set of training data and target data generated based on a combination of activity sequences included in the process data provided by the process design unit; and P2) inputting the data set to train the artificial neural network model unit.

본 발명의 또다른 일 측면에 따르면, 상기 인공신경망을 이용한 액티비티 추천 방법의 각 단계를 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체가 개시된다. According to another aspect of the present invention, a computer-readable recording medium recording a program for executing each step of the activity recommendation method using the artificial neural network is disclosed.

이와 같은 본 발명은, 다양한 종류의 액티비티들을 순서적이거나 병렬적으로 연결하여 비즈니스 프로세스를 디자인함에 있어서 다음 액티비티를 확률적으로 선택할 수 있도록 추천하되, 현재 연결된 마지막 액티비티만을 기준으로 다음 액티비티를 추천하지 않고 그 이전에 구성된 다수개의 액티비티들의 순서 조합을 포함하는 컨텍스트적인 요소를 감안하여 추천하므로, 프로세스 디자인 작업의 효율성을 높이고 오류를 저감하는 장점이 있다. As described above, the present invention recommends probabilistic selection of the next activity in designing a business process by connecting various types of activities sequentially or in parallel, but does not recommend the next activity based on only the currently connected last activity. Since it is recommended in consideration of the contextual element including the sequence combination of a plurality of activities configured before that, there is an advantage of improving the efficiency of the process design work and reducing errors.

도 1은 본 발명의 실시예에 따른 액티비티 추천 시스템의 구성도,
도 2는 본 발명의 실시예에 따른 인공신경망 모델부의 구성도,
도 3은 본 발명의 실시예에 따른 액티비티 추천 시스템의 하드웨어 관점의 모식도,
도 4는 본 발명의 실시예에 따른 액티비티 추천 데이터의 예시도,
도 5 및 도 6은 본 발명의 실시예에 따른 액티비티 추천 방법의 흐름도이다.
1 is a block diagram of an activity recommendation system according to an embodiment of the present invention;
2 is a block diagram of an artificial neural network model unit according to an embodiment of the present invention;
3 is a schematic diagram of a hardware point of view of an activity recommendation system according to an embodiment of the present invention;
4 is an exemplary view of activity recommendation data according to an embodiment of the present invention;
5 and 6 are flowcharts of an activity recommendation method according to an embodiment of the present invention.

본 발명은 그 기술적 사상 또는 주요한 특징으로부터 벗어남이 없이 다른 여러가지 형태로 실시될 수 있다. 따라서, 본 발명의 실시예들은 모든 점에서 단순한 예시에 지나지 않으며 한정적으로 해석되어서는 안 된다.The present invention may be embodied in various other forms without departing from its technical spirit or main characteristics. Accordingly, the embodiments of the present invention are merely illustrative in all respects and should not be construed as limiting.

제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. The terms 1st, 2nd, etc. are used only for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다. When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but another component may exist in between.

본 출원에서 사용한 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구비하다", "가지다" 등의 용어는 명세서에 기재된 구성요소 또는 이들의 조합이 존재하는 것을 표현하려는 것이지, 다른 구성요소 또는 특징이 존재 또는 부가될 가능성을 미리 배제하는 것은 아니다. As used herein, the singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as "comprises" or "comprising", "have" and the like are intended to represent the presence of elements or combinations thereof described in the specification, and the possibility that other elements or features may be present or added. It is not precluded.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 액티비티 추천 시스템의 구성도, 도 2는 본 발명의 실시예에 따른 인공신경망 모델부의 구성도, 도 3은 본 발명의 실시예에 따른 액티비티 추천 시스템의 하드웨어 관점의 모식도, 도 4는 본 발명의 실시예에 따른 액티비티 추천 데이터의 예시도이다. 1 is a configuration diagram of an activity recommendation system according to an embodiment of the present invention, FIG. 2 is a configuration diagram of an artificial neural network model unit according to an embodiment of the present invention, and FIG. 3 is a hardware perspective view of an activity recommendation system according to an embodiment of the present invention 4 is an exemplary diagram of activity recommendation data according to an embodiment of the present invention.

본 실시예의 액티비티 추천 시스템(AS)은, BPEL(Business Process Execution Language) 또는 이와 유사한 표준 또는 비표준 프로세스 기술에 기반하여 웹서비스를 포함하는 다양한 IT 서비스를 조합하여 비즈니스 프로세스 모델을 디자인함에 있어서 입력된 액티비티들의 순서 및/또는 컨텍스트를 기반으로 다음 액티비티를 확률적으로 선택할 수 있도록 추천한다. The activity recommendation system (AS) of this embodiment combines various IT services including web services based on BPEL (Business Process Execution Language) or similar standard or non-standard process technology to design a business process model. It is recommended to probabilistically select the next activity based on their order and/or context.

비즈니스 프로세스는 한 개 이상의 액티비티들이 순서적으로 연결되어 구성된다. 본 실시예의 액티비티 추천 시스템(AS)은, 사용자(프로세스 설계자)에게 디자인 중인 프로세스에서 현재까지 순서적으로 연결된 액티비티들의 정보와 컨텍스트적인 정보(예, 병렬 연결 상태, 액티비티 속성)들을 기반으로 다음 액티비티를 확률적으로 추천하여 프로세스 디자인 효율성을 향상시킬 수 있다. 컨텍스트란 단순한 액티비티들의 순서적 연결 정보뿐만 아니라, 병렬적 연결 정보, 취소 액션들, 액티비티들의 속성들 등 다양한 정보들을 의미한다. 본 실시예의 액티비티 추천 시스템(AS)은 병렬적 연결 정보, 액티비티 속성을 순서적 연결 정보와 함께 액티비티 추천을 위한 컨텍스트로서 고려한다. A business process consists of one or more activities connected in sequence. The activity recommendation system (AS) of this embodiment recommends the next activity to the user (process designer) based on the information of the activities sequentially connected up to the present and the contextual information (eg, parallel connection state, activity properties) to the user (process designer) Probabilistic recommendations can improve process design efficiency. Context means not only sequential connection information of simple activities, but also various information such as parallel connection information, cancellation actions, and properties of activities. The activity recommendation system (AS) of the present embodiment considers the parallel connection information and the activity attribute together with the sequential connection information as a context for activity recommendation.

BPEL(Business Process Execution Language) 또는 이와 유사한 표준 또는 비표준 프로세스 기술에 기반하여 웹서비스를 포함하는 다양한 IT 서비스를 조합하여 비즈니스 프로세스 모델을 디자인하는 기술은 다수가 공지되어 있으며, 이에 대한 상세 설명은 생략한다. 본 실시예의 설명에서 프로세스 디자인부(30)는 IT 서비스를 조합한 비즈니스 프로세스 모델을 디자인하는 시스템 또는 기능 모듈을 나타낸다. A number of techniques for designing a business process model by combining various IT services including web services based on BPEL (Business Process Execution Language) or similar standard or non-standard process technology are known, and detailed description thereof will be omitted. . In the description of the present embodiment, the process design unit 30 represents a system or function module for designing a business process model combining IT services.

본 실시예의 액티비티 추천 시스템(AS)은, 프로세스 디자인부(30)를 이용하여 사용자가 비즈니스 프로세스 모델을 디자인하는 과정에서 액티비티를 확률적으로 추천하기 위해 액티비티 추천 서비스부(10) 및 인공신경망 모델부(20)을 포함하며, 이들 요소는 기능적 관점에서 모델 추천부의 기능을 제공한다. The activity recommendation system (AS) of the present embodiment includes an activity recommendation service unit 10 and an artificial neural network model unit to probabilistically recommend an activity in the process of a user designing a business process model using the process design unit 30 . (20), and these elements provide the function of the model recommendation unit from a functional point of view.

상기 액티비티 추천 서비스부(10)는 액티비티 순서 조합에 기반하여 생성된 매개변수 데이터를 프로세스 디자인부(30)로부터 전달받고, 상기 매개변수 데이터를 학습된 인공신경망 모델부(20)에 입력하며, 상기 인공신경망 모델부(20)에서 수득한 액티비티 추천 데이터를 상기 프로세스 디자인부(30)로 반환한다. The activity recommendation service unit 10 receives the parameter data generated based on the activity sequence combination from the process design unit 30, and inputs the parameter data to the learned artificial neural network model unit 20, The activity recommendation data obtained from the artificial neural network model unit 20 is returned to the process design unit 30 .

일예로, 액티비티 추천 서비스부(10)는 다양한 프로세스 디자인부(30)의 구현과 요청에 접근이 용이하도록 별도의 서비스 형태로 구성되며 Json, XML 등의 다양한 방식 및 다양한 언어로 접근 가능하도록 구성하는 것이 바람직하다. As an example, the activity recommendation service unit 10 is configured in a separate service form to facilitate the implementation and access to the request of the various process design unit 30, and is configured to be accessible in various methods and various languages such as Json and XML. it is preferable

한편, 액티비티 추천 서비스부(10)는 프로세스 디자인부(30)와 원격으로 위치해 있거나 하나의 어플리케이션에 같이 포함되어 질 수도 있다. 이는 전체 시스템 구성을 서버 구조로 구성할지, 아니면 단일 어플리케이션 구조로 구성할지에 따라 다르다. Meanwhile, the activity recommendation service unit 10 may be located remotely from the process design unit 30 or may be included in one application. It differs depending on whether the entire system configuration is configured as a server structure or as a single application structure.

일예로, 프로세스 디자인부(30)가 웹 서버 형태로 구현된다면 액티비티 추천 서비스부(10)도 웹 서버 방식으로 구성되며, 프로세스 디자인부(30)가 어플리케이션 방식으로 구성되면 액티비티 추천 서비스부(10)는 웹 서버나 단일 어플리케이션 구조로 구성될 수 있다. For example, if the process design unit 30 is implemented in the form of a web server, the activity recommendation service unit 10 is also configured in a web server method, and if the process design unit 30 is configured in an application method, the activity recommendation service unit 10 can be composed of a web server or a single application structure.

본 실시예의 액티비티 추천 서비스부(10)는 상기 두 방식 모두 수용할 수 있는 것이 바람직하며, 일예로 원격 서버 방식은 HTTP 기반으로 Json, XML로 구현되어 다양한 클라이언트의 프로그래밍 언어에서 접근 가능하도록 하고, 단일 어플리케이션 방식은 프로세스 디자인부(30)에서 접근하기 쉽도록 API 방식으로 서비스 되게 하는 것이 바람직하다. It is preferable that the activity recommendation service unit 10 of this embodiment can accommodate both of the above methods. For example, the remote server method is implemented in Json and XML based on HTTP so that it can be accessed from various client programming languages, and a single It is preferable that the application method be serviced by the API method so that the process design unit 30 can easily access it.

한편, 프로세스 디자인부(30)는 사용자(프로세스 설계자)에 의해 프로세스가 디자인되는 시점에 액티비티의 추천을 위해, 현재 디자인된 액티비티들의 순서 데이터와 컨텍스트 정보를 바탕으로 액티비티 추천 서비스부(10)를 호출하여, 액티비티 추천 확률 데이터를 얻고, 그 데이터를 통해 사용자에게 최종적으로 액티비티들을 추천한다. On the other hand, the process design unit 30 calls the activity recommendation service unit 10 based on the sequence data and context information of the currently designed activities to recommend the activity at the time the process is designed by the user (process designer). Thus, activity recommendation probability data is obtained, and activities are finally recommended to the user through the data.

액티비티 추천 서비스부(10)로 전달될 매개변수 데이터를 추출하는 방법은, 일예로, 최종 및 최근 생성된 액티비티를 기준으로 역순으로 시작 액티비티까지 순회하면서, 액티비티들의 타입과 순서, 속성들, 병렬 여부를 추출하여 벡터화 한다. The method of extracting the parameter data to be transmitted to the activity recommendation service unit 10 is, for example, based on the last and recently created activity, while traversing up to the starting activity in the reverse order, the type and order of the activities, their properties, whether they are parallel is extracted and vectorized.

상기 인공신경망 모델부(20)는 상기 매개변수 데이터에 포함된 액티비티의 순서 조합의 다음 순서의 액티비티를 확률값 형태로 추천하는 액티비티 추천 데이터를 수득한다. The artificial neural network model unit 20 obtains activity recommendation data for recommending an activity of the next order of the order combination of the activities included in the parameter data in the form of a probability value.

도 4는 프로세스 디자인 시에 추천되는 액티비티의 시나리오를 보여주는 도면으로, 액티비티 A, B, C 다음에 추천되는 4개(D,E,F,G)의 액티비티를 확률로 보여주는 상태를 예시한다. 사용자는 액티비티 추천 시스템(AS)의 유저 인터페이스 수단(예, 모니터, 마우스나 키보드)을 이용하여, 액티비티 추천 시스템(AS)이 추천하는 하나 이상의 액티비티 중에서 하나를 선택하고 현재까지 순서 조합이 이뤄진 액티비티의 다음 순서에 연결하여 디자인 프로세스를 완성해 나간다. 4 is a diagram illustrating a scenario of activities recommended during process design, and illustrates a state in which four activities (D, E, F, G) recommended after activities A, B, and C are shown with probability. The user selects one of the one or more activities recommended by the activity recommendation system (AS) using the user interface means (eg, monitor, mouse, or keyboard) of the activity recommendation system (AS), Connect to the following sequence to complete the design process.

도 2를 참조하여 상기 인공신경망 모델부(20)에 대해 더욱 상세하게 설명한다. The artificial neural network model unit 20 will be described in more detail with reference to FIG. 2 .

상기 인공신경망 모델부(20)는, 입력층(21), GRU(Gated Recurrent Unit) 셀(22), 은닉층(23) 및 출력층(25)을 포함하는 GRU 방식의 순환신경망(RNN, Recurrent Neural Network)에 기반한다. The artificial neural network model unit 20 is a GRU-type recurrent neural network (RNN) including an input layer 21 , a Gated Recurrent Unit (GRU) cell 22 , a hidden layer 23 and an output layer 25 . ) is based on

순환 신경망은 순서적인 시계열 데이터를 분석하여 컨텍스트 기반으로 예측하는데 유용한 인공신경망으로서 언어 변환 등에 널리 사용되는 신경망 구조이며, N-1번째의 출력이 N번째의 입력으로 되어 순서적 기억을 가지는 인공 신경망이다. 이러한 점에서, 순환 신경망은 순서적 컨텍스트를 가지는 본 발명의 목표에 적합한 기술로서 다른 알고리즘보다 효율적인 액티비티 추천이 가능하게 한다. The recurrent neural network is an artificial neural network useful for context-based prediction by analyzing sequential time series data. It is a neural network structure widely used for language transformation, etc. It is an artificial neural network with sequential memory as the N-1th output becomes the Nth input. . In this respect, the recurrent neural network is a technique suitable for the goal of the present invention having an ordinal context, and enables more efficient activity recommendation than other algorithms.

본 실시예의 순환 신경망의 GRU 셀(22)은 LSTM(Long Short-Term Memory) 셀의 간소화된 버전으로 LSTM 셀 처럼 동작하고 구조는 단순하여 구현이 쉽고 속도가 빠르다는 장점이 있다. The GRU cell 22 of the recurrent neural network of this embodiment is a simplified version of an LSTM (Long Short-Term Memory) cell, and operates like an LSTM cell, and has a simple structure, so it is easy to implement and has the advantage of high speed.

도 2에서 GRU 셀(22)의 N-1 번째 출력은 다음 은닉층(23)으로 입력되고, 또한 다음 GRU 셀(22)의 입력으로 순환된다. In FIG. 2 , the N-1 th output of the GRU cell 22 is input to the next hidden layer 23 , and is also cycled to the input of the next GRU cell 22 .

상기 인공신경망 모델부(20)는, 은닉층(23) 다음에 과적합을 피하기 위한 드롭아웃(Dropout)층(24)을 포함하여 구성된다. The artificial neural network model unit 20 is configured to include a dropout layer 24 to avoid overfitting after the hidden layer 23 .

드롭아웃은 학습 과정에서 인공신경망의 일부를 사용하지 않는 방법이다. 예를 들어 드롭아웃의 비율을 0.5로 한다면 학습 과정마다 랜덤으로 절반의 뉴런을 사용하지 않고, 절반의 뉴런만을 사용한다. Dropout is a method that does not use any part of the artificial neural network in the learning process. For example, if the dropout ratio is set to 0.5, half neurons are not randomly used in each learning process, but only half neurons are used.

드롭아웃은 인공신경망 학습 시에만 사용하고, 예측 시에는 사용하지 않는 것이 일반적이다. 학습 시에 인공 신경망이 특정 뉴런 또는 특정 조합에 너무 의존적이게 되는 것을 방지해주고, 매번 랜덤 선택으로 뉴런들을 사용하지 않으므로 서로 다른 신경망들을 앙상블하여 사용하는 것 같은 효과를 내어 과적합을 방지한다. In general, dropout is used only for artificial neural network training and not for prediction. It prevents the artificial neural network from becoming too dependent on a specific neuron or a specific combination during training, and prevents overfitting by creating the same effect as using different neural networks as an ensemble because neurons are not used by random selection every time.

본 실시예의 인공신경망 모델부(20)는, GRU 셀(22) 다음에 은닉층(23)을 두어 정확도를 높혔고, 그 다음 드롭아웃층(24)을 두어 학습이 과대 적합되는 것을 방지한다. The artificial neural network model unit 20 of this embodiment increases the accuracy by placing the hidden layer 23 after the GRU cell 22, and then puts a dropout layer 24 to prevent overfitting of learning.

상기 인공신경망 모델부(20)는, 출력층(25)의 활성화 함수로서 소프트맥스(Softmax) 함수를 사용하며, 상기 매개변수 데이터에 포함된 액티비티의 순서 조합의 다음 순서를 구성하는 하나 이상의 액티비티에 대한 각각의 확률값을 수득하도록 구성된다. 소프트맥스 함수는 분류해야하는 클래스의 개수에 해당하는 다차원의 벡터를 입력받아 각 클래스에 대한 확률을 추정하는 함수로서 다중 클래스 분류를 위해 사용되는 함수라는 점에서 액티비티의 확률적 추천 기능을 제공하는데 적합하다. The artificial neural network model unit 20 uses a softmax function as an activation function of the output layer 25, and for one or more activities constituting the following sequence of sequence combinations of activities included in the parameter data. is configured to obtain each probability value. The softmax function is a function that receives a multidimensional vector corresponding to the number of classes to be classified and estimates the probability for each class. .

상기 인공신경망 모델부(20)의 입력층(21)은, 프로세스 데이터에 포함된 액티비티 순서 조합에 기반하여 생성된 훈련 데이터 및 목표 데이터의 데이터 세트 중 가장 많은 개수의 액티비티가 순서 조합을 구성하는 훈련 데이터에 기초하여 입력 뉴런(21a)의 개수가 결정된다. The input layer 21 of the artificial neural network model unit 20 is a training in which the largest number of activities among the data sets of the training data and the target data generated based on the sequence combination of activities included in the process data constitute the sequence combination The number of input neurons 21a is determined based on the data.

상기 인공신경망 모델부(20)의 출력층(25)은, 프로세스 데이터에 포함된 액티비티 순서 조합에 기반하여 생성된 훈련 데이터 및 목표 데이터의 데이터 세트에 포함된 목표 데이터를 구성하는 서로 다른 액티비티의 타입 개수에 기초하여 출력 뉴런(25a)의 개수가 결정된다. The output layer 25 of the artificial neural network model unit 20 includes the number of different types of activities constituting the target data included in the data set of the training data and the target data generated based on the sequence of activities included in the process data. The number of output neurons 25a is determined based on .

순환 신경망 각 층은 다수개의 뉴런으로 구성되는데, 뉴런의 개수와 주요 설정은 예를 들어 다음과 같이 구성될 수 있다. 이러한 구성은 후술하는 인공신경망 구성부(42)를 통해 입력 또는 변경 설정될 수 있다. Each layer of the recurrent neural network consists of a plurality of neurons, and the number and main settings of the neurons may be configured as follows, for example. Such a configuration may be input or changed through an artificial neural network configuration unit 42 to be described later.

번호number 계층hierarchy 뉴런의 개수와 주요 설정Number of neurons and their main settings 1One 입력층input layer 프로세스 데이터에서 연결된 최대 액티비티의 수Maximum number of connected activities in process data 22 GRU 셀GRU cell 기본 100 이며 별도 설정시 변경Default is 100 and can be changed when set separately 33 은닉층hidden layer 기본 200 이며 별도 설정시 변경Default is 200, and can be changed when set separately. 44 드롭아웃층drop-out floor Rate을 기본 0.5로 하고 별도 설정시 변경Rate is set to 0.5 by default and can be changed when set separately 55 출력층output layer 서로 다른 액티비티 타입의 수Number of different activity types

본 실시예에서, GRU 셀(24)의 뉴런의 개수는 설정에 의해 구성하지만 기본적으로 100개로 한다. GRU 셀(10)의 활성화 함수는 다양하게 지정할 수 있지만, 기본적으로 하이퍼볼릭탄젠트(tanh) 함수로 지정한다. 입력된 데이터는 GRU 셀(24)로 전달되며, 시계열로 학습하게 된다. In the present embodiment, the number of neurons in the GRU cell 24 is configured by setting, but is set to 100 by default. The activation function of the GRU cell 10 can be variously designated, but is basically designated as a hyperbolic tangent (tanh) function. The input data is transmitted to the GRU cell 24, and is learned in time series.

출력층(24)의 출력 뉴런(25a)의 개수는 프로세스에서 액티비티의 타입 개수로 결정되고, 활성화 함수는 최종 출력될 데이터가 추천 액티비티의 확률이기 때문에 소프트맥스(softmax)함수를 사용한다. 소프트맥스 함수는 최종 출력층(24)의 값들을 확률로 변환하여 출력하여 준다. The number of output neurons 25a of the output layer 24 is determined by the number of types of activities in the process, and the activation function uses a softmax function because the final output data is the probability of the recommended activity. The softmax function converts the values of the final output layer 24 into probabilities and outputs them.

본 실시예의 액티비티 추천 시스템(AS)은 인공신경망 모델부(20)를 학습시키기 위해 인공신경망 구성부(42), 데이터 전처리부(44) 및 인공신경망 학습부(40)를 포함하며, 이들 요소는 기능적 관점에서 모델 학습부의 기능을 제공한다. The activity recommendation system (AS) of this embodiment includes an artificial neural network constructing unit 42, a data preprocessing unit 44, and an artificial neural network learning unit 40 to train the artificial neural network model unit 20, and these elements are It provides the function of the model learning unit from a functional point of view.

상술한 모델 추천부와 모델 학습부로 나누어 구조화하는 구성은 모델의 학습과 모델의 추천을 분리하여 개발, 개선, 구동 시킬 수 있어, 액티비티 추천 시스템(AS)의 효율성을 높힐 수 있다. 모델 학습부와 모델 추천부의 동작 시점은 차이가 있다. 모델 학습부는 모델을 신규로 학습하거나 학습된 모델을 저장부(예, 데이터베이스, 디스크 등의 비휘발성 기록매체)에 저장하거나 시스템의 메모리로 로드하는데 관여하며, 최초 시스템 구동 시 또는 신규 훈련 데이터나 추가적인 훈련 데이터가 있어 모델을 다시 훈련 시키고자 할 때 사용된다. 모델 추천부는 모델의 훈련에는 관여하지 않고 프로세스 디자인부(30)에서 사용자의 필요에 따라 액티비티를 추천 받고자 할 때 사용된다. The above-described configuration in which the model recommendation unit and the model learning unit are divided and structured can develop, improve, and drive model learning and model recommendation separately, thereby increasing the efficiency of the activity recommendation system (AS). The operation timing of the model learning unit and the model recommendation unit is different. The model learning unit is involved in learning a new model or storing the learned model in a storage unit (eg, a non-volatile recording medium such as a database or disk) or loading it into the system's memory. It is used when there is training data and you want to retrain the model. The model recommendation unit is used when the process design unit 30 wants to receive an activity recommendation according to the user's needs without being involved in model training.

상기 인공신경망 구성부(42)는 상기 인공신경망 모델부(20)의 구성에 필요한 뉴런의 개수, 활성화 함수의 종류, 훈련 에포크의 크기, 최적화 방법의 종류 중의 적어도 어느 하나를 설정한다. The artificial neural network configuration unit 42 sets at least one of the number of neurons required for the construction of the artificial neural network model unit 20 , the type of activation function, the size of the training epoch, and the type of the optimization method.

뉴런의 개수, 활성화 함수의 종류는 상술한 표 1의 예와 같이 설정할 수 있다. The number of neurons and the type of activation function can be set as in the example of Table 1 above.

인공신경망의 훈련을 위한 최적화 방법은 여러가지가 있으며, 본 실시예의 경우 Adam(Adopative Moment Estimating)을 사용하고, 손실함수는 최소제곱오류를 사용하며, 이에 한정되는 것은 아니다. There are various optimization methods for training the artificial neural network, and in this embodiment, Adam (Adopative Moment Estimating) is used, and the loss function uses least squares error, but is not limited thereto.

에포크란 인공신경망에서 전체 데이터에 대해서 순전파와 역전파가 끝난 상태를 말한다. 일예로 에포크가 50이라고 하면, 전체 데이터 단위로는 총 50번 학습한 것이다. 에포크 크기가 지나치거나 너무 적으면 과적합 또는 과소적합이 발생할 수 있다.An epoch refers to a state in which forward propagation and back propagation have been completed for all data in an artificial neural network. For example, if the epoch is 50, it means that a total of 50 lessons are learned in terms of the entire data unit. If the epoch size is too small or too large, overfitting or underfitting can occur.

상기 데이터 전처리부(44)는 상기 프로세스 데이터에 포함된 텍스트 기반의 액티비티 데이터를 순서적으로 추출하고, 숫자 기반의 데이터로 전처리하여 상기 훈련 데이터 및 목표 데이터를 수득한다. The data preprocessor 44 sequentially extracts text-based activity data included in the process data, and pre-processes it into number-based data to obtain the training data and target data.

바람직하게, 상기 훈련 데이터는 상기 프로세스 데이터에 포함된 하나 이상의 액티비티의 순서 조합에 관한 데이터이며, 상기 목표 데이터는 상기 훈련 데이터에 포함된 액티비티의 순서 조합의 다음 순서에 해당하는 액티비티에 관한 데이터이다. Preferably, the training data is data related to a sequence combination of one or more activities included in the process data, and the target data is data related to an activity corresponding to a next sequence of sequence combinations of activities included in the training data.

본 실시예의 액티비티 추천 시스템(AS)은 기본적으로 액티비티들의 순서를 기반으로 다음 액티비티를 확률적으로 선택할 수 있도록 추천하므로, 훈련 데이터는 프로세스 데이터에 포함된 하나 이상의 액티비티의 순서 조합에 관한 데이터를 포함하여 구성된다. Since the activity recommendation system (AS) of this embodiment basically recommends probabilistically selecting the next activity based on the order of the activities, the training data includes data on the order combination of one or more activities included in the process data. is composed

더욱 바람직하게, 본 실시예의 액티비티 추천 시스템(AS)은 액티비티들의 순서와 함께 병렬 연결 정보, 액티비티 속성 정보를 포함하는 액티비티들의 컨텍스트를 기반으로 다음 액티비티를 확률적으로 선택할 수 있도록 추천한다. More preferably, the activity recommendation system (AS) of the present embodiment recommends probabilistically selecting the next activity based on the context of the activities including the parallel connection information and activity attribute information along with the order of the activities.

이를 위해, 상기 훈련 데이터는 상기 프로세스 데이터에 포함된 병렬 연결 액티비티를 상기 순서 조합을 구성하는 액티비티로서 포함한다. To this end, the training data includes a parallel connection activity included in the process data as an activity constituting the sequence combination.

또한, 상기 훈련 데이터는 상기 프로세스 데이터에 포함된 액티비티의 속성을 상기 순서 조합을 구성하는 액티비티로서 포함한다. In addition, the training data includes the properties of the activities included in the process data as activities constituting the sequence combination.

다른예로서, 상기 프로세스 데이터에 포함된 하나의 액티비티 타입이 2 이상의 속성을 갖는 경우, 상기 훈련 데이터는 해당 액티비티 타입을 각각의 속성별로 별개의 액티비티 타입인 것으로 구분하여 액티비티의 순서 조합을 구성한다. As another example, when one activity type included in the process data has two or more properties, the training data classifies the corresponding activity type as a separate activity type for each property to configure an order combination of activities.

데이터 전처리부(44)는 프로세스 데이터들을 입력받고, 액티비티 데이터들을 순서적으로 추출하고, 텍스트를 매핑되는 숫자로 변환한다. 일반적으로 프로세스 데이터는 액티비티들의 순서적, 병렬적 정보를 가지고 있는데, N개의 액티비티의 순서로 구성된 프로세스에서, 시작 액티비티를 기준으로 N-1 개의 순서적 정보를 가진 데이터를 추출하여 사용한다. The data preprocessor 44 receives process data, sequentially extracts activity data, and converts text into mapped numbers. In general, process data has sequential and parallel information of activities. In a process composed of N activities, data with N-1 sequence information is extracted and used based on the start activity.

일예로, 데이터 전처리에서 액티비티들의 숫자 매핑은 0부터 양수로 시작한다. 그런데 훈련될 액티비티들의 수는 가변적이므로, 본 실시예에서는 훈련 데이터를 일정 크기의 데이터로 설정하고, 나머지 남은 공간은 '-1'로 패딩 처리하여 학습한다. 이는 순환 신경망 자체의 구조를 데이터 상태에 따라 개조하는 것보다 구성이나 훈련이 쉽고 수렴도 빠르게 동작한다. For example, in data preprocessing, numeric mapping of activities starts from 0 as a positive number. However, since the number of activities to be trained is variable, in this embodiment, training data is set as data of a certain size, and the remaining space is padded with '-1' for learning. It is easier to configure and train than to remodel the structure of the recurrent neural network according to the data state, and convergence is also faster.

하기 표 2의 비펠 코드를 참조하여 액티비티 추출 및 전처리를 예시 설명한다. Activity extraction and pre-processing will be exemplarily described with reference to the bipel code in Table 2 below.

<process> 
<sequence> 
<receive/> 
<assign/> 
<invoke/> 
<reply/> 
</sequence> 
</process>
<process>
<sequence>
<receive/>
<assign/>
<invoke/>
<reply/>
</sequence>
</process>

상기 표 2의 비펠 코드에 포함된 액티비티는 다음과 같이 추출될 수 있다. The activity included in the bipel code of Table 2 may be extracted as follows.

- 전처리 1: 추출 : [receive, assign, invoke, reply]- Preprocessing 1: Extraction: [receive, assign, invoke, reply]

- 전처리 2: 숫자로 매핑 :  [1, 2, 3, 4]- Preprocessing 2: mapping to numbers :  [1, 2, 3, 4]

상기 표 2의 비펠 코드에 포함된 프로세스 데이터의 액티비티가 receive(1), assign(2), invoke(3), reply(4)의 순서이고, 훈련 프로세스가 포함하는 최대 액티비티 수가 10개 이면, 훈련 데이터와 목표 데이터는 다음과 같이 전처리 될 수 있다. (-1 패딩 처리시)If the activity of the process data included in the bipel code of Table 2 is in the order of receive(1), assign(2), invoke(3), and reply(4), and the maximum number of activities included in the training process is 10, training Data and target data can be preprocessed as follows. (with -1 padding)

- 훈련 데이터 1 : 1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 목표 데이터 : 2 - Training data 1: 1,-1,-1,-1,-1,-1,-1,-1,-1,-1, target data: 2

- 훈련 데이터 2 : 1, 2,-1,-1,-1,-1,-1,-1,-1,-1, 목표 데이터 : 3 - Training data 2: 1, 2,-1,-1,-1,-1,-1,-1,-1,-1, target data: 3

- 훈련 데이터 3 : 1, 2, 3,-1,-1,-1,-1,-1,-1,-1, 목표 데이터 : 4 - Training data 3: 1, 2, 3,-1,-1,-1,-1,-1,-1,-1, target data: 4

일예로, 인공신경망 학습에 사용될 목표 데이터는 액티비티 수 만큼의 원핫인코딩(one-hot-encoding)이 되어 입력된다. 예를 들어, 프로세스 데이터로부터 수득한 목표 데이터에 포함된 액티비티의 전체 타입 수가 10개인 경우, 현재 학습에 사용할 목표 데이터가 3이면 [0,0,0,1,0,0,0,0,0,0] 형태의 벡터로 변환된다. For example, target data to be used for artificial neural network learning is input as one-hot-encoding as many as the number of activities. For example, if the total number of types of activities included in target data obtained from process data is 10, if the target data to be used for current learning is 3, [0,0,0,1,0,0,0,0,0 ,0] is converted into a vector of the form.

일반적으로 프로세스 데이터는 액티비티들의 순서 정보만 포함하는 것이 아니라, 이 액티비티의 흐름에 병렬 인지에 대한 여부와, 이전 액티비티들의 세부 속성 정보들에 대한 컨텍스트 정보도 포함한다. In general, process data includes not only order information of activities, but also context information on whether the activity is parallel to the flow and detailed attribute information of previous activities.

일예로, 병렬 여부에 대한 정보와 액티비티들의 세부 속성 정보는 일반 액티비티 정보와 유사한 형태로 데이터 전처리될 수 있다. For example, information on parallelism and detailed attribute information of activities may be data preprocessed in a form similar to general activity information.

하기 표 3의 비펠 코드를 참조하여 액티비티 추출 및 전처리를 예시 설명한다. Activity extraction and pre-processing will be exemplarily described with reference to the bipel code of Table 3 below.

<process> 
<parallel> 
<sequence> 
<receive/> 
<reply/> 
</sequence> 
<sequence> 
<invoke/> 
<assign/> 
</sequence> 
</parallel > 
</process> 
<process>
<parallel>
<sequence>
<receive/>
<reply/>
</sequence>
<sequence>
<invoke/>
<assign/>
</sequence>
</parallel>
</process>

- 전처리 1: 추출 : - Pretreatment 1: Extraction:

[parallel, sequence, receive, reply][parallel, sequence, receive, reply]

[parallel, sequence, invoke, assign][parallel, sequence, invoke, assign]

- 전처리 2: 숫자로 매핑 : (receive(1), assign(2), invoke(3), reply(4), parallel(50), sequence(40)으로 숫자 매핑시)- Preprocessing 2: mapping to numbers :  (when mapping numbers to receive(1), assign(2), invoke(3), reply(4), parallel(50), sequence(40))

[50, 40, 1, 4][50, 40, 1, 4]

[50, 40, 3, 2][50, 40, 3, 2]

상기 인공신경망 학습부(40)는 상기 프로세스 디자인부(30)에서 제공하는 프로세스 데이터에 포함된 액티비티 순서 조합에 기반하여 생성된 훈련 데이터 및 목표 데이터의 데이터 세트를 수득하고, 상기 데이터 세트를 입력하여 인공신경망 모델부(20)를 학습시킨다. 훈련 데이터 및 목표 데이터의 데이터 세트를 수득하는 것은 상술한 바와 같이 데이터 전처리부(44)를 통해 수득할 수 있다. The artificial neural network learning unit 40 obtains a data set of training data and target data generated based on a combination of activity sequences included in the process data provided by the process design unit 30, and inputs the data set. The artificial neural network model unit 20 is trained. Obtaining a data set of the training data and the target data may be obtained through the data preprocessing unit 44 as described above.

훈련 데이터와 목표 데이터가 입력이 되면서 인공신경망 구성부(42)에서 설정한 배치 처리에 따라 배치 학습이 수행된다. 훈련의 횟수는 에포크수의 설정에 따라 결정되어, 학습이 수행된다. As training data and target data are input, batch learning is performed according to the batch processing set by the artificial neural network configuration unit 42 . The number of training is determined according to the setting of the number of epochs, and learning is performed.

인공신경망 훈련에서 정확도와 오차율에 따라 적절한 신경망의 재구성과 기타 설정 값들의 변경이 필요하다. 최종 정확도는, 추천되는 액티비티가 고정된 하나가 아니고 다양한 패턴의 액티비티들의 조합이 가능하므로, 일예로 약 80% 정도를 목표로 설정하는 것이 바람직하다. In artificial neural network training, it is necessary to properly reconfigure the neural network and change other settings according to the accuracy and error rate. As for the final accuracy, since a recommended activity is not a fixed one, but a combination of various patterns of activities is possible, it is preferable to set a target of, for example, about 80%.

인공신경망의 학습은 훈련 데이터와 목표 데이터의 데이터 세트의 입력으로 실행되는데, 훈련 데이터가 입력되고 구성된 인공신경망의 가중치 값들과 연산되어져 최종 출력값과 목표 데이터의 오차를 감소시켜 주는 방향으로 진행된다. 발생한 오차 값에 따라 인공신경망은 역전파(Backpropagation) 기법으로 모든 신경망의 가중치를 조정하게 되고, 훈련을 반복하면 이 가중치 값들은 점진적으로 목표값에 수렴하도록 학습된다. Learning of the artificial neural network is carried out with the input of the training data and the data set of the target data, and the training data is input and calculated with the weight values of the constructed artificial neural network to reduce the error between the final output value and the target data. According to the generated error value, the artificial neural network adjusts the weights of all neural networks using the backpropagation technique, and if training is repeated, these weight values are gradually learned to converge to the target value.

도 3을 참조하면 하드웨어적 관점에서, 본 실시예의 액티비티 추천 시스템(AS)은 하나 이상의 명령을 저장하는 메모리(2) 및 상기 메모리(2)에 저장된 상기 하나 이상의 명령을 실행하는 프로세서(4)를 포함하며, 본 실시예의 액티비티 추천 방법을 실행하도록 매체에 저장된 컴퓨터 프로그램이 실행되는 컴퓨팅 장치이다. 본 실시예의 액티비티 추천 시스템(AS)은 데이터 입출력 인터페이스(6)와 통신 인터페이스(8), 데이터 표시 수단(3), 데이터 저장 수단(5)을 더욱 포함할 수 있다. Referring to FIG. 3 , from a hardware point of view, the activity recommendation system AS of this embodiment includes a memory 2 that stores one or more instructions and a processor 4 that executes the one or more instructions stored in the memory 2 . It is a computing device in which the computer program stored in the medium is executed to execute the activity recommendation method of the present embodiment. The activity recommendation system AS of this embodiment may further include a data input/output interface 6 , a communication interface 8 , data display means 3 , and data storage means 5 .

도 5 및 도 6은 본 발명의 실시예에 따른 액티비티 추천 방법의 흐름도이다. 5 and 6 are flowcharts of an activity recommendation method according to an embodiment of the present invention.

먼저, 인공신경망 모델부(20)를 학습시키는 과정을 설명한다. First, a process for learning the artificial neural network model unit 20 will be described.

PS1 단계에서 액티비티 추천 시스템(AS)은, 상기 프로세스 디자인부(30)에서 제공하는 프로세스 데이터에 포함된 액티비티 순서 조합에 기반하여 생성된 훈련 데이터 및 목표 데이터의 데이터 세트를 수득한다. In step PS1, the activity recommendation system AS obtains a data set of training data and target data generated based on a combination of activity sequences included in the process data provided by the process design unit 30 .

이를 위해, 액티비티 추천 시스템(AS)은 상기 인공신경망 구성부(42)를 통해, 상기 인공신경망 모델부(20)의 구성에 필요한 뉴런의 개수, 활성화 함수의 종류, 훈련 에포크의 크기, 최적화 방법의 종류 중의 적어도 어느 하나를 설정한다. To this end, the activity recommendation system (AS), through the artificial neural network configuration unit 42, the number of neurons required to configure the artificial neural network model unit 20, the type of activation function, the size of the training epoch, the optimization method Set at least one of the types.

또한, 액티비티 추천 시스템(AS)은 상기 데이터 전처리부(44)를 통해, 상기 프로세스 데이터에 포함된 텍스트 기반의 액티비티 데이터를 순서적으로 추출하고, 숫자 기반의 데이터로 전처리하여 상기 훈련 데이터 및 목표 데이터를 수득한다. 데이터 전처리부(44)를 통한 데이터 전처리는 인공신경망 모델부(20)를 통한 인공신경망 구성과 병렬적으로 이뤄질 수 있다. In addition, the activity recommendation system (AS) sequentially extracts the text-based activity data included in the process data through the data pre-processing unit 44, and pre-processes it into number-based data to obtain the training data and target data. to obtain Data preprocessing through the data preprocessing unit 44 may be performed in parallel with the artificial neural network configuration through the artificial neural network model unit 20 .

일예로, 훈련 데이터 및 목표 데이터의 데이터 세트를 수득하기 위한 프로세스 데이터는, 프로세스 디자인부(30)에 의해 기존에 완성된 또는 사용 중인 비즈니스 프로세스에 관한 정보가 저장된 프로세스 데이터 저장부(50)로부터 수득할 수 있다. For example, the process data for obtaining a data set of training data and target data is obtained from the process data storage unit 50 in which information about a business process previously completed or in use by the process design unit 30 is stored. can do.

PS2 단계에서 액티비티 추천 시스템(AS)은, 상기 데이터 세트를 입력하여 인공신경망 모델부(20)를 학습시킨다. In step PS2, the activity recommendation system (AS) trains the artificial neural network model unit 20 by inputting the data set.

학습된 인공신경망 모델은 저장부(예, 데이터베이스, 비휘발성 기록매체)에 저장되며, 후술하는 바와 같이 매개변수 데이터를 이용한 액티비티의 확률적 추천을 위해 액티비티 추천 시스템(AS)에 로드된다. The trained artificial neural network model is stored in a storage unit (eg, a database, a non-volatile recording medium), and is loaded into the activity recommendation system (AS) for probabilistic recommendation of an activity using parameter data, as will be described later.

다음으로, 프로세스 디자인부(30)를 이용하여 사용자가 비즈니스 프로세스 모델을 디자인하는 과정에서 액티비티를 확률적으로 추천하는 과정을 설명한다. Next, a process of probabilistically recommending an activity in the process of a user designing a business process model using the process design unit 30 will be described.

S1 단계에서 액티비티 추천 시스템(AS)은, 액티비티 순서 조합에 기반하여 생성된 매개변수 데이터를 프로세스 디자인부(30)로부터 전달받는다. In step S1 , the activity recommendation system AS receives the parameter data generated based on the activity sequence combination from the process design unit 30 .

액티비티 순서 조합은, 사용자(프로세스 설계자)가 프로세스 디자인부(30)를 이용하여 디자인 중인 프로세스에서 현재까지 순서적으로 연결된 액티비티들의 순서 조합 정보를 말한다. The activity sequence combination refers to sequence combination information of activities sequentially connected up to now in a process being designed by a user (a process designer) using the process design unit 30 .

매개변수 데이터는 액티비티의 순서 데이터와 병렬 여부, 액티비티들의 세부 속성 등의 다양한 컨텍스트 정보들을 포함하고, 데이터 전처리에 의해 액티비티 순서 조합을 훈련 데이터와 동일한 데이터 형태로 처리한 데이터로 이해될 수 있다. The parameter data includes various context information such as whether the activity is parallel with the order data and detailed properties of the activities, and may be understood as data in which the activity order combination is processed in the same data form as the training data by data preprocessing.

S2 단계에서 액티비티 추천 시스템(AS)은, 상기 매개변수 데이터를 학습된 인공신경망 모델부(20)에 입력한다. In step S2, the activity recommendation system (AS) inputs the parameter data to the trained artificial neural network model unit 20 .

이를 위해 액티비티 추천 시스템(AS)은 저장부(예, 데이터베이스, 비휘발성 기록매체)에 저장되어 있는 학습된 인공신경망 모델을 로드하여, 인공신경망 모델부(20)를 구동한다. To this end, the activity recommendation system (AS) loads the learned artificial neural network model stored in a storage unit (eg, a database, a non-volatile recording medium), and drives the artificial neural network model unit 20 .

S3 단계에서 액티비티 추천 시스템(AS)은, 상기 인공신경망 모델부(20)를 이용하여, 상기 매개변수 데이터에 포함된 액티비티의 순서 조합의 다음 순서의 액티비티를 확률값 형태로 추천하는 액티비티 추천 데이터를 수득한다. In step S3, the activity recommendation system (AS) obtains activity recommendation data that recommends, in the form of a probability value, an activity of the next order of the sequence combination of activities included in the parameter data, using the artificial neural network model unit 20 . do.

이를 위해 액티비티 추천 시스템(AS)은 매개변수 데이터를 인공신경망 모델부(20)에 입력하고, 인공신경망 모델부(20)는 입력된 매개변수 데이터에 기초하여 액티비티들의 각 추천 확률을 제공한다. To this end, the activity recommendation system AS inputs parameter data to the neural network model unit 20, and the neural network model unit 20 provides each recommendation probability of the activities based on the input parameter data.

S4 단계에서 액티비티 추천 시스템(AS)은, 상기 인공신경망 모델부(20)에서 수득한 액티비티 추천 데이터를 상기 프로세스 디자인부(30)로 반환한다. In step S4 , the activity recommendation system AS returns the activity recommendation data obtained from the neural network model unit 20 to the process design unit 30 .

이 과정에서, 액티비티 추천 서비스부(10)는 제공받은 각 액티비티의 추천 확률을 호출 서비스에 맞게 포맷팅 하여 반환하며, 프로세스 디자인부(30)는 최종 전달 받은 추천 확률을 사용자 인터페이스를 통해 사용자에게 보여주고 선택하게 한다. In this process, the activity recommendation service unit 10 formats and returns the recommendation probability of each provided activity according to the calling service, and the process design unit 30 shows the final delivered recommendation probability to the user through the user interface, let you choose

사용자가 다음 순서의 액티비티를 선택하면 프로세스 디자인부(30)는 선택된 액티비티를 현재 디자인 작업 중인 액티비티 연결의 후순위 위치에 결합하고, 다음 순서의 액티비티를 추천 및 선택하는 단계로 진행하게 된다. 작업 중인 비즈니스 프로세스가 완성되어 사용자가 저장 처리를 하게 되면, 완성된 비즈니스 프로세스에 관한 정보는 프로세스 데이터 저장부(50)에 저장된다. When the user selects an activity of the next order, the process design unit 30 combines the selected activity with a lower priority position of the activity connection currently being designed, and proceeds to the step of recommending and selecting the activity of the next order. When the working business process is completed and the user performs storage processing, information on the completed business process is stored in the process data storage unit 50 .

본 발명의 실시예에 따른 액티비티 추천 방법을 예시적으로 설명한다. An activity recommendation method according to an embodiment of the present invention will be exemplarily described.

예를 들어, 대출 신청 비즈니스 프로세스에서, 신청자의 신용 한도를 조회하는 액티비티에 따라 대출 신청을 진행할 것인지 아니면 취소될 것인지에 대한 프로세스의 경우, 순서적으로 먼저 조회 한도 액티비티를 꼭 호출하여야 하므로 순서적 프로세스에 해당한다. For example, in the loan application business process, in the case of the process of whether to proceed or cancel the loan application according to the activity of inquiring the credit limit of the applicant, the inquiry limit activity must be called first in order, so the sequential process corresponds to

병렬적 프로세스의 예로서, 최저 대출이자 조회 프로세스를 예를 들면, 은행 A, B ,C의 대출이자를 조회하는 경우 순서적일 필요가 없어 병렬적으로 호출하고,모두 완료되면 조합하여 값을 반환하므로 병렬적 프로세스에 해당한다. As an example of a parallel process, the lowest loan interest inquiry process, for example, does not need to be in order when inquiring the loan interest of banks A, B, and C. It is a parallel process.

세부 속성과 관련하여, 일예로 invoke 액티비티의 경우 외부의 서비스를 호출하는 액티비티인데, 외부 호출 서비스의 타입에 따라 웹 서비스를 포함하는 다양한 IT 서비스, FTP, 파일, 데이터베이스, 하둡, SAP 등 다양한 타입의 세부 속성들이 있다. 이러한 세부 속성을 감안하는 경우, 더욱 정확한 액티비티 추천이 가능하다. 아래 표 4의 예시의 경우, invoke 액티비티가 rest, ftp, webservice의 3가지 세부 속성을 갖는다. Regarding detailed properties, for example, the invoke activity is an activity that calls an external service. Depending on the type of the external call service, various IT services including web services, FTP, file, database, Hadoop, SAP, etc. There are detailed properties. Considering these detailed attributes, more accurate activity recommendation is possible. In the example of Table 4 below, the invoke activity has three detailed properties: rest, ftp, and webservice.

위와 같이, 순서적, 병렬적 요소와 세부 속성이 포함된 대출 신청 프로세스의 비펠(BPEL) 코드가 하기 표 4와 같이 예시될 수 있다. 일예로, 이러한 비펠 코드는 기존에 프로세스 디자인부(30)에 완성되어 프로세스 데이터 저장부(50)에 저장된 비즈니스 프로세스를 정의하는 코드일 수 있으며, 또는 사용자에 의해 학습을 위해 입력된 코드일 수 있다. As above, the BPEL code of the loan application process including sequential and parallel elements and detailed attributes can be exemplified as shown in Table 4 below. As an example, this bipel code may be a code defining a business process previously completed in the process design unit 30 and stored in the process data storage unit 50, or may be a code input by a user for learning. .

<process name=”대출 신청”>
<sequence name=””
<invoke name=”대출한도 조회” binding=””
<if>
<then value=”대출신청>대출한도”>
<terminate/>
</then>
</if>
<parallel>
<sequence>
<invoke target=”은행A”binding=”rest” />
<assign source=”은행 이자” target=”응답 문서” />
</sequence>
<sequence>
<invoke target=”은행 B”binding=” ftp” />
<invoke target=”데이터베이스” />
</sequence>
<sequence>
<invoke target=”은행 C”binding=”webservice” />
<reply/>
</sequence>
</parallel>
</sequence>
</process>
<process name="Application for Loan">
<sequence name=""
<invoke name="Lending limit inquiry"binding=""
<if>
<then value=”Loan application>Loan limit”>
<terminate/>
</then>
</if>
<parallel>
<sequence>
<invoke target=”Bank A”binding=”rest” />
<assign source=”bank interest” target=”response document” />
</sequence>
<sequence>
<invoke target=”Bank B”binding=”ftp” />
<invoke target="database"/>
</sequence>
<sequence>
<invoketarget="BankC"binding="webservice"/>
<reply/>
</sequence>
</parallel>
</sequence>
</process>

상기 표 4의 비펠 코드에 대해 훈련 데이터 및 목표 데이터의 데이터 세트를 구성하기 위한 액티비티의 순서 조합을 추출하면 다음과 같이 구성된다. When an order combination of activities for composing a data set of training data and target data is extracted with respect to the Bifel code of Table 4, it is configured as follows.

순서order 훈련데이터 정의Training data definition 목표 데이터 정의Target data definition 1One sequencesequence invokeinvoke 22 sequence, invokesequence, invoke ifif 33 sequence, invoke, ifsequence, invoke, if thenthen 44 sequence, invoke, if, thensequence, invoke, if, then terminateterminate 55 sequence, invoke, ifsequence, invoke, if parallelparallel 66 sequence, invoke, if, parallel, sequencesequence, invoke, if, parallel, sequence invokeinvoke 77 sequence, invoke, if, parallel, sequence, invoke-restsequence, invoke, if, parallel, sequence, invoke-rest assignassign 88 sequence, invoke, if, parallel, sequence, invoke-ftpsequence, invoke, if, parallel, sequence, invoke-ftp invokeinvoke 99 sequence, invoke, if, parallel, sequence, invoke-webservicesequence, invoke, if, parallel, sequence, invoke-webservice replyreply

목표 데이터 정의에 있어서, terminate 액티비티는 해당 액티비티에서 프로세스가 종료하여 더 이상 이어질 추천 액티비티가 없는 상황이므로, 목표 데이터에만 포함되고, 훈련데이터에는 포함되지 않는다. In the definition of the target data, the terminate activity is included only in the target data and is not included in the training data because the process is terminated in the corresponding activity and there is no recommended activity to be continued.

목표 데이터 정의에 있어서, parallel 다음에 나오는 sequence 액티비티는 추천 대상 액티비티에 포함하지 않는다. 이는, 어떤 액티비티 다음에 추천될 액티비티를 추천하는 경우에 순서를 위해 순서적 액티비티를 추천하지 않고 다음 액티비티를 추천하여 포함시키면 sequence 액티비티는 묵시적으로 포함되는 것으로 볼 수 있기 때문이다. In the target data definition, the sequence activity following parallel is not included in the recommended activity. This is because, in the case of recommending an activity to be recommended after an activity, if the next activity is recommended and included without recommending the sequential activity for the sake of order, the sequence activity can be considered to be implicitly included.

일예로, 순서 5의 경우, 서비스 요청자의 요청 메시지에 기초하여 대출 한도 시스템을 호출하고(invoke), 한도에 따른 액션을 다르게 하는(if) 의미가 있다. For example, in the case of step 5, there is a meaning of invoking the loan limit system based on the request message of the service requester (invoke) and different actions according to the limit (if).

순서 7,8,9의 훈련 데이터에 포함된 invoke-rest, invoke-ftp, invoke-webservice 액티비티는 순서 6의 목표 데이터 invoke와 동일한 액티비티이되, 속성(rest, ftp, webservice)에 따라 별도의 액티비티인 것처럼 훈련 데이터를 구분하여 정의한 것이다. The invoke-rest, invoke-ftp, and invoke-webservice activities included in the training data of steps 7, 8, and 9 are the same activities as the target data invoke of step 6, but are separate activities according to the attributes (rest, ftp, webservice). As such, it is defined by dividing the training data.

순서 6에서 목표 데이터를 invoke-rest, invoke-ftp, invoke-webservice 액티비티로 구분하지 않고, invoke 액티비티 한가지로만 설정하는 것은 위의 3 가지 액티비티를 구분하여도 각각의 액티비티에 대한 추천 확률이 동일하다는 점을 감안하여 훈련/목표 데이터 정책을 설정했기 때문이다. 즉, 목표 데이터로서 invoke 액티비티를 먼저 추천 받고 속성은 따로 입력(또는 추천) 하는 것으로 데이터 정책이 설정되어 훈련 데이터의 생성에 반영된 것이다. 만약 invoke-rest, invoke-ftp, invoke-webservice 액티비티의 3가지 구분을 동일한 확률로 추천 받는 것으로 데이터 정책이 설정되는 경우, 목표 데이터는 3가지로 구분해서 정의될 수도 있다. In step 6, the target data is not divided into invoke-rest, invoke-ftp, and invoke-webservice activities, but only one invoke activity is set. This is because the training/target data policy was set in consideration of In other words, as the target data, the invoke activity is first recommended and the attribute is input (or recommended) separately. The data policy is set and reflected in the generation of training data. If the data policy is set such that three categories of invoke-rest, invoke-ftp, and invoke-webservice activities are recommended with the same probability, target data may be defined by dividing it into three categories.

변형예로서, 훈련 데이터 및 목표 데이터의 데이터 세트는 다음과 같이 구성될 수도 있다. As a variant, the data set of training data and target data may be configured as follows.

순서order 훈련데이터 정의Training data definition 목표 데이터 정의Target data definition 1One sequencesequence invokeinvoke 22 sequence, invokesequence, invoke ifif 33 sequence, invoke, ifsequence, invoke, if thenthen 44 sequence, invoke, if, thensequence, invoke, if, then terminateterminate 55 sequence, invoke, ifsequence, invoke, if parallelparallel 66 sequence, invoke, if, parallel, sequencesequence, invoke, if, parallel, sequence invokeinvoke 77 sequence, invoke, if, parallel, sequence, invoke, restsequence, invoke, if, parallel, sequence, invoke, rest assignassign 88 sequence, invoke, if, parallel, sequence, invoke, ftpsequence, invoke, if, parallel, sequence, invoke, ftp invokeinvoke 99 sequence, invoke, if, parallel, sequence, invoke, webservicesequence, invoke, if, parallel, sequence, invoke, webservice replyreply

상기 표 5에서는, 프로세스 데이터에 포함된 하나의 액티비티 타입이 2 이상의 속성을 갖는 경우, 훈련 데이터는 해당 액티비티 타입을 각각의 속성별로 별개의 액티비티 타입인 것으로 구분하여 액티비티의 순서 조합을 구성한다. In Table 5, when one activity type included in the process data has two or more properties, the training data classifies the corresponding activity type as a separate activity type for each property to constitute an order combination of activities.

이와 비교하여, 표 6의 예에서는, 훈련 데이터가 프로세스 데이터에 포함된 액티비티의 속성(rest, ftp, webservice)을 순서 조합을 구성하는 액티비티로서 직접 포함하도록 구성된다. In comparison, in the example of Table 6, the training data is configured to directly include the attributes (rest, ftp, webservice) of the activity included in the process data as the activity constituting the sequence combination.

훈련 데이터의 추출은 추천되는 항목이나 그 환경적인 요소에 따라 다양하기 때문에 프로세스 디자인 환경을 감안하여 위 2가지 방식 중 어느 하나를 선택할 수 있다. 이를 감안하여, 상기 인공신경망 구성부(42)는 상기 인공신경망 모델부(20)의 구성에 필요한 뉴런의 개수, 활성화 함수의 종류, 훈련 에포크의 크기, 최적화 방법의 종류 등을 설정한다. Since the extraction of training data varies depending on the recommended item or its environmental factors, one of the above two methods can be selected in consideration of the process design environment. In consideration of this, the artificial neural network configuration unit 42 sets the number of neurons required for the construction of the artificial neural network model unit 20 , the type of activation function, the size of the training epoch, the type of optimization method, and the like.

상기 표 5의 경우, 입력층(21)은 훈련 데이터의 수가 가장 큰 순서 7(또는 순서 8,9)에 포함된 액티비티 sequence, invoke, if, parallel, sequence, invoke-rest의 개수가 6인 것을 감안하여, 입력 뉴런(21a)의 개수를 6으로 설정한다. In the case of Table 5, the input layer 21 indicates that the number of activity sequences, invoke, if, parallel, sequence, and invoke-rest included in sequence 7 (or sequence 8, 9) with the largest number of training data is 6 Taking this into account, the number of input neurons 21a is set to six.

출력층(25)은 목표 데이터를 구성하는 액티비티의 타입 개수이므로, 목표 데이터에 포함된 액티비티인 invoke, if, then, terminate, parallel, assign, reply 의 타입이 7가지인 점을 감안하여 출력 뉴런(25a)의 개수를 7로 설정한다. Since the output layer 25 is the number of types of activities constituting the target data, the output neuron 25a ) is set to 7.

본 발명자의 실험 결과, GRU 셀(22)의 뉴런 개수는 입력층(21)의 입력 뉴런(21a)의 개수보다 2배 정도 많은 경우에 가장 잘 수렴하는 것으로 확인되었으며, 이를 감안하여 표 5의 실시예의 경우 GRU 셀(22)의 뉴런 개수는 12로 정의한다. As a result of the inventor's experiment, it was confirmed that the number of neurons in the GRU cell 22 converges best when there are about twice as many as the number of input neurons 21a in the input layer 21. In the case of the example, the number of neurons in the GRU cell 22 is defined as 12.

본 발명자의 실험 결과 GRU 셀(22)의 뉴런 개수가 입력층(21)의 입력 뉴런(21a)의 개수의 2배보다 큰 경우 수렴은 비슷하고 실행 속도가 느려지고, 반대로 2배보다 작은 경우 실행 속도는 빨라지지만 수렴은 다소 떨어지는 것으로 확인되었다. 다른예로, 입력층(21)의 입력 뉴런(21a)의 개수가 50인 경우에는, GRU 셀(22)의 뉴런 개수는 100으로 설정할 수 있다. As a result of the present inventor's experiment, when the number of neurons in the GRU cell 22 is greater than twice the number of input neurons 21a in the input layer 21, convergence is similar and the execution speed is slow, and conversely, when the number of neurons is less than 2 times, the execution speed , but the convergence was confirmed to be slightly lower. As another example, when the number of input neurons 21a of the input layer 21 is 50, the number of neurons of the GRU cell 22 may be set to 100.

은닉층(23)의 뉴런 개수는 GRU 셀(22)의 뉴런 개수의 2배인 24로 정의한다. The number of neurons in the hidden layer 23 is defined as 24, which is twice the number of neurons in the GRU cell 22 .

본 발명자의 실험 결과 은닉층(23)의 뉴런 개수가 GRU 셀(22)의 뉴런의 개수의 2배보다 큰 경우 수렴은 비슷하고 실행 속도가 느려지고, 반대로 2배보다 작은 경우 실행 속도는 빨라지지만 수렴은 다소 떨어지는 것으로 확인되었다. 다른예로, GRU 셀(22)의 뉴런의 개수가 100인 경우에는, 은닉층(23)의 뉴런 개수는 200으로 설정할 수 있다. As a result of the inventor's experiment, when the number of neurons in the hidden layer 23 is greater than twice the number of neurons in the GRU cell 22, convergence is similar and the execution speed is slow, and conversely, when it is less than 2 times, the execution speed increases, but the convergence is was found to be slightly lowered. As another example, when the number of neurons in the GRU cell 22 is 100, the number of neurons in the hidden layer 23 may be set to 200.

배치 처리, 에포크의 설정은 인공신경망의 초기 학습시에 에러율이나 정확도에 따라 다르고, 훈련 데이터의 수에 따라 다르지만, 일반적으로 배치 처리는 256, 에포크는 100으로 설정할 수 있다. Batch processing and epoch settings vary depending on the error rate or accuracy during initial training of the artificial neural network and vary depending on the number of training data, but in general, batch processing can be set to 256 and epoch to 100.

배치 처리를 하는 이유는 특정 데이터에 종속적이지 않고 정답 데이터에 잘 수렴하기 위함이다. 배치 처리의 값은 훈련 데이터의 수나 훈련 중의 정확도나 에러율을 보면서 판단한다. 예를 들어 100개의 훈련 데이터가 있고 배치 처리가 20이면, 1개씩 훈련되는 것이 아니라, 100개중에 20개씩 블록으로 인공신경망에 훈련을 진행하게 된다. The reason for batch processing is to converge well on correct answer data without being dependent on specific data. The value of batch processing is judged by looking at the number of training data and the accuracy or error rate during training. For example, if there are 100 training data and batch processing is 20, instead of training one by one, the artificial neural network is trained in blocks of 20 out of 100.

드롭아웃의 RATE의 일반적인 설정 값은 0.5 이다. 이 값을 높일 경우 원본 데이터의 손실을 가져 올 수 있으며, 낮게 할 경우 드롭아웃이 적용되지 않을 수 있다.The typical setting value of RATE of dropout is 0.5. If you increase this value, the original data may be lost, and if it is set low, dropout may not be applied.

일예로, 프로세스 디자인부(30)를 이용하여 비즈니스 프로세스를 디자인하는 사용자가 표 5의 데이터 세트로 학습된 인공신경망 모델부(20)를 이용하여 액티비티 추천을 받는 경우에, 현재 디자인된 액티비티의 순서 조합이 sequence-invoke-if 이라면, 표 5의 순서 5의 목표 데이터와 같이 “parallel” 액티비티가 가장 높은 확률로 추천된다. As an example, when a user who designs a business process using the process design unit 30 receives an activity recommendation using the artificial neural network model unit 20 trained with the data set of Table 5, the order of the currently designed activity If the combination is sequence-invoke-if, the “parallel” activity is recommended with the highest probability as shown in the target data of sequence 5 in Table 5.

상술한 바와 같이, 본 발명은 프로세스 디자인에서 사용되는 보조적인 기능으로서 추천 기능을 제공하며, 프로세스 디자인의 오류를 감소시키고 프로세스 디자인의 완성 속도를 증가시킨다. 특히 본 발명은 단순히 최종 액티비티 정보만을 대상으로 하지 않고, 프로세스의 순서적 및/또는 병렬적 액티비티들을 대상으로 컨텍스트적인 추천이 가능하도록 시계열 분석 및 예측에 좋은 성능을 보이는 순환 신경망을 사용한다. 또한 추천 액티비티들을 확률적으로 다수개를 추천하여 사용자(프로세스 설계자)가 선택할 수 있도록 구성되므로, 디자인 효율성을 높여 프로세스 디자인에서 보조적 활용도가 높다. As described above, the present invention provides a recommendation function as an auxiliary function used in process design, reduces errors in process design, and increases the speed of completion of process design. In particular, the present invention uses a recurrent neural network showing good performance in time series analysis and prediction to enable contextual recommendation for sequential and/or parallel activities of a process, rather than simply targeting the final activity information. In addition, since it is configured so that a user (process designer) can select a number of recommended activities by probabilistic recommendation, the design efficiency is improved, and the auxiliary utility in process design is high.

본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램과 이를 기록한 컴퓨터 판독 가능 기록 매체를 포함한다. 상기 컴퓨터 판독 가능 기록 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD, USB 드라이브와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Embodiments of the present invention include a program for performing various computer-implemented operations and a computer-readable recording medium recording the same. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. The medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs, DVDs, and USB drives, magneto-optical media such as floppy disks, and ROM, RAM; Included are hardware devices specially configured to store and execute program instructions, such as flash memory and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

10: 액티비티 추천 서비스부
20: 인공신경망 모델부
21: 입력층
22: GRU(Gated Recurrent Unit) 셀
23: 은닉층
24: 드롭아웃(Dropout)층
25: 출력층
30: 프로세스 디자인부
40: 인공신경망 학습부
42: 인공신경망 구성부
44: 데이터 전처리부
AS: 액티비티 추천 시스템
10: Activity Recommendation Service Department
20: artificial neural network model unit
21: input layer
22: Gated Recurrent Unit (GRU) cell
23: hidden layer
24: Dropout floor
25: output layer
30: Process Design Department
40: artificial neural network learning unit
42: artificial neural network component
44: data preprocessor
AS: Activity recommendation system

Claims (16)

디자인 중인 비즈니스 프로세스의 액티비티 순서 조합에 기반하여 생성된 매개변수 데이터를 프로세스 디자인부로부터 전달받고, 상기 매개변수 데이터를 학습된 인공신경망 모델부에 입력하며, 상기 인공신경망 모델부에서 수득한 액티비티 추천 데이터를 상기 프로세스 디자인부로 반환하는 액티비티 추천 서비스부; 및
상기 매개변수 데이터에 포함된 액티비티의 순서 조합의 다음 순서의 액티비티를 활성화 함수에 기반한 확률값 형태로 추천하는 액티비티 추천 데이터를 수득하는 인공신경망 모델부;를 포함하며,
상기 디자인 중인 비즈니스 프로세스의 액티비티 순서 조합은,
상기 액티비티 추천 데이터를 반환받은 프로세스 디자인부가 사용자 인터페이스를 통해 선택받은 다음 순서의 액티비티를 후순위 위치에 결합한 액티비티 순서 조합을 포함하는 것을 특징으로 하는 인공신경망을 이용한 액티비티 추천 시스템.
Receive parameter data generated based on the combination of activity sequences of the business process being designed from the process design unit, input the parameter data to the trained artificial neural network model unit, and activity recommendation data obtained from the artificial neural network model unit an activity recommendation service unit returning to the process design unit; and
and an artificial neural network model unit for obtaining activity recommendation data that recommends an activity in the next order of the sequence combination of activities included in the parameter data in the form of a probability value based on an activation function;
The activity sequence combination of the business process being designed above is,
The activity recommendation system using an artificial neural network, characterized in that the process design unit receiving the activity recommendation data returned includes an activity sequence combination in which the activities of the next order selected through a user interface are combined with a lower priority position.
제1항에 있어서,
상기 프로세스 디자인부에서 제공하는 프로세스 데이터에 포함된 액티비티 순서 조합에 기반하여 생성된 훈련 데이터 및 목표 데이터의 데이터 세트를 수득하고, 상기 데이터 세트를 입력하여 인공신경망 모델부를 학습시키는 인공신경망 학습부;를 포함하여 구성된 인공신경망을 이용한 액티비티 추천 시스템.
According to claim 1,
An artificial neural network learning unit that obtains a data set of training data and target data generated based on a combination of activity sequences included in the process data provided by the process design unit, and inputs the data set to learn the artificial neural network model unit; An activity recommendation system using an artificial neural network that includes
제2항에 있어서,
상기 인공신경망 모델부의 구성에 필요한 뉴런의 개수, 활성화 함수의 종류, 훈련 에포크의 크기, 최적화 방법의 종류 중의 적어도 어느 하나를 설정하는 인공신경망 구성부;를 포함하여 구성된 것을 특징으로 하는 인공신경망을 이용한 액티비티 추천 시스템.
3. The method of claim 2,
An artificial neural network constructing unit configured to set at least one of the number of neurons, the type of activation function, the size of the training epoch, and the type of optimization required for the construction of the artificial neural network model unit; Activity recommendation system.
제2항에 있어서,
상기 프로세스 데이터에 포함된 텍스트 기반의 액티비티 데이터를 순서적으로 추출하고, 숫자 기반의 데이터로 전처리하여 상기 훈련 데이터 및 목표 데이터를 수득하는 데이터 전처리부;를 포함하여 구성된 것을 특징으로 하는 인공신경망을 이용한 액티비티 추천 시스템.
3. The method of claim 2,
A data pre-processing unit that sequentially extracts text-based activity data included in the process data and pre-processes it into number-based data to obtain the training data and target data; Activity recommendation system.
제2항에 있어서,
상기 훈련 데이터는 상기 프로세스 데이터에 포함된 하나 이상의 액티비티의 순서 조합에 관한 데이터이며,
상기 목표 데이터는 상기 훈련 데이터에 포함된 액티비티의 순서 조합의 다음 순서에 해당하는 액티비티에 관한 데이터인 것을 특징으로 하는 인공신경망을 이용한 액티비티 추천 시스템.
3. The method of claim 2,
The training data is data about an order combination of one or more activities included in the process data,
The target data is an activity recommendation system using an artificial neural network, characterized in that the data on the activity corresponding to the next order of the sequence combination of the activities included in the training data.
제5항에 있어서,
상기 훈련 데이터는 상기 프로세스 데이터에 포함된 병렬 연결 액티비티를 상기 순서 조합을 구성하는 액티비티로서 포함하는 것을 특징으로 하는 인공신경망을 이용한 액티비티 추천 시스템.
6. The method of claim 5,
The training data is an activity recommendation system using an artificial neural network, characterized in that it includes a parallel connection activity included in the process data as an activity constituting the sequence combination.
제5항에 있어서,
상기 훈련 데이터는 상기 프로세스 데이터에 포함된 액티비티의 속성을 상기 순서 조합을 구성하는 액티비티로서 포함하는 것을 특징으로 하는 인공신경망을 이용한 액티비티 추천 시스템.
6. The method of claim 5,
The training data is an activity recommendation system using an artificial neural network, characterized in that it includes the properties of the activity included in the process data as activities constituting the sequence combination.
제5항에 있어서,
상기 프로세스 데이터에 포함된 하나의 액티비티 타입이 2 이상의 속성을 갖는 경우,
상기 훈련 데이터는 해당 액티비티 타입을 각각의 속성별로 별개의 액티비티 타입인 것으로 구분하여 액티비티의 순서 조합을 구성하는 것을 특징으로 하는 인공신경망을 이용한 액티비티 추천 시스템.
6. The method of claim 5,
When one activity type included in the process data has two or more attributes,
The training data is an activity recommendation system using an artificial neural network, characterized in that by classifying the corresponding activity type as a separate activity type for each attribute, an order combination of activities is configured.
제1항에 있어서,
상기 인공신경망 모델부는,
입력층, GRU(Gated Recurrent Unit) 셀, 은닉층 및 출력층을 포함하는 GRU 방식의 순환신경망(RNN, Recurrent Neural Network)에 기반하는 것을 특징으로 하는 인공신경망을 이용한 액티비티 추천 시스템.
According to claim 1,
The artificial neural network model unit,
An activity recommendation system using an artificial neural network, characterized in that it is based on a Recurrent Neural Network (RNN) of the GRU method including an input layer, a Gated Recurrent Unit (GRU) cell, a hidden layer, and an output layer.
제9항에 있어서,
상기 인공신경망 모델부는,
은닉층 다음에 과적합을 피하기 위한 드롭아웃(Dropout)층을 더욱 포함하여 구성된 것을 특징으로 하는 인공신경망을 이용한 액티비티 추천 시스템.
10. The method of claim 9,
The artificial neural network model unit,
Activity recommendation system using an artificial neural network, characterized in that it further comprises a dropout layer to avoid overfitting after the hidden layer.
제9항에 있어서,
상기 인공신경망 모델부는,
출력층의 활성화 함수로서 소프트맥스(Softmax) 함수를 사용하며,
상기 매개변수 데이터에 포함된 액티비티의 순서 조합의 다음 순서를 구성하는 하나 이상의 액티비티에 대한 각각의 확률값을 수득하도록 구성된 것을 특징으로 하는 인공신경망을 이용한 액티비티 추천 시스템.
10. The method of claim 9,
The artificial neural network model unit,
As the activation function of the output layer, the Softmax function is used,
Activity recommendation system using an artificial neural network, characterized in that it is configured to obtain respective probability values for one or more activities constituting the next sequence of the sequence combination of activities included in the parameter data.
제9항에 있어서,
상기 인공신경망 모델부의 입력층은,
프로세스 데이터에 포함된 액티비티 순서 조합에 기반하여 생성된 훈련 데이터 및 목표 데이터의 데이터 세트 중 가장 많은 개수의 액티비티가 순서 조합을 구성하는 훈련 데이터에 기초하여 입력 뉴런의 개수가 결정되는 것을 특징으로 하는 인공신경망을 이용한 액티비티 추천 시스템.
10. The method of claim 9,
The input layer of the artificial neural network model unit,
Artificial, characterized in that the number of input neurons is determined based on the training data in which the largest number of activities among the data sets of the training data and the target data generated based on the sequence combination of activities included in the process data constitute the sequence combination Activity recommendation system using neural network.
제9항에 있어서,
상기 인공신경망 모델부의 출력층은,
프로세스 데이터에 포함된 액티비티 순서 조합에 기반하여 생성된 훈련 데이터 및 목표 데이터의 데이터 세트에 포함된 목표 데이터를 구성하는 서로 다른 액티비티의 타입 개수에 기초하여 출력 뉴런의 개수가 결정되는 것을 특징으로 하는 인공신경망을 이용한 액티비티 추천 시스템.
10. The method of claim 9,
The output layer of the artificial neural network model unit,
Artificial, characterized in that the number of output neurons is determined based on the number of types of different activities constituting the target data included in the data set of the training data and the target data generated based on the sequence of activities included in the process data Activity recommendation system using neural network.
하나 이상의 명령을 저장하는 메모리와 상기 메모리에 저장된 상기 하나 이상의 명령을 실행하는 프로세서를 포함하는 액티비티 추천 시스템에서 실행되는 액티비티 추천 방법으로서,
1) 디자인 중인 비즈니스 프로세스의 액티비티 순서 조합에 기반하여 생성된 매개변수 데이터를 프로세스 디자인부로부터 전달받는 단계;
2) 상기 매개변수 데이터를 학습된 인공신경망 모델부에 입력하는 단계;
3) 상기 인공신경망 모델부를 이용하여, 상기 매개변수 데이터에 포함된 액티비티의 순서 조합의 다음 순서의 액티비티를 활성화 함수에 기반한 확률값 형태로 추천하는 액티비티 추천 데이터를 수득하는 단계; 및
4) 상기 인공신경망 모델부에서 수득한 액티비티 추천 데이터를 상기 프로세스 디자인부로 반환하는 단계;를 포함하며,
상기 디자인 중인 비즈니스 프로세스의 액티비티 순서 조합은,
상기 액티비티 추천 데이터를 반환받은 프로세스 디자인부가 사용자 인터페이스를 통해 선택받은 다음 순서의 액티비티를 후순위 위치에 결합한 액티비티 순서 조합을 포함하는 것을 특징으로 하는 인공신경망을 이용한 액티비티 추천 방법.
An activity recommendation method executed in an activity recommendation system comprising a memory for storing one or more instructions and a processor for executing the one or more instructions stored in the memory, the method comprising:
1) receiving the parameter data generated based on the sequence of activities of the business process being designed from the process design unit;
2) inputting the parameter data into a trained artificial neural network model unit;
3) using the artificial neural network model unit, obtaining activity recommendation data for recommending an activity in the next order of the sequence combination of activities included in the parameter data in the form of a probability value based on an activation function; and
4) returning the activity recommendation data obtained from the artificial neural network model unit to the process design unit;
The activity sequence combination of the business process being designed above is,
The activity recommendation method using an artificial neural network, characterized in that the process design unit receiving the activity recommendation data returned includes an activity sequence combination in which the activities of the next order selected through a user interface are combined with a lower priority position.
제14항에 있어서,
상기 1)단계 이전에,
P1) 상기 프로세스 디자인부에서 제공하는 프로세스 데이터에 포함된 액티비티 순서 조합에 기반하여 생성된 훈련 데이터 및 목표 데이터의 데이터 세트를 수득하는 단계; 및
P2) 상기 데이터 세트를 입력하여 인공신경망 모델부를 학습시키는 단계;를 더욱 포함하여 구성된 인공신경망을 이용한 액티비티 추천 방법.
15. The method of claim 14,
Before step 1) above,
P1) obtaining a data set of training data and target data generated based on a combination of activity sequences included in the process data provided by the process design unit; and
P2) learning the artificial neural network model unit by inputting the data set; activity recommendation method using an artificial neural network configured to further include a.
제14항 또는 제15항에 따른 인공신경망을 이용한 액티비티 추천 방법의 각 단계를 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium recording a program for executing each step of the activity recommendation method using an artificial neural network according to claim 14 or 15.
KR1020210102158A 2021-08-03 2021-08-03 System of recommending activity using artificial neural network, method of recommending activity using artificial neural network and computer program therefor KR102363373B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210102158A KR102363373B1 (en) 2021-08-03 2021-08-03 System of recommending activity using artificial neural network, method of recommending activity using artificial neural network and computer program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210102158A KR102363373B1 (en) 2021-08-03 2021-08-03 System of recommending activity using artificial neural network, method of recommending activity using artificial neural network and computer program therefor

Publications (1)

Publication Number Publication Date
KR102363373B1 true KR102363373B1 (en) 2022-02-16

Family

ID=80474843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210102158A KR102363373B1 (en) 2021-08-03 2021-08-03 System of recommending activity using artificial neural network, method of recommending activity using artificial neural network and computer program therefor

Country Status (1)

Country Link
KR (1) KR102363373B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090131426A (en) 2008-06-18 2009-12-29 경기대학교 산학협력단 Method of workflow process modeling
KR101127701B1 (en) 2010-04-13 2012-03-22 한국과학기술원 A system and a method for generating web service customized based on business process
KR101596257B1 (en) 2014-05-20 2016-02-23 국방과학연구소 System and method for developing of service based on software product line
KR20180030724A (en) * 2015-08-13 2018-03-23 삼성전자주식회사 Identification, indexing, navigating systems and methods for deep states of mobile applications
KR102009284B1 (en) * 2018-11-28 2019-08-09 주식회사 피엠아이지 Training apparatus for training dynamic recurrent neural networks to predict performance time of last activity in business process
KR20200040752A (en) * 2017-07-05 2020-04-20 팜 벤처스 그룹, 인코포레이티드 Improved user interface for surfing context actions on mobile computing devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090131426A (en) 2008-06-18 2009-12-29 경기대학교 산학협력단 Method of workflow process modeling
KR101127701B1 (en) 2010-04-13 2012-03-22 한국과학기술원 A system and a method for generating web service customized based on business process
KR101596257B1 (en) 2014-05-20 2016-02-23 국방과학연구소 System and method for developing of service based on software product line
KR20180030724A (en) * 2015-08-13 2018-03-23 삼성전자주식회사 Identification, indexing, navigating systems and methods for deep states of mobile applications
KR20200040752A (en) * 2017-07-05 2020-04-20 팜 벤처스 그룹, 인코포레이티드 Improved user interface for surfing context actions on mobile computing devices
KR102009284B1 (en) * 2018-11-28 2019-08-09 주식회사 피엠아이지 Training apparatus for training dynamic recurrent neural networks to predict performance time of last activity in business process

Similar Documents

Publication Publication Date Title
US10713597B2 (en) Systems and methods for preparing data for use by machine learning algorithms
US11423295B2 (en) Dynamic, automated fulfillment of computer-based resource request provisioning using deep reinforcement learning
US20210224692A1 (en) Hyperparameter tuning method, device, and program
US20200151574A1 (en) Computer-readable recording medium having stored therein learning program, learning method, and learning apparatus
US20220414470A1 (en) Multi-Task Attention Based Recurrent Neural Networks for Efficient Representation Learning
JP7245961B2 (en) interactive machine learning
US20230394369A1 (en) Tracking provenance in data science scripts
US20230222409A1 (en) Apparatus for Determining Role Fitness While Eliminating Unwanted Bias
Zhu A hybrid approach for efficient ensembles
US20200372295A1 (en) Minimum-Example/Maximum-Batch Entropy-Based Clustering with Neural Networks
CN111310462A (en) User attribute determination method, device, equipment and storage medium
Lamba et al. A MCDM-based performance of classification algorithms in breast cancer prediction for imbalanced datasets
Duin et al. A note on core research issues for statistical pattern recognition
WO2021253938A1 (en) Neural network training method and apparatus, and video recognition method and apparatus
KR102363373B1 (en) System of recommending activity using artificial neural network, method of recommending activity using artificial neural network and computer program therefor
CN116610218A (en) AI digital person interaction method, device and system
US11941594B2 (en) User interaction artificial intelligence chat engine for integration of automated machine generated responses
CN113836174B (en) Asynchronous SQL (structured query language) connection query optimization method based on reinforcement learning DQN (direct-to-inverse) algorithm
WO2022127603A1 (en) Model processing method and related device
CN115618949A (en) User interest analysis method and system based on immersive meta universe service
US20220366133A1 (en) Training a Model in a Data-Scarce Environment Using Added Parameter Information
US20050243986A1 (en) Dialog call-flow optimization
CN113158577A (en) Discrete data characterization learning method and system based on hierarchical coupling relation
Jamaludin et al. Artificial bee colony for logic mining in credit scoring
Kvet et al. Use of machine learning for the unknown values in database transformation processes

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant