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

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

▶ エスアーペー エスエーの特許一覧

特開2022-52716非構造化文書からのセマンティックデータの照会
<>
  • 特開-非構造化文書からのセマンティックデータの照会 図1A
  • 特開-非構造化文書からのセマンティックデータの照会 図1B
  • 特開-非構造化文書からのセマンティックデータの照会 図2A
  • 特開-非構造化文書からのセマンティックデータの照会 図2B
  • 特開-非構造化文書からのセマンティックデータの照会 図2C
  • 特開-非構造化文書からのセマンティックデータの照会 図2D
  • 特開-非構造化文書からのセマンティックデータの照会 図3
  • 特開-非構造化文書からのセマンティックデータの照会 図4
  • 特開-非構造化文書からのセマンティックデータの照会 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022052716
(43)【公開日】2022-04-04
(54)【発明の名称】非構造化文書からのセマンティックデータの照会
(51)【国際特許分類】
   G06F 16/33 20190101AFI20220328BHJP
   G06V 30/412 20220101ALI20220328BHJP
   G06V 30/14 20220101ALI20220328BHJP
   G06V 30/194 20220101ALI20220328BHJP
   G06V 30/42 20220101ALI20220328BHJP
【FI】
G06F16/33
G06K9/20 340C
G06K9/20 340K
G06K9/66
G06K9/00 K
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021117559
(22)【出願日】2021-07-16
(31)【優先権主張番号】17/029,180
(32)【優先日】2020-09-23
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】300015447
【氏名又は名称】エスアーペー エスエー
【住所又は居所原語表記】Dietmar-Hopp-Allee 16, 69190 Walldorf, Germany
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ヨハネス・ヘーン
(72)【発明者】
【氏名】クリスティアン・ライスヴィヒ
【テーマコード(参考)】
5B029
5B064
5B175
【Fターム(参考)】
5B029AA01
5B029BB02
5B029CC26
5B029CC28
5B064AA01
5B064AB02
5B064BA01
5B064CA08
5B064DA27
5B064DA32
5B064EA21
5B064EA27
5B175DA01
5B175FA01
5B175FB04
5B175GA03
(57)【要約】
【課題】文書用語を照会し、文書からターゲットデータを識別するためのシステム、方法、およびコンピュータプログラム製品を提供する。
【解決手段】一実施形態では、文書処理システムは、文書およびクエリ文字列を受信し得る。文書処理システムは、文書の文字情報および文字の位置情報を取得するために、光学式文字認識を実行し得る。文書処理システムは、文書の2次元文字グリッドを生成し得る。文書処理システムは、クエリ文字列に対応する文書からターゲットデータを識別するために、畳み込みニューラルネットワークを文字グリッドおよびクエリ文字列に適用し得る。次いで、畳み込みニューラルネットワークは、ターゲットデータを識別するために、セグメンテーションマスクおよび/または境界ボックスをもたらし得る。
【選択図】図5
【特許請求の範囲】
【請求項1】
文書に対して光学式文字認識を実行するステップと、
前記光学式文字認識から取得された文字情報を使用して文字グリッドを生成するステップであって、前記文字グリッドが、前記文書の2次元のダウンサンプリングされたバージョンである、ステップと、
畳み込みニューラルネットワーク(CNN)を前記文字グリッドとクエリ文字列に適用するステップと、
前記適用に応じて、前記クエリ文字列に対応する前記文書のターゲットデータを識別するセグメンテーションマスクを生成するステップと
を備える、コンピュータ実装方法。
【請求項2】
適用する前記ステップが、
前記CNNの第1のエンコーダを前記文字グリッドに適用することによって、符号化された文字グリッドを生成するステップと、
前記CNNの第2のエンコーダを前記クエリ文字列に適用することによって、特徴ベクトルを生成するステップと
をさらに備える、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記特徴ベクトルを生成するステップが、
前記クエリ文字列に対応する特徴ベクトルのシーケンスをプールするステップをさらに備える、請求項2に記載のコンピュータ実装方法。
【請求項4】
適用する前記ステップが、
ターゲットデータを識別する前記セグメンテーションマスクを生成するために、前記符号化された文字グリッドと前記特徴ベクトルにデコーダを適用するステップをさらに備える、請求項2に記載のコンピュータ実装方法。
【請求項5】
適用する前記ステップが、
前記符号化された文字グリッドに第1のデコーダを適用することによって、中間セグメンテーションマスクを生成するステップと、
ターゲットデータを識別する前記セグメンテーションマスクを生成するために、前記CNNの第2のデコーダを、前記文字グリッド、前記中間セグメンテーションマスク、および前記特徴ベクトルに適用するステップと
をさらに備える、請求項2に記載のコンピュータ実装方法。
【請求項6】
前記中間セグメンテーションマスクが、前記文書から1つまたは複数のキーと値のデータのペアを識別する、請求項5に記載のコンピュータ実装方法。
【請求項7】
前記第2のデコーダが単一の畳み込み層を備える、請求項5に記載のコンピュータ実装方法。
【請求項8】
メモリと、
前記メモリに結合され、
文書に対して光学式文字認識を実行することと、
前記光学式文字認識から取得された文字情報を使用して文字グリッドを生成することであって、前記文字グリッドが、前記文書の2次元のダウンサンプリングされたバージョンである、生成することと、
畳み込みニューラルネットワーク(CNN)を前記文字グリッドとクエリ文字列に適用することと、
前記適用に応じて、前記クエリ文字列に対応する前記文書のターゲットデータを識別するセグメンテーションマスクを生成することと
を行うように構成される少なくとも1つのプロセッサと
を備えるシステム。
【請求項9】
前記CNNを適用するために、前記少なくとも1つのプロセッサが、
前記CNNの第1のエンコーダを前記文字グリッドに適用することによって、符号化された文字グリッドを生成することと、
前記CNNの第2のエンコーダを前記クエリ文字列に適用することによって、特徴ベクトルを生成することと
を行うようにさらに構成される、請求項8に記載のシステム。
【請求項10】
前記特徴ベクトルを生成するために、前記少なくとも1つのプロセッサが、
前記クエリ文字列に対応する特徴ベクトルのシーケンスをプールするようにさらに構成される、請求項9に記載のシステム。
【請求項11】
前記CNNを適用するために、前記少なくとも1つのプロセッサが、
ターゲットデータを識別する前記セグメンテーションマスクを生成するために、前記符号化された文字グリッドと前記特徴ベクトルにデコーダを適用するようにさらに構成される、請求項9に記載のシステム。
【請求項12】
前記CNNを適用するために、前記少なくとも1つのプロセッサが、
前記符号化された文字グリッドに第1のデコーダを適用することによって、中間セグメンテーションマスクを生成することと、
ターゲットデータを識別する前記セグメンテーションマスクを生成するために、前記CNNの第2のデコーダを、前記文字グリッド、前記中間セグメンテーションマスク、および前記特徴ベクトルに適用することと
を行うようにさらに構成される、請求項9に記載のシステム。
【請求項13】
前記中間セグメンテーションマスクが、前記文書から1つまたは複数のキーと値のデータのペアを識別する、請求項12に記載のシステム。
【請求項14】
前記第2のデコーダが単一の畳み込み層を備える、請求項12に記載のシステム。
【請求項15】
少なくとも1つのコンピューティングデバイスによって実行されると、前記少なくとも1つのコンピューティングデバイスに、
文書に対して光学式文字認識を実行することと、
前記光学式文字認識から取得された文字情報を使用して文字グリッドを生成することであって、前記文字グリッドが、前記文書の2次元のダウンサンプリングされたバージョンである、生成することと、
畳み込みニューラルネットワーク(CNN)を前記文字グリッドとクエリ文字列に適用することと、
前記適用に応じて、前記クエリ文字列に対応する前記文書のターゲットデータを識別するセグメンテーションマスクを生成することと
を備える動作を実行させる命令が記憶された非一時的なコンピュータ可読記録媒体。
【請求項16】
前記適用することが、
前記CNNの第1のエンコーダを前記文字グリッドに適用することによって、符号化された文字グリッドを生成することと、
前記CNNの第2のエンコーダを前記クエリ文字列に適用することによって、特徴ベクトルを生成することと
をさらに備える、請求項15に記載の非一時的なコンピュータ可読記録媒体。
【請求項17】
前記特徴ベクトルを生成することが、
前記クエリ文字列に対応する特徴ベクトルのシーケンスをプールすることをさらに備える、請求項16に記載の非一時的なコンピュータ可読記録媒体。
【請求項18】
前記適用することが、
ターゲットデータを識別する前記セグメンテーションマスクを生成するために、前記符号化された文字グリッドと前記特徴ベクトルにデコーダを適用することをさらに備える、請求項16に記載の非一時的なコンピュータ可読記録媒体。
【請求項19】
前記適用することが、
前記符号化された文字グリッドに第1のデコーダを適用することによって、中間セグメンテーションマスクを生成することと、
ターゲットデータを識別する前記セグメンテーションマスクを生成するために、前記CNNの第2のデコーダを、前記文字グリッド、前記中間セグメンテーションマスク、および前記特徴ベクトルに適用することと
をさらに備える、請求項16に記載の非一時的なコンピュータ可読記録媒体。
【請求項20】
前記中間セグメンテーションマスクが、前記文書から1つまたは複数のキーと値のデータのペアを識別し、前記第2のデコーダが単一の畳み込み層を備える、請求項19に記載の非一時的なコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
文書からの構造化された情報の抽出を自動化するシステムが作成されている。これらのシステムは通常、文書から値を識別して抽出するために、あらかじめトレーニングされたモデルを使用して文書からあらかじめ定義されたクラス情報を抽出する。基礎となる機械学習モデルは、所望の値を示す歴史的な例を使用してトレーニングされている可能性がある。たとえば、機械学習モデルは、多くの請求書トレーニングの例を使用して、請求書文書の合計金額を識別するようにトレーニングされ得る。しかしながら、この従来の抽出技法は、異なる値が所望される場合には不十分である。たとえば、ユーザが請求書からシリアル番号を抽出しようとしても、機械学習モデルは合計金額値を抽出するようにトレーニングされているだけである可能性がある。このように、従来のデータ抽出技法は、所望のデータを抽出する柔軟性を欠いている。
【0002】
添付の図面は本明細書に組み込まれ、本明細書の一部を形成する。
【図面の簡単な説明】
【0003】
図1A】いくつかの実施形態による、例示的な文書処理環境のブロック図である。
図1B】いくつかの実施形態による、別個のデコーダを備えた例示的な文書処理環境のブロック図である。
図2A】いくつかの実施形態による、例示的な文書のブロック図である。
図2B】いくつかの実施形態による、例示的な文字処理フローのブロック図である。
図2C】いくつかの実施形態による、ターゲットデータを識別する例示的なセグメンテーションマスクのブロック図である。
図2D】いくつかの実施形態による、キーと値のペアを識別する例示的なセグメンテーションマスクのブロック図である。
図3】いくつかの実施形態による、ターゲットデータを識別するための方法を示すフローチャートである。
図4】いくつかの実施形態による、別個のデコーダを使用してターゲットデータを識別するための方法を示すフローチャートである。
図5】様々な実施形態を実装するために有用な例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【0004】
図面において、同様の参照番号は一般に同一または類似の要素を示す。さらに、一般に、参照番号の左端の桁は、参照番号が最初に表示される図面を識別する。
【0005】
本明細書で提供されるのは、文書用語を照会し、文書からターゲットデータを識別するための、システム、装置、デバイス、方法、および/またはコンピュータプログラム製品の実施形態、ならびに/あるいはそれらの組合せおよびサブ組合せである。
【0006】
一実施形態では、文書処理システムは、クエリ用語を処理し、文書から対応するターゲットデータを抽出するために、機械学習技法を使用し得る。文書処理システムは、文書およびクエリ文字列を受信し得る。次いで、文書処理システムは、クエリ文字列によって識別されるターゲットデータを抽出するために、文書およびクエリ文字列を処理し得る。たとえば、文書は請求書文書であり得、クエリ文字列は「車ID(Car-ID)」シリアル番号を検索し得る。次いで、文書処理システムは、請求書において指定された「車ID」シリアル番号を識別するために、文書とクエリ文字列を処理し得る。文書処理システムはまた、同じ結果を返すようにクエリ文字列を一般化し得る。以下でさらに説明するように、文書処理システムは、「車番号(Car#)」、「自動ID(AutoID)」、または「車番号(car number)」などの同様のクエリ文字列を受信して処理し、同じ結果を返すことができる。
【0007】
文書処理システムは、深層学習、文書理解、および視覚的オブジェクト検出技法を活用することによって、文書からセマンティック情報を照会するための柔軟な手法を提供し得る。文書処理システムは、文字グリッド表現を使用して文書を処理し得、これは、テキストセマンティクスならびに2次元レイアウト情報を識別するのに役立つ可能性がある。文書の構造化ならびに文書のコンテンツに関連するこの情報は、ニューラルネットワークによる処理のための深い構造を提供し得る。この情報を処理することで、ニューラルネットワークが文書の豊富な2次元表現を構築できるようになる可能性がある。この表現と構造により、機械学習モデルは、関連情報を含むターゲットの場所を識別するために、受信したクエリ文字列を文書のローカルコンテンツと照合できるようになる可能性がある。
【0008】
このように、文書処理システムは、その機械学習モデルがこれまで公開されていなかった可能性のあるクラス情報を抽出し得る。このように、文書処理システムは、ターゲットデータを識別するために、文書の識別された2次元構造を使用し得る。さらに、この2次元構造の処理は、類似しているが一致しない用語を識別するのにさらに役立つ可能性がある。たとえば、文書処理システムは、「車ID」のクエリ用語を一般化し、文書自体において指定されている「車のシリアル番号(Serial Number of Car)」の関連用語を識別するために、この構造を使用し得る。このように、文書処理システムは、クエリ文字列が完全に一致しない場合でも、文書のコンテンツを識別し得る。
【0009】
以下でさらに説明するように、文書処理システムは、クエリを処理し、文書からターゲットデータを抽出するために、畳み込みニューラルネットワークを使用し得る。文書処理システムは、キーと値のペアを識別し得る。キーは、データのカテゴリ表現(たとえば、「車のシリアル番号」)に対応し得、その対応する値は、実際のデータ(たとえば、「ABC1654」)であり得る。これらのペアは、データのカテゴリをそれらの対応する値で識別し得る。文書処理システムはまた、文字のグループを識別するのを助けるために、単語ボックスの形で文書のコンテンツに関連する位置情報を識別し得る。キーと値のペアおよび/または位置データを使用して、文書処理システムは、関連するデータを抽出するために、文書理解および/またはセマンティックセグメンテーション技法を適用し得る。
【0010】
以下でさらに説明するように、文書処理システムは、位置情報およびテキスト情報を維持しながら、文書の符号化を可能にするために、文書の文字グリッド表現を生成し得る。次いで、文書処理システムは、第2のエンコーダでクエリ文字列を符号化しながら、第1のエンコーダで文字グリッドを符号化し得る。所望の構成に応じて、文書処理システムのニューラルネットワークは、次いで、異なるデコーダ構成を使用して、この符号化されたデータを処理し得る。
【0011】
いくつかの実施形態では、ニューラルネットワークは単一のデコーダを使用し得る。2つのエンコーダの出力は、単一のデコーダに入る前にマージされ得る。次いで、デコーダは、ターゲットデータを識別するセグメンテーションマスクを出力し得る。たとえば、セグメンテーションマスクは、抽出される情報を含む領域を指定するターゲットデータクラスだけでなく、バックグラウンドクラスも指定し得る。
【0012】
いくつかの実施形態では、ニューラルネットワークは複数のデコーダを使用し得る。たとえば、文字グリッドエンコーダの出力は、キーと値のペアを有するセグメンテーションマスクを生成する第1のデコーダに入力され得る。このセグメンテーションマスクは、バックグラウンドクラス、「キー(key)」クラス(たとえば、「請求日(Invoice Date)」)、および「値(value)」クラス(たとえば、「2020年2月2日」)を含む複数のクラスを含み得る。次いで、このセグメンテーションマスクは、クエリ文字列および文字グリッドに対応するエンコーダ出力とマージされ、別のデコーダに渡され得る。この他のデコーダは、軽量デコーダであり得る。次いで、このデコーダは、クエリ文字列キーに対応する所望の「値」を出力し得る。
【0013】
これらのデコーダ構成は、精度と効率に向けられたいくつかの利点を提供し得る。たとえば、単一のデコーダを使用する場合、処理はエンドツーエンドであり得、入力クエリ文字列(すなわち、キー)に属するフィールドの値にラベルまたは注釈付きボックスを使用する場合がある。このように、この構成はラベル効率が高くなる可能性がある。複数のデコーダを使用すると、モデルを微調整できるという利点があり得る。たとえば、複数のデコーダを使用すると、完全なデコーダブランチの調整を回避できる場合がある。これにより、最適化可能なパラメータが大量にあるため、計算ワークロードならびに多くのトレーニングサンプルの処理を節約することができる。むしろ、第2の軽量デコーダは、第1のデコーダと比較してより少ないパラメータを有する可能性がある。このように、新しいドメインを微調整する場合、トレーニングとトレーニングサンプルの使用はより効率的であり得、必要な計算オーバーヘッドが少なくて済む。このトレーニングに使用され得るトレーニングサンプルは少なくなる。
【0014】
次に、これらの機能の様々な実施形態について、対応する図面に関して説明する。
【0015】
図1Aは、いくつかの実施形態による、文書処理環境100Aを示すブロック図を示す。文書処理環境100Aは、文書処理システム110Aを含む。文書処理システム110Aは、1つまたは複数のプロセッサを使用して実装され得、ならびに/あるいはハードウェアおよび/またはソフトウェアを含み得、文書を処理するように構成され得る。文書処理システム110Aは、光学式文字認識(OCR)スキャナ130、畳み込みニューラルネットワーク(CNN)140A、境界ボックス検出器150、および/またはセマンティックセグメンテーションジェネレータ160を含み得る。文書処理システム110Aは、処理のために文書120を受信し得る。文書120は、画像、PDF、ワードプロセッシング文書、文書ファイル、および/あるいは他の視覚的表現またはデータの明示であり得る。文書120の例は、請求書、取扱説明書、および/またはスライドショープレゼンテーションを含み得る。
【0016】
一実施形態では、文書処理システム110Aは、文書120を受信し、文書120からセマンティック情報および/またはデータを決定するように構成されたスタンドアロンシステムであり得る。文書処理システム110Aは、このセマンティックデータをメモリデバイスおよび/またはデータベースに記憶し得る。一実施形態では、文書処理システム110Aは、別個のシステムと通信し得る。文書処理システム110Aは、抽出されたターゲットデータを別個システムに送信し得る。一実施形態では、文書処理システム110Aは、別のシステムと統合され得る。たとえば、文書処理システム110Aは、より大きいシステムの構成要素として機能し得る。この実施形態では、文書処理システム110Aは、より大きいシステムによって指示された場所から文書120を受信し得る。一実施形態では、より大きいシステムは、文書処理システム110Aに、識別されたセマンティック情報を特定の場所に向けるように指示し得る。
【0017】
文書処理システム110Aは、受信した文書120から関連情報を識別するように構成され得る。CNN140Aによって確立されたアプリケーションおよび/またはパラメータに応じて、文書処理システム110Aは、文書120からターゲットデータを抽出するように構成され得る。このターゲットデータは、受信したクエリ文字列170に基づいて識別され得る。上記のように、文書処理システム110Aの実装形態に応じて、クエリ文字列170は、外部システムから受信され得、および/または文書処理システム110Aと統合されたシステムから受信され得る。いくつかの実施形態では、クエリ文字列170は、文字列であってもよく、および/または文字列を識別するために文書処理システム110Aによって解析されるコンピュータコマンドであってもよい。クエリ文字列170は、文書120から抽出される所望のデータを示し得る。
【0018】
文書120の例が図2Aに示されている。図2Aは、いくつかの実施形態による、例示的な文書200Aを示すブロック図を示している。一実施形態では、文書200Aは請求書であり得、文書処理システム110Aによって分析され得る。一実施形態では、文書200Aは、名前、アドレス、文書識別子、ヘッダ、ラインアイテム、要約説明、署名ブロック、価格、コスト、および/または他の情報などの情報を含み得る。一実施形態では、文書200Aは、対応する値215、225、および235を有する識別子210、220、および230を含み得る。識別子210、220、および230は、関心のあるカテゴリおよび/またはクラスを説明する1つまたは複数の文字であり得るが、値215、225、および235は、クエリ文字列170によって指定されたキーに対応する文書200Aのコンテンツであり得る。たとえば、識別子210は、データのクラスに対応するキータイプを示すヘッダであり得る。識別子210は、文書200Aが請求書であることを示し得る。文書200Aの2次元レイアウト情報とともに識別子210を使用して、文書処理システム110Aは、対応する値215を文書番号として識別し得る。クエリ文字列170によって示される所望の情報に応じて、この値215は、文書処理システム110Aによって返され得る。文書処理システム110Aはまた、値225として示されるような自動車のシリアル番号および/または値235として示されるような合計金額などの他の値を返し得る。
【0019】
文書120を処理し、クエリ文字列170に基づいてターゲットデータを抽出するために、文書処理システム110Aは、文書120をファイルまたは描写された画像として検索し得る。一実施形態では、文書処理システム110Aを制御する別個のシステムは、文書処理システム110Aを文書120に適用することを選択し得る。文書処理システム110A内で設定されたパラメータに基づいて、および/または別個のシステムによって確立された新しいパラメータに基づいて、文書処理システム110Aは、クエリ文字列170に基づいて文書200Aから所望のデータを識別および抽出し得る。たとえば、文書処理システム110Aは、製品の説明、購入の数量、購入の価格、または購入の金額などの請求書情報を抽出し得る。同様に、文書処理システム110Aは、要約販売情報および/または指名されたエンティティ情報を識別し得る。
【0020】
図1Aに戻ると、文書120を処理するために、文書処理システム110Aは、OCRスキャナ130を適用し得る。OCRスキャナ130は、文書処理システム110Aの1つまたは複数のプロセッサによって実行されるモジュールであり得る。OCRスキャナ130は、たとえば、文書120から文字の1Dシーケンスを抽出するために、文書を分析し得る。一実施形態では、OCRスキャナ130は、文書120の文字に関連する文字列情報および/または位置情報を抽出し得る。一実施形態では、文書120は、2Dレイアウト情報および/またはメタデータを含み得る。OCRスキャナ130は、文書120をスキャンする際にこのメタデータを識別し得る。
【0021】
一実施形態では、OCRスキャナ130は、文書120内の単語境界ボックスを決定し得る。単語境界ボックスは、単語によって占められるピクセル領域(たとえば、幅×高さ)を表し得る。たとえば、図2Bを参照すると、OCRスキャナ130は、文書120内の文字列205Aを識別し得る。OCRスキャナ130は、この文字列205A内の2つの別個の単語を「invoice(請求書)」および「34289」として識別し得る。一実施形態では、OCRスキャナ130は、これらの単語を認識し、各単語を単語境界ボックスに関連付けることができる。OCRスキャナ130はまた、文書120内の単語境界ボックスの位置を識別し得る。たとえば、OCRスキャナ130は、座標系または相対的なピクセル位置を利用し得る。
【0022】
一実施形態では、OCRスキャナ130は、単語ボックスを文字ボックスに分割し、文字列205Aを文字列205Bに変換し得る。たとえば、OCRスキャナ130は、単語境界ボックス内のピクセルが独特な文字を含むことを識別し得る。このように、OCRスキャナ130は、単語ボックスを文字ボックスに変換し得る。この分割は、文字に関連する位置情報を維持する場合がある。
【0023】
一実施形態では、OCRスキャナ130は、文字ボックスを直接識別し得る。たとえば、OCRスキャナ130は、最初に単語ボックスを識別することなく、文書120から文字およびピクセル寸法を抽出し得る。一実施形態では、OCRスキャナ130は、文字ボックスおよび/または単語ボックスを識別するために、文書120に関連付けられるメタデータを利用し得る。OCRスキャナ130によって実行される分析に基づいて、文書処理システム110Aは、文書120の特定の文字、文字によって占められる領域、および/または文字の位置を認識し得る。
【0024】
OCRスキャナ130によって導出された情報を使用して、文書処理システム110Aは、文字グリッドを生成し得る。OCRスキャナ130および/または文書処理システム110Aの1つまたは複数のプロセッサは、文字グリッドを生成し得る。文字グリッドは、文書120の2次元のダウンサンプリングされたバージョンを表し得る。文字グリッドは、文書120の文字に対応するグリッドセルを備え得る。前に説明したように、文書120の文字グリッド表現は、機械学習アルゴリズムまたはニューラルネットワークが文書120をより迅速に分析することを可能にし得る。
【0025】
文字グリッドを生成するために、文書処理システム110Aは、文書120の文字をインデックス値で置き換えることができる。インデックス値は、マッピング機能に従って割り当てられ得る。一実施形態では、インデックス値は、最近隣補間を使用するダウンサンプリングを介して割り当てられ得る。一実施形態では、文書処理システム110Aは、文字をインデックス値にマッピングするために辞書を利用し得る。一実施形態では、インデックス値はベクトルであり得る。文書処理システム110Aは、たとえば、Word2vecなどのモデル技法を使用してベクトルを生成し得る。文字のインデックス値を生成することにより、文書処理システム110Aが、中に含まれる文字のインデックス値を有する文字グリッドをコンパイルすることが可能になる。
【0026】
図2Bは、文字境界ボックスを備えた文字列205Bの、文字に対応するインデックス値を有する文字列205Cへの変換を実証する例示的な実施形態を示している。一実施形態では、インデックス値は、文字によって占められるピクセル領域を置き換えることができる。インデックス値表現を使用して、文字グリッドは、文書120のピクセルと比較して著しく少ないスペースを利用し得る。この変換を使用して、文書処理システム110Aは、文書120を複数のインデックス値を有する文字グリッドにダウンサンプリングすることができる。これらのインデックス値はロスレスである可能性があり、文書120よりもサイズが小さいが、文字情報を失わない文字グリッドを生成する可能性がある。このロスレス変換を維持しながら、文書処理システム110Aは、機械学習アルゴリズムによってより容易に処理され得る2D文字グリッドを生成することができる。
【0027】
一実施形態では、文書処理システム110Aは、文書120の各文字にインデックス値を割り当てることができる。インデックス値の位置情報とともに集合的なインデックス値は、文字グリッドを備え得る。一実施形態では、文字グリッドは、N個のチャネル入力画像を生成するために1ホット符号化され得、Nは、可能な「バックグラウンド」クラスを含むインデックス付けされた文字の数に対応する。バックグラウンドクラスは、たとえば、文書120のバックグラウンドまたは「空白」を参照し得る。一実施形態では、計算上の理由でチャネルの数を減らすために、文書処理システム110Aは、インデックスハッシュを適用し得る。いくつかの実施形態では、文字グリッドは、多くのチャネルを有する画像と見なされ得る。
【0028】
図2Bは文字の長方形表現を示しているが、一実施形態では、文書処理システム110Aは、表現のために他の形式を追加的または代替的に利用し得る。たとえば、文書処理システム110Aは、2D長方形ウィンドウ関数ではなく、1ホット符号化空間における連続分布を使用して文字を表し得る。この場合、文字に対応するチャネル内の文字によって占められるピクセル領域は、文字の中心位置の「1」の値から、文字が占める領域の端に向かって「ゼロ」にスムーズに落ちる可能性がある。たとえば、この表現はガウス分布に類似しているように見える場合がある。分布は文字境界において切り捨てられる場合がある。
【0029】
一実施形態では、ガウス分布は、隣接するグリッドセルをカバーし得る。この場合、文字が隣接する文字と重複する場合がある。これが発生した場合、変換は1ホット符号化からマルチホット符号化に変わる可能性がある。この非長方形表現モデルを使用することによって、文書処理システム110Aは、機械学習アルゴリズムを適用する際に、より良い局所依存性を潜在的に学習する可能性がある。
【0030】
一実施形態では、文字グリッドは、1ホット符号化空間においてさらにダウンサンプリングされ得る。以前は1つのグリッドセルを占めていた文字が、サブセルレベルで「1」未満の値によって表され得るようになった。この表現は、グリッドセルの双一次補間から生じる可能性がある。
【0031】
文書120の文字グリッド表現を生成した後、文書処理システム110Aは、文字グリッド入力を畳み込みニューラルネットワーク(CNN)140Aに適用し得る。CNN140Aは、クエリエンコーダ142A、文書エンコーダ142B、および/またはデコーダ144を含み得る。CNN140Aは、人工知能ネットワークであってもよく、および/または文書120の所望の文字および/または態様を識別するために機械学習アルゴリズムを適用してもよい。CNN140Aは、提供されたクエリ文字列170を、デコーダとマージすることができる埋込み空間に符号化するために、クエリエンコーダ142Aを使用し得る。クエリ文字列170は、文字のシーケンス、単語の断片のシーケンス、単語のシーケンス、および/またはこれらの文字の組合せであり得る。これらの文字またはトークンは、たとえば、word2vec、GloVe、またはたとえばBERTなどの言語モデルを使用して、1ホット符号化されてもよく、トークン埋込み空間に埋め込まれてもよい。このトークン埋込みのシーケンスは、1つまたは複数の畳み込み層、双方向LSTM層、および/または組合せ層によってさらに処理され得る。クエリエンコーダ142Aの出力は、特徴ベクトルにプールされた特徴ベクトルのシーケンスであり得る。特徴ベクトルのシーケンスは、入力トークンごとに1つとして生成され得る。いくつかの実施形態では、クエリエンコーダ142Aは、たとえば、最大プーリングまたは平均プーリング技法を使用して、これらの特徴ベクトルを特徴ベクトルにプールし得る。
【0032】
CNN140Aは、文書120に基づいて生成された文字グリッドを処理するための文書エンコーダ142Bを含み得る。文書エンコーダ142Bは、文書120の文字グリッド表現を処理するために、コンピュータビジョンおよび/またはセマンティックセグメンテーション技法を使用し得る。たとえば、文書エンコーダ142Bは、セマンティック意味を決定し、キー値、および/またはテーブル情報を抽出する際に助けることができる。文字グリッドはインデックス値を利用するため、CNN140Aは、処理文書120に関連して文字グリッドを迅速に処理し得る。たとえば、CNN140Aは、文書120がすでにより単純な形式に変換されているため、コンピュータビジョン技法または自然言語処理技法をより迅速に採用し得る。
【0033】
いくつかの実施形態では、クエリエンコーダ142A、文書エンコーダ142B、および/またはデコーダ144を実装するために、CNN140Aは、畳み込み層の1つまたは複数のブロックを適用し得る。いくつかの実施形態では、各畳み込みブロックは、1つまたは複数の畳み込み層を含み得る。これらの畳み込み層は、クエリエンコーダ142Aおよび/または文書エンコーダ142Bにおけるダウンサンプリングおよび/またはプーリング動作に使用され得る。同様に、畳み込み層は、デコーダ144におけるアップサンプリング動作に使用され得る。動作は、各ブロックの後または前に実行され得る。
【0034】
クエリエンコーダ142Aおよび文書エンコーダ142Bの出力は、マージされて、デコーダ144に適用され得る。いくつかの実施形態では、クエリエンコーダ142Aによって生成された特徴ベクトルは、文書エンコーダ142Bによって生成され、デコーダ144に適用される符号化された文字グリッドと融合され得る。CNN140Aは、それぞれのデコーダ入力解像度で各ピクセルの特徴ベクトルを生成し得る。この解像度は、符号化された文字グリッドに対応するダウンサンプリングされたエンコーダ解像度である可能性がある。このように、画像全体にわたって複製された同じ特徴ベクトルを有する2次元画像がデコーダ入力として使用され得る。デコーダ入力は、連結および/または一緒に追加され得る。このように、デコーダ144は、文書エンコーダ142Bの出力、ならびに2次元クエリ文字列エンコーダ特徴ベクトルの2つの入力を受信し得る。
【0035】
次いで、これらの入力を使用して、デコーダ144は、クエリ文字列170によって指定されたターゲットデータを識別し得る。デコーダ144は、符号化の結果をアップサンプリングするために、転置畳み込み、デコンボリューション、またはフラクショナルストライド畳み込みを実行し得る。このように、デコーダ144は、新たに決定されたインデックス値をピクセル位置表現にアップサンプリングし得る。アップサンプリングによって、ユーザが文書処理システム110Aの出力を、文書120をカバーするマスクとして見ることを可能にし得る。このマスクは、文書120上のオーバーレイであってもよく、別個に存在してもよい。ピクセル表現を使用して、ユーザは表示画面を介してセマンティック情報を見ることができる。いくつかの実施形態では、文書処理システム110Aは、ターゲットデータをテキスト文字列として抽出し得る。
【0036】
文字グリッドおよびクエリ文字列170を処理した後、CNN140Aは、ターゲットデータを識別するために、境界ボックス検出器150および/またはセマンティックセグメンテーションジェネレータ160を利用し得る。一実施形態では、セマンティックセグメンテーションジェネレータ160は、クエリ文字列170に対応する文字または単語を示すセグメンテーションマスクをもたらし得る。図2Cは、図2Aに示される文書200Aの例示的なセグメンテーションマスク200Cの例示的な実施形態を示している。セグメンテーションマスク200Cは、バックグラウンドクラス240A、240Bおよび/またはターゲットデータクラス245を含み得る。バックグラウンドクラス240A、240Bは、クエリ文字列170によって求められるターゲットデータではない文書200Aの部分を表し得る。たとえば、バックグラウンドクラス240A、240Bは、文書200Aおよび/またはターゲットデータに対応しないデータ内の「空白」を識別し得る。対照的に、ターゲットデータクラス245は、クエリ文字列170に対応する文書の部分を示し得る。いくつかの実施形態では、セグメンテーションマスク200Cは、文書200Aの部分をそれらの対応するクラスで特徴付けるために、パターンおよび/または色を使用し得る。セグメンテーションマスク200Cは、文書処理システム110Aのユーザに見えてもよく、および/またはフォーマットされたファイルであってもよい。一実施形態では、セグメンテーションマスク200Cは、クラスごとに異なるパターンを利用し得る。
【0037】
セグメンテーションマスク200Cは、ターゲットデータクラス245に対応するデータのインスタンスを含むが、いくつかの実施形態では、セグメンテーションマスク200Cは、クラスの複数のインスタンスをさらに識別し得る。この場合、文書処理システム110Aはまた、境界ボックス検出器150を使用して境界ボックスマスクを生成し得る。境界ボックス検出器150は、クラスの異なるインスタンスを識別するのを助けることができる。境界ボックス検出器150は、このプロセスを助けるために境界ボックスマスクをもたらし得る。境界ボックスマスクは、ターゲットデータクラス245の異なるインスタンスを視覚的に識別し得る境界ボックスを含み得る。アプリケーションに基づいて、ターゲットデータクラス245のインスタンスを区別することは、文書120のコンテンツをより正確に分析するのに役立つ可能性がある。
【0038】
文書120の文字グリッド表現を用いてクエリ文字列170を処理することによって、文書処理システム110Aは、従来のコンピュータビジョン技法を文書に適用することと比較して、セグメンテーションマスク200Cおよび/または境界ボックスマスクを迅速に生成し得る。文書処理システム110Aは、クエリ文字列170への応答として、セグメンテーションマスク200C、境界ボックスマスク、および/またはセグメンテーションマスク200Cによって識別される特定のターゲットデータ値を返すことができる。このように、文書処理システム110Aは、文書120からのコンテンツの照会および識別を容易にし得る。次いで、文書処理システム110Aは、結果として生じるデータを、クエリ文字列170を提供するシステムに返すことができる。いくつかの実施形態では、文書処理システム110Aは、クエリ文字列170、文書120、および/または文書120のOCRバージョンとともに、セグメンテーションマスク200Cおよび/または境界ボックスマスクを記憶し得る。文書処理システム110Aは、文書に関連するさらなる分析を実行するために、この情報を他のシステムが利用できるようにし得る。いくつかの実施形態では、文書処理システム110Aは、ソフトウェアアプリケーションにおいてこの情報を利用し得、ならびに/あるいはユーザ操作のためにセグメンテーションマスク200Cおよび/または境界ボックスマスクを表示画面に表示し得る。文書処理システム110Aを利用して、コンピュータシステムは、クエリ文字列170に対応する文書120の関連するコンテンツを容易に認識し得る。
【0039】
図1Bは、いくつかの実施形態による、別個のデコーダ144A、144Bを備えた例示的な文書処理環境100Bのブロック図を示す。図1Aを参照して説明した文書処理環境100Aと同様に、文書処理環境100Bは、文書処理システム110Aと同様の文書処理システム110Bを含む。文書処理システム110Bは、同様に、受信したクエリ文字列170に基づいて、文書120からターゲットデータを抽出する。文書処理システム110Bはまた、光学式文字認識スキャナ130、畳み込みニューラルネットワーク(CNN)140B、境界ボックス検出器150、および/またはセマンティックセグメンテーションジェネレータ160を含み得る。
【0040】
CNN140Aと同様に、CNN140Bは、クエリ文字列170に基づいてターゲットデータを抽出するために、クエリ文字列170および文書120の文字グリッドを処理し得る。さらに、CNN140Bは、同様に、クエリエンコーダ142Aおよび文書エンコーダ142Bを使用し得る。これらのエンコーダは、CNN140Aのものと同様の方法で動作する場合がある。CNN140Aとは対照的に、CNN140Bは、2つのデコーダ144Aおよび144Bを使用し得る。CNN140Bはまた、クエリエンコーダ142Aと文書エンコーダ142Bからの出力を異なる方法で処理し得る。
【0041】
CNN140Aと同様に、クエリエンコーダ142Aは、クエリ文字列170を処理し、出力をデコーダ144Aに渡し得る。この出力は、単一の特徴ベクトルにプールされた特徴ベクトルのシーケンスである可能性がある。前に説明したように、これらのベクトルは、最大プーリングまたは平均プーリング技法を使用してプールされ得る。
【0042】
しかしながら、CNN140Aとは対照的に、CNN140Bは、文書エンコーダ142Bの出力を別のデコーダ144Bに渡し得る。デコーダ144Bは、文書120内のキーおよび値を示すセマンティックセグメンテーションマスクをもたらすように動作し得る。このセマンティックセグメンテーションマスクの例示的な実施形態が図2Dに示されている。このセマンティックセグメンテーションマスクをもたらすために、キーと値を識別するために中間トレーニングターゲットが使用された可能性がある。
【0043】
図2Dを参照すると、図2Dは、いくつかの実施形態による、キーと値のペアを識別する例示的なセグメンテーションマスク200Dのブロック図を示す。セグメンテーションマスク200Dは、ターゲットデータを抽出するための中間プロセスとしてデコーダ144Bによってもたらされ得る。セグメンテーションマスク200Dは、バックグラウンドクラス240、キー250、260、270、および/または値255、265、275を検出し得る。文書200Aを考慮して、キーおよび値は、文書から識別されるクラスおよびコンテンツを示し得る。たとえば、キー250は、「請求書(INVOICE)」を示すヘッダに対応し得、値は、請求書のシリアル番号であり得る。同様に、キー260は「車番号」を示し得、値265は実際の車両シリアル番号に対応し得る。キー270は、合計販売価格クラスを示し得、値275は合計金額の値を示し得る。別のキーは、たとえば、「日付(Date)」であり得、対応する値は、「2020年2月2日」であり得る。図2Dは、セグメンテーションマスク200Dの視覚化を示しているが、いくつかの実施形態では、キー領域は必要とされない場合がある。たとえば、デコーダ144Bは、キー250、260、270を示さずに値255、265、275をもたらし得る。
【0044】
図1Bに戻ると、セグメンテーションマスク200Dを生成した後、デコーダ144Bは、セグメンテーションマスク200Dをデコーダ144Aに渡し得る。セグメンテーションマスク200Dとともに、デコーダ144Aは、クエリエンコーダ142Aの出力ならびに文書120の文字グリッド表現とともにセグメンテーションマスク200Dを受信し得る。CNN140Aと同様に、クエリエンコーダ142Aの出力は、特徴ベクトルのシーケンスをプールすることによって生成される特徴ベクトルであり得る。デコーダ144Aによって使用される2次元画像を生成するために、単一の特徴が生成および複製され得る。デコーダ144Aの場合、CNN140Bは、文字グリッドの解像度を使用してこの2次元を生成し得る。このように、デコーダ144Aは、文書120の文字グリッド表現、デコーダ144Bによって生成されたキー値セグメンテーションマスク200D、および/またはクエリエンコーダ142Aから構築された2次元特徴ベクトルの、3つの入力を有し得る。次いで、デコーダ144Aは、これらの入力を連結および/または追加し得る。次いで、デコーダ144Aは、図2Cを参照して説明したように、セグメンテーションマスク200Cと同様のセグメンテーションマスクをもたらし得る。このセグメンテーションマスクは、クエリ文字列170から所望のターゲットデータを識別し得る。
【0045】
いくつかの実施形態では、デコーダ144Aは、デコーダ144Bに比べて軽量のデコーダであり得る。たとえば、デコーダ144Aは、単一の畳み込み層であり得る。デコーダ144Aは、デコーダ144Bから受信したキー値提案から正しい値を選択し得る。この選択は、クエリエンコーダ142Aから生成された構築された2次元特徴ベクトルを条件とすることができる。このように、デコーダ144Aは、文書120からターゲットデータを識別し得る。
【0046】
前に説明したように、文書処理システム110A、110Bは、文書からターゲットデータを抽出するためのいくつかの利点を提供する。特に、文書処理システム110A、110Bは、エンドツーエンドでトレーニング可能である。これらのシステムをトレーニングするために、トレーニングデータは、文書120に含まれるどの文字列とも正確に一致しないかもしれないクエリ文字列を含み得る。たとえば、クエリ文字列170は「日付」をリストすることができ、文書120は「日付付き(dated)」をリストするキーを有することができる。この柔軟性を提供するために、文書処理システム110A、110Bは、特定のクラスに対応する値を示す境界ボックス注釈を使用し得る。これらの境界ボックスは、キーまたはクエリ文字列170に対応する値を含む文書の領域を示し得る。このように、トレーニングサンプルは、文字グリッド入力、クエリ文字列170、および/またはターゲット境界ボックスを含み得る。CNN140Bの場合、トレーニングサンプルは、中間セグメンテーションマスク(たとえば、セグメンテーションマスク200D)を構築するための値境界ボックスのセットをさらに含み得る。これらの境界ボックスは、値255、265、275および/またはキー250、260、270を指定し得る。このように、CNN140Bのトレーニングは、文字グリッド、クエリ文字列170、値および/またはキー提案境界ボックス、および/またはターゲット値境界ボックスを指定するトレーニングデータを使用することを含み得る。
【0047】
文書処理システム110A、110Bのトレーニングも微調整され得る。いくつかの実施形態では、CNN140A、140Bを微調整するために、文書エンコーダ142Bは固定されたままであり得、CNN140A、140Bの他の要素は調整され得る。たとえば、CNN140Aは、クエリエンコーダ142Aおよびデコーダ144などの他の要素をトレーニングし得る。いくつかの実施形態では、このトレーニングは、より低い学習率で実行され得る。CNN140Bの場合、文書エンコーダ142Bとデコーダ144Bは固定されたままでよい。この場合、クエリエンコーダ142Aおよび/またはデコーダ144Aが更新され得る。これらの要素を微調整するために、これらの要素をトレーニングまたは再トレーニングするために微調整サンプルが使用され得る。このトレーニングにより、ターゲットサンプルの微調整の特定のドメインに合わせたモデルが生み出される場合がある。いくつかの実施形態では、完全なトレーニングセットが、追加の微調整サンプルとともに使用され得る。このタイプのトレーニングは、一般的であると同時に新しいドメインに拡張され得るモデルを生み出す可能性がある。
【0048】
図3は、いくつかの実施形態による、ターゲットデータを識別するための方法300を示すフローチャートである。方法300は、図1Aを参照して説明されなければならない。しかしながら、方法300は、その例示的な実施形態に限定されない。
【0049】
一実施形態では、文書処理システム110Aは、受信したクエリ文字列170に基づいて文書120からターゲットデータを抽出するために、方法300を利用し得る。前述の説明は、文書処理システム110Aに関する方法300の実行の実施形態を説明する。方法300は、文書処理システム110Aを参照して説明されているが、方法300は、たとえば、図5を参照して説明されているコンピュータシステム、および/またはハードウェア(たとえば、回路、専用ロジック、プログラマブルロジック、マイクロコードなど)、ソフトウェア(たとえば、処理デバイス上で実行される命令)、あるいはそれらの組合せを備え得る処理ロジックなどの任意のコンピューティングデバイス上で実行され得る。
【0050】
本明細書で提供される開示を実行するためにすべてのステップが必要とされない場合があることを理解されたい。さらに、当業者によって理解されるように、いくつかのステップは、同時に、または図3に示されるものとは異なる順序で実行され得る。
【0051】
305において、文書処理システム110Aは、文書120およびクエリ文字列170を受信し得る。文書120は、テキストを含むファイルであり得る。たとえば、文書120は、画像、ワードプロセッシング文書、PDFファイル、スクリーンショット、および/またはテキストと画像との組合せであり得る。一実施形態では、文書120は、スキャンされた文書であってもよく、ならびに/あるいは複数のページおよび/またはスライドを含んでもよい。クエリ文字列170は、文字列であってもよく、および/または文字列を識別するために文書処理システム110Aによって解析されるコンピュータコマンドであってもよい。クエリ文字列170は、文書120から抽出される所望のデータを示し得る。
【0052】
一実施形態では、文書処理システム110Aは、文書120からターゲットデータを識別するように構成されたスタンドアロンシステムであり得る。文書処理システム110Aは、このターゲットデータをメモリデバイスおよび/またはデータベースに記憶し得る。一実施形態では、文書処理システム110Aは、別個のシステムと通信し得る。文書処理システム110Aは、識別されたターゲットデータを別個のシステムに送信し得る。一実施形態では、文書処理システム110Aは、別のシステムと統合され得る。たとえば、文書処理システム110Aは、より大きいシステムの構成要素として機能し得る。この実施形態では、文書処理システム110Aは、より大きいシステムによって指示された場所から文書120および/またはクエリ文字列170を受信し得る。一実施形態では、より大きいシステムは、文書処理システム110Aに、識別されたターゲットデータを特定の場所に向けるように指示し得る。
【0053】
310において、文書処理システム110Aは、文字および位置情報を取得するために、文書120に対して光学式文字認識を実行し得る。文字情報は、文字、数字、記号、単語、文字、数字、および/または記号の集合または組合せ、記号マーク、画像、ならびに/あるいは文書上の他の視覚的インジケータに関連し得る。文書処理システム110Aは、文字認識を実行するためにOCRスキャナ130を利用し得る。OCRスキャナ130は、単語および/または文字列を識別し得る。OCRスキャナ130は、文書120内の文字の位置を識別し得る。OCRスキャナ130は、文字および位置情報を識別するためにピクセルベースの分析を実行し得る。
【0054】
315において、文書処理システム110Aは、文字および位置情報を使用して、文書120の文字グリッドを生成し得る。文字グリッドの生成は、文書120の文字をインデックス値で置き換えることを含み得る。インデックス値は、マッピング機能に従って割り当てられ得る。一実施形態では、インデックス値は、最近隣補間を使用するダウンサンプリングを介して割り当てられ得る。一実施形態では、文書処理システム110Aは、文字をインデックス値にマッピングするために辞書を利用し得る。いくつかの実施形態では、インデックス値はベクトルであり得る。文書処理システム110Aは、たとえば、Word2vecなどのモデル技法を使用してベクトルを生成し得る。文字のインデックス値を生成することにより、文書処理システム110Aが、中に含まれる文字のインデックス値を有する文字グリッドをコンパイルすることが可能になる。
【0055】
いくつかの実施形態では、文字グリッドを生成すると、文書120のダウンサンプリングされたバージョンがもたらされ得る。ダウンサンプリングされたバージョンは、文書120のより迅速な処理をもたらし得る。
【0056】
320において、文書処理システム110Aは、畳み込みニューラルネットワーク(CNN)140Aの第1のエンコーダを文字グリッドに適用することによって、符号化された文字グリッドを生成し得る。第1のエンコーダは、文書エンコーダ142Bであり得る。文書エンコーダ142Bは、文書120の文字グリッド表現を処理するために、コンピュータビジョンおよび/またはセマンティックセグメンテーション技法を使用し得る。たとえば、文書エンコーダ142Bは、セマンティック意味を決定し、キー値、および/またはテーブル情報を抽出する際に助けることができる。文字グリッドはインデックス値を利用するため、CNN140Aは、処理文書120に関連して文字グリッドを迅速に処理し得る。たとえば、CNN140Aは、文書120がすでにより単純な形式に変換されているため、コンピュータビジョン技法または自然言語処理技法をより迅速に採用し得る。
【0057】
325において、文書処理システム110Aは、CNN140Aの第2のエンコーダをクエリ文字列170に適用することによって、特徴ベクトルを生成し得る。第2のエンコーダは、クエリエンコーダ142Aであり得る。CNN140Aは、提供されたクエリ文字列170を、デコーダとマージすることができる埋込み空間に符号化するために、クエリエンコーダ142Aを使用し得る。クエリ文字列170は、文字のシーケンス、単語の断片のシーケンス、単語のシーケンス、および/またはこれらの文字の組合せであり得る。これらの文字またはトークンは、たとえば、word2vec、GloVe、またはたとえばBERTなどの言語モデルを使用して、1ホット符号化されてもよく、トークン埋込み空間に埋め込まれてもよい。このトークン埋込みのシーケンスは、1つまたは複数の畳み込み層、双方向LSTM層、および/または組合せ層によってさらに処理され得る。クエリエンコーダ142Aの出力は、特徴ベクトルにプールされた特徴ベクトルのシーケンスであり得る。特徴ベクトルのシーケンスは、入力トークンごとに1つとして生成され得る。いくつかの実施形態では、クエリエンコーダ142Aは、たとえば、最大プーリングまたは平均プーリング技法を使用して、これらの特徴ベクトルを特徴ベクトルにプールし得る。
【0058】
330において、文書処理システム110Aは、CNN140Aのデコーダ144を、符号化された文字グリッドおよび特徴ベクトルに適用し得る。いくつかの実施形態では、クエリエンコーダ142Aおよび文書エンコーダ142Bの出力は、マージされて、デコーダ144に適用され得る。いくつかの実施形態では、クエリエンコーダ142Aによって生成された特徴ベクトルは、文書エンコーダ142Bによって生成され、デコーダ144に適用される符号化された文字グリッドと融合され得る。CNN140Aは、それぞれのデコーダ入力解像度で各ピクセルの特徴ベクトルを生成し得る。この解像度は、符号化された文字グリッドに対応するダウンサンプリングされたエンコーダ解像度である可能性がある。このように、画像全体にわたって複製された同じ特徴ベクトルを有する2次元画像がデコーダ入力として使用され得る。デコーダ入力は、連結および/または一緒に追加され得る。このように、デコーダ144は、文書エンコーダ142Bの出力、ならびに2次元クエリ文字列エンコーダ特徴ベクトルの2つの入力を受信し得る。
【0059】
次いで、符号化された文字グリッドと特徴ベクトルを使用して、デコーダ144は、クエリ文字列170によって指定されたターゲットデータを識別し得る。デコーダ144は、符号化の結果をアップサンプリングするために、転置畳み込み、デコンボリューション、またはフラクショナルストライド畳み込みを実行し得る。このように、デコーダ144は、新たに決定されたインデックス値をピクセル位置表現にアップサンプリングし得る。アップサンプリングによって、ユーザが文書処理システム110Aの出力を、文書120をカバーするマスクとして見ることを可能にし得る。このマスクは、文書120上のオーバーレイであってもよく、別個に存在してもよい。ピクセル表現を使用して、ユーザは表示画面を介してセマンティック情報を見ることができる。いくつかの実施形態では、文書処理システム110Aは、ターゲットデータをテキスト文字列として抽出し得る。
【0060】
335において、文書処理システム110Aは、クエリ文字列170に対応する文書120からターゲットデータを識別するセグメンテーションマスクを生成し得る。いくつかの実施形態では、このセグメンテーションマスクは、文書120上のクエリ文字列170に対応する情報を見つけるバイナリセグメンテーションマスクであり得る。このセグメンテーションマスクは、たとえば、図2Cを参照して示されるようなセグメンテーションマスク200Cであり得る。セグメンテーションマスク200Cは、クエリ文字列170によって指定されたターゲットデータを識別し得る。いくつかの実施形態では、デコーダ144は、クエリエンコーダ142Aから生成された構築された2次元特徴ベクトル上で符号化された文字グリッドを調整することによって、ターゲットデータを選択し得る。このように、デコーダ144Aは、文書120からターゲットデータを識別し得る。次いで、文書処理システム110Aは、結果として生じるデータを、クエリ文字列170を提供するシステムに返すことができる。
【0061】
図4は、いくつかの実施形態による、別個のデコーダを使用してターゲットデータを識別するための方法400を示すフローチャートである。方法400は、図1Bを参照して説明されなければならない。しかしながら、方法400は、その例示的な実施形態に限定されない。
【0062】
一実施形態では、文書処理システム110Bは、受信したクエリ文字列170に基づいて文書120からターゲットデータを抽出するために、方法400を利用し得る。前述の説明は、文書処理システム110Bに関する方法400の実行の実施形態を説明する。方法400は、文書処理システム110Bを参照して説明されているが、方法400は、たとえば、図5を参照して説明されているコンピュータシステム、および/またはハードウェア(たとえば、回路、専用ロジック、プログラマブルロジック、マイクロコードなど)、ソフトウェア(たとえば、処理デバイス上で実行される命令)、あるいはそれらの組合せを備え得る処理ロジックなどの任意のコンピューティングデバイス上で実行され得る。
【0063】
本明細書で提供される開示を実行するためにすべてのステップが必要とされない場合があることを理解されたい。さらに、当業者によって理解されるように、いくつかのステップは、同時に、または図4に示されるものとは異なる順序で実行され得る。
【0064】
405において、文書処理システム110Bは、文書120およびクエリ文字列170を受信し得る。文書120は、テキストを含むファイルであり得る。たとえば、文書120は、画像、ワードプロセッシング文書、PDFファイル、スクリーンショット、および/またはテキストと画像との組合せであり得る。一実施形態では、文書120は、スキャンされた文書であってもよく、ならびに/あるいは複数のページおよび/またはスライドを含んでもよい。クエリ文字列170は、文字列であってもよく、および/または文字列を識別するために文書処理システム110Bによって解析されるコンピュータコマンドであってもよい。クエリ文字列170は、文書120から抽出される所望のデータを示し得る。
【0065】
一実施形態では、文書処理システム110Bは、文書120からターゲットデータを識別するように構成されたスタンドアロンシステムであり得る。文書処理システム110Bは、このターゲットデータをメモリデバイスおよび/またはデータベースに記憶し得る。一実施形態では、文書処理システム110Bは、別個のシステムと通信し得る。文書処理システム110B、識別されたターゲットデータを別個のシステムに送信し得る。一実施形態では、文書処理システム110Bは、別のシステムと統合され得る。たとえば、文書処理システム110Bは、より大きいシステムの構成要素として機能し得る。この実施形態では、文書処理システム110Bは、より大きいシステムによって指示された場所から文書120および/またはクエリ文字列170を受信し得る。一実施形態では、より大きいシステムは、文書処理システム110Bに、識別されたターゲットデータを特定の場所に向けるように指示し得る。
【0066】
410において、文書処理システム110Bは、文字および位置情報を取得するために、文書120に対して光学式文字認識を実行し得る。この動作は、310と同様の方法で実行され得る。
【0067】
415において、文書処理システム110Bは、文字および位置情報を使用して、文書120の文字グリッドを生成し得る。この動作は、315と同様の方法で実行され得る。
【0068】
420において、文書処理システム110Bは、畳み込みニューラルネットワーク(CNN)140Bの第1のエンコーダを文字グリッドに適用することによって、符号化された文字グリッドを生成し得る。この動作は、320と同様の方法で実行され得る。第1のエンコーダは、文書エンコーダ142Bであり得る。
【0069】
425において、文書処理システム110Bは、符号化された文字グリッドにCNN140Bの第1のデコーダを適用することによって、第1のセグメンテーションマスクを生成し得る。第1のデコーダは、デコーダ144Bであり得る。第1のセグメンテーションマスクは、中間セグメンテーションマスクであり得る。デコーダ144Bは、文書120内のキーおよび値を示すこの中間セグメンテーションマスクをもたらすように動作し得る。この中間セマンティックセグメンテーションマスクの例示的な実施形態が図2Dに示されている。このセマンティックセグメンテーションマスクをもたらすために、キーと値を識別するために中間トレーニングターゲットが使用された可能性がある。前に説明したように、セグメンテーションマスク200Dは、以前のトレーニングに基づいてキーと値のペアを識別し得る。この中間セグメンテーションマスクを生成すると、ターゲットデータの抽出に役立つ場合がある。
【0070】
430において、文書処理システム110Bは、CNN140Bの第2のエンコーダをクエリ文字列170に適用することによって特徴ベクトルを生成し得る。第2のエンコーダは、クエリエンコーダ142Aであり得る。この動作は、325と同様の方法で実行され得る。
【0071】
435において、文書処理システム110Bは、CNN140Bの第2のデコーダ144Aを、文字グリッド、第1のセグメンテーションマスク、および特徴ベクトルに適用し得る。セグメンテーションマスク200Dとともに、デコーダ144Aは、クエリエンコーダ142Aの出力ならびに文書120の文字グリッド表現とともにセグメンテーションマスク200Dを受信し得る。クエリエンコーダ142Aの出力は、特徴ベクトルのシーケンスをプールすることによって生成される特徴ベクトルであり得る。デコーダ144Aによって使用される2次元画像を生成するために、単一の特徴が生成および複製され得る。デコーダ144Aの場合、CNN140Bは、文字グリッドの解像度を使用してこの2次元を生成し得る。このように、デコーダ144Aは、文書120の文字グリッド表現、デコーダ144Bによって生成されたキー値セグメンテーションマスク200D、および/またはクエリエンコーダ142Aから構築された2次元特徴ベクトルの、3つの入力を有し得る。次いで、デコーダ144Aは、これらの入力を連結および/または追加し得る。次いで、デコーダ144Aは、図2Cを参照して説明したように、セグメンテーションマスク200Cと同様のセグメンテーションマスクをもたらし得る。このセグメンテーションマスクは、クエリ文字列170から所望のターゲットデータを識別し得る。
【0072】
いくつかの実施形態では、デコーダ144Aは、デコーダ144Bに比べて軽量のデコーダであり得る。たとえば、デコーダ144Aは、単一の畳み込み層であり得る。デコーダ144Aは、デコーダ144Bから受信したキー値提案から正しい値を選択し得る。この選択は、クエリエンコーダ142Aから生成された構築された2次元特徴ベクトルを条件とすることができる。このように、デコーダ144Aは、文書120からターゲットデータを識別し得る。
【0073】
440において、文書処理システム110Bは、クエリ文字列170に対応する文書120からのターゲットデータを識別する第2のセグメンテーションマスクを生成し得る。この動作は、335と同様の方法で実行され得る。
【0074】
様々な実施形態は、たとえば、図5に示されるコンピュータシステム500などの1つまたは複数のよく知られているコンピュータシステムを使用して実装され得る。たとえば、本明細書で説明する実施形態のいずれか、ならびにそれらの組合せおよびサブ組合せを実装するために、1つまたは複数のコンピュータシステム500が使用され得る。
【0075】
コンピュータシステム500は、プロセッサ504などの1つまたは複数のプロセッサ(中央処理装置、またはCPUとも呼ばれる)を含み得る。プロセッサ504は、通信インフラストラクチャまたはバス506に接続され得る。
【0076】
コンピュータシステム500はまた、モニタ、キーボード、ポインティングデバイスなどのようなユーザ入力/出力デバイス503を含み得、これらは、ユーザ入力/出力インターフェース502を介して通信インフラストラクチャ506と通信し得る。
【0077】
プロセッサ504のうちの1つまたは複数は、グラフィックス処理ユニット(GPU)であり得る。一実施形態では、GPUは、数学的に集中的なアプリケーションを処理するように設計された専用電子回路であるプロセッサであり得る。GPUは、コンピュータグラフィックスアプリケーション、画像、ビデオなどに共通する数学的に集中的なデータなどの、データの大きいブロックの並列処理に効率的な並列構造を備えている場合がある。
【0078】
コンピュータシステム500はまた、ランダムアクセスメモリ(RAM)などのメインメモリまたはプライマリメモリ508を含み得る。メインメモリ508は、1つまたは複数のレベルのキャッシュを含み得る。メインメモリ508は、その中に制御ロジック(すなわち、コンピュータソフトウェア)および/またはデータを記憶し得る。
【0079】
コンピュータシステム500はまた、1つまたは複数のセカンダリストレージデバイスまたはメモリ510を含み得る。セカンダリメモリ510は、たとえば、ハードディスクドライブ512および/あるいはリムーバブルストレージデバイスまたはドライブ514を含み得る。リムーバブルストレージドライブ514は、フロッピーディスクドライブ、磁気テープドライブ、コンパクトディスクドライブ、光ストレージデバイス、テープバックアップデバイス、および/または任意の他のストレージデバイス/ドライブであり得る。
【0080】
リムーバブルストレージドライブ514は、リムーバブルストレージユニット518と相互作用し得る。リムーバブルストレージユニット518は、コンピュータソフトウェア(制御ロジック)および/またはデータが記憶されている、コンピュータ使用可能または読取り可能なストレージデバイスを含み得る。リムーバブルストレージユニット518は、フロッピーディスク、磁気テープ、コンパクトディスク、DVD、光ストレージディスク、および/または他の任意のコンピュータデータストレージデバイスであり得る。リムーバブルストレージドライブ514は、リムーバブルストレージユニット518からの読取りおよび/またはそこへの書込みを行うことができる。
【0081】
セカンダリメモリ510は、コンピュータプログラムおよび/または他の命令および/またはデータがコンピュータシステム500によってアクセスされることを可能にするための他の手段、デバイス、構成要素、機器または他の手法を含み得る。そのような手段、デバイス、構成要素、機器、または他の手法は、たとえば、リムーバブルストレージユニット522およびインターフェース520を含み得る。リムーバブルストレージユニット522およびインターフェース520の例は、プログラムカートリッジおよびカートリッジインターフェース(ビデオゲームデバイスに見られるものなど)、リムーバブルメモリチップ(EPROMまたはPROMなど)および関連付けられるソケット、メモリスティックおよびUSBポート、メモリカードおよび関連付けられるメモリカードスロット、ならびに/あるいは任意の他のリムーバブルストレージユニットおよび関連付けられるインターフェースを含み得る。
【0082】
コンピュータシステム500は、通信またはネットワークインターフェース524をさらに含み得る。通信インターフェース524は、コンピュータシステム500が、外部デバイス、外部ネットワーク、外部エンティティなどの任意の組合せ(参照番号528によって個別におよび集合的に参照される)と通信し、相互作用することを可能にし得る。たとえば、通信インターフェース524は、コンピュータシステム500が、ワイヤードおよび/またはワイヤレス(または、それらの組合せ)であり得る通信経路526を介して外部または遠隔デバイス528と通信することを可能にし得、これは、LAN、WAN、インターネットなどの任意の組合せを含み得る。制御ロジックおよび/またはデータは、通信経路526を介してコンピュータシステム500との間で送信され得る。
【0083】
コンピュータシステム500はまた、いくつかの非限定的な例を挙げると、携帯情報端末(PDA)、デスクトップワークステーション、ラップトップまたはノートブックコンピュータ、ネットブック、タブレット、スマートフォン、スマートウォッチまたは他のウェアラブル、アプライアンス、モノのインターネットの一部、および/または組込みシステム、あるいはそれらの任意の組合せのいずれかであり得る。
【0084】
コンピュータシステム500は、遠隔または分散型クラウドコンピューティングソリューションを含むが、これらに限定されない、任意の配信パラダイムを通じて任意のアプリケーションおよび/またはデータにアクセスまたはホストするクライアントまたはサーバ、ローカルまたはオンプレミスのソフトウェア(「オンプレミス」のクラウドベースのソリューション)、「サービスとしての」モデル(たとえば、サービスとしてのコンテンツ(CaaS)、サービスとしてのデジタルコンテンツ(DCaaS)、サービスとしてのソフトウェア(SaaS)、サービスとしての管理対象ソフトウェア(MSaaS)、サービスとしてのプラットフォーム(PaaS)、サービスとしてのデスクトップ(DaaS)、サービスとしてのフレームワーク(FaaS)、サービスとしてのバックエンド(BaaS)、サービスとしてのモバイルバックエンド(MBaaS)、サービスとしてのインフラストラクチャ(IaaS)など)、および/あるいは、前述の例または他のサービスまたは配信パラダイムの任意の組合せを含むハイブリッドモデルであり得る。
【0085】
コンピュータシステム500において適用可能なデータ構造、ファイルフォーマット、およびスキーマは、JavaScriptオブジェクト表記(JSON)、拡張マークアップ言語(XML)、さらに別のマークアップ言語(YAML)、拡張ハイパーテキストマークアップ言語(XHTML)、ワイヤレスマークアップ言語(WML)、MessagePack、XMLユーザインターフェース言語(XUL)、あるいは任意の他の機能的に類似した表現を単独で、または組み合わせて含むが、これらに限定されない標準から導出され得る。あるいは、独自のデータ構造、フォーマット、またはスキーマが、排他的に、または知られている標準またはオープン標準と組み合わせて使用され得る。
【0086】
いくつかの実施形態では、制御ロジック(ソフトウェア)がその上に記憶されている有形の非一時的なコンピュータの使用可能または読取り可能な媒体を備える有形の非一時的な装置または製造品は、本明細書ではコンピュータプログラム製品またはプログラムストレージデバイスと呼ばれることもある。これは、コンピュータシステム500、メインメモリ508、セカンダリメモリ510、およびリムーバブルストレージユニット518および522、ならびに前述の任意の組合せを具体化する有形の製造品を含むが、これらに限定されない。そのような制御ロジックは、1つまたは複数のデータ処理デバイス(コンピュータシステム500など)によって実行されると、そのようなデータ処理デバイスを本明細書に記載されるように動作させることができる。
【0087】
本開示に含まれる教示に基づいて、関連技術の当業者には、図5に示されるもの以外のデータ処理デバイス、コンピュータシステム、および/またはコンピュータアーキテクチャを使用して本開示の実施形態を作成および使用する方法が明らかである。特に、実施形態は、本明細書に記載されているもの以外のソフトウェア、ハードウェア、および/またはオペレーティングシステムの実装形態で動作することができる。
【0088】
他のセクションではなく、発明を実施するための形態のセクションは、特許請求の範囲を解釈するために使用されることを意図していることを理解されたい。他のセクションは、発明者によって企図されるすべてではないが1つまたは複数の例示的な実施形態を説明することができ、したがって、本開示または添付の特許請求の範囲をいかなる方法でも限定することを意図しない。
【0089】
本開示は、例示的な分野および用途の例示的な実施形態を説明するが、本開示はそれに限定されないことを理解されたい。他の実施形態およびそれに対する修正が可能であり、本開示の範囲および趣旨の範囲内である。たとえば、この段落の一般性を制限することなく、実施形態は、図面に示され、および/または本明細書に記載されるソフトウェア、ハードウェア、ファームウェア、および/またはエンティティに限定されない。さらに、実施形態(本明細書に明示的に記載されているかどうかにかかわらず)は、本明細書に記載されている例を超えて、分野および用途に重要な有用性を有する。
【0090】
実施形態は、指定された機能およびそれらの関係の実装形態を示す機能的構成要素の助けを借りて、本明細書に記載されている。これらの機能的構成要素の境界は、説明の便宜のために本明細書で任意に定義されている。指定された機能と関係(または、同等のもの)が適切に実行されている限り、代替境界を定義することができる。また、代替の実施形態は、本明細書に記載されているものとは異なる順序を使用して、機能ブロック、ステップ、動作、方法などを実行することができる。
【0091】
本明細書における「一実施形態」、「実施形態」、「例示的な実施形態」、または同様の句への言及は、記載された実施形態が特定の特徴、構造、または特性を含むことができるが、すべての実施形態が必ずしも特定の特徴、構造、または特性を含むことができるとは限らないことを示す。さらに、そのような句は、必ずしも同じ実施形態を指すとは限らない。さらに、特定の特徴、構造、または特性が実施形態に関連して説明される場合、本明細書で明示的に言及または説明されているかどうかにかかわらず、そのような特徴、構造、または特性を他の実施形態に組み込むことは、関連技術分野の当業者の知識の範囲内である。さらに、いくつかの実施形態は、それらの派生物とともに「結合された」および「接続された」という表現を使用して説明することができる。これらの用語は、必ずしも相互の同義語として意図されているわけではない。たとえば、いくつかの実施形態は、2つ以上の要素が相互に直接物理的または電気的に接触していることを示すために、「接続された」および/または「結合された」という用語を使用して説明することができる。しかしながら、「結合された」という用語は、2つ以上の要素が相互に直接接触していないが、それでも相互に協力または相互作用していることを意味する場合もある。
【0092】
本開示の幅および範囲は、上記の例示的な実施形態のいずれによっても限定されるべきではなく、以下の特許請求の範囲およびそれらの同等物に従ってのみ定義されるべきである。
【符号の説明】
【0093】
100A 文書処理環境
100B 文書処理環境
110A 文書処理システム
110B 文書処理システム
120 文書
130 光学式文字認識(OCR)スキャナ
140A 畳み込みニューラルネットワーク(CNN)
140B 畳み込みニューラルネットワーク(CNN)
142A クエリエンコーダ
142B 文書エンコーダ
144 デコーダ
144A デコーダ
144B デコーダ
150 境界ボックス検出器
160 セマンティックセグメンテーションジェネレータ
170 クエリ文字列
200A 文書
200C セグメンテーションマスク
200D セグメンテーションマスク
205A 文字列
205B 文字列
210 識別子
215 値
220 識別子
225 値
230 識別子
235 値
240A バックグラウンドクラス
240B バックグラウンドクラス
245 ターゲットデータクラス
240 バックグラウンドクラス
250 キー
255 値
260 キー
265 値
270 キー
275 値
300 方法
400 方法
500 コンピュータシステム
502 ユーザ入力/出力インターフェース
503 ユーザ入力/出力デバイス
504 プロセッサ
506 通信インフラストラクチャまたはバス
508 メインメモリまたはプライマリメモリ
510 セカンダリストレージデバイスまたはメモリ
512 ハードディスクドライブ
514 リムーバブルストレージデバイスまたはドライブ
518 リムーバブルストレージユニット
520 インターフェース
522 リムーバブルストレージユニット
524 通信またはネットワークインターフェース
526 通信経路
528 外部または遠隔デバイス
図1A
図1B
図2A
図2B
図2C
図2D
図3
図4
図5
【外国語明細書】