(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-12-12
(45)【発行日】2024-12-20
(54)【発明の名称】情報処理システム、情報処理方法及びプログラム
(51)【国際特許分類】
G06V 30/14 20220101AFI20241213BHJP
G06N 3/096 20230101ALI20241213BHJP
G06F 16/30 20190101ALI20241213BHJP
【FI】
G06V30/14 340J
G06N3/096
G06F16/30
(21)【出願番号】P 2024082223
(22)【出願日】2024-05-20
【審査請求日】2024-10-09
【早期審査対象出願】
(73)【特許権者】
【識別番号】519112818
【氏名又は名称】株式会社シナモン
(74)【代理人】
【識別番号】110002790
【氏名又は名称】One ip弁理士法人
(72)【発明者】
【氏名】トゥアン・アン・グエン
(72)【発明者】
【氏名】楊哲寧
(72)【発明者】
【氏名】ファム・カン・トリン
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】特許第7430437(JP,B1)
【文献】特開2020-016946(JP,A)
【文献】特開2021-077332(JP,A)
【文献】特開2021-086479(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/00-30/424
G06N 3/00-99/00
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
第1の画像データから読み取った第1の文字列及び前記第1の文字列から抽出した第1の項目値を記憶する記憶部と、
第2の画像データから読み取った第2の文字列を取得する文字列取得部と、
前記第2の文字列に類似する前記第1の文字列及び対応する前記第1の項目値を前記記憶部から取得する検索部と、
学習済み言語モデルに基づいて回答を生成する生成器に対して、前記第2の文字列及び前記第2の文字列から第2の項目値を抽出する指示、ならびに、検索した前記第1の文字列及び前記第1の項目値を含めたプロンプトを与えて前記第2の項目値を生成させる項目値取得部と、
を備えることを特徴とする情報処理システム。
【請求項2】
請求項1に記載の情報処理システムであって、
前記記憶部は、前記第1の文字列及び前記第1の項目値と、前記第1の文字列を埋め込み処理した第1のベクトルデータとを記憶しており、
前記検索部は、第2の文字列を埋め込み処理した第2のベクトルデータと前記第1のベクトルデータとを比較して、前記第2の文字列に類似する前記第1の文字列を検索すること、
を特徴とする情報処理システム。
【請求項3】
請求項1に記載の情報処理システムであって、
前記検索部は、前記第1の文字列及び前記第1の項目
値のペアを複数検索し、
前記項目値取得部は、複数の前記第1の文字列及び前記第1の項目
値のペアを前記プロンプトに含めること、
を特徴とする情報処理システム。
【請求項4】
第1の画像データから読み取った第1の文字列及び前記第1の文字列から抽出した第1の項目値を
記憶部に記憶するステップと、
第2の画像データから読み取った第2の文字列を取得するステップと、
前記第2の文字列に類似する前記第1の文字列及び対応する前記第1の項目値を前記記憶部から取得するステップと、
学習済み言語モデルに基づいて回答を生成する生成器に対して、前記第2の文字列及び前記第2の文字列から第2の項目値を抽出する指示、ならびに、検索した前記第1の文字列及び前記第1の項目値を含めたプロンプトを与えて前記第2の項目値を生成させるステップと、
をコンピュータが実行することを特徴とする情報処理方法。
【請求項5】
第1の画像データから読み取った第1の文字列及び前記第1の文字列から抽出した第1の項目値を
記憶部に記憶するステップと、
第2の画像データから読み取った第2の文字列を取得するステップと、
前記第2の文字列に類似する前記第1の文字列及び対応する前記第1の項目値を前記記憶部から取得するステップと、
学習済み言語モデルに基づいて回答を生成する生成器に対して、前記第2の文字列及び前記第2の文字列から第2の項目値を抽出する指示、ならびに、検索した前記第1の文字列及び前記第1の項目値を含めたプロンプトを与えて前記第2の項目値を生成させるステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
特許文献1にはOCR処理によって画像から文字データを取得することが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、読み取った文字から特定の項目を抽出することは難しい。
【0005】
本発明はこのような背景を鑑みてなされたものであり、画像から項目データを抽出することができるようにすることを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するための本発明の主たる発明は、情報処理システムであって、第1の画像データから読み取った第1の文字列及び前記第1の文字列から抽出した第1の項目値を記憶する記憶部と、第2の画像データから読み取った第2の文字列を取得する文字列取得部と、前記第2の文字列に類似する前記第1の文字列及び対応する前記第1の項目値を前記記憶部から取得する検索部と、学習済み言語モデルに基づいて回答を生成する生成器に対して、前記第2の文字列及び前記第2の文字列から第2の項目値を抽出する指示、ならびに、検索した前記第1の文字列及び前記第1の項目値を含めたプロンプトを与えて前記第2の項目値を生成させる項目値取得部と、を備えることを特徴とする。
【0007】
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
【発明の効果】
【0008】
本発明によれば、画像から項目データを抽出することができる。
【図面の簡単な説明】
【0009】
【
図1】情報処理システムの全体構成例を示す図である。
【
図2】管理サーバ2のハードウェア構成例を示す図である。
【
図3】管理サーバ2のソフトウェア構成例を示す図である。
【
図4】ベクターストア231に記憶されるレコードの一例を示す図である。
【発明を実施するための形態】
【0010】
<システムの概要>
以下、本発明の一実施形態に係る情報処理システムについて説明する。本実施形態の情報処理システムは、画像に表示されている特定項目を抽出しようとするものである。本実施形態の情報処理システムでは、画像から文字列を認識し(OCR)、認識した文字列から大規模言語モデル(LLM)を用いて特定項目を抽出する。本実施形態の情報処理システムは、過去に抽出した例をフューショットラーニングにより学習させるようにすることで、抽出精度を高めようとするものである。
【0011】
図1は、情報処理システムの全体構成例を示す図である。本実施形態の情報処理システムは、管理サーバ2を含んで構成される。管理サーバ2は、ユーザ端末1及び生成サーバ3のそれぞれと通信ネットワークを介して通信可能に接続される。通信ネットワークは、たとえばインターネットであり、公衆電話回線網や携帯電話回線網、無線通信路、イーサネット(登録商標)などにより構築される。
【0012】
ユーザ端末1は、ユーザが操作するコンピュータである。ユーザ端末1は、例えば、スマートフォン、タブレットコンピュータ、パーソナルコンピュータなどとすることができる。ユーザはユーザ端末1を操作して、帳票画像等の読み取り対象となる画像を管理サーバ2にアップロードすることができる。
【0013】
管理サーバ2は、例えばワークステーションやパーソナルコンピュータのような汎用コンピュータとしてもよいし、あるいはクラウド・コンピューティングによって論理的に実現されてもよい。管理サーバ2は、OCR処理を行った結果をユーザ端末1に応答するSaaSとして動作する。
【0014】
生成サーバ3は、大規模限度モデル(LLM)を使用して回答を生成する機能を提供するコンピュータである。生成サーバ3は、外部から与えられたプロンプトを大規模限度モデルに与えて回答を生成する生成器として機能する。生成サーバ3は、API(Application Programming Interface)として、大規模限度モデルを使用した生成器の機能を提供する。
【0015】
<管理サーバ>
図2は、管理サーバ2のハードウェア構成例を示す図である。なお、図示された構成は一例であり、これ以外の構成を有していてもよい。管理サーバ2は、CPU201、メモリ202、記憶装置203、通信インタフェース204、入力装置205、出力装置206を備える。記憶装置203は、各種のデータやプログラムを記憶する、例えばハードディスクドライブやソリッドステートドライブ、フラッシュメモリなどである。通信インタフェース204は、通信ネットワークに接続するためのインタフェースであり、例えばイーサネット(登録商標)に接続するためのアダプタ、公衆電話回線網に接続するためのモデム、無線通信を行うための無線通信機、シリアル通信のためのUSB(Universal Serial Bus)コネクタやRS232Cコネクタなどである。入力装置205は、データを入力する、例えばキーボードやマウス、タッチパネル、ボタン、マイクロフォンなどである。出力装置206は、データを出力する、例えばディスプレイやプリンタ、スピーカなどである。なお、後述する管理サーバ2の各機能部はCPU201が記憶装置203に記憶されているプログラムをメモリ202に読み出して実行することにより実現され、管理サーバ2の各記憶部はメモリ202及び記憶装置203が提供する記憶領域の一部として実現される。
【0016】
図3は、管理サーバ2のソフトウェア構成例を示す図である。管理サーバ2は、ベクターストア231と、画像取得部211と、文字列取得部212と、検索部213と、項目値取得部214と、を備える。
【0017】
<記憶部>
ベクターストア231は、過去に画像データから読み取った文字列を埋め込み処理した値(ベクトルデータ)を記憶する。ベクターストア231は、過去に画像データから読み取った文字列と、当該文字列から抽出した項目(項目名と項目値とのペア)と、ベクトルデータとを対応付けて記憶することができる。過去に画像データから読み取った文字列及び/又は当該文字列から抽出した項目は、例えばファイル等に管理し、ベクターストア231にはファイルのパスやURLなどを記憶するようにしてもよい。埋め込み処理は、例えば、生成サーバ3が提供するEmbeddings APIを利用して生成サーバ3に行わせてもよいし、管理サーバ2が、Word2Vec、Doc2Vec、fastTextなどの手法を用いて埋め込み処理を行ってもよい。
【0018】
図4は、ベクターストア231に記憶されるレコードの一例を示す図である。同図に示すように、ベクターストア231に登録される各レコードには、画像データから読み取った文字列(テキストデータ)と、この文字列を埋め込み処理した結果であるベクトルデータ(任意の次元数とすることができる。)と、この文字列から抽出された項目(項目名と項目値とのペア)をJSON形式で表現したものとが含まれうる。
【0019】
<機能部>
画像取得部211は、ユーザから帳票画像等の画像を取得する。画像取得部211は、例えば、ユーザ端末1から画像のアップロードを受け付けることができる。画像取得部211は、例えば、電子メールやチャットサービスなどに送信された画像を取得するようにしてもよい。画像取得部211は、ユーザから画像が保管されているオンラインストレージへのURLを受け付け、当該URLにアクセスして画像を取得するようにしてもよい。
【0020】
文字列取得部212は、画像データから読み取った文字列を取得する。文字列取得部212は、画像取得部211が取得した画像(以下、対象画像)に表示されている文字列(以下、対象文字列)を認識し、認識した文字列を取得することができる。なお、画像から文字列を認識取得する処理については、一般的なOCR処理を想定し、ここでは詳細についての説明は省略する。
【0021】
検索部213は、対象文字列に類似する文字列をベクターストア231から取得する。検索部213は、対象文字列を埋め込み処理したベクトルデータを作成し、作成したベクトルデータと、ベクターストア231に記憶されているベクトルデータとの距離に応じて、対象文字列に類似する文字列(テキストデータ)を検索することができる。埋め込み処理は、例えば、生成サーバ3が提供するEmbeddings APIを利用して生成サーバ3に行わせてもよいし、管理サーバ2が、Word2Vec、Doc2Vec、fastTextなどの手法を用いて埋め込み処理を行ってもよい。検索部213は、類似する文字列と、当該文字列に対応する項目(抽出項目)をベクターストア231から取得する。なお、検索部213は、例えば、距離の近い順に所定数(任意の数とすることができる。)のテキストデータ及び抽出項目の組を検索することができる。本実施形態では、テキストデータ及び抽出項目の組を3組検索することを想定する。
【0022】
項目値取得部214は、画像から読み取った文字列から項目値を取得する。項目値取得部214は、学習済み言語モデルに基づいて回答を生成する生成器に対して、文字列と、当該文字列から項目値を抽出する旨の指示と、過去に抽出した例とを含むプロンプトを与えて、文字列から項目名及び項目値のペアを抽出した結果データを生成させることができる。プロンプトに与える文字列は、文字列取得部212が取得した対象文字列である。プロンプトに与える過去に抽出した例は、検索部213がベクターストア231から取得したテキストデータ及び抽出項目の組である。これにより、項目値取得部214は、フューショットラーニングの手法でテキストデータから項目を抽出する仕方を学習させて、対象文字列から項目をLLMに抽出させることができる。本実施形態では、項目値取得部214は、生成サーバ3が提供するAPIを呼び出すことにより、生成サーバ3が備えるLLMに対してプロンプトを与え、LLMからの出力結果を受信することを想定するが、管理サーバ2が学習済み言語モデル及び生成器を備えるようにしてもよい。
【0023】
<動作>
図5は、管理サーバ2の動作を説明する図である。
【0024】
管理サーバ2は、画像を受け付け(S301)、画像から文字列を読み取り(S302)、対象文字列に類似する過去のテキストデータ及び抽出項目の例を検索し(S303)、対象文字列と、テキストデータ及び抽出項目の例とを与えたプロンプトを生成サーバ3に送信し(S304)、生成サーバ3からLLMによる項目の抽出結果を受信する(S305)。
【0025】
以上のようにして、本実施形態の情報処理システムによれば、大規模限度モデル(LLM)を使用して、画像から読み取った文字列から、必要な項目を抽出することができる。
【0026】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【0027】
例えば、上述した管理サーバ2の各機能部による処理は、いずれの機能部により実行されるようにしてもよい。また、上述した各機能部の処理の一部を実行する異なる機能部を追加するようにしてもよい。また、管理サーバ2の機能部は、複数台のコンピュータが分散して備えるようにしてもよい。
【0028】
また、管理サーバの各記憶部が記憶する情報は、いずれの記憶部が記憶するようにしてもよい。すなわち、上述した複数の記憶部が記憶する情報を1つの記憶部により記憶するようにしてもよいし、上述したある記憶部が記憶する情報の一部を他の記憶部が記憶するようにしてもよい。
【0029】
また、上述した実施形態では、対象文字列のみを埋め込み処理するものとしたが、対象文字列に加えて又は代えて画像を埋め込み処理するようにしてもよい。この場合、検索部213は、対象文字列を埋め込み処理したベクトルデータ(文字列ベクトル)に加えて又は代えて、画像取得部211が取得した画像を埋め込み処理したベクトルデータ(画像ベクトル)を求め、文字列ベクトルとベクターストア231に記憶されているベクトルデータとの距離と、画像ベクトルとベクターストア231に記憶されているベクトルデータとの距離とに基づく値(例えば、合計値、平均値等)に応じて、対象文字列及び/又は画像に類似する文字列(テキストデータ)を検索することができる。画像の埋め込み処理には、例えば、MatchingNetなどの公知の手法を用いることができる。
【0030】
また、対象文字列及び/又は画像以外にも、対象文字列から抽出した単語(フレーズであってもよい。以下同じ。)間の連結関係を示すグラフ表現を埋め込み処理するようにしてもよい。この場合、例えば、対象文字列から単語を抽出し、抽出した単語の画像上での抽出位置を特定し、第1の単語と、画像上において第1の単語から所定距離内にある第2の単語のそれぞれとの間をリンクさせたグラフを作成し、作成したグラフを埋め込み処理することができる。ベクターストア231には、画像から読み取った文字列を埋め込み処理したベクトルデータ(文字ベクトル)と、過去に画像データから読み取った文字列中の単語の当該画像データ上の位置に基づいて単語ペアにリンクを設定したグラフを埋め込み処理したベクトルデータ(グラフベクトル)とを対応付けて記憶するようにする。検索部213は、対象文字列及び/又は画像を埋め込み処理したベクトルデータと、ベクターストア231の文字ベクトルとの距離と、対象文字列から抽出した単語間のリンクを表すグラフを埋め込み処理したベクトルデータと、ベクターストア231のグラフベクトルとの距離とに基づく値(例えば、合計値、平均値等)に応じて、対象文字列及び/又は画像と、対象文字列内の単語間のリンクを示すグラフとに類似する文字列(テキストデータ)を検索することができる。
【0031】
<開示事項>
なお、本開示には、以下のような構成も含まれる。
[項目1]
第1の画像データから読み取った第1の文字列及び前記第1の文字列から抽出した第1の項目値を記憶する記憶部と、
第2の画像データから読み取った第2の文字列を取得する文字列取得部と、
前記第2の文字列に類似する前記第1の文字列及び対応する前記第1の項目値を前記記憶部から取得する検索部と、
学習済み言語モデルに基づいて回答を生成する生成器に対して、前記第2の文字列及び前記第2の文字列から第2の項目値を抽出する指示、ならびに、検索した前記第1の文字列及び前記第1の項目値を含めたプロンプトを与えて前記第2の項目値を生成させる項目値取得部と、
を備えることを特徴とする情報処理システム。
[項目2]
項目1に記載の情報処理システムであって、
前記記憶部は、前記第1の文字列及び前記第1の項目値と、前記第1の文字列を埋め込み処理した第1のベクトルデータとを記憶しており、
前記検索部は、第2の文字列を埋め込み処理した第2のベクトルデータと前記第1のベクトルデータとを比較して、前記第2の文字列に類似する前記第1の文字列を検索すること、
を特徴とする情報処理システム。
[項目3]
項目1に記載の情報処理システムであって、
前記検索部は、前記第1の文字列及び前記第1の項目のペアを複数検索し、
前記項目値取得部は、複数の前記第1の文字列及び前記第1の項目のペアを前記プロンプトに含めること、
を特徴とする情報処理システム。
[項目4]
第1の画像データから読み取った第1の文字列及び前記第1の文字列から抽出した第1の項目値を記憶するステップと、
第2の画像データから読み取った第2の文字列を取得するステップと、
前記第2の文字列に類似する前記第1の文字列及び対応する前記第1の項目値を前記記憶部から取得するステップと、
学習済み言語モデルに基づいて回答を生成する生成器に対して、前記第2の文字列及び前記第2の文字列から第2の項目値を抽出する指示、ならびに、検索した前記第1の文字列及び前記第1の項目値を含めたプロンプトを与えて前記第2の項目値を生成させるステップと、
をコンピュータが実行することを特徴とする情報処理方法。
[項目5]
第1の画像データから読み取った第1の文字列及び前記第1の文字列から抽出した第1の項目値を記憶するステップと、
第2の画像データから読み取った第2の文字列を取得するステップと、
前記第2の文字列に類似する前記第1の文字列及び対応する前記第1の項目値を前記記憶部から取得するステップと、
学習済み言語モデルに基づいて回答を生成する生成器に対して、前記第2の文字列及び前記第2の文字列から第2の項目値を抽出する指示、ならびに、検索した前記第1の文字列及び前記第1の項目値を含めたプロンプトを与えて前記第2の項目値を生成させるステップと、
をコンピュータに実行させるためのプログラム。
【符号の説明】
【0032】
1 ユーザ端末
2 管理サーバ
【要約】
【課題】画像から項目データを抽出することができるようにする。
【解決手段】情報処理システムであって、第1の画像データから読み取った第1の文字列及び第1の文字列から抽出した第1の項目値を記憶する記憶部と、第2の画像データから読み取った第2の文字列を取得する文字列取得部と、第2の文字列に類似する第1の文字列及び対応する第1の項目値を記憶部から取得する検索部と、学習済み言語モデルに基づいて回答を生成する生成器に対して、第2の文字列及び第2の文字列から第2の項目値を抽出する指示、ならびに、検索した第1の文字列及び第1の項目値を含めたプロンプトを与えて第2の項目値を生成させる項目値取得部と、を備えることを特徴とする。
【選択図】
図1