(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-29
(54)【発明の名称】セマンティック人工知能を用いたソース画面またはソースデータとターゲット画面との間のセマンティックマッチング
(51)【国際特許分類】
G06N 3/04 20230101AFI20241022BHJP
G06N 20/00 20190101ALI20241022BHJP
【FI】
G06N3/04
G06N20/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021577305
(86)(22)【出願日】2021-10-29
(85)【翻訳文提出日】2022-03-29
(86)【国際出願番号】 US2021057169
(87)【国際公開番号】W WO2023059346
(87)【国際公開日】2023-04-13
(32)【優先日】2021-10-05
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520262319
【氏名又は名称】ユーアイパス,インコーポレイテッド
【氏名又は名称原語表記】UiPath,Inc.
【住所又は居所原語表記】1 Vanderbilt Avenue, 60th Floor, New York, NY 10017, United States of America
(74)【代理人】
【識別番号】100180781
【氏名又は名称】安達 友和
(74)【代理人】
【識別番号】100182903
【氏名又は名称】福田 武慶
(72)【発明者】
【氏名】クリスチャン メイヤー
(72)【発明者】
【氏名】ミルシア ネアゴヴィチ
(72)【発明者】
【氏名】コスミン ヴォイク
(57)【要約】
ロボティックプロセスオートメーション(RPA)ワークフローのためのセマンティック人工知能(AI)を使用したソース画面またはソースデータとターゲット画面との間のセマンティックマッチングが開示される。ソースデータまたはソース画面およびターゲット画面は、マッチングインターフェース上で選択され、人工知能/機械学習(AI/ML)モデルを使用してソースデータ/画面とターゲット画面との間でセマンティックマッチングが実行され、マッチングするグラフィカル要素およびマッチングしないグラフィカル要素が強調表示され、開発者がどのグラフィカル要素がマッチングし、どれがマッチングしないかを見ることを可能にする。マッチングインターフェースはまた、個々のマッチングの信頼度スコアを提供し、全体的なマッピングスコアを提供し、開発者がマッチングする/マッチングしないグラフィカル要素を非表示/表示にすることを可能にすることができる。RPAワークフローのアクティビティは、自動化を実行するために遂行され得るセマンティックマッピングに基づいて自動的に作成することができる。
【特許請求の範囲】
【請求項1】
コンピュータプログラムを格納する非一時的コンピュータ可読媒体であって、前記コンピュータプログラムは、少なくとも1つのプロセッサに、
ソース画面またはソースデータの選択を受信させ、
ターゲット画面の選択を受信させ、
前記ソース画面内のラベルと前記ターゲット画面内のラベルとの間か、前記ソースデータ内のデータ要素と前記ターゲット画面内の前記ラベルとの間か、またはその両方でセマンティックマッチングを実行するように訓練された1つまたは複数の人工知能/機械学習(AI/ML)モデルを呼び出させ、
前記ターゲット画面内のセマンティックにマッチングするラベルに関連するグラフィカル要素の表示、および前記1つまたは複数のAI/MLモデルからのそれぞれの信頼度スコアを受信させ、
前記セマンティックにマッチングするラベルに関連する前記グラフィカル要素を、マッチングインターフェース内の前記ターゲット画面上に表示させる、ように構成される、非一時的コンピュータ可読媒体。
【請求項2】
前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
前記マッチングインターフェース内の前記1つまたは複数のAI/MLモデルによって識別された前記潜在的なマッチンググラフィカル要素に対する前記それぞれの信頼度スコアを表示させるようにさらに構成される、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項3】
前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
関連するセマンティックにマッチングするラベルを有するとして前記1つまたは複数のAI/MLモデルによって識別された前記ターゲット画面内のグラフィカル要素に対する修正を受信させるか、前記1つまたは複数のAI/MLモデルによって前記ソース画面内のラベルとセマンティックにマッチングしなかった前記ターゲット画面内の新しい要素の表示を受信させるか、またはその両方をさせ、
前記ターゲット画面内の修正されたおよび/または新たにラベル付けされたグラフィカル要素ならびに関連するラベルに関する情報を収集させ、
前記1つまたは複数のAI/MLモデルの再訓練のために前記収集された情報を直接または間接的に格納させる、ようにさらに構成される、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項4】
前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
前記1つまたは複数のAI/MLモデルが前記ターゲット画面内の前記フィールドとセマンティックにマッチングすると識別されたラベルを有する前記ソース画面内の前記フィールドからデータをコピーするか、前記1つまたは複数のAI/MLモデルが前記ソースデータからの前記データ要素とセマンティックにマッチングすると識別されたラベルを有する前記ターゲット画面の前記フィールドに前記ソースデータから前記データ要素をコピーするか、またはその両方を行うロボティックプロセスオートメーション(RPA)ワークフロー内の1つまたは複数のアクティビティを生成させるようにさらに構成される、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項5】
前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
前記RPAワークフローにおいて前記1つまたは複数の生成されたアクティビティを実施するRPAロボットを生成させ、
前記生成されたRPAロボットを実行時環境で展開させる、ようにさらに構成される、請求項4に記載の非一時的コンピュータ可読媒体。
【請求項6】
前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
前記ターゲット画面内のセマンティックにマッチングするラベルに関連する前記グラフィカル要素の前記信頼度スコアから複合信頼度スコアを生成させ、
前記複合信頼度スコアを前記マッチングインターフェースに表示させる、ようにさらに構成される、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項7】
前記1つまたは複数のAI/MLモデルは、所与の単語またはフレーズに対する類似の単語およびフレーズが識別され得るように、前記単語とフレーズとの間のセマンティック関連付けを有する単語およびフレーズを提供し、前記単語およびフレーズが表示される画面に関するコンテキストラベルを提供することによって訓練される、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項8】
前記コンピュータプログラムは、ロボティックプロセスオートメーション(RPA)デザイナアプリケーションであるか、またはそれを含む、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項9】
前記1つまたは複数のAI/MLモデルは、コンピュータビジョン(CV)モデル、光学文字認識(OCR)モデル、ラベルマッチングモデル、および入力データマッチングモデルを含み、
前記ラベルマッチングモデルは、前記OCRモデルによって検出されたラベルを前記CVモデルによって検出されたフィールドとマッチングさせ、
前記入力データモデルは、前記ラベルマッチングモデルから前記マッチングラベルを受け取り、前記データソースからの前記データ要素または前記ソース画面からの前記ラベルに関連する前記フィールドからのデータを、前記ターゲット画面上のセマンティックにマッチングするラベルに関連する前記フィールドとセマンティックにマッチングさせる、
請求項1に記載の非一時的コンピュータ可読媒体。
【請求項10】
ロボティックプロセスオートメーション(RPA)のためのセマンティック人工知能(AI)を実行するためのコンピュータにより実施される方法であって、
ソース画面内のラベルとターゲット画面内のラベルとの間か、前記ソースデータ内のデータ要素と前記ターゲット画面内の前記ラベルとの間か、またはその両方でセマンティックマッチングを実行するように訓練された1つまたは複数の人工知能/機械学習(AI/ML)モデルを、RPAデザイナアプリケーションによって呼び出すステップと、
前記RPAデザイナアプリケーションによって、前記ターゲット画面内のセマンティックにマッチングするラベルに関連するグラフィカル要素の表示、ならびに前記1つまたは複数のAI/MLモデルからのそれぞれの信頼度スコアを受信するステップと、
前記RPAデザイナアプリケーションによって、前記セマンティックにマッチングするラベルに関連する前記グラフィカル要素を、マッチングインターフェース内の前記ターゲット画面上に表示するステップと、
前記ソース画面のフィールドまたは前記ソースデータの前記データ要素からのデータを、前記1つまたは複数のAI/MLモデルが前記ソース画面からの前記ラベルまたは前記ソースデータからの前記データ要素とセマンティックにマッチングすると識別されたというラベルを有する前記ターゲット画面のフィールドに、前記RPAデザイナアプリケーションによってコピーする、RPAワークフローにおける1つまたは複数のアクティビティを自動的に生成するステップと、を含む、コンピュータにより実施される方法。
【請求項11】
前記RPAデザイナアプリケーションによって、前記マッチングインターフェース内の前記1つまたは複数のAI/MLモデルによって識別された前記潜在的なマッチンググラフィカル要素に対する前記それぞれの信頼度スコアを表示するステップをさらに含む、
請求項10に記載のコンピュータにより実施される方法。
【請求項12】
前記RPAデザイナアプリケーションによって、関連するセマンティックにマッチングするラベルを有するとして前記1つまたは複数のAI/MLモデルによって識別された前記ターゲット画面内のグラフィカル要素に対する修正を受信するか、前記1つまたは複数のAI/MLモデルによって前記ソース画面内のラベルとセマンティックにマッチングしなかった前記ターゲット画面内の新しい要素の表示を受信するか、またはその両方を受信するステップと、
前記RPAデザイナアプリケーションによって、前記ターゲット画面内の修正されたおよび/または新たにラベル付けされたグラフィカル要素ならびに関連するラベルに関する情報を収集するステップと、
前記RPAデザイナアプリケーションによって、前記1つまたは複数のAI/MLモデルの再訓練のために前記収集された情報を直接または間接的に格納するステップと、
をさらに含む、請求項10に記載のコンピュータにより実施される方法。
【請求項13】
前記RPAデザイナアプリケーションによって、前記RPAワークフローにおいて前記1つまたは複数の自動的に生成されたアクティビティを実装するRPAロボットを生成するステップと、
前記RPAデザイナアプリケーションによって、前記生成されたRPAロボットを実行時環境で展開するステップと、
をさらに含む、請求項10に記載のコンピュータにより実施される方法。
【請求項14】
前記RPAデザイナアプリケーションによって、前記ターゲット画面内のセマンティックにマッチングするラベルに関連する前記グラフィカル要素に対する前記それぞれの信頼度スコアを表示するステップをさらに含む、
請求項10に記載のコンピュータにより実施される方法。
【請求項15】
前記RPAデザイナアプリケーションによって、前記ターゲット画面内のセマンティックにマッチングするラベルに関連する前記グラフィカル要素の前記信頼度スコアから複合信頼度スコアを生成するステップと、
前記RPAデザイナアプリケーションによって、前記複合信頼度スコアを前記マッチングインターフェースに表示するステップと、
をさらに含む、請求項10に記載のコンピュータにより実施される方法。
【請求項16】
前記1つまたは複数のAI/MLモデルは、所与の単語またはフレーズに対する類似の単語およびフレーズが識別され得るように、前記単語とフレーズとの間のセマンティック関連付けを有する単語およびフレーズを提供し、前記単語およびフレーズが表示される画面に関するコンテキストラベルを提供することによって訓練される、請求項10に記載のコンピュータにより実施される方法。
【請求項17】
前記1つまたは複数のAI/MLモデルは、コンピュータビジョン(CV)モデル、光学文字認識(OCR)モデル、ラベルマッチングモデル、および入力データマッチングモデルを含み、
前記ラベルマッチングモデルは、前記OCRモデルによって検出されたラベルを前記CVモデルによって検出されたグラフィカル要素とマッチングさせ、
前記入力データモデルは、前記ラベルマッチングモデルから前記マッチングラベルを受け取り、前記データソースからの前記データ要素または前記ソース画面からの前記ラベルに関連するグラフィカル要素からのデータを、前記ターゲット画面上のセマンティックにマッチングするラベルに関連する前記グラフィカル要素とセマンティックにマッチングさせる、
請求項10に記載のコンピュータにより実施される方法。
【請求項18】
コンピューティングシステムであって、
ロボティックプロセスオートメーション(RPA)のためのセマンティック人工知能(AI)を実行するためのコンピュータプログラム命令を格納するメモリと、
前記コンピュータプログラム命令を遂行するように構成された少なくとも1つのプロセッサと、を含み、前記コンピュータプログラム命令は、前記少なくとも1つのプロセッサに、
ソース画面内のラベルとターゲット画面内のラベルとの間、前記ソースデータ内のデータ要素と前記ターゲット画面内の前記ラベルとの間、またはその両方でセマンティックマッチングを実行するように訓練された1つまたは複数の人工知能/機械学習(AI/ML)モデルから、前記ターゲット画面内のセマンティックにマッチングするラベルに関連するグラフィカル要素、およびそれぞれの信頼度スコアの指示を受信させ、
前記セマンティックにマッチングするラベルに関連する前記グラフィカル要素を、マッチングインターフェース内の前記ターゲット画面上に表示させ、
関連するセマンティックにマッチングするラベルを有するとして前記1つまたは複数のAI/MLモデルによって識別された前記ターゲット画面内のグラフィカル要素に対する修正を受信させるか、前記1つまたは複数のAI/MLモデルによって前記ソース画面内のラベルとセマンティックにマッチングしなかった前記ターゲット画面内の新しい要素の表示を受信させるか、またはその両方をさせ、
前記ターゲット画面内の修正されたおよび/または新たにラベル付けされたグラフィカル要素ならびに関連するラベルに関する情報を収集させ、
前記1つまたは複数のAI/MLモデルの再訓練のために前記収集された情報を直接または間接的に格納させる、ように構成される、コンピューティングシステム。
【請求項19】
前記コンピュータプログラム命令は、前記少なくとも1つのプロセッサに、
前記1つまたは複数のAI/MLモデルが前記ターゲット画面内の前記フィールドとセマンティックにマッチングすると識別されたラベルを有する前記ソース画面内の前記フィールドからデータをコピーするか、前記1つまたは複数のAI/MLモデルが前記ソースデータからの前記データ要素とセマンティックにマッチングすると識別されたラベルを有する前記ターゲット画面の前記フィールドに前記ソースデータから前記データ要素をコピーするか、またはその両方を行うロボティックプロセスオートメーション(RPA)ワークフロー内の1つまたは複数のアクティビティを自動的に生成させるようにさらに構成される、請求項18に記載のコンピューティングシステム。
【請求項20】
前記コンピュータプログラム命令は、前記少なくとも1つのプロセッサに、
前記RPAワークフローにおいて前記1つまたは複数の生成されたアクティビティを実施するRPAロボットを生成させ、
前記生成されたRPAロボットを実行時環境で展開させる、ようにさらに構成される、請求項19に記載のコンピューティングシステム。
【請求項21】
前記コンピュータプログラム命令は、前記少なくとも1つのプロセッサに、
前記セマンティックにマッチングするラベルに関連する前記グラフィカル要素に対する前記それぞれの信頼度スコアを前記ターゲット画面に表示させるようにさらに構成される、請求項18に記載のコンピューティングシステム。
【請求項22】
前記コンピュータプログラム命令は、前記少なくとも1つのプロセッサに、
前記ターゲット画面内のセマンティックにマッチングするラベルに関連する前記グラフィカル要素の前記信頼度スコアから複合信頼度スコアを生成させ、
前記複合信頼度スコアを前記マッチングインターフェースに表示させる、ようにさらに構成される、請求項18に記載のコンピューティングシステム。
【請求項23】
前記1つまたは複数のAI/MLモデルは、所与の単語またはフレーズに対する類似の単語およびフレーズが識別され得るように、前記単語とフレーズとの間のセマンティック関連付けを有する単語およびフレーズを提供し、前記単語およびフレーズが表示される画面に関するコンテキストラベルを提供することによって訓練される、請求項18に記載のコンピューティングシステム。
【請求項24】
前記コンピュータプログラム命令は、ロボティックプロセスオートメーション(RPA)デザイナアプリケーションであるか、またはそれを含む、請求項18に記載のコンピューティングシステム。
【請求項25】
前記1つまたは複数のAI/MLモデルは、コンピュータビジョン(CV)モデル、光学文字認識(OCR)モデル、ラベルマッチングモデル、および入力データマッチングモデルを含み、
前記ラベルマッチングモデルは、前記OCRモデルによって検出されたラベルを前記CVモデルによって検出されたフィールドとマッチングさせ、
前記入力データモデルは、前記ラベルマッチングモデルから前記マッチングラベルを受け取り、前記データソースからの前記データ要素または前記ソース画面からの前記ラベルに関連する前記フィールドからのデータを、前記ターゲット画面上のセマンティックにマッチングするラベルに関連する前記フィールドとセマンティックにマッチングさせる、
請求項18に記載のコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2021年10月5日に出願された米国非仮特許出願第17/494,744号の利益を主張する。この先願の主題は、その全体が参照により本明細書に組み込まれる。
【0002】
本発明は、一般にセマンティックマッチングに関し、より具体的には、ロボティックプロセスオートメーション(RPA)ワークフローのためのセマンティック人工知能(AI)を使用したソース画面またはソースデータとターゲット画面との間のセマンティックマッチングに関する。
【背景技術】
【0003】
現在、開発者は、アクティビティを使用してRPAデザイナアプリケーションでロボティックプロセスオートメーション(RPA)ワークフローを手動で作成する必要がある。RPAワークフローを作成している間、開発者は、ターゲットグラフィカル要素を画面上に示す必要があり、これにより、RPAデザイナアプリケーションは、一組のアンカーを有するターゲット要素に対応するセレクタを自動的に生成する。アクティビティの推奨および提案機能は現在UiPath Studio(商標)に存在するが、例えば、完全に自動化されたRPAワークフロー作成はサポートされていない。RPAワークフローを作成しながらターゲットグラフィカル要素のすべてを手動で示すことは時間がかかる。したがって、RPAワークフローを作成するための改善された手法が有益であり得る。
【発明の概要】
【0004】
本発明の特定の実施形態は、現在のRPAワークフロー生成技術によってまだ完全に識別、認識、または解決されていない当技術分野の問題および必要性に対するソリューションを提供することができる。例えば、本発明のいくつかの実施形態は、RPAワークフローのためのセマンティックAIを使用したソース画面またはソースデータとターゲット画面との間のセマンティックマッチングに関する。
【0005】
一実施形態では、非一時的コンピュータ可読媒体がコンピュータプログラムを格納する。コンピュータプログラムは、少なくとも1つのプロセッサに、ソース画面またはソースデータの選択を受信させ、ターゲット画面の選択を受信させるように構成される。コンピュータプログラムはまた、ソース画面内のラベルとターゲット画面内のラベルとの間、ソースデータ内のデータ要素とターゲット画面内のラベルとの間、またはその両方でセマンティックマッチングを実行するように訓練された1つまたは複数のAI/MLモデルを少なくとも1つのプロセッサに呼び出させるように構成される。コンピュータプログラムは、少なくとも1つのプロセッサに、1つまたは複数のAI/MLモデルから、ターゲット画面内のセマンティックにマッチングするラベルに関連するグラフィカル要素の表示およびそれぞれの信頼度スコアを受信させ、セマンティックにマッチングするラベルに関連するグラフィカル要素をマッチングインターフェース内のターゲット画面に表示させるようにさらに構成される。
【0006】
別の実施形態では、RPAのためのセマンティックAIを実行するためのコンピュータにより実施される方法は、ソース画面内のラベルとターゲット画面内のラベルとの間、ソースデータ内のデータ要素とターゲット画面内のラベルとの間、またはその両方でセマンティックマッチングを実行するように訓練された1つまたは複数のAI/MLモデルを、RPAデザイナアプリケーションによって呼び出すステップを含む。コンピュータにより実施される方法はまた、RPAデザイナアプリケーションによって、1つまたは複数のAI/MLモデルから、ターゲット画面内のセマンティックにマッチングするラベルに関連するグラフィカル要素およびそれぞれの信頼度スコアの指示を受信するステップと、RPAデザイナアプリケーションによって、マッチングインターフェース内のターゲット画面上にセマンティックにマッチングするラベルに関連するグラフィカル要素を表示するステップと、を含む。コンピュータにより実施される方法は、RPAデザイナアプリケーションによって、ソース画面のフィールドまたはソースデータのデータ要素から、ソース画面からのラベルまたはソースデータからのデータ要素とセマンティックにマッチングすると識別された1つまたは複数のAI/MLモデルがラベルを有するターゲット画面のフィールドにデータをコピーするRPAワークフロー内の1つまたは複数のアクティビティを自動的に生成するステップをさらに含む。
【0007】
さらに別の実施形態では、コンピューティングシステムは、RPAのためのセマンティックAIを実行するためのコンピュータプログラム命令を格納するメモリと、コンピュータプログラム命令を遂行するように構成された少なくとも1つのプロセッサと、を含む。コンピュータプログラム命令は、少なくとも1つのプロセッサに、ソース画面内のラベルとターゲット画面内のラベルとの間、ソースデータ内のデータ要素とターゲット画面内のラベルとの間、またはその両方でセマンティックマッチングを実行するように訓練された1つまたは複数のAI/MLモデルから、ターゲット画面内のセマンティックにマッチングするラベルに関連するグラフィカル要素、およびそれぞれの信頼度スコアの表示を受信させるように構成される。コンピュータプログラム命令はまた、少なくとも1つのプロセッサに、セマンティックにマッチングするラベルに関連するグラフィカル要素をマッチングインターフェース内のターゲット画面上に表示させるように構成される。コンピュータプログラム命令は、少なくとも1つのプロセッサに、関連するセマンティックにマッチングするラベルを有するとして1つまたは複数のAI/MLモデルによって識別されたターゲット画面内のグラフィカル要素に対する修正を受信させるか、1つまたは複数のAI/MLモデルによってソース画面内のラベルとセマンティックにマッチングしなかったターゲット画面内の新しい要素の指示を受信させるか、またはその両方を行わせるようにさらに構成される。さらに、コンピュータプログラム命令は、少なくとも1つのプロセッサに、ターゲット画面および関連ラベル内の補正されたおよび/または新たにラベル付けされたグラフィカル要素に関する情報を収集させ、1つまたは複数のAI/MLモデルの再訓練のために収集された情報を直接的または間接的に格納させるように構成される。
【図面の簡単な説明】
【0008】
本発明の特定の実施形態の利点が容易に理解されるように、上記で簡単に説明した本発明のより具体的な説明は、添付の図面に示されている特定の実施形態を参照することによって提供される。これらの図面は、本発明の典型的な実施形態のみを示しており、したがってその範囲を限定するものと見なされるべきではないことを理解されたいが、本発明は、添付の図面を使用することによって追加の具体性および詳細を伴って説明および説明される。
【0009】
【
図1】本発明の一実施形態による、RPAシステムを示すアーキテクチャ図である。
【0010】
【
図2】本発明の一実施形態による、展開されたRPAシステムを示すアーキテクチャ図である。
【0011】
【
図3】本発明の一実施形態による、デザイナ、アクティビティ、およびドライバの間の関係を示すアーキテクチャ図である。
【0012】
【
図4】本発明の一実施形態による、RPAシステムを示すアーキテクチャ図である。
【0013】
【
図5】本発明の一実施形態による、RPAワークフローのためのセマンティックAIを使用して、ソース画面またはソースデータとターゲット画面との間のセマンティックマッチングを実行するように構成されたコンピューティングシステムを示すアーキテクチャ図である。
【0014】
【
図6】本発明の一実施形態による、人工知能/機械学習(AI/ML)モデルを訓練し、RPAワークフローのためのセマンティックAIを使用してソース画面またはソースデータとターゲット画面との間のセマンティックマッチングを実行するように構成されたシステムを示すアーキテクチャ図である。
【0015】
【
図7A】本発明の一実施形態による、画像内のグラフィカル要素を認識するように訓練されたニューラルネットワークの一例を示す図である。
【0016】
【
図7B】本発明の一実施形態による、ニューロンの一例を示す図である。
【0017】
【
図8】本発明の一実施形態による、RPAワークフローのためのセマンティックAIを使用して、ソース画面またはソースデータとターゲット画面との間のセマンティックマッチングを実行するようにAI/MLモデルを訓練するためのプロセスを示すフローチャートである。
【0018】
【
図9A】本発明の一実施形態による、RPAデザイナアプリケーションのためのマッチングインターフェースを示す図である。
【
図9B】本発明の一実施形態による、RPAデザイナアプリケーションのためのマッチングインターフェースを示す図である。
【
図9C】本発明の一実施形態による、RPAデザイナアプリケーションのためのマッチングインターフェースを示す図である。
【
図9D】本発明の一実施形態による、RPAデザイナアプリケーションのためのマッチングインターフェースを示す図である。
【
図9E】本発明の一実施形態による、RPAデザイナアプリケーションのためのマッチングインターフェースを示す図である。
【
図9F】本発明の一実施形態による、RPAデザイナアプリケーションのためのマッチングインターフェースを示す図である。
【
図9G】本発明の一実施形態による、RPAデザイナアプリケーションのためのマッチングインターフェースを示す図である。
【0019】
【
図10】本発明の一実施形態による、自動的に生成されたRPAワークフローを有するRPAデザイナアプリケーションを示す図である。
【0020】
【
図11A】本発明の一実施形態による、例示的なセマンティック・コピーアンドペースト・インターフェースの画面を示す図である。
【
図11B】本発明の一実施形態による、例示的なセマンティック・コピーアンドペースト・インターフェースの画面を示す図である。
【
図11C】本発明の一実施形態による、例示的なセマンティック・コピーアンドペースト・インターフェースの画面を示す図である。
【
図11D】本発明の一実施形態による、例示的なセマンティック・コピーアンドペースト・インターフェースの画面を示す図である。
【
図11E】本発明の一実施形態による、例示的なセマンティック・コピーアンドペースト・インターフェースの画面を示す図である。
【
図11F】本発明の一実施形態による、例示的なセマンティック・コピーアンドペースト・インターフェースの画面を示す図である。
【
図11G】本発明の一実施形態による、例示的なセマンティック・コピーアンドペースト・インターフェースの画面を示す図である。
【
図11H】本発明の一実施形態による、例示的なセマンティック・コピーアンドペースト・インターフェースの画面を示す図である。
【
図11I】本発明の一実施形態による、例示的なセマンティック・コピーアンドペースト・インターフェースの画面を示す図である。
【
図11J】本発明の一実施形態による、例示的なセマンティック・コピーアンドペースト・インターフェースの画面を示す図である。
【
図11K】本発明の一実施形態による、例示的なセマンティック・コピーアンドペースト・インターフェースの画面を示す図である。
【
図11L】本発明の一実施形態による、例示的なセマンティック・コピーアンドペースト・インターフェースの画面を示す図である。
【
図11M】本発明の一実施形態による、例示的なセマンティック・コピーアンドペースト・インターフェースの画面を示す図である。
【
図11N】本発明の一実施形態による、例示的なセマンティック・コピーアンドペースト・インターフェースの画面を示す図である。
【0021】
【
図12】本発明の一実施形態による、セマンティックAIを実行するためのAI/MLモデルのアーキテクチャを示すアーキテクチャ図である。
【0022】
【
図13】本発明の一実施形態による、RPAワークフローのためのセマンティックAIを使用してソース画面またはソースデータとターゲット画面との間のセマンティックマッチングを実行するためのプロセスを示すフローチャートである。
【0023】
【
図14】本発明の一実施形態による、アテンディッドオートメーションインターフェースを使用するためのセマンティックAIを使用して、ソース画面またはソースデータとターゲット画面との間のセマンティックマッチングを実行するためのプロセスを示すフローチャートである。
【0024】
別段の指示がない限り、同様の符号は、添付の図面を通して一貫して対応する特徴を示す。
【発明を実施するための形態】
【0025】
いくつかの実施形態は、RPAワークフローのためのセマンティックAIを使用したソース画面またはソースデータとターゲット画面との間のセマンティックマッチングに関する。例えば、いくつかの実施形態では、ソースデータまたはソース画面およびターゲット画面は、マッチングインターフェース上で選択され、人工知能/機械学習(AI/ML)モデルを使用してソースデータ/画面とターゲット画面との間でセマンティックマッチングが実行され、マッチングするグラフィカル要素およびマッチングしないグラフィカル要素は、異なる色(例えば、それぞれ緑色および赤色)を使用して強調表示され、開発者がどのグラフィカル要素がマッチングし、どのグラフィカル要素がマッチングしないかを見ることを可能にする。マッチングインターフェースはまた、いくつかの実施形態では、個々のマッチングの信頼度スコアを提供すること、全体的なマッピングスコアを提供すること、および開発者がマッチングする/マッチングしないグラフィカル要素を非表示/表示にすることを可能にすることなどの追加の特徴を有する。さらに、1つまたは複数のRPAワークフローアクティビティは、いくつかの実施形態では、RPAロボットによって実行される自動化の一部としてセマンティックAI機能を実行するために遂行され得るセマンティックマッピングに基づいて自動的に作成される。
【0026】
いくつかの実施形態では、Excel(登録商標)スプレッドシート、リレーショナルデータベース、フラットファイルソースなどからデータフィールドのリストを取得することができる。セマンティックマッチングAI/MLモデルは、データ内のエントリを繰り返し、それらをターゲット画面に入力することができる。セマンティックマッチングAI/MLモデルは、データソースのタイプに関係なくこれを行うように訓練され得る。このAI/MLモデルのセマンティックマッチング機能により、1対1のマッチングは必要ない場合がある。例えば、自然言語モデルは、ターゲット画面内の同一または類似の名前/フレーズをソースデータ内のものとマッチングさせることを求めることができる(または、ソースデータから開始し、ターゲット画面内の類似の名前/フレーズを探す)。特定の実施形態では、特定の用語に対して多くの類似の単語またはフレーズが存在する可能性があり、コンテキストに応じて多くの異なるサブセットも存在する可能性があるため、広範な訓練データのセットが使用されて、セマンティックマッチングAI/MLモデルをより正確にする。いくつかの実施形態では、コンテキストも使用され得る。例えば、セマンティックマッチングAI/MLモデルは、所与のターゲットが銀行取引の詳細対請求書、対購入注文対連絡先情報などに関連することを学習することができる。
【0027】
いくつかの実施形態のセマンティックマッチングAI/MLモデルは、設計時間中にRPA開発者を支援するために展開され得る。しかしながら、いくつかの実施形態では、セマンティックマッチングAI/MLモデルを実行時に使用して、より堅牢な機能性および自己修復を提供することができる。これは、UI記述子がセマンティックマッチングAI/MLモデルよりもかなり高速である傾向があるため、いくつかの実施形態では一般的ではなく実行時にUI記述子がターゲットグラフィカル要素を識別できない場合に採用され得る。したがって、UI記述子は、同じまたは同様のターゲット画面に対して最初に使用されるべきである。
【0028】
例えば、ターゲットアプリケーションの新しいバージョンに起因してUIが変化する場合など、実行時に所与のターゲット要素が所与のユーザーインターフェース(UI)記述子によって識別できない場合には、セマンティックマッチングAI/MLモデルを使用してターゲットグラフィカル要素を識別しようと試みることができる。次いで、この情報は、関心のある単語またはフレーズの同義語として追加されてもよく、そのグラフィカル要素のUI記述子は、UI記述子が今後動作するように更新されてもよい。ユーザーインターフェースが再び変更され、変更されたグラフィカル要素および/またはアンカーが十分に類似している場合、RPAロボットは、アプリケーションの新しいバージョンでターゲットグラフィカル要素を識別することができる。例えば、米国特許出願公開第16/922,289号を参照されたい。
【0029】
UI記述子は、UI要素を見つけるための命令のセットである。いくつかの実施形態におけるUI記述子は、UI要素セレクタ、アンカーセレクタ、コンピュータビジョン(CV)記述子、統合ターゲット記述子、画面画像キャプチャ(コンテキスト)、要素画像キャプチャ、他のメタデータ(例えば、アプリケーションおよびアプリケーションバージョン)、それらの組み合わせなどを含むカプセル化されたデータ/構造体フォーマットである。カプセル化されたデータ/構造体フォーマットは、プラットフォームに対する将来の更新で拡張可能であり得、上記の定義に限定されない。本発明の範囲から逸脱することなく、画面上のUI要素を識別するための任意の適切なUI記述子を使用することができる。
【0030】
いくつかの実施形態では、セマンティックマッチングAI/MLモデルが検出しているものは、実行時検出のための統一されたターゲット記述子と組み合わされてもよい。そのような実施形態の場合、ソースおよびターゲットの単語およびフレーズに加えて、マッピングが確認されると、統一されたターゲット情報が収集され得る。実行時に、統一ターゲット記述子が最初に試行されてもよく、成功しない場合、セマンティックマッチングAI/MLモデルが使用されてもよい。
【0031】
統合されたターゲット記述子は、AI/MLモデルよりも安定かつ正確である傾向がある。統一されたターゲット記述子は、複数のタイプのUI記述子を共にチェーン化する。統合ターゲット情報は、使用されるUI記述子のグラフィカル要素の識別を容易にするUI記述子情報を含む。
【0032】
統合ターゲット記述子は、有限状態機械(FSM)のように機能することができ、第1のコンテキストでは、第1のUI記述子機構が適用され、第2のコンテキストでは、第2のUI記述子が適用されるなどである。言い換えれば、UI記述子は、いくつかの実施形態では、画像検出および定義が実行される一部またはすべてのUI検出機構を包含する統一されたターゲットと共に機能することができる。統一されたターゲットは、UI要素を識別し自動化する複数の技術を単一の結束した手法に統合することができる。統合ターゲットは、いくつかの実施形態では、セレクタベースおよびドライバベースのUI検出機構に優先順位を付け、最初の2つの機構が成功しなかった場合には、フォールバックとしてCVを使用してターゲットUI要素を見つけるなど、特定のUI記述子タイプに優先順位を付けることができる。
【0033】
いくつかの実施形態では、セマンティックマッチングAI/MLモデルに加えて、またはその代わりに、自然言語処理(NLP)AI/MLモデルを使用することができる。特定の実施形態では、これらのAI/MLモデルを一緒に使用することができる。例えば、モデルのうちの1つが特定のしきい値を満たすかまたは超える場合、両方のモデルの平均がしきい値を満たすかまたは超える場合などに、マッチングがユーザーに提案され得る。
【0034】
いくつかの実施形態では、フィードバックループ機能が提供される。例えば、ユーザーがマッチングを追加するか、またはセマンティックマッチングAI/MLモデルによって提案されたマッチングを修正する場合、このマッチングに関する情報を保存することができる。この情報は、ターゲットアプリケーションのスクリーンショット、ターゲットアプリケーションのラベルおよびソース画面またはソースデータの対応するラベル、不正確なマッチングのラベルなどを含むことができるが、これらに限定されない。ウェブページ、SAP(登録商標)などに対して修正が行われたなど、コンテキストをキャプチャすることもできる。このデータは、セマンティックマッチングAI/MLモデルを再訓練するために、このようにして収集された他のラベル付きデータと共に使用され得る。
【0035】
図1は、本発明の一実施形態による、RPAシステム100を示すアーキテクチャ図である。RPAシステム100は、開発者がワークフローを設計および実装することを可能にするデザイナ110を含む。デザイナ110は、アプリケーション統合、ならびに第三者アプリケーション、管理情報技術(IT)タスク、およびビジネスITプロセスを自動化するためのソリューションを提供することができる。デザイナ110は、ビジネスプロセスのグラフィカル表現である自動化プロジェクトの開発を容易にすることができる。簡単に言えば、デザイナ110は、ワークフローおよびロボットの開発およびデプロイメントを容易にする。
【0036】
自動化プロジェクトは、本明細書で「アクティビティ」と定義される、ワークフローで開発されたステップのカスタムセット間の遂行順序および関係の制御を開発者に与えることによって、ルールベースのプロセスの自動化を可能にする。デザイナ110の一実施形態の一商用例は、UiPath Studio(商標)である。各アクティビティは、ボタンのクリック、ファイルの読み取り、ログパネルへの書き込みなどのアクションを含むことができる。いくつかの実施形態では、ワークフローはネストまたは埋め込みされてもよい。
【0037】
いくつかのタイプのワークフローは、シーケンス、フローチャート、有限状態機械(FSM)、および/またはグローバル例外ハンドラを含むことができるが、これらに限定されない。シーケンスは、ワークフローを乱すことなく1つのアクティビティから別のアクティビティへの流れを可能にする線形プロセスに特に適し得る。フローチャートは、より複雑なビジネスロジックに特に適しており、複数の分岐論理演算子を介してより多様な方法で決定の統合およびアクティビティの接続を可能にする。FSMは、大規模なワークフローに特に適している場合がある。FSMは、条件(すなわち、遷移)またはアクティビティによってトリガされる有限数の状態をそれらの遂行において使用することができる。グローバル例外ハンドラは、遂行エラーに遭遇したときのワークフローの挙動を判定し、プロセスをデバッグするのに特に適し得る。
【0038】
ワークフローがデザイナ110で開発されると、ビジネスプロセスの遂行は、デザイナ110で開発されたワークフローを遂行する1つまたは複数のロボット130を編成するコンダクタ120によって編成される。コンダクタ120の実施形態の一商用例は、UiPathオーケストレータ(商標)である。コンダクタ120は、環境内のリソースの作成、監視、およびデプロイメントの管理を容易にする。コンダクタ120は、第三者のソリューションおよびアプリケーションとの統合ポイントとして機能することができる。
【0039】
コンダクタ120は、集中ポイントからロボット130を接続し遂行するすべてのロボット130を管理することができる。管理され得るロボット130のタイプは、これらに限定されないが、アテンディッドロボット132、アンアテンディッドロボット134、開発ロボット(アンアテンディッドロボット134と同様であるが、開発および試験の目的で使用される)、および非生産ロボット(アテンディッドロボット132と同様であるが、開発および試験の目的で使用される)を含む。アテンディッドロボット132は、ユーザーイベントによってトリガされ、同じコンピューティングシステム上で人間と一緒に動作する。アテンディッドロボット132は、集中プロセスデプロイメントおよび記録媒体のためのコンダクタ120と共に使用することができる。アテンディッドロボット132は、人間のユーザーが様々なタスクを達成するのを助けることができ、ユーザーイベントによってトリガすることができる。いくつかの実施形態では、プロセスは、このタイプのロボットのコンダクタ120から開始することができず、および/またはロックされた画面の下で実行することができない。特定の実施形態では、アテンディッドロボット132は、ロボットトレイまたはコマンドプロンプトからのみ起動することができる。いくつかの実施形態では、アテンディッドロボット132は人間の監督下で動作するべきである。
【0040】
アンアテンディッドロボット134は、仮想環境で無人で動作し、多くのプロセスを自動化することができる。アンアテンディッドロボット134は、リモート遂行、監視、スケジューリング、および作業待ち行列のサポートの提供を担当することができる。いくつかの実施形態では、すべてのロボットタイプのデバッグを、デザイナ110で実行することができる。アテンディッドロボットおよびアンアテンディッドロボットの両方は、メインフレーム、ウェブアプリケーション、VM、エンタープライズアプリケーション(例えば、SAP(登録商標)、SalesForce(登録商標)、Oracle(登録商標)などによって製造されたもの)、およびコンピューティングシステムアプリケーション(例えば、デスクトップおよびラップトップアプリケーション、モバイルデバイスアプリケーション、ウェアラブルコンピュータアプリケーションなど)を含むがこれらに限定されない様々なシステムおよびアプリケーションを自動化することができる。
【0041】
コンダクタ120は、プロビジョニング、デプロイメント、構成、キューイング、監視、ロギング、および/または相互接続性の提供を含むがこれらに限定されない様々な機能を有することができる。プロビジョニングは、ロボット130とコンダクタ120(例えば、ウェブアプリケーション)との間の接続の作成および保守を含むことができる。デプロイメントは、遂行のために割り当てられたロボット130へのパッケージバージョンの正しい配信を保証することを含むことができる。構成は、ロボット環境およびプロセス構成の維持および配信を含むことができる。キューイングは、キューおよびキュー項目の管理を提供することを含むことができる。監視は、ロボット識別データを追跡し、ユーザー権限を維持することを含むことができる。ロギングは、データベース(例えば、SQLデータベース)および/または別のストレージ機構(例えば、大規模なデータセットを格納し、迅速にクエリする能力を提供するElasticSearch(登録商標))へのログの格納およびインデックス付けを含むことができる。コンダクタ120は、第三者のソリューションおよび/またはアプリケーションのための通信の集中ポイントとして作用することによって相互接続性を提供することができる。
【0042】
ロボット130は、デザイナ110に構築されたワークフローを実行する遂行エージェントである。ロボット130のいくつかの実施形態の一商用例は、UiPath Robots(商標)である。いくつかの実施形態では、ロボット130は、デフォルトでMicrosoft Windows(登録商標)Service Control Manager(SCM)管理サービスをインストールする。結果として、そのようなロボット130は、ローカルシステムアカウントの下でインタラクティブなWindows(登録商標)セッションを開き、Windows(登録商標)サービスの権利を有することができる。
【0043】
いくつかの実施形態では、ロボット130は、ユーザーモードで設置することができる。このようなロボット130の場合、これは、所与のロボット130が設置されているユーザーと同じ権利を有することを意味する。この特徴は、その最大の可能性で各機械の完全な利用を保証する高密度(HD)ロボットにも利用可能であり得る。いくつかの実施形態では、任意のタイプのロボット130をHD環境で構成することができる。
【0044】
いくつかの実施形態におけるロボット130は、各々が特定の自動化タスク専用であるいくつかのコンポーネントに分割される。いくつかの実施形態におけるロボットコンポーネントは、SCM管理ロボットサービス、ユーザーモードロボットサービス、エグゼキュータ、エージェント、およびコマンドラインを含むが、これらに限定されない。SCM管理ロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ120と遂行ホスト(すなわち、ロボット130が遂行されるコンピューティングシステム)との間のプロキシとして機能する。これらのサービスは、ロボット130の資格情報で信頼され、管理する。コンソールアプリケーションは、ローカルシステムの下でSCMによって起動される。
【0045】
いくつかの実施形態におけるユーザーモードロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ120と遂行ホストとの間のプロキシとして機能する。ユーザーモードロボットサービスは、ロボット130のための資格情報を信頼し管理することができる。SCM管理ロボットサービスがインストールされていない場合、Windows(登録商標)アプリケーションを自動的に起動することができる。
【0046】
エグゼキュータは、Windows(登録商標)セッション下で所与のジョブを遂行することができる(すなわち、エグゼキュータはワークフローを遂行することができる)。エグゼキュータは、モニターごとのドット/インチ(DPI)設定を認識することができる。エージェントは、システムトレイウィンドウに利用可能なジョブを表示するWindows(登録商標)Presentation Foundation(WPF)アプリケーションであってもよい。エージェントは、サービスのクライアントであってもよい。エージェントは、ジョブの開始または停止および設定の変更を要求することができる。コマンドラインは、サービスのクライアントである。コマンドラインは、ジョブの開始を要求し、その出力を待つことができるコンソールアプリケーションである。
【0047】
上記で説明したようにロボット130のコンポーネントを分割することは、開発者、サポートユーザー、およびコンピューティングシステムが各コンポーネントが遂行しているものをより容易に実行、識別、および追跡するのに役立つ。このようにして、エグゼキュータおよびサービスに対して異なるファイアウォールルールを設定するなど、特別な挙動をコンポーネントごとに構成することができる。エグゼキュータは、いくつかの実施形態では、モニターごとにDPI設定を常に認識することができる。結果として、ワークフローは、それらが作成されたコンピューティングシステムの構成にかかわらず、任意のDPIで遂行され得る。いくつかの実施形態では、デザイナ110からのプロジェクトは、ブラウザのズームレベルとは無関係であってもよい。DPIを認識していない、または意図的に認識していないとマークされたアプリケーションの場合、いくつかの実施形態ではDPIを無効にすることができる。
【0048】
図2は、本発明の一実施形態による、展開されたRPAシステム200を示すアーキテクチャ図である。いくつかの実施形態では、RPAシステム200は、
図1のRPAシステム100であってもよいし、その一部であってもよい。クライアント側、サーバー側、またはその両方は、本発明の範囲から逸脱することなく、任意の所望の数のコンピューティングシステムを含むことができることに留意されたい。クライアント側では、ロボットアプリケーション210は、エグゼキュータ212と、エージェント214と、デザイナ216と、を含む。しかしながら、いくつかの実施形態では、デザイナ216は、コンピューティングシステム210上で実行されていなくてもよい。エグゼキュータ212は、実行中のプロセスである。
図2に示すように、いくつかのビジネスプロジェクトが同時に実行されてもよい。エージェント214(例えば、Windows(登録商標)サービス)は、この実施形態ではすべてのエグゼキュータ212に対する単一の接続ポイントである。この実施形態におけるすべてのメッセージは、データベースサーバー240、インデクササーバー250、またはその両方を介してそれらをさらに処理するコンダクタ230にログされる。
図1に関して上述したように、エグゼキュータ212はロボットコンポーネントであってもよい。
【0049】
いくつかの実施形態では、ロボットは、機械名とユーザー名との間の関連付けを表す。ロボットは、複数のエグゼキュータを同時に管理することができる。同時に実行される複数のインタラクティブなセッション(例えば、Windows(登録商標)Server2012)をサポートするコンピューティングシステムでは、複数のロボットが同時に実行され、それぞれが一意のユーザー名を使用して別々のWindows(登録商標)セッションで実行されてもよい。これは、上記ではHDロボットと呼ばれる。
【0050】
エージェント214はまた、ロボットのステータス(例えば、ロボットがまだ機能していることを示す「ハートビート」メッセージを定期的に送信する)を送信し、遂行されるパッケージの必要なバージョンをダウンロードする役割も担う。エージェント214とコンダクタ230との間の通信は、いくつかの実施形態では常にエージェント214によって開始される。通知シナリオでは、エージェント214は、ロボットにコマンド(例えば、始動、停止など)を送信するためにコンダクタ230によって後で使用されるWebSocketチャネルを開くことができる。
【0051】
サーバー側には、プレゼンテーション層(ウェブアプリケーション232、オープンデータプロトコル(OData)代表状態転送(REST)アプリケーション・プログラミング・インターフェース(API)エンドポイント234、ならびに通知および監視236)、サービス層(API実装/ビジネスロジック238)、永続層(データベースサーバー240、インデクササーバー250)が含まれる。コンダクタ230は、ウェブアプリケーション232、OData REST APIエンドポイント234、通知および監視236、ならびにAPI実装/ビジネスロジック238を含む。いくつかの実施形態では、ユーザーがコンダクタ230のインターフェース内で(例えば、ブラウザ220を介して)実行するほとんどのアクションは、様々なAPIを呼び出すことによって実行される。そのようなアクションは、本発明の範囲から逸脱することなく、ロボット上のジョブの開始、キュー内のデータの追加/削除、無人で実行するためのジョブのスケジューリングなどを含むことができるが、これらに限定されない。ウェブアプリケーション232は、サーバープラットフォームのビジュアル層である。この実施形態では、ウェブアプリケーション232は、ハイパーテキストマークアップ言語(HTML)およびJavaScript(JS)を使用する。しかしながら、本発明の範囲から逸脱することなく、任意の所望のマークアップ言語、スクリプト言語、または任意の他のフォーマットを使用することができる。ユーザーは、コンダクタ230を制御するための様々なアクションを実行するために、この実施形態ではブラウザ220を介してウェブアプリケーション232からのウェブページとインタラクトする。例えば、ユーザーは、ロボットグループを作成し、ロボットにパッケージを割り当て、ロボットごとおよび/またはプロセスごとにログを解析し、ロボットを起動および停止することなどができる。
【0052】
ウェブアプリケーション232に加えて、コンダクタ230はまた、OData REST APIエンドポイント234を公開するサービス層を含む。しかしながら、本発明の範囲から逸脱することなく、他のエンドポイントが含まれてもよい。REST APIは、ウェブアプリケーション232とエージェント214の両方によって消費される。エージェント214は、この実施形態ではクライアントコンピュータ上の1つまたは複数のロボットの管理者である。
【0053】
この実施形態におけるREST APIは、構成、ロギング、監視、およびキューイング機能をカバーする。構成エンドポイントは、いくつかの実施形態では、アプリケーションユーザー、権限、ロボット、アセット、リリース、および環境を定義および構成するために使用され得る。例えば、エラー、ロボットによって送信された明示的なメッセージ、および他の環境固有の情報などの様々な情報をログに記録するために、RESTエンドポイントをロギングすることができる。開始ジョブコマンドがコンダクタ230内で使用される場合に遂行されるべきパッケージバージョンをクエリするために、デプロイメントRESTエンドポイントがロボットによって使用されてもよい。RESTエンドポイントをキューイングすることは、キューにデータを追加すること、キューからトランザクションを取得すること、トランザクションの状態を設定することなど、キューおよびキュー項目管理を担当することができる。
【0054】
RESTエンドポイントの監視は、ウェブアプリケーション232およびエージェント214を監視することができる。通知監視API236は、エージェント214の登録、エージェント214への構成設定の配信、ならびにサーバーおよびエージェント214からの通知の送信/受信に使用されるRESTエンドポイントであってもよい。通知監視API236はまた、いくつかの実施形態では、WebSocket通信を使用してもよい。
【0055】
永続層は、この実施形態におけるサーバーのペア、すなわちデータベースサーバー240(例えば、SQLサーバー)およびインデクササーバー250を含む。この実施形態におけるデータベースサーバー240は、ロボット、ロボットグループ、関連するプロセス、ユーザー、役割、スケジュールなどの構成を格納する。この情報は、いくつかの実施形態ではウェブアプリケーション232を介して管理される。データベースサーバー240は、キューおよびキュー項目を管理することができる。いくつかの実施形態では、データベースサーバー240は、(インデクササーバー250に加えて、またはその代わりに)ロボットによって記録されたメッセージを格納することができる。
【0056】
インデクササーバー250は、いくつかの実施形態ではオプションであり、ロボットによって記録された情報を格納し、インデックス付けする。特定の実施形態では、インデクササーバー250は、構成設定を通じて無効にすることができる。いくつかの実施形態では、インデクササーバー250は、オープンソースプロジェクトのフルテキスト探索エンジンであるElasticSearch(登録商標)を使用する。ロボット(例えば、ログメッセージまたは行書き込みのようなアクティビティを使用する)によってログされたメッセージは、ロギングRESTエンドポイントを介してインデクササーバー250に送信されてもよく、そこでそれらは将来の利用のためにインデックス付けされる。
【0057】
図3は、本発明の一実施形態による、デザイナ310、アクティビティ320,330、ドライバ340、およびAI/MLモデル350の間の関係300を示すアーキテクチャ図である。上記により、開発者は、デザイナ310を使用して、ロボットによって遂行されるワークフローを開発する。ワークフローは、ユーザー定義のアクティビティ320およびUI自動化アクティビティ330を含むことができる。ユーザー定義のアクティビティ320および/またはUI自動化アクティビティ330は、いくつかの実施形態では、1つまたは複数のAI/MLモデル350を呼び出すことができ、これは、ロボットが動作しているコンピューティングシステムに対してローカルにおよび/またはそこから遠隔に配置することができる。いくつかの実施形態は、本明細書ではコンピュータビジョン(CV)と呼ばれる、画像内の非テキスト視覚コンポーネントを識別することができる。そのようなコンポーネントに関係するいくつかのCVアクティビティは、クリック、タイプ、テキストを取得、ホバー、要素存在、リフレッシュ範囲、ハイライトなどを含み得るが、これらに限定されない。いくつかの実施形態では、クリックは、例えば、CV、光学文字認識(OCR)、ファジー文字マッチング、およびマルチアンカーを使用して要素を識別し、それをクリックする。タイプは、上記および要素内のタイプを使用して要素を識別することができる。テキストを取得し、OCRを使用して特定のテキストの位置を識別し、それをスキャンすることができる。ホバーは、要素を識別し、それをホバーすることができる。要素が存在することは、上述した技術を使用して、画面上に要素が存在するかどうかをチェックすることができる。いくつかの実施形態では、デザイナ310に実装することができるアクティビティは、数百または数千であってもよい。しかしながら、本発明の範囲から逸脱することなく、任意の数および/またはタイプのアクティビティが利用可能であり得る。
【0058】
UI自動化アクティビティ330は、下位レベルコード(例えば、CVアクティビティ)に書き込まれ、画面とのインタラクションを容易にする特別な低レベルのアクティビティのサブセットである。UI自動化アクティビティ330は、ロボットが所望のソフトウェアとインタラクトすることを可能にするドライバ340および/またはAI/MLモデル350を介したこれらのインタラクションを容易にする。例えば、ドライバ340は、OSドライバ342、ブラウザドライバ344、VMドライバ346、エンタープライズアプリケーションドライバ348などを含むことができる。AI/MLモデル350のうちの1つまたは複数は、コンピューティングシステムとのインタラクションの実行を決定するためにUI自動化アクティビティ330によって使用され得る。いくつかの実施形態では、AI/MLモデル350は、ドライバ340を増強するか、それらを完全に置き換えることができる。実際、特定の実施形態では、ドライバ340は含まれない。
【0059】
ドライバ340は、フックを探し、キーを監視するなど、低レベルでOSとインタラクトすることができる。それらは、Chrome(登録商標)、IE(登録商標)、Citrix(登録商標)、SAP(登録商標)などとの統合を容易にすることができる。例えば、「クリック」アクティビティは、ドライバ340を介してこれらの異なるアプリケーションで同じ役割を実行する。
【0060】
図4は、本発明の一実施形態による、RPAシステム400を示すアーキテクチャ図である。いくつかの実施形態では、RPAシステム400は、
図1および/または
図2のRPAシステム100および/または200であり得るか、それらを含み得る。RPAシステム400は、ロボットを実行する複数のクライアントコンピューティングシステム410を含む。コンピューティングシステム410は、その上で実行されるウェブアプリケーションを介してコンダクタコンピューティングシステム420と通信することができる。次に、コンダクタコンピューティングシステム420は、データベースサーバー430および任意選択のインデクササーバー440と通信することができる。
【0061】
図1および
図3に関して、これらの実施形態ではウェブアプリケーションが使用されているが、本発明の範囲から逸脱することなく、任意の適切なクライアント/サーバーソフトウェアを使用できることに留意されたい。例えば、コンダクタは、クライアントコンピューティングシステム上の非ウェブベースのクライアントソフトウェアアプリケーションと通信するサーバー側アプリケーションを実行することができる。
【0062】
図5は、本発明の一実施形態による、RPAワークフローのためのセマンティックAIを使用してソース画面/ソースデータとターゲット画面との間のセマンティックマッチングを実行するように構成されたコンピューティングシステム500を示すアーキテクチャ図である。いくつかの実施形態では、コンピューティングシステム500は、本明細書に図示および/または記載されたコンピューティングシステムのうちの1つまたは複数であってもよい。コンピューティングシステム500は、情報を通信するためのバス505または他の通信機構と、情報を処理するためにバス505に結合されたプロセッサ510と、を含む。プロセッサ510は、中央プロセッシングユニット(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックスプロセッシングユニット(GPU)、それらの複数のインスタンス、および/またはそれらの任意の組み合わせを含む、任意のタイプの汎用または専用プロセッサであってもよい。プロセッサ510はまた、複数の処理コアを有してもよく、コアの少なくともいくつかは、特定の機能を実行するように構成されてもよい。いくつかの実施形態では、複数並列処理が使用されてもよい。特定の実施形態では、プロセッサ510の少なくとも一方は、生体ニューロンを模倣する処理要素を含むニューロモーフィック回路であってもよい。いくつかの実施形態では、ニューロモーフィック回路は、フォン・ノイマン・コンピューティングアーキテクチャの典型的なコンポーネントを必要としない場合がある。
【0063】
コンピューティングシステム500は、プロセッサ510によって遂行される情報および命令を格納するためのメモリ515をさらに含む。メモリ515は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、キャッシュ、磁気もしくは光ディスクなどの静的ストレージ、または任意の他のタイプの非一時的コンピュータ可読媒体、またはそれらの組み合わせの任意の組み合わせで構成することができる。非一時的コンピュータ可読媒体は、プロセッサ510によってアクセス可能な任意の利用可能な媒体であってもよく、揮発性媒体、不揮発性媒体、またはその両方を含んでもよい。媒体はまた、取り外し可能、取り外し不能、またはその両方であってもよい。
【0064】
さらに、コンピューティングシステム500は、無線接続および/または有線接続を介して通信ネットワークへのアクセスを提供するためのトランシーバなどの通信デバイス520を含む。いくつかの実施形態では、通信デバイス520は、周波数分割多元接続(FDMA)、シングルキャリアFDMA(SC-FDMA)、時分割多元接続(TDMA)、符号分割多元接続(CDMA)、直交周波数分割多重方式(OFDM)、直交周波数分割多元接続(OFDMA)、移動体用グローバルシステム(GSM)通信、汎用パケット無線サービス(GPRS)、ユニバーサル移動体通信システム(UMTS)、cdma2000、広帯域CDMA(W-CDMA)、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、高速パケットアクセス(HSPA)、ロングタームエボリューション(LTE)、LTEアドバンスト(LTE-A)、802.11x、Wi-Fi、Zigbee、超広帯域無線(UWB)、802.16x、802.15、ホームノードB(HnB)、Bluetooth、無線周波数識別(RFID)、赤外線データ協会(IrDA)、近距離通信(NFC)、第5世代(5G)、新無線(NR)、それらの任意の組み合わせ、ならびに/あるいは本発明の範囲から逸脱することなく、任意の他の現在存在する、または将来実施される通信規格および/またはプロトコルを使用するように構成されてもよい。いくつかの実施形態では、通信デバイス520は、本発明の範囲から逸脱することなく、単一、アレイ、位相、切り替え、ビームフォーミング、ビームステア、それらの組み合わせ、および/または任意の他のアンテナ構成である1つまたは複数のアンテナを含むことができる。
【0065】
プロセッサ510はさらに、バス505を介して、プラズマディスプレイ、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、電界放出ディスプレイ(FED)、有機発光ダイオード(OLED)ディスプレイ、フレキシブルOLEDディスプレイ、フレキシブル基板ディスプレイ、プロジェクションディスプレイ、4Kディスプレイ、高精細ディスプレイ、Retina(登録商標)ディスプレイ、インプレーンスイッチング(IPS)ディスプレイ、またはユーザーに情報を表示するための任意の他の適切なディスプレイなどのディスプレイ525にさらに結合される。ディスプレイ525は、抵抗性、容量性、表面弾性波(SAW)容量性、赤外線、光学イメージング、分散信号技術、音響パルス認識、フラストレート全内部反射などを使用して、タッチ(触覚)ディスプレイ、3次元(3D)タッチディスプレイ、マルチ入力タッチディスプレイ、マルチタッチディスプレイなどとして構成され得る。本発明の範囲から逸脱することなく、任意の適切なディスプレイデバイスおよび触覚I/Oが使用され得る。
【0066】
キーボード530およびコンピュータマウス、タッチパッドなどのカーソル制御デバイス535は、ユーザーがコンピューティングシステム500とインターフェースすることを可能にするためにバス505にさらに結合される。しかしながら、特定の実施形態では、物理的なキーボードおよびマウスが存在しなくてもよく、ユーザーは、ディスプレイ525および/またはタッチパッド(図示せず)のみを介してデバイスとインタラクトすることができる。入力デバイスの任意のタイプおよび組み合わせを、設計上の選択事項として使用することができる。特定の実施形態では、物理的入力デバイスおよび/またはディスプレイは存在しない。例えば、ユーザーは、それと通信する別のコンピューティングシステムを介してコンピューティングシステム500と遠隔でインタラクトすることができ、またはコンピューティングシステム500は自律的に動作することができる。
【0067】
メモリ515は、プロセッサ510によって遂行されると機能を提供するソフトウェアモジュールを格納する。モジュールは、コンピューティングシステム500のためのオペレーティングシステム540を含む。モジュールは、本明細書に記載のプロセスまたはその派生物の全部または一部を実行するように構成されたセマンティックマッチングモジュール545をさらに含む。コンピューティングシステム500は、追加の機能を含む1つまたは複数の追加の機能モジュール550を含むことができる。
【0068】
当業者は、「システム」が、本発明の範囲から逸脱することなく、サーバー、組込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングシステム、もしくは任意の他の適切なコンピューティングデバイス、またはデバイスの組み合わせとして具現化され得ることを理解するであろう。上記の機能を「システム」によって実行されるものとして提示することは、本発明の範囲を決して限定することを意図するものではなく、本発明の多くの実施形態の一例を提供することを意図している。実際、本明細書に開示する方法、システム、および装置は、クラウドコンピューティングシステムを含むコンピューティング技術と一致する局所化された形態および分散された形態で実装されてもよい。コンピューティングシステムは、ローカルエリアネットワーク(LAN)、移動通信ネットワーク、衛星通信ネットワーク、インターネット、パブリッククラウドもしくはプライベートクラウド、ハイブリッドクラウド、サーバーファーム、それらの任意の組み合わせなどの一部であるか、またはそれらによってアクセス可能であり得る。本発明の範囲から逸脱することなく、任意の局所化されたまたは分散されたアーキテクチャが使用されてもよい。
【0069】
本明細書に記載されたシステム特徴のいくつかは、それらの実装の独立性をより具体的に強調するために、モジュールとして提示されていることに留意されたい。例えば、モジュールは、カスタムの超大規模集積(VLSI)回路またはゲートアレイ、ロジックチップ、トランジスタ、または他のディスクリートコンポーネントなどの既製の半導体を含むハードウェア回路として実装されてもよい。モジュールはまた、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、グラフィックスプロセッシングユニットなどのプログラマブルハードウェアデバイスに実装されてもよい。
【0070】
モジュールはまた、様々なタイプのプロセッサによって実行するためのソフトウェアに少なくとも部分的に実装されてもよい。遂行可能コードの識別されたユニットは、例えば、オブジェクト、プロシージャ、または関数として編成することができるコンピュータ命令の1つまたは複数の物理ブロックまたは論理ブロックを含むことができる。それにもかかわらず、識別されたモジュールの遂行可能ファイルは、物理的に共に配置される必要はないが、論理的に共に結合されたときにモジュールを含み、モジュールの記載された目的を達成する異なる場所に格納された異なる命令を含むことができる。さらに、モジュールは、コンピュータ可読媒体に格納されてもよく、それは、例えば、ハードディスクドライブ、フラッシュデバイス、RAM、テープ、および/または本発明の範囲から逸脱することなくデータを格納するために使用される任意の他のそのような非一時的コンピュータ可読媒体であってもよい。
【0071】
実際、遂行可能コードのモジュールは、単一の命令、または多くの命令であってもよく、いくつかの異なるコードセグメント、異なるプログラム、およびいくつかのメモリデバイスに分散されてもよい。同様に、操作データは、本明細書ではモジュール内で識別および図示されてもよく、任意の適切な形態で具現化され、任意の適切なタイプのデータ構造内に編成されてもよい。操作データは、単一のデータセットとして収集されてもよく、または異なるストレージデバイスを含む異なる場所に分散されてもよく、少なくとも部分的に、システムまたはネットワーク上の電子信号としてのみ存在してもよい。
【0072】
図6は、本発明の一実施形態による、RPAワークフローのためのセマンティックAIを使用して、AI/MLモデルを訓練し、ソース画面/ソースデータとターゲット画面との間のセマンティックマッチングを実行するように構成されたシステム600を示すアーキテクチャ図である。システム600は、デスクトップコンピュータ602、タブレット604、およびスマートフォン606などのユーザーコンピューティングシステムを含む。しかしながら、これらに限られるわけではないがスマートウォッチ、ラップトップコンピュータ、モノのインターネット(IoT)デバイス、車両コンピューティングシステムなどを含む任意の所望のコンピューティングシステムを、本発明の範囲から逸脱することなく使用することができる。
【0073】
各コンピューティングシステム602、604、606には、RPAデザイナアプリケーションがインストールされている。RPAデザイナアプリケーション610は、それぞれのユーザーがソース画面またはソースデータおよびターゲット画面を選択することを可能にするマッピング機能を提供する。RPAデザイナアプリケーション610はまた、ネットワーク620(例えば、ローカルエリアネットワーク(LAN)、移動通信ネットワーク、衛星通信ネットワーク、インターネット、それらの任意の組み合わせなど)を介してサーバー630のAI/MLモデル632を呼び出すように構成される。サーバー630は、データベース640にデータを格納し、データベースからデータを取得する。
【0074】
AL/MLモデル632は、セマンティックAI機能、CV、OCR、NLPなどを提供する。例えば、1つのAI/MLモデルはCV機能を提供することができ、別のAI/MLモデルはOCRを実行することができ、さらに別のAI/MLモデルはこのデータを使用してセマンティックマッチングなどを実行することができる。
【0075】
図7Aは、本発明の一実施形態による、画像内のグラフィカル要素を認識するように訓練されたニューラルネットワーク700の一例を示す。ここで、ニューラルネットワーク700は、入力層の入力「ニューロン」1~Iに対して、1920x1080画面のスクリーンショット画像の画素を受け取る。この場合、Iは2,073,600であり、スクリーンショット画像内の画素の総数である。
【0076】
ニューラルネットワーク700はまた、いくつかの隠れ層を含む。DLNNとSLNNの両方は通常、複数の層を有するが、SLNNは場合によっては1つまたは2つの層しか有さず、通常はDLNNよりも少ない層を有することができる。典型的には、ニューラルネットワークアーキテクチャは、ニューラルネットワーク700の場合のように、入力層、複数の中間層、および出力層を含む。
【0077】
DLNNは、多くの層(例えば、10、50、200など)を有することが多く、後続の層は、典型的には、より複雑で一般的な関数を計算するために前の層からの特徴を再利用する。一方、SLNNは、生データサンプルから事前にエキスパート特徴が作成されるため、数層しか有さず、比較的迅速に訓練される傾向がある。しかしながら、特徴抽出は面倒である。一方、DLNNは、通常、エキスパート機能を必要としないが、訓練に時間がかかり、より多くの層を有する傾向がある。
【0078】
両方の手法について、層は訓練セット上で同時に訓練され、通常、分離された交差検証セット上のオーバーフィッティングをチェックする。両方の技術は優れた結果をもたらすことができ、両方の手法に対してかなりの熱気がある。個々の層の最適なサイズ、形状、および量は、それぞれのニューラルネットワークによって対処される問題に応じて変化する。
【0079】
図7Aに戻ると、入力層として提供される画素は、隠れ層1のJ個のニューロンへの入力として供給される。この例ではすべての画素が各ニューロンに供給されるが、フィードフォワードネットワーク、半径基底ネットワーク、ディープフィードフォワードネットワーク、深層畳み込み逆グラフィックスネットワーク、畳み込みニューラルネットワーク、リカレントニューラルネットワーク、人工ニューラルネットワーク、長/短期メモリネットワーク、ゲーティッドリカレントユニットネットワーク、生成敵対ネットワーク、液体ステートマシン、オートエンコーダ、変分オートエンコーダ、ノイズ除去オートエンコーダ、スパースオートエンコーダ、エクストリームラーニングマシン、エコーステートネットワーク、マルコフチェーン、ホップフィールドネットワーク、ボルツマンマシン、制限ボルツマンマシン、深層残差ネットワーク、コーネンネットワーク、深層確率ネットワーク、深層畳み込みネットワーク、サポートベクターマシン、ニューラルチューリングマシン、または本発明の範囲から逸脱することなく、任意の他の適切なタイプもしくは組み合わせのニューラルネットワークを含むがこれらに限定されない、個別にまたは組み合わせて使用することができる様々なアーキテクチャが可能である。
【0080】
最後の隠れ層が出力層の入力としてその出力を提供するまで、隠れ層2は隠れ層1からの入力を受け取り、隠れ層3は隠れ層2からの入力を受け取り、以下同様にすべての隠れ層について受け取る。ニューロンI、J、K、およびLの数は必ずしも等しいとは限らず、したがって、本発明の範囲から逸脱することなく、ニューラルネットワーク700の所与の層に任意の所望の数の層を使用することができることに留意されたい。実際、特定の実施形態では、所与の層のニューロンのタイプはすべて同じであるとは限らない。
【0081】
ニューラルネットワーク700は、画像内で発見されたと考えられるグラフィカル要素に信頼度スコアを割り当てるように訓練される。許容できないほど低い尤度とのマッチングを減らすために、いくつかの実施形態では、信頼度しきい値を満たすかまたはそれを超える信頼度スコアを有する結果のみを提供することができる。例えば、信頼度しきい値が80%である場合、この量を超える信頼度スコアを有する出力を使用することができ、残りは無視することができる。この場合、出力層は、2つのテキストフィールド、テキストラベル、および提出ボタンが見つかったことを示す。ニューラルネットワーク700は、本発明の範囲から逸脱することなく、これらの要素の位置、寸法、画像、および/または信頼度スコアを提供することができ、これらは、RPAロボットまたは所与の目的のためにこの出力を使用する別のプロセスによってその後使用することができる。
【0082】
ニューラルネットワークは、典型的には信頼度スコアを有する確率的構築物であることに留意されたい。これは、訓練中に類似の入力が正しく識別された頻度に基づいてAI/MLモデルによって学習されたスコアであり得る。例えば、テキストフィールドは、長方形の形状および白色の背景を有することが多い。ニューラルネットワークは、これらの特性を有するグラフィカル要素を高い信頼度で識別することを学習することができる。いくつかの一般的なタイプの信頼度スコアは、0と1との間の十進数(信頼のパーセンテージとして解釈することができる)、負の∞と正の∞との間の数、または式のセット(例えば、「低」、「中」、「高」)を含む。温度スケーリング、バッチ正規化、重み減衰、負対数尤度(NLL)など、より正確な信頼度スコアを得るために、様々な後処理較正技術を使用することもできる。
【0083】
ニューラルネットワークにおける「ニューロン」は、典型的には生物学的ニューロンの機能に基づく数学関数である。ニューロンは、重み付けされた入力を受け取り、それらが出力を次の層に渡すかどうかを管理する総和および活性化関数を有する。この活性化関数は、値がしきい値を下回る場合には何も起こらないが、関数がしきい値を超えて直線的に応答する非線形しきい値化アクティビティ関数であり得る(すなわち、正規化線形ユニット(ReLU)非線形性)。実際のニューロンはほぼ同様のアクティビティ関数を有することができるので、総和関数およびReLU関数が深層学習で使用される。線形変換を介して、情報を減算、追加などすることができる。本質的に、ニューロンは、その基礎となる数学関数によって支配されるように、出力を次の層に渡すゲーティング関数として機能する。いくつかの実施形態では、少なくともいくつかのニューロンに異なる機能を使用することができる。
【0084】
【0085】
【0086】
【0087】
この場合、ニューロン710は単層パーセプトロンである。しかしながら、本発明の範囲から逸脱することなく、任意の適切なニューロンタイプまたはニューロンタイプの組み合わせを使用することができる。
【0088】
目標または「報酬関数」は、この場合には画像内のグラフィカル要素の識別に成功するなど、しばしば使用される。報酬関数は、状態空間の探索を案内し、目標(例えば、グラフィカル要素の識別の成功、RPAワークフローの次の一連のアクティビティの識別の成功など)を達成しようと試みるために、短期報酬および長期報酬の両方を有する中間遷移およびステップを探索する。
【0089】
訓練中、様々なラベル付きデータ(この場合、画像)がニューラルネットワーク700を介して供給される。識別が成功すると、ニューロンへの入力の重みが強化されるが、識別が失敗すると、ニューロンが弱くなる。平均二乗誤差(MSE)または勾配降下法などのコスト関数を使用して、非常に誤った予測よりもはるかに少ないわずかに誤った予測を処理することができる。AI/MLモデルの性能が特定の数の訓練反復後に改善していない場合には、データサイエンティストは、報酬関数を修正し、識別されていないグラフィカル要素がどこにあるかの指示を提供し、誤って識別されたグラフィカル要素の修正を提供することなどができる。
【0090】
バックプロパゲーションは、フィードフォワードニューラルネットワークにおけるシナプス重みを最適化するための技術である。バックプロパゲーションを使用して、ニューラルネットワークの隠れ層に「フードをポップ」して、すべてのノードがどの程度の損失に関与しているかを確認し、その後に、より高いエラーレートのノードにより低い重みを与えることによって損失を最小化するように重みを更新することができ、その逆も可能である。言い換えれば、バックプロパゲーションにより、データサイエンティストは、実際の出力と所望の出力との差を最小にするように重みを繰り返し調整することができる。
【0091】
バックプロパゲーションアルゴリズムは、最適化理論において数学的に確立されている。教師あり学習では、既知の出力を有する訓練データがニューラルネットワークを通過し、既知のターゲット出力からコスト関数を用いて誤差が計算され、これがバックプロパゲーションの誤差を与える。出力において誤差が計算され、この誤差は、誤差を最小にするネットワーク重みの修正に変換される。
【0092】
【0093】
【0094】
【0095】
重み更新は、以下の式により計算することができる。
【数1】
【0096】
【0097】
AI/MLモデルは、良好なレベルの精度(例えば、検出のためにF2またはF4しきい値を使用して97%以上、および約2,000エポック)に達するまで、複数のエポックにわたって訓練される。この精度レベルは、いくつかの実施形態では、本発明の範囲から逸脱することなく、F1スコア、F2スコア、F4スコア、または任意の他の適切な技術を使用して決定することができる。訓練データで訓練されると、AI/MLモデルは、AI/MLモデルが以前に遭遇したことのない評価データのセットでテストされる。これは、AI/MLモデルが訓練データ内のグラフィカル要素を十分に識別するが、他の画像には十分に一般化されないように、AI/MLモデルが「過度にフィット」しないことを保証するのに役立つ。
【0098】
いくつかの実施形態では、どの精度レベルが達成され得るかが分からない場合がある。したがって、評価データを分析するときにAI/MLモデルの精度が低下し始める(すなわち、モデルは訓練データでは良好に機能しているが、評価データではあまり機能しなくなっている)場合には、AI/MLモデルは、訓練データ(および/または新しい訓練データ)に対する訓練のより多くのエポックを経験することができる。いくつかの実施形態では、AI/MLモデルは、精度が特定のレベルに達する場合、または訓練されたAI/MLモデルの精度が既存の展開されたAI/MLモデルよりも優れている場合にのみ展開される。
【0099】
特定の実施形態では、訓練されたAI/MLモデルの集合を使用して、関心のあるグラフィカル要素のタイプごとにAI/MLモデルを使用すること、OCRを実行するためにAI/MLモデルを使用すること、グラフィカル要素間の近接関係を認識するためにさらに別のAI/MLモデルを展開すること、他のAI/MLモデルからの出力に基づいてRPAワークフローを生成するためにさらに別のAI/MLモデルを使用することなどのタスクを達成することができる。これは、例えば、AI/MLモデルがセマンティック自動化を可能にすることを集合的に可能にすることができる。
【0100】
いくつかの実施形態は、最先端のセンテンス、テキスト、および画像の埋め込みのためのPython(商標)フレームワークであるSentenceTransformers(商標)などのトランスフォーマーネットワークを使用することができる。そのようなトランスフォーマーネットワークは、高いスコアと低いスコアの両方を有する単語およびフレーズの関連付けを学習する。これは、AI/MLモデルを訓練して、入力に近いものとそうでないものをそれぞれ判定する。トランスフォーマーネットワークは、単に単語/フレーズのペアを使用するのではなく、フィールド長およびフィールドタイプも使用することができる。
【0101】
図8は、本発明の一実施形態による、RPAワークフローのためのセマンティックAIを使用して、ソース画面またはソースデータとターゲット画面との間のセマンティックマッチングを実行するようにAI/MLモデルを訓練するためのプロセス800を示すフローチャートである。プロセスは、810において、ラベル付き画面(例えば、グラフィカル要素およびテキストが識別される)、単語およびフレーズ、所与の単語またはフレーズに対する類似の単語およびフレーズを識別できるように単語とフレーズとの間のセマンティック関連付けの「シソーラス」などを提供することから始まる。次いで、820でAI/MLモデルを複数のエポックで訓練し、830で結果を精査する。
【0102】
AI/MLモデルが840で所望の信頼度しきい値を満たさない場合には、850でAI/MLモデルがその目的をより良好に達成するのを助けるために、訓練データが補足され、および/または報酬関数が修正され、プロセスはステップ820に戻る。AI/MLモデルが840で信頼度しきい値を満たす場合には、AI/MLモデルが860で評価データに対してテストされて、AI/MLモデルが十分に一般化され、AI/MLモデルが訓練データに対して過度に適合しないことを保証する。評価データは、AI/MLモデルが以前に処理されたことがないソース画面、ソースデータ、およびターゲット画面を含むことができる。870において評価データについて信頼度しきい値が満たされる場合には、880においてAI/MLモデルが展開される。そうでない場合、プロセスはステップ850に戻り、AI/MLモデルがさらに訓練される。
【0103】
いくつかの実施形態は、開発者からのインタラクション入力が少ないまたは最小限である完全に自動化されたワークフローを作成するための自動化プラットフォームにセマンティック自動化をもたらす。セマンティックマッピングを使用して、データソース/ソース画面からのUIフィールドは、1つまたは複数のAI/MLモデルを使用してセマンティックにターゲット画面上のUIフィールドにマッピングされ、開発者による介入なしにこのセマンティックマッピングから完全に自動化されたワークフローを作成することができる。現在のプロトタイプでは、UIフィールドの最大80%についてマッピングを達成することができ、開発者の支援により、残りの約20%をマッピングすることができる。AI/MLモデルは、マッピングが将来100%の精度に近づくことを期待して、経時的にUIフィールドをより正確にマッチングさせるように学習するように再訓練することができる。
【0104】
いくつかの実施形態では、RPAデザイナアプリケーションは、RPA開発者が2つの画面間またはデータ(例えば、顧客データ)と画面との間のマッチングを実行することを可能にするセマンティックマッチング機能を含む。これは、例えば、リボン、ドロップダウンメニュー、または別の適切なユーザーインターフェース要素の「セマンティックAI」ボタンとして実装されてもよい。セマンティックAI機能を選択すると、RPAデザイナアプリケーションは、
図9A~
図9Gのマッチングインターフェース900などのマッチングインターフェースを表示することができる。これは一般的な例であるが、請求書をSAP(登録商標)にマッピングすること、エクセルスプレッドシートからCRMアプリケーションにデータを自動的に入力すること、RPAワークフローから別のRPAワークフローにXAMLをマッピングすることなど、本発明の実施形態によって提供されるセマンティックAIには多くの使用事例が存在する。また、この例はテキストフィールドからなるが、ボタン、テキスト領域などの他のグラフィカル要素は、本発明の範囲から逸脱することなくマッピングされてもよい。
【0105】
マッチングインターフェース900は、マッピングオプションペイン910およびマッピングペイン920を含む。開発者がマップ画面オプション912を選択すると、マッピングペイン920にソース選択ボタン922およびターゲット選択ボタン924が表示される。ユーザーは、戻るボタン930をクリックすることで、前回のデザイナアプリケーション画面に戻ることができる。ユーザーがこれらのボタンのうちの1つをクリックすると、ユーザーは、いくつかの実施形態ではUiPath Studio(商標)のものと同様または同じ画面上表示機能を使用してソースおよびターゲットを選択することができる。例えば、米国特許出願第17/100,146号を参照されたい。これにより、マッピングペイン920には、選択されたソース画面940および選択されたターゲット画面950が表示される。ソース画面940および/またはターゲット画面950は、アプリケーションウィンドウ、表示されたアプリケーションの一部などであってもよいことに留意されたい。
【0106】
ユーザーがマップボタン932をクリックすると、デザイナアプリケーションは、ソース画面940およびターゲット画面950上でOCRおよびCVを実行する1つまたは複数のAI/MLモデルを呼び出し、ソース画面940内のフィールドをターゲット画面950のフィールドとマッチングさせようと試みるセマンティックAI解析を実行し、信頼度しきい値を満たすかまたは超える信頼度スコアとのマッチングを表示する。
図9Bを参照されたい。全体的な信頼度スコア960も表示される。いくつかの実施形態では、マッピングは、同じまたは同様の画面で将来使用するためにオブジェクトリポジトリに格納されてもよい。例えば、米国特許出願第16/922,289号を参照されたい。
【0107】
この例では、デザイナアプリケーションは、AI/MLモデルを介して、ソース画面940およびターゲット画面950のほとんどのフィールドを正しくマッチングさせることができた。ソース画面940の通貨フィールドは空白のままであり、したがって、このグラフィカル要素についてはマッチングは試みられなかった。しかしながら、会社フィールドおよび請求書#フィールドのマッチングは見つからず、これは、これらの要素を異なる色で、信頼度スコア0で強調表示することによって開発者に示す。
【0108】
開発者は、AI/MLモデルによってマッチングしなかったフィールドを手動でマッチングさせることができ、いくつかの実施形態では、ユーザーマッチング情報は、AI/MLモデルの再訓練のためのラベル付き訓練データとして自動的に格納される。例えば、ソース画面およびターゲット画面は、バウンディングボックス情報(例えば、座標)、ならびにソース画面940およびターゲット画面950内のマッチングしたフィールドに関連するラベルの座標およびテキストと共に保存され得る。これは、例えば、
図9Cに見られ、ユーザーがソース画面940の請求書#フィールドがターゲット画面950の請求書番号フィールドとマッチングすることを示した。これにより、その要素の信頼度スコアおよび全体的な信頼度スコア960がそれに応じて増加する。
【0109】
いくつかの実施形態では、開発者は、ターゲットフィールド名の同義語を提供するように促されるか、そうでなければ許可され得る。例えば、
図9Cの例では、この要素が正しく識別されなかったため、ユーザーは、同義語テキストフィールド952に請求書番号フィールドの同義語を入力するように促される。例えば、開発者は、「請求書番号」、「勘定書番号」、「請求書ID」、「勘定書ID」などを追加することができる。特定の実施形態では、開発者は、所与のグラフィカル要素が正しく識別された場合であっても、同義語を入力することができる。この機能はまた、開発者が独自の用語およびコンテキストを追加することを可能にする。例えば、ターゲットアプリケーションがAI/MLモデルが以前に見たことのないツールである場合には、開発者は、そのツールについてAI/MLモデルをより正確にするために用語を追加することができる。次いで、この情報を使用してAI/MLモデルを訓練し、そのツールだけでなく、グローバルに他のターゲット画面に見られる類似の単語およびフレーズについてもより正確になるようにすることができる。
【0110】
特定の実施形態では、同義語が開発者に提案されてもよい。これらは、AI/MLモデルをそのコンテキストに対してより正確にするために受け入れまたは拒否することができる。これにより、AI/MLモデルは、正の例と負の例の両方を学習することができる。それはまた、AI/MLモデルが、所与のコンテキストに適用可能な同義語の異なるサブセットまたは同義語の代替セットを学習することを可能にする。
【0111】
いくつかの実施形態では、画像以外のソースデータも使用することができる。例えば、開発者がマップデータオプション914を選択し、
図9Dのソース選択ボタン926をクリックすると、データソースオプション927が表示される。
図9Eを参照されたい。開発者は、Excel(登録商標)、JavaScript(登録商標)Object Notation(JSON)、RPAワークフローのXAML、コンマ区切り変数(CSV)ファイルなどの所望のソースデータフォーマットを選択することができる。
【0112】
次いで、データソース970およびターゲット画像950が表示される。開発者がマップボタン932をクリックすると、AI/MLモデルは、ソース情報をターゲット画像950内のフィールドにマッチングさせようと試みる。
図9Fを参照されたい。この場合、ソースデータ970は、ソース画面940と同じ情報を含む。
図9Gでは、開発者は
図9Cと同様の修正を行い、全体的な信頼度スコア960が改善する。
【0113】
ソース画面とターゲット画面とのラベル間の関係を使用して、所与のテキストフィールドが表すことを意味するものを決定することができるが、テキストフィールドは互いに類似または同じであってもよい。これは、1つまたは複数のアンカーを所与のテキストフィールドに割り当てることによって達成され得る。例えば、フィールド都市は、ターゲット画面950内の関連するテキストフィールドの左に直接表示され、他のテキストフィールドはこのラベルを含まないため、デザイナアプリケーションおよび/またはAI/MLモデルは、これらのフィールドがリンクされていると判定し、都市ラベルをターゲットテキストフィールドのアンカーとして割り当てることができる。ラベルがテキストフィールドを一意に識別しない場合には、1つまたは複数の他のグラフィカル要素をアンカーとして割り当てることができ、それらの幾何学的関係を使用して所与のターゲット要素を一意に識別することができる。例えば、米国特許第10,936,351号および米国特許出願第17/100,146号を参照されたい。
【0114】
ソース画面またはソースデータおよびターゲット画面がマッピングされた後に、ユーザーは作成ボタン934をクリックして、所望のマッピングを実装するRPAワークフロー内の1つまたは複数のアクティビティを自動的に生成することができる。
図9Cおよび
図9Gを参照されたい。これにより、RPAワークフローアクティビティが自動的に作成される。いくつかの実施形態では、RPAワークフローは、作成後にユーザーが所望するマッピングタスクを実行するために直ちに遂行される。
【0115】
RPAワークフローを自動的に作成するために、デザイナアプリケーションはUIオブジェクトリポジトリを利用することができる。例えば、米国特許出願公開第16/922,289号を参照されたい。UIオブジェクトリポジトリ(例えば、UiPath Object Repository(商標))は、それ自体がUI記述子(例えば、アプリケーションの特定のバージョンおよびその1つまたは複数の画面について)の集合であるUIオブジェクトライブラリの集合である。同様のグラフィカル要素のための統合ターゲット制御は、所与のグラフィカル要素とインタラクトする方法をRPAロボットに指示するUIオブジェクトリポジトリから取得することができる。
【0116】
そのような例は
図10に示されており、本発明の一実施形態による、RPAワークフロー1010において自動的に生成されたアクティビティを有するRPAデザイナアプリケーション1000を示している。セマンティックマッチングAI/MLモデルは、上記に従って、ソース画面またはソースデータとターゲット画面との間の関連付けを認識するように訓練されている。
図9A~
図9Gおよび
図10の例の場合、セマンティックマッチングAI/MLモデルは、ソース画面内のフィールドからのデータまたはソースデータがターゲット画面内のマッチングフィールドにコピーされるべきであると判定することができる。したがって、RPAデザイナアプリケーション1000は、UIオブジェクトリポジトリからターゲット要素のUI記述子を取得し、ターゲット画面をクリックし、各ターゲットフィールドをクリックし、これらのUI記述子を使用してソース画面またはデータソースからのテキストをターゲット画面のそれぞれのマッチングするフィールドに入力するアクティビティをRPAワークフロー1010に追加することを知っている。RPAデザイナアプリケーション1000は、この機能を実装するRPAワークフロー1010内の1つまたは複数のアクティビティを自動的に生成する。いくつかの実施形態では、開発者はこれらのアクティビティを修正することを許可されない場合がある。しかしながら、特定の実施形態では、開発者は、アクティビティの構成を修正すること、アクティビティを編集するための完全な権限を有することなどを可能にすることができる。いくつかの実施形態では、RPAデザイナアプリケーションは、RPAワークフローを実装するRPAロボットを自動的に生成し、RPAロボットを遂行するので、開発者からのさらなる指示なしにソース画面またはソースデータからの情報がターゲット画面に自動的にコピーされる。
【0117】
いくつかの実施形態は、実質的なプログラミング経験のない開発者がセマンティック自動化を実行することを可能にするセマンティック・コピーアンドペースト機能を提供する。
図11Aは、本発明の一実施形態による、セマンティック・コピーアンドペースト・インターフェース1100を示す。いくつかの実施形態では、セマンティック・コピーアンドペースト・インターフェース1100は、RPAデザイナアプリケーションの一部である。しかしながら、特定の実施形態では、セマンティック・コピーアンドペースト・インターフェース1100は、スタンドアロンアプリケーションの一部である。セマンティック・コピーアンドペースト・インターフェース1100は、データ抽出ボタン1110、データ入力ボタン1120、コピーアンドペーストボタン1130、抽出データ閲覧ボタン1140、および閉じるボタン1150を含む。セマンティック・コピーアンドペースト・インターフェース1100を使用して、ユーザーは、データを抽出し、データを入力し、またはソースアプリケーションからターゲットアプリケーションへのコピーアンドペーストを実行することができる。
【0118】
データ抽出ボタン1110をクリックすると、デザイナアプリケーションは開発者にデータ抽出インターフェース1112を介してデータを抽出したいアプリケーションを開いて指示するよう求める。
図11Bを参照されたい。ユーザーがデータ抽出インターフェース1112のアプリケーション表示ボタン1114をクリックすると、画面に表示する機能が有効になる(例えば、UiPath Studio(商標)によって提供されるものと同じまたは類似のもの)。次いで、ユーザーは、データソースとして請求書1116を選択することができる。
【0119】
アプリケーションをソース(すなわち、この例では請求書1113)として示した後、セマンティック自動化ロジック(すなわち、セマンティックマッチングAI/MLモデル)は、分類アルゴリズムを使用してソースのタイプを予測することができ、データ抽出インターフェース1112は、ソースのタイプの予測をドロップダウンメニュー1116に表示する。
図11Cを参照されたい。ユーザーは、確認ボタン1117を使用して予測を確認するか、またはドロップダウンメニュー1116から別のタイプを選択することができる。
図11Dを参照されたい。次いで、抽出されたデータの要約1118がデータ抽出インターフェース1112に提供される。
図11Eを参照されたい。その後に、ユーザーは、データ入力を実行するためにセマンティック・コピーアンドペースト・インターフェース1100に戻るために戻るボタン1119を選択することができる。
【0120】
入力データボタン1120を選択すると、デザイナアプリケーションは、開発者に、データ入力インターフェース1122を介してデータを抽出したいアプリケーションを開いて示すように求める。
図11Fを参照されたい。ユーザーがデータ入力インターフェース1122のアプリケーションボタン1124をクリックすると、画面上機能が有効になっていることを示す。次いで、ユーザーは、ウェブ請求書処理ページ1123をターゲットアプリケーションとして選択することができる。
【0121】
ウェブ請求書処理ページ1123をターゲットとして示した後に、セマンティック自動化ロジックは、分類アルゴリズムを使用してターゲットのタイプを予測することができ、データ入力インターフェース1122は、ターゲットのタイプの予測をドロップダウンメニュー1126に表示する。
図11Gを参照されたい。ユーザーは、確認ボタン1127を使用して予測を確認するか、またはドロップダウンメニュー1126から別のタイプを選択することができる。
図11Hを参照されたい。ユーザーによる確認後に、デザイナアプリケーションは、抽出されたデータを使用してウェブブラウザ1123に自動的に入力する。
図11Iを参照されたい。
【0122】
ユーザーはまた、コピーアンドペーストボタン1130を使用してデータを「コピーアンドペースト」することができる。コピーアンドペーストボタン1130を選択すると、デザイナアプリケーションは、開発者に、コピーアンドペーストインターフェース1132を介してデータを入力したいアプリケーションを開いて示すように求める。
図11Jを参照されたい。ユーザーがコピーアンドペーストインターフェース1132のアプリケーションボタン1134を指示するクリックを行うと、画面上機能が有効になっていることを指示する。次に、ユーザーは、ターゲットアプリケーションとして行項目入力ページ1133を選択することができる。
【0123】
行項目入力ページ1133をターゲットとして示した後に、セマンティック自動化ロジックは、分類アルゴリズムを使用してターゲットのタイプを予測することができ、コピーアンドペーストインターフェース1132は、ターゲットのタイプの予測をドロップダウンメニュー1136に表示する。
図11Kを参照されたい。ユーザーは、確認ボタン1137を使用して予測を確認するか、またはドロップダウンメニュー1136から別のタイプを選択することができる。
図11Lを参照されたい。ユーザーは、スプレッドシート1135などの可能性のリストから選択することもできる。ユーザーによる確認後に、デザイナアプリケーションは、スプレッドシート1135から行項目入力ページ1133にデータを自動的にコピーする。
図11Mを参照されたい。
【0124】
いくつかの実施形態では、デザイナアプリケーションは、コピーアンドペーストインターフェース1132を介して、所与の行項目をターゲットアプリケーションに入力する前にユーザーを促すことができる。そのような例は
図11Nに示されており、ユーザーは、各行が行項目入力ページ1133に入力される前に各行を精査し承認する。コピーアンドペーストインターフェース1132は、スプレッドシート1135の次の行から入力されるデータのプレビュー1138を示す。ユーザーが行確認ボタン1139をクリックすると、デザイナアプリケーションは、プレビュー1138に示す行を行項目入力ページ1133の対応するフィールドに入力する。
【0125】
図12は、本発明の一実施形態による、セマンティックAIを実行するためのAI/MLモデルのアーキテクチャ1200を示すアーキテクチャ図である。CVモデル1210は、画面内のグラフィカル要素を識別するためのコンピュータビジョン機能を実行し、OCRモデル1220は、画面のテキスト検出および認識を実行する。ソース画面とターゲット画面の両方が使用される実施形態では、CVモデル1210およびOCRモデル1220は、両方の画面でCVおよびOCR機能を実行する。
【0126】
次いで、CVモデル1210およびOCRモデル1220は、OCRモデル1220からのラベルをCVモデル1210からのグラフィカル要素とマッチングさせるラベルマッチングモデル1230に、ターゲット画面またはターゲット画面とソース画面の両方における検出されたグラフィカル要素およびテキストのタイプ、位置、サイズ、テキストなどを提供する。次いで、画面からのマッチングラベルおよび関連するグラフィカル要素は、データソースまたはソース画面からの入力データをターゲット画面内のグラフィカル要素のラベルとマッチングさせる入力データマッチングモデル1240に渡される。次いで、マッチングおよびそれぞれの信頼度は、入力データマッチングモデル1240からの出力として提供される。いくつかの実施形態では、異なる方法で(例えば、それらは異なるニューラルネットワークアーキテクチャを有し、異なる戦略を採用し、異なる訓練データで訓練されているなど)マッチングを実行する入力データマッチングに複数のAI/MLモデルを使用することができる。
【0127】
いくつかの実施形態では、AI/MLモデルは、同じラベルを有するフィールドが異なるコンテキストを有し得ることを学習することができる。例えば、画面の請求情報と出荷情報セクションの両方が「住所」ラベルを有することができるが、AI/MLモデルは、一方の近くの要素のパターンが他方の近くの要素のパターンとは異なることを学習することができる。次いで、画面のこれらのセクションは、テキストフィールドがターゲットであり、「住所」ラベルおよび認識されたパターンを有するセクションがアンカーであるマルチアンカー技術におけるアンカーとして使用され得る。例えば、米国特許第10,936,351号および米国特許出願第17/100,146号を参照されたい。
【0128】
図13は、本発明の一実施形態による、RPAワークフローのためのセマンティックAIを使用してソース画面またはソースデータとターゲット画面との間のセマンティックマッチングを実行するためのプロセス1300を示すフローチャートである。プロセスは、1305でソース画面またはソースデータの選択を受信し、1310でターゲット画面の選択を受信することから始まる。次いで、ソース画面内のラベルとターゲット画面内のラベルとの間、ソースデータ内のデータ要素とターゲット画面内のラベルとの間、またはその両方でセマンティックマッチングを実行するように訓練された1つまたは複数のAI/MLモデルが1315で呼び出される。いくつかの実施形態では、1つまたは複数のAI/MLモデルは、所与の単語またはフレーズに対する類似の単語およびフレーズが識別され得るように、単語とフレーズとの間のセマンティック関連付けを有する単語およびフレーズを提供し、単語およびフレーズが表示される画面に関するコンテキストラベルを提供することによって訓練される。いくつかの実施形態では、1つまたは複数のAI/MLモデルは、CVモデル、OCRモデル、ラベルマッチングモデル、および入力データマッチングモデルを含み、ラベルマッチングモデルは、OCRモデルによって検出されたラベルをCVモデルによって検出されたフィールドとマッチングさせ、入力データモデルは、ラベルマッチングモデルからマッチングラベルを受け取り、データソースからのデータ要素またはソース画面からのラベルに関連するフィールドからのデータを、ターゲット画面上のセマンティックにマッチングするラベルに関連するフィールドとセマンティックにマッチングさせる。
【0129】
1320で、ターゲット画面内のセマンティックにマッチングするラベルに関連するグラフィカル要素(例えば、位置、座標、タイプなど)、および1つまたは複数のAI/MLモデルからのそれぞれの信頼度スコアの表示が受信される。セマンティックにマッチングするラベル、個別信頼度スコア、および全体的な信頼度スコアに関連するグラフィカル要素は、1325において、マッチングインターフェース内のターゲット画面に表示される。例えば、ターゲット画面を示すことができ、マッチングする要素を強調表示するか、そうでなければ開発者に明らかにすることができる。いくつかの実施形態では、ソース画面またはソースデータ内のマッチングするフィールドとターゲット画面との間に接続が描画されている。特定の実施形態では、マッチングが見つからなかったソース画面またはソースデータ内の要素は、強調表示されるか、そうでなければ開発者に示す。
【0130】
関連するセマンティックにマッチングするラベルを有するとして1つまたは複数のAI/MLモデルによって識別されたターゲット画面内のグラフィカル要素に対する修正、1つまたは複数のAI/MLモデルによってソース画面内のラベルとセマンティックにマッチングしなかったターゲット画面内の新しい要素の指示、またはその両方が、1330で受信される。1335において、ターゲット画面および関連するラベル内の修正されたおよび/または新たにラベル付けされたグラフィカル要素に関する情報が収集され、直接的(すなわち、コンピューティングシステムのメモリに直接格納される)または間接的(すなわち、格納のために外部システムに送信される)に格納される。ステップ1330および1335は、そのような修正が開発者によって提供される場合に実行される。
【0131】
1つまたは複数のAI/MLモデルがターゲット画面内のフィールドとセマンティックにマッチングすると識別されたラベルを有するソース画面内のフィールドからデータをコピーするか、1つまたは複数のAI/MLモデルがソースデータからのデータ要素とセマンティックにマッチングすると識別されたラベルを有するターゲット画面のフィールドにソースデータからデータ要素をコピーするか、またはその両方を行うRPAワークフロー内の1つまたは複数のアクティビティが1340において自動的に生成される。RPAワークフローにおいて生成された1つまたは複数のアクティビティを実装するRPAロボットが1345で生成され展開される。
【0132】
実行時に、展開されたRPAロボットは、UIオブジェクトリポジトリからのRPAワークフローに従って自動化を実行するために識別しようとしているグラフィカル要素のUI記述子にアクセスし、これらのUI記述子を使用してターゲット画面内のグラフィカル要素を識別しようとする。1355ですべてのターゲットグラフィカル要素を識別することができる場合には、1360で情報がソース画面またはデータソースからターゲット画面にコピーされる。しかしながら、1355ですべてのグラフィカル要素が見つからない場合には、RPAロボットはAI/MLモデルを呼び出して、欠落したグラフィカル要素を識別しようと試み、1365でこれらのそれぞれのグラフィカル要素のUI記述子を更新する。例えば、RPAロボットは、AI/MLモデルによって提供される記述子情報を使用して、UIオブジェクトリポジトリ内の欠落要素のそれぞれのUI記述子を更新することができるので、他のRPAロボットは将来同じ問題に遭遇しない。この意味で、システムは自己修復型である。
【0133】
図14は、本発明の一実施形態による、アテンディッドオートメーションインターフェースを使用するためのセマンティックAIを使用して、ソース画面またはソースデータとターゲット画面との間のセマンティックマッチングを実行するためのプロセス1400を示すフローチャートである。プロセスは、1405において、セマンティック・コピーアンドペースト・インターフェースを提供することから始まる。1410において、ソースアプリケーションまたはデータソースからデータが抽出される。ソースのタイプは、1415において分類アルゴリズムを使用して予測される。いくつかの実施形態では、セマンティック・コピーアンドペースト・アプリケーションは、1420において、予測の確認またはユーザーによる予測への変更を受信するのを待つ。
【0134】
ユーザーがデータを抽出したいターゲットアプリケーションの指示が1425で受信される。ターゲットのタイプは、1430において分類アルゴリズムを使用して予測される。いくつかの実施形態では、セマンティック・コピーアンドペースト・アプリケーションは、1435において、予測の確認またはユーザーによる予測への変更を受信するのを待つ。
【0135】
いくつかの実施形態では、ユーザーは、1440で各データ入力の前に促される。例えば、所与のデータ項目(例えば、データライン、個々のグラフィカル要素など)を入力する前に、ユーザーは、入力されるデータがターゲットアプリケーションに表示されるのを見ることができる。次いで、ユーザーは、入力または拒否をプレビューして承認することができる。その後に、ソースからのデータは、1445においてターゲットアプリケーションに入力される。
【0136】
図13および
図14で実行されるプロセスステップは、本発明の実施形態に従って、プロセッサが
図13および
図14で説明したプロセスの少なくとも一部を実行するための命令を符号化するコンピュータプログラムによって実行されてもよい。コンピュータプログラムは、非一時的コンピュータ可読媒体上で具現化されてもよい。コンピュータ可読媒体は、ハードディスクドライブ、フラッシュデバイス、RAM、テープ、および/またはデータを格納するために使用される任意の他のそのような媒体または媒体の組み合わせであってもよいが、これらに限定されない。コンピュータプログラムは、コンピュータ可読媒体に格納することもできる、
図13および
図14で説明したプロセスステップの全部または一部を実施するようにコンピューティングシステムのプロセッサ(例えば、
図5のコンピューティングシステム500のプロセッサ510)を制御するための符号化命令を含むことができる。
【0137】
コンピュータプログラムは、ハードウェア、ソフトウェア、またはハイブリッド実装で実施することができる。コンピュータプログラムは、互いに動作可能に通信し、表示するために情報または命令を渡すように設計されたモジュールから構成することができる。コンピュータプログラムは、汎用コンピュータ、ASIC、または任意の他の適切なデバイス上で動作するように構成することができる。
【0138】
本発明の様々な実施形態のコンポーネントは、本明細書の図に一般的に記載および図示するように、多種多様な異なる構成で配置および設計されてもよいことが容易に理解されよう。したがって、添付の図面に表される本発明の実施形態の詳細な説明は、特許請求される本発明の範囲を限定することを意図するものではなく、本発明の選択された実施形態を単に代表するものである。
【0139】
本明細書を通して説明される本発明の特徴、構造、または特性は、1つまたは複数の実施形態において任意の適切な方法で組み合わせることができる。例えば、本明細書全体を通して「特定の実施形態」、「いくつかの実施形態」、または同様の文言への言及は、実施形態に関連して説明される特定の特徴、構造、または特性が本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通して、「特定の実施形態では」、「いくつかの実施形態では」、「他の実施形態では」、または同様の文言の出現は、必ずしもすべてが同じ実施形態のグループを指すわけではなく、記載された特徴、構造、または特性は、1つまたは複数の実施形態において任意の適切な方法で組み合わせることができる。
【0140】
本明細書を通して特徴、利点、または同様の文言を参照することは、本発明で実現され得る特徴および利点のすべてが本発明の任意の単一の実施形態であるべきであること、または本発明の任意の単一の実施形態であることを意味するものではないことに留意されたい。むしろ、特徴および利点に言及する文言は、一実施形態に関連して説明される特定の特徴、利点、または特性が本発明の少なくとも1つの実施形態に含まれることを意味すると理解される。したがって、本明細書を通して、特徴および利点、ならびに同様の文言の説明は、必ずしもそうとは限らないが、同じ実施形態を参照することができる。
【0141】
さらに、本発明の記載された特徴、利点、および特性は、1つまたは複数の実施形態において任意の適切な方法で組み合わせることができる。当業者は、特定の実施形態の特定の特徴または利点の1つまたは複数なしで本発明を実施できることを認識するであろう。他の例では、本発明のすべての実施形態には存在しない可能性がある特定の実施形態において、追加の特徴および利点が認識され得る。
【0142】
当業者は、上述の本発明が、異なる順序のステップ、および/または開示されているものとは異なる構成のハードウェア要素を用いて実施され得ることを容易に理解するであろう。したがって、本発明をこれらの好ましい実施形態に基づいて説明してきたが、本発明の趣旨および範囲内に留まりながら、特定の修正、変形、および代替構築が明らかであることは、当業者には明らかであろう。したがって、本発明の範囲を決定するために、添付の特許請求の範囲を参照すべきである。
【手続補正書】
【提出日】2024-10-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータプログラムを格納する非一時的コンピュータ可読媒体であって、前記コンピュータプログラムは、少なくとも1つのプロセッサに、
ソース画面またはソースデータの選択を受信させ、
ターゲット画面の選択を受信させ、
前記ソース画面内のラベルと前記ターゲット画面内のラベルとの間か、前記ソースデータ内のデータ要素と前記ターゲット画面内の前記ラベルとの間か、またはその両方でセマンティックマッチングを実行するように訓練された1つまたは複数の人工知能/機械学習(AI/ML)モデルを呼び出させ、
前記ターゲット画面内のセマンティックにマッチングするラベルに関連するグラフィカル要素の表示、および前記1つまたは複数のAI/MLモデルからのそれぞれの信頼度スコアを受信させ、
前記セマンティックにマッチングするラベルに関連する前記グラフィカル要素を、マッチングインターフェース内の前記ターゲット画面上に表示させる、ように構成される、非一時的コンピュータ可読媒体。
【請求項2】
前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
前記マッチングインターフェース内の前記1つまたは複数のAI/MLモデルによって識別され
た潜在的なマッチンググラフィカル要素に対する前記それぞれの信頼度スコアを表示させるようにさらに構成される、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項3】
前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
関連するセマンティックにマッチングするラベルを有するとして前記1つまたは複数のAI/MLモデルによって識別された前記ターゲット画面内のグラフィカル要素に対する修正を受信させるか、前記1つまたは複数のAI/MLモデルによって前記ソース画面内のラベルとセマンティックにマッチングしなかった前記ターゲット画面内の新しい要素の表示を受信させるか、またはその両方をさせ、
前記ターゲット画面内の修正されたおよび/または新たにラベル付けされたグラフィカル要素ならびに関連するラベルに関する情報を収集させ、
前記1つまたは複数のAI/MLモデルの再訓練のために前記収集された情報を直接または間接的に格納させる、ようにさらに構成される、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項4】
前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
前記1つまたは複数のAI/MLモデルが前記ターゲット画面内
のフィールドとセマンティックにマッチングすると識別されたラベルを有する前記ソース画面内の前記フィールドからデータをコピーするか、前記1つまたは複数のAI/MLモデルが前記ソースデータからの前記データ要素とセマンティックにマッチングすると識別されたラベルを有する前記ターゲット画面の前記フィールドに前記ソースデータから前記データ要素をコピーするか、またはその両方を行うロボティックプロセスオートメーション(RPA)ワークフロー内の1つまたは複数のアクティビティを生成させるようにさらに構成される、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項5】
前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
前記RPAワークフローにおいて前記1つまたは複数の生成されたアクティビティを実施するRPAロボットを生成させ、
前記生成されたRPAロボットを実行時環境で展開させる、ようにさらに構成される、請求項4に記載の非一時的コンピュータ可読媒体。
【請求項6】
前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
前記ターゲット画面内のセマンティックにマッチングするラベルに関連する前記グラフィカル要素の前記信頼度スコアから複合信頼度スコアを生成させ、
前記複合信頼度スコアを前記マッチングインターフェースに表示させる、ようにさらに構成される、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項7】
前記1つまたは複数のAI/MLモデルは、所与の単語またはフレーズに対する類似の単語およびフレーズが識別され得るように、前記単語とフレーズとの間のセマンティック関連付けを有する単語およびフレーズを提供し、前記単語およびフレーズが表示される画面に関するコンテキストラベルを提供することによって訓練される、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項8】
前記コンピュータプログラムは、ロボティックプロセスオートメーション(RPA)デザイナアプリケーションであるか、またはそれを含む、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項9】
前記1つまたは複数のAI/MLモデルは、コンピュータビジョン(CV)モデル、光学文字認識(OCR)モデル、ラベルマッチングモデル、および入力データマッチングモデルを含み、
前記ラベルマッチングモデルは、前記OCRモデルによって検出されたラベルを前記CVモデルによって検出されたフィールドとマッチングさせ、
前記入力データモデルは、前記ラベルマッチングモデルから前記マッチングラベルを受け取り、前記データソースからの前記データ要素または前記ソース画面からの前記ラベルに関連する前記フィールドからのデータを、前記ターゲット画面上のセマンティックにマッチングするラベルに関連する前記フィールドとセマンティックにマッチングさせる、
請求項1に記載の非一時的コンピュータ可読媒体。
【請求項10】
ロボティックプロセスオートメーション(RPA)のためのセマンティック人工知能(AI)を実行するためのコンピュータにより実施される方法であって、
ソース画面内のラベルとターゲット画面内のラベルとの間か
、ソースデータ内のデータ要素と前記ターゲット画面内の前記ラベルとの間か、またはその両方でセマンティックマッチングを実行するように訓練された1つまたは複数の人工知能/機械学習(AI/ML)モデルを、RPAデザイナアプリケーションによって呼び出すステップと、
前記RPAデザイナアプリケーションによって、前記ターゲット画面内のセマンティックにマッチングするラベルに関連するグラフィカル要素の表示、ならびに前記1つまたは複数のAI/MLモデルからのそれぞれの信頼度スコアを受信するステップと、
前記RPAデザイナアプリケーションによって、前記セマンティックにマッチングするラベルに関連する前記グラフィカル要素を、マッチングインターフェース内の前記ターゲット画面上に表示するステップと、
前記ソース画面のフィールドまたは前記ソースデータの前記データ要素からのデータを、前記1つまたは複数のAI/MLモデルが前記ソース画面からの前記ラベルまたは前記ソースデータからの前記データ要素とセマンティックにマッチングすると識別されたというラベルを有する前記ターゲット画面のフィールドに、前記RPAデザイナアプリケーションによってコピーする、RPAワークフローにおける1つまたは複数のアクティビティを自動的に生成するステップと、を含む、コンピュータにより実施される方法。
【請求項11】
前記RPAデザイナアプリケーションによって、前記マッチングインターフェース内の前記1つまたは複数のAI/MLモデルによって識別され
た潜在的なマッチンググラフィカル要素に対する前記それぞれの信頼度スコアを表示するステップをさらに含む、
請求項10に記載のコンピュータにより実施される方法。
【請求項12】
前記RPAデザイナアプリケーションによって、関連するセマンティックにマッチングするラベルを有するとして前記1つまたは複数のAI/MLモデルによって識別された前記ターゲット画面内のグラフィカル要素に対する修正を受信するか、前記1つまたは複数のAI/MLモデルによって前記ソース画面内のラベルとセマンティックにマッチングしなかった前記ターゲット画面内の新しい要素の表示を受信するか、またはその両方を受信するステップと、
前記RPAデザイナアプリケーションによって、前記ターゲット画面内の修正されたおよび/または新たにラベル付けされたグラフィカル要素ならびに関連するラベルに関する情報を収集するステップと、
前記RPAデザイナアプリケーションによって、前記1つまたは複数のAI/MLモデルの再訓練のために前記収集された情報を直接または間接的に格納するステップと、
をさらに含む、請求項10に記載のコンピュータにより実施される方法。
【請求項13】
前記RPAデザイナアプリケーションによって、前記ターゲット画面内のセマンティックにマッチングするラベルに関連する前記グラフィカル要素に対する前記それぞれの信頼度スコアを表示するステップ
と、
前記RPAデザイナアプリケーションによって、前記ターゲット画面内のセマンティックにマッチングするラベルに関連する前記グラフィカル要素の前記信頼度スコアから複合信頼度スコアを生成するステップと、
前記RPAデザイナアプリケーションによって、前記複合信頼度スコアを前記マッチングインターフェースに表示するステップと、
をさらに含む、請求項10に記載のコンピュータにより実施される方法。
【請求項14】
前記1つまたは複数のAI/MLモデルは、所与の単語またはフレーズに対する類似の単語およびフレーズが識別され得るように、前記単語とフレーズとの間のセマンティック関連付けを有する単語およびフレーズを提供し、前記単語およびフレーズが表示される画面に関するコンテキストラベルを提供することによって訓練される、請求項10に記載のコンピュータにより実施される方法。
【請求項15】
前記1つまたは複数のAI/MLモデルは、コンピュータビジョン(CV)モデル、光学文字認識(OCR)モデル、ラベルマッチングモデル、および入力データマッチングモデルを含み、
前記ラベルマッチングモデルは、前記OCRモデルによって検出されたラベルを前記CVモデルによって検出されたグラフィカル要素とマッチングさせ、
前記入力データモデルは、前記ラベルマッチングモデルから前記マッチングラベルを受け取り、前記データソースからの前記データ要素または前記ソース画面からの前記ラベルに関連するグラフィカル要素からのデータを、前記ターゲット画面上のセマンティックにマッチングするラベルに関連する前記グラフィカル要素とセマンティックにマッチングさせる、
請求項10に記載のコンピュータにより実施される方法。
【請求項16】
コンピューティングシステムであって、
ロボティックプロセスオートメーション(RPA)のためのセマンティック人工知能(AI)を実行するためのコンピュータプログラム命令を格納するメモリと、
前記コンピュータプログラム命令を遂行するように構成された少なくとも1つのプロセッサと、を含み、前記コンピュータプログラム命令は、前記少なくとも1つのプロセッサに、
ソース画面内のラベルとターゲット画面内のラベルとの間、前記ソースデータ内のデータ要素と前記ターゲット画面内の前記ラベルとの間、またはその両方でセマンティックマッチングを実行するように訓練された1つまたは複数の人工知能/機械学習(AI/ML)モデルから、前記ターゲット画面内のセマンティックにマッチングするラベルに関連するグラフィカル要素、およびそれぞれの信頼度スコアの指示を受信させ、
前記セマンティックにマッチングするラベルに関連する前記グラフィカル要素を、マッチングインターフェース内の前記ターゲット画面上に表示させ、
関連するセマンティックにマッチングするラベルを有するとして前記1つまたは複数のAI/MLモデルによって識別された前記ターゲット画面内のグラフィカル要素に対する修正を受信させるか、前記1つまたは複数のAI/MLモデルによって前記ソース画面内のラベルとセマンティックにマッチングしなかった前記ターゲット画面内の新しい要素の表示を受信させるか、またはその両方をさせ、
前記ターゲット画面内の修正されたおよび/または新たにラベル付けされたグラフィカル要素ならびに関連するラベルに関する情報を収集させ、
前記1つまたは複数のAI/MLモデルの再訓練のために前記収集された情報を直接または間接的に格納させる、ように構成される、コンピューティングシステム。
【請求項17】
前記コンピュータプログラム命令は、前記少なくとも1つのプロセッサに、
前記1つまたは複数のAI/MLモデルが前記ターゲット画面内
のフィールドとセマンティックにマッチングすると識別されたラベルを有する前記ソース画面内の前記フィールドからデータをコピーするか、前記1つまたは複数のAI/MLモデルが前記ソースデータからの前記データ要素とセマンティックにマッチングすると識別されたラベルを有する前記ターゲット画面の前記フィールドに前記ソースデータから前記データ要素をコピーするか、またはその両方を行うロボティックプロセスオートメーション(RPA)ワークフロー内の1つまたは複数のアクティビティを自動的に生成させるようにさらに構成される、請求項
16に記載のコンピューティングシステム。
【請求項18】
前記コンピュータプログラム命令は、前記少なくとも1つのプロセッサに、
前記セマンティックにマッチングするラベルに関連する前記グラフィカル要素に対する前記それぞれの信頼度スコアを前記ターゲット画面に表示さ
せ、
前記ターゲット画面内のセマンティックにマッチングするラベルに関連する前記グラフィカル要素の前記信頼度スコアから複合信頼度スコアを生成させ、
前記複合信頼度スコアを前記マッチングインターフェースに表示させる、ようにさらに構成される、請求項
16に記載のコンピューティングシステム。
【請求項19】
前記1つまたは複数のAI/MLモデルは、所与の単語またはフレーズに対する類似の単語およびフレーズが識別され得るように、前記単語とフレーズとの間のセマンティック関連付けを有する単語およびフレーズを提供し、前記単語およびフレーズが表示される画面に関するコンテキストラベルを提供することによって訓練される、請求項
16に記載のコンピューティングシステム。
【請求項20】
前記1つまたは複数のAI/MLモデルは、コンピュータビジョン(CV)モデル、光学文字認識(OCR)モデル、ラベルマッチングモデル、および入力データマッチングモデルを含み、
前記ラベルマッチングモデルは、前記OCRモデルによって検出されたラベルを前記CVモデルによって検出されたフィールドとマッチングさせ、
前記入力データモデルは、前記ラベルマッチングモデルから前記マッチングラベルを受け取り、前記データソースからの前記データ要素または前記ソース画面からの前記ラベルに関連する前記フィールドからのデータを、前記ターゲット画面上のセマンティックにマッチングするラベルに関連する前記フィールドとセマンティックにマッチングさせる、
請求項
16に記載のコンピューティングシステム。
【国際調査報告】