JP2023041243A - 情報処理装置、情報処理方法、及びプログラム - Google Patents
情報処理装置、情報処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2023041243A JP2023041243A JP2021148491A JP2021148491A JP2023041243A JP 2023041243 A JP2023041243 A JP 2023041243A JP 2021148491 A JP2021148491 A JP 2021148491A JP 2021148491 A JP2021148491 A JP 2021148491A JP 2023041243 A JP2023041243 A JP 2023041243A
- Authority
- JP
- Japan
- Prior art keywords
- character string
- candidate
- information processing
- character strings
- document image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/18—Extraction of features or characteristics of the image
- G06V30/1801—Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
- G06V30/18019—Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/19007—Matching; Proximity measures
- G06V30/19093—Proximity measures, i.e. similarity or distance measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/413—Classification of content, e.g. text, photographs or tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
- Image Analysis (AREA)
Abstract
【課題】文字列の表記に規則性が無い項目の項目値であっても、予めレイアウトが定められた定型文書とは異なるレイアウトの文書の画像から、ユーザが所望する文字列データを、所定の項目に対応する項目値の候補として抽出する。【解決手段】情報処理装置は、処理対象の文書画像に含まれる複数の文字列の中から予め定められた項目に対応する項目値の候補となる1以上の候補文字列を抽出するものであって、まず、予め設定された抽出対象の属性グループを示す情報を取得する。次に、処理対象の文書画像に含まれる複数の文字列のそれぞれに対応する特徴ベクトルに基づいて、予め定められた複数の属性グループのうちから、複数の文字列のそれぞれが属する属性グループを特定する。次に、処理対象の文書画像に含まれる複数の文字列の中から、特定された属性グループが抽出対象の属性グループと同一となった文字列を候補文字列として抽出する。【選択図】図2C
Description
本開示は、文書画像から文字列のデータを抽出する技術に関する。
イメージスキャナデバイス(以下「スキャナ」という。)又はファクシミリ(以下「FAX」という。)受信機等を用いて得られた文書画像から、所定の項目値を文字列のデータとして抽出することが行われている。抽出された文字列のデータは、ファイル名の自動付与等の文書ファイリング処理、又は、業務システムへの転記処理等の入力データとしてデータ入力業務等に用いられる。
特許文献1には、データ入力業務を支援するための技術として、一般に準定型文書又は非定型文書と呼ばれる、予めレイアウトが定められた定型文書とは異なるレイアウトで作成された文書の画像から、項目値に対応する文字列を抽出する手法が開示されている。特許文献1に開示された手法(以下「従来手法」という。)は、まず、振込依頼書等の文書画像に含まれる複数の文字列から、「口座番号」等の予め定められた項目名と、項目名に対応する「1234567」等の項目値とを抽出する。次に、項目名と項目値との互いの位置関係から両者の妥当性を評価し、この評価結果に基づいて項目値を抽出するものである。従来手法では、項目名を、「番号」又は「口座番号」等の予め定められたキーワードに基づいて抽出し、項目値を、「NNNNNNN」(Nは、例えば任意のアラビア数字)等の予め定められたデータ型に基づいて抽出する。
従来手法では、「金額」、「日付」、又は「口座番号」等の文字列の表記に規則性がある項目の項目値については抽出できるが、「氏名」、「住所」、「職業」、又は「続柄」等の文字列の表記に規則性が無い項目の項目値については抽出できないことがあった。具体的には、文字列の表記に規則性がある場合についてはデータ型によって妥当性を評価できるが、文字列の表記に規則性が無い場合については、データ型によって妥当性を評価することが困難なため、所望する項目値を必ずしも抽出できなるわけではない。
本開示に係る情報処理装置は、処理対象の文書画像に含まれる複数の文字列の中から、予め定められた項目に対応する項目値の候補となる1以上の候補文字列を抽出する情報処理装置であって、予め定められた複数の属性グループのうちの予め設定された抽出対象の属性グループの情報を取得する抽出対象取得手段と、複数の文字列のそれぞれに対応する特徴ベクトルに基づいて、複数の属性グループの中のから複数の文字列のそれぞれが属する属性グループを特定し、複数の文字列の中から、特定した属性グループが抽出対象の属性グループと同一となった文字列を候補文字列として抽出する候補抽出手段と、候補抽出手段により抽出された候補文字列を出力する候補出力手段と、を有する。
本開示によれば、文字列の表記に規則性が無い項目の項目値であっても、予めレイアウトが定められた定型文書とは異なるレイアウトの文書の画像から、ユーザが所望する文字列データを、所定の項目に対応する項目値の候補として抽出できる。
以下、添付の図面を参照して、本開示の実施の形態について説明する。なお、以下の実施の形態に示す構成は、一例に過ぎず、本開示の範囲をその構成のみに限定されるものでなく、また、以下の実施の形態に示す構成の全てが本開示に必須のものとは限らない。
[第1実施形態]
<情報処理システム>
図1乃至7及び図10乃至13を参照して、第1実施形態に係る情報処理システム1について説明する。図1は、第1実施形態に係る情報処理システム1の構成の一例を示すブロック図である。情報処理システム1は、画像入力装置2、学習装置3、及び情報処理装置4を有する。また、画像入力装置2、学習装置3、及び情報処理装置4は、ネットワーク5を介して、互いに通信可能に接続されている。情報処理システム1において、画像入力装置2、学習装置3、及び情報処理装置4は、いずれも、ネットワーク5に対して単一接続ではなく、複数接続された構成であってもよい。具体的には、例えば、情報処理装置4は、高速演算リソースを有する第1の装置と、大容量ストレージを有する第2の装置により構成され、第1及び第2の装置がネットワーク5を介して互いに通信可能に接続された構成であってもよい。図1に示す情報処理システム1は、一例として、画像入力装置2、学習装置3、及び情報処理装置4がネットワーク5に対してそれぞれ単一接続されたものである。
<情報処理システム>
図1乃至7及び図10乃至13を参照して、第1実施形態に係る情報処理システム1について説明する。図1は、第1実施形態に係る情報処理システム1の構成の一例を示すブロック図である。情報処理システム1は、画像入力装置2、学習装置3、及び情報処理装置4を有する。また、画像入力装置2、学習装置3、及び情報処理装置4は、ネットワーク5を介して、互いに通信可能に接続されている。情報処理システム1において、画像入力装置2、学習装置3、及び情報処理装置4は、いずれも、ネットワーク5に対して単一接続ではなく、複数接続された構成であってもよい。具体的には、例えば、情報処理装置4は、高速演算リソースを有する第1の装置と、大容量ストレージを有する第2の装置により構成され、第1及び第2の装置がネットワーク5を介して互いに通信可能に接続された構成であってもよい。図1に示す情報処理システム1は、一例として、画像入力装置2、学習装置3、及び情報処理装置4がネットワーク5に対してそれぞれ単一接続されたものである。
画像入力装置2は、プリント機能、スキャン機能、及びFAX機能等の複数の機能を備えた、例えば、MFP(Multi-Function Peripheral)により実現される。画像入力装置2は、画像を取得し、取得した画像のデータを外部の装置に出力する機能を有する。画像入力装置2は、MFPにより実現される場合、画像入力装置2は、例えば、スキャン機能により紙等の記録媒体に印字された原稿11を光学的に読み取り、周知のスキャン画像処理を行うことにより文書画像13を取得する。また、当該場合、例えば、画像入力装置2は、FAX機能により、図1には不図示のFAX送信機から送信されたFAXデータ12を受信し、FAXデータ12に対して周知のFAX画像処理を行うことにより文書画像13を取得する。さらに、画像入力装置2は、取得した文書画像13を文書画像データとして情報処理装置4に対して送信する。
なお、MFPはあくまで一例であって、画像入力装置2は、PC(Personal Computer)等により実現されてもよい。具体的には、例えば、画像入力装置2としてのPCにおいて動作する文書作成アプリケーションを用いて生成される文書画像13を取得し、取得した文書画像13を文書画像データとして情報処理装置4に対して送信してもよい。ここで、文書作成アプリケーションを用いて生成される文書画像13のデータとは、例えば、PDF(Portable Document Format)等の電子文書ファイル形式のデータである。当該データは、JPEG(Joint Photographic Experts Group)等の静止画像のデータ等であってもよい。
学習装置3は、機械学習を行い、機械学習を行うことにより得た学習済モデルに基づいて文字列分類器15を生成する。ここで、学習装置3により生成される文字列分類器15とは、説明変数として入力された文字列を示す情報に基づいて、予め定められた複数の属性のグループ(以下「属性グループ」という。)のうちから、当該文字列が属する属性グループを特定するものである。具体的には、学習装置3は、まず、エンジニア等のユーザから提供された複数の文書画像のサンプル(以下「文書画像サンプル14」という。)に含まれる文字列のデータ(以下「文字列データ」という。)を取得する。次に、取得した文字列データを学習用データとして機械学習を行うことにより得た学習済モデルに基づいて、文字列分類器15を生成する。ここで、属性グループとは、一般に固有表現と呼ばれる、文字列データの概念的な特徴を捉えたグループを指すものであって、人名若しくは地名等の固有名詞、又は、日付若しくは金額等の固有表現等が挙げられる。なお、学習装置3は、取得した文字列データを特徴ベクトルに変換し、変換した特徴ベクトルを学習用データとして機械学習を行ってもよい。特徴ベクトルについては後述する。
図10を参照して、属性グループ及び文字列データについて説明する。図10は、第1実施形態に係る属性グループ及び文字列データの一例を説明するための説明図である。図10には、属性グループの具体例として、氏名1001、住所1002、職業1003、続柄1004、日付1005、及び、病名1006と、各属性グループに分類される文字列データの具体例が示されている。図10には、日付1005の項目値のように、データ型を規定することが可能な項目値と、氏名1001、住所1002、職業1003、続柄1004、又は病名1006の項目値のように、字面が互いに異なる文字列からなる項目値とが含まれている。
学習装置3は、例えば、人事系の事務部門で扱われる複数の文書画像のデータを文書画像サンプル14として取得する。学習装置3は、取得した複数の文書サンプル14のそれぞれに含まれる文字列のデータを元に、当該文字列を機械学習により文書名、日付、氏名、住所、職業、又は続柄等に相当する複数の属性グループにグループ化する。このようにして、学習装置3は、説明変数として入力された文字列を示すデータに基づいて当該文字列がこれらの属性グループのうちのいずれに属するかを特定するための文字列分類器15を生成する。なお、文書サンプル14に含まれる文字列は、文書サンプル14に対してOCR(Optical character recognition)処理を実行することによって得られた文字認識結果として取得される。
また、学習装置3は、例えば、医療系の事務部門で扱う複数の文書画像のデータを文書画像サンプル14として取得してもよい。この場合、学習装置3は、取得した複数の文書サンプル14のそれぞれに含まれる文字列のデータを元に、当該文字列を機械学習により文書名、日付、氏名、医療機関名、病名、薬品名、又は金額等に相当する複数の属性グループにグループ化する。このようにして、学習装置3は、入力された文字列を示すデータに基づいて当該文字列がこれらの属性グループのうちのいずれに属するかを特定するための文字列分類器15を生成する。文字列分類器15を生成した後、学習装置3は、生成した文字列分類器15を、ネットワーク5を介して情報処理装置4に対して送信する。学習装置3の詳細については後述する。
情報処理装置4は、画像入力装置2から受信した文書画像13に含まれる1以上の文字列のそれぞれに対応するデータを、文字列毎に文字列データとして取得する。具体的には、例えば、情報処理装置4は、文書画像13に対してOCR処理を実行することによって得られた文字認識結果を文字列データとして取得する。さらに、情報処理装置4は、文書画像13に含まれる1以上の文字列のデータのうちから、候補となる1以上の文字列(以下「候補文字列」という。)のデータを抽出する。具体的には、情報処理装置4は、まず、文字列分類器15を用いて、取得した文字列データの文字列が複数の属性グループのうちのいずれに属するかを特定する。次に、文書画像13に含まれる1以上の文字列のデータのうちから、特定された属性グループが予め定められた抽出対象の属性グループ(以下「抽出対象グループ」という。)と同一の文字列データ16を候補文字列のデータとして抽出する。情報処理装置4は、抽出した候補文字列のデータ(文字列データ16)を出力する。具体的には、情報処理装置4は、抽出した候補文字列のデータ(文字列データ16)を図1には不図示の記憶装置又は表示装置等に出力する。情報処理装置4の詳細については後述する。
ネットワーク5は、LAN(Local Area Network)又はWAN(Wide Area Network)等により構成される通信網である。ネットワーク5は、画像入力装置2、学習装置3、及び情報処理装置4の間を互いに通信可能に接続して、装置間におけるデータの送受信を可能にする。
<装置構成>
図2を参照して、画像入力装置2、学習装置3、及び情報処理装置4の構成について説明する。図2Aは、第1実施形態に係る画像入力装置2の構成の一例を示すブロック図である。具体的には、図2A(a)は、第1実施形態に係る画像入力装置2が有する機能ブロックの一例を示すブロック図である。画像入力装置2は、画像取得部21及び画像送信部22を有する。画像取得部21は、文書画像13を取得する。画像送信部22は、画像取得部21により取得された文書画像13のデータを、ネットワーク5を介して情報処理装置4に対して送信する。
図2を参照して、画像入力装置2、学習装置3、及び情報処理装置4の構成について説明する。図2Aは、第1実施形態に係る画像入力装置2の構成の一例を示すブロック図である。具体的には、図2A(a)は、第1実施形態に係る画像入力装置2が有する機能ブロックの一例を示すブロック図である。画像入力装置2は、画像取得部21及び画像送信部22を有する。画像取得部21は、文書画像13を取得する。画像送信部22は、画像取得部21により取得された文書画像13のデータを、ネットワーク5を介して情報処理装置4に対して送信する。
画像入力装置2において機能する各部の処理は、画像入力装置2に内蔵されたASIC(Application Specific Integrated Circuit)等のハードウェアによってなされる。当該処理は、FPGA(Field Programmable Gate Array)等のハードウェアによってなされるものであってもよい。また、当該処理は、RAM(Random Access Memory)等のメモリと、CPU(Central Processor Unit)等のプロセッサとを用いたソフトウエアによってなされるものであってもよい。
図2A(b)は、第1実施形態に係る画像入力装置2が有するハードウェアの一例を示すブロック図である。具体的には、図2A(b)に示すブロック図は、画像入力装置2において機能する各部がソフトウエアとして動作する場合の画像入力装置2のハードウェア構成の一例を示すものである。画像入力装置2は、コンピュータにより構成されており、当該コンピュータは、図2A(b)に一例として示すように、CPU201、ROM202、データパス203、RAM204、プリンタデバイス205、及びスキャナデバイス206を有する。また、当該コンピュータは、図2A(b)に一例として示すように、原稿搬送デバイス207、ストレージ208、入力デバイス209、表示デバイス210、及び外部インタフェース211を有する。
CPU201は、画像入力装置2における動作全体を制御するためのプロセッサである。CPU201は、ROM202等に格納された起動プログラムを実行することにより、画像入力装置2のシステムを起動する。さらに、CPU201は、ストレージ208等に記憶された制御プログラムを実行することにより、画像入力装置2においてプリント機能、スキャン機能、又はFAX機能等として機能する各部を機能させる。なお、画像入力装置2は、CPU201とは異なる1又は複数の専用のハードウェアを有し、CPU201による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC、FPGA、又はDSP(Digital Signal Processor)等がある。
ROM202は、変更を必要としないプログラム等を格納する不揮発性のメモリであって、例えば、画像入力装置2を起動する起動プログラムを格納している。データバス203は、画像入力装置2が有する各ハードウェアをつないで、ハードウェア間においてデータを伝達する。RAM204は、ROM202又はストレージ208等から供給されるプログラム若しくはデータ、又は外部インタフェース211を介して外部から供給されるデータ等を一時記憶する揮発性のメモリである。RAM204は、CPU201が起動プログラム又は制御プログラム等のプログラムを実行する際のワークメモリとして使用される。
プリンタデバイス205は、画像出力用のデバイスであって、画像入力装置2にて取得された文書画像を紙等の記憶媒体に印字して印刷出力するためのデバイスである。スキャナデバイス206は、画像入力用のデバイスであって、文字や図表等が印字された紙等の記憶媒体を光学的に読み取って文書画像として取得するためのデバイスである。原稿搬送デバイス207は、図2A(b)には不図示の原稿台に載置された原稿を検知し、検知した原稿を1枚ずつスキャナデバイス206に搬送するためのデバイスである。原稿搬送デバイス207は、ADF(Auto Document Feeder)等により実現される。
ストレージ208は、HDD(Hard Disk Drive)等により実現されるものであって、前述の制御プログラム又は文書画像データを記憶するための補助記憶装置である。入力デバイス209は、タッチパネル又はハードキー等により実現されるものであって、ユーザからの画像入力装置2に対する操作入力を受け付けるためのデバイスである。表示デバイス210は、液晶ディスプレイ等により実現されるものであって、画像入力装置2が出力する設定画面等の表示画像をユーザに対して視認可能に表示出力するためのデバイスである。外部インタフェース211は、画像入力装置2とネットワーク5との間を接続するものであって、図2A(b)には不図示のFAX送信機からFAXデータ12を受信したり、情報処理装置4に対して文書画像のデータを送信したりするためのものである。
図2Bは、第1実施形態に係る学習装置3の構成の一例を示すブロック図である。具体的には、図2B(a)は、第1実施形態に係る学習装置3が有する機能ブロックの一例を示すブロック図である。学習装置3は、サンプル取得部31、文字列取得部32、ベクトル変換部33、学習部34、分類器生成部35、及び分類器出力部36を有する。
サンプル取得部31は、文書画像サンプル14を取得する。具体的には、例えば、サンプル取得部31は、ユーザによる操作入力に基づいて、操作入力に対応する文書画像サンプル14を図2B(a)には不図示の記憶装置から読み出すことにより、文書画像サンプル14を取得する。文字列取得部32は、サンプル取得部31により取得された文書画像サンプル14が示す文章画像に含まれる1以上の文字列のデータを取得する。ベクトル変換部33は、文字列取得部32により取得された1以上の文字列データのそれぞれを、文字列データ毎に特徴ベクトルに変換する。学習部34は、ベクトル変換部33により変換された特徴ベクトルを学習用データとして学習モデルに入力することにより学習モデルに機械学習させる。分類器生成部35は、学習部34よる学習結果である学習済モデルを受けて、学習済モデルに基づいて文字列分類器15を生成する。なお、分類器生成部35は、学習部34よる学習結果である学習済モデルに対して処理を行うことなく、当該学習済モデルを文字列分類器15としてもよい。分類器出力部36は、分類器生成部35により生成された文字列分類器を、情報処理装置4、又は図2B(b)には不図示の記憶装置に対して出力する。学習装置3が有する各部の詳細な処理については後述する。
学習装置3において機能する各部の処理は、学習装置3に内蔵されたASIC若しくはFPGA等のハードウェア、又は、RAM等のメモリと、CPU等のプロセッサとを用いたソフトウエアによってなされる。図2B(b)は、第1実施形態に係る学習装置3が有するハードウェアの一例を示すブロック図である。具体的には、図2B(b)に示すブロック図は、学習装置3において機能する各部がソフトウエアとして動作する場合の学習装置3のハードウェア構成の一例を示すものである。学習装置3は、コンピュータにより構成されており、当該コンピュータは、図2B(b)に一例として示すように、CPU231、ROM232、データバス233、RAM234、ストレージ235、入力デバイス236、及び表示デバイス237を有する。また、当該コンピュータは、図2B(b)に一例として示すように、外部インタフェース238及びGPU239を有する。
CPU231は、学習装置3における動作全体を制御するためのプロセッサである。CPU231は、ROM232等に格納された起動プログラムを実行することにより、学習装置3のシステムを起動する。また、CPU231は、ストレージ235に記憶された制御プログラムを実行することにより、学習装置3において機能する各部を機能させる。なお、学習装置3は、CPU231とは異なる1又は複数の専用のハードウェアを有し、CPU231による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC、FPGA、又はDSP等がある。
ROM232は、変更を必要としないプログラム等を格納する不揮発性のメモリであって、例えば、学習装置3を起動する起動プログラムを格納している。データバス233は、学習装置3が有する各ハードウェアをつないで、ハードウェア間においてデータを伝達する。RAM234は、ROM232又はストレージ235等から供給されるプログラム若しくはデータ、又は外部インタフェース238を介して外部から供給されるデータ等を一時記憶する揮発性のメモリである。RAM234は、CPU231が起動プログラム又は制御プログラム等のプログラムを実行する際のワークメモリとして使用される。ストレージ235は、HDD等により実現されるものであって、前述の制御プログラム又は文書画像サンプルデータ14等を記憶するための補助記憶装置である。
入力デバイス236は、マウス又はキーボード等により実現されるものであって、エンジニア等のユーザ(以下、単に「エンジニア」という。)からの学習装置3に対する操作入力を受け付けるためのデバイスである。表示デバイス237は、液晶ディスプレイ等により実現されるものであって、学習装置3の設定画面等の表示画像をエンジニアに対して視認可能に表示出力するためのデバイスである。外部インタフェース238は、学習装置3とネットワーク5との間を接続するものであって、図2B(b)には不図示の記憶装置又はPC等の外部装置から文書画像サンプル14を受信するためのものである。また、外部インタフェース238は、情報処理装置4、又は図2B(b)には不図示の記憶装置に対して文字列分類器15を出力するためのものである。GPU239は、画像処理を行うことが可能なプロセッサである。GPU239は、例えば、CPU231から与えられた制御コマンドに従って、与えられた文書画像に含まれる文字列のデータを元に、文字列分類器15を生成するための演算を行う。
図2Cは、第1実施形態に係る情報処理装置4の構成の一例を示すブロック図である。具体的には、図2C(a)は、第1実施形態に係る情報処理装置4が有する機能ブロックの一例を示すブロック図である。情報処理装置4は、分類器取得部41,処理画像取得部42、文字列取得部43、ベクトル変換部44,属性グループ特定部45、抽出対象設定部46、候補抽出部47、及び候補出力部48を有する。
分類器取得部41は、文字列分類器15を取得する。具体的には、例えば、分類器取得部41は、学習装置3により出力された文字列分類器15を受けて、文字列分類器15を取得する。分類器取得部41は、図2C(a)には不図示の記憶装置に予め記憶された文字列分類器15を当該記憶装置から読み出すことにより、文字列分類器15を取得してもよい。処理画像取得部42は、文書画像13を取得する。具体的には、例えば、処理画像取得部42は、画像入力装置2により送信された文書画像13のデータを受信することにより文書画像13を取得する。処理画像取得部42は、図2C(a)には不図示の記憶装置に予め記憶された文書画像13のデータを当該記憶装置から読み出すことにより、文書画像13を取得してもよい。文字列取得部43は、文書画像13に含まれる1以上の文字列のデータを取得する。ベクトル変換部44は、文字列取得部43により取得された1以上の文字列データのそれぞれを、文字列データ毎に特徴ベクトルに変換する。
属性グループ特定部45は、ベクトル変換部44により変換された特徴ベクトルに基づいて、予め定められた複数の属性グループのうちから、当該特徴ベクトルに対応する文字列が属する属性グループを特定する。具体的には、属性グループ特定部45は、ベクトル変換部44により変換された特徴ベクトルを、分類器取得部41により取得された文字列分類器15に説明変数と入力する。属性グループ特定部45は、文字列分類器15が推論結果として出力する、属性グループを識別可能な識別番号等の情報(以下「グループID(identification)」という。)を取得する。グループIDにより、当該特徴ベクトルに対応する文字列が属する属性グループが特定される。
抽出対象設定部46は、属性グループ特定部45により特定された属性グループを抽出対象グループとして設定する。抽出対象設定部46は、抽出対象グループを示す情報を抽出対象グループ情報として出力する。具体的には、抽出対象設定部46は、抽出対象グループ情報をストレージ265等の記憶装置に出力して記憶装置に記憶させる。
候補抽出部47は、抽出対象グループに基づいて、文字列取得部43により取得された、文書画像13に含まれる1以上の文字列データのうちから、候補文字列を選択して抽出する。具体的には、例えば、候補抽出部47は、まず、図2C(a)には不図示の記憶装置に予め記憶された抽出対象グループ情報を、当該記憶装置から読み出すことにより取得する。次に、抽出対象グループ情報が示す抽出対象グループと、属性グループ特定部45により特定された属性グループとを、文書画像13に含まれる文字列毎に比較する。候補抽出部47は、当該比較の結果に基づいて、候補文字列のデータを抽出する。候補出力部48は、候補抽出部47により候補文字列のデータとして抽出された文字列データ16を出力する。具体的には、例えば、候補出力部48は、文字列データ16を、図2C(a)には不図示の表示装置に表示出力する。情報処理装置4が有する各部の詳細な処理については後述する。
情報処理装置4において機能する各部の処理は、情報処理装置4に内蔵されたASIC若しくはFPGA等のハードウェア、又は、RAM等のメモリと、CPU等のプロセッサとを用いたソフトウエアによってなされる。図2C(b)は、第1実施形態に係る情報処理装置4が有するハードウェアの一例を示すブロック図である。具体的には、図2C(b)に示すブロック図は、情報処理装置4において機能する各部がソフトウエアとして動作する場合の情報処理装置4のハードウェア構成の一例を示すものである。情報処理装置4は、コンピュータにより構成されており、当該コンピュータは、図2C(b)に一例として示すように、CPU261、ROM262、データバス263、RAM264、及びストレージ265を有する。また、当該コンピュータは、図2C(b)に一例として示すように、入力デバイス266、表示デバイス267、及び外部インタフェース268を有する。
CPU261は、情報処理装置4における動作全体を制御するためのプロセッサである。CPU261は、ROM262に格納された起動プログラムを実行することにより、情報処理装置4のシステムを起動する。また、CPU261は、ストレージ265に記憶された制御プログラムを実行することにより、情報処理装置4において機能する各部を機能させる。なお、情報処理装置4は、CPU261とは異なる1又は複数の専用のハードウェアを有し、CPU261による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC、FPGA、又はDSP等がある。
ROM262は、変更を必要としないプログラム等を格納する不揮発性のメモリであって、例えば、情報処理装置4を起動する起動プログラムを格納している。データバス263は、情報処理装置4が有する各ハードウェアをつないで、ハードウェア間においてデータを伝達する。RAM264は、ROM262又はストレージ265等から供給されるプログラム若しくはデータ、又は外部インタフェース268を介して外部から供給されるデータ等を一時記憶する揮発性のメモリである。CPU261が起動プログラム又は制御プログラム等のプログラムを実行する際のワークメモリとして使用される。ストレージ265は、HDD等で実現されるものであって、前述の制御プログラム、文書画像13のデータ、文字列分類器15、又は文字列データ16等を記憶するための補助記憶装置である。
入力デバイス266は、マウス又はキーボード等で実現されるものであって、エンジニア又はエンドユーザ等のユーザからの情報処理装置4に対する操作入力を受け付けるためのデバイスである。表示デバイス267は、液晶ディスプレイ等により実現されるものであって、情報処理装置4の設定画面等の表示画像をエンジニア又はエンドユーザ等のユーザに対して視認可能に表示出力するためのデバイスである。外部インタフェース268は、情報処理装置4とネットワーク5との間を接続するものであって、学習装置3、又は図2C(b)には不図示の記憶装置等の外部装置から文字列分類器15を受信するためのものである。また、外部インタフェース268は、画像入力装置2、又は図2C(b)には不図示の記憶装置等の外部装置から文書画像13のデータを受信するためのものである。
<処理シーケンス>
図3を参照して、情報処理システム1の処理シーケンスについて説明する。図3は、第1実施形態に係る情報処理システム1の処理シーケンスの一例を示すシーケンス図である。図3に一例として示すように、情報処理システム1は、(a)から(d)までの4つの処理シーケンスに分けられる。なお、図3の説明において、記号「S」はステップを意味する。
図3を参照して、情報処理システム1の処理シーケンスについて説明する。図3は、第1実施形態に係る情報処理システム1の処理シーケンスの一例を示すシーケンス図である。図3に一例として示すように、情報処理システム1は、(a)から(d)までの4つの処理シーケンスに分けられる。なお、図3の説明において、記号「S」はステップを意味する。
図3に示す(a)は、学習装置3が文字列分類器15を生成する処理シーケンスを示している。図3に示す(a)の処理シーケンスは、図3に示す(b)から(d)までのいずれの処理シーケンスが実行されるよりも前に予め実行される。図3に示す(a)の処理シーケンスにおいて、S301にて、まず、情報処理システム1を開発するエンジニアは、学習装置3に対して複数の文書画像サンプル14を入力する。具体的には、例えば、エンジニアは、複数の文書画像サンプル14の所在等を示す情報を入力することにより、学習装置3に文書画像サンプル14を取得させるための指示を行う。学習装置3は、エンジニアからの入力に基づいて、文書画像サンプル14を取得する。
S301の後、S302にて、学習装置3は、まず、文書画像サンプル14毎に文書画像サンプル14の文書画像に含まれる文字列のデータを取得する。次に、取得した文字列データに基づく機械学習により学習済モデルを生成して複数の属性グループを生成する。さらに、学習済モデルに基づいて文字列分類器15を生成する。ここで、生成される文字列分類器15は、説明変数として文字列データに対応する特徴ベクトルが入力され、特徴ベクトルに対応する文字列データが属する属性グループを、生成した複数の属性グループのうちから推論して当該推論の結果を出力するものである。文字列分類器15は、文字列データを特徴ベクトル化する言語モデルを内部に有し、説明変数として文字列データが入力されるものであってもよい。S302の後、S303にて、学習装置3は、情報処理装置4に対して、生成した文字列分類器15を送信する。情報処理装置4は、学習装置3から送信された文字列分類器15を取得して、情報処理装置4が有するストレージ265に文字列分類器15を保存する。
なお、図3に示す(a)の処理シーケンスの詳細については、図4を用いて後述する。
図3に示す(b)は、後述する図3に示す(d)の処理シーケンスにおいて候補文字列のデータを抽出する際に用いる抽出対象グループを設定する処理シーケンスを示している。具体的には、図3に示す(b)の処理シーケンスは、文書画像13に含まれる1以上の文字列のうちのエンジニアからの操作入力により選択された文字列のデータが属する属性グループを抽出対象グループとして設定するものである。なお、図3に示す(b)の処理シーケンスは、エンジニアにより、情報処理装置4の開発時に行われるものである。これに対して、後述する図3に示す(c)の処理シーケンスは、エンドユーザ等のユーザ(以下、単に「エンドユーザ」という。)により、運用時に行われるものである。具体的には、図3に示す(b)の処理シーケンスは、図3に示す(c)の処理シーケンスにおいて行われる抽出対象グループの設定を、エンドユーザの代わりにエンジニアが予め開発時に行うものである。
図3に示す(b)の処理シーケンスにおいて、S304にて、まず、エンジニアは、情報処理装置4に対して文書画像13のデータを入力する。具体的には、例えば、エンジニアは、文書画像13のデータの所在等を示す情報を入力することにより、情報処理装置4に文書画像13のデータを取得させるための指示を行う。情報処理装置4は、エンジニアからの入力に基づいて、文書画像13のデータを取得する。S304の後、S305にて、情報処理装置4は、まず、文書画像13に含まれる1以上の文字列のデータを取得する。次に、取得した1以上の文字列データのうち、エンジニアが所望する文字列の指定を行うためのエンジニアからの操作入力を受け付ける。S305の後、S306にて、情報処理装置4は、まず、S303にて取得した文字列分類器15を用いて、S305にて受け付けた操作入力により指定された文字列が属する属性グループを特定する。次に、特定した属性グループを抽出対象グループとして指定して、抽出対象グループを示す情報(以下「抽出対象グループ情報」という。)をストレージ265等に保存する。なお、図3に示す(b)の処理シーケンスの詳細については、図5を用いて後述する。
図3に示す(c)は、後述する図3に示す(d)の処理シーケンスにおいて候補文字列のデータを抽出する際に用いる抽出対象グループを設定する処理シーケンスを示している。なお、図3に示す(c)の処理シーケンスは、エンドユーザにより運用時に行われるものであって、前述した図3に示す(b)の処理シーケンスと同様のものである。具体的には、図3に示す(c)の処理シーケンスは、文書画像13に含まれる1以上の文字列のうちのエンドユーザからの操作入力により選択された文字列が属する属性グループを抽出対象グループとして設定するものである。
図3に示す(c)の処理シーケンスにおいて、S307にて、まず、エンドユーザは、例えば、画像入力装置2に原稿11を載置して、画像入力装置2に対して原稿11の読み取りを指示する。画像入力装置2は、当該指示を受けて、原稿11を光学的に読み取って文書画像13を取得する。S307の後、S308にて、まず、画像入力装置2は、S307にて取得した文書画像13のデータを情報処理装置4に対して送信する。情報処理装置4は、画像入力装置2から送信された文書画像13のデータを受信することにより文書画像13を取得する。なお、情報処理装置4は、文書画像13を取得できればよく、文書画像13のデータの取得元は、画像入力装置2であっても、ストレージ265等の記憶装置等であってもよい。
S308の後、S309にて、情報処理装置4は、まず、S308にて取得した文書画像13のデータについて、文書画像13に含まれる1以上お文字列のデータを取得する。次に、取得した1以上の文字列データのうち、エンドユーザが所望する文字列の指定を行うためのエンドユーザからの操作入力を受け付ける。S309の後、S310にて、情報処理装置4は、まず、S303にて取得した文字列分類器15を用いて、S309にて受け付けた操作入力により指定された文字列が属する属性グループを特定する。次に、特定した属性グループを抽出対象グループとして指定して、抽出対象グループ情報をストレージ265等に保存する。なお、図3に示す(c)の処理シーケンスの詳細については、図5を用いて後述する。
図3に示す(d)は、文書画像13に含まれる1以上の文字列のデータのうちから、図3に示す(b)又は(c)の処理シーケンスにおいて予め設定された抽出対象グループに基づいて候補文字列のデータを抽出する処理シーケンスを示している。なお、図3に示す(d)では、図3に示す(b)又は(c)の処理シーケンスの実行時に用いた文書画像13のレイアウトとは異なるレイアウトの複数の文書画像13について、繰り返して候補文字列のデータを抽出することができる。また、図3に示す(d)では、文書画像13に含まれる1以上の文字列について、文字列毎に当該文字列が候補文字列に該当するか否かを繰り返して判定することにより、1以上の候補文字列を抽出することができる。
図3に示す(d)の処理シーケンスにおいて、S311にて、まず、エンドユーザは、まず、画像入力装置2に原稿11を載置して、画像入力装置2に対して原稿11の読み取りを指示する。画像入力装置2は、当該指示を受けて、原稿11を光学的に読み取って文書画像13を取得する。S311の後、S312にて、まず、画像入力装置2は、S311にて取得した文書画像13のデータを情報処理装置4に対して送信する。情報処理装置4は、画像入力装置2から送信された文書画像13のデータを受信することにより文書画像13を取得する。なお、情報処理装置4は、文書画像13を取得できればよく、文書画像13のデータの取得元は、画像入力装置2であっても、ストレージ265等の記憶装置等であってもよい。
S312の後、S313にて、情報処理装置4は、まず、S312にて取得した文書画像13のデータについて、文書画像13に含まれる1以上の文字列のデータを取得する。次に、取得した1以上の文字列データのそれぞれについて、文字列データが属する属性グループを特定する。次に、文字列データ毎に特定した属性グループと、図3に示す(b)又は(c)の処理シーケンスにおいて予め設定された抽出対象グループとに基づいて、取得した文書画像13に含まれる1以上の文字列のデータのうちから、候補文字列のデータを抽出する。S313の後、S314にて、情報処理装置4は、S313にて抽出した候補文字列のデータを、エンドユーザに対して視認可能に表示出力する。なお、図3に示す(d)の処理シーケンスの詳細については、図6を用いて後述する。
<文字列分類器の生成処理>
図4を参照して、図3に示す(a)における学習装置3が文字列分類器15を生成する処理の流れについて説明する。図4は、第1実施形態に係る学習装置3が文字列分類器15を生成する処理の流れの一例を示すフローチャートである。なお、図4の説明において、記号「S」はステップを意味する。また、図4に示す各ステップの実行プログラムは、例えば、学習装置3のROM232、RAM234、又はストレージ235のいずれかに記憶され、学習装置3のCPU231又はGPU239によって実行される。
図4を参照して、図3に示す(a)における学習装置3が文字列分類器15を生成する処理の流れについて説明する。図4は、第1実施形態に係る学習装置3が文字列分類器15を生成する処理の流れの一例を示すフローチャートである。なお、図4の説明において、記号「S」はステップを意味する。また、図4に示す各ステップの実行プログラムは、例えば、学習装置3のROM232、RAM234、又はストレージ235のいずれかに記憶され、学習装置3のCPU231又はGPU239によって実行される。
まず、S401にて、サンプル取得部31は、複数の文書画像サンプル14を取得する。具体的には、例えば、サンプル取得部31は、人事、医療、又は経理等の事務部門において扱われる文書画像のデータを文書画像サンプル14として取得する。ここで、サンプル取得部31は、文書画像サンプル14として、例えば、医療系の事務職部門にて扱われる文書画像、というように、ある特定の業務分野にて扱われる文書画像のデータのみを対象として取得してもよい。また、サンプル取得部31は、人事、医療、及び経理の業務分野にて扱われる文書画像、というように、互いに異なる複数の業務分野にて扱われる文書画像のデータを対象として取得してもよい。
次に、S402にて、文字列取得部32は、サンプル取得部31により取得された複数の文書画像サンプル14のそれぞれに含まれる文字列のデータを取得する。具体的には、例えば、文字列取得部32は、複数の文書画像サンプル14のそれぞれに対して、OCR処理を実行し、OCR処理により文字認識結果として得られた複数の文字列データを取得する。例えば、文字列取得部32は、準定型文書の文書画像を構成するオブジェクトの単位を識別するブロックセレクションの技術を用いて、文書画像において間隔又は罫線等により区切られて配置された単語区切りの単位でOCR処理を実行する。なお、ブロックセレクションについては、周知の技術であるため説明を省略する。また、例えば、文字列取得部32は、非定型文書の文書画像に含まれる文章に対して、周知の形態素解析の手法を用いて当該文章を単語毎に分割し、分割された単語の単位でOCR処理を実行してもよい。
次に、S403にて、ベクトル変換部33は、文字列取得部32により取得された複数の文字列データのそれぞれを特徴ベクトルに変換する。具体的には、例えば、ベクトル変換部33は、Word2Vec、GloVe、fastText、BERT、XLNet、又はALBERT等の周知の手法を用いて、文字列データを特徴ベクトルに変換する。例えば、ウィキペディア(登録商標)等のWebサイト等に登録された膨大な一般の文書に対して予め学習済のBERTの言語モデルを用いる。これにより、当該文書に含まれる文字列毎に、文字列データを、768次元等の数値により表現される特徴ベクトルに変換できる。
図11を参照して、文字列データと、文字列データに対応する特徴ベクトルとについて説明する。図11は、文字列データ及び特徴ベクトルの一例を説明するための説明図である。具体的には、図11(a)は、文書画像サンプル14に含まれる文字列のデータを特徴ベクトルに変換する様子の一例を示す概念図である。図11(a)に示すように、文書画像サンプル14に含まれる複数の文字列のデータである文字列データ群1101は、例えば、学習済のBERTの言語モデルを用いることにより、文字列データ毎に768次元の数値により表現される特徴ベクトルに変換できる。図11(a)には、文字列データ群1101に対応する複数の特徴ベクトルとして、特徴ベクトル群1102が示されている。図11(b)については後述する。
S403の後、S404にて、学習部34は、ベクトル変換部33により変換された複数の特徴ベクトルを学習用データとする機械学習により、学習途中の学習モデルに学習させる。具体的には、学習部34は、ベクトル変換部33により変換された複数の特徴ベクトルを学習用データとして、機械学習によるクラスタリング手法を用いて特徴ベクトルを複数の属性グループにグループ化する。ここで、ベクトル変換部33により生成された特徴ベクトル群1102は、一般に固有表現と呼ばれる、文字列データの概念的な特徴を示すものであって、人名若しくは地名等の固有名詞、又は、日付若しくは金額等の固有表現等の特徴を示すものである。学習部34では、このような特徴を利用し、エンジニア等が手動で属性を示す情報を教師データとして与えることなく、教師なし学習の機械学習の1つであるクラスタリング手法を用いて、特徴ベクトルを自動で複数の属性グループにグループ化する。ここで、特徴ベクトル群をグループ化するクラスタリング手法としては、最短距離法若しくは最長距離法等の階層クラスタリング手法、又は、K-means若しくはX-means等の非階層クラスタリング手法等の周知の技術を利用できる。
図11(b)は、複数の特徴ベクトルを機械学習によるクラスタリング手法を用いて複数の属性グループにグループ化した様子の一例を示す概念図である。具体的には、図11(b)は、図11(a)に示す768次元の数値により表現される特徴ベクトルを、PCA又はt-SNE等の周知の技術を用いて2次元平面に次元圧縮するように変換して可視化したものである。図11(b)に示すように、図11(a)に示した文字列データの特徴ベクトル群1102に対して、上述のクラスタリング手法を用いることにより、自動で複数の属性グループ1111,1112,1113,1114にグループ化できる。ここで、図11(b)に示す属性グループ1111~1114のそれぞれは、例えば、病名、氏名、日付、及び文書名であると見て取れる。ただし、クラスタリング手法によるグループ化では、これらの属性グループ1111~1114のそれぞれが何を示すかの情報を持たず、属性グループを識別可能な情報(グループID)のみを持つ。
なお、学習部34は、特徴ベクトルを学習用データとする機械学習により、学習途中の学習モデルに学習させるものとして説明したが、これに限定されるものではない。具体的には、例えば、学習モデルの設計段階において、学習モデル内にて文字列データを特徴ベクトル化する言語モデルを含めて学習モデルを予め設計し、学習部34は、文字列データを学習用データとして学習モデルに機械学習による学習をさせてもよい。この場合、学習装置3は、ベクトル変換部33が不要となる。
S404にて必要又は十分な学習が完了した後、S405にて、分類器生成部35は、まず、学習部34による学習結果である学習済モデルを取得する。次に、取得した学習済モデルに基づいて文字列分類器15を生成する。ここで、文字列分類器15とは、文字列データの特徴ベクトルを説明変数として受けて、上述のクラスタリング手法により生成された複数の属性グループのうち、入力された特徴ベクトルに対応する文字列がいずれの属性グループに属するかを特定するものである。具体的には、例えば、文字列分類器15は、特定した属性グループを示す情報としてグループIDを出力する。
なお、分類器生成部35は、例えば、文字列データと、当該文字列データに対する上述のクラスタリング手法により取得された属性グループとの組み合わせを教師データとして再利用し、教師あり学習による機械学習により再現するように実現してもよい。また、分類器生成部35は、例えば、単に、上述のクラスタリング手法により取得された各属性グループの重心位置を算出し、重心位置が最も近い属性グループを最も類似度が高い属性グループとして判定するように実現してもよい。S405の後、S406にて、分類器出力部36は、分類器生成部35により生成された文字列分類器15を情報処理装置4又は図1等には不図示の記憶装置に出力する。文字列分類器15が文字列データを特徴ベクトル化する言語モデルを内部に有していない場合、分類器出力部36は、文字列分類器15に加えて、文字列データを文字列分類器15に入力可能な特徴ベクトルに変換するための言語モデルを出力してもよい。以下、文字列分類器15は、文字列データを特徴ベクトル化する言語モデルを内部に有していないものとして説明する。S406の後、学習装置3は、図4に示すフローチャートの処理を終了する。
<抽出対象グループの設定処理>
図5を参照して、図3に示す(b)又は(c)において、情報処理装置4が抽出対象グループを設定する処理の流れについて説明する。図5は、第1実施形態に係る情報処理装置4が抽出対象グループを設定する処理の流れの一例を示すフローチャートである。なお、図5の説明において、記号「S」はステップを意味する。また、図5に示す各ステップの実行プログラムは、例えば、情報処理装置4のROM262、RAM264、又はストレージ265のいずれかに記憶され、情報処理装置4のCPU261によって実行される。
図5を参照して、図3に示す(b)又は(c)において、情報処理装置4が抽出対象グループを設定する処理の流れについて説明する。図5は、第1実施形態に係る情報処理装置4が抽出対象グループを設定する処理の流れの一例を示すフローチャートである。なお、図5の説明において、記号「S」はステップを意味する。また、図5に示す各ステップの実行プログラムは、例えば、情報処理装置4のROM262、RAM264、又はストレージ265のいずれかに記憶され、情報処理装置4のCPU261によって実行される。
まず、S501にて、分類器取得部41は、文字列分類器15を取得する。次に、S502にて、まず、処理画像取得部42は、抽出対象グループを指定するために用いる(以下「抽出対象文書」という。)に対応する画像として文書画像13を取得する。具体的には、処理画像取得部42は、画像入力装置2により送信された文書画像13のデータを受信することにより文書画像13を取得する。処理画像取得部42は、文書画像13のデータが予め記憶されたストレージ265等の記憶装置等から文書画像13のデータを読み出すことにより、文書画像13を取得してもよい。次に、文字列取得部43は、まず、処理画像取得部42により取得された文書画像13に対してOCR処理等を実行することにより、文書画像13に含まれる1以上の文字列のデータを取得する。文字列取得部43は、次に、文書画像13に含まれる1以上の文字列のデータのうちから、エンジニア又はエンドユーザ等のユーザによる操作入力により指定された文字列に対応する文字列データを取得する。
図12を参照して、ユーザが文書画像13に含まれる1以上の文字列のデータのうちから所望の文字列を指定するための設定画面について説明する。図12は、第1実施形態に係る設定画面の一例を説明するための説明図である。具体的には、図12(a)は、第1実施形態に係る処理画像取得部42により取得された文書画像13の一例を示す図である。図12(a)には、文書画像13を可視化した画像1201と、画像1201のうちの一部の画像領域を拡大して示した画像1203が示されている。また、画像1203には、項目を示す「患者氏名」の文字領域1202と、当該項目の項目値を示す固有名詞(人名)の「三輪千代里」の文字領域1204が示されている。
図12(b)は、第1実施形態に係る情報処理装置4が表示装置に出力して当該表示装置表示させる設定画面1200の一例を示す図である。具体的には、図12(b)に示すプレビュー画面領域には、図12(a)に示す文書画像13を可視化した画像1201が表示されている。また、図12(b)に示すプレビュー画面領域に表示される画像1201には、項目を示す「患者氏名」の文字領域1202と、当該項目に対応する項目値である「三輪千代里」の文字領域1204が示されている。例えば、ユーザは、図12(b)示すにプレビュー画面領域に表示された画像1201において、所望の文字領域を選択する。当該選択は、例えば、文字領域に対してポインタ等による位置指定1210を行うことによりなされる。例えば、ユーザが「三輪千代里」に対応する文字領域1204を位置指定して選択した場合、文字領域1204に対応する画像1213が取得されて、「取得対象:」の項目値として表示されている。また、図12(b)に示す設定画面1200には、画像1213に対するOCR処理の結果である文字列データが「患者氏名」を示す項目1211に対応する項目値1212として表示される。
なお、「患者氏名」を示す項目1211は、エンジニア等のユーザにより予め設定されたものである。項目1211は、エンドユーザ等のユーザにより項目を追加するための追加ボタン1215が押下されることにより追加設定されたものであってもよい。ユーザは、図12(b)の設定画面の項目値1212として表示されたOCR結果等の文字列データが誤っていると判断した場合に、編集ボタン1214を押下することにより、文字列データを修正することができる。ユーザは、文書画像13に含まれる1以上の文字列のデータのうち、所望する全ての文字列データについての選択が完了したとき、図12(b)に示す設定画面における終了ボタン1216を押下することにより、その表示を終了させる。
S502の後、S503にて、まず、ベクトル変換部44は、S502にてユーザにより選択された1以上の文字列データのそれぞれについて、文字列データを特徴ベクトルに変換する。次に、グループ特定部45は、分類器取得部41により取得された文字列分類器15に、ベクトル変換部44により変換された特徴ベクトルを入力して、当該特徴ベクトルに対応する文字列データが属する属性グループを特定する。S503の後、S504にて、抽出対象設定部46は、グループ特定部45により特定された属性グループを抽出対象グループとして設定し、抽出対象グループ情報をストレージ265等の記憶装置に出力して当該記憶装置に記憶させて保存する。ここで、抽出対象グループ情報とは、属性グループを識別可能な情報であって、例えば、グループID情報である。
S504の後、S505にて、例えば、文字列取得部43は、エンジニア又はエンドユーザ等のユーザによる操作入力により、抽出対象として指定する文字列のデータの選択が終了されたか否かを判定する。具体的には、例えば、図12(b)示すにプレビュー画面領域に表示された画像1201において、新たな文字領域が選択されたとき、文字列取得部43は、抽出対象として指定する文字列のデータの選択が終了されていないと判定する。抽出対象として指定する文字列のデータの選択が終了されていないと判定された場合、情報処理装置4は、S503の処理に戻ってS503からS505までの処理を実行して、新たに指定された文字列のデータに対応する抽出対象グループ情報を追加する。すなわち、当該場合、情報処理装置4は、抽出対象として指定する文字列のデータの選択が終了されたと判定されるまで、S503からS505までの処理を繰り返して実行して抽出対象グループ情報を追加する。
これに対して、例えば、文字列取得部43は、図12(b)に示す設定画面における終了ボタン1216が押下されたとき、抽出対象として指定する文字列のデータの選択が終了されたと判定する。抽出対象として指定する文字列のデータの選択が終了されたと判定された場合、情報処理装置4は、図5に示すフローチャートの処理を終了し、処理画像取得部42にて新たな文書画像13が取得されるまで待機する。処理画像取得部42にて新たな文書画像13が取得された場合、情報処理装置4は、図5に示すフローチャートの処理を再度実行する。なお、この場合、情報処理装置4は、図5に示すフローチャートの処理のうち、S501の処理を省略して、S502以降の処理のみを実行してもよい。
<候補文字列の抽出処理>
図6を参照して、図3に示す(d)の処理シーケンスにおいて、情報処理装置4が文書画像13に含まれる1以上の文字列のデータうちから候補文字列のデータを抽出する処理の流れについて説明する。図6は、第1実施形態に係る情報処理装置4が文書画像13に含まれる1以上の文字列のデータうちから候補文字列のデータを抽出する処理の流れの一例を示すフローチャートである。なお、図6の説明において、記号「S」はステップを意味する。また、図6に示す各ステップの実行プログラムは、例えば、情報処理装置4のROM262、RAM264、又はストレージ265のいずれかに記憶され、情報処理装置4のCPU261によって実行される。
図6を参照して、図3に示す(d)の処理シーケンスにおいて、情報処理装置4が文書画像13に含まれる1以上の文字列のデータうちから候補文字列のデータを抽出する処理の流れについて説明する。図6は、第1実施形態に係る情報処理装置4が文書画像13に含まれる1以上の文字列のデータうちから候補文字列のデータを抽出する処理の流れの一例を示すフローチャートである。なお、図6の説明において、記号「S」はステップを意味する。また、図6に示す各ステップの実行プログラムは、例えば、情報処理装置4のROM262、RAM264、又はストレージ265のいずれかに記憶され、情報処理装置4のCPU261によって実行される。
まず、S601にて、分類器取得部41は、文字列分類器15を取得する。次に、S602にて、まず、候補抽出部47は、図5に示すS504にて保存された抽出対象グループ情報を取得する。なお、S504にて保存された抽出対象グループ情報が複数存在する場合、候補抽出部47は、複数の抽出対象グループ情報を取得する。次に、S603にて、まず、処理画像取得部42は、候補文字列のデータを抽出するための文書(以下「処理対象文書」という。)に対応する画像として文書画像13を取得する。具体的には、例えば、処理画像取得部42は、画像入力装置2により送信された文書画像13のデータを受信することにより文書画像13を取得する。処理画像取得部42は、文書画像13のデータが予め記憶されたストレージ265等の記憶装置等から文書画像13のデータを読み出すことにより、文書画像13を取得してもよい。次に、文字列取得部43は、まず、処理画像取得部42により取得された文書画像13に対してOCR処理等を実行することにより、文書画像13に含まれる1以上の文字列のデータを取得する。
S603の後、S604にて、まず、ベクトル変換部44は、S603にて文字列取得部43により取得された1以上の文字列データのそれぞれについて、文字列データを特徴ベクトルに変換する。次に、グループ特定部45は、まず、S601にて分類器取得部41により取得された文字列分類器15に、ベクトル変換部44により変換された特徴ベクトルを文字列データ毎に入力する。次に、文字列分類器15が出力する結果を当該入力毎に受けて、当該特徴ベクトルに対応する文字列データが属する属性グループを文字列データ毎に特定する。以下、グループ特定部45により特定された属性グループを特定属性グループと称して説明する。
S604の後、S605にて、候補抽出部47は、S603にて文字列取得部43により取得された1以上の文字列データのうちの1つを選択する。S605の後、S606にて、候補抽出部47は、S602にて取得された抽出対象グループ情報が示す特定属性グループと、S605にて選択した文字列データに対応する特定属性グループとが同一であるか否かを判定する。なお、S602にて取得された抽出対象グループ情報が複数存在する場合、候補抽出部47は、複数の抽出対象グループ情報のそれぞれが示す抽出対象グループのうちの少なくともいずれかと特定属性グループとが同一であるか否かを判定する。S606にて抽出対象グループと特定属性グループとが同一であると判定された場合、S607にて、候補抽出部47は、S605にて選択した文字列データを候補文字列のデータとして抽出する。S607の後、または、S606にて抽出対象グループと特定属性グループとが同一でないと判定された場合、情報処理装置4は、S608の処理を実行する。
S608では、候補抽出部47は、S603にて文字列取得部43により取得された1以上の文字列データのうちの全てがS605にて選択されたか否かを判定する。S608にて文字列取得部43により取得された1以上の文字列データのうちの全てがS605にて選択されていないと判定された場合、情報処理装置4は、S605の処理に戻って、S605からS606までを繰り返し実行する。なお、この場合、S605にて、候補抽出部47は、S603にて文字列取得部43により取得された1以上の文字列データのうち、これまでに選択されていない文字列データを選択する。S608にて文字列取得部43により取得された1以上の文字列データのうちの全てがS605にて選択されたと判定された場合、S609にて、候補出力部48は、候補文字列のデータを抽出結果として出力する。具体的には、例えば、候補出力部48は、当該抽出結果を確認画面に含める表示画像を生成し、当該表示画像を表示装置に表示出力する。
図13を参照して、候補出力部48により出力される確認画面1300について説明する。図13は、第1実施形態に係る候補出力部48が出力する確認画面1300の一例を説明するための説明図である。具体的には、図13(a)は、第1実施形態に係る処理画像取得部42により取得された文書画像13の一例を示す図である。図13(a)には、文書画像13を可視化した文書画像1301と、画像1301のうちの一部の画像領域を拡大して示した画像1305,1306,1307が示されている。また、画像1305,1306,1307には、項目値を示す固有名詞(人名)の「成瀬愛理」の文字領域1302、「片山雅夫」の文字領域1303、及び「花岡伸也」の文字領域1304が示されている。
図13(b)は、第1実施形態に係る情報処理装置4が有する候補出力部48により出力されて表示装置に表示される確認画面1300の一例を示す図である。具体的には、図13(b)に示すプレビュー画面領域には、図13(a)に示す文書画像1301が表示されている。また、図13(b)に示すプレビュー画面領域に表示される文書画像1301には、項目を示す「患者氏名」に対応する候補文字列として文字領域1302,1303,1304が確認可能な状態で表示されている。また、文字領域1302,1303,1304に対応する画像1314,1315,1316が「候補一覧:」の項目値として確認可能な状態で表示されている。ここで、抽出対象の項目である「患者氏名」は、図12(b)を用いて前述した通り、エンジニア又はエンドユーザ等のユーザによって予め設定されたものである。
図13(b)に示す確認画面1300において、例えば、ユーザは、操作入力を行うことにより、表示されている候補一覧の画像1314、1315、1316のうちのいずれかを選択する。当該選択は、ポインタ等による位置指定1310によりなされる。例えば、ユーザが操作入力により画像1316を選択すると、選択された画像1316をOCR処理することにより得た文字列データ1312が表示される。ユーザは、選択する画像1314、1315、1316を変更することにより、出力させる文字列データ12を切り替えることができる。
また、図13(b)に示す確認画面1300において、エンドユーザは、表示されたOCR処理の結果である表示された文字列データ1312が誤っていた場合に、「編集」ボタン1313を押下することにより文字列データ1312を修正することができる。また、ユーザによる「次へ」ボタン1317の押下を受け付けると、次に取得した文書画像13に含まれる1以上の文字列のデータのうちの候補文字列のデータについて確認するための確認画面に遷移する。さらに、ユーザによる「終了」ボタン1318の押下を受け付けると、文書画像13についての候補文字列の出力を完了し、確認画面が終了される。
以上のように、情報処理装置4によれば、準定型文書又は非定型文書等の所定のレイアウトとは異なるレイアウトの文書の画像から、ユーザが所望する文字列データを所定の項目に対応する項目値の候補としてとして抽出できる。すなわち、抽出対象文書を用いて指定した属性グループ(抽出対象グループ)と同一の属性グループに属する文字列データを処理対象文書から抽出し、抽出した1つ以上の文字列データを候補文字列のデータとして抽出できる。ここで、第1実施形態において、文字列の表記の規則性を利用しないていない。そのため、文字列の表記に規則性がある金額、日付、又は口座番号等の項目の項目値だけでなく、文字列の表記に規則性が無い氏名、住所、職業、又は続柄等の項目に対応する項目値の候補についても候補文字列として抽出できる。
また、第1実施形態に係る情報処理装置4によれば、予め項目値の辞書をデータベースとして用意する必要が無いため、辞書を保守又は管理するためのコストを抑制できる。さらに、第1実施形態は、項目名に基づいて項目値を抽出する手法とは異なり、項目値が属する属性グループに基づいて項目値を直接的に抽出する方法であるため、「氏名」又は「おなまえ」等の表記の異なる項目名の影響を受けずに項目値を抽出できる。
[第2実施形態]
図7及び図14を参照して、第2実施形態に係る情報処理システム1(以下、単に「情報処理システム1」という。)について説明する。情報処理システム1の構成は、図1に一例として示す第1実施形態に係る情報処理システム1の構成と同様に、画像入力装置2、学習装置3、及び情報処理装置4を有する。また、画像入力装置2、学習装置3、及び情報処理装置4は、ネットワーク5を介して、互いに通信可能に接続される。
図7及び図14を参照して、第2実施形態に係る情報処理システム1(以下、単に「情報処理システム1」という。)について説明する。情報処理システム1の構成は、図1に一例として示す第1実施形態に係る情報処理システム1の構成と同様に、画像入力装置2、学習装置3、及び情報処理装置4を有する。また、画像入力装置2、学習装置3、及び情報処理装置4は、ネットワーク5を介して、互いに通信可能に接続される。
第1実施形態に係る情報処理装置4は、以下のようなものであった。まず、抽出対象文書に対応する文書画像13を用いて抽出対象グループを予め設定する。さらに、処理対象文書に対応する文章画像13に含まれる1以上の文字列のデータのうちから、抽出対象グループと同一の属性グループに属する文字列データを候補文字列のデータとして抽出する。これに対して、第2実施形態に係る情報処理装置4は、抽出対象グループと同一の属性グループに属する文字列データだけでなく、抽出対象グループの近傍に位置する属性グループに属する文字列データについても候補文字列のデータとして抽出するものである。以下、第2実施形態に係る情報処理装置4を単に「情報処理装置4」と表記して説明する。また、以下、抽出対象グループの近傍に位置する属性グループを「近傍グループ」と称して説明する。
情報処理装置4の構成は、図2Cに一例として示す第1実施形態に係る情報処理装置4の構成と同様である。すなわち、情報処理装置4は、分類器取得部41,処理画像取得部42、文字列取得部43、ベクトル変換部44,属性グループ特定部45、抽出対象設定部46、候補抽出部47、及び候補出力部48を有する。ただし、第2実施形態に係る候補抽出部47(以下、単に「候補抽出部47」という。)は、第1実施形態に係る候補抽出部47とは異なる機能を有するものである。候補抽出部47の詳細については後述する。
また、情報処理装置4において機能する各部の処理は、情報処理装置4に内蔵されたASIC若しくはFPGA等のハードウェア、又は、RAM等のメモリと、CPU等のプロセッサとを用いたソフトウエアによってなされる。具体的には、例えば、情報処理装置4は、図2C(b)に一例として示すコンピュータにより構成される。なお、第2実施形態に係る画像入力装置2(以下、単に「画像入力装置2」という。)及び学習装置3(以下、単に「学習装置3」という。)は、第1実施形態に係る画像入力装置2及び学習装置3と同様であるため説明を省略する。
<候補文字列の抽出処理>
図7を参照して、図3に示す(d)の処理シーケンスにおいて、情報処理装置4が文書画像13に含まれる文字列に対応する候補文字列のデータを抽出する処理の流れについて説明する。図7は、第2実施形態に係る情報処理装置4が文書画像13に含まれる文字列に対応する候補文字列のデータを抽出する処理の流れの一例を示すフローチャートである。なお、図7の説明において、記号「S」はステップを意味する。また、図7に示す各ステップの実行プログラムは、例えば、情報処理装置4のROM262、RAM264、又はストレージ265のいずれかに記憶され、情報処理装置4のCPU261によって実行される。また、図7において、図6と同一の符号を付したものについては説明を省略する。
図7を参照して、図3に示す(d)の処理シーケンスにおいて、情報処理装置4が文書画像13に含まれる文字列に対応する候補文字列のデータを抽出する処理の流れについて説明する。図7は、第2実施形態に係る情報処理装置4が文書画像13に含まれる文字列に対応する候補文字列のデータを抽出する処理の流れの一例を示すフローチャートである。なお、図7の説明において、記号「S」はステップを意味する。また、図7に示す各ステップの実行プログラムは、例えば、情報処理装置4のROM262、RAM264、又はストレージ265のいずれかに記憶され、情報処理装置4のCPU261によって実行される。また、図7において、図6と同一の符号を付したものについては説明を省略する。
まず、情報処理装置4は、S601及びS602の処理を順次実行する。S602の後、S701にて、候補抽出部47は、S602にて取得した抽出対象グループ情報に加えて、抽出対象グループの近傍に位置する属性グループ(近傍グループ)の情報(以下「近傍グループ情報」という。)を取得する。ここで、近傍グループに該当するか否かの判定は、例えば、各属性グループの重心位置を算出し、S602にて取得した抽出対象グループの重心位置からの距離が予め定められた閾値内の重心位置を持つ属性グループを近傍グループに該当すると判定すればよい。
図14を参照して、近傍グループについて説明する。図14(a)及び図14(b)は、いずれも、図11(b)と同様に、複数の特徴ベクトルを機械学習によるクラスタリング手法を用いて複数の属性グループにグループ化した様子の一例を示した概念図である。図14(a)及び図14(b)には、複数の属性グループ1401,1402,1403,1404,1405が示されている。具体的には、図14(a)は、図11(b)に示す単一の属性グループ1111が、2つの属性グループ1401,1402に分かれてグループ化された場合を示したものである。なお、図14(a)及び図14(b)において、★により示した位置は、対応する属性グループの重心位置を示している。
ここで、図14(a)及び図14(b)において、属性グループ1402の重心位置から属性グループ1401の重心位置までの距離が閾値の範囲内であるものとして説明する。また、同様に、属性グループ1401及び属性グループ1402の重心位置から属性グループ1403,1404,1405の重心位置までの距離は、いずれも、閾値の範囲外であるものとして説明する。すなわち、属性グループ1401及び属性グループ1402は、互いにそれぞれの近傍グループとなる。例えば、抽出対象グループが属性グループ1402である場合、候補抽出部47は、抽出対象グループである属性グループ1402の情報に加えて、属性グループ1402の近傍に位置する属性グループ1401の情報を近傍グループ情報として取得する。結果として、図14(b)に示すように、候補抽出部47は、属性グループ1401又は属性グループ1402が抽出対象グループである場合に、属性グループ1401と属性グループ1402とを合わせた属性グループ1410の情報を取得することができる。したがって、例えば、クラスタリング手法によるグループ化においてグループの分割の粒度が細か過ぎる場合であっても、近傍グループを考慮することにより、抽出対象グループと同一の属性グループに属さない文字列データの抽出漏れを抑制することができる。
S701の後、情報処理装置4は、S603からS606までの処理を順次実行する。S606にて抽出対象グループと特定属性グループとが同一であると判定された場合、S702にて、候補抽出部47は、S605にて選択した文字列データを、上位候補の候補文字列のデータとして抽出する。S702の後、又は、S606にて抽出対象グループと特定属性グループとが同一でないと判定された場合、S703にて、候補抽出部47は、近傍グループと特定属性グループとが同一であるか否かを判定する。S703にて近傍グループと特定属性グループとが同一であると判定された場合、S704にて、候補抽出部47は、S605にて選択した文字列データを、下位候補の候補文字列のデータとして抽出する。なお、S606にて抽出対象グループと特定属性グループとが同一でないと判定され、S703にて近傍グループと特定属性グループとが同一であると判定された場合、下位候補の候補文字列のデータのみが取得されることになる。この場合、例えば、候補抽出部47は、下位候補の候補文字列のデータを上位候補に繰り上げてもよい。S703の後、又は、S702にて近傍グループと特定属性グループとが同一でないと判定された場合、情報処理装置4は、S608の処理を実行する。
S608にて文字列取得部43により取得された1以上の文字列データのうちの全てがS605にて選択されていないと判定された場合、情報処理装置4は、S605の処理に戻って、S605からS606までを繰り返し実行する。なお、この場合、S605にて、候補抽出部47は、S603にて文字列取得部43により取得された1以上の文字列データのうち、これまでに選択されていない文字列データを選択する。S608にて文字列取得部43により取得された1以上の文字列データのうちの全てがS605にて選択されたと判定された場合、S609にて、候補出力部48は、候補文字列のデータを抽出結果として出力する。具体的には、例えば、候補出力部48は、当該抽出結果を確認画面に含める表示画像を生成し、当該表示画像を表示装置に表示出力する。より具体的には、例えば、候補出力部48は、当該抽出結果を確認画面に含めた表示画像を生成する際に、上位候補の候補文字列のデータが下位候補の候補文字列のデータより上位に表示されるように表示画像を生成する。
以上のように、第2実施形態に係る情報処理装置4によれば、設定された抽出対象グループと同一の属性グループに属する文字列データだけでなく、近傍グループと同一の属性グループに属する文字列データについても候補文字列として抽出できる。すなわち、クラスタリング手法によりグループ化された属性グループの粒度が細かく、所望の抽出対象グループを指定できなかった場合であっても、近傍グループと同一の属性グループに属する文字列データを候補文字列のデータとして抽出できる。したがって、当該場合であっても、候補文字列のデータの抽出漏れを抑制することができる。
[第3実施形態]
図8及び図9並びに図15及び図16を参照して、第3実施形態に係る情報処理システム1(以下、単に「情報処理システム1」という。)について説明する。情報処理システム1の構成は、図1に一例として示す第1実施形態に係る情報処理システム1の構成とに、画像入力装置2、学習装置3、及び情報処理装置4を有する。また、画像入力装置2、学習装置3、及び情報処理装置4は、ネットワーク5を介して、互いに通信可能に接続される。
図8及び図9並びに図15及び図16を参照して、第3実施形態に係る情報処理システム1(以下、単に「情報処理システム1」という。)について説明する。情報処理システム1の構成は、図1に一例として示す第1実施形態に係る情報処理システム1の構成とに、画像入力装置2、学習装置3、及び情報処理装置4を有する。また、画像入力装置2、学習装置3、及び情報処理装置4は、ネットワーク5を介して、互いに通信可能に接続される。
第1及び第2実施形態に係る情報処理装置4は、言語モデルによる文字列の言語的な特徴(以下「言語特徴」という。)のみを用いて、候補文字列のデータを抽出するものであった。これに対して、第3実施形態に係る情報処理装置4(以下、単に「情報処理装置4」という。)は、言語特徴と、文字列の画像的な特徴(以下「画像特徴」という。)とを用いて、類似度の高い候補文字列のデータの優先度を上げて優先して抽出するものである。情報処理装置4は、類似度の低い候補文字列のデータの優先度を下げて抽出してもよい。ここで、画像特徴とは、項目値である文字列と、文書画像13における項目値の文字領域の周辺に現れる項目名等の文字列との間の共起性等の関係性等である。画像特徴は、当該関係性に限定されるものではなく、文書画像13における項目値の文字列の位置を示す位置座標等の相対的な配置情報、又は項目値の文字列の絶対的な大きさを示すサイズ情報等であってもよい。
情報処理装置4の構成は、図2C(a)に一例として示す第1実施形態に係る情報処理装置4の構成に加えて、図2C(a)には不図示の評価部を備える。すなわち、情報処理装置4は、分類器取得部41,処理画像取得部42、文字列取得部43、ベクトル変換部44,属性グループ特定部45、抽出対象設定部46、候補抽出部47、候補出力部48、及び評価部を有する。評価部の詳細については後述する。
また、情報処理装置4において機能する各部の処理は、情報処理装置4に内蔵されたASIC若しくはFPGA等のハードウェア、又は、RAM等のメモリと、CPU等のプロセッサとを用いたソフトウエアによってなされる。具体的には、例えば、情報処理装置4は、図2C(b)に一例として示すコンピュータにより構成される。なお、第3実施形態に係る画像入力装置2(以下、単に「画像入力装置2」という。)及び学習装置3(以下、単に「学習装置3」という。)は、第1又は第2実施形態に係る画像入力装置2及び学習装置3と同様であるため説明を省略する。
<候補文字列の抽出処理>
図8を参照して、図3に示す(d)の処理シーケンスにおいて、情報処理装置4が文書画像13に含まれる文字列に対応する候補文字列のデータを抽出する処理の流れについて説明する。図8は、第3実施形態に係る情報処理装置4が文書画像13に含まれる文字列に対応する候補文字列のデータを抽出する処理の流れの一例を示すフローチャートである。なお、図8の説明において、記号「S」はステップを意味する。また、図8に示す各ステップの実行プログラムは、例えば、情報処理装置4のROM262、RAM264、ストレージ265のいずれかに記憶され、情報処理装置4のCPU261によって実行される。また、図8において、図6を用いて説明したと同一の符号を付したものについては説明を省略する。
図8を参照して、図3に示す(d)の処理シーケンスにおいて、情報処理装置4が文書画像13に含まれる文字列に対応する候補文字列のデータを抽出する処理の流れについて説明する。図8は、第3実施形態に係る情報処理装置4が文書画像13に含まれる文字列に対応する候補文字列のデータを抽出する処理の流れの一例を示すフローチャートである。なお、図8の説明において、記号「S」はステップを意味する。また、図8に示す各ステップの実行プログラムは、例えば、情報処理装置4のROM262、RAM264、ストレージ265のいずれかに記憶され、情報処理装置4のCPU261によって実行される。また、図8において、図6を用いて説明したと同一の符号を付したものについては説明を省略する。
まず、情報処理装置4は、S601からS608までの処理を順次実行する。S608にて文字列取得部43により取得された1以上の文字列データのうちの全てがS605にて選択されたと判定された場合、S801にて、評価部は、S607にて抽出された候補文字列のデータについての画像特徴を用いて妥当性を評価する。なお、S801の処理の詳細については、図9を参照して後述する。S801の後、情報処理装置4は、S609の処理を実行する。具体的には、S609にて、候補出力部48は、S808での評価結果に基づいて、評価部により妥当であると判定された候補文字列のデータを抽出結果として出力する。
<候補文字列の評価処理>
図9を参照して、図8に示すS801の処理について説明する。図9は、図8に示すS801の処理の流れの一例を示すフローチャートである。なお、図9の説明において、記号「S」はステップを意味する。また、図9に示す各ステップの実行プログラムは、例えば、情報処理装置4のROM262、RAM264、ストレージ265のいずれかに記憶され、情報処理装置4のCPU261によって実行される。まず、S901にて、評価部は、S607にて抽出された候補文字列のデータを候補抽出部47から取得する。
図9を参照して、図8に示すS801の処理について説明する。図9は、図8に示すS801の処理の流れの一例を示すフローチャートである。なお、図9の説明において、記号「S」はステップを意味する。また、図9に示す各ステップの実行プログラムは、例えば、情報処理装置4のROM262、RAM264、ストレージ265のいずれかに記憶され、情報処理装置4のCPU261によって実行される。まず、S901にて、評価部は、S607にて抽出された候補文字列のデータを候補抽出部47から取得する。
S901の後、S902にて、評価部は、S901にて取得した候補文字列のデータと、当該候補文字列に対応する文書画像13における文字領域の周辺に位置する文字列のデータとの間の共起性等の関係性を評価するか否かを判定する。ここで、当該評価に関する設定は、当該評価の要否を示すフラグ等により定義されるものであって、初期状態において予め設定されたものであってもよく、図3に示すS306又はS310等にて、ユーザにより設定又は変更されたものあってもよい。S902にて文字列データ同士の関係性を評価すると判定された場合、評価部は、S903からS905までの処理を順次実行し、S902にて文字列データ同士の関係性を評価しないと判定された場合、評価部は、S906の処理を実行する。S902にて文字列データ同士の関係性を評価すると判定された場合、まず、評価部は、S903にて、抽出対象文書に対応する文書画像13においてユーザにより指定された文字列に対応する文字領域の周辺に位置する文字列のデータを取得する。
図15を参照して、文書画像13における文字領域の周辺に位置する文字列について説明する。図15(a)は、図12(a)に示す抽出対象文書に対応する文書画像13において指定された文字列の文字領域の周辺に位置する文字列の一例を説明するための説明図である。図15(b)については後述する。図15(a)に示すように、項目値に対応する文字領域1202の周辺に位置する文字領域1501に対応する文字列のデータを取得する。ここで、文字領域1501は一例であって、S903にて取得される文字列データは、予め、ユーザに指定された項目値に対する項目名が出現する可能性の高い、項目値の文字領域の左側又は上側等に位置する文字列のみであってもよい。また、S903にて取得される文字列データは、項目値の文字領域に隣接する最大5個等の複数の文字列等であってもよい。
S903の後、S904にて、評価部は、S903と同様の手法により、処理対象文書に対応する文書画像13における候補文字列の文字領域の周辺に位置する文字列を取得する。図15(b)は、図13(a)に示す処理対象文書に対応する文書画像13における候補文字列の文字領域の周辺に位置する文字列の一例を説明するための説明図である。図15(b)に示すように、候補文字列の文字領域1302,1303,1304のそれぞれの周辺に位置する文字領域1502,1503,1504,1505のそれぞれに対応する文字列のデータを取得する。ここで、文字領域1502,1503,1504,1505は一例であって、これに限定されるものではない。例えば、S904にて取得される文字列は、予め、項目値に対する項目名が出現する可能性の高い、項目値の文字領域の左側又は上側等に位置する文字列のみであってもよく、項目値の文字領域に隣接する最大5個等の複数の文字列等であってもよい。
S904の後、S905にて、評価部は、S903及びS904にて取得した文字列同士の関係性を比較して評価し、当該文字列同士の類似度を示す類似度スコア(以下「第1類似度スコア」という。)を算出する。ここで、第1類似度スコアの算出方法は、例えば、項目値に対応する項目名と考えられる文字列を、項目値と同様のベクトル化の手法を用いて、特徴ベクトルに変換し、変換した特徴ベクトルのコサイン類似度の最大値を第1類似度スコアとすればよい。S905の後、評価部は、S906の処理を実行する。
S906にて、評価部は、文書画像13全体の画像領域に対する項目値に対応する文字領域の相対的な配置を示す配置情報を評価するか否かを判定する。なお、配置情報は、書画像13全体の画像領域における予め定められた点を原点とし、主走査方向をX軸、副走査方向をY軸とする位置座標等からなる。ここで、当該評価に関する設定は、当該評価の要否を示すフラグ等により定義されるものであって、初期状態において予め設定されたものであってもよく、図3に示すS306又はS310等にて、ユーザにより設定又は変更されたものあってもよい。S906にて配置情報を評価すると判定された場合、評価部は、S907からS909までの処理を順次実行し、S906にて配置情報を評価しないと判定された場合、評価部は、S910の処理を順次実行する。
S906にて配置情報を評価すると判定された場合、S907にて、評価部は、抽出対象文書に対応する文書画像13においてユーザにより指定された文字列に対応する文字領域の配置情報を取得する。具体的には、評価部は、文書画像13全体の画像領域に対する当該文字領域の相対的な配置を示す配置情報を取得する。より具体的には、例えば、評価部は、文書画像13の幅(例えばX軸方向の長さ)及び高さ(例えばY軸方向の長さ)により示される画像サイズに対する、当該文字領域の相対的な位置を示す情報を配置情報として算出して取得する。S907の後、S908にて、評価部は、S907の処理と同様の手法を用いて、処理対象文書に対応する文書画像13に含まれる候補文字列についての、当該文書画像13の画像領域に対する配置情報を取得する。
図16(a)を参照して、文書画像13全体の画像領域に対する文書画像13に含まれる文字列に対応する文字領域の相対的な配置について説明する。図16(a)は、抽出対象文書に対応する文書画像1201及び処理対象文書に対応する文書画像1301のそれぞれに含まれる文字列に対応する文字領域の、文書画像13の画像領域に対する配置の一例について説明するための説明図である。図16(a)に示すように、評価部は、抽出対象文書に対応する文章画像1201全体の画像領域に対する、文章画像1201においてユーザにより指定された文字列1601に対応する文字領域の配置情報(X0,Y0)を取得する。同様に、評価部は、処理対象文書に対応する文章画像1301全体の画像領域に対する、文章画像1301に含まれる候補文字列1602,1603,1604に対応する文字領域の配置情報(X1,Y1),(X2,Y2),(X3,Y3)を取得する。
S908の後、S909にて、評価部は、S907及びS908にて取得した配置情報同士の類似度を比較して評価し、類似度スコア(以下「第2類似度スコア」という。)を算出する。ここで、第2類似度スコアは、例えば、以下のような方法により算出する。まず、S907にて取得した配置情報を、X軸及びY軸において、文書画像1201の画像サイズで除することにより第1の位置座標ベクトルを算出する。次に、S908にて取得した配置情報を、X軸及びY軸において、文書画像1301の画像サイズで除することにより第2の位置座標ベクトルを算出する。さらに、第1の位置座標ベクトルと第2の位置座標ベクトルとのコサイン類似度を第2類似度スコアとして算出する。S909の後、評価部は、S910の処理を実行する。
S910にて、評価部は、項目値に対応する文字領域の絶対的なサイズを示す情報(以下「サイズ情報」という。)を評価するか否かを判定する。なお、サイズ情報とは、例えば、文字領域の幅、すなわち、X軸方向の長さを示す情報、及び、文字領域の高さ、すなわち、Y軸方向の長さを示す情報からなる。ここで、当該評価に関する設定は、当該評価の要否を示すフラグ等により定義されるものであって、初期状態において予め設定されたものであってもよく、図3に示すS306又はS310等にて、ユーザにより設定又は変更されたものあってもよい。S910にてサイズ情報を評価すると判断された場合、評価部は、S911からS913までの処理を実行し、S910にてサイズ情報を評価しないと判断された場合、評価部は、S914の処理を実行する。
S910にてサイズ情報を評価すると判断された場合、S911にて、評価部は、抽出対象文書に対応する文書画像1201においてユーザにより指定された文字列に対応する文字領域のサイズ情報を取得する。具体的には、例えば、評価部は、周知のブロックセレクション技術を用いて特定された文字領域についての、主走査方向(X軸方向)及び副走査方向(Y軸方向)のそれぞれにおける画素数を取得する。S911の後、S912にて、評価部は、S911の処理と同様の手法を用いて処理対象文書に対応する文書画像1201に含まれる候補文字列に対応する文字領域のサイズ情報を取得する。
図16(b)を参照して、文字領域のサイズについて説明する。図16(b)は、S911又はS912にて取得した、文字領域のサイズの一例を説明するための説明図である。図16(b)に示すように、評価部は、抽出対象文書に対応する文書画像1201にてユーザにより指定された文字列1601の文字領域における、主走査方向の画素数1631及び副走査方向の画素数1621を取得する。同様に、評価部は処理対象文書に対応する文書画像1301に含まれる候補文字列1602,1603,1604に対応する文字領域における、主走査方向の画素数1632,1633,1634及び副走査方向の画素数1622,1623,1624を取得する。
S912の後、S913にて、評価部は、S911にて取得したサイズ情報とS912にて取得した各サイズ情報との間の類似度を比較して評価し、類似度スコア(以下「第3類似度スコア」という。)を算出する。ここで、第3類似度スコアの算出方法は、例えば、文字列のサイズ同士が一致した場合を1とし、文字列のサイズ同士の差が大きくなるにつれて0に近づくような、負の相関を持つ関数により定義した値を算出するようにすればよい。S913の後、評価部は、S914の処理を実行する。
S914にて、評価部は、S905、S909、及びS913にて算出した第1、第2、及び第3類似度スコアのうちの少なくともいずれを用いて候補文字列の妥当性を評価する。以下、評価部は、S第1、第2、及び第3類似度スコアを算出し、且つ、第1、第2、及び第3類似度スコアの全てを用いて候補文字列の妥当性を評価するものとして説明する。ここで、第1、第2、及び第3類似度スコアのそれぞれは、互いに異なる尺度により算出された評価値である。そのため、評価部は、例えば、各類似度スコアに、対応する重みづけの係数を乗じた合計値(=係数1×第1類似度スコア+係数2×第2類似度スコア+係数3×第3類似度スコア)を算出し、当該合計値を用いて、類似度を評価してもよい。
S914の後、S915にて、評価部は、各候補文字列に対応する類似度が予め定められた閾値未満であるか否かを判定する。S915にて類似度が閾値未満であると判定された場合、S916にて、評価部は、類似度が閾値未満であると判定された候補文字列について、S607にて抽出された候補文字列のうちから除外する。評価部は、類似度が閾値未満であると判定された候補文字列について、その優先順位を下げるように設定を行ってもよい。S916の後、又は、S915にて類似度が閾値未満でないと判定された場合、評価部は、図9に示すフローチャートの処理を終了する。
以上のように、第3実施形態に係る情報処理装置4によれば、言語特徴だけでは候補文字列の絞り込みが困難な場合であっても、言語特徴と画像特徴とを組み合わせることにより、類似度が高い結果を優先するように候補文字列の絞り込みを行うことができる。
[その他の実施形態]
本開示は、上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本開示は、上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、本開示はその開示の範囲内において、各実施形態の自由な組み合わせ、各実施形態の任意の構成要素の変形、又は、各実施形態において任意の構成要素の省略が可能である。
4 情報処理装置
45 属性グループ特定部
47 候補抽出部
48 候補出力部
45 属性グループ特定部
47 候補抽出部
48 候補出力部
Claims (19)
- 処理対象の文書画像に含まれる複数の文字列の中から、予め定められた項目に対応する項目値の候補となる1以上の候補文字列を抽出する情報処理装置であって、
予め定められた複数の属性グループのうちの予め設定された抽出対象の属性グループの情報を取得する抽出対象取得手段と、
前記複数の文字列のそれぞれに対応する特徴ベクトルに基づいて、前記複数の属性グループの中のから前記複数の文字列のそれぞれが属する属性グループを特定し、前記複数の文字列の中から、前記特定した属性グループが前記抽出対象の属性グループと同一となった文字列を候補文字列として抽出する候補抽出手段と、
前記候補抽出手段により抽出された前記候補文字列を出力する候補出力手段と、
を有すること
を特徴とする情報処理装置。 - 文字列のデータを特徴ベクトルに変換するベクトル変換手段、
を更に有し、
前記候補抽出手段は、前記ベクトル変換手段により変換された前記複数の文字列のそれぞれに対応する前記特徴ベクトルに基づいて、前記複数の文字列のそれぞれが属する前記属性グループを特定すること
を特徴する請求項1に記載の情報処理装置。 - 前記候補抽出手段は、入力された文字列が前記複数の属性グループの中のいずれかに分類する分類器を用いて、前記複数の文字列のそれぞれが属する前記属性グループを特定すること
を特徴する請求項1又は請求項2に記載の情報処理装置。 - 前記分類器は、前記処理対象の文書画像とは異なる複数の文書画像に含まれる文字列のそれぞれを学習用データとする機械学習により生成された学習済モデルに基づいて生成されたものであること
を特徴する請求項3に記載の情報処理装置。 - 前記分類器は、前記複数の文書画像に含まれる文字列のそれぞれを特徴ベクトルに変換し、変換した複数の前記特徴ベクトルを学習用データとする機械学習により生成された学習済モデルに基づいて生成されたものでものであること
を特徴する請求項3に記載の情報処理装置。 - 前記候補抽出手段は、
前記抽出対象の属性グループの近傍に位置する属性グループである近傍グループを示す情報を取得し、
前記特定した属性グループが前記抽出対象の属性グループと同一となった前記文字列に加えて、前記複数の文字列の中から、前記特定した属性グループが前記近傍グループと同一となった文字列についても前記候補文字列として抽出すること
を特徴する請求項1乃至5のいずれか1項に記載の情報処理装置。 - 前記候補抽出手段は、前記複数の属性グループのそれぞれの重心位置を算出し、前記複数の属性グループの中から、前記抽出対象の属性グループの重心位置から予め定められた閾値の範囲内に重心位置を有する持つ属性グループを前記近傍グループとすること
を特徴する請求項6に記載の情報処理装置。 - 前記抽出対象の属性グループを設定する抽出対象設定手段、
を更に有し、
前記抽出対象設定手段は、前記処理対象の文書画像とは異なる文書画像に含まれる1以上の第2の文字列の中から指定された文字列に対応する前記特徴ベクトルに基づいて、前記複数の属性グループの中から前記指定された文字列が属する属性グループを特定し、前記特定した前記指定された文字列が属する属性グループを前記抽出対象の属性グループとして設定し、
抽出対象取得手段は、前記抽出対象設定手段により設定された前記抽出対象の属性グループを示す情報を取得すること
を特徴する請求項1乃至7のいずれか1項に記載の情報処理装置。 - 文字列のデータを特徴ベクトルに変換するベクトル変換手段、
を更に有し、
前記ベクトル変換手段は、前記抽出対象の属性グループを設定するために用いる文書画像に含まれる前記1以上の第2の文字列のうちの指定された前記第2の文字列を前記特徴ベクトルに変換し、
前記抽出対象設定手段は、前記ベクトル変換手段により変換された前記指定された文字列に対応する前記特徴ベクトルに基づいて、前記指定された文字列が属する前記属性グループを特定すること
を特徴する請求項8に記載の情報処理装置。 - 前記抽出対象設定手段は、入力された文字列が前記複数の属性グループの中のいずれかに分類する分類器を用いて、前記指定された文字列が属する前記属性グループを特定すること
を特徴する請求項8又は請求項9に記載の情報処理装置。 - 前記分類器は、前記処理対象の文書画像とは異なる複数の文書画像に含まれる文字列のそれぞれを学習用データとする機械学習により生成された学習済モデルに基づいて生成されたものであること
を特徴する請求項10に記載の情報処理装置。 - 前記分類器は、前記複数の文書画像に含まれる文字列のそれぞれを特徴ベクトルに変換し、変換した複数の前記特徴ベクトルを学習用データとする機械学習により生成された学習済モデルに基づいて生成されたものでものであること
を特徴する請求項10に記載の情報処理装置。 - 前記候補抽出手段により抽出された1以上の前記候補文字列のそれぞれの画像特徴と、前記指定された文字列の画像特徴とを比較して、文字列同士の類似度を算出する評価手段
を更に有し、
前記評価手段は、算出した前記類似度が高い前記候補文字列の優先度を上げ、
前記候補出力手段は、前記候補抽出手段により抽出された1以上の前記候補文字列のうち、優先度の高い前記候補文字列を優先して出力すること
を特徴する請求項8乃至12のいずれか1項に記載の情報処理装置。 - 前記評価手段は、前記類似度が低い前記候補文字列の優先度を下げること
を特徴する請求項13に記載の情報処理装置。 - 前記評価手段は、
前記候補抽出手段により抽出された1以上の前記候補文字列のそれぞれについて、前記候補文字列と、前記複数の文字列の中の、前記処理対象の文書画像における前記候補文字列の周辺に位置する文字列との間の第1の関係性を示す情報を取得し、
前記指定された文字列と、前記処理対象の文書画像とは異なる文書画像に含まれる文字列の中の、前記処理対象の文書画像とは異なる文書画像における前記指定された文字列の周辺に位置する文字列との間の第2の関係性を示す情報を取得し、
前記候補文字列毎に、前記第1の関係性と前記第2の関係性とを比較して、文字列同士の類似度を第1の類似度として算出し、
前記第1の類似度に基づいて前記候補文字列のそれぞれの優先度を変更すること
を特徴する請求項13又は請求項14に記載の情報処理装置。 - 前記評価手段は、
前記候補抽出手段により抽出された1以上の前記候補文字列のそれぞれについて、前記処理対象の文書画像における前記候補文字列の位置を示す情報を取得し、
前記処理対象の文書画像とは異なる文書画像における前記指定された文字列の位置を示す情報を取得し、
前記候補文字列毎に、前記候補文字列の位置と前記指定された第2の文字列の位置とを比較して、文字列同士の類似度を第2の類似度として算出し、
前記第2の類似度に基づいて前記候補文字列のそれぞれの優先度を変更すること
を特徴する請求項13乃至15のいずれか1項に記載の情報処理装置。 - 前記評価手段は、
前記候補抽出手段により抽出された1以上の前記候補文字列のそれぞれについて、前記候補文字列のサイズを示す情報を取得し、
前記指定された文字列のサイズを示す情報を取得し、
前記候補文字列毎に、前記候補文字列のサイズと前記指定された第2の文字列のサイズとを比較して、文字列同士の類似度を第3の類似度として算出し、
前記第3の類似度に基づいて前記候補文字列のそれぞれの優先度を変更すること
を特徴する請求項13乃至16のいずれか1項に記載の情報処理装置。 - コンピュータを、請求項1乃至17のいずれか1項に記載の情報処理装置を構成する各手段として動作させるためのプログラム。
- 処理対象の文書画像に含まれる複数の文字列の中から、予め定められた項目に対応する項目値の候補となる1以上の候補文字列を抽出する情報処理方法であって、
予め定められた複数の属性グループのうちの予め設定された抽出対象の属性グループの情報を取得する抽出対象取得工程と、
前記複数の文字列のそれぞれに対応する特徴ベクトルに基づいて、前記複数の属性グループの中のから前記複数の文字列のそれぞれが属する属性グループを特定し、前記複数の文字列の中から、前記特定した属性グループが前記抽出対象の属性グループと同一となった文字列を候補文字列として抽出する候補抽出工程と、
前記候補抽出工程により抽出された前記候補文字列を出力する候補出力工程と、
を有すること
を特徴とする情報処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021148491A JP2023041243A (ja) | 2021-09-13 | 2021-09-13 | 情報処理装置、情報処理方法、及びプログラム |
US17/940,127 US20230077608A1 (en) | 2021-09-13 | 2022-09-08 | Information processing apparatus, information processing method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021148491A JP2023041243A (ja) | 2021-09-13 | 2021-09-13 | 情報処理装置、情報処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023041243A true JP2023041243A (ja) | 2023-03-24 |
Family
ID=85479809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021148491A Pending JP2023041243A (ja) | 2021-09-13 | 2021-09-13 | 情報処理装置、情報処理方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230077608A1 (ja) |
JP (1) | JP2023041243A (ja) |
-
2021
- 2021-09-13 JP JP2021148491A patent/JP2023041243A/ja active Pending
-
2022
- 2022-09-08 US US17/940,127 patent/US20230077608A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230077608A1 (en) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5223284B2 (ja) | 情報検索装置、方法およびプログラム | |
JP4181892B2 (ja) | 画像処理方法 | |
US8429154B2 (en) | Document search device, imaging forming apparatus, and document search system | |
CN108132762B (zh) | 图像处理装置以及图像形成装置 | |
JP2007264992A (ja) | 文書検索装置、文書検索方法、および文書検索プログラム | |
JP2008234658A (ja) | テキスト検索エンジンにより検索されたページ番号付き文書全体を通してのコースツーファイン・ナビゲーション | |
JP4502385B2 (ja) | 画像処理装置およびその制御方法 | |
US11243670B2 (en) | Information processing system, information processing apparatus, information processing method and non-transitory computer readable medium | |
JP2006350664A (ja) | 文書処理装置 | |
JP2009193356A (ja) | 画像処理装置、画像処理方法、プログラム、及び記憶媒体 | |
US9881001B2 (en) | Image processing device, image processing method and non-transitory computer readable recording medium | |
US20150169510A1 (en) | Method and system of extracting structured data from a document | |
JP2016062452A (ja) | 情報処理装置およびプログラム | |
JP5188260B2 (ja) | 画像処理装置、画像処理方法ならびにそのプログラムおよび記憶媒体 | |
JP2006093917A (ja) | 画像読取装置および画像処理装置、画像形成装置 | |
JP2023041243A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP7317612B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6601143B2 (ja) | 印刷装置 | |
JP2008257543A (ja) | 画像処理システム及びプログラム | |
US20230083959A1 (en) | Information processing apparatus, information processing method, storage medium, and learning apparatus | |
JP4797507B2 (ja) | 翻訳装置、翻訳システムおよびプログラム | |
JP2007048061A (ja) | 文字処理装置、文字処理方法及び記録媒体 | |
JP2004334340A (ja) | 画像処理方法及び装置 | |
JP4323856B2 (ja) | 画像処理方法 | |
JP6281739B2 (ja) | 処理装置及びプログラム |