(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】非定型文書から構造化情報を抽出するディープラーニングに基づいた方法及びシステム
(51)【国際特許分類】
G06V 30/416 20220101AFI20231129BHJP
G06T 7/00 20170101ALI20231129BHJP
G06V 10/82 20220101ALI20231129BHJP
G06V 30/412 20220101ALI20231129BHJP
G06N 3/0455 20230101ALI20231129BHJP
G06N 3/0464 20230101ALI20231129BHJP
G06N 3/0475 20230101ALI20231129BHJP
G06F 40/137 20200101ALI20231129BHJP
G06F 40/14 20200101ALI20231129BHJP
【FI】
G06V30/416
G06T7/00 350C
G06V10/82
G06V30/412
G06N3/0455
G06N3/0464
G06N3/0475
G06F40/137
G06F40/14
(21)【出願番号】P 2022189082
(22)【出願日】2022-11-28
【審査請求日】2022-11-28
(31)【優先権主張番号】10-2021-0167555
(32)【優先日】2021-11-29
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0011829
(32)【優先日】2022-01-26
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】キム ギウク
(72)【発明者】
【氏名】ホン テギュ
(72)【発明者】
【氏名】イム ムンビン
(72)【発明者】
【氏名】パク スンヒョン
【審査官】佐田 宏史
(56)【参考文献】
【文献】特開2020-166658(JP,A)
【文献】特開2020-140495(JP,A)
【文献】特開2021-081933(JP,A)
【文献】特開2019-082814(JP,A)
【文献】米国特許出願公開第2019/0050640(US,A1)
【文献】M. Pourreza et al., "Persian OCR with Cascaded Convolutional Neural Networks Supported by Language Model",2020 10th International Conference on Computer and Knowledge Engineering (ICCKE),米国,IEEE,2020年10月29日,pp.227-232
(58)【調査した分野】(Int.Cl.,DB名)
G06V 10/00-10/98,30/416
G06T 1/00,7/00-7/90
G06N 3/0455-3/0475
G06F 40/137-40/14
(57)【特許請求の範囲】
【請求項1】
コンピューティング装置の少なくとも一つのプロセッサにより遂行される、非定型文書から構造化情報を抽出するディープラーニングに基づいた方法であって、
入力イメージを受信するステップと、
ディープラーニングに基づいたエンコーダ-デコーダモデルにより、前記入力イメージから前記入力イメージの構造を示すトークンシーケンスを抽出するステップと、
前記トークンシーケンスを構造化情報に変換するステップと、を含む、
方法。
【請求項2】
ディープラーニングに基づいたエンコーダ-デコーダモデルにより、前記入力イメージから前記入力イメージの構造を示すトークンシーケンスを抽出するステップは、
前記ディープラーニングに基づいたエンコーダ-デコーダモデルにより、ユーザ命令語に応じて前記入力イメージからトークンシーケンスを抽出するステップ、を含む、
請求項1に記載の方法。
【請求項3】
ディープラーニングに基づいたエンコーダ-デコーダモデルにより、前記入力イメージから前記入力イメージの構造を示すトークンシーケンスを抽出するステップは、
ディープラーニングに基づいたエンコーダにより、前記入力イメージから埋め込みを抽出するステップと、
ディープラーニングに基づいたデコーダにより、前記埋め込みから前記トークンシーケンスを抽出するステップと、を含む、
請求項1に記載の方法。
【請求項4】
ディープラーニングに基づいたエンコーダにより、前記入力イメージから埋め込みを抽出するステップは、
前記入力イメージを複数の第1のパッチに分割するステップと、
前記複数の第1のパッチに線形埋め込み及び特徴変換を適用して、複数の第2のパッチに変換するステップと、
前記複数の第2のパッチにパッチ併合及び特徴変換を適用して、複数の第3のパッチに変換するステップと、
前記複数の第3のパッチを含む前記埋め込みを出力するステップと、を含む、
請求項3に記載の方法。
【請求項5】
前記ディープラーニングに基づいたエンコーダは、CNNに基づいたモデル又はトランスフォーマーに基づいたモデルのうち一つを含む、
請求項3に記載の方法。
【請求項6】
ディープラーニングに基づいたデコーダにより、前記埋め込みからトークンシーケンスを抽出するステップは、
セルフアテンションブロックにより、前記埋め込みを第1の中間データに変換するステップと、
クロスアテンションブロックにより、前記第1の中間データを第2の中間データに変換するステップと、
フィードフォワード人工ニューラルネットワークにより、前記第2の中間データを前記トークンシーケンスに変換するステップと、を含む、
請求項3に記載の方法。
【請求項7】
前記ディープラーニングに基づいたデコーダは、BARTに基づいたデコーダ又は自己回帰的デコーダのうち一つを含む、
請求項3に記載の方法。
【請求項8】
前記トークンシーケンスを構造化情報に変換するステップは、前記トークンシーケンスを1対1の対応関係にあるJSONフォーマットに変換するステップ、を含む、
請求項1に記載の方法。
【請求項9】
コンピューティング装置の少なくとも一つのプロセッサにより遂行される、非定型文書から構造化情報を抽出するディープラーニングモデルの学習方法であって、
非定型文書イメージ及び前記非定型文書イメージのテキスト構造情報を含む学習データを受信するステップと、
前記非定型文書イメージの入力により、前記テキスト構造情報を示すトークンシーケンスを出力するように、ディープラーニングに基づいたエンコーダ-デコーダモデルを学習させるステップと、
を含む、学習方法。
【請求項10】
前記学習方法は、さらに、
前記テキスト構造情報と関連付けられたユーザ命令語を受信するステップ、を含み、
前記非定型文書イメージの入力により、前記テキスト構造情報を示すトークンシーケンスを出力するように、ディープラーニングに基づいたエンコーダ-デコーダモデルを学習させるステップは、
前記非定型文書イメージ及び前記ユーザ命令語の入力により、前記テキスト構造情報を示すトークンシーケンスを出力するように、ディープラーニングに基づいたエンコーダ-デコーダモデルを学習させるステップ、を含む、
請求項9に記載の学習方法。
【請求項11】
前記非定型文書イメージは、文書の背景イメージ、文書イメージ、テキスト、及びレイアウト情報を含む合成文書イメージを含む、
請求項10に記載の学習方法。
【請求項12】
複数のコンピュータ実行命令を含むコンピュータプログラムであって、
プロセッサにより、前記命令が実行されると、
請求項1乃至11のいずれか一項に記載の方法をコンピュータに実行させる、
コンピュータプログラム。
【請求項13】
非定型文書から構造化情報を抽出するディープラーニングに基づいたシステムであって、
メモリと、
前記メモリと連結され、前記メモリに含まれたコンピュータ読み取り可能な少なくとも一つのプログラムを実行するように構成された少なくとも一つのプロセッサと、
を含み、
前記少なくとも一つのプログラムが実行されると、
入力イメージを受信し、
ディープラーニングに基づいたエンコーダ-デコーダモデルにより、前記入力イメージから前記入力イメージの構造を示すトークンシーケンスを抽出し、
前記少なくとも一つのプログラムは、前記トークンシーケンスを構造化情報に変換するための一つ以上の命令語を含む、
システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、非定型文書から構造化情報を抽出するディープラーニング(deep learning)に基づいた方法及びシステムに関する。具体的には、既存のOCRに基づいた文書分類又は認識方法に依存しないディープラーニングモデルを用いて、文書の構造化情報を抽出できる方法及びシステムに関する。
【背景技術】
【0002】
文書イメージから情報を抽出するための方法の殆どは、OCR(Optical Character Reader)モジュールを用いて文書イメージからテキストを抽出し、抽出したテキストに基づいて情報を抽出するような二つのステップにより遂行される。例えば、文書イメージから文書の構造を把握するために解析(parsing)した情報を抽出するには、一般に、OCRモジュールを用いて文書イメージからテキスト領域を感知してテキスト情報を抽出し、抽出したテキスト情報及びテキストの位置情報などに基づいて、文書を解析した情報を獲得するような二つのステップの過程を経る。
【0003】
ただし、前述したように、OCRモジュールを用いて情報を抽出する方法は、OCRモジュールを購入又は学習するのに多くの費用を必要とし、OCRモジュールによりテキスト情報が正しく抽出されない場合、テキスト情報に基づいてイメージ構造情報を含む最終情報を抽出する後続過程の信頼度又は正確度に影響を及ぼす恐れがある。また、OCRモジュールを用いた場合、二つのステップにより最終情報を抽出するようになるので、当該情報を抽出するのに多くの時間を必要とするという問題点がある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、前記のような問題点を解決するための非定型文書から構造化情報を抽出するディープラーニングに基づいた方法、コンピュータプログラム、及び装置(システム)を提供する。
【課題を解決するための手段】
【0006】
本開示は、方法、装置(システム)、又はコンピュータプログラムを含む多様な方式により具現化できる。
【0007】
本開示の一実施例に係るコンピューティング装置の少なくとも一つのプロセッサにより遂行される、非定型文書から構造化情報を抽出するディープラーニングに基づいた方法は、入力イメージを受信するステップと、ディープラーニングに基づいたエンコーダ-デコーダモデルにより、入力イメージから入力イメージの構造を示すトークンシーケンスを抽出するステップと、トークンシーケンスを構造化情報に変換するステップとを含む。
【0008】
本開示の一実施例に係るコンピューティング装置の少なくとも一つのプロセッサにより遂行される、非定型文書から構造化情報を抽出するディープラーニングモデルの学習方法は、非定型文書イメージ及び非定型文書イメージのテキスト構造情報を含む学習データを受信するステップと、非定型文書イメージの入力により、テキスト構造情報を示すトークンシーケンスを出力するように、ディープラーニングに基づいたエンコーダ-デコーダモデルを学習させるステップとを含む。
【0009】
本開示の一実施例に係る方法をコンピュータで実行するためのコンピュータプログラムが提供される。
【0010】
本開示の一実施例に係る非定型文書から構造化情報を抽出するディープラーニングに基づいたシステムは、メモリと、メモリと連結され、メモリに含まれたコンピュータ読み取り可能な少なくとも一つのプログラムを実行するように構成された少なくとも一つのプロセッサとを含み、少なくとも一つのプログラムは、入力イメージを受信し、ディープラーニングに基づいたエンコーダ-デコーダモデルにより、入力イメージから入力イメージの構造を示すトークンシーケンスを抽出し、トークンシーケンスを構造化情報に変換するための一つ以上の命令語を含む。
【発明の効果】
【0011】
本開示の一部の実施例によれば、文書イメージからテキスト認識のための別途の過程なしに、直ちに構造化情報を抽出することで、迅速に構造化情報を抽出できる。
【0012】
本開示の一部の実施例によれば、テキスト認識のための別途のモジュール(例えば、OCR(Optical Character Reader)モジュール)を必要としないので、全体システム構築にかかる費用を低減でき、最終的に抽出された構造化情報の正確度においてテキスト認識によるエラーの影響を防止できる。
【0013】
本開示の一部の実施例によれば、文書イメージから構造化情報を抽出するためのディープラーニングモデルの学習のための学習文書イメージを合成及び生成することで、大量の実際の文書イメージに従属しないで、ディープラーニングモデルを学習させることができ、任意の言語に対して優れた性能のモデルが得られる。
【0014】
本開示の効果は、これに制限されず、言及されない他の効果等は、請求範囲の記載から本開示が属する技術分野における通常の知識を有する者(“当業者”という)に明確に理解されるべきである。
【図面の簡単な説明】
【0015】
本開示の実施例等は、以下の添付図面に基づいて説明される。ここで、類似の参照符号は類似の要素を示すが、これに限定されるものではない。
【
図1】本開示の一実施例に係る非定型文書イメージから構造化情報を抽出するディープラーニングに基づいたシステムの例を示す概要図である。
【
図2】本開示の一実施例に係るコンピューティング装置の内部構成を示すブロック図である。
【
図3】本開示の一実施例に係るコンピューティング装置のプロセッサの内部構成を示す図である。
【
図4】本開示の一実施例に係るディープラーニングモデルの構成の例を示す図である。
【
図5】本開示の一実施例に係るディープラーニングモデルのエンコーダの構成の例を示す図である。
【
図6】本開示の一実施例に係るディープラーニングモデルのデコーダの構成の例を示す図である。
【
図7】本開示の一実施例に係るトークンシーケンスを構造化情報に変換する過程の例を示す図である。
【
図8】本開示の一実施例に係るディープラーニングモデルを学習するための合成文書イメージの例を示す図である。
【
図9】本開示の一実施例に係る非定型文書から構造化情報を抽出するディープラーニングに基づいた方法の例を示すフローチャートである。
【
図10】本開示の一実施例に係る非定型文書から構造化情報を抽出するディープラーニングモデルの学習方法の例を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、本開示の実施のための具体的な内容を添付図面に基づいて詳細に説明する。ただし、以下の説明では、本開示の要旨を不要に不明瞭にする恐れがある場合、公知の機能や構成に関する具体的な説明は省略する。
【0017】
添付図面において、同一又は対応する構成要素には同一の参照符号が付与される。また、以下の実施例の説明において、同一又は対応する構成要素の重複記述は省略され得る。しかしながら、構成要素に関する記述が省略されても、そのような構成要素が、ある実施例に含まれないものと意図してはならない。
【0018】
開示の実施例の利点及び特徴、そしてそれらを達成する方法は、添付図面に基づいて後述する実施例を参照すれば明確になる。しかしながら、本開示は、以下で開示される実施例に限定されず、互いに異なる多様な形態で具現化され得る。但し、本実施例は、本開示が完全になるようにし、本開示が当業者に発明のカテゴリを正確に認識させるために提供されるだけである。
【0019】
本開示で使用される用語について簡略に説明し、開示の実施例について具体的に説明する。本明細書で使用される用語は、本開示での機能を考慮しつつ、可能な限り現在広く使用される一般的な用語を選択したが、これは関連分野に従事する技術者の意図又は判例、新技術の出現などにより変化し得る。また、特定の場合は出願人が任意で選定した用語もあり得るが、これらの意味は当該発明の説明の部分において詳細に記載する。よって、本開示で使用される用語は、単純な用語の名称ではなく、その用語が有する意味と本開示の全般にわたった内容に基づいて定義されるべきである。
【0020】
本開示においては、文脈上において明確に特定しない限り、単数の表現は複数の表現を含み、複数の表現は単数の表現を含むことができる。明細書の全般に渡り、ある部分がある構成要素を「含む」とすれば、特に反対の記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含むこともできることを意味する。
【0021】
また、明細書で使用される「モジュール」又は「部」という用語は、ソフトウェアやハードウェア構成要素を意味し、「モジュール」又は「部」はある役割を遂行する。しかしながら、「モジュール」又は「部」はソフトウェアやハードウェアに限定される意味ではない。「モジュール」又は「部」は、アドレッシング可能な保存媒体にあるように構成してもよく、一つ又はそれ以上のプロセッサを再生させるように構成してもよい。したがって、一例として、「モジュール」又は「部」は、ソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素、タスク構成要素のような構成要素、並びに、プロセス、関数、属性、プロシーザー、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、又は変数のうちで少なくとも一つを含むことができる。構成要素と「モジュール」又は「部」は、内部で提供される機能はさらに小さい数の構成要素及び「モジュール」又は「部」で結合されたり、追加的な構成要素と「モジュール」又は「部」にさらに分離されたりできる。
【0022】
本開示の一実施例によれば、「モジュール」又は「部」は、プロセッサ及びメモリで具現化され得る。「プロセッサ」は汎用プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、制御器、マイクロ制御器、状態マシンなどを含むように広く解釈されるべきである。いくつかの環境では、「プロセッサ」は特定用途向け半導体(ASIC)、プログラム可能なロジックデバイス(PLD)、フィールドプログラム可能なゲートアレイ(FPGA)、等を称することもできる。「プロセッサ」は、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサの組合せ、DSPコアと結合した一つ以上のマイクロプロセッサの組合せ、若しくは、任意の他のそのような構成等の組合せのような処理デバイスの組合せを称することもできる。また、「メモリ」は電子情報を保存可能な任意の電子コンポーネントを含むように広く解釈されるべきである。「メモリ」は、RAM(Random Access Memory)、ROM(Read Only Memory)、NVRAM(Non-Volatile Random Access Memory)、PROM(Programmable Read-Only Memory)、EPROM(Erasable Programmable Read-Only Memory)、EEPROM(Electrically Erasable Programmable Reda-Only Memory)、フラッシュメモリ、磁気又は光学データ保存装置、レジスタなどのようなプロセッサ-読み取り可能な媒体の多様な類型を称することもできる。プロセッサがメモリから情報を読み取り/読み取ったメモリに情報を記録できる場合、メモリはプロセッサと電子通信状態にあると言われる。プロセッサに集積されたメモリはプロセッサと電子通信状態にある。
【0023】
本開示において、「システム」は、サーバ装置及びクラウド装置の少なくとも一つを含むことができるが、これに限定されるものではない。例えば、システムは、一つ以上のサーバ装置からなることができる。他の例として、システムは、一つ以上のクラウド装置からなることができる。また他の例として、システムは、サーバ装置及びクラウド装置の全部からなって動作されることもできる。
【0024】
本開示において、「非定型文書(unstructured document)」又は「半定型文書(semi-structured document)」は、既定の形式や方式によって作成又は生成が行われない文書、或いは、既定の形式や方式によって構造化情報を分類、認識又は理解が困難な文書を称することができる。本開示において、非定型文書及び半定型文書という用語は、同一又は類似の意味を有するものであって、相互交換的に使用されることもできる。例えば、非定型文書は、領収書、身分証、クレジットカード、名刺、事業者登録証などのように、当該文書の構造化情報に対する予備知識がないものを含むことができる。
【0025】
本開示において、「非定型文書イメージ」は、非定型文書が含まれた電子ファイル、非定型文書をスキャンしたイメージ又は非定型文書を撮影したイメージなどを含むことができる。本開示の一部の実施例において、「文書イメージ」、「非定型文書」、又は「文書」は、「非定型文書イメージ」を称することができる。
【0026】
本開示において、「ディープラーニングモデル(deep-learning model)」は、多重又は複数の非線形変換技法又はモデルの組合せにより、高レベルの抽象化(abstraction)を実行できる機械学習アルゴリズム又はモデルを称することができる。ディープラーニングモデルは、複雑な非線形関係をモデリングできるディープニューラルネットワーク(deep neural network)で具現化でき、ディープニューラルネットワークは、入力層及び出力層間に複数の隠れ層を含む人工ニューラルネットワーク(artificial neural network)を称することができる。
【0027】
本開示において、「構造化情報(structured information)」は、文書イメージから抽出できるテキストの構造に関する情報であって、テキストの意味だけでなく、テキストのレイアウト、テキストを構成する各フィールドの類型などを含むことができる。例えば、構造化情報は、文書イメージを解析(parsing)した情報、文書の分類情報、文書を構成する任意のフィールドに関する情報などを含むことができる。本開示の一部の実施例において、構造化情報は、文書イメージから抽出されたテキストのレイアウト、テキストのフィールドなどを示すトークンシーケンスを含むことができる。
【0028】
本明細書において、「複数のAの各々」又は「複数のA各々」は、複数のAに含まれた全ての構成要素の各々を称したり、複数のAに含まれた一部の構成要素の各々を称したりできる。
【0029】
図1は、本開示の一実施例に係る非定型文書イメージ110から構造化情報140を抽出するディープラーニングに基づいたシステム100の例を示す概要図である。ディープラーニングに基づいたシステム100は、ディープラーニングモデル120を用いて、非定型文書イメージ110から構造化情報140を抽出できる。例えば、ディープラーニングに基づいたシステム100は、ディープラーニングモデル120を用いて非定型文書イメージ110から一連のトークンシーケンスを抽出でき、抽出したトークンシーケンスを所望の形式(例えば、JSON形式)の構造化情報に変換130することができる。ここで、構造化情報140は、文書イメージから抽出できる、テキストの構造に関する情報を称することができるが、例えば、文書を解析した情報、文書の分類情報、文書の内容、又は任意のフィールドに対する質疑応答の結果などを含むことができる。構造化情報140は、JSON形式やXML形式などを含む多様な形式により表現でき、したがって、本開示の一実施例において、ディープラーニングモデル120により出力されるトークンシーケンスも、また、構造化情報140に含まれることができる。
【0030】
一実施例によれば、ディープラーニングに基づいたシステム100は、まず、非定型文書イメージ110を受信できる。例えば、ディープラーニングに基づいたシステム100は、図に示すような領収書のスキャン又は撮影イメージを受信できる。ここで、非定型文書イメージ110は、当該文書の構造又は形式に関する予備知識のない文書イメージを称することができる。ディープラーニングに基づいたシステム100は、図示の領収書イメージの構造化情報に対する別途の入力なしに、ディープラーニングモデル120により当該文書イメージの構造化情報140(例えば、文書を項目別に解析した情報)を抽出するようになるので、図示の領収書イメージは、非定型文書イメージ110に該当し得る。
【0031】
一実施例によれば、ディープラーニングに基づいたシステム100は、ディープラーニングモデル120に非定型文書イメージ110を入力して、トークンシーケンスを出力できる。ここで、ディープラーニングモデル120は、ディープラーニングに基づいたエンコーダ-デコーダモデルであり得る。例えば、ディープラーニングモデル120に含まれたエンコーダは、非定型文書イメージ110から埋め込み(embedding)を抽出でき、ディープラーニングモデル120に含まれたデコーダは、エンコーダから抽出された埋め込みに基づいてトークンシーケンスを抽出できる。
【0032】
一実施例によれば、ディープラーニングモデル120は、付与されたユーザ命令語に応じて、入力された非定型文書イメージ110からトークンシーケンスを出力できる。ディープラーニングモデル120は、入力された非定型文書イメージ110の視覚的情報及び/又はテキスト情報を抽出でき、付与されたユーザ命令語に応じて、抽出された情報を示すトークンシーケンスを出力できる。例えば、ディープラーニングモデル120は、非定型文書イメージ110に対する解析を要求するユーザ命令語に応じて非定型文書に対する解析を遂行して、解析した結果を示すトークンシーケンスを出力できる。他の例として、ディープラーニングモデル120は、非定型文書イメージ110の分類を要求するユーザ命令語に応じて、非定型文書を分類した結果を示すトークンシーケンスを出力できる。また他の例として、ディープラーニングモデル120は、非定型文書イメージ110に対する質疑応答を要求するユーザ命令語に応じて、質問に対する応答を示すトークンシーケンスを出力できる。
【0033】
一実施例によれば、ディープラーニングに基づいたシステム100は、ディープラーニングモデル120により出力されたトークンシーケンスを、所望の形式の構造化情報に変換130することができる。例えば、ディープラーニングに基づいたシステム100は、ディープラーニングモデル120により抽出されたトークンシーケンスを、JSON形式のような構造化情報に変換130することができる。ディープラーニングモデル120により出力されるトークンシーケンスがどの程度構造化した形式を具備しているため、これを所望の形式の構造化情報に変換130する過程は、正規表現式のような簡単なアルゴリズムを介して遂行できる。
【0034】
このように、本開示の一実施例によれば、文書イメージからテキストを感知及び認識する過程と、認識されたテキストから構造化情報を抽出する過程とを別途に経ないで、ディープラーニングモデル120によりエンドツーエンド方式(end-to-end manner)にて文書イメージから直ちに構造化情報140を抽出できる。すなわち、文書イメージから構造化情報を抽出するために、テキスト認識のための別途のモジュール(例えば、OCRモジュール)を必要としないので、全体システム構築の費用を低減でき、複数のモジュールを経ないので、迅速に構造化情報を抽出できる。
【0035】
図2は、本開示の一実施例に係るコンピューティング装置200の内部構成を示すブロック図である。コンピューティング装置200は、メモリ210、プロセッサ220、通信モジュール230、及び入出力インタフェース240を含むことができる。
図2に示すように、コンピューティング装置200は、通信モジュール230を用いて、ネットワークを介して情報及び/又はデータを通信できるように構成できる。
【0036】
メモリ210は、非一時的な任意のコンピュータ読み取り可能な記録媒体を含むことができる。一実施例によれば、メモリ210は、RAM(random access memory)、ROM(read only memory)、ディスクドライブ、SSD(solid state drive)及びフラッシュメモリ(flash memory)などのような永久的な大容量保存装置(permanent mass storage device)を含むことができる。他の例として、ROM、SSD、フラッシュメモリ、及びディスクドライブなどのような永久的な大容量保存装置は、メモリ210とは区分される別途の永久保存装置としてコンピューティング装置200に含まれることができる。また、メモリ210には、運営体制と少なくとも一つのプログラムコード(例えば、コンピューティング装置200に設置されて駆動されるディープラーニングモデルを用いた構造化情報抽出、ディープラーニングモデルの学習などのためのコード)が保存され得る。
【0037】
このようなソフトウェア構成要素は、メモリ210とは別途のコンピュータ読み取り可能な記録媒体からローディングできる。このような別途のコンピュータ読み取り可能な記録媒体は、このようなコンピューティング装置200に直接連結可能な記録媒体を含むことのできるが、例えば、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、及びメモリカードなどのようなコンピュータ読み取り可能な記録媒体を含むことができる。他の例として、ソフトウェア構成要素等は、コンピュータ読み取り可能な記録媒体ではなく、通信モジュール230を介してメモリ210にローディングされることもできる。例えば、少なくとも一つのプログラムは、開発者又はアプリケーションの設置ファイルを配信するファイル配信システムが、通信モジュール230を介して提供するファイルにより設置されるコンピュータプログラム(例えば、ディープラーニングモデルを用いた構造化情報抽出、ディープラーニングモデルの学習などのためのプログラムなど)に基づいてメモリ210にローディングされることができる。
【0038】
プロセッサ220は、基本的な算術、ロジック及び入出力演算を遂行することで、コンピュータプログラムの命令を処理するように構成できる。命令は、メモリ210又は通信モジュール230によりユーザ端末(図示せず)又は他の外部システムに提供され得る。例えば、プロセッサ220は、非定型文書イメージの入力により、テキスト構造情報を示すトークンシーケンスを出力するように、ディープラーニングに基づいたエンコーダ-デコーダモデルを学習させることができる。また、プロセッサ220は、学習されたディープラーニングに基づいたエンコーダ-デコーダモデルを用いて、非定型文書イメージから入力イメージの構造を示すトークンシーケンスを出力でき、トークンシーケンスを構造化情報に変換できる。
【0039】
通信モジュール230は、ネットワークを介して、ユーザ端末(図示せず)とコンピューティング装置200とが互いに通信するための構成や機能を提供でき、コンピューティング装置200が外部システム(一例として、別途のクラウドシステムなど)と通信するための構成や機能を提供できる。一例として、コンピューティング装置200のプロセッサ220の制御によって提供される制御信号、命令、データなどが、通信モジュール230及びネットワークを経て、ユーザ端末及び/又は外部システムの通信モジュールを介してユーザ端末及び/又は外部システムに転送されることができる。例えば、コンピューティング装置により抽出された構造化情報がユーザ端末に転送されることができる。
【0040】
また、コンピューティング装置200の入出力インタフェース240は、コンピューティング装置200と連結するか、或いは、コンピューティング装置200が含むことのできる入力又は出力のための装置(図示せず)とのインタフェースのための手段であり得る。
図2では、入出力インタフェース240がプロセッサ220と別途に構成された要素として示されるが、これに限定されず、入出力インタフェース240がプロセッサ220に含まれるように構成されることもできる。コンピューティング装置200は、
図2に示す構成要素よりも多くの構成要素を含むことができる。しかしながら、大部分の従来技術的構成要素を明確に示す必要はない。
【0041】
コンピューティング装置200のプロセッサ220は、複数のユーザ端末及び/又は複数の外部システムから受信された情報及び/又はデータを管理、処理、及び/又は保存するように構成されることができる。一実施例によれば、プロセッサ220は、ユーザ端末及び/又は外部システムから非定型文書イメージを受信できる。このとき、プロセッサ220は、学習されたディープラーニングに基づいたエンコーダ-デコーダモデルを用いて、非定型文書イメージから入力イメージの構造を示すトークンシーケンスを出力でき、トークンシーケンスを構造化情報に変換できる。
【0042】
図3は、本開示の一実施例に係るコンピューティング装置のプロセッサ220の内部構成を示す図である。一実施例によれば、プロセッサ220は、ディープラーニングモデル推論部310、構造化情報生成部320、ディープラーニングモデル学習部330、及び合成文書生成部340を含むことができる。一実施例において、プロセッサは、非定型文書イメージを受信でき、受信された非定型文書イメージは、ディープラーニングモデル推論部310に提供されたり、ディープラーニングモデル学習部330に提供されたり、学習データDB(data base)350に保存されたりして、ディープラーニングモデルの推論及び/又は学習に使用されることができる。
【0043】
ディープラーニングモデル推論部310は、ディープラーニングモデルを用いて、非定型文書イメージに基づいてトークンシーケンスを出力できる。ここで、ディープラーニングモデルは、ディープラーニングに基づいたエンコーダ-デコーダモデルであり得る。まず、ディープラーニングモデル推論部310は、エンコーダを用いて、非定型文書イメージから埋め込みを抽出できる。例えば、ディープラーニングモデル推論部310は、エンコーダを用いて、非定型文書イメージ
【0044】
【0045】
【数2】
(ここで、n及びdはハイパーパラメータ(hyperparameter)である)に変換できる。
一実施例によれば、エンコーダは、CNN(convolutional neural network)に基づいたモデル又はトランスフォーマー(Transformer)に基づいたモデルの一つを含むことができる。ディープラーニングモデルに含まれたエンコーダが非定型文書イメージから埋め込みを抽出する具体例は、
図5を参照して詳細に後述する。エンコーダにより抽出された埋め込み(z)は、デコーダに提供できる。
【0046】
また、ディープラーニングモデル推論部310は、デコーダを用いて、埋め込みから予測されたトークンシーケンスを抽出できる。例えば、ディープラーニングモデル推論部310は、デコーダを用いて、埋め込み(z)から予測されたトークンシーケンス
【0047】
【0048】
【数4】
は、トークン(i)に対するワンホットベクトル(one-hot vector)であり、vはトークンボキャブラリー(token vocabulary)の大きさであり、mはハイパーパラメータである)を抽出できる。一実施例によれば、デコーダは、BART(Bidirectional and Auto-Regressive Transformers)に基づいたデコーダ又は自己回帰的デコーダ(autoregressive decoder)の一つを含むことができる。
【0049】
一実施例によれば、ディープラーニングモデル推論部310は、入力イメージだけでなく、ユーザ命令語をさらに受信でき、このとき、ディープラーニングモデル推論部310は、デコーダを用いて、受信されたユーザ命令語及び埋め込みに基づいて予測されたトークンシーケンスを抽出できる。ディープラーニングモデルに含まれたデコーダがトークンシーケンスを抽出する具体例は、
図6を参照して詳細に後述する。ディープラーニングモデル推論部310は、デコーダにより抽出されたトークンシーケンスを構造化情報生成部320に提供できる。
【0050】
構造化情報生成部320は、ディープラーニングモデル推論部310から提供されたトークンシーケンスを構造化情報に変換できる。例えば、構造化情報生成部320は、トークンシーケンスを1対1の対応関係にあるJSONフォーマットに変換できる。他の例として、ディープラーニングモデルにより出力されたトークンシーケンスの形式が、ユーザが要求した形式である場合、構造化情報生成部320は、出力されたトークンシーケンスをそのまま構造化情報として取り扱うことができる。構造化情報生成部320がトークンシーケンスを構造化情報に変換する具体例は、
図7を参照して詳細に後述する。
【0051】
ディープラーニングモデル学習部330は、学習データDB350に保存された学習データを用いて、ディープラーニングモデルの学習を遂行できる。学習データは、非定型文書イメージ及び非定型文書イメージのテキスト構造情報(及び/又はトークンシーケンス)の対を含むことができる。ディープラーニングモデル学習部330は、非定型文書イメージの入力により、これに対応するテキスト構造情報を示すトークンシーケンスを出力するように、ディープラーニングモデルを学習させることができる。
【0052】
一実施例によれば、学習データは、非定型文書イメージ及び非定型文書イメージのテキスト構造情報の対だけでなく、非定型文書イメージのテキスト構造情報と関連付けられたユーザ命令語をさらに含むことができる。このとき、ディープラーニングモデル学習部330は、非定型文書イメージ及びユーザ命令語の入力により、これに対応するテキスト構造情報を示すトークンシーケンスを出力するように、ディープラーニングモデルを学習させることができる。
【0053】
一実施例によれば、ディープラーニングモデル学習部330は、二つのステップによりディープラーニングモデルを学習させることができる。例えば、ディープラーニングモデル学習部330は、まず、事前学習(pre-training)ステップにおいて、大量の学習データを用いて、ディープラーニングモデルが非定型文書を読み取ることができるように(例えば、文書イメージからテキストを感知及び認識できるように)事前学習させた後、微細調整(fine-tuning)ステップにおいて、ディープラーニングモデルが文書を理解できるように(例えば、非定型文書イメージからトークンシーケンスを出力するように)学習させることができる。
【0054】
合成文書生成部340は、ディープラーニングモデルが大量の実際の文書イメージに依存しないようにするために、ディープラーニングモデルの学習に使用される合成文書イメージを生成できる。例えば、合成文書生成部340は、実際の文書がスキャン又は撮影されたイメージに対して類似のイメージを生成するために、文書の背景イメージ、文書イメージ、テキスト、及びレイアウト情報を含む合成文書イメージを生成できる。合成文書生成部340が合成文書イメージを生成する具体例は、
図8を参照して詳細に後述する。合成文書生成部340により生成された合成文書イメージは、学習データDB350に保存でき、ディープラーニングモデル学習部330によりディープラーニングモデルの学習に使用できる。
【0055】
図4は、本開示の一実施例に係るディープラーニングモデル120の構成の例を示す図である。一実施例によれば、ディープラーニングモデル120は、入力された非定型文書イメージ410に基づいて、予測されたトークンシーケンスを出力できる。ここで、ディープラーニングモデル120は、視覚的エンコーダ(visual encoder)420及びテキストデコーダ(textual decoder)440を含むことができる。
【0056】
ディープラーニングモデル120に含まれた視覚的エンコーダ420は、非定型文書イメージ410から埋め込み430を抽出できる。例えば、視覚的エンコーダ420は、非定型文書イメージ410
【0057】
【0058】
【数6】
(ここで、n及びdはハイパーパラメータである)に変換できる。一実施例によれば、視覚的エンコーダ420は、CNN(convolutional neural network)に基づいたモデル又はトランスフォーマー(Transformer)に基づいたモデルの一つを含むことができる。ディープラーニングモデル120に含まれた視覚的エンコーダ420が非定型文書イメージ410から埋め込み430を抽出する具体例は、
図5を参照して詳細に後述する。
【0059】
視覚的エンコーダ420により抽出された埋め込み430(z)は、テキストデコーダ440に提供でき、テキストデコーダ440は、視覚的エンコーダ420により抽出された埋め込み430及び付与されたユーザ命令語から予測されたトークンシーケンス
【0060】
【0061】
【数8】
はトークン(i)に対するワンホットベクトル(one-hot vector)であり、vはトークンボキャブラリー(token vocabulary)の大きさであり、mはハイパーパラメータである)を抽出できる。例えば、テキストデコーダ440は、文書に対する解析を要求するユーザ命令語の“[START_Parsing]”により、抽出された埋め込み430に基づいて解析した結果を示すトークンシーケンスの“[START_items][START_name]3002-Kyoto Choco Mochi[END_name]・・・[END]”を抽出できる。他の例として、テキストデコーダ440は、文書の分類を要求するユーザ命令語に応じて、抽出された埋め込み430に基づいて文書を分類した結果を示すトークンシーケンスを抽出できる。もう一つの例として、テキストデコーダ440は、文書に対する質疑応答を要求するユーザ命令語に応じて、抽出された埋め込み430に基づいて特定の質問に対する応答を示すトークンシーケンスを抽出できる。一実施例によれば、テキストデコーダ440は、BARTに基づいたデコーダ又は自己回帰的デコーダの一つを含むことができる。ディープラーニングモデル120に含まれたテキストデコーダ440が埋め込み430から予測されたトークンシーケンスを抽出する具体例は、
図6を参照して詳細に後述する。
【0062】
テキストデコーダ440により抽出されたトークンシーケンスは、ディープラーニングモデル120の出力となり得る。一実施例によれば、ディープラーニングモデル120により出力されたトークンシーケンスは、以後、所望の形式の構造化情報に変換できる。
【0063】
図5は、本開示の一実施例に係るディープラーニングモデルのエンコーダ500の構成の例を示す図である。ディープラーニングモデルのエンコーダ500は、入力イメージ510の入力により埋め込み550を抽出できる。例えば、エンコーダ500は、非定型文書イメージ510
【0064】
【0065】
【数10】
に変換できる。ここで、H、W、Cは、各々イメージ510の高さ、広さ、チャンネルの数であり得、d、nは、各々埋め込み550の次元、フィーチャーマップの大きさ(例えば、分割されたパッチ532の数)を示す。一実施例によれば、エンコーダ500は、トランスフォーマーに基づいたモデルであり得、トランスフォーマーに基づいたエンコーダは、パッチ分割層520及び視覚的エンコーダ540を含むことができる。
【0066】
一実施例によれば、エンコーダ500に入力された入力イメージ510はパッチ分割層520に提供でき、パッチ分割層520は、入力イメージ510を複数のパッチ532に分割して、複数の第1のパッチを含むイメージ530を出力できる。例えば、パッチ分割層520は、グレースケール(C=1)の入力イメージ510を一定の大きさ(例えば、大きさ4(H)×4(W))の重畳していない複数のパッチ532に分割して、多数の第1のパッチを含むイメージ530を出力できる(例えば、大きさが2048(H)×1536(W)の入力イメージの場合、196,608個(512個×384個)の第1のパッチに分割される)。パッチ分割層520により出力されたイメージ530は、視覚的エンコーダ540に提供できる。
【0067】
一実施例によれば、視覚的エンコーダ540は、第1のトランスフォーマーブロック542、第2のトランスフォーマーブロック544、第3のトランスフォーマーブロック546、及び第4のトランスフォーマーブロック548を含むことができる。視覚的エンコーダ540に提供された複数の第1のパッチを含むイメージ530は、第1のトランスフォーマーブロック542、第2のトランスフォーマーブロック544、第3のトランスフォーマーブロック546及び第4のトランスフォーマーブロック548を経て埋め込み550に変換できる。
【0068】
例えば、第1のトランスフォーマーブロック542は、一つ以上の線形埋め込み層及びトランスフォーマーブロックを含むことができ、第2のトランスフォーマーブロック544、第3のトランスフォーマーブロック546、及び第4のトランスフォーマーブロック548の各々は、一つ以上のパッチ併合層及びトランスフォーマーブロックを含むことができる。第1のトランスフォーマーブロック542は、パッチに分割されたイメージ530に含まれた複数の第1のパッチに線形埋め込み及び特徴変換を一度以上適用して、複数の第2のパッチに変換できる。変換された複数の第2のパッチは、第2のトランスフォーマーブロック544に提供でき、第2のトランスフォーマーブロック544、第3のトランスフォーマーブロック546、及び第4のトランスフォーマーブロック548は、複数の第2のパッチにパッチ併合及び特徴変換を一度以上適用して、複数の第3のパッチに変換できる。変換された複数の第3のパッチを含む埋め込み550はデコーダに提供できる。
【0069】
図5には、本開示の一実施例に係るエンコーダ500として、トランスフォーマーに基づいたエンコーダを示し、これに基づいてエンコーダ500が埋め込み550を抽出する過程を前述したが、これに限定されず、入力イメージ510から埋め込み550を抽出できる多様な形態のエンコーダが、本開示のディープラーニングモデルのエンコーダ500として含まれることもできる。
【0070】
図6は、本開示の一実施例に係るディープラーニングモデルのデコーダ600の構成の例を示す図である。ディープラーニングモデルのデコーダ600は、エンコーダから抽出された埋め込み660及び付与されたユーザ命令語642、644、646、648に応じて、トークンシーケンス652、654、656、658を抽出できる。一実施例によれば、デコーダ600はBARTに基づいたデコーダであり得、BARTに基づいたデコーダは、セルフアテンション(self-attention)ブロック610、クロスアテンション(cross-attention)ブロック620、及びフィードフォワード(feed-forward)人工ニユーラルネットワーク630を含むことができる。
【0071】
一実施例によれば、デコーダ600は、複数の時間ステップ(time-steps)を経てトークンシーケンス652、654、656、658を抽出でき、各時間ステップにおいて一つのトークンを推論できる。例えば、デコーダ600は、最初の時間ステップにおいて、文書の解析を要求するユーザ命令語642の“[START_Parsing]”及び埋め込み660に基づいてトークンの“[START_items]”を推論できる。また、次の時間ステップにおいて、デコーダ600は、以前時間ステップまで推論されたトークンシーケンスの“[START_Parsing][START_items]”及び埋め込み660に基づいて、次のトークンの“[START_name]”を推論できる。このような方式により、複数の時間ステップを経て、最終のトークンシーケンス652の“[START_items][START_name]3002-Kyoto Choco Mochi[END_name]・・・[END]”を出力できる。他の例として、デコーダ600は、文書の分類を要求するユーザ命令語644の“[START_Classification]”により、複数の時間ステップを経て、文書を分類した結果を示すトークンシーケンス654の“[START_Class][receipt][END_class][END]”を出力できる。一実施例によれば、
図6に示すユーザ命令語642、644、646、648及びトークンシーケンス652、654、656、658の例において、大括弧(“[ ]”)を含むトークンは、特殊トークンであって、ディープラーニングモデルに保存されたトークンであり得る。
【0072】
一実施例によれば、各時間ステップにおいて、視覚的エンコーダにより抽出された埋め込み660は、デコーダ600の各レイヤに含まれたクロスアテンションブロック620のステップにおいて引き込まれ、デコーダ入力トークン情報等との関係性をモデリングできる。例えば、セルフアテンションブロック610により、デコーダ入力トークン情報(例えば、
図6の例の時間ステップにおいて各々642、644、646、648等)を第1の中間データに変換でき、クロスアテンションブロック620により、第1の中間データ及び視覚的エンコーダから出力された埋め込み660の関係をモデリングして、第1の中間データを第2の中間データに変換できる。また、フィードフォワード人工ニューラルネットワーク630により、第2の中間データをトークン(又は、トークンシーケンス)に変換できる。一方、一実施例によれば、このような変換過程は、セルフアテンションブロック610、クロスアテンションブロック620及びフィードフォワード人工ニューラルネットワーク630を含むデコーダレイヤを多層に積層して、より複雑な関係性をモデリングすることもできる。
【0073】
図6では、本開示の一実施例に係るデコーダ600として、BARTに基づいたデコーダ600を示し、これに基づいてデコーダ600がトークンシーケンス652、654、656、658を抽出する過程を前述したが、これに限定されるものではない。例えば、埋め込み660からトークンシーケンス652、654、656、658を抽出できる多様な形態のデコーダ600が、本開示のディープラーニングモデルのデコーダ600として含まれることもできる。
【0074】
図7は、本開示の一実施例に係るトークンシーケンス710を構造化情報720に変換する過程の例を示す図である。
図7には、ディープラーニングモデルにより出力されたトークンシーケンス710が、1対1の対応関係にあるJSONフォーマットの情報720に変換される例を示している。
【0075】
一実施例において、ディープラーニングモデルにより出力されたトークンシーケンス710のうちで“items”項目の開始を示す[START_items]は、JSONフォーマットの情報720のうちで{“items”:に変換できる。類似の方式により、ディープラーニングモデルにより出力されたトークンシーケンス710のうちで“items”項目に含まれる“name”項目の開始を示す[START_name]は{“name”:に変換できる。このように、出力されたトークンシーケンス710に含まれる各トークンは、これと1対1の対応関係にあるJSONフォーマットに変換できる。
【0076】
一実施例において、トークンシーケンス710がトークンの[START_name]を含んでいるが、[END_name]を含んでいない場合、“name”項目に関する情報は流失したと判断され、“name”項目に対するトークン(等)は、構造化情報720に変換されないこともある。
【0077】
図7において、トークンシーケンス710が構造化情報720に変換される例として、文書の解析を要求する命令語に対して出力されたトークンシーケンス710が、これと1対1の対応関係にあるJSONフォーマット720に変換される例を示しているが、これに限定されず、多様な方式の変換を遂行できる。例えば、トークンシーケンス710が、JSONフォーマットの形式でなく、XMLに基づいた形式のような他の形式のデータに変換できる。他の例として、ディープラーニングモデルにより出力されたトークンシーケンス710が、ユーザが所望する形式の情報である場合、出力されたトークンシーケンス710をそのまま構造化情報として取り扱うことができる。もう一つの例として、文書の分類を要求する命令語に対して出力されたトークンシーケンスの“[START_class][receipt][END_class][END]”から二番目のトークンに含まれた“receipt”だけ抽出されて構造化情報として取り扱う等、多様な方式により構造化情報に変換できる。
【0078】
図8は、本開示の一実施例に係るディープラーニングモデルを学習するための合成文書イメージ820の例を示す図である。一般に、ディープラーニングモデルの学習には大量の学習データを必要とし、十分な量のデータを用いてディープラーニングモデルを学習させない場合、ディープラーニングモデルの推論性能を低下させる恐れがある。しかしながら、大量の学習データを得るには多くの費用を必要とし、費用が十分な場合でも、データ自体が十分に存在しなくて学習データを十分に得られないことがある。特に、学習データに含まれた言語が英語でない場合、十分な量のデータを得にくい恐れがある。
【0079】
これにより、本開示の一実施例によれば、大量の実際の文書イメージに従属しないために、ディープラーニングに基づいたシステムは、ディープラーニングモデルの学習に使用される合成文書イメージ820を生成できる。一実施例によれば、ディープラーニングに基づいたシステムは、実際の文書に対して類似の形態の合成文書イメージ820を生成できる。例えば、合成文書イメージの構成の例810が
図8に示されている。具体的に、ディープラーニングに基づいたシステムは、スキャン又は撮影されたイメージに対して類似のイメージを生成するために、文書の背景イメージ822、文書イメージ824、テキスト826、及びレイアウト情報を含む合成文書イメージ820を生成できる。一実施例によれば、文書の背景イメージ822は任意の背景イメージから抽出でき、文書イメージ824は実際の文書イメージに含まれた文書に対して類似の質感(texture)で生成できる。また、合成文書イメージ820に含まれたレイアウトは、実際の文書の複雑なレイアウトを反映するために、規則に基づいた任意のパターンを適用できる。
【0080】
一実施例によれば、合成文書イメージ820は、任意の言語のテキストを含むように生成でき、これにより、ディープラーニングモデルは、任意の言語の文書イメージに対して学習できる。例えば、各言語別に別途のディープラーニングモデルを学習させたり、多様な言語を用いて単一のディープラーニングモデルを学習させたりできる。
【0081】
図9は、本開示の一実施例に係る非定型文書から構造化情報を抽出するディープラーニングに基づいた方法900の例を示すフローチャートである。一実施例によれば、方法900は、プロセッサ(例えば、コンピューティング装置の少なくとも一つのプロセッサ)が入力イメージを受信することにより開始することができる(S910)。ここで、入力イメージは非定型文書イメージであり得る。例えば、非定型文書イメージは、非定型文書をスキャンしたイメージ、非定型文書を撮影したイメージ、非定型文書を含む電子ファイルなどを含むことができる。
【0082】
次に、プロセッサは、ディープラーニングに基づいたエンコーダ-デコーダモデルを用いて、入力イメージから入力イメージの構造を示すトークンシーケンスを抽出できる。例えば、まず、ディープラーニングに基づいたエンコーダにより、入力イメージから埋め込みを抽出できる(S920)。エンコーダにより埋め込みが抽出される具体例として、エンコーダにより、入力イメージを複数の第1のパッチに分割でき、複数の第1のパッチは、線形埋め込み及び特徴変換を適用して複数の第2のパッチに変換できる。また、エンコーダにより、変換された複数の第2のパッチは、パッチ併合及び特徴変換を適用して複数の第3のパッチに変換でき、複数の第3のパッチを含む埋め込みを出力できる。一実施例によれば、エンコーダは、CNNに基づいたモデル又はトランスフォーマーに基づいたモデルの一つを含むことができる。
【0083】
次に、ディープラーニングに基づいたデコーダにより、抽出された埋め込みからトークンシーケンスを抽出できる(S930)。デコーダによりトークンシーケンスが抽出される具体例として、デコーダに含まれたセルフアテンションブロックにより、埋め込みを第1の中間データに変換でき、デコーダに含まれたクロスアテンションブロックにより、第1の中間データを第2の中間データに変換できる。次に、デコーダに含まれたフィードフォワード人工ニューラルネットワークにより、第2の中間データをトークンシーケンスに変換できる。一実施例によれば、ディープラーニングに基づいたデコーダは、BARTに基づいたデコーダ又は自己回帰的デコーダの一つを含むことができる。
【0084】
一実施例によれば、プロセッサは、ユーザ命令語をさらに受信し、ディープラーニングに基づいたエンコーダ-デコーダモデルを用いて、ユーザ命令語に応じて入力イメージからトークンシーケンスを抽出できる。
【0085】
方法900は、プロセッサがトークンシーケンスを構造化情報に変換することにより終了することができる(S940)。例えば、プロセッサは、トークンシーケンスを1対1の対応関係にあるJSONフォーマットに変換できる。他の例として、ディープラーニングモデルにより出力されたトークンシーケンスの形式が、所望の形式である場合、プロセッサは、出力されたトークンシーケンスをそのまま構造化情報として取り扱うことができる。
【0086】
図10は、本開示の一実施例に係る非定型文書から構造化情報を抽出するディープラーニングモデルの学習方法1000の例を示すフローチャートである。一実施例によれば、方法1000は、プロセッサ(例えば、コンピューティング装置の少なくとも一つのプロセッサ)が、非定型文書イメージ及び非定型文書イメージのテキスト構造情報を含む学習データを受信することにより開始することができる(S1010)。
【0087】
次に、プロセッサは、非定型文書イメージの入力により、テキスト構造情報を示すトークンシーケンスを出力するように、ディープラーニングに基づいたエンコーダ-デコーダモデルを学習させることができる(S1020)。一実施例によれば、大量の学習イメージに依存しないために、プロセッサは、ディープラーニングに基づいたエンコーダ-デコーダモデルを学習させるための合成文書イメージを生成できる。例えば、合成文書イメージは、文書の背景イメージ、文書イメージ、テキスト、及びレイアウト情報を含むことができ、合成文書イメージは、エンコーダ-デコーダモデルを学習させるための非定型文書イメージとして使用できる。
【0088】
一実施例によれば、プロセッサは、非定型文書イメージ及び非定型文書イメージのテキスト構造情報を含む学習データだけでなく、非定型文書イメージのテキスト構造情報と関連付けられたユーザ命令語をさらに受信できる。このとき、プロセッサは、非定型文書イメージ及びユーザ命令語の入力により、テキスト構造情報を示すトークンシーケンスを出力するように、ディープラーニングに基づいたエンコーダ-デコーダモデルを学習させることができる。
【0089】
図9乃至
図10に示すフローチャート及び前述した説明は、一つの例示であるだけで、一部の実施例では異なるように具現化できる。例えば、一部の実施例では、各ステップの順序が変化したり、一部のステップが繰り返して遂行されたり、一部のステップが省略されたり、一部のステップが追加されたりできる。
【0090】
前述した方法は、コンピュータで実行するために、コンピュータ読み取り可能な記録媒体に保存されたコンピュータプログラムとして提供され得る。媒体は、コンピュータで実行可能なプログラムを継続的に保存したり、実行又はダウンロードのために一時保存したりするものであり得る。また、媒体は、単一又は多数のハードウェアが結合された形態の多様な記録手段又は保存手段であり得るが、あるコンピュータシステムに直接接続される媒体に限定されず、ネットワーク上に分散して存在するものであり得る。媒体の例としては、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD-ROMやDVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical medium)、及び、ROM、RAM、フラッシュメモリなどを含み、プログラム命令語が保存されるように構成されたものが挙げられる。また、他の媒体の例としては、アプリケーションを流通するアプリストアやその他の多様なソフトウェアを供給乃至流通するサイト、サーバなどで管理する記録媒体乃至保存媒体も挙げられる。
【0091】
本開示の方法、動作又は技法は多様な手段により具現化できる。例えば、このような技法は、ハードウェア、ファームウェア、ソフトウェア、若しくは、これらの組合せで具現化できる。本願の開示により説明された多様な例示的な論理ブロック、モジュール、回路、及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、若しくは両方の組合せで具現化できることを、当業者であれば理解できるはずである。ハードウェア及びソフトウェアのこのような相互の代替を明確に説明するために、多様な例示的な構成要素、ブロック、モジュール、回路、及びステップが、それらの機能的観点から一般的に前述された。そのような機能が、ハードウェアとして具現化されるか、若しくは、ソフトウェアとして具現化されるかは、特定アプリケーション及び全体システムに付加される設計要求事項によって変化する。当業者は、各々の特定アプリケーションのために多様な方式により説明された機能を具現化することもできるが、そのような具現化は本開示の範囲から逸脱するものと解釈してはならない。
【0092】
ハードウェアの具現化において、技法の遂行に利用されるプロセッシングユニットは、一つ以上のASIC、DSP、デジタル信号処理デバイス(digital signal processing devices DSPD)、プログラム可能な論理デバイス(programmable logic devices PLD)、フィールドプログラム可能なゲートアレイ(field programmable gate arrays FPGA)、プロセッサ、制御器、マイクロ制御器、マイクロプロセッサ、電子デバイス、本開示に説明された機能を遂行するように設計された他の電子ユニット、コンピュータ、若しくは、これらの組合せ内で具現化されることもできる。
【0093】
したがって、本開示により説明された多様な例示的な論理ブロック、モジュール、及び回路は、汎用プロセッサ、DSP、ASIC、FPGAや他のプログラム可能な論理デバイス、離散ゲートやトランジスタロジック、離散ハードウェアコンポーネント、若しくは、本願に説明された機能を遂行するように設計されたもの等の任意の組合せで具現化又は遂行されることもできる。汎用プロセッサはマイクロプロセッサであり得るが、代替的に、プロセッサは、任意の従来のプロセッサ、制御器、マイクロ制御器、若しくは、状態マシンであり得る。プロセッサは、また、コンピューティングデバイスの組合せ、例えば、DSPとマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと関連付けられる一つ以上のマイクロプロセッサ、若しくは、任意の他の構成の組合せで具現化されることもできる。
【0094】
ファームウェア及び/又はソフトウェアの具現化において、技法は、RAM(random access memory)、ROM(read-only memory)、NVRAM(non-volatile random access memory)、PROM(programmable read-only memory)、EPROM(erasable programmable read-only memory)、EEPROM(electrically erasable PROM)、フラッシュメモリ、CD(compact disc)、磁気又は光学データストレージデバイス、などのようなコンピュータ読み取り可能な媒体上に保存された命令として具現化できる。命令は、一つ以上のプロセッサによって実行可能であり得、プロセッサが本開示に説明された機能の特定様態を遂行するようにできる。
【0095】
ソフトウェアとして具現化される場合、前記技法は、一つ以上の命令又はコードとしてコンピュータ読み取り可能な媒体上に保存されたり、コンピュータ読み取り可能な媒体を介して転送されたりできる。コンピュータ読み取り可能な媒体は、ある場所から他の場所にコンピュータプログラムの転送を容易にする任意の媒体を含み、コンピュータ保存媒体及び通信媒体の両方を含む。保存媒体は、コンピュータによってアクセスできる任意の利用可能な媒体であり得る。非制限的な例として、このようなコンピュータ読み取り可能な媒体は、RAM、ROM、EEPROM、CD-ROMや他の光学ディスクストレージ、磁気ディスクストレージや他の磁気ストレージデバイス、若しくは、所望のプログラムコードを命令又はデータ構造の形態に移送又は保存するために使用されることができ、コンピュータによってアクセスできる任意の他の媒体を含むことができる。また、任意の接続がコンピュータ読み取り可能な媒体として適切に称することができる。
【0096】
例えば、ソフトウェアが同軸ケーブル、光ファイバーケーブル、鉛線、デジタル加入者回線(DSL)、又は、赤外線、無線及びマイクロ波のような無線技術を用いて、ウェブサイト、サーバ又は他の遠隔ソースから転送される場合、同軸ケーブル、光ファイバーケーブル、鉛線、デジタル加入者回線、又は、赤外線、無線、及びマイクロ波などのような無線技術は、媒体の定義内に含まれる。本願で使用されたディスク(disk)及びディスク(disc)は、CD、レーザーディスク、光ディスク、DVD(digital versatile disc)、フロッピーディスク、及びブルーレイディスクを含み、ここで、通常、ディスク(disk)は磁気的にデータを再生するのに対し、ディスク(disc)はレーザーを用いて光学的にデータを再生する。前記組合せ等も、コンピュータ読み取り可能な媒体等の範囲内に含まれなければならない。
【0097】
ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、移動式ディスク、CD-ROM、又は、公知された任意の他の形態の保存媒体内に常駐することもできる。例示的な保存媒体は、プロセッサが保存媒体から情報を読み取る、或いは、保存媒体に情報を書き込むように、プロセッサに連結することができる。代替的に、保存媒体はプロセッサに統合されることもできる。プロセッサ及び保存媒体はASIC内に存在することもできる。ASICはユーザ端末内に存在することもできる。代替的に、プロセッサ及び保存媒体はユーザ端末で個別構成要素として存在することもできる。
【0098】
以上で説明された実施例は、一つ以上の独立型コンピュータシステムで現在開示された主題の態様を活用するものとして記述しているが、本開示は、これに限定されず、ネットワークや分散コンピューティング環境のような任意のコンピューティング環境によって具現化できる。さらには、本開示における主題の様態は、複数のプロセッシングチップや装置で具現化されることもでき、ストレージは複数の装置に亘り、同様に影響を受ける場合もある。このような装置は、PC、ネットワークサーバ、及び携帯用装置を含むこともできる。
【0099】
本明細書では、本開示が一部の実施例によって説明されたが、本開示の発明が属する技術分野における当業者が理解し得る本開示から逸脱しない範囲内で多様な変形や変更が可能である。また、そのような変形や変更は、本明細書に添付された特許請求の範囲内に属するものと理解されるべきである。
【符号の説明】
【0100】
100 ディープラーニングに基づいたシステム
110 非定型文書イメージ
120 ディープラーニングモデル
130 構造化情報に変換
140 構造化情報