Search

KR-20260061585-A - METHOD FOR GENERATING ROBOTIC PROCESS AUTOMATION CODE

KR20260061585AKR 20260061585 AKR20260061585 AKR 20260061585AKR-20260061585-A

Abstract

본 발명은 사용자 프롬프트에 따라 로보틱 프로세스 자동화 코드가 생성되는 방법에 관한 것이다. 본 발명의 일 실시예에 따른 로보틱 프로세스 자동화 코드 생성 방법은 사용자 단말로부터 수신된 명령어를 벡터화하는 단계, 데이터베이스에서 상기 벡터화된 명령어와 가장 유사도가 높은 타겟 벡터를 선별하는 단계 및 상기 타겟 벡터에 기초하여 로보틱 프로세스 코드를 생성하는 단계를 포함한다.

Inventors

  • 황명하
  • 신지강

Assignees

  • 한국전력공사

Dates

Publication Date
20260506
Application Date
20241028

Claims (7)

  1. 사용자 단말로부터 수신된 명령어를 벡터화하는 단계; 데이터베이스에서 상기 벡터화된 명령어와 가장 유사도가 높은 타겟 벡터를 선별하는 단계; 및 상기 타겟 벡터에 기초하여 로보틱 프로세스 코드를 생성하는 단계를 포함하는 로보틱 프로세스 자동화 코드 생성 방법.
  2. 제1항에 있어서, 상기 벡터화하는 단계는 거대 언어 모델(LLM; Large Language Model)을 활용하여 상기 명령어를 벡터화하는 단계를 포함하는 로보틱 프로세스 자동화 코드 생성 방법.
  3. 제1항에 있어서, 상기 데이터베이스에는 복수의 벡터화된 명령어와 타겟 벡터가 대응되도록 저장된 로보틱 프로세스 자동화 코드 생성 방법.
  4. 제1항에 있어서, 상기 로보틱 프로세스 코드를 생성하는 단계는 상기 타겟 벡터를 파싱(parsing)하여 XML 코드를 선별하는 단계; 상기 XML 코드 중 일부를 마스킹(masking)하는 단계 신경망 모델에 상기 명령어와 상기 마스킹된(masked) XML 코드를 입력하여 로보틱 프로세스 코드를 생성하는 단계를 포함하는 로보틱 프로세스 자동화 코드 생성 방법.
  5. 제4항에 있어서, 상기 신경망 모델은 트랜스포머(Transformer) 기반의 딥러닝 모델이며, 명령어와 마스킹된 XML 코드가 입력되면 예측코드를 출력하도록 미리 학습된 로보틱 프로세스 자동화 코드 생성 방법.
  6. 제1항에 있어서, 상기 생성된 로보틱 프로세스 코드를 상기 명령어와 대응하여 상기 데이터베이스에 저장하는 단계를 더 포함하는 로보틱 프로세스 자동화 코드 생성 방법.
  7. 데이터베이스 및 상기 데이터베이스를 참조하여 로보틱 프로세스 코드를 생성하는 서버를 포함하는 시스템에 있어서, 상기 서버는 사용자 단말로부터 수신된 명령어를 벡터화하고, 데이터베이스에서 상기 벡터화된 명령어와 가장 유사도가 높은 타겟 벡터를 선별하고, 상기 타겟 벡터에 기초하여 로보틱 프로세스 코드를 생성하는 로보틱 프로세스 자동화 코드 생성 시스템.

Description

로보틱 프로세스 자동화 코드 생성 방법{METHOD FOR GENERATING ROBOTIC PROCESS AUTOMATION CODE} 본 발명은 사용자 프롬프트에 따라 로보틱 프로세스 자동화 코드가 생성되는 방법에 관한 것이다. 로보틱 프로세스 자동화(Robotic Process Automation, 이하 RPA)는 작업자가 반복적이고 규칙적으로 수행하는 작업을 자동화하는 기술이다. 보통 RPA는 미리 정해진 프로세스 코드에 기초하여 수행되는데, 비즈니스 프로세스가 변경될 때마다 작업자가 프로세스 코드를 수정하고 업데이트해야 한다는 번거로움이 있다. 이러한 문제를 해결하기 위해 사용자 프롬프트에 따라 실시간으로 프로세스 코드가 생성되는 RPA가 필요한 실정이다. 도 1은 본 발명의 일 실시예에 따른 로보틱 프로세스 자동화 코드 생성 시스템을 도시한 도면. 도 2는 본 발명의 일 실시예에 따른 로보틱 프로세스 자동화 코드 생성 방법을 도시한 순서도. 도 3은 본 발명의 일 실시예에 따른 로보틱 프로세스 자동화 코드 생성 과정을 상세하게 도시한 도면. 전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다. 본 명세서에서 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것으로, 특별히 반대되는 기재가 없는 한, 제1 구성요소는 제2 구성요소일 수도 있음은 물론이다. 또한, 본 명세서에서 어떤 구성요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 상기 구성요소들은 서로 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성요소 사이에 다른 구성요소가 "개재"되거나, 각 구성요소가 다른 구성요소를 통해 "연결", "결합" 또는 "접속"될 수도 있는 것으로 이해되어야 할 것이다. 또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 본 명세서에서, "A 및/또는 B" 라고 할 때, 이는 특별한 반대되는 기재가 없는 한, A, B 또는 A 및 B를 의미하며, "C 내지 D" 라고 할 때, 이는 특별한 반대되는 기재가 없는 한, C 이상이고 D 이하인 것을 의미한다 본 발명은 사용자 프롬프트에 따라 로보틱 프로세스 자동화 코드가 생성되는 방법에 관한 것이다. 이하 도 1 내지 도 3을 참조하여 일 실시예에 따른 로보틱 프로세스 자동화 코드 생성 방법을 구체적으로 설명하도록 한다. 도 1은 본 발명의 일 실시예에 따른 로보틱 프로세스 자동화 코드 생성 시스템을 도시한 도면이다. 도 2는 본 발명의 일 실시예에 따른 로보틱 프로세스 자동화 코드 생성 방법을 도시한 순서도이다. 도 3은 본 발명의 일 실시예에 따른 로보틱 프로세스 자동화 코드 생성 과정을 상세하게 도시한 도면이다. 도 1을 참조하면, 본 발명에 따른 로보틱 프로세스 자동화 코드 생성 시스템(1)은 서버(100), 사용자 단말(200) 및 데이터베이스(300)를 포함할 수 있다. 다만 도 1에 도시된 로보틱 프로세스 자동화 코드 생성 시스템(1)은 일 실시예에 따른 것이고, 그 구성요소들이 도 1에 도시된 실시예에 한정되는 것은 아니며 필요에 따라 일부 추가 및 삭제될 수 있다. 서버(100)는 본 발명의 주체가 될 수 있으며, 후술하는 동작을 수행하기 위해 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controller), 프로세서(processor), 마이크로 프로세서 (microprocessor), 마이크로 컨트롤러(micro-controllers) 중 적어도 하나의 물리적인 요소를 포함할 수 있다. 도 2를 참조하면, 본 발명의일 실시예에 따른 로보틱 프로세스 자동화 코드 생성 방법은 사용자 단말로부터 수신된 명령어를 벡터화하는 단계, 데이터베이스에서 벡터화된 명령어와 가장 유사도가 높은 타겟 벡터를 선별하는 단계 및 타겟 벡터에 기초하여 로보틱 프로세스 코드를 생성하는 단계를 포함할 수 있다. 다만, 도 2에 도시된 로보틱 프로세스 자동화 코드 생성 방법은 실시예에 따른 것이고, 발명을 이루는 단계들이 도 2에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 일부 단계가 부가, 변경 또는 삭제될 수 있다. 이하 도 2 및 도 3을 참조하여 각 단계들을 구체적으로 설명하도록 한다. 서버(100)는 사용자 단말(200)로부터 수신된 명령어(10)를 벡터화할 수 있다(S100). 사용자 단말(200)은 사용자로부터 입력받은 자연어 형태의 명령어(10)를 서버(100)로 송신할 수 있다. 예컨대 명령어(10)는 'Please write an email about Happy New Year's Day' 와 같은 자연어 형태일 수 있다. 서버(100)는 사용자 단말(200)로부터 수신된 자연어 형태의 명령어(10)를 거대 언어모델(LLM; Large Language Model)을 활용하여 벡터화(20)할 수 있다. 이때, 자연어 형태의 명령어를 벡터화하는 방법으로는 LLM 외에도 BOW(bag of words), TF-IDF(term frequency-inverse document frequency), Word Embeddings, Sentence Embeddings, One-Hot Encoding과 같은 텍스트 벡터화 방법이 활용될 수 있다. 서버(100)는 데이터베이스(300)에서 벡터화된 명령어(20)와 가장 유사도가 높은 타겟 벡터를 선별할 수 있다(S200). 이를 수행하기 위해 데이터베이스(300)에는 복수의 벡터화된 명령어와 타겟 벡터가 대응되도록 저장되어 있을 수 있다. 자세히 말하하면, 데이터베이스(300)에는 XML 형태의 명령어가 벡터화되어 있으며, 최종적으로 생성되는 로보틱 프로세스 코드는 XML 형태일 수 있다. 서버(100)는 벡터화된 명령어(20)와 복수의 타겟 벡터 간의 유사도를 산출할 수 있다. 자세히 말하자면, 서버(100)는 벡터화된 명령어(20)와 복수의 타겟 벡터 간의 거리값을 각각 산출하고, 거리값에 기초하여 유사도를 산출할 수 있다. 이때, 서버(100)는 유클리디안 거리(Euclidean Distance), 맨하탄 거리(Manhattan Distance), 민코프스키 거리(Minkowski Distance), 마할라노비스 거리(Mahalanobis Distance), 코사인 유사도(Cosine Similarity), 자카드 유사도(Jaccard Similarity) 등에 기초하여 벡터 간의 거리값을 산출할 수 있다. 결과적으로 서버(100)는 벡터화된 명령어(20)와 가장 유사도가 높은 하나의 타겟 벡터(30)를 선별할 수 있다. 서버(100)는 타겟 벡터(30)에 기초하여 로보틱 프로세스 코드(70)를 생성할 수 있다(S300). 이 단계는 검색 증강 생성(Retrieval-Augmented Generation, RAG)에 기초하여 동작할 수 있다. 먼저 서버(100)는 타겟 벡터(30)를 파싱(parsing, 40)하여 타겟 벡터(30)로부터 복수의 XML 코드를 선별할 수 있다. 서버(100)는 타겟 벡터(30)를 XML 코드로 변환하고, XML 코드를 토큰화하는 파싱을 수행하여 특정 XML 코드를 선별할 수 있다. 이때 서버(100)에는 파싱 수행을 위한 토큰화, 구문 분석 및 의미 분석 과정이 미리 학습되어 있을 수 있으며, XML 코드는 복수개 선별될 수 있다. 예컨대, 서버(100)는 사용자 명령어 'Please write an email about Happy New Year's Day'를 수행하기 위해 타겟 벡터를 파싱하여 <Scriptcommand type: “BrowserCreate”, attribute: [A]>, <Scriptcommand type: “MoveWindow”, attribute: [B]>, <Scriptcommand type: “SendkeyCommand”, attribute: [C]>과 같은 XML 코드를 선별할 수 있다. 다음으로 서버(100)는 선별된 XML 코드 중 일부를 마스킹(masking)할 수 있다. 다시 말해 서버(100)는 선별된 XML 코드 중 일부 특성(attribute)을 가지는 XML 코드를 마스킹(50)할 수 있다. 이때 특성은 명사 및 동사가 될 수 있다. 예컨대, 앞서 선별된 XML 코드는 <Scriptcommand type: “BrowserCreate”, attribute: [MASK 1]>, <Scriptcommand type: “MoveWindow”, attribute: [MASK 2]>, <Scriptcommand type: “SendkeyCommand”, attribute: [MASK 3]>와 같이 특성이 마스킹될 수 있다. 서버(100)는 신경망 모델에 명령어(10)와 마스킹된 XML 코드(50)를 입력하여 로보틱 프로세스 코드(70)를 생성할 수 있다. 신경망 모델