(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
[実施形態]
実施形態の文字認識装置について説明する。
【0014】
図3は、文字認識装置の一実施例を示す機能ブロック図である。
図3を参照して、文字認識装置1について説明する。
【0015】
文字認識装置1は、制御部10と、記憶部20と、取得部30と、表示部40とを備える。文字認識装置1は、例えば、後述するコンピュータ装置である。
【0016】
制御部10は、抽出部11と、認識部12と、登録部13との機能を有する。
抽出部11は、画像から文言を抽出する。ここで、画像とは、例えば、帳票、解答用紙、健康診断表、アンケート用紙などの見出しとデータとが関連付けられて印刷されている紙面の画像のことである。文言とは、例えば、紙面に印刷されている数字、文字および文字列のことである。以下の説明では、文言が文字列であるものとして説明する。また、帳票、解答用紙、健康診断表、アンケート用紙などのことを紙面とも言う。抽出部11に抽出された文言のことを抽出した文言とも言う。
【0017】
認識部12は、抽出した文言と同じ文言が見出し種別に関連付けられて記憶部20に記憶されているとき、抽出した文言が同じ文言と関連付けられた見出し種別に対応する見出しを示すと認識する。ここで、見出し種別とは、例えば、帳票において、銀行名、支店名、預金種目、口座番号、金額、受取人、および依頼人などの項目の種類のことである。
【0018】
認識部12は、抽出した文言と同じ文言が見出し種別に関連付けられ記憶部20に記憶されているか判定するとき、認識回数が多い文言から順に判定する。ここで、認識回数とは、例えば、認識部12が見出し文言を画像から認識した回数のことである。見出し文言とは、見出し種別を示す文言のことである。
【0019】
登録部13は、見出し種別を特定する特定文字が抽出した文言に含まれているとき、抽出した文言を特定文字で特定される見出し種別に関連付けて記憶部に記憶する。すなわち、登録部13は、抽出した文言に特定文字が含まれるとき、特定文字で特定される見出し種別を示す見出し文言として、抽出した文言を記憶部20に記憶する。ここで、特定文字とは、見出し種別を示す見出し文言に含まれていると考えられる文字のことを言う。帳票の見出し種別である金額を示す見出し文言には、例えば、納入金額、納付額、および支払金額などが考えられるので、特定文字として金および額などが設定される。なお、以下の説明において、特定文字は、文字として説明するが、これに限らず特定文字に数字や文字列などを設定しても良い。
【0020】
登録部13は、関連付けられた見出し文言と同じ文言が画像から抽出されない見出し種別があるとき、その見出し種別を特定する特定文字が抽出した文言に含まれているか否かを判定する。
【0021】
登録部13は、見出し種別に対応する種別のデータが、抽出した文言の近傍にあるとき、抽出した文言を特定文字で特定される見出し種別に関連付けて記憶部20に記憶する。ここで、データの種別(以下、データ種別とも言う。)とは、例えば、数字、文字および文字列などのデータの種類のことを言う。見出し種別に対応するデータ種別は、見出し種別が金額であるとき、例えば、数字である。
【0022】
登録部13は、見出し種別に対応する文言(以下、補助文言とも言う。)が、抽出した文言の近傍にあるとき、抽出した文言を特定文字で特定される見出し種別に関連付けて記憶部20に記憶する。ここで、補助文言とは、例えば、見出し種別に対応するデータに付加される可能性のある文言のことを言う。補助文言は、見出し種別が金額であるとき、例えば、円である。
【0023】
登録部13は、抽出した文言を記憶部20に記憶するとき、抽出した文言と同じ文言に関連付けられた認識回数を加算する。登録部13は、例えば、画像から見出し文言と同じ文言を認識するごとに、記憶部20に記憶されている認識した文言と同じ見出し文言に関連付けられた認識回数をインクリメントしても良い。
【0024】
登録部13は、抽出した文言を記憶部20に記憶するとき、抽出した文言と同じ文言に関連付けられた認識日時を更新し、認識日時が所定の時間(以下、削除閾時間とも言う。)以上更新されないとき、記憶部20から認識日時に関連付けられた見出し文言を削除する。ここで、認識日時とは、例えば、画像から最後に見出し文言を認識した日時のことである。
【0025】
登録部13は、抽出した文言と同じ文言が見出し種別に関連付けられて記憶部20に記憶されていないとき、見出し種別を特定する特定文字が抽出した文言に含まれているか否かを判定する。すなわち、登録部13は、画像から抽出した文言の中で、見出しとして認識されない文言に特定文字が含まれているか否かを判定する。
【0026】
記憶部20は、例えば、見出し種別、見出し文言、認識回数、および認識日時などを関連付けて記憶する。
【0027】
また、記憶部20は、認識情報21と、見出し情報22と、特定情報23と、データ情報24と、設定情報25とを記憶する。認識情報21とは、例えば、後述する認識テーブル100、101に示す情報を格納する。見出し情報22とは、例えば、後述する見出しテーブル400、401に示す情報を格納する。特定情報23とは、例えば、後述する特定テーブル500に示す情報を格納する。データ情報24とは、例えば、後述するデータテーブル600に示す情報を格納する。設定情報25とは、例えば、後述する登録閾時間の設定値、削除閾時間の設定値、および記憶部20に同じ文言の見出し文言がない抽出した文言(以下、見出しとして認識されない文言とも言う。)を格納する。なお、認識情報21と、見出し情報22と、特定情報23と、データ情報24とは、それぞれテーブル以外のデータ形式を用いても良い。
【0028】
取得部30は、紙面の画像を取得する。取得部30は、例えば、スキャナでも良い。そして、取得部30は、光学的に紙面の画像を読み取る機能を有する。
【0029】
表示部40は、制御部10から入力された情報を表示する。
文字認識装置1について、さらに詳細に説明する。
【0030】
以下の説明では、文字認識装置1が文字を認識する紙面の一例として、帳票を用いて説明する。ただし、文字認識装置1は、帳票に限定されるものではなく、見出しとデータとが関連付けられて印刷されている(以下、記載されているとも言う。)各種紙面の文字認識に適用することができる。
【0031】
図1、
図4は、認識テーブルのデータ例を示す図である。
図1、
図4を参照して、認識テーブル100、101に格納されるデータを説明する。以下の説明では、認識テーブル100を参照して、認識情報21に格納されているデータを説明する。
【0032】
認識テーブル100は、
図1に示すように、見出し識別子、見出し種別、および見出し文言を関連付けて格納している。ここで、見出し識別子とは、見出し種別を識別する情報である。また、見出し種別には、例えば、紙面の種類により、記載されている可能性のある見出し種別が格納される。認識テーブル100には、例えば、ユーザが紙面から取得する全てのデータに関連する見出し種別が格納されても良い。
【0033】
見出し種別には、紙面が帳票である場合、例えば、銀行名、支店名、種目、口座番号、金額、受取人、および依頼人などの見出し種別が格納される。そして、文字認識装置1は、紙面が帳票である場合、認識テーブル100を参照して、帳票の画像から銀行名、支店名、種目、口座番号、金額、受取人、および依頼人の見出し種別を示す見出し文言を認識する処理をする。
【0034】
文字認識装置1は、例えば、帳票の画像から抽出した文言と同じ見出し文言が認識テーブル100に格納されているとき、抽出した文言が同じ見出し文言に対応する見出し種別を示す見出しであると認識する。そして、文字認識装置1は、紙面が帳票である場合、例えば、銀行名、支店名、種目、口座番号、金額、受取人、および依頼人を示す見出しが全て認識されないとき、認識できない見出し種別があると判定する。
【0035】
図2は、帳票の一例を示す図である。
図2を参照して、帳票200について説明する。
【0036】
帳票200には、例えば、銀行名、支店名、預金種目、口座番号、納付額、受取人、および依頼人などの見出しが記載されている。また、帳票200の見出しの近傍には、それぞれ見出しに対応するデータが記載されている。見出しの近傍とは、例えば、紙面の種類や見出し種別により異なる。見出しの近傍とは、紙面が帳票200であるとき、例えば、見出しの下、右下、および右側にある所定の領域のことを言う。見出しに対応するデータとは、例えば、見出し種別により決まる。見出しに対応するデータは、見出し種別が銀行名であるとき、例えば、文字列である。また、見出しに対応するデータは、見出し種別が金額であるとき、例えば、数字である。
【0037】
文字認識装置1が認識テーブル100を用いて、帳票200に記載された見出しの種別を認識する処理を説明する。
【0038】
抽出部11は、取得部30が取得した帳票200の画像から、銀行名、支店名、預金種目、口座番号、納付額、受取人、および依頼人などの文言を抽出する。
【0039】
認識部12は、抽出部11が抽出した文言と同じ文言を認識テーブル100に格納された見出し文言から検索し、同じ見出し文言が検索されると、抽出した文言が見出しを示すと認識する。さらに、認識部12は、認識テーブル100において、検索された同じ見出し文言に関連付けられた見出し種別を、抽出した文言が示す見出し種別であると認識する。認識部12は、例えば、帳票200の画像から納付額という文言を抽出したとき、認識テーブル100に格納された見出し文言から納付額を検索する。すると、認識部12は、抽出した納付額という文言が見出しを示すと認識する。そして、認識部12は、例えば、認識テーブル100の納付額に関連付けられた見出し種別である金額を、抽出した納付額という文言が示す見出し種別であると認識する。
【0040】
図5は、帳票の一例を示す図である。
図5を参照して、帳票300について説明する。
【0041】
帳票300は、帳票200の見出し種別と同じ見出し種別を異なる見出しで示した例である。帳票300は、例えば、ユーザにより任意に作成される。帳票300は、見出し種別の一つである口座番号を口番という見出しで示している。また、帳票300は、見出し種別の一つである金額を支払金額という見出しで示している。なお、帳票200では、見出し種別の一つである口座番号を口座番号という見出しで示している。帳票200では、見出し種別の一つである金額を納付額という見出しで示している。
【0042】
帳票300に記載された見出しの見出し種別を認識するとき、抽出部11は、例えば、取得部30が取得した帳票300の画像から、銀行名、支店名、預金種目、口番、支払金額、受取人、および依頼人などの文言を抽出する。
【0043】
そして、認識部12は、抽出部11が抽出した文言と同じ文言を認識テーブル100の見出し文言から検索し、検索された見出し文言に関連付けられた見出し種別を、抽出した文言が示す見出し種別であると認識する。このとき、認識部12は、認識テーブル100において、見出し文言に口番、および支払金額が格納されていないので、口番、および支払金額が示す見出し種別を認識することができない。すなわち、認識部12は、帳票300から口座番号、および金額の見出し種別を認識することができない。
【0044】
このように、文字認識装置1では、認識テーブル100(認識情報21)に未登録の見出し文言の見出し種別を認識することができないので、ユーザが見出しを新たな見出し文言で示す帳票300を作成したとき、帳票300の見出しの種別を認識できないことがある。すると、文字認識装置1では、見出しの種別に対応するデータ種別を判定できないため、データの数字、文字および文字列を認識できないことがある。
【0045】
このため、実施形態の文字認識装置1では、見出し情報22、特定情報23、データ情報24、および設定情報25を用いて、新たな見出し文言を、対応する見出し種別に関連付けて認識情報21に登録する処理を行う。
【0046】
図6、
図7は、見出しテーブルのデータ例を示す図である。
図6、
図7を参照して、見出しテーブル400、401に格納されるデータを説明する。以下の説明では、見出しテーブル400を参照して、見出し情報22に格納されているデータを説明する。
【0047】
見出しテーブル400は、
図6に示すように、見出し識別子、見出し種別、見出し文言、認識回数、認識日時、および登録フラグを関連付けて格納している。
【0048】
登録部13は、例えば、見出しテーブル400において、各見出し種別に関連付けられている見出し文言を認識回数の順番に並べても良い。また、登録部13は、見出し文言を認識テーブル100に登録するとき、見出し文言を見出しテーブル400に格納されている認識回数の順番で格納しても良い。認識テーブル100の銀行名は、例えば、見出しテーブル400の見出しの順番にしたがって、見出し文言を上から銀行名、銀行の順に並べている。
【0049】
そして、認識部12は、抽出した文言の見出し種別を認識する処理をするとき、認識テーブル100に格納されている順番で見出し文言と、抽出した文言の一致判定をしても良い。そして、認識部12は、先に抽出した文言と一致した見出し文言が示す見出し種別を、抽出した文言が示す見出し種別であると判定する。これにより、認識部12は、見出しとして認識される可能性の高い(認識回数の多い)見出し文言から順に抽出した文言と同じ文言であるか否かを判定するので、一致判定の処理回数を抑制し、認識処理の負担を軽減することができる。
【0050】
登録フラグとは、例えば、関連付けられている見出し文言を認識テーブル100に登録するか否かを設定するフラグである。
【0051】
登録部13は、登録フラグが1のとき、例えば、登録フラグに関連付けられている見出し文言を認識テーブル100に登録する。登録部13は、登録フラグが0のとき、例えば、登録フラグに関連付けられている見出し文言を認識テーブル100に登録しない。また、登録部13は、登録フラグが0であり、認識テーブル100に登録フラグに関連付けられた見出し文言が格納されているとき、例えば、登録フラグに関連付けられている見出し文言を認識テーブル100から削除しても良い。登録部13は、例えば、見出しテーブル400において、見出し文言である支払金額に関連付けられている登録フラグに0が設定されているので、認識テーブル100に支払金額を登録しない。
【0052】
以下の説明において、見出しテーブル400において、認識日時は、2013年3月15日11時40分が最新の日時であり、現在日時であるものとして説明する。
【0053】
登録部13は、見出しテーブル400において、関連付けられた認識日時が所定の時間以上(以下、登録閾時間とも言う。)更新されていない登録フラグを0に設定しても良い。登録閾時間は、例えば、ユーザから任意の日数や時間が入力されたとき、制御部10によって設定情報25に格納されても良い。
【0054】
登録部13は、例えば、登録閾時間に180日が設定されると、見出しテーブル400を参照し、見出し識別子5の見出し文言である支払金額の認識日時が2012年8月11日11時20分であり古い(180日以上前の日時)ため、対応する登録フラグに0を設定する。そして、登録部13は、認識テーブル100の見出し文言から支払金額を削除する。したがって、認識部12は、帳票から支払金額という文言が抽出されても、支払金額の見出し種別が金額であると認識しない。
【0055】
なお、登録フラグは、例えば、制御部10がユーザからの入力を受け付けることにより設定されても良い。以上により、登録部13は、認識テーブル100から使用頻度の低い見出し文言を削除する。したがって、認識部12は、抽出した文言と同じ文言を、認識テーブル100に格納された見出し文言から検索(文言の一致判定処理)するとき、文言の一致判定の処理回数を抑制し、検索時の負担を軽減することができる。
【0056】
また、登録部13は、見出しテーブル400において、所定時間ごと、または登録処理を行うときなどに、認識日時を参照し、削除閾時間以上更新されていない見出しを検索しても良い。そして、登録部13は、検索された認識日時に関連付けられた見出し文言を含むレコードを、認識テーブル100と見出しテーブル400とから削除しても良い。これにより、登録部13は、認識テーブル100から使用頻度の低い見出し文言を削除する。したがって、認識部12は、抽出した文言と同じ文言を、認識テーブル100に格納された見出し文言から検索(文言の一致判定の処理)するとき、文言の一致判定の処理回数を抑制し、検索時の文言の比較処理の負担を軽減することができる。さらに、登録部13は、認識テーブル100と見出しテーブル400とから、使用頻度の低い見出し文言を含むレコードを削除するので、記憶部20において、認識情報21と見出し情報22との使用領域をクリーンアップすることができる。
【0057】
図8は、特定テーブルのデータ例を示す図である。
図8を参照して、特定テーブル500に格納されるデータを説明する。以下の説明では、特定テーブル500を参照して、特定情報23に格納されているデータを説明する。
【0058】
特定テーブル500は、
図8に示すように、見出し種別、および特定文字を関連付けて格納している。
【0059】
特定テーブル500では、特定文字として、見出し種別を一意に特定することができる文字が設定される。見出し種別の種目には、例えば、見出し文言として、預金種目や種目などが考えられるので、見出し文言に共通する文字である種と目とが特定文字として格納されている。また、特定文字には、他の見出し種別の見出しに使用される可能性が低い文字のみを設定すると良い。これにより、登録部13は、特定文字を用いて抽出した文言の見出し種別を判定するときの精度を向上することができる。
【0060】
なお、特定テーブル500には、見出し種別である受取人と依頼人とを特定する特定文字として、人が格納されていない。これは、人という文字は、受取人と依頼人との見出し種別に共通して使用されている文言であり、どちらを示す見出し文言にも含まれる可能性が高い。したがって、登録部13は、抽出した文言の見出し種別を特定するとき、特定文字として人を用いると、受取人と依頼人との見出し種別を混同する可能性があるためである。
【0061】
図9は、データテーブルのデータ例を示す図である。
図9を参照して、データテーブル600に格納されるデータを説明する。以下の説明では、データテーブル600を参照して、データ情報24に格納されているデータを説明する。
【0062】
データテーブル600は、
図9に示すように、見出し識別子、見出し種別、データ種別、および補助文言を関連付けて格納している。
【0063】
データテーブル600では、データ種別に数字、および文字が見出し種別と関連付けられて格納されているが、これに限定されるものではない。データ情報24は、例えば、紙面に片仮名や英語のデータが記載されているとき、データに対応するデータ種別に、文字をさらに具体化したカナやアルファベットなどを指定する情報を格納しても良い。
【0064】
図10〜
図12は、認識情報に見出し文言を登録する処理を示すフローチャートである。
【0065】
図10を参照して、認識情報21に見出し文言を登録する処理を説明する。以下の説明では、一例として、帳票300の見出し文言を認識情報21に登録する処理を説明する。また、認識情報21、見出し情報22、特定情報23、およびデータ情報24には、それぞれ認識テーブル100、見出しテーブル400、特定テーブル500、およびデータテーブル600が格納されているものとして説明する。
【0066】
抽出部11は、取得部30で取得した帳票300の画像に含まれる文言を抽出する(S101)。抽出部11は、例えば、取得部30で取得した帳票300の画像に含まれる全ての文言を抽出する。
【0067】
そして、認識部12は、抽出部11で抽出した文言の見出し種別を認識する処理を実行する(S102)。認識部12は、例えば、認識テーブル100から、帳票300の画像に含まれる文言と同じ文言の見出し文言を検索する。そして、認識部12は、検索した見出し文言と関連付けられた見出し種別を、抽出した文言の見出し種別であると認識する。認識部12は、例えば、S101で抽出部11が抽出した文言の中から、見出し種別を判定する処理を未実行の文言を選択し、選択した文言の見出し種別を判定しても良い。これにより、認識部12は、全ての抽出した文言の見出し種別を判定する処理を実行しても良い。
【0068】
登録部13は、認識部12が抽出した文言の見出し種別を認識したか否かを判定する(S103)。認識部12は、例えば、抽出した文言の見出し種別を判定するごとに、判定の結果を登録部13に通知する。そして、登録部13は、認識部12から通知された判定の結果に基づいて、認識部12が抽出した文言の見出し種別を認識したか否かを判定する。
【0069】
登録部13は、認識部12が抽出した文言の見出し種別を認識したとき(S103にてYes)、認識した見出し種別に対応する見出しテーブル400の認識回数と認識日時とを更新する(S104)。そして、登録部13は、S106の処理を実行する。このとき、登録部13は、例えば、図示しない計時手段を用いて認識日時を取得しても良い。なお、計時手段には、例えば、文字認識装置1が有するCPUのクロックをカウントすることにより、日時に関する情報を取得する構成を用いても良いし、独立して日時をカウントする装置を用いても良い。
【0070】
登録部13は、認識部12で抽出した文言の見出し種別が認識できないとき(S103にてNo)、見出し種別が認識できない抽出した文言(以下、見出し種別が認識できない文言とも言う。)を設定情報25に格納する(S105)。
【0071】
認識部12は、抽出部11がS101で抽出した、全ての文言の見出し種別を判定したか否かを判定する(S106)。なお、認識部12は、各種設定に基づいて、抽出した文言の中から見出し種別を判定する文言を限定しても良い。この場合には、S106において、限定された文言の見出し種別を全て判定したか否かを判定しても良い。認識部12は、例えば、抽出した文言が文字列のとき、文字数が所定数よりすくない文字列を見出しではないと判定し、その文字列の見出し種別を判定しなくても良い。また、文字認識装置1は、抽出した文言から、認識テーブル100に格納されている見出し種別を示す見出しが全て認識されたとき、認識テーブル100に見出し文言を登録する処理を終了しても良い。
【0072】
認識部12は、全ての抽出した文言の見出し種別を判定していないとき(S106にてNo)、S102の処理を実行する。
【0073】
認識部12は、全ての抽出した文言の見出し種別を判定したとき(S106にてYes)、登録部13に全ての抽出した文言の見出し種別の判定が終了したことを通知する。
【0074】
そして、登録部13は、認識テーブル100に格納されている見出し種別の中で、帳票300から認識できない見出し種別があるか否かを判定する(S107)。認識テーブル100の見出し種別には、例えば、帳票300で使用される見出し種別が予め格納されている。したがって、関連付けられた見出し文言と同じ文言が帳票300から抽出されない見出し種別があるとき、登録部13は、帳票300から対応する見出しが認識できない見出し種別があると判定する。
【0075】
登録部13は、帳票300から対応する見出しが認識できない見出し種別がないとき(S107にてNo)、認識テーブル100に見出し文言を登録する処理を終了する。認識部12は、例えば、認識情報21に認識テーブル101に示すデータが格納されているとき、帳票300の画像から抽出した文言の中から、見出し文言と同じ文言を検索し、全ての見出し種別に対応する見出しを認識することができる。したがって、文字認識装置1は、認識情報21に新たな見出し文言の登録をすることなく、見出し文言を登録する処理を終了する。
【0076】
登録部13は、帳票300から対応する見出しが認識できない見出し種別があるとき(S107にてYes)、S201の処理を実行する。認識部12は、例えば、認識情報21に認識テーブル100に示すデータが格納されているとき、口座番号と金額との見出し種別に対応する文言が帳票300にないので、認識テーブル100に格納されている全ての見出し種別に対応する見出しを認識することができない。したがって、文字認識装置1は、新たな見出し文言を登録する処理を実行する。
【0077】
図11を参照して説明する。
登録部13は、特定テーブル500から認識できなかった見出し種別に対応する特定文字を取得する(S201)。登録部13は、例えば、帳票300から口座番号と金額に対応する見出し種別を認識できないとき、特定テーブル500から口座番号と金額とに関連付けられた特定文字を取得する。
【0078】
さらに、登録部13は、設定情報25から見出し種別が認識できない文言を取得する(S202)。すなわち、登録部13は、S105で設定情報25に格納した見出し種別が認識できない文言を取得する。登録部13は、例えば、認識情報21に認識テーブル100が格納されているとき、帳票300の支払金額と口番に対応する見出し種別を認識できないので、設定情報25から見出し種別が認識できない文言として、支払金額と口番とを取得する。また、登録部13は、例えば、S105で設定情報25に格納した見出し種別が認識できない文言の中から一つずつ見出し種別が認識できない文言を取得しても良い。そして、登録部13は、例えば、S105で設定情報25に格納した見出し種別が認識できない文言の中から、後述するS203〜S206の処理を実行していない文言を取得しても良い。
【0079】
そして、登録部13は、S202で取得した見出し種別が認識できない文言が、S201で取得した特定文字を含むか否かを判定する(S203)。登録部13は、例えば、見出し種別が認識できない文言である支払金額に特定文字である金が含まれるか否かを判定する。
【0080】
登録部13は、見出し種別が認識できない文言が特定文字を含まないとき(S203にてNo)、S202において、設定情報25に格納されている全ての見出し種別を取得したか否かを判定する(S204)。
【0081】
登録部13は、S202において、設定情報25に格納されている全ての見出し種別を取得していないとき(S204にてNo)、S202の処理を実行する。
【0082】
登録部13は、S202において、設定情報25に格納されている全ての見出し種別を取得したとき(S204にてYes)、認識情報21に見出し文言を登録する処理を終了する。
【0083】
登録部13は、抽出した文言が特定文字を含むとき(S203にてYes)、見出し種別が認識できない文言の近傍にデータがあるか否かを判定する(S205)。文言の近傍は、例えば、紙面の種類によって設定されても良い。文言の近傍は、例えば、紙面が帳票であるとき、データが見出しの下、右下、および右側の領域にある可能性が高いので、見出しの下、右下、および右側の領域であると設定される。文言の近傍は、例えば、見出しの種別によって設定されても良い。文言の近傍は、例えば、紙面が解答用紙であり、見出しが名前の場合、下、および右側の領域にある可能性が高いので、見出しの下、および右側の領域であると設定される。
【0084】
登録部13は、見出し種別が認識できない文言の近傍にデータがないとき(S205にてNo)、S204の処理を実行する。
【0085】
登録部13は、見出し種別が認識できない文言の近傍にデータがあるとき(S205にてYes)、見出し種別が認識できない文言の近傍のデータの種別が特定文字に関連付けられた見出し種別に対応するか否かを判定する(S206)。登録部13は、例えば、特定テーブル500から見出し種別が認識できない文言に含まれる特定文字に関連付けられた見出し種別を取得する。また、登録部13は、取得した見出し種別に関連付けられたデータ種別をデータテーブル600から取得する。さらに、登録部13は、帳票300の画像から見出し種別が認識できない文言の近傍のデータを取得し、取得したデータ種別がデータテーブル600から取得したデータ種別に対応(一致)するか否かを判定しても良い。
【0086】
登録部13は、抽出した文言の近傍のデータの種別が見出し種別に対応しないとき(S206にてNo)、S204の処理を実行する。
【0087】
登録部13は、見出し種別が認識できない文言の近傍のデータの種別が見出し種別に対応するとき(S206にてYes)、データに連続して記載された補助文言が見出し種別に対応するか否かを判定する(S207)。登録部13は、例えば、特定テーブル500から見出し種別が認識できない文言に含まれる特定文字に関連付けられた見出し種別を取得する。また、登録部13は、取得した見出し種別に関連付けられた補助文言をデータテーブル600から取得する。さらに、登録部13は、帳票300の画像から見出し種別が認識できない文言のデータに連続して記載された文言を取得し、取得した文言がデータテーブル600から取得した補助文言に対応(一致)するか否かを判定しても良い。なお、登録部13は、データテーブル600に示すように、特定文字に関連付けられた見出し種別が口座番号の場合、補助文言がないとき、見出し種別に補助文言が対応すると判定しても良い。
【0088】
登録部13は、補助文言が見出し種別に対応しないとき(S207にてNo)、S204の処理を実行する。
【0089】
登録部13は、補助文言が見出し種別に対応するとき(S207にてYes)、見出し種別を認識できない文言が見出しを示す文言(以下、特定見出し文言とも言う。)であると判定する(S208)。
【0090】
図12を参照して説明する。
登録部13は、認識情報21に特定見出し文言と同じ見出し文言が格納されているか否かを判定する(S301)。
【0091】
登録部13は、認識情報21に特定見出し文言と同じ見出し文言が格納されているとき(S301にてYes)、見出し情報22において、特定見出し文言と同じ見出し文言に関連付けられて格納されている認識日時と認識回数とを更新する(S302)。そして、登録部13は、後述するS307の処理を実行する。
【0092】
登録部13は、認識情報21に特定見出し文言と同じ見出し文言が格納されていないとき(S301にてNo)、見出し情報22に特定見出し文言と同じ見出し文言が格納されているか否かを判定する(S303)。
【0093】
登録部13は、見出し情報22に特定見出し文言と同じ見出し文言が格納されているとき(S303にてNo)、S307の処理を実行する。S303にてNoとは、見出し情報22に特定見出し文言があるのにもかかわらず、認識情報21に特定見出し文言が登録されていない状態を示す。すなわち、見出し情報22において、特定見出し文言に関連付けられている登録フラグに0が設定されている状態である。このとき、認識部12は、特定見出し文言が今回に限り、特定文字に関連付けられた見出しを示すと認識しても良い。
【0094】
なお、登録部13は、S303にてNoのとき、見出し情報22において、特定見出し文言に関連付けられている登録フラグを1に変更しても良い。そして、登録部13は、特定文字で特定された特定見出し文言を認識情報21に登録しても良い。このとき、登録部13は、見出し情報22において、特定見出し文言に関連付けられている認識回数と認識日時とを更新しても良い。これにより、登録部13は、見出しの認識処理において、特定見出し文言が示す見出しを、認識部12が認識できるようにしても良い。そして、登録部13は、S307の処理を実行しても良い。
【0095】
登録部13は、見出し情報22に特定見出し文言と同じ見出し文言が格納されていないとき(S303にてYes)、見出し情報22に特定見出し文言を含むレコードを生成する(S304)。このとき、登録部13は、例えば、特定見出し文言が口番の場合、見出しテーブル401に示すように、口番に対応するレコードを生成する。そして、登録部13は、登録フラグに1を設定する。
【0096】
そして、登録部13は、S304で見出し情報22にレコードを生成した特定見出し文言を、認識情報21に登録する(S305)。登録部13は、例えば、特定見出し文言が口番のとき、認識テーブル101に示すように、口座番号に関連する見出し文言として、口番を格納する。
【0097】
登録部13は、見出し情報22において、特定見出し文言に関連付けられた認識日時と認識回数とを更新する(S306)。
【0098】
登録部13は、帳票300の画像から認識できない見出し種別がないか否かを判定する(S307)。すなわち、登録部13は、認識情報21に格納された見出し種別に関連付けられた全ての見出し文言と同じ文言が、帳票300の画像からそれぞれ認識されたか否かを判定する。
【0099】
登録部13は、帳票300の画像から認識できない見出し種別がないとき(S307にてYes)、認識テーブル100に見出し文言を登録する処理を終了する。
【0100】
登録部13は、帳票300の画像から認識できない見出し種別があるとき(S307にてNo)、S202の処理を実行する。
【0101】
以上の処理において、S203、S205、S206、S207の処理は、適宜選択して実行しても良い。登録部13は、見出し種別を認識できない文言が特定文字を含むとき、S205、S206、S207の処理の実行をせずに、S208において、見出し種別を認識できない文言が見出しを示すと判定しても良い。なお、登録部13は、S203、S205、S206、S207の中から、実行する処理を増やすほど、見出し種別を認識できない文言から、見出しを特定する精度を向上することができる。
【0102】
図13は、コンピュータ装置の一実施例を示すブロック図である。
図13を参照して、文字認識装置1の構成について説明する。
【0103】
図13において、コンピュータ装置700は、制御回路701と、記憶装置702と、読書装置703と、記録媒体704と、通信インターフェイス705(通信I/F)と、入出力インターフェイス706(入出力I/F)と、表示装置707とネットワーク708とを備えている。また、各構成要素は、バス709により接続されている。
【0104】
制御回路701は、コンピュータ装置700全体の制御をする。そして、制御回路701は、例えば、CPU、マルチコアCPU、FPGA(Field Programmable Gate Array)およびPLD(Programmable Logic Device)などである。制御回路701は、例えば、
図1において、制御部10として機能する。なお、CPU、FPGA、およびPLDのキャッシュは、例えば、
図1に示す設定情報25を記憶しても良い。
【0105】
記憶装置702は、各種データを記憶する。そして、記憶装置702は、例えば、ROM(Read Only Memory)およびRAM(Random Access Memory)などのメモリや、HD(Hard Disk)などで構成される。記憶装置702は、例えば、
図1において、記憶部20として機能する。そして、記憶装置702は、例えば、
図1に示す、認識情報21と、見出し情報22と、特定情報23と、データ情報24と、設定情報25とを記憶しても良い。
【0106】
また、ROMは、ブートプログラムなどのプログラムを記憶している。RAMは、制御回路701のワークエリアとして使用される。HDは、OS、アプリケーションプログラム、ファームウェアなどのプログラム、および各種データを記憶している。
【0107】
記憶装置702は、例えば、制御回路701を、制御部10として機能させる文字認識プログラムを記憶する。
【0108】
文字認識装置1は、認識情報21に見出し文言を登録する処理をするとき、記憶装置702に記憶された文字認識プログラムをRAMに読み出す。そして、文字認識装置1は、制御回路701で、RAMに読み出された文字認識プログラムを実行することにより、認識情報21に見出し文言を登録する処理をする。
【0109】
なお、文字認識プログラムは、制御回路701が通信インターフェイス705を介してアクセス可能であれば、ネットワーク708上のサーバが有する記憶装置に記憶されていても良い。
【0110】
読書装置703は、制御回路701に制御され、着脱可能な記録媒体704のデータのリード/ライトを行なう。そして、読書装置703は、例えば、FDD(Floppy Disk Drive)、CDD(Compact Disc Drive)、DVDD(Digital Versatile Disk Drive)、BDD(Blu−ray(登録商標) Disk Drive)およびUSB(Universal Serial Bus)などである。
【0111】
記録媒体704は、各種データを保存する。記録媒体704は、例えば、文字認識プログラムを記憶する。さらに、記録媒体704は、例えば、
図1に示す、認識情報21と、見出し情報22と、特定情報23と、データ情報24と、設定情報25とを記憶しても良い。
【0112】
そして、記録媒体704は、読書装置703を介してバス709に接続され、制御回路701が読書装置703を制御することにより、データのリード/ライトが行なわれる。また、記録媒体704は、例えば、FD(Floppy Disk)、CD(Compact Disc)、DVD(Digital Versatile Disk)、BD(Blu−ray(登録商標) Disk)、およびフラッシュメモリなどである。
【0113】
通信インターフェイス705は、ネットワーク708を介してコンピュータ装置700と他の装置とを通信可能に接続する。
【0114】
入出力インターフェイス706は、例えば、キーボード、マウス、タッチパネル、およびスキャナなどと接続され、接続された装置から各種情報を示す信号が入力されると、バス709を介して入力された信号を制御回路701に出力する。また、入出力インターフェイス706は、制御回路701から出力された各種情報を示す信号がバス709を介して入力されると、接続された各種装置にその信号を出力する。入出力インターフェイス706は、例えば、削除閾時間と登録閾時間の設定値の入力を受け付けても良い。また、入出力インターフェイス706に接続されるスキャナは、例えば、
図1に示す取得部30として機能する。
【0115】
表示装置707は、例えば、入出力インターフェイス706に接続され、制御部10から入力される信号に基づいて、各種情報を表示する。また、表示装置707は、例えば、例えばCRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、およびOELD(Organic Electroluminescence Display)などである。そして、表示装置707は、例えば、
図1において、表示部40として機能する。
【0116】
ネットワーク708は、例えば、LAN、無線通信、またはインターネットなどであり、コンピュータ装置700と他の装置を通信接続する。
【0117】
以上のように、実施形態の文字認識装置1は、紙面の画像から抽出した文言に、見出し種別に対応する特定文字が含まれるとき、抽出した文言が特定文字に対応する見出し種別を示すと判定する。そして、文字認識装置1は、特定文字に対応する見出し種別に関連付けて、抽出した文言を見出し文言として認識情報21に格納する。これにより、文字認識装置1は、認識情報21に新たな見出し文言を自動で設定するので、予め認識情報21に格納されていない見出し文言からも見出し種別を認識することができる。よって、文字認識装置1は、多様な見出しの見出し種別を認識することができる。したがって、文字認識装置1は、多様な見出しについて対応するデータを検索し、検索したデータの文字を認識することができる。
【0118】
実施形態の文字認識装置1は、紙面に記載される見出しの見出し種別の中で、紙面の画像から抽出した文言により認識できない見出し種別があるとき、認識できない見出し種別に対応する特定文字を用いて、抽出した文言から新たな見出し文言を設定する。これにより、文字認識装置1は、認識できない見出し種別に対応する新たな見出し文言のみを、抽出した文言から特定し、新たな見出し文言として設定する。すなわち、文字認識装置1は、新たな見出し文言の設定をするとき、認識できない見出し種別に絞り込んで対応する新たな見出し文言を設定するので、抽出した文言から新たな見出し文言を設定する精度を向上することができる。
【0119】
実施形態の文字認識装置1は、紙面の画像から抽出した文言の近傍にデータがあるとき、抽出した文言の中で、特定文字を含む文言を新たな見出し文言に設定する。これにより、文字認識装置1は、データを有する見出しの見出し文言のみを、抽出した文言から特定し、新たな見出し文言として設定する。すなわち、文字認識装置1は、新たな見出し文言の設定をするとき、データを有する見出しに絞り込んで新たな見出し文言を設定するので、抽出した文言から新たな見出し文言を設定する精度を向上することができる。
【0120】
実施形態の文字認識装置1は、データを補助する文言がデータに対応するとき、抽出した文言の中で、特定文字を含む文言を新たな見出し文言に設定する。よって、文字認識装置1は、新たな見出し文言の設定をするとき、見出しが有するデータを補助する文言が、データに対応する見出しに絞り込んで新たな見出し文言を設定するので、抽出した文言から新たな見出し文言を設定する精度を向上することができる。
【0121】
実施形態の文字認識装置1は、
図14に示す設定画面800のように、見出し情報22に格納した見出し文言、認識回数、認識日時、および登録フラグなどを表示部40に表示しても良い。これにより、文字認識装置1は、ユーザに見出し文言の認識回数と認識日時とを提示することができる。また、文字認識装置1は、設定画面800上で登録フラグの変更の入力を受け付けても良い。これにより、ユーザは、見出しとして用いない見出し文言を選択することができる。
【0122】
なお、本実施形態は、以上に述べた実施形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。