実施形態の文字認識装置について説明する。
図1は、文字認識装置の一実施例を示す機能ブロック図である。
図1を参照して、文字認識装置1について説明する。
文字認識装置1は、制御部10と、記憶部20と、読取部30と、表示部40とを備える。文字認識装置1は、例えば、後述するコンピュータ装置である。
制御部10は、取得部11と、抽出部12と、生成部13と、認識部14と、判別部15との機能を有する。
取得部11は、紙面の画像から1以上のアイテムの画像を取得する。紙面とは、例えば、帳票、解答用紙、健康診断表、およびアンケート用紙などであり、見出しとデータとが関連付けられて記載されている用紙のことである。アイテムとは、例えば、紙面に記載された図形および文字列である。以下の説明において、文字列とは、1文字以上の文字を含む文言を意味する。
抽出部12は、取得した1以上のアイテムの画像から、第1サイズ以上のアイテムの画像を抽出する。第1サイズとは、例えば、紙面の特徴となるアイテムの画像を抽出するときに用いられる閾値である。第1サイズ以上のアイテムの画像とは、例えば、紙面の特徴を示すアイテムの画像である。以下の説明では、紙面の特徴を示すアイテムの画像のことを特徴画像とも言う。
また、第1サイズは、アイテムの画像の縦幅のサイズと横幅のサイズとを含んでも良い。このとき、抽出部12は、取得した1以上のアイテムの画像から、縦幅のサイズが第1サイズに含まれる縦幅のサイズ以上、および横幅のサイズが第1サイズに含まれる横幅のサイズ以上のアイテムの画像を抽出しても良い。
抽出部12は、取得した1以上のアイテムの画像が1以上の文字列の画像を含むとき、1以上の文字列の画像から、所定の文字サイズ以上の文字を含む第1文字数以上の文字列の画像を抽出する。所定の文字サイズとは、例えば、紙面の特徴となる文字列の画像を抽出するために設定された文字のサイズの閾値である。所定の文字サイズとは、文字の縦幅のサイズと横幅のサイズとを含んでも良い。そして、所定の文字サイズには、第1文字サイズと第1文字サイズよりも小さい第2文字サイズを含んでも良い。第1文字数は、例えば、紙面の特徴となる文字列の画像を抽出するために用いられる閾値である。
抽出部12は、紙面が有する罫線の配置と同じ罫線の配置と、紙面から第1サイズを用いて抽出したアイテムの画像と同じアイテムの画像とを格納している定義体が記憶部に記憶されているとき、第1サイズよりも小さい第2サイズ以上のアイテムの画像を抽出する。第2サイズは、例えば、紙面の特徴となるアイテムの画像を抽出するときに用いられる閾値である。
抽出部12は、紙面が有する罫線の配置と同じ罫線の配置と、紙面から第1文字数を用いて抽出した文字列の画像と同じ文字列の画像とを格納している定義体が記憶部に記憶されているとき、第1文字数よりも少ない第2文字数以上の文字列の画像を抽出する。第2文字数は、例えば、紙面の特徴となる文字列の画像を抽出するために用いられる閾値である。
生成部13は、アイテムの画像を取得した紙面の種類と抽出したアイテムの画像とを関連付けて格納する定義体を生成する。
生成部13は、アイテムの画像を取得した紙面の種類と、抽出したアイテムの画像と、抽出したアイテムの画像が記載された領域を示す画像領域とを関連付けて格納する定義体を生成する。
生成部13は、アイテムの画像を取得した紙面が有する罫線の配置と、同じ罫線の配置を格納した定義体が記憶部に記憶されていないとき、アイテムの画像を取得した紙面の種類と、抽出したアイテムの画像とを関連付けて格納する定義体を生成する。
生成部13は、項目種に対応する種類のデータが、項目種を示すと認識した文字列の近傍にあるとき、項目種と、項目種に対応する種類のデータが記載された領域を示す認識領域とを関連付けて格納する定義体を生成する。項目種とは、例えば、紙面の見出しの種別のことである。紙面の見出しの種別とは、例えば、紙面が帳票であるとき、銀行名、支店名、預金種目、口座番号、金額、受取人、および依頼人などのことを言う。データの種類とは、例えば、漢字、カナ、英字および数字などの種類のことを言う。以下の説明においては、項目種を示すと認識した文字列のことを見出し文言とも言う。また、項目種に対応するデータのことを項目データとも言う。
生成部13は、データが罫線に囲まれているとき、罫線に囲まれた領域を認識領域にする。
生成部13は、データが罫線に囲まれていないとき、データを囲み、他の文言を含まない領域を認識領域にする。
認識部14は、取得した1以上のアイテムの画像が文字列の画像を含むとき、文字列の文言と同じ見出し文言に関連付けられた項目種を見出し情報から検索し、文字列が検索した項目種を示すと認識する。
判別部15は、取得したアイテムの画像と同じアイテムの画像を格納した定義体を検索し、アイテムを取得した紙面の種類を、検索された定義体に格納された紙面の種類であると判別する。
判別部15は、取得したアイテムの画像と同じアイテムの画像と、取得したアイテムの画像領域と同じアイテムの画像領域とを関連付けて格納した定義体を検索し、アイテムを取得した紙面の種類を、検索された定義体に格納された紙面の種類であると判別する。
また、記憶部20は、定義体情報21と、取引情報22と、判別情報23と、アイテム情報24と、抽出情報25と、見出し情報26と、設定情報27とを記憶する。
定義体情報21には、例えば、文字認識をする紙面の種類ごとに、紙面の種別を判別し、紙面の文字認識をするときに用いられる情報を格納した定義体が記憶される。
取引情報22には、例えば、文字認識をする紙面の種類ごとに、紙面から読み取った各項目種に対応するデータに関する情報を格納した取引データが記憶される。
判別情報23には、例えば、紙面の種類を判別した結果に関する情報を格納した判別データが記憶される。
アイテム情報24には、例えば、文字認識をする紙面の種類ごとに、紙面から取得部11が取得したアイテムに関する情報を格納したアイテムデータが記憶される。
抽出情報25には、例えば、文字認識をする紙面の種類ごとに、抽出部12が抽出したアイテムを示す情報を格納した抽出データが記憶される。
見出し情報26には、例えば、紙面が有する項目種ごとに、使用される見出し文言に関する情報を格納した見出しデータが記憶される。
設定情報27には、例えば、第1サイズ、第2サイズ、第1文字サイズ、第2文字サイズ、第1文字数、および第2文字数などの設定情報が記憶される。
読取部30は、紙面の画像を取得する。読取部30は、例えば、スキャナでも良い。そして、読取部30は、光学的に紙面の画像を読み取る機能を有する。
表示部40は、制御部10から入力された情報を表示する。
文字認識装置1について、さらに詳細に説明する。
以下の説明では、文字認識装置1が文字認識をする紙面の一例として、帳票を用いて説明する。ただし、文字認識装置1は、帳票に限定されるものではなく、見出しとデータとが関連付けられて記載された各種紙面の文字認識に適用することができる。
図2、図3は、帳票の種類を判別する処理を示すフローチャートである。
図2、図3を参照して、帳票の種類を判別する処理を説明する。また、図2、図3を参照して、項目データを認識する処理を説明する。
以下の説明では、記憶部20には、予め定義体情報21と、見出し情報26と、設定情報27とが記憶されているものとする。そして、帳票は、例えば、ユーザにより読取部30に設置されているものとする。また、読取部30は、後述する帳票100の画像を読み取ったものとして説明する。文字認識装置1による図形、文字列、および罫線の認識は、例えば、OCR機能などを用いて実行しても良い。さらに、文字認識装置1は、例えば、各種データに識別子や名称を付与するとき、乱数を用いたアルゴリズムや所定の演算を用いたアルゴリズムなどを使用して任意の識別子や名称を付与しても良い。
図2を参照して説明する。
読取部30は、図10に示す帳票100の画像を読み取る(S101)。そして、読取部30は、帳票100の画像を取得部11に出力する。
図10を参照して、読取部30で読み取られた帳票100について説明する。
図10は、帳票の一例を示す図である。
帳票100には、図10に示すように、項目種を示す見出し文言として、銀行名、支店名、預金種目、口座番号、振込額、受取人、および依頼人が記載されている。そして、銀行名、支店名、預金種目、口座番号、振込額、受取人、および依頼人は、それぞれ銀行名、支店名、種目、口座番号、金額、受取人、および依頼人の項目種を示す見出し文言である。また、帳票100は、第1サイズ以上のサイズを有するアイテムとして、図形SH1、SH3および文字列CH1、CH2を含む。さらに、帳票100は、第1サイズよりも小さく、第2サイズ以上のサイズを有するアイテムとして、図形SH5および文字列CH3を含む。
図2を参照して説明する。
取得部11は、読取部30から帳票100の画像が入力されると、帳票100の画像に含まれる罫線の配置を取得する(S102)。そして、取得部11は、判別部15に取得した罫線の配置を出力する。
図11を参照して、取得部11による罫線の配置を取得する処理について説明する。
図11は、帳票の一例を示す図である。図11は、図10で示した帳票100の一部の領域を拡大した図である。以下の説明では、罫線L1の配置を取得する処理について説明する。取得部11は、その他の罫線(例えば、図11に示す罫線L2〜L7)についても同様に、罫線の配置を取得する。ただし、取得部11が罫線の配置を取得する方法は、以下に説明する方法に限定するものではない。
取得部11は、例えば、OCR機能を用いて、帳票100の画像から罫線L1を抽出する。そして、取得部11は、罫線L1の配置として、罫線座標(A1、B1)−(A2、B1)を取得する。罫線座標(A1、B1)−(A2、B1)は、帳票100上に設定された座標(A1、B1)と座標(A2、B1)とを結ぶ直線が罫線L1であることを示す情報である。座標(A1、B1)は、例えば、罫線L1の始点の座標である。また、座標(A2、B1)は、例えば、罫線L1の終点の座標である。
図2を参照して説明する。
判別部15は、取得部11から帳票100の罫線の配置が入力されると、定義体情報21に記憶されている定義体を参照して、帳票100と同じ罫線の配置を格納した定義体(以下、罫線が一致する定義体とも言う。)があるか否かを判定する(S103)。このとき、判別部15は、例えば、取得部11からの帳票100に記載された各罫線の罫線座標の入力を受け付け、入力された罫線座標と定義体情報21に記憶されている各定義体の罫線座標との一致判定をする。これにより、判別部15は、帳票100と罫線が一致する定義体があるか否かを判定しても良い。
図12、図13を参照して、定義体に格納されている情報を説明する。
図12は、帳票判別情報の一例を示す図である。図13は、文字認識情報の一例を示す図である。定義体には、図12に示す帳票判別情報200と、図13に示す文字認識情報201とが格納されている。以下の説明では、一例として、帳票100に対応する定義体に格納された情報について説明する。ただし、定義体が格納する情報は、帳票判別情報200、および文字認識情報201に限定されるものではなく、文字認識装置1が紙面の種別を判別し、紙面の文字認識をするときに用いられる情報を格納すれば良い。また、文字認識装置1は、文字認識をする他の帳票についても、同形式の定義体を格納しても良い。
帳票判別情報200には、図12に示すように、帳票種類と、罫線情報と、特徴情報とが関連付けられて格納されている。
帳票種類には、帳票100の種類を示す帳票識別子を格納する。帳票Nは、帳票100の種類を示す帳票識別子である。
罫線情報は、罫線識別子と、罫線座標とを関連付けて格納する。罫線識別子は、帳票100に記載された各罫線を識別する情報を示す。なお、罫線識別子は、文字認識装置1が罫線情報を生成するときに、各レコードに付与しても良い。
特徴情報は、特徴識別子と、画像領域と、特徴画像とを関連付けて格納する。
特徴識別子は、帳票100に記載された各特徴画像を識別する情報を示す。なお、特徴識別子は、文字認識装置1が特徴情報を生成するときに、各レコードに付与しても良い。
画像領域は、帳票100において、特徴画像が記載されている領域を示す。特徴識別子SH1に対応する画像領域(C3、D3)−(C4、D4)は、例えば、図11に示すように、図形SH1を囲む矩形の左上の座標(C3、D3)と右下の座標(C4、D4)とを示す。そして、画像領域(C3、D3)−(C4、D4)は、左上の座標(C3、D3)と右下の座標(C4、D4)とを結ぶ線を対角線とする矩形を示す情報として用いられる。なお、画像領域が示す矩形は、例えば、特徴画像を囲む矩形の中で最小の矩形としても良い。
特徴画像は、帳票100に特有のアイテムの画像データである。特徴画像IM2は、例えば、画像領域(C3、D3)−(C4、D4)で示される領域を切り出した図形1の画像データである。
文字認識情報201には、図13に示すように、項目種と、認識領域と、データ種と、最大桁数とが帳票種類に関連付けられて格納されている。
認識領域とは、帳票100において、項目種に対応する項目データが記載されている領域を示す情報である。銀行名(項目種)に対応する認識領域(G1、H1)−(G2、H2)は、図11に示すように、銀行名に対応する項目データである南多摩を囲む矩形の左上の座標(G1、H1)と右下の座標(G2、H2)とを示す。これにより、認識領域(G1、H1)−(G2、H2)は、左上の座標(G1、H1)と右下の座標(G2、H2)とを結ぶ線を対角線とする矩形を示す情報として用いられる。なお、認識領域が示す矩形は、例えば、項目データを囲む矩形の中で最小の矩形としても良い。
最大桁数とは、項目データの最大の文字数を示す情報である。そして、認識部14は、帳票100の文字認識をするとき、例えば、項目種に関連付けられた最大文字数よりも多い文字数を用いたデータを項目データとして認識しない。
図2を参照して説明する。
判別部15は、帳票100と同じ罫線の配置を格納した定義体が定義体情報21に記憶されていないとき(S103にてNo)、帳票100の種類を罫線の一致する定義体がない新規の帳票であると判別する(S104)。そして、判別部15は、後述するS206の処理を実行する。
図3を参照して説明する。
判別部15は、帳票100と同じ罫線の配置を格納した定義体(以下、罫線が一致する定義体とも言う。)が定義体情報21に記憶されているとき(S103にてYes)、罫線が一致する定義体に格納されている各特徴画像の画像領域を取得する(S201)。
判別部15は、帳票100からS201で取得した画像領域に記載された各アイテムの画像を取得する(S202)。なお、判別部15は、紙面に記載されたアイテム画像と定義体に格納されている特徴画像とが同じ画像であっても、互いの画像領域が異なっているとき、紙面から特徴画像と同じアイテムの画像を取得しない。また、判別部15は、紙面に記載されたアイテム画像と定義体に格納されている特徴画像とが同じ画像であり、互いの画像領域が同じとき、紙面から特徴画像と同じアイテムの画像を取得する。
そして、判別部15は、S202で取得した各アイテムの画像と、定義体に格納された各特徴画像とがそれぞれ一致(以下、特徴画像が一致するとも言う。)しているか否かを判定する(S203)。すなわち、判別部15は、S201〜S203を実行することにより、取得したアイテムの画像と同じ特徴画像と、取得したアイテムの画像領域と同じ特徴画像の画像領域とを関連付けて格納した定義体があるか否かを判定している。
判別部15は、S202で取得した各アイテムの画像と、定義体に格納された各特徴画像とが全て一致しないとき(S203にてNo)、帳票100の種類を罫線が一致する定義体はあるが、罫線が一致する定義体と特徴画像が一致しない新規の帳票であると判別する(S204)。そして、判別部15は、後述するS206の処理を実行する。
判別部15は、S202で取得した各アイテムの画像と、定義体に格納された各特徴画像とが全て一致しているとき(S203にてYes)、帳票100の種類を既存の帳票であると判別する(S205)。
なお、判別部15は、S103において、帳票100と罫線の一致する定義体が、定義体情報21に複数格納されていると判定したとき、各罫線の一致した定義体について、S201〜S205の処理を実行しても良い。
そして、判別部15は、帳票100の帳票識別子(帳票N)と、帳票100の画像データ(SPn)と、帳票100の種類の判別結果(新規:罫線不一致)とを関連付けて判別データに格納する(S206)。このとき、判別部15は、乱数を用いて任意の帳票識別子を生成し、帳票100の画像と関連付けて格納しても良い。
図14を参照して、判別データに格納されている情報を説明する。
図14は、判別データの一例を示す図である。
判別データ300には、図14に示すように、帳票識別子と、帳票画像と、判別結果と、取引識別子と、罫線一致帳票とが関連付けられて格納されている。
帳票画像には、帳票の画像データが格納されている。帳票の画像データとは、読取部30で読み取られた帳票の画像データである。
判別結果は、帳票の種類の判別結果を示す情報である。既存とは、帳票に記載されている罫線とアイテムの画像とアイテムの画像領域とに、一致する罫線と特徴画像と特徴画像の画像領域とを格納した定義体が定義体情報21に記憶されていることを示す。新規:罫線不一致とは、帳票に記載されている罫線と、罫線が一致する定義体が定義体情報21に記憶されていないことを示す。新規:特徴不一致とは、帳票に記載されている罫線と、罫線の一致する定義体が定義体情報21に記憶されているが、罫線の一致する定義体に格納された特徴画像の画像領域に対応する帳票上の領域に、特徴画像と一致するアイテムが記載されていないことを示す。
取引識別子とは、取引情報22から、帳票に対応する取引データを検索するときに用いられる識別子である。なお、文字認識装置1は、判別データ300を生成するときに、各レコードに、対応する取引データを示す取引識別子を付与しても良い。
罫線一致帳票とは、帳票識別子で示される帳票と罫線が一致する定義体の帳票識別子である。
図3を参照して説明する。
認識部14は、帳票100の画像から取引データを取得する(S207)。
図15を参照して、取引データに格納されている情報を説明する。
図15は、取引データの一例を示す図である。
取引データ400には、図15に示すように、帳票種類と、取引識別子と、項目種と、項目データとが関連付けられて格納されている。なお、取引データ400は、一例として、帳票100の記載に対応する取引結果を示している。
取引データ400は、帳票種類と、取引識別子と、項目種と、項目データとを格納している。
取引識別子は、各帳票の取引データを識別するための情報である。なお、取引識別子は、文字認識装置1が取引データを生成するときに、各レコードに付与しても良い。
ただし、取引データ400が格納する情報は、帳票種類と、取引識別子と、項目種と、項目データとに限定されるものではなく、文字認識装置1が紙面から認識した取引結果に関する情報を格納すれば良い。また、文字認識装置1は、文字認識する他の帳票についても、同形式の取引データを格納しても良い。
図13、図15を参照して、S207において、認識部14が取引データ400を取得する処理を説明する。
以下の説明では、一例として、帳票100に対応する取引データ400に格納された情報を用いて説明する。
認識部14は、図13に示す文字認識情報201に格納されている各認識領域を取得する。そして、認識部14は、帳票100の画像を検索し、各認識領域の示す位置に記載された項目データを取得し、それぞれの項目データを項目種に関連付けて取引データ400に格納する。
認識部14は、帳票100が汚れているなどして、帳票100の画像から取得できない項目データがあるとき、表示部40に帳票100の画像を表示し、ユーザに取引データ400への値の入力を促しても良い。これにより、ユーザは、表示部40に表示された帳票100の画像を参照しながら、取引データ400に認識部14が取得できなかった項目種の項目データを格納しても良い。
さらに、認識部14は、定義体情報21に、帳票100に対応する文字認識情報201を格納した定義体が記憶されていないとき、表示部40に帳票100の画像を表示し、ユーザに取引データ400への値の入力を促しても良い。これにより、ユーザは、表示部40に表示された帳票100の画像を参照しながら、取引データ400に各項目種に対応する項目データを入力しても良い。
なお、認識部14は、各項目データを認識するとき、文字認識情報201において、項目種に関連付けられているデータ種を参照し、文字認識の対象となるデータの種類に対応した文字認識アルゴリズムを用いて文字認識を実行しても良い。さらに、認識部14は、各項目データを認識するとき、文字認識情報201において、項目種に関連付けられている最大桁数を参照し、最大桁数以下の文字数のデータのみを認識しても良い。これにより、認識部14は、文字認識の精度を向上することができる。
図3を参照して説明する。
認識部14は、帳票100の帳票識別子(帳票N)と関連付けて取引データ400の取引識別子(TRn)を判別データ301に格納する(S208)。これにより、認識部14は、図16の判別データ301に示すように、帳票100の判別結果に対応するレコードを生成する。なお、図16は、S206、およびS208の処理により、帳票100の判別結果に対応する、帳票識別子(帳票N)、帳票画像(SPn)、判別結果(新規:罫線不一致)、および取引識別子(TRn)を格納したレコードを含む判別データ301を示している。
以上により、文字認識装置1は、帳票100の種類を判別する処理と、帳票100に記載されている各項目データを認識する処理とを実行する。
図4〜図9は、定義体を生成する処理を示すフローチャートである。
図4〜図6は、帳票判別情報200を生成する処理を示すフローチャートである。図7〜図9は、文字認識情報201を生成する処理を示すフローチャートである。
図4〜図6を参照して、帳票判別情報200を生成する処理を説明する。
以下の説明では、文字認識装置1が図2、図3を用いて説明した帳票の種類を判別する処理を実行し、文字認識の対象とする各帳票の判別結果を含む判別データ301が生成されているものとする。また、以下の説明では、帳票100の定義体を生成する処理を一例として示す。なお、文字認識装置1は、他の帳票に関しても、以下で説明する処理を実行することにより、帳票判別情報を生成しても良い。
取得部11は、判別データ301からレコードを取得する(S301)。このとき、取得部11は、帳票Nに対応するレコードを取得したものとする。
取得部11は、S301で取得したレコードに含まれる帳票画像を取得する(S302)。
そして、取得部11は、S302で取得した帳票画像に含まれるアイテムの画像を取得し、アイテムデータに格納する(S303)。取得部11は、例えば、アイテムの画像を取得する帳票が帳票100のとき、OCR機能を用いて、図10に示す帳票100に記載されている図形および文字列の画像領域を切り出したアイテムの画像を取得しても良い。
図17は、アイテムデータの一例を示す図である。
アイテムデータ500は、一例として、帳票100に対応するアイテムデータを示す。
アイテムデータ500には、図17に示すように、帳票種類と、アイテム識別子と、アイテム名と、画像領域と、アイテム画像とが関連付けられて格納されている。
アイテム識別子は、帳票100に記載されている各アイテムを識別する情報である。なお、アイテム識別子は、文字認識装置1がアイテムデータを生成するときに、各レコードに付与しても良い。
アイテム名とは、帳票100に記載されている各アイテムの名称を示す情報である。アイテム名には、例えば、アイテムが文字列のとき、認識部14が認識した文字列を格納しても良い。
画像領域とは、帳票100において、アイテムが記載されている領域を示す。アイテム識別子SH1に対応する画像領域(C3、D3)−(C4、D4)は、例えば、図11に示すように、図形SH1を囲む矩形の左上の座標(C3、D3)と右下の座標(C4、D4)とを示す。これにより、画像領域(C3、D3)−(C4、D4)は、左上の座標(C3、D3)と右下の座標(C4、D4)とを結ぶ線を対角線とする矩形を示す情報として用いられる。なお、画像領域が示す矩形は、例えば、アイテムを囲む矩形の中で最小の矩形としても良い。
アイテム画像とは、帳票100に記載されたアイテムの画像データである。アイテム画像IM2は、例えば、画像領域(C3、D3)−(C4、D4)で示される領域を切り出した図形1の画像データである。
図4を参照して説明する。
取得部11は、S301で取得したレコードに含まれる判別結果は新規か否かを判定する(S304)。
取得部11は、S301で取得したレコードに含まれる判別結果が新規でない(既存である)とき(S304にてNo)、後述するS601の処理を実行する。
取得部11は、S301で取得したレコードに含まれる判別結果が新規であるとき(S304にてYes)、S301で取得したレコードに含まれる判別結果が罫線不一致であるか否かを判定する(S305)。
取得部11は、S301で取得したレコードに含まれる判別結果が罫線不一致でないとき(S305にてNo)、罫線が一致した帳票に対応する定義体を参照し、罫線座標を取得する(S306)。そして、取得部11は、取得した罫線座標を生成部13に出力する。生成部13は、後述するS308の処理を実行する。
取得部11は、S301で取得したレコードに含まれる判別結果が罫線不一致のとき(S305にてYes)、帳票画像に含まれる罫線座標を取得する(S307)。そして、取得部11は、取得した罫線座標を生成部13に出力する。このとき、取得部11は、例えば、帳票が帳票100のとき、OCR機能を用いて図11に示す帳票100に記載されている罫線座標を取得しても良い。なお、帳票100(帳票識別子:帳票N)は、図16の判別データ301に示すように、罫線一致帳票がないので、S305にてYesの場合に該当する。
そして、生成部13は、罫線座標が入力されると、罫線情報に罫線識別子と、取得した罫線座標とを関連付けて格納する新規の定義体を生成する(S308)。なお、生成部13は、例えば、帳票100の定義体を生成するとき、図12に示す帳票判別情報200の罫線識別子、および罫線座標に示す情報を定義体に格納しても良い。定義体の帳票種類に格納する帳票識別子は、S301で取得したレコードに含まれる帳票識別子を格納しても良い。帳票100の場合には、例えば、帳票種類に帳票Nを格納しても良い。
生成部13は、生成した新規の定義体を定義体情報21に記憶する(S309)。
図5を参照して説明する。
抽出部12は、設定情報27から第1サイズを取得する。そして、抽出部12は、アイテムデータ500に格納した画像領域を検索し、縦幅のサイズが第1サイズに含まれる縦幅のサイズ以上、および横幅のサイズが第1サイズに含まれる横幅のサイズ以上のアイテムの画像を抽出する(S401)。また、抽出部12は、アイテムデータ500に格納されたアイテムが文字列のとき、第1文字サイズを用いて、縦幅のサイズが第1文字サイズに含まれる縦幅のサイズ以上、および横幅のサイズが第1文字サイズに含まれる横幅のサイズ以上のアイテムの画像を抽出しても良い。
そして、抽出部12は、抽出したアイテムの画像が文字列の画像であるか否かを判定する(S402)。
抽出部12は、抽出した抽出したアイテムの画像が文字列の画像でない(図形である)とき(S402にてNo)、後述するS404の処理を実行する。
抽出部12は、抽出したアイテムの画像が文字列の画像であるとき(S402にてYes)、文字列の画像に含まれる文字数が第1文字数以上か否かを判定する(S403)。
抽出部12は、文字列の画像に含まれる文字数が第1文字数以上でないとき(S403にてNo)、後述するS406の処理を実行する。
抽出部12は、文字列の画像に含まれる文字数が第1文字数以上であるとき(S403にてYes)、S404の処理を実行する。すなわち、抽出部12は、S401で抽出したアイテムの画像が文字列の画像の場合、文字列の文字数が第1文字数以上であるとき、文字列の画像を特徴画像の候補として抽出する。
さらに、生成部13は、アイテムデータから抽出したアイテムを含むレコードを取得する(S404)。
そして、生成部13は、S404で取得したレコードを抽出データに格納する(S405)。
図18は、抽出データの一例を示す図である。
抽出データ600には、図18に示すように、アイテム識別子と、アイテム名と、画像領域と、アイテム画像とが関連付けられて格納されている。なお、抽出データ600は、帳票100に対応するデータである。抽出データ600には、帳票100に記載されたアイテムの画像から、第1サイズ以上のアイテムの画像を抽出した結果が格納されている。すなわち、抽出データ600には、帳票100の特徴画像の候補が格納されている。
そして、抽出部12は、アイテムデータに格納された画像領域について、全て検索が終了したか否かを判定する(S406)。すなわち、抽出部12は、第1サイズ以上のアイテムを全て抽出したか否かを判定する。
抽出部12は、アイテムデータに格納された画像領域について、全て検索していないとき(S406にてNo)、S401の処理を実行する。
抽出部12は、アイテムデータに格納された画像領域について、全て検索したとき(S406にてYes)、S501の処理を実行する。すなわち、抽出部12は、帳票から全ての特徴画像の候補となるアイテムの画像を抽出したとき、S501の処理を実行する。
図6を参照して説明する。
生成部13は、S301で取得したレコードに含まれる判別結果が罫線不一致か否かを判定する(S501)。
生成部13は、S301で取得したレコードに含まれる判別結果が罫線不一致のとき(S501にてYes)、抽出データの各レコードを新規の定義体に格納する(S502)。生成部13は、例えば、S308において生成した帳票100の定義体に、図18に示す抽出データ600のアイテム識別子、画像領域、およびアイテム画像を、それぞれ図12に示す帳票判別情報200のアイテム識別子、画像領域、および特徴画像に格納する。すなわち、生成部13は、S308とS502とを実行することで、帳票100の定義体について、帳票判別情報200を生成する。そして、後述するS601の処理を実行する。
生成部13は、S301で取得したレコードに含まれる判別結果が罫線一致のとき(S501にてNo)、罫線一致帳票に対応する定義体に格納されている画像領域と、抽出したアイテムの画像領域とが一致するか否かを判定する(S503)。このとき、生成部13は、読取部30による読取り誤差などを考慮して、所定の誤差を設定し、誤差の範囲内であれば罫線一致帳票に対応する定義体に格納されている画像領域と、抽出したアイテムの画像領域とが一致していると判定しても良い。なお、罫線一致帳票に対応する定義体とは、例えば、S301で取得したレコードに含まれる罫線一致帳票に格納された帳票識別子に対応する定義体である。
生成部13は、罫線一致帳票に対応する定義体に格納されている画像領域と、抽出したアイテムの画像領域とが一致しないとき(S503にてNo)、S502の処理を実行する。このとき、生成部13は、S502において、罫線一致帳票に対応する定義体に格納された罫線情報と、S401〜S406の処理において生成した抽出データを格納した特徴情報とを関連付けて格納した新規の定義体を生成する。
生成部13は、罫線一致帳票に対応する定義体に格納されている画像領域と、抽出したアイテムの画像領域とが一致するとき(S503にてYes)、罫線一致帳票に対応する定義体に格納されている特徴画像と、抽出したアイテムの画像が一致するか否かを判定する(S504)。
生成部13は、罫線一致帳票に対応する定義体に格納されている特徴画像と、抽出したアイテムの画像とが一致しないとき(S504にてNo)、S502の処理を実行する。このとき、生成部13は、S502において、罫線一致帳票に対応する定義体に格納された罫線情報と、S401〜S406の処理において生成した抽出データを格納した特徴情報とを関連付けて格納した新規の定義体を生成する。
生成部13は、罫線一致帳票に対応する定義体に格納されている特徴画像と、抽出したアイテムの画像とが一致するとき(S504にてYes)、未使用のサイズの閾値と、未使用の文字数の閾値とが設定情報27に格納されているか否かを判定する(S505)。ここで、未使用のサイズの閾値とは、例えば、第1サイズをS401で使用していたとき、設定情報27に格納されている第1サイズよりも小さい第2サイズのことである。また、未使用の文字数の閾値とは、例えば、第1文字数をS403で使用していたとき、設定情報27に格納されている第1文字数よりも少ない第2文字数のことである。
生成部13は、未使用のサイズの閾値と、未使用の文字数の閾値とが設定情報27に格納されていないとき(S505にてNo)、後述するS601の処理を実行する。このとき、生成部13は、定義体を生成する処理をエラーとして終了しても良い。また、生成部13は、表示部40にエラー情報と、帳票の画像を表示させ、ユーザに対して手入力による帳票判別情報200の生成を促しても良い。そして、生成部13は、ユーザが帳票判別情報200を生成したあと、後述するS601の処理を実行しても良い。
生成部13は、未使用のサイズの閾値と、文字数の閾値とが設定情報27に格納されているとき(S505にてYes)、サイズの閾値、および文字数の閾値とを変更し、S401〜S406の処理を実行する(S506)。
図19は、抽出データの一例を示す図である。
図10、図18および図19を参照して、S506において、サイズの閾値と文字数の閾値とを変更したときの抽出データを説明する。以下の説明では、生成部13は、サイズの閾値を第1サイズから第2サイズに変更し、文字数の閾値を第1文字数から第2文字数に変更したものとする。そして、第1文字数は、例えば、5文字であるものとする。また、第2文字数は、例えば、2文字であるものとする。
図18に示す抽出データ600は、帳票100において、抽出部12が第1サイズと第1文字数とを用いてアイテムの画像を抽出したときの抽出データである。抽出データ600には、抽出部12によって抽出された、第1サイズ以上の大きさである図形SH1、図形SH3が格納される。さらに、抽出データ600には、抽出部12によって抽出された、第1サイズ以上の大きさであり、かつ第1文字数(5文字)以上の文字数を有する文字列の画像である払込取扱表(CH2)が格納される。
図19に示す抽出データ600は、帳票100において、抽出部12が第2サイズと第2文字数とを用いてアイテムの画像を抽出したときの抽出データである。抽出データ600には、抽出部12によって抽出された、第2サイズ以上の大きさである図形SH1、図形SH3、図形SH5が格納される。さらに、抽出データ600には、抽出部12によって抽出された、第2サイズ以上の大きさであり、かつ第2文字数(2文字)以上の文字数を有する文字列の画像である東京(CH1)と払込取扱表(CH2)とが格納される。
なお、生成部13は、S505において、未使用のサイズの閾値、および文字数の閾値のいずれか1以上が設定情報27に記憶されているとき、S506において、サイズの閾値、および文字数の閾値のいずれか1以上を変更しても良い。また、生成部13は、第1文字サイズよりも小さいサイズである第2文字サイズが設定情報27に記憶されているとき、S506において、第1文字サイズを第2文字サイズに変更しても良い。
以上により、文字認識装置1は、帳票判別情報200を生成する処理を終了する。続いて、文字認識装置1は、文字認識情報201を生成する処理を実行する。
図7〜図9を参照して、文字認識情報201を生成する処理を説明する。
図7を参照して説明する。以下の説明では、帳票100の文字認識情報201の生成を一例として説明する。なお、文字認識装置1は、他の帳票に関しても、以下で説明する処理を実行することにより、文字認識情報を生成しても良い。
生成部13は、アイテムデータ500から文字列(アイテム名)を取得する(S601)。生成部13は、後述するS604の処理に続いて、S601の処理を実行するとき、未取得の文字列をアイテムデータ500から取得しても良い。
そして、生成部13は、見出しデータ700を検索し、S601で取得した文字列と同じ見出し文言があるか否かを判定する(S602)。
図20は、見出しデータの一例を示す図である。
見出しデータ700は、見出し識別子と、項目種と、見出し文言と、データ種と、最大桁数とを記憶している。
見出し識別子とは、各見出しを識別するための情報である。
生成部13は、見出しデータ700を検索し、S601で取得した文字列と同じ見出し文言があるとき(S602にてYes)、文字列が見出し文言に関連付けられた項目種を示す見出しであると認識する(S603)。そして、生成部13は、項目種を示す見出し文言として、文字列を設定情報27に格納する。これにより、設定情報27には、各項目種と、対応する見出し文言が関連付けられて記憶される。そして、生成部13は、S604の処理を実行する。
生成部13は、見出しデータ700を検索し、S602で取得した文字列と同じ見出し文言がないとき(S602にてNo)、S604の処理を実行する。
生成部13は、S601において、アイテムデータ500の全ての文字列を取得したか否かを判定する(S604)。
生成部13は、S601において、アイテムデータ500の全ての文字列を取得していないとき(S604にてNo)、S601の処理を実行する。
生成部13は、S601において、アイテムデータ500の全ての文字列を取得したとき(S604にてYes)、S701の処理を実行する。このとき、生成部13は、帳票100に記載されている項目種に対応する見出し文言を全て認識したものとする。なお、生成部13は、帳票100に記載されている項目種に対応する見出し文言を全て認識できないとき、定義体を生成する処理をエラーとして終了しても良い。このとき、生成部13は、表示部40にエラー情報を表示させることにより、ユーザに対して手入力による定義体の生成を促しても良い。
図8を参照して説明する。
生成部13は、アイテムデータ500から文字列(アイテム名)を取得する(S701)。生成部13は、後述するS703の処理に続いて、S701の処理を実行するとき、未取得の文字列をアイテムデータ500から取得しても良い。
生成部13は、取引データ400にS701で取得した文字列と同じ文字列を示す項目データがあるか否かを判定する(S702)。
生成部13は、取引データ400にS701で取得した文字列と同じ文字列を示す項目データがないとき(S702にてNo)、S701においてアイテムデータ500の全ての文字列を取得したか否かを判定する(S703)。
生成部13は、S701においてアイテムデータ500の全ての文字列を取得していないとき(S703にてNo)、S701の処理を実行する。
生成部13は、S701において、アイテムデータ500の全ての文字列を取得したとき(S703にてYes)、定義体を生成する処理を終了する。このとき、生成部13は、後述するS805において、全ての項目種に対応するレコードを生成していないと判定されている場合、定義体を生成する処理をエラーとして終了しても良い。そして、生成部13は、表示部40にエラー情報と、生成していない文字認識情報201のレコードとを表示させ、ユーザに対して手入力による定義体の生成を促しても良い。
S702において、生成部13は、取引データ400にS701で取得した文字列と同じ文字列を示す項目データがあるとき(S702にてYes)、取引データ400から同じ文字列を示す項目データに関連付けられた項目種を取得する(S704)。
生成部13は、設定情報27を参照して、S704で取得した項目種を示す見出し文言を取得する(S705)。
そして、生成部13は、S701で取得した文字列が、S705で取得した項目種を示す見出し文言の近傍にあるか否かを判定する(S706)。生成部13は、例えば、アイテムデータ500から、S705で取得した項目種を示す見出し文言に対応する画像領域を取得し、S701で取得した文字列に対応する画像領域との位置関係を判定する。これにより、生成部13は、S701で取得した文字列が、S705で取得した項目種を示す見出しの近傍にあるか否かを判定する。見出しの近傍とは、例えば、紙面の種類や見出し種別により異なる。見出しの近傍とは、紙面が帳票100であるとき、例えば、見出しの下、右下、および右側にある所定の領域のことを言う。
生成部13は、S701で取得した文字列が、S705で取得した項目種を示す見出しの近傍にないとき(S706にてNo)、S703の処理を実行する。
生成部13は、S701で取得した文字列が、S705で取得した項目種を示す見出しの近傍にあるとき(S706にてYes)、文字列が項目種に対応する項目データであると認識する(S707)。
なお、生成部13は、S706において、S705で取得した見出し文言に対応するデータ種を見出しデータ700から取得しても良い。そして、生成部13は、取得したデータ種がS701で取得した文字列の種類に対応するとき、S707の処理を実行しても良い。また、生成部13は、取得したデータ種がS701で取得した文字列の種類に対応しないとき、S703の処理を実行しても良い。
生成部13は、S707で項目データと認識した文字列を囲む認識領域を取得する(S708)。そして、S801の処理を実行する。
図21、および図22は、認識領域を説明する図である。
図21を参照して、認識領域の設定について説明する。以下の説明においては、項目種(金額)に対応する見出し文言(振込額)について、対応する項目データの認識領域を設定する処理について説明する。
生成部13は、図21に示すように、項目データ800が罫線に囲まれているとき、項目データ800を囲む罫線の左上の座標(G9、H9)と、右下の座標(G10、H10)とを取得する。これにより、生成部13は、左上の座標(G9、H9)と右下の座標(G10、H10)とを結ぶ線を対角線とする矩形を示す画像領域(G9、H9)−(G10、H10)を取得する。そして、生成部13は、取得した画像領域(G9、H9)−(G10、H10)を項目データ800の認識をする認識領域に設定する。
生成部13は、図22(a)に示すように、項目データ801が罫線に囲まれていないとき、図22(b)に示すように、項目データ801を囲み、他の文言を含まない領域を囲む矩形を生成する。そして、生成部13は、生成した矩形の左上の座標(G9、H9)と、矩形の右下の座標(G10、H10)とを取得する。これにより、生成部13は、左上の座標(G9、H9)と右下の座標(G10、H10)とを結ぶ線を対角線とする矩形を示す画像領域(G9、H9)−(G10、H10)を取得する。そして、生成部13は、取得した画像領域(G9、H9)−(G10、H10)を項目データ800の認識をする認識領域に設定する。なお、認識領域が示す矩形は、例えば、項目データを囲む矩形の中で最小の矩形としても良い。
図9を参照して説明する。
生成部13は、S301で取得したレコードに含まれる判別結果が新規であるか否かを判定する(S801)。
生成部13は、S301で取得したレコードに含まれる判別結果が新規であるとき(S801にてYes)、文字認識情報201に、S704で取得した項目種に対応するレコードを生成する。そして、生成部13は、S704で取得した項目種と関連付けて、S708で取得した認識領域を文字認識情報201に格納する(S802)。
生成部13は、見出しデータ700を検索し、S704で取得した項目種を含むレコードを取得する(S803)。
生成部13は、取得したレコードに含まれる情報を文字認識情報201に格納する(S804)。すなわち、生成部13は、S704で取得した項目種を含むレコードから、データ種、および最大桁数を取得し、取得した情報をS704で取得した項目種に関連付けて文字認識情報201に格納する。
そして、生成部13は、全ての項目種に対応するレコードを生成したか否かを判定する(S805)。
生成部13は、全ての項目種に対応するレコードを生成していないとき(S805にてNo)、S701の処理を実行する。
生成部13は、全ての項目種に対応するレコードを生成したとき(S805にてYes)、定義体を生成する処理を終了する。
S801において、生成部13は、S301で取得したレコードに含まれる判別結果が既存であるとき(S801にてNo)、S301で取得したレコードに含まれる罫線一致帳票に対応する定義体から、S704で取得した項目種に関連付けられた認識領域(以下、既存の認識領域とも言う。)を取得する。そして、生成部13は、S708で取得した認識領域と、既存の認識領域とが異なるか否かを判定する(S806)。
生成部13は、S708で取得した認識領域と、既存の認識領域とが同じとき(S806にてNo)、S805の処理を実行する。
生成部13は、S708で取得した認識領域と、既存の認識領域とが異なるとき(S806にてYes)、既存の帳票の文字認識情報201に格納された認識領域をS708で取得した認識領域に更新する(S807)。そして、生成部13は、S805の処理を実行する。これにより、生成部13は、既存の帳票において、項目データの認識領域のみが変更されたとき、既存の帳票に対応する定義体の認識領域を自動で更新する。
図23は、コンピュータ装置の一実施例を示すブロック図である。
図23を参照して、文字認識装置1の構成について説明する。
図23において、コンピュータ装置900は、制御回路901と、記憶装置902と、読書装置903と、記録媒体904と、通信インターフェイス905(通信I/F)と、入出力インターフェイス906(入出力I/F)と、表示装置907とネットワーク908とを備えている。また、各構成要素は、バス909により接続されている。
制御回路901は、コンピュータ装置900全体の制御をする。そして、制御回路901は、例えば、CPU、マルチコアCPU、FPGA(Field Programmable Gate Array)およびPLD(Programmable Logic Device)などである。制御回路901は、例えば、図1において、制御部10として機能する。なお、CPU、FPGA、およびPLDのキャッシュは、例えば、図1に示す設定情報27を記憶しても良い。
記憶装置902は、各種データを記憶する。そして、記憶装置902は、例えば、ROM(Read Only Memory)およびRAM(Random Access Memory)などのメモリや、HD(Hard Disk)などで構成される。記憶装置902は、例えば、図1において、記憶部20として機能する。そして、記憶装置902は、例えば、図1に示す、定義体情報21と、取引情報22と、判別情報23と、アイテム情報24と、抽出情報25と、見出し情報26と、設定情報27とを記憶しても良い。
また、ROMは、ブートプログラムなどのプログラムを記憶している。RAMは、制御回路901のワークエリアとして使用される。HDは、OS、アプリケーションプログラム、ファームウェアなどのプログラム、および各種データを記憶している。
記憶装置902は、例えば、制御回路901を、制御部10として機能させる文字認識プログラムを記憶する。
文字認識装置1は、帳票の種類を判別する処理や定義体を生成する処理をするとき、記憶装置902に記憶された文字認識プログラムをRAMに読み出す。そして、文字認識装置1は、制御回路901で、RAMに読み出された文字認識プログラムを実行することにより、帳票の種類を判別する処理や定義体を生成する処理を実行する。
なお、文字認識プログラムは、制御回路901が通信インターフェイス905を介してアクセス可能であれば、ネットワーク908上のサーバが有する記憶装置に記憶されていても良い。
読書装置903は、制御回路901に制御され、着脱可能な記録媒体904のデータのリード/ライトを行なう。そして、読書装置903は、例えば、FDD(Floppy Disk Drive)、CDD(Compact Disc Drive)、DVDD(Digital Versatile Disk Drive)、BDD(Blu−ray(登録商標) Disk Drive)およびUSB(Universal Serial Bus)などである。
記録媒体904は、各種データを保存する。記録媒体904は、例えば、文字認識プログラムを記憶する。さらに、記録媒体904は、例えば、図1に示す、定義体情報21と、取引情報22と、判別情報23と、アイテム情報24と、抽出情報25と、見出し情報26と、設定情報27とを記憶しても良い。
そして、記録媒体904は、読書装置903を介してバス909に接続され、制御回路901が読書装置903を制御することにより、データのリード/ライトが行なわれる。また、記録媒体904は、例えば、FD(Floppy Disk)、CD(Compact Disc)、DVD(Digital Versatile Disk)、BD(Blu−ray(登録商標) Disk)、およびフラッシュメモリなどである。
通信インターフェイス905は、ネットワーク908を介してコンピュータ装置900と他の装置とを通信可能に接続する。
入出力インターフェイス906は、例えば、キーボード、マウス、タッチパネル、およびスキャナなどと接続され、接続された装置から各種情報を示す信号が入力されると、バス909を介して入力された信号を制御回路901に出力する。また、入出力インターフェイス906は、制御回路901から出力された各種情報を示す信号がバス909を介して入力されると、接続された各種装置にその信号を出力する。入出力インターフェイス906は、例えば、第1サイズ、第2サイズ、第1文字サイズ、第2文字サイズ、第1文字数、および第2文字数の設定値の入力を受け付けても良い。また、入出力インターフェイス906に接続されるスキャナは、例えば、図1に示す読取部30として機能する。
表示装置907は、例えば、入出力インターフェイス906に接続され、制御部10から入力される信号に基づいて、各種情報を表示する。また、表示装置907は、例えば、例えばCRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、およびOELD(Organic Electroluminescence Display)などである。そして、表示装置907は、例えば、図1において、表示部40として機能する。
ネットワーク908は、例えば、LAN、無線通信、またはインターネットなどであり、コンピュータ装置900と他の装置を通信接続する。
以上のように、実施形態の文字認識装置1は、紙面に記載されたアイテムの画像から所定のサイズ以上の画像を抽出し、抽出したアイテムの画像を特徴画像として格納する定義体を生成する。これにより、実施形態の文字認識装置1は、定義体を自動生成することができる。
実施形態の文字認識装置1は、読取部30で読み取った紙面の画像からアイテムの画像を取得し、取得したアイテムの画像と同じ画像を、定義体に格納されている特徴画像から検索する。これにより、実施形態の文字認識装置1は、読取部30で読み取った紙面の種類を、検索された特徴画像を格納した定義体に格納された紙面の種類であると認識することができる。
実施形態の文字認識装置1は、紙面から取得されたアイテムの画像の中で、縦幅のサイズと横幅のサイズとが所定のサイズ以上のアイテムの画像を抽出し、抽出したアイテムの画像を特徴画像として格納する定義体を生成する。したがって、実施形態の文字認識装置1は、縦幅、および横幅のいずれか一方のみが長い、文章や線などを抽出しない。これにより、実施形態の文字認識装置1は、紙面に記載されたアイテムの画像の中から、他の紙面にない特徴画像を精度よく抽出することができる。
実施形態の文字認識装置1は、アイテムの画像が文字列の画像を含むとき、文字列に含まれる文字が所定のサイズ以上のアイテムの画像を特徴画像として格納する定義体を生成する。したがって、実施形態の文字認識装置1は、文字列の文字が所定のサイズよりも小さいアイテムの画像を特徴画像として抽出しない。これにより、実施形態の文字認識装置1は、紙面に記載されたアイテムの画像の中から、他の紙面にない特徴画像を精度よく抽出することができる。
実施形態の文字認識装置1は、アイテムの画像が文字列の画像を含むとき、文字列に含まれる文字数が所定の文字数以上のアイテムの画像を特徴画像として格納する定義体を生成する。したがって、実施形態の文字認識装置1は、文字列の文字数が所定の文字数よりも少ないアイテムの画像を特徴画像として抽出しない。これにより、実施形態の文字認識装置1は、紙面に記載されたアイテムの画像の中から、他の紙面にない特徴画像を精度よく抽出することができる。
実施形態の文字認識装置1は、特徴画像が記載された領域を示す画像領域と特徴画像とを関連付けて格納する定義体を生成する。そして、実施形態の文字認識装置1は、紙面の種類を判別するとき、紙面に記載されているアイテムの画像と、定義体に格納されている特徴画像とのそれぞれに対応する画像領域を一致判定する。これにより、実施形態の文字認識装置1は、紙面と定義体とに格納されている画像領域が一致したとき、読取部30で読み取った紙面の種類を、画像領域が一致した定義体に格納された紙面の種類であると認識することができる。
実施形態の文字認識装置1は、アイテムの画像を取得した紙面が有する罫線の配置と、同じ罫線の配置を格納した定義体が記憶部20に記憶されていないとき、アイテムの画像を取得した紙面の種類と、抽出したアイテムの画像とを関連付けて格納する定義体を生成する。これにより、実施形態の文字認識装置1は、既存の定義体を重複して生成する処理を行わないので、処理の煩雑化を抑制することができる。
実施形態の文字認識装置1は、特徴画像を抽出するときに用いる閾値として、第1サイズと第2サイズとを記憶する。そして、実施形態の文字認識装置1は、紙面が有する罫線の配置と同じ罫線の配置と、紙面から第1サイズを用いて抽出したアイテムの画像と同じアイテムの画像とを格納している定義体が記憶部20に記憶されているとき、第2サイズ以上のアイテムの画像を抽出する。これにより、実施形態の文字認識装置1は、特徴画像として抽出するアイテムの画像を段階的に小さくするので、抽出される特徴画像の数が多くなり処理が煩雑化するのを抑制し、かつ他の帳票にない特徴画像を抽出することができる。
実施形態の文字認識装置1は、紙面が有する罫線の配置と同じ罫線の配置と、紙面から第1文字数を用いて抽出した文字列の画像と同じ文字列の画像とを格納している定義体が記憶部20に記憶されているとき、第1文字数よりも少ない第2文字数以上の文字列の画像を抽出する。これにより、実施形態の文字認識装置1は、特徴画像として抽出する文字列の文字数を段階的に少なくするので、抽出される特徴画像の数が多くなり処理が煩雑化するのを抑制し、かつ他の帳票にない特徴画像を抽出することができる。
実施形態の文字認識装置1は、項目種に対応する種類のデータが、項目種を示すと認識した文字列の近傍にあるとき、項目種と、項目種に対応する種類のデータが記載された領域を示す認識領域とを関連付けて格納する定義体を生成する。これにより、実施形態の文字認識装置1は、紙面に記載されている項目種に対応するデータの認識領域を示す定義体の作成を自動化することができる。
実施形態の文字認識装置1は、項目種に対応するデータが罫線に囲まれているとき、罫線に囲まれた領域を認識領域にする。これにより、実施形態の文字認識装置1は、認識領域を自動で設定することができる。
実施形態の文字認識装置1は、データが罫線に囲まれていないとき、データを囲み、他の文言を含まない領域を認識領域にする。これにより、実施形態の文字認識装置1は、認識領域を自動で設定することができる。
実施形態の文字認識装置1は、紙面から取得したアイテムの画像と同じ特徴画像を格納した定義体を検索し、アイテムを取得した紙面の種類を、検索された定義体に格納された紙面の種類であると判別する。これにより、実施形態の文字認識装置1は、定義体を用いて紙面の種類を判別することができる。
実施形態の文字認識装置1は、取得したアイテムの画像と同じ特徴画像と、取得したアイテムの画像領域と同じ特徴画像の画像領域とを関連付けて格納した定義体を検索し、アイテムを取得した紙面の種類を、検索された定義体に格納された紙面の種類であると判別する。これにより、実施形態の文字認識装置1は、定義体を用いて紙面の種類を判別する精度を向上することができる。
なお、本実施形態は、以上に述べた実施形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。