JP2022548437A - シーケンスの抽出によるロボティックプロセスオートメーション(rpa)のためのプロセス理解 - Google Patents

シーケンスの抽出によるロボティックプロセスオートメーション(rpa)のためのプロセス理解 Download PDF

Info

Publication number
JP2022548437A
JP2022548437A JP2021565069A JP2021565069A JP2022548437A JP 2022548437 A JP2022548437 A JP 2022548437A JP 2021565069 A JP2021565069 A JP 2021565069A JP 2021565069 A JP2021565069 A JP 2021565069A JP 2022548437 A JP2022548437 A JP 2022548437A
Authority
JP
Japan
Prior art keywords
actions
sequencing model
computing device
action
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021565069A
Other languages
English (en)
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 JP2022548437A publication Critical patent/JP2022548437A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • 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

Abstract

シーケンシングモデルは、アプリケーションのワークフローのキャプチャーされたステップのために利用され得る。シーケンシングモデルは、キャプチャーされたステップのプロセスおよび状態遷移を決定し得る。キャプチャーされたステップに関連するシーケンシングモデルおよびアクションのログファイルの変更に基づいて、変動、判断アクション、またはルールに基づくアクションが特定され得る。特定された変動、判断アクション、またはルールに基づくアクションに基づいて、ロボットによるロボティックプロセスオートメーション(RPA)のための自動化されたワークフローを自動的に生成するために階層が生成され得る。

Description

(関連出願への相互参照)
本出願は、2019年9月19日に出願された米国出願第16/575,600号の利益を主張し、その内容は参照により本明細書に組み込まれる。
ロボティックプロセスオートメーション(RPA)は、エンタープライズプラットフォーム、仮想マシン(VM)構成、リモートデスクトップ、クラウドコンピューティング、デスクトップアプリケーション、モバイルアプリケーションなどにおいて、反復的な操作、機能、またはワークフローを自動化し得る。アクティビティ、状態、タスクなどを含む特定のプロセスは、RPAによる自動化のために重要であったり、優先順位が高かったり、または価値が高かったりし得る。RPAのためにプロセスの発見、キャプチャー、マイニング、特定、設計などを行うことは、特に一部または全体を手動で実行する場合、時間、リソース、またはコンピューティングの集中投下を必要とし得る。また、手動での発見または設計は、RPA自動化において、エンタープライズまたはモバイルアプリケーションのための個人情報またはデータを望ましくない形で露出させ得る。
RPAのプロセス理解のために、アプリケーション、ユーザーなどや、ログ、記録、またはファイルからシーケンスまたはパターンが決定または抽出され得る。既存のシーケンスの抽出構成では、RPA適用のプロセスを自動化するための重要なタスクの見逃し、誤認または重複が発生し得る。RPAのための重要なタスクまたは優先度の高いタスクのシーケンスの抽出により、プロセスおよび状態の遷移を発見することが望まれる。
シーケンスまたはパターンの抽出を用いて、別個のプロセスおよび状態遷移を発見、マイニング、キャプチャーなどを行うことと、ロボティックプロセスオートメーション(RPA)ロボットによる自動化のためにプロセスまたはタスクに優先順位をつけることとを行う方法および装置が提供される。手動入力を減らしつつ、RPAによる自動化のために、ワークフローが設計または再設計され得る。プロセスの理解に基づいて、プロセスドキュメンテーションが生成およびエクスポートされ得る。
より詳細な理解は、図中の類似の参照数字が類似の要素を示す、添付の図面との関連で例示的に与えられた以下の説明から得られ得る。
ロボティックプロセスオートメーション(RPA)の開発、設計、運用、または実行の説明図である。
RPAの開発、設計、運用、または実行の別の説明図である。
コンピューティングシステムまたは環境の説明図である。
プロセスのシーケンスまたはパターンを発見、マイニング、または特定することの説明図である。
シーケンスまたはパターンの抽出のためにログファイルまたは記録ファイルのランダム性を分析することの説明図である。
ログファイルまたは記録ファイルにおける抽出のためのシーケンス特定のためのアクションをクラスタリングすることによるシーケンスまたはパターンの抽出の説明図である。
プロセス理解のためのシーケンスまたはパターンの抽出の説明図である。
プロセス理解のための自動的な順序付けまたはパターンの抽出と、ロボットによるプロセス自動化のためのワークフローの自動化の説明図である。詳細な説明
本明細書に記載されている方法およびプロセスでは、記載されているステップは任意の順序で順不同で実行され得、明示的に記載または表示されていないサブステップが実行され得る。また、「結合されている」または「操作的に結合されている」とは、オブジェクトが連結されていることを意味してもよいが、連結されているオブジェクトの間にゼロまたはそれ以上の中間オブジェクトを有してもよい。また、開示された特徴/要素の任意の組み合わせが、1または複数の実施形態で使用されてもよい。「AまたはB」を参照して使用する場合は、A、B、またはAおよびBを含む場合があり、これは、より長い羅列にも同様に当てはまり得る。X/Yという表記を使用する場合、当該表記は、XまたはYを含み得る。あるいは、X/Yという表記を使用する場合、当該表記は、XおよびYを含み得る。X/Yの表記は、上記と同じ論理により、より長い羅列にも同様に当てはまり得る。
図1Aは、ロボティックプロセスオートメーション(RPA)の開発、設計、運用、または実行100の説明図である。デザイナ102は、スタジオ、開発プラットフォーム、開発環境などとも呼ばれ、ロボットが1または複数のワークフローを実行または自動化するためのコード、命令、コマンドなどを生成するように構成され得る。コンピューティングシステムがロボットに提供し得る選択(複数可)から、ロボットは、ユーザーまたはオペレータによって選択された視覚表示の領域(複数可)の代表的なデータを決定し得る。RPAの一環として、コンピュータビジョン(CV)操作または機械学習(ML)モデルに関連して、四角、矩形、円、多角形、自由形などの多次元の形状が、UIロボットの開発およびランタイムに利用され得る。
ワークフローによって達成され得る操作の非限定的な例としては、ログインの実行、フォームへの入力、情報技術(IT)管理などのうちの1または複数があり得る。UIオートメーションのためのワークフローを実行するために、ロボットは、アプリケーションのアクセスまたはアプリケーションの開発に関係なく、ボタン、チェックボックス、テキストフィールド、ラベルなどの特定の画面要素を一意に特定する必要があり得る。アプリケーションアクセスの例としては、ローカル、仮想、リモート、クラウド、Citrix(登録商標)、VMWare(登録商標)、VNC(登録商標)、Windows(登録商標)リモートデスクトップ、仮想デスクトップインフラストラクチャ(VDI)などがあり得る。アプリケーション開発の例としては、WIN32、Java、Flash、ハイパーテキストマークアップ言語((HTML)、HTML5、拡張可能なマークアップ言語(XML)、Javascript、C#、C++、Silverlightなどがあり得る。
ワークフローには、タスクシーケンス、フローチャート、有限状態マシン(FSM)、グローバル例外ハンドラなどが含まれ得るが、これらに限定されない。タスクシーケンスは、1または複数のアプリケーションまたはウィンドウ間の線形タスクを処理するための線形プロセスであり得る。フローチャートは、複雑なビジネスロジックを扱うように構成され得、複数の分岐ロジックオペレータを介して、より多様な方法で意思決定の統合およびアクティビティの接続を可能にする。FSMは、大規模なワークフロー用に構成され得る。FSMは、条件、遷移、アクティビティなどによってトリガされ得る有限数の状態をそれらの実行中に使用し得る。グローバル例外ハンドラは、プロセスのデバッグプロセスなどのために、実行エラーが発生したときのワークフローの動作を判断するように構成され得る。
ロボットは、アプリケーション、アプレット、スクリプトなどであり得、基盤となるオペレーティングシステム(OS)またはハードウェアに対し透過的なUIを自動化し得る。展開時には、1または複数のロボットは、コンダクタ104(オーケストレータと呼ばれることもある)によって管理、制御などされ得る。コンダクタ104は、メインフレーム、ウェブ、仮想マシン、リモートマシン、仮想デスクトップ、エンタープライズプラットフォーム、デスクトップアプリ(複数可)、ブラウザ、またはそのようなクライアント、アプリケーション、もしくはプログラムにおいてワークフローを実行または監視するようにロボット(複数可)または自動化エグゼキュータ106に指示または命令し得る。コンダクタ104は、コンピューティングプラットフォームを自動化するために複数のロボットを指示または命令するための中央または半中心点として機能し得る。
特定の構成では、コンダクタ104は、プロビジョニング、展開、構成、キューイング、監視、ロギング、および/または相互接続性を提供するように構成され得る。プロビジョニングは、ロボット(複数可)または自動化エグゼキュータ106とコンダクタ104との間の接続または通信の生成および維持を含み得る。展開は、実行のために割り当てられたロボットへのパッケージバージョンの配信を保証することを含み得る。構成は、ロボット環境およびプロセス構成の維持および配信を含み得る。キューイングは、キューおよびキュー項目の管理を提供することを含み得る。監視は、ロボットの特定データを追跡し、ユーザーの許可を維持することを含み得る。ロギングは、データベース(例えば、SQLデータベース)および/または別のストレージメカニズム(例えば、大規模なデータセットを格納し、迅速にクエリを実行する能力を提供するElasticSearch(登録商標)へのログの保存およびインデックス作成を含み得る。コンダクタ104は、サードパーティのソリューションおよび/またはアプリケーションのための通信の集中点として機能することにより、相互接続性を提供し得る。
ロボット(複数可)または自動化エグゼキュータ106は、アンアテンディッド108またはアテンディッド110として構成され得る。アンアテンディッド108操作の場合、自動化は、サードパーティの入力または制御なしで実行され得る。アテンディッド110操作については、サードパーティのコンポーネントからの入力、コマンド、指示、指導などを受信して自動化が行われ得る。
ロボット(複数可)または自動化エグゼキュータ106は、デザイナ102内に構築されたワークフローを実行する実行エージェントであり得る。UIまたはソフトウェアの自動化のためのロボット(複数可)の商業的な例としては、UiPath Robots(商標)がある。いくつかの実施形態では、ロボット(複数可)または自動化エグゼキュータ106は、Microsoft Windows(登録商標) Service Control Manager(SCM)管理サービスをデフォルトでインストールし得る。その結果、そのようなロボットは、ローカルシステムアカウントの下でインタラクティブなWindows(登録商標)セッションを開くことができ、Windows(登録商標)サービスの権利を持ち得る。
いくつかの実施形態では、ロボット(複数可)または自動化エグゼキュータ106は、ユーザーモードでインストールされ得る。これらのロボットは、所定のロボットが設置されているユーザーと同じ権利を持ち得る。この特徴は、高密度(HD)環境などで最大のパフォーマンスで各マシンを完全に利用できるようにする高密度(HD)ロボットでも使用可能であり得る。
特定の実施形態では、ロボット(複数可)または自動化エグゼキュータ106は、それぞれが特定の自動化タスクまたはアクティビティのために専用に用いられるいくつかのコンポーネントに分割、分散などされ得る。ロボットコンポーネントには、SCM管理ロボットサービス、ユーザーモードロボットサービス、エグゼキュータ、エージェント、コマンドラインなどが含まれ得る。SCM管理ロボットサービスは、Windows(登録商標)セッションを管理または監視し、コンダクタ104と実行ホスト(すなわち、ロボット(複数可)または自動化エグゼキュータ106が実行されるコンピューティングシステム)との間のプロキシとして機能し得る。これらのサービスは、信用を受け得、ロボット(複数可)または自動化エグゼキュータ106の資格情報を管理し得る。
ユーザーモードロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ104と実行ホストとの間のプロキシとして機能し得る。ユーザーモードロボットサービスは、信用を受け得、ロボットの資格情報を管理し得る。SCM管理ロボットサービスがインストールされていない場合、Windows(登録商標)アプリケーションが自動的に起動され得る。
エグゼキュータは、Windows(登録商標)セッションの下で所与のジョブを実行し得る(つまり、ワークフローを実行し得る)。エグゼキュータは、モニタ毎のドットパーインチ(DPI)設定を認識し得る。エージェントは、システムトレイウィンドウに利用可能なジョブを表示するWindows(登録商標) Presentation Foundation(WPF)アプリケーションであり得る。エージェントは、サービスのクライアントとなり得る。エージェントは、ジョブの開始または停止、設定の変更を要求し得る。コマンドラインは、サービスのクライアントとなり得る。コマンドラインは、ジョブの開始を要求し、その出力を待つことができるコンソールアプリケーションである。
上で説明したように、ロボット(複数可)または自動化エグゼキュータ106のコンポーネントが分割される構成では、開発者、サポートユーザー、およびコンピューティングシステムが、各コンポーネントによる実行、特定、および追跡をより容易に実行するのに役立つ。この方法では、エグゼキュータとサービスに異なるファイアウォールルールを設定するなど、コンポーネントごとに特別な挙動が構成され得る。エグゼキュータは、いくつかの実施形態では、モニタごとのDPI設定を認識し得る。その結果、ワークフローは、ワークフローが生成されたコンピューティングシステムの構成に関係なく、任意のDPIにおいて実行され得る。また、デザイナ102からのプロジェクトは、ブラウザのズームレベルから独立するようにされ得る。DPIを認識していないまたは認識していないと意図的にマークされているアプリケーションの場合、いくつかの実施形態ではDPIは無効にされ得る。
図1Bは、RPAの開発、設計、運用、または実行120の別の説明図である。スタジオコンポーネントまたはモジュール122は、ロボットが1または複数のアクティビティ124を実行するためのコード、命令、コマンドなどを生成するように構成され得る。ユーザーインターフェース(UI)オートメーション126は、1または複数のドライバ(複数可)コンポーネント128を使用して、クライアント上のロボットによって実行され得る。ロボットは、コンピュータビジョン(CV)アクティビティモジュールまたはエンジン130を使用してアクティビティを行い得る。他のドライバ132は、UIの要素を得るためにロボットによるUIオートメーションのために利用され得る。それらには、OSドライバ、ブラウザドライバ、仮想マシンドライバ、エンタープライズドライバなどが含まれ得る。特定の構成では、CVアクティビティモジュールまたはエンジン130は、UIオートメーションのために使用されるドライバであり得る。
図1Cは、情報またはデータを通信するためのバス142または他の通信機構と、処理のためにバス142に結合された1または複数のプロセッサ(複数可)144とを含むことができるコンピューティングシステムまたは環境140の説明図である。1または複数のプロセッサ(複数可)144は、中央処理ユニット(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックス処理ユニット(GPU)、コントローラ、マルチコア処理ユニット、3次元プロセッサ、量子コンピューティングデバイス、またはそれらの任意の組み合わせを含む、任意のタイプの一般的または特定用途プロセッサであり得る。1または複数のプロセッサ(複数可)144はまた、複数の処理コアを有してもよく、コアの少なくとも一部は、特定の機能を実行するように構成され得る。また、マルチパラレル処理が構成され得る。さらに、少なくとも1または複数のプロセッサ(複数可)144は、生物学的ニューロンを模倣する処理要素を含むニューロモーフィック回路であり得る。
メモリ146は、プロセッサ(複数可)144によって実行または処理される情報、命令、コマンド、またはデータを格納するように構成され得る。メモリ146は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、ソリッドステートメモリ、キャッシュ、磁気ディスクもしくは光ディスクなどの静的記憶装置、または任意の他のタイプの非一時的な読み取り可能な媒体、あるいはそれらの組み合わせの任意の組み合わせで構成され得る。非一時的な読み取り可能な媒体は、プロセッサ(複数可)144によってアクセス可能な任意の媒体であってもよく、揮発性媒体、不揮発性媒体などを含み得る。また、媒体は、取り外し可能なものであってもよいし、取り外し不可能なものなどであってもよい。
通信装置148は、周波数分割多元接続(FDMA)、シングルキャリアFDMA(SC-FDMA)、時分割多元接続(TDMA)、符号分割多元接続(CDMA)、直交周波数分割多重方式(OFDM)、直交周波数分割多元接続(OFDMA)、移動体用グローバルシステム(GSM:Global System for Mobile)通信、汎用パケット無線サービス(GPRS:General Packet Radio Service)、ユニバーサル移動体通信システム(UMTS:Universal Mobile Telecommunications System)、cdma2000、広帯域CDMA(W-CDMA:Wideband CDMA)、高速ダウンリンクパケットアクセス(HSDPA:High-Speed Downlink Packet Access)、高速アップリンクパケットアクセス(HSUPA:High-Speed Uplink Packet Access)、高速パケットアクセス(HSPA:High-Speed Packet Access)、ロングタームエボリューション(LTE:Long Term Evolution)、LTEアドバンスト(LTE-A:LTE Advanced)、802.11x、Wi-Fi、Zigbee、超広帯域無線(UWB:Ultra-WideBand)、802.16x、802.15、Home Node-B(HnB)、Bluetooth、無線IDタグ(RFID:Radio Frequency Identification)、IrDA(Infrared Data Association)、近距離無線通信(NFC:Near-Field Communications)、第5世代(5G)、New Radio(NR)、または、1もしくは複数のアンテナを介して通信するためのいずれかの他の無線もしくは有線のデバイス/トランシーバとして構成され得る。アンテナは、単数型、アレイ型、フェーズド型、スイッチ型、ビームフォーミング型、ビームステア型などであり得る。
1または複数のプロセッサ(複数可)144は、バス142を介して、プラズマ、液晶ディスプレイ(LCD)、発光ダイオード(LED)、フィールドエミッションディスプレイ(FED)、有機発光ダイオード(OLED)、フレキシブルOLED、フレキシブル基板ディスプレイ、プロジェクションディスプレイ、4Kディスプレイ、高精細(HD)ディスプレイ、Retina(著作権)ディスプレイ、面内スイッチング(IPS)またはそのようなベースのディスプレイなどのディスプレイデバイス150にさらに結合され得る。ディスプレイデバイス150は、入力/出力(I/O)のために、当業者に理解されるように、抵抗性、静電容量性、表面音響波(SAW)静電容量性、赤外線、光学イメージング、分散信号技術、音響パルス認識、フラストレート全内部反射などを使用して、タッチ、3次元(3D)タッチ、マルチ入力タッチ、またはマルチタッチディスプレイとして構成され得る。
キーボード152およびコンピュータマウス、タッチパッドなどの制御装置154は、コンピューティングシステムまたは環境140への入力のためにバス142にさらに結合され得る。さらに、入力をコンピューティングシステムまたは環境140と通信している別のコンピューティングシステムを介してリモートでコンピューティングシステムまたは環境140に提供してもよいし、あるいは、コンピューティングシステムまたは環境140が自律的に動作してもよい。
メモリ146は、1または複数のプロセッサ(複数可)144によって実行または処理されたときに機能を提供するソフトウェアコンポーネント、モジュール、エンジンなどを格納し得る。これは、コンピューティングシステムまたは環境140のためのOS156を含み得る。モジュールは、アプリケーション固有のプロセスまたはその派生物を実行するためのカスタムモジュール158をさらに含み得る。コンピューティングシステムまたは環境140は、付加的な機能を含む1または複数の付加的な機能モジュール160を含み得る。
コンピューティングシステムまたは環境140は、サーバー、組み込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングデバイス、クラウドコンピューティングデバイス、モバイルデバイス、固定型モバイルデバイス、スマートディスプレイ、ウェアラブルコンピュータなどとして実行するように適合または構成され得る。
本明細書に記載された例では、モジュールは、カスタムの超大型集積(VLSI)回路またはゲートアレイ、ロジックチップ、トランジスタ、または他の個別部品のような既製の半導体を含むハードウェア回路として実装され得る。また、モジュールは、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジック装置、グラフィックス処理ユニットなどのプログラマブルハードウェア装置に実装され得る。
モジュールは、様々なタイプのプロセッサによって実行されるためのソフトウェアに少なくとも部分的に実装され得る。特定された実行可能コードのユニットは、例えば、オブジェクト、プロシージャ、ルーチン、サブルーチン、または関数として編成され得るコンピュータ命令の1または複数の物理的または論理的なブロックを含み得る。特定されたモジュールの実行可能は、論理的に結合されるとモジュールを構成するように、異なる位置に共に配置されたり、格納されたりする。
実行可能なコードのモジュールは、単一の命令、1または複数のデータ構造、1または複数のデータセット、複数の命令などであり、複数の異なるコードセグメント、異なるプログラム間、複数のメモリデバイス間などに分配され得る。運用データまたは機能データは、本明細書中においてモジュール内において特定および例示され、任意の適切なタイプのデータ構造内で適切な形態で具現化され、組織化され得る。
本明細書で説明された例では、コンピュータプログラムは、ハードウェア、ソフトウェア、またはハイブリッド実装で構成され得る。コンピュータプログラムは、互いに動作可能な通信を行い、情報または指示を渡すためのモジュールで構成され得る。
図2は、プロセスシーケンスまたはパターン200を発見、マイニング、または特定する説明図である。レコーダーまたはコレクターのアプリケーション、アプレット、データ構造、ソフトウェアコンポーネントなどは、サービスプロバイダーまたは中央管理局(1)から直接的または間接的にダウンロードされ得る。レコーダーまたはコレクターは、エンタープライズアプリケーション、エンタープライズプラットフォーム、仮想マシン(VM)、リモートデスクトップ、デスクトップアプリケーション、モバイルアプリケーションなどの上における作業を、透過的かつ非妨害的に監視し得る。記録または収集は、オーケストレーターまたは同様のコンポーネントによって操作される1または複数のロボットによって、後続のRPA自動化のために実行され得る。
レコーダーまたはコレクターは、既存の実装が最小限の再設計を必要とするように構成または配置され得る。レコーダーまたはコレクターは、中央、分散、非中央、またはクラウドベースの場所などにおいて部分的に動作し得る。テレメトリー入力(複数可)またはデータも、本明細書に記載されているように、レコーダーまたはコレクターによってシーケンシングのために利用され得る。テレメトリーは、レコーダーまたはコレクターからの他のデータストリームと同様に、アクション、状態、シーケンス、またはプロセスをクラスタ化または定義するための追加データポイントとして使用され得る。テレメトリーはまた、実質的にリアルタイムの推奨、提案などを可能にし得る、製品またはアプリケーションの使用状況に関する有用なフィードバックを提供し得る。本明細書で説明された特定の構成では、継続的モデル改善は、自動的に生成された1または複数のワークフローに基づいて、標準化された機能ライブラリを構築するように構成され得る。
1もしくは複数のユーザー202のうちの1ユーザーまたは手動入力源が、複数のグループのうちの少なくとも1つのグループを選択して、グループ(2)の作業またはデータをキャプチャーするように構成または利用され得る。特定の構成では、グループは、同様のタスクの実行に基づいて形成され得る。さらに、キャプチャーされた作業またはデータは、暗号化、圧縮、セキュリティなどが施され得る。キャプチャーされた作業またはグループのデータは、ログファイルまたは記録ファイルに保存され得る。キャプチャーされたデータのソースは、ビデオ、スクリーンショット、タイムスタンプ付きのスクリーンショット、メタデータファイル、データベースなどを含み得る。
ログファイルは、1または複数のスクリーンショット、顧客ごとのスクリーンショット、ツリーデータ、DOM(domain object model)ツリーデータ、UI要素、1または複数のセレクタ、アクションタイプ、クリップボードコンテンツ、ユーザーのコンピューティングアクティビティなどを含み得る。ログファイルまたは記録ファイルは、集中分析、クラウド分析などのためにアップロードされ得る。分析は、プロセスの進行状況を表示し得る。さらに、ログファイルまたは記録ファイルの類似または共通のアクションを特定して、クラスタ、グループなどで表されるアクションのシーケンスを含むログファイルまたは記録ファイルの新しいバージョンを生成し得る。
ログファイルまたは記録ファイルは、2以上のアクションを類似または同じものとして特定または区別することが非自明であり得る、ノイズの多い、動的な、または可変であるスクリーンショット、ツリーデータ、またはセレクタを含み得る。類似したUI要素の特定は、ベクトル化、選択、および光学式文字認識(OCR)の使用によって行われ得る。OCRについては、1または複数のスクリーンショット、UI要素などのOCRに基づいて反復過程をラベル付けするために、時間を共有した多対多の検索アルゴリズムが使用され得る。特定の構成では、自己回帰成分を持つサブプロセスの特定のためにカテゴリ型隠れマルコフモデルが利用され、誤ったセレクタの変動に対処するためにデンドグラムが利用され得る。
特定の構成では、自動化層の情報を含むログファイルと、該当するすべてのメタデータを含むスクリーンショットを、様々な動的技術を用いてクラスタ化し、未知のデータをインテリジェントなアクション、状態、またはシーケンスの表現に適した形式で表現し得る。例えば、ベイジアンおよび確率的モデリングおよびヒューリスティックプロセスは、正しいシーケンス表現のための最適または望ましいクラスタを特定するように構成され得る。
RPAのためのシーケンスまたはパターンの抽出は、頻繁に発生する短い且つ無意味なシーケンスを認識するように変更され得る。プロセス発見またはマイニングは、ログファイルまたは記録ファイルに基づいて、プロセス、予測可能なアクション、反復可能なアクション、一連の特定可能なアクションなどを特定するように構成され得る。また、プロセスマイニングは、自動化またはRPAのコストに比べてインパクトの大きいプロセスを特定し得る。特定の構成では、既知のスキーマおよびプロプラエタリ情報技術(IT)システムまたはネットワーク構成にアクセスすることなく、またはアクセスを制限してこれを達成し得る。
視覚化は、プロセスの理解またはRPA自動化のためのワークフローを構築するために構成され得る。例えば、カスタム視覚は、距離のしきい値を変化させることで、予測可能なフィルタリング結果を得るように構成され得る。TimelinePIで生成された可視化も、ワークフローの自動生成および処理の理解のために、本明細書で説明された例で利用され得る。特定の構成では、ルールに基づく決定、判断に基づく決定、時間決定、または処理決定などの間における区別の優先度がより低い場合、RPA自動化のためのワークフロー構築にクエリシステムオブレコード(SOR)が利用され得る。
特定の構成では、暗黙の判断基準を導き出すことで、ワークフローが自動的に構成され得る。この手順により、RPAの実装コストが大幅に削減され、より良い成果が得られ得る。また、実装後は、自動化ワークフローにより、ロボットの再設計コストを削減し得る。また、本明細書で説明された例では、標準規格、機能的手法、論理コンポーネントなどを利用して、RPAのためのシーケンスまたはパターンの抽出を用いて、別個のプロセスおよび状態遷移を発見、マイニング、キャプチャーなどを行い得る。これは、手動入力を減らしながら達成され得る。
特定の構成では、ログファイルまたは記録ファイルは、スクリーンショット、顧客特有のスクリーンショット、ツリーデータ、データセレクタ、アクティビティセレクタ、アクションタイプ、クリップボードコンテンツなどを含み得る。シーケンスまたはパターン生成は、アクションの特定、アクション、アクションの動機付け、プロセス変化、プロセス開始状態、プロセス終了状態、プロセスパフォーマンス時間などに対する人間が読めるラベルの生成をするように構成され得る。状態は、新規顧客の登録可能、記録のアップデート完了、変更の確認、エラー状態、送信、開封、承認、Win32 UI自動化などのコンピュータUI要素などを含み得る。
特定の構成では、自動化のためのプロセスシーケンスまたはパターンの特定は、レコーダーまたはコレクターを使用して、エンタープライズアプリケーション、エンタープライズプラットフォーム、VM、リモートデスクトップ、デスクトップアプリケーション、モバイルアプリケーションなどの詳細なプロセスをキャプチャーする構成を利用し得る。シーケンスモデルは、別個のプロセスおよび状態遷移を発見するように構成され得る。シーケンスモデルは、意味のある変動および無関係な変動、判断アクション、ルールに基づくアクションなどを区別し得る。特定の構成では、シーケンス処理は、マイニング動作の一部として実行され得る。
階層は、発見またはマイニングされた別個のプロセスおよび状態遷移に基づいて生成され得る。階層は、異なるレベルの抽象度、機能的手法、またはアクショナビリティのためのページオブジェクトで表現され得る。ページオブジェクトは、送信ボタン、ログイン、ウィンドウを閉じる、ウィンドウを最小化するなどのコードオブジェクトであり得る。発見されたアクションは、これらのコードオブジェクトに基づいて記述され、一緒に検索され得る。この構成により、発見されたタスクおよびプロセスまたは現状のタスクおよびプロセスのためのテスト自動化スクリプトが生成され得る。特定の構成では、階層は、機能クラスタ、フラットクラスタ(fclusters)などの間に重複を有する指数関数的に減衰する階層であり得る。階層は、最適なクラスタ長に基づいて手動でラベル付けされたプロセス反復も含み得る。
発見された別個のプロセスおよび状態遷移は、視覚的な検証のためにも生成され得る(3)。視覚の検証は、手動入力またはロボットによる追加アクションを利用し得る。発見された別個のプロセスおよび状態遷移は、RPA自動化のために、重要度、優先度、価値などに基づいてランク付けされ得る(4)。ランク付けは、上位X個のシーケンスの決定、p値によるランク付け、エントロピーによるランク付けなどを含み得る。
p値は、仮説検定または主張の結果の有意性を判断するために利用され得る。主張は、帰無仮説を表し得る。代替仮説は、帰無仮説が偽または真でないことが判明した場合の結果であり得る。p値は0から1の間であり、p値が小さいと、帰無仮説に対する強い証拠、または帰無仮説を棄却することを示し得る。p値が大きいと、帰無仮説に対する弱い証拠、または帰無仮説を棄却できないことを示し得る。
シーケンスランク付けの統計では、抽出されたシーケンスがそれらのp値によってランク付けされ得るが、ランク付けは他の多くの統計量またはパラメータで補強され得る。シーケンスの接頭辞および接尾辞のエントロピーは、シーケンスに対する次のまたは前のアクションの不確実性を定量化するための望ましい統計パラメータであり得る。例えば、次または前のアクションの不確実性またはエントロピーが低い場合、次または前の最も頻度の高いアクションを含むようにシーケンスを拡張することがより適切であり得る。別の構成では、後続のステップのエントロピーが実質的にゼロである場合、それは常に同じアクションであることを意味し、そのアクションを含むようにシーケンスが拡張され得る。シーケンスランク付けにおけるエントロピーは、p値およびエントロピーの積に基づいてシーケンスをソートすることによって構成され得る。特定の構成では、エントロピーは、接頭辞および接尾辞のエントロピーの合計であり得る。
生成されたワークフローのさらなる検証または再設計によるプロセスインテリジェンス(5)が構成され得る。本明細書で説明された例では、プロセス設計または再設計は、ワークフローのエクスポート204およびRPA(6)のために柔軟なプロセス設計文書(PDD)を利用するように構成され得る。エクスポートは、RPAを支援または実装するために、ロボット構成の詳細、操作変数、操作パラメータ、トラブルシューティングなどを含み得る。
図3は、シーケンスまたはパターンの抽出300のためにログファイルまたは記録ファイルのランダム性を分析することの説明図である。シーケンスまたはパターンの抽出は、新しいバージョンのログファイルまたは記録ファイルに現れるアクションのシーケンスを比較するように構成され得る。特定の構成では、比較は、シーケンスまたはパターンのランダム性を決定することを含み得(302)、最小のランダムは、アクション可能または価値のあるタスクの候補として選択されまたは選ばれ得る。アクション候補は、所望に応じて、ランダム性または別のメトリックに基づいてランク付け(304)され得る。候補のサブセット、サブグループ、サブセクションなどがラベル付けされ得る。候補アクションのサブセット、サブグループ、サブセクションなど(306)は、個々の候補またはクラスを表し得る。候補は、発見されたプロセスであるために、単独で、または他のものと一緒に、有意性がテストされているシーケンスまたはサブシーケンスであり得る。網羅的なプロセスは、頻度がXカットを超えるすべての候補、順列、組み合わせなどがテストされるように構成され得る。1つのバージョンのログファイルは、抽出の個々のシーケンスまたはパターンでラベル付け(308)され得る。特定の構成では、シーケンスは、品質、重要性、関連性などによってランク付けされ得る。
シーケンスまたはパターンの抽出の結果、アクションが、関連する人が読めるまたは特定可能なラベルで特定され得る。本明細書で説明された構成の他の結果は、プロセスのバリエーション、類似または同じプロセスの異なるアクションの決定、各プロセスの開始および終了状態、プロセス期間などを含む、取られるアクションの理由を含み得る。
図4は、ログファイルまたは記録ファイル400における抽出のためのシーケンス特定のためのアクションをクラスタリングすることによるシーケンスまたはパターンの抽出の説明図である。特定の構成では、シーケンスまたはパターンの抽出は、シーケンス特定のためのアクションの行または列をクラスタリングし、続いてアクション_クラスタのログファイルまたは記録ファイルで実行される抽出によって形成され得る(402)。ログにX回超現れたサブシーケンス、サブパターンなどが特定され得る(404)。サブシーケンスまたはサブパターンは、ログファイルをランダム化することによってまたはそれに基づいて決定されたシーケンスまたはパターンが予想よりも多く発生する可能性に基づいて順序付けられ得る(406)。他の構成では、サブシーケンス、サブパターンなどは、ログがランダムであった場合に、シーケンスまたはパターンが所定の回数よりも多く発生する可能性に基づいても順序付けられ得る。ロボティックオートメーションのために、1または複数のクラスタからワークフローを生成する(408)。
特定の構成では、クラスタインデックス(cluster_indices)の統計モデルを利用して、各行または列をランダムにし、各アクションの確率をログファイルまたは記録ファイル内の頻度に等しくし得る。シーケンスインスタンスは、高速検索のためにパトリシアトライ(patricia trie)のデータ構造などを用いて抽出および表現され得る。パトリシアトライは、基数2またはバイナリトライの変形であり得、各キーの各ビットを明示的に格納するのではなく、ノードが2つのサブツリーを区別する第1ビットの位置を格納し得る。探索時には、検索キーのインデックスビットが調査され得、左または右のサブツリーが選択され得る。
プロセス理解のための統計的シーケンスまたはパターンモデルでは、1もしくは複数のログファイルまたは記録ファイルからの頻出シーケンスが、1または複数のアプリケーションパラメータに基づいて抽出され得る。PrefixSpanなどの頻出シーケンスの抽出のデータマイニングでは、一部の結果が望ましくない場合があり、特に短い頻出シーケンスは優先順位が低い場合がある。特定の構成では、シーケンスの統計モデルを利用して、最頻値以外の統計的に最も関連性の高いシーケンスを見つけ得る。例えば、ランダムシーケンスモデル構成では、ログの各行が、前または後のアクションと相関のない独立したランダムなアクションであると仮定し得る。
ランダムシーケンスモデル構成では、各アクションの確率は、ログファイルまたは記録ファイルにおけるそれらの頻度を用いてモデル化され得る。例えば、ログL=r0,r1,r2,...,r_Nについて、アクションa_iには、確率P[a_i]=|{i:r_i==a_i}|/Nが割り当てられ得る。つまり、このアクションによって表されるログの割合である。ログの複数のサブシーケンスまたはすべてのサブシーケンスは、p値、ランダム化などを用いて、発生確率によってランク付けまたはソートされ得る。特定の構成では、p値を用いたモデルは、帰無仮説およびランダム化ログに基づいていてもよい。特定の構成では、ランダムな試行と比較して、頻繁に発生するか、または所定の量よりも大きいシーケンスが選択されるか、または統計的重要性を意味する場合がある。
特定のモデルでは、長さlのシーケンスSが長さNのログファイルまたは記録ファイルにn回出現する確率を、ある確率を与えて計算することが、集中的に行われる場合がある。これに対応して、シーケンスの抽出およびランク付けがシーケンス中の正確な一致に基づいて行われる、正確なシーケンスの一致による近似が実行され得る。特定の構成では、正確なシーケンスとは、実質的なラグ、ギャップなどなしに発生するログまたは記録に正確に現れるシーケンスSであり得る。この構成では、各試行の確率が、長さlの任意のシーケンスがSに等しいという事前確率によって与えられる、N/lベルヌーイ試行のシーケンスとしてモデル化することにより、近似が実行され得る。
近似は、ラグのあるシーケンス、またはラグ、ギャップなどのあるパターンマッチに対しても実行され得る。シーケンスがSs_0,s_1,s_2であり、ログまたは記録にシーケンス[s_0,s_1,R,s_2](Rは任意のアクションである)が含まれている場合、これは、Sの発生として特定またはカウントされ得る。特定の構成では、Sは、ラグ、ギャップなどにより重みが減少して指定され得る。
シーケンスまたはパターンの抽出に続いて、p値を最小化するなどの目的関数を最適化するログまたは記録と上位シーケンスのアラインメントを見つけることにより、ノイズ除去が実行され得る。この構成では、元のログまたは記録の行は無視されよう。目的関数を最適化することにより、シーケンス内の行または列を維持しながら、ログまたは記録内の行または列を無視するというランダムな機会の確率を低減し得る。
ノイズ除去されたログファイルまたは記録ファイルは、元の要素または元のログの一部を含み得る。効率的な最適化のために、再帰または階層的な抽出が実行され得る。再帰は、既存のノイズ除去されたログまたは記録に対する抽出およびノイズ除去を反復することによって実行され得る。この操作は、データ中のノイズだけでなく、信号の一部を除去することを犠牲にして、ログまたは記録をきれいにまたは改善し得る。この構成では、データの失われた信号部分を定量化または近似化することが困難になり得る。
階層的なシーケンスまたはパターンの抽出は、タイル状のログファイルまたは記録ファイルを構築することによって実行され得る。特定の構成では、タイル状のログファイルまたは記録ファイルは、ノイズ除去されたログまたはレコードをタイル状にして形成するために使用されるシーケンス同一性のシーケンスを含み得る。重要であり得る抽出されたシーケンスのログは、ログ自体にシーケンスのインスタンスを見つけるためにタイル状にされ得る。また、この操作は、重要なシーケンスによってカバーされ得るログの部分を維持することによって、ログをノイズ除去するために実行され得る。階層的な抽出では、タイル状のログで抽出、ノイズ除去、再帰を繰り返すことを含み得る。階層的なシーケンスまたはパターンの抽出は、アクションの繰り返されるシーケンスまたはパターンが単一のアクションまたはシーケンスインスタンスに削減されるように、タイル状のログをスカッシュ(squash)し得る。例えば、スカッシングは(1,1,1,2,2,3,2,1,1)を(1,2,3,2,1)に減らし得る。あるスカッシングアルゴリズムでは、タイリングアルゴリズムでシーケンスを保存し、最終レベルの再帰のためにノイズ除去されたログを生成することを含み得る。このシーケンスまたはパターンの抽出は、ノイズの少ないデータに適し得る。
シーケンスまたはパターンの抽出は、タスク、アクションなどの階層的なフローを決定するために繰り返され得る。階層的なフロー表現を使用して記述されたアクションは、キーワードおよび難読化されたバージョンのスクリーンショットに基づいて、複数レベルの抽象化をもたらし得る。発見されたフローは、RPAのために優先順位が付けられてもよい。
特定の構成では、シーケンスまたはパターンの抽出は、アクションのタイプおよび頻度に基づいて、ログファイルまたはレコードファイル内の発生をチェックし得る。ある期間に発生したアクションは、ラベル付け、特徴付け、区別などを行ってもよい。1セットの後続のアクションは、事前に定義されたもの、セットされたもの、ユーザーが定義したものなどであり得る。統計モデルは、発生のランダムな分布が最も少ないアクションの後に発生するアクションを選択し、アクションを1または複数のシーケンスとして関連付け得る。この操作は、より長いシーケンスまたはパターンを組立または構築するために反復され得る。このシーケンスまたはパターンの抽出は、より多くのノイズとより多くのランダム性を持つデータに望ましい場合がある。
シーケンスまたはパターンの抽出を用いた別個のプロセスおよび状態遷移の発見、マイニング、または特定は、中小企業(SME)、センターオブエクセレンス(COE)、シングルユーザー、ビジネス分析(BA)、RPA開発などにとって望ましい場合がある。また、SMEにおいては、現在のプロセスおよびポリシーを文書化したり説明したりする時間を短縮し得る。手動入力の排除により、プライバシーと共有管理の向上も達成され得る。プロセス理解のローカルの運用および設定によっても、プライバシーおよび共有管理の向上が達成され得る。
BAまたはCOEの実装は、RPAのプロセスまたはタスクの優先順位付けを迅速に行うこと、人の業務を文書化することによるコスト削減、経験の浅いユーザーに割り当てられることの多い複雑なタスクの自動化によるリスク低減、または文書化プロセスの改善による組織ポリシーに対するコンプライアンス向上といった利益をもたらし得る。また、PDDおよびドラフトワークフローの自動生成により、RPA開発が加速し得る。階層が標準化されることで、コードのメンテナンス時間が短縮されることも、別の望ましい結果であり得る。
特定の構成では、自動生成されたワークフローが展開後も追跡されて、Extensible Application Markup Language(XAML)のエクスポートを強化または改善し得る。シーケンス中に、1つのタスクまたはさらには複雑なワークフロー全体に対する複数の優れた出力候補により、初期実行機能は、ライブパフォーマンスのテスト、手動入力の要求、より少数の選択肢のリストの提案、次のステップの提案、推論検証の実行などを行うように構成され得る。
ログまたは記録のタイリングを再度参照すると、完全に一致する操作は、以下のように構成され得る。シーケンスまたはパターンは、例えば、長いものから短いものへというように、長さによってソートされ得る。各ログまたは記録の先頭で、現在のログ位置から始まるログと一致する最長のシーケンスが検索され得る。最長の一致するシーケンスが見つかると、操作は、ちょうど見つかったシーケンスの最後にあるログのポイントに移動し、実質的にログ全体が完了するまで繰り返され得る。
密度に基づく操作では、p値密度が最も高いシーケンスのインスタンスを使用して、ログまたはファイルをタイリングしてもよい。密度の高いログまたはファイルのタイリングは、シーケンスインスタンス内で発生し得る1または複数の余分なアクションなどのラグを許容し得る。ラグの有無にかかわらず、各シーケンスのすべてのインスタンスが検出され、そしてp値密度によってソートされ得る。特定の構成では、p値密度は、シーケンスp値とシーケンスインスタンスの全長との比であり得る。最もp値密度の高いものから始まる各インスタンスが選択され、タイリングに含まれ得る。これは、シーケンスインスタンスがすでに使用されているシーケンスインスタンスに含まれていないログの少なくとも1つの行を含み、シーケンスがその開始行を任意の他のすでに使用されているシーケンスインスタンスと共有していない場合に実行され得る。特定の構成では、密度ログまたはファイルタイリングにより、2つのシーケンスが完全に重なることなくシーケンスインスタンスを重ねる場合、または2つのシーケンスが同じ場所から開始するが、異なる数のラグ、ギャップなどを含む場合がある。シーケンスの重なりは、重なるプロセスの断片を発見するために望ましい場合があり、真のプロセスは2つ以上のシーケンスの連結であり得る。
ラグに基づくタイリングは、特定の構成において望ましい場合がある。ラグに基づくタイリングでは、ラグを許可し、シーケンスの重なりを禁止し得る。1行のログを1つずつ処理し、所定の位置から始まるp値密度が最も高いラグ付きシーケンスを見つけるまたは発見してもよい。一旦シーケンスが選択されると、シーケンスインスタンスが終了した後、プロセスはログの次の行に移動してもよい。
本明細書で説明された例では、アクション特定のためのスクリーンショット、UI要素、セレクタなどを有する1または複数のログまたは記録は、2つのアクションが類似または同じように見え得ることを指摘するために、ノイズが多く動的であってもよい。ベクトル化、セレクタの使用、またはOCRエンジンの使用は、同じセレクタ、UI要素などとのインタラクションを決定するために利用され得る。ベクトル化は、2つのセレクタがDOMツリーのグラフ上で近接している場合、それらが類似していると指定し得る。「名前」、「役割」などの注目すべきタグのセットが定義され得、ログの各行が、最初と最後のセレクタ要素のタグを使用したラベルを使用して割り当てられ得る。実質的に同一のラベルを持つ他の行を持つ行は、クラスタ化され得る。特定の構成では、min_samplesメンバー、ランタイムで指定されたパラメータ、または手動入力なしで自動的に決定されたパラメータよりも少ないクラスタは、ノイズとみなされ得る。
セレクタを使用したアクション特定は、1または複数のセレクタ内の単語の相関関係に基づいて行をクラスタリングし得る。すべての単語または英数字の文字列のセットは、最初と最後のセレクタ要素で形成され得、単語w_iに任意にまたはランダムに並べられ得る。ログまたは記録の行は、ベクトルとして表現され得、ベクトルのi番目の要素は、この行セレクタにw_iが含まれていれば1、そうでなければ0となる。これらのベクトルに対して主成分分析(PCA)が行われ得る。特定の構成では、PCAは、全体の分散の90%が保持されるように構成され得る。クラスタリングは、k平均法を用いてこれらのベクトルに対して実行され得、ここではクラスタの数の範囲が試される。シルエットスコアに基づくなど、クラスタ品質の監視なしメトリック(unsupervised metric)を最大化するクラスタが選択され得る。また、DBSCAN(Density-based spatial clustering of applications)クラスタリングは、最終的なk平均法クラスタリングによって決定されたパラメータを使用して構成され得る。
さらに、OCRによるアクション特定は、セレクタに基づく特定と同様に実行されてもよいが、セレクタ要素上ではなく、OCR出力内の単語または英数字文字列を用いてベクトルを生成し得る。特定の構成では、OCR 出力の単語または英数字の文字列を使用してベクトルを生成することを、アクションクラスタ(action_clusters)と呼ぶ場合がある。この構成では、100k行のログは、min_samplesの設定に基づいて、100および1000のユニークなアクションを生成し得る。
図5は、プロセス理解500のためのシーケンスまたはパターンの抽出の説明図である。この構成では、シーケンスまたはパターン抽出は、以下に示すように、1)抽出、2)ノイズ除去、3)再帰、および4)階層的な抽出を含んでもよい。アクションを特定するために行がクラスタ化された後に、action_clustersのログまたは記録に対するシーケンスまたはパターンの抽出(502)が実行され得る。ログにカットX回を超えて出現する1つまたはすべてのサブシーケンスが特定され得る。カットは1回で済むこともあり得る。サブシーケンスは、ランダムなログにおける所定の時間の発生の可能性に基づいて順序付けられ得る。クラスタインデックス(cluster_indices)の統計モデルは、各行がランダムで、各アクションの確率がログ内の頻度に等しいものを使用し得る。シーケンスインスタンスは、パトリシアトライのデータ構造を用いて抽出および表現され得る。
元のログ内の1または複数の行を無視して、シーケンス内の1または複数の行を無視することを可能にするp値を最小化するログと上位シーケンスのアラインメントを見つけることによって、抽出されたシーケンスに対してノイズ除去が実行され得る。ログのp値を最小化することは、ランダムに発生したとは考えにくいものにすることを含み得る。ノイズ除去の最適化のために、ログタイリングまたは近似が行われ得る。再帰は、特定の構成において、以前にノイズ除去されたログに対して抽出およびノイズ除去を再実行することで使用され得る。
階層的なシーケンスの抽出(506)は、タイル状のログを構築することでシーケンスの抽出のために行われ得る。特定の構成では、階層的なシーケンスの抽出のために再帰が利用され得る。タイル状のログは、ステップ3)でノイズ除去されたログをタイル化して形成するために使用されるシーケンス同一性のシーケンスであり得る。階層的なシーケンスの抽出は、タイル状のログ上でステップ1)~3)を反復するように構成され得る。また、繰り返されるアクションのシーケンスを単一のアクション、より少数のアクション、シーケンスインスタンスなどに削減することにより、タイル状のログまたは記録に対してスカッシングが実行され得る。階層的なシーケンスの抽出は、最終的な再帰のために、ノイズ除去されたログを生成するためのタイリング構成で使用されたシーケンスを保存するように構成され得る。
図6は、プロセス理解のための自動シーケンスまたはパターンの抽出と、ロボット600によるプロセス自動化のためのワークフローの自動化の説明図である。アプリケーションの手動ワークフローのステップのキャプチャー、記録、収集などが行われ得る(602)。キャプチャーされたステップは、ログファイルまたは記録ファイルに保存され得る。キャプチャーされた手動ワークフローのシーケンシングモデルが決定または選択され得る(604)。シーケンシングモデルは、キャプチャーされた手動ワークフローの複数の異なるプロセスおよび状態遷移を含み得る。シーケンシングモデルに基づいて、複数の異なるプロセスおよび状態遷移の変動、判断アクション、またはルールに基づくアクションが特定され得る(606)。変動は、キャプチャーしたステップに関連するアクションのログファイルの変更に基づき得る。特定された変動、判断アクション、またはルールに基づくアクションに基づいて、階層が生成され得る(608)。ロボット(複数可)によるプロセス自動化のために、生成された階層に基づいて自動化されたワークフローを自動的に設計または再設計してエクスポートする(610)。
特徴および要素は、特定の組み合わせで上に記載されているが、各特徴または要素は、単独で、または他の特徴および要素と任意の組み合わせで使用することができることが、当業者には理解されるであろう。さらに、本明細書に記載された方法は、コンピュータまたはプロセッサによって実行されるために、コンピュータ読み取り可能な媒体に組み込まれたコンピュータプログラム、ソフトウェア、またはファームウェアに実装され得る。コンピュータ読み取り可能な媒体の例としては、電子信号(有線または無線接続を介して送信される)およびコンピュータ読み取り可能なストレージ媒体が挙げられる。コンピュータ読み取り可能なストレージ媒体の例としては、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体記憶デバイス、内蔵ハードディスクおよびリムーバブルディスクなどの磁気媒体、磁気光学媒体、ならびにCD-ROMディスクおよびデジタル多目的ディスク(DVD)などの光学媒体が挙げられるが、これらに限定されない。

Claims (20)

  1. コンピューティングデバイスであって、
    プロセッサと、
    メモリと、を含み、
    前記プロセッサは、アプリケーションのワークフローのキャプチャーされたステップを前記メモリから取得して、前記キャプチャーされたステップのためにシーケンシングモデルを利用するように構成され、前記シーケンシングモデルは、前記キャプチャーされたステップのために複数のプロセスおよび状態遷移を決定し、
    前記プロセッサは、前記キャプチャーされたステップに関連する前記シーケンシングモデルおよびアクションのログファイルの変更に基づいて、前記複数のプロセスおよび状態遷移の変動、判断アクション、またはルールに基づくアクションのうちの少なくとも1つを特定するように構成され、
    前記プロセッサは、前記特定された変動、前記判断アクション、または前記ルールに基づくアクションに基づいて、階層を生成するように構成され、
    前記プロセッサは、ロボットによるプロセス自動化のために、前記生成された階層に基づいて自動化されたワークフローを自動的に生成するように構成される、コンピューティングデバイス。
  2. 前記シーケンシングモデルは、一列に所定の回数よりも多く現れるサブシーケンスまたはサブパターンを特定する、請求項1に記載のコンピューティングデバイス。
  3. 前記キャプチャーされたステップは、ランダム化され、前記シーケンシングモデルは、所定の回数よりも多く発生するプロセスを特定する、請求項1に記載のコンピューティングデバイス。
  4. テレメトリーデータは、前記シーケンシングモデルによって利用される、請求項1に記載のコンピューティングデバイス。
  5. 前記変動、前記判断アクション、または前記ルールに基づくアクションは、照合のために視覚化される、請求項1に記載のコンピューティングデバイス。
  6. 前記複数のプロセスのうち特定された各プロセスは、ラベル付けされる、請求項1に記載のコンピューティングデバイス。
  7. 前記アクションは、スクリーンショット、ツリーデータ、DOM(Domain Object Model)データ、ユーザーインターフェース要素、セレクタ、アクションタイプ、クリップボードコンテンツ、またはコンピューティングアクティビティのうちの1つを含む、請求項1に記載のコンピューティングデバイス。
  8. 前記アクションは、反復またはランキングに基づいてクラスタ化された行に配列される、請求項7に記載のコンピューティングデバイス。
  9. コンピューティングデバイスによって実行される方法であって、前記方法は、
    アプリケーションのワークフローのキャプチャーされたステップを取得して、前記キャプチャーされたステップのためにシーケンシングモデルを利用することであって、前記シーケンシングモデルは、前記キャプチャーされたステップのために複数のプロセスおよび状態遷移を決定することと、
    前記キャプチャーされたステップに関連する前記シーケンシングモデルおよびアクションのログファイルの変更に基づいて、前記複数のプロセスおよび状態遷移の変動、判断アクション、またはルールに基づくアクションのうちの少なくとも1つを特定することと、
    前記特定された変動、前記判断アクション、または前記ルールに基づくアクションに基づいて、階層を生成することと、
    ロボットによるプロセス自動化のために、前記生成された階層に基づいて自動化されたワークフローを自動的に生成することと、を含む、方法。
  10. 前記シーケンシングモデルは、一列に所定の回数よりも多く現れるサブシーケンスまたはサブパターンを特定する、請求項9に記載の方法。
  11. 前記キャプチャーされたステップは、ランダム化され、前記シーケンシングモデルは、所定の回数よりも多く発生するプロセスを特定する、請求項9に記載の方法。
  12. テレメトリーデータは、前記シーケンシングモデルによって利用される、請求項9に記載の方法。
  13. 前記変動、前記判断アクション、または前記ルールに基づくアクションは、照合のために視覚化される、請求項9に記載の方法。
  14. 前記複数のプロセスのうち特定された各プロセスは、ラベル付けされる、請求項9に記載の方法。
  15. 前記アクションは、スクリーンショット、ツリーデータ、DOM(Domain Object Model)データ、ユーザーインターフェース要素、セレクタ、アクションタイプ、クリップボードコンテンツ、またはコンピューティングアクティビティのうち1つを含む、請求項9に記載の方法。
  16. 前記アクションは、反復またはランキングに基づいてクラスタ化された行に配列される、請求項15に記載の方法。
  17. コンピューティングデバイスであって、
    プロセッサと、
    メモリと、を含み、
    前記プロセッサは、アプリケーションのワークフローのキャプチャーされたステップを前記メモリから取得して、前記キャプチャーされたステップのためにシーケンシングモデルを利用するように構成され、前記シーケンシングモデルは、前記キャプチャーされたステップのために状態遷移を決定し、
    前記プロセッサは、前記キャプチャーされたステップに関連する前記シーケンシングモデルおよびアクションのログファイルの変更に基づいて、前状態遷移の変動を特定するように構成され、
    前記プロセッサは、前記特定された変動に基づいて、階層を生成するように構成され、
    前記プロセッサは、前記生成された階層に基づいて自動化されたワークフローを自動的に生成するように構成される、コンピューティングデバイス。
  18. 前記シーケンシングモデルは、一列に所定の回数よりも多く現れるサブシーケンスまたはサブパターンを特定する、請求項17に記載のコンピューティングデバイス。
  19. 前記キャプチャーされたステップは、ランダム化され、前記シーケンシングモデルは、所定の回数よりも多く発生するプロセスを特定する、請求項17に記載のコンピューティングデバイス。
  20. テレメトリーデータは、前記シーケンシングモデルによって利用される、請求項17に記載のコンピューティングデバイス。

JP2021565069A 2019-09-19 2020-09-18 シーケンスの抽出によるロボティックプロセスオートメーション(rpa)のためのプロセス理解 Pending JP2022548437A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/575,600 2019-09-19
US16/575,600 US11433536B2 (en) 2019-09-19 2019-09-19 Process understanding for robotic process automation (RPA) using sequence extraction
PCT/US2020/051390 WO2021055674A1 (en) 2019-09-19 2020-09-18 Process understanding for robotic process automation (rpa) using sequence extraction

Publications (1)

Publication Number Publication Date
JP2022548437A true JP2022548437A (ja) 2022-11-21

Family

ID=74881593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021565069A Pending JP2022548437A (ja) 2019-09-19 2020-09-18 シーケンスの抽出によるロボティックプロセスオートメーション(rpa)のためのプロセス理解

Country Status (6)

Country Link
US (1) US11433536B2 (ja)
EP (1) EP3948722A4 (ja)
JP (1) JP2022548437A (ja)
KR (1) KR20220062228A (ja)
CN (1) CN113950665A (ja)
WO (1) WO2021055674A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10654166B1 (en) * 2020-02-18 2020-05-19 UiPath, Inc. Automation windows for robotic process automation
US11233861B2 (en) 2020-02-18 2022-01-25 UiPath, Inc. Inter-session automation for robotic process automation (RPA) robots
US11392477B2 (en) 2020-07-09 2022-07-19 UiPath, Inc. Automation of a process running in a first session via a robotic process automation robot running in a second session
US11379772B2 (en) * 2020-08-04 2022-07-05 Nice Ltd. Systems and methods for analyzing computer input to provide suggested next action for automation
US11763228B2 (en) * 2021-04-06 2023-09-19 Nice Ltd. Systems and methods for analyzing and connecting automation sequences
US11934416B2 (en) 2021-04-13 2024-03-19 UiPath, Inc. Task and process mining by robotic process automations across a computing environment
CN115048282B (zh) * 2022-08-15 2022-10-25 北京弘玑信息技术有限公司 重复操作的提取方法及电子设备、存储介质
CN115878081B (zh) * 2023-02-23 2023-05-16 安徽思高智能科技有限公司 一种基于流程发现的高价值rpa需求分析系统
CN117103283B (zh) * 2023-10-22 2023-12-19 深圳博创机器人技术有限公司 一种多功能机械臂的反馈控制方法及装置
CN117350681B (zh) * 2023-12-04 2024-03-08 尚恰实业有限公司 一种基于rpa机器人共享中心的自动审批方法及系统
CN117406972B (zh) * 2023-12-14 2024-02-13 安徽思高智能科技有限公司 基于拟合度分析的rpa高价值流程实例发现方法及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8170901B2 (en) * 2004-10-01 2012-05-01 Microsoft Corporation Extensible framework for designing workflows
US20170060108A1 (en) 2010-05-26 2017-03-02 Automation Anywhere, Inc. Roi based automation recommendation and execution
EP3112965A1 (en) * 2015-07-02 2017-01-04 Accenture Global Services Limited Robotic process automation
EP3133539A1 (en) 2015-08-19 2017-02-22 Tata Consultancy Services Limited Method ans system for process automation in computing
US20170372442A1 (en) * 2016-06-23 2017-12-28 Radicalogic Technologies, Inc. Healthcare workflow system
US10339027B2 (en) * 2016-09-06 2019-07-02 Accenture Global Solutions Limited Automation identification diagnostic tool
US10401839B2 (en) * 2016-09-26 2019-09-03 Rockwell Automation Technologies, Inc. Workflow tracking and identification using an industrial monitoring system
US10613838B2 (en) 2016-10-26 2020-04-07 Soroco Private Limited Systems and methods for discovering automatable tasks
US20190205792A1 (en) * 2016-11-02 2019-07-04 Intel Corporation Automated generation of workflows
US11157855B2 (en) 2017-01-09 2021-10-26 Sutherland Global Services Inc. Robotics process automation platform
US10726038B2 (en) 2017-05-24 2020-07-28 MphasiS Limited System and method for optimizing aggregation and analysis of data across multiple data sources
US11282035B2 (en) * 2017-06-21 2022-03-22 Accenture Global Solutions Limited Process orchestration
US20190155225A1 (en) 2017-11-21 2019-05-23 Accenture Global Solutions Limited Bot management framework for robotic process automation systems
US11017180B2 (en) * 2018-04-18 2021-05-25 HelpShift, Inc. System and methods for processing and interpreting text messages
US20190324781A1 (en) * 2018-04-24 2019-10-24 Epiance Software Pvt. Ltd. Robotic script generation based on process variation detection
US11403201B2 (en) * 2018-08-08 2022-08-02 Atos France Systems and methods for capture and generation of process workflow
US11281936B2 (en) * 2018-12-31 2022-03-22 Kofax, Inc. Systems and methods for identifying processes for robotic automation and building models therefor

Also Published As

Publication number Publication date
EP3948722A1 (en) 2022-02-09
US20210086354A1 (en) 2021-03-25
US11433536B2 (en) 2022-09-06
EP3948722A4 (en) 2023-01-04
KR20220062228A (ko) 2022-05-16
WO2021055674A1 (en) 2021-03-25
CN113950665A (zh) 2022-01-18

Similar Documents

Publication Publication Date Title
US11433536B2 (en) Process understanding for robotic process automation (RPA) using sequence extraction
US11541548B2 (en) Artificial intelligence-based process identification, extraction, and automation for robotic process automation
US11571811B2 (en) Process evolution for robotic process automation and workflow micro-optimization
US11836626B2 (en) Artificial intelligence layer-based process extraction for robotic process automation
US11650874B2 (en) Anomaly detection and self-healing for robotic process automation via artificial intelligence / machine learning
KR20220156737A (ko) 문서 이해를 위한 데이터 증강용 시스템 및 방법
CN114008609A (zh) 使用截屏图像进行序列提取
CN116508037A (zh) 使用人工智能/机器学习模型确定交互的序列、流程提取和机器人生成
CN115474440A (zh) 通过机器人过程自动化跨计算环境进行任务和过程挖掘
CN116324697A (zh) 用于机器人过程自动化的用户接口(ui)映射器
US11797770B2 (en) Self-improving document classification and splitting for document processing in robotic process automation
US20220100964A1 (en) Deep learning based document splitter
Snineh et al. Real-Time management model for frequent Big Data errors: Automatic Clean Repository for Big Data (ACR)
EP4187452A1 (en) Machine learning based entity recognition

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240412