文書認識装置、文書認識方法、プログラム及び記憶媒体
【課題】ルビ文字の対象となる親文字を正しく特定する。また、ルビ文字の認識結果にルビ種別情報を付加する。
【解決手段】レイアウト解析手段22は、入力画像に対してレイアウト解析処理を行って文章領域を抽出する。領域分別手段23は、文章領域に対して領域分別処理を行い、本文行領域と行間領域とに分別する。仮決定手段24は、行間文字列を抽出し、行間文字列ごとに、本文行領域の文字列の中から仮親文字列を決定するとともに、仮ルビ種別を決定する。文字認識手段25は、文字認識処理を行う。本決定手段26は、仮親文字列の認識結果を参照キーとしてフリガナ辞書31を参照することによって得られるルビ候補の少なくとも1つと、行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、仮親文字列を本親文字列として決定する、或いは、仮親文字列に含まれる一部の文字列を除いた残りの文字列を本親文字列として決定する。
【解決手段】レイアウト解析手段22は、入力画像に対してレイアウト解析処理を行って文章領域を抽出する。領域分別手段23は、文章領域に対して領域分別処理を行い、本文行領域と行間領域とに分別する。仮決定手段24は、行間文字列を抽出し、行間文字列ごとに、本文行領域の文字列の中から仮親文字列を決定するとともに、仮ルビ種別を決定する。文字認識手段25は、文字認識処理を行う。本決定手段26は、仮親文字列の認識結果を参照キーとしてフリガナ辞書31を参照することによって得られるルビ候補の少なくとも1つと、行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、仮親文字列を本親文字列として決定する、或いは、仮親文字列に含まれる一部の文字列を除いた残りの文字列を本親文字列として決定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、紙媒体の文書から光学的に読み取った画像を入力画像とし、文書を認識する文書認識装置等に関するものである。特に、本発明は、ルビを含む文書を認識する文書認識装置等に関するものである。
【背景技術】
【0002】
入力された文書画像から文章領域を抽出する従来手法としては、大きく分けて2つの手法がある。
第1の手法は、特許文献1の従来技術として記載されている手法である(特許文献1の[0002]、[0003]、図7参照)。横書きの文書画像を例にして説明する。まず行方向に第1射影(黒画素の分布を示す。)を取り、行の高さを得る。次に、第1射影と垂直方向に第2射影(黒画素の分布を示す。)を取り、行の長さ及び画像ブロック(ドット分布の外接矩形等)を抽出する。次に、各画像ブロックの幅の平均等から、基準文字サイズを求める。そして、先に得られた複数の画像ブロックを結合したときに、その幅が基準文字サイズになる場合にはそれらの画像ブロックを結合して1文字分の文字矩形領域として決定する。また、画像ブロックが基準文字サイズの整数倍になっていれば、それを基準文字サイズで整数等分して1文字分の文字矩形領域を決定する。
第2の手法は、特許文献2の従来技術として記載されている手法である(特許文献2の[0002]参照)。まず、入力文字列画像から図形としてまとまりのある黒画素の連結パターンを抽出し、抽出された各々のパターンについて、その外接矩形を求める。次に、これらの矩形を1つの行を構成する要素と判断する統合規則(例えば、矩形相互の水平、垂直方向の距離が所定範囲内にあれば統合する。)に従い統合し、得られる行矩形により行の切り出しを行っている。
【0003】
しかし、認識対象となる文書が日本語文書であり、本文を構成している文字にルビが付与されていた場合、上記の従来手法を用いただけでは、文字認識結果の精度が落ちるという問題がある。
尚、ルビは、「モノルビ」と「グループルビ」の2種類に分けることができる。親文字が「漢字」、ルビが「フリガナ」の場合を例に説明すると、「モノルビ」とは、漢字1文字ごと振られるルビであり、「グループルビ」とは、単語単位に振られるルビである。また、「モノルビ」の特別な場合として、「圏点」(傍点、ルビ点とも言う。)がある。「圏点」は、注意すべき所を示すために、文章中の文字のわきに付ける小さな点などである。また、「グループルビ」の特別な場合として、「当て字」(宛字、借り字とも言う。)がある。「当て字」は、日本語を漢字で書く場合に、漢字の音や訓を、その字の意味に関係なく当てるものである。
【0004】
第1の手法の場合、本文文字にルビ文字が連結されて文字矩形領域が切り出され、文字認識が正しく行われないという問題がある。また、ルビ文字のみの文字矩形領域が切り出されても、ルビ文字の認識結果が本文文字の認識結果に挿入されてしまうという問題がある。
第2の手法の場合、ルビが存在する行(ルビ行)が、本文行と同様に切り出され、ルビ行の文字認識結果が本文行の文字認識結果と混ざって出力されてしまうという問題がある。また、第2の手法では、行を構成する文字の文字間や大きさがほぼ均等であることを前提条件としている。ところが、ある本文行内において、ルビが付与されている異なる親文字同士が極端に離れている場合は、ルビ行を構成する文字の文字間が大きく開くことになり、前提条件を満たさない。その結果、統合規則に反し、ルビ行として切り出されないという問題もある。
【0005】
このような問題を解決する手法として、特許文献1〜3に記載されている手法が提案されている。
特許文献1に記載の手法では、通常の射影処理によって行切り出しが正常に行えなかった文字矩形領域に対し、文字サイズを利用して行と行間の境界位置を割り出し、ルビ文字領域と本文文字領域を分割し、それぞれの文字認識結果を対応付けて出力させる。
また、特許文献2に記載の手法では、基準行を特定し、基準行の行高の1/2以下の行高である行を「ルビ行」と特定し、ルビ行と本文行の文字認識結果を別々に出力させる。
また、特許文献3に記載の手法では、名刺の氏名(=親文字)にふられるルビのように、文字行内において個々の親文字が極端に離れていたとしても、ルビ文字の領域を連結して1つのルビ文字列領域として抽出し、このルビ文字列領域に近接し、かつこのルビ文字列領域の長辺の長さによって区切られる文字列領域を親文字の文字列として特定する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3880091号公報
【特許文献2】特許第4162195号公報
【特許文献3】特許第3837193号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1の手法では、ルビの対象となる親文字を正しく特定できるとは限らないという課題がある。例えば、ルビ文字列が親文字列よりも長く、ルビが親文字ではない文字にまでかかっている場合や、グループルビのように複数の文字全体に均等にルビを付与した場合(例えば、漢字2文字に対してルビ3文字の場合)などでは、対象となる親文字を正しく特定できない可能性がある。
また、特許文献2では、そもそも親文字を特定することに言及しておらず、特許文献1と同様の課題がある。
また、特許文献3の手法は名刺に対するものであり、一般の日本語文書(教科書、実用書、小説など)に対してそのまま適用できるものではない。更に、特許文献3の手法では、文書作成者の意図により、文書画像中においてモノルビ、グループルビといったルビ種別を使い分けていたとしても、全てグループルビとして出力されてしまうため、ルビ種別情報が失われてしまうという課題もある。つまり、教科書や低年齢向けの教材等、教育的配慮の為にモノルビが使用される場合、その認識結果を全て修正する必要があり、手間がかかる。
【0008】
ところで、現状の電子書籍は、リフロー型とノンリフロー型に分類できる。リフロー型の電子書籍の場合、それを閲覧する電子書籍用端末の画面サイズやユーザによるフォントサイズ等の設定に依存して動的に文中における改行位置が変化する。つまり、フォントサイズを大きくすれば1行当たりの文字数が減り、フォントサイズを小さくすれば1行当たりの文字数が増える。
文書画像から文書認識処理を経てリフロー型電子書籍用データを作成する場合、グループルビのままでは、改行によるルビ区切り位置の決定を自動処理することができない。つまり、ルビ区切り位置の決定を自動処理させるためには、内部的にモノルビとしての情報を保持しておく必要がある。
【0009】
本発明は、前述した問題点に鑑みてなされたもので、その目的とすることは、ルビ文字の対象となる親文字を正しく特定することができる文書認識装置等を提供することである。また、ルビ文字の認識結果にルビ種別情報を付加することができる文書認識装置等を提供することである。
【課題を解決するための手段】
【0010】
前述した目的を達成するために第1の発明は、ルビを含む文書の画像を入力画像とし、前記文書を認識する文書認識装置であって、親文字に対するルビ候補を示すルビ辞書を記憶するルビ辞書記憶手段と、前記入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別手段と、前記行間領域の文字列である行間文字列を抽出し、前記行間文字列ごとに、前記本文行領域の文字列の中から、仮決定の親文字列である仮親文字列を決定する仮決定手段と、前記本文行領域及び前記行間領域の文字を認識する文字認識手段と、前記文字認識手段による前記仮親文字列の認識結果を参照キーとして前記ルビ辞書を参照することによって得られる前記ルビ候補の少なくとも1つと、前記文字認識手段による前記行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、前記ルビ一致判定の結果に基づいて、前記仮親文字列を本決定の親文字列である本親文字列として決定する、或いは、前記仮親文字列に含まれる一部の文字を除いた残りの文字列を前記本親文字列として決定する本決定手段と、を具備する文書認識装置である。
第1の発明によって、ルビ文字の対象となる親文字を正しく特定することができる。
【0011】
前記仮決定手段は、更に、仮決定のルビ種別である仮ルビ種別を決定し、前記仮ルビ種別は、「モノルビ」及び「グループルビ」を含み、前記本決定手段は、前記行間文字列の前記仮ルビ種別が「モノルビ」の場合、前記仮親文字列に含まれる全ての文字について、前記ルビ一致判定が「一致」であるか否かの判定である第1判定を行い、前記第1判定において「真」と判定した場合、前記仮親文字列を前記本親文字列として決定し、前記第1判定において「偽」と判定した場合、及び、前記行間文字列の前記仮ルビ種別が「グループルビ」の場合、前記仮親文字列に含まれる先頭文字から連続する少なくとも1文字以上について、前記ルビ一致判定が「一致」であるか否かの判定である第2判定を行い、前記第2判定において「真」と判定した場合、前記第2判定において「一致」と判定された文字のみを前記本親文字列として決定し、前記第2判定において「偽」と判定した場合、前記仮親文字列に含まれる2文字目から連続する少なくとも1文字以上について、前記ルビ一致判定が「一致」であるか否かの判定である第3判定を行い、前記第3判定において「真」と判定した場合、前記第3判定において「一致」と判定された文字のみを前記本親文字列として決定し、前記第3判定において「偽」と判定した場合、前記仮親文字列を前記本親文字列として決定することが望ましい。
これによって、グループルビや親文字よりも長いルビが付与されていても、親文字を正しく特定できる。
【0012】
また、前記本決定手段は、更に、本決定のルビ種別である本ルビ種別を決定し、前記本ルビ種別は、「モノルビ」、「モノルビ化可能なグループルビ」、及び「当て字のグループルビ」を含み、前記本決定手段は、前記第1判定において「真」と判定した場合、前記本ルビ種別を「モノルビ」と決定し、前記第2判定において「真」と判定した場合、及び、前記第3判定において「真」と判定した場合、前記本ルビ種別を「モノルビ化可能なグループルビ」と決定し、前記第3判定において「偽」と判定した場合、前記本ルビ種別を「当て字のグループルビ」と決定することが望ましい。
これによって、ルビ文字の認識結果にルビ種別情報を付加することができる。例えば、文書作成者の意図により、文書画像中においてモノルビ、グループルビといったルビ種別を使い分けていた場合、そのルビ種別情報を失うことがない。
【0013】
また、前記文字認識手段による認識結果、前記本親文字列、及び前記本ルビ種別を出力する出力手段、を更に具備し、前記出力手段は、前記本ルビ種別が「モノルビ化可能なグループルビ」の場合には、前記本親文字列に含まれる文字ごとに、モノルビ化したルビを付加して出力することが望ましい。
これによって、文書画像から文書認識処理を経てリフロー型電子書籍用データを作成する場合、ルビ区切り位置の決定を自動処理させるための内部的な情報を出力することができる。つまり、リフロー型電子書籍において、ルビ区切り位置の決定を自動処理させることができる。
【0014】
また、前記仮決定手段は、前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までを包含する最小文字数の文字列である包含文字列が存在するか否かの判定である第4判定を行い、前記第4判定において「真」と判定した場合、前記包含文字列を前記仮親文字列として決定し、前記第4判定において「偽」と判定した場合、前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までに包含される最大文字数の文字列である被包含文字列を前記仮親文字列として決定することが望ましい。
これによって、行間文字列に対する仮の親文字列を決定することができる。
【0015】
また、前記仮決定手段は、前記第4判定において「真」と判定した場合、前記行間文字列に含まれる全ての文字が、前記仮親文字列に含まれる2つの文字に跨らないか否かの判定である第5判定を行い、前記第5判定において「真」と判定した場合、前記仮ルビ種別を「モノルビ」と決定し、前記第4判定において「偽」と判定した場合、及び、前記第5判定において「偽」と判定した場合、前記仮ルビ種別を「グループルビ」と決定することが望ましい。
これによって、行間文字列に対する仮のルビ種別を決定することができる。
【0016】
また、前記本ルビ種別は、更に、「圏点」を含み、前記本決定手段は、前記行間文字列の前記仮ルビ種別が「モノルビ」の場合、前記第1判定の前に、前記文字認識手段による前記行間文字列の認識結果が「圏点」を示すものか否かの判定である第6判定を行うことが望ましい。
これによって、「圏点」を正しく認識し、仮決定手段による処理の前に除外することができ、仮決定手段による処理の精度が向上する。
【0017】
また、前記入力画像に対してレイアウト解析を行って前記文章領域を抽出し、更に、前記行間領域に対してレイアウト解析を行って前記行間文字列を抽出するレイアウト解析手段、を更に具備することが望ましい。
これによって、入力画像の入力から認識結果等の出力まで一貫して、文書認識装置による自動処理を実現することができる。
【0018】
第2の発明は、ルビを含む文書の画像を入力画像とし、前記文書を認識する文書認識方法であって、親文字に対するルビ候補を示すルビ辞書を記憶するルビ辞書記憶手段を具備するコンピュータが、前記入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別ステップと、前記行間領域の文字列である行間文字列を抽出し、前記行間文字列ごとに、前記本文行領域の文字列の中から、仮決定の親文字列である仮親文字列を決定する仮決定ステップと、前記本文行領域及び前記行間領域の文字を認識する文字認識ステップと、前記文字認識ステップによる前記仮親文字列の認識結果を参照キーとして前記ルビ辞書を参照することによって得られる前記ルビ候補の少なくとも1つと、前記文字認識ステップによる前記行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、前記ルビ一致判定の結果に基づいて、前記仮親文字列を本決定の親文字列である本親文字列として決定する、或いは、前記仮親文字列に含まれる一部の文字を除いた残りの文字列を前記本親文字列として決定する本決定ステップと、を実行する文書認識方法である。
第2の発明によって、ルビ文字の対象となる親文字を正しく特定することができる。
【0019】
第3の発明は、コンピュータを第1の発明の文字認識装置として機能させる為のプログラムである。
第3の発明を汎用のコンピュータにインストールすることによって、第1の発明の文字認識装置を得ることができる。
【0020】
第4の発明は、コンピュータを第1の発明の文字認識装置として機能させる為のプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
第4の発明によって、第3の発明のプログラムを配布することができる。
【発明の効果】
【0021】
本発明により、ルビ文字の対象となる親文字を正しく特定することができる文書認識装置等を提供することができる。また、ルビ文字の認識結果にルビ種別情報を付加することができる文書認識装置等を提供することができる。
【図面の簡単な説明】
【0022】
【図1】文書認識装置1のハードウエア構成図
【図2】文書認識装置1のソフトウエア構成図
【図3】フリガナ辞書31の一例を示す図
【図4】入力画像32の一例を示す図
【図5】文字矩形領域41を説明する図
【図6】本文行領域42、行間領域43及び行間文字列44を説明する図
【図7】仮決定手段24の処理の流れを示すフローチャート
【図8】包含文字列45を説明する図
【図9】被包含文字列46を説明する図
【図10】仮ルビ種別が「モノルビ」の行間文字列44の一例を示す図
【図11】仮ルビ種別が「グループルビ」の行間文字列44の一例を示す図
【図12】本決定手段26の処理の流れを示すフローチャート
【図13】第1の例を示す図
【図14】第1の例の一時記憶データ51を示す図
【図15】第1の例の属性情報52を示す図
【図16】第2の例を示す図
【図17】第2の例の一時記憶データ51を示す図
【図18】第2の例の属性情報52を示す図
【発明を実施するための形態】
【0023】
本発明の実施形態では、本発明の技術的思想を分かり易く説明する為、以下の条件を満たす入力画像(=紙媒体等の文書から光学的に読み取った画像)を前提とする。
・文字領域(本文の1文字単位の領域)は、略正方形である。
・文字列領域(本文の1行単位の領域)は、略四角形である。
・文字列領域に含まれる文字の大きさは、殆どが同一とする。
・文字列領域中の文字の配置は、直線的である。
・文字列領域中の隣接する文字同士は、極めて近接している。
・文字列領域中の文字の間隔は、一定である。
尚、本発明の技術的思想は、上記の前提を満たす入力画像に限定されるわけではない。上記の前提を満たさない入力画像であっても、公知の技術によって上記の前提が満たされる画像に変換するか、又は必要に応じて一部の処理を設計変更することによって、本発明は適用可能である。
【0024】
また、本発明の実施形態では、縦書きの日本語文書を例にして説明する。当然ながら、本発明は、横書きの日本語文書、並びに、横書き及び縦書きの外国語文書(日本語以外の文書)にも適用可能である。
【0025】
以下図面に基づいて、本発明の実施形態を詳細に説明する。
図1は、文書認識装置1のハードウエア構成図である。尚、図1のハードウエア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
【0026】
文書認識装置1は、制御部11、記憶部12、メディア入出力部13、通信制御部14、入力部15、表示部16、周辺機器I/F部17等が、バス18を介して接続される。
【0027】
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成される。
【0028】
CPUは、記憶部12、ROM、記録媒体等に格納されるプログラムをRAM上のワークメモリ領域に呼び出して実行し、バス18を介して接続された各装置を駆動制御し、文書認識装置1が行う後述する処理を実現する。
ROMは、不揮発性メモリであり、コンピュータのブートプログラムやBIOS等のプログラム、データ等を恒久的に保持している。
RAMは、揮発性メモリであり、記憶部12、ROM、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部11が各種処理を行う為に使用するワークエリアを備える。
【0029】
記憶部12は、HDD(ハードディスクドライブ)であり、制御部11が実行するプログラム、プログラム実行に必要なデータ、OS(オペレーティングシステム)等が格納される。プログラムに関しては、OS(オペレーティングシステム)に相当する制御プログラムや、後述する処理をコンピュータに実行させるためのアプリケーションプログラムが格納されている。
これらの各プログラムコードは、制御部11により必要に応じて読み出されてRAMに移され、CPUに読み出されて各種の手段として実行される。
【0030】
メディア入出力部13(ドライブ装置)は、データの入出力を行い、例えば、CDドライブ(−ROM、−R、−RW等)、DVDドライブ(−ROM、−R、−RW等)等のメディア入出力装置を有する。
通信制御部14は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク間の通信を媒介する通信インタフェースであり、ネットワークを介して、他のコンピュータ間との通信制御を行う。ネットワークは、有線、無線を問わない。
【0031】
入力部15は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。
入力部15を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。
表示部16は、CRTモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等(ビデオアダプタ等)を有する。
【0032】
周辺機器I/F(インタフェース)部17は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器I/F部17を介してコンピュータは周辺機器(イメージスキャナ、複合機等)とのデータの送受信を行う。周辺機器I/F部17は、USBやIEEE1394やRS−232C等で構成されており、通常複数の周辺機器I/Fを有する。周辺機器との接続形態は有線、無線を問わない。
バス18は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【0033】
図2は、文書認識装置1のソフトウエア構成図である。図2に示すように、文書認識装置1は、記憶手段21、レイアウト解析手段22、領域分別手段23、仮決定手段24、文字認識手段25、本決定手段26、出力手段27等を備える。
文書認識装置1の記憶部12は、記憶手段21として機能する。尚、外部記憶装置が記憶手段21として機能しても良い。
また、文書認識装置1の制御部11は、図2に示すレイアウト解析手段22〜出力手段27として機能する。
【0034】
記憶手段21は、フリガナ辞書31を記憶する。
図3は、フリガナ辞書31の一例を示す図である。図3に示すように、フリガナ辞書31は、「漢字」(1文字分)を主キーとし、フリガナ候補となる候補1〜候補4等が対応付けられている。
図3では、例えば、漢字「誕」に対して、候補1「タン」、候補2「う(まれる)」、候補3「いつわ(る)」が対応付けられている。
【0035】
フリガナ辞書31は、親文字に対するルビ候補を示す「ルビ辞書」の一例である。ルビ辞書としては、他にも、歴史的仮名遣い、中国語のピン音、その他の外国語(日本語以外の言語)の発音、用語の通称や略称など、様々なものが考えられる。
【0036】
レイアウト解析手段22は、入力画像に対してレイアウト解析処理を行って文章領域を抽出する。また、レイアウト解析手段22は、入力画像を一部切り出した画像に対してレイアウト解析処理を行って所望の文字列を抽出する。レイアウト解析処理については、公知の技術を適用すれば良く、本発明では特に限定しない。
【0037】
図4は、入力画像32の一例を示す図である。入力画像32は、例えば、日本語文書(教科書、実用書、小説など)の1ページ分がイメージスキャナ等によって光学的に読み取られた画像である。入力画像32には、文章領域33、図表領域34等が含まれる。文章領域33は、文章が配置されている領域である。図表領域34は、図、表、写真などが配置されている領域である。
レイアウト解析手段22は、入力画像32に対してレイアウト解析処理を行い、文章領域33と図表領域34とに分割し、文章領域33を抽出する。
【0038】
領域分別手段23は、入力画像32の文章領域33に対して領域分別処理を行い、本文行領域と行間領域とに分別する。本文行領域は、本文の文字列が配置されている領域である。行間領域は、2つの本文行の間の領域であり、ルビの文字列が配置されている領域である。
【0039】
図5、図6を参照しながら、領域分別処理の一例について説明する。
図5は、文字矩形領域41を説明する図である。図6は、本文行領域42、行間領域43及び行間文字列44を説明する図である。
【0040】
領域分別手段23は、文章領域33に含まれる「みなし行」の切り出しを行う。「みなし行」の切り出しの段階では、本文とルビが区別されていない。
次に、領域分別手段23は、切り出された「みなし行」に含まれる「みなし文字」の切り出しを行う。「みなし文字」の切り出しの段階では、本文文字とルビ文字が区別されていない。より詳細には、領域分別手段23は、図5に示すように、1文字分を含む文字矩形領域41を抽出し、文字矩形領域41の上端部及び下端部のy座標[yAs、yAe]を取得し、RAM等に保存する。尚、横書きの文章であれば、領域分別手段23は、文字矩形領域41の左端部及び右端部のx座標を取得する。
【0041】
次に、領域分別手段23は、「みなし行」における全ての「みなし文字」の[yAs、yAe]についての標準的な値に基づいて、「みなし文字サイズ」を決定する。
次に、領域分別手段23は、「みなし文字サイズ」に基づく「みなし行高」を決定し、この「みなし行高」を横幅(横書きの文章であれば、縦幅)とする領域を本文行領域42とする。
また、領域分別手段23は、本文行領域42同士の間の領域を行間領域43とする。尚、領域分別手段23は、文章領域33の中で最も右端の本文行領域42(横書きの文章であれば、最も上端の本文行領域42)については、その右側の領域(横書きの文章であれば、その上側の領域)も、行間領域43とする。
そして、領域分別手段23は、本文行領域42と、その右側(縦書きの文章であれば、その上側)に位置する行間領域43とを対応付けて、RAM等に記憶する。
【0042】
前述した領域分別処理の一例によれば、「行(本文及びルビを含む。)」の行高が、行間に付与されるルビの分だけ広く取られている文書であっても、本文だけの行高を正確に特定することができる。そして、前述したように、本文行領域42と行間領域43とに分別することができる。
【0043】
仮決定手段24は、行間文字列(=行間領域の文字列)を抽出し、行間文字列ごとに、本文行領域の文字列の中から、仮親文字列(=仮決定の親文字列)を決定する。
図6には、行間文字列44の一例が図示されている。図6に示すように、行間領域43は、1又は複数の行間文字列44を含む場合もあるし、行間文字列44を1つも含まない場合もある。例えば、仮決定手段24が、レイアウト解析手段22に行間領域43を受け渡すと、レイアウト解析手段22が、行間領域43に対してレイアウト解析処理を行って行間文字列44を特定し、仮決定手段24に行間文字列44を返す。
また、仮決定手段24は、仮ルビ種別(=仮決定のルビ種別)も決定する。仮ルビ種別は、「モノルビ」及び「グループルビ」を含む。
仮決定手段24の詳細は、図7等を参照しながら後述する。
【0044】
文字認識手段25は、文字認識処理を行う。文字認識処理は、1文字分の画像を入力データとし、入力データに含まれる文字構成画素の集まりから、文字コードを判定する。入力データは、例えば、白と黒の2値画像であり、黒画素が文字構成画素であることが多い。文字認識処理については、公知の技術を適用すれば良く、本発明では特に限定しない。
【0045】
本決定手段26は、文字認識手段25による仮親文字列の認識結果を参照キーとしてフリガナ辞書31(ルビ辞書)を参照することによって得られるルビ候補の少なくとも1つと、文字認識手段25による行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、ルビ一致判定の結果に基づいて、仮親文字列を本親文字列(=本決定の親文字列)として決定する、或いは、仮親文字列に含まれる一部の文字(例えば、先頭文字から連続する1文字以上の文字列及び/又は最終文字まで連続する1文字以上の文字)を除いた残りの文字列を本親文字列として決定する。
また、本決定手段26は、本ルビ種別(=本決定のルビ種別)も決定する。本ルビ種別は、「モノルビ」、「モノルビ化可能なグループルビ」、及び「当て字のグループルビ」を含む。本ルビ種別は、更に「圏点」を含んでも良い。
本決定手段26の詳細は、図12等を参照しながら後述する。
【0046】
出力手段27は、文字認識手段25による認識結果、本親文字列、及び本ルビ種別をファイル等に出力する。特に、出力手段27は、本ルビ種別が「モノルビ化可能なグループルビ」の場合には、本親文字列に含まれる文字ごとに、モノルビ化したルビを属性情報として付加して出力する。
【0047】
文書認識装置1による文書認識方法は、少なくとも、以下のステップを含む。
(1)入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別ステップ。
(2)行間領域の文字列である行間文字列を抽出し、行間文字列ごとに、本文行領域の文字列の中から仮親文字列を決定する仮決定ステップ。
(3)本文行領域及び行間領域の文字を認識する文字認識ステップ。
(4)文字認識ステップによる仮親文字列の認識結果を参照キーとしてルビ辞書を参照することによって得られるルビ候補の少なくとも1つと、文字認識ステップによる行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、ルビ一致判定の結果に基づいて、仮親文字列を本親文字列として決定する、或いは、仮親文字列に含まれる一部の文字を除いた残りの文字列を本親文字列として決定する本決定ステップ。
【0048】
図7〜図11を参照しながら、仮決定手段24の詳細について説明する。
図7は、仮決定手段24の処理の流れを示すフローチャートである。図7では、1つの行間文字列44に対する一連の処理を図示している。制御部11は、抽出された行間文字列44ごとに、図7のフローチャートを実行する。
【0049】
制御部11は、行間文字列44の開始位置、終了位置[ys、ye]を取得する(S1)。[ys、ye]は、図5に図示されている[yAs、yAe]と同様、行間文字列44の上端部及び下端部のy座標である。
【0050】
次に、制御部11は、[ys、ye]⊆[yAs、yBe]となる包含文字列[A・・・B]が存在するか否か確認する(S2)。包含文字列[A・・・B]とは、本文行領域42の文字列の中で、行間文字列44の開始位置から終了位置までを包含する最小文字数の文字列である。
【0051】
図8は、包含文字列45を説明する図である。
図8では、行間文字列44は、[C・・・D]である。本文行領域42の文字列の中で行間文字列44の開始位置から終了位置までを包含する最小文字数の文字列は、文字列[A・・・B]であるから、制御部11は、文字列[A・・・B]を包含文字列45とする。
【0052】
図7の説明に戻る。
制御部11は、S2の判定が「真」の場合(S2のYes)、包含文字列[A・・・B]を仮親文字列とする(S3)。
一方、制御部11は、S2の判定が「偽」の場合(S2のNo)、[yAs、yBe]⊂[ys、ye]となる被包含文字列[A・・・B]を仮親文字列とする(S4)。被包含文字列[A・・・B]とは、本文行領域42の文字列の中で、行間文字列44の開始位置から終了位置までに包含される最大文字数の文字列である。
【0053】
図9は、被包含文字列46を説明する図である。
図9では、行間文字列44は、[C・・・D]である。本文行領域42の文字列の中で、行間文字列44の開始位置から終了位置までに包含される最大文字数の文字列は、文字列[A・・・B]であるから、制御部11は、文字列[A・・・B]を被包含文字列46とする。
【0054】
図7の説明に戻る。
制御部11は、S3の処理の後、行間文字列44の全ての文字が、仮親文字列の2つの文字に跨らないか否かを確認する(S5)。
制御部11は、行間文字列44の全ての文字が、仮親文字列の2つの文字に跨らないと判定した場合、つまり、S5の判定が「真」の場合(S5のYes)、仮ルビ種別を「モノルビ(圏点を含む。)」とする(S6)。
一方、制御部11は、行間文字列44のいずれかの文字が、仮親文字列の2つの文字に跨ると判定した場合、つまり、S5の判定が「偽」の場合(S5のNo)、仮ルビ種別を「グループルビ」とする(S7)。また、制御部11は、S4の処理の後も、仮ルビ種別を「グループルビ」とする(S7)。
【0055】
図10は、仮ルビ種別が「モノルビ」の行間文字列44の一例を示す図である。
図10では、仮親文字列47は、「漢字」である。また、行間文字列44は、「かんじ」である。行間文字列44の「か」及び「ん」は、仮親文字列47の1文字目「漢」の開始位置から終了位置までに含まれ、仮親文字列47の2文字目「字」に跨っていない。また、行間文字列44の「じ」は、仮親文字列47の2文字目「字」の開始位置から終了位置までに含まれ、仮親文字列47の1文字目「漢」に跨っていない。従って、制御部11は、図10に示す行間文字列44の仮ルビ種別を「モノルビ」とする。
【0056】
図11は、仮ルビ種別が「グループルビ」の行間文字列44の一例を示す図である。
図11では、仮親文字列47は、「漢字」である。また、行間文字列44は、「かんじ」である。行間文字列44の「か」は、仮親文字列47の1文字目「漢」の開始位置から終了位置までに含まれ、仮親文字列47の2文字目「字」に跨っていない。また、行間文字列44の「じ」は、仮親文字列47の2文字目「字」の開始位置から終了位置までに含まれ、仮親文字列47の1文字目「漢」に跨っていない。一方、行間文字列44の「ん」は、仮親文字列47の1文字目「漢」と、仮親文字列47の2文字目「字」とに跨っている。従って、制御部11は、図10に示す行間文字列44の仮ルビ種別を「グループルビ」とする。
【0057】
以上、図7に示す仮決定手段24による処理では、行間文字列44に対して、仮親文字列47及び仮ルビ種別が仮決定される。仮決定手段24は、行間文字列44ごとに、仮親文字列47及び仮ルビ種別をRAM等に記憶する。
【0058】
図12を参照しながら、本決定手段26の詳細について説明する。
図12は、本決定手段26の処理の流れを示すフローチャートである。図12では、1つの行間文字列44に対する一連の処理を図示している。制御部11は、抽出された行間文字列44ごとに、図12のフローチャートを実行する。
【0059】
図12に示す処理の概要は、次の通りである。本決定手段26は、仮決定手段24及び文字認識手段25の結果に基づいて、行間文字列44を圏点、モノルビ、グループルビ等に判別するとともに、親文字との対応付けを本決定する。ルビと認識された場合には、本決定手段26は、フリガナ辞書31を参照し、親文字とルビ文字の対応が正しいか否か確認し、間違っている場合は対応関係を修正する。
本決定手段26によって、長いルビ文字列であって、本来対応する親文字以外の文字にもかかってしまっている場合においても、対象となる親文字の特定が可能となる。更に、グループルビについて、当て字なのか、それともモノルビ化可能か、について判定することができる。
尚、グループルビと判断される場合には、本決定手段26は、対応する親文字列とグループルビの対応を「単語辞書」として記憶手段21等に登録するようにしても良い。これによって、文書内に同様の単語とルビが出現した場合、「単語辞書」を参照することによって、より効率良くルビの対応を特定することができる。
【0060】
以下では、図12に示す処理の詳細について説明する。
制御部11は、行間文字列44の仮ルビ種別が「モノルビ」か否か確認する(S11)。
制御部11は、S11の判定が「真」の場合(S11のYes)、S12に進む。また、制御部11は、S11の判定が「偽」の場合(S11のNo)、S16に進む。
【0061】
S12では、制御部11は、文字認識手段25による行間文字列44の認識結果が「圏点」か否か確認する。尚、S12の判定において「圏点」か否かを判別出来ない場合、制御部11は、行間文字列44の認識結果が全て同一の記号であるか否かを確認するようにしても良い。
制御部11は、認識結果が「圏点」の場合、つまり、S12の判定が「真」の場合(S12のYes)、本親文字列=仮親文字列、本ルビ種別=「圏点」とし、処理を終了する(S13)。
一方、制御部11は、認識結果が「圏点」ではない場合、つまり、S12の判定が「偽」の場合(S12のNo)、S14に進む。
【0062】
S14では、制御部11は、仮親文字列47に含まれる全ての文字についてルビ一致判定を行い、全てのルビ一致判定が「一致」であるか否か確認する。ルビ一致判定では、制御部11は、文字認識手段25による仮親文字列47の認識結果を参照キーとしてフリガナ辞書31を参照することによって得られるフリガナ候補の少なくとも1つと、文字認識手段25による行間文字列44の認識結果が一致するか否かの判定を行う。
制御部11は、S14の判定が「真」の場合(S14のYes)、本親文字列=仮親文字列、本ルビ種別=「モノルビ」とし、処理を終了する(S15)。
一方、制御部11は、S14の判定が「偽」の場合(S14のNo)、S16に進む。
【0063】
S16では、制御部11は、仮親文字列47に含まれる先頭文字から連続する1文字以上についてルビ一致判定を行い、先頭文字から連続する1文字以上のルビ一致判定が「一致」であるか否か確認する。
制御部11は、S16の判定が「真」の場合(S16のYes)、本親文字列=一致と判定された文字のみ、本ルビ種別=「モノルビ化可能なグループルビ」とし、処理を終了する(S17)。
一方、制御部11は、S16の判定が「偽」の場合(S16のNo)、S18に進む。
【0064】
S18では、制御部11は、仮親文字列47に含まれる2文字目から連続する1文字以上についてルビ一致判定を行い、2文字目から連続する1文字以上のルビ一致判定が「一致」であるか否か確認する。
制御部11は、S18の判定が「真」の場合(S18のYes)、本親文字列=一致と判定された文字のみ、本ルビ種別=「モノルビ化可能なグループルビ」とし、処理を終了する(S17)。
一方、制御部11は、S18の判定が「偽」の場合(S18のNo)、本親文字列=仮親文字列、本ルビ種別=「当て字のグループルビ」とし、処理を終了する(S19)。
【0065】
以上、図12に示す本決定手段26による処理では、行間文字列44に対して、本親文字列及び本ルビ種別が本決定される。本決定手段26は、行間文字列44ごとに、本親文字列及び本ルビ種別をRAM等に記憶する。
【0066】
次に、図13〜図15を参照しながら、文書認識装置1による処理の一例である第1の例について説明する。
図13は、第1の例を示す図、図14は、第1の例の一時記憶データ51を示す図、図15は、第1の例の属性情報52を示す図である。
【0067】
第1の例では、図13に示すように、行間文字列44が「たんじょうび」、仮親文字列47が「誕生日」である。
制御部11は、図7に示す処理の後、図14に示すように、行間文字列44ごとに、一時記憶データ51をRAM等に記憶する。図7に示す処理が終了した時点では、一時記憶データ51に「行間文字列」、「仮親文字列」、「仮ルビ種別」が記憶されている。
「仮ルビ種別」が“モノルビ”(圏点ではない。)であるから、制御部11は、S14のルビ一致判定を行う(図12のS11、S12参照)。
【0068】
第1の例に対するS14のルビ一致判定を説明する。
制御部11は、仮親文字列47の{誕}を参照キーとして図3に示すフリガナ辞書31を参照する。参照結果として、フリガナ候補「タン」が得られる。これは、行間文字列44の{/た/ん}と一致することから、ルビ一致判定は「一致」となる。
次に、制御部11は、仮親文字列47の{生}を参照キーとして図3に示すフリガナ辞書31を参照する。参照結果として得られるフリガナ候補「セイ」、「ショウ」、「い(きる)」、「なま」等のいずれも、行間文字列44の{/じ/ょ}と一致しないことから、ルビ一致判定は「不一致」となる。
そして、制御部11は、S14の判定を「偽」とする。
【0069】
次に、第1の例に対するS16のルビ一致判定を説明する。S16では、仮ルビ種別が「モノルビ」であっても、親文字の1文字分に対するルビ文字の対応関係を無視して、フリガナ辞書31を参照する。
制御部11は、仮親文字列47の{誕}を参照キーとして図3に示すフリガナ辞書31を参照する。参照結果として、フリガナ候補「タン」が得られる。これは、行間文字列44の{/た/ん}と一致することから、ルビ一致判定は「一致」となる。
次に、制御部11は、仮親文字列47の{生}を参照キーとして図3に示すフリガナ辞書31を参照する。参照結果として、フリガナ候補「ショウ」が得られる。制御部11は、行間文字列44の{/じ}以降を1文字ずつ増やして、フリガナ候補「ショウ」と一致するか否か確認していく。つまり、制御部11は、{/じ}→{/じ/ょ}→{/じ/ょ/う}→{/じ/ょ/う/び}の順に、フリガナ候補「ショウ」と一致するか否か確認する。行間文字列44の{/じ/ょ/う}とフリガナ候補「ショウ」が一致することから、ルビ一致判定は「一致」となる。
次に、制御部11は、仮親文字列47の{日}を参照キーとして図3に示すフリガナ辞書31を参照する。参照結果として、フリガナ候補「ひ」が得られる。これは、行間文字列44の{/び}と一致することから、ルビ一致判定は「一致」となる。
そして、制御部11は、S16の判定を「真」とする。
【0070】
制御部11は、図12に示す処理の中で、図14に示す一時記憶データ51を更新する。図12に示す処理では、一時記憶データ51の「S14のルビ一致判定」、「S16のルビ一致判定」が更新される。
第1の例では、S16のルビ一致判定が全て「一致」であるから、制御部11は、本親文字列=「誕生日」、本ルビ種別=「モノルビ化可能なグループルビ」とする(図12のS17参照)。
【0071】
制御部11は、出力手段27として、文字認識手段25による認識結果とともに、図15に示す属性情報52を出力する。
属性情報52は、例えば、「本文文字」、「本文文字の位置」、「ルビ有無」、「位置から判断されるルビ」、「モノルビ化したルビ」などのデータを含む。
「本文文字」は、本文行領域42に含まれる文字である。「本文文字の位置」は、例えば、「本文文字」の文字矩形領域41の左上座標及び右下座標である。「ルビ有無」は、「本文文字」を含む単語に対応付けられるルビの有無であり、ルビが有る場合には本ルビ種別である。「位置から判断されるルビ」は、「本文文字」の文字矩形領域41の位置から判断されるルビである。「モノルビ化したルビ」は、図12に示すS16又はS18のルビ一致判定において、一致と判定された文字である。
【0072】
第1の例では、本文文字が「誕」、「生」、「日」の3つである。
本文文字が「誕」に対しては、「本文文字の位置」が“(x1、y1)、(x2、y2)”、「ルビ有無」が“モノルビ化可能なグループルビ”、「位置から判断されるルビ」が“たん”、「モノルビ化したルビ」が“たん”である。
本文文字が「生」に対しては、「本文文字の位置」が“(x3、y3)、(x4、y4)”、「ルビ有無」が“モノルビ化可能なグループルビ”、「位置から判断されるルビ」が“じょ”、「モノルビ化したルビ」が“じょう”である。
本文文字が「日」に対しては、「本文文字の位置」が“(x5、y5)、(x6、y6)”、「ルビ有無」が“モノルビ化可能なグループルビ”、「位置から判断されるルビ」が“うび”、「モノルビ化したルビ」が“び”である。
【0073】
第1の例のように、本ルビ種別=「モノルビ化可能なグループルビ」と判断されたルビ文字列については、リフロー型電子書籍において、親文字が行末及び行頭に跨る場合、モノルビに変更して表示させることが可能となる。
【0074】
次に、図16〜図18を参照しながら、文書認識装置1による処理の一例である第2の例について説明する。
図16は、第2の例を示す図、図17は、第2の例の一時記憶データ51を示す図、図18は、第2の例の属性情報52を示す図である。
【0075】
第2の例では、図16に示すように、行間文字列44が「こすもす」、仮親文字列47が「秋桜」である。
制御部11は、図7に示す処理の後、図14に示すように、行間文字列44ごとに、一時記憶データ51をRAM等に記憶する。図7に示す処理が終了した時点では、一時記憶データ51に「行間文字列」、「仮親文字列」、「仮ルビ種別」が記憶されている。
「仮ルビ種別」が“モノルビ”であるから、制御部11は、S14のルビ一致判定を行う(図12のS11、S12参照)。
【0076】
第2の例に対するS14のルビ一致判定を説明する。
制御部11は、仮親文字列47の{秋}を参照キーとしてフリガナ辞書31を参照し、参照結果としてフリガナ候補を得る。参照結果として得られるフリガナ候補のいずれも、行間文字列44の{/こ/す}と一致しないことから、ルビ一致判定は「不一致」となる。
そして、制御部11は、S14の判定を「偽」とする。
【0077】
次に、第2の例に対するS16のルビ一致判定を説明する。
制御部11は、仮親文字列47の{秋}を参照キーとしてフリガナ辞書31を参照し、参照結果としてフリガナ候補を得る。制御部11は、行間文字列44の{/こ}以降を1文字ずつ増やして、フリガナ候補と一致するか否か確認していく。つまり、制御部11は、{/こ}→{/こ/す}→{/こ/す/も}→{/こ/す/も/す}の順に、フリガナ候補と一致するか否か確認する。行間文字列44とフリガナ候補はいずれも一致しないことから、ルビ一致判定は「不一致」となる。
そして、制御部11は、S14の判定を「偽」とする。
【0078】
次に、第2の例に対するS18のルビ一致判定を説明する。
制御部11は、仮親文字列47の{桜}を参照キーとしてフリガナ辞書31を参照し、参照結果としてフリガナ候補を得る。制御部11は、行間文字列44の{/こ}以降を1文字ずつ増やして、フリガナ候補と一致するか否か確認していく。つまり、制御部11は、{/こ}→{/こ/す}→{/こ/す/も}→{/こ/す/も/す}の順に、フリガナ候補と一致するか否か確認する。行間文字列44とフリガナ候補はいずれも一致しないことから、ルビ一致判定は「不一致」となる。
そして、制御部11は、S18の判定を「偽」とする。
【0079】
制御部11は、図12に示す処理の中で、図14に示す一時記憶データ51を更新する。図12に示す処理では、一時記憶データ51の「S14のルビ一致判定」、「S16のルビ一致判定」、「S18のルビ一致判定」が更新される。
第2の例では、S18の判定が「偽」であるから、制御部11は、本親文字列=「秋桜」、本ルビ種別=「当て字のグループルビ」とする。
【0080】
制御部11は、出力手段27として、文字認識手段25による認識結果とともに、図18に示す属性情報52を出力する。
第2の例では、本文文字が「秋」、「桜」の2つである。
本文文字が「秋」に対しては、「本文文字の位置」が“(x7、y7)、(x8、y8)”、「ルビ有無」が“当て字のグループルビ”、「位置から判断されるルビ」が“こす”、「モノルビ化したルビ」が“−”(なし)である。
本文文字が「桜」に対しては、「本文文字の位置」が“(x9、y9)、(x10、y10)”、「ルビ有無」が“当て字のグループルビ”、「位置から判断されるルビ」が“もす”、「モノルビ化したルビ」が“−”(なし)である。
【0081】
第2の例のように、本ルビ種別=「当て字のグループルビ」と判断されたルビ文字列については、リフロー型電子書籍において、親文字が行末及び行頭に跨る場合、文字数の比に応じてルビ文字列も分割して表示させると良い。
【0082】
第1の例及び第2の例からも分かるように、本発明は以下の効果を奏する。
(1)一般の日本語文書(教科書、実用書、小説など)を含む様々な文書において、ルビの対象となる親文字を正しく特定できる。特に、グループルビや親文字よりも長いルビが付与されていても、親文字を正しく特定できる。
(2)文書作成者の意図により、文書画像中においてモノルビ、グループルビといったルビ種別を使い分けていた場合、そのルビ種別情報を失うことなく、属性情報として出力することができる。つまり、教科書や低年齢向けの教材等、教育的配慮の為にモノルビが使用される場合、その認識結果を手作業によって修正する必要がない。
(3)文書画像から文書認識処理を経てリフロー型電子書籍用データを作成する場合、ルビ区切り位置の決定を自動処理させるための内部的な情報を、属性情報として出力することができる。つまり、リフロー型電子書籍において、ルビ区切り位置の決定を自動処理させることができる。
【0083】
以上、添付図面を参照しながら、本発明に係る文書認識装置等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0084】
1………文書認識装置
21………記憶手段
22………レイアウト解析手段
23………領域分別手段
24………仮決定手段
25………文字認識手段
26………本決定手段
27………出力手段
31………フリガナ辞書
32………入力画像
33………文章領域
34………図表領域
41………文字矩形領域
42………本文行領域
43………行間領域
44………行間文字列
45………包含文字列
46………被包含文字列
47………仮親文字列
51………一時記憶データ
52………属性情報
【技術分野】
【0001】
本発明は、紙媒体の文書から光学的に読み取った画像を入力画像とし、文書を認識する文書認識装置等に関するものである。特に、本発明は、ルビを含む文書を認識する文書認識装置等に関するものである。
【背景技術】
【0002】
入力された文書画像から文章領域を抽出する従来手法としては、大きく分けて2つの手法がある。
第1の手法は、特許文献1の従来技術として記載されている手法である(特許文献1の[0002]、[0003]、図7参照)。横書きの文書画像を例にして説明する。まず行方向に第1射影(黒画素の分布を示す。)を取り、行の高さを得る。次に、第1射影と垂直方向に第2射影(黒画素の分布を示す。)を取り、行の長さ及び画像ブロック(ドット分布の外接矩形等)を抽出する。次に、各画像ブロックの幅の平均等から、基準文字サイズを求める。そして、先に得られた複数の画像ブロックを結合したときに、その幅が基準文字サイズになる場合にはそれらの画像ブロックを結合して1文字分の文字矩形領域として決定する。また、画像ブロックが基準文字サイズの整数倍になっていれば、それを基準文字サイズで整数等分して1文字分の文字矩形領域を決定する。
第2の手法は、特許文献2の従来技術として記載されている手法である(特許文献2の[0002]参照)。まず、入力文字列画像から図形としてまとまりのある黒画素の連結パターンを抽出し、抽出された各々のパターンについて、その外接矩形を求める。次に、これらの矩形を1つの行を構成する要素と判断する統合規則(例えば、矩形相互の水平、垂直方向の距離が所定範囲内にあれば統合する。)に従い統合し、得られる行矩形により行の切り出しを行っている。
【0003】
しかし、認識対象となる文書が日本語文書であり、本文を構成している文字にルビが付与されていた場合、上記の従来手法を用いただけでは、文字認識結果の精度が落ちるという問題がある。
尚、ルビは、「モノルビ」と「グループルビ」の2種類に分けることができる。親文字が「漢字」、ルビが「フリガナ」の場合を例に説明すると、「モノルビ」とは、漢字1文字ごと振られるルビであり、「グループルビ」とは、単語単位に振られるルビである。また、「モノルビ」の特別な場合として、「圏点」(傍点、ルビ点とも言う。)がある。「圏点」は、注意すべき所を示すために、文章中の文字のわきに付ける小さな点などである。また、「グループルビ」の特別な場合として、「当て字」(宛字、借り字とも言う。)がある。「当て字」は、日本語を漢字で書く場合に、漢字の音や訓を、その字の意味に関係なく当てるものである。
【0004】
第1の手法の場合、本文文字にルビ文字が連結されて文字矩形領域が切り出され、文字認識が正しく行われないという問題がある。また、ルビ文字のみの文字矩形領域が切り出されても、ルビ文字の認識結果が本文文字の認識結果に挿入されてしまうという問題がある。
第2の手法の場合、ルビが存在する行(ルビ行)が、本文行と同様に切り出され、ルビ行の文字認識結果が本文行の文字認識結果と混ざって出力されてしまうという問題がある。また、第2の手法では、行を構成する文字の文字間や大きさがほぼ均等であることを前提条件としている。ところが、ある本文行内において、ルビが付与されている異なる親文字同士が極端に離れている場合は、ルビ行を構成する文字の文字間が大きく開くことになり、前提条件を満たさない。その結果、統合規則に反し、ルビ行として切り出されないという問題もある。
【0005】
このような問題を解決する手法として、特許文献1〜3に記載されている手法が提案されている。
特許文献1に記載の手法では、通常の射影処理によって行切り出しが正常に行えなかった文字矩形領域に対し、文字サイズを利用して行と行間の境界位置を割り出し、ルビ文字領域と本文文字領域を分割し、それぞれの文字認識結果を対応付けて出力させる。
また、特許文献2に記載の手法では、基準行を特定し、基準行の行高の1/2以下の行高である行を「ルビ行」と特定し、ルビ行と本文行の文字認識結果を別々に出力させる。
また、特許文献3に記載の手法では、名刺の氏名(=親文字)にふられるルビのように、文字行内において個々の親文字が極端に離れていたとしても、ルビ文字の領域を連結して1つのルビ文字列領域として抽出し、このルビ文字列領域に近接し、かつこのルビ文字列領域の長辺の長さによって区切られる文字列領域を親文字の文字列として特定する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3880091号公報
【特許文献2】特許第4162195号公報
【特許文献3】特許第3837193号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1の手法では、ルビの対象となる親文字を正しく特定できるとは限らないという課題がある。例えば、ルビ文字列が親文字列よりも長く、ルビが親文字ではない文字にまでかかっている場合や、グループルビのように複数の文字全体に均等にルビを付与した場合(例えば、漢字2文字に対してルビ3文字の場合)などでは、対象となる親文字を正しく特定できない可能性がある。
また、特許文献2では、そもそも親文字を特定することに言及しておらず、特許文献1と同様の課題がある。
また、特許文献3の手法は名刺に対するものであり、一般の日本語文書(教科書、実用書、小説など)に対してそのまま適用できるものではない。更に、特許文献3の手法では、文書作成者の意図により、文書画像中においてモノルビ、グループルビといったルビ種別を使い分けていたとしても、全てグループルビとして出力されてしまうため、ルビ種別情報が失われてしまうという課題もある。つまり、教科書や低年齢向けの教材等、教育的配慮の為にモノルビが使用される場合、その認識結果を全て修正する必要があり、手間がかかる。
【0008】
ところで、現状の電子書籍は、リフロー型とノンリフロー型に分類できる。リフロー型の電子書籍の場合、それを閲覧する電子書籍用端末の画面サイズやユーザによるフォントサイズ等の設定に依存して動的に文中における改行位置が変化する。つまり、フォントサイズを大きくすれば1行当たりの文字数が減り、フォントサイズを小さくすれば1行当たりの文字数が増える。
文書画像から文書認識処理を経てリフロー型電子書籍用データを作成する場合、グループルビのままでは、改行によるルビ区切り位置の決定を自動処理することができない。つまり、ルビ区切り位置の決定を自動処理させるためには、内部的にモノルビとしての情報を保持しておく必要がある。
【0009】
本発明は、前述した問題点に鑑みてなされたもので、その目的とすることは、ルビ文字の対象となる親文字を正しく特定することができる文書認識装置等を提供することである。また、ルビ文字の認識結果にルビ種別情報を付加することができる文書認識装置等を提供することである。
【課題を解決するための手段】
【0010】
前述した目的を達成するために第1の発明は、ルビを含む文書の画像を入力画像とし、前記文書を認識する文書認識装置であって、親文字に対するルビ候補を示すルビ辞書を記憶するルビ辞書記憶手段と、前記入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別手段と、前記行間領域の文字列である行間文字列を抽出し、前記行間文字列ごとに、前記本文行領域の文字列の中から、仮決定の親文字列である仮親文字列を決定する仮決定手段と、前記本文行領域及び前記行間領域の文字を認識する文字認識手段と、前記文字認識手段による前記仮親文字列の認識結果を参照キーとして前記ルビ辞書を参照することによって得られる前記ルビ候補の少なくとも1つと、前記文字認識手段による前記行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、前記ルビ一致判定の結果に基づいて、前記仮親文字列を本決定の親文字列である本親文字列として決定する、或いは、前記仮親文字列に含まれる一部の文字を除いた残りの文字列を前記本親文字列として決定する本決定手段と、を具備する文書認識装置である。
第1の発明によって、ルビ文字の対象となる親文字を正しく特定することができる。
【0011】
前記仮決定手段は、更に、仮決定のルビ種別である仮ルビ種別を決定し、前記仮ルビ種別は、「モノルビ」及び「グループルビ」を含み、前記本決定手段は、前記行間文字列の前記仮ルビ種別が「モノルビ」の場合、前記仮親文字列に含まれる全ての文字について、前記ルビ一致判定が「一致」であるか否かの判定である第1判定を行い、前記第1判定において「真」と判定した場合、前記仮親文字列を前記本親文字列として決定し、前記第1判定において「偽」と判定した場合、及び、前記行間文字列の前記仮ルビ種別が「グループルビ」の場合、前記仮親文字列に含まれる先頭文字から連続する少なくとも1文字以上について、前記ルビ一致判定が「一致」であるか否かの判定である第2判定を行い、前記第2判定において「真」と判定した場合、前記第2判定において「一致」と判定された文字のみを前記本親文字列として決定し、前記第2判定において「偽」と判定した場合、前記仮親文字列に含まれる2文字目から連続する少なくとも1文字以上について、前記ルビ一致判定が「一致」であるか否かの判定である第3判定を行い、前記第3判定において「真」と判定した場合、前記第3判定において「一致」と判定された文字のみを前記本親文字列として決定し、前記第3判定において「偽」と判定した場合、前記仮親文字列を前記本親文字列として決定することが望ましい。
これによって、グループルビや親文字よりも長いルビが付与されていても、親文字を正しく特定できる。
【0012】
また、前記本決定手段は、更に、本決定のルビ種別である本ルビ種別を決定し、前記本ルビ種別は、「モノルビ」、「モノルビ化可能なグループルビ」、及び「当て字のグループルビ」を含み、前記本決定手段は、前記第1判定において「真」と判定した場合、前記本ルビ種別を「モノルビ」と決定し、前記第2判定において「真」と判定した場合、及び、前記第3判定において「真」と判定した場合、前記本ルビ種別を「モノルビ化可能なグループルビ」と決定し、前記第3判定において「偽」と判定した場合、前記本ルビ種別を「当て字のグループルビ」と決定することが望ましい。
これによって、ルビ文字の認識結果にルビ種別情報を付加することができる。例えば、文書作成者の意図により、文書画像中においてモノルビ、グループルビといったルビ種別を使い分けていた場合、そのルビ種別情報を失うことがない。
【0013】
また、前記文字認識手段による認識結果、前記本親文字列、及び前記本ルビ種別を出力する出力手段、を更に具備し、前記出力手段は、前記本ルビ種別が「モノルビ化可能なグループルビ」の場合には、前記本親文字列に含まれる文字ごとに、モノルビ化したルビを付加して出力することが望ましい。
これによって、文書画像から文書認識処理を経てリフロー型電子書籍用データを作成する場合、ルビ区切り位置の決定を自動処理させるための内部的な情報を出力することができる。つまり、リフロー型電子書籍において、ルビ区切り位置の決定を自動処理させることができる。
【0014】
また、前記仮決定手段は、前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までを包含する最小文字数の文字列である包含文字列が存在するか否かの判定である第4判定を行い、前記第4判定において「真」と判定した場合、前記包含文字列を前記仮親文字列として決定し、前記第4判定において「偽」と判定した場合、前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までに包含される最大文字数の文字列である被包含文字列を前記仮親文字列として決定することが望ましい。
これによって、行間文字列に対する仮の親文字列を決定することができる。
【0015】
また、前記仮決定手段は、前記第4判定において「真」と判定した場合、前記行間文字列に含まれる全ての文字が、前記仮親文字列に含まれる2つの文字に跨らないか否かの判定である第5判定を行い、前記第5判定において「真」と判定した場合、前記仮ルビ種別を「モノルビ」と決定し、前記第4判定において「偽」と判定した場合、及び、前記第5判定において「偽」と判定した場合、前記仮ルビ種別を「グループルビ」と決定することが望ましい。
これによって、行間文字列に対する仮のルビ種別を決定することができる。
【0016】
また、前記本ルビ種別は、更に、「圏点」を含み、前記本決定手段は、前記行間文字列の前記仮ルビ種別が「モノルビ」の場合、前記第1判定の前に、前記文字認識手段による前記行間文字列の認識結果が「圏点」を示すものか否かの判定である第6判定を行うことが望ましい。
これによって、「圏点」を正しく認識し、仮決定手段による処理の前に除外することができ、仮決定手段による処理の精度が向上する。
【0017】
また、前記入力画像に対してレイアウト解析を行って前記文章領域を抽出し、更に、前記行間領域に対してレイアウト解析を行って前記行間文字列を抽出するレイアウト解析手段、を更に具備することが望ましい。
これによって、入力画像の入力から認識結果等の出力まで一貫して、文書認識装置による自動処理を実現することができる。
【0018】
第2の発明は、ルビを含む文書の画像を入力画像とし、前記文書を認識する文書認識方法であって、親文字に対するルビ候補を示すルビ辞書を記憶するルビ辞書記憶手段を具備するコンピュータが、前記入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別ステップと、前記行間領域の文字列である行間文字列を抽出し、前記行間文字列ごとに、前記本文行領域の文字列の中から、仮決定の親文字列である仮親文字列を決定する仮決定ステップと、前記本文行領域及び前記行間領域の文字を認識する文字認識ステップと、前記文字認識ステップによる前記仮親文字列の認識結果を参照キーとして前記ルビ辞書を参照することによって得られる前記ルビ候補の少なくとも1つと、前記文字認識ステップによる前記行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、前記ルビ一致判定の結果に基づいて、前記仮親文字列を本決定の親文字列である本親文字列として決定する、或いは、前記仮親文字列に含まれる一部の文字を除いた残りの文字列を前記本親文字列として決定する本決定ステップと、を実行する文書認識方法である。
第2の発明によって、ルビ文字の対象となる親文字を正しく特定することができる。
【0019】
第3の発明は、コンピュータを第1の発明の文字認識装置として機能させる為のプログラムである。
第3の発明を汎用のコンピュータにインストールすることによって、第1の発明の文字認識装置を得ることができる。
【0020】
第4の発明は、コンピュータを第1の発明の文字認識装置として機能させる為のプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
第4の発明によって、第3の発明のプログラムを配布することができる。
【発明の効果】
【0021】
本発明により、ルビ文字の対象となる親文字を正しく特定することができる文書認識装置等を提供することができる。また、ルビ文字の認識結果にルビ種別情報を付加することができる文書認識装置等を提供することができる。
【図面の簡単な説明】
【0022】
【図1】文書認識装置1のハードウエア構成図
【図2】文書認識装置1のソフトウエア構成図
【図3】フリガナ辞書31の一例を示す図
【図4】入力画像32の一例を示す図
【図5】文字矩形領域41を説明する図
【図6】本文行領域42、行間領域43及び行間文字列44を説明する図
【図7】仮決定手段24の処理の流れを示すフローチャート
【図8】包含文字列45を説明する図
【図9】被包含文字列46を説明する図
【図10】仮ルビ種別が「モノルビ」の行間文字列44の一例を示す図
【図11】仮ルビ種別が「グループルビ」の行間文字列44の一例を示す図
【図12】本決定手段26の処理の流れを示すフローチャート
【図13】第1の例を示す図
【図14】第1の例の一時記憶データ51を示す図
【図15】第1の例の属性情報52を示す図
【図16】第2の例を示す図
【図17】第2の例の一時記憶データ51を示す図
【図18】第2の例の属性情報52を示す図
【発明を実施するための形態】
【0023】
本発明の実施形態では、本発明の技術的思想を分かり易く説明する為、以下の条件を満たす入力画像(=紙媒体等の文書から光学的に読み取った画像)を前提とする。
・文字領域(本文の1文字単位の領域)は、略正方形である。
・文字列領域(本文の1行単位の領域)は、略四角形である。
・文字列領域に含まれる文字の大きさは、殆どが同一とする。
・文字列領域中の文字の配置は、直線的である。
・文字列領域中の隣接する文字同士は、極めて近接している。
・文字列領域中の文字の間隔は、一定である。
尚、本発明の技術的思想は、上記の前提を満たす入力画像に限定されるわけではない。上記の前提を満たさない入力画像であっても、公知の技術によって上記の前提が満たされる画像に変換するか、又は必要に応じて一部の処理を設計変更することによって、本発明は適用可能である。
【0024】
また、本発明の実施形態では、縦書きの日本語文書を例にして説明する。当然ながら、本発明は、横書きの日本語文書、並びに、横書き及び縦書きの外国語文書(日本語以外の文書)にも適用可能である。
【0025】
以下図面に基づいて、本発明の実施形態を詳細に説明する。
図1は、文書認識装置1のハードウエア構成図である。尚、図1のハードウエア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
【0026】
文書認識装置1は、制御部11、記憶部12、メディア入出力部13、通信制御部14、入力部15、表示部16、周辺機器I/F部17等が、バス18を介して接続される。
【0027】
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成される。
【0028】
CPUは、記憶部12、ROM、記録媒体等に格納されるプログラムをRAM上のワークメモリ領域に呼び出して実行し、バス18を介して接続された各装置を駆動制御し、文書認識装置1が行う後述する処理を実現する。
ROMは、不揮発性メモリであり、コンピュータのブートプログラムやBIOS等のプログラム、データ等を恒久的に保持している。
RAMは、揮発性メモリであり、記憶部12、ROM、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部11が各種処理を行う為に使用するワークエリアを備える。
【0029】
記憶部12は、HDD(ハードディスクドライブ)であり、制御部11が実行するプログラム、プログラム実行に必要なデータ、OS(オペレーティングシステム)等が格納される。プログラムに関しては、OS(オペレーティングシステム)に相当する制御プログラムや、後述する処理をコンピュータに実行させるためのアプリケーションプログラムが格納されている。
これらの各プログラムコードは、制御部11により必要に応じて読み出されてRAMに移され、CPUに読み出されて各種の手段として実行される。
【0030】
メディア入出力部13(ドライブ装置)は、データの入出力を行い、例えば、CDドライブ(−ROM、−R、−RW等)、DVDドライブ(−ROM、−R、−RW等)等のメディア入出力装置を有する。
通信制御部14は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク間の通信を媒介する通信インタフェースであり、ネットワークを介して、他のコンピュータ間との通信制御を行う。ネットワークは、有線、無線を問わない。
【0031】
入力部15は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。
入力部15を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。
表示部16は、CRTモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等(ビデオアダプタ等)を有する。
【0032】
周辺機器I/F(インタフェース)部17は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器I/F部17を介してコンピュータは周辺機器(イメージスキャナ、複合機等)とのデータの送受信を行う。周辺機器I/F部17は、USBやIEEE1394やRS−232C等で構成されており、通常複数の周辺機器I/Fを有する。周辺機器との接続形態は有線、無線を問わない。
バス18は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【0033】
図2は、文書認識装置1のソフトウエア構成図である。図2に示すように、文書認識装置1は、記憶手段21、レイアウト解析手段22、領域分別手段23、仮決定手段24、文字認識手段25、本決定手段26、出力手段27等を備える。
文書認識装置1の記憶部12は、記憶手段21として機能する。尚、外部記憶装置が記憶手段21として機能しても良い。
また、文書認識装置1の制御部11は、図2に示すレイアウト解析手段22〜出力手段27として機能する。
【0034】
記憶手段21は、フリガナ辞書31を記憶する。
図3は、フリガナ辞書31の一例を示す図である。図3に示すように、フリガナ辞書31は、「漢字」(1文字分)を主キーとし、フリガナ候補となる候補1〜候補4等が対応付けられている。
図3では、例えば、漢字「誕」に対して、候補1「タン」、候補2「う(まれる)」、候補3「いつわ(る)」が対応付けられている。
【0035】
フリガナ辞書31は、親文字に対するルビ候補を示す「ルビ辞書」の一例である。ルビ辞書としては、他にも、歴史的仮名遣い、中国語のピン音、その他の外国語(日本語以外の言語)の発音、用語の通称や略称など、様々なものが考えられる。
【0036】
レイアウト解析手段22は、入力画像に対してレイアウト解析処理を行って文章領域を抽出する。また、レイアウト解析手段22は、入力画像を一部切り出した画像に対してレイアウト解析処理を行って所望の文字列を抽出する。レイアウト解析処理については、公知の技術を適用すれば良く、本発明では特に限定しない。
【0037】
図4は、入力画像32の一例を示す図である。入力画像32は、例えば、日本語文書(教科書、実用書、小説など)の1ページ分がイメージスキャナ等によって光学的に読み取られた画像である。入力画像32には、文章領域33、図表領域34等が含まれる。文章領域33は、文章が配置されている領域である。図表領域34は、図、表、写真などが配置されている領域である。
レイアウト解析手段22は、入力画像32に対してレイアウト解析処理を行い、文章領域33と図表領域34とに分割し、文章領域33を抽出する。
【0038】
領域分別手段23は、入力画像32の文章領域33に対して領域分別処理を行い、本文行領域と行間領域とに分別する。本文行領域は、本文の文字列が配置されている領域である。行間領域は、2つの本文行の間の領域であり、ルビの文字列が配置されている領域である。
【0039】
図5、図6を参照しながら、領域分別処理の一例について説明する。
図5は、文字矩形領域41を説明する図である。図6は、本文行領域42、行間領域43及び行間文字列44を説明する図である。
【0040】
領域分別手段23は、文章領域33に含まれる「みなし行」の切り出しを行う。「みなし行」の切り出しの段階では、本文とルビが区別されていない。
次に、領域分別手段23は、切り出された「みなし行」に含まれる「みなし文字」の切り出しを行う。「みなし文字」の切り出しの段階では、本文文字とルビ文字が区別されていない。より詳細には、領域分別手段23は、図5に示すように、1文字分を含む文字矩形領域41を抽出し、文字矩形領域41の上端部及び下端部のy座標[yAs、yAe]を取得し、RAM等に保存する。尚、横書きの文章であれば、領域分別手段23は、文字矩形領域41の左端部及び右端部のx座標を取得する。
【0041】
次に、領域分別手段23は、「みなし行」における全ての「みなし文字」の[yAs、yAe]についての標準的な値に基づいて、「みなし文字サイズ」を決定する。
次に、領域分別手段23は、「みなし文字サイズ」に基づく「みなし行高」を決定し、この「みなし行高」を横幅(横書きの文章であれば、縦幅)とする領域を本文行領域42とする。
また、領域分別手段23は、本文行領域42同士の間の領域を行間領域43とする。尚、領域分別手段23は、文章領域33の中で最も右端の本文行領域42(横書きの文章であれば、最も上端の本文行領域42)については、その右側の領域(横書きの文章であれば、その上側の領域)も、行間領域43とする。
そして、領域分別手段23は、本文行領域42と、その右側(縦書きの文章であれば、その上側)に位置する行間領域43とを対応付けて、RAM等に記憶する。
【0042】
前述した領域分別処理の一例によれば、「行(本文及びルビを含む。)」の行高が、行間に付与されるルビの分だけ広く取られている文書であっても、本文だけの行高を正確に特定することができる。そして、前述したように、本文行領域42と行間領域43とに分別することができる。
【0043】
仮決定手段24は、行間文字列(=行間領域の文字列)を抽出し、行間文字列ごとに、本文行領域の文字列の中から、仮親文字列(=仮決定の親文字列)を決定する。
図6には、行間文字列44の一例が図示されている。図6に示すように、行間領域43は、1又は複数の行間文字列44を含む場合もあるし、行間文字列44を1つも含まない場合もある。例えば、仮決定手段24が、レイアウト解析手段22に行間領域43を受け渡すと、レイアウト解析手段22が、行間領域43に対してレイアウト解析処理を行って行間文字列44を特定し、仮決定手段24に行間文字列44を返す。
また、仮決定手段24は、仮ルビ種別(=仮決定のルビ種別)も決定する。仮ルビ種別は、「モノルビ」及び「グループルビ」を含む。
仮決定手段24の詳細は、図7等を参照しながら後述する。
【0044】
文字認識手段25は、文字認識処理を行う。文字認識処理は、1文字分の画像を入力データとし、入力データに含まれる文字構成画素の集まりから、文字コードを判定する。入力データは、例えば、白と黒の2値画像であり、黒画素が文字構成画素であることが多い。文字認識処理については、公知の技術を適用すれば良く、本発明では特に限定しない。
【0045】
本決定手段26は、文字認識手段25による仮親文字列の認識結果を参照キーとしてフリガナ辞書31(ルビ辞書)を参照することによって得られるルビ候補の少なくとも1つと、文字認識手段25による行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、ルビ一致判定の結果に基づいて、仮親文字列を本親文字列(=本決定の親文字列)として決定する、或いは、仮親文字列に含まれる一部の文字(例えば、先頭文字から連続する1文字以上の文字列及び/又は最終文字まで連続する1文字以上の文字)を除いた残りの文字列を本親文字列として決定する。
また、本決定手段26は、本ルビ種別(=本決定のルビ種別)も決定する。本ルビ種別は、「モノルビ」、「モノルビ化可能なグループルビ」、及び「当て字のグループルビ」を含む。本ルビ種別は、更に「圏点」を含んでも良い。
本決定手段26の詳細は、図12等を参照しながら後述する。
【0046】
出力手段27は、文字認識手段25による認識結果、本親文字列、及び本ルビ種別をファイル等に出力する。特に、出力手段27は、本ルビ種別が「モノルビ化可能なグループルビ」の場合には、本親文字列に含まれる文字ごとに、モノルビ化したルビを属性情報として付加して出力する。
【0047】
文書認識装置1による文書認識方法は、少なくとも、以下のステップを含む。
(1)入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別ステップ。
(2)行間領域の文字列である行間文字列を抽出し、行間文字列ごとに、本文行領域の文字列の中から仮親文字列を決定する仮決定ステップ。
(3)本文行領域及び行間領域の文字を認識する文字認識ステップ。
(4)文字認識ステップによる仮親文字列の認識結果を参照キーとしてルビ辞書を参照することによって得られるルビ候補の少なくとも1つと、文字認識ステップによる行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、ルビ一致判定の結果に基づいて、仮親文字列を本親文字列として決定する、或いは、仮親文字列に含まれる一部の文字を除いた残りの文字列を本親文字列として決定する本決定ステップ。
【0048】
図7〜図11を参照しながら、仮決定手段24の詳細について説明する。
図7は、仮決定手段24の処理の流れを示すフローチャートである。図7では、1つの行間文字列44に対する一連の処理を図示している。制御部11は、抽出された行間文字列44ごとに、図7のフローチャートを実行する。
【0049】
制御部11は、行間文字列44の開始位置、終了位置[ys、ye]を取得する(S1)。[ys、ye]は、図5に図示されている[yAs、yAe]と同様、行間文字列44の上端部及び下端部のy座標である。
【0050】
次に、制御部11は、[ys、ye]⊆[yAs、yBe]となる包含文字列[A・・・B]が存在するか否か確認する(S2)。包含文字列[A・・・B]とは、本文行領域42の文字列の中で、行間文字列44の開始位置から終了位置までを包含する最小文字数の文字列である。
【0051】
図8は、包含文字列45を説明する図である。
図8では、行間文字列44は、[C・・・D]である。本文行領域42の文字列の中で行間文字列44の開始位置から終了位置までを包含する最小文字数の文字列は、文字列[A・・・B]であるから、制御部11は、文字列[A・・・B]を包含文字列45とする。
【0052】
図7の説明に戻る。
制御部11は、S2の判定が「真」の場合(S2のYes)、包含文字列[A・・・B]を仮親文字列とする(S3)。
一方、制御部11は、S2の判定が「偽」の場合(S2のNo)、[yAs、yBe]⊂[ys、ye]となる被包含文字列[A・・・B]を仮親文字列とする(S4)。被包含文字列[A・・・B]とは、本文行領域42の文字列の中で、行間文字列44の開始位置から終了位置までに包含される最大文字数の文字列である。
【0053】
図9は、被包含文字列46を説明する図である。
図9では、行間文字列44は、[C・・・D]である。本文行領域42の文字列の中で、行間文字列44の開始位置から終了位置までに包含される最大文字数の文字列は、文字列[A・・・B]であるから、制御部11は、文字列[A・・・B]を被包含文字列46とする。
【0054】
図7の説明に戻る。
制御部11は、S3の処理の後、行間文字列44の全ての文字が、仮親文字列の2つの文字に跨らないか否かを確認する(S5)。
制御部11は、行間文字列44の全ての文字が、仮親文字列の2つの文字に跨らないと判定した場合、つまり、S5の判定が「真」の場合(S5のYes)、仮ルビ種別を「モノルビ(圏点を含む。)」とする(S6)。
一方、制御部11は、行間文字列44のいずれかの文字が、仮親文字列の2つの文字に跨ると判定した場合、つまり、S5の判定が「偽」の場合(S5のNo)、仮ルビ種別を「グループルビ」とする(S7)。また、制御部11は、S4の処理の後も、仮ルビ種別を「グループルビ」とする(S7)。
【0055】
図10は、仮ルビ種別が「モノルビ」の行間文字列44の一例を示す図である。
図10では、仮親文字列47は、「漢字」である。また、行間文字列44は、「かんじ」である。行間文字列44の「か」及び「ん」は、仮親文字列47の1文字目「漢」の開始位置から終了位置までに含まれ、仮親文字列47の2文字目「字」に跨っていない。また、行間文字列44の「じ」は、仮親文字列47の2文字目「字」の開始位置から終了位置までに含まれ、仮親文字列47の1文字目「漢」に跨っていない。従って、制御部11は、図10に示す行間文字列44の仮ルビ種別を「モノルビ」とする。
【0056】
図11は、仮ルビ種別が「グループルビ」の行間文字列44の一例を示す図である。
図11では、仮親文字列47は、「漢字」である。また、行間文字列44は、「かんじ」である。行間文字列44の「か」は、仮親文字列47の1文字目「漢」の開始位置から終了位置までに含まれ、仮親文字列47の2文字目「字」に跨っていない。また、行間文字列44の「じ」は、仮親文字列47の2文字目「字」の開始位置から終了位置までに含まれ、仮親文字列47の1文字目「漢」に跨っていない。一方、行間文字列44の「ん」は、仮親文字列47の1文字目「漢」と、仮親文字列47の2文字目「字」とに跨っている。従って、制御部11は、図10に示す行間文字列44の仮ルビ種別を「グループルビ」とする。
【0057】
以上、図7に示す仮決定手段24による処理では、行間文字列44に対して、仮親文字列47及び仮ルビ種別が仮決定される。仮決定手段24は、行間文字列44ごとに、仮親文字列47及び仮ルビ種別をRAM等に記憶する。
【0058】
図12を参照しながら、本決定手段26の詳細について説明する。
図12は、本決定手段26の処理の流れを示すフローチャートである。図12では、1つの行間文字列44に対する一連の処理を図示している。制御部11は、抽出された行間文字列44ごとに、図12のフローチャートを実行する。
【0059】
図12に示す処理の概要は、次の通りである。本決定手段26は、仮決定手段24及び文字認識手段25の結果に基づいて、行間文字列44を圏点、モノルビ、グループルビ等に判別するとともに、親文字との対応付けを本決定する。ルビと認識された場合には、本決定手段26は、フリガナ辞書31を参照し、親文字とルビ文字の対応が正しいか否か確認し、間違っている場合は対応関係を修正する。
本決定手段26によって、長いルビ文字列であって、本来対応する親文字以外の文字にもかかってしまっている場合においても、対象となる親文字の特定が可能となる。更に、グループルビについて、当て字なのか、それともモノルビ化可能か、について判定することができる。
尚、グループルビと判断される場合には、本決定手段26は、対応する親文字列とグループルビの対応を「単語辞書」として記憶手段21等に登録するようにしても良い。これによって、文書内に同様の単語とルビが出現した場合、「単語辞書」を参照することによって、より効率良くルビの対応を特定することができる。
【0060】
以下では、図12に示す処理の詳細について説明する。
制御部11は、行間文字列44の仮ルビ種別が「モノルビ」か否か確認する(S11)。
制御部11は、S11の判定が「真」の場合(S11のYes)、S12に進む。また、制御部11は、S11の判定が「偽」の場合(S11のNo)、S16に進む。
【0061】
S12では、制御部11は、文字認識手段25による行間文字列44の認識結果が「圏点」か否か確認する。尚、S12の判定において「圏点」か否かを判別出来ない場合、制御部11は、行間文字列44の認識結果が全て同一の記号であるか否かを確認するようにしても良い。
制御部11は、認識結果が「圏点」の場合、つまり、S12の判定が「真」の場合(S12のYes)、本親文字列=仮親文字列、本ルビ種別=「圏点」とし、処理を終了する(S13)。
一方、制御部11は、認識結果が「圏点」ではない場合、つまり、S12の判定が「偽」の場合(S12のNo)、S14に進む。
【0062】
S14では、制御部11は、仮親文字列47に含まれる全ての文字についてルビ一致判定を行い、全てのルビ一致判定が「一致」であるか否か確認する。ルビ一致判定では、制御部11は、文字認識手段25による仮親文字列47の認識結果を参照キーとしてフリガナ辞書31を参照することによって得られるフリガナ候補の少なくとも1つと、文字認識手段25による行間文字列44の認識結果が一致するか否かの判定を行う。
制御部11は、S14の判定が「真」の場合(S14のYes)、本親文字列=仮親文字列、本ルビ種別=「モノルビ」とし、処理を終了する(S15)。
一方、制御部11は、S14の判定が「偽」の場合(S14のNo)、S16に進む。
【0063】
S16では、制御部11は、仮親文字列47に含まれる先頭文字から連続する1文字以上についてルビ一致判定を行い、先頭文字から連続する1文字以上のルビ一致判定が「一致」であるか否か確認する。
制御部11は、S16の判定が「真」の場合(S16のYes)、本親文字列=一致と判定された文字のみ、本ルビ種別=「モノルビ化可能なグループルビ」とし、処理を終了する(S17)。
一方、制御部11は、S16の判定が「偽」の場合(S16のNo)、S18に進む。
【0064】
S18では、制御部11は、仮親文字列47に含まれる2文字目から連続する1文字以上についてルビ一致判定を行い、2文字目から連続する1文字以上のルビ一致判定が「一致」であるか否か確認する。
制御部11は、S18の判定が「真」の場合(S18のYes)、本親文字列=一致と判定された文字のみ、本ルビ種別=「モノルビ化可能なグループルビ」とし、処理を終了する(S17)。
一方、制御部11は、S18の判定が「偽」の場合(S18のNo)、本親文字列=仮親文字列、本ルビ種別=「当て字のグループルビ」とし、処理を終了する(S19)。
【0065】
以上、図12に示す本決定手段26による処理では、行間文字列44に対して、本親文字列及び本ルビ種別が本決定される。本決定手段26は、行間文字列44ごとに、本親文字列及び本ルビ種別をRAM等に記憶する。
【0066】
次に、図13〜図15を参照しながら、文書認識装置1による処理の一例である第1の例について説明する。
図13は、第1の例を示す図、図14は、第1の例の一時記憶データ51を示す図、図15は、第1の例の属性情報52を示す図である。
【0067】
第1の例では、図13に示すように、行間文字列44が「たんじょうび」、仮親文字列47が「誕生日」である。
制御部11は、図7に示す処理の後、図14に示すように、行間文字列44ごとに、一時記憶データ51をRAM等に記憶する。図7に示す処理が終了した時点では、一時記憶データ51に「行間文字列」、「仮親文字列」、「仮ルビ種別」が記憶されている。
「仮ルビ種別」が“モノルビ”(圏点ではない。)であるから、制御部11は、S14のルビ一致判定を行う(図12のS11、S12参照)。
【0068】
第1の例に対するS14のルビ一致判定を説明する。
制御部11は、仮親文字列47の{誕}を参照キーとして図3に示すフリガナ辞書31を参照する。参照結果として、フリガナ候補「タン」が得られる。これは、行間文字列44の{/た/ん}と一致することから、ルビ一致判定は「一致」となる。
次に、制御部11は、仮親文字列47の{生}を参照キーとして図3に示すフリガナ辞書31を参照する。参照結果として得られるフリガナ候補「セイ」、「ショウ」、「い(きる)」、「なま」等のいずれも、行間文字列44の{/じ/ょ}と一致しないことから、ルビ一致判定は「不一致」となる。
そして、制御部11は、S14の判定を「偽」とする。
【0069】
次に、第1の例に対するS16のルビ一致判定を説明する。S16では、仮ルビ種別が「モノルビ」であっても、親文字の1文字分に対するルビ文字の対応関係を無視して、フリガナ辞書31を参照する。
制御部11は、仮親文字列47の{誕}を参照キーとして図3に示すフリガナ辞書31を参照する。参照結果として、フリガナ候補「タン」が得られる。これは、行間文字列44の{/た/ん}と一致することから、ルビ一致判定は「一致」となる。
次に、制御部11は、仮親文字列47の{生}を参照キーとして図3に示すフリガナ辞書31を参照する。参照結果として、フリガナ候補「ショウ」が得られる。制御部11は、行間文字列44の{/じ}以降を1文字ずつ増やして、フリガナ候補「ショウ」と一致するか否か確認していく。つまり、制御部11は、{/じ}→{/じ/ょ}→{/じ/ょ/う}→{/じ/ょ/う/び}の順に、フリガナ候補「ショウ」と一致するか否か確認する。行間文字列44の{/じ/ょ/う}とフリガナ候補「ショウ」が一致することから、ルビ一致判定は「一致」となる。
次に、制御部11は、仮親文字列47の{日}を参照キーとして図3に示すフリガナ辞書31を参照する。参照結果として、フリガナ候補「ひ」が得られる。これは、行間文字列44の{/び}と一致することから、ルビ一致判定は「一致」となる。
そして、制御部11は、S16の判定を「真」とする。
【0070】
制御部11は、図12に示す処理の中で、図14に示す一時記憶データ51を更新する。図12に示す処理では、一時記憶データ51の「S14のルビ一致判定」、「S16のルビ一致判定」が更新される。
第1の例では、S16のルビ一致判定が全て「一致」であるから、制御部11は、本親文字列=「誕生日」、本ルビ種別=「モノルビ化可能なグループルビ」とする(図12のS17参照)。
【0071】
制御部11は、出力手段27として、文字認識手段25による認識結果とともに、図15に示す属性情報52を出力する。
属性情報52は、例えば、「本文文字」、「本文文字の位置」、「ルビ有無」、「位置から判断されるルビ」、「モノルビ化したルビ」などのデータを含む。
「本文文字」は、本文行領域42に含まれる文字である。「本文文字の位置」は、例えば、「本文文字」の文字矩形領域41の左上座標及び右下座標である。「ルビ有無」は、「本文文字」を含む単語に対応付けられるルビの有無であり、ルビが有る場合には本ルビ種別である。「位置から判断されるルビ」は、「本文文字」の文字矩形領域41の位置から判断されるルビである。「モノルビ化したルビ」は、図12に示すS16又はS18のルビ一致判定において、一致と判定された文字である。
【0072】
第1の例では、本文文字が「誕」、「生」、「日」の3つである。
本文文字が「誕」に対しては、「本文文字の位置」が“(x1、y1)、(x2、y2)”、「ルビ有無」が“モノルビ化可能なグループルビ”、「位置から判断されるルビ」が“たん”、「モノルビ化したルビ」が“たん”である。
本文文字が「生」に対しては、「本文文字の位置」が“(x3、y3)、(x4、y4)”、「ルビ有無」が“モノルビ化可能なグループルビ”、「位置から判断されるルビ」が“じょ”、「モノルビ化したルビ」が“じょう”である。
本文文字が「日」に対しては、「本文文字の位置」が“(x5、y5)、(x6、y6)”、「ルビ有無」が“モノルビ化可能なグループルビ”、「位置から判断されるルビ」が“うび”、「モノルビ化したルビ」が“び”である。
【0073】
第1の例のように、本ルビ種別=「モノルビ化可能なグループルビ」と判断されたルビ文字列については、リフロー型電子書籍において、親文字が行末及び行頭に跨る場合、モノルビに変更して表示させることが可能となる。
【0074】
次に、図16〜図18を参照しながら、文書認識装置1による処理の一例である第2の例について説明する。
図16は、第2の例を示す図、図17は、第2の例の一時記憶データ51を示す図、図18は、第2の例の属性情報52を示す図である。
【0075】
第2の例では、図16に示すように、行間文字列44が「こすもす」、仮親文字列47が「秋桜」である。
制御部11は、図7に示す処理の後、図14に示すように、行間文字列44ごとに、一時記憶データ51をRAM等に記憶する。図7に示す処理が終了した時点では、一時記憶データ51に「行間文字列」、「仮親文字列」、「仮ルビ種別」が記憶されている。
「仮ルビ種別」が“モノルビ”であるから、制御部11は、S14のルビ一致判定を行う(図12のS11、S12参照)。
【0076】
第2の例に対するS14のルビ一致判定を説明する。
制御部11は、仮親文字列47の{秋}を参照キーとしてフリガナ辞書31を参照し、参照結果としてフリガナ候補を得る。参照結果として得られるフリガナ候補のいずれも、行間文字列44の{/こ/す}と一致しないことから、ルビ一致判定は「不一致」となる。
そして、制御部11は、S14の判定を「偽」とする。
【0077】
次に、第2の例に対するS16のルビ一致判定を説明する。
制御部11は、仮親文字列47の{秋}を参照キーとしてフリガナ辞書31を参照し、参照結果としてフリガナ候補を得る。制御部11は、行間文字列44の{/こ}以降を1文字ずつ増やして、フリガナ候補と一致するか否か確認していく。つまり、制御部11は、{/こ}→{/こ/す}→{/こ/す/も}→{/こ/す/も/す}の順に、フリガナ候補と一致するか否か確認する。行間文字列44とフリガナ候補はいずれも一致しないことから、ルビ一致判定は「不一致」となる。
そして、制御部11は、S14の判定を「偽」とする。
【0078】
次に、第2の例に対するS18のルビ一致判定を説明する。
制御部11は、仮親文字列47の{桜}を参照キーとしてフリガナ辞書31を参照し、参照結果としてフリガナ候補を得る。制御部11は、行間文字列44の{/こ}以降を1文字ずつ増やして、フリガナ候補と一致するか否か確認していく。つまり、制御部11は、{/こ}→{/こ/す}→{/こ/す/も}→{/こ/す/も/す}の順に、フリガナ候補と一致するか否か確認する。行間文字列44とフリガナ候補はいずれも一致しないことから、ルビ一致判定は「不一致」となる。
そして、制御部11は、S18の判定を「偽」とする。
【0079】
制御部11は、図12に示す処理の中で、図14に示す一時記憶データ51を更新する。図12に示す処理では、一時記憶データ51の「S14のルビ一致判定」、「S16のルビ一致判定」、「S18のルビ一致判定」が更新される。
第2の例では、S18の判定が「偽」であるから、制御部11は、本親文字列=「秋桜」、本ルビ種別=「当て字のグループルビ」とする。
【0080】
制御部11は、出力手段27として、文字認識手段25による認識結果とともに、図18に示す属性情報52を出力する。
第2の例では、本文文字が「秋」、「桜」の2つである。
本文文字が「秋」に対しては、「本文文字の位置」が“(x7、y7)、(x8、y8)”、「ルビ有無」が“当て字のグループルビ”、「位置から判断されるルビ」が“こす”、「モノルビ化したルビ」が“−”(なし)である。
本文文字が「桜」に対しては、「本文文字の位置」が“(x9、y9)、(x10、y10)”、「ルビ有無」が“当て字のグループルビ”、「位置から判断されるルビ」が“もす”、「モノルビ化したルビ」が“−”(なし)である。
【0081】
第2の例のように、本ルビ種別=「当て字のグループルビ」と判断されたルビ文字列については、リフロー型電子書籍において、親文字が行末及び行頭に跨る場合、文字数の比に応じてルビ文字列も分割して表示させると良い。
【0082】
第1の例及び第2の例からも分かるように、本発明は以下の効果を奏する。
(1)一般の日本語文書(教科書、実用書、小説など)を含む様々な文書において、ルビの対象となる親文字を正しく特定できる。特に、グループルビや親文字よりも長いルビが付与されていても、親文字を正しく特定できる。
(2)文書作成者の意図により、文書画像中においてモノルビ、グループルビといったルビ種別を使い分けていた場合、そのルビ種別情報を失うことなく、属性情報として出力することができる。つまり、教科書や低年齢向けの教材等、教育的配慮の為にモノルビが使用される場合、その認識結果を手作業によって修正する必要がない。
(3)文書画像から文書認識処理を経てリフロー型電子書籍用データを作成する場合、ルビ区切り位置の決定を自動処理させるための内部的な情報を、属性情報として出力することができる。つまり、リフロー型電子書籍において、ルビ区切り位置の決定を自動処理させることができる。
【0083】
以上、添付図面を参照しながら、本発明に係る文書認識装置等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0084】
1………文書認識装置
21………記憶手段
22………レイアウト解析手段
23………領域分別手段
24………仮決定手段
25………文字認識手段
26………本決定手段
27………出力手段
31………フリガナ辞書
32………入力画像
33………文章領域
34………図表領域
41………文字矩形領域
42………本文行領域
43………行間領域
44………行間文字列
45………包含文字列
46………被包含文字列
47………仮親文字列
51………一時記憶データ
52………属性情報
【特許請求の範囲】
【請求項1】
ルビを含む文書の画像を入力画像とし、前記文書を認識する文書認識装置であって、
親文字に対するルビ候補を示すルビ辞書を記憶するルビ辞書記憶手段と、
前記入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別手段と、
前記行間領域の文字列である行間文字列を抽出し、前記行間文字列ごとに、前記本文行領域の文字列の中から、仮決定の親文字列である仮親文字列を決定する仮決定手段と、
前記本文行領域及び前記行間領域の文字を認識する文字認識手段と、
前記文字認識手段による前記仮親文字列の認識結果を参照キーとして前記ルビ辞書を参照することによって得られる前記ルビ候補の少なくとも1つと、前記文字認識手段による前記行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、前記ルビ一致判定の結果に基づいて、前記仮親文字列を本決定の親文字列である本親文字列として決定する、或いは、前記仮親文字列に含まれる一部の文字を除いた残りの文字列を前記本親文字列として決定する本決定手段と、
を具備する文書認識装置。
【請求項2】
前記仮決定手段は、更に、仮決定のルビ種別である仮ルビ種別を決定し、
前記仮ルビ種別は、「モノルビ」及び「グループルビ」を含み、
前記本決定手段は、
前記行間文字列の前記仮ルビ種別が「モノルビ」の場合、前記仮親文字列に含まれる全ての文字について、前記ルビ一致判定が「一致」であるか否かの判定である第1判定を行い、
前記第1判定において「真」と判定した場合、前記仮親文字列を前記本親文字列として決定し、
前記第1判定において「偽」と判定した場合、及び、前記行間文字列の前記仮ルビ種別が「グループルビ」の場合、前記仮親文字列に含まれる先頭文字から連続する少なくとも1文字以上について、前記ルビ一致判定が「一致」であるか否かの判定である第2判定を行い、
前記第2判定において「真」と判定した場合、前記第2判定において「一致」と判定された文字のみを前記本親文字列として決定し、
前記第2判定において「偽」と判定した場合、前記仮親文字列に含まれる2文字目から連続する少なくとも1文字以上について、前記ルビ一致判定が「一致」であるか否かの判定である第3判定を行い、
前記第3判定において「真」と判定した場合、前記第3判定において「一致」と判定された文字のみを前記本親文字列として決定し、
前記第3判定において「偽」と判定した場合、前記仮親文字列を前記本親文字列として決定する
請求項1に記載の文書認識装置。
【請求項3】
前記本決定手段は、更に、本決定のルビ種別である本ルビ種別を決定し、
前記本ルビ種別は、「モノルビ」、「モノルビ化可能なグループルビ」、及び「当て字のグループルビ」を含み、
前記本決定手段は、
前記第1判定において「真」と判定した場合、前記本ルビ種別を「モノルビ」と決定し、
前記第2判定において「真」と判定した場合、及び、前記第3判定において「真」と判定した場合、前記本ルビ種別を「モノルビ化可能なグループルビ」と決定し、
前記第3判定において「偽」と判定した場合、前記本ルビ種別を「当て字のグループルビ」と決定する
請求項2に記載の文字認識装置。
【請求項4】
前記文字認識手段による認識結果、前記本親文字列、及び前記本ルビ種別を出力する出力手段、
を更に具備し、
前記出力手段は、前記本ルビ種別が「モノルビ化可能なグループルビ」の場合には、前記本親文字列に含まれる文字ごとに、モノルビ化したルビを付加して出力する
請求項3に記載の文字認識装置。
【請求項5】
前記仮決定手段は、
前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までを包含する最小文字数の文字列である包含文字列が存在するか否かの判定である第4判定を行い、
前記第4判定において「真」と判定した場合、前記包含文字列を前記仮親文字列として決定し、
前記第4判定において「偽」と判定した場合、前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までに包含される最大文字数の文字列である被包含文字列を前記仮親文字列として決定する
請求項3に記載の文字認識装置。
【請求項6】
前記仮決定手段は、
前記第4判定において「真」と判定した場合、前記行間文字列に含まれる全ての文字が、前記仮親文字列に含まれる2つの文字に跨らないか否かの判定である第5判定を行い、
前記第5判定において「真」と判定した場合、前記仮ルビ種別を「モノルビ」と決定し、
前記第4判定において「偽」と判定した場合、及び、前記第5判定において「偽」と判定した場合、前記仮ルビ種別を「グループルビ」と決定する
請求項6に記載の文字認識装置。
【請求項7】
前記本ルビ種別は、更に、「圏点」を含み、
前記本決定手段は、
前記行間文字列の前記仮ルビ種別が「モノルビ」の場合、前記第1判定の前に、前記文字認識手段による前記行間文字列の認識結果が「圏点」を示すものか否かの判定である第6判定を行う
請求項2ないし請求項6のいずれかに記載の文字認識装置。
【請求項8】
前記入力画像に対してレイアウト解析を行って前記文章領域を抽出し、更に、前記行間領域に対してレイアウト解析を行って前記行間文字列を抽出するレイアウト解析手段、
を更に具備する請求項1乃至請求項7のいずれかに記載の文字認識装置。
【請求項9】
ルビを含む文書の画像を入力画像とし、前記文書を認識する文書認識方法であって、
親文字に対するルビ候補を示すルビ辞書を記憶するルビ辞書記憶手段を具備するコンピュータが、
前記入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別ステップと、
前記行間領域の文字列である行間文字列を抽出し、前記行間文字列ごとに、前記本文行領域の文字列の中から、仮決定の親文字列である仮親文字列を決定する仮決定ステップと、
前記本文行領域及び前記行間領域の文字を認識する文字認識ステップと、
前記文字認識ステップによる前記仮親文字列の認識結果を参照キーとして前記ルビ辞書を参照することによって得られる前記ルビ候補の少なくとも1つと、前記文字認識ステップによる前記行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、前記ルビ一致判定の結果に基づいて、前記仮親文字列を本決定の親文字列である本親文字列として決定する、或いは、前記仮親文字列に含まれる一部の文字を除いた残りの文字列を前記本親文字列として決定する本決定ステップと、
を実行する文書認識方法。
【請求項10】
コンピュータを請求項1乃至請求項8のいずれかに記載の文字認識装置として機能させる為のプログラム。
【請求項11】
コンピュータを請求項1乃至請求項8のいずれかに記載の文字認識装置として機能させる為のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項1】
ルビを含む文書の画像を入力画像とし、前記文書を認識する文書認識装置であって、
親文字に対するルビ候補を示すルビ辞書を記憶するルビ辞書記憶手段と、
前記入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別手段と、
前記行間領域の文字列である行間文字列を抽出し、前記行間文字列ごとに、前記本文行領域の文字列の中から、仮決定の親文字列である仮親文字列を決定する仮決定手段と、
前記本文行領域及び前記行間領域の文字を認識する文字認識手段と、
前記文字認識手段による前記仮親文字列の認識結果を参照キーとして前記ルビ辞書を参照することによって得られる前記ルビ候補の少なくとも1つと、前記文字認識手段による前記行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、前記ルビ一致判定の結果に基づいて、前記仮親文字列を本決定の親文字列である本親文字列として決定する、或いは、前記仮親文字列に含まれる一部の文字を除いた残りの文字列を前記本親文字列として決定する本決定手段と、
を具備する文書認識装置。
【請求項2】
前記仮決定手段は、更に、仮決定のルビ種別である仮ルビ種別を決定し、
前記仮ルビ種別は、「モノルビ」及び「グループルビ」を含み、
前記本決定手段は、
前記行間文字列の前記仮ルビ種別が「モノルビ」の場合、前記仮親文字列に含まれる全ての文字について、前記ルビ一致判定が「一致」であるか否かの判定である第1判定を行い、
前記第1判定において「真」と判定した場合、前記仮親文字列を前記本親文字列として決定し、
前記第1判定において「偽」と判定した場合、及び、前記行間文字列の前記仮ルビ種別が「グループルビ」の場合、前記仮親文字列に含まれる先頭文字から連続する少なくとも1文字以上について、前記ルビ一致判定が「一致」であるか否かの判定である第2判定を行い、
前記第2判定において「真」と判定した場合、前記第2判定において「一致」と判定された文字のみを前記本親文字列として決定し、
前記第2判定において「偽」と判定した場合、前記仮親文字列に含まれる2文字目から連続する少なくとも1文字以上について、前記ルビ一致判定が「一致」であるか否かの判定である第3判定を行い、
前記第3判定において「真」と判定した場合、前記第3判定において「一致」と判定された文字のみを前記本親文字列として決定し、
前記第3判定において「偽」と判定した場合、前記仮親文字列を前記本親文字列として決定する
請求項1に記載の文書認識装置。
【請求項3】
前記本決定手段は、更に、本決定のルビ種別である本ルビ種別を決定し、
前記本ルビ種別は、「モノルビ」、「モノルビ化可能なグループルビ」、及び「当て字のグループルビ」を含み、
前記本決定手段は、
前記第1判定において「真」と判定した場合、前記本ルビ種別を「モノルビ」と決定し、
前記第2判定において「真」と判定した場合、及び、前記第3判定において「真」と判定した場合、前記本ルビ種別を「モノルビ化可能なグループルビ」と決定し、
前記第3判定において「偽」と判定した場合、前記本ルビ種別を「当て字のグループルビ」と決定する
請求項2に記載の文字認識装置。
【請求項4】
前記文字認識手段による認識結果、前記本親文字列、及び前記本ルビ種別を出力する出力手段、
を更に具備し、
前記出力手段は、前記本ルビ種別が「モノルビ化可能なグループルビ」の場合には、前記本親文字列に含まれる文字ごとに、モノルビ化したルビを付加して出力する
請求項3に記載の文字認識装置。
【請求項5】
前記仮決定手段は、
前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までを包含する最小文字数の文字列である包含文字列が存在するか否かの判定である第4判定を行い、
前記第4判定において「真」と判定した場合、前記包含文字列を前記仮親文字列として決定し、
前記第4判定において「偽」と判定した場合、前記本文行領域の文字列の中で、前記行間文字列の開始位置から終了位置までに包含される最大文字数の文字列である被包含文字列を前記仮親文字列として決定する
請求項3に記載の文字認識装置。
【請求項6】
前記仮決定手段は、
前記第4判定において「真」と判定した場合、前記行間文字列に含まれる全ての文字が、前記仮親文字列に含まれる2つの文字に跨らないか否かの判定である第5判定を行い、
前記第5判定において「真」と判定した場合、前記仮ルビ種別を「モノルビ」と決定し、
前記第4判定において「偽」と判定した場合、及び、前記第5判定において「偽」と判定した場合、前記仮ルビ種別を「グループルビ」と決定する
請求項6に記載の文字認識装置。
【請求項7】
前記本ルビ種別は、更に、「圏点」を含み、
前記本決定手段は、
前記行間文字列の前記仮ルビ種別が「モノルビ」の場合、前記第1判定の前に、前記文字認識手段による前記行間文字列の認識結果が「圏点」を示すものか否かの判定である第6判定を行う
請求項2ないし請求項6のいずれかに記載の文字認識装置。
【請求項8】
前記入力画像に対してレイアウト解析を行って前記文章領域を抽出し、更に、前記行間領域に対してレイアウト解析を行って前記行間文字列を抽出するレイアウト解析手段、
を更に具備する請求項1乃至請求項7のいずれかに記載の文字認識装置。
【請求項9】
ルビを含む文書の画像を入力画像とし、前記文書を認識する文書認識方法であって、
親文字に対するルビ候補を示すルビ辞書を記憶するルビ辞書記憶手段を具備するコンピュータが、
前記入力画像の文章領域を、本文行領域と行間領域とに分別する領域分別ステップと、
前記行間領域の文字列である行間文字列を抽出し、前記行間文字列ごとに、前記本文行領域の文字列の中から、仮決定の親文字列である仮親文字列を決定する仮決定ステップと、
前記本文行領域及び前記行間領域の文字を認識する文字認識ステップと、
前記文字認識ステップによる前記仮親文字列の認識結果を参照キーとして前記ルビ辞書を参照することによって得られる前記ルビ候補の少なくとも1つと、前記文字認識ステップによる前記行間文字列の認識結果が一致するか否かの判定であるルビ一致判定を行い、前記ルビ一致判定の結果に基づいて、前記仮親文字列を本決定の親文字列である本親文字列として決定する、或いは、前記仮親文字列に含まれる一部の文字を除いた残りの文字列を前記本親文字列として決定する本決定ステップと、
を実行する文書認識方法。
【請求項10】
コンピュータを請求項1乃至請求項8のいずれかに記載の文字認識装置として機能させる為のプログラム。
【請求項11】
コンピュータを請求項1乃至請求項8のいずれかに記載の文字認識装置として機能させる為のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−212293(P2012−212293A)
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願番号】特願2011−77222(P2011−77222)
【出願日】平成23年3月31日(2011.3.31)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願日】平成23年3月31日(2011.3.31)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
[ Back to top ]