(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-22
(54)【発明の名称】非固定デジタル文書におけるキーと値のペアの推論のための画像分析に基づく文書処理
(51)【国際特許分類】
G06V 30/412 20220101AFI20240115BHJP
G06V 30/26 20220101ALI20240115BHJP
【FI】
G06V30/412
G06V30/26
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023540842
(86)(22)【出願日】2021-10-25
(85)【翻訳文提出日】2023-09-01
(86)【国際出願番号】 US2021056487
(87)【国際公開番号】W WO2022146536
(87)【国際公開日】2022-07-07
(32)【優先日】2021-01-04
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】506332063
【氏名又は名称】セールスフォース インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ガオ,ミーンフェイ
(72)【発明者】
【氏名】チェン,ツェユエン
(72)【発明者】
【氏名】シュエ,ローア
(72)【発明者】
【氏名】シュイ,ラン
(72)【発明者】
【氏名】ション,カイミング
【テーマコード(参考)】
5B029
5B064
【Fターム(参考)】
5B029AA01
5B029BB02
5B029CC26
5B029CC27
5B029CC28
5B064AA01
5B064AB02
5B064BA01
5B064CA08
5B064EA07
5B064EA08
5B064EA19
5B064EA27
(57)【要約】
オンラインシステムは、非定型文書から情報を抽出する。オンラインシステムは、フォーム文書の画像を受け取り、フレーズのセットと、フォーム画像上のフレーズの位置を取得する。少なくとも1つのフィールドについて、オンラインシステムは、フレーズのセットに対するキースコアを決定する。オンラインシステムは、識別されたフレーズのセットからフィールドに対する候補値のセットを識別し、識別されたフレーズのセットから各候補値の近傍のセットを識別する。オンラインシステムは近傍スコアを決定し、ここで、候補値及びそれぞれの近傍に対する近傍スコアは、近傍のキースコアと、候補値に対する近傍の空間関係に基づいて決定される。オンラインシステムは、近傍スコアに基づいて、候補値及びそれぞれの近傍をフィールドの値及びキーとして選択する。
【特許請求の範囲】
【請求項1】
コンピュータ実施方法であって、
クライアントデバイスからフォーム画像を受け取るステップと、
前記フォーム画像から抽出すべき1つ以上のフィールドを示すテンプレートを取得するステップであって、少なくとも1つのフィールドは、該フィールドに対する候補キーのセットに関連付けられる、ステップと、
前記フォーム画像から、フレーズのセットを取得し、フレーズの位置を取得するステップと、
前記少なくとも1つのフィールドについて:
前記フレーズのセットからフレーズのキースコアを決定するステップであって、あるフレーズのキースコアは、該フレーズがフォーム上の前記フィールドのキーである可能性を示す、ステップと、
前記フレーズのセットから前記フィールドに対する候補値のセットを識別するステップと、
前記フレーズのセットから候補値に対する近傍のセットを識別するステップと、
前記候補値のセット及び前記近傍のセットに対する近傍スコアを決定するステップであって、ある候補値及びそれぞれの近傍に対する近傍スコアは、該近傍の前記キースコアと、該候補値に対する該近傍の空間関係から決定される、ステップと、
閾値を超える近傍スコアに関連付けられる、候補値及びそれぞれの近傍を選択するステップと、
前記選択された候補値を前記フィールドの値として設定し、前記選択された近傍を前記フィールドの前記キーとして設定するステップと、
を含む、コンピュータ実施方法。
【請求項2】
フレーズの前記キースコアは、該フレーズと、前記フィールドに関連付けられる候補キーとの間で文字列マッチングを実行して、該フレーズと前記候補キーとの間の類似度を決定することにより、決定される、
請求項1に記載のコンピュータ実施方法。
【請求項3】
ある候補値の前記近傍は、前記候補値の位置から閾値距離内の前記フォーム画像上の位置を有する、
請求項1に記載のコンピュータ実施方法。
【請求項4】
前記フォーム画像のための前記テンプレートに含まれる情報の少なくとも一部は、前記クライアントデバイスから受信される、
請求項1に記載のコンピュータ実施方法。
【請求項5】
前記候補値のセットを識別するステップは、
前記少なくとも1つのフィールドを所定のカテゴリセットのうちの少なくとも1つに割り当てることによって、前記少なくとも1つのフィールドのデータ型を決定するステップと、
前記少なくとも1つのフィールドの前記データ型と一致する、前記フレーズのセット内のフレーズのサブセットを、前記少なくとも1つのフィールドの前記候補値として選択するステップと、
を更に含む、請求項1に記載のコンピュータ実施方法。
【請求項6】
前記候補値に対する前記近傍の前記空間関係は、前記候補値の位置と前記フォーム画像上の前記それぞれの近傍の位置との間の距離と、前記候補値の位置と前記フォーム画像上の前記それぞれの近傍の位置との間の角度との組合せに基づいて決定される、
請求項1に記載のコンピュータ実施方法。
【請求項7】
前記少なくとも1つのフィールドに対する前記キーと、前記少なくとも1つのフィールドに対する前記値を、前記クライアントデバイスのユーザに提供するステップを更に含む、
請求項1に記載のコンピュータ実施方法。
【請求項8】
動作を実行するために実行可能なコンピュータプログラム命令を記憶する非一時的コンピュータ読取可能記憶媒体であって、前記動作は、
クライアントデバイスからフォーム画像を受け取るステップと、
前記フォーム画像から抽出すべき1つ以上のフィールドを示すテンプレートを取得するステップであって、少なくとも1つのフィールドは、該フィールドに対する候補キーのセットに関連付けられる、ステップと、
前記フォーム画像から、フレーズのセットを取得し、フレーズの位置を取得するステップと、
前記少なくとも1つのフィールドについて:
前記フレーズのセットからフレーズのキースコアを決定するステップであって、あるフレーズのキースコアは、該フレーズがフォーム上の前記フィールドのキーである可能性を示す、ステップと、
前記フレーズのセットから前記フィールドに対する候補値のセットを識別するステップと、
前記フレーズのセットから候補値に対する近傍のセットを識別するステップと、
前記候補値のセット及び前記近傍のセットに対する近傍スコアを決定するステップであって、ある候補値及びそれぞれの近傍に対する近傍スコアは、該近傍の前記キースコアと、該候補値に対する該近傍の空間関係とから決定される、ステップと、
閾値を超える近傍スコアに関連付けられる、候補値及びそれぞれの近傍を選択するステップと、
前記選択された候補値を前記フィールドの値として設定し、前記選択された近傍を前記フィールドの前記キーとして設定するステップと、
を含む、非一時的コンピュータ読取可能記憶媒体。
【請求項9】
フレーズの前記キースコアは、該フレーズと、前記フィールドに関連付けられる候補キーとの間で文字列マッチングを実行して、該フレーズと前記候補キーとの間の類似度を決定することにより、決定される、
請求項8に記載の非一時的コンピュータ読取可能記憶媒体。
【請求項10】
ある候補値の前記近傍は、前記候補値の位置から閾値距離内の前記フォーム画像上の位置を有する、
請求項8に記載の非一時的コンピュータ読取可能記憶媒体。
【請求項11】
前記フォーム画像のための前記テンプレートに含まれる情報の少なくとも一部は、前記クライアントデバイスから受信される、
請求項8に記載の非一時的コンピュータ読取可能記憶媒体。
【請求項12】
前記候補値のセットを識別するステップは、
前記少なくとも1つのフィールドを所定のカテゴリセットのうちの少なくとも1つに割り当てることによって、前記少なくとも1つのフィールドのデータ型を決定するステップと、
前記少なくとも1つのフィールドの前記データ型と一致する、前記フレーズのセット内のフレーズのサブセットを、前記少なくとも1つのフィールドの前記候補値として選択するステップと、
を更に含む、請求項8に記載の非一時的コンピュータ読取可能記憶媒体。
【請求項13】
前記候補値に対する前記近傍の前記空間関係は、前記候補値の位置と前記フォーム画像上の前記それぞれの近傍の位置との間の距離と、前記候補値の位置と前記フォーム画像上の前記それぞれの近傍の位置との間の角度との組合せに基づいて決定される、
請求項8に記載の非一時的コンピュータ読取可能記憶媒体。
【請求項14】
前記動作は、前記少なくとも1つのフィールドに対する前記キーと、前記少なくとも1つのフィールドに対する前記値を、前記クライアントデバイスのユーザに提供するステップを更に含む、
請求項8に記載の非一時的コンピュータ読取可能記憶媒体。
【請求項15】
システムであって:
コンピュータプログラム命令を実行するためのプロセッサと;
クライアントデバイスからフォーム画像を受け取るステップと、
前記フォーム画像から抽出すべき1つ以上のフィールドを示すテンプレートを取得するステップであって、少なくとも1つのフィールドは、該フィールドに対する候補キーのセットに関連付けられる、ステップと、
前記フォーム画像から、フレーズのセットを取得し、フレーズの位置を取得するステップと、
前記少なくとも1つのフィールドについて:
前記フレーズのセットからフレーズのキースコアを決定するステップであって、あるフレーズのキースコアは、該フレーズがフォーム上の前記フィールドのキーである可能性を示す、ステップと、
前記フレーズのセットから前記フィールドに対する候補値のセットを識別するステップと、
前記フレーズのセットから候補値に対する近傍のセットを識別するステップと、
前記候補値のセット及び前記近傍のセットに対する近傍スコアを決定するステップであって、ある候補値及びそれぞれの近傍に対する近傍スコアは、該近傍の前記キースコアと、該候補値に対する前記近傍の空間関係から決定される、ステップと、
閾値を超える近傍スコアに関連付けられる、候補値及びそれぞれの近傍を選択するステップと、
前記選択された候補値を前記フィールドの値として設定し、前記選択された近傍を前記フィールドの前記キーとして設定するステップと、
を含むステップを実行するために実行可能なコンピュータプログラム命令を記憶する非一時的コンピュータ読取可能記憶媒体と;
を備える、システム。
【請求項16】
フレーズの前記キースコアは、該フレーズと、前記フィールドに関連付けられる候補キーとの間で文字列マッチングを実行して、該フレーズと前記候補キーとの間の類似度を決定することにより、決定される、
請求項15に記載のシステム。
【請求項17】
ある候補値の前記近傍は、前記候補値の位置から閾値距離内の前記フォーム画像上の位置を有する、
請求項15に記載のシステム。
【請求項18】
前記フォーム画像のための前記テンプレートに含まれる情報の少なくとも一部は、前記クライアントデバイスから受信される、
請求項15に記載のシステム。
【請求項19】
前記候補値のセットを識別するステップは、
前記少なくとも1つのフィールドを所定のカテゴリセットのうちの少なくとも1つに割り当てることによって、前記少なくとも1つのフィールドのデータ型を決定するステップと、
前記少なくとも1つのフィールドの前記データ型と一致する、前記フレーズのセット内のフレーズのサブセットを、前記少なくとも1つのフィールドの前記候補値として選択するステップと、
を更に含む、請求項15に記載のシステム。
【請求項20】
前記候補値に対する前記近傍の前記空間関係は、前記候補値の位置と前記フォーム画像上の前記それぞれの近傍の位置との間の距離と、前記候補値の位置と前記フォーム画像上の前記それぞれの近傍の位置との間の角度との組合せに基づいて決定される、
請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2021年1月4日に出願された米国実用特許出願17/140,987号の利益を主張し、その全体は参照により本明細書に組み込まれる。
【背景技術】
【0002】
本発明は、一般に、デジタル文書を処理することに関し、より具体的には、デジタル文書の画像分析を使用して、非固定デジタル文書(non-fixed digital documents)におけるキーと値のペアを推論することに関する。
【0003】
異なるタイプの組織のようなエンティティは、エンティティの業務プロセスに関連する情報を含み得る、多くのデジタル文書を処理する。情報は、業務プロセスの1つ以上のタスクを実行又は支援するために、文書から抽出され得る。他のタイプの文書の中でも、フォームは、各々が1つ以上のキーと値のペアを有するフィールドのセットに情報を構造化し得る。フィールドは、文書から抽出される情報のそれぞれのタイプを特徴付けることがある。フィールドのキーは、それぞれのフィールドがフォーム文書(form document)上で呼び出されるラベルを指してよく、例えばフォームの責任エンティティによって使用される命名規則に依存して異なることがある。
【0004】
エンティティは頻繁に相当数の文書を処理することがあるので、人間のオペレータなしでフォーム文書上のキーと値のペアから情報を自動的に抽出することが有利である。デジタル文書の分析は、典型的に、文書の画像表現を受け取ることと、画像分析を実行することと、光学的文字認識、そして人工知能技術、例えば深層学習ベースのニューラルネットワークのような機械学習技術の使用を含む。これらの技術は、畳み込みニューラルネットワークのような機械学習ベースのモデルをトレーニングし、トレーニングされたニューラルネットワークを、新しいデジタル文書を表す画像に適用する。これらの技術は、典型的に、プリフィックスされたフィールドのセットに対して機能する。しかしながら、いくつかのタイプのフォーム文書は標準化されており、キーと値のペアのための固定の位置を有するが、多くのタイプのフォーム文書は、情報のタイプ及びフォーマットが、例えばフォームを発行するエンティティに依存して異なるという点で固定されていない。非固定フォームに対するこの差異は、情報を自動的に抽出することを困難にする。
【図面の簡単な説明】
【0005】
【
図1】一実施形態による、オンラインシステムを含むシステム環境のブロック図である。
【0006】
【
図2】一実施形態による、例示的な文書と、インボイス文書で識別されたフレーズのセットとを示す図である。
【0007】
【
図3】一実施形態による、
図2の例示的なインボイス文書におけるキーと値のペアを決定するための例示的な高レベルプロセスである。
【0008】
【
図4】一実施形態による、オンラインシステムのアーキテクチャのブロック図である。
【0009】
【
図5】一実施形態による、フォーム文書におけるキーと値のペアを決定する方法のフローチャートである。
【0010】
【
図6】一実施形態による、
図1の環境で使用するための典型的なコンピュータシステムのアーキテクチャを示すブロック図である。
【0011】
図面は、例示のみを目的として、本発明の様々な実施形態を示す。当業者は、以下の説明から、本明細書に記載された本発明の原理から逸脱することなく、本明細書に例示された構造及び方法の代替実施形態を採用し得ることを容易に認識するであろう。
【0012】
図面は、同様の参照番号を使用して同様の要素を識別する。「110A」のような参照番号の後の文字は、本文がその特定の参照番号を有する要素を特に参照することを示す。「110」のような後続の文字を伴わない本文中の参照番号は、その参照番号を有する図中の要素の任意の又はすべてを指す(例えば本文中の「クライアントデバイス110」は、図中の参照番号「クライアントデバイス110A」及び/又は「クライアントデバイス110B」を指す)。
【発明を実施するための形態】
【0013】
概要
オンラインシステムは,デジタル文書から情報を抽出する。一実施形態では、オンラインシステムによって採用される方法は、情報の異なるレイアウト及び配置を有することがある非固定フォーム文書から情報を抽出することを可能にする。具体的には、オンラインシステムは、クライアントデバイスからフォーム文書の画像を受け取る。フォーム文書は、フィールドのセットに対するキーと値のペアを含み得る。一実施形態では、オンラインシステムはまた、フォーム画像から抽出すべき1つ以上のフィールドを示すテンプレートも取得し、ここで、フィールドは、そのフィールドに対する候補キーのセットに関連付けられてよい。オンラインシステムは、フレーズのセットと、フォーム画像におけるフレーズのセットの位置を取得する。
【0014】
少なくとも1つのフィールドについて、オンラインシステムは、フレーズのセットに対するキースコアを決定し、ここで、フレーズに対するキースコアは、そのフレーズがフォーム画像上のフィールドに対するキーである可能性を示す。オンラインシステムは、識別されたフレーズのセットからフィールドに対する候補値のセットを識別し、識別されたフレーズのセットから各候補値に対する近傍のセットを識別する。オンラインシステムは近傍スコアを決定し、ここで、ある候補値に対する近傍スコア及びそれぞれの近傍は、該近傍のキースコアと、その候補値に対する近傍の空間関係とに基づいて決定される。オンラインシステムは、近傍スコアに基づいて候補値及びそれぞれの近傍を選択し、選択された候補値をフィールドの値として設定し、選択された近傍をフィールドのキーとして設定する。開示された技術は、非固定フォーム、すなわち固定されていない構造を有するフォームを自動的に処理することができる。
【0015】
システム環境
図1は、一実施形態による、オンラインシステム130を含むシステム環境100のブロック図である。
図1に示されるシステム環境100は、オンラインシステム130、クライアントデバイス110A、110B及びネットワーク120を含む。代替的構成では、異なる構成要素及び/又は追加の構成要素がシステム環境100に含まれてもよい。
【0016】
オンラインシステム130は、デジタル文書を処理する要求を受け取り、デジタル文書から抽出された情報をその要求のユーザに提供するシステムである。企業や政府組織のようなエンティティは、金融取引、会社への新入社員の入社又は新製品の発売のような、エンティティの業務プロセスに関連する情報を含み得る、多くの文書を処理する。情報は、業務プロセスの1つ以上のタスクを実行又は支援するために、文書から抽出され得る。例えば文書は、企業組織に提供されるサービスに対するインボイス(invoice)であってよく、インボイスは、ベンダーに対して支払いを行うことができるように、組織の従業員によって処理され得る。別の例として、文書は、貸付組織に対する抵当申請書(mortgage application)であってもよく、抵当申請は、その申請を承認することができるかどうかを決定するために引受人によって処理され得る。
【0017】
他のタイプの文書の中でも、フォームは、各々が1つ以上のキーと値のペアを有するフィールドのセットに情報を構造化し得る。フィールドは、文書から抽出される情報のそれぞれのタイプを特徴付けることがある。例えばインボイス番号のフィールドは、各インボイスに対して一意の識別子を特徴付けてよい。フィールドに対するキーは、それぞれのフィールドがフォーム文書上で呼び出されるラベルを指してよく、例えばフォームに対する責任エンティティによって使用される命名規則に依存して異なることがある。例えばあるベンダーのインボイス番号のキーは「Invoice #」とラベル付けされてよく、一方、別のベンダーのインボイス番号のキーは「Invoice No.」とラベル付けされてよい。フィールドの値は、フォーム文書上のフィールドのデータ値を指してよく、フォームの責任エンティティによって使用されるフォーマットに従ってよい。例えばインボイス番号の値は「INV-023-US」であってよい。
【0018】
典型的に、人間のオペレータは、文書から情報を抽出し、それをレコードに入力することや抽出された情報に基づいて支払いを行うことのような、1つ以上のタスクを実行する。エンティティは頻繁に相当数の文書を処理することがあるので、処理をより効率的に行うことができるように、人間のオペレータなしでフォーム文書上のキーと値のペアから情報を自動的に抽出することが有利である。いくつかのタイプのフォーム文書は標準化されており、文書上のキーと値のペアのための固定位置を有しており、キーと値の位置が既にわかっているので、これは、コンピュータ化されたシステムが自動的に情報を抽出することを可能にし得る。例えばある州の運転免許証は、フィールドの同じセット(例えば名前、住所、目の色)の情報と、その州に居住する個人にわたる、これらのフィールドについてのキーと値のペアの統一レイアウトを含み得る。
【0019】
しかしながら、多くのタイプのフォーム文書は、情報のタイプ及びフォーマットが、例えばフォームを発行するエンティティに依存して異なるという点で固定されていない。例えば各貸し手は申請者からの異なるタイプの情報を考慮するので、ある貸し手からの抵当申請書は、別の貸し手からの抵当申請書とは異なるタイプのフィールドを含むことがある。別の例として、配管ベンダーからのインボイスは、インボイス番号及び未払額のフィールドに対するキーと値のペアを、別のベンダーからのインボイスとは異なるように配置することがあるが、両者は同じ会社によって処理されなければならない。これらのフォーム上の情報のタイプ及びフォーマットは標準化又は固定されていないため、非固定フォームに対するこの差異は、情報を自動的に抽出することを困難にする。
【0020】
したがって、一実施形態では、オンラインシステム130は、非固定デジタル文書から情報を抽出する方法を提供する。オンラインシステム130は、クライアントデバイス110からデジタル文書を処理する要求を受け取り、デジタル文書から抽出された情報をその要求のユーザに提供する。一実施形態では、オンラインシステム130は、要求のクライアントデバイス110と同じエンティティによって管理され、エンティティによって所有される内部システムであってもよい。別の実施形態では、オンラインシステム130は、要求のクライアントデバイス110とは異なるエンティティによって管理され、別個のシステムであってもよい。例えばオンラインシステム130は、文書を処理する必要がある異なる会社の従業員からのクライアントデバイス110から要求を受け取ることがある。
【0021】
図2は、一実施形態による、例示的なインボイス文書と、インボイス文書内で識別されたフレーズのセットを示す。
図3は、一実施形態による、
図2の例示的なインボイス文書におけるキーと値のペアを決定するための例示的な高レベルプロセスである。具体的には、オンラインシステム130は、クライアントデバイス110から、文書の画像を含む要求を受け取る。一例では、要求の文書は、フィールドのセットに対するキーと値のペアの形態で情報を含むフォーム文書である。文書の画像は、JPEG、GIF、PNG、EPIS、AI、PDF、RAW、TIFF等のようなコンピュータ化された画像ファイルの形態で受け取られてもよいが、文書は他のフォーマットで受け取られてもよいことが理解される。
【0022】
図2に示されるように、この例は、“ABC Services, Inc.”という会社によって発行されたインボイスのためのフォームの画像200を示す。特に、インボイスのための情報のタイプ及びフォーマットは、例えばインボイスを発行している会社に従って異なる可能性があるので、画像200は非固定フォームであり得る。他の中でも特に、画像200は、オンラインシステム130によって抽出されるべきフィールドのセットに対するキーと値のペアを含む。具体的には、画像200は、まだ未知であり、オンラインシステム130によって抽出されるべき、インボイス受取人のフィールドに対する{“Bill To:”,“John Smith”}、インボイス番号のフィールドに対する{“Invoice #”,“US-001”}、インボイス日付のフィールドに対する{“Invoice Date”,“11/2/2019”}、アイテム数量のフィールドに対する{“Qty”,“2”}、アイテム説明のフィールドに対する{“Description”,“Front end brakes”}、アイテム単価のフィールドに対する{“Unit Price”,“100.00”}、アイテム価格のフィールドに対する{“Amount”,“200.00”}及び合計インボイス額(total invoice amount)のフィールドに対する{“Total Charges”,“$200.00”}というキーと値のペアを含む。
【0023】
オンラインシステム130は、フレーズのセットと、文書におけるフレーズの位置を取得する。フレーズは、文書上で互いに空間的に近接して配置される1つ以上の単語を含み得る。一例では、フレーズのセット及び位置は、文書上の各フレーズの周囲に境界ボックスを有し、境界ボックスの位置をそれぞれのフレーズの位置として決定するものとして識別され得る。例えば
図2に示されるように、オンラインシステム130は、「Bill To:」、「John Smith」、「Invoice #」、「US-001」、「Invoice Date」、「11/2/2019」、「Qty」、「Description」、「Unit Price」、「Amount」、「2」、「Front end brakes」、「100.00」、「200.00」、「Total Charges:」及び「$200.00」というフレーズのセットに対する境界ボックスのセット(点線)を識別し得る。各境界ボックスはそれぞれのフレーズを囲み、境界ボックスの位置(例えばボックスの中心の位置)は、文書の画像200上のそれぞれのフレーズの位置として決定され得る。
【0024】
要求に対して、オンラインシステム130はまた、フォームから抽出すべきフィールドのセットと、各フィールドに対する1つ以上の候補キー又は既知キーとを含む、フォームテンプレートも取得し得る。具体的には、それぞれのフィールドに対する候補キーは、キーに対するラベルが未知であるとき、文書上のフィールドのキーについて可能性の高い候補であるフレーズである。
図2及び
図3の例では、オンラインシステム130は、インボイス番号のフィールドに対して、そのフィールドのキーがフォーム内でラベル付けされる可能性が高い候補である1つ以上の候補キー{“Invoice No.”,“Invoice #”,“Invoice Number”}を指定するフォームテンプレートを取得し得る。
【0025】
一実施形態では、オンラインシステム130は、要求のユーザから、フォームテンプレートの少なくとも一部、例えばフィールドの候補キーを指定するカスタマイズされたフォームテンプレートを受け取ることがある。要求のユーザは文書に精通している可能性が高いので、カスタマイズされたフォームテンプレートを文書とともに受け取ることにより、オンラインシステム130は、文書のキーに対する候補である可能性が高いフレーズにアクセスすることができる。別の実施形態では、オンラインシステム130は、フォームテンプレートを受け取らないことがあり、あるいは要求から部分的に完全なフォームテンプレートを受け取って、フィールドのセットと1つ以上の候補キーを内部で決定することがある。例えばオンラインシステム130は、例えばインボイス、抵当申請書、異なる政府機関からの文書等のカテゴリに基づいて、以前に処理された文書のテンプレートを記憶することにより、フォームのタイプに基づいてこの情報を決定してもよい。オンラインシステム130は、入来するフォームの適切なカテゴリを決定し、同じカテゴリの以前に処理された文書からテンプレートを取り出し、取り出したテンプレートを、入来する文書のテンプレートとして割り当ててもよい。
【0026】
少なくとも1つのフィールドについて、オンラインシステム130は、フレーズのセットに対するキースコアを決定し、ここで、フレーズに対するキースコアは、フレーズが画像上のフィールドに対するキーである可能性を示す。一例では、所与のフィールドについて、フレーズに対するキースコアは、フレーズがフィールドに対する候補キーに類似している場合に、そのフレーズに対するキースコアがより高くなるように、フレーズとフィールドに対する候補キーとの間のマッチングに基づいて決定される。
図3に示されるように、インボイス番号のフィールドについて、オンラインシステム130は、そのフィールドに対する候補キーに基づいて、識別されたフレーズのセットに対するキースコアを決定する。具体的に、フレーズ「Invoice#」は、フィールドに対する候補キーと実質的に又は完全に一致するので、最も高いキースコアを有する。
【0027】
オンラインシステム130はまた、フレーズのセットからフィールドに対する候補値のセットを識別し、フレーズのセットから候補値毎に近傍のセットを識別する。一例では、候補値は、最初にフィールドの値に対するデータ型(例えば基数(cardinal)、日付、テキスト文字列)を識別し、そのデータ型に一致するフレーズのみを選択することによって決定される。
図3に示されるように、オンラインシステム130は、インボイス番号のフィールドのデータ型を、テキスト文字列又は基数として識別し、フィールドの候補値として数字又はテキストを含む、「100.00」、「US-001」、「11/2/2019」及び「2」を含むフレーズのサブセットを選択する。
【0028】
オンラインシステム130は、候補値毎に、文書上のその候補値に空間的に近い近傍を決定する。例えば
図2において、候補値「100.00」に対する近傍のセットは、「Unit Price」、「200.00」、「Front end brakes」を含み得るが、これは、文書上のそれらの空間位置が候補値の位置に近いからである。オンラインシステム130は、近傍スコアを決定し、ここで、ある候補値及びそれぞれの近傍に対する近傍スコアは、近傍のキースコアと、候補値に対する近傍の空間関係に基づいて決定される。
図3に示されるように、オンラインシステム130は、候補値と近傍のペアに対する近傍スコアを識別し、これらのうち、候補値「US-001」及びその近傍「Invoice #」が、0.92という最も高い近傍スコアを有するが、これは、近傍「Invoice #」が高いキースコアに関連付けられており、候補値「US-001」に対して空間的に近く位置しているからである。
【0029】
オンラインシステム130は、近傍スコアに基づいて候補値及びそれぞれの近傍を選択し、選択された候補値をフィールドの値として設定し、選択された近傍をフィールドのキーとして設定する。
図2及び
図3の例では、オンラインシステム130は、インボイス番号のフィールドに対するキーを「Invoice #」として選択し、フィールドに対する値を「US-001」として選択するが、これは、そのペアの近傍スコアが、そのフィールドに対する他のペアの中で最も高いからである。オンラインシステム130は、文書テンプレートで指定された他のフィールドに対してこのプロセスを繰り返し、残りの情報をキーと値のペアの形態で抽出し得る。
【0030】
図1に戻って、クライアントデバイス110は、ANDROID(登録商標)又はAPPLE(登録商標)IOS(登録商標)のようなオペレーティングシステムを備えたスマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ又は任意の他のタイプのネットワーク対応デバイスのようなコンピューティングデバイスである。典型的なクライアントデバイス110は、ネットワーク122に(例えばWiFi及び/又は4G、5G又は他の無線通信規格を介して)接続する必要があるハードウェア及びソフトウェアを含む。クライアントデバイス110は、ユーザがオンラインシステム130に要求を提示し、文書から情報を抽出することを可能にする。クライアントデバイス110は、オペレーティングシステムと、ユーザが要求を提示することを可能にするオペレーティングシステム上で実行される様々なアプリケーションとを含み得る。例えばクライアントデバイス110は、組織のユーザがオンラインシステム130と対話して要求を提示することを可能にする、オンラインシステム130によって展開されるブラウザアプリケーション又はスタンドアロンアプリケーションを含み得る。
【0031】
ネットワーク122は、ワーカデバイス110とプロセスマイニングシステム130との間の通信インフラストラクチャを提供する。ネットワーク122は、典型的にはインターネットであるが、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、移動有線又は無線ネットワーク、プライベートネットワーク又は仮想プライベートネットワークを含むがこれらに限定されない任意のネットワークであってもよい。
【0032】
オンラインシステム
図4は、一実施形態によるオンラインシステム130の詳細なビューを示す高レベルブロック図である。オンラインシステム130は、要求管理モジュール410と、テンプレート管理モジュール415と、認識モジュール420と、キー・値識別子モジュール425とを含むモジュールで構成される。オンラインシステム130はまた、フォーム及びテンプレートデータストア450と、キー・値ペアデータストア455とを含む。オンラインシステム130のいくつかの実施形態は、本明細書に記載されるものとは異なるモジュールを有する。同様に、機能は、本明細書で説明される方法とは異なる方法でモジュール間に分散される可能性がある。
【0033】
要求管理モジュール410は、クライアントデバイス110からデジタル文書を処理する要求を受け取り、抽出された情報をその要求のユーザに提供する。具体的には、要求管理モジュール410は、文書の画像を含む要求を受け取ってよく、情報が文書から抽出される前に画像に前処理技術を適用してもよい。例えば要求管理モジュール410は、文書のクロッピング、画像強調技術、スケーリング、翻訳又は回転を実行し、前処理された画像を認識モジュール420に提供してもよい。要求管理モジュール410は、フォーム及びテンプレートデータストア450に文書を記憶し得る。
【0034】
さらに、要求はまた、文書から抽出されるべき1つ以上のフィールドと、該フィールドに対する任意の候補キー又は既知キーを指定する、要求のユーザからのカスタマイズされた文書テンプレートを含み得る。要求管理モジュール410は、カスタマイズされた文書テンプレートを受け取り、該テンプレートをテンプレート管理モジュール415に転送し得る。要求管理モジュール410はまた、受け取った任意のカスタマイズされたテンプレートをフォーム及びテンプレートデータストア450に記憶し得る。
【0035】
オンラインシステム130のモジュールから要求の文書から抽出された情報を受け取ることに応答して、要求管理モジュール410は、この情報を要求のユーザに提供する。具体的には、要求管理モジュール410は、抽出された情報を、適切なフォーマットでユーザに提供することができるキーと値のペアの形態で受け取り得る。一例では、要求管理モジュール410は、キーと値のペアをテキストファイル内のテキストとして提供する。別の例では、要求管理モジュール410は、識別されたキーと値のペアの位置を文書に注釈付けすることによって、キーと値のペアを視覚的に提供する。注釈は、キーと値のペアを囲む長方形である境界ボックスの形態、あるいは文書内のキーと値のペアの実際のテキストの輪郭を描くセグメンテーションの形態であってよい。
【0036】
テンプレート管理モジュール415は、文書のためのテンプレートを作成して管理する。一実施形態では、テンプレート管理モジュール415は、要求とともに添付されたカスタマイズされた文書テンプレートを受け取り、カスタマイズされたテンプレートにいずれかのエラー又は不完全な情報のフラグを立ててもよい。例えばテンプレートは、フィールドのセットを含み得るが、テンプレートのフィールドのうちの1つ以上が、該1つ以上のフィールドに対する候補キーを欠いていることがある。そのような場合、テンプレート管理モジュール415は、例えばオンラインシステム130によって処理された文書の以前のインスタンスに基づいて、フィールドの候補キーを生成してもよい。例えばテンプレート管理モジュール415は、インボイス文書についてオンラインシステム130によって以前に識別されたキーに基づいて、インボイス番号のフィールドに対する候補キーを生成してもよい。
【0037】
別の実施形態では、テンプレート管理モジュール415は、要求についての文書がどのフォームテンプレートにも関連付けられていないと判断することがある。そのような場合、テンプレート管理モジュール415は、例えばオンラインシステム130によって処理された文書の以前のインスタンスに基づいて、文書のテンプレートを作成してもよい。例えばテンプレート管理モジュール415は、同じタイプの文書(例えばインボイス、申請書、政府フォーム)について生成された又は受け取ったテンプレートに基づく文書、同じ発行エンティティに由来する文書、あるいは同じ著者の文書について、フォームテンプレートを生成することができる。テンプレート管理モジュール415は、フォーム及びテンプレートデータストア450にテンプレートを記憶し、それぞれが要求のそれぞれの文書に関連付けられる。
【0038】
認識モジュール420は、要求内に含まれる文書を受け取り、フレーズのセット及び文書上のフレーズの位置を識別する。フレーズは、空間的に互いに近接して配置される文書上の1つ以上の単語のグループとして定義されてよい。一実施形態では、単語間の水平距離が所定の閾値よりも小さい場合、1つ以上の単語のグループが文書上のフレーズとして識別される。認識モジュール420は、光学的文字認識(OCR)又は機械学習モデルの適用のようなテキスト認識方法を実行して、単語及び単語のグループを文書上のフレーズとして識別し得る。認識モジュール420はまた、各フレーズを文書上の位置に関連付ける。例えば認識モジュール420は、フレーズを囲む境界ボックスを生成し、境界ボックスの空間座標をフレーズの位置として決定し得る。空間座標は{xmin,ymin,xmax,ymax}として定義されてよく、ここで、xminは最も左の水平座標であり、yminは最も下の垂直座標であり、xmaxは最も右の水平座標であり、ymaxは境界ボックスの最も上の垂直座標である。
【0039】
キー・値識別子モジュール425は、文書と、その文書に対するフレーズ及びテンプレートのセットを受け取り、キーと値のペアの形態で情報を抽出する。テンプレート内で指定された少なくとも1つのフィールドについて、キー・値識別子モジュール425は、それぞれの文書のフレーズのセットに対するキースコアを決定する。一実施形態では、キー・値識別子モジュール425は、所与のフィールドに対するフレーズのキースコアを、そのフレーズと、そのフィールドに対する候補キーとの間の文字列マッチングに基づいて決定する。一例では、文字列マッチングは、フレーズとフィールドに対する候補キーとの間のファジーマッチングであり、キー・値識別子モジュール425は、フレーズとフィールドの候補キーとの間の、2つのテキスト間の類似性を示すマッチングスコアを生成する。フレーズのキースコアは、候補キーの間の最大マッチングスコアである。
【0040】
キー・値識別子モジュール425はまた、文書のフレーズのセットからフィールドに対する候補値のセットを識別する。一実施形態では、キー・値識別子モジュール425は、フィールドの値のデータ型を決定し、そのデータ型に一致するフレーズのみを選択する。一例では、キー・値識別子モジュール425は、カテゴリのセットを生成し、これらに限定されないが、人名、組織、位置、基数(cardinal numbers)、メディカルコード、時間表現(例えば日付又は時刻)、数量、金銭的価値、パーセンテージ等を含む、1つ以上のカテゴリをフィールドにタグ付けをする。キー・値識別子モジュール425は、名前付きエンティティ認識器(NER、named entity recognizer)モデルを適用して、フレーズがフィールドの1つ以上のカテゴリに一致するカテゴリに属するかどうかを判断し、フィールドの候補値として一致するフレーズのみを選択し得る。
【0041】
キー・値識別子モジュール425は、フレーズのセットから候補値毎に、文書上の候補値に空間的に近い近傍のセットを識別する。一実施形態では、候補値の近傍フレーズは、文書上の候補値の位置から所定の距離内にある空間位置を有するものである。例えば候補値の近傍フレーズは、それぞれの候補値の境界ボックスの領域と大幅に重なる、例えば90%、80%又は70%を超えて重なる境界ボックスを有するものであってもよい。
【0042】
キー・値識別子モジュール425は、候補値と近傍のペアに対する近傍スコアを決定し、ここで、候補値及びそれぞれの近傍に対する近傍スコアは、近傍のキースコアと、候補値に対する近傍の空間関係を示す空間スコアに基づいて決定される。一実施形態では、空間スコアは、距離スコアと角度スコアの組合せ、例えば距離スコアと角度スコアの加重和によって与えられ、以下のように与えられてもよい:
【数1】
ここで、distance
ijは、候補値iの位置(例えば境界ボックスの中心)と文書上の近傍jの位置との間の距離であり、angle
ijは、候補値の位置と文書上の近傍の位置との間の角度であり、αはパラメータである。
【0043】
特に、キー・値識別子モジュール425は、候補値と文書上の近傍の位置との間の距離distanceijの関数として距離スコアを決定し、ここで、一例では、関数は、距離を入力として受け取り、平均0及び標準偏差z1を中心とするガウス分布(又はいずれか他の確率分布)である。同様に、キー・値識別子モジュール425は、候補値の位置と文書上の近傍の位置との間の角度angleijの関数として角度スコアを決定し、ここで、一例では、関数は、角度を入力として受け取り、平均0及び標準偏差z2を中心とするガウス分布(又はいずれか他の確率分布)である。一例では、角度angleijは、アンカー角度のセットに関して候補値iの位置(例えば境界ボックスの中心)と近傍jの位置との間の最小角度距離として与えられ、例えばキー・値のペアが文書上で水平方向に左から右に(例えばアンカー角度0°)又は垂直方向に上下(例えばアンカー角度90°)に配置される可能性が高い場合、アンカー角度のセットは{0°,90°}とすることができる。したがって、空間スコアは、互いに近い距離を有し、かつ文書上で互いに位置合わせされた、候補値と近傍のペアについて増加する。
【0044】
一例では、候補値及びそれぞれの近傍に対する近傍スコアns(・)は以下によって与えられる:
【数2】
ここで、KeyScorejは近傍jのキースコアである。言い換えると、近傍スコアns(・)は、近傍に対するキースコアと、候補値と近傍との間の空間スコアとの組合せによって与えられる。キー・値識別子モジュール425は、候補値の最終的なランキングスコアを、その近傍スコアの最大値として決定してよい。
【0045】
キー・値識別子モジュール425は、ランキングスコアに基づいて候補値及びそれぞれの近傍を選択し、選択された候補値をフィールドの値として設定し、選択された近傍をフィールドのキーとして設定する。例えばキー・値識別子モジュール425は、最も高いランキングスコアを有する候補値と近傍のペアを、そのフィールドの最終的なキーと値のペアとして選択してよい。キー・値識別子モジュール425は、文書テンプレート内で指定された他のフィールドについてこのプロセスを繰り返し、残りの情報をキーと値のペアの形態で抽出する。キー・値識別子モジュール425は、抽出された情報をキー・値ペアデータストア455に記憶し、抽出された情報を要求管理モジュール410に提供し、これにより、要求管理モジュール410はこの情報を要求のユーザに提供することができる。
【0046】
デジタル文書からキー・値ペアを決定する方法
図5は、一実施形態による、フォーム文書におけるキー・値ペアを決定する方法のフローチャートを示す。一実施形態では、
図5のプロセスは、オンラインシステム130の様々なモジュールによって実行される。他の実施形態では、他のエンティティが、プロセスのステップの一部又は全部を実行してもよい。同様に、実施形態は、異なるステップ及び/又は追加のステップを含んでもよく、あるいは異なる順序でステップを実行してもよい。
【0047】
オンラインシステム130は、クライアントデバイスからフォーム画像を受け取り、フォーム画像から抽出すべき1つ以上のフィールドを示すテンプレートを取得する(502)。少なくとも1つのフィールドは、そのフィールドに対する候補キーのセットに関連付けられる。オンラインシステム130は、フォーム画像からフレーズのセットを取得し、文書上のフレーズのセットの位置を取得する(504)。少なくとも1つのフィールドに対して、オンラインシステム130は、フレーズのセットについてキースコアを決定する(506)。フレーズのキースコアは、該フレーズが文書上のフィールドのキーである可能性を示し得る。オンラインシステム130は、フレーズのセットからフィールドについて候補値のセットを識別し、フレーズのセットから各候補値について近傍のセットを識別する(508)。
【0048】
オンラインシステム130は、候補値のセット及び近傍のセットに対する近傍スコアを決定する(510)。候補値及びそれぞれの近傍に対する近傍スコアは、近傍のキースコアと、候補値に対する近傍の空間関係から決定され得る。オンラインシステム130は、閾値を超える近傍スコアに関連付けられる候補値及びそれぞれの近傍を選択し、選択された候補値をフィールドの値として設定し、選択された近傍をフィールドのキーとして設定する(512)。オンラインシステム130は、文書テンプレート内で指定された残りのフィールドについてステップ506からステップ512までを繰り返してよい。
【0049】
コンピュータアーキテクチャ
図6は、一実施形態による、
図1の環境で使用するための典型的なコンピュータシステムのアーキテクチャを示すブロック図である。チップセット604に結合された少なくとも1つのプロセッサ602が図示されている。チップセット604には、メモリ606、ストレージデバイス608、キーボード610、グラフィクスアダプタ612、ポインティングデバイス614及びネットワークアダプタ616も結合されている。ディスプレイ618は、グラフィクスアダプタ612に結合される。一実施形態では、チップセット604の機能性は、メモリコントローラハブ620及びI/Oコントローラハブ622によって提供される。別の実施形態では、メモリ606は、チップセット604の代わりにプロセッサ602に直接結合される。
【0050】
ストレージデバイス608は、ハードドライブ、コンパクトディスク読取専用メモリ(CD-ROM)、DVD又はソリッドステートスメモリデバイスのような非一時的コンピュータ読取可能記憶媒体である。メモリ606は、プロセッサ602によって使用される命令及びデータを保持する。ポインティングデバイス614は、マウス、トラックボール又は他のタイプのポインティングデバイスであってよく、コンピュータシステム600にデータを入力するためにキーボード610と組み合わせて使用される。グラフィクスアダプタ612は、ディスプレイ618上に画像及び他の情報を表示する。ネットワークアダプタ616は、コンピュータシステム600をネットワークに結合する。
【0051】
当技術分野で知られているように、コンピュータ600は、
図6に示されるものとは異なる及び/又は他の構成要素を有することができる。加えて、コンピュータ600は、特定の図示された構成要素を欠いている可能性がある。例えばオンラインシステム130として動作するコンピュータシステム600は、キーボード610及びポインティングデバイス614を欠いていてもよい。さらに、ストレージデバイス608は、コンピュータ600からローカル及び/又はリモートであってもよい(ストレージエリアネットワーク(SAN)内に具現化され得るもの等)。
【0052】
コンピュータ600は、本明細書に記載される機能性を提供するためのコンピュータモジュールを実行するように適合される。本明細書で使用されるとき、「モジュール」という用語は、指定される機能性を提供するためのコンピュータプログラム命令及び他のロジックを指す。モジュールは、ハードウェア、ファームウェア及び/又はソフトウェアで実装され得る。モジュールは、1つ以上のプロセスを含むことができ、かつ/又はプロセスの一部のみによって提供されることができる。モジュールは、典型的に、ストレージデバイス608に記憶され、メモリ606にロードされ、プロセッサ602によって実行される。
【0053】
図1のエンティティによって使用されるコンピュータシステム600のタイプは、実施形態及びエンティティによって使用される処理能力に依存して変化し得る。例えばクライアントデバイス110は、限られた処理能力を有する携帯電話であってもよく、小型ディスプレイ618であってもよく、ポインティングデバイス614を欠いていてもよい。対照的に、オンラインシステム130は、本明細書に記載された機能性を提供するために協働する複数のブレードサーバを含んでよい。
【0054】
追加の考慮事項
本発明の実施形態の前述の説明は、例示の目的で提示されたものであり、網羅的であることも、本発明を開示された正確な形態に限定することも意図されていない。当業者は、上記開示に照らして多くの修正及び変形が可能であることを理解することができる。
【0055】
本説明のいくつかの部分は、情報に対する演算のアルゴリズム及び記号表現に関して本発明の実施形態を説明している。これらのアルゴリズム記述及び表現は、データ処理技術における当業者によって一般的に使用され、彼らの仕事の内容を他の当業者に効果的に伝える。これらの動作は、機能的、計算的又は論理的に説明されているが、コンピュータプログラム又は同等の電気回路、マイクロコード等によって実装されるものと理解される。さらに、一般性を失うことなく、これらの動作の配置をモジュールと呼ぶことが時には便利であることも証明されている。説明される動作及びそれらに関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア又はそれらの任意の組合せで具現化され得る。
【0056】
本明細書に記載されるステップ、動作又はプロセスのいずれかは、単独で又は他のデバイスと組み合わせて、1つ以上のハードウェア又はソフトウェアモジュールで実行又は実装されてもよい。一実施形態では、ソフトウェアモジュールは、コンピュータプログラムコードを含むコンピュータ読取可能媒体を含むコンピュータプログラム製品で実装され、コンピュータプログラムコードは、説明されたステップ、動作又はプロセスのいずれか又はすべてを実行するためにコンピュータプロセッサによって実行され得る。
【0057】
本発明の実施形態はまた、本明細書における動作を実行するための装置にも関連し得る。この装置は、要求された目的のために特別に構築されてよく、かつ/又はコンピュータに記憶されたコンピュータプログラムによって選択的に活性化又は再構成される汎用コンピューティングデバイスを含んでもよい。そのようなコンピュータプログラムは、非一時的な有形のコンピュータ読取可能記憶媒体又はコンピュータシステムバスに結合され得る電子命令を記憶するのに適した任意のタイプの媒体に記憶され得る。さらに、本明細書で言及される任意のコンピューティングシステムは、単一のプロセッサを含み得るか、あるいは増大されたコンピューティング能力のための複数のプロセッサ設計を採用するアーキテクチャであり得る。
【0058】
本発明の実施形態はまた、本明細書に記載されるコンピューティングプロセスによって生成される製品にも関連し得る。そのような製品は、コンピューティングプロセスから得られる情報を含んでよく、ここで、情報は、非一時的な有形のコンピュータ読取可能記憶媒体に記憶されてよく、本明細書に記載されるコンピュータプログラム製品又は他のデータ組合せの任意の実施形態を含み得る。
【0059】
最後に、本明細書で使用される言語は、主に、読みやすさ及び教示目的のために選択されており、本発明に係る主題を画定又は制限するために選択されていない可能性がある。したがって、本発明の範囲は、この詳細な説明によって限定されるのではなく、ここに基づく出願において発行される請求項によって限定されるように意図されている。したがって、本発明の実施形態の開示は、以下の特許請求の範囲で説明される本発明の範囲を例示するものであって、限定するものではない。
【国際調査報告】