IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エレメント・エイ・アイ・インコーポレイテッドの特許一覧

特表2022-513323ロボティックエージェント管理のためのシステムおよび方法
<>
  • 特表-ロボティックエージェント管理のためのシステムおよび方法 図1
  • 特表-ロボティックエージェント管理のためのシステムおよび方法 図2
  • 特表-ロボティックエージェント管理のためのシステムおよび方法 図3
  • 特表-ロボティックエージェント管理のためのシステムおよび方法 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-02-07
(54)【発明の名称】ロボティックエージェント管理のためのシステムおよび方法
(51)【国際特許分類】
   G06Q 10/04 20120101AFI20220131BHJP
   B25J 13/00 20060101ALI20220131BHJP
   G06Q 50/04 20120101ALN20220131BHJP
【FI】
G06Q10/04
B25J13/00 Z
G06Q50/04
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021542235
(86)(22)【出願日】2019-09-26
(85)【翻訳文提出日】2021-05-24
(86)【国際出願番号】 CA2019051375
(87)【国際公開番号】W WO2020061699
(87)【国際公開日】2020-04-02
(31)【優先権主張番号】62/738,463
(32)【優先日】2018-09-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521132406
【氏名又は名称】エレメント・エイ・アイ・インコーポレイテッド
【氏名又は名称原語表記】ELEMENT AI INC.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】アルカン,ジャン-フランソワ
(72)【発明者】
【氏名】コテ,マリー-クロード
(72)【発明者】
【氏名】ノーデル-マルコビッチ,アレクセイ
(72)【発明者】
【氏名】トドシック,アンドレイ
【テーマコード(参考)】
3C707
5L049
【Fターム(参考)】
3C707JS02
3C707LV02
3C707LW12
3C707LW15
5L049AA04
5L049CC03
(57)【要約】
複数のロボティックエージェントの性能を管理して向上させるためのシステムおよび方法である。オーケストレータモジュールが、複数のロボティックエージェントから作業出力を受信し、さまざまなロボティックエージェントによって実行されたタスクおよび/またはステップのスケジュールを変更することによって効率が得られ得るかどうかを判定する。また、オーケストレータは、エージェントによって使用されたさまざまなアクションおよび値を学習して、異常なアクションおよび/または値をチェックすることができる。人間によって操作されるワークステーションも、その作業出力をオーケストレータに送信でき、この出力は、実行されたタスクがロボティックエージェントによって行なわれ得るかどうかを判定するために、人間によって行なわれたステップとともに分析され得る。
【特許請求の範囲】
【請求項1】
複数のロボティックエージェントの性能を向上させるための方法であって、前記方法は、
a)前記ロボティックエージェントによって実行されるべきタスクのスケジュールを受信するステップと、
b)前記タスクの各々のために前記ロボティックエージェントの各々によって実行されたステップを受信するステップと、
c)異なるロボティックエージェントによって実行された前記ステップ間の依存性を、機械学習を使用して判定するステップと、
d)前記ステップへの調節を、機械学習を使用して判定し、それにより、前記タスクのうちの少なくとも1つを最適化するステップとを含む、方法。
【請求項2】
前記タスクのスケジュールへの調節を、機械学習を使用して判定し、それにより、前記タスクのうちの少なくとも1つを最適化するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記ステップへの前記調節に関する報告を作成するステップをさらに含み、前記報告は、前記ステップへの前記調節を確認するためにユーザに送信するためのものである、請求項1に記載の方法。
【請求項4】
前記ステップへの調節は、前記ステップのうちの少なくともいくつかが実行される順序を変更することを含む、請求項1に記載の方法。
【請求項5】
前記スケジュールへの前記調節は、前記タスクのうちの少なくともいくつかが実行される順序を変更することを含む、請求項2に記載の方法。
【請求項6】
前記方法は、前記複数のロボティックエージェントにわたるタスクの分散を最適化し、それにより、前記複数のロボティックエージェントにわたって効率を達成するステップをさらに含む、請求項1に記載の方法。
【請求項7】
少なくとも1つのロボティックエージェントによってタスクが実行されるシステムにおいて、少なくとも1つの異常を検出するための方法であって、前記方法は、
a)前記少なくとも1つのロボティックエージェントから作業出力を連続的に受信するステップと、
b)前記作業出力を訓練セットにおいて使用して、機械学習システムが前記少なくとも1つのロボティックエージェントからアクションおよび値の範囲を学習するように、前記機械学習システムを連続的に訓練するステップと、
c)前記少なくとも1つのロボティックエージェントについての前記アクションおよび値の範囲に照らして、前記作業出力を連続的に評価するステップと、
d)前記作業出力の少なくとも1つの局面が、前記ロボティックエージェントについての前記アクションおよび値の範囲外にある場合、ユーザのためのアラートを生成し、前記ユーザのための報告を生成するステップとを含み、
前記報告は、前記アラートに関する説明を含む、方法。
【請求項8】
前記少なくとも1つのロボティックエージェントがタスクにおいて故障に遭遇すると、少なくとも1つのアラートが生成される、請求項7に記載の方法。
【請求項9】
遭遇したタスクにおける前記故障についての前記少なくとも1つのアラートは、前記アラートの説明を有する報告も生成する、請求項8に記載の方法。
【請求項10】
前記作業出力は、タスクを実行する際に前記少なくとも1つのロボティックエージェントによって実行されたステップを含む、請求項7に記載の方法。
【請求項11】
前記作業出力は、前記タスクを実行する際に前記少なくとも1つのロボティックエージェントによって使用されたデータのためのソースを含む、請求項10に記載の方法。
【請求項12】
前記作業出力は、前記タスクを実行する際に前記少なくとも1つのロボティックエージェントによって使用されたデータのための宛先を含む、請求項10に記載の方法。
【請求項13】
実行された前記ステップが少なくとも1つの予期せぬステップを含む場合、前記作業出力は、前記アクションおよび値の範囲外にある、請求項10に記載の方法。
【請求項14】
データの前記ソースが、データの予期せぬソースである場合、前記作業出力は、前記アクションおよび値の範囲外にある、請求項11に記載の方法。
【請求項15】
データのための前記宛先が、データのための予期せぬ宛先である場合、前記作業出力は、前記アクションおよび値の範囲外にある、請求項11に記載の方法。
【請求項16】
前記報告は、前記アラートを引き起こした状況を緩和するための勧告を含む、請求項7に記載の方法。
【請求項17】
オートメーションのための候補タスクを判定するための方法であって、前記方法は、
a)ユーザワークステーションから作業出力を連続的に受信するステップを含み、前記作業出力は、タスクを実行する際に前記ユーザワークステーション上で人間によって実行されたステップを含み、前記方法はさらに、
b)ユーザによって実行された前記ステップがロボティックエージェントによって実行可能であるかどうかを、機械学習を使用して判定するステップと、
c)前記ステップがロボティックエージェントによって実行可能である場合、前記ロボティックエージェントによって実行可能である前記ステップを詳述する、ユーザのための報告を生成するステップとを含む、方法。
【請求項18】
ステップb)は、前記ステップで使用されたデータのためのソースを判定するステップを含む、請求項17に記載の方法。
【請求項19】
ステップb)は、前記ステップで使用されたデータのための宛先を判定するステップを含む、請求項17に記載の方法。
【請求項20】
ステップb)は、前記ステップの順序を変更して、順序が変更されたステップがロボティックエージェントによって実行可能であるかどうかを判定するステップを含む、請求項17に記載の方法。
【請求項21】
複数のタスクを実行するためのシステムであって、前記システムは、
- 複数のロボティックエージェントを含み、前記複数のロボティックエージェントの各々は、前記複数のタスクからの少なくとも1つのタスクを実行し、前記システムはさらに、
- 前記複数のロボティックエージェントを管理するためのオーケストレータモジュールを含み、前記オーケストレータモジュールは、前記複数のロボティックエージェントのうちの少なくとも1つから作業出力を受信し、
- 前記複数のロボティックエージェントのうちの少なくとも1つは、前記少なくとも1つのタスクを実行する際に行なわれたステップを前記オーケストレータモジュールに詳述する、システム。
【請求項22】
前記オーケストレータモジュールは、少なくとも1人の人間のエージェントによって操作されるワークステーションからも、作業出力を受信する、請求項21に記載のシステム。
【請求項23】
前記ワークステーションからの前記作業出力は、前記ユーザワークステーション上で前記少なくとも1人の人間のエージェントによって実行された詳述されたステップの表示を、前記オーケストレータモジュールに送信する、請求項22に記載のシステム。
【請求項24】
前記オーケストレータモジュールは、ユーザに送信するための報告を生成するためのものであり、前記報告は、少なくとも1つのロボティックエージェントによって実行されたステップへの調節を詳述しており、それにより、前記複数のタスクのうちの少なくとも1つの実行を最適化する、請求項21に記載のシステム。
【請求項25】
前記オーケストレータモジュールは、ユーザに送信するための報告を生成するためのものであり、前記報告は、前記ロボティックエージェントによって前記複数のタスクを実行するためのスケジュールへの調節を詳述しており、それにより、前記複数のタスクのうちの少なくとも1つの実行を最適化する、請求項21に記載のシステム。
【請求項26】
前記オーケストレータモジュールは、少なくとも1つの機械学習モジュールを含む、請求項21に記載のシステム。
【請求項27】
前記少なくとも1つの機械学習モジュールは、前記少なくとも1つのロボティックエージェントからの前記作業出力から導き出されたデータに基づいて連続的に訓練されている、請求項26に記載のシステム。
【請求項28】
前記オーケストレータモジュールは、前記作業出力を連続的に分析して、前記少なくとも1つのロボティックエージェントからの前記作業出力がアクションおよび値の学習された範囲内にあるかどうかを判定し、前記アクションおよび値の範囲は、以前に受信された作業出力に基づいて、少なくとも1つのニューラルネットワークによって学習される、請求項26に記載のシステム。
【請求項29】
前記オーケストレータモジュールは、ユーザに送信するための報告を生成するためのものであり、前記報告は、スケジュールへの調節を詳述しており、それにより、前記複数のロボティックエージェントにわたってタスクを再割当てし、それにより、前記複数のタスクのうちの少なくとも1つの実行を最適化する、請求項21に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムされた一組の命令に基づいて反復タスクを行なうロボティックプロセスオートメーション(robotic process automation:RPA)システムに関する。より具体的には、本発明は、そのようなオートメーションシステムの能力を向上させるためにそのようなシステムに適用されるような機械学習の使用に関する。
【背景技術】
【0002】
背景
20世紀後半以降のオートメーションの増加は、十分に記録に残されている。製造におけるそのような自動システムの適用は、よく知られている。予めプログラムされた反復タスクを行なうこれらの自動システムは現在、製造だけでなく、他の産業分野および人間の活動においても使用されている。これらは、人間が実行した場合にエラーが起こりがちな反復タスクを行なうために、科学研究所で使用されてきた。それらは現在、それらがありふれた反復タスクのエラーのない実行を提供できる産業でも使用され始めている。過去数年における1つの主な発展は、RPA(ロボティックプロセスオートメーション)の増加であった。物理的ロボットに物理反復タスクを行なわせる代わりに、ロボティックエージェントが、グラフィカルユーザインターフェイス上で仮想反復タスクを行なうために使用される。一例として、データをある形式から別の形式にコピーし、次に結果を保存することは、RPAエージェントが行なうのによく適しているタスクである。これらのエージェントは高速であるだけではなく、それらはまた正確である。
【0003】
ロボットは有用であるものの、また、それらは個々に、そのような反復タスクを行なうことにおいて優れているものの、それらはグループとして調整されない。このため、ロボティックエージェント動作をグループとして見ることによって得られ得る効率は通常、失われた機会である。これに加えて、ロボティックエージェントは、まさにそれらの本質により、フォールトトレラントではなく、それらが作業しているデータに関する問題を検出することもできない。データを処理するようにプログラムされている場合、これらのロボティックエージェントは、当該データに関する問題があっても、当該データを盲目的に処理する。これらのロボティックエージェントはこのため、どうしようもないほど決定論的である。データにおいて遭遇するどのエラーも、ロボティックエージェントがそのようなエラーを見つけるように具体的にプログラムされていない限り、うまく無視される。
【0004】
したがって、効率向上のために複数のロボティックエージェントを調整することができるシステムおよび方法が必要である。その上、そのようなシステムおよび方法は、遭遇し得るエラーまたは異常の全ての可能な組合せをプログラムしなくても、異常またはエラーチェックを可能にすることが好ましい。
【発明の概要】
【課題を解決するための手段】
【0005】
概要
本発明は、複数のロボティックエージェントの性能を管理して向上させるためのシステムおよび方法を提供する。オーケストレータモジュールが、複数のロボティックエージェントから作業出力を受信し、さまざまなロボティックエージェントによって実行されたタスクおよび/またはステップのスケジュールを変更することによって効率が得られ得るかどうかを判定する。また、オーケストレータは、エージェントによって使用されたさまざまなアクションおよび値を学習して、異常なアクションおよび/または値をチェックすることができる。人間によって操作されるワークステーションも、その作業出力をオーケストレータに送信でき、この出力は、実行されたタスクがロボティックエージェントによって行なわれ得るかどうかを判定するために、または、そのタスクを実行するより最適な手段を判定するために、人間によって行なわれたステップとともに分析され得る。
【0006】
第1の局面では、本発明は、複数のロボティックエージェントの性能を向上させるための方法であって、方法は、
a)前記ロボティックエージェントによって実行されるべきタスクのスケジュールを受信するステップと、
b)前記タスクの各々のために前記ロボティックエージェントの各々によって実行されたステップを受信するステップと、
c)異なるロボティックエージェントによって実行された前記ステップ間の依存性を、機械学習を使用して判定するステップと、
d)前記ステップへの調節を、機械学習を使用して判定し、それにより、前記タスクのうちの少なくとも1つを最適化するステップとを含む、方法を提供する。
【0007】
第2の局面では、本発明は、少なくとも1つのロボティックエージェントによってタスクが実行されるシステムにおいて、少なくとも1つの異常を検出するための方法であって、方法は、
a)前記少なくとも1つのロボティックエージェントから作業出力を連続的に受信するステップと、
b)前記作業出力を訓練セットにおいて使用して、機械学習システムが前記少なくとも1つのロボティックエージェントからアクションおよび値の範囲を学習するように、前記機械学習システムを連続的に訓練するステップと、
c)前記少なくとも1つのロボティックエージェントについての前記アクションおよび値の範囲に照らして、前記作業出力を連続的に評価するステップと、
d)前記作業出力の少なくとも1つの局面が、前記ロボティックエージェントについての前記アクションおよび値の範囲外にある場合、ユーザのためのアラートを生成し、前記ユーザのための報告を生成するステップとを含み、
前記報告は、前記アラートに関する説明を含む、方法を提供する。
【0008】
第3の局面では、本発明は、オートメーションのための候補タスクを判定するための方法であって、方法は、
a)ユーザワークステーションから作業出力を連続的に受信するステップを含み、前記作業出力は、タスクを実行する際に前記ユーザワークステーション上で人間によって実行されたステップを含み、方法はさらに、
b)ユーザによって実行された前記ステップがロボティックエージェントによって実行可能であるかどうかを、機械学習を使用して判定するステップと、
c)前記ステップがロボティックエージェントによって実行可能である場合、前記ロボティックエージェントによって実行可能である前記ステップを詳述する、ユーザのための報告を生成するステップとを含む、方法を提供する。
【0009】
第4の局面では、本発明は、複数のタスクを実行するためのシステムであって、システムは、
- 複数のロボティックエージェントを含み、前記複数のロボティックエージェントの各々は、前記複数のタスクからの少なくとも1つのタスクを実行し、システムはさらに、
- 前記複数のロボティックエージェントを管理するためのオーケストレータモジュールを含み、前記オーケストレータモジュールは、前記複数のロボティックエージェントのうちの少なくとも1つから作業出力を受信し、
- 前記複数のロボティックエージェントのうちの少なくとも1つは、前記少なくとも1つのタスクを実行する際に行なわれたステップを前記オーケストレータモジュールに報告する、システムを提供する。
【0010】
図面の簡単な説明
以下に、本発明の実施形態を、以下の図を参照して説明する。異なる図における同じ参照番号は、同じ要素を示す。
【図面の簡単な説明】
【0011】
図1】本発明のある局面に従ったシステムのブロック図である。
図2】本発明の別の局面に従った1つの方法を詳述するフローチャートである。
図3】本発明のさらに別の局面に従った別の方法を詳述する別のフローチャートである。
図4】本発明のさらに別の局面に従ったさらに別の方法を詳述するさらに別のフローチャートである。
【発明を実施するための形態】
【0012】
詳細な説明
本発明は、ロボティックプロセスオートメーションエージェント(以下に「ロボティックエージェント」と呼ぶ)への機械学習および人工知能方法およびシステムの適用に関する。上述のように、これらのロボティックエージェントは、人間の判断をほとんどまたはまったく必要としない反復タスクを実行する際に有用である。特に、本発明のさまざまな局面は、複数のロボティックエージェントへのそのような機械学習方法および手法の適用に関する。これらのロボティックエージェントは、異なるソースからの異なるデータに対して異なるタスクを実行していてもよく、または、それらはすべて、異なるデータに対して単一のタスクを行なっていてもよい。実行中のタスクにかかわらず、一群のロボティックエージェントは、システム全体にわたって調整されたタスクのスケジューリングから利益を得る場合がある。それだけでなく、異なるロボティックエージェントが行なうさまざまなステップ間に依存性がある場合がある。これらの依存性は、タスクのスケジューリングに影響を与える場合があり、ステップの順序だけでなく、タスクの実行の順序も並べ替えることにより、効率が得られる場合がある。加えて、単一のロボティックエージェントのためのタスクの並べ替えは、そのロボティックエージェントに、そのタスクと比べてさらにより多くの効率を提供する場合がある。またさらに、冗長なタスクおよび/またはステップが識別され、除去され得る。
【0013】
よく知られているように、および、上に説明されたように、ロボティックエージェントは、人間の判断をほとんどまたはまったく必要としないありふれた反復タスクを実行するために有用である。このために、データにおけるエラーが、そのようなロボティックエージェントによって検出または対処されない場合がある。これらのエラーがプロセスにおいて早期に捕らえられない限り、そのようなエラーはさらに別のエラーをもたらすかもしれず、全システムの作業生産物に悪影響を及ぼすかもしれない。
【0014】
これらのロボティックエージェントは、これらのありふれた反復タスクを行なうために有用であるため、それらは、自分のタスクのありふれた性質および反復性のためにエラーを起こしがちな人間にとって代わるのによく適している。しかしながら、どのタスクがロボティックエージェントにとって好適であり得るかを判断することは、明快ではないかもしれない。多くのステップを有する長いプロセスが関わるかもしれず、また、どのステップがロボティックエージェントによって実行され得るかを判断することは難かしいかもしれない。なぜなら、いくつかのステップは他のステップの結果に依存し得るためである。同様に、ステップのうちのいずれかの反復性(または冗長性または精度)は、容易に明らかにならないかもしれない。なぜなら、反復ステップは、介在する非反復ステップによって隠されるかもしれないためである。
【0015】
上述の問題の1つの解決策は、オーケストレータモジュールまたはオーケストレータサブシステムを使用するシステムであり、オーケストレータは、システムにおけるさまざまなロボティックエージェントからデータおよび/または作業出力を受信する。加えて、オーケストレータは、人間のオペレータによって操作される少なくとも1つのワークステーションからも作業出力およびデータを受信するであろう。オーケストレータモジュールは、機械学習手法および方法を使用することによって、ロボティックエージェントによって実行されたタスクのスケジューリングを分析し、その変更を勧めることができる。また、オーケストレータモジュールは、ロボティックエージェントによって実行された各タスクについて、効率を達成するためにステップがどのように調節または手直しされ得るかについての変更を勧めることができる。加えて、異なるロボティックエージェントによって要求および/または生成されたデータ間のいかなる依存性も判定され得る。これらの依存性は、タスクおよびステップ双方を並べ替えること、および/または、それら双方のスケジュールを変更することによって減少され得る。そのため、好ましくは、異なるロボティックエージェントは、互いに独立したタスクを実行することができる。順序が変更されたスケジュール、タスク、およびステップは反復して生成され、どの順序またはどのスケジュールがシステム全体にとって最良の効率を提供できるかを判定するように実現され得る。ロボティックエージェント間の独立性を可能にすることにより、異なるエージェントは並行して実行可能であり、それにより、システム内でより多くの効率を達成する。
【0016】
そのようなシステムはまた、データにおいて、およびロボティックエージェントによるタスクの実行において、エラーをチェックするように動作することができる。機械学習手法の場合、オーケストレータモジュールは、ロボティックエージェントの入力および出力だけでなく、各ロボティックエージェントがそのタスクを実行する際に行なうステップのシーケンスも学習することができる。次に、各ロボティックエージェントの入力および出力だけでなく、各ロボティックエージェントのアクションも連続的に監視することにより、予期されたステップおよび/または入力/出力データおよび/またはそのようなデータのフォーマット/タイプからのいかなる著しい逸脱も報告され得る。加えて、各ロボティックエージェントへの/からの予期されたデータの送信または受信におけるいかなる故障も監視され得る。そのようなオーケストレータモジュールは、各ロボティックエージェントの入力および出力を、その特定のロボティックエージェントのための学習された入力、出力、およびデータ変換と比較するであろう。特定のロボティックエージェントへの/からのデータが、(ロボティックエージェントの履歴入力および出力から学習されたような)予期されたエンベロープ内にない場合、オーケストレータモジュールは、ユーザに問題を、その問題の十分な説明とともに報告することができる。加えて、オーケストレータモジュールは、将来そのような問題を回避するための訂正アクションを勧めることができる。または、実現化例に依存して、オーケストレータモジュールは、受信されたデータが予期されたフォーマットであることを保証するように、エラー(たとえばデータフォーマットエラー)を簡単に訂正することができる。
【0017】
どのタスクがワークステーション上で人間のエージェントまたはオペレータによって実行されたかを判定するために、システムのオーケストレータモジュールは、人間によって行なわれているステップを受信するように結合され得る。次に、機械学習手法を再度使用して、オーケストレータモジュールはステップを分析し、どのタスクおよびサブタスクが自動化され得るかを判定することができる。反復タスクおよびデータ依存性が判定され得る。また、必要であれば、ロボティックエージェントによるオートメーションを可能にするために、人間のエージェントによって実行されたステップおよび/またはタスクの順序が変更され得る。次に、人間のオペレータによって行なわれたタスクまたはステップのための潜在的オートメーション候補に関する報告が生成され得る。そのような報告は、もちろん、提案されたオートメーションスクリプトであり得る。能動学習法も、本発明のこの局面に適用され得る。
【0018】
図1を参照して、この発明のある局面に従ったシステムのブロック図が示される。システム10は、複数のロボティックエージェント30A、30B、30Cに結合されたオーケストレータモジュール20を含む。ロボティックエージェントの各々は、互いに同様であるかまたは異なり得るタスクを実行している。その上、これらのタスクは互いに関係付けられてもよく、または、それらは互いに独立していてもよい。一実施形態では、オーケストレータモジュールは、人間のエージェントまたはオペレータによって操作される少なくとも1つのワークステーション40にも結合される。なお、オーケストレータモジュールは、ロボティックエージェントにだけでなく、人間によって操作されるワークステーションにも結合されてもよく、または、オーケストレータモジュールは、ロボティックエージェントのみに結合されてもよい。その上、一実現化例では、オーケストレータモジュールは、人間によって操作されるワークステーションのみに結合され、ロボティックエージェントには結合されなくてもよい。
【0019】
図1ではオーケストレータモジュールは単一のデバイス/モジュールであるとして示されているが、モジュールは、複数のモジュールまたはサブモジュールの形をとってもよいということが明らかであるはずである。例として、1つ以上のサブモジュールがロボティックエージェントに結合されてもよく、一方、別のサブモジュールが人間によって操作されるワークステーションに結合されてもよい。その上、各サブモジュールは、サブモジュールが何に結合されるかに基づいて、別々の機能のタスクを課されてもよい。このため、あるサブモジュールは、ロボティックエージェントのための効率をスケジューリングするタスクを課されてもよく、一方、別のサブモジュールは、ロボティックエージェントのためのデータ/タスク/ステップエラーチェックのタスクを課されてもよい。さらに別のサブモジュールは、人間によって操作されるワークステーションのためのオートメーションのための効率および勧告を見つけるタスクを課されてもよい。そのようなコレクタサブモジュールは、異なるエージェント/ワークステーションから情報を受信し、受信された情報を整理してもよい。他の特定の知能モジュールは、情報を見直し、スケジューリング、タスク最適化などに関する最適な勧告を生成してもよい。
【0020】
上述のように、システム10は、異なるロボティックエージェントのための異なるタスクのスケジュールを単に変更することによって、または、タスクを実行する際にロボティックエージェントによって行なわれたステップの順序を手直しすることによって、効率が得られ得るかどうかを判定するために、動作することができる。その上、効率はまた、タスクおよび/またはステップ間のデータ依存性を調べ、そのようなデータ依存性を取り除くようにタスク/ステップの順序を変更することによって得られてもよい。
【0021】
図2を参照して、この発明のある局面に従った方法におけるステップを詳述するフローチャートが示される。この方法では、複数のロボティックエージェントに関連する効率が、機械学習手法を使用して探し求められる。方法はステップ50で始まり、そこで、システムは、1つ以上のロボティックエージェントによる1つ以上のタスクの実行のためのスケジュールを受信する。ステップ60で、システムは、ロボティックエージェントの各々がそのタスクを実行する際に行なったステップを受信する。次に、ステップ70で、タスクのスケジュールを変更するかまたはステップを並べ替えることを通して排除され得るタスクおよび/またはステップ間のデータ依存性を探すために、スケジュールおよびステップは分析される。上述のように、ステップ70は、ニューラルネットワークなどの機械学習方法および手法を使用して実行されてもよい。そのようなニューラルネットワークは、最適化手法において、および、異なるデータフロー間のデータ依存性を探して識別する際に、訓練されてもよい。加えて、ニューラルネットワークは、スケジュールおよび/またはタスクおよび/またはステップを並べ替えることが効率を生成するかどうかを判定するために、好適な仮定のシナリオを生成し得るサブモジュールとペアになってもよい。もちろん、効率は、より高速の実行時間、リソースのよりよい利用、およびより高い全体的スループットを含み得る。
【0022】
いったん、ロボティックエージェントからのデータが分析され、効率を向上させる方策が判定されると、これらの方策は報告モジュールに渡され得る(ステップ80)。次に、これらの方策を勧告として用いる好適な報告が、ユーザのために作成される。ロボティックエージェントからシステムへのデータフローは連続的であってもよく、そのようなデータの分析も連続的であってもよく、報告も同様であろうということが明らかであるはずである。このように、新しいスケジュール、新しいタスク、および新しいステップが連続的に考慮に入れられ、システムによって連続的に分析される。このため、スケジュール、ステップ、依存性などの最適化は連続的であり、システムはめったに静的ではない。
【0023】
図3を参照して、本発明の別の局面に従った別の方法におけるステップを詳述するフローチャートが示される。この方法は、さまざまなロボティックエージェントの入力、出力、およびスループットを連続的に監視して、それらのタスクが首尾よく完了しつつあること、および、生成中のデータが予期されたパラメータ内にあることを保証することに関する。フローチャートでは、方法は、システムがさまざまなロボティックエージェントから作業出力を受信すること(ステップ100)から始まる。作業出力は、ロボティックエージェントによって受信中のデータ、ロボティックエージェントによって生成中のデータ、データを処理するためにロボティックエージェントによって行なわれているステップ、および、プロセスの正しさを保証するためのチェックを必要とする任意の他のデータを含み得る。この作業出力は次に、上述のように、ニューラルネットワークなどの機械学習手法および方法を使用して、システムによって学習される。このため、ニューラルネットワークは、各ロボティックエージェントの作業出力に基づいて、(たとえば強化学習手法を使用して)継続的に訓練され得る。単一のロボティックエージェントからの作業出力の複数のインスタンスの予期された入力、出力、およびステップを学習することにより、システムは、そのロボティックエージェントから予期されるアクションおよび値の範囲を学習することができる。もちろん、教師あり学習、半教師あり学習、深層学習、および上述のものの任意の組合せを含む、他の機械学習手法が使用されてもよい。この文書における何も、この発明の範囲をここに開示された詳細のいずれかに限定するものとして解釈されるべきでない。
【0024】
いったん、作業出力が受信されると、これは次に、同じまたは同様のロボティックエージェントの以前の作業出力からのアクションおよび値の学習された挙動/学習された範囲と比較される(ステップ110)。決定120が次に、最近受信された作業出力が、そのロボティックエージェントについてのアクションおよび値の予期された範囲内にあるかどうかを判定する。作業出力が予期された範囲内にある場合、次に、方法の論理は、ロボティックエージェントからより多くの作業出力を受信するようにループバックする。しかしながら、作業出力が、そのロボティックエージェントについての予期されたアクションおよび値に該当しない場合、システムは次に、ステップ130で、異常なデータ(たとえば、異常な値、ロボティックエージェントによって行なわれた異常なアクションまたはステップ、もしくは、これら2つの任意の組合せ)にフラグを立てる。次に、報告が作成されてユーザに送信され、ロボティックエージェントから受信された異常なデータについてユーザに通知する(ステップ140)。もちろん、作業出力を1つ以上の訓練セットにおいて使用して1つ以上の機械学習モデルを訓練するステップを含む、他のステップが、方法に挿入されてもよい。
【0025】
図3の方法はロボティックエージェントごとに行なわれるが、システムはまた、システム全体にわたるレベルで方法を行なってもよいということが明らかであるはずである。これは、システムがさまざまなロボティックエージェントの各々について予期されたアクションおよび値を学習する代わりに、システムがロボティックエージェントのすべて(または大部分)のアクションおよび値を学習するということを意味する。データおよび/またはアクションに関してシステム全体にわたるエラーに遭遇した場合、報告がユーザに送信される。
【0026】
図3の方法はまた、静かな故障および騒がしい故障双方についてさまざまなロボティックエージェントを監視するために、拡張され得る。騒がしい故障とは、エラーメッセージなどを生成する故障であり、一方、静かな故障とは、故障時には結果が分からない故障である。騒がしい故障の一例として、文字値が予期される場合に数値を有することは、おそらくエラーメッセージを引き起こすであろう。そして、これは、ロボティックエージェントを故障させるかもしれない。逆に、静かな故障の一例は、10~15という値が予期されるものの、1000という値が入力された場合であり得る。値の違いはロボティックエージェントを故障させないかもしれないが、明らかに誤った値の処理に起因して、他の故障およびエラーを引き起こすかもしれない。方法はこのため、これらのタイプの故障を監視するために使用され得る。騒がしい故障について、そのタスクを完了できないロボティックエージェントは、ユーザへの報告のためにシステムによってフラグが立てられ得る。報告は、故障を詳述し、ロボティックエージェントを識別し、実行中のプロセス、使用中の値、および、遭遇した故障のタイプに関するデータを提供するであろう。同様に、潜在的な静かな故障に遭遇した場合(たとえば、予期された値とは非常に異なる値が使用される場合)、システムは、遭遇した値が、そのロボティックエージェントについての予期されたアクションおよび値を超えているということを認識するであろう。このため、ロボティックエージェントのアイデンティティ、実行中のプロセス、処理中の値、遭遇した潜在的なエラーのタイプ、遭遇したエラーのソース、および提案された訂正アクションを詳述する報告が生成されるであろう。加えて、その潜在的な誤った値についての値の予期された範囲も、報告で提供されてもよい。このように、ユーザには、潜在的な問題を調停および/または解決するのに必要な関連情報が容易に提供され得る。
【0027】
上述のように、図3に詳述された方法は、タスクの実行において使用された異常な値を検出することができる。これに加え、システムは、ロボティックエージェントによって行なわれた異常なアクションを検出することもできる。一例として、故障したロボティックエージェントは、データをフィールドxに入力する代わりに、データをフィールドxおよびyに入力してもよい。フィールドyへの入力が予期されない場合、この出来事は、ユーザのための好適なアラートおよび好適な報告を生成することができる。別の例として、システムは、ロボティックエージェントが誤ったデータソースだけでなく誤ったデータ宛先からデータを誤ってコピーおよび/またはペーストしているかどうかを検出することができる。システムは、ロボティックエージェントによって行なわれるべきステップを学習したため、予期されたものとは異なるいかなるアクションも捕らえられ得る。このため、異常なアクションおよび異常な値が検出され得る。システムにおける故障したロボティックエージェント、誤ったデータ、および他の障害要因はこうして、ユーザが解決するために記録され、フラグを立てられ得る。
【0028】
図4を参照して、本発明の別の局面に従ったさらに別の方法のためのフローチャートが示される。図で説明される方法は、ワークステーション上で人間によって行なわれたステップを監視し、分析することに関する。上述のように、図1に示すシステムが、この方法を実行するために使用されてもよい。この方法では、実行中のタスクがロボティックエージェントによって行なわれるのに好適であるかどうかを判定するために、人間のオペレータまたはエージェントによって行なわれたステップが分析され、必要であれば、順序を変更される。この目的のために、タスクにおける異なるステップ間のデータ依存性が判定され、可能であれば、ステップの順序を変更することによって減少または排除されてもよい。加えて、タスクまたはステップによって要求され得る判断(またはその欠如)が評価されて、ロボティックエージェントがその判断を行なうことができるかどうか、または、人間の判断が必要であるかどうかが判定され得る。
【0029】
図4では、方法は、システムが、人間のエージェントによって操作されているワークステーションから作業出力を受信することから始まる(ステップ200)。この作業出力は次に、ステップ210で、データ依存性、判断要件、およびおそらくはいかなるデータ依存性も減少させるためのステップ並べ替えについて分析される。次に、分析に基づいて、人間のオペレータによって実行された1つ以上のステップまたはタスクがロボティックエージェントによって実行可能かどうかについての決定220が下される。応答が否定的である場合、論理フローは、ワークステーションからさらなる作業生産物を受信するステップ200に戻る。一方、応答が肯定的で、1つ以上のステップが好適なロボティックエージェントによって実行可能である場合、システムは、ユーザのために報告を作成する(ステップ230)。報告は、上述のように、自動化可能なステップを説明するであろう。そして、好ましくは、タスク/ステップをオートメーションにとって好適にするために加える必要があり得る任意の他の変更を詳述するであろう。
【0030】
なお、本発明のさまざまな局面およびこの文書におけるすべての詳細は、あらゆる態様のビジネス関連取引およびあらゆる態様のビジネス問題で遭遇する問題に対処するために実現されてもよい。したがって、この文書における詳細は、会計、マーケティング、製造、管理、および/または人材管理の分野にとって有利であるあらゆる最終結果だけでなく、ビジネスに関連すると考えられ得る人間の活動のあらゆる表現、分野、または解釈を含む、あらゆる企業におけるあらゆる部門のあらゆる目的、要望、または価値を促進するために使用されてもよい。
【0031】
本発明のさまざまな局面は、ソフトウェアシステム全体におけるソフトウェアモジュールとして実現されてもよいということが明らかであるはずである。そのため、本発明は、実行されると予め定義された関数を用いてさまざまなソフトウェアモジュールを実現するコンピュータ実行可能命令の形をとってもよい。
【0032】
加えて、特に指定のない限り、ここでの「画像」へのいかなる言及も、画素を含むデジタル画像を指すということが明らかであるはずである。同様に、「音声ファイル」へのいかなる言及も、特に指定のない限り、デジタル音声ファイルを指す。「ビデオ」、「ビデオファイル」、「データオブジェクト」、「データファイル」、および他のすべてのそのような用語は、特に指定のない限り、デジタルファイルおよび/またはデータオブジェクトを意味すると解釈されるべきである。
【0033】
この発明の実施形態は、方法ステップの態様でプログラムされた任意のタイプのデータプロセッサまたは同様のデバイスによって実行されてもよく、または、これらのステップを実行するための手段が設けられた電子システムによって実行されてもよい。同様に、電子メモリは、コンピュータディスケット、CD-ROM、ランダムアクセスメモリ(Random Access Memory:RAM)、読出専用メモリ(Read Only Memory:ROM)、または当該技術において公知の同様のコンピュータソフトウェア記憶媒体などを意味し、そのような方法ステップを実行するようにプログラムされてもよい。また、これらの方法ステップを表わす電子信号が、通信ネットワークを介して伝送されてもよい。
【0034】
この発明の実施形態は、任意の従来のコンピュータプログラミング言語で実現されてもよい。たとえば、好ましい実施形態は、手続き型プログラミング言語(たとえば「C」または「Go」)、もしくはオブジェクト指向言語(たとえば「C++」、「java(登録商標)」、「PHP」、「PYTHON」、または「C#」)で実現されてもよい。この発明の代替的な実施形態は、予めプログラムされたハードウェア要素、他の関連する構成要素として、または、ハードウェア構成要素とソフトウェア構成要素との組合せとして実現されれてもよい。
【0035】
実施形態は、コンピュータシステムでの使用のためのコンピュータプログラム製品として実現され得る。そのような実現化例は、一連のコンピュータ命令を含んでいてもよく、当該コンピュータ命令は、コンピュータ読取可能媒体(たとえばディスケット、CD-ROM、ROM、または固定ディスク)などの有形的媒体上に固定されるか、もしくは、モデムまたは他のインターフェイスデバイス、たとえば、媒体を通してネットワークに接続された通信アダプタを介して、コンピュータシステムに伝送可能である。媒体は、有形的媒体(たとえば光学または電気通信線)であるか、もしくは、無線手法で実現された媒体(たとえばマイクロ波、赤外線または他の伝送手法)であってもよい。一連のコンピュータ命令は、ここに前述された機能性のすべてまたは一部を具現化する。当業者であれば、そのようなコンピュータ命令が、多くのコンピュータアーキテクチャまたはオペレーティングシステムとともに使用するための多くのプログラミング言語で書かれ得るということを理解するはずである。さらに、そのような命令は、半導体、磁気、光学または他のメモリデバイスなどの任意のメモリデバイスに格納されてもよく、光学、赤外線、マイクロ波または他の伝送技術などの任意の通信技術を使用して伝送されてもよい。そのようなコンピュータプログラム製品は、印刷されたドキュメントまたは電子ドキュメントを伴うリムーバブル媒体(たとえば市販ソフトウェア)として配布されてもよく、コンピュータシステムに(たとえばシステムROMまたは固定ディスク上に)予め搭載されてもよく、または、サーバからネットワーク(たとえばインターネットまたはワールドワイドウェブ)を通して配布されてもよい、ということが予期される。もちろん、この発明のいくつかの実施形態は、ソフトウェア(たとえばコンピュータプログラム製品)とハードウェアとの組合せとして実現されてもよい。この発明のさらに他の実施形態は、完全にハードウェア、または完全にソフトウェア(たとえばコンピュータプログラム製品)として実現されてもよい。
【0036】
この発明を理解する人間はここで、上述のものの代替的構造および実施形態または変形に想到し得る。それらはすべて、請求項で定義されるようなこの発明の範囲内に入るよう意図される。
図1
図2
図3
図4
【手続補正書】
【提出日】2021-05-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数のロボティックエージェントの性能を向上させるための方法であって、前記方法は、
a)前記ロボティックエージェントによって実行されるべきタスクのスケジュールを受信するステップと、
b)前記タスクの各々のために前記ロボティックエージェントの各々によって実行されたステップを受信するステップと、
c)異なるロボティックエージェントによって実行された前記ステップ間の依存性を、機械学習を使用して判定するステップと、
d)前記ステップへの調節を、機械学習を使用して判定し、それにより、前記タスクのうちの少なくとも1つを最適化するステップとを含む、方法。
【請求項2】
前記タスクのスケジュールへの調節を、機械学習を使用して判定し、それにより、前記タスクのうちの少なくとも1つを最適化するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記ステップへの前記調節に関する報告を作成するステップをさらに含み、前記報告は、前記ステップへの前記調節を確認するためにユーザに送信するためのものである、請求項1に記載の方法。
【請求項4】
前記方法は、前記複数のロボティックエージェントにわたるタスクの分散を最適化し、それにより、前記複数のロボティックエージェントにわたって効率を達成するステップをさらに含む、請求項1に記載の方法。
【請求項5】
少なくとも1つのロボティックエージェントによってタスクが実行されるシステムにおいて、少なくとも1つの異常を検出するための方法であって、前記方法は、
a)前記少なくとも1つのロボティックエージェントから作業出力を連続的に受信するステップと、
b)前記作業出力を訓練セットにおいて使用して、機械学習システムが前記少なくとも1つのロボティックエージェントからアクションおよび値の範囲を学習するように、前記機械学習システムを連続的に訓練するステップと、
c)前記少なくとも1つのロボティックエージェントについての前記アクションおよび値の範囲に照らして、前記作業出力を連続的に評価するステップと、
d)前記作業出力の少なくとも1つの局面が、前記ロボティックエージェントについての前記アクションおよび値の範囲外にある場合、ユーザのためのアラートを生成し、前記ユーザのための報告を生成するステップとを含み、
前記報告は、前記アラートに関する説明を含む、方法。
【請求項6】
前記少なくとも1つのロボティックエージェントがタスクにおいて故障に遭遇すると、少なくとも1つのアラートが生成される、請求項に記載の方法。
【請求項7】
遭遇したタスクにおける前記故障についての前記少なくとも1つのアラートは、前記アラートの説明を有する報告も生成する、請求項に記載の方法。
【請求項8】
前記作業出力は、タスクを実行する際に前記少なくとも1つのロボティックエージェントによって実行されたステップを含む、請求項に記載の方法。
【請求項9】
前記作業出力は、前記タスクを実行する際に前記少なくとも1つのロボティックエージェントによって使用されたデータのためのソースを含む、請求項に記載の方法。
【請求項10】
前記作業出力は、前記タスクを実行する際に前記少なくとも1つのロボティックエージェントによって使用されたデータのための宛先を含む、請求項に記載の方法。
【請求項11】
実行された前記ステップが少なくとも1つの予期せぬステップを含む場合、前記作業出力は、前記アクションおよび値の範囲外にある、請求項に記載の方法。
【請求項12】
前記報告は、前記アラートを引き起こした状況を緩和するための勧告を含む、請求項に記載の方法。
【請求項13】
オートメーションのための候補タスクを判定するための方法であって、前記方法は、
a)ユーザワークステーションから作業出力を連続的に受信するステップを含み、前記作業出力は、タスクを実行する際に前記ユーザワークステーション上で人間によって実行されたステップを含み、前記方法はさらに、
b)ユーザによって実行された前記ステップがロボティックエージェントによって実行可能であるかどうかを、機械学習を使用して判定するステップと、
c)前記ステップがロボティックエージェントによって実行可能である場合、前記ロボティックエージェントによって実行可能である前記ステップを詳述する、ユーザのための報告を生成するステップとを含む、方法。
【請求項14】
ステップb)は、前記ステップで使用されたデータのためのソースを判定するステップを含む、請求項1に記載の方法。
【請求項15】
ステップb)は、前記ステップで使用されたデータのための宛先を判定するステップを含む、請求項1に記載の方法。
【請求項16】
ステップb)は、前記ステップの順序を変更して、順序が変更されたステップがロボティックエージェントによって実行可能であるかどうかを判定するステップを含む、請求項1に記載の方法。
【請求項17】
複数のタスクを実行するためのシステムであって、前記システムは、
- 複数のロボティックエージェントを含み、前記複数のロボティックエージェントの各々は、前記複数のタスクからの少なくとも1つのタスクを実行し、前記システムはさらに、
- 前記複数のロボティックエージェントを管理するためのオーケストレータモジュールを含み、前記オーケストレータモジュールは、前記複数のロボティックエージェントのうちの少なくとも1つから作業出力を受信し、
- 前記複数のロボティックエージェントのうちの少なくとも1つは、前記少なくとも1つのタスクを実行する際に行なわれたステップを前記オーケストレータモジュールに詳述する、システム。
【請求項18】
前記オーケストレータモジュールは、少なくとも1人の人間のエージェントによって操作されるワークステーションからも、作業出力を受信する、請求項17に記載のシステム。
【請求項19】
前記ワークステーションからの前記作業出力は、前記ユーザワークステーション上で前記少なくとも1人の人間のエージェントによって実行された詳述されたステップの表示を、前記オーケストレータモジュールに送信する、請求項18に記載のシステム。
【請求項20】
前記オーケストレータモジュールは、ユーザに送信するための報告を生成するためのものであり、前記報告は、前記ロボティックエージェントによって前記複数のタスクを実行するためのスケジュールへの調節を詳述しており、それにより、前記複数のタスクのうちの少なくとも1つの実行を最適化する、請求項17に記載のシステム。
【請求項21】
前記オーケストレータモジュールは、少なくとも1つの機械学習モジュールを含む、請求項17に記載のシステム。
【請求項22】
前記オーケストレータモジュールは、ユーザに送信するための報告を生成するためのものであり、前記報告は、スケジュールへの調節を詳述しており、それにより、前記複数のロボティックエージェントにわたってタスクを再割当てし、それにより、前記複数のタスクのうちの少なくとも1つの実行を最適化する、請求項17に記載のシステム。
【国際調査報告】