(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-05-11
(54)【発明の名称】ドキュメント理解のためのデータ拡張のシステム及び方法
(51)【国際特許分類】
G06F 16/35 20190101AFI20230501BHJP
G06V 30/418 20220101ALI20230501BHJP
G06F 16/55 20190101ALI20230501BHJP
【FI】
G06F16/35
G06V30/418
G06F16/55
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021516751
(86)(22)【出願日】2021-03-22
(85)【翻訳文提出日】2021-05-24
(86)【国際出願番号】 US2021023395
(87)【国際公開番号】W WO2021194921
(87)【国際公開日】2021-09-30
(32)【優先日】2020-03-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520262319
【氏名又は名称】ユーアイパス,インコーポレイテッド
【氏名又は名称原語表記】UiPath,Inc.
【住所又は居所原語表記】1 Vanderbilt Avenue, 60th Floor, New York, NY 10017, United States of America
(74)【代理人】
【識別番号】100180781
【氏名又は名称】安達 友和
(74)【代理人】
【識別番号】100182903
【氏名又は名称】福田 武慶
(72)【発明者】
【氏名】ルクマ タルワドカー
【テーマコード(参考)】
5B175
5L096
【Fターム(参考)】
5B175DA01
5B175DA02
5B175FA03
5B175HB03
5L096FA52
5L096HA11
5L096JA11
5L096KA04
5L096MA07
(57)【要約】
複数のドキュメントのドキュメント分類を可能にするデータ拡張のための方法を実行するシステム、方法、及びコンピューティングデバイスが開示される。該システム、方法、及びコンピューティングデバイスにおいて、複数のドキュメントを複数の画像に変換するように構成されたプロセッサと、画像を記憶するように構成されたメモリとが含まれる。プロセッサは、複数のドキュメントに含まれる各ページのベクトル表現を取得するように構成され、プロセッサは、類似性に基づいて複数の画像から複数のクラスタを作成するように構成され、複数のクラスタの各クラスタは別個のページフォーマットを表す。プロセッサは、各クラスタから1つの画像を選択するように構成され、プロセッサは、各クラスタから選択された1つの画像をコンパイルして、論理的に完全なドキュメントを作成するように構成され、メモリは、論理的に完全なドキュメントを記憶するように構成され、プロセッサは、完全なドキュメントに基づいて分類を訓練するように構成されている。
【特許請求の範囲】
【請求項1】
複数のドキュメントのドキュメント分類を可能にするデータ拡張の方法であって、
前記方法は、
前記複数のドキュメントを複数の画像に変換することと、
前記複数のドキュメントに含まれる各ページのベクトル表現を取得することと、
類似性に基づいて前記複数の画像から複数のクラスタを作成することと、
前記複数のクラスタの各クラスタから1つの画像を選択することと、
前記複数のクラスタの各クラスタから選択された前記1つの画像をコンパイルして、論理的に完全なドキュメントを作成することと、
前記完全なドキュメントに基づいて分類を訓練することと、
を含み、
前記複数のクラスタの各クラスタは別個のページフォーマットを表すことを特徴とする方法。
【請求項2】
各クラスタから1つの画像を選択することにより、各フォーマットがモデルの訓練に使用されることを確実にすることを特徴とする、請求項1に記載の方法。
【請求項3】
前記複数のクラスタは、別個のページフォーマットを識別するためにベクトルから作成されることを特徴とする、請求項1に記載の方法。
【請求項4】
前記画像及び前記ベクトル表現は、事前に訓練済みの画像モデルを使用して取得されることを特徴とする、請求項1に記載の方法。
【請求項5】
訓練済みモデルには、VGG及びRESNETのうち少なくとも一方が含まれることを特徴とする、請求項に記載の方法。
【請求項6】
前記クラスタは、主成分分析(PCA)という機械学習技術、又は多数の次元のページを提供する通常のVGGベースのクラスタによって次元を削減することにより、形成されることを特徴とする、請求項1に記載の方法。
【請求項7】
前記次元は6つであることを特徴とする、請求項6に記載の方法。
【請求項8】
PCAを使用することにより、複数次元の情報をより少ない簡潔な次元にエンコードすることを特徴とする、請求項6に記載の方法。
【請求項9】
前記次元は4~10次元であることを特徴とする、請求項6に記載の方法。
【請求項10】
画像の特徴に最適なクラスタの総数(k)が取得されることを特徴とする、請求項1に記載の方法。
【請求項11】
kの値は、画像のクラスタリングを実行することにより、取得され、kの値は2から10までの間で変更されることを特徴とする、請求項10に記載の方法。
【請求項12】
kの値は、ELBOWメソッドとSILHOUETTEインデックスを使用して、クラスタリングの最小エラーと最高精度で決定可能であることを特徴とする、請求項10に記載の方法。
【請求項13】
複数のドキュメントのドキュメント分類を可能にするデータ拡張の方法を実行するコンピューティングデバイスであって、
前記コンピューティングデバイスは、
前記複数のドキュメントを複数の画像に変換するように構成されたプロセッサと、
前記複数の画像を記憶するように構成されたメモリと、
を備え、
前記プロセッサは、前記複数のドキュメントに含まれる各ページのベクトル表現を取得するように構成され、
前記プロセッサは、類似性に基づいて前記複数の画像から複数のクラスタを作成するように構成され、前記複数のクラスタの各クラスタは別個のページフォーマットを表し、
前記プロセッサは、前記複数のクラスタの各クラスタから1つの画像を選択するように構成され、
前記プロセッサは、前記複数のクラスタの各クラスタから選択された前記1つの画像をコンパイルして、論理的に完全なドキュメントを作成するように構成され、
前記メモリは、前記論理的に完全なドキュメントを記憶するように構成され、
前記プロセッサは、前記完全なドキュメントに基づいて分類を訓練するように構成されていることを特徴とするコンピューティングデバイス。
【請求項14】
各クラスタから1つの画像を選択することにより、各フォーマットがモデルの訓練に使用されることを確実にすることを特徴とする、請求項13に記載のコンピューティングデバイス。
【請求項15】
前記複数のクラスタは、別個のページフォーマットを識別するためにベクトルから作成されることを特徴とする、請求項13に記載のコンピューティングデバイス。
【請求項16】
前記画像及び前記ベクトル表現は、事前に訓練済みの画像モデルを使用して取得されることを特徴とする、請求項13に記載のコンピューティングデバイス。
【請求項17】
訓練済みモデルには、VGG及びRESNETのうち少なくとも一方が含まれることを特徴とする、請求項13に記載のコンピューティングデバイス。
【請求項18】
前記クラスタは、主成分分析(PCA)という機械学習技術、又は多数の次元のページを提供する通常のVGGベースのクラスタによって次元を削減することにより、形成されることを特徴とする、請求項13に記載のコンピューティングデバイス。
【請求項19】
PCAを使用することにより、複数次元の情報をより少ない簡潔な次元にエンコードすることを特徴とする、請求項13に記載のコンピューティングデバイス。
【請求項20】
kの値は、ELBOWメソッドとSILHOUETTEインデックスを使用して、クラスタリングの最小エラーと最高精度で決定可能であることを特徴とする、請求項13に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年3月23日に出願された米国特許出願番号16/827,189の利益を主張し、その内容が参照により本明細書に組み込まれる。
【0002】
本発明は、ドキュメント(文書)理解の分野に関し、詳細には、追加の処理のためにドキュメントを分類するための機械学習モデルの訓練セットを作成するためのデータ拡張技術に関連するる。
【背景技術】
【0003】
データ拡張技術により、実務者は訓練モデルに利用可能なデータの多様性を大幅に高めることができる。多くの場合、データ拡張には、既存のサンプルから新しいサンプルを合成することが含まれる。画像の場合、例えばスケーリング、トリミング、回転などの位置と、例えば明るさ、コントラスト、色相などの色とによってサンプル画像を作成するためのよく知られた方法がある。非構造化テキストの場合、例えばドキュメント及び電子メールについて、例えば単語をその同義語に置き換えたり、例えばWord2vec、Glove、Fasttextなどを含む単語埋め込み(word embeddings)を使用して文を言い換えたりするなどのデータ拡張技術が存在する。このようなデータ拡張の例は、サンプルセットが大きい場合に使用され得る。しかし、半構造化(例えば、可変構造化フォームなど)及び固定構造化(例えば、固定構造化フォームなど)のドキュメントの領域には、実証済みのデータ拡張のソリューション(解決方法)は存在しない。
【0004】
半構造化ドキュメント及び固定構造化ドキュメント内では、十分な大きさのサンプルが利用可能であるが、機械学習分類器によって直接消費されることはない。これは、複数のドキュメントサンプルが1つのレポートとして連続してスキャンされる場合に発生する。このような状況では、ドキュメントの開始ページと終了ページとの境界は設定されない。殆どの場合、レポートには、所定のカテゴリのドキュメントの数百又はそれ以上のサンプルが含まれ得る。一般に、ドキュメントを手動で理解するには、訓練セットを分割して再合成する必要があり、従来のデータ拡張方法が一般的に適用できなくなる。既存のソリューションには、ドキュメントの最初の数ページにビューを制限することが含まれる。最初の数ページは非常に一般的なテンプレートであり、関連するドキュメントサンプルが含まれていない可能性がある。したがって、そのような既存のソリューションは、精度が悪いか又は制限される。他のソリューションでは、各ドキュメントを手動で複数のページに分割してさらなる時間を費やし、プロセスを時間がかかり拡張性のないものにする。
【発明の概要】
【0005】
複数のドキュメントのドキュメント分類を可能にするデータ拡張のためのシステム及び方法が開示される。該システム及び方法は、複数のドキュメントを複数の画像に変換することと、複数のドキュメントに含まれる各ページのベクトル表現を取得することと、類似性に基づいて複数の画像から複数のクラスタ(集合)を作成することと(複数のクラスタの各クラスタは別個のページフォーマットを表す)、複数のクラスタの各クラスタから1つの画像を選択することと、複数のクラスタの各クラスタから選択された1つの画像をコンパイルして論理的に完全なドキュメントを作成することと、完全なドキュメントに基づいて分類を訓練することとを含む。
【0006】
複数のドキュメントのドキュメント分類を可能にするデータ拡張の方法を実行するコンピューティングデバイスも開示される。該コンピューティングデバイスは、複数のドキュメントを複数の画像に変換するように構成されたプロセッサと、複数の画像を記憶するように構成されたメモリとを備える。プロセッサは、複数のドキュメントに含まれる各ページのベクトル表現を取得するように構成され、プロセッサは、類似性に基づいて複数の画像から複数のクラスタを作成するように構成され、複数のクラスタの各クラスタは別個のページフォーマットを表す。プロセッサは、複数のクラスタの各クラスタから1つの画像を選択するように構成され、プロセッサは、複数のクラスタの各クラスタから選択された1つの画像をコンパイルして、論理的に完全なドキュメントを作成するように構成され、メモリは、論理的に完全なドキュメントを記憶するように構成され、プロセッサは、完全なドキュメントに基づいて分類を訓練するように構成されている。
【図面の簡単な説明】
【0007】
より詳細な理解が、添付の図面と併せて例として与えられる以下の説明から得られる。図中の同様の参照番号は、同様の要素を示す。
【0008】
【
図1A】ロボティックプロセスオートメーション(RPA)の開発、設計、動作、又は実行を示す図である。
【0009】
【
図1B】RPAの開発、設計、動作、又は実行を示す別の図である。
【0010】
【
図1C】コンピューティングシステム又は環境を示す図である。
【0011】
【
図2】複数のドキュメントのドキュメント分類の機械学習(ML)モデルの訓練を可能にするデータ拡張の方法である。
【0012】
【
図3】大きなドキュメント内の個々のレポートの論理的な開始と終了とを識別する方法である。
【発明を実施するための形態】
【0013】
本明細書に記載の方法およびプロセスについて、記載されるステップは、任意の順序で順不同で実行され、明示的に説明されていない又は示されていないサブステップを実行し得る。さらに、「結合された」又は「動作可能に結合された」は、オブジェクトがリンクされているが、リンクされたオブジェクト間にゼロ又はそれ以上の中間オブジェクトを有し得ることを意味し得る。また、開示された特徴/要素の任意の組み合わせが、一又は複数の実施形態において使用され得る。「A又はB」への言及を使用する場合、A、B、又はA及びBを含み、より長いリストと同様に拡張され得る。X/Yとの表記を使用する場合は、X又はYを含み得る。或いは、X/Yとの表記を使用する場合は、X及びYを含み得る。X/Yとの表記は、同じ説明ロジックを有する長いリストと同様に拡張され得る。
【0014】
大規模な訓練データセットは、機械学習(ML)モデルを使用して拡張され得る。このデータ拡張は、モデルが訓練される様々なクラスのドキュメントについて略同数のサンプルドキュメントが提供される場合に、より信頼性の高い結果を提供する。データ拡張の多くの場合、サンプルドキュメントには複数のページが含まれ得る。さらに、同じ種類のドキュメントの複数のサンプルが連結されて、1つの大きなドキュメントとされ得る。これが発生すると、ドキュメントは数百又は数千ページに及び得る。このようなクラスのドキュメントを理解するように分類器を訓練するには、通常、この大きなドキュメントを手動で個々のドキュメントに分割する必要がある。これは、訓練されるドキュメントの各クラスにわたり同じプロセスを繰り返す必要があることを考えると、面倒な作業である。
【0015】
データ拡張のための本システム及び方法は、複数のページを含むドキュメントのより小さなセットからモデルを訓練するために多数の訓練データサンプルが作成されるドキュメント分類のために機能する。まず、モデルを訓練するため複数のページを含むドキュメントが画像に変換され、各ページのベクトル表現が取得される。次に、類似の種類の画像のクラスタが形成される。各クラスタは、別個のページフォーマットを表す。各クラスタから1つの画像をランダムに選択して、論理的に完全なドキュメントを作成し得る。このプロセスは、ドキュメントの分類のためにMLモデルを訓練するために繰り返され得る。さらに、システムは、提供された一連のドキュメント内のドキュメントの論理的な開始と終了を識別することもできる。これは、データサンプリングとデータ拡張の完全に監視されていない(教師なしの)メカニズムである。
【0016】
図1Aは、ロボティックプロセスオートメーション(RPA)の開発、設計、動作、又は実行100を示す図である。デザイナ102は、スタジオ、開発プラットフォーム、開発環境などともいい、ロボットが一又は複数のワークフローを実行又は自動化するためのコード、命令、コマンドなどを生成するように構成され得る。コンピューティングシステムがロボットに提供し得る、選択されたものから、ロボットは、ユーザ又はオペレータによって選択されたビジュアルディスプレイ(視覚表示)の領域の代表データを決定し得る。RPAの一部として、例えば正方形、矩形、円、多角形、フリーフォームなどの複数次元の形状が、コンピュータビジョン(CV)動作又は機械学習(ML)モデルに関連するユーザインタフェース(UI)ロボットの開発とランタイム(実行)に利用され得る。
【0017】
ワークフローによって達成され得る動作の非限定的な例は、ログインの実行、フォームへの記入、情報技術(IT)管理などのうち一又は複数であり得る。UI自動化のためのワークフローを実行するために、ロボットは、アプリケーションアクセス又はアプリケーション開発に関係なく、例えばボタン、チェックボックス、テキストフィールド、ラベルなどの特定の画面要素を一意に識別する必要があり得る。アプリケーションアクセスの例としては、ローカル、仮想、リモート、クラウド、Citrix(登録商標)、VMWare(登録商標)、VNC(登録商標)、Windows(登録商標)リモートデスクトップ、仮想デスクトップインフラストラクチャ(VDI)などがあり得る。アプリケーション開発の例としては、win32、Java、Flash、ハイパーテキストマークアップ言語(HTML)、HTML5、拡張可能マークアップ言語(XML)、JavaScript、C#、C++、Silverlightなどがあり得る。
【0018】
ワークフローには、タスクシーケンス、フローチャート、有限状態機械(FSM)、グローバル例外ハンドラなどが含まれ得るが、これらに限定されない。タスクシーケンスは、一又は複数のアプリケーション又はウィンドウ間で線形タスクを処理するための線形プロセスであり得る。フローチャートは、複雑なビジネスロジックを処理するように構成され、複数の分岐論理演算子によってより多様な方法で決定の統合及びアクティビティの接続を可能にする。FSMは、大規模なワークフローのために構成され得る。FSMは、実行時に有限数の状態を使用し、それらの状態は、条件、遷移、アクティビティなどによってトリガされ得る。グローバル例外ハンドラは、実行エラーが発生したときのワークフローの振る舞いを決定したり、プロセスをデバッグしたりするために構成され得る。
【0019】
ロボットは、基礎となるオペレーティングシステム(OS)又はハードウェアに対して透過的なUIを自動化し得るアプリケーション、アプレット、スクリプトなどである。デプロイメント時に、一又は複数のロボットは、コンダクタ104(オーケストレータという場合もある)によって管理、制御などされ得る。コンダクタ104は、メインフレーム、ウェブ、仮想マシン、リモートマシン、仮想デスクトップ、エンタープライズプラットフォーム、デスクトップアプリケーション、ブラウザなどのクライアント、アプリケーション、又はプログラムにおいてワークフローを実行又は監視(モニタ)するようにロボット又は自動化のエグゼキュータ106に指示又は命令し得る。コンダクタ104は、コンピューティングプラットフォームを自動化するように複数のロボットに指示又は命令するための中心点(ポイント)又は半中心点(ポイント)として機能し得る。
【0020】
特定の構成において、コンダクタ104は、プロビジョニング、デプロイメント、コンフィギュレーション、キューイング、監視(モニタリング)、ロギング、及び/又は相互接続性を提供するように構成され得る。プロビジョニングには、ロボット又は自動化のエグゼキュータ106とコンダクタ104との間の接続又は通信の作成及び保守が含まれ得る。デプロイメントには、実行のために割り当てられたロボットへのパッケージバージョンの配信の保証が含まれ得る。コンフィギュレーションには、ロボット環境及びプロセスコンフィギュレーションの保守及び配信が含まれ得る。キューイングには、キュー及びキューアイテムの管理の提供が含まれ得る。監視には、ロボット識別データの追跡及びユーザ権限の維持が含まれ得る。ロギングには、データベース(例えば、SQLデータベースなど)及び/又は別のストレージメカニズム(例えば、大規模なデータセットを保存してすばやくクエリする機能を提供する、ElasticSearch(登録商標)など)へのログの記憶及びインデックス付けが含まれ得る。コンダクタ104は、サードパーティ(第三者)のソリューション及び/又はアプリケーションのための通信の集中ポイントとして機能することで、相互接続性を提供し得る。
【0021】
ロボット又は自動化のエグゼキュータ106は、アンアテンディッド(操作不要)108又はアテンディッド(操作要)110として構成され得る。アンアテンディッド108動作の場合、自動化は、サードパーティの入力又は制御なしで実行され得る。アテンディッド110動作の場合、自動化は、サードパーティコンポーネントから入力、コマンド、命令、ガイダンスなどを受け取ることで実行され得る。アンアテンディッド108又はアテンディッド110のロボットは、モバイルコンピューティング又はモバイルデバイス環境で実行又は遂行され得る。
【0022】
ロボット又は自動化のエグゼキュータ106は、デザイナ102に組み込まれたワークフローを実行する実行エージェントであり得る。UI又はソフトウェアの自動化のためのロボットの1つの商業的な例は、UiPath Robots(商標)である。幾つかの実施形態において、ロボット又は自動化のエグゼキュータ106は、デフォルトで、Microsoft Windows(登録商標)サービスコントロールマネージャー(SCM)が管理するサービスをインストールする。その結果、そのようなロボットは、ローカルシステムアカウントでインタラクティブなWindows(登録商標)セッションを開くことができ、Windows(登録商標)サービスの権限を有する。
【0023】
幾つかの実施形態において、ロボット又は自動化のエグゼキュータ106は、ユーザモードでインストールされ得る。そのようなロボットは、ユーザのもとで所与のロボットがインストールされて、そのユーザと同じ権限を有し得る。この機能は、高密度(HD)ロボットでも利用可能であり得、HD環境などにおいて最大の性能で各マシン最大限の活用を確実にし得る。
【0024】
特定の構成において、ロボット又は自動化のエグゼキュータ106は、各々が特定の自動化タスク又はアクティビティ専用である幾つかのコンポーネントに分割、分散などされ得る。ロボットコンポーネントには、SCM管理のロボットサービス、ユーザモードロボットサービス、エグゼキュータ、エージェント、コマンドラインなどが含まれる。SCM管理のロボットサービスは、Windows(登録商標)セッションを管理又は監視し、コンダクタ104と実行ホスト(即ち、ロボット又は自動化のエグゼキュータ106が実行されるコンピューティングシステム)との間のプロキシとして機能し得る。このようなサービスは、ロボット又は自動化のエグゼキュータ106の資格情報を託され、これを管理し得る。
【0025】
ユーザモードロボットサービスは、Windows(登録商標)セッションを管理、監視し、コンダクタ104と実行ホストとの間のプロキシとして機能し得る。ユーザモードロボットサービスは、ロボットの資格情報を託され、これを管理し得る。SCM管理のロボットサービスがインストールされていない場合、Windows(登録商標)アプリケーションが自動的に起動されてもよい。
【0026】
エグゼキュータは、Windows(登録商標)セッションで所与のジョブを実行し得る(即ち、エグゼキュータは、ワークフローを実行し得る)。エグゼキュータは、モニタ毎のドット/インチ(DPI)設定を認識してもよい。エージェントは、システムトレイウィンドウに使用可能なジョブを表示するWindows(登録商標)Presentation Foundation(WPF)アプリケーションであってもよい。エージェントは、このサービスのクライアントであってもよい。エージェントは、ジョブの開始又は停止を要求し、設定を変更し得る。コマンドラインは、このサービスのクライアントであってもよい。コマンドラインは、ジョブの開始を要求可能なコンソールアプリケーションであり、その出力を待つ。
【0027】
上記で説明したようにロボット又は自動化のエグゼキュータ106のコンポーネントが分割される構成では、開発者、サポートユーザ、及びコンピューティングシステムが各コンポーネントによる実行をより容易に実行、識別、及び追跡するのに役立つ。例えばエグゼキュータとサービスに異なるファイアウォールルールを設定するなど、この方法でコンポーネント毎に特別な振る舞いが構成されてもよい。幾つかの実施形態において、エグゼキュータは、モニタ毎のDPI設定を認識してもよい。その結果、ワークフローは、ワークフローが作成されたコンピューティングシステムの構成に関係なく、任意のDPIで実行されてもよい。デザイナ102からのプロジェクトはまた、ブラウザのズームレベルから独立していてもよい。DPIを認識しない又は意図的に認識しないとマークされているアプリケーションの場合、幾つかの実施形態においてDPIが無効にされてもよい。
【0028】
図1Bは、RPAの開発、設計、動作、又は実行120を示す別の図である。スタジオコンポーネント又はモジュール122が、ロボットが一又は複数のアクティビティ124を実行するためのコード、命令、コマンドなどを生成するように構成され得る。ユーザインタフェース(UI)自動化126が、一又は複数のドライバコンポーネント128を使用して、クライアント上のロボットによって実行され得る。ロボットは、コンピュータビジョン(CV)アクティビティモジュール又はエンジン130を使用してアクティビティを実行し得る。他のドライバ132が、ロボットによるUI自動化のために利用され、UIの要素を取得し得る。そのようなドライバには、OSドライバ、ブラウザードライバ、仮想マシンドライバ、エンタープライズドライバなどが含まれ得る。特定の構成において、CVアクティビティモジュール又はエンジン130は、UI自動化に使用されるドライバであり得る。
【0029】
図1Cは、情報又はデータを通信するためのバス142又は他の通信メカニズムと、処理のためにバス142に接続された一又は複数のプロセッサ144を含み得るコンピューティングシステム又は環境140を示す図である。一又は複数のプロセッサ144は、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックスプロセシングユニット(GPU)、コントローラ、マルチコア処理ユニット、3次元プロセッサ、量子コンピューティングデバイス、又はこれらのうちの任意の組み合わせを含む、任意の種類の汎用又は特定用途向けのプロセッサであり得る。一又は複数のプロセッサ144はまた、複数の処理コアを有してもよく、コアの少なくとも一部が、特定の機能を実行するように構成されてもよい。複数の並列処理が構成されてもよい。さらに、少なくとも一又は複数のプロセッサ144は、生体ニューロンを模倣する処理要素を含むニューロモーフィック回路であってもよい。
【0030】
メモリ146は、プロセッサ144によって実行又は処理される情報、命令、コマンド、又はデータを記憶するように構成され得る。メモリ146は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、フラッシュメモリ、ソリッドステートメモリ、キャッシュ、磁気ディスク若しくは光ディスクなどの静的記憶装置、又は任意の他の種類の非一時的なコンピュータ読み取り可能な媒体、又はこれらのうちの任意の組み合わせからなる。非一時的なコンピュータ読み取り可能な媒体は、プロセッサ144によってアクセス可能な任意の媒体であり、揮発性媒体、不揮発性媒体などを含み得る。媒体はまた、取り外し可能、取り外し不可能などであり得る。
【0031】
通信装置148は、周波数分割多元接続(FDMA)、シングルキャリアFDMA(SC-FDMA)、時分割多元接続(TDMA)、符号分割多元接続(CDMA)、直交周波数分割多重方式(OFDM)、直交周波数分割多元接続(OFDMA)、移動体用グローバルシステム(GSM)通信、汎用パケット無線サービス(GPRS)、ユニバーサル移動体通信システム(UMTS)、cdma2000、広帯域CDMA(W-CDMA)、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、高速パケットアクセス(HSPA)、Long Term Evolution(LTE)、LTEアドバンスト(LTE-A)、802.11x、Wi-Fi、Zigbee、超広帯域無線(UWB)、802.16x、802.15、Home Node-B(HnB)、Bluetooth、Radio Frequency Identification(RFID)、Infrared Data Association(IrDA)、Near-Field Communications(NFC)、第5世代(5G)、New Radio(NR)、又は一又は複数のアンテナを介した通信用の任意の他の無線又は有線のデバイス/トランシーバとして構成され得る。アンテナは、単一、アレイ、フェーズド、スイッチド、ビームフォーミング、ビームステアリングなどであり得る。
【0032】
一又は複数のプロセッサ144は、バス142を介してディスプレイデバイス150にさらに接続され得る。ディスプレイデバイス150は、例えば、プラズマ、液晶ディスプレイ(LCD)、発光ダイオード(LED)、電界放出ディスプレイ(FED)、有機発光ダイオード(OLED)、フレキシブルOLED、フレキシブル基板ディスプレイ、プロジェクションディスプレイ、4Kディスプレイ、高解像度(HD)ディスプレイ、Retina(著作権)ディスプレイ、インプレーンスイッチング(IPS)などがベースのディスプレイである。ディスプレイデバイス150は、抵抗性、容量性、表面弾性波(SAW)容量性、赤外線、光学イメージング、分散信号技術、音響パルス認識、フラストレート全内部反射など、当業者によって理解されるような入出力(I/O)のためのものを使用して、タッチ、3次元(3D)タッチ、マルチ入力タッチ、又はマルチタッチディスプレイとして構成され得る。
【0033】
キーボード152と、例えばコンピュータマウス、タッチパッドなどの制御デバイス154とが、コンピューティングシステム又は環境140への入力のためにバス142にさらに接続され得る。さらに、入力は、コンピューティングシステム又は環境140に、それと通信している別のコンピューティングシステムを介してリモートで提供されてもよく、或いは、コンピューティングシステム又は環境140は自律的に動作してもよい。
【0034】
メモリ146は、一又は複数のプロセッサ144によって実行又は処理されると機能を提供するソフトウェアコンポーネント、モジュール、エンジンなどを記憶し得る。これは、コンピューティングシステム又は環境140用のOS156を含み得る。モジュールは、カスタムモジュール158をさらに含み、アプリケーション特有のプロセス又はその派生のプロセスを実行し得る。コンピューティングシステム又は環境140は、追加の機能を含む一又は複数の追加の機能モジュール160を含み得る。
【0035】
コンピューティングシステム又は環境140は、サーバ、組込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングデバイス、クラウドコンピューティングデバイス、モバイルデバイス、スマートフォン、固定モバイルデバイス、スマートディスプレイ、ウェアラブルコンピュータなどとして機能するように適応又は構成され得る。
【0036】
図2は、複数のドキュメントのドキュメント分類のためのMLモデルの訓練を可能にするデータ拡張の方法200を示す。方法200は、ステップ210でドキュメントを画像に変換することを含む。方法200は、ステップ220で各画像のベクトル表現を取得することを含む。ステップ230で、別個のページフォーマットを識別するために、ベクトルからクラスタが作成される。ステップ240で、各クラスタから1つの画像を選択して、各フォーマットがモデルの訓練に使用されることを確実にし得る。ステップ250で、選択された1つの画像の複数のものをコンパイルして、完全なドキュメントを作成し得る。ステップ260で、完全なドキュメントに基づいて分類が訓練され得る。
【0037】
ドキュメント内の異なる種類のページを識別するための例示的な実施形態において、方法200のステップ210は、画像として分類のために提供されたドキュメントを変換することを含み、ステップ220で各ページのベクトル表現を取得することを含み得る。この画像及びベクトル表現は、例えばVGG、RESNETなどの事前に訓練済みの画像モデルを使用して取得され得る。
【0038】
このような画像ベクトルは、ステップ230で類似の種類の画像をクラスタリングするために使用される。このクラスタは、主成分分析(PCA)というML技術、又は多数の次元のページを提供する通常のVGGベースのクラスタによって次元を削減することにより、6次元で形成され得る。PCAを使用することにより、複数次元の情報をより少ない簡潔な次元にエンコード(符号化)し、したがって、最初の幾つかの重要な次元で十分である。理解されるように、この重要な次元の数は、例えば4~10次元のように変化し得る。詳細には、5~7の次元が使用され得る。より詳細には、6次元が使用され得る。
【0039】
PCAの後、画像の特徴に最適なクラスタの総数(k)が取得される。kの値は、画像のクラスタリングを実行することによって取得され、kの値は2から10までの間で変更される。kの値は、ELBOWメソッドとSILHOUETTEインデックスを使用して、クラスタリングの最小エラーと最高精度で決定され得る。ステップ230では、これらの方法の両方を利用して、kの値に到達し得る。これにより、クラスタが作成され、各クラスタは個別のページフォーマットを表す。例えば「開始ページ」、「データページ」、「画像ページ」の3つのクラスタが生成されている場合、「開始ページ」として分類された画像は「開始ページ」クラスタに保存され、同様に、「データページ」として分類された画像は「データページ」クラスタに、「画像ページ」として分類された画像は「画像ページ」クラスタに保存される。この例では3種類のクラスタが使用されているが、当業者は、任意の数のクラスタが形成され得るのでこれは単なる例示であることを理解するであろう。
【0040】
ステップ230で、クラスタが形成された後、ステップ240で、各クラスタからランダムなページが選択され、ステップ250で、これらの選択されたランダムなページが単一の合成ドキュメントにコンパイルされ、ステップ260でMLモデルを訓練するために使用される。バランスのとれた訓練セットを作成するために、1つの大きなページのドキュメントから複数のドキュメントインスタンスが合成され得る。このプロセスは、全ての入力ドキュメント間及び様々なドキュメントクラス間で選択的に繰り返され得る。この訓練済みのMLモデルは、ドキュメントを分類するためのMLアクティビティとして上記のRPAワークフローで使用される。
【0041】
方法200に従ってドキュメント内の異なる種類のページを識別するための例示的な使用例を以下に説明する。ドキュメントの各ページを処理し又は画像に変換する。VGG、RESNETなどのような事前に訓練済みの画像モデルを使用して、各画像の画像ベクトルを取得する。ベクトルが取得され画像が変換されると、画像ベクトルがクラスタリングされ、類似のページ画像を一緒に分離できるようになる。画像ベクトルは大きくなる可能性がある(さらには、複数次元になる可能性がある)。例えば、VGGベースの埋め込みの状況では、画像ベクトルは224×224×3であり、これは1ページあたり150,528の特徴/次元である。このような多数の次元でクラスタリングする代わりに、より少数の重要な次元への削減が実行され得る。例えば、PCAによる次元削減を使用して、最も重要な6つの次元を定量化し得る。
【0042】
PCAの後、画像の特徴に最適なクラスタの総数(k)が、幾つかのメトリックのうち一又は複数使用して決定され得る。2から10までの様々なkの値でクラスタリング精度を計算することにより、あるメトリックを使用する。ELBOWメソッドを使用して、クラスタリングの最小エラー又は最高精度のkを見つけ得る。SILHOUETTEインデックスを使用して、最適なkを見つけ得る。一又は複数の方法を使用してkを見つけると、その結果をプログラムで組み合わせられてkの値に到達し、クラスタリングを実行し得る。
【0043】
この時点で、各クラスタは、複数レポートのドキュメント内の個別のページフォーマット(画像)を表す。クラスタの各々からランダムなページをサンプリングして、訓練用の合成ドキュメントを作成することにより、データを拡張できる。そうすることで、複数レポートの1つのドキュメントからクラスを表す複数の合成レポートが生成される。1つのレポートを作成するために所定のクラスタからサンプリングされたページの総数は、クラスタ内のページサンプルの総数に比例し得る。
【0044】
さらに、本システム及び方法は、ドキュメントのセット内のドキュメントの論理的な開始及び終了を決定することを可能にする。
図3は、大きなドキュメント内の個々のレポートの論理的な開始及び終了を識別するための方法300を示す。方法300は、ステップ310でマルコフ連鎖を構築することを含む。方法300は、ステップ320で最も一般的な(最も頻度の高い)サブシーケンスを見つけることを含む。方法300は、ステップ330で大きなドキュメント内の個々のレポートの論理的な開始/終了を識別することを含む。
【0045】
ステップ310で、状態遷移図ともいうマルコフ連鎖を構築することは、別個のページを識別するための方法200を完了した後に起こり得る。構築ステップ310において、システムは、各ページに、対応するクラスタIDでインデックスを付ける。ステップ310では、ページの実際の順序に基づいて、マルコフ連鎖が構築される。ここで、クラスタIDは、状態とあるページから別のページへの遷移とを示し、さらに状態間のエッジを示す。開始状態は前のページを表し、終了状態は現在のページを表す。エッジの重みを使用して、クラスタxのページの後にクラスタyのページが続いた合計回数を示し得る。
【0046】
ステップ320で最も一般的なサブシーケンスを見つけることは、ステップ310で構築された有向マルコフ連鎖をトラバースして全ての可能な状態シーケンスを列挙することを含み得る。各サブシーケンスは、既に検出された状態が再訪されたときに終了する。シーケンス全体の重みは、シーケンストラバーサル全体において見られる最小のエッジの重みである。トラバーサルが完了した後、対応する重みを有する全てのサブシーケンスが評価される。重みが最も高いサブシーケンスが選択される。類似のハイスコアを有するサブシーケンスが複数ある場合は、最も大きい長さの最初のサブシーケンスが選択される。
【0047】
ステップ330で大きなドキュメント内の個々のレポートの論理的な開始/終了を識別することは、レポートの開始及びレポートの終了をマークするためにステップ320で見つけられたサブシーケンスの開始に対応するクラスタIDを識別することを含む。したがって、その間の全てのページがレポートの一部であると判断される。ページは、対応するクラスタIDを伴って、レポートに表示される順序でレイアウトされる。開始クラスタIDが見つけられると、終了クラスタID、又はさらに開始クラスタIDが見つけられるまで、個々のレポートを示すためにレポートはグループ化される。このドキュメントセグメンテーションのプロセスは、ドキュメントの最後(終了)まで続く。
【0048】
本明細書において開示されているアプローチは、例えば、サンプリングによるデータ拡張がある場合に利用され得る。分類器の性能は、ベースラインの不均衡モデルから10%、20%、50%向上し得る。本データ拡張及びモデルの訓練によるデータの精度は、全てのドキュメントクラスで約99%になり得る。本アプローチは、より多くのデータを使用してMLシステムを訓練して、システムの精度と効率を向上させる。本アプローチでは、手動でドキュメントにアノテーションを行う(注釈を付ける)必要がない。本システムは、ドキュメントをより正確に分類することができ、レポートの開始及び終了を簡単に見つけることができる。
【0049】
さらに、このMLサービスが分類のためにデプロイされると、テストドキュメントには、1つの大きなドキュメントとして分類するために提示される同じドキュメントクラスの複数のインスタンスが含まれ得る。分類器は、サンプルの最初の数ページが無関係であり、ドキュメントクラスを正確に表していない可能性があることを知って、上記のように分類のため適切なページのサンプルを選択できる必要がある。
【0050】
本明細書で与えられる例では、モジュールは、カスタムの超大規模集積(VLSI)回路又はゲートアレイ、ロジックチップ、トランジスタ、又は他のディスクリートコンポーネントなどの既製の半導体を含むハードウェア回路として実装され得る。モジュールはまた、例えばフィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、グラフィックスプロセッシングユニットなどのプログラマブルハードウェアデバイスに実装され得る。
【0051】
モジュールは、様々な種類のプロセッサによる実行のため、ソフトウェアで少なくとも部分的に実装されてもよい。実行可能コードの識別されたユニットは、例えば、オブジェクト、手順、ルーチン、サブルーチン、又は機能として構成され得るコンピュータ命令の一又は複数の物理ブロック又は論理ブロックを含み得る。識別されたモジュールの実行可能ファイルは、論理的に結合されるとモジュールを構成するように、同じ場所に配置又は異なる場所に記憶され得る。
【0052】
実行可能コードのモジュールは、単一の命令、一又は複数のデータ構造、一又は複数のデータセット、複数の命令などであり、異なるプログラム間で複数の異なるコードセグメントにわたり、複数のメモリデバイスにわたって分散され得る。動作データ又は機能データは、本明細書においてモジュール内で識別され、示され、適切な形式で具体化されて任意の適切な種類のデータ構造内に構成されてもよい。
【0053】
本明細書で与えられる例では、コンピュータプログラムは、ハードウェア、ソフトウェア、又はハイブリッド実装で構成され得る。コンピュータプログラムは、互いに動作可能に通信し、情報又は命令を渡すためのモジュールで構成され得る。
【0054】
特徴及び要素は特定の組み合わせで上記で説明しているが、当業者は、各特徴又は要素が、単独で又は他の特徴、要素との任意の組み合わせで使用され得ることを理解するであろう。さらに、本明細書に記載の方法は、コンピュータ又はプロセッサによって実行するためコンピュータ読み取り可能な媒体に組み込まれたコンピュータプログラム、ソフトウェア、又はファームウェアに実装され得る。コンピュータ読み取り可能な媒体の例には、電子信号(有線又は無線接続を介して送信される)及びコンピュータ読み取り可能な記憶媒体が含まれる。コンピュータ読み取り可能な記憶媒体の例には、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、例えば内蔵ハードディスク及びリムーバブルディスクなどの磁気媒体、磁気光学メディア、例えばCD-ROMディスクなどの光メディア、並びにデジタル多用途ディスク(DVD)が含まれるが、これらに限定されない。
【国際調査報告】