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

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

▶ コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッドの特許一覧

特開2022-155490表ベースのドキュメントのための非構造化セルの関連付けからネスト化された表を自動登録する方法、装置、及びシステム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022155490
(43)【公開日】2022-10-13
(54)【発明の名称】表ベースのドキュメントのための非構造化セルの関連付けからネスト化された表を自動登録する方法、装置、及びシステム
(51)【国際特許分類】
   G06V 30/412 20220101AFI20221005BHJP
   G06T 7/00 20170101ALI20221005BHJP
   G06V 10/82 20220101ALI20221005BHJP
   G06T 7/60 20170101ALI20221005BHJP
   G06T 7/11 20170101ALI20221005BHJP
   G06F 40/177 20200101ALI20221005BHJP
【FI】
G06V30/412
G06T7/00 350C
G06V10/82
G06T7/60 200K
G06T7/11
G06F40/177
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022021143
(22)【出願日】2022-02-15
(31)【優先権主張番号】17/218,028
(32)【優先日】2021-03-30
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】519448326
【氏名又は名称】コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッド
(74)【代理人】
【識別番号】110001254
【氏名又は名称】特許業務法人光陽国際特許事務所
(72)【発明者】
【氏名】ウェイ, ジュンチャオ
【テーマコード(参考)】
5B029
5B109
5L096
【Fターム(参考)】
5B029EE12
5B109PB03
5B109QA12
5L096AA02
5L096AA06
5L096BA08
5L096BA18
5L096CA01
5L096DA02
5L096FA03
5L096FA06
5L096FA14
5L096FA32
5L096FA69
5L096FA74
5L096GA40
5L096HA11
5L096JA11
(57)【要約】      (修正有)
【課題】与えられたフォームの中からキーワードとコンテンツの関係を見つけ出し、自動的に関連付ける方法、装置及びシステムを提供する。
【解決手段】方法は、キーワードとコンテンツを含むいくつかのフォームにおいて、階層としても呼ばれる、ネスト化されたレベルのキーワードを含み、フォームのコンテンツは、1つまたは複数のネスト化されたレベル、または階層で、1つまたは複数のキーワードに関連付けられ、表の隣接セルのキーワード(ネスト化されたキーワードが別のキーワードの下または右側のいずれかにある状態)を特定することにより、記入済みのフォームにおいてキーワードと区別し、コンテンツとそれぞれのキーワードを関連付ける。
【選択図】図3
【特許請求の範囲】
【請求項1】
フォームの入力に応答して、前記フォームから1つまたは複数の特徴を抽出することと、
ディープラーニングモデルを使用して、前記フォームのその他の特徴から複数の線を特定し、前記線を抽出することと、
前記ディープラーニングモデルを使用して、前記抽出された複数の線を使用し、複数の連結領域を特定し抽出することと、
前記ディープラーニングモデルを使用して、前記複数の連結領域から表を特定することと、
前記特定された表から複数のセルを抽出することと、
前記特定された表において隣接した複数のセルの位置と大きさを使用して、前記特定された表の複数のセルをグループ化することと、
前記特定された表において複数の行と複数の列を形成することと、
前記グループ化と、前記形成された複数の行及び前記形成された複数の列の1つとを使用して、前記特定された表において前記複数のセルで階層を形成することと、
前記形成された階層を使用して、前記特定された表の隣接した複数のキーワードを特定することと、
前記形成された階層を使用して、前記特定された表のコンテンツを特定することと、
それぞれの特定された隣接キーワードとそれぞれの特定されたコンテンツを関連付けること、を備える、フォーム自動登録方法。
【請求項2】
前記特定された表の前記形成された階層が列階層であり、それぞれの特定されたコンテンツが特定された隣接した複数のキーワード下に表示されている、請求項1に記載のフォーム自動登録方法。
【請求項3】
前記特定された表の前記形成された階層が行階層であり、それぞれの特定されたコンテンツが特定された隣接した複数のキーワードの右側に表示されている、請求項1に記載のフォーム自動登録方法。
【請求項4】
前記ディープラーニングモデルは、畳み込みニューラルネットワークから成る群から選択される、請求項1に記載のフォーム自動登録方法。
【請求項5】
前記特徴が単色、複数色、グレースケールから成る群から選択され、前記複数の線の特定と抽出が、単色、複数色、グレースケールとして、前記フォームの1つまたは複数の濃淡領域を特定することを含む、請求項1に記載のフォーム自動登録方法。
【請求項6】
前記複数のセルの抽出が、前記1つまたは複数の濃淡領域から1つまたは複数のセルを抽出することを含む、請求項5に記載のフォーム自動登録方法。
【請求項7】
前記1つまたは複数の濃淡領域からの1つまたは複数のセルの前記抽出において、更に前記抽出された線が使用される、請求項6に記載のフォーム自動登録方法。
【請求項8】
前記形成された階層は、JavaScript Object Notation(JSON)、ハイパーテキストマークアップ言語(HTML)及び拡張可能マークアップ言語(XML)から成る群から選択される形式で表される、請求項1に記載のフォーム自動登録方法。
【請求項9】
前記関連付けることが、コンテンツが特定のキーワードに関連付けられることを、最低コスト値Cijを特定することにより決定することを含み、Cijが次式により求められる、請求項1に記載のフォーム自動登録方法。
【数1】
【請求項10】
前記意味的距離Sijは、幾何学的距離、前方順位(FR)、後方順位(BR)、FR及びBRの算術平均、FR及びBRの幾何学平均、FR及びBRの調和平均、ユークリッド距離、ワードムーバー距離、又は余弦距離からなる群から選択される距離として計算される、請求項9に記載のフォーム自動登録方法。
【請求項11】
1つまたは複数のプロセッサと、
1つまたは複数の非一時的なメモリ装置と、
ディープラーニングモデルを実行するディープラーニングシステムとを備える、フォーム自動登録システムであって、
該フォーム自動登録システムが、1つまたは複数のプログラムを前記1つまたは複数の非一時的なメモリ装置に記憶しており、前記1つまたは複数のプログラムが指示を含み、前記指示が、実行されると、
フォームの入力に応答して、前記フォームから1つまたは複数の特徴を抽出することと、
ディープラーニングモデルを使用して、前記フォームのその他の特徴から複数の線を特定し、前記複数の線を抽出することと、
前記ディープラーニングモデルを使用して、前記抽出された複数の線を使用し、複数の連結領域を特定し抽出することと、
前記ディープラーニングモデルを使用して、前記複数の連結領域から表を特定することと、
前記特定された表から複数のセルを抽出することと、
前記特定された表において隣接した複数のセルの位置と大きさを使用して、前記特定された表の複数のセルをグループ化することと、
前記特定された表において複数の行と複数の列を形成することと、
前記グループ化及び前記形成された複数の行と前記形成された複数の列の1つを使用して、前記特定された表において前記複数のセルで階層を形成することと、
前記形成された階層を使用して、前記特定された表の隣接する複数のキーワードを特定することと、
前記形成された階層を使用して、前記特定された表のコンテンツを特定することと、
それぞれの特定された隣接キーワードとそれぞれのコンテンツを関連付けること、を行う、フォーム自動登録システム。
【請求項12】
前記特定された表の前記形成された階層が列階層であり、それぞれの特定されたコンテンツが特定された隣接した複数のキーワード下に表示されている、請求項11に記載のフォーム自動登録システム。
【請求項13】
前記特定された表の前記形成された階層が行階層であり、それぞれの特定されたコンテンツが特定された隣接した複数のキーワードの右側に表示されている、請求項11に記載のフォーム自動登録システム。
【請求項14】
前記ディープラーニングモデルは、畳み込みニューラルネットワークから成る群から選択される、請求項11に記載のフォーム自動登録システム。
【請求項15】
前記特徴が単色、複数色、グレースケールから成る群から選択され、前記複数の線の特定と抽出が、単色、複数色、グレースケールとして、前記フォームの1つまたは複数の濃淡領域を特定することを含む、請求項11に記載のフォーム自動登録システム。
【請求項16】
前記セルの抽出が、前記1つまたは複数の濃淡領域から1つまたは複数のセルの抽出をすること
を含む、請求項15に記載のフォーム自動登録システム。
【請求項17】
前記1つまたは複数の濃淡領域からの1つまたは複数のセルの前記抽出において、更に前記抽出された線が使用される、請求項16に記載のフォーム自動登録システム。
【請求項18】
前記形成された階層は、JavaScript Object Notation(JSON)、ハイパーテキストマークアップ言語(HTML)、及び拡張可能マークアップ言語(XML)から成る群から選択される形式で表される、請求項11に記載のフォーム自動登録システム。
【請求項19】
前記関連付けることが、コンテンツが特定のキーワードに関連付けられることを、最低コスト値Cijを特定することにより決定することを含み、Cijが次式により求められる、請求項11に記載のフォーム自動登録システム。
【数2】
【請求項20】
前記意味的距離Sijは、幾何学的距離、前方順位(FR)、後方順位(BR)、FR及びBRの算術平均、FR及びBRの幾何学平均、FR及びBRの調和平均、ユークリッド距離、ワードムーバー距離、又は余弦距離からなる群から選択される距離として計算される、請求項19に記載のフォーム自動登録システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表ベースのドキュメントのための非構造化セルの関連付けからネスト化された表を自動登録する方法、装置、及びシステムに関する。
【関連出願の相互参照】
【0002】
本願は、2021年3月30日に出願された「仮想表生成と関連付けを用いた自動フォーム登録のための方法、装置、およびシステム」と題する米国特許出願第17/218,026号(弁護士ドケット番号116538.00037)に関する。本出願は、この関連出願の全てを参照によりその全体が組み込まれる。
【背景技術】
【0003】
フォームの自動登録は、特にキーワードとコンテンツの識別や関連付けの際に苦労することがあり得る。ここで、キーワードとは、フォームの特定のフィールドに関連付けられたテキストであってよく、その特定のフォームフィールドを埋めるために、特定のタイプのデータ(コンテンツ)が予期され得る。キーワードはあるフィールドのヘッダ、またはそのためのものであり、コンテンツはそのフィールドに入るデータであると考えてよい。コンテンツは、記入されたフォームの複数の行を構成する場合、1つまたは複数のフィールドを占有してよい。
【0004】
空の(ブランクの)フォームやテンプレートがある場合、キーワード(フィールドヘッダ)はかなり容易に特定され得る。キーワードが見えることで、例えば、空間的(左右、上下)な関係において、幾何学的な関係とも言えるが、キーワード同士の関連付けが容易になる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
表情報を使用せずに、左から右へ、又は上から下へとキーワードの関連付けを可能にするルールがある。これらのルールは、例えば、ある種の表形式で規則的な行と列を持つフォームなど、固定されたフォームに対して比較的容易に実装することができる。しかしながら、フォームが複雑になればなるほど、そのような関連付けは難しくなる。例えば、いわゆるフローティングフォームでは、キーワードが統一された位置や規則的な位置に表示されないことがある。例えば、キーワードが単一の表に表示されなかったり、フォーム内の一貫した位置に表示されないことがある。一態様において、キーワードは、フォーム全体で複数の表形式で表示されてもよい。別の態様では、これら複数の表形式はすべて同じとは限らないし、互いに異なっていてもよい。このように、1つのフォーム内に異なる表形式があってよい。キーワードが不規則に配置されているため、キーワードとコンテンツの関連付けについて、本来であれば固定されるはずのルールに例外が生じ得る。その結果、キーワードとコンテンツを正確に関連付けることができないことがある。
【0006】
フローティングフォームを考慮し、既存の固定ルールを修正すると、その修正ルールを以前の例(固定フォームなど)に適用する際に問題が発生する場合がある。初期にテストされたワーキングケースを壊すことなく、これらのルールを変更することは容易ではない。上記同継続中の出願は、これらの問題点を解決するため、より強固で統一されたアルゴリズムを提供し、キーワードとコンテンツの完全なフリーフォーム登録と考えられるもの、すなわち、キーワードはフォーム上のどこにでも表示でき、コンテンツはキーワードの右側または下側に表示できるよう、アルゴリズムを拡張しようとするものである。
【0007】
キーワードとコンテンツのペアが複数存在する構造化されたフォームからコア情報を抽出し、与えられたフォームの中からキーワードとコンテンツの関係を見つけ出し、自動的に関連付けることを可能にすることが望まれる。
【課題を解決するための手段】
【0008】
上記およびその他の課題を解決するために、本発明の態様は、表中のセル構造を利用して、表中の自動登録機能を設計することを可能にする。また、その他の態様では、キーワードとコンテンツの関係を表す階層的なデータ構造を構築することも可能である。更に、その他の態様では、入力に基づきネスト化されたキーワードとコンテンツを自動的に関連付け、データベース内のキーワードの複数のレベルから生じる問題の解決も可能である。
【0009】
本発明による態様は、表のセル構造を使用して、表内の自動登録の設計を提供する。その他の態様では、階層的データ構造を構築し、キーワードと関連するコンテンツの関係を表すことができる。更なる態様では、入力に基づき、ネスト化されたキーワードをコンテンツに自動的に関連付け、データベース内の複数レベルのキーワードのインスタンスを解決する。
【図面の簡単な説明】
【0010】
図1図1Aは、空のフォームの一例を示し、図1Bは、空のフォームに記入したものを入力画像として示し、図1Cは、ターゲット画像の一例を示す。
図2図2Aは、図1Cの拡大された一部を示し、図2Bは、図2からのフィールドで形成される階層又はツリーの一例を示す。
図3図3は、実施形態による動作のシーケンスの上位フローを示すフローチャートである。
図4図4A図4Eは、実施形態による表中の単語とセルの組織を示す。
図5図5Aは、実施形態によるツリーの一例であり、図5Bは、図5Aを特定のノードで強調した図である。
図6図6Aは、実施形態によるツリーの一例であり、図6Bは、図6Aを特定のノードで強調した図である。
図7図7は、実施形態による本発明の態様を実施するためのシステムの上位ブロック図である。
図8図8は、図7のシステムの態様の上位ブロック図である。
図9図9は、実施形態に係るキーワードとコンテンツの判定の動作シーケンスを示すフローチャートである。
【発明を実施するための形態】
【0011】
本明細書でより詳細に説明するように、本発明の態様は、フォーム自動登録方法、およびその方法を採用したフォーム自動登録システムに関する。一実施形態において、フォーム自動登録システムが、
1つまたは複数のプロセッサと、
1つまたは複数の非一時的なメモリ装置と、
ディープラーニングモデルを実行するディープラーニングシステムとを備える。
【0012】
一実施形態において、フォーム自動登録システムが、1つまたは複数のプログラムが、実行されると、
フォームの入力に応答して、前記フォームから1つまたは複数の特徴を抽出することと、
ディープラーニングモデルを使用して、前記フォームのその他の特徴から複数の線を特定し、前記複数の線を抽出することと、
前記ディープラーニングモデルを使用して、前記抽出された複数の線を使用し、複数の連結領域を特定し抽出することと、
前記ディープラーニングモデルを使用して、前記複数の連結領域から表を特定することと、
前記特定された表から複数のセルを抽出することと、
前記特定された表において隣接した複数のセルの位置と大きさを使用して、前記特定された表の複数のセルをグループ化することと、
前記特定された表において複数の行と複数の列を形成することと、
前記グループ化及び前記形成された複数の行と前記形成された複数の列の1つを使用して、前記特定された表において前記複数のセルで階層を形成することと、
前記形成された階層を使用して、前記特定された表の隣接する複数のキーワードを特定することと、
前記形成された階層を使用して、前記特定された表のコンテンツを特定することと、
それぞれの特定された隣接キーワードとそれぞれのコンテンツを関連付けること、を行う指示を含む1つまたは複数のプログラムを記憶する。
【0013】
一実施形態において、前記特定された表の前記形成された階層が列階層であり、それぞれの特定されたコンテンツが特定された隣接した複数のキーワード下に表示されている。
【0014】
一実施形態において、前記特定された表の前記形成された階層が行階層であり、それぞれの特定されたコンテンツが特定された隣接した複数のキーワードの右側に表示されている。
【0015】
一実施形態において、前記ディープラーニングモデルは、畳み込みニューラルネットワークから成る群から選択されてよい。
【0016】
一実施形態において、前記特徴が単色、複数色、グレースケールから成る群から選択されてよく、前記複数の線の特定と抽出が、単色、複数色、グレースケールとして、前記フォームの1つまたは複数の濃淡領域の特定を備える。
【0017】
一実施形態において、前記セルの抽出が、前記1つまたは複数の濃淡領域から1つまたは複数のセルの抽出をすることを含んでよい。
【0018】
一実施形態において、前記1つまたは複数の濃淡領域からの1つまたは複数のセルの前記抽出が、更に前記抽出された線を使用してよい。
【0019】
一実施形態において、前記形成された階層は、JavaScript Object Notation(JSON)、ハイパーテキストマークアップ言語(HTML)、拡張可能マークアップ言語(XML)から成る群から選択された形式で表示されてよい。
【0020】
一実施形態において、前記関連付けることが、コンテンツが最低コスト値Cijを特定することで特定のキーワードに関連付けられることを決定することを備え、Cijが次式により求められる。
【数1】
【0021】
一実施形態において、前記意味的距離Sijは、幾何学的距離、前方順位(FR)、後方順位(BR)、FR及びBRの算術平均、FR及びBRの幾何学平均、FR及びBRの調和平均、ユークリッド距離、ワードムーバー距離、又は余弦距離からなる群から選択される距離として計算されてよい。
【0022】
図1Aは、実施形態に係る空のフォームを示す。この例では、空のフォームは潜在的に2つの表を有しており、それぞれ図の上部に101、図の下部に151と表示されている。図1Aでは、表101において、ブロック115にはキーワード110に関連するコンテンツが含まれ、ブロック125にはキーワード120に関連するコンテンツが含まれることになる。キーワード130、140、150、160、170は、ブロック135A-D、145A-D、155A-D、165A-D、175A-Dのコンテンツとそれぞれ関連付けられることになり、複数のコンテンツが所定のキーワードと関連付けられる。キーワード180は、ブロック181のコンテンツと関連付けられることになる。
【0023】
図1Aの下部付近、表151には、ネスト化されたコンテンツと呼ぶべきものがある。ブロック187A~Cは、それぞれのキーワード186A~Cに関連するコンテンツを含むことになり、キーワード185に関連付けられることになる。同様に、ブロック196~198は、それぞれのキーワード191~193に関連するコンテンツを含むことになり、キーワード190に関連付けられることになる。
【0024】
図1B及び図1Cは、それぞれ入力画像とターゲット画像の一例を示す図である。図1Bは、図1Aと同じであるが、コンテンツが追加されている。図1Cのターゲット画像の矢印は、コンテンツを特定し、該当するキーワードと関連付ける方向を示す。図1B及び図1Cに示す種類のマルチディメンションテーブルでは、例えば表101のように、所定の列または行の1つのキーワードに関連付けられるコンテンツが複数存在することがある。また、表151のように、複数のコンテンツにコンテンツの左側、又はコンテンツの上側に複数のキーワードを関連付ける、いわゆるネスト化された構造になっている場合もある。
【0025】
図1Bをより詳しく見ると、手書き調の文字のテキストがコンテンツであり、残りのテキストはキーワードと考えることができる。一実施形態では、キーワードの周りにバウンディングボックスを配置し、フォームの特定のセクションにあるキーワードの識別を支援することができる。図1B及び図1Cを比較すると、キーワード110は、コンテンツ115に関連付けられており、キーワード120はコンテンツ125に関連付けられている。キーワード130、140、150、160、170は、コンテンツ135A-D、145A-D、155A-D、165A-D、175A-Dとそれぞれ関連付けられることになり、複数のコンテンツが所定のキーワードと関連付けられる。キーワード180は、コンテンツ181と関連付けられている。
【0026】
図1A及び図1Bの下部付近には、ネスト化されたコンテンツと呼ぶべきものがある。再び、図1A及び図1Bを比較すると、コンテンツ187A~Cは、それぞれのキーワード186A~Cに関連し、キーワード185に関連付けられることになる。同様に、コンテンツ196~198は、それぞれのキーワード191~193に関連し、キーワード190に関連付けられることになる。
【0027】
本発明の態様によれば、表のセル構造を使用して、表内の自動登録を提供することが可能である。その他の態様では、階層的データ構造を構築し、キーワードと関連するコンテンツの関係を表すことができる。更なる態様では、入力に基づき、ネスト化されたキーワードをコンテンツに自動的に関連付け、データベース内の複数レベルのキーワードのインスタンスを解決する。
【0028】
次に、実施形態による階層的データ構造の一例について、図2A及び図2Bから、以下のように説明する。図2Aは、図1Cの下部である。図2Bは、図2Aの構造を分解して、表からツリー構造にしたものである。図2Bでは、発注185は図2Aの左側にあるように、ツリーの最上部にある。更に3つのキーワード、平均価格186A、値引き186B、正味価格186Cが、図2Bのツリー内発注185下、及び図2Aの表内発注185の右側にある。 50,000(平均価格187A)、5,000(値引き186B)、45,000(正味価格186C)の形式でのコンテンツが、キーワード185と同様にキーワード186A~Cに関連付けられている。
【0029】
キーワード190(配送料)は、キーワード185(発注)に関連付けられている。キーワード191~193(スタンダード、急送、翌日)は、キーワード185に関連付けられている。コンテンツ196~198(100、200、400)は、キーワード190と同様に、キーワード191~193とそれぞれ関連付けられている。
【0030】
図3は、実施形態によるワークフローを上位で示したものである。310では、未加工画像が入力される。一実施形態では、未加工画像はRGB画像であってもよいが、他の形式も可能である。320では、ディープラーニングベースのネットワークが構築され、与えられた入力画像における線抽出を可能にすることができる。異なる態様によれば、ディープラーニングのネットワークは、カラーブロック、折線、破線のいずれかで、表の境界線の抽出を可能にする。一実施形態では、ネットワークは畳み込みニューラルネットワーク(CNN)であってよい。別の実施形態では、ネットワークは、ディープ畳み込みニューラルネットワーク(DCNN)または完全畳み込みニューラルネットワーク(FCNまたはFCNN)であってもよい。
【0031】
330では、抽出された表線を用いて連結領域を特定し、抽出できる。一実施形態では、入力画像が撮影されたフォームは、1つ以上の色または色の濃淡、またはグレースケールを含むことができる。抽出された表線を用いて、同じ色やグレースケールを有する領域が連結領域を有するとして識別できる。340では、連結領域を用いてセルそのものを抽出してもよく、抽出された表線によって分割されていることが示されてもよい。連結領域は、抽出された表線が提供する情報に応じて、1つまたは複数のセルを持つことができる。350では、抽出されたセルは、左から右(行)又は上から下(列)のいずれかの方法でソート又はグループ化できる。ソートやグループ化は、隣接するセルとの連携によって実行されてよい。ソートやグループ化された後、360では、表の列と行が形成される。一実施形態では、例えば同じフォームの表101及び151を示す図1A図1Cに関して前述したように、仮想フォームで複数の表が特定できる。
【0032】
370では、幾何学的配置情報を用いて、グループ化された列および行から階層構造を形成することができる。380では、手書きまたは印刷のいずれでもよい入力タイプから、特定のセルがキーワードまたはコンテンツのいずれかを含むものとして識別することが可能である。390では、階層構造をツリーとして見ると、葉または分岐ノードからの対応するコンテンツが、キーワードルートノードに関連付け、若しくは接続される。このような全体的なプロセスにより、表の登録、有用な情報の自動抽出、キーワード/コンテンツのペアの出力が可能となる。
【0033】
以下、図3から330を中心に説明する。
【0034】
前述のように、表線は、ディープラーニングに基づくモデルを使用して抽出することができる。カラーセルがあるところは、その色が入力されている。セルの大きさや含まれているものによって、着色された領域が1つのセルとして識別される場合と、複数のセルとして識別される場合がある。線抽出は、表の連結領域の境界として線(実施形態では黒線と白線)を提供し、その連結領域は表セルの抽出に使用される。従って、一態様では、表線は画素レベルで手動でラベル付けできる。
【0035】
色で入力する代わりに、入力フォームを改行したり、薄い色の表や、濃淡や色の異なるセルで構成された表があってもよい。これらの例の全てにおいて、実施形態では、これらの異なる可能な入力を認識し、取り扱うために用いられるディープラーニングベースのモデルは、セマンティックセグメンテーションネットワークであってもよく、一実施形態では、画素単位の入力および出力を取り扱うためにFCNセグメンテーションネットワークであってもよい。ある態様では、FCNセグメンテーションは、入力画像をバイナリーマスクにマッピングすることができる。ディープラーニングベースのモデルに適切なトレーニングセットを与えることで、これらの様々な表の外観の区別が容易になり、適切な分野のキーワードとコンテンツを適切に識別できるようになる。
【0036】
従来の表構造(単一またはモノリシックの規則的な構造を持つなど)または非伝統的な表構造(おそらくフォーム内に複数の表構造を持つなど)のいずれからも表を抽出し形成することが可能である。図3の330からの連結領域情報と前述の議論を用いて、図3の340に記したように、分離された領域から個々の表セルを抽出することが可能である。一実施形態において、個々のセルは、左から右へ、上から下へとマークされ、ラベル付けされてもよい。
【0037】
図4A~4Eは、個々のセルを抽出するための1つのアプローチを示している。図4Aは、単語1~単語7という複数の単語を持つ設定を示している。図4Bは、ツリーの潜在的なルートを強調表示する例を示す図である。この種の強調表示については、図5A図5B図6A図6Bに関してより詳細に説明する。
【0038】
図4Cは、複数レベルのキーワードを含むネスト化された表(Nディメンションテーブル)を示す図である。図4Cでは、個々のセルが左から右へ、行ごとにC1~CN(この例ではN=14)とラベル付けされている。図4A図4Cを比較すると、例えば、単語1はセルC0に対応し、単語5はセルC1に対応し、単語2と単語3を合わせてセルC2に対応し、単語6はセルC3に対応し、単語7はセルC4に対応し、単語4はセルC9に対応する。
【0039】
図4D図4Eは、キーワードレベルの異なるネスティングを示している。図4Dは、列ベースのネスティングを示す図である。C0、C1、C4、C7、C8はボックスが濃く表示されており、キーワードセルであることを示している。C0とC1はキーワード、C4はC1以下のキーワード、C7とC8はC4以下のキーワードである。濃く表示されたボックス以下のすべてのセル(C2、C3、C5、C6、C9―C14)は、コンテンツを意味する。図4Dは列ベースのネスティングであるため、C1がキーワードとして識別された場合、何らかの理由でC0の識別が曖昧になると、C1との相対位置関係からC0がキーワードと判定されることになる。同様に、C4がキーワードとして識別され、C1の識別が何らかの理由で曖昧な場合、C4との相対位置関係からC1がキーワードとして識別され、次にC0がキーワードとして識別されることになる。最後に、C7とC8のいずれかがキーワードと判定され、何らかの理由でC4またはC1の識別があいまいな場合、C4、次にC1、次にC0が、互いにおよびC7とC8に対するそれぞれの位置関係からキーワードとして識別されることになる。
【0040】
図4Eは、行ベースのネスティングを示す図である。C0、C2、C9、C3、C5はボックスが濃く表示されており、キーワードセルであることを示している。C0はキーワード、C2はキーワード、C2の右側にC3とC5がキーワード、C9はキーワードである。濃く表示されたボックスの右側全てのセル(C1、C4、C6~C8、C10~C14)はコンテンツを意味する。図4Eは行ベースのネスティングであるため、C3がキーワードとして識別された場合、何らかの理由でC2の識別が曖昧になると、C3との相対位置関係からC2がキーワードとして識別されることになる。同様に、C0はキーワードであるC2の位置と相対する位置にあるため、C0もキーワードとして識別されることになる。同様に、C5がキーワードとして識別され、C2の識別が何らかの理由で曖昧な場合、C5との相対位置関係からC2がキーワードとして識別され、次にC0がキーワードとして識別されることになる。
【0041】
最初に、列のサイズ情報を使ってツリーを形成することができる。図5Aは、そのようなツリーを示す。一態様では、ツリーを形成するために、個々のセルの左から右、上から下への幅を使用してもよい。サブセルの幅の合計が対応するルートセルの幅と等しい場合、ツリーのノードを2つに分割することができる。例えば、図5Aを見ると、1行目では、表全体の幅は、セルC0とC1の幅の合計に等しい。 第2階層または行では、セルC4の幅は、セルC7とC8の幅の和、すなわち、WC4≒WC7+WC8とほぼ同じになる。したがって、セルC4に直接接続する2つのサブノードC7とC8を形成することが可能である。また、セルC3とセルC4の高さはほぼ同じ、つまりHC3≒HC4である。 従って、C3とC4は同じレベルのルートノードを持つツリーとして配置することができる。
【0042】
したがって、列ベースの階層的なツリー構造をも示す図5Bにおいて、ツリー内の各ブロックは、グループ化されソートされた表セルの中から個々のセルを表している。他のノードにつながるノードは強調表示される。ツリー構造の深さは、列構造の最大行数を示す(図5Bでは、深さは4であり、図5Bの4行に相当する)。図5Bでは、表の一番上の行のセルC0、C1が第1レベルのノード、次の行のセルC3、C4が第2レベルのノードである。3行目のセルC7とC8は第3レベルのノードである。
【0043】
同様に、図6Aは、図5Aに対するものと同様の概念を採用した、行ベースの階層的なツリー構造を示す。図5Aと同様に、図6Aでは、ツリーの各ブロックは、グループ化されソートされた表セルから個々のセルを表している。ツリー構造の深さは、行構造の最大列数を示す(図6Aでは、深さは6であり、図6Aの6列に相当する)。図6Aにおいて、左側のセルC0、C2、C9が第1レベルのノードであり、セルC0、C2、C9のすぐ右側にあるセルC1、C3、C5、C10が第2レベルのノードである。図6Bでは、図5Bが示すものと同様に、他のノードにつながるノードが強調表示されている。
【0044】
表セルのツリー構造が明らかになったことで、表中の手書き入力や印刷入力を使って、セルの特性を特定することが可能である。実施形態では、印刷されたセルはキーワードを含むものとして扱い、手書きのセルはコンテンツとして扱うことができる。図5B及び図6Bでは、それぞれ列構造及び行構造について、キーワードノードは濃いボーダーのボックスであり、コンテンツノードは薄いボーダーのボックスであり、図4D及び図4Eに対応する。一次元の表では、列ツリーまたは行ツリーのいずれかを使用して、ツリーの各分岐からコンテンツセルとキーワードセルを識別し、関連付けることができることに留意すべきである。
【0045】
一態様では、JavaScriptObjectNotation(JSON)形式、ハイパーテキストマークアップ言語(HTML)形式、または拡張可能マークアップ言語(XML)形式などの形式を用いて、図5Aおよび5B、ならびに図6Aおよび6Bのツリーベースの表現を階層的テキストに変換することが可能である。当業者であれば、他の形式も可能であることを理解するであろう。
【0046】
以下の構造では、コロンの前の項目はキーワードを、コロンの後の項目はコンテンツを表す。従って、例えば、図5A及び図5Bの列ベースの構造は、以下のデータ構造として表現することができる。
【数2】
【0047】
図5Bの特定の例を見て、図4Dの前述の議論を参照すると、C0はキーワードであり、C2及びC9はC0より下のコンテンツである。C1もキーワードである。その下には、さらにキーワードC3、C4がある。C3の下にはコンテンツC5があり、コンテンツC5の下にはコンテンツC10があり、コンテンツC6の下にはコンテンツC11がある。C4の下には、さらにキーワードC7とC8がある。キーワードC7の下にはコンテンツC12とC13があり、キーワードC8の下にはコンテンツC14がある。
【0048】
同様に、図6A及び図6Bの行ベースの構造は、以下のデータ構造として表現することができる。
【数3】
【0049】
図6Bの特定の例を見て、図4Eの前述の議論を参照すると、C0はキーワードであり、C1はC0の右側にあるコンテンツである。C2もキーワードであり、その右側にキーワードC3とC5を有する。キーワードC3は、その右側にコンテンツC4を有する。キーワードC5は、その右側にコンテンツC6、C7、C8を有する。最後に、C9は、その右側にコンテンツC10、C11、C12、C13、C14を有するキーワードである。
【0050】
図7は、本明細書に記載の方法を実施するためのシステムの上位ブロック図である。図7では、入力フォーム710は、スキャナ720を介して入力され、直接または他のコンピューティング装置730を介してコンピューティングシステム750に接続されてもよい。入力フォーム710をスキャンすると、入力画像が生成され、そこからコンピューティングシステム750がキーワードを識別する。前述したように、入力画像はRGB画像であってもよい。実施形態では、入力画像は、グレースケール画像であってもよいし、白黒画像であってもよい。
【0051】
コンピューティングシステム750は、1つまたは複数のプロセッサ、1つまたは複数の記憶装置、および1つまたは複数の固体メモリシステム(記憶装置とは異なり、非一過性メモリおよび一過性メモリの両方を含むことができる)を含むことになる。実施形態において、コンピューティングシステム750は、以下でより詳細に説明されるディープラーニングシステム800を含んでもよい。
【0052】
ディープラーニングシステム800が関与する場合、トレーニングセットは、ディープラーニングシステム800がキーワードの位置を識別することができる空のフォームを含んでもよい。ディープラーニングシステム800がキーワードの位置を判別できるようになると、異なる空のフォームを入力することができ、ディープラーニングシステム800はキーワードの位置を判別できるようになる。また、システム800は、キーワードの位置が分かっている記入済みのフォームで学習させることもできる。記入済みのフォームにキーワードに隣接してテキストが提供される場合、システム800は、そのテキストをコンテンツとして認識するように訓練することができる。システム800が訓練されると、異なる記入済みのフォームが入力されたとき、次に、キーワードに対するコンテンツの位置(例えば、キーワードのすぐ下、またはすぐ右のいずれか)に基づいて、それぞれのキーワードに関連するコンテンツの位置を識別することが可能となり得る。ストレージ775は、上記でターゲット画像と呼ばれた、スキャンされた記入済み画像を格納してもよい。
【0053】
一実施形態では、フォームが図1A図1Cに示すようなものである場合、図2A及び図2Bに示すような底部を有するものを含め、他のキーワードの隣(例えば、すぐ下、又は他のキーワードのすぐ右側)にさらなるキーワードが位置していてもよい。図2Aでは、キーワード「平均価格」、「値引き」、「正味価格」が、キーワード「発注」の右側に表示される。キーワード「平均価格」、「値引き」、「正味価格」の右側に、「50,000」、「5,000」、「45,000」というコンテンツがそれぞれ表示される。また、キーワード「配送料」の右側には、キーワード「スタンダード」、「急送」、「翌日」が表示される。キーワード「スタンダード」、「急送」、「翌日」の下にコンテンツ 「100」、「200」、「400」 がそれぞれ表示される。
【0054】
キーワードとコンテンツの位置の判別の一部として、コンピューティングシステム750は、バウンディングボックス生成システム760を使用して、テキストの周りにバウンディングボックスを生成することができる。実施形態において、コンピューティングシステム750は、位置がずれていると判断されたバウンディングボックスを整列させるバウンディングボックス整列システム765を含んでもよい。実施形態において、ストレージ775は、ディープラーニングシステム800が処理する入力画像を格納してもよい。ストレージ775はまた、トレーニングセット、および/または特定の入力フォームに関連する識別されたキーワードおよびコンテンツを含むことができるディープラーニングシステム800の処理された出力を格納することができる。上述したように、ストレージ775は、ターゲット画像として先に言及した、記入済みのフォームも格納することができる。
【0055】
コンピューティングシステム750は、単一の場所にあってもよく、ネットワーク755は、コンピューティングシステム750の様々な要素間の通信を可能にする。さらに、または代替的に、コンピューティングシステム750の1つまたは複数の部分が他の部分から遠隔であってもよく、その場合、ネットワーク755は、通信用のクラウドシステムを意味することがある。実施形態では、様々な要素が併設されている場合であっても、ネットワーク755は、クラウドベースのシステムであってもよい。
【0056】
さらに、または代替的に、上記で言及したプロセッサ、ストレージシステム、およびメモリシステムのうちの1つまたは複数を含むことができる処理システム790は、キーワードおよび対応するコンテンツの場所を解決するために、本明細書で言及した回帰アルゴリズムを実装することができる。実施形態において、処理システム790は、ディープラーニングシステム800と通信して、例えば、システム800におけるノードの重み付けを支援する。
【0057】
図8は、ディープラーニングシステム800のやや詳細な構成図である。一般に、ディープラーニングシステム800は、当業者が認識するプロセッサ、ストレージ、およびメモリ構造を有することになる。CNNやDCNNなどのニューラルネットワークは、描かれているように、層820-1~820-Nに配置された複数のノードを有することになる。層820-1は入力層となり、層820-Nは出力層となる。異なる実施形態によれば、Nは2以上であってもよい。Nが3以上の場合、少なくとも1つの隠れ層(例えば、層820-2)が存在することになる。Nが2である場合、隠れ層はない。
【0058】
ニューラルネットワークのノードには、最初に重み付けが行われる。重み付けは、当業者であれば理解できるように、トレーニングセットがシステムに提示する様々な状況に対応するために必要な修正として、調整される。システム800がキーワードとコンテンツを特定すると、出力層820-Nは、キーワードとコンテンツをキーワード/コンテンツデータベース850に提供することができる。データベース850はまた、キーワードの位置と、場合によってはキーワードに関連するコンテンツの位置を伴うフォームの分類を格納してもよい。
【0059】
実施形態では、キーワードとコンテンツのパターンを場合によっては含めて特定すると、各グループのキーワードとコンテンツは、例えば、線形割り当てソルバーを使用してペアリングされてもよい。実施形態によれば、制約プログラミング(CP)ソルバー、整数計画(IP)ソルバー、又は混合整数計画(MIP)ソルバーが使用されてもよい。他の実施形態では、充足可能性(SAT)ソルバー、またはCP-SATソルバーが使用されてもよい。各キーワードとグループ内の対応するコンテンツとの間のコスト値は、幾何学的情報と意味的情報の両方を用いて計算される場合がある。一実施形態では、キーワード(i)とコンテンツ(j)の互いの近接度を示すコストCijを算出してもよい。Cijが低いほど、キーワードとコンテンツが関連付けられる可能性が高い。例示的な式は以下の通りである。
【数4】
【0060】
当業者であれば、意味的距離は、幾何学的距離によって直接測定することができるが、例えば、前方隣接順位、後方隣接順位、または2つの算術平均、幾何平均、または調和平均によって測定することもできることを理解するであろう。前述の式では、意味的距離はユークリッド距離として測定される。一実施形態では、意味的距離は、ワードムーバー距離として知られる距離測定によって測定されてもよく、それぞれのテキストに共通の単語が存在しない場合に適用可能である。余弦距離も意味的距離の一種であってよい。
【0061】
算出された対の距離は、列と行がキーワードとコンテンツに対応するコスト行列を形成することができる。距離は行列の要素である。例えば線形合計割り当てアルゴリズムを用いると、行列の中で最も距離が小さくなるペアを見つけることができる。線形合計割り当てでは、各行が列に一度だけ割り当てられるという制約がある。したがって、各キーワードには、対応するコンテンツまたはコンテンツグループを1つだけ割り当てることができる。
【0062】
キーワードとコンテンツの問題を解決するために線形合計割り当てアルゴリズムを使用すると、対になる距離の最小コストを得ることが可能である。線形合計割り当ての利点は、各キーワードについて、制約が1つのコンテンツの関連付けに限定されないことである。このアルゴリズムは、グローバルミニマムとベストマッチに達するすべての可能なペアを見つける。一実施形態では、割り当て問題は、いわゆる「アンバランス」問題であってもよく、その場合、採用されるソルバーは、アンバランスな線形割り当て問題に対処することができる。
【0063】
このタイプのコスト計算の1つの応用は、前述のようにキーワードの階層を示す図2Aを参照して理解できる。この図のキーワードとコンテンツを見ると、ブロック187A~Cのそれぞれのコンテンツは、キーワード186A~Cと関連付けられ、コスト計算では、これらのそれぞれのキーワードとコンテンツのペアが最も近いと表示されるからである。図2Aの右側では、コスト計算により、ブロック196~198のコンテンツが、キーワード191~193に最も近いことが示される。ブロック196のコンテンツも、キーワード190に近いものとして表示することができる。しかし、キーワードの階層が特定されたことにより、ブロック196~198のコンテンツは、それぞれキーワード191~193と適切に関連付けられることになる。
【0064】
図9は、前述からの流れをまとめたものである。905では、テキストアイテム(キーワードまたはコンテンツ)は、十分に大きなデータセットを使用してディープラーニングモデルによって訓練され得る単語埋め込み行列を介して、単語ベクトルに変換される。特に行列は非常に大きくなる可能性があり、例えば、特定の訓練ステップで関連する行のみに取り組むなど、一度に少しずつ訓練することができるため、当業者は、必要な機械学習訓練を理解することができる。910では、学習された単語埋め込み行列を介して決定された単語ベクトルから得られる幾何学的距離を計算する。915では、学習された単語埋め込み行列を介して決定された単語ベクトルから得られる意味的距離を計算する。
【0065】
920では、重みが割り当てられる。前述のように、幾何学的距離は、学習された単語埋め込み行列からユークリッド距離と意味的距離を用いて決定することができる。2つの距離の値を適切な重みを用いてバランスよくすることが必要である。例えば、ユークリッド距離が意味的距離より大きい場合、小さい大きさの重みを用いて値のバランスをとることができる。この点、一実施形態では、パラメータは経験的に決定される。925では、計算された距離と、前のステップで割り当てられた重みを使って、Cijが計算される。他のタイプのソルバーは、最小距離を計算するために、上記と同じ、類似の、または異なる重みを含む、またはそのような重みを全く含まない、異なるタイプの数式を提示できることを、当業者は理解するであろう。
【0066】
930では、計算された距離と判別された類似度を使用し、当該テキストアイテムにフラグを付与する。このフラグは、「キーワード」または「コンテンツ」のいずれかを意味するものである。940では、計算が満足のいくものであれば、処理を終了する。計算がうまくいかない場合は、945で重みを調整し、フローは925に戻る。
【0067】
以上から、本発明による実施形態は、ディープラーニング技術、およびニューラルネットワーク、より詳細には畳み込みニューラルネットワーク(CNN)、さらに詳細にはディープ畳み込みニューラルネットワーク(DCNN)または完全畳み込みニューラルネットワーク(FCNN)などのメカニズムを利用して、空のフォームにおけるキーワードのパターン、およびキーワードの周囲(例えば、キーワードの右、またはキーワードの下)のコンテンツの位置付けを認識できることを理解できるであろう。空のフォームと、空のフォームに記入されたフォームの適切なトレーニングセットがあれば、特定の空のフォームを認識し、空のフォームのキーワードに対応する適切なコンテンツフィールドを提供するようにシステムを適切に学習させることが可能である。
【0068】
以上、本発明の態様による実施形態を説明したが、本発明は、これらの実施形態または態様に限定されるものと考えてはならない。当業者であれば、添付の特許請求の範囲の範囲および精神の範囲内で、本発明の変更を理解するであろう。
図1A
図1B
図1C
図2A
図2B
図3
図4A
図4B
図4C
図4D
図4E
図5A
図5B
図6A
図6B
図7
図8
図9
【外国語明細書】