JP2023021467A - 機械学習に基づくエンティティ認識 - Google Patents
機械学習に基づくエンティティ認識 Download PDFInfo
- Publication number
- JP2023021467A JP2023021467A JP2022122501A JP2022122501A JP2023021467A JP 2023021467 A JP2023021467 A JP 2023021467A JP 2022122501 A JP2022122501 A JP 2022122501A JP 2022122501 A JP2022122501 A JP 2022122501A JP 2023021467 A JP2023021467 A JP 2023021467A
- Authority
- JP
- Japan
- Prior art keywords
- recognition engine
- entities
- documents
- model
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Marketing (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Economics (AREA)
- Mathematical Physics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Character Discrimination (AREA)
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Abstract
【課題】精度の向上とターンアラウンドタイムの短縮による文書処理の改善および最適な効率を得るシステム及び方法を提供する。【解決手段】コンピューティングシステムは、システムメモリおよびプロセッサを含む。システムメモリは、認識エンジンのためのプロセッサ遂行可能命令を格納する。プロセッサは、システムメモリに結合され、プロセッサ遂行可能命令を遂行して、コンピューティングシステムに、ワークフローの文書から特定される複数のベースラインエンティティを定義させ、1または複数の文書をデジタル化して、対応するドキュメントオブジェクトモデルを生成させる。認識エンジンは、コンピューティングシステムに、対応するドキュメントオブジェクトモデルおよびタグ付きファイルを入力として使用することによってモデルを訓練させ、モデルを使用して、ターゲット文書から複数のターゲットエンティティを決定させる。【選択図】図2
Description
本明細書における開示は、ロボティックプロセスオートメーション(RPA)の分野に関し、特に、RPAに関する機械学習(ML)ベースのエンティティ認識に関する。
一般に、文書はさまざまな方法で構造化され得る。例えば、保険金請求プロセスの文書は、フィールドレイアウト(抽出され得る文書内にフィールドが様々に配置されている)、コンテンツおよび詳細構造、キーワードのバリエーション(すなわち、保険会社によって異なる)等を含み得る。従来の予め定義された抽出子は、文書のバリエーションが多く、その中のレイアウト、構造、バリエーション等(例えば、文書が構造化される方法の数)から、正確かつ正しく一貫して文書を評価することができない。したがって、現状では、人が手動で文書、レイアウト、構造、バリエーションなどを評価し、論理的な意味を決定し、関連するフィールドを抽出している。手作業による文書の評価(および検証)は、時間がかかり、エラーが発生しやすく、いずれもさらなる文書処理を遅らせ得る。ターンアラウンドタイムを短縮することで文書処理を改善し、かつ効率を最適化する必要がある。
1または複数の実施形態によると、システムは、メモリおよび少なくとも1つのプロセッサを含む。メモリは、認識エンジンのためのプロセッサ遂行可能命令を格納する。少なくとも1つのプロセッサは、メモリに結合され、システムに、プロセッサ遂行可能命令を遂行して、システムに、ワークフローにおいて1または複数の文書から特定される複数のベースラインエンティティを定義させ、1または複数の文書をデジタル化して、1または複数の対応するドキュメントオブジェクトモデルを生成させる。認識エンジンはさらに、システムに、1または複数の対応するドキュメントオブジェクトモデルおよびタグ付きファイルを入力として使用することによってモデルを訓練させ、モデルを使用して、1または複数のターゲット文書から複数のターゲットエンティティを決定させる。
1または複数の実施形態によると、上記のコンピューティングシステムの実施形態は、方法、装置、デバイス、および/またはコンピュータプログラム製品として実装され得る。
より詳細な理解は、図中の類似の参照数字が類似の要素を示す、添付の図面との関連で例示的に与えられた以下の説明から得られ得る。
(詳細な説明)
本明細書で開示されるのは、MLベースのエンティティ認識およびRPAエンジン(「認識エンジン」)である。認識エンジンは、文書処理のためのソフトウェアおよび/またはハードウェアを含む。より詳細には、認識エンジンは、文書に関する堅牢かつ効率的なカスタム固有表現認識、およびその予測されたエンティティを表示するためのソフトウェアおよび/またはハードウェアを含む。認識エンジンは、ハードウェアおよびソフトウェア(例えば、ハードウェアに必然的に根付いたプロセッサ遂行可能コード)の組み合わせによって、コンピューティングシステムに実装され得る。
本明細書で開示されるのは、MLベースのエンティティ認識およびRPAエンジン(「認識エンジン」)である。認識エンジンは、文書処理のためのソフトウェアおよび/またはハードウェアを含む。より詳細には、認識エンジンは、文書に関する堅牢かつ効率的なカスタム固有表現認識、およびその予測されたエンティティを表示するためのソフトウェアおよび/またはハードウェアを含む。認識エンジンは、ハードウェアおよびソフトウェア(例えば、ハードウェアに必然的に根付いたプロセッサ遂行可能コード)の組み合わせによって、コンピューティングシステムに実装され得る。
認識エンジンの1または複数の技術的効果、利点、および利益は、精度の向上とターンアラウンドタイムの短縮による文書処理の改善、および最適な効率の提供を含む。
本明細書で説明される認識エンジンとは対照的に、本明細書で説明される予め定義された抽出子などの従来の文書処理は、文書から最小数(例えば、18の予め定義されたフィールド)のさまざまなフィールドを抽出するために、特定のデータセットで訓練される。これらのデータセットは、MLおよび/またはユーザー入力によってもフィードバックに対応できない。さらに、従来の文書処理は、これらの異なるフィールドが文書内で明確に定義されている場合にのみ機能する。例えば、従来の文書処理では、「$30 million(ミリオン)」と「$30m」を含む2つの「お金」エントリを区別できなかっただろう。さらに、「$30 million」が「お金」フィールドとして正しく特定されて文書から抽出されたとしても、「$30m」が誤って抽出されたり、または別のフィールドとして誤分類され得る。
従来の文書処理の予め定義された抽出子の例として、正規表現抽出子は、誤判定が増加する可能性が高くなる。この点で、ポリシー番号が正規表現基準で定義されている場合、文書のフッターの番号が正規表現基準を満たし、抽出され得よう。明らかに、これによりいくつかの誤ったデータが抽出され、誤ったデータを消去するために必要な任意の手動の作業が増えることになろう。
従来の文書処理の予め定義された抽出子の別の例として、キーワードベースの抽出子は、フィールド定義が異なる文書全体で同じままである場合に機能するはずである。しかし、実際の経験に基づくと、これは決して当てはまらない。さらに、キーワードに多数のバリエーションが存在する場合、キーワードベースの抽出子も失敗する。
従来の文書処理の予め定義された抽出子の別の例として、位置ベースの抽出子は、通常、すべての文書でフィールド位置が一定のままである場合に機能する。しかし、半構造化文書と非構造化文書では、フィールドの位置が一定に保たれることはない。そのため、フィールドの位置が異なると、位置ベースの抽出子が最適でなくなるか、または場合によっては使用できなくなる。
したがって、本明細書に記載されている予め定義された抽出子などの従来の文書処理は、文書形式、誤判定抽出、キーワードのバリエーション、フィールド位置の変更などにより、ワークフローでの訓練が有効にならない。
1または複数の実施形態によると、認識エンジンは、従来の文書処理の欠陥を克服し、ロボティックプロセスオートメーションおよび/またはユーザーがモデルを訓練する前にフィールドのエンティティにタグ付けする、カスタムかつダイナミックな固有表現認識(NER)フレームワークを提供することによって、精度の向上、ターンアラウンド時間の短縮、および最適な効率性を提供する。例えば、認識エンジンは、機能拡張アルゴリズム(feature enhanced algorithm)(例えば、カスタム特徴(feature)を備えた条件付きランダムフィールド(CRF)アルゴリズムなど)にカスタムおよびダイナミックなNERフレームワークを実装して、対象のフィールドまたはエンティティを特定して抽出する。このように、認識エンジンは、ワークフロー内の文書から特定されるフィールドまたはエンティティを定義し、文書をデジタル化してドキュメントオブジェクトモデル(DOM)を取得する。さらに、認識エンジンは、タグ付きファイルを取得するための認識エンジンの検証ステーションなどで、対象の各フィールドまたはエンティティを手動でマークするユーザー入力をマークおよび/または受信するためにRPAを利用し得る。DOMおよびタグ付きファイル(例えば、検証ステーションからの出力として取得される)は、訓練用の機能拡張アルゴリズムを使用して認識エンジンのモデルに供給される。文書全体にわたる単語、文字などの特徴が抽出されてモデルが訓練され、後で認識エンジンの人工知能(AI)センターに展開される。続いて、ランタイムに、認識エンジンがML/AIサービスとアクティビティを使用して、ターゲット文書からフィールドを決定(例えば、予測および/または抽出)する。ターゲット文書の予測されたフィールドに関して、認識エンジンは、RPAまたはユーザーによる検証ステーションでの予測されたフィールドの自動レビューを可能にすることができる信頼メトリックを決定し得る(例えば、フィールドが欠けている場合、信頼メトリックは0であってもよく、一方、予測されたフィールドが正しく一致しない場合、信頼メトリックは0と1の間の値であり得る)。検証ステーションに関するすべてのフィードバックが保存され、後でフィードバックループの一部として使用されて、認識エンジンのモデルを再訓練し得る。このように、認識エンジンは、文書、エンティティ、およびデータの多段階のデータ操作を含み、従来の文書処理では得られなかった、コストの削減、時間効果の向上、ダイナミックなカスタマイズの提供、および広い範囲の適用を可能にするという1または複数の技術的効果、利点、および利益を提供する。
図1は、1または複数の実施形態によるロボティックプロセスオートメーション(RPA)の開発、設計、動作、および/または遂行を示す環境100を示す図である。環境100は、1または複数のコンポーネントを含む設計およびデプロイメントコンピューティングプラットフォームであり得る。環境100の1または複数のコンポーネントのそれぞれについて単一のブロックが示されているが、その単一のブロックは、そのコンポーネントの1または複数を代表するものであることに留意されたい。
示されるように、環境100は、MLベースのエンティティ認識およびRPAエンジン(「認識エンジン」)111をさらに含むデザイナ110を含み得る。認識エンジン111は、1もしくは複数のドライバコンポーネント128および/または内部エンジン129を使用して、1もしくは複数のアクティビティ124を実行し、および/または1もしくは複数のユーザーインターフェース(UI)オートメーション126を提供する1または複数のロボット(例えば、ロボット122)を生成するスタジオコンポーネントまたはモジュール(「スタジオ」)120を含み得る。また、ロボット122は、デザイナ110内の他のドライバコンポーネント131およびモジュール132と同様に係合し得る。さらに、環境100は、認識エンジン111および/またはロボット122をダウンロード/取得/送信し得る、コンダクタ140およびエグゼキュータ170を含み得、その結果、示されるように、アンアテンディッドロボット174、アテンディッドロボット178、およびエグゼキュータ170の認識エンジン111の別個のインスタンスなど、1つまたは両方が環境100に提供され得る。
デザイナ110、コンダクタ140、およびエグゼキュータ170は、ハードウェア、ソフトウェア、またはそれらの組み合わせを含む、コンピューティングデバイス、コンピューティング装置、および/またはコンピューティングシステムを代表する。デザイナ110、コンダクタ140、およびエグゼキュータ170、ならびにその上の任意のソフトウェア(例えば、認識エンジン111)は、ユーザーまたはオペレータとインタラクションして、入力を受信し、出力を提供するように構成される。一例では、エグゼキュータ170は、モバイルコンピューティングおよび/もしくはモバイルデバイス環境であるか、またはそれらを実装し得る。
1または複数の実施形態によると、デザイナ110は、スタジオプラットフォーム、開発プラットフォーム、および/またはオンラインプラットフォームと呼ばれ得る。デザイナ110は、1または複数のエンジン(例えば、認識エンジン111)、開発環境(例えば、スタジオ120)、サブプログラム(例えば、本明細書に記載の検証ステーション180および/またはモデル185)などを含み得、ロボット(例えば、1または複数のロボット122、アンアテンディッドロボット174、およびアテンディッドロボット178)が、文書処理(例えば、1もしくは複数のアクティビティ124、および/または1もしくは複数のUIオートメーション126を提供する)を実行または自動化するために、コード、命令、コマンドまたは同様のものを生成するように構成され得る。
認識エンジン111は概して、ロボティックプロセスオートメーションを実装するソフトウェアおよび/またはハードウェアである。これに関連して、認識エンジン111は、環境100内での認識エンジン111のスケーラビリティおよびポータビリティを説明するために、点線のボックスとして詳述される。さらに、1または複数の実施形態によると、認識エンジン111は、カスタムかつダイナミックなNERフレームワーク179など、スタジオ120内でコードを自動的に実装し、ロボット122を設計するフレームワーク/メカニズム(例えば、環境100)を提供し得るまたはその一部であり得る。図1に示すように、カスタムかつダイナミックなNERフレームワーク179は、検証ステーション180、モデル185、機能拡張アルゴリズム190、およびAIセンター195を含み得、かつ/またはそれらと統合され得る。
検証ステーション180は、ユーザーおよび/またはRPAがエンティティマッチ、特徴抽出などをレビューおよび/または検証するためのGUIサブプログラムであり得る。例えば、検証ステーション180は、エンティティマーキングのためにAIセンター195とさらに統合する1または複数のサブソフトウェアモジュール(例えば、インテリジェントドキュメントアクティビティサブソフトウェアモジュールおよびデータラベリングサブソフトウェアモジュール)を提供し得る。例えば、インテリジェントドキュメントアクティビティおよびデータラベリングサブソフトウェアモジュールは、文書をデジタル化し、文書を分類し、自動分類を検証し、分類子を訓練し、文書からデータを抽出し、自動データ抽出結果を検証し、抽出子を訓練し、抽出された情報をエクスポートする等の検証ステーション180の一部であり得る。
モデル185は、概念的、データ的、論理的、および/または物理的モデリングを介して、エンティティ間の関係を見出すためにエンティティの意味を表現/導出する機械学習サブプログラムであり得る。
機能拡張アルゴリズム190は、文書からの特徴の生成に関する一連の統計的仮定を具現化する統計的数学モデルであり得る。特徴は、認識エンジン111が、例えばスタジオ120内で利用可能にされたエンティティを特定し、抽出できるように、カスタマイズ可能であり得る。機能拡張アルゴリズム190の例は、文脈的機械学習のために適用され、構造化された予測のために使用されるカスタム特徴を有するCRFアルゴリズムを含む。カスタムかつダイナミックなNERフレームワークは、ロボティックプロセスオートメーションおよび/またはユーザーがモデル185を訓練する前にフィールドのエンティティにタグ付けすることも可能にし得る。
AIセンター195は、少なくともモデル185およびそこから生成される特徴に基づいて、エンティティおよび関係を抽出および/または予測するAIサブプログラムであり得る。
また、認識エンジン111は、開発者および/またはオーケストレータ(例えば、ユーザーまたはオペレータ)が、スタジオ120を介してなど、ロボット122をコード化、プログラム化、および/または設計することを可能にし得る。実施形態では、スタジオ120は、サードパーティアプリケーション、管理情報技術(IT)タスク、および/またはビジネスITプロセスの自動化とともに、アプリケーション統合を提供し得る。一般的に、認識エンジン111は、現在キャプチャされた画像に対する既知のキャプチャ画像(例えば、小さな写真)のセットを見て、シーケンスを揃え、それに一致するものがあるかどうかを決定し、一致したものを支持して提示するロボットインテリジェンスを含み得る。同様に、認識エンジン111は、ワークフローにおいて文書から特定されるエンティティを定義し、文書をデジタル化し、(検証ステーション180から)マークを付け、および/またはマークを受信し、機能拡張アルゴリズム190を用いてモデル185に供給するロボットインテリジェンスを含み得る。
ロボット122(ならびにアンアテンディッドロボット174およびアテンディッドロボット178)は、1または複数のワークフロー(例えば、1もしくは複数のアクティビティ124によって部分的に表され、および/または1もしくは複数のUIオートメーション126を提供する)を実行および/または自動化し得るアプリケーション、アプレット、スクリプトなどであり得る。ワークフロー(例えば、RPAワークフロー)には、タスクシーケンス、フローチャート、有限状態マシン(FSM)、グローバル例外ハンドラ、透過的なUIなどが含まれ得るが、これらに限定されない。タスクシーケンスは、1または複数のアプリケーションまたはウィンドウ間の線形タスクを処理するための線形プロセスであり得る。フローチャートは、複雑なビジネスロジックを扱うように構成され得、複数の分岐ロジックオペレータを介して、より多様な方法で意思決定の統合およびアクティビティの接続を可能にする。FSMは、大規模なワークフロー用に構成され得る。FSMは、条件、遷移、アクティビティなどによってトリガされ得る有限数の状態をそれらの遂行中に使用し得る。グローバル例外ハンドラは、プロセスのデバッグプロセスなどのために、遂行エラーが発生したときのワークフローの挙動を判断するように構成され得る。透過的なUIは、基礎となるオペレーティングシステム(OS)またはハードウェアに対するソフトウェア動作であり得る。1または複数ワークフローによって達成され得る動作の非限定的な例としては、ログインの実行、フォームへの入力、情報技術(IT)管理などのうちの1または複数であり得る。UIオートメーションおよび/または文書処理のためのワークフローを実行するために、ロボット122は、アプリケーションのアクセスまたはアプリケーションの開発に関係なく、ボタン、チェックボックス、テキストフィールド、ラベルなどの特定の画面要素を一意に特定する必要があり得る。アプリケーションアクセスの例としては、ローカル、仮想、リモート、クラウド、Citrix(登録商標)、VMWare(登録商標)、VNC(登録商標)、Windows(登録商標)リモートデスクトップ、仮想デスクトップインフラストラクチャ(VDI)などがあり得る。アプリケーション開発の例としては、win32、Java、Flash、ハイパーテキストマークアップ言語(HTML)、HTML5、拡張可能なマークアップ言語(XML)、JavaScript、C#、C++、Silverlightなどであり得る。
1または複数の実施形態によると、開発時に、ロボット122は、デザイナ110(例えば、スタジオ120)で/により作製され得る。さらに、展開時には、ロボット122は、コンダクタ140(例えば、認識エンジン111内)で/により、管理、制御、構成などされ得る。また、展開時に、ロボット122は、エグゼキュータ170内で遂行され得る。一例では、ユーザーまたはオペレータによって、ユーザー入力(例えば、ディスプレイ上の選択)がデザイナ110に提出され得る。デザイナ110がロボット122に提供し得る選択から、ロボット122は、(例えば、ユーザーまたはオペレータによって選択された)ビジュアルディスプレイの領域(複数可)の代表データを決定し得る。RPAの一環として、コンピュータビジョン(CV)動作および/またはモデル185に関連して、(例えば、四角、長方形、円、多角形、自由形などの)多次元の形状はUIロボットの開発およびランタイムに利用され得る。
1または複数の実施形態によると、UIオートメーション126は、その中のドライバ128を使用してロボット122によって実行され得、認識エンジン111は、モジュール130(例えば、CVアクティビティモジュールまたはエンジン)を使用してアクティビティを実行し得る。ドライバコンポーネント132は、UIの要素を取得するために、ロボット122によるUIオートメーションのために利用され得る。同様に、ドライバコンポーネント132は、ロボット122による文書処理に利用されて、文書のエンティティを取得、決定、および/または予測し得る。ドライバコンポーネント132は、限定されないが、OSドライバ、ブラウザドライバ、仮想マシンドライバ、エンタープライズドライバなどを含み得る。特定の構成では、モジュール130は文書処理のために使用されるドライバであり得る。さらに、ロボット122によるこれらのアクションのいずれも、アンアテンディッドロボット174、アテンディッドロボット178、および/またはエグゼキュータ170の認識エンジン111の別個のインスタンスを介してなど、クライアント上で実装され得る。
コンダクタ140は、メインフレーム、ウェブ、仮想マシン、リモートマシン、仮想デスクトップ、エンタープライズプラットフォーム、オンラインプラットフォーム、デスクトップアプリ(複数可)、ブラウザ、またはそのようなクライアント、アプリケーション、もしくはプログラムにおいてワークフローを遂行または監視するようにロボット122、174、および178またはエグゼキュータ170に命令または指示し得る。コンダクタ140は、コンピューティングプラットフォーム(例えば、環境100)を自動化するために1または複数のロボット(例えば、ロボット122、174および178)を指示または命令するための中央または半中央点として機能し得る。
1または複数の実施形態によると、コンダクタ140は、プロビジョニング、展開、構成、キューイング、監視、ロギング、および/または相互接続性を提供するように構成され得る。プロビジョニングは、1または複数のロボット、エグゼキュータ170、およびコンダクタ140との間の接続または通信の作製および維持を含み得る。展開は、遂行のために割り当てられたロボットへのパッケージバージョンの配信を保証することを含み得る。構成は、ロボット環境およびプロセス構成の維持および配信を含み得る。キューイングは、キューおよびキュー項目の管理を提供することを含み得る。監視は、ロボットの特定データを追跡し、ユーザーの権限を維持することを含み得る。ロギングは、データベース(例えば、SQLデータベース)および/または別のストレージメカニズム(例えば、大規模なデータセットを格納し、迅速にクエリを実行する能力を提供するElasticSearch(登録商標))へのログの保存およびインデックス作成を含み得る。コンダクタ140は、サードパーティのソリューションおよび/またはアプリケーションのための通信の集中点として操作することにより、相互接続性を提供し得る。
1または複数の実施形態によると、1または複数のロボットおよびエグゼキュータ170は、アンアテンディッドロボット174および/またはアテンディッドロボット178として構成され得る。アンアテンディッド動作の場合、アンアテンディッドロボット174による自動化は、サードパーティの入力または制御なしで実行され得る。アテンディッド動作の場合、アテンディッドロボット178による自動化は、第三者のコンポーネントから入力、コマンド、命令、ガイダンスなどを受信することによって実行され得る。アンアテンディッドロボット174および/またはアテンディッドロボット178は、モバイルコンピューティングまたはモバイルデバイス環境上で実行または遂行し得る。
1または複数の実施形態によると、1または複数のロボットおよびエグゼキュータ170は、デザイナ110で構築されたワークフローを実行する遂行エージェントとして構成され得る。UIまたはソフトウェアの自動化のためのロボット(複数可)の商業的な例としては、UiPath Robots(商標)がある。いくつかの実施形態では、1または複数のロボットおよびエグゼキュータ170は、Microsoft Windows(登録商標) Service Control Manager(SCM)管理サービスをデフォルトでインストールし得る。その結果、そのようなロボットは、ローカルシステムアカウントの下でインタラクティブなWindows(登録商標)セッションを開くことができ、Windows(登録商標)サービスの権利を持ち得る。
1または複数の実施形態によると、1または複数のロボット、検証ステーション180およびエグゼキュータ170は、ユーザーモードでインストールされ得る。例えば、1または複数のロボットは、所定のロボットが設置されているユーザーと同じ権利を持ち得る。この特徴は、高密度(HD)環境などで最大のパフォーマンスで各マシンを完全に利用できるようにする高密度(HD)ロボットでも使用可能であり得る。
1または複数の実施形態によると、1または複数のロボットおよびエグゼキュータ170は、それぞれが特定の自動化タスクまたはアクティビティに特化したいくつかのコンポーネントに分割、分散などされ得る。ロボットコンポーネントには、SCM管理ロボットサービス、ユーザーモードロボットサービス、エグゼキュータ、エージェント、コマンドラインなどが含まれ得る。SCM管理ロボットサービスは、Windows(登録商標)セッションを管理または監視し得、コンダクタ140と遂行ホスト(すなわち、1または複数のロボットが遂行されるコンピューティングシステム)との間のプロキシとして動作し得る。これらのサービスは、1または複数のロボットおよびエグゼキュータ170のための資格情報を信頼し、管理し得る。ユーザーモードロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ140と遂行ホストとの間のプロキシとして機能し得る。ユーザーモードロボットサービスは、ロボットの資格情報を任されて管理し得る。SCM管理ロボットサービスがインストールされていない場合、Windows(登録商標)アプリケーションが自動的に起動され得る。一例では、エグゼキュータ170は、Windows(登録商標)セッションの下で与えられたジョブを遂行し得(例えば、それらが本明細書に記載されるワークフローを遂行し得る)、モニタ毎のドットパーインチ(DPI)設定を認識し得る。エージェントは、システムトレイウィンドウに利用可能なジョブを表示するWindows(登録商標) Presentation Foundation(WPF)アプリケーションであり得る。エージェントはサービスのクライアントとなり得る。エージェントは、ジョブの開始または停止、設定の変更を依頼し得る。コマンドラインはサービスのクライアントとなり得る。コマンドラインは、ジョブの開始を要求し、その出力を待つことができるコンソールアプリケーションである。
1または複数の実施形態によると、1もしくは複数のロボットおよび/またはエグゼキュータ170のコンポーネントが分割される構成は、開発者、サポートユーザー、およびコンピューティングシステムが、各コンポーネントによる実行、特定、および追跡遂行をより容易に行うのに役立つ。この方法では、エグゼキュータ170とサービスに異なるファイアウォールルールを設定するなど、コンポーネントごとに特別な挙動を構成し得る。エグゼキュータ170は、いくつかの実施形態では、モニタごとのDPI設定を認識し得る。その結果、ワークフローは、ワークフローが作成されたコンピューティングシステムの構成に関係なく、いずれかのDPIで遂行し得る。また、デザイナ110からのプロジェクトは、ブラウザのズームレベルに依存しないようにし得る。DPIを認識していないまたは意図的に認識していないとマークされているアプリケーションの場合、いくつかの実施形態ではDPIを無効にし得る。
次に図2に目を向けると、1または複数の実施形態によるコンピューティングシステム200が示される。コンピューティングシステム200は、ハードウェア、ソフトウェア、またはそれらの組み合わせ(例えば、図1の認識エンジン111、デザイナ110、コンダクタ140、およびエグゼキュータ170をサポートするハードウェア)を含む、任意のコンピューティングデバイス、コンピューティング装置、および/またはコンピューティング環境の代表であり得る。さらに、開示されたコンピューティングシステム200の実施形態は、任意の可能な技術的詳細レベルの統合の装置、システム、方法、および/またはコンピュータプログラム製品を含み得る。
コンピューティングシステム200は、1または複数の中央処理装置(CPU(複数可))を有するデバイス205(例えば、図1のデザイナ110、コンダクタ140、およびエグゼキュータ170)を有し、これらは、集合的または一般的にプロセッサ210と呼ばれる。プロセッサ210は、処理回路とも呼ばれ、システムバス215を介して、システムメモリ220および様々な他のコンポーネントに結合される。コンピューティングシステム200および/またはデバイス205は、オンラインプラットフォーム、サーバー、組み込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングデバイス、クラウドコンピューティングデバイス、モバイルデバイス、スマートフォン、固定型モバイルデバイス、スマートディスプレイ、ウェアラブルコンピュータなどとして実行するように適合または構成され得る。
プロセッサ210は、中央処理ユニット(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックス処理ユニット(GPU)、コントローラ、マルチコア処理ユニット、3次元プロセッサ、量子コンピューティングデバイス、またはそれらの任意の組み合わせを含む、任意のタイプの一般的または特定用途プロセッサであり得る。プロセッサ210はまた、複数の処理コアを有してもよく、コアの少なくとも一部は、特定の機能を実行するように構成され得る。また、マルチパラレル処理が構成され得る。さらに、少なくともプロセッサ210は、生物学的ニューロンを模倣する処理要素を含むニューロモーフィック回路であり得る。プロセッサ210はまた、コンピューティングシステム200にわたるクラウド処理を表し得る。
バス215(他の通信メカニズム)は、プロセッサ210、システムメモリ220、ならびにアダプタ225、226、および227などの様々な他のコンポーネントに情報またはデータを通信するために構成される。
システムメモリ220は、(非一時的な)コンピュータ読み取り可能なストレージ媒体の一例であり、ここで、リポジトリ229が配置/管理され得、および/または、ソフトウェア(例えば、認識エンジン230)が格納され得る。リポジトリ229は、データベース(例えば、SQLデータベース)および/または別のストレージメカニズムであり得る。1または複数の実施形態によると、リポジトリ229は、認識エンジン230によるアクセスのために、本明細書に記載されるような自動化および他のデータ(例えば、文書、エンティティ、信頼メトリック(confidence metric)、画像、セグメント、ハッシュ、ビデオ、フレーム、ソースデータ、ロボットビデオ、ソースコードなど)を含み得る。例えば、モデル(例えば、図1のモデル185)は、認識エンジン230の訓練段階中に構築され、リポジトリ229に格納され得る。これに関して、リポジトリ229は、モデルの訓練データとして、対象のフィールドまたはエンティティを特定および抽出するためのカスタム特徴を格納する。
認識エンジン230は、図3~7を参照して本明細書で説明したような、デバイス205を動作させるためにプロセッサ210が遂行するためのソフトウェアコンポーネント、モジュール、エンジン、命令などとして格納され得る。例えば、認識エンジン230は、ワークフロー内の1または複数の文書から特定される複数のベースラインエンティティを定義し、1または複数の文書をデジタル化して1または複数の対応するDOMを生成し、1または複数の対応するDOMおよびタグ付きファイル(例えば、タグ付きJavaScriptオブジェクト表記(JSON)ファイル)を入力として使用してモデル(例えば、リポジトリ229に格納)を訓練し、そして1または複数のターゲットドキュメントから複数のターゲットエンティティを決定する。複数のターゲットエンティティを決定するためのモデルによる特徴生成は、従来のキーワードベース、位置ベース、および/または正規表現ベースの抽出子には存在しない認識エンジン230の技術的効果および利点であることに留意されたい。
システムメモリ220は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、内部または外部フラッシュメモリ、エンベッディッドスタティック-RAM(SRAM:Embedded Static-RAM)、ソリッドステートメモリ、キャッシュ、磁気ディスクもしくは光ディスクなどの静的ストレージ、または任意の他のタイプの揮発性または不揮発性メモリの任意の組み合わせを含み得る。非一時的な読み取り可能なストレージ媒体は、プロセッサ210によってアクセス可能な任意の媒体であってもよく、揮発性媒体、不揮発性媒体などを含み得る。例えば、ROMは、システムバス215に結合され、デバイス205の特定の基本機能を制御するBIOS(Basic Input/Output System)を含み得、RAMは、プロセッサ210が使用するためにシステムバス215に結合された読み書き可能なメモリである。非一時的なコンピュータ読み取り可能なストレージ媒体は、着脱可能、着脱不可能などの任意の媒体を含み得る。
図1に関連して、図2の認識エンジン230は、メモリ220およびプロセッサ210がロボット122を論理的に設計/構成/提供することができるように、認識エンジン111およびその中のコンポーネントの代表であり得、ロボット122は、さらに1もしくは複数のアクティビティ124を実行し、および/または1もしくは複数のドライバコンポーネント128および/または内部エンジン129を使用して1または複数ユーザーインターフェース(UI)オートメーション126を提供する。図2の認識エンジン230はまた、コンピューティングシステム200のためのデバイス205用のオペレーティングシステムの代表であり得る。
1または複数の実施形態によると、認識エンジン230は、ハードウェア、ソフトウェア、またはハイブリッド実装に構成され得る。認識エンジン230は、互いに動作可能な通信を行い、情報または指示を渡すためのモジュールで構成され得る。1または複数の実施形態によると、認識エンジン230は、オペレーティングシステムもしくは他のアプリケーションに代わって、および/またはインテリジェントオートメーションエクスペリエンスを提供するために必要に応じて直接、1もしくは複数のユーザーインターフェースを提供し得る。ユーザーインターフェースは、限定されないが、インターネットブラウザ、グラフィックユーザーインターフェース、ウィンドウインターフェース、および/または、アプリケーション、オペレーティングシステム、ファイルフォルダなどのための他の視覚的インターフェースを含む。したがって、ユーザーアクティビティは、認識エンジン230によって提供されるユーザーインターフェースの任意のインタラクションまたは操作を含み得る。
認識エンジン230は、コンピューティングシステム200が追加の機能を含むことができるように、アプリケーション固有の処理またはその派生物を実行するためのカスタムモジュールをさらに含み得る。例えば、1または複数の実施形態によると、認識エンジン230は、動作231、232、233、および234を可能にするためにプロセッサ210によって遂行または処理される情報、命令、コマンド、またはデータを格納するように構成され得る。例えば、認識エンジン230は、コンピューティングシステム200に特定の構成およびツーリングロボティック文書処理方法を提供することができ、その結果、コンピューティングシステム200が、本明細書に記載の任意の他の動作/アクション(234)とともに、ワークフロー内の1または複数の文書から特定される複数のベースラインエンティティを定義し(231)、1または複数の文書をデジタル化して(232)、1または複数の対応するDOMを生成し、そして入力として1または複数の対応するDOMおよびタグ付きファイル(例えばタグ付きJSONファイル)を使用してモデルを訓練(233)し得る。他の動作/アクションは、機能拡張アルゴリズムの実装、対象のエンティティのマーキングの受信、誤分類および誤分割の含有などを含み得るが、これらに限定されない。例えば、認識エンジン230の1または複数のロボティックプロセスオートメーションは、特に、複数のベースラインエンティティを定義し(231)、1もしくは複数の文書をデジタル化し(232)、モデルを訓練し(233)、複数のターゲットエンティティを決定し(234)、またはさもなくば本明細書に記載の他の動作(234)を行い得る。
さらに、認識エンジン230のモジュールは、カスタムの超大規模集積(VLSI)回路またはゲートアレイ、ロジックチップ、トランジスタなどの既製の半導体、またはその他のディスクリートコンポーネントを含むハードウェア回路として、プログラム可能なハードウェアデバイス(例えば、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス)、グラフィックスプロセッシングユニットなどに実装され得る。認識エンジン230のモジュールは、様々なタイプのプロセッサにより遂行されるためのソフトウェアに少なくとも部分的に実装され得る。1または複数の実施形態によると、特定された遂行可能コードのユニットは、例えば、オブジェクト、プロシージャ、ルーチン、サブルーチン、または関数として編成されていてもよいコンピュータ命令の1または複数の物理的または論理的なブロックを含み得る。特定されたモジュールの遂行可能は、論理的に結合されるとモジュールを構成するように、異なる位置に共に配置されたり、格納されたりする。遂行可能なコードのモジュールは、単一の命令、1または複数のデータ構造、1または複数のデータセット、複数の命令などであり、複数の異なるコードセグメント、異なるプログラム間、複数のメモリデバイス間などに分散され得る。動作データまたは機能データは、認識エンジン230のモジュール内で特定され、ここで示されてもよく、任意の適切なタイプのデータ構造内で適切な形態で具現化され、組織化され得る。
図2のアダプタ225、226、および227に関して、デバイス205は特に、入力/出力(I/O)アダプタ225、デバイスアダプタ226、および通信アダプタ227を含み得る。1または複数の実施形態によると、I/Oアダプタ225は、周波数分割多元接続(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)、または、通信用のいずれかの他の無線もしくは有線のデバイス/トランシーバに照らして、スモールコンピュータシステムインターフェース(SCSI:small computer system interface)として構成され得る。デバイスアダプタ226は、ディスプレイ241、キーボード242、制御デバイス243など(例えば、カメラ、スピーカなど)の入/出力デバイスをシステムバス215に相互接続する。
通信アダプタ226は、システムバス215を、外部ネットワークであり得るネットワーク250と相互接続し、デバイス205が他のそのようなデバイス(例えば、ローカルコンピューティングデバイス255、さらにはネットワーク260を介したリモートコンピューティングシステム256など)とデータを通信できるようにする。一実施形態では、アダプタ225、226、および227は、中間バスブリッジを介してシステムバス215に接続される1または複数のI/Oバスに接続され得る。ハードディスクコントローラ、ネットワークアダプタ、およびグラフィックアダプタなどの周辺機器を接続するのに適したI/Oバスは、典型的には、ペリフェラルコンポーネントインターコネクト(PCI:Peripheral Component Interconnect)などの共通プロトコルを含む。
ディスプレイ241は、ユーザーがデバイス205とインタラクションする際に、認識エンジン230によってキャプチャされ得、分析する1または複数のUIまたはグラフィックUI(GUI)を提供するように構成される。ディスプレイ241の例は、限定されないが、プラズマ、液晶ディスプレイ(LCD)、発光ダイオード(LED)、電界放出ディスプレイ(FED)、有機発光ダイオード(OLED)ディスプレイ、フレキシブルOLEDディスプレイ、フレキシブル基板ディスプレイ、投影ディスプレイ、4Kディスプレイ、高解像度(HD)ディスプレイ、Retina(著作権)ディスプレイ、面内スイッチング(IPS)ディスプレイなどを含み得る。ディスプレイ241は、入力/出力(I/O)のために、当業者に理解されるように、抵抗性、静電容量性、表面音響波(SAW)静電容量性、赤外線、光学イメージング、分散信号技術、音響パルス認識、フラストレート全内部反射などを使用して、タッチ、3次元(3D)タッチ、マルチ入力タッチ、またはマルチタッチディスプレイとして構成され得る。
キーボード242と、コンピュータマウス、タッチパッド、タッチスクリーン、キーパッドなどの制御デバイス243とは、デバイス205への入力のために、システムバス215にさらに結合され得る。さらに、1または複数の入力は、それと通信している別のコンピューティングシステム(例えば、ローカルコンピューティングデバイス255および/またはリモートコンピューティングシステム256)を介して、リモートでコンピューティングシステム200に提供されてもよく、またはデバイス205が自律的に動作し得る。
1または複数の実施形態によると、認識エンジン230に関するデバイス205の機能はまた、認識エンジン230の別個のインスタンスによって表されるように、ローカルコンピューティングデバイス255および/またはリモートコンピューティングシステム256に実装され得る。1または複数の文書は、デバイス205、ローカルコンピューティングデバイス255、および/またはリモートコンピューティングシステム256に配置された共通のリポジトリ(例えば、リポジトリ229)に格納され得、デバイス205、ローカルコンピューティングデバイス255、および/またはリモートコンピューティングシステム256のそれぞれに、および/またはそこから(オンデマンドで)ダウンロードされ得ることに留意されたい。
次に図3に目を向けると、1または複数の実施形態による、1または複数のプロセッサによって遂行される方法300を示すブロック図である。より詳細には、方法300は、インテリジェントオートメーションエクスペリエンスに関する特定の構成およびツーリングロボティックプロセス文書処理方法を提供するための、本明細書に記載された認識エンジン(例えば、図1の認識エンジン111および/または図2の認識エンジン230)の例示的な実装である。
プロセスフロー300はブロック310で始まり、ここで、認識エンジンはRPAワークフロー内の文書から特定されるエンティティ(例えば、複数のベースラインエンティティ)を定義する。エンティティは、固定長または可変長の文字のシーケンスを含み得る任意のフィールド、インスタンス変数、データメンバー、メンバー変数などであり得る。エンティティの例は、名前、日付、額、年齢、アドレス、口座番号、性別、および髪の色を含み得るが、これらに限定されない。文書は概して、エンティティ、テキスト、画像、音声、動画などを含む、コンピュータで作成された任意のファイル(例えば、XMLファイルまたはHTMLファイル)である。RPAワークフローは、文書処理に関してRPAが実行する一連のタスクを含み得る。
1または複数の実施形態によると、認識エンジンは、タクソノミマネージャを介してRPAワークフローを構築し、(例えば、文書から特定される)エンティティを定義する。タクソノミマネージャは、エンティティのためのタクソノミ(すなわち、分類のシステム)を制御する。タクソノミマネージャは、プライベートまたは自己分類ツリーの任意の部分にカテゴリを追加し、エンティティをプライベートまたは自己分類ツリーのカテゴリにマッピングするルールをシームレスに作成し得る。
図4に目を向けると、1または複数の実施形態によるユーザーインターフェース400の例が示される。ユーザーインターフェース400は、RPAワークフローを構築するためのタクソノミマネージャGUIの一例である。ユーザーインターフェース400は、「文書タイプ」ウィンドウ410と「文書タイプの詳細」ウィンドウ420と、を含む。ウィンドウ410の動作は、新規文書タイプの追加431、文書タイプの検索433、グループによるフィルタ435、およびカテゴリによるフィルタ437を含む。さらに、ウィンドウ410において、検索結果439はクリック可能であり得る。ウィンドウ410における文書タイプの動作および選択は、ウィンドウ420におけるその文書タイプの詳細の編集を可能にする。例えば、選択された文書タイプについて、ウィンドウ420の動作は、名前(例えば、エンティティ)を定義451、グループ(例えば、電子メール抽出)を定義453、カテゴリ(例えば、署名)を定義455、文書タイプコード(これは、任意値であり得る)を定義457、新しいフィールドを追加472、保存474、およびキャンセル476を含む。ウィンドウ420のフィールドリスト480は、文書タイプのために作成されたすべてのフィールドを表示し得る。例えば、ファイルドリスト480は、代理店名、アドレス行1、アドレス行2、市、州/郡/県、郵便番号、代理店電話番号などを表示し得る。
例えば、ユーザーインターフェース400を介した文書タグ付けは、最初に文書グループ(453)、文書カテゴリ(455)、および文書タイプ(457)を定義することを含む。次に、新しいフィールドを追加することを選択することにより(472)、対象のエンティティがタグ付け/マーク付けされ得る。すべてのフィールド/エンティティが定義されると、文書タイプの詳細(例えば、タクソノミ)が保存474され得、方法はブロック330に進むことができる。タグ付けされた文書、およびそこで定義された複数のベースラインエンティティは、リポジトリ(例えば、図2のリポジトリ229)のタグ付けフォルダに保存474され得ることに留意されたい。
ブロック330において、認識エンジンは、文書をデジタル化する。1または複数の実施形態によると、文書をデジタル化することにより、対応するDOMおよび/または文書テキスト(例えば、機械エンコードされたテキストまたはテキストデータ)を生成する。DOMは、各ノードが文書部分を表すオブジェクトであるツリー構造として文書を表す、クロスプラットフォームおよび言語非依存のインターフェースであり得る。(ブロック310で)タクソノミが定義された後、タグ付けフォルダからの文書は、ユーザーインターフェースを介して選択され、デジタル化のために(認識エンジンに)送信され得ることに留意されたい。さらに、DOMおよび/または文書テキストは、ブロック350に関して説明したように、検証ステーション(例えば、図1の検証ステーション180)に(ユーザーまたはRPAが各フィールド/エンティティを特定しかつマークするために)提示され得る。さらに、DOMおよび/または文書テキストは、別々のファイルに保存され得、ブロック370に関して説明したように、モデル(例えば、図1のモデル185)を訓練するために提示され得る。
今、図5に目を向けると、1または複数の実施形態によるユーザーインターフェース500の例が示される。ユーザーインターフェース500は、任意のフォルダ(例えば、タグ付けフォルダ)から認識エンジンの光学的文字認識(OCR)または光学文字リーダーに文書を渡すためのデジタル化GUIの一例である。光学的文字認識(OCR)または光学文字リーダーは、文書(スキャンされた、または撮像されたなど)をDOMおよび/または文書テキストに電子的に変換することを提供することに留意されたい。ユーザーインターフェース500は、入力と出力とが選択され得るデジタル化文書メニューを含む。入力は、デジタル化される文書のドキュメントパスを選択する520メニューオプションを含む。出力は、文書テキスト(例えば、電子メールテキスト)を選択する540メニューオプションと、DOM(例えば、電子メールDOM)を選択する560メニューオプションと、を含む。遂行ボタン580は、デジタル化をトリガする。
ブロック350において、認識エンジンは、対象のエンティティをマークする。1または複数の実施形態によると、認識エンジンは、タグ付きファイル(例えば、タグ付きJSONファイル)を取得するために、DOM内の対象のエンティティのマーキングを受信し得る。マーキングは、正しく定義されたエンティティの特定であり得る。マーキングは、RPAまたはユーザー入力によって提供され得る。ユーザー入力に関して、検証ステーションと対話するユーザーは、DOMおよびタグ付きファイルを得るために、対象の各フィールド/エンティティを手動でマークし得る。すなわち、(例えば、数百またはそれ以上となり得る)一旦デジタル化された文書は、ユーザーがデータをマークするための関連データおよびフィールドとともに検証ステーションにロードされ得る。従来の予め定義された抽出子は、ブロック350のマーキングを実行することができないことに留意されたい。
図6に目を向けると、1または複数の実施形態によるユーザーインターフェース600の例が示される。ユーザーインターフェース600は、ウィンドウ605およびウィンドウ615を含む。ユーザーインターフェース600は、ウィンドウ605で単語619を選択し、ウィンドウ615の関連フィールドに単語を追加する例である。例えば、ウィンドウ615の関連フィールドは、文書タイプフィールド621、代理店フィールド623、代理店電話番号フィールド625、および代理店アドレスフィールド627を含み得る。順に、アドレスがウィンドウ605の単語619から選択される場合、そのアドレスは、代理店アドレスフィールド627に追加され得る。タグ付けが完了すると、保存ボタン661は、リポジトリの2つの異なるフォルダへのDOMおよびタグ付きデータファイルの両方の保存動作をトリガし得る。これらのフォルダは、ブロック370でフィールド/エンティティを特定するためにモデルを訓練するときに使用され得ることに留意されたい。
ブロック370において、認識エンジンは、DOMSおよびタグ付きファイルを入力として使用するなどして、モデルを訓練する。本明細書で説明されるように、モデルは、機能拡張アルゴリズムに構築されたカスタム固有表現認識フレームワークを実装し得る。一例では、(例えば、検証ステーションから得られる)DOMおよびタグ付きファイルは、訓練のためにCRFアルゴリズムを介して、認識エンジンによってモデルに供給される。さらに、タグ付き単語からの特徴は、モデルを訓練するために抽出され、後にAIセンターに展開され得る。
モデル学習を初期化するためのそれぞれの1または複数の実施形態によると、(例えば、100~500の文書の範囲から選択される)最小数の文書がタグ付けされる。さらに、認識エンジンは、DOMおよびタグ付きJSONファイルをソートして、単語を文書内のタグ付き単語と他の単語とに分離し得る。そして、各タグ付きJSONファイルがロードされ、タグ付きデータのバウンディングボックス座標が保存され得る。次に、DOMファイルがロードされ、バウンディングボックスの値、各単語の品詞データ、実際の単語、およびラベルが親リストにロードされる。すべてのファイルについて類似のデータがロードされたら、そのデータに対して特徴量エンジニアリングが実装される。次に、モデルを訓練するために、認識エンジンは、特徴に関して、機械学習ライブラリを用いたCRFまたは他のシーケンスラベリングアルゴリズムのパイプラインを実装する。
特徴は、各単語と、対象の単語の前後に来る「n」個の単語について抽出され得、「n」は設定可能な数である。認識エンジンは、対象の作業の前後の単語の重要性に応じて、対象の単語の前後にある1、2、または3個の単語を見ることができる。認識エンジンは、タグ付きデータがどのように定義されているか、対象の単語の前/後にある単語はどれか、そしてこれらの単語が特徴に関してどのように定義されているかを特定するために、テキスト文書で言及されているすべての単語に対して一連の特徴全体を実装することに留意されたい。特徴(例えば、カスタム特徴)の例は、一般化された単語クラス、短い単語クラス、ステマー、テキストケース、単語タイプ、品詞、電子メール、署名などを含み得る。
一般化された単語クラス特徴は、任意の大文字を「X」、小文字を「x」、数字を「0」、およびその他の文字を「O」にそれぞれマスタリングし得る。短い単語クラス特徴は、連続した大文字、小文字、数字、およびその他の文字を「X」、「x」、「0」、「O」にマッピングし得る。例えば、デジタル化1(Digitalization1)!は、一般された単語クラスの「Xxxxxxxxxxxxxx0O」と短い単語クラスの「Xx0O」を有し得る。
ステマー特徴は、各単語の語幹化された単語を抽出するランカスターステマーおよびポーターステマーを含み得る(例えば、playing、player、およびplay playの語幹化された単語)。テキストケース特徴は、小文字、大文字、およびタイトルを含み得る。単語タイプ特徴は、テキスト、英数字、および数字を含み得る。品詞特徴は、名詞、代名詞、動詞などを含み得る。
電子メール特徴は、文書が電子メールであるため、電子メールのヘッダー、電子メールの本文、および電子メールの署名などの部分/カテゴリに分割される場合を含み得る。次に、特定の単語が出現する場所に基づいて、その単語はこれらの部分/カテゴリのうちの1つに分類されるだろう。モデルは、対象のフィールド/エンティティが通常指定されている場所を学習し、付加価値のないエリア(廃棄物など)の場所を無視することをさらに学習する。認識エンジンは、将来のデータの抽出を支援するために、前処理形式でデータを象徴的に表し得る。
署名特徴は、認識エンジンの予め訓練されたモデルが署名を特定し、その署名を単語の特徴としてモデルに渡すことができるように、文書が人名、日付、組織名などの組み合わせを含む場合を含み得る。従来の予め定義された抽出子は、このような予め訓練されたモデルを利用できないことに留意されたい。渡されると、モデルはそのような単語が対象かどうかを学習し、そうである場合は、モデルは、他の特徴に基づいてそのような単語が通常どのように綴られるかを特定し、それらを抽出する。
ブロック380において、認識エンジンは、1または複数のターゲット文書から複数のターゲットエンティティを決定する。すなわち、リアルタイム動作またはランタイムにおいて、ターゲット文書からのフィールドは、認識エンジンで利用可能なML/AIサービスおよびアクティビティを使用して予測および抽出され得る。このようにして、認識エンジンは、従来の予め定義された抽出子の課題を克服する。
1または複数の実施形態によると、モデルが訓練されると、そのモデルは、認識エンジンのAIセンター上に展開される。ML/AIサービスおよびその中のアクティビティを使用して、モデルがロードされ、フィールド/エンティティ予測に使用され得る。さらに、認識エンジンは、異なるカテゴリ/特徴/エンティティ/フィールドに関する信頼メトリック(例えば、パーセンテージとして)を提供し得る。認識エンジンによる出力(例えば、複数のターゲットエンティティ)は、対応する信頼メトリックが閾値超(例えば、50%、60%、70%など)であればさらに処理され得、閾値未満またはその範囲内(例えば、30%~70%)であれば検証ステーションにロードされ得る。RPAおよび/またはユーザーは、出力を検証または修正し、その後、さらなる処理のために修正された出力を転送し得る。検証された出力はリポジトリの別々のディレクトリ/フォルダに保存され、フィードバックループの一部としてモデルの再訓練に使用され、任意の類似のターゲット文書がより高い確実性で処理されることを保証する(例えば、モデルがその後学習したことに基づいて)。
図7に目を向けると、1または複数の実施形態によるユーザーインターフェース700の例が示される。ユーザーインターフェース700は、ウィンドウ708およびウィンドウ712を含む検証ステーションの例である。ユーザーインターフェース600はさらに、ウィンドウ712で単語721を選択し、ウィンドウ708で各単語および信頼メトリックを表示する例である。各エンティティ7.31、733、735、737、739、741、および743には、モデルが予測した信頼度を示すパーセンテージが関連付けられている。
ブロック390で、認識エンジンは誤分類または誤分割を含む。誤分類は、エンティティまたはフィールドをグループまたはカテゴリに誤って割り当てるインスタンスを含む。誤分割は、電子メール特徴、署名特徴などを誤って分割するインスタンスを含む。
1または複数実施形態によると、正しい予測のための訓練中の信頼メトリックがガウス分布または正規分布に従うと仮定することによって、誤分類が制御され得る。さらに、信頼メトリックは、各予測に対して記録され得る。順に、各クラスに対して、ガウス分布を仮定して、認識エンジンは、信頼メトリックを使用して、分布の最小、最大、平均、および標準偏差を決定/計算する。場合によっては、新しい予測に関して、信頼メトリックは、事前に訓練されたモデルから取得され得る。
1または複数実施形態によると、誤分類または誤分割は、カットオフ値(例えば、本明細書で定義される閾値)により決定され得る。カットオフ値は、天井(例えば、平均または標準偏差)に等しくなり得、ここで、天井は、カットオフ値の最も近い整数への丸め込みである。信頼メトリックがカットオフ値より小さい場合、モデル予測は破棄され得、RPAまたはユーザーは、レビューおよび検証のために促され得る。
したがって、方法300は、文書の汎用パイプラインに対応できる(例えば、認識エンジンが予め訓練される必要がない)という技術的効果、利益、および利点を提供し、あらゆる文書化(例えば、多くのフィールドを有する保険文書)と連携し得、そしてコーディング無しでユーザーに提供され得、ならびに既存のRPAを拡張し、RPAアーキテクチャの中で新しいGUIを提供し得る。したがって、ユーザーが100~500の文書サンプルを持っている場合、認識エンジンはそのような文書を効率的に処理するように調整され得る。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態による、装置、システム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能性、および動作を示す。これに関連して、フローチャートまたはブロック図の各ブロックは、指定された論理機能(複数可)を実装するための1または複数の遂行可能な命令を含むモジュール、セグメント、または命令の一部を表し得る。いくつかの代替実装では、ブロックに記載されている機能は、図面のフローチャートおよびブロック図に記載されている順序とは異なる場合がある。例えば、連続して表示されている2つのブロックは、関係する機能に応じて、実際には実質的に同時に遂行され得、またはブロックが逆の順序で遂行され得る。また、ブロック図および/またはフローチャート図の各ブロック、ならびにブロック図および/またはフローチャート図のブロックの組み合わせは、指定された機能もしくは活動を実行するか、または特別な目的のハードウェアおよびコンピュータ命令の組み合わせを実行する特別な目的のハードウェアに基づくシステムによって実装され得ることに留意されたい。
特徴および要素は、特定の組み合わせで上に記載されているが、各特徴または要素は、単独で、または他の特徴および要素と任意の組み合わせで使用することができることが、当業者には理解されるであろう。例えば、本明細書に記載されている方法およびプロセスのいずれかでは、記載されているステップは任意の順序で順不同で実行され得、明示的に記載または表示されていないサブステップが実行され得る。「AまたはB」を参照して使用する場合は、A、B、またはAおよびBを含む場合があり、より長い羅列と同様に拡張され得る。X/Yという表記を使用する場合、当該表記は、XまたはYを含み得る。あるいは、X/Yという表記を使用する場合、当該表記は、XおよびYを含み得る。X/Yの表記は、上記と同じ論理により、より長い羅列にも同様に当てはまり得る。また、「結合されている」または「動作的に結合されている」とは、オブジェクトが連結されていることを意味してもよいが、連結されているオブジェクトの間にゼロまたはそれ以上の中間オブジェクトを有してもよい。また、開示された特徴/要素の任意の組み合わせが、1または複数の実施形態で使用されてもよい。
さらに、本明細書に記載された方法およびプロセスは、コンピュータまたはプロセッサによる遂行のためにコンピュータ読み取り可能な媒体に組み込まれたコンピュータプログラム、ソフトウェア、および/またはファームウェア(例えば、コンピュータプログラム製品)で実装され得る。すなわち、コンピュータプログラム製品は、コントローラ、プロセッサなどに本発明の態様を実行させるためのコンピュータ読み取り可能プログラム命令をその上に有するコンピュータ読み取り可能なストレージ媒体(または複数の媒体)を含み得る。
コンピュータ読み取り可能なストレージ媒体は、コンピュータ読み取り可能プログラム命令を保持および格納し得る有形のデバイスであり得る。コンピュータ読み取り可能なストレージ媒体は、例えば、限定されないが、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、または前述の任意の適切な組み合わせであり得る。本明細書で使用されるコンピュータ読み取り可能なストレージ媒体は、それ自体が一時的な信号であると解釈されるものではなく、例えば、電波またはその他の自由に伝播する電磁波、導波管またはその他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、または電線を介して伝送される電気信号である。コンピュータ読み取り可能なストレージ媒体の例は、限定されないが、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよびリムーバブルディスクなどの磁気媒体、光磁気媒体、コンパクトディスク(CD)およびデジタルバーサタイルディスク(DVD)などの光媒体、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ならびにメモリースティックを含む。
本明細書に記載されたコンピュータ読み取り可能なプログラム命令は、例えばネットワーク通信などの接続を介して、装置、デバイス、コンピュータ、または外部ストレージからそれぞれのコントローラ、プロセッサなどに通信および/またはダウンロードされ得る。本発明の動作を実行するためのコンピュータ読み取り可能なプログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA:instruction-set-architecture)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、または、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは類似のプログラミング言語などの手続き型プログラミング言語を含む1もしくは複数のプログラミング言語の任意の組み合わせで書かれたソースコードもしくはオブジェクトコードのいずれかであり得る。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、電子回路をパーソナライズするコンピュータ読み取り可能なプログラム命令の状態情報を利用して、コンピュータ読み取り可能なプログラム命令を遂行し得る。
本明細書で使用される用語は、特定の実施形態を説明するためだけのものであり、限定することを意図しない。本明細書では、単数形の「a」、「an」、および「the」は、文脈が明確に示す場合を除き、複数形も含むことを意図する。本明細書で使用される「含む(comprises)」および/または「含む(comprising,)」という用語は、記載された特徴、整数、ステップ、動作、要素、および/またはコンポーネントの存在を特定するが、1または複数の他の特徴、整数、ステップ、動作、要素コンポーネント、および/またはそれらのグループの存在または追加を排除するものではないことがさらに理解されるであろう。
本明細書の様々な実施形態の説明は、説明のために提示されたものであるが、開示された実施形態を網羅的に、またはそれに限定することを意図したものではない。当業者であれば、記載された実施形態の範囲および精神から逸脱することなく、多くの修正および変形が明らかであろう。本明細書で使用される用語は、実施形態の原理、市場で見られる技術に対する実用化もしくは技術的改善を最もよく説明するため、または当業者が本明細書で開示されている実施形態を理解できるように選択されたものである。
Claims (20)
- システムであって、
認識エンジンのためのプロセッサ遂行可能命令を格納するように構成されたメモリと、
前記メモリに結合され、前記プロセッサ遂行可能命令を遂行して前記システムに以下を行うように構成された少なくとも1つのプロセッサと、を含む、システム。
前記認識エンジンによって、ワークフロー内の1または複数の文書から特定される複数のベースラインエンティティを定義すること、
前記認識エンジンによって、前記1または複数の文書をデジタル化して、1または複数の対応するドキュメントオブジェクトモデルを生成すること、
前記認識エンジンによって、前記1または複数の対応するドキュメントオブジェクトモデルおよびタグ付きファイルを入力として使用してモデルを訓練すること、ならびに
前記モデルを使用する前記認識エンジンによって、1または複数のターゲット文書から複数のターゲットエンティティを決定すること。 - 前記認識エンジンの1または複数のロボティックプロセスオートメーションは、前記複数のベースラインエンティティを定義し、前記1または複数の文書をデジタル化し、前記モデルを訓練し、または前記複数のターゲットエンティティを決定する、請求項1に記載のシステム。
- 前記プロセッサ遂行可能命令はさらに、前記システムに、
前記タグ付きファイルを取得するために、前記1または複数の対応するドキュメントオブジェクトモデル内の対象のエンティティのマーキングを受信させる、請求項1に記載のシステム。 - 前記マーキングは、ロボティックプロセスオートメーションまたはユーザー入力によって提供される、請求項3に記載のシステム。
- 前記モデルは、機能拡張アルゴリズムに構築されたカスタム固有表現認識フレームワークを実装する、請求項1に記載のシステム。
- 前記認識エンジンは、1または複数のターゲット文書から前記複数のターゲットエンティティを抽出または予測することによって、前記複数のターゲットエンティティを決定する、請求項1に記載のシステム。
- レビューまたは検証をトリガするために、抽出または予測されたエンティティのために信頼メトリック(confidence metric)が生成される、請求項6に記載のシステム。
- 前記認識の機能拡張アルゴリズムまたはロボティックプロセスオートメーションが、前記モデルの前記訓練を実施する、請求項1に記載のシステム。
- 前記認識エンジンのフィードバックループにおいて前記モデルをさらに訓練するために、前記複数のターゲットエンティティが提供される、請求項1に記載のシステム。
- 前記1または複数の文書の前記デジタル化は、前記1または複数の文書のエンティティのために少なくとも行番号、フォントサイズ、および言語を特定することを含む、請求項1に記載のシステム。
- 少なくとも1つのプロセッサによって遂行されるプロセッサ遂行可能命令としてメモリ上に格納された認識エンジンによって、ワークフロー内の1または複数の文書から特定される複数のベースラインエンティティを定義することと、
前記認識エンジンによって、前記1または複数の文書をデジタル化して、1または複数の対応するドキュメントオブジェクトモデルを生成することと、
前記認識エンジンによって、前記1または複数の対応するドキュメントオブジェクトモデルおよびタグ付きファイルを入力として使用してモデルを訓練することと、
前記モデルを使用する前記認識エンジンによって、1または複数のターゲット文書から複数のターゲットエンティティを決定することと、を含む、方法。 - 前記認識エンジンの1または複数のロボティックプロセスオートメーションは、前記複数のベースラインエンティティを定義し、前記1または複数の文書をデジタル化し、前記モデルを訓練し、または前記複数のターゲットエンティティを決定する、請求項11に記載の方法。
- 前記方法はさらに、
前記タグ付きファイルを取得するために、前記1または複数の対応するドキュメントオブジェクトモデル内の対象のエンティティのマーキングを受信すること、を含む、請求項11に記載の方法。 - 前記マーキングは、ロボティックプロセスオートメーションまたはユーザー入力によって提供される、請求項13に記載の方法。
- 前記モデルは、機能拡張アルゴリズムに構築されたカスタム固有表現認識フレームワークを実装する、請求項11に記載の方法。
- 前記認識エンジンは、1または複数のターゲット文書から前記複数のターゲットエンティティを抽出または予測することによって、前記複数のターゲットエンティティを決定する、請求項11に記載の方法。
- レビューまたは検証をトリガするために、抽出または予測されたエンティティのために信頼メトリック(confidence metric)が生成される、請求項16に記載の方法。
- 前記認識の機能拡張アルゴリズムまたはロボティックプロセスオートメーションが、前記モデルの前記訓練を実施する、請求項11に記載の方法。
- 前記認識エンジンのフィードバックループにおいて前記モデルをさらに訓練するために、前記複数のターゲットエンティティが提供される、請求項11に記載の方法。
- 前記1または複数の文書の前記デジタル化は、前記1または複数の文書のエンティティのために少なくとも行番号、フォントサイズ、および言語を特定することを含む、請求項11に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN202111034613 | 2021-08-01 | ||
IN202111034613 | 2021-08-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023021467A true JP2023021467A (ja) | 2023-02-13 |
Family
ID=83050014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022122501A Pending JP2023021467A (ja) | 2021-08-01 | 2022-08-01 | 機械学習に基づくエンティティ認識 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230031612A1 (ja) |
EP (1) | EP4187452A1 (ja) |
JP (1) | JP2023021467A (ja) |
CN (1) | CN115700587A (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3360105A4 (en) * | 2015-10-07 | 2019-05-15 | Way2vat Ltd. | SYSTEM AND METHOD OF A COST MANAGEMENT SYSTEM BASED ON BUSINESS DOCUMENT ANALYSIS |
EP3948501A4 (en) * | 2019-04-03 | 2022-12-21 | Singularity Systems Inc. | HIERARCHICAL MACHINE LEARNING ARCHITECTURE INCLUDING A MASTER ENGINE SUPPORTED BY LIGHTWEIGHT, REAL-TIME DISTRIBUTED EDGE ENGINES |
-
2021
- 2021-10-19 US US17/505,078 patent/US20230031612A1/en active Pending
-
2022
- 2022-08-01 EP EP22188065.1A patent/EP4187452A1/en active Pending
- 2022-08-01 JP JP2022122501A patent/JP2023021467A/ja active Pending
- 2022-08-01 CN CN202210917270.3A patent/CN115700587A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4187452A1 (en) | 2023-05-31 |
US20230031612A1 (en) | 2023-02-02 |
CN115700587A (zh) | 2023-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6944548B2 (ja) | 自動コード生成 | |
KR102453990B1 (ko) | 인공 지능(ai)을 사용한 미디어 대 워크플로우 생성 | |
EP4163784A1 (en) | Automatic data transfer between a source and a target using semantic artificial intelligence for robotic process automation | |
US20240028354A1 (en) | Image pattern matching to robotic process automations | |
EP3809347A1 (en) | Media-to-workflow generation using artificial intelligence (ai) | |
JP2023070074A (ja) | ロボティックプロセスオートメーションのための長時間実行ワークフローを使用した人工知能フローの構築および管理 | |
EP3948442A1 (en) | Sequence extraction using screenshot images | |
US11797770B2 (en) | Self-improving document classification and splitting for document processing in robotic process automation | |
US20220100964A1 (en) | Deep learning based document splitter | |
EP4187452A1 (en) | Machine learning based entity recognition | |
EP4390691A1 (en) | Automatic augmentation of a target application within a browser | |
EP4361921A1 (en) | Semantic automation builder for robotic process automation | |
JP2024096684A (ja) | タスクマイニングを使用した、ソースおよびターゲット間の人工知能主導のセマンティック自動データ転送 |