JP7088989B2 - 実行時のデジタルプロセスにおける人工知能/機械学習モデルの動的な更新、又は再訓練及び更新 - Google Patents

実行時のデジタルプロセスにおける人工知能/機械学習モデルの動的な更新、又は再訓練及び更新 Download PDF

Info

Publication number
JP7088989B2
JP7088989B2 JP2020125400A JP2020125400A JP7088989B2 JP 7088989 B2 JP7088989 B2 JP 7088989B2 JP 2020125400 A JP2020125400 A JP 2020125400A JP 2020125400 A JP2020125400 A JP 2020125400A JP 7088989 B2 JP7088989 B2 JP 7088989B2
Authority
JP
Japan
Prior art keywords
model
retraining
digital process
computing system
update
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.)
Active
Application number
JP2020125400A
Other languages
English (en)
Other versions
JP2021099778A (ja
Inventor
ロバート オロス アンドレイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
UiPath Inc
Original Assignee
UiPath Inc
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 UiPath Inc filed Critical UiPath Inc
Publication of JP2021099778A publication Critical patent/JP2021099778A/ja
Application granted granted Critical
Publication of JP7088989B2 publication Critical patent/JP7088989B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • 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/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • G06N3/105Shells for specifying net layout
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

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

Description

本発明は、概して、人工知能(AI)に関し、より詳細には、実行時のデジタルプロセスにおけるAI/機械学習(ML)モデルを動的に更新、又は再訓練及び更新することに関する。
現在、AI/MLモデルが、様々な種類のコンピューティングシステムで実行されるデジタルプロセスの一部としてデプロイされている。このようなAI/MLモデルは、分類の実行、予測の提供、データ分析などを行う場合がある。AI/MLモデルは、ドメイン又はビジネスルールの変更のため、より良い出力(例えば、予測、分類など)を提供するため、又はその他の理由のため、更新、又は再訓練及び更新が必要になる場合がある。
現在、AI/MLモデルの更新プロセスには、システムのダウンタイムとスケジュールされたメンテナンス時間が必要である。これは、従業員の生産性、収益の発生、サービスの可用性などに影響を与える可能性がある。したがって、AI/MLモデルの更新、並びにAI/MLモデルの再訓練及び更新に対する向上したアプローチが有益となる可能性がある。
本発明の特定の実施形態は、現在のAI技術によってまだ完全に識別、認識、又は解決されていない、当該技術分野における課題及び必要性に対する解決方法を提供する可能性がある。例えば、本発明の幾つかの実施形態は、実行時のデジタルプロセスにおけるAI/MLモデルを動的に更新すること、又は再訓練して更新することに関する。
一実施形態において、コンピュータ実施方法は、コンピューティングシステムで実行されているデジタルプロセスによって、AI/MLモデルの更新要求をリッスンすることを含む。コンピュータ実施方法は、AI/MLモデルを更新するための更新要求が受け付けられたときに、コンピューティングシステムで実行されているデジタルプロセスによって、デジタルプロセスを再初期化又は再インスタンス化してAI/MLモデルの更新されたバージョンを呼び出し、別の更新要求をリッスンすることを含む。AI/MLモデルの更新は、デジタルプロセスの実行中に行われる。
別の実施形態において、デジタルプロセスを含むコンピュータプログラムは、非一時的なコンピュータ読み取り可能な媒体で具現化される。該プログラムは、AI/MLモデルの再訓練要求又は更新要求をリッスンすることを少なくとも1つのプロセッサに実行させるように構成されている。該プログラムは、AI/MLモデルを再訓練するための再訓練要求が受け付けられたときに、AI/MLモデルの再訓練を開始することを少なくとも1つのプロセッサに実行させるように構成されている。該プログラムは、AI/MLモデルを更新するための更新要求が受け付けられたときに、デジタルプロセスを再初期化又は再インスタンス化してAI/MLモデルの更新されたバージョンを呼び出し、別の再訓練要求又は更新要求をリッスンすることを少なくとも1つのプロセッサに実行させるように構成されている。AI/MLモデルの再訓練又は更新は、前記デジタルプロセスの実行中に行われる。
さらに別の実施形態において、コンピューティングシステムは、デジタルプロセスを含むコンピュータプログラムの命令を記憶するメモリと、該命令を実行するように構成された少なくとも1つのプロセッサとを備える。該命令は、AI/MLモデルの再訓練要求をリッスンすることを少なくとも1つのプロセッサに実行させるように構成されている。該命令は、AI/MLモデルを再訓練するための再訓練要求が受け付けられたときに、AI/MLモデルの再訓練を開始することを少なくとも1つのプロセッサに実行させるように構成されている。AI/MLモデルの再訓練は、デジタルプロセスの実行中に行われる。
さらに別の実施形態において、AI/MLモデルの動的更新又は再訓練及び更新のためのコンピュータ実施方法は、コンピューティングシステムで実行されているRPAデジタルプロセスによって、AI/MLモデルの更新要求をリッスンすることを含む。コンピュータ実施方法は、AI/MLモデルを更新するための更新要求が受け付けられたときに、コンピューティングシステムで実行されているRPAデジタルプロセスによって、RPAデジタルプロセスを再初期化又は再インスタンス化してAI/MLモデルの更新されたバージョンを呼び出し、別の更新要求をリッスンすることを含む。AI/MLモデルの更新は、RPAデジタルプロセスの実行中に行われる。RPAデジタルプロセスは、RPAワークフローを含み、AI/MLモデルは、RPAワークフローのアクティビティによって呼び出される。
本発明の特定の実施形態の利点が容易に理解されるように、上記簡単に説明した本発明のより詳細な説明を、添付の図面に示す特定の実施形態を参照して行う。これらの図面は、本発明の典型的な実施形態のみを示すもので、その範囲を限定するものと見なされるべきではないことを理解されたい。本発明は、添付の図面の使用を通じて追加の特性及び詳細とともに記載され説明される。
本発明の一実施形態によるロボティックプロセスオートメーション(RPA)システムを示すアーキテクチャ図である。
本発明の一実施形態による、デプロイされたRPAシステムを示すアーキテクチャ図である。
本発明の一実施形態による、デザイナとアクティビティとドライバとの関係を示すアーキテクチャ図である。
本発明の一実施形態によるRPAシステムを示すアーキテクチャ図である。
本発明の一実施形態による、実行時にAI/MLモデルを動的に更新する、又は再訓練して更新するように構成されたコンピューティングシステムを示すアーキテクチャ図である。
本発明の一実施形態による、実行時にAI/MLモデルを動的に更新する、又は再訓練して更新するように構成された有限状態機械(FSM)のフロー図のスクリーンショットである。
本発明の一実施形態による、図6のFSMの初期状態のスクリーンショットである。
本発明の一実施形態による、図7Aの初期状態のパラメータのスクリーンショットである。
本発明の一実施形態による、顧客フィードバックを含むテキストファイルを示すスクリーンショットである。
本発明の一実施形態による、図6のFSMの項目処理状態のRPAワークフローシーケンスを示すスクリーンショットである。
本発明の一実施形態による、図9のRPAワークフローシーケンスによって呼び出されるAI/MLモデルのプロパティを示すスクリーンショットである。
本発明の一実施形態による、再訓練中の進行状況及び再訓練中のFSM実行ステータスを示すスクリーンショットである。
本発明の一実施形態による、AI/MLモデル更新中のFSM実行ステータスを示すスクリーンショットである。
本発明の一実施形態による、AI/MLモデルを更新するためのシーケンスを示すスクリーンショットである。
本発明の一実施形態による、AI/MLモデルを再訓練するように構成されたシステムを示すアーキテクチャ図である。
本発明の一実施形態による、実行時のAI/MLモデル動的再訓練及び更新のためのデジタルプロセスを示すアーキテクチャ図である。
本発明の一実施形態による、実行時のAI/MLモデル動的更新のためのデジタルプロセスを示すアーキテクチャ図である。
本発明の一実施形態による、実行中のデジタルプロセスにおける、AI/MLモデル動的更新、又は動的再訓練及び更新のためのプロセスを示すフローチャートである。
特に示さない限り、同様の符号は、添付の図面全体を通して一貫して対応する特徴を示す。
幾つかの実施形態は、実行時(即ち、ソフトウェアが実行されているとき又は永続しているとき)のデジタルプロセスにおいてAI/MLモデルを動的に更新する、又は再訓練して更新することに関する。そのため、AI/MLモデルの更新、又は再訓練及び更新のために、本番環境の動作を停止する必要はない。幾つかの実施形態において、AI/MLモデルの更新ステップ及び/又は再訓練ステップは、デジタルプロセスの一部として含まれてもよい。幾つかの実施形態において、AI/MLモデルの更新は、内部ロジックから(例えば、条件の評価から、AI/MLモデルを呼び出す式によってなど)、外部要求から(例えば、ファイル変更、データベースデータ、サービス呼び出しなどの、有限状態機械(FSM)における外部トリガからなど)、又はその両方から要求されてもよい。ここで使用される場合、デジタルプロセスには、全ての種類のソフトウェア実装ワークフロー(例えば、ロボティックプロセスオートメーション(RPA)、ビジネスプロセス管理(BPM)ソフトウェアフローチャート、シーケンシャルフロー、FSMなど)、アプリケーション、ソリューション、システムサービス、機能、メソッド、スクリプトなどが含まれる。デジタルプロセスの動作状態には、設計時(例えば、停止、構成、再設計など)、実行時(例えば、実行、永続など)などが含まれるが、これらに限定されない。
アプリケーションは、一般的には、機能の観点から細かいもので特定の役割を果たすものを含む。システムソリューションは、特定のトピックに役立つより大きなソリューションの一部であってもよい(例えば、ユーザ管理機能には、パスワードのリセット、個人の休暇要求、医療要求、従業員の新人研修などが含まれてもよい)。アプリケーションは一般的に、フロントエンド又はユーザインタフェース(UI)を含むが、システムサービスは通常、バックグラウンドで実行される。アプリケーションのコレクションはソリューションとしてグループ化されてもよく、サービスのコレクションはシステムサービスとしてグループ化されてもよい。
効率と投資収益率(ROI)を最大化するために、システムとソリューションを可能な限りダウンタイムなしで実行することが望ましい場合がある。現在、デジタルプロセスにおいて、AI/MLモデルの更新、又は再訓練及び更新にはメンテナンスダウンタイムが必要であり、プロセスが利用できなくなる。実行時のデジタルプロセスによって呼び出されるAI/MLモデルを動的に更新する、又は再訓練して更新する機能には、様々な利点がある。例えば、このような機能を使用するソフトウェアは、AI/MLモデルの更新、又は再訓練及び更新によるダウンタイムがゼロ又は殆どない可能性がある。AI/MLモデルの更新、又は再訓練及び更新の自動化が提供されてもよく、AI/MLモデルが利用可能になった後(場合によっては直後に)、再訓練及び/又は更新されたAI/MLモデルを伴ってソフトウェアがリロード/再初期化/再インスタンス化されてもよい。
本明細書で使用される場合、「リロード」は、AI/MLモデルデータがAI/MLモデルデータストア(例えば、ファイル、メモリなど)から、それを含む層(例えば、RPAの場合アクティビティなど)によって取得される動作である。「再初期化」は、一部/全てのコンポーネントの状態が初期/既知/所望の値にリセットされる汎用プロセスにおける状態/フェーズを指す。「再インスタンス化」は、オブジェクト指向プログラミングでのオブジェクトの作成を指し、この場合のオブジェクトは、実行時のアプリケーション、プロセス、関数などの内部のAI/MLモデルである。
幾つかの実施形態は、AI/MLモデルの再訓練/更新プロセスを自動化して、それがユーザによって実行される必要がないようにしてもよい。例えば、最後の訓練動作から所定の時間が経過したとき、所定の量のデータが受け取られたとき、これらの組み合わせの場合などに、AI/MLモデルが自動的に再訓練されてもよい。再訓練されたAI/MLモデルのパフォーマンスが期待に応える(例えば、90%の正解率を達成する)、現在実行中のバージョンのパフォーマンスを超える、又はこれら両方の場合に、再訓練されたAI/MLモデルが、ユーザの操作なしで自動的にデプロイ(即ち、更新)されてもよい。
特定の実施形態は、ロボティックプロセスオートメーション(RPA)に使用されてもよい。図1は、本発明の一実施形態による、RPAシステム100を示すアーキテクチャ図である。RPAシステム100は、開発者がワークフローを設計及び実装することを可能にするデザイナ110を含む。デザイナ110は、アプリケーション統合、並びにサードパーティアプリケーション、管理情報技術(IT)タスク、及びビジネスITプロセスの自動化のためのソリューションを提供してもよい。デザイナ110は、ビジネスプロセスのグラフィック表現である自動化プロジェクトの開発を容易にしてもよい。簡単に言うと、デザイナ110はワークフロー及びロボットの開発とデプロイメントを容易にしてもよい。
自動化プロジェクトは、開発者が、本明細書において「アクティビティ」として定義される、ワークフローで開発されたカスタムセットのステップ間の実行順序及び関係を制御できるようにすることで、ルールベースのプロセスの自動化を可能にする。デザイナ110の実施形態の1つの商業的な例は、UiPath Studio(商標)である。各アクティビティには、例えばボタンのクリック、ファイルの読み込み、ログパネルへの書き込みなどのアクションが含まれていてもよい。幾つかの実施形態において、ワークフローがネストされ又は埋め込まれてもよい。
一部の種類のワークフローには、シーケンス、フローチャート、FSM、及び/又はグローバル例外ハンドラが含まれてもよいが、これらに限定されない。シーケンスは、線形プロセスに特に適している可能性があり、ワークフローを混乱させることなく、あるアクティビティから別のアクティビティへのフローを可能にする。フローチャートは、より複雑なビジネスロジックに特に適している可能性があり、複数の分岐論理演算子によって、より多様な方法で決定の統合及びアクティビティの接続を可能にする。FSMは、大規模なワークフローに特に適している可能性がある。FSMは、実行時に有限数の状態を使用してもよく、それらの状態は、条件(即ち、遷移)又はアクティビティによってトリガされる。グローバル例外ハンドラは、実行エラーが発生したときのワークフローの振る舞いを決定したり、プロセスをデバッグしたりするのに特に適している可能性がある。
ワークフローがデザイナ110で開発されると、ビジネスプロセスの実行は、デザイナ110で開発されたワークフローを実行する一又は複数のロボット130を調整するコンダクタ120によって調整される。コンダクタ120の実施形態の1つの商用的な例は、UiPath Orchestrator(商標)である。コンダクタ120は、環境におけるリソースの作成、監視、及びデプロイメントの管理を容易にする。コンダクタ120は、サードパーティのソリューション及びアプリケーションとの統合ポイント又は集約ポイントの1つとして機能してもよい。
コンダクタ120は、全てのロボット130を管理して、集中ポイントからロボット130を接続して実行してもよい。管理可能なロボット130の種類には、アテンディッドロボット132、アンアテンディッドロボット134、開発ロボット(アンアテンディッドロボット134と同様であるが、開発及びテストの目的で使用される)、及び非生産ロボット(アテンディッドロボット132と同様であるが、開発及びテストの目的で使用される)が含まれるが、これらに限定されない。アテンディッドロボット132は、ユーザイベントによってトリガされ、同じコンピューティングシステム上で人間と一緒に動作する。アテンディッドロボット132は、集中プロセス展開及びロギング媒体のためにコンダクタ120と共に使用されてもよい。アテンディッドロボット132は、人間のユーザが様々なタスクを達成するのを助け、ユーザイベントによってトリガされてもよい。幾つかの実施形態において、プロセスは、この種のロボットのコンダクタ120から開始されることができず、且つ/又は、ロックされた画面の下で実行できない。特定の実施形態において、アテンディッドロボット132は、ロボットトレイから又はコマンドプロンプトから開始できるのみである。幾つかの実施形態において、アテンディッドロボット132は、人間の監督下で動作するべきである。
アンアテンディッドロボット134は、仮想環境で操作不要で実行され、多くのプロセスを自動化できる。アンアテンディッドロボット134は、遠隔実行、監視、スケジューリング、及びワークキューのサポートの提供を担当してもよい。幾つかの実施形態において、全てのロボットの種類のデバッグをデザイナ110で実行してもよい。アテンディッドロボットとアンアテンディッドロボットの両方が、メインフレーム、ウェブアプリケーション、VM、エンタープライズアプリケーション(例えば、SAP(登録商標)、SalesForce(登録商標)、Oracle(登録商標)などによって生成されたもの)、及びコンピューティングシステムアプリケーション(例えば、デスクトップ及びラップトップアプリケーション、モバイルデバイスアプリケーション、ウェアラブルコンピュータアプリケーションなど)を含むがこれらに限定されない様々なシステム及びアプリケーションを自動化してもよい。
コンダクタ120は、プロビジョニング、デプロイメント、バージョニング、コンフィギュレーション、キューイング、監視、ロギング、及び/又は相互接続性の提供を含むがこれらに限定されない様々な機能を有してもよい。プロビジョニングには、ロボット130とコンダクタ120(例えば、ウェブアプリケーションなど)の間の接続の作成及び保守が含まれてもよい。デプロイメントには、実行のために割り当てられたロボット130へのパッケージバージョンの正しい配信を保証することが含まれてもよい。バージョニングには、幾つかの実施形態において、幾つかのプロセス又はコンフィギュレーションの固有のインスタンスの管理が含まれてもよい。コンフィギュレーションには、ロボット環境及びプロセスコンフィギュレーションの保守及び配信が含まれてもよい。キューイングには、キュー及びキューアイテムの管理の提供が含まれてもよい。監視には、ロボット識別データの追跡及びユーザ権限の維持が含まれてもよい。ロギングには、データベース(例えば、SQLデータベースなど)及び/又は他のストレージメカニズム(例えば、ElasticSearch(登録商標)など。これは、大規模なデータセットを記憶してすばやくクエリを実行する機能を提供する)へのログの記憶及びインデックス付けが含まれてもよい。コンダクタ120は、サードパーティのソリューション及び/又はアプリケーションのための通信の集中ポイントとして機能することで、相互接続性を提供してもよい。
ロボット130は、デザイナ110に組み込まれたワークフローを実行する実行エージェントである。ロボット130の幾つかの実施形態のうち1つの商用的な例は、UiPath Robots(商標)である。幾つかの実施形態において、ロボット130は、デフォルトで、Microsoft Windows(登録商標)サービスコントロールマネージャー(SCM)が管理するサービスをインストールする。その結果、そのようなロボット130が、ローカルシステムアカウントでインタラクティブなWindows(登録商標)セッションを開き、Windows(登録商標)サービスの権限を有してもよい。
幾つかの実施形態において、ロボット130は、ユーザモードでインストールされてもよい。そのようなロボット130の場合、これは、ユーザのもとでロボット130がインストールされて、そのユーザと同じ権利をロボット130が有することを意味する。この特徴は、高密度(HD)ロボットで利用可能であってもよく、各マシンの最大限の活用を確実にしてもよい。幾つかの実施形態において、任意の種類のロボット130が、HD環境で構成されてもよい。
幾つかの実施形態におけるロボット130は、それぞれが特定の自動化タスク専用である幾つかのコンポーネントに分割される。幾つかの実施形態におけるロボットコンポーネントには、SCM管理のロボットサービス、ユーザモードのロボットサービス、エグゼキュータ、エージェント、及びコマンドラインが含まれるが、これらに限定されない。SCM管理のロボットサービスは、Windows(登録商標)セッションを管理、監視してコンダクタ120と実行ホスト(即ち、ロボット130が実行されるコンピューティングシステム)の間のプロキシとして機能する。このようなサービスは、ロボット130の資格情報で信頼され、これを管理する。コンソールアプリケーションは、ローカルシステムのもとでSCMによって起動される。
幾つかの実施形態におけるユーザモードロボットサービスは、Windows(登録商標)セッションを管理、監視し、コンダクタ120と実行ホストの間のプロキシとして機能する。ユーザモードロボットサービスは、ロボット130の資格情報で信頼され、これを管理してもよい。SCM管理のロボットサービスがインストールされていない場合、Windows(登録商標)アプリケーションが自動的に起動されてもよい。
エグゼキュータは、Windows(登録商標)セッションのもとで所定のジョブを実行してもよい(即ち、エグゼキュータはワークフローを実行してもよい。エグゼキュータは、モニタ毎のドット/インチ(DPI)設定を認識していてもよい。エージェントは、システムトレイウィンドウで利用可能なジョブを表示する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の単一の接続ポイントである。このような実施形態における全てのメッセージは、さらにデータベースサーバ240、インデクササーバ250、又はこれらの両方を介して、それらのメッセージを処理するコンダクタ230にログインされる。図1に関して上記で説明したように、エグゼキュータ212はロボットコンポーネントであってもよい。
幾つかの実施形態において、ロボットは、マシン名とユーザ名の間の関連付けを表す。ロボットは同時に複数のエグゼキュータを管理してもよい。同時に実行されている複数の対話型セッションをサポートするコンピューティングシステム(例えば、Windows(登録商標)Server 2012など)では、複数のロボットが同時に実行され、それぞれが一意のユーザ名を使用する個別のWindows(登録商標)セッションで実行されてもよい。これを上記のHDロボットという。
エージェント214はまた、ロボットのステータスを送り(例えば、ロボットがまだ機能していることを示す「ハートビート」メッセージを定期的に送り)、実行されるパッケージの必要なバージョンをダウンロードすることも担当する。幾つかの実施形態において、エージェント214とコンダクタ230の間の通信は、常にエージェント214によって開始される。通知シナリオにおいて、エージェント214は、コンダクタ230によって後で使用されるWebSocketチャネルを開き、ロボットにコマンド(例えば、開始、停止など)を送ってもよい。
サーバ側では、プレゼンテーション層(ウェブアプリケーション232、Open Data Protocol(OData)Representative State Transfer(REST)Application Programming Interface(API)エンドポイント234、通知監視236)、サービス層(API実装/ビジネスロジック238)、及び永続層(データベースサーバ240及びインデクササーバ250)が含まれる。コンダクタ230には、ウェブアプリケーション232、OData REST APIエンドポイント234、通知監視236、及びAPI実装/ビジネスロジック238が含まれる。幾つかの実施形態において、コンダクタ220のインタフェースで(例えば、ブラウザ220を介して)ユーザが実行する殆どのアクションが、様々なAPIを呼び出すことで実行される。このようなアクションには、本発明の範囲から逸脱することなく、ロボットでのジョブの開始、キュー内のデータの追加/削除、操作不要で実行するジョブのスケジューリングなどが含まれてもよいが、これらに限定されない。ウェブアプリケーション232は、サーバプラットフォームのビジュアル層である。このような実施形態において、ウェブアプリケーション232は、ハイパーテキストマークアップ言語(HTML)及びJavaScript(JS)を使用する。しかし、本発明の範囲から逸脱することなく、任意の所望のマークアップ言語、スクリプト言語、又は任意の他のフォーマットが使用されてもよい。このような実施形態において、ユーザは、コンダクタ230を制御するための様々なアクションを実行するため、ブラウザ220を介してウェブアプリケーション232からウェブページと対話する。例えば、ユーザは、ロボットグループを作成し、ロボットにパッケージを割り当て、ロボット毎に且つ/又はプロセス毎にログを分析し、ロボットを起動、停止させるなどしてもよい。
ウェブアプリケーション232に加えて、コンダクタ230には、OData REST APIエンドポイント234を公開するサービス層も含まれる。しかし、本発明の範囲から逸脱することなく、他のエンドポイントが含まれてもよい。REST APIは、ウェブアプリケーション232とエージェント214の両方によって使用される。このような実施形態において、エージェント214は、クライアントコンピュータ上の一又は複数のロボットのスーパーバイザである。
このような実施形態におけるREST APIは、コンフィギュレーション、ロギング、監視、及びキューイングの機能をカバーする。幾つかの実施形態において、コンフィギュレーションエンドポイントが使用されて、アプリケーションユーザ、権限、ロボット、アセット、リリース、及び環境を定義、構成してもよい。ロギングRESTエンドポイントが使用されて、例えばエラー、ロボットによって送られた明示的なメッセージ、その他の環境固有の情報など、様々な情報をログに記録してもよい。デプロイメントRESTエンドポイントがロボットによって使用されて、コンダクタ230でジョブ開始コマンドが使用される場合に実行する必要があるパッケージバージョンをクエリしてもよい。キューイングRESTエンドポイントは、例えばキューへのデータの追加、キューからのトランザクションの取得、トランザクションのステータスの設定など、キュー及びキューアイテムの管理を担当してもよい。
監視RESTエンドポイントは、ウェブアプリケーション232及びエージェント214を監視してもよい。通知監視API236は、エージェント214の登録、エージェント214へのコンフィギュレーション設定の配信、並びにサーバ及びエージェント214からの通知の送受信に使用されるRESTエンドポイントであってもよい。幾つかの実施形態において、通知監視API236はまた、WebSocket通信を使用してもよい。
永続層は、この実施形態では1対のサーバ、つまり、データベースサーバ240(例えば、SQLサーバなど)及びインデクササーバ250を含む。この実施形態のデータベースサーバ240は、ロボット、ロボットグループ、関連プロセス、ユーザ、ロール、スケジュールなどのコンフィギュレーションを記憶する。このような情報は、幾つかの実施形態において、ウェブアプリケーション232を介して管理される。データベースサーバ240は、キュー及びキューアイテムを管理してもよい。幾つかの実施形態において、データベースサーバ240は、(インデクササーバ250に加えて又はその代わりに)ロボットによってログに記録されたメッセージを記憶してもよい。
幾つかの実施形態において任意であるインデクササーバ250は、ロボットによってログに記録された情報を記憶し、インデックスを付ける。特定の実施形態において、インデクササーバ250は、コンフィギュレーション設定を通じて無効にされてもよい。幾つかの実施形態において、インデクササーバ250は、オープンソースプロジェクトの全文検索エンジンであるElasticSearch(登録商標)を使用する。ロボットによって(例えば、ログメッセージ、行書き込みなどのアクティビティを使用して)ログに記録されたメッセージは、ロギングRESTエンドポイントを介してインデクササーバ250に送られてもよく、そこで将来の利用のためにインデックスが付けられてもよい。
図3は、本発明の一実施形態による、デザイナ310とアクティビティ320、330とドライバ340との間の関係300を示すアーキテクチャ図である。上記のとおり、開発者は、デザイナ310を使用して、ロボットによって実行されるワークフローを開発する。ワークフローは、ユーザ定義のアクティビティ320とUI自動化アクティビティ330を含んでもよい。幾つかの実施形態は、本明細書においてコンピュータビジョン(CV)という、画像における非テキストのビジュアルコンポーネントを識別することができる。そのようなコンポーネントに関連する一部のCVアクティビティには、クリック(click)、タイプ(type)、テキストを取得(get text)、ホバー(hover)、要素の有無を検出(element exists)、スコープの更新(refresh scope)、ハイライト(highlight)などが含まれてもよいが、これらに限定されない。幾つかの実施形態において、クリック(click)は、例えば、CV、光学式文字認識(OCR)、ファジーテキストマッチング、及び複数のアンカーを使用する要素を識別し、クリックする。タイプ(type)は、上記を使用して要素を識別してもよく、要素内でタイプする。テキストを取得(get text)は、特定のテキストの位置を識別し、OCRを使用してスキャンしてもよい。ホバー(hover)は、要素を識別し、その上にホバーしてもよい。要素の有無を検出(element exists)は、上記の技術を使用して、要素が画面上に存在するか否かを確認してもよい。幾つかの実施形態において、デザイナ310で実装可能な数百又は数千ものアクティビティがあってもよい。しかし、本発明の範囲から逸脱することなく、任意の数及び/又は種類のアクティビティが利用可能であってもよい。
UI自動化アクティビティ330は、低レベルのコードで書かれた特別な低レベルのアクティビティ(例えば、CVアクティビティなど)のサブセットであり、画面との対話を容易にする。UI自動化アクティビティ330は、ロボットが所望のソフトウェアと対話することを可能にするドライバ340を介して、このような対話を容易にする。例えば、ドライバ340は、OSドライバ342、ブラウザドライバ344、VMドライバ346、エンタープライズアプリケーションドライバ348などを含んでもよい。
ドライバ340は、低レベルでOSと対話して、フックを探したりキーを監視したりするなどしてもよい。ドライバ340は、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/MLモデルを動的に更新する、又は再訓練して更新するように構成されたコンピューティングシステム500を示すアーキテクチャ図である。幾つかの実施形態において、コンピューティングシステム500は、本出願において図示及び/又は説明される一又は複数のコンピューティングシステムであってもよい。コンピューティングシステム500は、情報を通信するためのバス505又は他の通信メカニズムと、情報を処理するためにバス505に接続されたプロセッサ510とを含む。プロセッサ510は、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックスプロセッシングユニット(GPU)、それらの複数の例、及び/又はそれらのうちの任意の組み合わせを含む、任意の種類の汎用又は特定用途のプロセッサであってもよい。プロセッサ510はまた、複数の処理コアを有してもよく、コアの少なくとも一部が、特定の機能を実行するように構成されてもよい。幾つかの実施形態において、複数並列処理を使用されてもよい。特定の実施形態において、少なくとも1つのプロセッサ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)、Long Term Evolution(LTE)、LTEアドバンスト(LTE-A)、802.11x、Wi-Fi、Zigbee、超広帯域無線(UWB)、802.16x、802.15、Home Node-B(HnB)、Bluetooth、Radio Frequency Identification(RFID)、Infrared Data Association(IrDA)、Near-Field Communications(NFC)、第5世代(5G)、New Radio(NR)、これらのうちの任意の組み合わせ、及び/又は任意の他の現在存在する又は将来実施される通信規格及び/又はプロトコルを使用するように構成されてもよい。幾つかの実施形態において、通信デバイス520は、本発明の範囲から逸脱することなく、単一、アレイ、フェーズド、スイッチド、ビームフォーミング、ビームステアリング、これらのうちの組み合わせ、及び/又は任意の他のアンテナ構成である一又は複数のアンテナを含んでもよい。
プロセッサ510は、バス505を介して、例えばプラズマディスプレイ、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、電界放出ディスプレイ(FED)、有機発光ダイオード(OLED)ディスプレイ、フレキシブルOLEDディスプレイ、フレキシブル基板ディスプレイ、プロジェクションディスプレイ、4Kディスプレイ、高精細ディスプレイ、Retina(登録商標)ディスプレイ、インプレーンスイッチング(IPS)ディスプレイ、又はユーザに情報を表示するための任意の他の適切なディスプレイなどのディスプレイ525にさらに接続される。ディスプレイ525は、抵抗性、容量性、表面弾性波(SAW)容量性、赤外線、光学イメージング、分散信号技術、音響パルス認識、フラストレート全内部反射などを使用して、タッチ(触覚)ディスプレイ、3次元(3D)タッチディスプレイ、マルチ入力タッチディスプレイ、マルチタッチディスプレイなどとして構成されてもよい。任意の適切な表示デバイス及び触覚I/Oが、本発明の範囲から逸脱することなく、使用されてもよい。
キーボード530と、例えばコンピュータマウス、タッチパッドなどのようなカーソル制御デバイス535とが、さらにバス505に接続されて、ユーザがコンピューティングシステム500とインタフェースをとることを可能にする。しかし、特定の実施形態において、物理的なキーボード及びマウスが存在しなくてもよく、ユーザは、ディスプレイ525及び/又はタッチパッド(図示略)を介してのみデバイスとインタフェースをとってもよい。入力デバイスの任意の種類及び組み合わせが、設計上の選択事項として使用されてもよい。特定の実施形態において、物理的な入力デバイス及び/又はディスプレイが存在しない。例えば、ユーザは、コンピューティングシステム500と通信する別のコンピューティングシステムを介してリモートでコンピューティングシステム500と対話してもよく、或いは、コンピューティングシステム500は自律的に動作してもよい。
メモリ515は、プロセッサ510によって実行されると機能を提供するソフトウェアモジュールを記憶する。該モジュールは、コンピューティングシステム500用のオペレーティングシステム540を含む。モジュールは、本明細書に記載されているプロセス又はその派生のプロセスの全て又は一部を実行するように構成されるAI/MLモデル再訓練/更新モジュール545をさらに含む。コンピューティングシステム500は、追加の機能を含む一又は複数の追加の機能モジュール550を含んでもよい。
当業者は、「システム」が、本発明の範囲から逸脱することなく、サーバ、組込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングシステム、任意の他の適切なコンピューティングデバイス、又はデバイスの組み合わせとして具現化され得ることを理解するであろう。上記の機能を「システム」によって実行されるものとして示すことは、決して本発明の範囲を限定することを意図するものではなく、本発明の多くの実施形態の一例を示すことを意図する。実際、本明細書において開示される方法、システム、及び装置は、クラウドコンピューティングシステムを含むコンピューティング技術と整合するローカライズされ分散された形式で実装されてもよい。
本明細書に記載されているシステム機能の一部は、実装の独立性をより強調するため、モジュールとして示されていることに留意されたい。例えば、モジュールは、カスタムの超大規模集積(VLSI)回路又はゲートアレイを含むハードウェア回路、ロジックチップ、トランジスタ、又は他のディスクリートコンポーネントなどの既製の半導体として実装されてもよい。モジュールは、例えばフィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、グラフィックスプロセッシングユニットなどのプログラマブルハードウェアデバイスにおいて実装されてもよい。
モジュールは、様々な種類のプロセッサによる実行のため、ソフトウェアで少なくとも部分的に実装されてもよい。例えば、実行可能コードの識別されたユニットは、例えばオブジェクト、手順、又は機能として構成され得るコンピュータ命令の一又は複数の物理ブロック又は論理ブロックを含んでもよい。これにも関わらず、識別されたモジュールの実行可能ファイルは物理的に一緒に配置される必要はないが、論理的に結合されるとモジュールを含んでモジュールの上記目的を達成するような様々な場所に記憶された異種の命令を含んでもよい。さらに、モジュールは、本発明の範囲から逸脱することなく、コンピュータ読み取り可能な媒体に記憶されてもよく、コンピュータ読み取り可能な媒体は、例えば、ハードディスクドライブ、フラッシュデバイス、RAM、テープ、及び/又はデータを記憶するために使用される他のそのような非一時的なコンピュータ読み取り可能な媒体であってもよい。
実際、実行可能コードのモジュールは、単一の命令であっても多数の命令であってもよく、異なるプログラム間で複数の異なるコードセグメントにわたり、複数のメモリデバイスにわたって分散されてもよい。同様に、動作データが、識別されて、本明細書においてモジュール内に示されてもよく、任意の適切な形式で具体化され、任意の適切な種類のデータ構造内で構成されてもよい。動作データは、単一のデータセットとしてまとめられてもよく、或いは、異なるストレージデバイスを含む異なる場所に分散されてもよく、少なくとも部分的に、単にシステム又はネットワーク上の電子信号として存在してもよい。
RPAのコンテキストでは、AI/MLモデルは、例えば、ドラッグアンドドロップ機能を使用してRPAワークフローに統合され得るアクティビティの一部として利用可能であってもよい。アクティビティは、所望の種類の一又は複数の入力引数を含んでもよく、所望の種類の一又は複数の出力を返してもよい。AI/MLモデルは、アクティビティに直接組み込まれてもよく、或いは、外部ソースからロード/実行又は呼び出し/実行されてもよい。例えば、AI/MLモデルは、永久メモリ内のローカルファイル又はリモートファイル、サービス、ローカルデータベース又はリモートデータベース、ストリーム、非永久メモリ(例えば、RAM、プロセッサキャッシュなど)などから、ロード/実行又は呼び出し/実行されてもよい。例えば、AI/MLモデルがML.NETで訓練された場合、AI/MLモデルは実行時に外部.zipファイルからロードされて、初期化/インスタンス化されてもよい。
AI/MLモデルがローカルコンピューティングシステムに記憶されていない実装では、AI/MLモデルは、(幾つかの実施形態においてそれ自体がサーバであってもよい)コンピューティングシステム、異なるサイトのリモートサーバ(例えば、サーバファームなど)、クラウドストレージソリューションなどによってアクセス可能なオンサイトサーバに記憶され、提供又は実行されてもよい。AI/MLモデルは、本発明の範囲から逸脱することなく、ファイル、データベース(例えば、SQLを介して)、サービス、ユニバーサルリソースロケータ(URL)、ファイル転送プロトコル(FTP)、ストリームから、又は任意の他の適切なメカニズムを介して実行されてもよい。実際、本発明の範囲から逸脱することなく、AI/MLモデルがローカルコンピューティングシステムによってロード/実行又は呼び出し/実行され得る任意のアーキテクチャ/コンフィギュレーション。これは、RPAでない実施形態の場合にも当てはまってもよい。
RPA実装
非限定的な例として、顧客から受け取ったコメントの感情を監視するサービスとして実行されているRPAワークフロー(ワークフローはFSMとして実装されている)を考えてみる。このワークフローは、顧客のコメントを含む新しいファイルのフォルダを監視し、コメントの感情が肯定的か否定的かを示す。図6は、本発明の一実施形態による、実行時にAI/MLモデルを動的に更新する、又は再訓練して更新するように構成されたFSM600のフロー図のスクリーンショットである。FSM600はUiPath Studio(商標)に表示される。
初期状態610は、外部ファイルからAI/MLモデルをロードし、メモリにおいて、関連するAI/MLアクティビティがAI/MLモデルを呼び出すときにFSMがアクセス可能な変数に、AI/MLモデルを保持する。初期状態610のシーケンス及びリスニング状態620への遷移のさらなる詳細が、図7A及び図7Bに示されている。710で、初期状態610の状態が「init」に割り当てられる。この実施形態における初期化状態610は、AI/MLモデル、変数、及びデータがロード/初期化/インスタンス化されるFSM600のロジックにおける領域である。次に、720で、テキストが出力され、AI/MLモデルがロードされていることをユーザに知らせる。730で、変数AI_Model_InMemoが新しいメモリストリームとして作成される。この変数は、FSM600による使用のためにAI/MLモデルをRAMに記憶するであろう。しかし、上記のとおり、AI/MLモデルは、本発明の範囲から逸脱することなく、任意の記憶場所からロード及び/又は呼び出しされてもよい。
次に、740で、メソッドが呼び出され、ローカルディスクからAI/MLモデルをロードして、RAMにコピーする。図7Bの関連するプロパティ742も参照されたい。750で、fileStreamがAI/MLモデルに割り当てられ、760で、fileStreamはコピー動作を実行する。図7Bの関連するプロパティ752も参照されたい。初期化状態610の変数790を図7Bに示す。
fileStream変数は、データストアからロードされたAI/MLモデルを表すデータを保持する。ローカルディスクの場合、アクティビティがインスタンス化されたときに、この変数からアクティビティはAI/MLモデルをロードする(アクティビティオブジェクトのインスタンス化/作成では、コードの初期化セクションで、AI/MLモデルが外部変数からロードされ、入力の処理に実際に使用される内部変数(この場合はテキストパラメータ)に割り当てられる)。
AI/MLモデルがRAMにコピーされた後、770で、fileStreamは破棄され、780で、FSM600に「listen」状態が割り当てられる。これは、幾つかの実施形態においてトリガ(例えば、HTTPエンドポイントなど)に基づくインスタンス化を含んでもよい。これにより、init ready遷移622を介してFSM600がリスニング状態620に移行する。
リスニング状態620では、FRM600は要求をリッスンする(例えば、電子メールから、サービスから、チャットボットから、フォルダ内のファイルの存在を定期的にチェックするなど)。図6の例では、リスニング状態620は、フォルダに記憶された情報技術(IT)サービスチケットテキストファイルを処理する要求をリッスンする。図8のITServiceDesk Ticket800を参照されたい。図8におけるテキストは、AI/MLモデルが感情について分析する、ITサービスデスクによって実行されたサービスに対する顧客からのフィードバックである。
新しい処理要求632が受け付けられると、630で、FSM600は項目処理状態に移行する。項目処理状態630のシーケンス910を図9に示す。シーケンス910は、ロボットが現在項目を処理していることをユーザに知らせる行書き込みアクティビティ912を含む。「for each」アクティビティ920により、ロボットは、ロボットがデータを反復処理して各情報を個別に処理できるように、配列、リスト、データテーブル、又は他の種類のコレクションをステップ実行する。この例では、「for each」アクティビティ920の条件922は、選択されたフォルダ内の各ファイルに対するものである。
「for each」アクティビティ920のボディ930は、他のネストされたアクティビティを含む。テキストファイル読み込みアクティビティ932は、「for each」アクティビティ920がフォルダ内で反復処理している現在のファイルのテキストを読み込む。このテキストは、感情分析AI/MLモデルアクティビティ934への入力として含まれる。行書き込みアクティビティ936は、ユーザが見ることができるように感情分析AI/MLモデルアクティビティ934からの出力を書き込み、ファイル移動アクティビティ938は、「for each」アクティビティ920が分析を完了した現在のファイルを異なるフォルダ内に移動する。
感情分析AI/MLモデルアクティビティ934によって呼び出されるAI/MLモデルのプロパティ1000を図1000に示す。より詳細には、表示名1010、AI/MLモデルがソースファイル1020からのものかストリーム1030からのものか、分析されるコンテンツがテキストであることを示す設定1040、及び出力される結果1050が設けられている。プロパティ1000は、実装の要求に応じてユーザによってカスタマイズ又は変更されてもよい。
634で、項目処理状態630が完了すると、FSM600はリスニング状態620に戻る。FSM600は、再訓練要求642又は新しいAI/MLモデル通知652が受け付けられるまで、リスニング状態620及び項目処理状態630で要求の処理を続ける。再訓練要求642が受け付けられると(例えば、ユーザ又はソフトウェアアプリケーションによって再訓練が要求されたとき、再訓練用の新しいデータセットが受け付けられたとき、再訓練用の特定の量のデータが受け付けられた後、最初の訓練又は最後の再訓練から一定の時間が経過した後など)、FSM600は、再訓練初期状態640に入ることで、AI/MLモデルを再訓練する。これは、FSM600を実行するコンピューティングシステムでローカルに実行されてもよいし、FSM600を実行するコンピューティングシステムの外部の他のコンピューティングシステムによって実行されてもよいし、又はこれらの組み合わせであってもよい。例えば、FSM600を実行しているコンピューティングシステムがパーソナルコンピュータで、AI/MLモデルが複雑である場合、AI/MLモデルの訓練用に最適化された強力なサーバでAI/MLモデルを再訓練すること(例えば、複数のCPU及びGPUを使用する、サーバが処理タスクを分割するような複数のサーバを使用して分散訓練を実行するなど)は有益である可能性がある。例えば、図14のシステム1400を参照されたい。
この例では、AI/MLモデルの再訓練がローカルで行われ、再訓練中の進行状況をユーザに示すウィンドウが表示されてもよい。例えば、再訓練が95%の信頼区間で完了している、図11の再訓練ウィンドウ1100を参照されたい。FSM600の動作に関するステータスメッセージも表示されてもよい。図11のステータスメッセージ1110を参照されたい。次に、FSM600は、作業644を再開し、リスニング状態620に戻る。これにより、FSM600は、AI/MLモデルが再訓練されている間、要求の処理を続けることができる。
新しいAI/MLモデル又は現在のAI/MLモデルの再訓練されたバージョンが利用可能であるという通知652が受け付けられると、FSM600は更新状態650に入る。図12にAI/MLモデル更新中のFSM実行ステータス1200を示す。更新状態650において、AI/MLモデルファイルが、新しいAI/MLモデルファイルに変更される。これにより、基本的に、本番環境のAI/MLモデルを更新されたAI/MLモデルに置き換える。次に、FSM600は遷移654に入り、新しいAI/MLモデルで再初期化し、FSM600は初期状態610に戻り、そこで新しいAI/MLモデルが初期化される。
図13は、本発明の一実施形態による、AI/MLモデルを更新するためのシーケンス1300を示すスクリーンショットである。行書き込みアクティビティ1310は、AI/MLモデルが更新されていることをユーザに知らせる。再訓練確認アクティビティ1320は、AI/MLモデルの再訓練が現在行われているか否かを確認する。再訓練が行われている場合、シーケンス1300は、再訓練が完了するまでAI/MLモデルの更新を遅らせる。ファイル移動アクティビティ1330は、新しいAI/MLモデルをそれが記憶される場所に移動させ、状態割り当てアクティビティ1340は、FSM600の状態を初期状態610に割り当てる。これで、FSM600は、更新及び/又は再訓練されたAI/MLモデルで初期化されることができる。
AI/MLモデル更新又は再訓練及び更新アーキテクチャ
上記のとおり、幾つかの実施形態において、AI/MLモデルの再訓練は、デジタルプロセスを実行するコンピューティングシステムから遠隔で行われてもよい。図14は、本発明の一実施形態による、AI/MLモデルを再訓練するように構成されたシステム1400を示すアーキテクチャ図である。システム1400は、例えばデスクトップコンピュータ1402、タブレット1404、スマートフォン1406などのユーザコンピューティングシステムを含む。しかし、本発明の範囲から逸脱することなく、スマートウォッチ、ラップトップコンピュータ、モノのインターネット(IoT)デバイス、車両コンピューティングシステムなどを含むがこれらに限定されない、任意の所望のコンピューティングシステムが使用されてもよい。
各コンピューティングシステム1402、1404、1406はそこで実行されるデジタルプロセス1410を有し、デジタルプロセス1410はAI/MLモデルを呼び出し且つ/又は実行する。デジタルプロセス1410は、発明の範囲から逸脱することなく、RPAデザイナアプリケーションを介して生成されたロボットであってもよいし、オペレーティングシステムの一部であってもよいし、パーソナルコンピュータ(PC)又はスマートフォン用のダウンロード可能なアプリケーションであってもよいし、或いは任意の他のソフトウェア及び/又はハードウェアであってもよい。実際、幾つかの実施形態において、一又は複数のデジタルプロセス1410のロジックが、物理的なハードウェアを介して部分的又は完全に実装される。
デジタルプロセス1410は、ネットワーク1420(例えば、ローカルエリアネットワーク(LAN)、モバイル通信ネットワーク、衛星通信ネットワーク、インターネット、これらのうちの任意の組み合わせなど)を介してサーバ1430に、AI/MLモデル更新要求、又は再訓練及び更新要求を送る。幾つかの実施形態において、サーバ1430は、コンダクタアプリケーションを実行してもよく、データは、ハートビートメッセージの一部として定期的に送られてもよい。特定の実施形態において、所定の量の再訓練データが収集された後、所定の時間が経過した後、又はその両方で、要求がサーバ1430に送られてもよい。サーバ1430は、様々なバージョンのAI/MLモデルをデータベース1440に記憶する。
人間のユーザ(例えば、RPAエンジニア、データサイエンティストなど)から指示されたとき、所定の量の再訓練データが収集されたとき、最後の再訓練から所定の時間が経過したとき、再訓練要求が受け付けられたときなどに、サーバ1430は、複数のAI層1432を介して再訓練データを実行する。AI層1432は、データを処理し、AI/MLモデルの再訓練されたバージョンを生成する。AI層1432は、統計的モデリング(例えば、隠れマルコフモデル(HMM)など)を実行し、深層学習技術(例えば、長期短期記憶(LSTM)深層学習、以前の隠れ状態の符号化など)を利用してもよい。
特定の実施形態において、データサイエンティストが、AI/MLモデルの再訓練を開始及び/又は監視してもよい。例えば、データサイエンティストは、再訓練データセットに追加データを補足したり、再訓練されたAI/MLモデルが所望の信頼区間を達成できない場合に、異なる又は補足された訓練データを使用してAI/MLモデルを再訓練したりしてもよい。データサイエンティストは、AI/MLモデルが準備され承認されたときに更新通知を生成し、それをユーザコンピューティングシステム1402、1404、1406に送ってもよい。或いは、サーバ1430が該通知を生成してもよい
幾つかの実施形態において、複数のAI層1432が使用されてもよい。各AI層1432は、再訓練データで実行されるアルゴリズム(又はモデル)であり、AI/MLモデル自体は、訓練データで訓練された訓練済み人工「ニューロン」の深層学習ニューラルネットワーク(DLNN)であってよい。層は順番に又は並列に実行されてもよい。
AI層1432は、シーケンス抽出層、クラスタリング検出層、ビジュアルコンポーネント検出層、テキスト認識層(例えば、OCRなど)、音声からテキストへの変換層、一又は複数の種類の層の複数のインスタンス、又はこれらのうちの任意の組み合わせを含んでもよいが、これらに限定されない。本発明の範囲から逸脱することなく、任意の所望の数及び種類の層が使用されてもよい。複数の層を使用することにより、システムが画面又はプロセスで何が起こっているかを全体的に把握することが可能であってもよい。例えば、あるAI層がOCRを実行し、別のAI層がボタンを検出するなどしてもよい。パターンは、AI層によって個別に、又は複数のAI層によってまとめて決定されてもよい。
AI/MLモデル更新又は再訓練及び更新プロセス
図15は、本発明の一実施形態による、実行時のAI/MLモデルの動的再訓練及び更新のためのデジタルプロセス1500を示すアーキテクチャ図である。図示する実施形態において、デジタルプロセス1500はFSMである。しかし、本明細書における概念は、本発明の範囲から逸脱することなく、任意の適切なデジタルプロセスで具現化されてもよい。デジタルプロセス1500は、初期/インスタンス化状態1510で始まり、AI/MLモデルを該プロセスによって呼び出し可能にする。開始/インスタンス化状態1510は、AI/MLモデルのインスタンス化/初期化コンポーネント1512、及びコンポーネント1514のデジタルプロセス1500の他のプロパティ及びコンポーネントのインスタンス化又は初期化を含む。
初期化が完了すると、デジタルプロセス1500は作業/処理状態1520に移行する。作業/処理状態1520では、デジタルプロセス1500は作業要求1530及びAI/MLモデルの再訓練又は更新要求1540をリッスンし、作業/要求処理コンポーネント1522を介して要求処理を実行する。作業要求1530及びAI/MLモデル再訓練又は更新要求1540は、内部(即ち、デジタルプロセス1500を実行するコンピューティングシステムから)にあっても又は外部(即ち、別のコンピューティングシステムから)にあってもよい。
作業要求1530が受け取られると、AI/MLモデルの情報がAI/MLモデルコンポーネント1524への入力として提供される。AI/MLモデルコンポーネント1524は、入力情報を処理し、出力を作業/要求処理コンポーネント1522に提供する。次に、作業/要求処理コンポーネント1522は、AI/MLモデルコンポーネント1524の実行の結果に関連する情報と共に、作業要求1530に関連するリクエスタ(例えば、別のソフトウェアアプリケーションなど)への応答を提供する。
作業/要求処理コンポーネント1522がAI/MLモデル再訓練要求1540を受け取ると、これはAI/MLモデル更新状態1550のAI/MLモデル再訓練コンポーネント1552に送られる。AI/MLモデルを再訓練するための新しいデータ1662が、AI/MLモデルストア1560(例えば、データベースなど)から読み込まれ、再訓練された(新しい)AI/MLモデル1564が、AI/MLモデルストア1560に書き込まれる。次に、リロード/再初期化/再インスタンス化コンポーネント1554が、再訓練された(新しい)AI/MLモデル1564を伴うデジタルプロセス1500をリロード/再初期化/再インスタンス化し、その後、デジタルプロセス1500は、作業/処理状態1520に戻り、再訓練された(新しい)AI/MLモデル1564を使用する。
図16は、本発明の一実施形態による、実行時のAI/MLモデル動的更新のためのデジタルプロセス1600を示すアーキテクチャ図である。図示する実施形態において、デジタルプロセス1600はFSMである。しかし、本明細書における概念は、本発明の範囲から逸脱することなく、任意の適切なデジタルプロセスで具現化されてもよい。
デジタルプロセス1500と同様に、デジタルプロセス1600は、初期化/インスタンス化1610、作業/処理状態1520、及び作業要求1630を含む。初期化/インスタンス化1610は、一又は複数のAI/MLモデルのインスタンス化又は初期化のためのコンポーネント1612、及びデジタルプロセス1600の他のプロパティ及びコンポーネントのインスタンス化又は初期化のためのコンポーネント1614を含む。作業/処理状態1520は、作業/要求処理コンポーネント1622及びAI/MLモデルコンポーネント1524を含む。しかし、この実施形態では、デジタルプロセス1600は、AI/MLモデルの再訓練に関与しない。したがって、デジタルプロセス1600は、AI/MLモデル更新要求1640を受け取る。
AI/MLモデル更新要求1640が作業/要求処理コンポーネント1622によって受け取られると、AI/MLモデル更新要求1640は、AI/MLモデル更新状態1650のリロード/再初期化/再インスタンス化コンポーネント1652に送られる。次に、AI/MLモデルストア1660からの新しい(又は別で再訓練された)AI/MLモデル1662を伴うデジタルプロセス1500をリロード/再初期化/再インスタンス化する。その後、デジタルプロセス1600は、作業/処理状態1620に戻り、新しいAI/MLモデル1662を使用する。
図17は、本発明の一実施形態による、実行中のデジタルプロセスにおけるAI/MLモデルの動的更新、又は動的再訓練及び更新のためのプロセス1700を示すフローチャートである。該プロセスは、1710で、AI/MLモデルの実行要求、再訓練要求、又は更新要求の要求をリッスンすることから始まる。1720で再訓練要求が受け付けられた場合、又は1730で別の再訓練条件が満たされた場合、1740でAI/MLモデルの再訓練が開始される。プロセス1700を実装するデジタルプロセスが、再訓練が行われている間、AI/MLモデルの現在のバージョンで実行を継続してもよい。
幾つかの実施形態において、デジタルプロセスは、RPAワークフロー、BPMフローチャート、シーケンシャルフロー、又はFSMである。特定の実施形態において、FSMは、RPAワークフローの一部であってもよい。特定の実施形態において、AI/MLモデルは、RPAワークフローのアクティビティによって呼び出される。幾つかの実施形態において、AI/MLモデルは、RPAワークフローのアクティビティに直接組み込まれる。
他の再訓練条件が、AI/MLモデルの自動再訓練のメカニズムを提供してもよい。このような条件は、受け取られている所定の量の訓練データ、最後の再訓練から経過している所定の時間、これらの組み合わせなどを含んでもよい。本発明の範囲から逸脱することなく、自動再訓練のための任意の再訓練条件が使用されてもよい。
1750で更新要求が受け付けられると、1760でAI/MLモデルが更新され、デジタルプロセスが再初期化又は再インスタンス化される。幾つかの実施形態において、これは、再訓練されたAI/MLモデルのパフォーマンスを、パフォーマンス閾値、以前のバージョンのAI/MLモデルのパフォーマンス、又はこれら両方と比較することと、新しいバージョンがパフォーマンス基準を満たしている場合にAI/MLモデルをただ更新することとを含んでもよい。特定の実施形態において、これらの基準が満たされない場合、更新要求は送られない。
1770でAI/MLモデルの実行要求が受け付けられた場合、1780でAI/MLモデルが実行される。ステップ1720、1730、1750、1770のいずれも満たされない場合、1710で、プロセスはAI/MLモデルの再訓練要求又は更新要求のリスニングに戻る。プロセス1700を実装するデジタルプロセスが停止されるまで、プロセス1700が実行を継続してもよい。
図15~図17で実行されるプロセスステップは、本発明の一実施形態に従って、コンピュータプログラムによって実行されて、図15~図17に記載されているプロセスの少なくとも一部をプロセッサが実行するための命令を符号化してもよい。コンピュータプログラムは、非一時的なコンピュータ読み取り可能な媒体で具現化されてもよい。コンピュータ読み取り可能な媒体は、ハードディスクドライブ、フラッシュデバイス、RAM、テープ、及び/又はデータを記憶するために使用される他のそのような媒体又は媒体の組み合わせであってもよいが、これらに限定されない。コンピュータプログラムは、図15~図17に記載されたプロセスステップの全て又は一部を実施するようにコンピューティングシステムのプロセッサ(例えば、図5のコンピューティングシステム500のプロセッサ510など)を制御するための符号化された命令を含んでもよく、これも、コンピュータ読み取り可能な媒体に記憶されてもよい。
コンピュータプログラムは、ハードウェア、ソフトウェア、又はハイブリッド実装で実装されてもよい。コンピュータプログラムは、互いに動作可能に通信し、表示する情報又は命令を渡すように設計されたモジュールで構成されてもよい。コンピュータプログラムは、汎用コンピュータ、ASIC、又は任意の他の適切なデバイスで動作するように構成されてもよい。
本発明の様々な実施形態の構成要素は、本願の図面で一般的に記載され示されているように、多種多様な異なる構成で配置、設計されてもよいことは容易に理解されるであろう。したがって、添付の図面に表されている本発明の実施形態の詳細な説明は、クレームされている本発明の範囲を限定することを意図しておらず、単に本発明の選択された実施形態を表すものである。
本明細書全体を通して説明される本発明の特徴、構造、又は特性は、一又は複数の実施形態において任意の適切な方法で組み合わせられてもよい。例えば、本明細書全体を通して「特定の実施形態」、「幾つかの実施形態」、又は類似の文言への言及は、実施形態に関連して説明される特定の特徴、構造、又は特性が本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通して「特定の実施形態において」、「幾つかの実施形態において」、「他の実施形態において」という語句、又は同様の文言の出現は、必ずしも全て同じ実施形態のグループを指すとは限らず、説明された特徴、構造、又は特性は、一又は複数の実施形態において任意の適切な方法で組み合わせられてもよい。
本明細書全体を通して特徴、利点、又は同様の文言への言及は、本発明で実現され得る特徴及び利点の全てが本発明の任意の単一の実施形態であるか或いはそれに含まれることを意味しないことに留意されたい。むしろ、特徴及び利点に言及する文言は、実施形態に関連して説明される特定の特徴、利点、又は特性が本発明の少なくとも1つの実施形態に含まれることを意味すると理解される。したがって、本明細書全体を通して特徴、利点、及び類似の文言の説明は、必ずしもそうではないが、同じ実施形態を指してもよい。
さらに、本発明の説明された特徴、利点、及び特性は、一又は複数の実施形態において任意の適切な方法で組み合わせられてもよい。当業者は、特定の実施形態の特定の特徴又は利点のうちの一又は複数がなくても本発明を実施できることを認識するであろう。他の例において、本発明の全ての実施形態には存在しない可能性がある特定の実施形態において、追加の特徴及び利点が認識されてもよい。
当業者は、上記の本発明が異なる順序のステップで、及び/又は開示されているものとは異なる構成のハードウェア要素で実施されてもよいことを容易に理解するであろう。したがって、本発明をこのような好ましい実施形態に基づいて説明してきたが、本発明の主旨及び範囲内にありながら、特定の修正、変形、及び代替構造が明らかであることは当業者には明らかであろう。したがって、本発明の境界及び範囲を決定するために、添付の特許請求の範囲を参照されたい。

Claims (19)

  1. コンピューティングシステムで実行されているデジタルプロセスによって、人工知能(AI)/機械学習(ML)モデルの更新要求をリッスンすることと、
    前記AI/MLモデルを更新するための更新要求が受け付けられたときに、前記コンピューティングシステムで実行されている前記デジタルプロセスによって、前記デジタルプロセスを再初期化又は再インスタンス化して前記AI/MLモデルの更新されたバージョンを呼び出し、別の更新要求をリッスンすることと、
    を含むコンピュータ実施方法であって、
    前記AI/MLモデルの更新は、前記デジタルプロセスの実行中に行われ、
    前記デジタルプロセスは、ロボティックプロセスオートメーション(RPA)ワークフローを含み、
    前記AI/MLモデルは、前記RPAワークフローのアクティビティによって呼び出されることを特徴とするコンピュータ実施方法。
  2. 前記コンピューティングシステムで実行されている前記デジタルプロセスによって、前記AI/MLモデルの再訓練要求をリッスンすることと、
    前記AI/MLモデルを再訓練するための再訓練要求が受け付けられたときに、前記コンピューティングシステムで実行されている前記デジタルプロセスによって、前記AI/MLモデルの再訓練を開始することと、
    をさらに含み、
    前記AI/MLモデルの再訓練は、前記デジタルプロセスの実行中に行われることを特徴とする、請求項1に記載のコンピュータ実施方法。
  3. 前記AI/MLモデルの再訓練は、前記デジタルプロセスを実行している前記コンピューティングシステムとは異なる一又は複数の他のコンピューティングシステムによって行われることを特徴とする、請求項2に記載のコンピュータ実施方法。
  4. 前記更新要求が受け付けられるまで、前記コンピューティングシステムで実行されている前記デジタルプロセスによって、再訓練中に前記AI/MLモデルの現在のバージョンを使用することをさらに含むことを特徴とする、請求項2に記載のコンピュータ実施方法。
  5. 前記コンピューティングシステムで実行されている前記デジタルプロセスによって、再訓練された前記AI/MLモデルのパフォーマンスを、パフォーマンス閾値、前記AI/MLモデルの以前のバージョンのパフォーマンス、又はこれら両方と比較することと、
    再訓練された前記AI/MLモデルが前記パフォーマンス閾値、前記AI/MLモデルの以前のバージョンのパフォーマンス、又はこれら両方を超えるときに、前記コンピューティングシステムで実行されている前記デジタルプロセスによって、前記AI/MLモデルを更新することと、
    をさらに含むことを特徴とする、請求項2に記載のコンピュータ実施方法。
  6. 所定の量の訓練データが受け取られた後、最後の再訓練から所定の時間が経過した後、又はこれら両方の場合に、前記コンピューティングシステムで実行されている前記デジタルプロセスによって、前記AI/MLモデルの再訓練を自動的に開始することをさらに含むことを特徴とする、請求項1に記載のコンピュータ実施方法。
  7. 前記デジタルプロセスは、ビジネスプロセス管理(BPM)フローチャート、シーケンシャルフロー、又は有限状態機械(FSM)を含むことを特徴とする、請求項1に記載のコンピュータ実施方法。
  8. 前記AI/MLモデルは前記RPAワークフローの前記アクティビティに直接組み込まれることを特徴とする、請求項1に記載のコンピュータ実施方法。
  9. 前記デジタルプロセスは、前記AI/MLモデルをストレージからロードする又は前記AI/MLモデルを前記デジタルプロセスによって呼び出し可能にする初期状態を含むことを特徴とする、請求項1に記載のコンピュータ実施方法。
  10. デジタルプロセスを含むコンピュータプログラムであって、
    人工知能(AI)/機械学習(ML)モデルの再訓練要求及び更新要求をリッスンすることと、
    前記AI/MLモデルを再訓練するための再訓練要求が受け付けられたときに、前記AI/MLモデルの再訓練を開始することと、
    前記AI/MLモデルを更新するための更新要求が受け付けられたときに、前記デジタルプロセスを再初期化又は再インスタンス化して前記AI/MLモデルの更新されたバージョンを呼び出し、別の再訓練要求又は更新要求をリッスンすることと、
    を少なくとも1つのプロセッサに実行させるように構成され、
    前記AI/MLモデルの再訓練又は更新は、前記デジタルプロセスの実行中に行われ、
    前記デジタルプロセスは、ロボティックプロセスオートメーション(RPA)ワークフローを含み、
    前記AI/MLモデルは、前記RPAワークフローのアクティビティによって呼び出されることを特徴とするコンピュータプログラム。
  11. 前記更新要求が受け付けられるまで、再訓練中に前記AI/MLモデルの現在のバージョンを使用すること
    を前記少なくとも1つのプロセッサにさらに実行させるように構成されていることを特徴とする、請求項10に記載のコンピュータプログラム。
  12. 再訓練された前記AI/MLモデルのパフォーマンスを、パフォーマンス閾値、前記AI/MLモデルの以前のバージョンのパフォーマンス、又はこれら両方と比較することと、
    再訓練された前記AI/MLモデルが前記パフォーマンス閾値、前記AI/MLモデルの以前のバージョンのパフォーマンス、又はこれら両方を超えるときに、前記AI/MLモデルを更新することと、
    を前記少なくとも1つのプロセッサにさらに実行させるように構成されていることを特徴とする、請求項10に記載のコンピュータプログラム。
  13. 所定の量の訓練データが受け取られた後、最後の再訓練から所定の時間が経過した後、又はこれら両方の場合に、前記AI/MLモデルの再訓練を自動的に開始すること
    を前記少なくとも1つのプロセッサにさらに実行させるように構成されていることを特徴とする、請求項10に記載のコンピュータプログラム。
  14. 前記AI/MLモデルは前記RPAワークフローの前記アクティビティに直接組み込まれることを特徴とする、請求項10に記載のコンピュータプログラム。
  15. デジタルプロセスを含むコンピュータプログラムの命令を記憶するメモリと、
    前記命令を実行するように構成された少なくとも1つのプロセッサと、
    を備えるコンピューティングシステムであって、
    前記命令は、
    人工知能(AI)/機械学習(ML)モデルの再訓練要求及び更新要求をリッスンすることと、
    前記AI/MLモデルを再訓練するための再訓練要求が受け付けられたときに、前記AI/MLモデルの再訓練を開始することと、
    前記AI/MLモデルを更新するための更新要求が受け付けられたときに、前記コンピューティングシステムで実行されている前記デジタルプロセスによって、前記デジタルプロセスを再初期化又は再インスタンス化して前記AI/MLモデルの更新されたバージョンを呼び出し、別の更新要求をリッスンすることと、
    を前記少なくとも1つのプロセッサに実行させるように構成され、
    前記AI/MLモデルの再訓練は、前記デジタルプロセスの実行中に行われ、
    前記AI/MLモデルの更新は、前記デジタルプロセスの実行中に行われ、
    前記デジタルプロセスは、ロボティックプロセスオートメーション(RPA)ワークフローを含み、
    前記AI/MLモデルは、前記RPAワークフローのアクティビティによって呼び出されることを特徴とするコンピューティングシステム。
  16. 前記コンピュータプログラムは、
    前記更新要求が受け付けられるまで、再訓練中に前記AI/MLモデルの現在のバージョンを使用すること
    を前記少なくとも1つのプロセッサにさらに実行させるように構成されていることを特徴とする、請求項15に記載のコンピューティングシステム。
  17. 前記コンピュータプログラムは、
    再訓練された前記AI/MLモデルのパフォーマンスを、パフォーマンス閾値、前記AI/MLモデルの以前のバージョンのパフォーマンス、又はこれら両方と比較することと、
    再訓練された前記AI/MLモデルが前記パフォーマンス閾値、前記AI/MLモデルの以前のバージョンのパフォーマンス、又はこれら両方を超えるときに、前記AI/MLモデルを更新することと、
    を前記少なくとも1つのプロセッサにさらに実行させるように構成されていることを特徴とする、請求項15に記載のコンピューティングシステム。
  18. 前記コンピュータプログラムは、
    所定の量の訓練データが受け取られた後、最後の再訓練から所定の時間が経過した後、又はこれら両方の場合に、前記AI/MLモデルの再訓練を自動的に開始すること
    を前記少なくとも1つのプロセッサにさらに実行させるように構成されていることを特徴とする、請求項15に記載のコンピューティングシステム。
  19. 前記AI/MLモデルは前記RPAワークフローの前記アクティビティに直接組み込まれることを特徴とする、請求項15に記載のコンピューティングシステム。

JP2020125400A 2019-12-20 2020-07-22 実行時のデジタルプロセスにおける人工知能/機械学習モデルの動的な更新、又は再訓練及び更新 Active JP7088989B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/722,301 US11822913B2 (en) 2019-12-20 2019-12-20 Dynamic artificial intelligence / machine learning model update, or retrain and update, in digital processes at runtime
US16/722,301 2019-12-20

Publications (2)

Publication Number Publication Date
JP2021099778A JP2021099778A (ja) 2021-07-01
JP7088989B2 true JP7088989B2 (ja) 2022-06-21

Family

ID=70326845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020125400A Active JP7088989B2 (ja) 2019-12-20 2020-07-22 実行時のデジタルプロセスにおける人工知能/機械学習モデルの動的な更新、又は再訓練及び更新

Country Status (5)

Country Link
US (2) US11822913B2 (ja)
EP (1) EP3839725A1 (ja)
JP (1) JP7088989B2 (ja)
KR (1) KR102453988B1 (ja)
CN (1) CN113011828B (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11611633B2 (en) 2017-12-29 2023-03-21 Asg Technologies Group, Inc. Systems and methods for platform-independent application publishing to a front-end interface
US11074063B2 (en) * 2019-09-10 2021-07-27 International Business Machines Corporation Automatic upgrade of robotic process automation using a computer
US11055067B2 (en) * 2019-10-18 2021-07-06 Asg Technologies Group, Inc. Unified digital automation platform
US11693982B2 (en) 2019-10-18 2023-07-04 Asg Technologies Group, Inc. Systems for secure enterprise-wide fine-grained role-based access control of organizational assets
US11431583B2 (en) * 2019-11-22 2022-08-30 Huawei Technologies Co., Ltd. Personalized tailored air interface
US20210342736A1 (en) * 2020-04-30 2021-11-04 UiPath, Inc. Machine learning model retraining pipeline for robotic process automation
CN115917446A (zh) * 2020-05-01 2023-04-04 蓝色棱镜有限公司 用于机器人过程自动化的系统和方法
EP3907672A1 (en) * 2020-05-04 2021-11-10 Siemens Aktiengesellschaft Distributing order execution in a mom system
US11604627B2 (en) * 2020-05-07 2023-03-14 UiPath Inc. Systems and methods for on-demand provisioning of robotic process automation environments
KR20210156192A (ko) * 2020-05-13 2021-12-24 유아이패스, 인크. 로봇 프로세스 자동화를 위한 애플리케이션 통합
US11494203B2 (en) * 2020-05-13 2022-11-08 UiPath, Inc. Application integration for robotic process automation
CN111756853A (zh) * 2020-06-30 2020-10-09 北京来也网络科技有限公司 一种rpa模拟训练方法及装置、计算设备、存储介质
US12019421B2 (en) * 2020-07-09 2024-06-25 UiPath, Inc. Robot access control and governance for robotic process automation
US11733668B2 (en) * 2020-07-09 2023-08-22 UiPath, Inc. Robot access control and governance for robotic process automation
US11461374B2 (en) * 2020-08-06 2022-10-04 UiPath, Inc. Entity engine of a computing platform
US11232170B1 (en) 2020-09-08 2022-01-25 UiPath, Inc. Application-specific graphical element detection
US11507259B2 (en) * 2020-09-08 2022-11-22 UiPath, Inc. Graphical element detection using a combined series and delayed parallel execution unified target technique, a default graphical element detection technique, or both
US11822447B2 (en) 2020-10-06 2023-11-21 Direct Cursus Technology L.L.C Methods and servers for storing data associated with users and digital items of a recommendation system
US20220164700A1 (en) * 2020-11-25 2022-05-26 UiPath, Inc. Robotic process automation architectures and processes for hosting, monitoring, and retraining machine learning models
IT202000029291A1 (it) * 2020-12-01 2022-06-01 Volumio S R L Apparecchiatura elettronica basata su rete neurale
US20220188697A1 (en) * 2020-12-11 2022-06-16 UiPath, Inc. Supplementing artificial intelligence (ai) / machine learning (ml) models via action center, ai/ml model retraining hardware control, and ai/ml model settings management
CN112394950B (zh) * 2021-01-19 2021-04-27 共达地创新技术(深圳)有限公司 Ai模型部署方法、设备和存储介质
US11818806B2 (en) * 2021-05-18 2023-11-14 Qualcomm Incorporated ML model training procedure
US11537416B1 (en) 2021-06-10 2022-12-27 NTT DATA Services, LLC Detecting and handling new process scenarios for robotic processes
US11809883B2 (en) * 2021-07-08 2023-11-07 UiPath, Inc. Image pattern matching to robotic process automations
US20230032516A1 (en) * 2021-07-27 2023-02-02 UiPath, Inc. Common platform for implementing rpa services on customer premises
US20230108560A1 (en) * 2021-10-04 2023-04-06 Changfeng C Wang Methods and Systems for Representation, Composition and Execution of Artificial Intelligence Centric Applications
KR102622170B1 (ko) 2021-11-09 2024-01-05 에스케이 주식회사 Ai 모델 서빙 시스템 및 방법
WO2024019352A1 (ko) * 2022-07-21 2024-01-25 엘지전자 주식회사 무선 통신 시스템에서 신호 송수신 방법 및 장치
CN115063122B (zh) * 2022-08-08 2022-11-11 杭州实在智能科技有限公司 用于rpa连接ai算法平台的方法及系统
CN117998437A (zh) * 2022-11-03 2024-05-07 展讯通信(上海)有限公司 Ai模型更新方法及通信装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119149A (en) 1998-06-05 2000-09-12 I2 Technologies, Inc. System and process allowing collaboration within and between enterprises for optimal decision making
JP2001137237A (ja) 1999-11-12 2001-05-22 Toshiba Corp 超音波診断装置
JP2005309712A (ja) 2004-04-21 2005-11-04 Sharp Corp 楽曲検索システムおよび楽曲検索方法
JP5279980B2 (ja) 2004-01-08 2013-09-04 日本電信電話株式会社 単一モード光ファイバ
US20160070596A1 (en) 2013-04-15 2016-03-10 P. Ashok Anand Workflow Execution System and Method for Cloud Environment
WO2019215994A1 (ja) 2018-05-08 2019-11-14 日本電気株式会社 画像判定システム、画像判定方法および画像判定プログラム
JP2019206041A (ja) 2018-05-28 2019-12-05 キヤノン株式会社 ロボット制御装置、システム、情報処理方法及びプログラム

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05279980A (ja) 1992-03-31 1993-10-26 Toshiba Corp 回収ボイラ制御装置
US6458081B1 (en) 1999-04-23 2002-10-01 Kabushiki Kaisha Toshiba Ultrasonic diagnostic apparatus
WO2005008404A2 (en) 2003-07-11 2005-01-27 Computer Associates Think, Inc. Modeling of applications and business process services through auto discovery analysis
US20050251527A1 (en) * 2004-05-07 2005-11-10 Mark Phillips System and method for integrating disparate data and application sources using a web services orchestration platform with business process execution language (BPEL)
US7937269B2 (en) 2005-08-22 2011-05-03 International Business Machines Corporation Systems and methods for providing real-time classification of continuous data streams
US20130035973A1 (en) 2011-08-01 2013-02-07 Infosys Limited Assessing green it maturity and providing green it recommendations
US8869101B2 (en) 2011-11-30 2014-10-21 Software Ag Automated implementation of business service communication and/or linkage of executable processes through automatic generation and population of variables
US20160080422A1 (en) 2014-09-12 2016-03-17 International Business Machines Corporation Transforming business policies to information technology security control terms for improved system compliance
US9690644B2 (en) 2014-11-06 2017-06-27 International Business Machines Corporation Cognitive analysis for healing an IT system
KR20170032133A (ko) 2015-09-14 2017-03-22 서울대학교산학협력단 인메모리 트랜잭션 데이터베이스 내장 실시간 기계학습 아키텍쳐
KR20170101455A (ko) 2016-02-29 2017-09-06 성균관대학교산학협력단 빅데이터 플랫폼 기반의 인공지능 딥러닝 네트워크 구축을 활용한 3d 카메라를 장착한 로봇의 트레이닝 방법
CA2971784A1 (en) * 2016-06-23 2017-12-23 Radicalogic Technologies, Inc. Healthcare workflow system
US20180032393A1 (en) 2016-08-01 2018-02-01 International Business Machines Corporation Self-healing server using analytics of log data
US11370113B2 (en) * 2016-09-06 2022-06-28 Verily Life Sciences Llc Systems and methods for prevention of surgical mistakes
US9785497B1 (en) 2016-09-26 2017-10-10 International Business Machines Corporation Performing self-healing tasks using information technology management data
US11080616B2 (en) 2016-09-27 2021-08-03 Clarifai, Inc. Artificial intelligence model and data collection/development platform
WO2018111270A1 (en) 2016-12-15 2018-06-21 Schlumberger Technology Corporation Systems and methods for generating, deploying, discovering, and managing machine learning model packages
US11157855B2 (en) * 2017-01-09 2021-10-26 Sutherland Global Services Inc. Robotics process automation platform
US10324457B2 (en) * 2017-05-11 2019-06-18 Global Eprocure Robotic process automation for supply chain management operations
US10885486B2 (en) 2017-06-16 2021-01-05 Genpact Luxembourg S.a.r.l. System and method for determining automation potential of a process
US11282035B2 (en) 2017-06-21 2022-03-22 Accenture Global Solutions Limited Process orchestration
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
US10762424B2 (en) * 2017-09-11 2020-09-01 Sas Institute Inc. Methods and systems for reinforcement learning
US10719365B2 (en) * 2017-10-27 2020-07-21 International Business Machines Corporation Cognitive learning workflow execution
US11037055B2 (en) 2017-10-30 2021-06-15 DoorDash, Inc. System for dynamic estimated time of arrival predictive updates
US20190126463A1 (en) 2017-10-31 2019-05-02 Bank Of America Corporation Robotic assisted action template generation based on profile
US20190130310A1 (en) 2017-11-01 2019-05-02 International Business Machines Corporation Cognitive it event handler
US20190155225A1 (en) 2017-11-21 2019-05-23 Accenture Global Solutions Limited Bot management framework for robotic process automation systems
US20190244149A1 (en) 2017-11-27 2019-08-08 Sankar Krishnaswamy Cognitive Intelligent Automation Systems for Actionable Business intelligence (CIASFABI©)
US10452674B2 (en) * 2017-12-07 2019-10-22 Accenture Global Solutions Limited Artificial intelligence and robotic process automation for automated data management
JP2019159556A (ja) * 2018-03-09 2019-09-19 株式会社日本総合研究所 Rpa保守支援装置及びrpa保守支援プログラム
US11809965B2 (en) * 2018-04-13 2023-11-07 Cisco Technology, Inc. Continual learning for multi modal systems using crowd sourcing
US11042458B2 (en) * 2018-04-30 2021-06-22 Accenture Global Solutions Limited Robotic optimization for robotic process automation platforms
CA3098670A1 (en) 2018-05-06 2019-11-14 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
CN112106081A (zh) 2018-05-07 2020-12-18 谷歌有限责任公司 提供综合机器学习服务的应用开发平台和软件开发套件
US10839490B2 (en) * 2018-08-28 2020-11-17 Intel Corporation Apparatus and method for runtime training of a denoising machine learning engine
CN109446259B (zh) * 2018-10-24 2021-01-12 北京慧流科技有限公司 数据处理方法及装置、处理机及存储介质
CN110175677A (zh) * 2019-04-16 2019-08-27 平安普惠企业管理有限公司 自动更新方法、装置、计算机设备及存储介质
WO2020246647A1 (ko) 2019-06-07 2020-12-10 엘지전자 주식회사 인공 지능 시스템의 동작을 관리하는 인공 지능 장치 및 그 방법
US11511410B2 (en) 2019-06-17 2022-11-29 Lg Electronics Inc. Artificial intelligence (AI) robot and control method thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119149A (en) 1998-06-05 2000-09-12 I2 Technologies, Inc. System and process allowing collaboration within and between enterprises for optimal decision making
JP2001137237A (ja) 1999-11-12 2001-05-22 Toshiba Corp 超音波診断装置
JP5279980B2 (ja) 2004-01-08 2013-09-04 日本電信電話株式会社 単一モード光ファイバ
JP2005309712A (ja) 2004-04-21 2005-11-04 Sharp Corp 楽曲検索システムおよび楽曲検索方法
US20160070596A1 (en) 2013-04-15 2016-03-10 P. Ashok Anand Workflow Execution System and Method for Cloud Environment
WO2019215994A1 (ja) 2018-05-08 2019-11-14 日本電気株式会社 画像判定システム、画像判定方法および画像判定プログラム
JP2019206041A (ja) 2018-05-28 2019-12-05 キヤノン株式会社 ロボット制御装置、システム、情報処理方法及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
「【プレスリリース】UiPath社、AI insideの手書きAI-OCRソリューション「DX Suite」向け RPA連携開発キットの配布を開始」,[online], UiPath株式会社, AI inside株式会社,2019年01月16日,[令和3年11月6日検索], インターネット, <URL: https://dx-suite.com/news/2019/01/16/aiinside-uipath-release>.
小笠原 種高(外1名)著,UiPath株式会社監修,「RPAツールで業務改善! UiPath入門 基本編」,第1版,日本,株式会社秀和システム,2019年04月05日,第12~34,56~69,130~137頁,ISBN: 978-4-7980-5712-5.

Also Published As

Publication number Publication date
EP3839725A1 (en) 2021-06-23
KR102453988B1 (ko) 2022-10-12
CN113011828A (zh) 2021-06-22
KR20210080163A (ko) 2021-06-30
US20200134374A1 (en) 2020-04-30
JP2021099778A (ja) 2021-07-01
CN113011828B (zh) 2023-12-29
US11822913B2 (en) 2023-11-21
US20240095017A1 (en) 2024-03-21

Similar Documents

Publication Publication Date Title
JP7088989B2 (ja) 実行時のデジタルプロセスにおける人工知能/機械学習モデルの動的な更新、又は再訓練及び更新
JP2023524327A (ja) 機械学習を使用したロボティック・プロセス・オートメーション・ワークフローの自動完了
JP2022552465A (ja) ロボティック・プロセス・オートメーションのためのヒューマンインザループ・ロボット・トレーニング
KR102453990B1 (ko) 인공 지능(ai)을 사용한 미디어 대 워크플로우 생성
US11803458B2 (en) Inserting probabilistic models in deterministic workflows for robotic process automation and supervisor system
CN114600141A (zh) 使用人工智能来选择和链接用于机器人流程自动化的模型
JP2022552133A (ja) 畳み込みニューラルネットワークを使用したロボティック・プロセス・オートメーションにおけるユーザーインターフェース要素の検出
US11488015B2 (en) Artificial intelligence layer-based process extraction for robotic process automation
JP2022552468A (ja) ロボティック・プロセス・オートメーション及びワークフローのマイクロ最適化のためのプロセス進化
US11592804B2 (en) Task automation by support robots for robotic process automation (RPA)
JP2023552666A (ja) アクションセンターを介した人工知能(ai)/機械学習(ml)モデルの補足、ai/mlモデル再訓練ハードウェア制御、およびai/mlモデル設定管理
JP2022552130A (ja) ロボティックプロセスオートメーションにおける強化学習
JP2022552129A (ja) 機械学習を用いたロボティックプロセスオートメーションのワークフローの自動アクティブ化および構成
JP2023545253A (ja) コンピュータビジョンを使ったアプリケーション、画面、およびユーザーインターフェース要素を認識するための人工知能/機械学習モデルの訓練
US20210342736A1 (en) Machine learning model retraining pipeline for robotic process automation
JP2023545644A (ja) 人工知能/機械学習モデルを使用したインタラクションのシーケンス決定、プロセス抽出、およびロボット生成
JP2022552466A (ja) ロボティック・プロセス・オートメーション・ワークフローのための再構成可能なワークベンチパイプライン
JP2023523374A (ja) ロボティックプロセスオートメーションのための機械学習モデル再訓練パイプライン

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200916

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220609

R150 Certificate of patent or registration of utility model

Ref document number: 7088989

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150