JP2023002090A - 情報処理システム、表示制御方法及びプログラム - Google Patents

情報処理システム、表示制御方法及びプログラム Download PDF

Info

Publication number
JP2023002090A
JP2023002090A JP2021103108A JP2021103108A JP2023002090A JP 2023002090 A JP2023002090 A JP 2023002090A JP 2021103108 A JP2021103108 A JP 2021103108A JP 2021103108 A JP2021103108 A JP 2021103108A JP 2023002090 A JP2023002090 A JP 2023002090A
Authority
JP
Japan
Prior art keywords
character string
font
printed
image
width
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
Application number
JP2021103108A
Other languages
English (en)
Inventor
楊 李
Yang Li
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PFU Ltd
Original Assignee
PFU Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by PFU Ltd filed Critical PFU Ltd
Priority to JP2021103108A priority Critical patent/JP2023002090A/ja
Publication of JP2023002090A publication Critical patent/JP2023002090A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Character Discrimination (AREA)

Abstract

【課題】文字認識によって得られた文字列についての確認や修正の作業の効率化を図った情報処理システム、表示制御方法及びプログラムを提供する。【解決手段】ネットワークに接続されることで互いに通信可能な1又は複数の情報処理装置、文書読取装置及びサーバーを備える情報処理システムにおいて、情報処理装置1は、文書画像内の活字文字列についての文字列認識結果である認識文字列を取得する認識結果取得部22と、文書画像内の活字文字列を解析し、該活字文字列のフォントを判別する解析部24と、認識文字列を、文書画像内の前記活字文字列の画像と並列に、且つ、判別された活字文字列のフォントで表示装置に表示させる表示制御部25とを備える。【選択図】図2

Description

本開示は、文字認識によって得られた文字列の表示を制御するための技術に関する。
従来、帳票上の文字を文字読み取り部によって読み取る際に、その各文字の帳票上の文字位置と文字サイズとを同時に識別し、文字認識結果と文字位置や文字サイズに関する情報を利用して、表示部に元の帳票に近似するような画像を認識結果として表示する方法が提案されている(特許文献1を参照)。
また、尤度水準一時記憶部の尤度水準以上の尤度を有する候補文字コードの組み合わせから、文法的に解釈可能な補正結果を生成し、所定数の認識列に対して補正結果が生成される毎に、補正結果の第1候補をディスプレイに表示し、オペレータによる修正後の補正結果と、最も尤度の高い候補文字コードからなる同一認識列とを比較することで算出された文字認識の精度が精度水準一時記憶部の精度水準より低ければ、尤度水準一時記憶部内の尤度の基準値を変更する方法が提案されている(特許文献2を参照)。
また、回転文字を手書き入力した場合に、その入力文字を認識しやすいサイズに正規化し、その際に元のサイズを記憶しておき、入力文字の回転角度を判定し、上記正規化した入力文字を認識可能な形に回転させ、回転させた入力文字を認識対象として文字認識した認識結果を出力する装置であって、変形出力モードであれば、認識結果として得られた認識文字を入力時の大きさに変換し、入力時の角度に回転させて出力する装置が提案されている(特許文献3を参照)。
また、文字が記入される文字枠を有する画像を取得し、取得される画像の中から文字枠の特徴情報を設定し、設定された文字枠の特徴情報から文字枠の種類を特定する装置が提案されている(特許文献4を参照)。
更に、基準文字を構成する輪郭の周波数成分を保持し、画像に含まれる判別対象文字を構成する輪郭を抽出し、抽出された輪郭の周波数成分を解析し、解析された判別対象文字を構成する輪郭の周波数成分と、保持されている基準文字を構成する輪郭の周波数成分とを比較し、比較結果に基づいて、画像に含まれる判別対象文字を認識する装置が提案されている(特許文献5を参照)。
特開平07-049925号公報 特開平08-263587号公報 特開平09-044596号公報 特開2016-184359号公報 国際公開第2014/091638号
従来、帳票等の文書に記載されている内容をシステム等に入力するデータエントリー業務(以下、「エントリー業務」と称する)を行う際、文書をOCR(Optical Character Recognition、光学文字認識)により読み取ることで、効率良くエントリー業務が行われている。しかし、OCRによる文字認識では、実際の文字と一致しない場合や文字を判別できない場合等があるため、ユーザは、認識対象である文字列(画像)を文字認識することで得られた文字列認識結果について、確認作業や修正作業を行う必要があった。
文字列認識結果の正誤確認を行う際、ユーザは、認識対象である文字列の画像(文字列画像)とその画像に対する文字列認識結果とを見比べながら確認を行うため、文字列画像と文字列認識結果とが、画面上で並べて表示されることが一般的である。しかし、文字列認識結果は、画面に表示される際、予め設定された特定のフォントで表示されることが多く、文字列画像と文字列認識結果との間でフォントに差異が生じる場合があった。そのため、文字列認識結果の確認/修正作業において、フォントの差異に起因した確認ミスや手間が生じる等、効率良く作業を行うことが困難な場合があった。
本開示は、上記した問題に鑑み、文字認識によって得られた文字列についての確認や修正の作業の効率化を図ることを課題とする。
本開示の一例は、文書画像内の活字文字列についての文字列認識結果である認識文字列を取得する認識結果取得手段と、前記文書画像内の前記活字文字列を解析し、該活字文字列のフォントを判別する解析手段と、前記認識文字列を、前記文書画像内の前記活字文字列の画像と並列に、且つ、判別された前記活字文字列のフォントで表示装置に表示させる表示制御手段と、を備える情報処理システムである。
本開示は、情報処理装置、システム、コンピュータによって実行される方法またはコンピュータに実行させるプログラムとして把握することが可能である。また、本開示は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的又は化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
本開示によれば、文字認識によって得られた文字列についての確認や修正の作業の効率化を図ることが可能となる。
実施形態に係る情報処理システムの構成を示す概略図である。 実施形態に係る情報処理装置の機能構成の概略を示す図である。 実施形態に係る等幅フォントとプロポーショナルフォントの例を示す図である。 実施形態に係る等幅フォントか否かの判別例(1)を示す図である。 実施形態に係る等幅フォントか否かの判別例(2)を示す図である。 実施形態に係る等幅フォントか否かの判別例(3)を示す図である。 実施形態に係る文字列画像及び認識文字列の表示例を示す図である。 実施形態に係る文字列画像の余白による文字位置のずれの例を示す図である。 実施形態に係るサーバーの機能構成の概略を示す図である。 実施形態に係る文字学習済みモデルの例を示す図である。 実施形態に係るフォント学習済みモデルの例を示す図である。 実施形態に係る表示処理の流れの概要を示すフローチャートである。 実施形態に係るフォント判別処理の流れの概要を示すフローチャートである。 実施形態に係る等幅フォントか否かの判別処理の流れの概要を示すフローチャート(1)である。 実施形態に係る等幅フォントか否かの判別処理の流れの概要を示すフローチャート(2)である。 実施形態に係る表示(表示制御)処理の流れの概要を示すフローチャートである。 従来の文字列画像及び認識文字列の表示例を示す図である。
以下、本開示に係る情報処理システム、方法及びプログラムの実施の形態を、図面に基づいて説明する。但し、以下に説明する実施の形態は、実施形態を例示するものであって、本開示に係る情報処理システム、方法及びプログラムを以下に説明する具体的構成に限定するものではない。実施にあたっては、実施の態様に応じた具体的構成が適宜採用され、また、種々の改良や変形が行われてよい。
本実施形態では、本開示に係る情報処理システム、方法及びプログラムを、OCRにより文字認識された帳票に係る文字列認識結果を確認、修正するシステムにおいて実施した場合の実施の形態について説明する。但し、本開示に係る情報処理システム、方法及びプログラムは、文字列認識結果の表示を制御するための技術について広く用いることが可能であり、本開示の適用対象は、実施形態において示した例に限定されない。
<システムの構成>
図1は、本実施形態に係る情報処理システム9の構成を示す概略図である。本実施形態に係る情報処理システム9は、ネットワークに接続されることで互いに通信可能な1又は複数の情報処理装置1、文書読取装置2及びサーバー3を備える。ユーザは、情報処理装置1を用いて、エントリー業務(文字列認識結果の確認及び修正作業)を行う。以下、文書画像内の文字列についての文字列認識結果であるテキスト文字列を、「認識文字列」と称する。
情報処理装置1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、EEPROM(Electrically Erasable and Programmable Read Only Memory)やHDD(Hard Disk Drive)等の記憶装置14、NIC(Network Interface Card)等の通信ユニット15、キーボードやタッチパネル等の入力装置16及びディスプレイ等の出力装置17、等を備えるコンピュータである。但し、情報処理装置1の具体的なハードウェア構成に関しては、実施の態様に応じて適宜省略や置換、追加が可能である。また、情報処理装置1は、単一の筐体からなる装置に限定されない。情報処理装置1は、所謂クラウドや分散コンピューティングの技術等を用いた、複数の装置によって実現されてよい。
情報処理装置1は、文書読取装置2から帳票等の文書についての文書画像(スキャン画像等の画像データ)を取得し、文書画像に対して文字認識を行うことで、文書画像内の活字文字列についての認識文字列を取得し、結果をユーザが視認可能なよう、確認/修正画面に表示する。この際、文字列画像と当該文字列画像に対する認識文字列とが並列に表示されることで、エントリー業務を行うユーザは、文字列画像と認識文字列とを比較しながら、認識文字列についての正誤確認の作業を行うことが可能である。
文書読取装置2は、紙媒体の帳票等の文書を光学的に読み取ることで画像(文書画像)を取得する装置である。文書読取装置2は、文書を読み取り、読み取られた文書の画像を情報処理装置1に送信する機能を備えるスキャナや複合機等に例示される。なお、文書読取装置2は、情報処理装置1に送信する機能を備える装置に限定されるものではなく、デジタルカメラやスマートフォン等の撮像装置であってもよい。また、文書読取装置2は、文書画像を取得可能であればよく、文字認識(OCR)機能を備えなくてもよい。
サーバー3は、CPU31、ROM32、RAM33、記憶装置34、及び通信ユニット35を備えるコンピュータである。サーバー3では、後述する、文書画像内の活字文字列のフォントを判別するために用いられるフォント学習済みモデルが生成される。情報処理装置1は、サーバー3において生成されたフォント学習済みモデルを取得することで、フォント学習済みモデルを保持する。なお、情報処理装置1は、フォント学習済みモデルを、サーバー3から直接送信されることで取得してもよいし、他の装置や記録媒体等を介して取得してもよい。
従来、一般的なOCRソフトウェア/サービスでは、文字列画像(文書画像内の認識対象である活字文字列を含む領域)と、その文字列画像を認識した結果である認識文字列とが上下に並べて表示されるよう設定されている(書字方向が横書きの場合)。しかし、上述の通り、認識文字列は、予め設定された特定のフォント(固定フォント)で表示されることが多く、文字列画像と認識文字列との間でフォントに差異が生じる場合があった。
この場合、フォントの差異により、文字列画像と認識文字列との間で、対応する文字同士の文字の表示位置(文字位置)に横方向のずれが生じてしまう場合があった。例えば、一方のフォントが、各文字が占有する幅(領域)の大きさが等しい等幅フォントであり、他方のフォントが、各文字が占有する幅(領域)の大きさが等しくない(可変である)プロポーショナルフォントの場合、対応する文字同士の文字位置にずれが生じてしまう場合があった(例えば、MS明朝とMS P明朝、等)。また、例えば、等幅フォントか否かの差異はないものの、フォント(書体のデザイン(形状))の差異により、対応する文字同士の文字位置にずれが生じてしまう場合があった(例えば、HGP行書体とMS P明朝、等)。
図17は、従来の文字列画像及び認識文字列の表示例を示す図である。図17では、帳票項目「住所」に係る画像(文字列画像)における活字文字列のフォントがMS P明朝であり、認識文字列(OCR結果)のフォントがMSゴシックである例を示す。図17において、文字列画像における文字列「石川県かほく市宇野気ヌ98-2」と、認識文字列「石川県かほく市宇野気ヌ98-2」は、同一のフォントサイズで表示されている。図17に示されるように、文字列画像及び認識文字列は、同一フォントサイズであるにも関わらず、両者のフォントに差異があることから、対応する文字同士の位置に横方向のずれが生じている。例えば、文字列画像中の「ヌ」の字と、その画像を認識した結果である「ヌ」の字の表示位置に、横方向のずれが生じている。
このように、対応する文字同士の文字位置が異なる場合、ユーザは、確認/修正作業の際、視線を移動させて文字同士の比較を行うことになり、必要以上に時間がかかってしまう、確認ミスが起きやすい、等の問題があった。この問題は、書字方向が縦書きで、文字列画像と認識文字列とが左右に並べて表示される場合にも、同様に生じうる。
また、請求書や注文書など、企業間の取引に使用される証憑の場合、取引先の企業側で帳票が作成されるため、帳票に使用されるフォントが企業毎に異なることが多い。そのため、取引先が多くなると、認識文字列の表示に対して、最適なフォントを事前に設定しておくという対応が困難となり、上記問題を解消することが困難であった。
そこで、本実施形態に係る情報処理システム9(情報処理装置1)では、フォント学習済みモデルを用いて文書画像内の活字文字列のフォントを判別し、当該活字文字列についての認識文字列を、文字列画像と並列に(横書きの場合は上下に、縦書きの場合は左右に並べて)、かつ、判別した当該活字文字列のフォントで表示する。これより、上述した文字位置のずれが改善され、視線の移動が減ることによる、確認/修正作業に要する時間の短縮(手間の削減)及び確認ミス(誤字、脱字の確認漏れ等)の削減を実現している。また、フォント(書体のデザイン(形状))を一致させることで、文字列画像と認識文字列との比較を容易に行うことを実現している。
図2は、本実施形態に係る情報処理装置1の機能構成の概略を示す図である。情報処理装置1は、記憶装置14に記録されているプログラムが、RAM13に読み出され、CPU11によって実行されて、情報処理装置1に備えられた各ハードウェアが制御されることで、画像取得部21、認識結果取得部22、モデル保持部23、解析部24及び表示制御部25を備える装置として機能する。なお、本実施形態及び後述する他の実施形態では、情報処理装置1の備える各機能は、汎用プロセッサであるCPU11によって実行されるが、これらの機能の一部又は全部は、1又は複数の専用プロセッサによって実行されてもよい。また、情報処理装置1が備える各機能部は、単一の筐体からなる装置(1の装置)に実装されるものに限定されず、遠隔に及び/又は分散して(例えば、クラウド上に)実装されてもよい。
画像取得部21は、文書読取装置2から、活字文字列を含む文書画像を取得する。本実施形態では、文書画像として、各帳票項目について活字文字列が入力された帳票の画像を取得する場合について例示する。具体的には、所定の項目(帳票項目)についての入力欄に、入力すべき内容(文字列)が活字で入力された帳票の画像を取得する場合について例示する。本実施形態では、帳票の一例として、所定の帳票項目である「住所」についての入力欄に、活字文字列である「石川県かほく市宇野気ヌ98-2」が入力された帳票について例示する。また、画像取得部21は、帳票画像から、文字認識(OCR)の対象となる帳票項目毎の読取領域を切り出した画像である項目画像を取得する。例えば、画像取得部21は、帳票項目「住所」についての入力欄内の領域がOCRによる読取領域となり、この読取領域を切り出すことで、項目画像を取得する。
なお、文書画像は帳票画像に限定されるものではなく、活字文字列を含む文書画像であればよい。なお、本実施形態において、文字列とは、1以上の文字からなる列(文字の連なり)であり、文字には、平仮名、片仮名、漢字、アルファベット、数字、記号等を含む。また、文書画像は、TIFF、JPEG、PNG等の画像フォーマットに従った電子データ(画像データ)に限らず、PDFフォーマットに従った電子データであってもよい。そのため、文書画像は、例えば、事後的に原稿をスキャンしてPDF化することで得られる電子データ(PDFファイル)や、当初からPDFファイルとして作成された電子データであってもよい。
本実施形態では、画像取得部21は、文書読取装置2から文書画像を取得するが、これに限定されるものではない。例えば、画像取得部21は、USB(Universal Serial Bus)ポートやSDメモリーカード(Secure Digital memory card)スロット等を介して、デジタルカメラおよびスマートフォンにより撮影された撮影画像やJPEG、PNG等の画像ファイルを読み込むことで、文書画像を取得するようにしてもよい。また、画像取得部21は、記憶装置14から、予め記憶された文書画像や項目画像を取得するようにしてもよい。この場合、本実施形態に係る情報処理システム9は、文書読取装置2を必ずしも備えなくてよい。
認識結果取得部22は、文書画像(項目画像)内の活字文字列を文字認識することによって得られる認識文字列(文字列認識結果)を取得する。本実施形態では、帳票画像内の、各帳票項目について入力された活字文字列に対する認識結果を取得する場合について例示する。認識結果取得部22は、帳票画像内の、帳票項目についての活字文字列を含む領域(項目画像)に対してOCR処理を行うことで、帳票画像内の帳票項目についての活字文字列についての認識結果(認識文字列)を取得する。本実施形態では、帳票画像内の、帳票項目「住所」についての入力欄に記載された活字文字列「石川県かほく市宇野気ヌ98-2」を含む領域に対してOCR処理を行うことで、帳票画像内の当該活字文字列についての認識文字列を取得する場合について例示する。
なお、本実施形態における帳票は、定型帳票、準定型帳票及び非定型帳票のうち、いずれの帳票であってもよい。例えば、定型帳票の場合は、OCRによる帳票上の読み取り位置や項目(帳票項目)など、帳票画像を認識する際に用いられる情報が帳票定義データに定義される。この場合、認識結果取得部22は、帳票定義データに定義された認識対象領域(読取領域)を対象にOCR処理を行うことで、各帳票項目についての活字文字列に対する認識文字列を取得する。また、認識結果取得部22により実行される文字認識(OCR)処理は、AI(Artificial Intelligence)を用いた文字認識処理であってもよい。
なお、本実施形態では、認識結果取得部22は、OCR処理を行うことで認識文字列を取得するが、これに限定されるものではない。例えば、認識結果取得部22は、OCR処理を行う文字認識装置等の他の装置から、ネットワークを介して、文書に入力(記載)された文字を文字認識した結果である文書データ(帳票データ)を取得することで、認識文字列を取得するようにしてもよい。例えば、認識結果取得部22は、読み取り対象である帳票と同様のフォーマットにより構成される帳票データを取得し、取得した帳票データから、各活字文字列についての認識文字列を取得する。具体的には、認識結果取得部22は、例えば、帳票データが、帳票項目名や帳票項目毎に割り振られた項目コードと、認識結果とが対応づく形で構成されている場合、帳票項目名や項目コード等に基づき帳票データ内を検索することで、帳票項目に対する入力内容(活字文字列)についての認識文字列を取得する。
なお、文書データは、OCRを用いて読み取った認識文字列を含むデータであればよく、フォーマットは任意である。また、認識結果取得部22は、USBポートやSDメモリーカードスロット等を介して、又は、記憶装置14から、文書データ(認識文字列)を取得するようにしてもよい。
モデル保持部23は、モデル生成部42により生成された、文書画像に含まれる活字文字列のフォントを認識(判別)するために用いられるフォント学習済みモデルを保持(記憶)する。フォント学習済みモデルは、文字フォント(文字フォントの形状)の特徴を機械学習により学習した機械学習モデルである。フォント学習済みモデルについては、モデル生成部42の説明において、詳細を説明する。
解析部24は、文書画像内の活字文字列を解析することで、当該活字文字列のフォントを判別する。本実施形態では、解析部24は、モデル保持部23が保持するフォント学習済みモデルを用いて、帳票画像等の文書画像に含まれる活字文字列のフォントを判別する。この際、解析部24は、文書画像において、活字文字列が等幅フォントであるか又はプロポーショナルフォントであるかを判別し、その判別結果を考慮して活字文字列のフォントを判別する。
具体的には、解析部24は、フォント学習済みモデルに基づき、文書画像内の活字文字列のフォントの候補(書体デザインの種類の候補)を決定し、決定されたフォントの候補と、活字文字列が等幅フォントであるか否かの判別結果に基づき、文書画像内の活字文字列のフォントを判別する。例えば、フォント学習済みモデルにより決定された活字文字列のフォントの候補が「MS明朝」であり、等幅フォントであるか否かの判別結果が「プロポーショナルフォント」との判別結果である場合、活字文字列のフォントが「MS P明朝」と判別される。以下、フォントの候補の決定方法、等幅フォントか否かの判別方法、及び最終的な活字文字列のフォントの判別方法について説明する。
[フォント候補の決定]
解析部24は、まず、フォント学習済みモデルを用いて、文書画像内の活字文字列を構成する各文字のフォントを判別する。解析部24は、例えば、活字文字列に係る画像(項目画像)を、活字文字列を構成する文字毎に分割し、分割することで得られた各文字についての画像を、フォント学習済みモデルに入力することで、各文字のフォントを判別する。一般的に、一つの項目画像に含まれる活字文字列の各文字は同一のフォントである可能性が高いため、活字文字列中の一文字のみフォント判別すれば活字文字列全体としてのフォントが判別可能である。そのため、活字文字列中の一部の文字についてフォント判別するようにしてもよいが、各文字についてフォント判別することで、活字文字列についてのフォント判別(認識)の認識率(精度)を上げることが可能である。
なお、文字毎に分割することで得られる各文字についての画像は、各文字を夫々含む画像であればよく、例えば、文書画像内の各文字の外接矩形(文字矩形)内の領域であってよい。各文字についての画像(文字画像)をフォント学習済みモデルに入力すると、フォント学習済みモデルから、フォント毎に、そのフォントである確率値が出力されるため、解析部24は、出力された確率値が最も高いフォントを、その文字(文字画像)についての正解のフォントとして判別する。
解析部24は、次に、フォント学習済みモデルにより判別された各文字のフォント(以下、「判別フォント」と称する)に基づき、活字文字列のフォントの候補を決定する。解析部24は、例えば、活字文字列を構成する各文字についての判別フォントのうち、最も多くの文字(文字画像)において判別された判別フォントを、活字文字列のフォントの候補として決定する。つまり、判別フォントについて多数決を行うことで、活字文字列のフォントの候補が決定される。例えば、活字文字列「石川県」中の各文字(文字画像)「石」、「川」、「県」夫々についてのフォントが、「MS明朝」、「游ゴシック」、「MS明朝」と判別された場合、最も多くの文字において判別されたフォント(判別フォント)である「MS明朝」が、活字文字列のフォントの候補として決定される。
解析部24は、上述した多数決を行う方法以外の方法で、文書画像内の活字文字列のフォントの候補を決定してもよい。例えば、解析部24は、判別フォント毎に、当該判別フォントが、文書画像内の活字文字列のフォントである可能性の高さを示す信頼度を算出し、この信頼度が最も高い判別フォントを、活字文字列のフォントの候補として決定する。本実施形態では、判別フォントについての信頼度を、活字文字列を構成する各文字の当該判別フォントである確率に基づいて算出する。なお、判別フォントである確率には、上述した、フォント学習済みモデルで出力(予測)される確率値を用いる。解析部24は、例えば、活字文字列を構成する全ての文字の当該フォントである確率の平均値を算出し、算出された平均値(平均確率)を信頼度とする。以下、上述の例と同様に、活字文字列「石川県」における「石」、「川」、「県」夫々についてのフォントが、「MS明朝」、「游ゴシック」、「MS明朝」と判別された場合の信頼度の算出方法を例示する。
解析部24は、判別フォントである、「MS明朝」と「游ゴシック」夫々について、活字文字列を構成する各文字(「石」、「川」、「県」)の当該判別フォントである確率に基づき、信頼度を算出する。具体的には、「MS明朝」についての信頼度が、活字文字列を構成する各文字「石」、「川」、「県」の「MS明朝」である確率(P(「石」→MS明朝)、P(「川」→MS明朝)、P(「県」→MS明朝))に基づき算出される。ここで、P(「A」→B)は、文字Aについての画像(文字画像)を入力データとしてフォント学習済みモデルに入力した場合に出力されるフォントBである確率を意味する。例えば、P(「石」→MS明朝)は、入力データである文字画像「石」に対してフォント学習済みモデルから出力される、MS明朝である確率値である。
本実施形態では、活字文字列を構成する各文字の「MS明朝」である確率の平均値((P(「石」→MS明朝)+P(「川」→MS明朝)+P(「県」→MS明朝))÷3)を、「MS明朝」についての信頼度とする。同様に、「游ゴシック」についての信頼度が、活字文字列を構成する各文字「石」、「川」、「県」の「游ゴシック」である確率(P(「石」→游ゴシック)、P(「川」→游ゴシック)、P(「県」→游ゴシック))に基づき算出される。本実施形態では、活字文字列を構成する各文字の「游ゴシック」である確率の平均値((P(「石」→游ゴシック)+P(「川」→游ゴシック)+P(「県」→游ゴシック))÷3)を、「游ゴシック」についての信頼度とする。解析部24は、「MS明朝」についての信頼度と「游ゴシック」についての信頼度を比較し、例えば、信頼度がより高い「MS明朝」を、活字文字列のフォントの候補として決定する。
なお、本実施形態では、判別フォントについての信頼度を、活字文字列を構成する各文字の当該判別フォントである確率の平均値により算出したが、これに限定されるものではない。例えば、単に活字文字列を構成する各文字の判別フォントである確率を加算した値であってもよく、平均値を用いる代わりに、中央値や最頻値、最大値、最小値等の、他の代表値であってもよい。また、信頼度が最も高い判別フォントを活字文字列のフォントの候補として決定する方法は、多数決を行う方法では決められない場合(例えば、最も多くの文字で判別されたフォントが二以上ある場合等)に、用いられるようにしてもよい。
[等幅フォントか否かの判別]
解析部24は、文書画像内の活字文字列が、等幅フォントであるか又はプロポーショナルフォントであるかを判別する。フォントには、同一の書体デザインであっても、各文字が占有する幅(領域)が等しい等幅フォントと、各文字が占有する幅(領域)が等しくない(可変である)プロポーショナルフォントの二種類のフォントを有するフォントがある。例えば、MS明朝では、等幅フォントであるMS明朝と、プロポーショナルフォントであるMS P明朝が存在する。なお、文字が占有する領域(占有領域)とは、文字の外接矩形とは異なり、文字が入る枠(文字の表示枠)であり、文字が占有する幅(占有幅)とは、文字(文字の外接矩形)の幅とは異なり、文字が入る枠(文字の表示枠)の幅を意味し、例えば、等幅フォントであれば、原稿用紙のような等幅(正方形)のマス目である文字枠の中に、各文字が入るフォントである。
図3は、本実施形態に係る等幅フォントとプロポーショナルフォントの例を示す図である。図3に示されるように、等幅フォントであるMS明朝と、プロポーショナルフォントであるMS P明朝とでは、各文字が占有する領域である占有領域a(占有する幅である占有幅b)の大きさが異なる。そのため、等幅フォントとプロポーショナルフォントとでは、表示(入力)された際の、活字文字列における各文字の位置(文字間隔)が異なるため、文字列画像と認識文字列とが、一方が等幅フォントで他方がプロポーショナルフォントである場合、両者の間で文字位置にずれが生じやすい。そのため、本実施形態では、文書画像内の活字文字列が等幅フォントであるか否かを含めたフォントの判別を行い、判別されたフォントで認識文字列を表示することで、画面上での認識文字列と文字列画像との文字位置のずれを低減させることが可能である。
本実施形態では、解析部24は、文書画像(項目画像)内の書字方向における、活字文字列を構成する文字の幅と、活字文字列を構成する文字の占有幅の平均値である平均幅とを比較することで、文書画像内の活字文字列が等幅フォントであるか否かを判別する。活字文字列を構成する文字の幅は、例えば、文書画像における当該文字の外接矩形(文字矩形)の幅である。本実施形態では、平均幅は、文書画像内の活字文字列に係る文字領域の書字方向の幅を、活字文字列の文字数で除算することで算出される。活字文字列に係る文字領域は、例えば、文書画像における活字文字列の外接矩形内の領域である。なお、活字文字列に係る文字領域の幅と、活字文字列を構成する各文字の幅は、それぞれ、書字方向が横書きの場合は横幅であり、書字方向が縦書きの場合は縦幅を意味する。また、活字文字列の文字数は、当該活字文字列についての認識文字列における文字数が用いられてよい。
解析部24は、活字文字列を構成する文字の幅と平均幅とを比較した結果、活字文字列を構成する文字(文字矩形)のうち、平均幅より大きい幅を有する文字がない場合、すなわち、全ての文字が、平均幅より等しいか又は小さい幅を有する場合、当該活字文字列を等幅フォントであると判別する。
図4は、本実施形態に係る等幅フォントか否かの判別例(1)を示す図である。図4では、文書画像内の、フォントが「MS明朝」である活字文字列「石川県かほく市宇野気ヌ98-2」(横書き)が、等幅フォントと判別される例を示す。図4の例では、縦の実線により仕切られた各横幅が、活字文字列における文字の平均幅(平均横幅)cであり、この場合、平均幅cは、実線枠で示された活字文字列の外接矩形の横幅を、活字文字列の文字数である15で除算することにより算出される。等幅フォントであるMS明朝等の場合、図4に示されるように、各文字(文字矩形)の横幅は、平均幅cより小さいか又は等しくなる。そのため、活字文字列「石川県かほく市宇野気ヌ98-2」は、等幅フォントであると判別される。
一方、活字文字列を構成する文字のうち、平均幅より大きい幅を有する文字がある場合、当該活字文字列は、プロポーショナルフォントであるか、又は、等幅フォントであるが半角の片仮名やアルファベット、数字を含むと推測される。解析部24は、活字文字列を構成する文字のうち、平均幅より大きい幅を有する文字がある場合、別の方法によって、文書画像内の活字文字列が等幅フォントであるか否かを更に判別する。本実施形態では、解析部24は、例えば、活字文字列中の文字(片仮名、アルファベット、数字)が全角であるか半角であるかを判別し、この判別の結果に基づき、全角又は半角のどちらか一方の文字種により構成されると推定される、活字文字列中の文字列について、等幅フォントであるか否かの判別を行うことで、活字文字列が等幅フォントであるか否かを判別する。
等幅フォントであっても、全角文字と半角文字では、文字の占有幅が異なる。そのため、全角文字と半角文字が混在した活字文字列に対して、上述した、文字の幅と平均幅とを比較する方法により等幅フォントか否かの判別を行うと、正しい判別が困難となる。そのため、全角又は半角のどちらか一方の文字種により構成されると推定される文字列に対して等幅フォントか否かの判別を行うことで、より正確に、活字文字列が等幅フォントであるか否かの判別が可能となる。
具体的には、解析部24は、文書画像内の活字文字列中の漢字、平仮名、及び片仮名の少なくとも一種類の文字のみからなる文字列や、活字文字列中のアルファベットのみからなる文字列、活字文字列中の数字について、等幅フォントであるか否かの判別を行うことにより、活字文字列が等幅フォントであるか否かを判別する。以下、それぞれの等幅フォント判別の方法を説明する。なお、以下に示す各判別方法は、上述した活字文字列中の各文字の幅と平均幅の比較により等幅フォントと判別されなかった場合のみならず、この活字文字列中の各文字の幅と平均幅との比較を行う方法に代えて行われてもよい。
[(1)漢字、平仮名、片仮名のみからなる文字列による判別]
解析部24は、まず、認識文字列の中から、等幅フォントか否かを判別するために使用する文字列として、漢字、平仮名及び片仮名の少なくとも一種類の文字のみからなる文字列であり、文字列を構成する全ての文字が同一の文字ではなく、2以上の連続する文字からなる文字列(以下、「仮名文字列」と称する)を選出する。文字列を構成する全ての文字が同一の文字である場合、プロポーショナルフォントであっても等幅フォントとして判別される場合があるため、このような文字列は判定に使用する文字列の対象から除くものとする。ここで、片仮名には、全角と半角があり、全角か半角かによって、等幅フォントか否かの判別に用いられる仮名文字列が異なるため、以下、その詳細について説明する。
活字文字列中の片仮名が全角と判別された場合、解析部24は、認識文字列の中から、漢字、平仮名及び片仮名の少なくとも一種類の文字のみからなる文字列(全ての文字が同一でなく、2以上の連続する文字を含む文字列)を仮名文字列として選出する。一方、活字文字列中の片仮名が半角と判別された場合、解析部24は、認識文字列の中から、漢字及び平仮名の少なくとも一種類の文字のみからなる文字列(全ての文字が同一でなく、2以上の連続する文字を含む文字列)を、仮名文字列として選出する。但し、半角の場合で、漢字及び平仮名の少なくとも一種類の文字のみからなる文字列(全ての文字が同一でなく、2以上の連続する文字を含む文字列)がない場合は、片仮名のみからなる文字列(全ての文字が同一でなく、2以上の連続する文字を含む文字列)を仮名文字列として選出する。なお、活字文字列中の片仮名が全角か半角かについての判別方法については、詳細を後述する。
解析部24は、選出した1以上の仮名文字列の夫々について、平均幅を算出する。平均幅は、項目画像内の、仮名文字列に対応する文字列中の文字が有する書字方向の占有幅の平均値である。本実施形態では、項目画像内の、仮名文字列に対応する文字列に係る文字領域(例えば、文字列の外接矩形)の書字方向の幅(横書きの場合、横幅)を、当該仮名文字列の文字数で除算することで、平均幅が算出される。そして、解析部24は、選出した1以上の仮名文字列夫々についての平均幅のうち、最小の幅を有する平均幅(以下、「最小平均幅」と称する)を決定し、最小平均幅と、仮名文字列中の各文字に対応する、項目画像内の各文字の書字方向における幅(例えば、項目画像内の各文字の外接矩形の横幅)とを比較することで、活字文字列が等幅フォントか否か判別する。
ここで、仮名文字列「北海道」のように、仮名文字列を構成する文字の幅が概ね同一であったり、又は、仮名文字列が、文字画像にある文字列中の各文字が同じ(例えば、「イイイ」)であるにも関わらず、誤認識(誤読)された結果、「イシイ」等のように全ての文字が同一ではない文字列として認識された文字列である場合、各仮名文字列について算出された平均幅と各文字の幅を比較してしまうと、プロポーショナルフォントであっても等幅フォントと判別されてしまう場合があるため、本実施形態では、最小平均幅を用いることで、このような場合であっても、正しくプロポーショナルフォントと判別することを可能としている。
解析部24は、仮名文字列中の各文字に対応する、項目画像内の各文字の書字方向における幅が、最小平均幅より小さい又は等しい場合、仮名文字列を等幅フォントであると判別し、活字文字列のフォントを、等幅フォントと判別する。一方、解析部24は、最小平均幅より大きい幅を有する文字がある場合、仮名文字列をプロポーショナルフォントであると判別し、活字文字列のフォントを、プロポーショナルフォントと判別する。
図5は、本実施形態に係る等幅フォントか否かの判別例(2)を示す図である。図5では、文書画像(項目画像)内の活字文字列が、「神奈川県横浜市西区みなとみらい4-4-5横浜アイマークプレイス」(横書き)であり、活字文字列中の片仮名が全角であると判別されている場合について例示する。図5の例では、解析部24は、活字文字列中の、漢字及び平仮名15文字からなる文字列1「神奈川県横浜市西区みなとみらい」と、漢字及び片仮名11文字からなる文字列2「横浜アイマークプレイス」とを、仮名文字列として選出する。そして、解析部24は、文字列1についての外接矩形71における平均幅(平均横幅)WA1と、文字列2についての外接矩形72における平均幅WA2を算出し、最小平均幅を、WA1とWA2の小さい方、例えば、WA1と決定する。そして、解析部24は、外接矩形71及び外接矩形72における各文字(文字矩形)の幅と、最小平均幅であるWA1とを比較し、例えば、WA1より大きい幅を有する文字がある場合、文字列1と文字列2を、プロポーショナルフォントと判別し、活字文字列「神奈川県横浜市西区みなとみらい4-4-5横浜アイマークプレイス」をプロポーショナルフォントと判別する。
上述した通り、活字文字列中の文字(片仮名)が全角であるか半角であるかを判別することで、等幅フォントか否かを判別するための仮名文字列を、全角か半角のどちらか一方の文字種により構成されると推定される文字列とすることが可能となり、この文字列に対して等幅フォントか否かを判別することで、活字文字列が等幅フォントか否かを判別することが可能となる。
[(2)アルファベットのみからなる文字列による判別]
解析部24は、認識文字列の中から、等幅フォントか否かを判定するために使用する文字列として、アルファベットのみからなる文字列であり、文字列を構成する全ての文字が同一の文字ではなく、2以上の連続する文字からなる文字列(以下、「英字文字列」と称する)を選出する。解析部24は、選出した1以上の英字文字列の夫々について、平均幅を算出する。平均幅の算出方法は、[(1)漢字、平仮名、片仮名のみからなる文字列による判別]で説明した方法と同様であるため、説明を省略する。そして、解析部24は、1以上の英字文字列夫々についての平均幅のうち、最小の幅を有する平均幅(最小平均幅)を決定し、最小平均幅と、英字文字列中の各文字に対応する、項目画像内の各文字の書字方向における幅(項目画像内の各文字矩形の幅)とを比較することで、活字文字列が等幅フォントか否か判別する。
解析部24は、英字文字列中の各文字に対応する、項目画像内の各文字の書字方向における幅が、最小平均幅より小さい又は等しい場合、英字文字列を等幅フォントであると判別し、活字文字列のフォントを、等幅フォントと判別する。一方、解析部24は、最小平均幅より大きい幅を有する文字がある場合、英字文字列はプロポーショナルフォントであると判別し、活字文字列のフォントを、プロポーショナルフォントと判別する。
上述した通り、等幅フォントか否かを判定するために使用する文字列として、後述するように、全角又は半角であると判別(推定)された活字文字列中の文字(アルファベット)からなる英字文字列とすることが可能となり、この文字列に対して等幅フォントか否かを判別することで、活字文字列が等幅フォントか否かを判別することが可能となる。
[(3)数字のみからなる文字列による判別]
解析部24は、認識文字列の中から、等幅フォントか否かを判定するために使用する文字として、認識文字列の先頭及び後尾に位置しない数字(以下、「中間数字」と称する)を選出する。なお、数字には、句読点を含むこととする。解析部24は、選出した各中間数字についての前後文字外接矩形距離を算出する。前後文字外接矩形距離は、中間数字に対応する項目画像(文書画像)内の文字(数字)の前後にある文字(文字矩形)間の書字方向の距離(前後の文字矩形の間隔)である。そして、解析部24は、各中間数字について、前後文字外接矩形距離が、中間数字に対応する項目画像内の文字の書字方向における幅(項目画像内の文字矩形の幅)の二倍以上であるか否かを判定する。
図6は、本実施形態に係る等幅フォントか否かの判定例(3)を示す図である。図6では、図5で示された活字文字列の一部「みなとみらい4-4-5横浜」を示しており、図5で示された活字文字列についての認識文字列に、中間数字「4」が含まれている場合について例示する。図6に示されるように、中間数字「4」について、中間数字「4」に対応する項目画像内の文字(文字矩形73)の前にある文字矩形(「い」の外接矩形)74と、後ろにある文字矩形(「―」の外接矩形)75との間の距離である前後文字外接矩形距離eが、中間数字「4」に対応する項目画像内の文字(数字「4」の外接矩形73)の書字方向の幅dの二倍以上であるか否かが判定される。
そして、解析部24は、前後文字外接矩形距離が、中間数字に対応する項目画像内の文字(数字)の書字方向における幅の二倍以上であると判定された中間数字の数と、二倍未満であると判定された中間数字の数を比較し、二倍以上と判定された中間数字の方が多い場合に、活字文字列に含まれる数字は、全角の等幅フォントであると判別する(多数決を行う)。これは、数字の場合、全角の等幅フォントでは、前後の文字との間隔が広く、また、全角のプロポーショナルフォントや、半角の等幅フォント、半角のプロポーショナルフォントでは、前後の文字との間隔が狭くなるためである。解析部24は、数字が全角の等幅フォントであると判別されたことにより、活字文字列を等幅フォントと判別する。
なお、二倍以上と判定された中間数字と、二倍未満と判定された中間数字が同数であった場合、全ての中間数字についての、前後文字外接矩形距離を中間数字に対応する項目画像内の文字(数字)の書字方向における幅で除算した値(倍率)の平均値(例えば、中間数字が三つ(数字A、B、C)の場合、(数字Aの倍率+数字Bの倍率+数字Cの倍率)÷3)と2(二倍)とを比較することで判別する(2(二倍)以上と判定された場合、全角の等幅フォントと判別する)。なお、二倍以上と判定された中間数字と、二倍未満と判定された中間数字が同数であった場合の判別方法に用いられる値は平均値に限定されるものではなく、フォントを判別可能なものであれば、例えば、中央値や最頻値、(最大値+最小値)÷2等の、他の代表値が用いられてよい。
一方、二倍未満と判定された中間数字の方が多い場合(又は、倍率の代表値(平均値等)が二倍未満である場合)、活字文字列に含まれる数字は、全角の等幅フォントか、半角の等幅フォント、半角のプロポーショナルフォントであると推測される。そこで、解析部24は、二倍未満と判定された中間数字の方が多い場合(又は、倍率の代表値が二倍未満である場合)、活字文字列に含まれる数字が全角であれば、活字文字列に含まれる数字(中間数字を含む)は、全角のプロポーショナルフォントであると判別し、活字文字列をプロポーショナルフォントと判別する。なお、活字文字列に含まれる数字が全角であるか否かの判別方法については、詳細を後述する。
一方、活字文字列に含まれる数字が半角であれば、活字文字列に含まれる数字は、半角の等幅フォント又は半角のプロポーショナルフォントであると推定されるが、半角数字については、等幅フォントとプロポーショナルフォントとで、数字の占有領域(占有幅)が概ね等しいため、等幅フォントか否かにより文字位置に概ね変わりはなく、等幅フォントか否かの判別は行わなくてもよい。本実施形態では、この場合、活字文字列に含まれる数字(活字文字列)は、デフォルトフォントとして設定された、等幅フォント又はプロポーショナルフォントであると判別されることとする。
なお、本実施形態では、前後文字外接矩形距離が、中間数字に対応する項目画像内の文字の書字方向における幅の二倍以上であるか否かを判定するが、この倍率は二倍に限定されるものではなく、全角の等幅フォントか否かを判別するのに適した倍率に調整されてよい。また、仮名文字列や、英字文字列及び中間数字を含まない活字文字列等、上述した条件にあてはまらない活字文字列については、等幅フォントかプロポーショナルフォントかの判別が困難であるため、上述の場合と同様に、デフォルトフォントとして設定された、等幅フォント又はプロポーショナルフォントとして判別されることとする。
上述した通り、等幅フォントか否かを判定するために使用する文字列として、後述するように、全角又は半角であると判別(推定)された活字文字列中の文字(数字)である中間数字(1の数字からなる文字列)とすることが可能となり、この文字列に対して等幅フォントか否かを判別することで、活字文字列が等幅フォントか否かを判別することが可能となる。
[数字/アルファベットの半角/全角の判別]
解析部24は、活字文字列に含まれる片仮名、数字及びアルファベットが、夫々、全角であるか又は半角であるかの判別を行う。本実施形態では、解析部24は、まず、認識文字列の中から、片仮名、数字及びアルファベットを選出する。そして、解析部24は、選出した片仮名、数字及びアルファベットの夫々に対応する項目画像内の文字(文字の外接矩形内の画像)毎に、全角か半角かの判別を行う。具体的には、解析部24は、各外接矩形内部画像に対して、外接矩形内部画像の縦幅が、外接矩形内部画像の横幅の二倍以上であるか否かを判定する。そして解析部24は、片仮名、数字及びアルファベット夫々について、多数決により全角か半角かを判別する。例えば、認識文字列から選出された片仮名の内、縦幅が横幅の二倍以上であると判定された片仮名が、二倍未満であると判定された片仮名より多い場合、活字文字列に含まれる片仮名は、半角であると判別する。逆に、二倍未満であると判定された片仮名が、二倍以上であると判定された片仮名より多い場合、活字文字列に含まれる片仮名は、全角であると判別する。
二倍以上と判定された片仮名と、二倍未満と判定された片仮名が同数であった場合は、認識文字列中に重複した文字(同一の文字(片仮名))があるかを判定し、重複した文字がある場合、重複した文字(文字画像(外接矩形内部画像))を除外(例えば、認識文字列が「イイシシシシ」の場合、任意の一つの「イ」に対応する文字画像と、任意の三つの「シ」に対応する文字画像を除外)した上で、多数決で判別する。
なお、重複した文字を除外しても多数決で判別できない場合は、重複した文字を除いた残りの文字(片仮名)についての、外接矩形内部画像の縦幅を外接矩形内部画像の横幅で除算した値(倍率)の平均値や、中央値、最頻値、(最大値+最小値)÷2等の代表的な値と、2(二倍)とを比較することで判別する(2(二倍)以上と判定された場合、半角と判別し、2(二倍)未満と判定された場合、全角と判別する)。例えば、2つの片仮名(「イ」と「シ」)の場合、(「イ」の倍率+「シ」の倍率)÷2の値と2(二倍)とを比較することで判別する。なお、数字やアルファベットについても、上述した片仮名と同様の方法により、全角か半角かの判別が行われる。また、本実施形態では、外接矩形内部画像の縦幅が、外接矩形内部画像の横幅の二倍以上であるか否かを判定するが、この倍率は二倍に限定されるものではなく、全角か否かを判別するのに適した倍率に調整されてよい。
[活字文字列のフォントの決定]
解析部24は、フォント学習済みモデルを用いて決定された、文書画像内の活字文字列のフォントの候補と、活字文字列が等幅フォントであるか否かの判別結果に基づき、文書画像内の活字文字列のフォントを判別する。解析部24は、例えば、活字文字列のフォントの候補が「MS明朝」であり、等幅フォントか否かの判別結果が「等幅フォント」である場合、活字文字列のフォントを「MS明朝」と判別する。また、解析部24は、例えば、活字文字列のフォントの候補が「MS明朝」であり、等幅フォントか否かの判別結果が「プロポーショナルフォント」である場合、活字文字列のフォントを「MS P明朝」と判別する。
なお、MS明朝やMSゴシック等のように等幅フォントとプロポーショナルフォントの二種類のフォントを有さず、等幅フォントかプロポーショナルフォントのどちらか一方であるフォントが、他方のフォントに変換され表示される場合がある。例えば、「Yu Gothic UI」等のようにプロポーショナルフォントであるフォントの活字文字列が、書体デザインはそのままで、等幅フォント(各文字が占有する領域が等しいフォント)に変換されて表示(等幅表示)される場合がある。このような場合、上述した等幅フォントか否かの判別処理により、当該活字文字列は、等幅フォントと判別される。つまり、本実施形態において、「等幅フォント」とは、MS明朝等のようにフォントの種類が等幅フォントであるものに加え、プロポーショナルフォントを等幅表示したものも含むものとする。この場合、解析部24は、活字文字列のフォントを、フォント学習済みモデルにより判別されたプロポーショナルフォント(例えば、「Yu Gothic UI」)を等幅表示したフォント(例えば、「等幅表示のYu Gothic UI」)として判別する。これより、認識文字列は、Yu Gothic UIで、かつ、等幅フォントと同様に等幅表示されるよう設定される。
なお、上述した、「Yu Gothic UI」等のように、等幅フォントとプロポーショナルフォントの二種類のフォントを有さず、書体デザインが分かれば等幅フォントであるか、それとも、プロポーショナルフォントであるかが一意に決まるフォントの場合、等幅フォントか否かの判別結果を、フォント判別に使用しないようにしてもよい。また、例えば、決定されたフォントの候補が、上述のように書体デザインが分かれば等幅フォントか否かが一意に決まるフォントである場合、等幅フォントか否かの判別処理が省略されてもよい。
また、上述したように、本実施形態では、フォント学習済みモデルを用いることで、文書画像に含まれる活字文字列のフォントを判別することとしたが、フォント判別を行う方法は、機械学習モデルを用いた方法に限定されるものではない。例えば、活字文字列を構成する各文字(文字画像)を文字認識することで得られた認識文字を、複数種類のフォントにより描画することで得られる画像(比較用画像)を生成し、この生成された比較用画像と認識対象であった文字画像とを比較して類似度を算出する等の方法により、フォントの判別が行われてもよい。
表示制御部25は、認識文字列を、文書画像内の活字文字列の画像(文字列画像)と並列に表示装置(本実施形態では、出力装置17)に表示させる。表示制御部25は、活字文字列の書字方向が横書きの場合、横書きの認識文字列と文字列画像とを上下に並べて表示させ、活字文字列の書字方向が縦書きの場合、縦書きの認識文字列と文字列画像とを左右に並べて表示させる。また、表示制御部25は、認識文字列を、解析部24により判別された、文書画像内の活字文字列のフォントで、表示装置に表示させる。この際、表示制御部25は、認識文字列中の片仮名、数字及びアルファベットについては、解析部24により判別された全角又は半角で表示させる。なお、表示制御部25は、取得された文書画像(項目画像)内の活字文字列を含む領域を、活字文字列の画像として切り出し、切り出した活字文字列の画像を表示させる。
また、表示制御部25は、文字列画像と認識文字列との対応する文字同士の文字位置を揃えて表示させるため、認識文字列中の任意の一文字(複数文字も可)の位置と、当該任意の一文字に対応する文字列画像内の文字の位置とを揃えて表示するよう制御する。任意の一文字とは、例えば、所定位置(先頭、末尾、中央、等)にある文字である。表示制御部25は、例えば、認識文字列中の先頭の文字(例えば、認識文字列中の「石」)の位置と、当該先頭文字に対応する文字列画像内の文字(例えば、文字列画像内の「石」)の位置とを揃えて表示させる。本実施形態では、表示制御部25は、文字列画像と認識文字列との対応する文字同士の文字位置を揃えて表示させるため、認識文字列が表示される表示枠及び文字列画像の所定の位置(左端、上端、中央等)同士を揃える。また、表示制御部25は、表示枠内において、認識文字列を当該所定の位置(左端、上端、中央等)の方向に揃えて表示するよう制御する。
図7は、本実施形態に係る文字列画像及び認識文字列の表示例を示す図である。図7に示されるように、帳票項目「住所」に係る画像(文字列画像)における活字文字列がMS P明朝であることから、解析部24により活字文字列のフォントがMS P明朝と判別された結果、認識文字列が、文書画像内の活字文字列と同一のフォントであるMS P明朝により表示されている。また、解析部24により、活字文字列中の数字が全角であると判別された結果、認識文字列中の数字が、全角で表示されている。
図7の例では、認識文字列が表示される表示枠81の左端と文字列画像の左端とが揃えて表示され、かつ、表示枠内において認識文字列が左端に揃えて(左揃えで)表示されている。以上の通り、認識文字列及び文字列画像のフォントと任意の文字(先頭)の位置とを揃えることで、図7に示されるように、認識文字列と文字列画像との間で、対応する文字同士(例えば、「石」同士)の横方向の位置が概ね同一となり、上述した文字位置の横方向のずれが改善(低減)されている。なお、縦書きの場合には、例えば、文字列画像の上端と認識文字列の表示枠の上端とを揃えて表示するよう制御される。
なお、本実施形態では、図7に示すように、上述した表示枠と文字列画像との位置を揃える方法において、画面に表示される文字列画像を、文書画像内の活字文字列の外接矩形内の画像とすることで、文字列画像内の活字文字列の前後に余白が存在することに起因する、認識文字列と文字列画像との文字位置のずれを回避することが可能である。この場合、表示制御部25は、項目画像(文書画像)内の活字文字列の外接矩形を切り出し、切り出された外接矩形の内部の画像を、文字列画像として取得する。表示制御部25は、例えば、文字列画像(項目画像)に含まれる各文字の外接矩形に基づき、活字文字列の外接矩形を切り出すようにしてよい。この際、使用される各文字の外接矩形は、例えば、活字文字列を文字認識(OCR)する際に認識された、活字文字列中の各文字の領域(文字矩形)に基づいて求められてよい。
図8は、本実施形態に係る文字列画像内の余白による文字位置のずれの例を示す図である。図8に示されるように、文字列画像が、図7に示された例とは異なり、活字文字列の前後に余白を有する場合、図8の破線で示される通り、認識文字列と文字列画像との文字列の先頭文字の位置に横方向のずれが生じてしまう。この余白による文字位置のずれは、図8のように文字列画像と認識文字列の表示枠を左端で揃える場合だけに限らず、両者を右端や中央で揃える場合であっても同様である。このように、認識文字列を文書画像内の活字文字列のフォントで表示した場合であっても、文字列画像の余白により先頭の文字同士の位置にずれが生じる場合、文字列を構成する各文字の文字位置にずれが生じてしまう。そのため、本実施形態では、文字列画像と認識文字列の対応する文字同士の文字位置を揃えて表示させるため、文字列画像を活字文字列の外接矩形内部画像とする。
なお、認識文字列中の任意の一文字の位置と、当該任意の一文字に対応する文字列画像内の文字の位置とを揃えて表示する方法は、上述した表示枠と文字列画像との位置を揃える方法に限定されるものではない。例えば、文字列画像内の任意の一文字(例えば、先頭文字「石」)の画面上の位置座標(横書きの場合、横方向の位置座標)を判別し、当該任意の一文字に対応する認識文字列中の文字(先頭文字「石」)の位置を、判別された前記任意の一文字の位置座標に揃えることで、文字列画像と認識文字列の対応する文字同士の位置を揃えるようにしてもよい。この方法では、文字列画像が外接矩形内部画像でなくても、例えば、先頭の文字同士の位置が揃うため、文字列画像は外接矩形内部画像でなくてもよい。また、表示枠において、認識文字列の前に全角文字一文字分や半角文字一文字分等の余白がある場合は、外接矩形内部画像にこの余白分の領域を追加した画像を文字列画像としてもよい。
また、表示制御部25は、画面上の、書字方向に対する垂直方向において、認識文字列の幅と、文字列画像における活字文字列の幅が概ね等しくなるよう、認識文字列の文字の大きさ又は文字列画像の大きさを調整してもよい。例えば、活字文字列の書字方向が横書きの場合、書字方向に対する垂直方向である縦方向において、認識文字列の幅(縦幅)と文字列画像における活字文字列の幅(縦幅)が概ね等しくなるよう、調整される。これにより、画面上で、認識文字列と文字列画像における活字文字列のフォントサイズ(文字の大きさ)が概ね等しくなるため、認識文字列と文字列画像との対応する文字同士の位置を、よりずれることなく表示することが可能となる。
例えば、図7に示すように、表示制御部25は、認識文字列の縦幅と文字列画像内の活字文字列の縦幅を概ね等しくするため、活字文字列の外接矩形内部画像である文字列画像の縦幅が、認識文字列を表示するための表示枠の縦幅と等しくなるよう、文字列画像を等倍拡大又は等倍縮小するようにしてもよい。また、認識文字列と文字列画像内の活字文字列の縦幅を概ね等しくするための別の方法として、表示制御部25は、文字列画像(文書画像)における活字文字列の文字の大きさ(文字の縦幅や横幅)を判別し、判別された文字の大きさと認識文字列の文字の大きさが概ね等しくなるよう、認識文字列のフォントサイズ(文字の大きさ)を調整するようにしてもよい。更に別の方法として、表示制御部25は、活字文字列の外接矩形内部画像である文字列画像の縦幅が、認識文字列に表示される文字の高さと等しくなるよう、文字列画像を等倍拡大又は等倍縮小するようにしてもよい。
なお、書字方向に対する垂直方向において、認識文字列の幅と文字列画像内の活字文字列の幅を概ね等しくする方法としては、上述した例以外の種々の方法が用いられてよい。また、上述した横書きではなく、縦書きの場合についても、同様の方法により、認識文字列の横幅と、文字列画像における活字文字列の横幅が概ね等しくなるよう表示が制御される。
図9は、本実施形態に係るサーバー3の機能構成の概略を示す図である。サーバー3は、記憶装置34に記録されているプログラムが、RAM33に読み出され、CPU31によって実行されて、サーバー3に備えられた各ハードウェアが制御されることで、データ保持部41及びモデル生成部42を備える装置として機能する。なお、本実施形態及び後述する他の実施形態では、サーバー3の備える各機能は、汎用プロセッサであるCPU31によって実行されるが、これらの機能の一部又は全部は、1又は複数の専用プロセッサによって実行されてもよい。また、サーバー3が備える各機能部は、単一の筐体からなる装置(1の装置)に実装されるものに限定されず、遠隔に及び/又は分散して(例えば、クラウド上に)実装されてもよい。
データ保持部41は、各種データを保持する。データ保持部41は、例えば、フォント学習済みモデルを生成する際に使用される学習データ(教師データ)や文字学習済みモデルを保持する。また、データ保持部41は、モデル生成部42により生成されたフォント学習済みモデルを保持する。本実施形態では、データ保持部41は、学習データとして、入力データである「文字画像」と、入力データに対する正解ラベルである「文字画像内の文字の正解フォント」とが対応付けられた学習データを保持する。なお、文字学習済みモデルについては、詳細を後述する。
モデル生成部42は、文書画像に含まれる活字文字列(文字列画像)のフォントを判別(認識)するために用いられる、フォントの特徴(文字画像とフォントの関係)を学習した機械学習モデルであるフォント学習済みモデルを生成する。モデル生成部42は、データ保持部41に保持された学習データ(教師データ)を用いた機械学習(教師あり学習)を行うことで、入力された文字画像に対して文字画像内の文字のフォントを判別するモデルであるフォント学習済みモデルを生成する。なお、モデル生成部42により行われる機械学習に用いられる手法は任意であり、例えば、機械学習の一手法である深層学習(ディープラーニング)等が用いられてよい。
本実施形態では、深層学習の一手法であるCNN(Convolutional Neural Network、畳み込みニューラルネットワーク)を用いる場合について例示する。即ち、本実施形態では、フォント学習済みモデルが、CNNを用いて学習したニューラルネットワークモデル(以下、「CNNモデル」と称する)である場合について例示する。また、本実施形態では、モデル生成部42が、フォント学習済みモデルを、転移学習により生成する場合について例示する。
転移学習とは、ある領域で学習した知識(学習済みモデル)を別の領域の学習に適用することで、効率的に学習する方法であり、本実施形態では、文字の特徴量を既に学習した文字学習済みモデル(CNNモデル)で抽出された特徴量(重み)を用いて、フォント学習済みモデルが生成される例を示す。転移学習用のモデルである文字学習済みモデルは、文字画像に含まれる文字を判別(認識)するために用いられるモデルであり、入力データである「文字画像」と、「その文字画像内の文字の正解テキスト文字(フォントは任意)」とが対応付けられた学習データを用いた機械学習を行うことで、文字画像と正解文字との関係を学習した学習済みモデルである。
ここで、ニューラルネットワークモデル(以下、「NNモデル」と称する)は、人間の脳の神経細胞(ニューロン)が網目状に連結した神経網(ニューラルネットワーク)を模した情報処理のモデルである。通常、NNモデルは、ニューロンを模した複数のノードからなる入力層、中間層(隠れ層)、出力層の三つの層から構成される。入力層はデータが入力される層であり、出力層は結果を出力する層であり、中間層はそれらの層の間に位置する層である。CNNモデルの場合、中間層は、複数の畳み込み層、複数のプーリング層及び全結合層から構成される。CNNモデルでは、出力層の前段に、全結合層が存在する。そして、CNNモデルでは、入力層と全結合層との間において、畳み込み層とプーリング層とが交互に配置される。
NNモデルにおける各ノードは、前後の層(ノード)と連結しており、層と層(ノードとノード)の間には、ニューロン同士のつながりの強さ(シナプスの結合強度)を示す「重み(結合重み)」と呼ばれるパラメータが付与されている。ニューラルネットワークにおける学習では、各入力データ(入力画像)に対するネットワークの出力値と正解値との誤差が小さくなるよう、重みがチューニングされることで、NNモデルが生成(学習)される。
図10は、本実施形態に係る文字学習済みモデル(CNNモデル)の例を示す図である。図10に示されるように、文字学習済みモデルは、「石」、「横」、「川」、「浜」、「県」、「市」等の文字画像である入力データと、「石」、「横」、「川」、「浜」、「県」、「市」等の各画像についての正解文字である正解データ(出力データ)とが夫々対応付けられた学習データにより学習されたモデルである。なお、図10に示された学習データは一例であり、平仮名、漢字、片仮名、アルファベット、数字、記号等の各種文字についての学習データ(文字画像(入力データ)と正解文字(出力データ)とのセット)が用いられることで、各種文字に対応可能な文字学習済みモデルが用いられてよい。
また、図10で示されるように、CNNモデルである文字学習済みモデルは、入力層、中間層(畳み込み層、プーリング層)及び出力層から構成される。入力層には、入力データとして文字画像が入力される。中間層は、複数の畳み込み層、複数のプーリング層及び全結合層から構成される。畳み込み層は、フィルタ(カーネル)を用いることで、画像の特徴抽出(畳み込み)を行う層である。プーリング層は、畳み込み層から出力された特徴を最大値や平均値等に集約することで、認識に余分な情報を除外し、特徴の空間サイズを縮小(データ量を削減)する処理を行う層である。なお、一般に、畳み込み層及びプーリング層の出力は、特徴マップと称される。全結合層は、多層構造である畳み込み層及びプーリング層からの出力を結合する層であり、プーリング層から出力された特徴マップを、ラベル(正解文字)毎の確率値に変換し、出力層から、入力データである文字画像が、それぞれのラベル(正解文字)である確率値が出力される。例えば、入力データが文字画像「石」である場合、ラベル(正解文字)「石」について最も高い確率値が出力される。
図11は、本実施形態に係るフォント学習済みモデルの例を示す図である。図11に示されるように、フォント学習済みモデルは、「石」、「横」、「川」、「浜」、「県」、「市」等の文字画像である入力データと、「游ゴシック」、「メイリオ」、「MS明朝」、「HG教科書体」、「游明朝」、「MSゴシック」等の各画像内の文字の正解フォントである正解データ(出力データ)とが夫々対応付けられた学習データにより学習されたモデルである。なお、図11に示された学習データは一例であり、本実施形態では、モデル生成部42は、平仮名、漢字、片仮名、アルファベット、数字、記号等の各種文字についての学習データ(文字画像(入力データ)と正解フォント(出力データ)とのセット)を用いることで、各種文字及び各種フォントに対応可能なフォント学習済みモデルを生成してよい。なお、フォント学習済みモデルにより認識可能なフォントの数や種類は任意である。
本実施形態に係るフォント学習済みモデルは、文字学習済みモデルを転移学習したモデルであり、図11に示されるように、文字学習済みモデルの中間層(畳込み層及びプーリング層)82を特徴抽出器として利用し、かつ、新たに追加された層83によりフォントの特徴を学習したモデルである。フォント学習済みモデルでは、文字学習済みモデルにおいて文字の特徴を学習するために決定されたパラメータ(重み)を固定して使用し、新たに追加した層83においてフォントの特徴が学習される。
以上の通り、フォント学習済みモデルを生成する際、既に学習が完了している文字学習済みモデルを用いた転移学習を行うことで、新たに追加した層にのみ学習を行えば済むため、少ない学習データでかつ短時間で高精度なモデルを学習(生成)することが可能となる。更に、文字学習済みモデルを用いることで、文字毎の細かい特徴が抽出されやすくなるため、より高精度なモデルを生成することが可能となる。
なお、本実施形態では、フォント学習済みモデル及び文字学習済みモデルを、CNNを用いて学習したNNモデルとしたが、これに限定されるものではない。例えば、フォント学習済みモデル及び文字学習済みモデルは、深層学習の他の手法である、DNN(Deep Neural Network、ディープニューラルネットワーク)やRNN(Recurrent Neural Network、再帰型ニューラルネットワーク)等を用いて学習したNNモデルであってもよい。また、フォント学習済みモデル及び文字学習済みモデルは、深層学習以外の他の機械学習の手法を用いて学習した機械学習モデルであってもよい。更に、フォント学習済みモデルは、転移学習ではなく、ファインチューニング(微調整)により生成されたモデルであってもよい。
また、図10及び図11では、文字学習済みモデル及びフォント学習済みモデルが全結合層を有するCNNモデルである場合について例示したが、これらは、全結合層を備えないNNモデルであってもよい。また、本実施形態では、文字学習済みモデル及びフォント学習済みモデルが複数の畳み込み層と複数のプーリング層を有するCNNモデルとして説明したが、これに限定されるものではなく、畳み込み層及びプーリング層をそれぞれ一つずつ有するNNモデルであってよい。更に、転移学習に用いられる文字学習済みモデルは、例えば、モデル生成部42により生成されたモデルであっても、一般に公開されている、大規模データを用いて学習された高精度なモデル等であってもよい。
<処理の流れ>
次に、本実施形態に係る情報処理装置1によって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容及び処理順序は、本開示を実施するための一例である。具体的な処理内容及び処理順序は、本開示の実施の態様に応じて適宜選択されてよい。
図12は、本実施形態に係る表示処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、情報処理装置1において、帳票(文書)のスキャン指示が受け付けられたこと等を契機として実行される。なお、本フローチャートは、ユーザによる、記憶装置14に記憶された帳票画像を取得する指示が受け付けられたこと等を契機として実行されてもよい。また、以下に示すステップS102~S104における処理は、帳票の各項目に対して実行される。なお、図12~図16では、書字方向が横書き(横方向)である場合について例示する。
ステップS101では、文書画像(項目画像)が取得される。画像取得部21は、文書読取装置2から、スキャンされた帳票の画像を取得する。帳票画像には、活字文字列が含まれる。本実施形態では、帳票項目「住所」についての入力欄に、活字文字列である「石川県かほく市宇野気ヌ98-2」が入力された帳票の画像を取得した場合について例示する。また、画像取得部21は、帳票画像から、OCRの対象となる帳票項目毎の読取領域を切り出した画像である項目画像を取得する。その後、処理はステップS102へ進む。
ステップS102では、認識文字列が取得される。認識結果取得部22は、ステップS101で取得された文書画像(項目画像)内の活字文字列に対して文字認識を行うことで、認識文字列を取得する。本実施形態では、帳票項目「住所」についての活字文字列「石川県かほく市宇野気ヌ98-2」を含む領域(項目画像)に対してOCR処理を行うことで、帳票画像内の当該活字文字列についての認識文字列が取得される。その後、処理はステップS103へ進む。
ステップS103では、フォント判別処理が行われる。解析部24は、ステップS101で取得された文書画像(項目画像)内の活字文字列のフォントを判別する。フォント判別処理の詳細については、図13を用いて後述する。その後、処理はステップS104へ進む。
ステップS104では、文字列画像と認識文字列とが表示(表示制御)される。表示制御部25は、ステップS102で取得された認識文字列と、文書画像内の活字文字列の画像(文字列画像)とを並列に、表示装置(表示画面)に表示させる。この際、表示制御部25は、認識文字列を、ステップS103で判別された、活字文字列のフォントで表示させる。なお、表示(表示制御)処理の詳細については、図16を用いて後述する。その後、本フローチャートに示された処理は終了する。
図13は、本実施形態に係るフォント判別処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、図12のステップS102の処理が終了したことを契機として実行される。なお、ステップS201と、ステップS202~S203とは、順不同である。
ステップS201では、文書画像内の活字文字列が等幅フォントであるか否かが判別される。解析部24は、図12のステップS101で取得された文書画像(帳票画像)内の活字文字列が等幅フォントであるか否かを判別する。等幅フォントか否かの判別処理の詳細については、図14及び図15を用いて後述する。その後、処理はステップS202へ進む。
ステップS202では、文書画像内の活字文字列の各文字のフォントが判別される。解析部24は、図12のステップS101で取得された文書画像(帳票画像)内の活字文字列の各文字についてのフォントを判別する。本実施形態では、解析部24は、フォント学習済みモデルを用いて、各文字のフォントを判別する。解析部24は、例えば、活字文字列「石川県かほく市宇野気ヌ98-2」について、「石」、「県」、「か」、「ほ」、「く」、「市」、「宇」、「9」、「8」、「-」、「2」のフォントを「MS明朝」と判別し、「川」、「野」、「気」、「ヌ」のフォントを「游ゴシック」と判別する。その後、処理はステップS203へ進む。
ステップ203では、文書画像内の活字文字列のフォント候補が決定される。解析部24は、ステップS202で判別された各文字のフォントに基づき、文書画像内の活字文字列のフォント候補を決定する。解析部24は、例えば、活字文字列「石川県かほく市宇野気ヌ98-2」において、最も多くの文字で判別されたフォントである「MS明朝」を、フォント候補として決定する(多数決による方法)。また、別の方法として、解析部24は、ステップS202で判別されたフォント毎に、当該フォントが活字文字列のフォントである可能性の高さを示す信頼度に基づき、活字文字列のフォントの候補を決定してもよい。その後、処理はステップS204へ進む。
ステップS204では、文書画像内の活字文字列のフォントが判別(決定)される。本実施形態では、解析部24は、ステップS201における、活字文字列が等幅フォントであるか否かの判別結果と、ステップS203で決定されたフォントの候補とに基づき、文書画像内の活字文字列のフォントを判別する。例えば、ステップS201において、活字文字列「石川県かほく市宇野気ヌ98-2」がプロポーショナルフォントと判別され、ステップS203において、フォントの候補が「MS明朝」と判別されたことにより、解析部24は、活字文字列のフォントを、MS明朝でありプロポーショナルフォントである「MS P明朝」である判別する。その後、本フローチャートに示された処理は終了する。
図14及び図15は、本実施形態に係る等幅フォントか否かの判別処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、図12のステップS102の処理が終了したことを契機として実行される。
ステップS301では、文書画像内の活字文字列中の片仮名、数字及びアルファベットについて、全角か半角か判別される。解析部24は、活字文字列中の片仮名、数字及びアルファベットそれぞれについて、全角か半角か判別する。解析部24は、認識文字列中の片仮名、数字及びアルファベットに対応する項目画像内の文字(文字矩形)毎に、全角か半角かの判別を行う。そして、片仮名、数字及びアルファベットの夫々において、全角と判断された文字と半角と判断された文字とで多数決を行うことにより、活字文字列中の片仮名、数字及びアルファベットそれぞれについて、全角か半角か判別する。その後、処理はステップS302へ進む。
ステップS302では、活字文字列全体(活字文字列の各文字)を用いて、活字文字列が等幅フォントであるか否かの判別処理が行われる。解析部24は、等幅フォントであるか否かの判別処理として、文書画像(項目画像)内の書字方向における、活字文字列を構成する各文字の幅(文字矩形の幅)と、活字文字列中の文字が有する占有幅の平均値である平均幅とを比較する。その後、処理はステップS303へ進む。
ステップS303では、活字文字列を構成する各文字の幅が、平均幅以下であるか否かが判定される。解析部24は、ステップS302において各文字の幅と平均幅が比較された結果、各文字の幅が平均幅以下か否かを判定する。全ての文字の幅が平均幅以下であると判定された場合(ステップS303:YES)、処理はステップS304へ進む。一方、平均幅より大きい幅を有する文字があると判定された場合(ステップS303:NO)、処理はステップS305へ進む。
ステップS304では、活字文字列が等幅フォントであると判別される。解析部24は、活字文字列中の各文字の幅が平均幅以下であることにより、文書画像内の活字文字列を、等幅フォントであると判別する。その後、本フローチャートに示された処理は終了する。
ステップS305では、文書画像内の活字文字列に対する認識文字列内に、漢字、平仮名及び片仮名の少なくとも一種類の文字のみからなる文字列であり、文字列を構成する全ての文字が同一の文字ではなく、2以上の連続する文字からなる文字列(仮名文字列)が含まれるか否か判定される。
なお、ステップS301において、活字文字列中の片仮名が全角であると判別された場合、仮名文字列を、認識文字列中の、漢字、平仮名及び片仮名の少なくとも一種類の文字のみからなる文字列とする。一方、ステップS301において、活字文字列内の片仮名が半角であると判定された場合、仮名文字列を、認識文字列中の、漢字及び平仮名の少なくとも一種類の文字のみからなる文字列とする。但し、漢字及び平仮名の少なくとも一種類の文字のみからなる文字列が存在しない場合は、片仮名のみからなる文字列を仮名文字列とする。解析部24は、項目画像に対する認識文字列内に、仮名文字列が含まれるか否かを判定する。仮名文字列が含まれる場合(ステップS305:YES)、処理はステップS306へ進む。一方、仮名文字列が含まれない場合(ステップS305:NO)、処理はステップS309へ進む。
ステップS306では、仮名文字列を用いて、活字文字列が等幅フォントであるか否かの判別処理が行われる。解析部24は、等幅フォントであるか否かの判別処理として、各仮名文字列について、仮名文字列に対応する、項目画像内の文字列の画像において、当該文字列中の文字が有する書字方向の占有幅の平均値(平均幅)を算出し、算出された平均幅のうち最小のもの(最小平均幅)と、当該仮名文字列中の各文字に対応する、項目画像内の各文字の書字方向における幅とを比較する。その後、処理はステップS307へ進む。
ステップS307では、仮名文字列中の各文字に対応する、項目画像内の各文字の書字方向における幅が、最小平均幅以下であるか否かが判定される。解析部24は、ステップS306において各文字の幅と最小平均幅が比較された結果、各文字の幅が最小平均幅以下か否かを判定する。全ての文字の幅が最小平均幅以下であると判定された場合(ステップS307:YES)、処理はステップS304へ進み、文書画像内の活字文字列が、等幅フォントであると判別される。一方、最小平均幅より大きい幅を有する文字があると判定された場合(ステップS307:NO)、処理はステップS308へ進む。
ステップS308では、活字文字列がプロポーショナルフォントであると判別される。解析部24は、各文字の幅が最小平均幅以下であることにより、文書画像内の活字文字列を、プロポーショナルフォントであると判別する。その後、本フローチャートに示された処理は終了する。
ステップS309では、文書画像内の活字文字列に対する認識文字列内に、アルファベットのみからなる文字列であり、文字列を構成する全ての文字が同一の文字ではなく、2以上の連続する文字からなる文字列(英字文字列)が含まれるか否か判定される。解析部24は、項目画像に対する認識文字列内に、英字文字列が含まれるか否かを判定する。英字文字列が含まれる場合(ステップS309:YES)、処理はステップS310へ進む。一方、英字文字列が含まれない場合(ステップS309:NO)、処理はステップS312へ進む。
ステップS310では、英字文字列を用いて、活字文字列が等幅フォントであるか否かの判別処理が行われる。解析部24は、等幅フォントであるか否かの判別処理として、各英字文字列について、英字文字列に対応する、項目画像内の文字列の画像において、当該文字列中の文字が有する書字方向の占有幅の平均値(平均幅)を算出し、算出された平均幅のうち最小のもの(最小平均幅)と、当該英字文字列中の各文字に対応する、項目画像内の各文字の書字方向における幅とを比較する。その後、処理はステップS311へ進む。
ステップS311では、英字文字列中の各文字に対応する、項目画像内の各文字の書字方向における幅が、最小平均幅以下であるか否かが判定される。解析部24は、ステップS310において各文字の幅と最小平均幅が比較された結果、各文字の幅が最小平均幅以下か否かを判定する。全ての文字の幅が最小平均幅以下であると判定された場合(ステップS311:YES)、処理はステップS304へ進み、文書画像内の活字文字列が、等幅フォントであると判別される。一方、最小平均幅より大きい幅を有する文字があると判定された場合(ステップS311:NO)、処理はステップS308へ進み、文書画像内の活字文字列が、プロポーショナルフォントであると判別される。
ステップS312では、文書画像内の活字文字列に対する認識文字列内に、認識文字列の先頭及び後尾に位置しない数字(中間数字)が含まれるか否か判定される。解析部24は、項目画像に対する認識文字列内に、中間数字が含まれるか否かを判定する。中間数字が含まれない場合(ステップS312:NO)、処理はステップS313へ進む。一方、中間数字が含まれる場合(ステップS312:YES)、処理はステップS314へ進む。
ステップS313では、文書画像内の活字文字列が、デフォルトフォントと判別される。解析部24は、文書画像内の活字文字列を、デフォルトフォントとして事前に設定された、等幅フォント又はプロポーショナルフォントとして判別する。その後、本フローチャートに示された処理は終了する。
ステップS314では、中間数字を用いて、活字文字列が等幅フォントであるか否かの判別処理が行われる。解析部24は、等幅フォントであるか否かの判別処理として、各中間数字について、中間数字に対応する項目画像内の文字(文字画像)の前後にある文字(文字矩形)間の書字方向の距離である前後文字外接矩形距離と、中間数字に対応する項目画像内の文字の書字方向における幅とを比較する。その後、処理はステップS315へ進む。
ステップS315では、前後文字外接矩形距離が、中間数字に対応する項目画像内の文字の書字方向における幅の二倍以上であるか判定される。解析部24は、ステップS314において、前後文字外接矩形距離と中間数字に対応する項目画像内の文字の幅が比較された結果、前後文字外接矩形距離が、中間数字に対応する項目画像内の文字の幅の二倍以上であると判定された中間数字と、二倍未満であると判定された中間数字のどちらが多いかを判定する。二倍以上であると判定された中間数字の方が多い場合(ステップS315:YES)、処理はステップS304へ進み、文書画像内の活字文字列が、等幅フォントであると判別される。一方、二倍以上であると判定された中間数字の方が少ない場合(ステップS315:NO)、処理はステップS316へ進む。なお、二倍以上であると判定された中間数字と二倍未満であると判定された中間数字が同数であった場合は、前後文字外接矩形距離を中間数字に対応する項目画像内の文字(数字)の書字方向における幅で除算した値(倍率)の代表値が2(二倍)以上である場合に、処理はステップS304へ進み、倍率の代表値が2(二倍)未満である場合に、処理はステップS316へ進む。
ステップS316では、活字文字列に含まれる数字が全角か半角かが判別される。解析部24は、ステップS301における判別処理の結果を参照し、活字文字列に含まれる数字が全角か半角かを判別する。ステップS301における判別処理の結果、数字が全角であると判別された場合、処理はステップS308へ進み、文書画像内の活字文字列が、プロポーショナルフォントであると判別される。一方、ステップS301における判別処理の結果、数字が全角でない(半角である)と判別された場合、処理はステップS313へ進み、文書画像内の活字文字列が、デフォルトフォント(例えば、等幅フォント)として判別される。
なお、図14及び図15では、仮名文字列、英字文字列、中間数字の順に等幅フォントか否かを判別する例を示しているが、判別していく順序はこの例に限定されず、任意の順で判別されてよい。
図16は、本実施形態に係る表示(表示制御)処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、図12のステップS103(図13)の処理が終了したことを契機として実行される。なお、ステップS401~S402と、ステップS403とは、順不同である。
ステップS401では、表示画面に表示される文字列画像が取得される。表示制御部25は、図12のステップS101で取得された文書画像(項目画像)から、活字文字列を含む領域を文字列画像として切り出す(取得する)。本実施形態では、表示制御部25は、項目画像内の活字文字列「石川県かほく市宇野気ヌ98-2」の外接矩形を切り出し、切り出された外接矩形の内部の画像を、文字列画像として取得する。なお、文書画像内の、OCRによる読取領域である項目画像が、入力内容である活字文字列の外接矩形である場合、項目画像自体を文字列画像として取得してもよい。その後、処理はステップS402へ進む。
ステップS402では、文字列画像の大きさが調整される。表示制御部25は、画面上の、書字方向に対する垂直方向において、認識文字列の幅と、文字列画像における活字文字列の幅が概ね等しくなるよう、認識文字列の文字の大きさ又は文字列画像の大きさを調整する。本実施形態では、表示制御部25は、文字列画像の縦幅が、認識文字列を表示するための表示枠の縦幅と等しくなるよう、ステップS401で取得された文字列画像の大きさを調整(等倍拡大又は等倍縮小)する。その後、処理はステップS403へ進む。
ステップ403では、認識文字列のフォントが設定される。表示制御部25は、図12のステップS102で取得された認識文字列を、図12のステップS103(図13)で判別された、文書画像内の活字文字列のフォントで表示させるよう設定する。この際、認識文字列中の片仮名、数字(句読点を含む)及びアルファベットについては、図14のステップS301で判別された全角又は半角により表示させるよう設定する。その後、処理はステップS404へ進む。
ステップS404では、文字列画像と認識文字列が表示される。表示制御部25は、図12のステップS102で取得された認識文字列と、ステップS401で取得された文字列画像とを並列に、表示装置(表示画面)に表示させる。この際、文字列画像は、ステップS402で調整された大きさで表示され、認識文字列は、ステップS403で設定されたフォントで表示される。また、本実施形態では、表示制御部25は、認識文字列を表示するための表示枠の左端と文字列画像の左端とを揃えて表示させ、かつ、表示枠内において、認識文字列を左揃えで表示させる(図7を参照)。その後、本フローチャートに示された処理は終了する。
上記説明したように、本実施形態によれば、文書画像内の活字文字列のフォントを判別し、当該活字文字列についての認識文字列を、文字列画像と並列に、かつ、判別した当該活字文字列のフォントで表示することで、フォントの差異に起因した確認ミスや手間等を削減し、文字認識結果についての確認や修正の作業の効率化を図ることが可能となる。例えば、書字方向が横書きの場合には認識文字列と文字列画像とを上下に並べて表示し、書字方向が縦書きの場合には認識文字列と文字列画像とを左右に並べて表示し、かつ、認識文字列を、文書画像内の活字文字列のフォントで表示することで、認識文字列と文字列画像との間で対応する文字同士の文字位置のずれを改善することが可能である。つまり、判別された活字文字列のフォントにより、認識文字列の書字方向の文字の位置(配置)を制御することで、認識文字列と文字列画像との文字位置を揃えることが可能となる。
これにより、認識文字列(文字列確認結果)の確認や修正の作業において、文字列同士を比較する際のユーザの視線の移動(視線のずれ)が減り、確認作業及び修正作業に要する時間の短縮(手間の削減)が可能となる。また、認識文字列と文字列画像との間で対応する文字同士が、真上(横書きの場合)又は真横(縦書きの場合)に位置することになるため、誤字や脱字に気付きやすく、確認ミスを削減することが可能となる。また、認識文字列と文書画像内の活字文字列のフォント(書体のデザイン(形状))を一致させることで、認識文字列と文字列画像とを比較し易くすることが可能である。
1 情報処理装置
2 文書読取装置
3 サーバー
9 情報処理システム

Claims (20)

  1. 文書画像内の活字文字列についての文字列認識結果である認識文字列を取得する認識結果取得手段と、
    前記文書画像内の前記活字文字列を解析し、該活字文字列のフォントを判別する解析手段と、
    前記認識文字列を、前記文書画像内の前記活字文字列の画像と並列に、且つ、判別された前記活字文字列のフォントで表示装置に表示させる表示制御手段と、
    を備える情報処理システム。
  2. 前記解析手段は、前記文書画像内の活字文字列を構成する文字のフォントを判別し、判別された該文字のフォントに基づき、該活字文字列のフォントを判別する、
    請求項1に記載の情報処理システム。
  3. 前記解析手段は、フォントの特徴を学習したフォント学習済みモデルを用いて、前記活字文字列を構成する文字のフォントを判別する、
    請求項2に記載の情報処理システム。
  4. 前記解析手段は、前記活字文字列を構成する文字が複数ある場合、前記活字文字列を構成する各文字についてのフォントを判別し、判別されたフォントのうち、最も多くの文字において判別されたフォントに基づき、前記活字文字列のフォントを判別する、
    請求項2又は3に記載の情報処理システム。
  5. 前記解析手段は、
    前記活字文字列を構成する文字が複数ある場合、前記活字文字列を構成する各文字についてのフォントを判別し、
    判別されたフォント毎に、前記活字文字列を構成する各文字についての、前記フォント学習済みモデルで予測された該フォントである確率に基づいて信頼度を算出し、該信頼度に基づき前記活字文字列のフォントを判別する、
    請求項3に記載の情報処理システム。
  6. 前記フォント学習済みモデルは、文字の特徴量を学習した機械学習モデルである文字学習済みモデルを転移学習することで生成されたモデルである、
    請求項3又は5に記載の情報処理システム。
  7. 前記解析手段は、
    前記活字文字列が等幅フォントであるか否かを判別し、
    前記活字文字列を構成する文字のフォントの判別結果に加え、等幅フォントであるか否かの判別結果を用いることで、前記活字文字列のフォントを判別する、
    請求項2から6の何れか一項に記載の情報処理システム。
  8. 前記解析手段は、
    前記活字文字列を構成する文字のフォントの判別結果に基づき、前記活字文字列のフォントの候補を決定し、
    前記フォントの候補と、前記活字文字列が等幅フォントであるか否かの判別結果に基づき、前記活字文字列のフォントを判別する、
    請求項7に記載の情報処理システム。
  9. 前記解析手段は、前記文書画像内の書字方向における、前記活字文字列を構成する文字の幅と、該活字文字列中を構成する文字の占有幅の平均値である平均幅とを比較することで、該活字文字列が等幅フォントであるか否かを判別する、
    請求項7又は8に記載の情報処理システム。
  10. 前記解析手段は、
    前記活字文字列中の文字が全角であるか半角であるかを判別し、
    全角であるか半角であるかの前記判別の結果に基づき、全角又は半角のどちらか一方の文字種により構成されると推定される、前記活字文字列中の文字列について、等幅フォントであるか否かの判別を行うことで、前記活字文字列が等幅フォントであるか否かを判別する、
    請求項7から9の何れか一項に記載の情報処理システム。
  11. 前記解析手段は、前記活字文字列中の漢字、平仮名、及び片仮名の少なくとも一種類の文字のみからなる文字列、前記活字文字列中のアルファベットのみからなる文字列、並びに前記活字文字列中の数字のうち、少なくとも1つについて等幅フォントであるか否かの判別を行うことで、前記活字文字列が等幅フォントであるか否かを判別する、
    請求項7から10の何れか一項に記載の情報処理システム。
  12. 前記表示制御手段は、前記活字文字列の書字方向が横書きの場合、前記認識文字列と前記活字文字列の画像とを上下に並べて表示させ、前記活字文字列の書字方向が縦書きの場合、前記認識文字列と前記活字文字列の画像とを左右に並べて表示させる、
    請求項1から11の何れか一項に記載の情報処理システム。
  13. 前記表示制御手段は、前記認識文字列中の任意の一文字の位置と、該任意の一文字に対応する、前記活字文字列の画像内の文字の位置とが揃うように、前記認識文字列と前記活字文字列の画像とを表示させる、
    請求項12に記載の情報処理システム。
  14. 前記表示制御手段は、前記認識文字列中の任意の一文字の位置と、該任意の一文字に対応する、前記活字文字列の画像内の文字の位置とを揃えるため、前記認識文字列を表示するための表示枠及び前記活字文字列の画像の所定の位置同士を揃えて表示させる、
    請求項13に記載の情報処理システム。
  15. 前記活字文字列の画像は、前記文書画像内の、該活字文字列の外接矩形内の画像であり、
    前記表示制御手段は、前記表示枠内において、前記認識文字列を前記所定の位置の方向に揃えて表示させる、
    請求項14に記載の情報処理システム。
  16. 前記表示制御手段は、前記表示装置の画面上の、前記書字方向に対する垂直方向において、前記認識文字列の幅と、前記活字文字列の画像内の該活字文字列の幅とが概ね等しくなるよう、前記認識文字列の文字の大きさ又は前記活字文字列の画像の大きさを調整する、
    請求項12から15の何れか一項に記載の情報処理システム。
  17. 前記表示制御手段は、前記認識文字列の幅と前記活字文字列の幅とを概ね等しくするため、前記垂直方向において、前記活字文字列の画像の幅と、前記認識文字列を表示するための表示枠の幅とが等しくなるよう、該活字文字列の画像を等倍拡大又は等倍縮小する、
    請求項16に記載の情報処理システム。
  18. 前記解析手段は、前記活字文字列中の片仮名、数字又はアルファベットが全角であるか半角であるかを判別し、
    前記表示制御手段は、前記活字文字列中の前記片仮名、数字又は前記アルファベットに対応する前記認識文字列中の片仮名、数字又はアルファベットを、前記解析手段により判別された全角又は半角で表示させる、
    請求項1から17の何れか一項に記載の情報処理システム。
  19. コンピュータが、
    文書画像内の活字文字列についての文字列認識結果である認識文字列を取得する認識結果取得ステップと、
    前記文書画像内の前記活字文字列を解析し、該活字文字列のフォントを判別する解析ステップと、
    前記認識文字列を、前記文書画像内の前記活字文字列の画像と並列に、且つ、判別された前記活字文字列のフォントで表示装置に表示させる表示制御ステップと、
    を実行する、表示制御方法。
  20. コンピュータを、
    文書画像内の活字文字列についての文字列認識結果である認識文字列を取得する認識結果取得手段と、
    前記文書画像内の前記活字文字列を解析し、該活字文字列のフォントを判別する解析手段と、
    前記認識文字列を、前記文書画像内の前記活字文字列の画像と並列に、且つ、判別された前記活字文字列のフォントで表示装置に表示させる表示制御手段と、
    として機能させるためのプログラム。
JP2021103108A 2021-06-22 2021-06-22 情報処理システム、表示制御方法及びプログラム Pending JP2023002090A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021103108A JP2023002090A (ja) 2021-06-22 2021-06-22 情報処理システム、表示制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021103108A JP2023002090A (ja) 2021-06-22 2021-06-22 情報処理システム、表示制御方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2023002090A true JP2023002090A (ja) 2023-01-10

Family

ID=84797669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021103108A Pending JP2023002090A (ja) 2021-06-22 2021-06-22 情報処理システム、表示制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2023002090A (ja)

Similar Documents

Publication Publication Date Title
US10846553B2 (en) Recognizing typewritten and handwritten characters using end-to-end deep learning
US20240037969A1 (en) Recognition of handwritten text via neural networks
US8340425B2 (en) Optical character recognition with two-pass zoning
KR100412317B1 (ko) 문자인식/수정방법및장치
US10963717B1 (en) Auto-correction of pattern defined strings
Sahare et al. Robust character segmentation and recognition schemes for multilingual Indian document images
CN113408536A (zh) 票据的金额识别方法、装置、计算机设备及存储介质
JP2000315247A (ja) 文字認識装置
CN115311666A (zh) 图文识别方法、装置、计算机设备及存储介质
Singh et al. Online handwritten Gurmukhi words recognition: An inclusive study
US11315351B2 (en) Information processing device, information processing method, and information processing program
US20210089804A1 (en) Information processing apparatus and non-transitory computer readable medium
JP7021496B2 (ja) 情報処理装置及びプログラム
JP2023002090A (ja) 情報処理システム、表示制御方法及びプログラム
CN116030469A (zh) 一种处理方法、装置、设备和计算机可读存储介质
US7133556B1 (en) Character recognition device and method for detecting erroneously read characters, and computer readable medium to implement character recognition
US20210019554A1 (en) Information processing device and information processing method
TWM618756U (zh) 影像識別系統
JP6310155B2 (ja) 文字認識装置、文字認識方法及び文字認識プログラム
US11170253B2 (en) Information processing apparatus and non-transitory computer readable medium
JP2008084105A (ja) 文字切出方法及び文字認識装置
US20210064815A1 (en) Information processing apparatus and non-transitory computer readable medium
JP3159087B2 (ja) 文書照合装置および方法
Al-Barhamtoshy et al. Arabic OCR segmented-based system
EP4318413A1 (en) Machine learning (ml)-based system and method for correcting image data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240621