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

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2022-553663機械学習を使用した表形式データの内容特定方法、システム、プログラム
<>
  • 特表-機械学習を使用した表形式データの内容特定方法、システム、プログラム 図1
  • 特表-機械学習を使用した表形式データの内容特定方法、システム、プログラム 図2
  • 特表-機械学習を使用した表形式データの内容特定方法、システム、プログラム 図3
  • 特表-機械学習を使用した表形式データの内容特定方法、システム、プログラム 図4
  • 特表-機械学習を使用した表形式データの内容特定方法、システム、プログラム 図5
  • 特表-機械学習を使用した表形式データの内容特定方法、システム、プログラム 図6
  • 特表-機械学習を使用した表形式データの内容特定方法、システム、プログラム 図7
  • 特表-機械学習を使用した表形式データの内容特定方法、システム、プログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-26
(54)【発明の名称】機械学習を使用した表形式データの内容特定方法、システム、プログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20221219BHJP
   G06V 10/82 20220101ALI20221219BHJP
【FI】
G06T7/00 350C
G06V10/82
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022522717
(86)(22)【出願日】2020-10-20
(85)【翻訳文提出日】2022-04-14
(86)【国際出願番号】 IB2020059845
(87)【国際公開番号】W WO2021079262
(87)【国際公開日】2021-04-29
(31)【優先権主張番号】16/659,977
(32)【優先日】2019-10-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【復代理人】
【識別番号】100091568
【弁理士】
【氏名又は名称】市位 嘉宏
(72)【発明者】
【氏名】ゾン、ピーター
(72)【発明者】
【氏名】ヒメノ イエペス、アントニオ、ホセ
(72)【発明者】
【氏名】シャフィエイババニ、エラヘ
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA01
5L096DA02
5L096GA51
5L096HA11
5L096KA04
(57)【要約】
機械学習を使用した表形式データの内容特定方法であって、表形式データの画像のセットと表形式データの画像にそれぞれ対応するマークアップ・データのセットとを受け取り、マークアップ・データを使用して表形式データをセルへと区切るように第1のニューラル・ネットワークを訓練し、マークアップ・データを使用して表形式データ内のセルの内容を特定するように第2のニューラル・ネットワークを訓練する。さらに第1の表形式データを含み、マークアップ・データを有さない入力画像を受け取ると、第1のニューラル・ネットワークを使用して第1の表形式データの構造を特定し、第2のニューラル・ネットワークを使用して第1の表形式データの内容を抽出し、第1の表形式データに対応する電子出力を生成する。
【特許請求の範囲】
【請求項1】
機械学習モデルを訓練する訓練動作を実行するためにプロセッサの機械学習アルゴリズムを使用することであって、前記訓練動作は、
表形式データの画像のセットと、前記表形式データの画像にそれぞれ対応するマークアップ・データのセットとを受け取ることと、
前記マークアップ・データを使用して前記画像のセットからの前記表形式データをセルへと区切るように第1のニューラル・ネットワークを訓練することと、
前記マークアップ・データを使用して前記画像のセットからの前記表形式データ内の前記セルの内容を特定するように第2のニューラル・ネットワークを訓練することと、
を含む、前記使用することと、
第1の表形式データを含み、前記第1の表形式データの構造を示すマークアップ・データを有さない入力画像を受け取ることと、
前記第1のニューラル・ネットワークを使用して前記第1の表形式データの前記構造を特定し、前記第2のニューラル・ネットワークを使用して前記第1の表形式データの内容を抽出することによって、前記第1の表形式データに対応する電子出力を生成することと、
を含む、コンピュータ実装方法。
【請求項2】
前記第1のニューラル・ネットワークを訓練することは、前記画像のセットからの第1の画像を、前記マークアップ・データのセットからの対応する第1のマークアップ・データによって指定される前記第1の画像からの前記表形式データの部分と一致するように解析することを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記第1のニューラル・ネットワークを訓練することは、
前記第1の画像から解析された部分を前記対応する第1のマークアップ・データからの前記表形式データと比較することによって、前記第1のニューラル・ネットワークの構造正解度を計算することと、
前記構造正解度が所定の閾値を下回っていることに基づいて、前記第1のニューラル・ネットワークの1つまたは複数の重みを更新することと、
前記構造正解度が前記所定の閾値を超えた場合、前記第1のニューラル・ネットワークを訓練済みとしてマークすることと、
をさらに含む、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記第2のニューラル・ネットワークを訓練することは、前記画像のセットからの第1の画像から内容を、前記マークアップ・データのセットからの対応する第1のマークアップ・データによって指定される前記第1の画像からの前記表形式データの内容と一致するように抽出することを含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
【請求項5】
前記第2のニューラル・ネットワークを訓練することは、
前記第1の画像から抽出された前記内容を前記対応する第1のマークアップ・データからの前記内容と比較することによって、前記第2のニューラル・ネットワークの内容正解度を計算することと、
前記内容正解度が所定の閾値を下回っていることに基づいて、前記第2のニューラル・ネットワークの1つまたは複数の重みを更新することと、
前記内容正解度が前記所定の閾値を超えた場合、前記第2のニューラル・ネットワークを訓練済みとしてマークすることと、
をさらに含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記電子出力を生成することは、区切られた前記構造と、前記入力画像からの前記抽出された内容とをマージすることをさらに含む、請求項1から5のいずれか一項に記載のコンピュータ実装方法。
【請求項7】
前記電子出力は、所定のマークアップ言語を使用して前記構造に従って区分けされた前記入力画像からの前記抽出された内容を含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
メモリと、
前記メモリに結合されたプロセッサと、
を備え、前記プロセッサは、機械学習アルゴリズムを用いてプログラムされ、方法を実行するように構成され、前記方法は、
機械学習モデルを訓練することであって、
表形式データの画像のセットと、前記表形式データの画像にそれぞれ対応するマークアップ・データのセットとを受け取ることと、
前記マークアップ・データを使用して前記画像のセットからの前記表形式データをセルへと区切るように第1のニューラル・ネットワークを訓練することと、
前記マークアップ・データを使用して前記画像のセットからの前記表形式データ内の前記セルの内容を特定するように第2のニューラル・ネットワークを訓練することと、
を含む、前記訓練することと、
第1の表形式データを含み、前記第1の表形式データの構造を示すマークアップ・データを有さない入力画像を受け取ることと、
前記第1のニューラル・ネットワークを使用して前記第1の表形式データの前記構造を特定し、前記第2のニューラル・ネットワークを使用して前記第1の表形式データの内容を抽出することによって、前記第1の表形式データに対応する電子出力を生成することと、
を含む、システム。
【請求項9】
前記第1のニューラル・ネットワークを訓練することは、前記画像のセットからの第1の画像を、前記マークアップ・データのセットからの対応する第1のマークアップ・データによって指定される前記第1の画像からの前記表形式データの部分と一致するように解析することを含む、請求項8に記載のシステム。
【請求項10】
前記第1のニューラル・ネットワークを訓練することは、
前記第1の画像から解析された部分を前記対応する第1のマークアップ・データからの前記表形式データと比較することによって、前記第1のニューラル・ネットワークの構造正解度を計算することと、
前記構造正解度が所定の閾値を下回っていることに基づいて、前記第1のニューラル・ネットワークの1つまたは複数の重みを更新することと、
前記構造正解度が前記所定の閾値を超えた場合、前記第1のニューラル・ネットワークを訓練済みとしてマークすることと、
をさらに含む、請求項9に記載のシステム。
【請求項11】
前記第2のニューラル・ネットワークを訓練することは、前記画像のセットからの第1の画像から内容を、前記マークアップ・データのセットからの対応する第1のマークアップ・データによって指定される前記第1の画像からの前記表形式データの内容と一致するように抽出することを含む、請求項8から10のいずれか一項に記載のシステム。
【請求項12】
前記第2のニューラル・ネットワークを訓練することは、
前記第1の画像から抽出された前記内容を前記対応する第1のマークアップ・データからの前記内容と比較することによって、前記第2のニューラル・ネットワークの内容正解度を計算することと、
前記内容正解度が所定の閾値を下回っていることに基づいて、前記第2のニューラル・ネットワークの1つまたは複数の重みを更新することと、
前記内容正解度が前記所定の閾値を超えた場合、前記第2のニューラル・ネットワークを訓練済みとしてマークすることと、
をさらに含む、請求項11に記載のシステム。
【請求項13】
前記電子出力を生成することは、区切られた前記構造と、前記入力画像からの前記抽出された内容とをマージすることをさらに含む、請求項8から12のいずれか一項に記載のシステム。
【請求項14】
前記電子出力は、所定のマークアップ言語を使用して前記構造に従って区分けされた前記入力画像からの前記抽出された内容を含む、請求項13に記載のシステム。
【請求項15】
表形式データの内容を特定するためのコンピュータ・プログラム製品であって、
処理回路によって読み取り可能であり、前記処理回路によって実行するための、請求項1から7のいずれか一項に記載の方法を実行するための命令を記憶するコンピュータ可読記憶媒体
を備える、コンピュータ・プログラム製品。
【請求項16】
コンピュータ可読媒体に記憶され、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行された場合に、請求項1から7のいずれか一項に記載の方法を実行するためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は全般的にコンピュータ技術に関し、より詳細には、情報を表形式データとして提示するために使用された構造を自動的に特定し、さらに表形式データ内の内容を特定する内容認識システムに関する。
【背景技術】
【0002】
書籍、論文、記事、ブログ、レポートなどを含む相当な量の文書(literature)が、医学、法律、工学、科学、ビジネスなどのあらゆる分野で作成されている。さらに、文書は商取引の一部として作成されており、たとえば、請求書、見積書、取引明細書、契約書などがある。そのような全ての文書は通常、機械が理解できるようにすることを全く考えずに、人々の間で交換するために書かれている。区別する目的で、ドキュメント(document)を、機械が読み取って理解できるように記述されたドキュメントまたはファイルとは区別される「自然言語」のドキュメントとして説明する。人工知能の出現と、機械学習のさらなる進歩とにより、コンピュータなどの機械は、文書からの情報のコーパスを分析して、人間には発見不可能であり得る洞察を提供できるようになった。文書の内容の解読を容易にし、検索能力などの機能を提供する様々なドキュメント解析および分析システムが存在する。多くの公開された文書では、ドキュメントに含まれる表に極めて重要な情報が含まれている。これは臨床研究などの医学文書に特に当てはまり、異なるグループにまたがる結果に関する多くの情報はこれらの表にのみ含まれており、残りのテキストには存在しない。
【0003】
現在、これらの表は、標準的なフォーマットも構造も存在しないので、解析するのが困難または不可能である。人間はこれに長けているが、機械は意味を抽出するために表の構造を理解することがまだできない。したがって、当技術分野では、上記の問題に対処する必要がある。
【発明の概要】
【0004】
態様から見ると、本発明は、表形式データの内容を特定するためのコンピュータ実装方法、システム、およびコンピュータ・プログラム製品であって、機械学習モデルを訓練する訓練動作を実行するためにプロセッサの機械学習アルゴリズムを使用することであって、訓練動作は、表形式データの画像のセットと、表形式データの画像にそれぞれ対応するマークアップ・データのセットとを受け取ることと、マークアップ・データを使用して画像のセットからの表形式データをセルへと区切る(delineate)ように第1のニューラル・ネットワークを訓練することと、マークアップ・データを使用して画像のセットからの表形式データ内のセルの内容を特定するように第2のニューラル・ネットワークを訓練することと、を含む、使用することと、第1の表形式データを含み、第1の表形式データの構造を示すマークアップ・データを有さない入力画像を受け取ることと、第1のニューラル・ネットワークを使用して第1の表形式データの構造を特定し、第2のニューラル・ネットワークを使用して第1の表形式データの内容を抽出することによって、第1の表形式データに対応する電子出力を生成することと、を含む、コンピュータ実装方法、システム、およびコンピュータ・プログラム製品を提供する。
【0005】
さらなる態様から見ると、本発明は、表形式データの内容を特定するためのコンピュータ・プログラム製品であって、処理回路によって読み取り可能であり、処理回路によって実行するための、本発明のステップを実行するための方法を実行するための命令を記憶するコンピュータ可読記憶媒体を含む、コンピュータ・プログラム製品を提供する。
【0006】
さらなる態様から見ると、本発明は、コンピュータ可読媒体に記憶され、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、上記プログラムがコンピュータ上で実行された場合に、本発明のステップを実行するためのソフトウェア・コード部分を含む、コンピュータ・プログラムを提供する。
【0007】
本発明の1つまたは複数の実施形態によれば、機械学習モデルを使用して画像から表形式データを自動的に抽出するためのコンピュータ実装方法は、表形式データの画像のセットと、表形式データの画像にそれぞれ対応するマークアップ・データのセットとを受け取ることを含む。この方法はさらに、マークアップ・データを使用して表形式データをセルへと区切るように第1のニューラル・ネットワークを訓練することと、マークアップ・データを使用して表形式データ内のセルの内容を特定するように第2のニューラル・ネットワークを訓練することと、を含む。この方法はさらに、第1の表形式データを含み、マークアップ・データを有さない入力画像を受け取ると、第1のニューラル・ネットワークを使用して第1の表形式データの構造を特定し、第2のニューラル・ネットワークを使用して第1の表形式データの内容を抽出することによって、第1の表形式データに対応する電子出力を生成することを含む。
【0008】
本発明の1つまたは複数の実施形態によれば、システムは、メモリと、メモリに結合されたプロセッサとを含む。プロセッサは、機械学習モデルを訓練することを含む方法を実行するように、機械学習アルゴリズムを用いてプログラムされる。訓練することは、表形式データの画像のセットと、表形式データの画像にそれぞれ対応するマークアップ・データのセットとを受け取ることを含む。訓練することはさらに、マークアップ・データを使用して画像のセットからの表形式データをセルへと区切るように第1のニューラル・ネットワークを訓練することを含む。訓練することはさらに、マークアップ・データを使用して画像のセットからの表形式データ内のセルの内容を特定するように第2のニューラル・ネットワークを訓練することを含む。この方法は、訓練することの後に、さらに、第1の表形式データを含み、第1の表形式データの構造を示すマークアップ・データを有さない入力画像を受け取ると、第1のニューラル・ネットワークを使用して第1の表形式データの構造を特定し、第2のニューラル・ネットワークを使用して第1の表形式データの内容を抽出することによって、第1の表形式データに対応する電子出力を生成することを含む。
【0009】
本発明の1つまたは複数の実施形態によれば、コンピュータ・プログラム製品は、コンピュータ実行可能命令が記憶されたメモリ・ストレージ・デバイスを含む。コンピュータ実行可能命令は、プロセッサによって実行された場合に、機械学習モデルを訓練することを含む方法をプロセッサに実行させる。訓練することは、表形式データの画像のセットと、表形式データの画像にそれぞれ対応するマークアップ・データのセットとを受け取ることを含む。訓練することはさらに、マークアップ・データを使用して画像のセットからの表形式データをセルへと区切るように第1のニューラル・ネットワークを訓練することを含む。訓練することはさらに、マークアップ・データを使用して画像のセットからの表形式データ内のセルの内容を特定するように第2のニューラル・ネットワークを訓練することを含む。この方法は、訓練することの後に、さらに、第1の表形式データを含み、第1の表形式データの構造を示すマークアップ・データを有さない入力画像を受け取ると、第1のニューラル・ネットワークを使用して第1の表形式データの構造を特定し、第2のニューラル・ネットワークを使用して第1の表形式データの内容を抽出することによって、第1の表形式データに対応する電子出力を生成することを含む。
【0010】
本発明の実施形態は、機械学習を使用して、デジタル文書内の表形式データを自動的に解析および理解し、次いで文書を完全な分析のために使用することを容易にする。本発明の1つまたは複数の実施形態によれば、表形式データが様々なレイアウト、スタイル、情報タイプおよびフォーマットで提示されており、表形式データの構造に関するコード化/フォーマット化情報の明示的な記述を有さないにもかかわらず、文書内の表形式データが解読される。したがって、本発明の実施形態は、提示された表形式データを現在自動的に解読することができない自動内容認識システムの改善を容易にする。
【0011】
本発明の技術を通じて、追加の技術的特徴および利益が実現される。本発明の実施形態および態様は、本明細書で詳細に説明しており、特許請求した主題の一部と考えられる。より良く理解するために、詳細な説明および図面を参照されたい。
【0012】
本明細書に記載した排他的権利の細目については、本明細書の末尾にある特許請求の範囲において具体的に示しており、明確に特許請求している。本発明の実施形態の前述の特徴および利点、ならびにその他の特徴および利点は、添付の図面と併せて解釈される以下の詳細な説明から明らかである。
【図面の簡単な説明】
【0013】
図1】本発明の1つまたは複数の実施形態による内容認識のためのシステムを示す図である。
図2】例示的なシナリオにおける画像フォーマットの例示的な入力画像を示す図である。
図3】例示的なシナリオにおけるマークアップ・フォーマットでの入力画像からの表形式データの電子出力を示す図である。
図4】本発明の1つまたは複数の実施形態による、入力画像から表形式データを抽出するように機械学習モデルを訓練するための方法のフローチャートである。
図5】本発明の1つまたは複数の実施形態による、機械学習モデルの例示的な構造と、機械学習モデルを訓練するデータフローとを示す図である。
図6】本発明の1つまたは複数の実施形態によるコンピュータ・システムを示す図である。
図7】本発明の1つまたは複数の実施形態によるクラウド・コンピューティング環境を示す図である。
図8】本発明の1つまたは複数の実施形態によるモデル・レイヤを示す図である。
【発明を実施するための形態】
【0014】
本明細書に示す図は例示的なものである。本発明の範囲から逸脱することなく、本明細書に記載した図または動作には多くの変形を行うことができる。たとえば、アクションは異なる順序で実行することができ、またはアクションを追加したり、削除したり、変更したりすることができる。また、「結合された(coupled)」という用語およびその変化形は、2つの要素の間に通信経路を有することを示しており、それらの間に介在する要素/接続がない、要素間の直接的な接続を示唆するものではない。これらの変形は全て、本明細書の一部と考えられる。
【0015】
添付の図および開示した実施形態の以下の詳細な説明において、図に示す様々な要素に2桁または3桁の参照番号を付与している。些細な例外を除いて、各参照番号の左端の桁(複数可)は、その要素を最初に示す図に対応している。
【0016】
公開された文書は、表形式(「表」)で、すなわち、ドキュメント(複数可)に含まれる表形式データとして提示された極めて重要な情報を含む。文書は、複数の行および列にわたって情報を整理した表の形態で提示される情報を含み得る。そのような表形式データは、構造化された形で情報を提示し、重要な情報をまとめ、結果または所見あるいはその両方を提示することを容易にする。典型的には、表形式データは、データを表形式にするのに使用された構造を記述した対応する情報なしで、ドキュメントに画像として含まれる。この構造は、データが、たとえば、表の行、列、セル、および他のそのような構成要素へとどのように区切られるかを示す。
【0017】
多くの場合、表内の情報を理解することは、文書内の様々なドキュメントを分析する上で中核を成す。したがって、機械学習では、文書を完全な分析のために使用するため、表形式データを読み取って理解する必要がある。しかしながら、表形式データは様々なレイアウト、スタイル、情報タイプおよびフォーマットで提示されており、表形式データの構造に関するコード化/フォーマット化情報の明示的な記述を有さないので、文書内の表形式データを解読する際には技術的な課題がある。人間はそのような多様な表形式データのレイアウトおよびスタイルを読み取ることに長けているが、表形式データを解読することは技術的な課題である。表のばらつきの例には、行および列の高さの違い、列数の違い、異なる列での行数の違い、セルを区別する境界線のタイプの違いなどが含まれ得る。
【0018】
たとえば、臨床研究などの医学文書の場合、異なるグループにまたがる結果に関する情報がそのような表に含まれている。医学文書は単なる一例であり、表形式データは、工学、科学、ビジネス、法律などの他の様々な分野の文書に提示されており、本発明の実施形態がいずれの特定分野のドキュメントの使用にも限定されないことは理解される。
【0019】
さらに、複数のケースにおいて、表形式を使用してドキュメントに提示されたデータは、ドキュメントの残りのテキストには存在しない。したがって、利用可能な文書を自律的に解析してドキュメントの内容を解読する自動内容認識システムの場合、そのような表形式データを解読するには技術的な課題が存在する。現在、データを表形式にするのに使用される標準的なフォーマットも構造も存在しないので、そのような表形式データを解析することは技術的な課題である。データは通常、人間の理解のために表形式にされており、人間は一般に、その場限りの構造を使用して表形式にフォーマット化されたそのようなデータを解析することに長けており、フォーマット化の記述が提供される必要はない。
【0020】
本発明の実施形態は、そのような技術的課題に対処し、機械が表形式データの意味を抽出するために表形式データの構造(またはフォーマット)を自律的に理解することを容易にする。本発明の1つまたは複数の実施形態は、構造の記述も、表形式データのフォーマット化を指定する区切り(delineation)もラベルもない表形式データを受け取り、個々の列、行、またはセル、あるいはそれらの組み合わせを識別し、表に含まれる内容(たとえば、テキスト、画像など)を抽出するように機械学習(ML:machine learning)モデルを訓練することを容易にする。本発明の1つまたは複数の実施形態では、抽出された内容は、構造化された、意味が分かるフォーマットで出力される。
【0021】
本発明の1つまたは複数の実施形態では、MLモデルは、区切りもラベルも指定されていない表のデジタル画像の形態の表形式データを受け取る。たとえば、デジタル画像は、任意のデジタル画像ファイル・フォーマット、たとえば、ビットマップ、ジョイント・フォトグラフィック・エキスパート・グループ(JPEG:Joint Photographic Experts Group)、ポータブル・ネットワーク・グラフィック(PNG:portable network graphic)、または他の任意のフォーマットなどのものとすることができる。1つまたは複数の例では、ドキュメントから表形式データの画像が抽出され、ドキュメントは、ポータブル・ドキュメント・フォーマット(PDF:portable document format)、DOCなどの任意のデジタル・コンテンツ・フォーマットである。次いで、MLモデルは、個々の列、行、セルを識別し、そこに含まれるテキストを構造化された、意味が分かる形で抽出することができる。本発明の1つまたは複数の実施形態では、抽出されたデータは、コンピュータ可読フォーマット、たとえば、ハイパーテキスト・マークアップ言語(HTML:hypertext markup language)、拡張マークアップ言語(XML:extended markup language)、または他の任意のそのようなコンピュータ可読フォーマットなどを使用して出力される。
【0022】
図1は、本発明の1つまたは複数の実施形態による内容認識のためのシステム100を示している。システム100は、図8に示す内容認識ワークロード96とすることができる。あるいは、本明細書に記載のように、システム100は、内容認識に使用されるスタンドアロン・システムとすることができる。システム100は、コンポーネントの中でもとりわけ、内容認識デバイス120を含み、内容認識デバイス120は、電子ドキュメント110から表形式データの入力画像112を受け取る。受け取られた入力画像112には、入力画像112内の表形式データのフォーマットを記述する構造的な情報は一切付されていない。
【0023】
内容認識デバイス120は、MLモデル122を使用して入力画像112の内容を解析し、マークアップ・フォーマット132の表形式データを含む電子出力130を生成する。マークアップ・フォーマット132の表形式データは、たとえば、表形式データ内のセルを記述する、区切られたフォーマットの表形式データの構造を含む。たとえば、区切られたフォーマットは、データを複数のセルに分割する表形式データの行および列を記述する。本発明の1つまたは複数の実施形態では、内容認識デバイス120はまた、入力画像112からテキストを抽出して、電子出力130に含めることができる。抽出されたテキストは、表形式データ内のセル間の関係に基づいて意味を特定できるように提示することができる。
【0024】
MLモデル122は、訓練データ(学習データ)140を使用して、入力画像112の内容を解析するように訓練(学習)される。訓練データ140は、表形式データの抽出された画像142と、抽出された画像142内の表形式データの構造および内容を提供する対応するマークアップ・データ144とを組にしたものを含む。訓練データ140は、表形式データの抽出された画像142と、表構造および内容の対応するマークアップ・データ144とのそのような対応するペアを複数(たとえば、数千個、数百万個など)含む。訓練データ140は、MLモデルによって使用されて、入力画像112などの表形式データの所与の画像内の表構造および内容を、表形式データの構造の対応する記述なしで識別することを学習する。
【0025】
図2は例示的なシナリオにおける例示的な入力画像112を示しており、図3は例示的なシナリオにおける電子出力130を示している。図2に示した例では、入力画像112は列410および行420を含む。図示のように、1つまたは複数の行は、サブ行430を含むことができる。行420および列410は、複数のセル440を形成する。表形式データの構造は、図3に示すように、電子出力130においてマークアップ・フォーマット132へと区切られる。マークアップ・フォーマット132での区切りは、列410に対応する列区切り510を記述する。列区切り510は、いくつかの列410を示す。列区切り510はまた、列410の見出しを記述する。列区切り510は、たとえば、列410がサブ列などの他の属性を有する他の例では、列410を記述する他の特徴を含むことができる。
【0026】
図3に示すマークアップ・フォーマット132はまた、行420に対応する行区切り520を含む。行区切り520は、入力画像112内のいくつかの行420を記述する。行区切り520はまた、行420の見出しを含む。行区切り520はまた、1つまたは複数のサブ行430を含む行420のサブ区切り530を含む。
【0027】
さらに、図3に示す電子出力130は、図2に示すセル440から抽出されたテキスト540を含む。抽出されたテキスト540は、図2に示す入力画像112から区切られた構造に従って含められる。
【0028】
図4は、本発明の1つまたは複数の実施形態による、入力画像112から表形式データを抽出するように内容認識デバイス120のMLモデル122を訓練するための方法600のフローチャートを示している。方法600は、ブロック610において、訓練データ140を使用してMLモデル122を訓練することを含む。訓練データは、表形式データを有する訓練画像(学習画像)142と、訓練画像142内の表形式データの構造および内容を記述した対応する訓練マークアップ・データ144とを含む。1つまたは複数の例では、訓練マークアップ・データ144は、訓練画像142を含む対応する画像ファイルまたはドキュメント・ファイル内の表形式データのラベルを提供する複数のXMLファイルとすることができる。
【0029】
訓練マークアップ・データ144は、MLモデル122に、訓練画像142内の表形式データの統一された(normalized)構造化表現を提供する。本発明の1つまたは複数の実施形態では、訓練画像142は、複数のドキュメント(たとえば、PDFファイル)内の表形式データを画像ファイル(たとえば、JPEG)に変換することによって生成される。そのような変換は、1つまたは複数の例では自動的に実行することができるので、訓練データ140自体は、人手による労力なしで生成される。訓練データ140は、マークアップ表現144の表形式データのグラウンド・トゥルースが付属した訓練画像142を提供する複数(数千、数百万)のサンプルを提供する。
【0030】
MLモデル122は、本発明の1つまたは複数の実施形態では、訓練データ140を使用して訓練することができるディープ・ラーニング・ネットワーク・アーキテクチャを有することができる。図5は、本発明の1つまたは複数の実施形態による、MLモデル122の例示的な構造と、MLモデル122を訓練するデータフローとを示している。
【0031】
本発明の1つまたは複数の実施形態では、MLモデル122は、畳み込みニューラル・ネットワーク(CNN:convolutional neural network)、アテンション・モジュール、およびリカレント・ニューラル・ネットワーク(RNN:recurrent neural network)の複数の層を有するエンコーダ-デコーダ・モデルを使用するディープ・ニューラル・ネットワーク・ラーニング・アーキテクチャである。本発明の1つまたは複数の実施形態におけるMLモデル122は、エンコーダ710と、第1のデコード用セット720および第2のデコード用セット730の2つのデコード用セットとを含む。
【0032】
エンコーダ710は、訓練画像142を分析し、畳み込みフィルタのセットを使用して訓練画像142の視覚的特徴をキャプチャする1つまたは複数のCNNを含む。畳み込みフィルタのパラメータは、訓練中に逆伝播で更新される。視覚的特徴をまとめて特徴マップと呼ぶ。特徴マップの各画素は、訓練画像142内の対応するローカル・パッチ(たとえば、16×16画素)のパターンを記述する高次元特徴ベクトルである。エンコーダ710は、特徴マップを第1のデコード用セット720および第2のデコード用セット730に転送する。
【0033】
デコード用セット720、730は、RNNおよびアテンション・モジュールの1つまたは複数のユニットを含むことができる。1つまたは複数の例では、RNNは、長期短期記憶(LSTM:long short-term memory)またはゲート付き回帰型ユニット(GRU:gated recurrent unit)セルとして実装することができる。第1のデコード用セット720は、訓練画像142(および入力画像112)内の表形式データの構造を特定するために使用することができる。したがって、第1のデコード用セット720は、構造デコード用ニューラル・ネットワークのセットと呼ぶこともできる。第2のデコード用セット730は、訓練画像142(および入力画像112)の表形式データ内の1つまたは複数のセルの内容を特定するために使用することができる。したがって、第2のデコード用セット730は、内容デコード用ニューラル・ネットワークのセットと呼ぶこともできる。
【0034】
構造デコード用ニューラル・ネットワークのセット(720)は、構造アテンション・モジュール722と、RNNである構造デコーダ724とを含む。構造アテンション・モジュール722は、構造を解読するために訓練画像142(および入力画像112)からエンコードされた特徴マップの異なる部分に異なる注目度(degree of focus)を割り当てる方法を学習するニューラル・ネットワークである。特徴マップの特定の領域における注目度が高いほど、構造デコーダ724はその領域からより多くの情報を利用するようになる。特徴マップ内の所与の位置における注目度は、重みパラメータのセットを特徴マップ自体と、構造デコーダ724の「隠れ状態」とに乗算することによって決定される。RNNにおいて、再帰層のコンテキストでの「隠れ状態」とは、以前の入力の表現を提供するために再帰中(リカレント中)に共有される値である。アテンション・モジュール722の重みパラメータは、さらに説明するように、訓練中に逆伝播を介して調整される。アテンション・モジュール722は、訓練画像142の特徴マップを分析して注目度を決定する。構造デコーダRNN724も、逆伝播を介して更新される独自の重みパラメータを含む。構造デコーダRNN724および構造アテンション・モジュール722は、構造デコーダRNN724および構造アテンション・モジュール722の両方のネットワークの重みパラメータを調整するように、互いに連携して反復的に訓練(学習)される。
【0035】
重みは、構造デコード用ニューラル・ネットワークのセット(720)によって生成されたマークアップ表現推定結果730と、訓練画像142の既知の表構造144との差を最小化するように更新される。図5に示すように、マークアップ表現推定結果は表構造144と比較されて、損失関数740が計算される。損失関数740は、抽出された構造と訓練データ144の既知の構造との差を示す。損失関数740は、構造デコーダRNN724、構造アテンション・モジュール722、およびエンコーダ710にフィードバックとして提供される。あるいは、差に基づいて構造正解度(accuracy)スコアが計算され、フィードバックとして提供される。構造デコーダRNN724、構造アテンション・モジュール722、およびエンコーダ710の重みは、構造正解度スコアに基づいて、マークアップ表現推定結果730を表形式データ144に近づけるように更新される。1つまたは複数の例では、構造正解度スコアは所定の正解度閾値と比較される。構造正解度スコアが所定の構造正解度閾値を超えた場合、構造デコード用ニューラル・ネットワークのセット720は、訓練済みとしてマークされる。あるいは、構造正解度スコアが所定の構造正解度閾値と特定の閾値を超えて異なる場合、構造デコード用ニューラル・ネットワークのセット720は訓練され続け、すなわち、重みが調整される。
【0036】
内容デコード用ニューラル・ネットワークのセット730は、構造デコード用ニューラル・ネットワークのセット720と同様に訓練されて動作する。内容デコード用ニューラル・ネットワークのセット730は、内容アテンション・モジュール732と、RNNである内容デコーダ734とを含む。内容アテンション・モジュール732は、内容を解読するために訓練画像142(および入力画像112)からエンコードされた特徴マップの異なる部分に異なる注目度を割り当てる方法を学習するニューラル・ネットワークである。特徴マップの特定の領域における注目度が高いほど、内容デコーダ734はその領域からより多くの情報を利用するようになる。特徴マップ内の所与の位置における注目度は、重みパラメータのセットを特徴マップ自体と、構造デコーダ724の隠れ状態と、内容デコーダ734の隠れ状態とに乗算することによって決定される。内容アテンション・モジュール732の重みパラメータは、さらに説明するように、訓練中に逆伝播で調整される。たとえば、内容アテンション・モジュール732は、内容デコーダRNN734によって使用される訓練画像142の特徴マップを分析する。内容デコーダRNN734も、逆伝播で更新される独自の重みパラメータを含む。内容デコーダRNN734および内容アテンション・モジュール732は、内容デコーダRNN734および内容アテンション・モジュール732の両方のネットワークの重みパラメータを調整するように、互いに連携して反復的に訓練される。
【0037】
重みは、内容デコード用ニューラル・ネットワークのセットによって生成された表現推定結果730と、訓練画像142の表形式データ内の既知の内容との差を最小化するように更新される。図5に示すように、マークアップ表現推定結果730は表形式データ144と比較されて、損失関数740が計算される。損失関数740は、抽出された内容と訓練データ144の既知の内容との差を示す。損失関数740は、内容デコーダRNN734、内容アテンション・モジュール732、およびエンコーダ710にフィードバックとして提供される。あるいは、差に基づいて内容正解度スコアが計算され、フィードバックとして提供される。内容デコーダRNN734、内容アテンション・モジュール732、およびエンコーダ710の重みは、内容正解度スコアに基づいて、マークアップ表現推定結果730を表形式データ144に近づけるように更新される。1つまたは複数の例では、内容正解度スコアは所定の正解度閾値と比較される。正解度スコアが所定の正解度閾値を超えた場合、内容デコード用ニューラル・ネットワークのセット730は、訓練済みとしてマークされる。あるいは、正解度スコアが所定の正解度閾値と特定の閾値を超えて異なる場合、内容デコード用ニューラル・ネットワークのセット730は訓練され続け、すなわち、重みが調整される。
【0038】
結果的に、画像フォーマットで提示された表形式データを区切るために、本発明の1つまたは複数の実施形態では、MLモデル120は、エンコーダ710、構造アテンション・モジュール722、および構造デコーダ724の3つのニューラル・ネットワークを含む。エンコーダ710は、訓練画像から特徴マップを決定し、特徴マップは構造アテンション・モジュール722に転送される。構造アテンション・モジュール722は、特徴マップから注目度を決定する。構造デコーダは、注目度および特徴マップを使用して、表形式データの構造の区切り推定結果を決定する。推定結果と、訓練データ144からのマークアップ表現との差に基づいて、エンコーダ710、構造アテンション・モジュール722、および構造デコーダ724の重みが更新/調整される。
【0039】
さらに、MLモデル120は、表形式データから内容を抽出するために、内容アテンション・モジュール732および内容デコーダ734を含み、これらは共にエンコーダ710と連携して動作する。ここで、内容アテンション・モジュール732は、エンコーダ710によって決定された特徴マップを使用して、内容抽出のための注目度を決定する。続いて、内容デコーダ734は、特徴マップおよび注目度を使用して内容推定結果を決定する。内容推定結果と、訓練データからの実際の内容との差を使用して、エンコーダ710、内容アテンション・モジュール730、および内容デコーダ734の重みを調整する。1つまたは複数の例では、内容アテンション・モジュール732は、構造デコーダ724からの入力を使用する。1つまたは複数の例では、MLモデル120内の全てのニューラル・ネットワークが同時に訓練される。
【0040】
図4の方法600のフローチャートに戻ると、本発明の1つまたは複数の実施形態では、方法600は、ブロック620において、未知の構造を有する表形式データを含む入力画像112を受け取ることをさらに含む。換言すれば、入力画像内の表形式データの構造は、内容認識デバイス120にとって未知である。
【0041】
内容認識デバイス120は、ブロック630において、訓練されたMLモデル122を使用して、入力画像112内の表形式データの構造の区切りを特定する。具体的には、構造デコード用ニューラル・ネットワーク(複数可)が、訓練中に準備された重みに基づいて表形式データの区切りを識別することを容易にする。区切りは、入力画像112内のセル440のマークアップ表現を含む。区切りはまた、表形式データの列410および行420のマークアップ表現を含む。区切りはさらに、表形式データに存在し得るサブ行およびサブ列の間の境界を識別する。
【0042】
さらに、方法600は、内容デコード用ニューラル・ネットワークのセット730を使用して、ブロック640において、入力画像112内の表形式データから内容を抽出することを含む。
【0043】
方法600は、ブロック650において、抽出された内容と、入力画像112からの表形式データの区切りとをマージすることをさらに含む。マージすることは、表形式データの区切られた構造のマークアップ表現に抽出された内容を追加することを含む。その結果、本発明の1つまたは複数の実施形態では、表構造の境界を定めるために使用されるマークアップ言語に準拠したタグを含むマークアップ・ファイルが生成される(図3参照)。マークアップ・ファイルはさらに、タグ内に埋め込まれた抽出された内容を含む。
【0044】
このようにして、入力画像112は、MLモデル122を使用して自動的に分析され、入力画像から表形式データの構造が識別され、さらに表形式データの内容が抽出される。さらに、表形式データはマークアップ・フォーマットを使用して表現される。本明細書で説明した例全体でマークアップ・フォーマットを使用しているが、本発明の1つまたは複数の実施形態では、表形式データは、他の任意の電子フォーマット化またはプロトコル、たとえば、カンマ区切りボリューム(CSV:comma separated volume)、または他の任意の機械可読フォーマットを使用して表現できることに留意されたい。
【0045】
ここで図6を参照すると、一実施形態によるコンピュータ・システム800が概略的に示されている。コンピュータ・システム800は、本明細書に記載のように、様々な通信技術を利用する任意の数および組み合わせのコンピューティング・デバイスおよびネットワークを含むまたは利用するあるいはその両方である電子コンピュータ・フレームワークとすることができる。コンピュータ・システム800は、容易にスケーリング可能な、拡張可能な、モジュール式のものとすることができ、異なるサービスに変化したり、一部の特徴を他の特徴とは独立して再構成したりする能力を有する。コンピュータ・システム800は、たとえば、サーバ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、またはスマートフォンであり得る。いくつかの例では、コンピュータ・システム800は、クラウド・コンピューティング・ノードであり得る。コンピュータ・システム800は、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的なコンテキストで説明し得る。一般に、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ・タイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータ・システム800は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境において実施され得る。分散クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルおよびリモート両方のコンピュータ・システム記憶媒体に配置され得る。
【0046】
図6に示すように、コンピュータ・システム800は、1つまたは複数の中央処理装置(CPU:central processing unit(複数可))801a、801b、801cなどを有する(集合的にまたは総称的にプロセッサ(複数可)801と呼ぶ)。プロセッサ801は、シングルコア・プロセッサ、マルチコア・プロセッサ、コンピューティング・クラスタ、または任意の数の他の構成とすることができる。処理回路とも呼ばれるプロセッサ801は、システム・バス802を介してシステム・メモリ803および他の様々なコンポーネントに結合される。システム・メモリ803は、読み取り専用メモリ(ROM:read only memory)804およびランダム・アクセス・メモリ(RAM:random access memory)805を含むことができる。ROM804は、システム・バス802に結合され、コンピュータ・システム800の特定の基本機能を制御する基本入力/出力システム(BIOS:basic input/output system)を含み得る。RAMは、プロセッサ801によって使用するためにシステム・バス802に結合された読み出し/書き込みメモリである。システム・メモリ803は動作中に、上記命令の動作のために一時的なメモリ・スペースを提供する。システム・メモリ803は、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ、フラッシュ・メモリ、または他の任意の適切なメモリ・システムを含むことができる。
【0047】
コンピュータ・システム800は、システム・バス802に結合された入力/出力(I/O:input/output)アダプタ806および通信アダプタ807を含む。I/Oアダプタ806は、ハード・ディスク808または他の任意の同様のコンポーネントあるいはその両方と通信するスモール・コンピュータ・システム・インターフェース(SCSI:small computer system interface)アダプタであり得る。I/Oアダプタ806およびハード・ディスク808は、本明細書では集合的にマス・ストレージ810と呼ぶ。
【0048】
コンピュータ・システム800上で実行されるソフトウェア811は、マス・ストレージ810に記憶され得る。マス・ストレージ810は、プロセッサ801によって読み出し可能な有形の記憶媒体の一例であり、ソフトウェア811は、プロセッサ801によって実行される命令であって、たとえば、様々な図に関連して本明細書で以下に説明するようにコンピュータ・システム800を動作させる命令として記憶される。コンピュータ・プログラム製品の例、およびそのような命令の実行については、本明細書でより詳細に論じる。通信アダプタ807はシステム・バス802を、外部ネットワークであり得るネットワーク812と相互接続して、コンピュータ・システム800が他のそのようなシステムと通信することを可能にする。1つの実施形態では、システム・メモリ803の一部分およびマス・ストレージ810は、集合的にオペレーティング・システムを記憶し、このオペレーティング・システムは、図6に示す様々なコンポーネントの機能を調整するための任意の適切なオペレーティング・システム、たとえば、IBM社のz/OS(R)またはAIX(R)オペレーティング・システムなどであり得る。
【0049】
ディスプレイ・アダプタ815およびインターフェース・アダプタ816を介してシステム・バス802に接続される追加の入力/出力デバイスを図示している。1つの実施形態では、アダプタ806、807、815、および816は、中間のバス・ブリッジ(図示せず)を介してシステム・バス802に接続される1つまたは複数のI/Oバスに接続され得る。ディスプレイ819(たとえば、スクリーンまたはディスプレイ・モニタ)が、ディスプレイ・アダプタ815によってシステム・バス802に接続され、ディスプレイ・アダプタ815は、グラフィック集約的なアプリケーションのパフォーマンスを改善するためのグラフィック・コントローラおよびビデオ・コントローラを含み得る。インターフェース・アダプタ816を介してキーボード821、マウス822、スピーカー823などをシステム・バス802に相互接続することができ、インターフェース・アダプタ816は、たとえば、複数のデバイス・アダプタを単一の集積回路に統合したスーパーI/Oチップを含み得る。ハード・ディスク・コントローラ、ネットワーク・アダプタ、およびグラフィック・アダプタなどの周辺デバイスを接続するための適切なI/Oバスは、典型的には、周辺機器相互接続(PCI)などの一般的なプロトコルを含む。このため、図6に構成したように、コンピュータ・システム800は、プロセッサ801の形態の処理機能と、システム・メモリ803およびマス・ストレージ810を含むストレージ機能と、キーボード821およびマウス822などの入力手段と、スピーカー823およびディスプレイ819を含む出力機能と、を含む。
【0050】
いくつかの実施形態では、通信アダプタ807は、任意の適切なインターフェースまたはプロトコル、たとえば、とりわけ、インターネット・スモール・コンピュータ・システム・インターフェースなどを使用してデータを送信することができる。ネットワーク812は、とりわけ、セルラー・ネットワーク、無線ネットワーク、ワイド・エリア・ネットワーク(WAN:wide area network)、ローカル・エリア・ネットワーク(LAN:local area network)、またはインターネットであり得る。外部コンピューティング・デバイスが、ネットワーク812を介してコンピュータ・システム800に接続し得る。いくつかの例では、外部コンピューティング・デバイスは、外部ウェブサーバまたはクラウド・コンピューティング・ノードであり得る。
【0051】
図6のブロック図は、コンピュータ・システム800が図6に示した全てのコンポーネントを含むことを示すように意図していないことを理解されたい。むしろ、コンピュータ・システム800は、任意の適切なより少ないコンポーネント、または図6に示していない任意の適切な追加のコンポーネント(たとえば、追加のメモリ・コンポーネント、組み込みコントローラ、モジュール、追加のネットワーク・インターフェースなど)を含むことができる。さらなる、コンピュータ・システム800に関して本明細書に記載した実施形態は、任意の適切なロジックを用いて実装され、ロジックは、本明細書で言及する場合、様々な実施形態において、任意の適切なハードウェア(たとえば、とりわけ、プロセッサ、組み込みコントローラ、もしくは特定用途向け集積回路)、ソフトウェア(たとえば、とりわけ、アプリケーション)、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの任意の適切な組み合わせを含むことができる。
【0052】
本発明の実施形態は、1つまたは複数の例では、クラウド・コンピューティング技術を使用して実装することができる。本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に列挙した教示の実装形態はクラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られているまたは今後開発される他の任意のタイプのコンピューティング環境と共に実装することが可能である。
【0053】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとのやり取りによって迅速にプロビジョニングおよび解放することができる、設定可能なコンピューティング・リソース(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つのデプロイメント・モデルとを含み得る。
【0054】
特徴は以下の通りである。
オンデマンド・セルフ・サービス:クラウド・コンシューマは、サービスのプロバイダとの人的な対話を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的にプロビジョニングすることができる。
ブロード・ネットワーク・アクセス:能力はネットワークを介して利用することができ、異種のシンまたはシック・クライアント・プラットフォーム(たとえば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを介してアクセスされる。
リソース・プーリング:プロバイダのコンピューティング・リソースをプールして、様々な物理リソースおよび仮想リソースが需要に応じて動的に割り当ておよび再割り当てされるマルチ・テナント・モデルを使用して複数のコンシューマにサービス提供する。一般にコンシューマは、提供されるリソースの正確な位置に対して何もできず、知っているわけでもないが、より高い抽象化レベル(たとえば、国、州、またはデータセンターなど)では位置を特定可能であり得るという点で位置非依存の感覚がある。
迅速な弾力性:能力を迅速かつ弾力的に、場合によっては自動的にプロビジョニングして素早くスケール・アウトし、迅速に解放して素早くスケール・インすることができる。コンシューマにとって、プロビジョニング可能な能力は無制限であるように見えることが多く、任意の時間に任意の数量で購入することができる。
測定されるサービス:クラウドシステムは、サービスのタイプ(たとえば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適したある抽象化レベルでの計量機能を活用して、リソースの使用を自動的に制御し、最適化する。リソース使用量を監視、管理、および報告して、利用されるサービスのプロバイダおよびコンシューマの両方に透明性を提供することができる。
【0055】
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス(SaaS:Software as a Service):コンシューマに提供される能力は、クラウド・インフラストラクチャ上で動作するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(たとえば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を可能性のある例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、さらには個々のアプリケーション機能を含む、基盤となるクラウド・インフラストラクチャを管理も制御もしない。
プラットフォーム・アズ・ア・サービス(PaaS:Platform as a Service):コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、コンシューマが作成または取得したアプリケーションをクラウド・インフラストラクチャ上にデプロイすることである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基盤となるクラウド・インフラストラクチャを管理も制御もしないが、デプロイされたアプリケーションおよび場合によってはアプリケーション・ホスティング環境構成を制御する。
インフラストラクチャ・アズ・ア・サービス(IaaS:Infrastructure as a Service):コンシューマに提供される能力は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをコンシューマがデプロイして動作させることが可能な、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基盤となるクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションを制御し、場合によっては選択したネットワーキング・コンポーネント(たとえば、ホスト・ファイアウォール)を限定的に制御する。
【0056】
デプロイメント・モデルは以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは組織専用に運用される。これは組織または第三者によって管理され、構内または構外に存在し得る。
コミュニティ・クラウド:クラウド・インフラストラクチャはいくつかの組織によって共有され、共通の懸念(たとえば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンスの考慮事項など)を有する特定のコミュニティをサポートする。これは組織または第三者によって管理され、構内または構外に存在し得る。
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大規模な業界団体に対して利用可能にされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データおよびアプリケーションの移植性を可能にする標準化技術または独自技術(たとえば、クラウド間の負荷分散用のクラウド・バースティング)によって結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)を合成したものである。
【0057】
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、および意味論的相互運用性に重点を置いたサービス指向型である。クラウド・コンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0058】
ここで図7を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示のように、クラウド・コンピューティング環境50は1つまたは複数のクラウド・コンピューティング・ノード10を含み、これらを使用して、たとえば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)もしくは携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはそれらの組み合わせなどの、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが通信し得る。ノード10は相互に通信し得る。これらは、たとえば、上述のプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはそれらの組み合わせなどの1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化され得る(図示せず)。これにより、クラウド・コンピューティング環境50は、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを維持する必要がない、インフラストラクチャ・アズ・ア・サービス、プラットフォーム・アズ・ア・サービス、またはソフトウェア・アズ・ア・サービス、あるいはそれらの組み合わせを提供することが可能になる。図7に示したコンピューティング・デバイス54A~Nのタイプは例示的なものにすぎないことが意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意のタイプのネットワークまたはネットワーク・アドレス指定可能接続(たとえば、Webブラウザを使用)あるいはその両方を介して任意のタイプのコンピュータ化デバイスと通信できることを理解されたい。
【0059】
ここで図8を参照すると、クラウド・コンピューティング環境50(図7)によって提供される機能的抽象化レイヤのセットが示されている。図8に示したコンポーネント、レイヤ、および機能は例示的なものにすぎないことが意図されており、本発明の実施形態はこれらに限定されないことを事前に理解されたい。図示のように、以下のレイヤおよび対応する機能が提供される。
【0060】
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例には、メインフレーム61、RISC(縮小命令セット・コンピュータ:Reduced Instruction Set Computer)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーキング・コンポーネント66が含まれる。いくつかの実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0061】
仮想化レイヤ70は抽象化レイヤを提供し、抽象化レイヤから、仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75が提供され得る。
【0062】
一例では、管理レイヤ80は、下記の機能を提供し得る。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよび他のリソースの動的調達を提供する。計量および価格決定82は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡と、これらのリソースの消費に対する会計または請求とを提供する。一例では、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティは、クラウド・コンシューマおよびタスクの同一性検証だけでなく、データおよび他のリソースに対する保護も提供する。ユーザ・ポータル83は、コンシューマおよびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、要求されたサービス・レベルが満たされるような、クラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス・レベル合意(SLA:Service Level Agreement)の計画および履行85は、SLAに従って将来要求されると予想されるクラウド・コンピューティング・リソースの事前手配および調達を提供する。
【0063】
ワークロード・レイヤ90は、クラウド・コンピューティング環境が利用される機能の例を提供する。このレイヤから提供されるワークロードおよび機能の例は、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育配信93、データ分析処理94、取引処理95、および内容認識96を含む。
【0064】
したがって、本発明の1つまたは複数の実施形態は、機械が電子フォーマットで利用可能な様々な文書から構造化されていない表を自律的に理解することを容易にする。本発明の実施形態は、コンピューティング技術の分野における技術的課題に対する技術的解決策を提供し、機械がそのような機能を自律的に実行することを容易にすることによってコンピューティング技術を改善する。
【0065】
さらに、本発明の実施形態は、コーパス変換、ならびに比較および遵守(compare and comply)などの自動化(automatic)を提供するシステムを支援することにより、実際の適用例を提供する。たとえば、コーパス変換サービスは、表形式データを解析するように訓練された機械学習によってサポートされるシステムとすることができる。このシステムは、光学式文字認識(OCR:optical character recognition)を使用してドキュメント画像内のテキストの位置を特定し、手作業で作成された特徴(handcrafted features)を使用して表を解析する。このシステムを訓練するには、ユーザは列、行、およびセルの位置に手動で注釈を付ける必要がある。本明細書に記載のように、本発明の実施形態は、表の要素の明示的な注釈を必要とせずに動作する。むしろ、本発明の実施形態は、構造化表現を教師(supervision)として使用する。その結果、本発明の実施形態は、エンドツーエンド訓練およびマルチタスク訓練に適した、改善された訓練および改善されたシステムを提供する。さらに、既存の比較および遵守システムは、手動で定義されたルールのセットを使用して表のレイアウトを定義し、OCR技術を使用して内容を抽出する。本発明の実施形態は、比較および遵守システムにおける様々な処理ステップによって蓄積されるエラーの一部を回避するエンドツーエンドの処理を使用することにより、そのような抽出を容易にする。
【0066】
さらに、本発明の実施形態は、表形式データ処理を含め、場合によっては表形式データ処理の性能を改善することによって、内容認識システムを改善する。前述のように、複数の電子ドキュメント内で、相当な量の情報が構造化されていない表形式で利用可能である。そのような表形式データには、健康保険の補償範囲、科学文書に公開されている情報などの情報が含まれる。
【0067】
本発明の実施形態には、表の画像表現を入力することができ、これは入手しやすい。本発明の実施形態は、表レイアウト(構造および内容)を認識する方法をエンドツーエンドで自動的に学習し、テキストを抽出するタイミングを判断する。さらに、本発明の実施形態は、単に表から各セルの内容を単一のユニットとして抽出するのではなく、表構造を完全に解析して区切る。加えて、本発明の実施形態は、マルチカラム/マルチロー(multi-column/multi-row)の表を解析して区切ることができる。またさらに、本発明の実施形態は、表の構造内の1つまたは複数の要素(たとえば、列、行、およびセルの位置)の明示的な注釈なしに、表形式データを解析する。
【0068】
したがって、本発明の実施形態は、表の抽出された画像しか必要とせず、それらの構造および内容を再利用可能なマークアップ(HTML/XML)フォーマットへとインテリジェントに識別する。このように、本発明の実施形態が表画像の構造の識別を容易にし、要素のプログラムによる表(programmatic table)を生成し、これはOCRベースのシステムでは実現されていないという点で、本発明の実施形態は既存のOCRベースのシステムに勝る利点を提供する。
【0069】
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、またはコンピュータ・プログラム製品、あるいはそれらの組み合わせであり得る。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
【0070】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持および記憶可能な有形のデバイスとすることができる。コンピュータ可読記憶媒体は、たとえば、限定はしないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリー・スティック(R)、フレキシブル・ディスク、命令が記録されたパンチ・カードまたは溝の隆起構造などの機械的にコード化されたデバイス、およびこれらの任意の適切な組み合わせが含まれる。コンピュータ可読記憶媒体は、本明細書で使用する場合、たとえば、電波または他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を伝搬する電磁波(たとえば、光ファイバ・ケーブルを通過する光パルス)、または有線で伝送される電気信号などの一過性の信号自体であると解釈されるべきではない。
【0071】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくは無線ネットワーク、またはそれらの組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはそれらの組み合わせを含み得る。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶する。
【0072】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで書かれたソース・コードまたはオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、あるいは完全にリモート・コンピュータまたはサーバ上で実行され得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され、または(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータへの接続がなされ得る。いくつかの実施形態では、たとえば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA:field-programmable gate array)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic array)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用してコンピュータ可読プログラム命令を実行することによって、電子回路を個人向けにし得る。
【0073】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して本明細書で説明している。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装できることは理解されよう。
【0074】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供して、それらの命令がコンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行された場合に、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為を実装するための手段が生成されるようなマシンを生成し得る。また、これらのコンピュータ可読プログラム命令を、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはそれらの組み合わせに特定の方法で機能するように指示することが可能なコンピュータ可読記憶媒体に記憶して、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為の態様を実装する命令を含む製造品を構成するようにし得る。
【0075】
また、コンピュータ可読プログラム命令をコンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードして、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させることによって、それらの命令がコンピュータ、他のプログラム可能装置、または他のデバイス上で実行された場合に、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為が実装されるようなコンピュータ実装処理を生成し得る。
【0076】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理的機能(複数可)を実装するための1つまたは複数の実行可能命令を含むモジュール、セグメント、または命令の一部を表し得る。いくつかの代替的実装形態では、ブロックに記載した機能は、図示した順序以外で行われ得る。たとえば、関与する機能に応じて、連続して示した2つのブロックは、実際には実質的に同時に実行され、またはそれらのブロックは、場合により逆の順序で実行され得る。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組み合わせは、指定された機能もしくは行為を実行するか、または専用ハードウェアおよびコンピュータ命令の組み合わせを実行する専用のハードウェア・ベースのシステムによって実装できることにも気付くであろう。
【0077】
本発明の様々な実施形態の説明は、例示の目的で提示しているが、網羅的であることも、開示した実施形態に限定されることも意図したものではない。記載した実施形態の範囲から逸脱することなく、多くの修正および変形が当業者には明らかであろう。本明細書で使用する用語は、実施形態の原理、実際の適用、または市場に見られる技術に対する技術的改善を最もよく説明するために、または当業者が本明細書に記載した実施形態を理解できるようにするために選択している。
【0078】
本明細書では、本発明の様々な実施形態について、関連する図面を参照して説明している。本発明の範囲から逸脱することなく、本発明の代替の実施形態を考案することができる。以下の説明および図面では、要素間の様々な接続および位置関係(たとえば、上、下、隣接など)を記載している。これらの接続または位置関係あるいはその両方は、特に指定のない限り、直接的または間接的なものとすることができ、本発明はこの点で限定されるものではない。したがって、エンティティの結合は、直接的または間接的な結合を指すことができ、エンティティ間の位置関係は、直接的または間接的な位置関係とすることができる。また、本明細書に記載の様々なタスクおよび処理ステップは、本明細書に詳細に記載していない追加のステップまたは機能を有する、より包括的な手順または処理に組み込むことができる。
【0079】
特許請求の範囲および本明細書を解釈するために、以下の定義および略語を使用することにする。本明細書で使用する場合、「備える(comprises)」、「備える(comprising)」、「含む(includes)」、「含む(including)」、「有する(has)」、「有する(having)」、「含む(contains)」もしくは「含む(containing)」という用語、またはそれらの他の任意の変化形は、非排他的な包含を含むものとする。たとえば、要素のリストを含む組成物、混合物、プロセス、方法、物品、または装置は、必ずしもそれらの要素のみに限定されるものではなく、明示的にリストしていない、あるいはそのような組成物、混合物、プロセス、方法、物品、または装置につきものの他の要素を含むことができる。
【0080】
加えて、「例示的(exemplary)」という用語は、本明細書では、「例、事例、または実例としての役割を果たすこと」を意味するために使用している。「例示的」なものとして本明細書に記載している任意の実施形態または設計は、必ずしも他の実施形態または設計よりも好ましいまたは有利なものと解釈されるべきではない。「少なくとも1つ(at least one)」および「1つまたは複数(one or more)」という用語は、1以上の任意の整数、すなわち、1つ、2つ、3つ、4つなどを含むものと理解され得る。「複数(a plurality)」という用語は、2以上の任意の整数、すなわち、2つ、3つ、4つ、5つなどを含むものと理解され得る。「接続(connection)」という用語は、間接的な「接続」および直接的な「接続」の両方を含み得る。
【0081】
「約(about)」、「実質的(substantially)」、および「およそ(approximately)」という用語、ならびにこれらの変化形は、本出願時に利用可能な機器に基づく特定の数量の測定に関連する誤差の程度を含むものとする。たとえば、「約」は、所与の値から±8%もしくは5%または2%の範囲を含むことができる。
【0082】
簡潔にするために、本発明の態様の作成および使用に関連する従来技術は、本明細書では詳細に説明する場合があり、しない場合もある。具体的には、本明細書に記載の様々な技術的特徴を実装するためのコンピューティング・システムおよび特定のコンピュータ・プログラムの様々な態様は、よく知られている。したがって、簡潔さのために、多くの従来の実装の詳細については本明細書では簡単にしか言及せず、または完全に省略し、よく知られているシステムまたは処理あるいはその両方の詳細は提供しない。
図1
図2
図3
図4
図5
図6
図7
図8
【手続補正書】
【提出日】2022-05-04
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータの情報処理により、機械学習モデルを訓練する訓練動作を実行するためにプロセッサの機械学習アルゴリズムを使用することであって、前記訓練動作は、
表形式データの画像のセットと、前記表形式データの画像にそれぞれ対応するマークアップ・データのセットとを受け取ることと、
前記マークアップ・データを使用して前記画像のセットからの前記表形式データをセルへと区切るように第1のニューラル・ネットワークを訓練することと、
前記マークアップ・データを使用して前記画像のセットからの前記表形式データ内の前記セルの内容を特定するように第2のニューラル・ネットワークを訓練することと、
を含む、前記使用することと、
第1の表形式データを含み、前記第1の表形式データの構造を示すマークアップ・データを有さない入力画像を受け取ることと、
前記第1のニューラル・ネットワークを使用して前記第1の表形式データの前記構造を特定し、前記第2のニューラル・ネットワークを使用して前記第1の表形式データの内容を抽出することによって、前記第1の表形式データに対応する電子出力を生成することと、
を含む、コンピュータ実装方法。
【請求項2】
前記第1のニューラル・ネットワークを訓練することは、前記画像のセットからの第1の画像を、前記マークアップ・データのセットからの対応する第1のマークアップ・データによって指定される前記第1の画像からの前記表形式データの部分と一致するように解析することを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記第1のニューラル・ネットワークを訓練することは、
前記第1の画像から解析された部分を前記対応する第1のマークアップ・データからの前記表形式データと比較することによって、前記第1のニューラル・ネットワークの構造正解度を計算することと、
前記構造正解度が所定の閾値を下回っていることに基づいて、前記第1のニューラル・ネットワークの1つまたは複数の重みを更新することと、
前記構造正解度が前記所定の閾値を超えた場合、前記第1のニューラル・ネットワークを訓練済みとしてマークすることと、
をさらに含む、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記第2のニューラル・ネットワークを訓練することは、前記画像のセットからの第1の画像から内容を、前記マークアップ・データのセットからの対応する第1のマークアップ・データによって指定される前記第1の画像からの前記表形式データの内容と一致するように抽出することを含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
【請求項5】
前記第2のニューラル・ネットワークを訓練することは、
前記第1の画像から抽出された前記内容を前記対応する第1のマークアップ・データからの前記内容と比較することによって、前記第2のニューラル・ネットワークの内容正解度を計算することと、
前記内容正解度が所定の閾値を下回っていることに基づいて、前記第2のニューラル・ネットワークの1つまたは複数の重みを更新することと、
前記内容正解度が前記所定の閾値を超えた場合、前記第2のニューラル・ネットワークを訓練済みとしてマークすることと、
をさらに含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記電子出力を生成することは、区切られた前記構造と、前記入力画像からの前記抽出された内容とをマージすることをさらに含む、請求項1から5のいずれか一項に記載のコンピュータ実装方法。
【請求項7】
前記電子出力は、所定のマークアップ言語を使用して前記構造に従って区分けされた前記入力画像からの前記抽出された内容を含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
メモリと、
前記メモリに結合されたプロセッサと、
を備え、前記プロセッサは、機械学習アルゴリズムを用いてプログラムされ、方法を実行するように構成され、前記方法は、
機械学習モデルを訓練することであって、
表形式データの画像のセットと、前記表形式データの画像にそれぞれ対応するマークアップ・データのセットとを受け取ることと、
前記マークアップ・データを使用して前記画像のセットからの前記表形式データをセルへと区切るように第1のニューラル・ネットワークを訓練することと、
前記マークアップ・データを使用して前記画像のセットからの前記表形式データ内の前記セルの内容を特定するように第2のニューラル・ネットワークを訓練することと、
を含む、前記訓練することと、
第1の表形式データを含み、前記第1の表形式データの構造を示すマークアップ・データを有さない入力画像を受け取ることと、
前記第1のニューラル・ネットワークを使用して前記第1の表形式データの前記構造を特定し、前記第2のニューラル・ネットワークを使用して前記第1の表形式データの内容を抽出することによって、前記第1の表形式データに対応する電子出力を生成することと、
を含む、システム。
【請求項9】
前記第1のニューラル・ネットワークを訓練することは、前記画像のセットからの第1の画像を、前記マークアップ・データのセットからの対応する第1のマークアップ・データによって指定される前記第1の画像からの前記表形式データの部分と一致するように解析することを含む、請求項8に記載のシステム。
【請求項10】
前記第1のニューラル・ネットワークを訓練することは、
前記第1の画像から解析された部分を前記対応する第1のマークアップ・データからの前記表形式データと比較することによって、前記第1のニューラル・ネットワークの構造正解度を計算することと、
前記構造正解度が所定の閾値を下回っていることに基づいて、前記第1のニューラル・ネットワークの1つまたは複数の重みを更新することと、
前記構造正解度が前記所定の閾値を超えた場合、前記第1のニューラル・ネットワークを訓練済みとしてマークすることと、
をさらに含む、請求項9に記載のシステム。
【請求項11】
前記第2のニューラル・ネットワークを訓練することは、前記画像のセットからの第1の画像から内容を、前記マークアップ・データのセットからの対応する第1のマークアップ・データによって指定される前記第1の画像からの前記表形式データの内容と一致するように抽出することを含む、請求項8から10のいずれか一項に記載のシステム。
【請求項12】
前記第2のニューラル・ネットワークを訓練することは、
前記第1の画像から抽出された前記内容を前記対応する第1のマークアップ・データからの前記内容と比較することによって、前記第2のニューラル・ネットワークの内容正解度を計算することと、
前記内容正解度が所定の閾値を下回っていることに基づいて、前記第2のニューラル・ネットワークの1つまたは複数の重みを更新することと、
前記内容正解度が前記所定の閾値を超えた場合、前記第2のニューラル・ネットワークを訓練済みとしてマークすることと、
をさらに含む、請求項11に記載のシステム。
【請求項13】
前記電子出力を生成することは、区切られた前記構造と、前記入力画像からの前記抽出された内容とをマージすることをさらに含む、請求項8から12のいずれか一項に記載のシステム。
【請求項14】
前記電子出力は、所定のマークアップ言語を使用して前記構造に従って区分けされた前記入力画像からの前記抽出された内容を含む、請求項13に記載のシステム。
【請求項15】
請求項1から7のいずれか一項に記載の方法をコンピュータに実行させる、コンピュータ・プログラム
【請求項16】
請求項15に記載の前記コンピュータ・プログラムをコンピュータ可読記憶媒体に記憶した、記憶媒体
【国際調査報告】