KR20220078587A - 인공 지능을 사용한 로봇 프로세스 자동화를 위한 모델 선택 및 체인화 - Google Patents

인공 지능을 사용한 로봇 프로세스 자동화를 위한 모델 선택 및 체인화 Download PDF

Info

Publication number
KR20220078587A
KR20220078587A KR1020227010643A KR20227010643A KR20220078587A KR 20220078587 A KR20220078587 A KR 20220078587A KR 1020227010643 A KR1020227010643 A KR 1020227010643A KR 20227010643 A KR20227010643 A KR 20227010643A KR 20220078587 A KR20220078587 A KR 20220078587A
Authority
KR
South Korea
Prior art keywords
models
model
chain
rpa
rpa robot
Prior art date
Application number
KR1020227010643A
Other languages
English (en)
Inventor
프랍디프 싱
Original Assignee
유아이패스, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 유아이패스, 인크. filed Critical 유아이패스, 인크.
Publication of KR20220078587A publication Critical patent/KR20220078587A/ko

Links

Images

Classifications

    • 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/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Economics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Fuzzy Systems (AREA)
  • Mechanical Engineering (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

인공 지능(artificial intelligence, AI)을 사용한 소정의 문제에 대한 로보틱 프로세스 오토메이션(robotic process automation, RPA) 모델 선택 및/또는 체인화가 개시된다. 모델들의 모델(예를 들어, RPA 로봇 또는 ML 모델)은 기존 모델들을 보다 효과적으로 만드는 기존 시스템 상의 추가 계층으로서의 역할을 할 수 있다. 일부 실시예들에서, 이러한 모델들의 모델은 기존 모델로부터 규칙들의 개선된 또는 최상의 세트 또는 순서를 학습하고/하거나, 잠재적으로 모델로부터 특정 액티비티들을 취하고/하거나, 하나의 모델로부터 또 다른 모델로 입력을 공급하고/하거나, 모델들을 체인화하는 AI를 통합할 수 있다.

Description

인공 지능을 사용한 로봇 프로세스 오토메이션을 위한 모델 선택 및 체인화
관련 출원 교차 참조
본 출원은 2019년 12월 9일자로 출원된 미국 특허 정규 출원 제16/707,933호 및 2019년 10월 15일자로 출원된 미국 특허 가출원 제62/915,399호의 이익을 주장한다. 이들 선출원들의 발명 내용은 전문이 본원에 원용된다.
기술분야
본 발명은 일반적으로 로보틱 프로세스 오토메이션(robotic process automation, RPA), 그리고 보다 구체적으로는 인공 지능(artificial intelligence, AI)을 사용하여 RPA를 위한 모델들을 선택 및/또는 체인화하는 것에 관한 것이다.
전형적으로, 특정 조건들 하에서 특정 작업들을 수행하기 위해 단일 RPA 워크플로우가 단일 로봇으로 구축되고 디플로이된다. 예를 들어, 이미지에서 특정 시각적 성분들을 찾고, 인보이스로부터 특정 정보를 풀링하는 등의 로봇이 구축되고 디플로이될 수 있다. 그러나, 현재의 문제에 대한 변경 사항들을 기반으로 새로운 규칙들을 지속적으로 구축하거나 어느 액티비티들이 적절하게 작동하고 있는지를 이해하지 않으면, 새로운 변경 사항들이 인식되지 않을 수 있거나, 로봇이 완전히 불능이 될 수 있다. 뿐만 아니라, 단일 로봇은 모든 시나리오들에 최적이 아닐 수 있다. 따라서, 개선된 접근법이 유용할 수 있다.
본 발명의 특정 실시예들은 현재의 RPA 기술들에 의해 아직 완전히 식별, 인식, 또는 해결되지 않은 당업계의 문제들 및 요구들에 대한 솔루션들을 제공할 수 있다. 예를 들어, 본 발명의 일부 실시예들은 AI를 사용하여 RPA를 위한 모델들을 선택 및/또는 체인화하는 것에 관한 것이다.
일 실시예에서, AI를 사용하여 RPA를 위한 ML 모델들을 선택 및/또는 체인화하기 위한 컴퓨터 구현 방법은 RPA 로봇의 워크플로우에서 호출될 ML 모델 풀에서의 개별 ML 모델들 및 ML 모델들의 체인들의 성능을 분석하는 모델들의 모델을 컴퓨팅 시스템에 의해 실행하는 단계를 포함한다. 기존 ML 모델 또는 ML 모델들의 체인보다 우수한 성능이 모델들의 모델에 의해 발견될 때, 본 컴퓨터 구현 방법은 또한, 발견된 ML 모델 또는 ML 모델들의 체인을 컴퓨팅 시스템에 의해 디플로이함으로써, 기존 ML 모델 또는 ML 모델들의 체인을 대체하는 단계를 포함한다.
다른 실시예에서, AI를 사용하여 RPA를 위한 ML 모델들을 선택 및/또는 체인화하기 위한 컴퓨터 구현 방법은 RPA 로봇의 워크플로우에서 호출될 ML 모델 풀에서의 개별 ML 모델들 및 ML 모델들의 체인들의 성능을 분석하는 모델들의 모델을 실행하는 단계를 포함한다. 기존 ML 모델 또는 ML 모델들의 체인보다 우수한 성능이 모델들의 모델에 의해 발견될 때, 본 컴퓨터 구현 방법은 또한, 발견된 ML 모델 또는 ML 모델들의 체인을 디플로이함으로써, 기존 ML 모델 또는 ML 모델들의 체인을 대체하는 단계; 및 발견된 ML 모델 또는 ML 모델들의 체인을 호출하도록 RPA 로봇의 워크플로우를 수정하는 단계를 포함한다.
또 다른 실시예에서, AI를 사용하여 RPA를 위한 ML 모델들을 체인화하기 위한 컴퓨터 구현 방법은 RPA 로봇의 워크플로우에서 호출될 ML 모델 풀에서의 ML 모델들의 체인들의 성능을 분석하는 모델들의 모델을 실행하는 단계를 포함한다. 기존 ML 모델 또는 ML 모델들의 체인보다 우수한 성능이 모델들의 모델에 의해 발견될 때, 본 컴퓨터 구현 방법은 또한, 발견된 ML 모델들의 체인을 디플로이함으로써, 기존 ML 모델 또는 ML 모델들의 체인을 대체하는 단계; 및 발견된 ML 모델들의 체인을 호출하도록 RPA 로봇의 워크플로우를 수정하는 단계를 포함한다. ML 모델들의 체인들의 성능의 분석은 직렬, 병렬, 또는 이들의 조합으로 체인화된 ML 모델들의 순열들에 대해 AI 기반 실험을 수행하는 단계, 및 ML 모델들의 체인들에 의해 출력되는 결과들을 분석하는 단계를 포함한다.
본 발명의 특정 실시예들의 장점들이 쉽게 이해될 수 있도록 하기 위해, 위에서 약술된 본 발명의 보다 구체적인 설명을 첨부된 도면들에 도시된 특정 실시예들을 참조하여 제공할 것이다. 이들 도면들은 단지 본 발명의 통상적인 실시예들을 도시할 뿐이며, 이에 따라 본 발명의 범위를 제한하는 것으로 고려되어서는 안 된다는 것이 이해되어야 하면, 본 발명은 첨부 도면들의 사용을 통해 추가적인 특이성 및 세부 사항으로 설명되고 기술될 것이며, 첨부 도면들에서:
도 1은 본 발명의 일 실시예에 따른, RPA 시스템을 도시한 구성도이다.
도 2는 본 발명의 일 실시예에 따른, 디플로이된 RPA 시스템을 도시한 구성도이다.
도 3은 본 발명의 일 실시예에 따른, 디자이너, 액티비티들, 및 드라이버들 사이의 관계를 도시한 구성도이다.
도 4는 본 발명의 일 실시예에 따른, RPA 시스템을 도시한 구성도이다.
도 5는 본 발명의 일 실시예에 따른, AI를 사용하여 RPA를 위한 RPA 모델들에 대해 모델들을 선택 및 체인화하도록 구성된 컴퓨팅 시스템을 도시한 구성도이다.
도 6은 본 발명의 일 실시예에 따른, 다수의 모델들을 체인화하고 보다 양호한 결과를 달성하기 위해 실험을 수행하는 "모델들의 모델"을 사용하기 위한 프로세스를 도시한다.
도 7은 본 발명의 일 실시예에 따른, AI를 사용하여 RPA를 위한 모델들을 선택 및/또는 체인화하기 위한 프로세스를 도시한 흐름도이다.
일부 실시예들은 "모델들의 모델"을 통해 소정의 문제에 대한 모델 성능을 보다 최적화하기 위해 문제에 대한 모델들을 선택하고/하거나 다수의 모델들을 체인화하는 것에 관한 것이다. 일부 실시예들에서, 모델들의 모델은 RPA 로봇일 수 있거나, RPA 로봇의 의해 호출되는 ML 모델 자체일 수 있다. 이러한 모델들의 모델은 기존 모델들을 보다 효과적으로 만드는 기존 시스템 상의 추가 계층으로서의 역할을 할 수 있다. 일부 실시예들에서, 이러한 모델들의 모델은 기존 모델로부터 규칙들의 개선된 또는 최상의 세트 및/또는 순서를 학습하고/하거나, 잠재적으로 모델 풀로부터 최상의 수행 모델을 결정하고/하거나, 모델로부터 특정 액티비티들을 취하고/하거나, 하나의 모델로부터 또 다른 모델로 입력을 공급하고/하거나, 모델들을 체인화하는 AI를 통합할 수 있다. 특정 실시예들에서, 모델들의 모델은 비교적 많은 수의 기존 모델들(예를 들어, 5, 10, 50, 100 또는 그 이상 등)을 검색하고, 이들 모델들의 적어도 일부를 적용하여 우수한 결과를 낼 수 있다.
항공기 또는 드론에서 오토메이션된 비행 조종을 수행하기 위한 소프트웨어를 디플로이하는 경우를 고려한다. 다양한 센서들은 상이한 판독치들을 제공하고, 이러한 입력들이 호출할 적절한 모델을 선택하기 위해 어떻게 사용될 수 있는지를 결정하는 것이 바람직할 수 있다. 예를 들어, 항공기 또는 드론을 선회시키기 위해, 보조익들만이 사용되어야 하는지, 또는 비행 조종면들의 일부 조합이 더 양호하게 수행할지? 모델들의 모델은 어느 모델(들)을 선택할지를 결정할 수 있고, 이러한 선택은 보상 기능에 의해 통제될 수 있다. 보상 기능은 상태 공간의 검색을 가이드하고 목표(예를 들어, 연료 효율 개선, 조종 기동 실행 성공 등) 달성을 시도하기 위해 단기 보상 및 장기 보상 양자로 중간 전환들 및 단계들을 탐색한다.
일부 실시예들에서, 프로세스 마이닝/태스크 마이닝 시스템이 사용자가 워크플로우에서 사용하는 상이한 단계들에 대한 로그들을 수집할 수 있다. 이들 로그들은 프로세스 마이닝 시스템에 의해 분석되어 사용 패턴들 및 소위 프로세스 흐름도들을 드러낼 수 있다. 특정 실시예들에서, 본 시스템은 그 워크플로우/프로세스의 최적화를 초래할 수 있는 AI 모델들을 제안하기 위해 프로세스 로그들 및/또는 프로세스 흐름도들로부터의 입력을 취할 수 있다.
다수의 모델들이 체인화되는 경우, 이들 모델들은 직렬로, 병렬로, 또는 이들의 조합으로 실행될 수 있다. 예를 들어, 네 개의 모델들을 체인화하는 일 실시예를 고려한다. 직렬 구현예에서, 데이터는 모델 1을 통해 실행되고, 이의 출력이 모델 2를 통해 실행되고, 이의 출력이 모델 3을 통해 실행되며, 이의 출력이 모델 4를 통해 실행되어, 체인의 최종 출력을 생성할 수 있다. 병렬 구현예에서, 데이터는 모델 1-4를 통해 개별적으로 실행될 수 있다. 조합 구현예에서, 데이터는 모델 1 및 모델 2를 통해 직렬로 공급될 수 있고 그 후 모델 2의 출력이 모델 3 및 모델 4를 통해 병렬로 실행될 수 있으며, 데이터는 모델 1 및 모델 2를 통해 병렬로 실행될 수 있고 모델 1 및 모델 2 각각으로부터의 출력이 모델 3 및 모델 4를 통해 직렬로 공급될 수 있는 등이다.
예를 들어, 판매에서, 소프트웨어 애플리케이션이 판매원들에게 추천을 제공하는 경우, 하나의 모델은 어떤 유형의 선례가 가장 성공적인지를 고려할 수 있고, 두 번째 모델은 사용자가 어떤 애플리케이션들을 사용하고 있는지를 볼 수 있다. 각각으로부터의 추천들에 기초하여, 수익이 증가되는지, 수익이 감소되는지, 또는 수익이 동일하게 유지되는지를 모니터링할 수 있다. 그 후, 모델들의 출력들을 체인화하는 것이 개선(예를 들어, 판매원들이 사용하고 있는 상이한 애플리케이션들로 가장 성공적인 선례 유형들을 테스트하는 것)을 초래하는지 여부를 알아보기 위한 실험이 수행될 수 있다.
인보이스 처리의 경우를 고려한다. 직렬 구현의 경우, 모델들의 인보이스 처리 모델은 먼저 이메일에 인보이스가 포함되어 있는지 여부를 결정하여, 어떤 이메일에 인보이스가 포함되는지를 분류하는 모델을 실행할 수 있다. 인보이스가 존재하는 것으로 결정되는 경우에, 두 번째 모델은 인보이스 내용을 추출하는 추출기일 수 있다.
특정 실시예들에서, 기저 모델이 소정의 시나리오에서 정확하게 동작하고 있지 않거나 부정확하게 동작하고 있는지 여부를 결정하기 위해 모델들의 모델에 의해 컴퓨팅 시스템의 사용자로부터의 입력이 고려된다. 모델들의 모델은 또한, 기저 모델들 중 어느 모델이 소정의 시나리오에서 정확하게 동작하고 있는지를 결정할 수 있다. 사용될 모델(들)의 결정은 A/B 테스팅, 카나리아 테스팅 등을 통해 이루어질 수 있다.
동작 시, 모델들의 모델은 소정의 기존 모델을, 그 모델에 특유하고, 다수의 모델들에 의해 공통으로 공유되고, 모든 모델들에 의해 공통으로 공유되는 등의 신뢰도 임계치와 비교할 수 있다. 예를 들어 항공기에서의 임무에 필수적인 시스템들, 회계 운영 등과 같이 매우 민감한 프로세스를 수행하는 모델들은 성공을 위한 신뢰도 임계치가 더 높을 수 있다. 그러나, 인보이스 처리를 수행하기 위한 모델들과 같은 덜 민감한 모델들은 더 낮은 신뢰도 임계치를 가질 수 있다.
특정 실시예들에서, 모델들의 모델은 그 임계치에서 관측된 성능에 기초하여 하나 이상의 기저 모델에 대한 신뢰도 임계치를 수정할 수 있다. 예를 들어, 기저 이미지 분석 모델에 대한 신뢰도 임계치가 어떠한 결과도 반환하지 않는 경우, 임계치는 낮아질 수 있다. 대안적으로, 모델에 의해 위양성들이 제공되는 경우, 임계치는 높아질 수 있다. 이에 따라, 신뢰도 임계치는 모델들의 모델에 의해 관리되는 기저 모델들의 요건들에 따라 변경될 수 있다.
일례로서 판매를 사용하면, 다수의 모델들이 있을 수 있다. 예를 들어, 가능한 최상의 선례들을 제공하기 위한 모델, 떠날 고객들을 검출하는 또 다른 모델 등이 있을 수 있다. 이들 모델들은 자신들이 얼마나 타당한지 알지 못할 수 있지만, 모델들은 여전히 사용자들에게 추천을 제공할 수 있다. 이들 추천은 사용자가 효과를 보상 기능으로 볼 수 있게 한다.
예를 들어, 새로운 선례들을 예측하는 모델은 효과적이지 않을 수 있다. 그러나, 고객이 곧 떠날 것인지 여부를 예측하고, 잠재적으로 고객이 떠날 것을 방지하기 위한 조치들의 제안을 제공하는 모델은 매우 가치가 있을 수 있다. 고객이 떠날 수 있는지 여부를 예측하는 모델을 생성하기 위해, N개의 새로운 머신 러닝 모델들이 테스트되고 이것들이 얼마나 성공적인지를 알아보기 위해 서로 비교될 수 있다. 이들 모델들을 비교함으로써, AI가 보다 양호한 결과를 얻기 위해 모델들을 함께 체인화하는 방법, 모델들을 상이한 조합들로 사용하는 방법 등을 학습하기 위해 적용됨으로써, 임의의 단일 모델 단독보다 더 효과적인 모델들의 모델을 생성할 수 있다.
정책 네트워크의 예를 고려한다. 이 예에서, 상이한 모델들의 테스팅으로부터 보상 함수로부터의 양의 델타가 수신되지 않는다면, AI는 모델들을 함께 체인화하고, 개선 사항이 있는지 알아보기 위해 모델들의 상이한 순서를 시도하기 위해 사용될 수 있다. 예를 들어, 새로운 선례들을 식별하는 방법을 아는 모델이 있고, 가짜 이메일 주소들을 검출할 수 있는 또 다른 모델이 있다면, AI는 새로운 선례 식별 모델 이전에 의심스러운 이메일 검사기를 실행하고, 의심스러운 이메일 검사기가 새로운 선례 식별 모델로 실행된 후에 남은 이메일 주소들을 공급하는 것을 학습하기 위해 사용될 수 있다. 그 후, 이 로직은 선례들을 검사하기 전에 가짜(또는 스팸) 이메일들을 제거하기 위해 디플로이될 수 있다. 이에 따라, AI는 모델들의 모델로서 효율을 개선하기 위해 모델들 및 이들에 그리고 이들 사이에 제공되어야 하는 데이터를 사용하는 순서를 결정할 수 있다.
도 1은 본 발명의 일 실시예에 따른, RPA 시스템(100)을 도시하는 구성도이다. RPA 시스템(100)은 개발자가 워크플로우들을 설계 및 구현할 수 있게 하는 디자이너(110)를 포함한다. 디자이너(110)는 애플리케이션 통합뿐만 아니라, 서드 파티 애플리케이션들, 관리용 정보 기술(IT) 작업들, 및 비즈니스 IT 프로세스들을 오토메이션하기 위한 솔루션을 제공할 수 있다. 디자이너(110)는 오토메이션 프로젝트의 개발을 가능하게 할 수 있으며, 이는 비즈니스 프로세스의 그래픽 표현이다. 간단히 말하면, 디자이너(110)는 워크플로우들 및 로봇들의 개발 및 디플로이먼트를 가능하게 한다.
오토메이션 프로젝트는 워크플로우로 개발되는 커스텀 단계들 - 본원에서 "액티비티들"로서 정의됨 - 의 세트 사이의 실행 순서 및 관계에 대한 제어 권한을 개발자에게 부여함으로써 규칙 기반 프로세스들의 오토메이션을 가능하게 한다. 디자이너(110)의 일 실시예의 하나의 상용례는 UiPath Studio™이다. 각 액티비티는 버튼을 클릭하는 것, 파일을 읽는 것, 로그 패널에 쓰는 것 등과 같은 액션을 포함할 수 있다. 일부 실시예들에서, 워크플로우들은 네스트되거나(nested) 임베드될(embedded) 수 있다.
워크플로우들의 일부 타입들은 시퀀스들, 흐름도들, 유한 상태 머신(Finite State Machine; FSM)들, 및/또는 전역 예외 처리기들을 포함할 수 있지만, 이에 제한되지 않는다. 시퀀스들은 워크플로우를 클러터링하지 않고 한 액티비티로부터 또 다른 액티비티로의 흐름을 가능하게 하여, 선형 프로세스들에 특히 적합할 수 있다. 흐름도들은 다중 분기 논리 연산자들을 통해 보다 다양한 방식으로 결정들의 통합 및 액티비티들의 연결을 가능하게 하여, 보다 복잡한 비지니스 로직에 특히 적합할 수 있다. FSM들은 대규모 워크플로우들에 특히 적합할 수 있다. FSM들은 실행에, 조건(즉, 전환) 또는 액티비티에 의해 트리거되는 유한 개의 상태를 사용할 수 있다. 전역 예외 처리기들은 실행 오류가 발생할 때 워크플로우 거동을 결정하고 프로세스들을 디버깅하는 데 특히 적합할 수 있다.
디자이너(110)에서 워크플로우가 개발되면, 컨덕터(120)에 의해 비즈니스 프로세스들의 실행이 오케스트레이션되며, 이 컨덕터는 디자이너(110)에서 개발된 워크플로우들을 실행하는 하나 이상의 로봇(130)을 오케스트레이션한다. 컨덕터(120)의 일 실시예의 하나의 상용례는 UiPath Orchestrator™이다. 컨덕터(120)는 환경에서 리소스들의 생성, 모니터링, 및 디플로이먼트의 관리를 가능하게 한다. 컨덕터(120)는 또한 서드 파티 솔루션들 및 애플리케이션들과의 통합 지점으로서의 역할을 할 수 있다.
컨덕터(120)는 로봇들(130)을 중앙 집중 지점으로부터 연결 및 실행하여, 로봇 전체(130)를 관리할 수 있다. 관리될 수 있는 로봇들(130)의 타입들은 협업 로봇(attended robot)들(132), 무인 로봇(unattended robot)들(134), 개발 로봇들(무인 로봇들(134)과 유사하나, 개발 및 테스트를 위해 사용됨), 및 비생산 로봇(nonproduction robot)들(협업 로봇들(132)과 유사하나, 개발 및 테스트를 위해 사용됨)을 포함하지만, 이에 제한되지 않는다. 협업 로봇들(132)은 사용자 이벤트들에 의해 트리거되고 동일한 컴퓨팅 시스템 상에서 인간과 함께 동작한다. 협업 로봇들(132)은 중앙 집중화된 프로세스 디플로이먼트 및 로깅 매체에 컨덕터(120)와 함께 사용될 수 있다. 협업 로봇들(132)은 인간 사용자가 다양한 작업들을 실현하는 것을 도울 수 있고, 사용자 이벤트들에 의해 트리거될 수 있다. 일부 실시예들에서, 프로세스들은 이러한 타입의 로봇 상에서 컨덕터(120)로부터 시작될 수 없고/거나 프로세스들은 스크린이 잠긴 상태에서 실행될 수 없다. 특정 실시예들에서, 협업 로봇(132)은 단지 로봇 트레이로부터 또는 커맨드 프롬프트로부터만 시작될 수 있다. 일부 실시예들에서, 협업 로봇들(132)은 인간의 감독 하에서 실행되어야 한다.
무인 로봇들(134)은 가상 환경들에서 무인으로 실행되고 많은 프로세스들을 오토메이션할 수 있다. 무인 로봇들(134)은 작업 큐들에 대한 원격 실행, 모니터링, 스케줄링, 및 지원 제공을 담당할 수 있다. 일부 실시예들에서, 모든 로봇 타입들에 대한 디버깅은 디자이너(110)에서 실행될 수 있다. 협업 로봇 및 무인 로봇 양자는 메인프레임, 웹 애플리케이션, VM, 엔터프라이즈 애플리케이션(예를 들어, SAP®, SalesForce®, Oracle® 등에 의해 제작된 것들), 및 컴퓨팅 시스템 애플리케이션(예를 들어, 데스크탑 및 랩탑 애플리케이션, 모바일 디바이스 애플리케이션, 웨어러블 컴퓨터 애플리케이션 등)을 포함하는 다양한 시스템들 및 애플리케이션들을 오토메이션할 수 있지만, 이에 제한되지 않는다.
컨덕터(120)는 프로비저닝(provisioning), 디플로이먼트, 구성(configuration), 큐잉(queue), 모니터링, 로깅, 및/또는 상호연결(interconnectivity) 제공을 포함하는 다양한 기능들을 가질 수 있지만, 이에 제한되지 않는다. 프로비저닝은 로봇(130)과 컨덕터(120)(예를 들어, 웹 애플리케이션) 사이의 연결들의 생성 및 유지 보수를 포함할 수 있다. 디플로이먼트는 실행을 위해 패키지 버전들의 할당된 로봇(130)으로의 정확한 전달을 보장하는 것을 포함할 수 있다. 구성은 로봇 환경들 및 프로세스 구성들의 유지 보수 및 전달을 포함할 수 있다. 큐잉은 큐들 및 큐 항목들의 관리를 제공하는 것을 포함할 수 있다. 모니터링은 로봇 식별 데이터를 추적하는 것과 사용자 권한을 유지하는 것을 포함할 수 있다. 로깅은 데이터베이스(예를 들어, SQL 데이터베이스) 및/또는 또 다른 스토리지 메커니즘(예를 들어, ElasticSearch® - 이는 대용량 데이터세트들을 저장하고 신속하게 질의할 수 있는 능력을 제공함)에 로그들을 저장하는 것과 인덱싱하는 것을 포함할 수 있다. 컨덕터(120)는 서드 파티 솔루션들 및/또는 애플리케이션들에 대한 통신의 중앙 집중 지점으로서의 역할을 함으로써 상호연결을 제공할 수 있다.
로봇들(130)은 디자이너(110)에서 구축된 워크플로우들을 실행하는 실행 에이전트들이다. 로봇(들)(130)의 일부 실시예들의 하나의 상용례는 UiPath Robots™이다. 일부 실시예들에서, 로봇들(130)은 Microsoft Windows® 서비스 제어 관리자(Service Control Manager, SCM) 관리 서비스를 디폴트로 설치한다. 그 결과, 이러한 로봇들(130)은 로컬 시스템 계정 하에서 대화형 Windows® 세션들을 열 수 있고, Windows® 서비스의 권한들을 가질 수 있다.
일부 실시예들에서, 로봇들(130)은 사용자 모드로 설치될 수 있다. 이러한 로봇들(130)에 대해, 이는 로봇들이 소정의 로봇(130)이 설치된 사용자 모드와 동일한 권한들을 가진다는 것을 의미한다. 이러한 특징은 또한 고밀도(High Density, HD) 로봇들에도 이용 가능할 수 있으며, 이는 각 머신의 최대 잠재력에서의 완전한 활용을 보장한다. 일부 실시예들에서, 임의의 타입의 로봇(130)은 HD 환경에서 구성될 수 있다.
일부 실시예들에서, 로봇들(130)은 각각이 특정 오토메이션 작업에 전용되는 몇몇 컴포넌트들로 나뉜다. 일부 실시예들에서, 로봇 컴포넌트들은 SCM 관리 로봇 서비스들, 사용자 모드 로봇 서비스들, 실행기들, 에이전트들, 및 커맨드 라인을 포함하지만, 이에 제한되지 않는다. SCM 관리 로봇 서비스들은 Windows® 세션들을 관리 및 모니터링하고, 컨덕터(120)와 실행 호스트들(즉, 로봇들(130)이 실행되는 컴퓨팅 시스템들) 사이의 프록시로서의 역할을 한다. 이러한 서비스들은 로봇들(130)에 대한 자격 증명들로 신뢰되고 그 자격 증명들을 관리한다. 로컬 시스템 하에서 SCM에 의해 콘솔 애플리케이션이 론칭된다.
일부 실시예들에서, 사용자 모드 로봇 서비스들이 Windows® 세션들을 관리 및 모니터링하고, 컨덕터(120)와 실행 호스트들 사이의 프록시로서의 역할을 한다. 사용자 모드 로봇 서비스들은 로봇(130)에 대한 자격 증명들로 신뢰될 수 있고 그 자격 증명들을 관리할 수 있다. SCM 관리 로봇 서비스가 설치되지 않은 경우 Windows® 애플리케이션이 자동으로 론칭될 수 있다.
실행기들은 Windows® 세션 하에서 소정의 작업들을 실행할 수 있다(즉, 실행기들은 워크플로우들을 실행할 수 있다). 실행기들은 각 모니터에 대한 DPI(dots per inch) 설정들을 인식할 수 있다. 에이전트들은 시스템 트레이 윈도우에서 이용 가능한 작업들을 디스플레이하는 Windows® Presentation Foundation(WPF) 애플리케이션들일 수 있다. 에이전트들은 서비스의 클라이언트일 수 있다. 에이전트들은 작업들을 시작 또는 중지하고 설정들을 변경할 것을 요청할 수 있다. 커맨드 라인은 서비스의 클라이언트이다. 커맨드 라인은 작업들을 시작할 것을 요청할 수 있고 작업들의 출력을 대기하는 콘솔 애플리케이션이다.
위에서 설명된 바와 같이 로봇들(130)의 컴포넌트들을 나누는 것은 개발자들이 사용자들을 지원하고, 컴퓨팅 시스템들이 각 컴포넌트가 실행하고 있는 것을 보다 쉽게 실행하고, 식별하며, 추적하는 것을 돕는다. 실행기 및 서비스에 대한 상이한 방화벽 규칙들을 설정하는 것과 같은 특수한 거동들이 이러한 방식으로 컴포넌트마다 구성될 수 있다. 일부 실시예들에서, 실행기는 모니터에 대한 DPI 설정들을 항상 인식할 수 있다. 그 결과, 워크플로우들은 자신들이 생성되었던 컴퓨팅 시스템의 구성에 관계없이, 임의의 DPI에서 실행될 수 있다. 일부 실시예들에서, 디자이너(110)로부터의 프로젝트들이 또한 브라우저 줌 레벨에 독립적일 수 있다. DPI를 인식하지 못하거나 의도적으로 미인식으로서 마킹된 애플리케이션들에 대해, 일부 실시예들에서, DPI는 디스에이블될 수 있다.
도 2는 본 발명의 일 실시예에 따른, 디플로이된 RPA 시스템(200)을 도시하는 구성도이다. 일부 실시예들에서, RPA 시스템(200)은 도 1의 RPA 시스템(100)일 수 있거나, 또는 이의 일부일 수 있다. 클라이언트측, 서버측, 또는 양자는 본 발명의 범위로부터 벗어나지 않고, 임의의 요구되는 수의 컴퓨팅 시스템을 포함할 수 있다는 점을 유의해야 한다. 클라이언트측에서, 로봇 애플리케이션(210)은 실행기들(212), 에이전트(214), 및 디자이너(216)를 포함한다. 그러나, 일부 실시예들에서, 디자이너(216)는 동일한 컴퓨팅 시스템(210) 상에서 실행되고 있지 않을 수 있다. 실행기들(212)은 프로세스들을 실행하고 있다. 도 2에 도시된 바와 같이, 여러 비지니스 프로젝트들이 동시에 실행될 수 있다. 이러한 실시예에서, 에이전트(214)(예를 들어, Windows® 서비스)는 모든 실행기들(212)에 대한 단일 접촉 지점이다. 이 실시예에서의 모든 메시지들은 컨덕터(230)로 로깅되며, 이 컨덕터는 메시지들을 데이터베이스 서버(240), 인덱서 서버(250), 또는 양자를 통해 추가로 처리한다. 도 1과 관련하여 상술한 바와 같이, 실행기들(212)은 로봇 컴포넌트들일 수 있다.
일부 실시예들에서, 로봇은 머신명과 사용자명 사이의 연관을 나타낸다. 로봇은 다수의 실행기들을 동시에 관리할 수 있다. 동시에 실행되는 다수의 쌍방향 세션들을 지원하는 컴퓨팅 시스템들(예를 들어, Windows® 서버(2012)) 상에서, 다수의 로봇들은 각각 별개의 Windows® 세션에서 고유한 사용자명을 사용하여 동시에 실행될 수 있다. 이는 위에서 HD 로봇들로서 지칭된다.
에이전트(214)는 또한 로봇의 상황을 송신(예를 들어, 로봇이 계속해서 기능하고 있음을 나타내는 "하트비트(heartbeat)" 메시지를 주기적으로 송신)하는 것과, 실행될 패키지의 필수 버전을 다운로드하는 것을 담당한다. 일부 실시예들에서, 에이전트(214)와 컨덕터(230) 사이의 통신은 항상 에이전트(214)에 의해 개시된다. 알림 시나리오에서, 에이전트(214)는 커맨드들(예를 들어, 시작, 정지 등)을 로봇에 송신하기 위해 나중에 컨덕터(230)에 의해 사용되는 웹소켓(WebSocket) 채널을 열 수 있다.
서버측 상에는, 표현 계층(웹 애플리케이션(232), 오픈 데이터 프로토콜(Open Data Protocol, OData) 대표 상황 전달(Representative State Transfer, REST) 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API) 엔드포인트들(234), 및 알림 및 모니터링 API(236)), 서비스 계층(API 구현/비즈니스 로직(238)), 및 영구 계층(데이터베이스 서버(240) 및 인덱서 서버(250))이 포함된다. 컨덕터(230)는 웹 애플리케이션(232), OData REST API 엔드포인트들(234), 알림 및 모니터링(236), 및 API 구현/비즈니스 로직(238)을 포함한다. 일부 실시예들에서, 사용자가 (예를 들어, 브라우저(220)를 통해) 컨덕터(220)의 인터페이스에서 수행하는 대부분의 액션들은 다양한 API들을 호출함으로써 수행된다. 이러한 액션들은 본 발명의 범위로부터 벗어나지 않고, 로봇들에 대한 작업들을 시작하는 것, 큐들에 데이터를 추가하는 것/제거하는 것, 무인으로 실행할 작업들을 스케줄링하는 것 등을 포함할 수 있지만, 이에 제한되지 않는다. 웹 애플리케이션(232)은 서버 플랫폼의 시각 계층이다. 이러한 실시예에서, 웹 애플리케이션(232)은 하이퍼텍스트 마크업 언어(Hypertext Markup Language, HTML) 및 자바 스크립트(JavaScript, JS)를 사용한다. 그러나, 본 발명의 범위로부터 벗어나지 않고, 임의의 요구되는 마크업 언어들, 스크립트 언어들, 또는 임의의 다른 포맷들이 사용될 수 있다. 이러한 실시예에서, 사용자는 컨덕터(230)를 제어하는 다양한 액션들을 수행하기 위해 브라우저(220)를 통해 웹 애플리케이션(232)으로부터의 웹 페이지들과 상호작용한다. 예를 들어, 사용자는 로봇 그룹들을 생성하고, 로봇들에 패키지들을 부여하고, 로봇마다 그리고/또는 프로세스마다 로그들을 분석하며, 로봇들을 시작 및 정지시키는 등을 할 수 있다.
컨덕터(230)는 웹 애플리케이션(232) 외에, OData REST API 엔드포인트들(234)을 노출시키는 서비스 계층을 또한 포함한다. 그러나, 본 발명의 범위로부터 벗어나지 않고, 다른 엔드포인트들이 포함될 수 있다. REST API는 웹 애플리케이션(232)과 에이전트(214) 양자에 의해 이용된다. 이러한 실시예에서, 에이전트(214)는 클라이언트 컴퓨터 상의 하나 이상의 로봇의 감독자이다.
이러한 실시예에서, REST API는 구성, 로깅, 모니터링, 및 큐잉 기능을 커버한다. 일부 실시예들에서, 구성 엔드포인트들은 애플리케이션 사용자, 권한, 로봇, 에셋, 릴리스, 및 환경을 정의 및 구성하기 위해 사용될 수 있다. 로깅 REST 엔드포인트들은 예를 들어, 오류, 로봇에 의해 송신된 명시적 메시지, 및 다른 환경 특정 정보와 같은 상이한 정보를 로깅하기 위해 사용될 수 있다. 디플로이먼트 REST 엔드포인트들은 컨덕터(230)에서 시작 작업 커맨드가 사용되는 경우 실행되어야 하는 패키지 버전을 질의하기 위해 로봇들에 의해 사용될 수 있다. 큐잉 REST 엔드포인트들은 큐들 및 큐 항목 관리, 이를테면 큐에 데이터를 추가하는 것, 큐로부터 트랜잭션을 획득하는 것, 트랜잭션의 상황을 설정하는 것 등을 담당할 수 있다.
모니터링 REST 엔드포인트들은 웹 애플리케이션(232) 및 에이전트(214)를 모니터링한다. 알림 및 모니터링 API(236)는 에이전트(214)를 등록하고, 에이전트(214)에 구성 설정들을 전달하며, 서버 및 에이전트(214)로부터 알림들을 송신/수신하는 데 사용되는 REST 엔드포인트들일 수 있다. 일부 실시예들에서, 알림 및 모니터링 API(236)는 또한 웹소켓 통신을 사용할 수 있다.
이러한 실시예에서, 영구 계층은 한 쌍의 서버들 - 데이터베이스 서버(240)(예를 들어, SQL 서버) 및 인덱서 서버(250) - 을 포함한다. 이러한 실시예에서, 데이터베이스 서버(240)는 로봇들, 로봇 그룹들, 관련 프로세스들, 사용자들, 역할들, 스케줄들 등의 구성을 저장한다. 일부 실시예들에서, 이러한 정보는 웹 애플리케이션(232)을 통해 관리된다. 데이터베이스 서버(240)는 큐들 및 큐 항목들을 관리할 수 있다. 일부 실시예들에서, 데이터베이스 서버(240)는 (인덱서 서버(250)에 추가하여 또는 인덱서 서버(250) 대신에) 로봇들에 의해 로깅된 메시지들을 저장할 수 있다.
인덱서 서버(250) - 일부 실시예들에서, 임의 사항임 - 는 로봇들에 의해 로깅된 정보를 저장 및 인덱싱한다. 특정 실시예들에서, 인덱서 서버(250)는 구성 설정들을 통해 디스에이블될 수 있다. 일부 실시예들에서, 인덱서 서버(250)는 ElasticSearch® - 이는 오픈 소스 프로젝트 풀 텍스트 검색 엔진임 - 를 사용한다. (예를 들어, 메시지 로깅 또는 행 쓰기와 같은 액티비티들을 사용하여) 로봇들에 의해 로깅된 메시지들은 로깅 REST 엔드포인트(들)를 통해 인덱서 서버(250)로 송신될 수 있으며, 여기서 로깅된 메시지들이 추후 이용을 위해 인덱싱된다.
도 3은 본 발명의 일 실시예에 따른, 디자이너(310), 액티비티들(320, 330), 및 드라이버들(340) 사이의 관계(300)를 도시한 구성도이다. 상술한 바에 따라, 개발자는 디자이너(310)를 사용하여 로봇들에 의해 실행되는 워크플로우들을 개발한다. 워크플로우들은 사용자 정의 액티비티들(320) 및 UI 오토메이션 액티비티들(330)을 포함할 수 있다. 일부 실시예들은 이미지에서의 비-텍스트 시각적 컴포넌트들을 식별할 수 있으며, 이는 본원에서 컴퓨터 시각(computer vision, CV)이라고 지칭된다. 이러한 컴포넌트들과 관련된 일부 CV 액티비티들은 클릭(click), 타입(type), 텍스트 가져오기(get text), 호버(hover), 요소 존재 여부 확인(element exist), 범위 새로고침(refresh scope), 강조 표시(highlight) 등을 포함할 수 있지만, 이에 제한되지 않는다. 일부 실시예들에서, 클릭은 예를 들어, CV, 광학적 문자 인식(optical character recognition, OCR), 퍼지 텍스트 매칭, 및 다중 앵커(multi-anchor)를 사용하여 요소를 식별하고, 이를 클릭한다. 타입은 상기한 것들을 사용하여 요소를 식별하고, 요소에서의 타입들을 식별할 수 있다. 텍스트 가져오기는 특정 텍스트의 위치를 식별하고, OCR을 사용하여 이를 스캔할 수 있다. 호버는 요소를 식별하고, 그 위에 호버링할 수 있다. 요소 존재 여부 확인은 상술된 기법들을 사용하여 스크린 상에 요소가 존재하는지 여부를 검사할 수 있다. 일부 실시예들에서, 디자이너(310)에서 수백 또는 심지어 수천의 액티비티들이 구현될 수 있다. 그러나, 본 발명의 범위로부터 벗어나지 않고, 임의의 수 및/또는 타입의 액티비티가 이용 가능할 수 있다.
UI 오토메이션 액티비티들(330)은 보다 하위 레벨 코드로 작성되는 특수 하위 레벨 액티비티들의 서브세트(예를 들어, CV 액티비티들)이고 스크린과의 상호작용들을 가능하게 한다. UI 오토메이션 액티비티들(330)은 로봇이 원하는 소프트웨어와 상호작용할 수 있게 하는 드라이버들(340)을 통해 이러한 상호작용들을 가능하게 한다. 예를 들어, 드라이버들(340)은 OS 드라이버들(342), 브라우저 드라이버들(344), VM 드라이브들(346), 엔터프라이즈 애플리케이션 드라이버들(348) 등을 포함할 수 있다.
드라이버들(340)은 후크들(hooks)을 찾고, 키들을 모니터링하는 등 하위 레벨에서 OS와 상호작용할 수 있다. 이것들은 Chrome®, IE®, Citrix®, SAP® 등과의 통합을 가능하게 할 수 있다. 예를 들어, "클릭" 액티비티는 드라이버들(340)을 통해 이들 상이한 애플리케이션들에서 동일한 역할을 수행한다.
도 4은 본 발명의 일 실시예에 따른, RPA 시스템(400)을 도시하는 구성도이다. 일부 실시예들에서, RPA 시스템(400)은 도 1 및/또는 도 2의 RPA 시스템(100 및/또는 200)일 수 있거나, 또는 이를 포함할 수 있다. RPA 시스템(400)은 로봇들을 실행하는 다수의 클라이언트 컴퓨팅 시스템들(410)을 포함한다. 컴퓨팅 시스템들(410)은 컨덕터 컴퓨팅 시스템(420) 상에서 실행되는 웹 애플리케이션을 통해 이와 통신할 수 있다. 차례로, 컨덕터 컴퓨팅 시스템(420)은 데이터베이스 서버(430) 및 임의 사항인 인덱서 서버(440)와 통신할 수 있다.
도 1 및 도 3과 관련하여, 이러한 실시예들에서 웹 애플리케이션이 사용되지만, 본 발명의 범위로부터 벗어나지 않고, 임의의 적합한 클라이언트/서버 소프트웨어가 사용될 수 있다는 점을 유념해야 한다. 예를 들어, 컨덕터는 클라이언트 컴퓨팅 시스템들 상의 웹 기반이 아닌 클라이언트 소프트웨어 애플리케이션들과 통신하는 서버측 애플리케이션을 실행할 수 있다.
도 5는 본 발명의 일 실시예에 따른, AI를 사용하여 RPA를 위한 RPA 모델들에 대해 모델들을 선택 및 체인화하도록 구성된 컴퓨팅 시스템(500)을 도시한 구성도이다. 일부 실시예들에서, 컴퓨팅 시스템(500)은 본원에서 도시되고/거나 설명되는 컴퓨팅 시스템들 중 하나 이상일 수 있다. 컴퓨팅 시스템(500)은 정보를 통신하기 위한 버스(505) 또는 다른 통신 메커니즘, 및 정보를 처리하기 위해 버스(505)에 커플링되는 프로세서(들)(510)를 포함한다. 프로세서(들)(510)는 중앙 처리 장치(CPU), 주문형 반도체(ASIC), 필드 프로그래머블 게이트 어레이(FPGA), 그래픽 처리 장치(GPU), 이들의 다수의 인스턴스들, 및/또는 이들의 임의의 조합을 비롯해 임의의 타입의 범용 또는 특수 목적 프로세서일 수 있다. 또한, 프로세서(들)(510)는 다수의 처리 코어들을 가질 수 있고, 코어들 중 적어도 일부는 특정 기능들을 수행하도록 구성될 수 있다. 일부 실시예들에서, 다중 병렬 처리가 사용될 수 있다. 특정 실시예들에서, 프로세서(들)(510) 중 적어도 하나는 생물학적 뉴런들을 모방하는 처리 요소들을 포함하는 뉴로모픽 회로일 수 있다. 일부 실시예들에서, 뉴로모픽 회로들은 폰 노이만 컴퓨팅 아키텍처의 전형적인 컴포넌트들을 필요로 하지 않을 수 있다.
컴퓨팅 시스템(500)은 프로세서(들)(510)에 의해 실행될 정보 및 명령어들을 저장하기 위한 메모리(515)를 더 포함한다. 메모리(515)는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 플래시 메모리, 캐시, 자기 또는 광학 디스크와 같은 정적 스토리지, 또는 임의의 다른 타입들의 비일시적인 컴퓨터 판독 가능 매체들 또는 이들의 조합들의 임의의 조합으로 구성될 수 있다. 비일시적인 컴퓨터 판독 가능 매체들은 프로세서(들)(510)에 의해 액세스될 수 있는 임의의 이용 가능한 매체들일 수 있고, 휘발성 매체들, 비휘발성 매체들, 또는 양자를 포함할 수 있다. 매체들은 또한 착탈식, 비착탈식, 또는 양자일 수 있다.
또한, 컴퓨팅 시스템(500)은 무선 및/또는 유선 연결을 통해 통신 네트워크에 액세스할 수 있기 위해 트랜스시버와 같은 통신 디바이스(520)를 포함한다. 일부 실시예들에서, 통신 디바이스(520)는 본 발명의 범위로부터 벗어나지 않고, 주파수 분할 다중 액세스(FDMA), 단일 캐리어 FDMA(SC-FDMA), 시분할 다중 액세스(TDMA), 코드 분할 다중 액세스(CDMA), 직교 주파수 분할 다중화(OFDM), 직교 주파수 분할 다중 액세스(OFDMA), 모바일용 글로벌 시스템(GSM) 통신, 일반 패킷 라디오 서비스(GPRS), 유니버셜 모바일 통신 시스템(UMTS), cdma2000, 광대역 CDMA(W-CDMA), 고속 다운링크 패킷 액세스(HSDPA), 고속 업링크 패킷 액세스(HSUPA), 고속 패킷 액세스(HSPA), 롱텀 에볼루션(LTE), LTE 어드밴스트(LTE-A), 802.11x, Wi-Fi, 지그비(Zigbee), 초광대역(UWB), 802.16x, 802.15, 홈 노드-B(HnB), 블루투스(Bluetooth), 라디오 주파수 식별(RFID), 적외선 데이터 통신(IrDA), 근거리 통신(NFC), 제5 세대(5G), 엔알(NR: New Radio), 이들의 임의의 조합, 및/또는 임의의 다른 현재 존재하거나 미래에 구현될 통신 표준 및/ 또는 프로토콜을 사용하도록 구성될 수 있다. 일부 실시예들에서, 통신 디바이스(520)는 본 발명의 범위로부터 벗어나지 않고, 개별, 배열, 위상, 스위칭, 빔포밍, 빔스티어링, 이들의 조합, 및/또는 임의의 다른 안테나 구성인 하나 이상의 안테나를 포함할 수 있다.
프로세서(들)(510)는 또한, 버스(505)를 통해 디스플레이(525), 이를테면 플라즈마 디스플레이, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 전계 방출 디스플레이(FED), 유기 발광 다이오드 (OLED) 디스플레이, 플렉시블 OLED 디스플레이, 플렉서블 기판 디스플레이, 투사 디스플레이, 4K 디스플레이, 고화질 디스플레이, Retina® 디스플레이, 평면 정렬 스위칭(IPS) 디스플레이, 또는 사용자에게 정보를 디스플레이하기 위한 임의의 다른 적합한 디스플레이에 커플링된다. 디스플레이(525)는 저항성, 용량성, 표면 탄성파(SAW) 용량성, 적외선, 광학 이미징, 분산 신호 기술, 음향 펄스 인식, 좌절된 내부 전반사 등을 사용하여 터치 (햅틱) 디스플레이, 3차원(3D) 터치 디스플레이, 다중 입력 터치 디스플레이, 다중 터치 디스플레이 등으로서 구성될 수 있다. 본 발명의 범위로부터 벗어나지 않고, 임의의 적합한 디스플레이 디바이스 및 햅틱 I/O가 사용될 수 있다.
키보드(530) 및 커서 제어 디바이스(535), 이를테면 컴퓨터 마우스, 터치패드 등은 또한, 사용자가 컴퓨팅 시스템과 인터페이스할 수 있게 하기 위해 버스(505)에 커플링된다. 그러나, 특정 실시예들에서, 물리적 키보드 및 마우스는 존재하지 않을 수 있고, 사용자는 단지 디스플레이(525) 및/또는 터치패드(도시되지 않음)를 통해 디바이스와 상호작용할 수 있다. 임의의 타입 및 조합의 입력 디바이스들이 설계 선택의 문제로서 사용될 수 있다. 특정 실시예들에서는, 어떠한 물리적 입력 디바이스 및/또는 디스플레이도 존재하지 않는다. 예를 들어, 사용자는 컴퓨팅 시스템(500)과 통신하는 또 다른 컴퓨팅 시스템을 통해 컴퓨팅 시스템과 원격으로 상호작용할 수 있거나, 또는 컴퓨팅 시스템(500)이 자율적으로 동작할 수 있다.
메모리(515)는 프로세서(들)(510)에 의해 실행될 때 기능을 제공하는 소프트웨어 모듈들을 저장한다. 모듈들은 컴퓨팅 시스템(500)을 위한 운영 체제(540)를 포함한다. 모듈들은 본원에서 설명되는 프로세스들의 전부 또는 일부 또는 이의 파생물들을 수행하도록 구성된 모델 선택 및 체인화 모듈(545)을 더 포함한다. 컴퓨팅 시스템(500)은 추가 기능을 포함하는 하나 이상의 추가 기능 모듈(550)을 포함할 수 있다.
당업자는 "시스템"이 본 발명의 범위로부터 벗어나지 않고, 서버, 임베디드 컴퓨팅 시스템, 개인용 컴퓨터, 콘솔, 개인용 정보 단말기(PDA), 휴대 전화, 태블릿 컴퓨팅 디바이스, 양자 컴퓨팅 시스템, 또는 임의의 다른 적합한 컴퓨팅 디바이스, 또는 디바이스들의 조합으로서 구현될 수 있다는 것을 이해할 것이다. 상술된 기능들을 "시스템"에 의해 수행되는 것으로서 제시하는 것은 본 발명의 범위를 어떠한 식으로도 제한하려는 것이 아니라, 본 발명의 많은 실시예들의 일례를 제공하려는 것이다. 실제로, 본원에서 개시되는 방법들, 시스템들, 및 장치들은 클라우드 컴퓨팅 시스템들을 포함하여, 컴퓨팅 기술에 부합하는 로컬 및 분산 형태들로 구현될 수 있다.
본 명세서에서 설명되는 시스템 특징들 중 일부는 이들의 구현 독립성을 특히 더 강조하기 위해, 모듈들로서 제시되었다는 점을 유념해야 한다. 예를 들어, 모듈은 커스텀 초고밀도 집적(VLSI) 회로들 또는 게이트 어레이들, 기성 반도체들 이를테면 로직 칩들, 트랜지스터들, 또는 다른 개별 컴포넌트들을 포함하는 하드웨어 회로로서 구현될 수 있다. 모듈은 또한 필드 프로그래머블 게이트 어레이들, 프로그래머블 어레이 로직, 프로그래머블 로직 디바이스들, 그래픽 처리 장치들 등과 같은 프로그래머블 하드웨어 디바이스들로 구현될 수도 있다.
모듈은 또한 다양한 타입들의 프로세서들에 의한 실행을 위해 소프트웨어로 적어도 부분적으로 구현될 수도 있다. 실행 가능 코드의 식별 유닛은 예를 들어, 객체, 절차, 또는 기능으로서 조직화될 수 있는 컴퓨터 명령어들의 하나 이상의 물리적 또는 논리적 블록을 포함할 수 있다. 그럼에도 불구하고, 식별된 모듈의 실행 가능 코드들은 물리적으로 함께 위치될 필요는 없고, 상이한 위치들에 저장된 이질적인 명령어들 - 이는 논리적으로 함께 결합될 때 모듈을 포함하고 모듈에 대해 언급된 목적을 달성함 - 를 포함할 수 있다. 또한, 모듈들은 본 발명의 범위로부터 벗어나지 않고, 예를 들어, 하드 디스크 드라이브, 플래시 디바이스, RAM, 테이프, 및/또는 데이터를 저장하는 데 사용되는 임의의 다른 상기한 비일시적인 컴퓨터 판독 가능 매체일 수 있는 컴퓨터 판독 가능 매체에 저장될 수 있다.
실제로, 실행 가능 코드의 모듈은 단일 명령어, 또는 많은 명령어들일 수 있고, 여러 상이한 코드 세그먼트들에 걸쳐, 상이한 프로그램들 중에, 그리고 여러 메모리 디바이스들에 걸쳐 분산될 수도 있다. 유사하게, 운용 데이터는 본원에서 모듈들 내에서 식별 및 예시될 수 있고, 임의의 적합한 형태로 구현되고 임의의 적합한 타입의 데이터 구조 내에 조직화될 수 있다. 운용 데이터는 단일 데이터 세트로서 모아질 수 있거나, 또는 상이한 스토리지 디바이스들을 포함하는 상이한 위치들에 걸쳐 분산될 수 있고, 시스템 또는 네트워크 상에 적어도 부분적으로, 단지 전자 신호들로서 존재할 수 있다.
도 6은 본 발명의 일 실시예에 따른, 다수의 모델들을 체인화하고 보다 양호한 결과를 달성하기 위해 실험을 수행하는 "모델들의 모델"을 사용하기 위한 프로세스(600)를 도시한다. 이 예에서, 트레이닝된 상이한 ML 모델들(즉, ML 모델들 A 내지 I)의 모델 풀이 다양한 작업들에 대해 존재한다. 그 후, AI 기반 실험이 체인화된 ML 모델들의 다양한 순열들에 대해 수행된다(가능하게는 체인에 동일한 모델을 한 번보다 많이 포함하는 테스트를 포함함). ML 모델들은 직렬로, 병렬로, 또는 이들의 조합으로(잠재적으로 직렬과 병렬 사이에서 여러 번 교번함) 실행될 수 있다. 소정의 문제에 대해 우수한 결과를 갖는 ML 모델들의 체인이 발견될 때, 이 체인은 그 문제에 디플로이되고 적용될 수 있는 모델들의 모델로서 출력된다. 도시된 바와 같이, 이 체인은 직렬, 병렬 또는 이들의 조합으로 있을 수 있다. 실제로, 임의의 순열 또는 조합이 본 발명의 범위로부터 벗어나지 않고 식별되고 사용될 수 있다. 또한, 특정 실시예들에서는, 단일 모델이 임의의 체인에 대해 최적인 것으로 식별되고 선택될 수 있다.
도 7은 본 발명의 일 실시예에 따른, AI를 사용하여 RPA를 위한 모델들을 선택 및/또는 체인화하기 위한 프로세스(700)를 도시한 흐름도이다. 프로세스는 710에서 ML 모델 풀에서의 개별 ML 모델들 및 ML 모델들의 체인들의 성능을 분석하는 "모델들의 모델"을 실행함으로써 ML 모델 풀에 대한 AI 기반 실험을 수행하는 것으로 시작한다. 일부 실시예들에서, 프로세스 스니핑/프로세스 마이닝 시스템이 사용자 워크플로우들을 분석하고 이들 워크플로우들에 통합될 수 있는 상이한 AI 모델들을 결정하기 위해 사용될 수 있다. 720에서 기존 ML 모델 또는 ML 모델들의 체인보다 우수한 성능이 단일 ML 모델로부터 또는 다수의 ML 모델들을 체인화한 것(예를 들어, 직렬, 병렬, 이들의 조합, 체인의 직렬 및/또는 병렬 부분들을 교번시키는 것 등)으로부터 발견되지 않을 때, 710에서 우수한 ML 모델들 및/또는 조합들에 대한 검색이 계속된다.
그러나, 720에서 ML 모델 또는 특정 구성으로 체인화된 ML 모델들의 조합이 발견될 때, 730에서 이 ML 모델 또는 ML 모델들의 체인이 디플로이된다. 740에서 RPA 로봇 워크플로우가 새로운 ML 모델 또는 ML 모델들의 체인을 호출하고, ML 모델 또는 ML 모델들의 체인을 소정의 작업에 적용하도록 구성된다. 그 후, 750에서 RPA 로봇의 새로운 버전이 생성되고, 760에서 디플로이된다. 그 후, RPA 로봇의 새로운 버전은 770에서의 동작 동안 ML 모델 또는 ML 모델들의 체인을 호출한다.
도 7에서 수행되는 프로세스 단계들은 본 발명의 실시예들에 따라, 도 7에서 설명된 프로세스(들)의 적어도 일부를 수행하기 위한 프로세서(들)에 대한 명령어들을 인코딩하여, 컴퓨터 프로그램에 의해 수행될 수 있다. 컴퓨터 프로그램은 비일시적인 컴퓨터 판독 가능 매체 상에 구현될 수 있다. 컴퓨터 판독 가능 매체는 하드 디스크 드라이브, 플래시 디바이스, RAM, 테이프, 및/또는 데이터를 저장하는 데 사용되는 임의의 다른 이러한 매체 또는 매체들의 조합일 수 있지만, 이에 제한되지 않는다. 컴퓨터 프로그램은 도 7에 설명된 프로세스 단계들의 전부 또는 일부를 구현하도록 컴퓨팅 시스템의 프로세서(들)(예를 들어, 도 5의 컴퓨팅 시스템(500)의 프로세서(들)(510))를 제어하기 위한 인코딩된 명령어들을 포함할 수 있으며, 이는 또한 컴퓨터 판독 가능 매체 상에 저장될 수 있다.
컴퓨터 프로그램은 하드웨어, 소프트웨어, 또는 하이브리드 구현으로 구현될 수 있다. 컴퓨터 프로그램은 서로 통신 가동 준비가 되고, 디스플레이할 정보 또는 명령어들을 전달하도록 설계된 모듈들로 구성될 수 있다. 컴퓨터 프로그램은 범용 컴퓨터, ASIC, 또는 임의의 다른 적합한 디바이스 상에서 동작하도록 구성될 수 있다.
본원에서의 도면들에서 일반적으로 설명되고 도시된 바와 같이, 본 발명의 다양한 실시예들의 컴포넌트는 매우 다양한 상이한 구성들로 배열 및 설계될 수 있다는 것이 쉽게 이해될 것이다. 따라서, 첨부된 도면들에 나타내어진 바와 같이, 본 발명의 실시예들에 대한 상세한 설명은 청구된 바와 같은 본 발명의 범위를 제한하려는 것이 아니라, 단지 본 발명의 선택된 실시예들을 나타내는 것이다.
본 명세서 전반에 걸쳐 설명된 본 발명의 특징들, 구조들, 또는 특성들은 하나 이상의 실시예에서 임의의 적합한 방식으로 조합될 수 있다. 예를 들어, 본 명세서 전체에 걸쳐 "특정 실시예들", "일부 실시예들", 또는 유사한 용어의 언급은 그 실시예와 관련하여 설명된 특정 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전체에 걸쳐 어구들 "특정 실시예들에서", "일부 실시예들에서"," 다른 실시예들에서", 또는 유사한 용어들의 출현은 반드시 모두 동일한 그룹의 실시예들을 지칭하는 것은 아니며, 설명된 특징들, 구조들 또는, 특성들이 하나 이상의 실시예에서 임의의 적합한 방식으로 조합될 수 있다.
본 명세서 전체에 걸쳐 특징들, 이점들, 또는 유사한 용어의 언급은 본 발명으로 실현될 수 있는 특징들 및 이점들 모두가 본 발명의 임의의 단일 실시예이어야 하거나 또는 본 발명의 임의의 단일 실시예에 있다는 것을 암시하는 것이 아님을 유념해야 한다. 더 정확히 말하면, 특징들 및 이점들을 지칭하는 용어는 실시예와 관련하여 설명된 특정 특징, dl점, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미하는 것으로 이해된다. 따라서, 본 명세서 전반에 걸친 특징들 및 이점들에 대한 논의, 및 유사한 용어는 동일한 실시예를 지칭할 수 있지만, 반드시 그러한 것은 아니다.
뿐만 아니라, 본 발명의 설명된 특징들, 이점들, 및 특성들은 하나 이상의 실시예에서 임의의 적합한 방식으로 조합될 수 있다. 당업자는 본 발명이 특정 실시예의 특정 특징들 또는 이점들 중 하나 이상 없이 실시될 수 있다는 것을 인식할 것이다. 다른 사례들에서, 본 발명의 모든 실시예들에 존재하는 것은 아닐 수 있는 추가적인 특징들 및 이점들이 특정 실시예들에서 인식될 수 있다.
당업자는 위에서 논의된 바와 같은 본 발명이 개시된 것들과 상이한 상이한 순서의 단계들로, 그리고/또는 구성들의 하드웨어 요소들로 실시될 수 있다는 것을 쉽게 이해할 것이다. 따라서, 본 발명이 이들 바람직한 실시예들에 기초하여 설명되었지만, 본 발명의 사상 및 범위 내에 유지되면서, 특정 수정, 변형, 및 대안적인 구성이 명백할 것이라는 것이 당업자들에게 명백할 것이다.

Claims (20)

  1. 인공 지능(artificial intelligenc, AI)을 사용하여 로보틱 프로세스 오토메이션(robotic process automation, RPA)을 위한 머신 러닝(machine learning, ML) 모델들을 선택 및 체인화 중 적어도 하나를 행하기 위한 컴퓨터 구현 방법으로서,
    컴퓨팅 시스템에 의해, RPA 로봇의 워크플로우에서 호출될 ML 모델 풀에서의 개별 ML 모델들 및 ML 모델들의 체인들의 성능을 분석하는 모델들의 모델을 실행하는 단계; 및
    기존 ML 모델 또는 ML 모델들의 체인보다 우수한 성능이 상기 모델들의 모델에 의해 발견될 때:
    상기 컴퓨팅 시스템에 의해, 상기 발견된 ML 모델 또는 ML 모델들의 체인을 디플로이함으로써, 상기 기존 ML 모델 또는 ML 모델들의 체인을 대체하는 단계를 포함하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 발견된 ML 모델 또는 ML 모델들의 체인을 호출하도록, 상기 컴퓨팅 시스템에 의해, 상기 RPA 로봇의 상기 워크플로우를 수정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  3. 제2항에 있어서,
    상기 컴퓨팅 시스템에 의해, 상기 수정된 워크플로우를 구현하는 상기 RPA 로봇의 새로운 버전을 생성하는 단계; 및
    상기 컴퓨팅 시스템에 의해, 상기 RPA 로봇의 상기 생성된 새로운 버전을 디플로이하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  4. 제3항에 있어서,
    상기 수정된 워크플로우를 실행할 때, 상기 RPA 로봇에 의해, 발견된 ML 모델 또는 ML 모델들의 체인을 호출하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 ML 모델들의 체인들의 상기 성능의 분석은 직렬, 병렬, 또는 이들의 조합으로 체인화된 ML 모델들의 순열들에 대해 AI 기반 실험을 수행하는 단계, 및 상기 ML 모델들의 체인들에 의해 출력되는 결과들을 분석하는 단계를 포함하는 것인, 컴퓨터 구현 방법.
  6. 제5항에 있어서,
    상기 체인화된 ML 모델들의 순열들은 상기 체인에서의 동일한 ML 모델의 다수의 인스턴스들을 포함하는 것인, 컴퓨터 구현 방법.
  7. 제5항에 있어서,
    ML 모델들의 직렬 및 병렬의 적어도 하나의 조합은 ML 모델들을 직렬 및 병렬로 교번시키는 것을 포함하는 것인, 컴퓨터 구현 방법.
  8. 제1항에 있어서,
    상기 우수한 성능은 상태 공간의 검색을 가이드하고 목표 달성을 시도하기 위해 단기 보상 및 장기 보상 양자로 중간 전환들 및 단계들을 탐색하는 보상 기능에 의해 통제되는 것인, 컴퓨터 구현 방법.
  9. 제1항에 있어서,
    상기 모델들의 모델은 ML 모델 또는 RPA 로봇인 것인, 컴퓨터 구현 방법.
  10. 인공 지능(artificial intelligenc, AI)을 사용하여 로보틱 프로세스 오토메이션(robotic process automation, RPA)을 위한 머신 러닝(machine learning, ML) 모델들을 선택 및 체인화 중 적어도 하나를 행하기 위한 컴퓨터 구현 방법으로서,
    RPA 로봇의 워크플로우에서 호출될 ML 모델 풀에서의 개별 ML 모델들 및 ML 모델들의 체인들의 성능을 분석하는 모델들의 모델을 실행하는 단계; 및
    기존 ML 모델 또는 ML 모델들의 체인보다 우수한 성능이 상기 모델들의 모델에 의해 발견될 때:
    상기 발견된 ML 모델 또는 ML 모델들의 체인을 디플로이함으로써, 상기 기존 ML 모델 또는 ML 모델들의 체인을 대체하는 단계; 및
    상기 발견된 ML 모델 또는 ML 모델들의 체인을 호출하도록, 컴퓨팅 시스템에 의해, 상기 RPA 로봇의 상기 워크플로우를 수정하는 단계를 포함하는, 컴퓨터 구현 방법.
  11. 제10항에 있어서,
    상기 수정된 워크플로우를 구현하는 상기 RPA 로봇의 새로운 버전을 생성하는 단계; 및
    상기 RPA 로봇의 상기 생성된 새로운 버전을 디플로이하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  12. 제11항에 있어서,
    상기 수정된 워크플로우를 실행할 때, 상기 RPA 로봇에 의해, 발견된 ML 모델 또는 ML 모델들의 체인을 호출하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  13. 제10항에 있어서,
    상기 ML 모델들의 체인들의 상기 성능의 분석은 직렬, 병렬, 또는 이들의 조합으로 체인화된 ML 모델들의 순열들에 대해 AI 기반 실험을 수행하는 단계, 및 상기 ML 모델들의 체인들에 의해 출력되는 결과들을 분석하는 단계를 포함하는 것인, 컴퓨터 구현 방법.
  14. 제13항에 있어서,
    상기 체인화된 ML 모델들의 순열들은 상기 체인에서의 동일한 ML 모델의 다수의 인스턴스들을 포함하는 것인, 컴퓨터 구현 방법.
  15. 제10항에 있어서,
    상기 우수한 성능은 상태 공간의 검색을 가이드하고 목표 달성을 시도하기 위해 단기 보상 및 장기 보상 양자로 중간 전환들 및 단계들을 탐색하는 보상 기능에 의해 통제되는 것인, 컴퓨터 구현 방법.
  16. 제10항에 있어서,
    상기 모델들의 모델은 ML 모델 또는 RPA 로봇인 것인, 컴퓨터 구현 방법.
  17. 인공 지능(artificial intelligenc, AI)을 사용하여 로보틱 프로세스 오토메이션(robotic process automation, RPA)을 위한 머신 러닝(machine learning, ML) 모델들을 체인화하기 위한 컴퓨터 구현 방법으로서,
    RPA 로봇의 워크플로우에서 호출될 ML 모델 풀에서의 ML 모델들의 체인들의 성능을 분석하는 모델들의 모델을 실행하는 단계; 및
    기존 ML 모델 또는 ML 모델들의 체인보다 우수한 성능이 상기 모델들의 모델에 의해 발견될 때:
    상기 발견된 ML 모델들의 체인을 디플로이함으로써, 상기 기존 ML 모델 또는 ML 모델들의 체인을 대체하는 단계; 및
    상기 발견된 ML 모델들의 체인을 호출하도록 상기 RPA 로봇의 상기 워크플로우를 수정하는 단계를 포함하며,
    상기 ML 모델들의 체인들의 상기 성능의 분석은 직렬, 병렬, 또는 이들의 조합으로 체인화된 ML 모델들의 순열들에 대해 AI 기반 실험을 수행하는 단계, 및 상기 ML 모델들의 체인들에 의해 출력되는 결과들을 분석하는 단계를 포함하는 것인, 컴퓨터 구현 방법.
  18. 제17항에 있어서,
    상기 수정된 워크플로우를 구현하는 상기 RPA 로봇의 새로운 버전을 생성하는 단계; 및
    상기 RPA 로봇의 상기 생성된 새로운 버전을 디플로이하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  19. 제17항에 있어서,
    상기 체인화된 ML 모델들의 순열들은 상기 체인에서의 동일한 ML 모델의 다수의 인스턴스들을 포함하는 것인, 컴퓨터 구현 방법.
  20. 제17항에 있어서,
    상기 우수한 성능은 상태 공간의 검색을 가이드하고 목표 달성을 시도하기 위해 단기 보상 및 장기 보상 양자로 중간 전환들 및 단계들을 탐색하는 보상 기능에 의해 통제되는 것인, 컴퓨터 구현 방법.
KR1020227010643A 2019-10-15 2020-08-18 인공 지능을 사용한 로봇 프로세스 자동화를 위한 모델 선택 및 체인화 KR20220078587A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962915399P 2019-10-15 2019-10-15
US62/915,399 2019-10-15
US16/707,933 2019-12-09
US16/707,933 US10963231B1 (en) 2019-10-15 2019-12-09 Using artificial intelligence to select and chain models for robotic process automation
PCT/US2020/046772 WO2021076223A1 (en) 2019-10-15 2020-08-18 Using artificial intelligence to select and chain models for robotic process automation

Publications (1)

Publication Number Publication Date
KR20220078587A true KR20220078587A (ko) 2022-06-10

Family

ID=75164474

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227010643A KR20220078587A (ko) 2019-10-15 2020-08-18 인공 지능을 사용한 로봇 프로세스 자동화를 위한 모델 선택 및 체인화

Country Status (6)

Country Link
US (2) US10963231B1 (ko)
EP (1) EP4046088A4 (ko)
JP (1) JP2022552131A (ko)
KR (1) KR20220078587A (ko)
CN (1) CN114600141A (ko)
WO (1) WO2021076223A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11550299B2 (en) 2020-02-03 2023-01-10 Strong Force TX Portfolio 2018, LLC Automated robotic process selection and configuration
AU2019267454A1 (en) 2018-05-06 2021-01-07 Strong Force TX Portfolio 2018, LLC Methods and systems for improving machines and systems that automate execution of distributed ledger and other transactions in spot and forward markets for energy, compute, storage and other resources
US11669914B2 (en) 2018-05-06 2023-06-06 Strong Force TX Portfolio 2018, LLC Adaptive intelligence and shared infrastructure lending transaction enablement platform responsive to crowd sourced information
US11571811B2 (en) * 2019-10-15 2023-02-07 UiPath, Inc. Process evolution for robotic process automation and workflow micro-optimization
US11593709B2 (en) * 2019-10-15 2023-02-28 UiPath, Inc. Inserting and/or replacing machine learning models in a pipeline for robotic process automation workflows
US11334465B2 (en) 2019-10-16 2022-05-17 UiPath, Inc. Long running workflows for robotic process automation
US10860905B1 (en) * 2019-10-16 2020-12-08 UiPath, Inc. Long running workflows for document processing using robotic process automation
US11982993B2 (en) 2020-02-03 2024-05-14 Strong Force TX Portfolio 2018, LLC AI solution selection for an automated robotic process
US20220067573A1 (en) * 2020-08-31 2022-03-03 Accenture Global Solutions Limited In-production model optimization
US11429351B2 (en) * 2021-01-21 2022-08-30 Intuit Inc. Methods and systems for building custom automation workflows to integrate multiple applications
US20220410398A1 (en) * 2021-06-25 2022-12-29 Microsoft Technology Licensing, Llc Triggering dynamic robotic process automation
US20230101223A1 (en) * 2021-09-30 2023-03-30 UiPath, Inc. Digital assistant using robotic process automation
US11983650B2 (en) * 2022-01-31 2024-05-14 Salesforce, Inc. Intelligent routing of data objects between paths using machine learning
US20230390922A1 (en) * 2022-06-02 2023-12-07 Northrop Grumman Systems Corporation Controlling a robot to remedy a problem

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7480640B1 (en) 2003-12-16 2009-01-20 Quantum Leap Research, Inc. Automated method and system for generating models from data
GB2541625A (en) 2014-05-23 2017-02-22 Datarobot Systems and techniques for predictive data analytics
US20160358099A1 (en) 2015-06-04 2016-12-08 The Boeing Company Advanced analytical infrastructure for machine learning
US11295228B2 (en) 2016-03-21 2022-04-05 Wipro Limited Methods for creating automated dynamic workflows of interoperable bots and devices thereof
WO2017223192A1 (en) 2016-06-21 2017-12-28 Sri International Systems and methods for machine learning using a trusted model
US10324457B2 (en) * 2017-05-11 2019-06-18 Global Eprocure Robotic process automation for supply chain management operations
KR20180130925A (ko) 2017-05-30 2018-12-10 국방과학연구소 머신 러닝을 위한 학습 이미지를 자동 생성하는 인공 지능 장치 및 그의 제어 방법
US10235192B2 (en) * 2017-06-23 2019-03-19 Accenture Global Solutions Limited Self-learning robotic process automation
US10482232B2 (en) * 2017-08-16 2019-11-19 Bank Of America Corporation Robotic process automation using controller execution model
US11663517B2 (en) 2017-11-03 2023-05-30 Salesforce, Inc. Automatic machine learning model generation
US12085901B2 (en) * 2017-11-21 2024-09-10 Accenture Global Solutions Limited Bot management framework for robotic process automation systems
US11257002B2 (en) 2017-11-22 2022-02-22 Amazon Technologies, Inc. Dynamic accuracy-based deployment and monitoring of machine learning models in provider networks
WO2019113122A1 (en) * 2017-12-04 2019-06-13 Conversica, Inc. Systems and methods for improved machine learning for conversations
US10452674B2 (en) * 2017-12-07 2019-10-22 Accenture Global Solutions Limited Artificial intelligence and robotic process automation for automated data management
GB201805302D0 (en) 2018-03-29 2018-05-16 Benevolentai Tech Limited Ensemble Model Creation And Selection
US11042458B2 (en) * 2018-04-30 2021-06-22 Accenture Global Solutions Limited Robotic optimization for robotic process automation platforms
US11954565B2 (en) * 2018-07-06 2024-04-09 Qliktech International Ab Automated machine learning system
US11281936B2 (en) * 2018-12-31 2022-03-22 Kofax, Inc. Systems and methods for identifying processes for robotic automation and building models therefor
US11113532B2 (en) 2019-04-16 2021-09-07 Lg Electronics Inc. Artificial intelligence apparatus for recognizing object and method therefor
US11074105B2 (en) * 2019-05-16 2021-07-27 Blue Prism Cloud, Inc. Systems and methods for digital workforce intelligent orchestration
US11074063B2 (en) * 2019-09-10 2021-07-27 International Business Machines Corporation Automatic upgrade of robotic process automation using a computer

Also Published As

Publication number Publication date
CN114600141A (zh) 2022-06-07
US20210200523A1 (en) 2021-07-01
WO2021076223A1 (en) 2021-04-22
EP4046088A4 (en) 2023-10-18
JP2022552131A (ja) 2022-12-15
US20210109730A1 (en) 2021-04-15
US11893371B2 (en) 2024-02-06
US10963231B1 (en) 2021-03-30
EP4046088A1 (en) 2022-08-24

Similar Documents

Publication Publication Date Title
KR102453988B1 (ko) 런타임시 디지털 프로세스에서의 동적 인공 지능/머신 러닝 모델 업데이트, 또는 재트레이닝 및 업데이트
US11893371B2 (en) Using artificial intelligence to select and chain models for robotic process automation
US11494291B2 (en) System and computer-implemented method for analyzing test automation workflow of robotic process automation (RPA)
US11347613B2 (en) Inserting probabilistic models in deterministic workflows for robotic process automation and supervisor system
US20210191367A1 (en) System and computer-implemented method for analyzing a robotic process automation (rpa) workflow
KR102412237B1 (ko) 로봇 프로세스 자동화를 위한 테스트 자동화
US11748479B2 (en) Centralized platform for validation of machine learning models for robotic process automation before deployment
US11593709B2 (en) Inserting and/or replacing machine learning models in a pipeline for robotic process automation workflows
US11016789B2 (en) Robot browser embedding
CN116324831A (zh) 经由人工智能/机器学习的机器人过程自动化异常检测和自我修复
KR20220079838A (ko) 로봇 프로세스 자동화의 강화 학습
KR20220078588A (ko) 머신 러닝을 사용한 로봇 프로세스 자동화 워크플로우의 자동 활성화 및 구성
US20210342736A1 (en) Machine learning model retraining pipeline for robotic process automation
EP3901864A1 (en) Test automation for robotic process automation
EP3901865A1 (en) Test automation for robotic process automation
EP3806419A1 (en) Robot browser embedding
JP2023523374A (ja) ロボティックプロセスオートメーションのための機械学習モデル再訓練パイプライン
US11650871B2 (en) System and computer-implemented method for verification of execution of an activity