KR102392359B1 - Hyper-automation solution system based on artificial intelligence - Google Patents

Hyper-automation solution system based on artificial intelligence Download PDF

Info

Publication number
KR102392359B1
KR102392359B1 KR1020210175870A KR20210175870A KR102392359B1 KR 102392359 B1 KR102392359 B1 KR 102392359B1 KR 1020210175870 A KR1020210175870 A KR 1020210175870A KR 20210175870 A KR20210175870 A KR 20210175870A KR 102392359 B1 KR102392359 B1 KR 102392359B1
Authority
KR
South Korea
Prior art keywords
unit
execution
data
service
automation
Prior art date
Application number
KR1020210175870A
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 KR1020210175870A priority Critical patent/KR102392359B1/en
Application granted granted Critical
Publication of KR102392359B1 publication Critical patent/KR102392359B1/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/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/063Operations research, analysis or management
    • G06Q10/0635Risk analysis of enterprise or organisation activities
    • 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/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations

Abstract

The present invention relates to a hyper-automation solution system based on artificial intelligence, capable of achieving business automation rapidly and stably. According to the present invention, the hyper-automation solution system based on the artificial intelligence includes: a hyper-automation management unit; a process task distribution agent unit; a process model generation unit; a workflow management unit; and a process execution request agent unit.

Description

인공지능 기반의 하이퍼오토메이션 솔루션 시스템{HYPER-AUTOMATION SOLUTION SYSTEM BASED ON ARTIFICIAL INTELLIGENCE} Artificial intelligence-based hyper-automation solution system {HYPER-AUTOMATION SOLUTION SYSTEM BASED ON ARTIFICIAL INTELLIGENCE}

본 발명의 실시예는 인공지능 기반의 하이퍼오토메이션 솔루션 시스템에 관한 것이다.An embodiment of the present invention relates to an artificial intelligence-based hyper-automation solution system.

기업환경의 변화와 더불어 비정형 업무 프로세스와 데이터의 증가로 인해 단순, 반복 업무만을 대상으로 하는 RPA(Robotic Process Automation)와 같은 기존 업무자동화 솔루션은 더 이상 사용자의 요구와 기대를 충족시키지 못하는 한계에 이렀다.Due to the change in the corporate environment and the increase in atypical business processes and data, existing business automation solutions such as RPA (Robotic Process Automation), which only target simple and repetitive tasks, are no longer able to meet the needs and expectations of users. said

중견 또는 대기업을 중심으로 복잡하고 학습과 판단이 필요한 다양한 비정형 업무에 대해 자동화 요구가 급격히 증가하고 있는 상황으로, 비정형 프로세스와 데이터를 학습해 자동으로 처리하는 인공지능 기술을 업무자동화에 접목한 하이퍼오토메이션 기술만이 향후 업무현장에서의 대안이라고 가트너(Gartner)는 예고하고 있다.In a situation where the demand for automation for various unstructured tasks that are complex and require learning and judgment, centering on mid-sized or large enterprises, is rapidly increasing. Gartner predicts that technology is the only alternative in the workplace of the future.

급변하는 기업환경에 맞춰 민첩하고 탄력적인 업무 프로세스 변화 필요성이 증가함에 따라 업무 이해도가 높은 현장의 사용자가 실무지식을 기반으로 프로세스를 직접 생성하고 업무자동화를 직접 수행하고자 하나 IT 비전문가인 업무인력이 사용하기에는 현재의 자동화 솔루션은 비정형 프로세스를 수용하지 못하는 문제점을 안고 있다.As the need for agile and flexible work process changes in line with the rapidly changing corporate environment increases, users in the field with a high degree of business understanding want to directly create processes based on practical knowledge and perform work automation directly, but non-IT professionals are using them. As such, the current automation solution has a problem in that it cannot accommodate atypical processes.

등록특허공보 제10-2226463호(등록일자: 2021년03월05일)Registered Patent Publication No. 10-2226463 (Registration Date: March 05, 2021) 등록특허공보 제10-2294364호(등록일자: 2021년08월20일)Registered Patent Publication No. 10-2294364 (Registration Date: August 20, 2021)

본 발명의 실시예는, 중견 및 대기업을 중심으로 지속적으로 증가하는 비정형 업무와 비정형 데이터를 포함하는 업무 프로세스에 대해 지능형 워크 플로우 기반으로 개별 자동화 솔루션(RPA, 챗봇, OCR, ERP 등)을 통합함으로써 빠르고 안정적으로 업무 자동화를 구축할 수 있고, 단위서비스의 메타데이터와 프로세스 수행이력정보를 수집하여 딥러닝 기반의 학습으로 IT 비전문가인 현장의 업무인력이 실무지식을 기반으로 업무프로세스를 직접 생성하고, 자동화할 수 있도록 프로세스 생성 및 템플릿 제안, 단위서비스 평가 및 추천, 프로세스 평가 리포트 등의 자동화 구축 AI 모듈을 제공하며, 프로세스 수행 중 예상하지 못한 오류로 인해 프로세스가 중단되는 문제를 해결하기 위해 딥러닝 기반의 AI 모듈을 개발하여 프로세스 실행 중 오류를 검출하고 해당 오류를 자동으로 복구함으로써 자동화 구축 성과를 극대화할 수 있는 인공지능 기반의 하이퍼오토메이션 솔루션 시스템을 제공한다.An embodiment of the present invention integrates individual automation solutions (RPA, chatbot, OCR, ERP, etc.) based on an intelligent workflow for a business process that includes unstructured work and unstructured data, which is continuously increasing mainly in mid-sized and large enterprises. Work automation can be built quickly and reliably, and by collecting metadata and process execution history information of unit services, deep learning-based learning enables field workers who are not IT experts to directly create work processes based on practical knowledge, It provides an AI module for building automation such as process creation and template suggestion, unit service evaluation and recommendation, and process evaluation report for automation. It provides an artificial intelligence-based hyper-automation solution system that can maximize automation construction performance by developing an AI module of

본 발명의 실시예에 따른 인공지능 기반의 하이퍼오토메이션 솔루션 시스템은, RPA, OCR, 이메일, 챗봇, SAP, Open API를 포함하는 자동화 솔루션의 세부 내용을 구성하는 단위인 단위서비스의 메타데이터를 입력 받아 상기 자동화 솔루션 별 단위서비스를 생성하여 저장 관리하고, 상기 메타데이터를 기반으로 상기 단위서비스를 실행하여 얻은 실행이력데이터를 저장 관리하고, 상기 단위서비스의 실행 결과에 따라 상기 단위서비스의 성능을 평가하는 하이퍼오토메이션 관리부; 상기 자동화 솔루션의 기본정보에 대한 인증 처리를 수행하고, 인증 완료된 상기 자동화 솔루션의 시작 및 실행을 요청하는 프로세스 작업 분배 에이전트부; 상기 메타데이터에 포함된 입력 파라미터와 출력 파라미터를 기반으로 사용 가능한 상기 단위서비스를 검색하고, 검색된 상기 단위서비스를 기반으로 강화 학습 알고리즘을 이용해 상기 단위서비스의 실행을 위한 프로세스 템플릿을 생성하는 프로세스 모델 생성부; 상기 단위서비스의 실행을 위한 상기 메타데이터와 상기 자동화 솔루션을 매핑하고, 매핑된 상기 메타데이터에 포함된 파라미터에 따라 상기 자동화 솔루션의 동작 실행을 제어하는 워크 플로우 관리부; 및 사용자 또는 시스템으로부터 상기 자동화 솔루션으로 구성된 프로세스에 대한 실행 요청을 수신하고, 상기 프로세스 작업 분배 에이전트부, 상기 워크 플로우 관리부, 상기 자동화 솔루션으로부터 상기 자동화 솔루션의 실행에 필요한 데이터를 각각 수집하고, 수집된 데이터를 사용하고 선형 회귀 알고리즘을 기반으로 컴퓨터 장치의 운영시스템에 대한 위험도 수치를 산출하고, 산출된 위험도 수치에 따른 운영시스템의 부하를 평가하며, 부하 평가 결과에 따라 상기 자동화 솔루션의 실행을 요청하는 프로세스 실행 요청 에이전트부를 포함한다.The artificial intelligence-based hyper-automation solution system according to an embodiment of the present invention receives metadata of a unit service, which is a unit constituting the details of an automation solution including RPA, OCR, email, chatbot, SAP, and Open API. Creating, storing and managing unit services for each automation solution, storing and managing execution history data obtained by executing the unit services based on the metadata, and evaluating the performance of the unit services according to the execution results of the unit services hyper-automation management unit; a process task distribution agent unit that performs authentication processing on the basic information of the automation solution and requests the start and execution of the automation solution that has been authenticated; A process model is created that searches for the available unit service based on the input parameter and the output parameter included in the metadata, and creates a process template for executing the unit service using a reinforcement learning algorithm based on the retrieved unit service. wealth; a workflow management unit that maps the metadata for execution of the unit service and the automation solution, and controls operation execution of the automation solution according to parameters included in the mapped metadata; and receiving an execution request for a process composed of the automation solution from a user or system, collecting data required for execution of the automation solution from the process task distribution agent unit, the workflow management unit, and the automation solution, respectively, Using data and calculating the risk level for the operating system of the computer device based on the linear regression algorithm, evaluating the operating system load according to the calculated risk level, and requesting the execution of the automation solution according to the load evaluation result and a process execution request agent unit.

또한, 상기 하이퍼오토메이션 관리부는, 상기 단위서비스의 명령과 옵션에 대한 입력 파라미터, 상기 자동화 솔루션의 실행을 위한 솔루션 실행데이터, 상기 자동화 솔루션의 실행 결과로서 상기 실행이력데이터를 나타내는 출력 파라미터를 포함하는 상기 메타데이터를 데이터베이스에 추가 및 삭제하여 관리하는 하이퍼오토메이션 사용자 인터페이스부; StringToFloat 변환 기능을 이용하여 텍스트 기반의 상기 메타데이터를 실수 형태로 변환하고, AddPadding 기능을 이용하여 실수 형태로 변환된 데이터에서 부족한 데이터 개수에 대해 0의 패딩으로 채워 상기 메타데이터의 포맷을 변환하는 데이터 포맷 변환부; 상기 데이터 포맷 변환부를 통해 변환된 메타데이터를 기반으로 상기 단위서비스를 실행하여 미리 정의된 인공지능 학습 알고리즘을 기반으로 상기 단위서비스의 실행을 학습하는 단위서비스 실행 학습부; 상기 단위서비스 실행 학습부를 통해 얻은 상기 실행이력데이터를 기반으로 상기 단위서비스를 미리 설정된 시간 이내에 실행한 횟수를 나타내는 처리능력과, 상기 단위서비스의 실행 간에 오류가 발생한 빈도를 나타내는 오류발생율이 포함된 상기 단위서비스의 성능 평가 점수를 산출하는 단위서비스 성능 평가부; 및 상기 실행이력데이터를 저장하며 단위서비스 아이디를 기준으로 상기 실행이력데이터를 검색하여 제공하는 단위서비스 실행이력데이터 탐색부를 포함할 수 있다.In addition, the hyper-automation management unit, input parameters for commands and options of the unit service, solution execution data for execution of the automation solution, and output parameters indicating the execution history data as an execution result of the automation solution. Hyper-automation user interface for managing by adding and deleting metadata in the database; Data that converts the text-based metadata into a real number format using the StringToFloat conversion function, and converts the format of the metadata by filling the insufficient number of data in the data converted to the real number format using the AddPadding function format conversion unit; a unit service execution learning unit for learning the execution of the unit service based on a predefined artificial intelligence learning algorithm by executing the unit service based on the metadata converted through the data format conversion unit; Based on the execution history data obtained through the unit service execution learning unit, the processing capability indicating the number of times the unit service is executed within a preset time and the error occurrence rate indicating the frequency of errors occurring between the execution of the unit service are included. a unit service performance evaluation unit that calculates a performance evaluation score of the unit service; and a unit service execution history data search unit that stores the execution history data and retrieves and provides the execution history data based on the unit service ID.

또한, 상기 입력 파라미터는, 사용자 아이디, 사이트 URL, 결제승인번호, 제품번호, 고객전화번호, 차량번호, 사원번호, 거래처 이름 및 사업자번호 중 적어도 하나의 데이터를 포함하고, 상기 솔루션 실행데이터는, RPA, OCR, 이메일, 챗봇, SAP, Open API 중 적어도 자동화 솔루션을 실행하기 위한 데이터를 포함하고, 상기 출력 파라미터는, 엑셀파일, 메일전송파일, 사업자등록증 전자파일, 이미지 파일, 급여명세서 파일, 재직증명서 파일 중 적어도 하나에 대한 데이터를 포함할 수 있다.In addition, the input parameter includes at least one data of a user ID, a site URL, a payment approval number, a product number, a customer phone number, a vehicle number, an employee number, a customer name, and a business number, and the solution execution data includes, RPA, OCR, e-mail, chatbot, SAP, including data for executing at least an automation solution of Open API, the output parameter is, Excel file, mail transmission file, business registration electronic file, image file, pay stub file, job It may include data for at least one of the certificate files.

또한, 상기 단위서비스 실행이력데이터 탐색부는, 단위서비스 아이디, 실행오류여부, 실행시작시간, 실행종료시간, CPU, 메모리, 디스크 사용률, 파라미터 명과 값을 키와 값의 쌍으로 묶인 데이터 구조를 기반으로 색인 데이터베이스를 구성할 수 있다.In addition, the unit service execution history data search unit is based on a data structure in which unit service ID, execution error status, execution start time, execution end time, CPU, memory, disk usage, parameter name and value are tied as a key and value pair. You can configure an index database.

또한, 상기 하이퍼오토메이션 관리부는, 상기 데이터베이스에 접근하여 상기 단위서비스 아이디를 기준으로 상기 실행이력데이터의 필수 파라미터, 데이터 타입, 데이터 길이에 대한 세부항목을 조회하여 학습 데이터 셋으로 활용할 상기 메타데이터를 수집하고, 데이터 생성기를 이용하여 상기 메타데이터를 다수 개로 복제하여 학습 데이터 셋을 1차 증가시킨 후, 1차 증가된 학습 데이터 셋에 대한 파라미터 자리이동 알고리즘 및 순서 변경 알고리즘을 이용해 해당 학습 데이터 셋을 2차 증가시키는 메타데이터 탐색부를 더 포함할 수 있다.In addition, the hyper-automation management unit accesses the database and collects the metadata to be used as a learning data set by inquiring detailed items about essential parameters, data types, and data lengths of the execution history data based on the unit service ID. and using a data generator to copy the metadata into multiple pieces to increase the training data set first, then use the parameter shift algorithm and order change algorithm for the first increased training data set to convert the training data set to 2 It may further include a metadata search unit that increases the difference.

또한, 상기 프로세스 모델 생성부는, 상기 입력 파라미터 및 상기 출력 파라미터와 매칭되어 사용 가능한 단위서비스를 탐색하는 단위서비스 탐색부; 상기 단위서비스 탐색부를 통해 탐색된 단위서비스의 프로세스 시작점에서 연속적인 노드를 선택하면서 프로세스 종단점까지 확장하여 단위서비스의 실행을 위한 프로세스 트리를 생성하는 프로세스 트리 생성부; 및 상기 프로세스 트리 생성부를 통해 선택된 노드들에 대해 프로세스 종단점에서 프로세스 시작점까지 역방향으로 선택 가능성이 가장 높은 확률값을 갖는 노드들을 각각 선택하여 최종 프로세스 트리를 결정하는 프로세스 선택부를 포함할 수 있다.In addition, the process model generation unit may include: a unit service search unit matching the input parameter and the output parameter to search for a usable unit service; a process tree generation unit that selects a continuous node from a process start point of the unit service searched through the unit service search unit and expands it to a process end point to generate a process tree for executing the unit service; and a process selector configured to determine a final process tree by selecting nodes having the highest probability of selection in a reverse direction from a process end point to a process start point with respect to the nodes selected through the process tree generating unit.

또한, 상기 프로세스 모델 생성부는, 상기 단위서비스의 실행 이력이 존재하지 않는 경우, 상기 메타데이터에 포함된 입력 파라미터에 따른 상기 단위서비스의 실행 결과 중 예측치가 가장 높은 단위서비스를 스택에 저장하고, 스택에 저장된 단위서비스 중 상기 메타데이터에 포함된 출력 파라미터를 포함하는 단위서비스를 찾고, 찾은 해당 단위서비스의 실행을 위한 프로세스 템플릿을 생성할 수 있다.In addition, when the execution history of the unit service does not exist, the process model generation unit stores the unit service with the highest predicted value among the execution results of the unit service according to the input parameter included in the metadata in the stack, It is possible to find a unit service including an output parameter included in the metadata among unit services stored in the , and create a process template for executing the found unit service.

또한, 상기 워크 플로우 관리부는, 실행할 상기 단위서비스의 파라미터 중에 미리 정의된 필수 파라미터가, 상기 하이퍼오토메이션 관리부를 통해 저장된 메타데이터의 파라미터로 포함되지 않거나 존재하지 않는 경우 오류 발생으로 예측하고, 해당 오류 발생으로 예측되는 경우, 누락된 데이터를 이메일 및 챗봇 중 적어도 하나를 통해 작업 요청자에게 요청하고, 상기 프로세스 실행 요청 이전에 상기 부하 평가 결과로서 제공되는 위험도 수치가 미리 설정된 부하 임계치에 도달하면 오류 발생으로 예측하고, 해당 오류 발생으로 예측되는 경우, 상기 워크 플로우 관리부의 작업을 중지하고 이메일 및 챗봇 중 적어도 하나를 통해 작업 관리자에게 보고하면서 해당 오류 발생 여부를 일정 시간 단위로 재확인할 수 있다.In addition, the workflow management unit predicts that an error occurs when a predefined essential parameter among the parameters of the unit service to be executed is not included or does not exist as a parameter of the metadata stored through the hyperautomation management unit, and the corresponding error occurs , request the missing data to the job requester through at least one of email and chatbot, and predict that an error will occur when the risk level provided as a result of the load evaluation before the process execution request reaches a preset load threshold And, when it is predicted that the corresponding error occurs, the operation of the workflow management unit is stopped, and whether the corresponding error has occurred may be reconfirmed at a predetermined time unit while reporting to the task manager through at least one of an email and a chatbot.

또한, 상기 프로세스 실행 요청 에이전트부는, 작업 요청자 또는 시스템으로부터 상기 자동화 솔루션으로 구성된 프로세스에 대한 실행 요청을 수신하는 프로세스 실행 요청 수신부; 상기 프로세스 작업 분배 에이전트부, 상기 워크 플로우 관리부, 상기 자동화 솔루션으로부터 상기 자동화 솔루션의 실행에 필요한 데이터를 수집하되, 문자열 검색에 따른 분류 알고리즘을 이용하여 정형 데이터 수집과 비정형 데이터 수집을 구분하여 수집하고, 수집된 데이터를 기반으로 상기 프로세스 작업 분배 에이전트부, 상기 워크 플로우 관리부, 상기 자동화 솔루션으로 자동화 프로세스 실행을 요청하되, 상기 부하 평가 결과로서 제공되는 위험도 수치가 미리 설정된 부하 임계치에 도달하면 자동화 프로세스 실행 요청을 중지하는 프로세스 실행 요청부; 상기 프로세스 실행 요청부를 통해 수집된 데이터의 형식을 기준으로 해당 데이터로부터 상기 입력 파라미터를 추출하고, 추출된 상기 입력 파라미터를 상기 프로세스 실행 요청부로 제공하는 데이터 전처리부; 및 상기 프로세스 실행 요청부를 통한 자동화 프로세스 실행 요청 이전에 수집된 데이터 중 CPU 사용률, 메모리 사용률, 디스크 사용률에 대한 데이터를 사용하고 선형 회귀 알고리즘을 기반으로 컴퓨터 장치의 운영시스템의 위험도 수치를 산출하고, 산출된 위험도 수치와 상기 부하 임계치를 비교하여 운영시스템 부하를 평가하고, 부하 평가에 따라 상기 프로세스 실행 요청부의 자동화 프로세스 실행 요청을 제어하는 시스템 부하 평가 제어부를 포함할 수 있다.In addition, the process execution request agent unit, the process execution request receiving unit for receiving the execution request for the process configured as the automation solution from the job requestor or the system; Collecting data necessary for the execution of the automation solution from the process task distribution agent unit, the workflow management unit, and the automation solution, and using a classification algorithm according to string search to separate and collect structured data collection and unstructured data collection, The process task distribution agent unit, the workflow management unit, and the automation solution are requested to execute the automation process based on the collected data, but when the risk level provided as a result of the load evaluation reaches a preset load threshold, the automation process execution request is made a process execution request unit to stop; a data pre-processing unit extracting the input parameter from the corresponding data based on the format of the data collected through the process execution requesting unit, and providing the extracted input parameter to the process execution requesting unit; and using data on CPU usage rate, memory usage rate, and disk usage rate among the data collected before the request for automated process execution through the process execution request unit, and calculates and calculates the risk level of the operating system of the computer device based on a linear regression algorithm It may include a system load evaluation control unit that evaluates the operating system load by comparing the risk level and the load threshold, and controls the automatic process execution request of the process execution request unit according to the load evaluation.

또한, 상기 프로세스 실행 요청부는, 상기 비정형 데이터에 대해 미리 설정된 특정 단어 또는 문장 포함 여부를 판별하거나, 필터를 통해 문자열만 추출하거나, 정형화된 메시지 포맷으로 변환한 후, 데이터 암호화 처리 과정을 수행할 수 있다.In addition, the process execution request unit determines whether the unstructured data includes a preset specific word or sentence, extracts only a character string through a filter, or converts it into a standardized message format, and then performs data encryption processing. there is.

본 발명에 따르면, 중견 및 대기업을 중심으로 지속적으로 증가하는 비정형 업무와 비정형 데이터를 포함하는 업무 프로세스에 대해 지능형 워크 플로우 기반으로 개별 자동화 솔루션(RPA, 챗봇, OCR, ERP 등)을 통합함으로써 빠르고 안정적으로 업무 자동화를 구축할 수 있고, 단위서비스의 메타데이터와 프로세스 수행이력정보를 수집하여 딥러닝 기반의 학습으로 IT 비전문가인 현장의 업무인력이 실무지식을 기반으로 업무프로세스를 직접 생성하고, 자동화할 수 있도록 프로세스 생성 및 템플릿 제안, 단위서비스 평가 및 추천, 프로세스 평가 리포트 등의 자동화 구축 AI 모듈을 제공하며, 프로세스 수행 중 예상하지 못한 오류로 인해 프로세스가 중단되는 문제를 해결하기 위해 딥러닝 기반의 AI 모듈을 개발하여 프로세스 실행 중 오류를 검출하고 해당 오류를 자동으로 복구함으로써 자동화 구축 성과를 극대화할 수 있는 인공지능 기반의 하이퍼오토메이션 솔루션 시스템을 제공할 수 있다.According to the present invention, it is fast and stable by integrating individual automation solutions (RPA, chatbot, OCR, ERP, etc.) based on an intelligent workflow for the continuously increasing unstructured work and work processes including unstructured data, mainly in medium and large enterprises. It is possible to build work automation using We provide AI modules for process creation and template suggestion, unit service evaluation and recommendation, process evaluation report, etc. By developing a module, it is possible to provide an artificial intelligence-based hyper-automation solution system that can maximize the performance of automation construction by detecting errors during process execution and automatically recovering the errors.

도 1은 본 발명의 실시예에 따른 인공지능 기반의 하이퍼오토메이션 솔루션 시스템의 전체 구성을 나타낸 개요도이다.
도 2는 본 발명의 실시예에 따른 인공지능 기반의 하이퍼오토메이션 솔루션 시스템의 전체 동작 프로세스를 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 하이퍼오토메이션 사용자 인터페이스부의 구성을 나타낸 블록도이다.
도 4의 (a)는 단위서비스의 구성요소를 나타내고, (b)는 단위서비스의 세부항목을 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 단위서비스 성능 평가부의 평가 프로세스를 나타낸 도면이다.
도 6은 본 발명의 실시예에 따른 StringToFloat 변환의 개념을 나타낸 도면이다.
도 7은 본 발명의 실시예에 따른 데이터 자리 이동 복제에 대한 예시를 나타낸 도면이다.
도 8은 본 발명의 실시예에 따른 단위서비스의 성능평가 라벨링 모델의 기준을 나타낸 그래프이다.
도 9는 본 발명의 실시예에 따른 프로세스 작업 분배 에이전트부의 동작 프로세스를 나타낸 도면이다.
도 10은 본 발명의 실시예에 따른 프로세스 모델 생성부의 구성을 나타낸 블록도이다.
도 11은 본 발명의 실시예에 따른 프로세스 모델 생성부의 프로세스 템플릿 생성 프로세스를 나타낸 도면이다.
도 12 및 도 13은 본 발명의 실시예에 따른 프로세스 트리 생성부의 탐색 알고리즘을 설명하기 위해 나타낸 도면이다.
도 14는 본 발명의 실시예에 따른 프로세스 오류를 최소화하기 위한 최소-최대 (Min-Max, MM) 알고리즘의 탐색 방법을 나타낸 도면이다.
도 15는 본 발명의 실시예에 따른 프로세스 탐색 시간을 최소화하기 위한 알파-베타 프러닝(Alpha-Beta Pruning) 알고리즘의 탐색 방법을 나타낸 도면이다.
도 16은 본 발명의 실시예에 따른 프로세스 템플릿 생성 알고리즘을 나타낸 도면이다.
도 17은 본 발명의 실시예에 따른 초기 프로세스 템플릿 생성을 위한 알고리즘을 나타낸 도면이다.
도 18은 본 발명의 실시예에 따른 단위서비스 실행 이력이 수집된 경우 프로세스 템플릿 생성을 위한 알고리즘을 나타낸 도면이다.
도 19는 본 발명의 실시예에 따른 워크 플로우 관리부의 이메일 전송 시 동작을 설명하기 위해 나타낸 도면이다.
도 20은 본 발명의 실시예에 따른 워크 플로우 관리부의 오류 예측을 위한 전체 프로세스를 나타낸 도면이다.
도 21은 본 발명의 실시예에 따른 워크 플로우 관리부가 파라미터 오류를 예측하는 예시를 나타낸 도면이다.
도 22는 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트부의 구성을 나타낸 블록도이다.
도 23은 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트부의 동작 프로세스를 나타낸 도면이다.
도 24는 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트부의 버퍼 스케줄을 설명하기 위한 도면이다.
도 25는 본 발명의 실시예에 따른 학습 데이터 셋의 예시를 나타낸 도면이다.
도 26은 본 발명의 실시예에 따른 시스템 부하 평가 학습 로직을 나타낸 도면이다.
도 27은 본 발명의 실시예에 따른 시스템 부하 평가를 위한 서버 별 실시간 데이터 수집 전송 기능을 설명하기 위해 나타낸 도면이다.
1 is a schematic diagram showing the overall configuration of an artificial intelligence-based hyper-automation solution system according to an embodiment of the present invention.
2 is a view showing the overall operation process of the artificial intelligence-based hyper-automation solution system according to an embodiment of the present invention.
3 is a block diagram illustrating the configuration of a hyper-automation user interface unit according to an embodiment of the present invention.
Figure 4 (a) shows the components of the unit service, (b) is a view showing the detailed items of the unit service.
5 is a diagram illustrating an evaluation process of a unit service performance evaluation unit according to an embodiment of the present invention.
6 is a diagram illustrating the concept of StringToFloat conversion according to an embodiment of the present invention.
7 is a diagram illustrating an example of data shift replication according to an embodiment of the present invention.
8 is a graph showing a standard of a performance evaluation labeling model of a unit service according to an embodiment of the present invention.
9 is a diagram illustrating an operation process of a process work distribution agent unit according to an embodiment of the present invention.
10 is a block diagram illustrating the configuration of a process model generator according to an embodiment of the present invention.
11 is a diagram illustrating a process template generation process of a process model generation unit according to an embodiment of the present invention.
12 and 13 are diagrams illustrating a search algorithm of a process tree generator according to an embodiment of the present invention.
14 is a diagram illustrating a search method for a Min-Max (MM) algorithm for minimizing a process error according to an embodiment of the present invention.
15 is a diagram illustrating a search method of an alpha-beta pruning algorithm for minimizing a process search time according to an embodiment of the present invention.
16 is a diagram illustrating an algorithm for generating a process template according to an embodiment of the present invention.
17 is a diagram illustrating an algorithm for generating an initial process template according to an embodiment of the present invention.
18 is a diagram illustrating an algorithm for generating a process template when a unit service execution history is collected according to an embodiment of the present invention.
19 is a diagram illustrating an operation when an email is transmitted by the workflow management unit according to an embodiment of the present invention.
20 is a diagram illustrating an overall process for predicting an error of the workflow management unit according to an embodiment of the present invention.
21 is a diagram illustrating an example in which a workflow management unit predicts a parameter error according to an embodiment of the present invention.
22 is a block diagram showing the configuration of a process execution request agent unit according to an embodiment of the present invention.
23 is a diagram illustrating an operation process of a process execution request agent unit according to an embodiment of the present invention.
24 is a diagram for explaining a buffer schedule of a process execution request agent unit according to an embodiment of the present invention.
25 is a diagram illustrating an example of a training data set according to an embodiment of the present invention.
26 is a diagram illustrating a system load evaluation learning logic according to an embodiment of the present invention.
27 is a diagram illustrating a real-time data collection and transmission function for each server for system load evaluation according to an embodiment of the present invention.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.Terms used in this specification will be briefly described, and the present invention will be described in detail.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the present invention have been selected as currently widely used general terms as possible while considering the functions in the present invention, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than the name of a simple term.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.In the entire specification, when a part "includes" a certain element, this means that other elements may be further included, rather than excluding other elements, unless otherwise stated. In addition, terms such as "...unit" and "module" described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software. .

아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, with reference to the accompanying drawings, the embodiments of the present invention will be described in detail so that those of ordinary skill in the art can easily implement them. However, the present invention may be embodied in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

도 1은 본 발명의 실시예에 따른 인공지능 기반의 하이퍼오토메이션 솔루션 시스템의 전체 구성을 나타낸 개요도이고, 도 2는 본 발명의 실시예에 따른 인공지능 기반의 하이퍼오토메이션 솔루션 시스템의 전체 동작 프로세스를 나타낸 도면이다. 1 is a schematic diagram showing the overall configuration of an artificial intelligence-based hyper-automation solution system according to an embodiment of the present invention, and FIG. 2 is a diagram showing the overall operation process of an artificial intelligence-based hyper-automation solution system according to an embodiment of the present invention It is a drawing.

도 1 및 도 2를 참조하면, 본 발명의 실시예에 따른 인공지능 기반의 하이퍼오토메이션 솔루션 시스템(1000)은 하이퍼오토메이션 관리부(100), 프로세스 작업 분배 에이전트부(200), 프로세스 모델 생성부(300), 워크 플로우 관리부(400) 및 프로세스 실행 요청 에이전트부(500) 중 적어도 하나를 포함할 수 있다.1 and 2 , the artificial intelligence-based hyper-automation solution system 1000 according to an embodiment of the present invention includes a hyper-automation management unit 100 , a process work distribution agent unit 200 , and a process model generation unit 300 . ), the workflow management unit 400 and the process execution request agent unit 500 may include at least one.

도 3은 본 발명의 실시예에 따른 하이퍼오토메이션 사용자 인터페이스부의 구성을 나타낸 블록도이고, 도 4의 (a)는 단위서비스의 구성요소를 나타내고, (b)는 단위서비스의 세부항목을 나타낸 도면이고, 도 5는 본 발명의 실시예에 따른 단위서비스 성능 평가부의 평가 프로세스를 나타낸 도면이고, 도 6은 본 발명의 실시예에 따른 StringToFloat 변환의 개념을 나타낸 도면이고, 도 7은 본 발명의 실시예에 따른 데이터 자리 이동 복제에 대한 예시를 나타낸 도면이며, 도 8은 본 발명의 실시예에 따른 단위서비스의 성능평가 라벨링 모델의 기준을 나타낸 그래프이다.3 is a block diagram showing the configuration of a hyper-automation user interface according to an embodiment of the present invention, (a) of FIG. 4 shows the components of a unit service, (b) is a view showing detailed items of the unit service, , FIG. 5 is a diagram showing an evaluation process of a unit service performance evaluation unit according to an embodiment of the present invention, FIG. 6 is a diagram showing the concept of StringToFloat conversion according to an embodiment of the present invention, and FIG. 7 is an embodiment of the present invention It is a diagram showing an example of data position movement replication according to , and FIG. 8 is a graph showing the standard of a performance evaluation labeling model of a unit service according to an embodiment of the present invention.

상기 하이퍼오토메이션 관리부(100)는, RPA, OCR, 이메일, 챗봇, SAP, Open API를 포함하는 자동화 솔루션의 세부 내용을 구성하는 단위인 단위서비스의 메타데이터를 입력 받아 자동화 솔루션(RPA, OCR, 이메일, 챗봇, SAP, Open API) 별 단위서비스를 생성하여 저장 관리하고, 메타데이터를 기반으로 단위서비스를 실행하여 얻은 실행이력데이터를 저장 관리하고, 단위서비스의 실행 결과에 따라 단위서비스의 성능을 평가할 수 있다.The hyper-automation management unit 100 receives the metadata of the unit service, which is a unit constituting the details of the automation solution including RPA, OCR, email, chatbot, SAP, and Open API, and receives the metadata of the automation solution (RPA, OCR, email). , chatbot, SAP, Open API) to create, store, and manage unit services, store and manage execution history data obtained by executing unit services based on metadata, and evaluate the performance of unit services according to the execution results of unit services. can

이를 위해 하이퍼오토메이션 관리부(100)는 도 3에 도시된 바와 같이, 하이퍼오토메이션 사용자 인터페이스부(110), 데이터 포맷 변환부(120), 단위서비스 실행 학습부(130), 단위서비스 성능 평가부(140), 단위서비스 실행이력데이터 탐색부(150) 및 메타데이터 탐색부(160) 중 적어도 하나를 포함할 수 있다.To this end, as shown in FIG. 3 , the hyper-automation management unit 100 includes a hyper-automation user interface unit 110 , a data format conversion unit 120 , a unit service execution learning unit 130 , and a unit service performance evaluation unit 140 . ), and may include at least one of a unit service execution history data search unit 150 and a metadata search unit 160 .

상기 하이퍼오토메이션 사용자 인터페이스부(110)는, 단위서비스의 명령과 옵션에 대한 입력 파라미터, 자동화 솔루션의 실행을 위한 솔루션 실행데이터, 자동화 솔루션의 실행 결과로서 실행이력데이터를 나타내는 출력 파라미터를 포함하는 메타데이터를 데이터베이스에 추가 및 삭제하여 관리할 수 있다. The hyper-automation user interface unit 110 is metadata including input parameters for commands and options of unit services, solution execution data for execution of the automation solution, and output parameters indicating execution history data as an execution result of the automation solution. can be managed by adding and deleting data from the database.

도 4의 (a)에 도시된 바와 같이 본 실시예에 따른 메타데이터의 입력 파라미터는, 사용자 아이디, 사이트 URL, 결제승인번호, 제품번호, 고객전화번호, 차량번호, 사원번호, 거래처 이름 및 사업자번호 중 적어도 하나의 데이터를 포함하고, 솔루션 실행데이터는, RPA, OCR, 이메일, 챗봇, SAP, Open API 중 적어도 자동화 솔루션을 실행하기 위한 데이터(솔루션 연동 데이터)를 포함하고, 출력 파라미터는, 엑셀파일, 메일전송파일, 사업자등록증 전자파일, 이미지 파일, 급여명세서 파일, 재직증명서 파일 중 적어도 하나에 대한 데이터를 포함할 수 있다.As shown in (a) of FIG. 4 , the input parameters of metadata according to the present embodiment are user ID, site URL, payment approval number, product number, customer phone number, vehicle number, employee number, customer name, and business operator. contains at least one data of the number, the solution execution data includes data (solution interworking data) for executing at least an automation solution among RPA, OCR, email, chatbot, SAP, and Open API, and the output parameter is Excel It may include data for at least one of a file, a mail transmission file, an electronic business registration certificate file, an image file, a pay stub file, and a job certificate file.

도 4의 (b)에 도시된 바와 같이 입력 파라미터(명령과 옵션)는 파라미터 명, 필수 여부, 데이터 타입, 데이터 길이, 값 등의 세부 항목으로 구성되고, 자동화 솔루션 데이터는 솔루션 타입, 통신 방식, 접속 경로, 암호화 여부, 접속 계정, 오류 복구 방법 등의 세부 항목으로 구성되며, 출력 파라미터(결과)는 파라미터 명, 데이터 타입, 값 등의 세부 항목으로 구성될 수 있다.As shown in (b) of FIG. 4, input parameters (commands and options) are composed of detailed items such as parameter name, required or not, data type, data length, and value, and automation solution data includes solution type, communication method, It consists of detailed items such as access path, encryption or not, access account, and error recovery method, and output parameters (results) may consist of detailed items such as parameter name, data type, and value.

상기 데이터 포맷 변환부(120)는, StringToFloat 변환 기능을 이용하여 텍스트 기반의 메타데이터를 실수 형태로 변환하고, AddPadding 기능을 이용하여 실수 형태로 변환된 데이터에서 부족한 데이터 개수에 대해 0의 패딩으로 채워 메타데이터의 포맷을 변환할 수 있다. 즉, 단위서비스마다 파라미터의 개수가 다르므로 입력층의 개수와 맞추기 위해 StringToFloat 변환 기능에 AddPadding 기능을 제공하는데, 단위서비스의 메타 데이터는 모두 Text 기반의 데이터이고 각 단위서비스는 입/출력 파라미터의 개수가 모두 다르며, 이런 포맷이 다른 데이터를 바이트(Byte) 단위로 읽고 이를 실수(Float)형으로 변환하고 부족한 개수는 영(0)의 패딩으로 채움으로 모델에 사용될 입력 데이터 셋의 포맷을 통일시킬 수 있다.The data format conversion unit 120 converts text-based metadata into a real number format using a StringToFloat conversion function, and fills the data with 0 padding for the insufficient number of data in the data converted to a real number format using the AddPadding function. The format of metadata can be converted. In other words, since the number of parameters is different for each unit service, the AddPadding function is provided to the StringToFloat conversion function to match the number of input layers. are all different, and the format of the input data set to be used in the model can be unified by reading data with different formats in bytes, converting it to a float type, and filling the insufficient number with zero padding. there is.

상기 단위서비스 실행 학습부(130)는, 데이터 포맷 변환부(120)를 통해 변환된 메타데이터를 기반으로 단위서비스를 실행하여 미리 정의된 인공지능 학습 알고리즘을 기반으로 단위서비스의 실행을 학습할 수 있다.The unit service execution learning unit 130 may learn the execution of the unit service based on a predefined artificial intelligence learning algorithm by executing the unit service based on the metadata converted through the data format conversion unit 120 . there is.

상기 단위서비스 성능 평가부(140)는, 단위서비스 실행 학습부(130)를 통해 얻은 실행이력데이터를 기반으로 단위서비스를 미리 설정된 시간 이내에 실행한 횟수를 나타내는 처리능력과, 단위서비스의 실행 간에 오류가 발생한 빈도를 나타내는 오류발생율이 포함된 단위서비스의 성능 평가 점수를 산출할 수 있다. 단위서비스 관리를 위해 수집된 데이터를 단위서비스의 메타데이터라 하며, 이와 단위서비스의 실행 이력 데이터 저장, 검색 기능, StringToFloat 변환 기능, CNN기반 알고리즘을 적용한 단위서비스 탐색 기능, 단위서비스 성능 평가 모델을 정의하고 평가 점수를 예측한 후 이를 조합하여 단위서비스의 성능을 평가할 수 있다. 여기서, 처리능력은 측정 단위 시간(1초) 내에 처리하는 횟수, 측정 단위 시간을 작업을 시작하여 끝나는 시간으로 나눈 수치일 수 있고, 오류발생율은 수행횟수대비 오류 발생 빈도를 구한 수치일 수 있으며, 사용의 접근성은 필수 입력 파라미터 개수가 적을수록 좋은 평가, 필수 출력 파라미터 개수는 많을수록 좋은 평가할 수 있다(3가지 지표를 합산해 라벨로 활용).The unit service performance evaluation unit 140 is, based on the execution history data obtained through the unit service execution learning unit 130, an error between the processing capability indicating the number of times the unit service is executed within a preset time and the execution of the unit service. It is possible to calculate the performance evaluation score of the unit service including the error rate indicating the frequency of occurrence. The data collected for unit service management is called the metadata of the unit service, and the execution history data storage and search function of the unit service, the StringToFloat conversion function, the unit service search function applying the CNN-based algorithm, and the unit service performance evaluation model are defined. After predicting the evaluation score, it is possible to evaluate the performance of the unit service by combining them. Here, the processing capacity may be the number of processing within the measurement unit time (1 second), the measurement unit time divided by the start and end time of the task, and the error rate may be a number obtained by calculating the frequency of errors compared to the number of executions, In terms of accessibility, the smaller the number of required input parameters, the better the evaluation, and the larger the number of required output parameters, the better.

상기 단위서비스 실행이력데이터 탐색부(150)는, 실행이력데이터를 저장하며 단위서비스 아이디를 기준으로 실행이력데이터를 검색하여 제공할 수 있다. 또한, 단위서비스 실행이력데이터 탐색부(150)는, 단위서비스 아이디, 실행오류여부, 실행시작시간, 실행종료시간, CPU, 메모리, 디스크 사용률, 파라미터 명과 값을 키와 값의 쌍으로 묶인 데이터 구조를 기반으로 색인 데이터베이스를 구성할 수 있다. 이와 같이 단위서비스의 실행 이력은 단위서비스ID, 오류여부, 시작시간, 종료시간, CPU, 메모리, Disk 사용률, 파라미터명과 값(Value) 데이터를 딕셔너리(Dictionary: Key, Value 쌍으로 묶인 데이터 구조)로 묶어서 저장하는 색인 데이터베이스(Index Database)를 구성하고 이를 학습 시 단위서비스ID를 기준으로 검색하여 수행시간, 오류 발생율을 검색하여 학습 데이터로 활용할 수 있다.The unit service execution history data search unit 150 may store execution history data and search and provide execution history data based on the unit service ID. In addition, the unit service execution history data search unit 150 is a data structure in which the unit service ID, execution error status, execution start time, execution end time, CPU, memory, disk usage, parameter names and values are tied as a key and value pair. You can configure an index database based on . As such, the execution history of the unit service contains the unit service ID, error status, start time, end time, CPU, memory, disk usage rate, parameter name and value data as a dictionary (a data structure tied to a key and value pair). It can be used as learning data by composing an index database that stores the bundle and searching for it based on the unit service ID when learning.

상기 메타데이터 탐색부(160)는, 데이터베이스에 접근하여 단위서비스 아이디를 기준으로 실행이력데이터의 필수 파라미터, 데이터 타입, 데이터 길이에 대한 세부항목을 조회하여 학습 데이터 셋으로 활용할 메타데이터를 수집하고, 데이터 생성기를 이용하여 메타데이터를 다수 개로 복제하여 학습 데이터 셋을 1차 증가시킨 후, 1차 증가된 학습 데이터 셋에 대한 파라미터 자리이동 알고리즘 및 순서 변경 알고리즘을 이용해 해당 학습 데이터 셋을 2차 증가시킬 수 있다. The metadata search unit 160 collects metadata to be used as a learning data set by accessing the database and inquiring details about essential parameters, data types, and data lengths of execution history data based on the unit service ID, After the first increase of the training data set by duplicating multiple metadata using the data generator, the second increase of the corresponding training data set using the parameter shift algorithm and the order change algorithm can

좀 더 구체적으로, 메타데이터를 수집하기 위해 데이터베이스에 접근하여 단위서비스의 ID(결과 데이터, Class로 사용), 필수 파라미터, 필수 여부, 데이터 타입, 길이 등의 세부항목을 조회하고 실행이력은 색인 데이터베이스에서 단위서비스ID를 기준으로 검색하여 취합하고 이를 학습 데이터 셋으로 활용할 수 있다. 또한, 수집된 데이터는 데이터 생성기(Data Generator)통해 데이터 증폭하여 학습 데이터 셋을 증가시킴, 증폭되는 수량은 파라미터의 수량에 따라 비례하여 증가할 수 있다. 이때, 증폭되는 수량은 파라미터의 자리이동 알고리즘, 순서 변경 알고리즘으로 증가폭을 확대할 수 있으며, 마지막으로 모델의 입력 데이터 셋의 크기에 비례하여 증가할 수 있다.More specifically, in order to collect metadata, access the database and inquire details such as ID (result data, used as a class), required parameters, required or not, data type, length, etc. of the unit service, and the execution history is an index database It can be searched and collected based on the unit service ID and used as a learning data set. In addition, the collected data is amplified through a data generator to increase the learning data set, and the amplified quantity may increase proportionally according to the quantity of parameters. In this case, the amplified quantity can be increased by using the parameter shift algorithm and order change algorithm, and finally, it can increase in proportion to the size of the input data set of the model.

여기서, 데이터 생성기를 통해 생성된 데이터는 CNN(Convolution Neural Network) 기반의 딥러닝 알고리즘을 적용하여 지도학습을 수행하고 단위서비스를 탐색을 위해 사용될 수 있다. 해당 학습 모델의 출력층 활성화 함수는 소프트맥스(Softmax)를 사용하여 예측 상위 2개의 단위서비스를 출력하도록 구성될 수 있으며, 단위서비스 탐색 기능은 새로운 단위서비스를 생성하면 재 학습을 수행하여 지능을 향상할 수 있다.Here, the data generated through the data generator can be used to perform supervised learning by applying a CNN (Convolution Neural Network)-based deep learning algorithm and to search for unit services. The output layer activation function of the corresponding learning model can be configured to output the top two unit services of prediction using Softmax, and the unit service search function performs re-learning when a new unit service is created to improve intelligence. can

도 9는 본 발명의 실시예에 따른 프로세스 작업 분배 에이전트부의 동작 프로세스를 나타낸 도면이다.9 is a diagram illustrating an operation process of a process work distribution agent unit according to an embodiment of the present invention.

상기 프로세스 작업 분배 에이전트부(200)는, 자동화 솔루션의 기본정보에 대한 인증 처리를 수행하고, 인증 완료된 자동화 솔루션의 시작 및 실행을 요청할 수 있다. 자동화 솔루션과의 연계는 가장 일반적인 연계 방식인 OpenAPI로 HTTP/S 통신으로 연계가 가능하며, 인증 유무, 방식 및 파라미터 전달 방법 등에 따라 조금씩 형식이 다르다. 자동화 솔루션 기본 정보(자동화 솔루션 관리)와 확장 정보(작업 분배 에이전트 관리)를 이용하여 빠른 인증 처리를 위해 인증 풀(Pool)이 구축되는 것이 바람직하다. 이러한 프로세스 작업 분배 에이전트부(200)에서는 작업 지시에 의해 이전 단위서비스의 출력 파라미터 데이터를 메시지 변환기로 현재 단위서비스의 입력 파라미터 데이터로 변환하고, 이 과정의 메시지 변환기에서는 단위서비스의 입/출력 파라미터의 메타 정보를 활용하여 메시지를 변환할 수 있다. 또한, 변환된 입력 파라미터 데이터를 인증 풀(Pool)에서 인증 처리된 연결 객체 내에 속성으로 삽입 후 작업 지시 요청 처리하고 이에 대한 결과 데이터를 작업 분배 에이전트에서 응답 받아 메시지 변환기를 통해 출력 파라미터로 변환하여 반환할 수 있다.The process task distribution agent unit 200 may perform authentication processing on basic information of the automation solution, and request the start and execution of the authentication-completed automation solution. Connection with the automation solution is possible through HTTP/S communication with OpenAPI, the most common connection method, and the format is slightly different depending on the presence or absence of authentication, method and parameter delivery method. It is desirable to establish an authentication pool for fast authentication processing using the automation solution basic information (automation solution management) and extended information (job distribution agent management). In this process work distribution agent unit 200, the output parameter data of the previous unit service is converted into the input parameter data of the current unit service by the message converter according to the work instruction, and the input/output parameter of the unit service is converted in the message converter of this process. Meta information can be used to transform a message. Also, after inserting the converted input parameter data as a property in the connection object authenticated in the authentication pool, processing the work order request, and receiving the response from the work distribution agent, the result data is converted into output parameters through the message converter and returned can do.

도 10은 본 발명의 실시예에 따른 프로세스 모델 생성부의 구성을 나타낸 블록도이고, 도 11은 본 발명의 실시예에 따른 프로세스 모델 생성부의 프로세스 템플릿 생성 프로세스를 나타낸 도면이고, 도 12 및 도 13은 본 발명의 실시예에 따른 프로세스 트리 생성부의 탐색 알고리즘을 설명하기 위해 나타낸 도면이고, 도 14는 본 발명의 실시예에 따른 프로세스 오류를 최소화하기 위한 최소-최대 (Min-Max, MM) 알고리즘의 탐색 방법을 나타낸 도면이고, 도 15는 본 발명의 실시예에 따른 프로세스 탐색 시간을 최소화하기 위한 알파-베타 프러닝(Alpha-Beta Pruning) 알고리즘의 탐색 방법을 나타낸 도면이고, 도 16은 본 발명의 실시예에 따른 프로세스 템플릿 생성 알고리즘을 나타낸 도면이고, 도 17은 본 발명의 실시예에 따른 초기 프로세스 템플릿 생성을 위한 알고리즘을 나타낸 도면이며, 도 18은 본 발명의 실시예에 따른 단위서비스 실행 이력이 수집된 경우 프로세스 템플릿 생성을 위한 알고리즘을 나타낸 도면이다.10 is a block diagram illustrating the configuration of a process model generation unit according to an embodiment of the present invention, FIG. 11 is a diagram illustrating a process template generation process of a process model generation unit according to an embodiment of the present invention, FIGS. 12 and 13 are It is a diagram illustrating a search algorithm of a process tree generator according to an embodiment of the present invention, and FIG. 14 is a search for a Min-Max (MM) algorithm for minimizing a process error according to an embodiment of the present invention. 15 is a diagram illustrating a search method of an alpha-beta pruning algorithm for minimizing a process search time according to an embodiment of the present invention, and FIG. 16 is an embodiment of the present invention It is a diagram showing an algorithm for generating a process template according to an example, FIG. 17 is a diagram showing an algorithm for generating an initial process template according to an embodiment of the present invention, and FIG. 18 is a view showing a unit service execution history according to an embodiment of the present invention It is a diagram showing an algorithm for generating a process template when

상기 프로세스 모델 생성부(300)는, 메타데이터에 포함된 입력 파라미터와 출력 파라미터를 기반으로 사용 가능한 단위서비스를 검색하고, 검색된 단위서비스를 기반으로 강화 학습 알고리즘(Reinforcement Learning)을 이용해 단위서비스의 실행을 위한 프로세스 템플릿을 생성할 수 있다. 즉, 프로세서 모델 생성부(300)의 프로세스 템플릿 생성 기능은 사용자가 입력 데이터(알고 있어서 제공 가능한 데이터)와 출력 데이터(작업 요청자가 원하는 결과 데이터)를 이용하여 단위서비스 탐색 기능으로 사용 가능한 단위서비스를 찾고(제한적 환경 생성) 이를 기반으로 강화 학습알고리즘을 이용해 단위서비스 실행 순서를 추천할 수 있다.The process model generator 300 searches for available unit services based on input parameters and output parameters included in metadata, and executes unit services using reinforcement learning algorithms based on the found unit services. You can create process templates for That is, the process template creation function of the processor model generation unit 300 uses input data (data that can be provided because the user knows it) and output data (result data desired by the job requester) to provide a unit service that can be used as a unit service search function. After finding (creating a limited environment), based on this, a reinforcement learning algorithm can be used to recommend the execution order of the unit services.

이를 위해 프로세스 모델 생성부(300)는 도 10에 도시된 바와 같이, 단위서비스 탐색부(310), 프로세스 트리 생성부(320) 및 프로세스 선택부(330) 중 적어도 하나를 포함할 수 있다.To this end, the process model generation unit 300 may include at least one of a unit service search unit 310 , a process tree generation unit 320 , and a process selection unit 330 as shown in FIG. 10 .

상기 단위서비스 탐색부(310)는, 입력 파라미터 및 출력 파라미터와 매칭되어 사용 가능한 단위서비스를 탐색할 수 있다.The unit service search unit 310 may search for a usable unit service by matching an input parameter and an output parameter.

상기 프로세스 트리 생성부(320)는, 단위서비스 탐색부(310)를 통해 탐색된 단위서비스의 프로세스 시작점에서 연속적인 노드를 선택하면서 프로세스 종단점까지 확장하여 단위서비스의 실행을 위한 프로세스 트리를 생성할 수 있다. 이는, 프로세스 템플릿 추천을 위한 프로세서 노드를 생성하는 단계로, 현재 프로세스 상태에서 특정 경로로 프로세스 탐색을 진행하면서, 프로세스 시작점에서 시작하여 연속적인 노드를 선택해 내려가 종단 프로세스에 도착하면, 프로세스 트리를 가장 확률 높은 가능성으로 확장시킬 프로세스 노드를 선택할 수 있다. 이때, 일정 수 이상 프로세스 예측이 진행되면 그 지점에서 한 단계 더 프로세스 수행 경로를 예측(프로세스 트리의 확장)할 수 있다. The process tree generating unit 320 may generate a process tree for executing the unit service by selecting a continuous node from the process start point of the unit service searched through the unit service search unit 310 and extending it to the process end point. there is. This is the step of creating a processor node for process template recommendation. While searching for a specific path in the current process state, starting from the process start point, selecting successive nodes, and going down to the end process, the process tree is the most probable. You can select process nodes to expand with high probability. In this case, if a certain number of process predictions are in progress, the process execution path may be predicted one more step (expanding the process tree) at that point.

또한, 프로세스 확장에서 선택한 노드에서 프로세스가 종료될 때까지 무작위(random) 방법으로 진행하며, 속도가 빠르기 때문에 여러 번 추천 수행이 가능하지만 착수의 적정성은 떨어질 수 있다. 프로세스 오류를 최소화하고 정상 수행 가능성을 최대화하기 위한 경로를 탐색, 프로세스 트리 탐색 과정은 동일한 깊이 우선 탐색을 수행하는 것이 바람직하며, 각 서브 프로세스 트리의 탐색이 끝나면 기존 탐색된 프로세스 노드들은 역으로 거슬러 올라가면서 상위 프로세스 노드로 평가 값을 반영할 수 있다. 이때, 프로세스 최대 확률값을 교대로 비교하여 최종 서브 프로세스 트리를 선택하는 방식으로 진행할 수 있으며, 추천된 프로세스의 복잡도 방지와 탐색 속도 향상을 위한 Alpha-Beta Pruning(가지치기) 알고리즘을 적용할 수 있다.In addition, it proceeds in a random method until the process is terminated at the node selected in the process extension, and since it is fast, it is possible to perform recommendations several times, but the appropriateness of the start may be lowered. It is desirable to perform the same depth-first search for the path search and process tree search process to minimize process error and maximize the possibility of normal execution. As you go, you can reflect the evaluation value to the upper process node. In this case, the process can be proceeded by alternately comparing the maximum probability values to select the final sub-process tree, and the Alpha-Beta Pruning algorithm can be applied to prevent the complexity of the recommended process and improve the search speed.

한편, 프로세스 트리 생성부(320)에서는 MCTS(Monte Carlo Tree Search) 알고리즘을 이용할 수 있는데, 이러한 MCTS(Monte Carlo Tree Search)는 시뮬레이션을 통해 가장 가능성이 높아 보이는 방향으로 행동을 결정하는 탐색 방법으로, 모든 프로세스 노드를 대상으로 하는 대신 단위서비스 탐색 기능으로 입/출력 파라미터가 매칭 가능한 단위서비스를 추천하고 프로세스 노드의 오류를 예측할 수 있다. 의사 결정을 위한 체험적 탐색 알고리즘은, 프로세스 수행 시 단위서비스 평가 기능 활용하여 어떻게 움직이는 것이 가장 유망한 것인가를 분석하면서 프로세스 상에서 프로세스 트리를 확장하는 데 중점을 둔 탐색이다.On the other hand, the process tree generation unit 320 may use a Monte Carlo Tree Search (MCTS) algorithm. This MCTS (Monte Carlo Tree Search) is a search method that determines the behavior in the most likely direction through simulation. Instead of targeting all process nodes, the unit service search function recommends unit services with matching input/output parameters and predicts process node errors. The experiential search algorithm for decision-making is a search that focuses on expanding the process tree in the process while analyzing how it is most promising to move by using the unit service evaluation function during process execution.

상기 프로세스 선택부(330)는, 프로세스 트리 생성부(320)를 통해 선택된 노드들에 대해 프로세스 종단점에서 프로세스 시작점까지 역방향으로 선택 가능성이 가장 높은 확률값을 갖는 노드들을 각각 선택하여 최종 프로세스 트리를 결정할 수 있다. 프로세스 추천의 적정성을 확보하기 위해 추천 결과를 종합하여 확장한 프로세스 노드의 적정성을 예측하고 역전파하여 해당경로의 수행 성공 가능성을 갱신할 수 있다.The process selection unit 330 may determine the final process tree by selecting nodes having the highest probability of selection in the reverse direction from the process end point to the process start point with respect to the nodes selected through the process tree generation unit 320, respectively. there is. In order to secure the adequacy of the process recommendation, the adequacy of the extended process node can be predicted by synthesizing the recommendation results, and the possibility of successful execution of the corresponding path can be updated by backpropagating it.

역전파 과정에서 사용되는 최대 확률값 추천 알고리즘은 프로세스 트리의 모든 노드를 탐색해야 하기 때문에 프로세스의 복잡도가 클 경우 프로세스 트리 전체를 확장하여 탐색하는 것은 비효율적이며 시간이 많이 걸리는 단점이 있다. 이를 극복하기 위해 알파-베타 가지치기 알고리즘을 이용하여 최대 확률값 추천 알고리즘에서 이전에 학습된 프로세스에 따라서 연관성이 낮은 프로세스가 탐색되거나 추천 프로세스로 예측된 프로세스 하위 노드를 더 이상 탐색할 필요가 없는 경로를 제거하는 기법으로 계산량을 대폭 절감할 수 있다. Since the maximum probability value recommendation algorithm used in the backpropagation process has to search all nodes of the process tree, it is inefficient and time-consuming to search by expanding the entire process tree when the complexity of the process is large. In order to overcome this, using the alpha-beta pruning algorithm, a process with low relevance is searched according to the previously learned process in the maximum probability value recommendation algorithm, or a path that no longer needs to search for the process subnode predicted by the recommendation process. The removal technique can significantly reduce the amount of computation.

연관성이 낮은 프로세스가 탐색되거나 추천 프로세스로 예측된 프로세스가 추출된 지점부터 트리의 가지를 치는 방식(Pruning)을 적용하며, 가지치기 판단을 위해서 매 프로세스 노드 탐색 순간마다 최적의 프로세스 선택 값을 기억하는 방식으로 Alpha는 최대 확률값이 보장하는 최대값으로 추천 프로세스 적정성을 판단하는 기준 값으로 설정, Beta는 최대 확률값이 보장하는 최소값으로 추천 프로세스의 적정성이 떨어지는 값 설정할 수 있다. Alpha cut-off를 통해 추천된 프로세스의 어떤 경우가 추천 프로세스의 적정성에 불리하여 그 경우를 선택하지 않을 때 수행할 수 있으며, Beta cut-off는 추천된 프로세스의 어떤 경우가 적정성에 유리하여 그 경우를 선택하지 않을 때 수행, 프로세스 트리 탐색의 효율성이 프로세스 템플릿 추천 인공지능의 성능을 좌우할 수 있다. The method of pruning the tree is applied from the point where a process with low relevance is discovered or the process predicted by the recommendation process is extracted. In this way, Alpha can be set as the maximum value guaranteed by the maximum probability value and set as a reference value for judging the adequacy of the recommendation process, and Beta can be set as the minimum value guaranteed by the maximum probability value and a value with poor adequacy of the recommendation process. It can be carried out when certain cases of the recommended process through the alpha cut-off are unfavorable to the adequacy of the recommended process and thus the case is not selected. When not selected, the efficiency of the process tree search can affect the performance of the process template recommendation AI.

이러한 프로세스 모델 생성부(300)는, 단위서비스의 실행 이력이 존재하지 않는 경우, 메타데이터에 포함된 입력 파라미터에 따른 단위서비스의 실행 결과 중 예측치가 가장 높은 단위서비스를 스택에 저장하고, 스택에 저장된 단위서비스 중 메타데이터에 포함된 출력 파라미터를 포함하는 단위서비스를 찾고, 찾은 해당 단위서비스의 실행을 위한 프로세스 템플릿을 생성할 수 있다.The process model generation unit 300 stores, in the stack, the unit service having the highest predicted value among the execution results of the unit service according to the input parameter included in the metadata, in the stack when there is no execution history of the unit service. It is possible to find a unit service including an output parameter included in metadata among stored unit services, and create a process template for executing the found unit service.

좀 더 구체적으로, 프로세스 모델 생성부(300)에서 프로세스 템플릿을 생성하는 방법은 2가지 방법을 포함하는데, 그 첫 번째 방법은 하이퍼오토메이션의 운영초기 실행 이력이 존재하지 않아 단위서비스를 평가할 수 없을 때 사용하는 방법으로, CNN 기반 딥러닝 알고리즘으로 생성한 단위서비스 탐색 기능을 이용하여 입력 파라미터에 따른 결과 중 원-핫 인코딩(One-Hot Encoding) 알고리즘을 사용하여 예측치가 가장 높은 하나의 단위서비스를 스택에 넣어 두고 사용자가 입력한 결과 데이터를 포함하는 단위서비스를 찾을 수 있다.More specifically, the method of generating the process template in the process model generating unit 300 includes two methods, the first method is when the unit service cannot be evaluated because there is no operation history of hyper automation in the initial stage. As a method to use, one unit service with the highest prediction value is stacked using the One-Hot Encoding algorithm among the results according to the input parameters using the unit service search function created by the CNN-based deep learning algorithm. You can find the unit service that contains the result data entered by the user by putting it in .

그 두 번째 방법은 시스템을 운영하여 단위서비스 실행이력이 생성되어 단위서비스를 평가할 수 있는 경우에 사용되며, 강화학습(Reinforcement Learning) 알고리즘에 MCTS, MM, ABP를 사용하여 어떻게 움직이는 것이 가장 유망한 것인가를 분석하고, 프로세스 오류를 최소화하여 정상 수행 가능성을 최대화하고, 더 이상 탐색할 필요가 없는 경로를 제거하는 기법으로 계산량을 대폭 절감하는 알고리즘들의 조합(제한적 환경)으로 최적의 프로세스를 생성할 수 있다.The second method is used when the unit service execution history is generated by operating the system and the unit service can be evaluated. It uses MCTS, MM, and ABP in the reinforcement learning algorithm to determine how the most promising movement is. An optimal process can be created with a combination of algorithms (limited environment) that significantly reduces the amount of computation by analyzing, minimizing process errors, maximizing the possibility of normal performance, and removing paths that no longer need to be searched.

도 19는 본 발명의 실시예에 따른 워크 플로우 관리부의 이메일 전송 시 동작을 설명하기 위해 나타낸 도면이고, 도 20은 본 발명의 실시예에 따른 워크 플로우 관리부의 오류 예측을 위한 전체 프로세스를 나타낸 도면이며, 도 21은 본 발명의 실시예에 따른 워크 플로우 관리부가 파라미터 오류를 예측하는 예시를 나타낸 도면이다.19 is a diagram illustrating an operation when an email is transmitted by the workflow management unit according to an embodiment of the present invention, and FIG. 20 is a diagram illustrating an overall process for error prediction of the workflow management unit according to an embodiment of the present invention. , FIG. 21 is a diagram illustrating an example in which a workflow management unit predicts a parameter error according to an embodiment of the present invention.

상기 워크 플로우 관리부(400)는, 단위서비스의 실행을 위한 메타데이터와 자동화 솔루션을 매핑하고, 매핑된 메타데이터에 포함된 파라미터에 따라 자동화 솔루션의 동작 실행을 제어할 수 있다. 워크 플로우 관리부(400)의 프로세스는 단위서비스들의 연결 흐름이라 볼 수 있는데, 단위서비스들은 자동화 솔루션(RPA, SAP, 이메일, Open API 등)을 동작하며, 이때 고정된 행위를 하는 것이 아니라 변수에 따른 로직을 수행할 수 있다.The workflow management unit 400 may map metadata for execution of a unit service and an automation solution, and control operation execution of the automation solution according to parameters included in the mapped metadata. The process of the workflow management unit 400 can be seen as a connection flow of unit services, and the unit services operate an automation solution (RPA, SAP, e-mail, Open API, etc.) logic can be executed.

단위서비스의 구성요소에 출력 파라미터에는 파라미터 명은 프로세스가 실행되는 동안 유일한 존재여야 하며 동일한 프로세스가 중복실행 중에도 해당 값을 찾을 수 있어야 한다. 이를 위해서 프로세스 인스턴스(프로세스가 실행되면 생성되는 프로그램 객체)ID와 해당 단위서비스ID, 파라미터 명 3가지를 조합하여 유일한 값을 유지 할 수 있도록 하며, 프로세스 인스턴스ID, 단위서비스ID + 파라미터 명을 조합하여 저장 시 프로세스가 시작해 종료되는 시점까지 생성되는 변수들을 모든 단위서비스의 입력 파라미터에 매핑이 가능하도록 하는 것이 바람직하다.In the output parameter of the component of the unit service, the parameter name must exist uniquely while the process is running, and the corresponding value must be found even during the overlapping execution of the same process. To this end, the process instance (program object created when the process is executed) ID, the corresponding unit service ID, and three parameter names are combined to maintain a unique value, and the process instance ID, unit service ID + parameter name are combined to When saving, it is desirable to enable mapping of variables created from the start to the end of the process to the input parameters of all unit services.

이러한 워크 플로우 관리부(400)는, 실행할 단위서비스의 파라미터 중에 미리 정의된 필수 파라미터가, 하이퍼오토메이션 관리부(100)를 통해 저장된 메타데이터의 파라미터로 포함되지 않거나 존재하지 않는 경우 오류 발생으로 예측하고, 해당 오류 발생으로 예측되는 경우, 누락된 데이터를 이메일 및 챗봇 중 적어도 하나를 통해 작업 요청자에게 요청할 수 있다. 즉, 오류 예측을 위한 규칙은 존재하는 단위서비스의 파라미터 명(이하, E_P)과 다음 진행할 단위서비스의 필수 파라미터(이하, N_P)의 매칭 데이터의 존재 여부를 판단(성공: S, 오류: F)하며, N_P에 존재하여 필요한 데이터가 E_P에 존재하지 않거나 값이 없는(Null, Undefinded) 경우 오류로 예측할 수 있다. The workflow management unit 400 predicts that an error occurs when a predefined essential parameter among the parameters of the unit service to be executed is not included or does not exist as a parameter of the metadata stored through the hyperautomation management unit 100, and the corresponding If it is predicted that an error will occur, the missing data may be requested from the job requester through at least one of an email and a chatbot. That is, the rule for error prediction determines whether there is matching data between the parameter name of the existing unit service (hereinafter, E_P) and the essential parameter of the next unit service (hereinafter, N_P) (success: S, error: F) However, if the required data does not exist in E_P or does not have a value (Null, Undefined) because it exists in N_P, it can be predicted as an error.

또한, 오류 예측 AI가 오류로 예측하면 경우에 따라 복구 알고리즘을 수행할 수 있다. 필수 파라미터 유무를 이용한 오류 예측 기능에서 오류를 예측하는 경우 작업 요청자(사용자)에게 누락된 데이터 항목을 메일로 요청하며, 작업 요청자(사용자)에게 누락된 데이터 항목을 Chat으로 요청할 수 있다. 이메일, 챗봇으로 메시지를 송신하고 응답을 대기중인 시간은 프로세스 수행 시간에서 차감할 수 있다.In addition, if the error prediction AI predicts in error, it can perform a recovery algorithm in some cases. When an error is predicted in the error prediction function using the presence or absence of required parameters, the job requester (user) can request the missing data item by e-mail, and the job requester (user) can request the missing data item with Chat. The time spent sending a message to an email or chatbot and waiting for a response can be deducted from the process execution time.

또한, 워크 플로우 관리부(400)는, 프로세스 실행 요청 이전에 운영시스템의 부하 평가 결과로서 제공되는 위험도 수치가 미리 설정된 부하 임계치에 도달하면 오류 발생으로 예측하고, 해당 오류 발생으로 예측되는 경우, 워크 플로우 관리부(400)의 작업을 중지하고 이메일 및 챗봇 중 적어도 하나를 통해 작업 관리자에게 보고하면서 해당 오류 발생 여부를 일정 시간 단위로 재확인할 수 있다. 즉, 단위서비스 실행 요청 직전 자동화 솔루션(RPA, OCR, 챗봇 등) 서버에서 실시간 데이터 수집 전송 기능을 이용하여 CPU, 메모리, Disk 사용률을 취득하고 시스템 부하 평가 결과를 통해 위험도 예측 수치를 질의하고 해당 부하 임계치 초과의 경우 오류발생으로 예측할 수 있다. In addition, the workflow management unit 400 predicts that an error occurs when the risk level provided as a result of the load evaluation of the operating system before the process execution request reaches a preset load threshold, and when the error is predicted to occur, the workflow While the operation of the management unit 400 is stopped and reported to the operation manager through at least one of an email and a chatbot, it is possible to reconfirm whether a corresponding error has occurred in units of a predetermined time. That is, just before the unit service execution request, use the real-time data collection and transmission function from the automation solution (RPA, OCR, chatbot, etc.) server to acquire CPU, memory, and disk usage rates, query the risk prediction value through the system load evaluation result, and If the threshold is exceeded, it can be predicted as an error occurrence.

또한, 시스템 부하 평가 결과를 이용한 오류 예측 기능에서 오류를 예측하는 경우 작업실행 요청을 작업요청 버퍼에 저장하여 대기하고, 작업요청 버퍼에서 대기중인 시간은 프로세스 수행 시간에서 차감할 수 있다. 이때, 작업요청 버퍼에 저장된 작업은 5초 주기로 서버의 상태를 재확인하며, 10분 이상 대기시 시스템 관리자에게 메일을 송신하고, 10분(작업 분배 에이전트 설정된 값) 이상 대기 시 시스템 관리자에게 챗팅을 통해 송신할 수 있다.In addition, when the error prediction function using the system load evaluation result predicts an error, the job execution request is stored in the work request buffer and waits, and the waiting time in the work request buffer can be deducted from the process execution time. At this time, the job stored in the job request buffer rechecks the server status every 5 seconds, and when waiting for more than 10 minutes, a mail is sent to the system administrator. can send

한편, 워크 플로우 관리부(400)는, CPU, 메모리, Disk 사용률에 따른 작업 수행 시간 변화를 예측하여 오류 발생을 판단할 수 있는데, 일반적으로 CPU, 메모리, Disk 사용률이 높을 때 PC 또는 서버에서 수행되는 프로그램들의 속도가 느려지는 것을 이용하여 작업 수행 시간 변화 예측에 사용할 모델 정의하고, CPU, 메모리, Disk 사용률의 3가지 항목은 동일한 그래프 모양으로 작업 수행 시간이 증가하는 것을 확인할 수 있다. 작업 수행 시간과 3가지 지표의 가중치(함수)로 증가하는 학습 데이터 셋을 1,000,000,000건을 랜덤하게 생성하며, 입력되는 작업 수행 시간에 가중치를 곱하여 라벨링하고, CPU, 메모리, Disk 사용률에 따른 작업 수행 시간 증가 함수(가중치의 곱) 알고리즘을 이용할 수 있다. 이렇게 생성된 데이터를 이용해 선형 회귀 알고리즘을 이용하여 수행 시간 변화 예측 모델을 학습할 수 있다. On the other hand, the workflow management unit 400 can determine the occurrence of an error by predicting the change in the operation execution time according to the CPU, memory, and disk usage rates, which are generally performed in a PC or a server when the CPU, memory, and disk usage rates are high. Using the slowing down of programs, define the model to be used to predict the change in task execution time, and the three items of CPU, memory, and disk usage show the same graph shape, and it can be seen that the task execution time increases. Randomly generate 1,000,000,000 training data sets that increase with the task execution time and weights (functions) of three indicators, label by multiplying the input task execution time by the weight, and perform task execution time according to CPU, memory, and disk usage rates An increasing function (product of weights) algorithm is available. Using the generated data, the execution time change prediction model can be trained using a linear regression algorithm.

이때, AI 모델의 구성은 입력층은 4종(CPU, 메모리, Disk 사용률, 작업 수행 시간)으로 제한하고 출력층의 활성화 함수 없이 1종(예상 수행 시간)으로 고정(모델 생성)되고, 추가로 검증 데이터 셋 10,000,000건을 랜덤하게 생성하여 생성된 모델을 검증 평가하고 예측의 정확성(Accuracy)이 99% 미만일 경우 AI 모델의 은닉층을 깊고 넓게 확대하여 재학습 수행할 수 있다. 또한, CPU, 메모리, Disk 사용률에 따른 작업 수행 시간 변화 예측 기능에서 오류를 예측하는 경우 단위서비스 수행 시간이 과도하게 오래 걸리는 상태로 판단하여 시스템 관리자에게 메일로 해당 단위서비스를 알리고 확인 요청할 수 있고, 단위서비스 수행 시간이 과도하게 오래 걸리는 상태로 판단하여 시스템 관리자에게 챗봇을 통해 해당 단위서비스를 알리기 위한 확인 요청을 수행할 수 있다.At this time, in the AI model configuration, the input layer is limited to 4 types (CPU, memory, disk usage, task execution time), and it is fixed to 1 type (expected execution time) without an activation function of the output layer (model creation), and further verification 10,000,000 data sets are randomly generated, the generated model is verified and evaluated, and when the accuracy of prediction is less than 99%, re-learning can be performed by deep and wide expansion of the hidden layer of the AI model. In addition, if an error is predicted in the function of predicting change in operation time depending on CPU, memory, and disk usage, the unit service execution time is judged to be excessively long, and the system administrator can notify the unit service by e-mail and request confirmation, Judging that the unit service execution time is excessively long, a confirmation request can be made to notify the system administrator of the unit service through the chatbot.

도 22는 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트부의 구성을 나타낸 블록도이고, 도 23은 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트부의 동작 프로세스를 나타낸 도면이고, 도 24는 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트부의 버퍼 스케줄을 설명하기 위한 도면이고, 도 25는 본 발명의 실시예에 따른 학습 데이터 셋의 예시를 나타낸 도면이고, 도 26은 본 발명의 실시예에 따른 시스템 부하 평가 학습 로직을 나타낸 도면이며, 도 27은 본 발명의 실시예에 따른 시스템 부하 평가를 위한 서버 별 실시간 데이터 수집 전송 기능을 설명하기 위해 나타낸 도면이다.22 is a block diagram illustrating the configuration of a process execution request agent unit according to an embodiment of the present invention, FIG. 23 is a diagram illustrating an operation process of the process execution request agent unit according to an embodiment of the present invention, and FIG. 24 is a diagram of the present invention It is a view for explaining the buffer schedule of the process execution request agent unit according to the embodiment, Figure 25 is a diagram showing an example of a learning data set according to the embodiment of the present invention, Figure 26 is a system load according to the embodiment of the present invention It is a diagram illustrating evaluation learning logic, and FIG. 27 is a diagram illustrating a real-time data collection and transmission function for each server for system load evaluation according to an embodiment of the present invention.

상기 프로세스 실행 요청 에이전트부(500)는, 사용자 또는 시스템으로부터 자동화 솔루션으로 구성된 프로세스에 대한 실행 요청을 수신하고, 프로세스 작업 분배 에이전트부(200), 워크 플로우 관리부(400), 자동화 솔루션(RPA, OCR, 이메일, 챗봇, SAP, Open API)으로부터 자동화 솔루션의 실행에 필요한 데이터를 각각 수집하고, 수집된 데이터를 사용하고 선형 회귀 알고리즘을 기반으로 컴퓨터 장치의 운영시스템에 대한 위험도 수치를 산출하고, 산출된 위험도 수치에 따른 운영시스템의 부하를 평가하며, 부하 평가 결과에 따라 자동화 솔루션의 실행을 요청할 수 있다.The process execution request agent unit 500 receives an execution request for a process composed of an automation solution from a user or a system, and a process task distribution agent unit 200, a workflow management unit 400, and an automation solution (RPA, OCR). , e-mail, chatbot, SAP, Open API), collect the data required for the execution of the automation solution, use the collected data, calculate the risk level for the operating system of the computer device based on the linear regression algorithm, and calculate the calculated The load of the operating system is evaluated according to the level of risk, and the execution of the automation solution can be requested according to the result of the load evaluation.

이를 위해 프로세스 실행 요청 에이전트부(500)는 도 22에 도시된 바와 같이, 프로세스 실행 요청 수신부(510), 프로세스 실행 요청부(520), 데이터 전처리부(530) 및 시스템 부하 평가 제어부(540) 중 적어도 하나를 포함할 수 있다.To this end, as shown in FIG. 22 , the process execution request agent unit 500 includes one of the process execution request receiving unit 510 , the process execution requesting unit 520 , the data preprocessing unit 530 , and the system load evaluation control unit 540 . It may include at least one.

상기 프로세스 실행 요청 수신부(510)는, 작업 요청자 또는 시스템으로부터 자동화 솔루션으로 구성된 프로세스에 대한 실행 요청을 수신할 수 있다.The process execution request receiving unit 510 may receive an execution request for a process configured as an automated solution from a job requester or a system.

상기 프로세스 실행 요청부(520)는, 프로세스 작업 분배 에이전트부(200), 워크 플로우 관리부(400), 자동화 솔루션으로부터 해당 자동화 솔루션의 실행에 필요한 데이터를 수집하되, 문자열 검색에 따른 분류 알고리즘을 이용하여 정형 데이터 수집과 비정형 데이터 수집을 구분하여 수집하고, 수집된 데이터를 기반으로 프로세스 작업 분배 에이전트부(200), 워크 플로우 관리부(400), 자동화 솔루션으로 자동화 프로세스 실행을 요청하되, 부하 평가 결과로서 제공되는 위험도 수치가 미리 설정된 부하 임계치에 도달하면 자동화 프로세스 실행 요청을 중지할 수 있다. The process execution request unit 520 collects data necessary for the execution of the automation solution from the process task distribution agent unit 200, the workflow management unit 400, and the automation solution, but uses a classification algorithm according to string search. Collect structured data collection and unstructured data collection separately, and based on the collected data, request the execution of the automation process with the process task distribution agent unit 200, the workflow management unit 400, and the automation solution, but provide it as a load evaluation result A request to execute an automated process can be stopped when the risk level to be applied reaches a preset load threshold.

또한, 프로세스 실행 요청부(520)는, 비정형 데이터에 대해 미리 설정된 특정 단어 또는 문장 포함 여부를 판별하거나, 필터를 통해 문자열만 추출하거나, 정형화된 메시지 포맷으로 변환한 후, 데이터 암호화 처리 과정을 수행할 수 있다.In addition, the process execution request unit 520 determines whether a specific word or sentence preset for the unstructured data is included, extracts only a character string through a filter, or converts it into a standardized message format, and then performs a data encryption process can do.

좀 더 구체적으로 프로세스 실행 요청부(520)는, 문자열 검색에 의한 분류 기술을 활용하여 정상/비정상적인 프로세스 실행 요청을 구분하여 필요한 데이터를 수집, 변환 및 저장할 수 있다. 여기서, 정형 데이터 수집은 약속된 키워드를 통해 실시간으로 데이터 수집이 가능한데, 비해 비정형 데이터인 메일은 주기적으로 수신 메일 확인부터 시작하여 발신자 정보, 메일 제목/본문, 첨부 파일 정보 등의 데이터에서 특정 단어나 문장 포함/미포함 여부 등 판별로 데이터를 수집할 수 있다. 메일 본문은 TEXT형식과 HTML/XML형식으로 구분이 되어 있어 HTML/XML일 경우 동적 웹페이지가 아닌 정적 웹페이지로 구성되어 있어 문자열만 추출하는 필터를 사용하여 데이터를 수집할 수 있으며, 수집된 데이터는 일차적으로 정형화된 메시지 포맷(사용자정보, 시스템정보, 프로세스정보 등)으로 변환 후 보안 유지를 위해 데이터 암호화(AES-256) 과정을 거처 FIFO(First In, First Out)구조의 파일명에 따라 TEXT파일로 구성되며, 약속된 특정 폴더에 저장될 수 있다.In more detail, the process execution request unit 520 may collect, convert, and store necessary data by classifying a normal/abnormal process execution request by utilizing a classification technology based on a string search. Here, structured data collection enables data collection in real time through promised keywords. In contrast, unstructured data mail starts with periodically checking incoming mail, Data can be collected by determining whether sentences are included or not. The mail body is divided into TEXT format and HTML/XML format. In the case of HTML/XML, it is composed of a static web page rather than a dynamic web page. is first converted into a standardized message format (user information, system information, process information, etc.) It is composed of and can be saved in a specific promised folder.

상기 데이터 전처리부(530)는, 프로세스 실행 요청부(520)를 통해 수집된 데이터의 형식을 기준으로 해당 데이터로부터 입력 파라미터를 추출하고, 추출된 입력 파라미터를 프로세스 실행 요청부(520)로 제공할 수 있다. 좀 더 구체적으로, 데이터 전처리부(530)는, 특정 폴더에 저장된 TEXT파일을 대상으로 선입선처리 방식에 의해 선택된 파일부터 암호화된 데이터를 복호화(AES-256)하여 워크 플로우 관리부(400)에 프로세스 실행 요청을 위한 입력 파라미터로 변환하여 프로세스 실행 요청 버퍼에 전달할 수 있다. 이때, 입력 파라미터 구조는 JSON 구조로 요청 정보, 사용자 정보, 실행요청 도구 별(Mail, Chat, Schedule, API 등) 기본 설정 정보 구성이 되며, 추가 확장 정보는 빠른 검색이 필요로 하여 NoSQL 기술을 활용할 수 있다.The data preprocessor 530 extracts an input parameter from the corresponding data based on the format of the data collected through the process execution request unit 520 , and provides the extracted input parameter to the process execution request unit 520 . can More specifically, the data pre-processing unit 530 decrypts (AES-256) encrypted data from a file selected by a first-in-first-out processing method for a TEXT file stored in a specific folder, and executes the process in the workflow management unit 400 It can be converted into an input parameter for the request and passed to the process execution request buffer. At this time, the input parameter structure is a JSON structure and consists of request information, user information, and basic setting information for each execution request tool (Mail, Chat, Schedule, API, etc.) can

상기 시스템 부하 평가 제어부(540)는, 프로세스 실행 요청부(520)를 통한 자동화 프로세스 실행 요청 이전에 수집된 데이터 중 CPU 사용률, 메모리 사용률, 디스크 사용률에 대한 데이터를 사용하고 선형 회귀 알고리즘을 기반으로 컴퓨터 장치의 운영시스템의 위험도 수치를 산출하고, 산출된 위험도 수치와 미리 설정된 부하 임계치를 비교하여 운영시스템 부하를 평가하고, 부하 평가에 따라 프로세스 실행 요청부의 자동화 프로세스 실행 요청을 제어할 수 있다.The system load evaluation control unit 540 uses data on CPU usage rate, memory usage rate, and disk usage rate among the data collected before the automation process execution request through the process execution request unit 520, and based on a linear regression algorithm, the computer It is possible to calculate the risk level of the operating system of the device, evaluate the operating system load by comparing the calculated risk level with a preset load threshold, and control the automation process execution request of the process execution request unit according to the load evaluation.

본 실시예에서 시스템 부하 평가는 솔루션 개발단계에서 생성할 수 있는 것으로 OS에 관계없이 동작되는 정보를 이용할 수 있으며, 입력 데이터로 CPU 사용률, 메모리 사용률, Disk 사용률을 사용하고 AI 학습 알고리즘으로 선형 회귀를 이용하여 수치를 예측하는데 이때 수치는 시스템의 위험도를 나타내는 지표로 사용할 수 있다. 위험도를 나타내는 지표(예측 수치)는 프로세스 실행 요청 에이전트의 설정 요소에 값을 지정하고 그 값은 시스템의 임계치(위험하다고 판단하는 수치)의 의미로 활용될 수 있다.In this embodiment, the system load evaluation can be generated at the solution development stage, and information that operates regardless of the OS can be used. The numerical value is predicted using the The indicator (prediction value) indicating the degree of risk assigns a value to the setting element of the process execution request agent, and the value can be used as the meaning of the system's threshold (the number determined to be dangerous).

본 실시예에서는 입력 데이터 셋을 3가지로 지정할 수 있는데, 이 중 출력 데이터 셋은 1가지로 설정, 활성화 함수는 렐루 함수(Relu Function)을 활용하며 최적화 함수는 아담 함수(Adaptive Moment Estimation Function)을 사용하여 딥러닝 모델을 구성할 수 있다.In this embodiment, three input data sets can be specified. Among them, one output data set is set, the activation function utilizes the Relu function, and the optimization function uses the Adam function (Adaptive Moment Estimation Function). can be used to construct deep learning models.

또한, AI 학습에 사용할 데이터 셋의 경우 일반적 상식에서 데이터를 구성할 수 있어 CSV (Comma-Separated Values) 형식으로 1,000,000,000건을 만들어 사용할 수 있다. 학습 데이터 셋 생성 방법은 0.0 ~ 100.0 범위의 수치를 임의방식으로 1,000,000,000(1,000 * 1,000 * 1,000) 건을 만든 후 위험도(라벨링 부분) 수치를 임계치 이하의 경우 산술 평균으로 지정하고 초과의 경우 임계치가 가장 높은 수치를 위험도로 지정할 수 있다. 추가로 검증 데이터 셋 10,000,000건을 랜덤하게 생성하여 생성된 모델을 검증 평가하고, 예측의 정확성(Accuracy)이 99% 미만일 경우 AI 모델의 은닉층을 깊고 넓게 확대하여 재 학습을 수행할 수 있다.In addition, in the case of a data set to be used for AI learning, data can be organized in common sense, so 1,000,000,000 cases can be created and used in CSV (Comma-Separated Values) format. The training data set creation method randomly creates 1,000,000,000 (1,000 * 1,000 * 1,000) values in the range of 0.0 to 100.0, then designates the risk (labeling part) as an arithmetic average if it is below the threshold, and if it exceeds the threshold, the threshold is the most A high number can be designated as a risk. In addition, 10,000,000 validation data sets are randomly generated to verify and evaluate the generated model, and when the accuracy of prediction is less than 99%, re-learning can be performed by deep and wide expansion of the hidden layer of the AI model.

한편, 프로세스 실행 요청 에이전트부(500)는, 프로세스 실행 요청 버퍼 스케줄 기능을 제공할 수 있는데, 좀 더 구체적으로는, 시스템 부하 평가 제어부(540)과 주기적으로 통신 과정을 거처 워크 플로우 관리부(400)에 실행 가능한 자동화 실행 요청 명령을 전달하고, 시스템 부하 평가의 수집 범위인 부하 임계치(70%산정)에 도달하면 버퍼에 있는 모든 실행 요청(프로세스 작업 분배 에이전트부(200)와 워크 플로우 관리부(400) 실행 중지)은 중지되고 해당 시스템 담당자에게 자동으로 시스템 점검 통보(메일, 채팅 등)를 하며, 자동화 솔루션에 부하가 감지되면 실행 요청 중 부하가 감지된 자동화 솔루션을 사용하고 있는 단위서비스가 포함된 실행 요청만 중지가 되고 다른 실행 요청은 정상적으로 처리 수행할 수 있다. Meanwhile, the process execution request agent unit 500 may provide a process execution request buffer scheduling function. More specifically, the process execution request agent unit 500 periodically communicates with the system load evaluation control unit 540 to communicate with the workflow management unit 400 . Delivers an executable automation execution request command to the system, and when the load threshold (70% calculation), which is the collection range of system load evaluation, is reached, all execution requests in the buffer (process task distribution agent unit 200 and workflow management unit 400) Execution stop) is stopped and system check notification (mail, chatting, etc.) is automatically sent to the person in charge of the system. Only the request is stopped and other execution requests can be processed normally.

한편, 프로세스 실행 요청 에이전트부(500)는, 시스템 부하 평가를 위한 서버 별 실시간 데이터 수집 전송 기능을 제공하는데, 실시간 데이터 수집 범위에 속한 프로세스 작업 분배 에이전트부(200), 워크 플로우 관리부(400) 및 자동화 솔루션은 서로 다른 OS로 구성이 될 수 있으며, OS와 상관없이 동작할 수 있는 프로그래밍 언어 사용 필수 요소이며 상황에 따라서 여러 프로그래밍 언어를 복합적으로 사용할 수 있도록 환경을 구성할 수 있다. OS 별로 수집 대상 데이터를 얻기 위한 환경 설정 기능과 OS에 종속적으로 설정된 파라미터 정보 확인이 가능하다. 또한, 수집 대상 데이터로는 CPU 사용률, 메모리 사용률, Disk 사용률 등 정형화된 데이터로 빠른 결과를 얻기 위해 프로세스 실행 요청 에이전트에 특정 포트가 정의된 데이터를 전달할 수 있다.On the other hand, the process execution request agent unit 500 provides a real-time data collection and transmission function for each server for system load evaluation, the process task distribution agent unit 200, the workflow management unit 400 and The automation solution can be composed of different OSs, and it is an essential element to use a programming language that can operate regardless of the OS, and the environment can be configured to use multiple programming languages in combination depending on the situation. It is possible to check the environment setting function to obtain the data to be collected for each OS and the parameter information set depending on the OS. In addition, as the data to be collected, data with a specific port defined to the process execution request agent can be delivered to the process execution request agent in order to obtain a quick result with standardized data such as CPU usage rate, memory usage rate, and disk usage rate.

이상에서 설명한 것은 본 발명에 의한 인공지능 기반의 하이퍼오토메이션 솔루션 시스템을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.What has been described above is only one embodiment for implementing the artificial intelligence-based hyper-automation solution system according to the present invention, and the present invention is not limited to the above embodiment, but as claimed in the claims below Without departing from the gist of the invention, it will be said that the technical spirit of the present invention exists to the extent that various modifications can be made by anyone with ordinary knowledge in the field to which the invention pertains.

1000: 인공지능 기반의 하이퍼오토메이션 솔루션 시스템
100: 하이퍼오토메이션 관리부
110: 하이퍼오토메이션 사용자 인터페이스부
120: 데이터 포맷 변환부
130: 단위서비스 실행 학습부
140: 단위서비스 성능 평가부
150: 단위서비스 실행이력데이터 탐색부
160: 메타데이터 탐색부
200: 프로세스 작업 분배 에이전트부
300: 프로세스 모델 생성부
310: 단위서비스 탐색부
320: 프로세스 트리 생성부
330: 프로세스 선택부
400: 워크 플로우 관리부
500: 프로세스 실행 요청 에이전트부
510: 프로세스 실행 요청 수신부
520: 프로세스 실행 요청부
530: 데이터 전처리부
540: 시스템 부하 평가 제어부
1000: Artificial intelligence-based hyper-automation solution system
100: hyper-automation management unit
110: hyper-automation user interface unit
120: data format conversion unit
130: unit service execution learning unit
140: unit service performance evaluation unit
150: unit service execution history data search unit
160: metadata search unit
200: process work distribution agent unit
300: process model generation unit
310: unit service search unit
320: process tree generation unit
330: process selection unit
400: workflow management unit
500: process execution request agent unit
510: process execution request receiving unit
520: process execution request unit
530: data preprocessor
540: system load evaluation control unit

Claims (10)

RPA, OCR, 이메일, 챗봇, SAP, Open API를 포함하는 자동화 솔루션의 세부 내용을 구성하는 단위인 단위서비스의 메타데이터를 입력 받아 상기 자동화 솔루션 별 단위서비스를 생성하여 저장 관리하고, 상기 메타데이터를 기반으로 상기 단위서비스를 실행하여 얻은 실행이력데이터를 저장 관리하고, 상기 단위서비스의 실행 결과에 따라 상기 단위서비스의 성능을 평가하는 하이퍼오토메이션 관리부;
상기 자동화 솔루션에 포함된 RPA, OCR, 이메일, 챗봇, SAP, Open API에 대한 인증 처리를 각각 수행하고, 인증 완료된 상기 자동화 솔루션의 시작 및 실행을 요청하는 프로세스 작업 분배 에이전트부;
상기 메타데이터에 포함된 입력 파라미터와 출력 파라미터를 기반으로 사용 가능한 상기 단위서비스를 검색하고, 검색된 상기 단위서비스를 기반으로 강화 학습 알고리즘을 이용해 상기 단위서비스의 실행을 위한 프로세스 템플릿을 생성하는 프로세스 모델 생성부;
상기 단위서비스의 실행을 위한 상기 메타데이터와 상기 자동화 솔루션을 매핑하고, 매핑된 상기 메타데이터에 포함된 파라미터에 따라 상기 자동화 솔루션의 동작 실행을 제어하는 워크 플로우 관리부; 및
사용자 또는 시스템으로부터 상기 자동화 솔루션으로 구성된 프로세스에 대한 실행 요청을 수신하고, 상기 프로세스 작업 분배 에이전트부, 상기 워크 플로우 관리부, 상기 자동화 솔루션으로부터 상기 자동화 솔루션의 실행에 필요한 데이터를 각각 수집하고, 수집된 데이터를 사용하고 선형 회귀 알고리즘을 기반으로 컴퓨터 장치의 운영시스템의 사용률에 따라 예측된 부하를 수치적으로 나타낸 위험도 수치를 산출하고, 산출된 위험도 수치에 따른 운영시스템의 부하를 평가하며, 부하 평가 결과에 따라 상기 자동화 솔루션의 실행을 요청하는 프로세스 실행 요청 에이전트부를 포함하는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션 시스템.
It receives the metadata of the unit service, which is the unit constituting the details of the automation solution including RPA, OCR, e-mail, chatbot, SAP, and Open API, creates, stores and manages the unit service for each automation solution, and stores and manages the metadata. a hyper-automation management unit that stores and manages execution history data obtained by executing the unit service based on the unit service, and evaluates the performance of the unit service according to the execution result of the unit service;
a process task distribution agent unit that performs authentication processing for RPA, OCR, e-mail, chatbot, SAP, and Open API included in the automation solution, respectively, and requests the start and execution of the certified automation solution;
A process model is created that searches for the available unit service based on the input parameter and the output parameter included in the metadata, and creates a process template for executing the unit service using a reinforcement learning algorithm based on the retrieved unit service. wealth;
a workflow management unit that maps the metadata for execution of the unit service and the automation solution, and controls operation execution of the automation solution according to parameters included in the mapped metadata; and
Receives an execution request for a process composed of the automation solution from a user or system, collects data required for execution of the automation solution from the process task distribution agent unit, the workflow management unit, and the automation solution, respectively, and collects the collected data Calculates the risk value numerically representing the load predicted according to the usage rate of the operating system of the computer device based on the linear regression algorithm, evaluates the load on the operating system according to the calculated risk value, and adds Artificial intelligence-based hyper-automation solution system, characterized in that it comprises a process execution request agent for requesting the execution of the automation solution accordingly.
제1 항에 있어서,
상기 하이퍼오토메이션 관리부는,
상기 단위서비스의 명령과 옵션에 대한 입력 파라미터, 상기 자동화 솔루션의 실행을 위한 솔루션 실행데이터, 상기 자동화 솔루션의 실행 결과로서 상기 실행이력데이터를 나타내는 출력 파라미터를 포함하는 상기 메타데이터를 데이터베이스에 추가 및 삭제하여 관리하는 하이퍼오토메이션 사용자 인터페이스부;
StringToFloat 변환 기능을 이용하여 텍스트 기반의 상기 메타데이터를 실수 형태로 변환하고, AddPadding 기능을 이용하여 실수 형태로 변환된 데이터에서 부족한 데이터 개수에 대해 0의 패딩으로 채워 상기 메타데이터의 포맷을 변환하는 데이터 포맷 변환부;
상기 데이터 포맷 변환부를 통해 변환된 메타데이터를 기반으로 상기 단위서비스를 실행하여 미리 정의된 인공지능 학습 알고리즘을 기반으로 상기 단위서비스의 실행을 학습하는 단위서비스 실행 학습부;
상기 단위서비스 실행 학습부를 통해 얻은 상기 실행이력데이터를 기반으로 상기 단위서비스를 미리 설정된 시간 이내에 실행한 횟수를 나타내는 처리능력과, 상기 단위서비스의 실행 간에 오류가 발생한 빈도를 나타내는 오류발생율이 포함된 상기 단위서비스의 성능 평가 점수를 산출하는 단위서비스 성능 평가부; 및
상기 실행이력데이터를 저장하며 단위서비스 아이디를 기준으로 상기 실행이력데이터를 검색하여 제공하는 단위서비스 실행이력데이터 탐색부를 포함하는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션 시스템.
According to claim 1,
The hyper-automation management unit,
Addition and deletion of metadata including input parameters for commands and options of the unit service, solution execution data for execution of the automation solution, and output parameters indicating the execution history data as a result of execution of the automation solution to the database Hyper-automation user interface to manage;
Data that converts the text-based metadata into a real number format using the StringToFloat conversion function, and converts the format of the metadata by filling the insufficient number of data in the data converted to the real number format using the AddPadding function format conversion unit;
a unit service execution learning unit for learning the execution of the unit service based on a predefined artificial intelligence learning algorithm by executing the unit service based on the metadata converted through the data format conversion unit;
Based on the execution history data obtained through the unit service execution learning unit, the processing capability indicating the number of times the unit service is executed within a preset time and the error occurrence rate indicating the frequency of errors occurring between the execution of the unit service are included. a unit service performance evaluation unit that calculates a performance evaluation score of the unit service; and
and a unit service execution history data search unit that stores the execution history data and searches for and provides the execution history data based on the unit service ID.
제2 항에 있어서,
상기 입력 파라미터는,
사용자 아이디, 사이트 URL, 결제승인번호, 제품번호, 고객전화번호, 차량번호, 사원번호, 거래처 이름 및 사업자번호 중 적어도 하나의 데이터를 포함하고,
상기 솔루션 실행데이터는,
RPA, OCR, 이메일, 챗봇, SAP, Open API 중 적어도 자동화 솔루션을 실행하기 위한 데이터를 포함하고,
상기 출력 파라미터는,
엑셀파일, 메일전송파일, 사업자등록증 전자파일, 이미지 파일, 급여명세서 파일, 재직증명서 파일 중 적어도 하나에 대한 데이터를 포함하는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션 시스템.
3. The method of claim 2,
The input parameters are
User ID, site URL, payment approval number, product number, customer phone number, vehicle number, employee number, including at least one data of a customer name and business number,
The solution execution data is
contains data for executing at least an automation solution among RPA, OCR, email, chatbot, SAP, and Open API;
The output parameter is
An artificial intelligence-based hyper-automation solution system comprising data about at least one of an excel file, a mail transmission file, an electronic business registration file, an image file, a pay stub file, and a job certificate file.
제2 항에 있어서,
상기 단위서비스 실행이력데이터 탐색부는,
단위서비스 아이디, 실행오류여부, 실행시작시간, 실행종료시간, CPU, 메모리, 디스크 사용률, 파라미터 명과 값을 키와 값의 쌍으로 묶인 데이터 구조를 기반으로 색인 데이터베이스를 구성하는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션 시스템.
3. The method of claim 2,
The unit service execution history data search unit,
Artificial intelligence characterized by composing an index database based on a data structure in which unit service ID, execution error status, execution start time, execution end time, CPU, memory, disk usage, parameter names and values are tied as key and value pairs based hyper-automation solution system.
제4 항에 있어서,
상기 하이퍼오토메이션 관리부는,
상기 데이터베이스에 접근하여 상기 단위서비스 아이디를 기준으로 상기 실행이력데이터의 필수 파라미터, 데이터 타입, 데이터 길이에 대한 세부항목을 조회하여 학습 데이터 셋으로 활용할 상기 메타데이터를 수집하고, 데이터 생성기를 이용하여 상기 메타데이터를 다수 개로 복제하여 학습 데이터 셋을 1차 증가시킨 후, 1차 증가된 학습 데이터 셋에 대한 파라미터 자리이동 알고리즘 및 순서 변경 알고리즘을 이용해 해당 학습 데이터 셋을 2차 증가시키는 메타데이터 탐색부를 더 포함하는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션 시스템.
5. The method of claim 4,
The hyper-automation management unit,
Accessing the database, collecting the metadata to be used as a learning data set by inquiring detailed items of essential parameters, data types, and data lengths of the execution history data based on the unit service ID, and using a data generator After the first increase of the training data set by duplicating the metadata into multiple pieces, a metadata search unit that secondarily increases the corresponding training data set using the parameter shift algorithm and order change algorithm for the first increased training data set is further added. Artificial intelligence-based hyper-automation solution system, characterized in that it includes.
제1 항에 있어서,
상기 프로세스 모델 생성부는,
상기 입력 파라미터 및 상기 출력 파라미터와 매칭되어 사용 가능한 단위서비스를 탐색하는 단위서비스 탐색부;
상기 단위서비스 탐색부를 통해 탐색된 단위서비스의 프로세스 시작점에서 연속적인 노드를 선택하면서 프로세스 종단점까지 확장하여 단위서비스의 실행을 위한 프로세스 트리를 생성하는 프로세스 트리 생성부; 및
상기 프로세스 트리 생성부를 통해 선택된 노드들에 대해 프로세스 종단점에서 프로세스 시작점까지 역방향으로 선택 가능성이 가장 높은 확률값을 갖는 노드들을 각각 선택하여 최종 프로세스 트리를 결정하는 프로세스 선택부를 포함하는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션 시스템.
According to claim 1,
The process model generation unit,
a unit service search unit matching the input parameter and the output parameter to search for a usable unit service;
a process tree generation unit that selects a continuous node from a process start point of the unit service searched through the unit service search unit and expands it to a process end point to generate a process tree for executing the unit service; and
Artificial intelligence based, characterized in that it comprises a process selector for determining the final process tree by selecting the nodes having the highest probability of selection in the reverse direction from the process end point to the process start point with respect to the nodes selected through the process tree generating unit, respectively 's hyperautomation solution system.
제6 항에 있어서,
상기 프로세스 모델 생성부는,
상기 단위서비스의 실행 이력이 존재하지 않는 경우, 상기 메타데이터에 포함된 입력 파라미터에 따른 상기 단위서비스의 실행 결과 중 예측치가 가장 높은 단위서비스를 스택에 저장하고, 스택에 저장된 단위서비스 중 상기 메타데이터에 포함된 출력 파라미터를 포함하는 단위서비스를 찾고, 찾은 해당 단위서비스의 실행을 위한 프로세스 템플릿을 생성하는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션 시스템.
7. The method of claim 6,
The process model generation unit,
When the execution history of the unit service does not exist, the unit service with the highest predicted value among the execution results of the unit service according to the input parameter included in the metadata is stored in the stack, and the metadata among the unit services stored in the stack An artificial intelligence-based hyper-automation solution system, characterized in that it finds a unit service including output parameters included in the , and creates a process template for executing the found unit service.
제1 항에 있어서,
상기 워크 플로우 관리부는,
실행할 상기 단위서비스의 파라미터 중에 미리 정의된 필수 파라미터가, 상기 하이퍼오토메이션 관리부를 통해 저장된 메타데이터의 파라미터로 포함되지 않거나 존재하지 않는 경우 오류 발생으로 예측하고, 해당 오류 발생으로 예측되는 경우, 누락된 데이터를 이메일 및 챗봇 중 적어도 하나를 통해 작업 요청자에게 요청하고,
상기 프로세스 실행 요청 이전에 상기 부하 평가 결과로서 제공되는 위험도 수치가 미리 설정된 부하 임계치에 도달하면 오류 발생으로 예측하고, 해당 오류 발생으로 예측되는 경우, 상기 워크 플로우 관리부의 작업을 중지하고 이메일 및 챗봇 중 적어도 하나를 통해 작업 관리자에게 보고하면서 해당 오류 발생 여부를 일정 시간 단위로 재확인하고,
상기 부하 임계치는 컴퓨터 장치의 운영시스템의 사용률에 따른 부하에 의해 컴퓨터 장치의 운영시스템이 위험하다고 판단될 수 있는 기준 수치를 나타내는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션 시스템.
According to claim 1,
The workflow management unit,
If a predefined essential parameter among the parameters of the unit service to be executed is not included or does not exist as a parameter of the metadata stored through the hyperautomation management unit, it is predicted as an error occurrence, and when the error is predicted to occur, missing data to the job requester via at least one of email and chatbot;
If the risk level provided as the load evaluation result reaches a preset load threshold before the process execution request, it is predicted that an error will occur, and if the error is predicted to occur, the workflow management unit stops the operation of the email and chatbot. Reporting to the task manager through at least one and reconfirming whether the error has occurred at regular intervals,
The load threshold is an artificial intelligence-based hyper-automation solution system, characterized in that it represents a reference value at which the operating system of the computer device can be determined to be dangerous by the load according to the usage rate of the operating system of the computer device.
제1 항에 있어서,
상기 프로세스 실행 요청 에이전트부는,
작업 요청자 또는 시스템으로부터 상기 자동화 솔루션으로 구성된 프로세스에 대한 실행 요청을 수신하는 프로세스 실행 요청 수신부;
상기 프로세스 작업 분배 에이전트부, 상기 워크 플로우 관리부, 상기 자동화 솔루션으로부터 상기 자동화 솔루션의 실행에 필요한 데이터를 수집하되, 문자열 검색에 따른 분류 알고리즘을 이용하여 정형 데이터 수집과 비정형 데이터 수집을 구분하여 수집하고, 수집된 데이터를 기반으로 상기 프로세스 작업 분배 에이전트부, 상기 워크 플로우 관리부, 상기 자동화 솔루션으로 자동화 프로세스 실행을 요청하되, 상기 부하 평가 결과로서 제공되는 위험도 수치가 미리 설정된 부하 임계치에 도달하면 자동화 프로세스 실행 요청을 중지하는 프로세스 실행 요청부;
상기 프로세스 실행 요청부를 통해 수집된 데이터의 형식을 기준으로 해당 데이터로부터 상기 입력 파라미터를 추출하고, 추출된 상기 입력 파라미터를 상기 프로세스 실행 요청부로 제공하는 데이터 전처리부; 및
상기 프로세스 실행 요청부를 통한 자동화 프로세스 실행 요청 이전에 수집된 데이터 중 CPU 사용률, 메모리 사용률, 디스크 사용률에 대한 데이터를 사용하고 선형 회귀 알고리즘을 기반으로 컴퓨터 장치의 운영시스템의 위험도 수치를 산출하고, 산출된 위험도 수치와 상기 부하 임계치를 비교하여 운영시스템 부하를 평가하고, 부하 평가에 따라 상기 프로세스 실행 요청부의 자동화 프로세스 실행 요청을 제어하는 시스템 부하 평가 제어부를 포함하고,
상기 부하 임계치는 컴퓨터 장치의 운영시스템의 사용률에 따른 부하에 의해 컴퓨터 장치의 운영시스템이 위험하다고 판단될 수 있는 기준 수치를 나타내는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션 시스템.
According to claim 1,
The process execution request agent unit,
a process execution request receiving unit configured to receive an execution request for the process configured by the automation solution from the job requester or the system;
Collecting data necessary for the execution of the automation solution from the process task distribution agent unit, the workflow management unit, and the automation solution, and using a classification algorithm according to string search to separate and collect structured data collection and unstructured data collection, The process task distribution agent unit, the workflow management unit, and the automation solution are requested to execute the automation process based on the collected data, but when the risk level provided as a result of the load evaluation reaches a preset load threshold, the execution of the automation process is requested a process execution request unit to stop;
a data pre-processing unit extracting the input parameter from the corresponding data based on the format of the data collected through the process execution requesting unit, and providing the extracted input parameter to the process execution requesting unit; and
Among the data collected before the request for automated process execution through the process execution request unit, data on CPU usage, memory usage, and disk usage are used, and the risk level of the operating system of the computer device is calculated based on a linear regression algorithm, and the calculated Comprising a system load evaluation control unit that evaluates the operating system load by comparing the risk level with the load threshold, and controls the automatic process execution request of the process execution request unit according to the load evaluation,
The load threshold is an artificial intelligence-based hyper-automation solution system, characterized in that it represents a reference value at which the operating system of the computer device can be determined to be dangerous by the load according to the usage rate of the operating system of the computer device.
제9 항에 있어서,
상기 프로세스 실행 요청부는,
상기 비정형 데이터에 대해 미리 설정된 특정 단어 또는 문장 포함 여부를 판별하거나, 필터를 통해 문자열만 추출하거나, 정형화된 메시지 포맷으로 변환한 후, 데이터 암호화 처리 과정을 수행하는 것을 특징으로 하는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션 시스템.
10. The method of claim 9,
The process execution request unit,
Determining whether the unstructured data contains a preset specific word or sentence, extracting only a character string through a filter, or converting it into a standardized message format, and performing a data encryption process An intelligence-based hyper-automation solution system.
KR1020210175870A 2021-12-09 2021-12-09 Hyper-automation solution system based on artificial intelligence KR102392359B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210175870A KR102392359B1 (en) 2021-12-09 2021-12-09 Hyper-automation solution system based on artificial intelligence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210175870A KR102392359B1 (en) 2021-12-09 2021-12-09 Hyper-automation solution system based on artificial intelligence

Publications (1)

Publication Number Publication Date
KR102392359B1 true KR102392359B1 (en) 2022-05-02

Family

ID=81593393

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210175870A KR102392359B1 (en) 2021-12-09 2021-12-09 Hyper-automation solution system based on artificial intelligence

Country Status (1)

Country Link
KR (1) KR102392359B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060079822A (en) * 2005-01-03 2006-07-06 박무완 Corporate performance management model for business process innovation
KR20200127445A (en) * 2019-05-02 2020-11-11 주식회사 넥스트룸 Automation monitor system by analyzing unstructured data
KR102226463B1 (en) 2020-08-06 2021-03-10 최영식 UI/UX solution providing server linked with process automation program, process automation method using the same, and computer program executing the same
KR102294364B1 (en) 2021-05-24 2021-08-27 김희대 System for automatically converting document based on artificial intelligence and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060079822A (en) * 2005-01-03 2006-07-06 박무완 Corporate performance management model for business process innovation
KR20200127445A (en) * 2019-05-02 2020-11-11 주식회사 넥스트룸 Automation monitor system by analyzing unstructured data
KR102226463B1 (en) 2020-08-06 2021-03-10 최영식 UI/UX solution providing server linked with process automation program, process automation method using the same, and computer program executing the same
KR102294364B1 (en) 2021-05-24 2021-08-27 김희대 System for automatically converting document based on artificial intelligence and method thereof

Similar Documents

Publication Publication Date Title
US11860920B2 (en) System and method for providing technology assisted data review with optimizing features
Bilal et al. Big Data in the construction industry: A review of present status, opportunities, and future trends
KR102485179B1 (en) Method, device, electronic device and computer storage medium for determining description information
KR20200015642A (en) Project/Task Intelligent Goal Management Method and Platform based on Super Tree
KR101955550B1 (en) Information Service System to Support Life-Cycle Risk Management of Construction Projects
US20060229854A1 (en) Computer system architecture for probabilistic modeling
CN103513983A (en) Method and system for predictive alert threshold determination tool
CN111597247A (en) Data anomaly analysis method and device and storage medium
KR102229859B1 (en) Operation management method, apparatus and system using machine learning and transfer learning
CN111133391A (en) Method for controlled sharing of wind farm and wind turbine data, data analysis algorithms and results of data analysis
CN112256886B (en) Probability calculation method and device in atlas, computer equipment and storage medium
US11216761B2 (en) System and method for supply chain optimization
CN114138977A (en) Log processing method and device, computer equipment and storage medium
El Amine et al. Integration of concept maturity in decision-making for engineering design: An application to a solar collector development
WO2022034475A1 (en) Using meta-learning to optimize automatic selection of machine learning pipelines
KR102392359B1 (en) Hyper-automation solution system based on artificial intelligence
KR102425731B1 (en) Agent system for requesting process execution of hyper-automation solution based on artificial intelligence
CN117234844A (en) Cloud server abnormality management method and device, computer equipment and storage medium
CN116225848A (en) Log monitoring method, device, equipment and medium
Hoffman et al. Online maintenance prioritization via Monte Carlo tree search and case-based reasoning
CN115564410A (en) State monitoring method and device for relay protection equipment
CN109491892B (en) Project environment configuration method and device
CN114416852A (en) Data processing method, device, equipment and medium
CN112860652A (en) Operation state prediction method and device and electronic equipment
Lei et al. Application of distributed machine learning model in fault diagnosis of air preheater

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant