JP2024065102A - ロボットプロセス自動化のためのセマンティック自動化ビルダー - Google Patents
ロボットプロセス自動化のためのセマンティック自動化ビルダー Download PDFInfo
- Publication number
- JP2024065102A JP2024065102A JP2023185064A JP2023185064A JP2024065102A JP 2024065102 A JP2024065102 A JP 2024065102A JP 2023185064 A JP2023185064 A JP 2023185064A JP 2023185064 A JP2023185064 A JP 2023185064A JP 2024065102 A JP2024065102 A JP 2024065102A
- Authority
- JP
- Japan
- Prior art keywords
- automation
- semantic
- actions
- builder
- automations
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000004801 process automation Methods 0.000 title claims abstract description 19
- 238000000034 method Methods 0.000 claims abstract description 140
- 230000009471 action Effects 0.000 claims abstract description 111
- 230000000694 effects Effects 0.000 claims abstract description 95
- 238000013507 mapping Methods 0.000 claims abstract description 10
- 238000010801 machine learning Methods 0.000 claims description 116
- 230000008569 process Effects 0.000 claims description 82
- 238000013473 artificial intelligence Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 208000014633 Retinitis punctata albescens Diseases 0.000 description 97
- 239000010410 layer Substances 0.000 description 39
- 239000004020 conductor Substances 0.000 description 35
- 230000006870 function Effects 0.000 description 35
- 238000012549 training Methods 0.000 description 25
- 238000013528 artificial neural network Methods 0.000 description 23
- 239000003795 chemical substances by application Substances 0.000 description 19
- 210000002569 neuron Anatomy 0.000 description 18
- 238000012360 testing method Methods 0.000 description 17
- 230000008901 benefit Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 14
- 238000005065 mining Methods 0.000 description 14
- 238000012544 monitoring process Methods 0.000 description 14
- 238000013461 design Methods 0.000 description 13
- 238000011161 development Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000010354 integration Effects 0.000 description 8
- 230000003993 interaction Effects 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 7
- 230000008520 organization Effects 0.000 description 7
- 238000012015 optical character recognition Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 241000282412 Homo Species 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 101000857680 Xenopus laevis Runt-related transcription factor 1 Proteins 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000002688 persistence Effects 0.000 description 3
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000010348 incorporation Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007620 mathematical function Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000010897 surface acoustic wave method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000011165 process development Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Computational Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
Abstract
【課題】ロボットプロセス自動化のためのセマンティック自動化ビルダーを提供する。【解決手段】ハイパー自動化システム100において、ロボットプロセス自動化のセマンティック自動化を生成する方法は、ターゲットアプリケーションである文字自動化タスクに対応するユーザー入力または当該ロボットプロセス自動化のアクションを特定するためのステップを受信することと、各アクションをアクティビティに対してマッピングして、マップされたアクティビティを生成することと、当該マップされたアクティビティに基づいて当該アクションを当該セマンティック自動化に変換することと、当該アクションの編集を可能にするために、当該セマンティック自動化ビルダーのユーザーインターフェース中に当該セマンティック自動化を提供することと、を含む。【選択図】図1
Description
本開示は、主に自動化に関する。
一般的に、これらの自動化の構築及び編集にRPAノウハウについて、ほとんどの駆け出しの開発者は、自動化プロセスの設計の出発点に必要なコーディング概念及び論理的思考に不慣れである。即ち、このRPAノウハウの場合、RPAのワークフローに必要なアクティビティを設計時期において構成することは、時間のかかるプロセスである。従来、RPAワークフローデザイナ用アプリケーションにおいては、ワークフロー中のアクティビティは、手動で構成される。アクティビティ構成を改良することが、必要とされている。
1つ以上の実施形態によれば、方法が提供される。上記方法は、少なくとも1つのプロセッサ上で実行されるセマンティック自動化ビルダーによって実行される。上記方法は、ロボットプロセス自動化の1つ以上のセマンティック自動化を生成する。方法は、上記ロボットプロセス自動化の1つ以上のアクションを特定するために、ターゲットアプリケーション、文字自動化タスクまたは1つ以上のステップに対応する1つ以上のユーザー入力を受信することを含む。上記方法は、1つ以上のアクションの各アクションをアクティビティにマッピングして、1つ以上のマップされたアクティビティを生成することと、上記1つ以上のマップされたアクティビティに基づいて上記1つ以上のアクションを上記1つ以上のセマンティック自動化に変換することとを含む。上記方法は、上記セマンティック自動化ビルダーのユーザーインターフェースにおいて上記1つ以上のセマンティック自動化を提供して、上記1つ以上のアクションの編集を可能にすることを含む。上記方法の実施形態は、システム、コンピュータープログラム製品及び/または装置として実行され得る。
本明細書中の特定の実施形態の利点を容易に理解してもらうために、添付の実施形態中に例示される特定の実施形態を参照して、より詳細な説明を記載する。これらの図面は、代表的な実施形態を示すものに過ぎないため、その範囲を制限するものとみなされるべきではなく、本明細書中の1つ以上の実施形態について、添付図面の利用を通じてさらに具体的かつ詳細に記載及び説明していくことが理解されるべきである。図面中:
他に明記無き限り、添付図面全体において、類似の参照文字は、対応する特徴を一貫して示す。
一般的に、本明細書中の実施形態は、自動化に関する。より詳細には、本明細書中の実施形態は、セマンティックを用いて自動アクティビティ構成を可能にするRPAのためおよびワークフロー生成のためのセマンティック自動化ビルダーに関する。セマンティック自動化ビルダーの実行は、コンピューティングシステム及び/またはコントローラーによって行われ得る。一例として、コンピューティングシステム及び/またはコントローラーは、セマンティック自動化ビルダーの動作(例えば、セマンティック自動化の作成)をRPAワークフロー設計エンジンを通じて実行し得る。RPAワークフロー設計エンジンは、RPAのワークフローを機械学習(ML)を用いて自然言語で記述されたタスクから生成し、生成されたワークフローをゼロコードの直感的なユーザーインターフェース(UI)を用いて有効化する。
RPAワークフロー設計エンジン及び/またはセマンティック自動化ビルダーは、RPA(例えば、RPAを作成し、RPAにジョブを割りあてるデザイナ)を生成、管理、自動実行するためのポリシー及び技術の枠組みを含むソフトウェアとして記述され得る。RPAは、ロボット/アシスタントソフトウェアを実行するエージェントソフトウェアであり得る。ロボット/アシスタントソフトウェアの例を挙げると、ロボット、ワークフローなどがあり、ジョブは、RPAによって実行される仕事の単位とみなされ得る。双方について、本明細書中さらに記載する。
本明細書中記載のように、RPAのワークフローにおけるアクティビティは、従来は手動で構成さているため、駆け出しの開発者の場合、RPA構築のためのプロセスに時間がかかる。そのため、RPAワークフロー設計エンジン及び/またはセマンティック自動化ビルダーは、向上したRPAの開発の1つ以上の技術的効果、利点及び恩恵ならびに自動化設計時間の低減を可能にする動作を提供する(例えば、アクティビティの改良された発見可能性、文字自動化タスクからの全アクティビティを特定する訓練済みモデル、音声テキスト化機能)。
図1は、1つ以上の実施形態によるハイパー自動化システム100を示す構造図を示す。本明細書中用いられるように、「ハイパー自動化」とは、プロセス自動化のコンポーネントと、統合ツールと、仕事を自動化する能力を増強させる技術とを1つにした自動化システムを指す。例えば、いくつかの実施形態において、RPAはハイパー自動化システムのコアにおいて用いられ得、特定の実施形態において、人工知能及び/または機械(AI/ML)、プロセスマイニング、分析ならびに/あるいは他の高度ツールにより、自動化能力が拡張され得る。ハイパー自動化システムが例えばプロセス学習、AI/MLモデルの訓練及び分析利用を進めるにつれて、より多くの知識労働が自動化され得、組織におけるコンピューティングシステム(例えば、個人によって使用されているもの及び自律的に実行されているもの双方)全てが、ハイパー自動化プロセスにおける参加者として従事し得る。いくつかの実施形態のハイパー自動化システムにより、ユーザー及び組織が自動化の発見、理解及びスケーリングを効率的かつ有効に実施することが可能になる。
ハイパー自動化システム100は、ユーザーコンピューティングシステムを含む(例えば、デスクトップコンピューター102、タブレット104及びスマートフォン106)。しかし、任意の所望のコンピューティングシステムが、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く用いられ得る(例を非限定的に挙げると、スマートウォッチ、ラップトップコンピューター、サーバー、モノのインターネット(IoT)デバイス)。また、図1中では3つのユーザーコンピューティングシステムを図示しているが、任意の適切な数のコンピューティングシステムが、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く用いられ得る。例えば、いくつかの実施形態において、数十個、数百個、数千個または数百万個のコンピューティングシステムが用いられ得る。ユーザーコンピューティングシステムは、ユーザーが能動的に用いてもよいし、あるいは、ユーザー入力をほとんどまたは全く用いること無く自動的に実行されてもよい。
各コンピューティングシステム102、104、106上においては、各自動化プロセス(単数または複数)110、112、114が実行される。自動化プロセス(単数または複数)102、104、106の例を非限定的に挙げると、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、RPAロボット、オペレーティングシステムの一部、各コンピューティングシステムのダウンロード可能なアプリケーション(単数または複数)、任意の他の適切なソフトウェア及び/またはハードウェア、あるいはこれらの任意の組み合わせがある。いくつかの実施形態において、プロセス(単数または複数)110、112、114のうち1つ以上が、リスナーであり得る。リスナーは、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、RPAロボット、オペレーティングシステムの一部、各コンピューティングシステムのダウンロード可能なアプリケーションあるいは任意の他のソフトウェア及び/またはハードウェアであり得る。実際、いくつかの実施形態において、リスナー(単数または複数)の論理は、物理的ハードウェアを介して部分的にまたは完全に実行される。
リスナーは、各コンピューティングシステムとのユーザー相互作用及び/またはアンアテンディッドコンピューティングシステムの動作に関するデータを監視及び記録し、ネットワーク(例えば、ローカルエリアネットワーク(LAN)、モバイル通信ネットワーク、衛星通信ネットワーク、インターネット、これらの任意の組み合わせなど)を介して上記データをコアハイパー自動化システム120へ送信する。このデータを非限定的に挙げると、どのボタンがクリックされたのか、マウスが動かされた場所はどこか、フィールド内に入力されたテキスト、1つのウィンドウが最小化され、別のウィンドウが開かれた、ウィンドウと関連付けられたアプリケーションなどがある。特定の実施形態において、リスナーからのデータは、ハートビートメッセージの一部として定期的に送信され得る。いくつかの実施形態において、所定量のデータが収集された後、所定の時間が経過した後またはこれら両方の後、データはコアハイパー自動化システム120へ送信され得る。1つ以上のサーバー(例えば、サーバー130)は、リスナーからのデータを受信し、データベース(例えば、データベース140)中に保存する。
自動化プロセスは、設計時期にワークフローにおいて開発された論理を実行し得る。RPAの場合、ワークフローは、順番にまたはいくつかの他の論理フローにおいて実行される1組のステップ(本明細書中、「アクティビティ」として定義される)を含み得る。各アクティビティは、アクションを含み得る(例えば、ボタンをクリックすること、ファイルを読み出すこと、ログパネルへ書き込むことなど)。いくつかの実施形態において、ワークフローは、入れ子式にしてもよいし、あるいは埋め込んでもよい。
いくつかの実施形態において、RPAのための長期実行されるワークフローは、サービスオーケストレーション、人的介入、及びアンアテンディッド環境において長期実行されるトランザクションをサポートするマスタープロジェクトである。米国特許第10,860,905号を参照されたい。同文献の内容全体を参考のため援用する。人的介入が開始されるのは、アクティビティにおける次のステップに進む前に、特定のプロセスにおいて例外、承認または有効化を取り扱うために人間の入力が必要とされる場合である。この状況において、プロセス実行は中断されて、人間のタスクが完了されるまでRPAロボットを開放する。
長期実行されるワークフローは、ワークフローフラグメンテーションを持続的アクティビティを介してサポートし得、呼び出しプロセス及び非ユーザー相互作用アクティビティと組み合わされ得、これにより人間のタスクをRPAロボットタスクと共にオーケストレートする。いくつかの実施形態において、複数のまたは多数のコンピューティングシステムは、長期実行されるワークフローの論理の実行に参加し得る。長期実行されるワークフローは、スピーディーな実行を促進させるようにセッションにおいて実行され得る。いくつかの実施形態において、長期実行されるワークフローは、アプリケーションプログラミングインターフェース(API)呼び出しを行いかつ長期実行されるワークフローセッションにおいて実行されるアクティビティを含み得るバックグラウンドプロセスをオーケストレートし得る。いくつかの実施形態において、これらのアクティビティは、呼び出しプロセスアクティビティによって呼び出され得る。ユーザーセッションにおいて実行されるユーザー相互作用アクティビティを含むプロセスが、コンダクターアクティビティ(本明細書中においてより詳細に記載されるコンダクター)からのジョブの開始によって呼び出され得る。いくつかの実施形態において、ユーザーは、コンダクター内において完了すべきフォームを要求するタスクを通じて相互作用し得る。RPAロボットにフォームタスクの完了を待機させた後に、長期実行されるワークフローを再開させるアクティビティが含まれ得る。
1つ以上の自動化プロセス(単数または複数)110、112、114が、コアハイパー自動化システム120と通信する。いくつかの実施形態において、コアハイパー自動化システム120は、コンダクターアプリケーションを1つ以上のサーバー(例えば、サーバー130)上において実行させ得る。例示目的のため、1つのサーバー130を図示しているが、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、複数のまたは多数のサーバーを相互に近隣に配置してまたは分配型アーキテクチャにしたものを用いてもよい。例えば、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、1つ以上のサーバーが、コンダクター機能、AI/MLモデル提供、認証、ガバナンス及び/または任意の他の適切な機能のために設けられ得る。いくつかの実施形態において、コアハイパー自動化システム120は、パブリッククラウドアーキテクチャ、プライベートクラウドアーキテクチャ、ハイブリッドクラウドアーキテクチャなどを採用し得るかまたはその一部となり得る。特定の実施形態において、コアハイパー自動化システム120は、1つ以上のコンピューティングシステム上の複数のソフトウェアベースのサーバーをホストし得る(例えば、サーバー130。)いくつかの実施形態において、コアハイパー自動化システム120の1つ以上のサーバー(例えば、サーバー130)が、1つ以上の仮想機械(VM)を介して実行され得る。
いくつかの実施形態において、自動化プロセス(単数または複数)110、112、114のうち1つ以上は、コアハイパー自動化システム120上において展開されたかまたはコアハイパー自動化システム120からアクセス可能な1つ以上のAI/MLモデル132を呼び出し得る。AI/MLモデル132は、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、本明細書中においてより詳細に述べるように、任意の適切な目的のために訓練され得る。AI/MLモデル132の例を非限定的に挙げると、生成的な事前訓練を行なったトランスフォーマー3(GPT-3)モデルがある。このモデルは、ワークフロー記述のサンプル及びデータベース140中に見受けられる実際のワークフローによってさらに訓練され、その結果、微調整されたGPT-3モデルが得られる。いくつかの実施形態において、AI/MLモデル132のうち2つ以上が、協同的出力(単数または複数)を共同で提供するように連鎖され得る(例えば、直列、並列、またはこれらの組み合わせ)。AI/MLモデル132は、コンピュータービジョン(CV)、光学文字認識(OCR)、文書処理及び/または理解、セマンティック学習及び/または分析、分析予測、プロセス発見、タスクマイニング、試験、自動RPAワークフロー生成、シーケンス抽出、クラスタリング検出、音声テキスト翻訳、これらの任意の組み合わせなどを行い得るかまたは支援し得る。しかし、任意の所望の数及び/または種類(単数または複数)のAI/MLモデルが、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く用いられ得る。複数のAI/MLモデルを用いると、例えば所与のコンピューティングシステムにおいて何が起こっているのかについてシステムが全体像を展開することが可能になり得る。例えば、1つのAI/MLモデルはOCRを行い得、別のものはボタンを検出し得、別のものはシーケンスを比較し得る。パターンが、AI/MLモデルによって個別に決定され得るか、または複数のAI/MLモデルによって集合的に決定され得る。特定の実施形態において、1つ以上のAI/MLモデルが、コンピューティングシステム102、104、106のうち少なくとも1つにおいて局所的に展開される。
いくつかの実施形態において、複数のAI/MLモデル132が用いられ得る。各AI/MLモデル132は、データ上で実行されるアルゴリズム(またはモデル)であり、AI/MLモデルそのものは、例えば訓練データ中において訓練された人工「ニューロン」の深層学習ニューラルネットワーク(DLNN)であり得る。いくつかの実施形態において、AI/MLモデル132は、多様な機能(例えば、統計モデリング(例えば、隠れマルコフモデル(HMM)))を行う複数の層を有し得、所望の機能を行うために深層学習技術(例えば、長・短期記憶(LSTM)深層学習、前回の隠蔽状態の符号化など)を利用し得る。
いくつかの実施形態において、ハイパー自動化システム100は、以下の4つの主要機能グループを提供し得る:(1)発見;(2)自動化の構築;(3)管理;及び(4)従属。いくつかの実施形態において、自動化(例えば、ユーザーコンピューティングシステム、サーバー上などにおいて実行するもの)は、ソフトウェアロボット(例えば、RPAロボット)によって実行され得る。例えば、アテンディッドロボット、アンアテンディッドロボット及び/または試験ロボットが用いられ得る。アテンディッドロボットは、ユーザーと協働して、ユーザーのタスクを(例えば、UiPathアシスタント(商標)を介して)支援する。アンアテンディッドロボットは、ユーザーから独立して機能し、バックグラウンドで恐らくはユーザーの知識無しに実行され得る。試験ロボットは、アプリケーションまたはRPAワークフローに対してテストケースを実行するアンアテンディッドロボットである。いくつかの実施形態において、試験ロボットは、複数のコンピューティングシステム上において並列に実行され得る。
発見機能は、事業プロセスの異なる自動化機会を発見し得、これらの機会について自動レコメンデーションを提供し得る。このような機能は、1つ以上のサーバー(例えば、サーバー130)によって実行され得る。いくつかの実施形態において、発見機能は、自動化ハブ、プロセスマイニング、タスクマイニング及び/またはタスクキャプチャを提供することを含み得る。自動化ハブ(例えば、UiPath自動化ハブ(商標))は、自動化ロールアウトを可視性及び制御と共に管理する機構を提供し得る。自動化アイディアが、従業員から例えば提出フォームを介してクラウドソースされ得る。これらのアイディアを自動化するための実行可能性及び投資対効果(ROI)の計算が提供され得、将来の自動化のための文書化が収集され得、自動化の発見から構築までをより迅速に行うための協力が提供され得る。
(例えば、UiPath自動化クラウド(商標)及び/またはUiPath AI Center(商標))を介したプロセスマイニングは、アプリケーション(例えば、企業資源計画(ERP)アプリケーション、カスタマーリレーション管理(CRM)アプリケーション、eメールアプリケーション、コールセンターアプリケーションなど)からのデータを収集及び分析するプロセスを指し、組織中にどんなエンドツーエンドプロセスが存在するか及びそれらのプロセスを効果的に自動化させる方法を特定し、当該自動化による影響がどのようなものになるであろうかも示す。このデータは、ユーザーコンピューティングシステム102、104、106by例えばリスナーによって収集され得、サーバー(例えば、サーバー130)によって処理され得る。いくつかの実施形態において、1つ以上のAI/MLモデル132が、この目的のために用いられ得る。この情報は、実行の高速化及び手動の情報転送の回避のために、自動化ハブへエクスポートされ得る。プロセスマイニングの目的は、組織内のプロセスを自動化することにより事業価値を増大させることであり得る。プロセスマイニング目的のいくつかの例を非限定的に挙げると、利益増大、顧客満足向上、規制及び/または契約の遵守、従業員効率の向上などがある。
タスクマイニングは、(例えば、UiPath自動化クラウド(商標)及び/またはUiPath AI Center(商標)を介して)ワークフロー(例えば、従業員ワークフロー)を特定及び集計し、次にAI適用により日々のタスクのパターン及び変動を可視化させて、自動化容易性及び節減可能性(例えば、時間及び/またはコスト節減)についてこのようなタスクをスコア化する。1つ以上のAI/MLモデル132が、データ中のタスクパターンの反復を明示するために用いられ得る。次に、自動化の時機が熟している反復タスクが特定され得る。いくつかの実施形態において、この情報は、先ずリスナーから提供され得、コアハイパー自動化システム120のサーバー(例えば、サーバー130)上において分析され得る。タスクマイニング(例えば、拡張可能アプリケーションマークアップ言語(XAML)プロセスデータ)からの調査結果は、文書処理へまたは自動化の作成及び展開をより容易に行うためにデザイナアプリケーション(例えば、UiPath Studio(商標))へエクスポートされ得る。
いくつかの実施形態において、タスクマイニングは、ユーザーアクション(例えば、マウスクリック場所、キーボード入力、アプリケーションウィンドウ及びユーザーが相互作用していたグラフィック要素、相互作用のタイムスタンプなど)のスクリーンショットをとること、統計データを収集すること(例えば、実行時間、アクション数、テキスト入力など)、スクリーンショットを編集及び注釈付加すること、記録されるべきアクションの種類を指定することなどを含み得る。
タスクキャプチャは、ユーザーがアンアテンディッドプロセスの枠組みに取り組んでいるかまたは提供している際に、(例えば、UiPath自動化クラウド(商標)及び/またはUiPath AI Center(商標)を介して)アテンディッドプロセスを自動的に文書化する。このような文書化は、骨格ワークフロー、プロセスの各部分をキャプチャするアクション、ユーザーアクションを記録すること、及び各ステップについての詳細を含む包括的ワークフロー図を自動生成すること、Microsoft Word(登録商標)文書、XAMLファイルなどをプロセス定義文書(PDD)の形態で自動化するための所望のタスクを含み得る。いくつかの実施形態において、構築の準備が整ったワークフローが、デザイナアプリケーション(例えばUiPath Studio(商標))へ直接エクスポートされ得る。タスクキャプチャは、プロセスを説明する対象事項の専門家及び製造グレードの自動化を提供するセンターオブエクセレンス(CoE)のメンバー双方にとって、要求収集プロセスを簡素化させ得る。
自動化の構築は、デザイナアプリケーション(例えば、UiPath Studio(商標)、UiPath StudioX(商標)またはUiPath Web(商標))を介して達成され得る。例えば、PA開発施設150のRPA開発者は、多様なアプリケーション及び環境(例えば、ウェブ、モバイル、SAP(登録商標)及び仮想化デスクトップ)の自動化の構築及び試験のために、コンピューティングシステム152のRPAデザイナアプリケーション154を用い得る。API統合は、多様なアプリケーション、技術及びプラットフォームのために提供され得る。事前規定されたアクティビティ、ドラッグアンドドロップモデリング及びワークフローレコーダーは、自動化をより容易にさせ得、コーディングも最小になる。文書理解機能が、1つ以上のAI/MLモデル132を呼び出すデータ抽出及び解釈のために、ドラッグアンドドロップAIスキルを介して提供され得る。このような自動化は、任意の文書種類及びフォーマット(例えば、表、チェックボックス、署名及び手書き)を仮想的に処理し得る。有効化される際または例外が取り扱われる際、この情報は各AI/MLモデルの再訓練のために用いられ得、これにより、精度が経時的に向上する。
統合サービスは、開発者が例えばユーザーインターフェース(UI)自動化をAPI自動化とシームレスに組み合わせることを可能にさせ得る。APIを必要とするかまたはAPI及び非APIのアプリケーション及びシステム双方を横断する自動化が、構築され得る。事前構築されたRPA及びAIテンプレート及び解決法のためのリポジトリ(例えば、UiPath オブジェクトリポジトリ(商標))またはマーケットプレイス(例えば、UiPathマーケットプレイス(商標))が、開発者が広範な多様なプロセスをより迅速に自動化させることを可能にするために、提供され得る。よって、自動化の構築の際、ハイパー自動化システム100は、ユーザーインターフェース、開発環境、API統合、事前構築された及び/またはカスタム構築されたAI/MLモデル、開発テンプレート、統合開発環境(IDE)及び高度AI能力を提供し得る。いくつかの実施形態において、ハイパー自動化システム100は、ハイパー自動化システム100のための自動化を提供し得るRPAロボットの開発、展開、管理、構成、監視、デバッギング及びメンテナンスを可能する。
いくつかの実施形態において、ハイパー自動化システム100のコンポーネント(例えば、デザイナアプリケーション(単数または複数)及び/または外部規則エンジン)は、ハイパー自動化システム100によって提供される多様な機能の管理のためのガバナンスポリシーを管理及び施行するためのサポートを提供する。ガバナンスとは、組織にとって有害になり得るアクション(例えば、欧州連合の一般データ保護規則(GDPR)、米国の医療保険の携行性と責任に関する法律(HIPAA)、サードパーティアプリケーションの利用規約などの違反)をとる可能性のある自動化(例えば、RPAロボット)をユーザーが開発する事態を回避するために、組織がポリシーを設定する能力である。そのようなものが無い場合、開発者は、自身が自動化を行っている際にプライバシー法、利用規約などに違反する自動化を作成し得るため、いくつかの実施形態は、アクセス制御及びガバナンス制限をロボット及び/またはロボット設計アプリケーションレベルにおいて実行する。いくつかの実施形態において、これは、ポリシー、規制、プライバシー法及び/またはプライバシーポリシーに違反する様態でセキュリティ上の危険性または成果物を導入し得る未承認のソフトウェアライブラリへの依存から開発者を遠ざけることにより、より高レベルのセキュリティ及びコンプライアンスを自動化プロセス開発パイプラインへ提供し得る。米国非仮特許出願第16/924,499号を参照されたい。同文献の内容全体を参考のため援用する。
管理機能は、自動化の管理、展開及び最適化を組織にわたって提供し得る。いくつかの実施形態において、管理機能は、オーケストレーション、試験管理、AI機能及び/または識見を含み得る。ハイパー自動化システム100の管理機能は、サードパーティ解決法及び自動化アプリケーション及び/またはRPAロボットのためのアプリケーションとの統合ポイントとしても機能し得る。ハイパー自動化システム100の管理能力の例を非限定的に挙げると、RPAロボットのプロビジョニング、展開、構成、キューイング、監視、ロギング及び相互接続性などの促進がある。
コンダクターアプリケーション(例えば、UiPathオーケストレータ(商標))(いくつかの実施形態において、これは、UiPath自動化クラウド(商標)の一部として、オンプレミスで、VM中に、プライベートまたはパブリッククラウド中に、Linux(商標)VM中に、またはUiPath自動化スイート(商標)を介してクラウドネイティブの単一のコンテナスイートとして)提供され得る)は、RPAロボット展開のセキュリティの展開、監視、最適化、スケーリング及び確保のためのオーケストレーション能力を提供する。試験スイート(例えば、UiPath試験スイート(商標))は、展開された自動化の品質を監視するための試験管理を提供し得る。試験スイートは、試験計画及び実行、要件の充足及び欠陥トレーサビリティを促進させ得る。試験スイートは、包括的な試験報告を含み得る。
分析ソフトウェア(例えば、UiPath識見(商標))は、展開された自動化の性能を追跡し、測定し、管理し得る。分析ソフトウェアは、組織について自動化動作を特定の主要業績評価指標(KPI)及び戦略的成果と揃え得る。分析ソフトウェアは、人間のユーザーによる理解の促進のために、結果をダッシュボードフォーマットで提示し得る。
データサービス(例えば、UiPathデータサービス(商標))は、データベース140中に保存され得、例えばデータをドラッグアンドドロップ保存インターフェースにより単一の、スケーラブルなセキュアな場所内に移動させ得る。いくつかの実施形態は、シームレスなアクセス、エンタープライズグレードのセキュリティ及びデータ拡張性を確保しつつ、低レベルコードまたはノーコードのデータモデリング及び自動化への保存を提供し得る。AI機能は、自動化へのAI/MLモデルの取り入れを促進させるAIセンター(例えば、UiPath AI Center(商標))によって提供され得る。事前構築されたAI/MLモデル、モデルテンプレート及び多様な展開の選択肢は、データサイエンティストではない人にとってもこのような機能をアクセス可能にさせ得る。展開された自動化(例えば、RPAロボット)は、AIセンターからAI/MLモデル(例えば、AI/MLモデル132)を呼び出し得る。AI/MLモデルの性能は監視され得、人間によって検証されたデータ(例えば、データレビューセンター160によって提供されるもの)を用いて訓練及び向上され得る。人間のレビューワーは、ラベル付きデータをコンピューティングシステム154上のレビューアプリケーション152を介してコアハイパー自動化システム120へ提供し得る。例えば、人間のレビューワーは、AI/MLモデル132による予測が正確であるかまたはそうでは無い場合に修正を提供すると検証し得る。次に、この動的な入力は、AI/MLモデル132を保持するための訓練データとして保存され得、例えばデータベース(例えば、データベース140)中に保存され得る。次に、AIセンターは、新規バージョンのAI/MLモデルを訓練データを用いて訓練するための訓練ジョブをスケジュール及び実行し得る。正の例及び負の例双方が、AI/MLモデル132の保持のために保存及び利用され得る。1つ以上の実施形態によれば、データベース140は、生成されたアクションを(これらのアクションの編集と共に)を保存するセマンティックワークフローデータベースと、AI/MLモデル132の訓練材料として用いられるように生成されたワークフローとを示し得るかまたは含み得る。
従属機能は、所望のプロセス上におけるシームレスな協働のために人間及び自動化を1つのチームとして従属させ得る。いくつかの実施形態において、低レベルコードのアプリケーションは、APIを含まないブラウザータブ及びレガシーソフトウェアも(例えば、UiPath Apps(商標)を介して)接続させるように、構築され得る。アプリケーションは、例えばドラッグアンドドロップ制御の豊富なライブラリーを通じてウェブブラウザーを用いて迅速に作成され得る。アプリケーションは、単一の自動化または複数の自動化へ接続され得る。
アクションセンター(例えば、UiPathアクションセンター(商標))は、自動化から人間へのハンドオフプロセスまたはその逆方向のハンドオフプロセスに対し、簡潔かつ効率的なメカニズムを提供する。人間は、例えば承認または段階的拡大を提供し得、例外を設定し得る。次に、自動化は、所与のワークフローの自動機能を行い得る。
ローカルアシスタントが、ユーザーが自動化(例えば、UiPathアシスタント(商標))を起動する際に用いられるローンチパッドとして提供され得る。この機能は、オペレーティングシステムによって提供されるトレイ中に提供され得、例えば、ユーザーがRPAロボット及びRPAロボットによって動力提供されるアプリケーションとの相互作用を自身のコンピューティングシステム上において行うことを可能にし得る。インターフェースは、所与のユーザーについて承認された自動化をリスト化し得、ユーザーがこれらの自動化を実行させることを可能にさせ得る。これらは、自動化マーケットプレイスからの準備完了した自動化、自動化ハブ中の内部自動化ストアなどを含み得る。自動化は、実行される際、コンピューティングシステム上の他のプロセスと並行してローカルインスタンスとして実行され得るため、自動化によるアクションが行われている間、ユーザーはコンピューティングシステムを使用することができる。特定の実施形態において、ユーザーが自身の間もなく自動化されるプロセスをアシスタントローンチパッドから文書化することができるように、アシスタントはタスクキャプチャ機能と統合される。
チャットボット(例えば、UiPathチャットボット(商標))、ソーシャルメッセージングアプリケーション及び/または音声コマンドは、ユーザーが自動化を実行することを可能にさせ得る。これにより、顧客と相互作用するためまたは他のアクティビティを行うための、ユーザーが必要としている情報、ツール及びリソースへのアクセスが簡単になり得る。人々の間の会話は、他のプロセスと同様に、容易に自動化され得る。このようにしてキックオフされたトリガーRPAロボットは、動作(例えば、注文状況のチェック、CRM中へのデータ投稿など)を恐らくはプレインランゲージコマンドを用いて行い得る。
いくつかの実施形態において、自動化プログラムの任意の規模でのエンドツーエンド測定及び管理が、ハイパー自動化システム100によって提供され得る。上記により、自動化の性能を(例えば、UiPath識見(商標)を介して)理解するために分析が用いられ得る。利用可能な事業測定基準及び業務識見の任意の組み合わせを用いたデータモデリング及び分析が、多様な自動プロセスにおいて用いられ得る。カスタム設計されかつ事前構築されたダッシュボードは、所望の測定基準にわたってデータを可視化することを可能にし、新規の分析識見を発見することを可能にし、性能インジケーターを追跡することを可能にし、自動化のためにROIを発見することを可能にし、テレメトリー監視をユーザーコンピューティングシステム上において行うことを可能にし、エラー及びアノマリーを検出することを可能にし、自動化をデバッグすることを可能にする。自動化管理コンソール(例えば、UiPath自動化Ops(商標))が、自動化ライフサイクル全体において自動化を管理するために提供され得る。組織は、自動化の構築様態、ユーザーが自動化を用いてできる内容、ユーザーがアクセスすることが可能な自動化を管理し得る。
いくつかの実施形態において、ハイパー自動化システム100は、反復型プラットフォームを提供する。プロセスが発見され得、自動化が構築、試験及び展開され得、性能が測定され得、自動化の利用が容易にユーザーへ提供され得、フィードバックが入手され得、AI/MLモデルが訓練及び再訓練され得、プロセスそのものが反復され得る。これは、よりロバストかつ効果的な自動化スイートを促進させる。
図2は、1つ以上の実施形態によるRPAシステム200を示す構造図を示す。いくつかの実施形態において、RPAシステム200は、図1のハイパー自動化システム100の一部である。RPAシステム200は、開発者がワークフロー(例えば、本明細書中に記載のようなRPAワークフロー設計エンジン及び/またはセマンティック自動化ビルダー)を設計及び実行することを可能にするデザイナ210を含む。デザイナ210は、アプリケーション統合や、サードパーティアプリケーション、行政情報技術(IT)タスク及び事業ITプロセスの自動化のための解決法を提供し得る。デザイナ210は、事業プロセスのグラフィカル表示である自動化プロジェクトの開発を促進させ得る。簡単に述べると、デザイナ210は、ワークフロー及びロボットの(矢印211によって示されるような)開発及び展開を促進させる。いくつかの実施形態において、デザイナ210は、ユーザーのデスクトップ上において実行されるアプリケーション、VMにおいて遠隔実行されるアプリケーション、ウェブアプリケーションであり得る。
自動化プロジェクトは、ワークフロー中において開発されるカスタムセットのステップ(本明細書中上記によれば「アクティビティ」として規定されるもの)の間の実行順序及び関係の制御を開発者へ付与することにより、規則ベースのプロセスの自動化を可能にさせる。デザイナ210の実施形態の1つの商業的例として、UiPath Studio(商標)がある。各アクティビティは、アクション(例えば、ボタンのクリック、ファイル読み出し、ログパネルへの書き込みなど)を含み得る。いくつかの実施形態において、ワークフローは、入れ子式にしてもよいし、あるいは埋め込んでもよい。
いくつかの種類のワークフローの例を非限定的に挙げると、シーケンス、フローチャート、有限状態機械(FSM)及び/またはグローバル例外ハンドラーがある。シーケンスは、線形プロセスに特に適切であり得、1つのアクティビティから別のアクティビティへの流れをワークフローを乱すこと無く可能にする。フローチャートは、より複雑な事業論理により適切であり得、アクティビティの決定及び接続の統合を複数の分岐論理演算子を通じてより多様な様態で可能にする。FSMは、大規模ワークフローに特に適切であり得る。FSMは、自身の実行において有限数の状態を用い得、これらの状態は、ある条件(即ち、移行)またはアクティビティによってトリガーされる。グローバル例外ハンドラーは、実行エラーに遭遇した際及びデバッギングプロセスのためにワークフロー挙動を決定するのに特に適切であり得る。
デザイナ210においてワークフローが開発された後、事業プロセスの実行がコンダクター220によってオーケストレートされる。コンダクター220は、デザイナ210において開発されたワークフローを実行する1つ以上のロボット230をオーケストレートする。コンダクター220の実施形態の1つの商業的例として、UiPathオーケストレーター(商標)がある。コンダクター220は、環境内におけるリソースの作成、監視及び展開の管理を促進させる。コンダクター220は、サードパーティ解決法及びアプリケーションとの統合ポイントとして機能し得る。上記により、いくつかの実施形態において、コンダクター220は、図1のコアハイパー自動化システム120の一部であり得る。
コンダクター220は、ロボット230のフリートを管理し得、(矢印231によって示されるように)ロボット230を集中点から接続及び実行させる。管理され得るロボット230の種類を非限定的に挙げると、アテンディッドロボット232、アンアテンディッドロボット234、(アンアテンディッドロボット234と同様であるが、開発目的及び試験目的に用いられる)開発ロボット、及び(アテンディッドロボット232と同様であるが、開発目的及び試験目的に用いられる)非生産ロボットがある。アテンディッドロボット232は、ユーザーイベントによってトリガーされ、同一のコンピューティングシステム上において人間と共に作動する。アテンディッドロボット232は、集中型プロセス展開及びロギング媒体のためにコンダクター220と共に用いられ得る。アテンディッドロボット232は、人間のユーザーが多様なタスクを達成することを支援し得、ユーザーイベントによってトリガーされ得る。いくつかの実施形態において、プロセスは、この種のロボット上のコンダクター220から開始することができずかつ/またはロックされた画面下において実行することができない。特定の実施形態において、アテンディッドロボット232は、ロボットトレイのみからまたはコマンドプロンプトからのみから開始され得る。いくつかの実施形態において、アテンディッドロボット232は、人間の監督下において実行すべきである。
アンアテンディッドロボット234は、仮想環境においてアンアテンディッドで実行され、多数のプロセスを自動化させることができる。アンアテンディッドロボット234は、作業待ち行列のリモート実行、監視、スケジューリング及びサポート提供を担当し得る。いくつかの実施形態において、全種類のロボットのデバッギングは、デザイナ210において実行され得る。アテンディッドロボット及びアンアテンディッドロボット双方は、(破線の箱290によって示されるように)多様なシステム及びアプリケーション(例を非限定的に挙げると、メインフレーム、ウェブアプリケーション、VM、エンタープライズアプリケーションを自動化させ得る(例えば、SAP(登録商標)、SalesForce(登録商標)、Oracle(登録商標)などによって製造されたもの))、ならびにコンピューティングシステムアプリケーション(例えば、デスクトップアプリケーション及びラップトップアプリケーション、モバイルデバイスアプリケーション、ウエラブルコンピューターアプリケーションなど)。
コンダクター220は、(矢印232によって示されるように)多様な能力を有し得る(例を非限定的に挙げると、提供、展開、構成、待ち行列、監視、ロギング、及び/または相互接続性の提供)。プロビジョニングは、ロボット230とコンダクター220(例えば、ウェブアプリケーション)との間の接続の作成及びメンテナンスを含み得る。展開は、割りあてられたロボット230への実行のためのパッケージバージョンの正確な送達を確保することを含み得る。構成は、ロボット環境及びプロセス構成のメンテナンス及び送達を含み得る。待ち行列は、待ち行列の管理及び待ち行列アイテムの提供を含み得る。監視は、ロボット識別情報データを追跡すること及びユーザー許可を維持することを含み得る。ロギングは、データベース(例えば、構造化照会言語(SQL)またはNoSQLデータベース)及び/または別の保存機構(例えば、大型データセットの保存及び迅速問い合わせを行う能力を提供するElasticSearch(登録商標))へログを保存すること及びインデックス付与することを含み得る。コンダクター220は、サードパーティ解決法及び/またはアプリケーションの通信の集中点として機能することにより、相互接続性を提供し得る。
ロボット230は、デザイナ210中に組み込まれたワークフローを実行する実行エージェントである。ロボット(単数または複数)230のいくつかの実施形態の1つの商業的例として、UiPath Robot(商標)がある。いくつかの実施形態において、ロボット230は、Microsoft Windows(登録商標) Service Control Manager(SCM)による管理されたデフォルトのサービスをインストールする。その結果、このようなロボット230は、ローカルシステムアカウント下のインタラクティブWindows(登録商標)セッションを開くことができ、Windows(登録商標)サービスの権利を有し得る。
いくつかの実施形態において、ロボット230は、ユーザーモードにおいてインストールされ得る。このようなロボット230の場合、所与のロボット230がインストールされているユーザーと同じ権利をロボット230が有していることを意味する。この機能は、高密度(HD)ロボットにも利用可能であり得るため、各機械を最大限の可能性までフル活用することが保証される。いくつかの実施形態において、任意の種類のロボット230が、HD環境において構成され得る。
いくつかの実施形態において、ロボット230は、いくつかのコンポーネントに分割され、それぞれは、特定の自動化タスクの専用とされる。いくつかの実施形態において、ロボットコンポーネントを非限定的に挙げると、SCM管理のロボットサービス、ユーザーモードロボットサービス、エグゼキュータ、エージェント及びコマンドラインがある。SCM管理のロボットサービスは、Windows(登録商標)セッションを管理及び監視し、コンダクター220と実行ホスト(即ち、ロボット230が実行されるコンピューティングシステム)との間のプロキシとして機能する。これらのサービスは、ロボット230の資格情報によって信頼を受け、この資格情報を管理する。コンソールアプリケーションが、ローカルシステム下においてSCMによって起動される。
いくつかの実施形態において、ユーザーモードロボットサービスは、Windows(登録商標)セッションを管理及び監視し、コンダクター220と実行ホストとの間のプロキシとして機能する。ユーザーモードロボットサービスは、ロボット230の資格情報によって信頼を受け得、この資格情報を管理し得る。SCM管理のロボットサービスがインストールされていない場合、Windows(登録商標)アプリケーションは自動起動され得ない。
エグゼキュータは、Windows(登録商標)セッション下において所与のジョブを実行させ得る(即ち、ワークフローを実行し得る。エグゼキュータは、モニター1インチあたりのドット数(DPI)の設定を認識し得る。エージェントは、利用可能なジョブをシステムトレイウィンドウ内に表示するWindows(登録商標)プレゼンテーションファンデーション(WPF)アプリケーションであり得る。エージェントは、サービスのクライアントであり得る。エージェントは、ジョブの開始または停止ならびに設定の変更をリクエストし得る。コマンドラインは、サービスのクライアントである。コマンドラインは、ジョブ開始をリクエストし得、ジョブの出力を待機し得るコンソールアプリケーションである。
ロボット230のコンポーネントを上記のように分割すると、各コンポーネントが実行している内容を開発者、サポートユーザー及びコンピューティングシステムが実行、特定及び追跡することがより容易になる。特殊な挙動が、コンポーネント毎にこのようにして構成され得る(例えば、エグゼキュータ及びサービスに応じて異なるファイヤーウォール規則を設定すること)。いくつかの実施形態において、エグゼキュータは、モニター毎のDPI設定を常に認識し得る。その結果、ワークフローが、当該ワークフローが作成されたコンピューティングシステムの構成に関係無く任意のDPIにおいて実行され得る。いくつかの実施形態において、デザイナ210からのプロジェクトは、ブラウザのズームレベルからも独立し得る。いくつかの実施形態において、DPIを認識していないアプリケーションまたは認識していないものとして意図的にマーク付けされているアプリケーションについては、DPIはディセーブルされ得る。
本実施形態におけるRPAシステム200は、ハイパー自動化システムの一部である。開発者は、コアハイパー自動化システム240において(例えば、そのAIセンターの一部として)展開されたAI/MLモデルを利用するRPAロボットを構築及び試験するために、デザイナ210を用い得る。このようなRPAロボットは、AI/MLモデル(単数または複数)の実行のために入力を送信し得、AI/MLモデルからの出力をコアハイパー自動化システム240を介して受信し得る。
ロボット230のうち1つ以上は、上記したようにリスナーであり得る。これらのリスナーは、ユーザーが自身のコンピューティングシステムを使用しているときにユーザーが何をしてるのかについての情報をコアハイパー自動化システム240に提供し得る。次に、この情報は、コアハイパー自動化システムによってプロセスマイニング、タスクマイニング、タスクキャプチャなどのために用いられ得る。
ユーザーがRPAローカルロボットを起動することを可能にするために、アシスタント/チャットボット250がユーザーコンピューティングシステム上に設けられ得る。このアシスタントは、例えばシステムトレイ内に配置され得る。チャットボットは、ユーザーがチャットボット内でテキストを見ることができるように、ユーザーインターフェースを有し得る。あるいは、チャットボットは、ユーザーインターフェースを含んでいない場合もあり、バックグラウンドで実行し得、コンピューティングシステムのマイクロフォンを用いてユーザーのスピーチをリッスンする。
いくつかの実施形態において、データのラベル付けは、ロボットが実行しているコンピューティングシステムのユーザーによってまたはロボットから情報が提供される別のコンピューティングシステムによって行われ得る。例えば、VMユーザーのために画像上にCVを行うAI/MLモデルをロボットが呼び出したが、AI/MLモデルが画面上のボタンを正しく特定しない場合、ユーザーは、誤認されたかまたは特定されていないコンポーネントの周囲に矩形を描き得、テキストに対して正しい識別情報を付与し得る。この情報は、コアハイパー自動化システム240へ提供され得、その後、後で新規バージョンのAI/MLモデルの訓練に用いられ得る。
図3は、1つ以上の実施形態による展開されたRPAシステム300を示す構造図を示す。いくつかの実施形態において、RPAシステム300は、図2のRPAシステム200及び/または図1のハイパー自動化システム100の一部であり得る。展開されたRPAシステム300は、例えば異なるコンピューティングプロセスの自動化のためにエンタープライズレベル、ユーザーレベルまたはデバイスレベルの自動化解決法を提供する、クラウドベースのシステム、オンプレミスシステム、デスクトップベースのシステムであり得る。
クライアント側301、サーバー側302または双方が、任意の所望の数のコンピューティングシステムを本明細書中の1つ以上の実施形態の範囲から逸脱すること無く含み得る点に留意されたい。クライアント側301において、ロボットアプリケーション310は、エグゼキュータ312と、エージェント314と、デザイナ316とを含む。しかし、いくつかの実施形態において、デザイナ316は、エグゼキュータ312及びエージェント314と同じコンピューティングシステム上において実行していない場合がある。エグゼキュータ312は、実行プロセスである。図3に示すように、いくつかの事業プロジェクトが同時に実行され得る。エージェント314(例えば、Windows(登録商標)サービス)は、本実施形態において全エグゼキュータ312のための単一の接触ポイントである。本実施形態において、全てのメッセージは、コンダクター340にログインする。コンダクター340は、これらをデータベースサーバー355、AI/MLサーバー360、インデクササーバー370またはこれらの任意の組み合わせを介してさらに処理する。図2について上記したように、エグゼキュータ312は、ロボットコンポーネントであり得る。
いくつかの実施形態において、ロボットは、機械名とユーザー名との間の関連を示す。ロボットは、複数のエグゼキュータを同時に管理し得る。同時に実行する複数のインタラクティブセッションをサポートするコンピューティングシステム(例えば、Windows(登録商標)サーバー2012)上において、複数のロボットが同時に実行している場合があり、それぞれは独自のユーザー名を用いて別個のWindows(登録商標)セッション内にある。これは、上記のHDロボットとして呼ばれる。
エージェント314は、ロボットの状態を送信することも担当し(例えば、ロボットが未だ機能していることを示す「ハートビート」メッセージを定期的に送信し)、必要なバージョンのパッケージを実行のためにダウンロードする。いくつかの実施形態において、エージェント314とコンダクター340との間の通信は、常にエージェント314によって開始される。通知シナリオにおいて、エージェント314は、コンダクター330がコマンドをロボットへ送る際にコンダクター330によって用いられるウェブソケットチャンネルを開き得る(例えば、開始、停止など)。
リスナー330は、アテンディッドコンピューティングシステム及び/またはリスナー330が常駐しているアンアテンディッドコンピューティングシステムの動作とのユーザー相互作用に関連するデータを監視及び記録する。リスナー330は、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、RPAロボット、オペレーティングシステムの一部、各コンピューティングシステムのためのダウンロード可能なアプリケーション、または任意の他のソフトウェア及び/またはハードウェアであり得る。実際、いくつかの実施形態において、リスナーの論理は、物理的ハードウェアを介して部分的にまたは完全に実行される。
サーバー側302において、プレゼンテーション層333、サービス層334及び持続的層336ならびにコンダクター340が設けられる。プレゼンテーション層333は、ウェブアプリケーション342、オープンデータプロトコル(OData)Representative State Transfer(REST)アプリケーションプログラミングインターフェース(API)エンドポイント344ならびに通知及び監視346を含み得る。サービス層334は、API実行/事業論理348を含み得る。持続的層336は、データベースサーバー355、AI/MLサーバー360及びインデクササーバー370を含み得る。例えば、コンダクター340は、ウェブアプリケーション342、OData REST APIエンドポイント344、通知及び監視346、ならびにAPI実行/事業論理348を含む。いくつかの実施形態において、ユーザーがコンダクター340インターフェースにおいて(例えば、ブラウザ320を介して)行うほとんどのアクションは、多様なAPIを呼び出すことによって行われる。このようなアクションを非限定的に挙げると、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、ロボット上においてジョブを開始すること、待ち行列中においてデータを追加/削除すること、アンアテンディッドで実行するジョブをスケジューリングすることなどがある。ウェブアプリケーション342は、サーバープラットフォームのビジュアル層であり得る。本実施形態において、ウェブアプリケーション342は、ハイパーテキストマークアップ言語(HTML)及びJavaScript(JS)を使用する。しかし、任意の所望のマークアップ言語、スクリプト言語または任意の他のフォーマットが、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く用いられ得る。本実施形態において、ユーザーは、コンダクター340を制御するための多様なアクションを行うために、ウェブアプリケーション342からのウェブページとブラウザ320を介して相互作用する。例えば、ユーザーは、ロボットグループを作成し得、パッケージをロボットへ割り当て得、ロボットについて及び/またはプロセスについてログを分析し得、ロボットを開始及び停止し得る。
ウェブアプリケーション342に加えて、コンダクター340は、ODataREST APIエンドポイント344を露出させるサービス層334も含む。しかし、他のエンドポイントが、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く含まれ得る。REST APIは、ウェブアプリケーション342及びエージェント314双方によって消費される。本実施形態において、エージェント314は、クライアントコンピューター上の1つ以上のロボットスーパーバイザーである。
本実施形態において、REST APIは、構成、ロギング、監視、及び(少なくとも矢印349によって示される)待ち行列機能を含む。いくつかの実施形態において、構成エンドポイントは、アプリケーションユーザー、許可、ロボット、アセット、リリース及び環境の定義及び構成のために用いられ得る。ロギングRESTエンドポイントは、異なる情報(例えば、エラー、ロボットによって送られた明示的メッセージ、及び他の環境特有の情報)のログをとるために用いられ得る。展開RESTエンドポイントは、ジョブ開始コマンドがコンダクター340において用いられる場合に実行されるべきパッケージバージョンについてロボットが問い合わせる際にロボットによって用いられ得る。待ち行列RESTエンドポイントは、待ち行列及び待ち行列アイテム管理(例えば、待ち行列へデータを追加すること、待ち行列からトランザクションを入手すること、トランザクションのステータスを設定すること)を担当し得る。
RESTエンドポイントを監視することは、ウェブアプリケーション342及びエージェント314を監視し得る。通知及び監視API346は、エージェント314を登録することと、構成設定をエージェント314へ送達させることと、サーバー及びエージェント314から通知を層に/受信することとのために用いられるRESTエンドポイントであり得る。いくつかの実施形態において、通知及び監視API346は、WebSocket通信も用い得る。図3に示すように、本明細書中に記載の1つ以上のアクティビティ/アクションは、矢印350及び351によって示される。
いくつかの実施形態において、サービス層334中のAPIは、例えばコンダクター340及び全体的ハイパー自動化システムがオンプレミス展開種類またはクラウドベースの展開種類を有するかに基づいて、適切なAPIアクセス経路の構成を通じてアクセスされ得る。コンダクター340のAPIは、コンダクター340中に登録された多様なエンティティについての問い合わせ統計のためのカスタム方法を提供し得る。いくつかの実施形態において、各論理リソースは、ODataエンティティであり得る。このようなエンティティにおいて、ロボット、プロセス、待ち行列などのコンポーネントは、特性、関係及び動作を有し得る。いくつかの実施形態において、コンダクター340のAPIは、ウェブアプリケーション342及び/またはエージェント314によって2つの様態で消費され得る(即ち、コンダクター340からAPIアクセス情報を入手することまたはOAuth流れの使用のために外部アプリケーションを登録すること)。
本実施形態において、持続的層336は、サーバーのトリオを含む(即ち、データベースサーバー355(例えば、SQLサーバー)、AI/MLサーバー360(例えば、AI/MLモデル提供サービスを提供するサーバー(例えば、AIセンター機能))及びインデクササーバー370)。本実施形態において、データベースサーバー355は、ロボット、ロボットグループ、関連付けられたプロセス、ユーザー、役割、スケジュールの構成などを保存する。いくつかの実施形態において、この情報は、ウェブアプリケーション342を通じて管理される。データベースサーバー355は、待ち行列及び待ち行列アイテムを管理し得る。いくつかの実施形態において、データベースサーバー355は、ロボットによってログされたメッセージを(インデクササーバー370に加えてまたはインデクササーバー370の代わりに)保存し得る。データベースサーバー355は、例えばクライアント側301にインストールされたリスナー330から受信されたプロセスマイニング、タスクマイニング及び/またはタスクキャプチャ関連データも保存し得る。リスナー330とデータベース355との間に矢印は図示されていないが、いくつかの実施形態において、リスナー330はデータベース355と通信することができ、その逆も可能であることが理解されるべきである。このデータは、PDD、画像、XAMLファイルなどの形式で保存され得る。リスナー330は、リスナー330が常駐している各コンピューティングシステム上のユーザーアクション、プロセス、タスク及び性能測定基準をインターセプトするように構成され得る。例えば、リスナー330は、その各コンピューティングシステム上のユーザーアクション(例えば、クリック、タイプ入力された文字、場所、アプリケーション、アクティブ要素、時間など)を記録し得、その後、これらをデータベースサーバー355中への提供及び保存のための適切なフォーマットへ変換し得る。
AI/MLサーバー360は、自動化へのAI/MLモデルの取り入れを促進させる。事前構築されたAI/MLモデル、モデルテンプレート及び多様な展開選択肢は、データサイエンティストではない者にとってもこのような機能アクセスを可能にし得る。展開された自動化(例えば、RPAロボット)は、AI/MLモデルをAI/MLサーバー360から呼び出し得る。AI/MLモデルの性能が監視され得、人間によって検証されたデータを用いて訓練された及び向上され得る。AI/MLサーバー360は、訓練ジョブをスケジュール及び実行して、新規バージョンのAI/MLモデルを訓練し得る。
AI/MLサーバー360は、開発時期において多様なMLスキルをユーザーのために構成するためのAI/MLモデル及びMLパッケージに関連するデータを保存し得る。MLスキルは、本明細書中用いられるように、プロセスのために事前構築されかつ訓練されたMLモデルであり、例えば自動化によって用いられ得る。AI/MLサーバー460は、多様なAI/ML能力についての文書理解技術及び枠組み、アルゴリズムならびにソフトウェアパッケージに関するデータも保存し得る(例を非限定的に挙げると、意図分析、自然言語処理(NLP)、話し言葉分析、異なる種類のAI/MLモデルなど)。
インデクササーバー370は、いくつかの実施形態において任意選択的なものであり、ロボットによってログされた情報を保存し、インデックス付与する。特定の実施形態において、インデクササーバー370は、構成設定を通じてディセーブルされ得る。いくつかの実施形態において、インデクササーバー370は、オープンソースプロジェクトのフルテキストサーチエンジンであるElasticSearch(登録商標)を用いる。ロボットによってログされたメッセージ(例えば、ログメッセージまたは行書き込みなどのアクティビティを用いたもの)は、ロギングRESTエンドポイント(単数または複数)を通じてインデクササーバー370へ送られ得、インデクササーバー370において将来の利用のためにインデクス付与される。
図4は、1つ以上の実施形態によるデザイナ410、アクティビティ420、430、440、450、ドライバー460、API470及びAI/MLモデル480間の関係を示す構造図を示す。本明細書中に記載のように、開発者は、ロボットによって実行されるワークフローを開発するためにデザイナ410によって用いられる。いくつかの実施形態において、多様な種類のアクティビティが開発者へ表示され得る。デザイナ410は、ユーザーのコンピューティングシステムに対してローカルであってもよいし、あるいはリモートであってもよい(例えば、VMまたはリモートウェブサーバーと相互作用するローカルウェブブラウザーを介してアクセスされ得る)。ワークフローは、ユーザーが規定したアクティビティ420、API駆動型アクティビティ430、AI/MLアクティビティ440及び/または及びUI自動化アクティビティ450を含み得る。一例として(点線によって示すように)、ユーザーが規定したアクティビティ420及びAPI駆動型アクティビティ440は、自身のAPIを介してアプリケーションと相互作用する。その結果、いくつかの実施形態において、ユーザーが規定したアクティビティ420及び/またはAI/MLアクティビティ440は、ロボットが動作しているコンピューティングシステムに対してローカル配置されかつ/またはリモート配置され得る1つ以上のAI/MLモデル480を呼び出し得る。
いくつかの実施形態は、画像中の非テキスト視覚コンポーネント(本明細書中、CVと呼ばれる)を特定することができる。CVは、AI/MLモデル(単数または複数)480によって少なくとも部分的に行われ得る。このようなコンポーネントに関連するいくつかのCVアクティビティを非限定的に挙げると、セグメント化されたラベルデータからテキストをOCRを用いて抽出すること、ファジーテキストマッチング、セグメント化されたラベルデータをMLを用いてクロッピングすること、ラベルデータ中の抽出されたテキストを基礎となる真正データと比較することなどがある。いくつかの実施形態において、ユーザーが規定したアクティビティ420において実行され得る数百または数千のアクティビティがあり得る。しかし、任意の数及び/または種類のアクティビティが、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く用いられ得る。
UI自動化アクティビティ450は、より低レベルのコードで書かれかつ画面との相互作用を促進させる特別なより低レベルのアクティビティのサブセットである。UI自動化アクティビティ450は、ロボットが所望のソフトウェアと相互作用することを可能にするドライバー460を介して、これらの相互作用を促進させる。例えば、ドライバー460は、オペレーティングシステム(OS)ドライバー462、ブラウザドライバー464、VMドライバー466、エンタープライズアプリケーションドライバー468などを含み得る。いくつかの実施形態において、1つ以上のAI/MLモデル480が、コンピューティングシステムとの相互作用を行うためにUI自動化アクティビティ450によって用いられ得る。特定の実施形態において、AI/MLモデル480は、ドライバー460を増加させ得るかまたは完全にドライバー460と代替し得る。実際、特定の実施形態において、ドライバー460は含まれない。
ドライバー460は、OSと低レベルで相互作用して、OSドライバー462を介してフックを探索したり、鍵を監視したりなどし得る。ドライバー460は、Chrome(登録商標)、IE(登録商標)、Citrix(登録商標)、SAP(登録商標)などとの統合を促進させ得る。例えば、「クリック」アクティビティは、これらの異なるアプリケーションにおいてドライバー460を介して同じ役割を行う。
図5は、1つ以上の実施形態による、コントローラーを実行したRPAによる事前承認されたアクセスを提供するように構成されたコンピューティングシステム500を示す構造図を示す。1つ以上の実施形態によれば、RPAは識別情報を有するロボットまたは機械であるため、作成されたジョブが作成されると、当該ジョブは上記識別情報に基づいてRPAに割り当てられる。即ち、コントローラーはRPAについての情報を知っているため、RPAに対してコントローラーからジョブが割り当てられる。次に、コントローラーは(時には識別情報サービスと共に)RPAを確認して、RPAが正しい識別情報を有しているか、RPAに対して特定のジョブが割り当てられたかを確認する(例えば、コントローラー及び識別情報サービスそれぞれが構成を確認する)。例えば、識別情報サービスは、コントローラーについて事前承認された権利を確認し得る。この権利は、1組の任意の範囲について任意のユーザー識別情報についてトークンを要求することを含む。次に、コントローラーは、ジョブについて事前承認された権利を確認し得る(例えば、ユーザーアカウントが対応する構成を示す)。これらの場合において、コントローラー及び/またはRPAがユーザー識別情報に対応するユーザーに扮することができるように、事前承認がユーザー識別情報に対して行われる。事前承認された権利を確認することは、構成が正しく設定されていることを確認すること、トークンリクエストを決定すること(例えば、いくつかの場合において、ジョブを実行する必要がある場合において、コントローラーはジョブを見て、ジョブに必要なトークンを決定する。次に、コントローラーは、識別情報サービスに進み、ジョブについて事前承認されたトークンを入手する)を含む。
いくつかの実施形態において、コンピューティングシステム500は、本明細書中に図示及び/または記載のコンピューティングシステムのうち1つ以上であり得る。特定の実施形態において、コンピューティングシステム500は、例えば図1及び図2に示すハイパー自動化システムの一部であり得る。コンピューティングシステム500は、バス505または情報を通信する他の通信機構、及び処理情報のためにバス505へ連結されたプロセッサ(単数または複数)510を含む。プロセッサ(単数または複数)510は、任意の種類の汎用または特定目的用のプロセッサであり得る(例えば、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックスプロセッシングユニット(GPU)、その複数のインスタンス及び/またはこれらの任意の組み合わせ)。プロセッサ(単数または複数)510は、複数の処理コアも有し得、コアのうち少なくともいくつかは、特定の機能を行うように構成され得る。いくつかの実施形態において、多並列処理が用いられ得る。特定の実施形態において、プロセッサ(単数または複数)510のうち少なくとも1つが、生物ニューロンを模倣する処理要素を含むニューロモルフィック回路であり得る。いくつかの実施形態において、ニューロモルフィック回路は、フォンノイマンコンピューティングアーキテクチャの典型的なコンポーネントを必要としない場合がある。
コンピューティングシステム500は、プロセッサ(単数または複数)510によって実行されるべき情報及び命令を保存するメモリ515をさらに含む。メモリ515は、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、フラッシュメモリ、キャッシュ、静的記憶装置(例えば、磁気ディスクまたは光学ディスク)あるいは任意の他の種類の非一時的なコンピューターにより読み出し可能な媒体またはこれらの組み合わせの任意の組み合わせを含み得る。非一時的なコンピューターにより読み出し可能な媒体は、プロセッサ(単数または複数)510によるアクセスが可能な任意の利用可能な媒体であり得、揮発性媒体、不揮発性媒体または双方を含み得る。媒体は、取り外し可能であってもよいし、取り外し不可能であってもよいし、あるいはどちらも可能であってもよい。
さらに、コンピューティングシステム500は、無線及び/または有線の接続を介して通信ネットワークへのアクセスを提供するための通信デバイス520(例えば、トランシーバ)を含む。いくつかの実施形態において、通信デバイス520は、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、周波数分割多重アクセス(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、Home Node-B(HnB)、Bluetooth、無線周波数認識装置(RFID)、赤外線データ協会(IrDA)、近距離無線通信(NFC)、第5世代(5G)新規無線(NR)、これらの任意の組み合わせ、及び/または任意の他の現在の既存のまたは将来実行される通信基準及び/またはプロトコルを用いるように構成され得る。いくつかの実施形態において、通信デバイス520は、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、単数の、整列された、パネル、位相、スイッチ型、ビーム形成、ビームステアリング、これらの組み合わせの1つ以上のアンテナならびにあるいは任意の他のアンテナ構成を含み得る。
プロセッサ(単数または複数)510は、バス505を介してディスプレイ525へさらに連結され得る(例えば、プラズマディスプレイ、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、電界放射ディスプレイ(FED)、有機発光ダイオード(OLED)ディスプレイ、フレキシブルOLEDディスプレイ、フレキシブル基板ディスプレイ、プロジェクションディスプレイ、4Kディスプレイ、高細精度ディスプレイ、Retina(登録商標)ディスプレイ、インプレーンスイッチング(IPS)ディスプレイまたはユーザーへ情報を表示する任意の他の適切なディスプレイ)。ディスプレイ525は、抵抗性、容量性、弾性表面波(SAW)容量性、赤外線、光学イメージング、分散信号技術、音響パルス認識、フラストレーション内部全反射などを用いて、タッチ(触覚)ディスプレイ、三次元(3D)タッチディスプレイ、多入力タッチディスプレイ、マルチタッチディスプレイなどとして構成され得る。任意の適切なディスプレイデバイス及び触覚I/Oが、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、用いられ得る。
キーボード530及びカーソル制御デバイス535(例えば、コンピューターマウス、タッチパッド)が、ユーザーがコンピューティングシステム500とのインターフェースを持つことを可能にするように、さらにバス505へ連結される。しかし、特定の実施形態において、物理的キーボード及びマウスが存在しない場合があり得、ユーザーは、ディスプレイ525及び/またはタッチパッド(図示せず)のみを通じてデバイスと相互作用し得る。任意の種類及び組み合わせの入力デバイスが、設計選択事項として用いられ得る。特定の実施形態において、物理的入力デバイス及び/またはディスプレイが存在しない。例えば、ユーザーは、自身が通信している別のコンピューティングシステムを介してコンピューティングシステム500と遠隔的に相互作用してもよし、あるいはコンピューティングシステム500が自律的に動作してもよい。
メモリ515は、プロセッサ(単数または複数)510によって実行された場合に機能を提供するソフトウェアモジュールを保存する。モジュールは、コンピューティングシステム500のためのオペレーティングシステム540を含む。これらのモジュールは、本明細書中に記載のプロセスまたはその派生物を全体的にまたは部分的に行うように構成されたモジュール545(例えば、コントローラーを実行したRPAによる事前承認されたアクセス)をさらに含む。コンピューティングシステム500は、さらなる機能を含む1つ以上のさらなる機能モジュール550を含み得る。
当業者は、「システム」は、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、サーバー、組込コンピューティングシステム、パーソナルコンピューター、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングシステムまたは任意の他の適切なコンピューティングデバイス、あるいはデバイスの組み合わせとして具現化され得ることを理解する。上記機能を「システム」によって行われるものとして提示することは、本明細書中の実施形態の範囲を制限することをいかようにも意図しておらず、多くの実施形態の一例を提供することを意図している。実際、本明細書中に開示される方法、システム及び装置は、クラウドコンピューティングシステムを含むコンピューティング技術と一致する局所型及び分散型として実行され得る。コンピューティングシステムは、ローカルエリアネットワーク(LAN)、モバイル通信ネットワーク、衛星通信ネットワーク、インターネット、パブリッククラウドまたはプライベートクラウド、ハイブリッドクラウド、サーバーファーム、これらの任意の組み合わせなどの一部であり得るか、または、他の場合にこれらによるアクセスが可能であり得る。任意の局所型または分散型アーキテクチャが、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く用いられ得る。
本明細書中に記載のシステム特徴のうちいくつかが、その実行独立性をより詳細に強調するためにモジュールとして提示されてきた点に留意されたい。例えば、モジュールは、カスタム型の超大規模集積(VLSI)回路またはゲートアレイ、市販の半導体(例えば、論理チップ、トランジスターまたは他の個別コンポーネント)を含むハードウェア回路として実行され得る。モジュールは、プログラマブルハードウェアデバイス(例えば、フィールドプログラマブルゲートアレイ、プログラマブルアレイ論理、プログラマブル論理デバイス、グラフィックスプロセッシングユニットなど)においても実行され得る。
モジュールは、多様な種類のプロセッサによる実行のためにソフトウェアにおいて少なくとも部分的に実行してもよい。実行可能コードの特定された単位は、例えば、オブジェクト、手順または関数として組織され得るコンピューター命令の1つ以上の物理ブロックまたは論理ブロックであり得る。それにも関わらず、特定されたモジュールの実行可能ファイルは、物理的に共に配置する必要は無いが、異なる場所に保存された異種の命令を含み得る。これらの異種の命令は、共に論理的に結合されると、モジュールを含み、モジュールの明示された目的を達成する。さらに、モジュールは、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、コンピューターにより読み出し可能な媒体(これは、例えば、ハードディスクドライブ、フラッシュデバイス、RAM、テープ及び/またはデータの保存に用いられる任意の他のこのような非一時的コンピューターにより読み出し可能な媒体であり得る)上に保存され得る。
実際、実行可能コードのモジュールは、単一の命令または多数の命令であり得、さらにはいくつかの異なるコードセグメントにわたって、異なるプログラム間においてかついくつかのメモリデバイスにわたって分散させてもよい。同様に、動作データは、モジュール内において特定及び例示され得、任意の適切な形態で具現化され得、任意の適切な種類のデータ構造内に編成化され得る。動作データは、単一のデータセットとして収集してもよいし、あるいは、異なる記憶装置にわたるものを含む異なる場所にわたって分散させてもよく、単にシステムまたはネットワーク上の電子信号として少なくとも部分的に存在し得る。
多様な種類のAI/MLモデルが、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、訓練され得、展開され得る。例えば、図6は、1つ以上の実施形態により画像内のグラフィック要素を認識するように訓練されたニューラルネットワーク600の例を示す。ここで、ニューラルネットワーク600は、(縦列620によって示されるような)入力層のIに対する入力「ニューロン」1についての入力として、1920×1080画面のスクリーンショット画像の(縦列610によって示されるような)画像を受信する。この場合、Iは2,073,600であり、これは、スクリーンショット画像内の合計画素数である。
ニューラルネットワーク600は、(縦列630及び640によって示されるような)複数の隠れ層も含む。DLNN及び浅層学習ニューラルネットワーク(SLNN)は通常は複数の層を有するが、場合によってはSLNNは1つまたは2つの層のみを有する場合もあり、通常はDLNNよりも少数である。典型的には、ニューラルネットワークアーキテクチャは、ニューラルネットワーク600と同様に、入力層と、複数の中間層(例えば、隠れ層)と、(縦列650によって示されるような)出力層とを含む。
DLNNは、多数の層(例えば、10、50、200)を有することが多く、後続層は、より複雑な一般的機能の計算のために、典型的には前の層からのフィーチャを再利用する。一方、専門家フィーチャが生データサンプルから事前に作成されているため、SLNNは、数個の層のみを有することが多く、訓練も比較的高速である傾向がある。しかし、フィーチャ抽出には手間がかかる。他方、DLNNは、通常は専門家フィーチャは不要であり、訓練にはより長時間を要し、より多数の層を有する傾向がある。
どちらのアプローチにおいても、これらの層は、訓練セットに対して同時に訓練され、通常は、孤立した交差検証セットへのオーバーフィッティングをチェックする。どちらの技術においても優れた結果が得られ得、双方のアプローチに対して相当の熱意がある。個々の層の最適なサイズ、形状及び数量は、各ニューラルネットワークが対処する問題によって異なる。
図6に戻って、入力層として設けられた画素は、隠れ層1のJニューロンへの入力として送られる。本例においては全画素を各ニューロンへ送っているが、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、個別にまたは組み合わせて用いられ得る多様なアーキテクチャが可能である(例を非限定的に挙げると、フィードフォワードネットワーク、ラジアル基底ネットワーク、ディープフィードフォワードネットワーク、ディープ畳み込み逆グラフィックスネットワーク、畳み込みニューラルネットワーク、リカレントニューラルネットワーク、人工ニューラルネットワーク、長・短期記憶ネットワーク、ゲート付き回帰型ユニットネットワーク、生成敵対的ネットワーク、液体状態機械、オートエンコーダ、変分オートエンコーダ、ノイズ除去オートエンコーダ、スパースオートエンコーダ、エクストリーム学習機械、エコー状態ネットワーク、マルコフ鎖、ホップフィールドネットワーク、ボルツマン機械、制限付きボルツマン機械、ディープ残留ネットワーク、コホネンネットワーク、深層信念ネットワーク、深層畳み込みネットワーク、サポートベクトル機械、ニューラルターニング機械、または任意の他の適切な種類または組み合わせのニューラルネットワーク)。
隠れ層2(630)は、隠れ層1(620)から入力を受信し、隠れ層3は、隠れ層2(630)から入力を受信するといった具合に、(楕円655によって示されるように)最後の隠れ層が出力層のための出力を入力として提供するまで全ての隠れ層について行われる。ニューロンI、J、K及びLの数は必ずしも等しくないため、任意の所望の数の層が、本明細書中の1つ以上の実施形態の範囲から逸脱すること無くニューラルネットワーク600の所与の層に対して用いられ得る点に留意されたい。実際、特定の実施形態において、所与の層内のニューロンの種類は、全てが同一では無い場合がある。
ニューラルネットワーク600は、画像内に見受けられると思われるグラフィック要素に対して信頼度スコアを割りあてるように、訓練される。いくつかの実施形態において、許容できないほど低い可能性とのマッチを低減させるために、信頼閾値を満たすかまたは超える信頼度スコアを有する結果のみが提供され得る。例えば、信頼閾値が80%である場合、信頼度スコアがこの量を超える出力が用いられ得、残りは無視され得る。この場合、出力層は、(出力661及び662によって示されるような)2つのテキストフィールド、(出力663によって示されるような)テキストラベル、及び(出力665によって示されるような)提出ボタンが見つかったことを示す。ニューラルネットワーク600は、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く、これらの要素について場所、寸法、画像及び/または信頼度スコアを提供し得る、これは、RPAロボットまたは所与の目的のためにこの出力を用いる別のプロセスによって後に用いられ得る
ニューラルネットワークは、信頼度スコアを有することが多い確率論的構造体である点に留意されたい。これは、類似の入力が訓練時に正しく特定された頻度に基づいてAI/MLモデルによって学習されたスコアであり得る。例えば、テキストフィールドは、矩形形状及び白色バックグラウンドを有することが多い。ニューラルネットワークは、これらの特性を高信頼度と共に有するグラフィック要素を特定することを学習し得る。いくつかの一般的種類の信頼度スコアは、0~1の十進数(これは、信頼度パーセンテージとして解釈され得る)、負の00~正の00の間の数、または表現の集合(例えば、「低」、「中」及び「高」)を含む。より正確な信頼度スコアを入手するために、多様な後処理較正技術も用いられ得る(例えば、温度スケーリング、バッチ正規化、荷重減衰、負の対数尤度(NLL)など)。
ニューラルネットワーク中の「ニューロン」は、典型的には生物ニューロンの機能に基づいた数学関数である。ニューロンは、重み付き入力を受け取り、総和と、次の層へ出力を送るかを規定する活性化関数とを有する。この活性化関数は、非線形の閾値活性関数であり得、値が閾値を下回る場合は何も発生しないが、閾値を超えるとこの関数は線形に反応する(即ち、正規化線形ユニット(ReLU)の非線形性)。実際のニューロンはほぼ同様の活性関数を有し得るため、総和関数及びReLU関数は深層学習において用いられる。線形変換を介して、情報が減算、加算などされ得る。本質的には、ニューロンは、基礎となる数学関数によって規定されるような出力を次の層へ送るゲーティング機能として機能する。いくつかの実施形態において、少なくともいくつかのニューロンに対して、異なる関数が用いられ得る。
この場合、ニューロン700は、単一層のパーセプトロンである。しかし、任意の適切な種類のニューロンまたは複数種類のニューロンの組み合わせが、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く用いられ得る。いくつかの実施形態において、活性化関数の重み及び/または出力値(単数または複数)の数値範囲は、本明細書中の1つ以上の実施形態の範囲から逸脱すること無く異なり得る点にも留意されたい。
目標または「報酬機能」が往々にして用いられる(例えば、画像中のグラフィック要素の識別情報が成功した場合のため)。報酬機能は、中間移行及びステップを探索して、状態空間の探索及び目標(例えば、グラフィック要素の成功する識別情報、RPAワークフローのためのアクティビティの次のシーケンスの成功する識別情報)の達成のための試行を誘導するために、短期報酬及び長期報酬双方を用いる。
訓練時において、多様なラベル付きデータ(この場合、画像)は、ニューラルネットワーク600を通じて送られる。成功する識別情報は、ニューロンへの入力に対する重みを強くする一方、成功しない識別情報は、この重みを弱くする。少しだけ誤っている予測に対する罰則を非常に誤っている予測の場合よりもずっと軽くするために、コスト関数(例えば、平均二乗誤差(MSE)または勾配降下)が用いられ得る。AI/MLモデルの性能が一定回数の訓練反復後に向上しない場合、データサイエンティストは、例えば、報酬機能を修正し得、特定されていないグラフィック要素の表示を提供し得、誤認されたグラフィック要素の修正を提供し得る。
逆方向伝搬は、フィードフォワードニューラルネットワーク内のシナプス重みを最適化する技術である。逆方向伝搬は、ニューラルネットワークの隠れ層の「フードを開ける」ために用いられ得、これにより、各ノードが負う損失の大きさを確認し、その後当該ノードへより高いエラー率及びより低い重みを付与することにより上記損失を最小化させるように上記重みを更新することならびにその逆を行う。換言すれば、逆方向伝搬は、データサイエンティストが実際の出力と所望の出力との間の差を最小化させるように上記重みを繰り返し調節することを可能にする。
逆方向伝搬アルゴリズムは、最適化理論において数学的に発見される。教師付き学習において、出力が既知である訓練データは、ニューラルネットワークを通じて送られ、既知のターゲット出力からのコスト関数と共にエラーが計算された結果、逆方向伝搬におけるエラーが得られる。エラーは出力において計算され、このエラーは、エラーを最小化させるネットワーク重みのための修正に変換される。
AI/MLモデルは、良好な精度レベル(例えば、検出についてF2またはF4の閾値及びおよそ2,000個のエポックを用いて97%以上)に到達するまで、複数のエポックにわたって訓練され得る。いくつかの実施形態において、この精度レベルは、本明細書中の1つ以上の実施形態の範囲から逸脱すること無くF1スコア、F2スコア、F4スコアまたは任意の他の適切な技術を用いて決定され得る。訓練データ上で訓練された後、AI/MLモデルは、AI/MLモデルが以前遭遇したことの無い1組の評価データについて試験され得る。これにより、訓練データ中のグラフィック要素は良好に特定するが、他の画像までは一般化しないように、AI/MLモデルを「オーバーフィット」させることが確実に無いことが支援される。
いくつかの実施形態において、AI/MLモデルが達成可能な精度レベルが不明である場合がある。そのため、評価データの評価時にAI/MLモデルの精度が低下し始めた場合(即ち、モデルは訓練データ上では良好に機能するものの、評価データ上ではそれほど機能しなくなり始めた場合)、AI/MLモデルは、訓練データ上の訓練のより多数のエポック(及び/または新規訓練データ)を通過し得る。いくつかの実施形態において、AI/MLモデルは、精度が特定のレベルに到達した場合または訓練されたAI/MLモデルの精度が既存の展開されたAI/MLモデルを上回る場合にのみ、展開される。
特定の実施形態において、訓練されたAI/MLモデルの集合が、タスクの達成のために用いられ得る(例えば、各種の対象グラフィック要素のためにAI/MLモデルを用いること、OCRの実施のためにAI/MLモデルを用いること、グラフィック要素間の近接関係を認識するためにさらに別のAI/MLモデルを展開すること、その他のAI/MLモデルからの出力に基づいてRPAワークフローを生成するためにさらに別のAI/MLモデルを用いること)。これは、例えばAI/MLモデルがセマンティック自動化を可能にすることを集合的に可能にし得る。
いくつかの実施形態は、最先端技術の文章、テキスト及び画像の埋め込みのためのPython(商標)の枠組みであるSentenceTransformer(商標)などのトランスフォーマーネットワークを用い得る。このようなトランスフォーマーネットワークは、高スコア及び低スコア双方を有する単語及び句の関連を学習する。これは、入力に近いものは何か及び近くないものは何かをそれぞれAI/MLモデルに学習させる。単語/句の複数の対を単に用いる代わりに、トランスフォーマーネットワークは、フィールド長さ及びフィールド種類も用い得る。
図8は、1つ以上の実施形態による、AI/MLモデル(単数または複数)の訓練のためのプロセス800を示すフローチャートである。プロセス800は、他のUI学習動作(例えば、NLP及びチャットボットのためのもの)にも適用可能である点に留意されたい。このプロセスは、ブロック810において訓練データと共に開始する(例えば、図8に示すようなラベル付きデータを提供すること)(例えば、(例えば、特定されたグラフィック要素及びテキストで)ラベル付けされた画面、単語及び句、所与の単語または句についての類似の単語及び句を特定可能にするための単語及び句間のセマンティック関連の「類語辞典」など)。提供される訓練データの性質は、AI/MLモデルが達成しようとしている目的に依存する。次に、AI/MLモデルはブロック820において複数のエポックにわたって訓練され、結果がブロック830においてレビューされる。
決定ブロック840においてAI/MLモデルが所望の信頼閾値を満たさない(プロセス800が「いいえ」の矢印に従って進む)場合、AI/MLモデルがブロック850において目的をより良く達成することを支援するために訓練データが捕捉されかつ/または報酬機能が修正され、プロセスはブロック820に戻る。決定ブロック840においてAI/MLモデルが信頼閾値を満たす(プロセス800が「はい」の矢印に従って進む)場合、AI/MLモデルが良好に一般化しておりかつAI/MLモデルが訓練データに対してオーバーフィットしていないことを保証するために、ブロック860においてAI/MLモデルを評価データについて試験する。評価データは、AI/MLモデルが以前に処理したことの無い画面、ソースデータなどを含み得る。決定ブロック870において信頼閾値が評価データについて満たされている(プロセス800が「はい」の矢印に従って進む)場合、AI/MLモデルはブロック880において展開される。そうではない(プロセス800が「いいえ」の矢印に従って進む)場合、プロセスはブロック880に戻り、AI/MLモデルはさらに訓練される。
図9は、1つ以上の実施形態による方法900を示すフローチャートである。方法900は、システム901によって実行され得る(例えば、RPAワークフロー設計エンジン902(本明細書中エンジン902と呼ぶ;例えば、図2のデザイナ210)及びエンジン902から独立し得るかまたはエンジン902中に内蔵され得るセマンティック自動化ビルダー903を実行するコンピューティングシステム及び/またはコントローラー)。システム901は、データソース904(例えば、アプリケーションデータ(例えば、Excel表計算))、RPA905、CVソフトウェア906、セマンティックワークフローデータベース907、及びアクション生成器及びAIモデル908(本明細書中生成器908と呼ぶ)をさらに含む。
一般的に、システム901は、コンピューティングシステム、クラウドシステム、及び/またはセマンティック自動化ビルダー903の動作をエンジン902を通じて実行するコントローラーであり得る。方法900は、ユーザーが書かれた自然言語を用いてワークフローを生成することを可能にする、システム901による例示的動作(例えば、セマンティック自動化を作成すること)を示す。例えば、エンジン902及び/またはセマンティック自動化ビルダー903は、RPA905の生成、管理、自動実行及び作動のためのポリシー及び技術の枠組みを含むシステム901内のソフトウェアとして記述され得る。そのため、エンジン902及び/またはセマンティック自動化ビルダー903は、向上したRPAの開発の1つ以上の技術的効果、利点及び恩恵ならびに自動化設計時間の低減を可能にする動作を提供する(例えば、アクティビティの改良された発見可能性、文字自動化タスクからの全アクティビティを特定する訓練済みモデル、音声テキスト化機能)。
セマンティック自動化ビルダー903は、RPA905のためのセマンティックを用いて自動アクティビティ構成を可能にする。例えば、セマンティック自動化ビルダー903は、自然言語で記述されたタスクからのMLを用いてRPA905のためのワークフローを生成し、ゼロコードの直感的なUIを用いて生成されたワークフローを有効化させる。1つ以上の実施形態によれば、セマンティック自動化ビルダー903は、自動化を通じて達成すべきアクションの詳細を規定するステップバイステップアプローチを用いてプロセスが構築されるエンジン902の内側にネストされたゼロコードの直感的なUI(例えば、ウィザード)を含み得る。さらに、各ステップにおいて、ユーザーは、データソース904をセマンティック自動化ビルダー903へ提供し、セマンティック自動化ビルダー903は、CVソフトウェア906、セマンティックワークフローデータベース907及び/または生成器908の活用により、自動化を構築する。
データソース904は、ワークフローの1つ以上のアクション、アクティビティまたはステップを記述する任意の形態の情報であり得る。データソース904の例を非限定的に挙げると、アプリケーションデータ(例えば、Excel表計算)、自然言語(例えば、テキスト形態のもの)、文字自動化タスク、アプリケーション中に見受けられるデータテーブル、及び音声テキスト化がある。データソース904の1つ以上の技術的効果、利点及び恩恵は、生成器908の動作の向上と、「アウトオブザボックス」で利用可能な自動化の作成のためのセマンティック自動化ビルダー903の支援とのためにセマンティックラベル付きデータのデータベースを活用することを含む。
RPA905は、ロボット、ワークフローなどのロボット/アシスタントソフトウェアを実行するエージェントソフトウェアであり得る。ジョブは、RPAによって実行される仕事の単位とみなされ得る。双方について、本明細書中さらに記載する。1つ以上の実施形態によれば、RPA905は、複数のステップが1つ以上の文字自動化タスクへ付加された複雑なフローであり得る。
CVソフトウェア906は、本明細書中に記載のようにデジタル画像またはビデオからのワークフローのアクション、アクティビティまたはステップの理解を得るためのコードを含む。例えば、CVソフトウェア906は、自動化が可能なワークフローアクション/アクティビティ/などを決定及び特定するためにニューラルネットワークをカスタム画面OCR及びテキストマッチングの組み合わせと共に実行し得る。
セマンティックワークフローデータベース907は、過去のワークフロー、ワークフローアクション/アクティビティ/などのリポジトリであり得る。セマンティックワークフローデータベース907は、自動化が可能なワークフローアクション/アクティビティ/などを決定及び特定するために用いられ得る。
生成器908は、セマンティック自動化ビルダー903の代理として自動化されたアクションを作成及び生成するためのコードを含む。生成器908は、AIモデル及び自己回帰言語モデルのうち1つ以上を含み得る(例えば、人間のようなテキストを生成するGPT-3)。一例として、微調整されたGPT-3モデルは、ワークフロー記述のサンプル及びセマンティックワークフローデータベース907中に見受けられる実際のワークフローを用いて訓練され得る。
図9の方法900は、セマンティック自動化ビルダー903が開始するか開く920から開始する。例えば、セマンティック自動化ビルダー903は、「セマンティック自動化ビルダー」の選択肢が選択されたのに応答してエンジン902と共に起動する。図10は、1つ以上の実施形態による例示的インターフェース1000を示す。例示的インターフェース1000は、図示のようにディスプレイ525全体にわたって拡張された第1のウィンドウ1001を少なくとも含む。「セマンティック自動化ビルダー」の選択肢がツールバー上のアイコンであってもよいし、あるいはアイテムがドロップダウンメニューである。「セマンティック自動化ビルダー」の選択肢が選択されると、サブインターフェース1020が生成され、第1のウィンドウ1001にオーバーレイされる。サブインターフェース1020は、ポップアップインターフェースであり得る。サブインターフェース1020は、動的であり得る。例えば、サブインターフェース1020内の1つ以上の要素との相互作用が発生するのと共に、サブインターフェース1020が変化し得る。サブインターフェース1020は、第1のインターフェース要素1030、第2のインターフェース要素1040、保存アイコン1050(例えば、「ワークフローを保存」アイコン)及び終了アイコン1060を含む。
第1のインターフェース要素1030は、選択バー及び/または選択されると1つ以上の第1の選択肢を含むメニュー提示を開始し得るアイコンである。同様に、第2のインターフェース要素1040は、選択バー及び/または選択されると1つ以上の第2の選択肢を含むメニュー提示を開始し得るアイコンである。1つ以上の第2の選択肢は、特に第1の選択肢が選択された際に対応する1組の第2の選択肢が表示される点において1つ以上の第1の選択肢に直接接続され得る。各最初に開かれたものは、異なる対応する1組の選択肢を有し得る。
一例として、1つ以上の第1の選択肢は、方法900によって生成されているワークフロー(即ち、RPA905)のカテゴリーに関連する。これらのカテゴリーを非限定的に挙げると、ユーザーが規定したアクティビティ420、API駆動型アクティビティ430、AI/MLアクティビティ440、UI自動化アクティビティ450及びデータアクティビティ(例えば、データソースが必要であることを示す)がある。
保存アイコン1050(例えば、「ワークフローを保存」アイコン)は、実際の使用のために保存されるかまたは後で完了されるワークフロー(即ち、RPA905)のためのサブインターフェース1020内における全進捗を選択された際に発生させるインターフェース要素である。終了アイコン1060(例えば、「X」アイコン)は、選択された際にサブインターフェース1020を閉じさせるインターフェース要素である。
方法900は、ブロック930において継続する。ブロック930において、セマンティック自動化ビルダー903は、サブインターフェース1020から少なくとも第1の選択肢及び第2の選択肢の選択を可能にする。セマンティック自動化ビルダー903は、第1のインターフェース要素1030からの第1の選択肢からのデータソース及び第2のインターフェース要素1040からの第2の選択肢からの対応するアプリケーションの選択を可能にし得る。セマンティック自動化ビルダー903は、自動化タスクも(即ち、当該アプリケーションのために)さらに書き得る。
例えば、得られたRPA905についてデータソースが必要である旨を示すために、「データ」選択肢が第1のインターフェース要素1030を通じて選択され得る(例えば、データソースが必要であると指定することが、第1のステップとみなされ得る)。次に、第2のインターフェース要素1040が選択されると、サブインターフェース1020は、「データの入手元」(例えば、ファイル、アプリケーション、ディレクトリ)について第2の選択肢を提示し得る。
図11は、1つ以上の実施形態による例示的インターフェース1100を示す。例示的インターフェース1100は、図示のようにディスプレイ525の全体にわたって広げられた第1のウィンドウ1001を少なくとも含む。サブインターフェース1020が生成され、第1のウィンドウ1001にオーバーレイされる。サブインターフェース1020は、第1のインターフェース要素1030、第2のインターフェース要素1040、保存アイコン1050(例えば、「ワークフローを保存」アイコン)及び終了アイコン1060を含む。
サブインターフェース1020は、ボックス1110(例えば、ダイアログボックス)、第1の選択領域1120、複数のアイコン1122、入力領域1140も含む。ドロップ1110は、1つ以上のアイコン、要素、バー及び/または選択肢を提供する動的なインターフェースであり得る。第1の選択領域1120は、さらなる選択肢及び/またはより高粒度の選択肢を提供する、ドロップ1110のサブインターフェースである。複数のアイコン1122は、さらなる選択肢及び/またはより高粒度の選択肢の例であり、1つ以上のアプリケーションを表し得る。入力領域1140は、さらなる選択肢及び/またはより高粒度の選択肢を提供する、ボックス1110の別のサブインターフェースである。
サブインターフェース1020は、作成アイコン1050、終了アイコン1060及びキャンセルアイコン1180も含む。作成アイコン1050は、選択された際にボックス1110内の全進捗をキャプチャさせ、RPA905内に生成させるインターフェース要素である。終了アイコン1160(例えば、「X」アイコン)及びキャンセルアイコン1180は、選択された際にボックス1110を閉じさせるインターフェース要素である。
例を続けて、「データの入手元」を解決するために、ボックス1110は、新規のステップまたは第2のステップを付加することを可能にする(例えば、「新規ステップを追加」)。第1の選択領域1120は、「ステップを実行する場所」の選択を可能にする複数のアイコン1122を提供する。複数のアイコン1122は、選択可能なアプリケーション(例えば、Excel(登録商標)、Chrome(登録商標)、RPAチャレンジウィンドウなど)を示す。入力領域1140は、「何をする」(例えば、フォームを完了して提出をする)についての入力を受け取り得る。作成アイコン1050が選択されると、セマンティック自動化ビルダー903は、「フォームを完了して提出をする」の自動化タスクを選択されたアイコン1122について書いて、その結果得られるRPA905を生成する。
方法900はブロック940に進み、ブロック940において、セマンティック自動化ビルダー903は、アクションを生成する。これらのアクションは、アクティビティの生成に用いられる。アクティビティは、その結果得られるRPAの一部となる。次に、セマンティック自動化ビルダー903は、生成されたアクションの視認及び編集を可能にする。
図12は、1つ以上の実施形態による例示的インターフェース1200を示す。1つ以上の実施形態によれば、生成されたアクションは、各ステップを拡張し、ステップのアクションの編集(例えば、アクションの変更、新規アクションの追加、アクションの削除)を可能にすることにより、例示的インターフェース1200内において視認され得る。さらに、複数のステップがRPA905へ付加され得、視認及び編集され得る。
例えば、例示的インターフェース1200は、図示のようにディスプレイ525の全体にわたって広げられた第1のウィンドウ1001を少なくとも含み、サブインターフェース1020が生成され、第1のウィンドウ1001にオーバーレイされる。サブインターフェース1020は、第1のインターフェース要素1030、保存アイコン1050(例えば、「ワークフローを保存」アイコン)及び終了アイコン1060を含む。サブインターフェース1020は、RPA950の特定のステップに対応するステップ選択領域1210も含む。
ステップ選択領域1210は、アプリケーションアイコン1212と、アイコン1214と、ドロップダウン領域1222及び1224をさらに含むサブインターフェース1220と、サブインターフェース1240とを含む。アプリケーションアイコン1212は、ステップ選択領域1210内に示されるRPA950の特定のステップが関連付けられているアプリケーション(例えば、当該ステップが実行される、アプリケーション)などを特定するインターフェース要素であり得る。アイコン1214は、ステップ選択領域1210内の任意の変更を実行することを可能にするインターフェース要素であり得、これにより、結果、エラーなどが決定可能となる。1つ以上の実施形態によれば、アイコン1214は、ステップがデータソース904中の各データアイテムについて実行されることを示す。サブインターフェース1220及び1240は、RPA950の特定のステップのアクション、構成などに対応し、これらの編集を可能にする。ドロップダウン領域1222及び1223は、サブインターフェース1220の構成内のサブアクション、サブ構成などに対応する。
一例として、ステップ選択領域1210内に示されるRPA950の特定のステップは、「Chrome(登録商標)」ブラウザアプリケーションについて「フォームを完了して提出する」ステップに対応し得る。さらに、サブインターフェース1220及び1240は、例えば以下のうち1つ以上のような、「フォームを完了して提出する」ステップに関連するアクションを表し得る:
1,1.「名」をタイプすること;
1.2.「姓」をタイプすること;
1.3.「住所」をタイプすること;
1.4.「電話番号」をタイプすること;
1.5.「Eメール」をタイプすること;及び
1.6.新規アクティビティを付加すること。
1,1.「名」をタイプすること;
1.2.「姓」をタイプすること;
1.3.「住所」をタイプすること;
1.4.「電話番号」をタイプすること;
1.5.「Eメール」をタイプすること;及び
1.6.新規アクティビティを付加すること。
さらに、ドロップダウン領域1222及び1224は、以下のうちの1つ以上のような、「名」アクションに関連するアクションを表し得る:「名」をタイプする場所、;及び「名」をタイプする際のタイプすべき内容。
方法900がブロック950に進むと、セマンティック自動化ビルダー903は、ワークフロー(例えば、RPA905)をエンジン902(例えば、図2のデザイナ210)へエクスポートする。ワークフローは、ユーザーがワークフローを実行することができるように、エンジン902に保存することができる。
ここで図13を参照して、1つ以上の実施形態による方法1300が示される。方法1300は、システム901によって実行され得、システム901による例示的動作(例えば、セマンティック自動化の作成)を示す。実施形態によれば、方法1300は、ユーザーが(ターゲットアプリケーションの選択及び/または当該アプリケーションに対応する文字自動化タスクと共に)1つ以上のステップをRPA905へ付加することを可能にするセマンティック自動化ビルダー903の例示的動作を示す。
ブロック1310において、セマンティック自動化ビルダー903は、ユーザー入力に応答して開始する。1つ以上の実施形態によれば、ユーザー入力は、セマンティック自動化ビルダー903をトリガー、開始または開かせるメニューアイテムを選択し得る。例えば、セマンティック自動化ビルダー903は、「セマンティック自動化ビルダー」の選択肢が選択されるのに応答してエンジン902から起動する。
ブロック1320において、セマンティック自動化ビルダー903は、ターゲットアプリケーションに対応する1つ以上のユーザー入力を受け取る。ブロック1325において、セマンティック自動化ビルダー903は、文字自動化タスクに対応する1つ以上のユーザー入力を受け取る。1つ以上の実施形態によれば、ステップが、文字自動化タスクを含むフローに付加され得る。1つ以上の実施形態によれば、セマンティック自動化ビルダー903及び生成器908は、「クリック及びタイプ」型のアクション以外のより多くのアクションを文字自動化タスクから決定するように訓練することが可能であり、話し言葉または文字自動化タスクとして変換されたものを受信及び処理することができる。ブロック1330において、セマンティック自動化ビルダー903は、1つ以上のステップに対応する1つ以上のユーザー入力を受け取る。破線ブロック1335において、CVソフトウェア906は、ターゲットアプリケーションインターフェース上のUI要素を任意選択的にキャプチャし得る。ブロック1320、1325、1330及び1335の動作は、RPA905の1つ以上のステップの構築のために必要に応じて任意の順序及び複数回数行われ得る点に留意されたい。さらに、ブロック1320、1325、1330及び1335の動作は、RPA905のアクティビティに対応するアクションを特定する。
ブロック1340において、セマンティック自動化ビルダー903は、全情報(例えば、1つ以上のステップ、ターゲットアプリケーションの選択、文字自動化タスク及びUI要素)を生成器908へ供給する。1つ以上の実施形態によれば、セマンティック自動化ビルダー903は、セマンティックワークフローデータベース907を活用する。例えば、セマンティックワークフローデータベース907は、アクションと、当該アクションに対して行われた編集とを保存する。セマンティック自動化ビルダー903は、上記のアクション及び編集全てをセマンティックワークフローデータベース907から生成器908へ提供し得る。
ブロック1350において、生成器908は、アクション(例えば、種類、クリックなど)をターゲットアプリケーションのキャプチャされたUI要素に対して行うことが必要であることを決定する。ブロック1360において、生成器908は、これらの決定されたアクションを、セマンティックワークフローデータベース907のアクティビティに対してマッピングする。1つ以上の実施形態によれば、アクション(及びいくつかの場合において編集)は、アクティビティに対してマッピングされ、セマンティックワークフローデータベース907は、AI/MLモデル132の訓練のために上記アクション及び編集を保存し、一例として、アクションは、AIモデル、NLPモデル、自己回帰言語モデル、GPT-3モデルのうち1つ以上を用いて決定され、これらのモデルのうちいずれかは、ワークフロー記述のサンプル及び実際のワークフローを用いて訓練され得る。1つ以上の実施形態によれば、セマンティック自動化ビルダー903は、自然言語に基づいた自動化を提供する。さらに、生成器908は、セマンティックワークフローデータベース907中の保存されたアクション、それらのアクションの編集及びワークフローの活用により(例えば、ワークフロー記述のサンプル及び実際のワークフローを用いて)AI/MLモデル132を(微調整されたGPT-3モデルを生成するように)訓練する。AI/MLモデル132は、アクティビティに対するアクションのマッピングを決定するために用いられる。
ブロック1370において、生成器908は、上記マップされたアクティビティを用いて(ブロック1320、1325、1330及び1335からの)アクションをアクティビティに変換し、1つ以上のステップのための自動化シーケンスを作成する。1つ以上の実施形態によれば、生成器908は、書かれた自然言語を用いて自動化シーケンスを生成し得る。1つ以上の実施形態によれば、自動化シーケンスは、フォーム記入のためにクリック及びタイプ型のアクティビティを単一のインターフェース内に含み得る。1つ以上の実施形態によれば、(セマンティック自動化ビルダー903を用いて構築された)自動化シーケンスは、異なるウェブサイト、データベース、ファイルシステム及びアプリケーション間を必要に応じてナビゲートし得る。自動化シーケンス(例えば、セマンティック自動化)は、RPA905と同等のものであってもよいし、あるいは、RPA905中に組み込まれる複数の自動化シーケンスであってもよい(例えば、1つ以上のセマンティック自動化)のうちの1つ(例えば、この場合、RPA905は複雑なフローとみなされ得る)。破線ブロック1380において、CVアクションは、ユーザーが自動化を実行し、1組の生成されたアクションを容易に編集することができるように、セマンティック自動化ビルダー903のUI内のワークフローとして任意選択的に提供され得る。
ブロック1390において、RPA905は、実行のためにデザイナ902へエクスポートされ得る。1つ以上の実施形態によれば、セマンティック自動化ビルダー903をデザイナ902へ付加することにより、システム900は、コーディング経験がゼロのユーザーをサポートすることができ、これらのユーザーをシステム900内に取り込むこともできる。
1つ以上の実施形態によれば、方法が提供される。上記方法は、少なくとも1つのプロセッサ上で実行されるセマンティック自動化ビルダーによって実行される。上記方法は、ロボットプロセス自動化の1つ以上のセマンティック自動化を生成する。上記方法は、ターゲットアプリケーション、文字自動化タスクまたは1つ以上のステップに対応する1つ以上のユーザー入力を受信して、上記ロボットプロセス自動化の1つ以上のアクションを特定することを含む。上記方法は、上記1つ以上のアクションの各アクションをアクティビティにマッピングして、1つ以上のマップされたアクティビティを生成することと、上記1つ以上のマップされたアクティビティに基づいて上記1つ以上のアクションを上記1つ以上のセマンティック自動化に変換することとを含む。上記方法は、上記セマンティック自動化ビルダーのユーザーインターフェースにおいて上記1つ以上のセマンティック自動化を提供して、上記1つ以上のアクションの編集を可能にすることを含む。
1つ以上の実施形態または本明細書中の上記方法の実施形態のいずれかによれば、上記セマンティック自動化ビルダーは、上記セマンティック自動化ビルダーをトリガーするメニューアイテムを選択するユーザー入力に応答して開始し得る。
1つ以上の実施形態または本明細書中の上記方法の実施形態のいずれかによれば、上記セマンティック自動化ビルダーは、1つ以上のさらなるステップを上記文字自動化タスクへ付加することを可能にし得る。
1つ以上の実施形態または本明細書中の上記方法の実施形態のいずれかによれば、上記セマンティック自動化ビルダーは、上記文字自動化タスクから上記1つ以上のアクションを決定するように訓練された生成器を含み得る。
1つ以上の実施形態または本明細書中の上記方法の実施形態のいずれかによれば、上記セマンティック自動化ビルダーは、話し言葉を上記文字自動化タスクとして処理するように訓練された生成器を含み得る。
1つ以上の実施形態または本明細書中の上記方法の実施形態のいずれかによれば、コンピュータービジョンソフトウェアは、上記ターゲットアプリケーションのインターフェース上のユーザーインターフェース要素を上記1つ以上のアクションに対応するようにキャプチャし得る。
1つ以上の実施形態または本明細書中の上記方法の実施形態のいずれかによれば、上記セマンティック自動化ビルダーは、上記1つ以上のアクションを自己回帰言語モデルを用いてマッピングする生成器を含み得る。
1つ以上の実施形態または本明細書中の上記方法の実施形態のいずれかによれば、上記1つ以上のセマンティック自動化は、異なるウェブサイト、データベース、ファイルシステム及びアプリケーション間をナビゲートし得る。
1つ以上の実施形態または本明細書中の上記方法の実施形態のいずれかによれば、上記ロボットプロセス自動化は、実行のためにデザイナへエクスポートされ得る。
1つ以上の実施形態または本明細書中の上記方法の実施形態のいずれかによれば、上記セマンティック自動化ビルダーは、保存されたアクション、これらのアクションの編集、またはセマンティックワークフローデータベース中のワークフローを用いて1つ以上の人工知能及び機械学習モデルを訓練し得、上記1つ以上の人工知能及び機械学習モデルを用いて、アクティビティマッピングに対して上記アクションを決定し得る。
1つ以上の実施形態によれば、システムが提供される。上記システムは、少なくとも1つのプロセッサと、ロボットプロセス自動化の1つ以上のセマンティック自動化を生成するセマンティック自動化ビルダーのソフトウェアを保存する1つ以上のメモリとを含む。上記少なくとも1つのプロセッサは、上記ソフトウェアを実行して、上記システムにターゲットアプリケーション、文字自動化タスクまたは1つ以上のステップに対応する1つ以上のユーザー入力を受信させて、上記ロボットプロセス自動化の1つ以上のアクションを特定する。上記少なくとも1つのプロセッサは、上記ソフトウェアを実行して、上記システムに上記1つ以上のアクションの各アクションをアクティビティに対してマッピングさせて、1つ以上のマップされたアクティビティを生成し、上記1つ以上のマップされたアクティビティに基づいて上記1つ以上のアクションを上記1つ以上のセマンティック自動化に変換する。上記少なくとも1つのプロセッサは、上記ソフトウェアを実行して、上記システムに上記1つ以上のセマンティック自動化を上記セマンティック自動化ビルダーのユーザーインターフェース内に提供させて、上記1つ以上のアクションの編集を可能にする。
1つ以上の実施形態または本明細書中の上記システムの実施形態のいずれかによれば、上記セマンティック自動化ビルダーは、上記セマンティック自動化ビルダーをトリガーするメニューアイテムを選択するユーザー入力に応答して開始し得る。
1つ以上の実施形態または本明細書中の上記システムの実施形態のいずれかによれば、上記セマンティック自動化ビルダーは、1つ以上のさらなるステップを上記文字自動化タスクへ付加することを可能にし得る。
1つ以上の実施形態または本明細書中の上記システムの実施形態のいずれかによれば、上記セマンティック自動化ビルダーは、上記文字自動化タスクから上記1つ以上のアクションを決定するように訓練された生成器を含み得る。
1つ以上の実施形態または本明細書中の上記システムの実施形態のいずれかによれば、上記セマンティック自動化ビルダーは、話し言葉を上記文字自動化タスクとして処理するように訓練された生成器を含み得る。
1つ以上の実施形態または本明細書中の上記システムの実施形態のいずれかによれば、コンピュータービジョンソフトウェアは、上記ターゲットアプリケーションのインターフェース上のユーザーインターフェース要素を上記1つ以上のアクションに対応するようにキャプチャする。
1つ以上の実施形態または本明細書中の上記システムの実施形態のいずれかによれば、上記セマンティック自動化ビルダーは、上記1つ以上のアクションを自己回帰言語モデルを用いてマッピングする生成器を含み得る。
1つ以上の実施形態または本明細書中の上記システムの実施形態のいずれかによれば、上記1つ以上のセマンティック自動化は、異なるウェブサイト、データベース、ファイルシステム及びアプリケーション間においてナビゲートし得る。
1つ以上の実施形態または本明細書中の上記システムの実施形態のいずれかによれば、上記ロボットプロセス自動化は、実行のためにデザイナへエクスポートされ得る。
1つ以上の実施形態または本明細書中の上記システムの実施形態のいずれかによれば、上記セマンティック自動化ビルダーは、保存されたアクション、これらのアクションの編集またはセマンティックワークフローデータベース中のワークフローを用いて1つ以上の人工知能及び機械学習モデルを訓練し得、上記1つ以上の人工知能及び機械学習モデルを用いて、アクティビティマッピングに対して上記アクションを決定し得る。
上記コンピュータープログラムは、ハードウェア、ソフトウェアまたはハイブリッド実行で実行され得る。上記コンピュータープログラムは、相互に動作的に通信しかつ情報または命令をディスプレイへ送るように設計されたモジュールによって構成され得る。上記コンピュータープログラムは、汎用コンピューター、ASICまたは任意の他の適切なデバイスを動作させるように構成され得る。
一般的に記載されかつ本明細書中の図面に例示されるような多様な実施形態のコンポーネントは、広範な多様な異なる構成において配置及び設計され得ることが容易に理解される。よって、添付図面中に示すような実施形態の詳細な記述は、特許請求の範囲に記載のような範囲を制限することを意図しておらず、あくまで選択された実施形態を示すものに過ぎない。
本明細書全体に記載される特徴、構造または特性は、1つ以上の実施形態において任意の適切な様態で組み合わせられ得る。例えば、本明細書全体において「特定の実施形態」、「いくつかの実施形態」または類似の文言に言及される場合、少なくとも1つの実施形態に含まれる実施形態と関連して述べられる特定の特徴、構造または特性を意味する。よって、本明細書全体において「特定の実施形態において」、「いくつかの実施形態において」、「他の実施形態において」などの句または類似の文言が出現した場合、全てが同じグループの実施形態を必ずしも指しているわけではなく、記載の特徴、構造または特性は、1つ以上の実施形態において任意の適切な様態で組み合わせられ得る。
本明細書全体において、特徴、利点または同様の文言への言及は、実現され得る特徴及び利点のすべてが任意の単一の実施形態にあるべきであるかまたは任意の単一の実施形態にあることを意味するものではないことに留意されたい。即ち、上記特徴及び利点について言及する文言は、実施形態に関連して記載される特定の特徴、利点または特性が1つ以上の実施形態に含まれることを意味するものとして理解される。よって、本明細書全体において、上記特徴及び利点及び類似の文言について議論される場合、同じ実施形態を必ずしも指すわけではない。
さらに、本明細書中の上記1つ以上の実施形態の特徴、利点及び特性は、任意の適切な様態で組み合わされ得る。当業者であれば、本開示は特定の実施形態の特定の特徴または利点のうち1つ以上無しに実施され得ることを認識する。他の場合において、さらなる特徴及び利点が、全実施形態中に存在しない場合のある特定の実施形態において認識され得る。
当業者は、本開示は、異なる順序のステップでかつ/または開示のものと異なる構成中のハードウェア要素と共に実施され得ることを容易に理解する。よって、本開示についてこれらの好適な実施形態に基づいて記載してきたが、当業者にとって、構造の特定の変更、改変及び代替が、本開示の意図及び範囲内に収まりつつ明らかであることが明らかである。従って、本開示の範囲を決定するために、添付の特許請求の範囲を参照すべきである。
Claims (20)
- 少なくとも1つのプロセッサ上で実行されるセマンティック自動化ビルダーによって実行される方法であって、前記方法は、ロボットプロセス自動化の1つ以上のセマンティック自動化を生成し、前記方法は、
前記ロボットプロセス自動化の1つ以上のアクションを特定するために、ターゲットアプリケーション、文字自動化タスクまたは1つ以上のステップに対応する1つ以上のユーザー入力を受信すること、
前記1つ以上のアクションの各アクションをアクティビティにマッピングして、1つ以上のマップされたアクティビティを生成すること、
前記1つ以上のマップされたアクティビティに基づいて前記1つ以上のアクションを前記1つ以上のセマンティック自動化に変換すること、及び
前記セマンティック自動化ビルダーのユーザーインターフェースにおいて前記1つ以上のセマンティック自動化を提供して、前記1つ以上のアクションの編集を可能にすること、
を含む、方法。 - 前記セマンティック自動化ビルダーは、前記セマンティック自動化ビルダーをトリガーするメニューアイテムを選択するユーザー入力に応答して開始する、請求項1に記載の方法。
- 前記セマンティック自動化ビルダーは、1つ以上のさらなるステップを前記文字自動化タスクへ付加することを可能にする、請求項1に記載の方法。
- 前記セマンティック自動化ビルダーは、前記1つ以上のアクションを前記文字自動化タスクから決定するように訓練された生成器を含む、請求項1に記載の方法。
- 前記セマンティック自動化ビルダーは、話し言葉を前記文字自動化タスクとして処理するように訓練された生成器を含む、請求項1に記載の方法。
- コンピュータービジョンソフトウェアは、前記ターゲットアプリケーションのインターフェース上のユーザーインターフェース要素を前記1つ以上のアクションに対応するようにキャプチャする、請求項1に記載の方法。
- 前記セマンティック自動化ビルダーは、前記1つ以上のアクションを自己回帰言語モデルを用いてマップする生成器を含む、請求項1に記載の方法。
- 前記1つ以上のセマンティック自動化は、異なるウェブサイト、データベース、ファイルシステム及びアプリケーション間においてナビゲートする、請求項1に記載の方法。
- 前記ロボットプロセス自動化は、実行のためにデザイナへエクスポートされる、請求項1に記載の方法。
- 前記セマンティック自動化ビルダーは、保存されたアクション、これらのアクションの編集またはセマンティックワークフローデータベース中のワークフローを用いて1つ以上の人工知能及び機械学習モデルを訓練し、アクティビティマッピングに対して前記アクションを決定するために前記1つ以上の人工知能及び機械学習モデルを用いる、請求項1に記載の方法。
- システムであって、
ロボットプロセス自動化の1つ以上のセマンティック自動化を生成するセマンティック自動化ビルダーのソフトウェアを保存する1つ以上のメモリ、及び
少なくとも1つのプロセッサであって、前記少なくとも1つのプロセッサは、前記ソフトウェアを実行して、
前記ロボットプロセス自動化の1つ以上のアクションを特定するために、ターゲットアプリケーション、文字自動化タスクまたは1つ以上のステップに対応する1つ以上のユーザー入力を受け取ること、
前記1つ以上のアクションの各アクションをアクティビティに対してマッピングして、1つ以上のマップされたアクティビティを生成すること、
前記1つ以上のマップされたアクティビティに基づいて前記1つ以上のアクションを前記1つ以上のセマンティック自動化に変換すること、及び
前記1つ以上のアクションの編集を可能にするように、前記1つ以上のセマンティック自動化を前記セマンティック自動化ビルダーのユーザーインターフェース内に設けること、
を前記システムに行わせる、少なくとも1つのプロセッサ、
を含む、システム。 - 前記セマンティック自動化ビルダーは、前記セマンティック自動化ビルダーをトリガーするメニューアイテムを選択するユーザー入力に応答して開始する、請求項11に記載のシステム。
- 前記セマンティック自動化ビルダーは、1つ以上のさらなるステップを前記文字自動化タスクに付加することを可能にする、請求項11に記載のシステム。
- 前記セマンティック自動化ビルダーは、前記文字自動化タスクから前記1つ以上のアクションを決定するように訓練された生成器を含む、請求項11に記載のシステム。
- 前記セマンティック自動化ビルダーは、話し言葉を前記文字自動化タスクとして処理するように訓練された生成器を含む、請求項11に記載のシステム。
- コンピュータービジョンソフトウェアは、前記ターゲットアプリケーションのインターフェース上のユーザーインターフェース要素を前記1つ以上のアクションに対応するようにキャプチャする、請求項11に記載のシステム。
- 前記セマンティック自動化ビルダーは、前記1つ以上のアクションを自己回帰言語モデルを用いてマッピングする生成器を含む、請求項11に記載のシステム。
- 前記1つ以上のセマンティック自動化は、異なるウェブサイト、データベース、ファイルシステム及びアプリケーション間においてナビゲートする、請求項11に記載のシステム。
- 前記ロボットプロセス自動化は、実行のためにデザイナへエクスポートされる、請求項11に記載のシステム。
- 前記セマンティック自動化ビルダーは、保存されたアクション、これらのアクションの編集またはセマンティックワークフローデータベース中のワークフローを用いて1つ以上の人工知能及び機械学習モデルを訓練し、前記1つ以上の人工知能及び機械学習モデルを用いて、アクティビティマッピングに対して前記アクションを決定する、請求項11に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/974,669 | 2022-10-27 | ||
US17/974,669 US20240142917A1 (en) | 2022-10-27 | 2022-10-27 | Semantic automation builder for robotic process automation |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024065102A true JP2024065102A (ja) | 2024-05-14 |
Family
ID=88598935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023185064A Pending JP2024065102A (ja) | 2022-10-27 | 2023-10-27 | ロボットプロセス自動化のためのセマンティック自動化ビルダー |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240142917A1 (ja) |
EP (1) | EP4361921A1 (ja) |
JP (1) | JP2024065102A (ja) |
CN (1) | CN117950649A (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11440201B2 (en) * | 2019-10-15 | 2022-09-13 | UiPath, Inc. | Artificial intelligence-based process identification, extraction, and automation for robotic process automation |
US10860905B1 (en) | 2019-10-16 | 2020-12-08 | UiPath, Inc. | Long running workflows for document processing using robotic process automation |
US11592804B2 (en) * | 2020-10-14 | 2023-02-28 | UiPath, Inc. | Task automation by support robots for robotic process automation (RPA) |
-
2022
- 2022-10-27 US US17/974,669 patent/US20240142917A1/en active Pending
-
2023
- 2023-10-27 EP EP23206390.9A patent/EP4361921A1/en active Pending
- 2023-10-27 CN CN202311410619.5A patent/CN117950649A/zh active Pending
- 2023-10-27 JP JP2023185064A patent/JP2024065102A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CN117950649A (zh) | 2024-04-30 |
US20240142917A1 (en) | 2024-05-02 |
EP4361921A1 (en) | 2024-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114556305A (zh) | 针对机器人过程自动化的基于人工智能的过程标识、提取和自动化 | |
JP2023516846A (ja) | ロボティックプロセスオートメーション(rpa)のテスト自動化ワークフローを解析するシステムおよびコンピュータ実装方法 | |
US11836626B2 (en) | Artificial intelligence layer-based process extraction for robotic process automation | |
EP4163784A1 (en) | Automatic data transfer between a source and a target using semantic artificial intelligence for robotic process automation | |
US20230393870A1 (en) | Determining sequences of interactions, process extraction, and robot generation using generative artificial intelligence / machine learning models | |
EP4276709A1 (en) | Building and managing artificial intelligence flows using long-running workflows for robotic process automation | |
US11782733B2 (en) | Training an artificial intelligence / machine learning model to recognize applications, screens, and user interface elements using computer vision | |
JP2023545644A (ja) | 人工知能/機械学習モデルを使用したインタラクションのシーケンス決定、プロセス抽出、およびロボット生成 | |
US20230236851A1 (en) | Multi-session automation windows for robotic process automation using same credentials | |
US20230125223A1 (en) | Semantic matching between a source screen or source data and a target screen using semantic artificial intelligence | |
EP4361921A1 (en) | Semantic automation builder for robotic process automation | |
US20240168773A1 (en) | Automatic augmentation of a target application within a browser | |
US20240168724A1 (en) | Hypertext transfer protocol recorder of a robotic process automation workflow designer application | |
US20230360388A1 (en) | Training a generative artificial intelligence / machine learning model to recognize applications, screens, and user interface elements using computer vision | |
US20230415338A1 (en) | Target-based schema identification and semantic mapping for robotic process automation | |
US20240134695A1 (en) | Automatic merging of variants of automatable tasks for robotic process automation | |
US20240070257A1 (en) | Assume user identity authentication flow | |
US20240134685A1 (en) | Detection of variants of automatable tasks for robotic process automation | |
US20240053727A1 (en) | Type cache for package management of robotic process automations field | |
EP4266172A1 (en) | System, apparatus, and method for deploying robotic process automations across multiple operating systems | |
US20240046142A1 (en) | Intent-based automation | |
JP2024074288A (ja) | ブラウザ内でのターゲットアプリケーションの自動拡張 | |
US20230236855A1 (en) | Automation windows for robotic process automation using multiple desktops |