図1は、本発明の第1の実施形態である情報処理装置1の構成を示すブロック図である。本発明に係る情報処理方法は、情報処理装置1によって実行される。情報処理装置1は、入力装置2および出力装置3に接続され、文章などが記載された原稿を入力装置2によって画像として読み取り、読み取った画像を表す画像データに基づいて文字認識を行い、認識した文字からなる文字列の誤りを正しい文字列に訂正して、出力装置3に出力する装置である。
入力装置2は、たとえば原稿を画像として読み取るスキャナなどの画像読み取り装置であり、読み取った画像を表す画像データを情報処理装置1に送信する。出力装置3は、たとえば液晶ディスプレイによって構成されるモニタなどの表示装置であり、情報処理装置1から受信する情報を画面に表示する。図1に示した実施形態では、入力装置2および出力装置3は、情報処理装置1とは独立した装置として構成したが、情報処理装置1に含めてもよい。
情報処理装置1は、たとえばパーソナルコンピュータなどのコンピュータによって構成され、制御部11、入出力制御部12、メモリ13、文字認識辞書14、文字列行切り出し部15、文字切り出し部16、特徴抽出部17、マッチング部18、文字列生成部19および後処理部20を含んで構成される。後処理部20は、単語列生成部21、置き換え判定部22、置き換え部23および単語辞書24を含んで構成される。
制御部11は、たとえば図示しない中央処理装置(Central Processing Unit;略称CPU)によって構成される。入出力制御部12は、制御部11と入力装置2との間の情報の送受信、および制御部11と出力装置3との間の情報の送受信を制御する。記憶部であるメモリ13は、たとえば半導体メモリ装置あるいはハードディスク装置などの記憶装置によって構成され、制御部11によって実行されるプログラム、およびプログラムを実行するために必要な情報を記憶する。メモリ13に記憶される情報は、制御部11によって読み書きされる。制御部11は、メモリ13に記憶されるプログラムを実行することによって、入出力制御部12を制御するとともに、文字列行切り出し部15、文字切り出し部16、特徴抽出部17、マッチング部18、文字列生成部19および後処理部20などの機能を実現する。本実施形態では、メモリ13を情報処理装置1に含めているが、情報処理装置1に接続される独立した記憶装置によって構成してもよいし、あるいは着脱可能な記録媒体によって構成してもよい。
文字認識辞書14は、文字コードで表わされる文字と文字の特徴を数値化した特徴量とを対応付けて収録した辞書である。単語辞書24は、少なくとも1つの文字からなる単語を収録する辞書である。単語辞書24にも文字ごとの文字コードが記憶されている。文字認識辞書14および単語辞書24は、メモリ13に記憶される。
制御部11は、入出力制御部12によって、入力装置2から送信される画像データを受信し、受信した画像データを文字列行切り出し部15に送る。文字列行切り出し部15は、制御部11から受け取った画像データが表す画像から文字列を表す文字列行画像を行ごとに切り出す。文字切り出し部16は、文字列行切り出し部15によって切り出された文字列行画像から、文字を1文字ずつ表す矩形画像である文字画像を切り出す。特徴抽出部17は、文字切り出し部16によって切り出された文字画像が表す文字の特徴を数値化した特徴量を抽出する。
選択部であるマッチング部18は、文字認識辞書14とのマッチング処理を行う。マッチング処理は、文字画像の特徴と文字認識辞書14に収録されている文字の特徴とを比較し、どれだけ似ているかを数値化する処理である。具体的には、マッチング部18は、特徴抽出部17によって抽出された特徴量と、文字認識辞書14に収録されているすべての文字の特徴量とを比較して、文字画像が表す文字と文字認識辞書14に収録された文字との類似度を算出する。そして、算出した類似度に基づいて、文字画像が表す文字の候補文字を少なくとも1つ、たとえば第1候補〜第5候補の候補文字を抽出する。文字列生成部19は、マッチング部18によって抽出された候補文字に示される候補文字のうち、第1候補の候補文字を左から順に並べた認識結果文字列を生成する。
後処理部20は、第1の後処理を行う。第1の後処理では、単語列生成部21は、文字列生成部19によって生成された認識結果文字列を構成する各文字の複数の候補文字を組み合わせて、単語辞書24と照合し、最適な単語を選択することで構成される単語文字列を生成する。置き換え判定部22は、単語列生成部21によって生成された単語文字列と、文字列生成部19によって生成された認識結果文字列とを比較し、比較結果が予め定める比較基準を満たすとき、文字を置き換えると判定する。置き換え部23は、置き換え判定部22によって置き換えると判定された文字について、認識結果文字列中の文字を単語文字列中の文字で置き換え、置き換えた認識結果文字列を出力装置3に出力する。以下、文字列行切り出し部15、文字切り出し部16、特徴抽出部17、マッチング部18、文字列生成部19および後処理部20を詳細に説明する。
図2は、入力装置2から受信した画像データが表す画像40の一例を示す図である。入力装置2から受信した画像データが表す画像40は、文字列行が記載された原稿を入力装置2によって読み取った画像である。文字列行は、少なくとも1つの行からなる文字列である。文字列は、横書きでもよいし、縦書きでもよい。横書きのときは、横方向が文字列であり、縦方向が行である。縦書きのときは、縦方向が文字列で、横方向が行である。画像は、カラー画像でもよいが、本実施形態では、画像は白黒画像であるとして、以下説明する。白画素からなる部分は背景部分であり、黒画素からなる部分が文字部分である。
図2に示した画像40の例には、2行にわたる文字列行が示されており、第1行目には、「入居者の保険医療制度についてアンケートを実施。」と示され、第2行目には、「協力、理解を得るために事前に説明会を行った。」と示されている。
図3は、文字列行切り出し部15によって切り出された文字列行画像41の一例を示す図である。文字列行切り出し部15は、制御部11が入出力制御部12によって入力装置2から受信した画像データを制御部11から受け取り。受け取った画像データが表す画像から文字列を表す文字列行画像を行ごとに切り出す。
文字列行画像を切り出す方法は、周知の方法でよく、本実施形態では、たとえば、文字列行切り出し部15は、画像内の空白部分つまり白画素部分、および文字部分つまり黒画素部分の分布から、文字列行画像を切り出す。具体的には、行と行との間には一定の連続する白画素の分布があることを利用して、文字列行画像を切り出す。文字列行画像を切り出す方法は、この方法に限定されるものではなく、これ以外のどのような方法を用いてもよい。
図3に示した文字列行画像41の例には、文字列行画像411,412の2つの文字列行画像が示されている。文字列行画像411は、「入居者の保険医療制度について、」という文字列が表示された画像であり、文字列行画像412は、「協力、理解を得るために事前に説明会を行った。」という文字列が表示された画像である。
図4は、文字切り出し部16によって切り出された文字画像42の一例を示す図である。文字切り出し部16は、文字列行切り出し部15によって切り出された文字列行画像から、文字を1文字ずつ矩形画像である文字画像として切り出す。
文字切り出し手法も周知の方法でよいが、文字の上下左右方向の各々一番突出する部分の座標を最大値として外接矩形で切り出すことを条件とする。本実施形態では、座標は、たとえば図2に示した画像40の左上の頂点を原点とし、画像40に向かって左右方向をX軸、上下方向をY軸とする座標系における座標である。文字画像は、X軸に平行な2辺とY軸に平行な2辺とからなる4辺で囲まれる矩形の画像であり、1つの文字を含む最小の大きさの矩形画像である。
図4に示した文字画像42の例には、15文字の文字画像が示されている。最初の文字画像421は、「入」という文字を切り出した文字画像であり、第2番目以降に「居」、「者」、「の」、「保」、「険」、「医」、「療」、「制」、「度」、「に」、「つ」、「い」、「て」および「、」の各文字の文字画像が示されている。
図5は、特徴抽出部17によって抽出された特徴量を説明するための図である。特徴抽出部17は、文字切り出し部16によって切り出された文字画像が表す文字の特徴を数値化した特徴量を抽出する。特徴抽出部17は、後処理部20のために、抽出した特徴量を文字画像ごとにメモリ13に記憶しておく。
特徴抽出の手法としては、「メッシュ特徴」と呼ばれる手法がよく知られており、本実施形態でも、特徴抽出部17は、「メッシュ特徴」と呼ばれる手法を用いて特徴量を抽出する。「メッシュ特徴」とは、切り出された矩形画像である文字画像を、メッシュに分割し、各メッシュにおける黒画素数を数値化して正規化を行う処理である。
図5(a)は「あ」という文字の文字画像30を縦横8×8=64のメッシュ31に分割して区切った図である。図5(b)は、図5(a)に示した各メッシュ31における黒画素数を数値化して正規化した特徴データ32の一例を示す図である。特徴データ32は、それぞれのメッシュ31の文字部分の特徴量を、対応する位置にある8×8のメッシュ33ごとに表したデータである。対応する位置とは、8×8のメッシュの中で同じ位置にあるということである。
たとえば最上段の各メッシュ33は、左から順に、第1番目のメッシュ31の特徴量が「0」であることを示し、第2番目のメッシュ31の特徴量が「0」であることを示し、第3番目のメッシュ31の特徴量が「15」であることを示し、第4番目のメッシュ31の特徴量が「34」であることを示し、第5番目のメッシュ31の特徴量が「0」であることを示し、第6番目のメッシュ31の特徴量が「0」であることを示し、第7番目のメッシュ31の特徴量が「3」であり、第8番目のメッシュ31の特徴量が「0」であることを示している。
図6は、候補文字43および認識結果文字列44の一例を示す図である。図6(a)は、マッチング部18によって抽出された候補文字43の一例を示す。候補文字43は、文字画像42が表す文字として、マッチング部18によって抽出された候補の文字である。マッチング部18は、特徴抽出部17によって抽出された特徴量と、文字認識辞書14に収録されているすべての文字の特徴量とを比較して、文字画像が表す文字と文字認識辞書14に収録された文字との類似度を算出し、算出した類似度に基づいて、文字画像が表す文字の候補文字を少なくとも1つ抽出する。本実施形態では、類似度の高い文字から最大で5つの候補文字、第1候補〜第5候補の候補文字を抽出する。
類似度は、文字画像が表す文字と文字認識辞書14に収録された文字とが、どれだけ似ているかを評価するための指標であり、類似度が高いほどより似ていることを示す。本実施形態では、類似度として、単純類似度と呼ばれる指標を用いてどれだけ似ているかを評価する。単純類似度Sは、式(1)で算出する。
ここに、文字画像が示す文字の特徴データをX、文字認識辞書14に収録されている文字の特徴データをY、文字画像の第m番目のメッシュの特徴量をxm、文字認識辞書14に収録されている文字の第m番目のメッシュの特徴量をym、メッシュの数をkとしている。メッシュの第m番目とは、本実施形態では、8×8のメッシュであるので、k=64であり、最上段の左から順にm=1,2,3,……8であり、右端までくると、次段の左端からm=9,10,11,……であり、最下段の右端がm=64である。
式(1)の最右辺の分母は、文字画像が表す文字の特徴データおよび文字認識辞書14に収録されている文字の特徴データを正規化しておくと一定となるので、式(1)で計算を行うのは、分子についてのみ計算を行えばよい。本実施形態では、8×8のメッシュについてメッシュ特徴を用いているので、分子は、式(2)のように表すことができる。
式(2)を用いると、計算結果の値が非常に大きくなって扱いにくいので、本実施形態では、式(3)に示すように式(2)の計算結果を「512」で除算した値を、単純類似度Sとして用いる。
式(3)によって、単純類似度Sの最大値は「128」になるように設定される。
特徴抽出部17は、文字切り出し部16によって切り出された文字画像ごとに、文字認識辞書14に収録されている文字との類似度を式(3)によって計算する。そして、文字認識辞書14に収録されている文字から、類似度が高い順に第1候補〜第5候補の5つまでの候補文字を抽出する。候補文字は、文字画像が表す文字としての候補となる文字である。類似度が、予め定める最低基準未満であるときは、候補文字として抽出しない。予め定める最低基準は、たとえば「80」である。本実施形態では、予め定める最低基準を「80」としたが、この値に限定されるものではない。また、予め定める最低基準による判断を行うことなく、常に第1候補〜第5候補までを抽出するようにしてもよい。本実施形態では、候補文字を第5候補までとしたが、これに限定されるものではなく、たとえば第10候補まで抽出してもよい。ただし、文字列が長くなった場合、あるいは認識する文字列が増加した場合は、記憶するデータ量も増加することに注意する必要がある。
図6(a)に示した候補文字43は、最上段に入力文字を左から順に配置し、第2段目に最上段のそれぞれの文字に対する第1候補の候補文字、第3段目に最上段のそれぞれの文字に対する第2候補の候補文字、第4段目に最上段のそれぞれの文字に対する第3候補の候補文字、第5段目に最上段のそれぞれの文字に対する第4候補の候補文字、第6段目に最上段のそれぞれの文字に対する第5候補の候補文字を示している。入力文字は、候補文字の本来の文字、つまり原稿に記載されていた文字であり、以下「正解文字」ともいう。各候補文字の下側に付している数字は、その候補文字の類似度を表している。第1候補は、類似度が最も高い候補文字であり、以降類似度が高い順に、第2候補、第3候補、第4候補および第5候補の候補文字となる。
図6(a)に示した候補文字43の例では、最上段に、入力文字として、「入」、「居」、「者」、「の」、「保」、「険」、「医」、「療」、「制」、「度」、「に」、「つ」、「い」、「て」および「、」が示されている。第1候補〜第5候補については、たとえば正解文字「入」については、第1候補「入 121」、第2候補「人 120」、第3候補「大 115」および第4候補「λ 110」が示され、第5候補は、空白である。
図6(b)は、文字列生成部19によって生成された認識結果文字列44の一例を示す。文字列生成部19は、マッチング部18によって抽出された候補文字43に示される候補文字のうち、第1候補の候補文字を左から順に並べた認識結果文字列44を生成する。文字列生成部19は、後処理部20のために、候補文字43をメモリ13に記憶しておく。図6(b)に示した例では、認識結果文字列44として「入居青の振険医療制度について、」なる文字列が示されている。後処理部20による処理を行わない場合は、この認識結果文字列44を、認識結果として出力することになる。本実施形態では、この後、後処理部20によって第1の後処理が実行される。
後処理部20は、第1の後処理を実行する。すなわち、文字列生成部19によって生成された認識結果文字列44を構成する各文字の複数の候補文字を組み合わせて、単語辞書24と照合し、最適な単語を選択することで構成される単語文字列を生成する。そして、生成した単語文字列と、文字列生成部19によって生成された認識結果文字列44とを比較して、認識結果文字列44中の誤りを修正し、修正した認識結果文字列を出力装置3に出力する。第1の後処理は、後処理部20に含まれる単語列生成部21、置き換え判定部22および置き換え部23によって実行される。
具体的には、単語列生成部21は、文字列生成部19によって生成された認識結果文字列44を構成する各文字の複数の候補文字を組み合わせて複数生成される文字列と、単語辞書24に収録されている単語とを照合して単語の候補を生成し、生成した単語の候補の中から最適な単語を選択することによって構成される単語文字列を生成する。
候補文字から単語の候補を生成する方法には、形態素解析を用いる方法などがあるが、どのような方法を用いてもよい。本実施形態では、認識結果文字列44の第1文字目から順に、各候補文字について、単語辞書24に収録されている単語に完全に一致する文字列、もしくは部分的に一致する文字列を単語の候補として生成する。
たとえば、図6(b)に示した認識結果文字列44のうち、第1文字目〜第3文字目の文字列は、「入居青」である。ここで、単語辞書24に「入居者」という単語が存在していれば、この「入居者」が「入居青」に対応する単語の候補として抽出される。また、「入居」という単語が単語辞書24に収録されていれば「入居」も単語の候補になる。
「入居」および「入居者」が単語の候補として単語辞書24から抽出された場合は、もし、認識結果文字列44の第3文字目の「青」という第1候補の候補文字に対応する第2候補〜第5候補の候補文字の中に「者」の文字があれば、「入居者」という単語を構成する文字を、認識結果文字列44を構成する文字の候補文字で生成することができる。第1候補の候補文字に対応する第2候補〜第5候補の候補文字とは、入力文字が第1候補の候補文字と同じ第2候補〜第5候補の候補文字ということである。そして、「入居者」という単語の候補は「入居」という単語の候補よりも単語長が長いので、単語長が長いほうの「入居者」を最適な単語として選択する。
また、もし文字「青」の候補文字に対応する第2候補〜第5候補の候補文字の中に「者」という文字が存在しない場合、つまり図6(a)のような場合は、認識結果文字列44を構成する文字と一致する文字の文字数が同じであれば、単語を構成する文字の文字数が大きいほうの単語を選択する。つまり、「入居」という単語の候補および「入居者」という単語の候補は、どちらも「入居」という文字列が、認識結果文字列44の第1,2文字目の文字列と一致している。そして「入居」という単語の候補は単語を構成する文字数が2であり、「入居者」という単語の候補は単語を構成する文字数が3であることから、「入居者」を選択することになる。これは、部分的に一致する文字列を最適な単語として選択する例である。以下部分的に一致することを「部分一致」ともいう。
単語列生成部21は、認識結果文字列44の第4文字目についても、単語辞書24に収録されている単語と完全に一致する文字列、もしくは部分的に一致する文字列を最適な単語として選択する。単語列生成部21は、この処理を、認識結果文字列44の最終文字、たとえば図6(b)に示した例では「、」の文字に対する最適な単語を選択するまで繰り返す。
ただし、この処理においては、すべての認識結果文字列44を構成する候補文字以外の候補文字の組合せを用いて単語辞書24と照合し、単語辞書24に収録された単語との部分一致も許容する構成としているので、以下のようなことを考慮する必要がある。
たとえば、図6(b)に示した認識結果文字列44を構成する第5,6文字目は、正しくは「保険」という文字列であるが、マッチング結果では認識結果文字列44の第5,6文字目は「振険」となっており、単語辞書24を検索した場合、部分一致となる「保険」および「振替」などの単語が単語の候補として生成される。すなわち、図6(a)に示した候補文字43には、「保」および「替」の文字がそれぞれ「保」の候補文字および「険」の候補文字に存在しないため、完全に一致する単語の候補がなく、部分一致となる複数の単語の候補が生成される。たとえば「険」の第3候補である「陰」と部分一致である「山陰」、および「険」の第2候補である「陵」と部分一致である「丘陵」などの部分一致となる単語が単語辞書24に収録されていれば、単語の候補として生成される。このようにして生成された単語の候補の一例を図7に示す。
図7は、単語列生成部21によって生成された単語文字列45の一例を示す図である。図7に示した単語文字列45の例には、最適な単語たとえば単語451、および複数生成された単語の候補たとえば単語の候補452が混在している。単語の候補452には、4つの単語「保険」、「振替」、「山陰」および「丘陵」が生成されている。複数の候補がある場合は、単語列生成部21は、以下のような3つの条件で優先順位をつけて、最適な単語を選択し、最適な単語のみからなる単語文字列を生成する。以下、単語の候補が2文字からなる場合を例にして説明する。
条件1は、第1番目の文字が候補文字内に存在する文字であり、かつ第2番目の文字が候補文字内に存在する文字であるという条件である。条件2は、第1番目の文字が候補文字内に存在する文字であり、かつ第2番目の文字が候補文字内に存在しない文字であるという条件、または第1番目の文字が候補文字内に存在しない文字であり、かつ第2番目の文字が候補文字内に存在する文字であるという条件である。条件3は、2文字の類似度が最大であるという条件である。2文字の類似度とは、単語の候補と、認識結果文字列の文字のうちその単語の候補に対応する位置にある2文字との類似度である。対応する位置とは、認識結果文字列および単語文字列のそれぞれの先頭文字からの順番が同じ位置ということである。2文字の類似度は、2文字を構成する各文字の類似度の平均値である。本実施形態では、2文字の類似度の平均値を用いているが、2文字の類似度の合計値を用いてもよい。
単語列生成部21は、複数の単語の候補の中に、条件1を満たす単語の候補が1つであれば、その単語の候補を最適な単語として選択する。条件1を満たす単語の候補がなく、かつ条件2を満たす単語の候補が1つであれば、その単語の候補を最適な単語として選択する。条件1を満たす単語の候補が複数あるときまたは条件2を満たす単語の候補が複数あるとき、条件3を満たす単語の候補を最適な単語として選択する。
たとえば図7に示した第5,6文字目の単語の候補452の場合、単語の候補として、「保険」、「振替」、「山陰」および「丘陵」が生成されている。これらの単語の候補は、いずれも条件1を満たさず、条件2を満たすので、条件3によって最適な単語を選択する。それぞれの類似度は、「保険」が「118」であり、「振替」が「117」であり、「山陰」が「114」であり、「丘陵」が「116」である。したがって、単語列生成部21は、これら4つの単語の候補の中から最大の類似度「118」である「保険」を最適な単語として選択する。
本実施形態では、最適な単語を上述した条件に従って選択したが、このような条件だけに限らず、候補文字のうち第1候補および第2候補の候補文字を優先として、第3候補以降の候補を使用せずに構成することができる単語のみを選択するような構成にしてもよい。
図8は、認識結果文字列と単語文字列との比較例46を示す図である。比較例46は、上段が文字列生成部19によって生成された認識結果文字列であり、下段が単語列生成部21によって生成された単語文字列である。図8に示した下段の単語文字列は、図7に示した単語文字列45で最適な単語として選択された単語からなる文字列である。比較例46は、単語文字列の各々の単語を構成する文字数で区切った矩形によって、認識結果文字列と単語文字列とを区切って示している。
置き換え判定部22は、文字列生成部19で生成された認識結果文字列と単語列生成部21によって生成された単語文字列とを、単語ごとに先頭文字から一文字ずつ比較して、異なるか否かを判定する。文字が異なるか否かは、たとえば認識結果文字列中の文字の文字コードと、単語文字列中の文字の文字コードとが異なるか否かによって判定することができる。文字コードが異なるときに、文字が異なると判定し、文字コードが一致するときに、文字が異ならないと判定する。文字コードは、たとえば文字認識辞書14および単語辞書24のそれぞれに、文字ごとに収録しておくことによって実現可能である。本実施形態では、先頭文字から一文字ずつ比較するが、単語の最後尾の文字から先頭文字の方向に順番に一文字ずつ比較してもよい。
置き換え判定部22は、単語を構成するすべての文字について、異なる文字がない場合、つまり同じ文字である場合、単語を構成するすべての文字について、置き換えると判定する。
置き換え判定部22は、異なる文字がある場合、さらに、単語を構成する文字の中で異なると判定された文字と同じ文字が、認識結果文字列を構成する候補文字以外の対応する位置にある候補文字の中にあるか否かを判定する。対応する位置にあるとは、単語文字列中の文字の先頭からの位置と、認識結果文字列の先頭からの位置とが同じである位置にあるということである。単語を構成する文字の中で異なると判定された文字と同じ文字が、認識結果文字列を構成する候補文字以外の対応する位置にある候補文字の中にすべてある場合、置き換え判定部22は、単語を構成するすべての文字について、置き換えると判定する。
すなわち、単語を構成する文字と同じ文字が、認識結果文字列の対応する位置にある候補文字の中にすべてある場合、置き換え判定部22は、単語を構成するすべての文字について、置き換えると判定する。
本実施形態では、置き換え判定部22は、このように候補文字の中に一致する候補文字があるか否かを検索したが、単語列生成部21が単語文字列を生成するとき、各単語が部分一致の単語であり、かつ単語を構成する文字が候補文字に存在しない文字であるか否かを示す情報をメモリ13に記憶しておき、置き換え判定部22は、メモリ13に記憶されるその情報を参照することによって、候補文字にあるか否かを判定してもよい。
置き換え判定部22は、単語を構成する文字のうちいずれかの文字と同じ文字が、認識結果文字列の対応する位置にある候補文字の中にない場合、つまり単語を構成する文字のうち認識結果文字列の対応する位置にある第1候補〜第5候補の候補文字の中に同じ文字がない場合、単語を構成する文字のうち認識結果文字列の対応する位置にある第1候補〜第5候補の候補文字の中に同じ文字がない文字について、さらに、類似度による置き換えの要否を判定する。以下、単語を構成する文字のうち認識結果文字列の対応する位置にある第1候補〜第5候補の候補文字の中に同じ文字のない文字のことを、単語を構成する文字のうち候補文字の中に同じ文字がない文字という。
具体的には、置き換え判定部22は、単語を構成する文字のうち候補文字の中に同じ文字がない文字の特徴量と、認識結果文字列を構成する対応する位置にある候補文字、つまり第1候補の候補文字の特徴量とから、式(3)によって、これらの特徴量の類似度を計算する。認識結果文字列を構成する対応する位置にある候補文字の特徴量は、特徴抽出部17によって抽出された特徴量であり、メモリ13に記憶されている。そして、計算した類似度が予め定める閾値以上であるとき、単語を構成する文字のうち候補文字の中に同じ文字がない文字について、置き換えると判定し、計算した類似度が予め定める閾値未満であるとき、単語を構成する文字のうち候補文字の中に同じ文字がない文字について、置き換えないと判定する。単語を構成する文字のうち候補文字の中に同じ文字がある文字については、置き換えると判定する。予め定める閾値は、任意の値を設定することができる。たとえば式(3)で計算される類似度の最大類似度=128の7割の値とする場合、「89」が予め定める閾値となる。類似度が予め定める閾値以上であることは、予め定める比較基準を満たすことの一例である。
たとえば、図8に示した単語文字列の単語「入居者」は、図8に示した認識結果文字列の中の文字列「入居青」に対応する単語であり、前から順番に1文字ずつ比較していくと、第3文字目が異なっている。この場合、単語文字列の単語「入居者」の第3文字目の文字「者」が、認識結果文字列の対応する第3文字目の候補文字に存在するかをチェックする。図6(a)に示した候補文字43を参照すると、第3文字目の第1候補の候補文字は、文字「者」とは異なる文字「青」であり、また第2候補以降の候補文字に「者」という文字は存在しない。
すなわち、図8に示した例では、2点鎖線461で囲まれた文字「青」と文字「者」とが一致せず、単語を構成する文字「者」が、対応する位置にある第1候補〜第5候補の候補文字に存在しないので、置き換え判定部22は、文字認識辞書14に収録されている文字「者」の特徴量と、認識結果文字列を構成する対応する候補文字の特徴量とを比較して類似度を計算する。図8に示した例では、認識結果文字列を構成する対応する位置にある候補文字の特徴量とは、図4に示した文字画像42のうち第3文字目の文字画像が表す文字について、マッチング部18によって第1候補の候補文字「青」として抽出された文字の特徴量である。特徴抽出部17によって抽出された特徴量は、メモリ13に記憶されているので、置き換え判定部22は、メモリ13を参照することによって、再度特徴量を計算することなく、特徴抽出部17によって抽出された特徴量を知ることができる。
図9は、単語文字列の文字の特徴量および対応する位置にある候補文字の特徴量の一例を示す図である。図9(a)は、候補文字「青」の特徴量を示す特徴データ39aである。候補文字「青」は、図4に示した文字画像42のうち第3文字目の文字画像が表す文字について、マッチング部18によって第1候補の候補文字「青」として抽出された文字である。図9(b)は、文字認識辞書14に収録されている文字「者」の特徴量を示す特徴データ32aである。実際の計算は省略するが、候補文字「青」の特徴量と文字認識辞書14に収録されている文字「者」の特徴量との類似度は、「108」である。ここに、類似度の最大値は128である。候補文字「青」および文字認識辞書14に収録されている文字「者」の例では、置き換え判定部22は、計算した類似度「108」が予め定める閾値=89以上の類似度であるので、置き換えると判定する。
置き換え判定部22は、単語文字列を構成する文字のうち候補文字の中に同じ文字がない文字を含むすべての単語について、類似度によって置き換えるか否かを判定する。図8に示した例では、単語文字列を構成する文字のうち候補文字の中に同じ文字がない文字は、文字「者」以外に、文字「保」があり、置き換え判定部22は、2点鎖線462で囲まれた文字「振」および文字「保」についても類似度を計算し、計算した類似度に基づいて、置き換えるか否かを判定する。
図9(c)は、候補文字「振」の特徴量を示す特徴データ39bである。図9(d)は、文字認識辞書14に収録されている文字「保」の特徴量を示す特徴データ32bである。実際の計算は省略するが、候補文字「振」の特徴量と文字認識辞書14に収録されている文字「保」の特徴量との類似度は、「110」である。置き換え判定部22は、候補文字「振」の特徴量と文字認識辞書14に収録されている文字「保」の特徴量との類似度「110」が予め定める閾値=89以上であるので、置き換えると判定する。
本実施形態では、置き換えるか否かの判定を、類似度が予め定める閾値以上であるときに置き換えると判定したが、これに限定されるものではない。たとえば、候補文字の特徴量と文字認識辞書14に収録されている文字の特徴量とから計算した類似度と、対象となる文字番目の第1候補文字の類似度との差がN以下であるときに、置き換えると判定するようにしてもよい。Nは、任意の正の整数である。
置き換え部23は、認識結果文字列のうち置き換えると判定された文字について、認識結果文字列の文字を単語文字列の文字で置き換え、置き換えた認識結果文字列を出力装置3に送信して出力させる。認識結果文字列のすべての文字について置き換えないと判定されたときは、置き換えを行うことなく、認識結果文字列を出力装置3に送信して出力させる。
たとえば図8に示した例では、2点鎖線461で囲まれた文字「青」および文字「者」、ならびに2点鎖線462で囲まれた文字「振」および文字「保」はいずれも、置き換え判定部22によって置き換えると判定されているので、置き換え部23は、認識結果文字列中の文字「青」を単語文字列中の文字「者」で置き換えるとともに、認識結果文字列中の文字「振」を単語文字列中の文字「保」で置き換える。
2点鎖線461で囲まれた文字「青」および文字「者」、ならびに2点鎖線462で囲まれた文字「振」および文字「保」以外の文字は、いずれも同じ文字であるので、置き換えると判定されており、置き換え部23は、認識結果文字列の文字を、単語文字列の同じ文字と置き換える。置き換え部23は、置き換えた認識結果文字列を出力装置3に送信して、出力させる。
すなわち、認識結果文字列の「入居青」が単語文字列の「入居者」に置き換えられ、認識結果文字列の「振険」が単語文字列の「保険」に置き換えられることになる。したがって、置き換え部23によって、図6(b)に示した認識結果文字列44、つまり「入居青の振険医療制度について、」が「入居者の保険医療制度について、」に置き換えられ、置き換えられた認識結果文字列である「入居者の保険医療制度について、」が出力装置3に送られて出力される。
図10は、情報処理装置1、入力装置2および出力装置3が実行する文字認識処理の処理手順を示すフローチャートである。たとえば、入力装置2に原稿がセットされ、入力装置2の図示しない操作部によって原稿の読み取り指示が行われると、ステップA1に移る。
ステップA1では、入力装置2は原稿を画像として読込み、読込んだ画像を表す画像データを情報処理装置1に送信する。情報処理装置1では、制御部11は、入出力制御部12によって、入力装置2から送信される画像データを受信し、受信した画像データを文字列行切り出し部15に送る。ステップA2では、文字列行切り出し部15は、制御部11から受け取った画像データが表す画像から文字列を表す文字列行画像を行ごとに切り出す。ステップA3では、文字切り出し部16は、文字列行切り出し部15によって切り出された文字列行画像から、文字を1文字ずつ表す矩形画像である文字画像を切り出す。
ステップA4では、特徴抽出部17は、文字切り出し部16によって切り出された文字画像が表す文字の特徴を数値化した特徴量を抽出する。ステップA5では、マッチング部18は、文字認識辞書14とのマッチングを行う。具体的には、マッチング部18は、特徴抽出部17によって抽出された特徴量と、文字認識辞書14に収録されているすべての文字の特徴量とを比較して、文字画像が表す文字と文字認識辞書14に収録された文字との類似度を算出し、算出した類似度に基づいて、文字画像が表す文字の候補文字を少なくとも1つ、たとえば第1候補〜第5候補までの候補文字を抽出する。
ステップA6では、文字列生成部19は、マッチング部18によって抽出された候補文字のうち、第1候補の候補文字を左から順に並べた認識結果文字列を生成する。ステップA7では、後処理部20は、第1の後処理を行い、文字認識処理を終了する。
図10に示したステップA2は、文字列行切り出し工程に相当し、図10に示したステップA3は、文字切り出し工程に相当し、図10に示したステップA4は、特徴抽出工程に相当し、図10に示したステップA5は、選択工程に相当し、図10に示したステップA6は、文字列生成工程に相当する。
図11は、後処理部20が実行する第1の後処理の処理手順を示すフローチャートである。図10に示したステップA7が実行されると、ステップB1に移る。
ステップB1では、単語列生成部21は、文字列生成部19によって生成された認識結果文字列から単語文字列を生成する。具体的には、文字列生成部19によって生成された認識結果文字列を構成する各文字の複数の候補文字を組み合わせて複数生成される文字列と、単語辞書24に収録されている単語とを照合して単語の候補を生成し、生成した単語の候補の中から最適な単語を選択し、選択した最適な単語から構成される単語文字列を生成する。
ステップB2では、置き換え判定部22は、単語文字列を構成する単語ごとに、単語を構成する文字列内のすべての文字において、認識結果文字列は存在するか否かを判定する。すなわち、初めてステップB2を実行するときは、単語文字列を構成する最初の単語を構成するすべての文字について、第2回目以降にステップB2を実行するときは、前回処理した単語の次に単語を構成するすべての文字について、認識結果文字列の対応する位置にある第1候補〜第5候補の中に同じ文字があるか否かを判定する。以下、ステップB2で単語文字列を構成する単語のうち処理の対象としている単語のことを「対象としている単語」という。
単語文字列の単語を構成するすべての文字について、認識結果文字列の対応する位置にある第1候補〜第5候補の中に同じ文字があると、単語を構成する文字列内のすべての文字において、認識結果文字列は存在すると判定し、ステップB3に進む。単語文字列の単語を構成するいずれかの文字について、認識結果文字列の対応する位置にある第1候補〜第5候補の中に同じ文字がないと、単語を構成する文字列内のすべての文字において、認識結果文字列は存在しないと判定し、ステップB5に進む。
置き換え判定部22は、ステップB3に進むときは、認識結果文字列のうち判定が行われた文字について、置き換えると判定する。ステップB5に進むときは、単語を構成する文字について、認識結果文字列の対応する位置にある第1候補〜第5候補の中に同じ文字があると判定された文字があるときは、認識結果文字列のうちその判定が行われた文字について、置き換えると判定する。
ステップB3では、置き換え部23は、対象文字について単語文字を出力する。ステップB3での対象文字とは、置き換え部23によって置き換えると判定された文字である。単語文字とは、単語文字列を構成する文字である。ステップB3での出力は、メモリ13に記憶することである。すなわち、置き換え部23は、対象としている単語のうち、置き換え部23によって置き換えると判定された文字を、単語文字列の文字で置き換えて、置き換えた単語をメモリ13に記憶する。このとき、同じ単語の中に置き換えないと判定された文字があるときは、置き換えないと判定された文字については、置き換えは行われない。
ステップB4では、単語文字列を構成するすべての単語について処理を行ったか否かを判定する。ステップB4での処理とは、ステップB2,B3,B5〜B7の処理である。単語文字列を構成するすべての単語について処理を行ったときは、置き換え部23は、メモリ13に記憶した単語から構成される認識結果文字列を出力装置3に送信して出力し、第1の後処理を終了する。単語文字列を構成するすべての単語について処理を行っていないときは、ステップB2に戻る。
ステップB5では、置き換え判定部22は、単語辞書の文字の特徴量と認識文字の特徴量とを比較する。単語辞書の文字とは、ステップB2で、単語文字列の単語を構成する文字のうち候補文字の中に同じ文字がないと判定された文字である。認識文字とは、認識結果文字列を構成する候補文字のうち対応する位置にある候補文字、つまり第1候補の候補文字である。すなわち、ステップB5では、置き換え判定部22は、単語文字列の単語を構成する文字のうち候補文字の中に同じ文字がない文字の特徴量と、認識結果文字列の対応する位置にある第1候補の候補文字の特徴量とを比較する。置き換え判定部22は、比較のために、単語文字列の単語を構成する文字のうち候補文字の中に同じ文字がない文字の特徴量と、認識結果文字列の対応する位置にある第1候補の候補文字の特徴量との類似度を計算する。
ステップB6では、置き換え判定部22は、特徴量の比較から、予め定める閾値以上の類似性が得られたか否かを判定する。ステップB5で計算した類似度が予め定める閾値以上であるとき、特徴量の比較から、予め定める閾値以上の類似性が得られたと判定し、ステップB3に進む。ステップB5で計算した類似度が予め定める閾値未満であるとき、特徴量の比較から、予め定める閾値以上の類似性が得られなかったと判定し、ステップB7に進む。
置き換え判定部22は、ステップB3に進むとき、認識結果文字列のうち予め定める閾値以上の類似性が得られたと判定された文字について、置き換えると判定する。ステップB7に進むときは、認識結果文字列のうち予め定める閾値以上の類似性が得られなかったと判定された文字について、置き換えないと判定する。
ステップB7では、置き換え部23は、対象文字について認識文字を出力して、ステップB4に進む。ステップB7での対象文字とは、置き換え部23によって置き換えないと判定された文字である。ステップB7での出力は、メモリ13に記憶することである。すなわち、置き換え部23は、対象としている単語のうち、置き換え部23によって置き換えないと判定された文字を、単語文字列の文字で置き換えることなく、認対象としている単語をメモリ13に記憶する。このとき、同じ単語の中に置き換えると判定された文字があるときは、置き換えると判定された文字については、認識結果文字列の文字を単語文字列の文字で置き換える。
図11に示したステップB1は、単語列生成工程に相当し、図11に示したステップB2,B4〜B6は、置き換え判定工程に相当し、図11に示したステップB3,B7は、置き換え工程に相当する。
本実施形態では、置き換え部23は、置き換えられた文字および置き換えられていない文字から構成される単語を一旦メモリ13に記憶し、すべての単語について処理が行われた後、メモリ13に記憶した単語から認識結果文字列を構成して、出力装置3に送信して出力したが、メモリ13に記憶することなく、ステップB3あるいはステップB7で、置き換えられた文字および置き換えられていない文字から構成される単語を、単語ごとに出力装置3に送信して出力する構成としてもよい。
次に、本発明の第2の実施形態である情報処理装置1aについて説明する。本発明に係る情報処理方法は、情報処理装置1aによって実行される。情報処理装置1aの構成は、後処理部20aを除き、図1に示した情報処理装置1の構成と同じであり、重複を避けるために、以下相違する部分についてのみ説明する。後処理部20aが実行する処理を、以下第2の後処理という。後処理部20aは、置き換え判定部22aを除き、図1に示した後処理部20の構成と同じであり、重複を避けるために、以下相違する部分についてのみ説明する。
置き換え判定部22aは、最初、単語列生成部21により生成された単語文字列を構成する単語について類似単語が抽出されていたか否かをメモリ13に記憶する。類似単語は、単語列生成部21によって単語文字列が生成される際、単語の候補が複数生成されたとき、その複数の単語の候補のうち類似度が最も高い単語の候補を除く残余の単語の候補のことである。この処理は、第1の実施形態の置き換え判定部22では行われなかった処理である。
次に、置き換え判定部22aは、第1の実施形態の置き換え判定部22と同様に、単語文字列の単語を構成する文字と同じ文字が、認識結果文字列の対応する位置にある候補文字の中にあるか否かを判定する。単語文字列の単語を構成する文字と同じ文字が、認識結果文字列の対応する位置にある候補文字の中にすべてある場合、置き換え判定部22は、単語を構成するすべての文字について、置き換えると判定する。
単語を構成する文字のうち認識結果文字列の対応する位置にある候補文字の中に同じ文字がない場合、置き換え判定部22aは、第1の実施形態の置き換え判定部22と同様に、単語を構成する文字のうち候補文字の中に同じ文字がない文字の特徴量と、認識結果文字列を構成する対応する候補文字、つまり第1候補の候補文字の特徴量とから、式(3)によって、これらの特徴量の類似度を計算する。そして、計算した類似度が予め定める閾値以上であるとき、単語を構成する文字のうち候補文字の中に同じ文字がない文字に対応する位置にある認識結果文字列の文字について、置き換えると判定する。
計算した類似度が予め定める閾値未満であるとき、置き換え判定部22aは、第1の実施形態の置き換え判定部22とは異なり、さらに、計算した類似度が予め定める閾値未満であると判定された文字を含む単語に類似単語があるか否かを、メモリ13を参照して判定する。計算した類似度が予め定める閾値未満であると判定された文字を含む単語に類似単語がない場合、計算した類似度が予め定める閾値未満であると判定された文字を含む単語は、類似度が高い場合と同様に確信度が高いと判定し、置き換えると判定する。計算した類似度が予め定める閾値未満であると判定された文字を含む単語に類似単語がある場合、置き換えないと判定する。
以下、具体的な例示として、図3に示した文字列行画像412を用いて、第2の実施形態である情報処理装置1aの処理を説明する。
図12は、文字切り出し部16によって切り出された文字画像52の一例を示す図である。文字切り出し部16は、文字列行切り出し部15によって切り出された文字列行画像から、文字を1文字ずつ矩形画像として切り出す。図12に示した文字画像52の例には、図3に示した文字列行画像412から切り出された22文字の文字画像が示されている。最初の文字画像521は、「協」という文字を切り出した文字画像であり、第2番目以降に「力」、「,」、「理」、「解」、「を」、「得」、「る」、「た」、「め」、「に」、「事」、「前」、「に」、「説」、「明」、「会」、「を」、「行」、「っ」、「た」および「。」の各文字の文字画像が示されている。
図13は、候補文字53および認識結果文字列54の一例を示す図である。図13(a)は、マッチング部18によって抽出された候補文字53の一例を示す。候補文字53は、文字画像52が表す文字として、マッチング部18によって抽出された候補文字である。図13(a)に示した候補文字53の例では、最上段に入力文字、つまり候補文字の正解文字として、「協」、「力」、「,」、「理」、「解」、「を」、「得」、「る」、「た」、「め」、「に」、「事」、「前」、「に」、「説」、「明」、「会」、「を」、「行」、「っ」、「た」および「。」が示されている。第1候補〜第5候補については、たとえば正解文字「協」については、第1候補「協 121」、第2候補「脇 118」、第3候補「摺 110」、第4候補「堪 108」および第5候補「洋 104」が示されている。
図13(b)は、文字列生成部19によって生成された認識結果文字列54の一例を示す。文字列生成部19は、マッチング部18によって抽出された候補文字53に示される候補文字のうち、第1候補の文字を左から順に並べた認識結果文字列54を生成する。文字列生成部19は、後処理部20aのために、候補文字43をメモリ13に記憶しておく。図13(b)に示した例では、認識結果文字列54として「協力,埋斛を得るあめに事間に説明会を行った。」なる文字列が示されている。後処理部20aによる処理を行わない場合は、この認識結果文字列54を、認識結果として出力することになる。本実施形態では、この後、後処理部20aによって第2の後処理が実行される。
第2の後処理では、まず、単語列生成部21は、第1の実施形態と同様に、認識結果文字列の第1文字目から順に、各候補文字について、単語辞書24に収録されている単語に完全に一致する文字列、もしくは部分的に一致する文字列を単語の候補として生成する。このようにして生成された単語文字列の例を、図14に示す。
第2の実施形態では、第1の実施形態とは異なり、単語列生成部21は、単語の候補が複数生成されたか否かを,後処理部20aのために,メモリ13に記憶しておく。具体的には、生成した単語文字列に含まれる単語の候補が、複数の単語の候補が生成された単語の候補の1つである場合は、類似単語が抽出されたことをメモリ13に記憶し、生成した単語文字列に含まれる単語の候補が、1つの単語の候補しか生成されなかった単語の候補である場合は、類似単語が抽出されないことをメモリ13に記憶する。類似単語は、生成した複数の単語の候補のうち生成した単語文字列に含まれない単語の候補のことである。
図14は、単語列生成部21によって生成された単語文字列55の一例を示す図である。図14に示した単語文字列55の例には、最適な単語たとえば単語551、および複数生成された単語の候補たとえば単語の候補552,553が混在している。単語の候補552には、2つの単語の候補「得る」および「得ろ」が生成され、単語の候補553には、2つの単語の候補「事前」および「専門」が生成されている。
次に、単語列生成部21は、単語文字列55のうち複数の単語の候補があるものについて最適な単語を選択し、最適な単語の候補のみからなる単語文字列を生成する。図14に示した例では、単語の候補552、553に複数の単語の候補があるので、単語列生成部21は、第1の実施形態と同じ3つの条件で優先順位をつけて、最適な単語を選択する。
たとえば図14に示した例では、単語の候補552「得る」および「得ろ」は、ともに条件1を満たすので、条件3によって最適な単語を選択する。「得る」および「得ろ」のうち、「得る」の方が類似度が大きいので、「得る」が選択される。「事前」および「専門」については、「事前」は条件1を満たすが、「専門」は条件1を満たさず、条件2を満たすので、優先順位の高い条件を満たす「事前」が選択される。
図15は、認識結果文字列と単語文字列との比較例56を示す図である。比較例56は、上段が文字列生成部19によって生成された認識結果文字列であり、下段が単語列生成部21によって生成された単語文字列である。図15に示した下段の単語文字列は、図14に示した単語文字列55で最適な単語として選択された単語からなる文字列である。比較例56は、単語文字列の各々の単語を構成する文字数で区切った矩形によって、認識結果文字列と単語文字列とを区切って示している。
続いて、置き換え判定部22aは、文字列生成部19で生成された認識結果文字列と単語列生成部21により生成された単語文字列とを、単語ごとに先頭文字から一文字ずつ比較して、置き換えるか否かを判定する。置き換えるか否かの判定は、以下を除き、第1の実施形態と同じである。
第1の実施形態では、置き換え判定部22は、計算した類似度が予め定める閾値未満であるとき、単語を構成する文字のうち候補文字の中に同じ文字がない文字について、置き換えないと判定したが、第2の実施形態では、置き換え判定部22aは、計算した類似度が予め定める閾値未満であるとき、類似単語が抽出されたか否かを判定する。置き換え判定部22aは、メモリ13を参照し、メモリ13に類似単語が抽出されたことが記憶されていないと、置き換えると判定し、メモリ13に類似単語が抽出されたことが記憶されていると、置き換えないと判定する。
たとえば図15に示した例について、置き換え判定部22aによる置き換えるか否かの判定を説明する。前から順番に文字を比較していくと第4文字目と第5文字目、つまり2点鎖線561で囲んだ部分にある文字が異なる。すなわち、認識結果文字列では「埋斛」であり、単語文字列では「理解」である。この実施形態では、認識結果文字列と単語文字列とを前から順番に比較するが、後ろから順番に比較するような構成でもよい。
置き換え判定部22aは、まず単語文字列中の第4文字目の「理」という文字が、認識結果文字列の対応する位置にある候補文字に存在するか否かをチェックする。図13(a)に示した候補文字53には、第4文字目の第2候補の候補文字に「理」という文字がある。したがって、「理」という文字は候補文字にあるので、「理」という文字については、それ以上の処理は行わない。次に、第5文字目の「解」という文字が、認識結果文字列の対応する位置にある候補文字に存在するか否かをチェックする。図13(a)に示した候補文字53には、第5文字目の第1候補の候補文字は「斛」であり、第2候補の候補文字以降にも「解」という文字は存在しない。
単語「理解」を構成する「解」という文字が認識結果文字列の候補文字の中に含まれていないので、置き換え判定部22aは、次に、類似度による置き換えるか否かの判定を行う。このとき、仮に、単語「理解」のすべての文字が認識結果文字列の候補文字に含まれている場合は、置き換えると判定する。
置き換え判定部22aは、単語文字列中の文字「解」が、認識結果文字列内の対応する位置にある候補文字に存在しないので、文字認識辞書14に収録されている文字「解」の特徴量と、図12に示した文字画像52のうち第5文字目の文字画像から抽出された特徴量とを比較して、類似度を抽出する。図12に示した文字画像52のうち第5文字目の文字画像から抽出された特徴量は、メモリ13に記憶されている。
図16は、単語文字列の文字の特徴量および対応する位置にある候補文字の特徴量の一例を示す図である。図16(a)は、候補文字「斛」の特徴量を示す特徴データ39cである。候補文字「斛」は、図12に示した文字画像52のうち第5文字目の文字画像が表す文字について、マッチング部18によって第1候補の候補文字「斛」として抽出された文字である。図16(b)は、文字認識辞書14に収録されている文字「解」の特徴量を示す特徴データ32cである。式(3)による実際の計算は省略するが、候補文字「斛」の特徴量と文字認識辞書14に収録されている文字「解」の特徴量との類似度は、「112」である。ここに、類似度の最大値は128である。
予め定める閾値は、任意の値として設定可能であるが、たとえば予め定める閾値を第1候補の候補文字との類似度の差が5以内であるとする場合、第5文字目の第1候補の候補文字は「斛」であり、文字「斛」の類似度は、図13(a)に「119」と示されているので、予め定める閾値は「119」から「5」を減算した「114」になる。第5文字目に対応する文字画像と文字「解」との類似度「112」は、予め定める閾値=114未満であり、類似単語の有無の判定が行われる。予め定める閾値以上の類似度である場合は置き換えると判定される。
類似単語の有無の判定では、置き換え判定部22aは、「理解」という単語のほかに類似単語が抽出されていたか否かを、メモリ13を参照して判定する。類似単語が抽出されたことがメモリ13に記憶されていなければ、「埋斛」という文字列に対して、「理解」という単語は確信度が高いとして、予め定める閾値以上の類似度であったときと同じ処理を行うと判断し、置き換えると判定する。もし、類似単語が抽出されたことがメモリ13に記憶されていれば、「埋斛」という文字列に対して、「理解」という単語は確信度が高くないとして、予め定める閾値未満の類似度であったときと同じ処理を行うと判断し、置き換えないと判定する。
第2の実施形態では、類似単語が抽出されたことがメモリ13に記憶されていなければ、無条件に確信度が高いとしたが、無条件に確信度が高いとするのではなく、文字画像と文字「解」との類似度を判定する予め定める閾値を 最大類似度=128の5割に再設定するなどして、予め定める閾値を低く設定し直して判定する構成としてもよい。
第2の後処理では、最後に、置き換え部23は、第1の実施形態と同様に、認識結果文字列のうち置き換えると判定された文字について、認識結果文字列の文字を単語文字列の文字で置き換え、置き換えた認識結果文字列を出力装置3に送信して出力させる。認識結果文字列のすべての文字について置き換えないと判定されたときは、置き換えを行うことなく、認識結果文字列を出力装置3に送信して出力させる。
図15に示した単語文字列のうち「理解」という単語は、類似単語が抽出されたことがメモリ13に記憶されていないので、図15に示した認識結果文字列のうち「埋斛」という文字列に対して、「理解」という単語は確信度が高いとして、予め定める閾値以上の類似度であったときと同様に、置き換えると判定される。したがって、置き換え部23は、認識結果文字列のうち「埋斛」という文字列を、単語文字列中の「理解」という単語に置き換えて、出力装置3に送信して出力する。すなわち、単語文字列中の単語「理解」を出力することによって、「埋斛」として誤認識された単語を正しくコレクト、つまり修正することができる。
図15に示した例では、認識結果文字列中の「埋斛」の「埋」と単語文字列中の「理解」の「理」と以外に、認識結果文字列中の「あめに」の「あ」と単語文字列中の「ために」の「た」と、また、認識結果文字列中の「事間」の「間」と単語文字列中の「事前」の「前」との文字がそれぞれ異なるので、類似度による置き換えの要否が判定される。
これらの比較結果についての説明は省略するが、第2の実施形態においては、仮に認識結果文字列中の文字と単語文字列中の文字とが異なって、類似度が予め定める閾値未満であったとしても、単語文字列を構成する単語の確信度が高ければ、無条件に認識結果文字列中の文字を単語文字列中の文字で置き換えることよって、正しい認識結果を得ることができる。あるいは、仮に認識結果文字列中の文字と単語文字列中の文字とが異なって、類似度が予め定める閾値未満であったとしても、予め定める閾値を低く設定し直して、類似度が設定し直した予め定める閾値以上であるとき、単語文字列を構成する単語の確信度が高いとして、認識結果文字列中の文字を単語文字列中の文字で置き換えることによって、正しい認識結果を得ることができる。
図17は、後処理部20aが実行する第2の後処理の処理手順を示すフローチャートである。情報処理装置1a、入力装置2および出力装置3が実行する文字認識処理は、情報処理装置1、入力装置2および出力装置3が実行する文字認識処理と同じであり、重複を避けるために説明は省略する。第2の実施形態では、図10に示したステップA7が実行されると、ステップC1に移る。ステップC1,C3〜C6,C9は、それぞれ図11に示したステップB1〜B5,B7と同じであり、説明は省略する。
ステップC2では、単語列生成部21は、生成した単語文字列を構成する単語において類似単語が抽出されたか否かを、生成した単語文字列を構成する単語ごとに、メモリ13に記憶する。すなわち、生成した単語文字列に含まれる単語が、生成された複数の単語の候補の中の1つの単語の候補であるとき、類似単語が抽出されたことをメモリ13に記憶し、生成した単語文字列に含まれる単語が、1つのみ生成された単語の候補であるとき、類似単語が抽出されないことをメモリ13に記憶する。
ステップC7では、置き換え判定部22aは、特徴量の比較から、予め定める閾値以上の類似性が得られたか否かを判定する。ステップC6で計算した類似度が予め定める閾値以上であるとき、特徴量の比較から、予め定める閾値以上の類似性が得られたと判定し、ステップC4に進む。ステップC6で計算した類似度が予め定める閾値未満であるとき、特徴量の比較から、予め定める閾値以上の類似性が得られなかったと判定し、ステップC8に進む。
予め定める閾値は、任意の値として設定可能であるが、本実施形態では、たとえば予め定める閾値は、第1候補の候補文字との類似度から「5」を減算した値である。図16(a)に示した例では、第5文字目の第1候補の候補文字は「斛」であり、文字「斛」の類似度は、図13(a)に「119」と示されているので、予め定める閾値は「114」になる。
ステップC8では、置き換え判定部22aは、対象としている単語について、ステップC2において類似単語が抽出されたか否かを判定する。対象としている単語、つまり単語文字列のうちステップC3で処理の対象としている単語について、メモリ13に類似単語が抽出されたことが記憶されていると、ステップC9に進み、対象としている単語について、メモリ13に類似単語が抽出されていないことが記憶されていると、ステップC4に進む。置き換え判定部22aは、ステップC4に進むとき、認識結果文字列のうち予め定める閾値以上の類似性が得られたと判定された文字について、置き換えると判定する。ステップC9に進むときは、認識結果文字列のうち予め定める閾値以上の類似性が得られなかったと判定された文字について、置き換えないと判定する。
図17に示したステップC1,C2は、単語列生成工程に相当し、図17に示したステップC3,C5〜C8は、置き換え判定工程に相当し、図17に示したステップC4,C9は、置き換え工程に相当する。
次に、本発明の第3の実施形態である情報処理装置1bについて説明する。本発明に係る情報処理方法は、情報処理装置1bによって実行される。情報処理装置1bの構成は、後処理部20bを除き、図1に示した情報処理装置1の構成と同じであり、重複を避けるために、以下相違する部分についてのみ説明する。後処理部20bが実行する処理を、以下第3の後処理という。後処理部20bは、置き換え判定部22bを除き、図1に示した後処理部20の構成と同じであり、重複を避けるために、以下相違する部分についてのみ説明する。
置き換え判定部22bは、最初、第1の実施形態の置き換え判定部22と同様に、単語文字列の単語を構成する文字と同じ文字が、認識結果文字列の対応する位置にある候補文字の中にあるか否かを判定する。単語文字列の単語を構成する文字と同じ文字が、認識結果文字列の対応する位置にある候補文字の中にすべてある場合、置き換え判定部22は、単語を構成するすべての文字について、置き換えると判定する。
単語を構成する文字のうち認識結果文字列の対応する位置にある候補文字の中に同じ文字がない場合、置き換え判定部22bは、第1の実施形態の置き換え判定部22と同様に、単語を構成する文字のうち候補文字の中に同じ文字がない文字の特徴量と、認識結果文字列を構成する対応する候補文字、つまり第1候補の候補文字の特徴量とから、式(3)によって、これらの特徴量の類似度を計算する。そして、計算した類似度が予め定める閾値以上であるとき、単語を構成する文字のうち候補文字の中に同じ文字がない文字に対応する位置にある認識結果文字列の文字について、置き換えると判定する。
計算した類似度が予め定める閾値未満であるとき、置き換え判定部22bは、第1の実施形態の置き換え判定部22とは異なり、さらに、対象としている単語の文字数が予め定める基準文字数以上か否かを判定する。対象としている単語は、単語文字列を構成する単語のうち類似度を判定している文字を含む単語である。予め定める基準文字数以上でない場合、置き換えないと判定する。
予め定める基準文字数以上である場合、予め定める閾値を低めに設定し直し、類似度が設定し直した予め定める閾値以上であるとき、置き換えると判定する。これは、文字数が長い文字列の場合に、単語辞書24に収録される単語と完全に一致もしくは部分一致して照合できるということは、単語文字列の単語として選択された単語が最適である確度が高いと考えられ、予め定める基準文字数以上の単語については、類似度の判定に使用する予め定める閾値を低めに設定しなおす。類似度が設定し直した予め定める閾値未満であるとき、置き換えないと判定する。
図18は、入力装置2から受信した画像データが表す画像60の一例を示す図である。入力装置2から受信した画像データが表す画像60は、文字列行が記載された原稿を入力装置2によって読み取った画像である。画像60には、文字列行が表示されている。図13に示した画像60の例には、1行の文字列行「車庫証明の取得後、提出する必要がある。」が表示されている。
以下、第3の実施形態の具体的な例示として、図18に示した画像60を用いて、情報処理装置1bの処理を説明する。
図19は、文字列行切り出し部15によって切り出された文字列行画像61の一例を示す図である。文字列行切り出し部15は、制御部11が入出力制御部12によって入力装置2から受信した画像データを制御部11から受け取り、受け取った画像データが表す画像から文字列を表す文字列行画像を行ごとに切り出す。図19に示した文字列行画像61の例には、文字列行画像611の1つの文字列行画像が示されている。文字列行画像611は、「車庫証明の取得後、提出する必要がある。」という文字列が表示された画像である。
図20は、文字切り出し部16によって切り出された文字画像62の一例を示す図である。文字切り出し部16は、文字列行切り出し部15によって切り出された文字列行画像から、文字を1文字ずつ矩形画像として切り出す。図20に示した文字画像62の例には、19文字の文字画像が示されている。最初の文字画像621は、「車」という文字を切り出した文字画像であり、第2番目以降に「庫」、「証」、「明」、「の」、「取」、「得」、「後」、「、」、「提」、「出」、「す」、「る」、「必」、「要」、「が」、「あ」、「る」および「。」の各文字の文字画像が示されている。
図21は、候補文字63および認識結果文字列64の一例を示す図である。図21(a)は、マッチング部18によって抽出された候補文字63の一例を示す。候補文字63は、文字画像62が表す文字として、マッチング部18によって抽出された候補文字である。図21(a)に示した候補文字53の例では、最上段に入力文字、つまり候補文字の正解文字として、「車」、「庫」、「証」、「明」、「の」、「取」、「得」、「後」、「、」、「提」、「出」、「す」、「る」、「必」、「要」、「が」、「あ」、「る」および「。」が示されている。第1候補〜第5候補については、たとえば正解文字「車」については、第1候補「事 123」、第2候補「専 120」、第3候補「実 119」、および第4候補「要 118」が示され、第5候補は空白である。
図21(b)は、文字列生成部19によって生成された認識結果文字列64の一例を示す。文字列生成部19は、マッチング部18によって抽出された候補文字63に示される候補文字のうち、第1候補の文字を左から順に並べた認識結果文字列64を生成する。文字列生成部19は、後処理部20bのために、候補文字63をメモリ13に記憶しておく。図21(b)に示した例では、認識結果文字列64として「事庫証明の取得後、提出する必要がある。」なる文字列が示されている。後処理部20bによる処理を行わない場合は、この認識結果文字列64を、認識結果として出力することになる。本実施形態では、この後、後処理部20bによって第3の後処理が実行される。
第3の後処理では、まず、単語列生成部21は、第1の実施形態と同様に、認識結果文字列の第1文字目から順に、各候補文字について、単語辞書24に収録されている単語に完全に一致する文字列、もしくは部分的に一致する文字列を単語の候補として生成する。このようにして生成された単語文字列の例を、図22に示す。
図22は、単語列生成部21によって生成された単語文字列65の一例を示す図である。図22に示した単語文字列65の例には、最適な単語たとえば単語651からなる単語文字列が示されている。単語文字列65には、複数の単語の候補は示されていない。単語列生成部21は、図21(b)に示した認識結果文字列64のうち第1文字目から第4文字目の文字列「事庫証明」について、単語辞書24に「車庫証明」という単語が収録されていれば、この「車庫証明」は「事庫証明」とは第1文字目の「車」と「事」とのみが異なる部分的に一致する文字列だと判断し、「事庫証明」に対応する単語として「車庫証明」を抽出する。他にも「事故」あるいは「車庫」といった単語を抽出することができるが、どれも完全一致ではなく、また「車庫証明」よりも文字列長が短いので、最終的には、文字列長の最も長い「車庫証明」のみを抽出する。「車庫証明」は部分一致の単語として抽出される。
図23は、認識結果文字列と単語文字列との比較例66を示す図である。比較例66は、上段が文字列生成部19によって生成された認識結果文字列であり、下段が単語列生成部21によって生成された単語文字列である。図23に示した下段の単語文字列は、図22に示した単語文字列65で最適な単語として選択された単語からなる文字列である。比較例66は、単語文字列の各々の単語を構成する文字数で区切った矩形によって、認識結果文字列と単語文字列とを区切って示している。
続いて、置き換え判定部22bは、文字列生成部19で生成された認識結果文字列と単語列生成部21により生成された単語文字列とを、単語ごとに先頭文字から一文字ずつ比較して、置き換えるか否かを判定する。置き換えるか否かの判定は、以下を除き、第1の実施形態と同じである。
第1の実施形態では、置き換え判定部22は、計算した類似度が予め定める閾値未満であるとき、単語を構成する文字のうち候補文字の中に同じ文字がない文字について、置き換えないと判定したが、第3の実施形態では、置き換え判定部22bは、計算した類似度が予め定める閾値未満であるとき、さらに、対象としている単語の文字数が予め定める基準文字数以上か否かを判定する。置き換え判定部22bは、対象としている単語の文字数が予め定める基準文字数以上でない場合、置き換えないと判定する。対象としている単語の文字数が予め定める基準文字数以上である場合、予め定める閾値を低めに設定し直し、類似度が設定し直した予め定める閾値以上であるとき、置き換えると判定し、類似度が設定し直した予め定める閾値以上でないとき、置き換えないと判定する。
たとえば図23に示した例について、置き換え判定部22bによる置き換えるか否かの判定を説明する。図23に示した単語文字列の単語「車庫証明」は、図23に示した認識結果文字列の単語「事庫証明」に対応し、前から順番に文字を1文字ずつ比較していくと、第1文字目が異なる。置き換え判定部22bは、単語辞書24から得られた「車」という文字が、認識結果文字列の対応する位置にある候補文字に存在するかをチェックする。この実施形態では、認識結果文字列と単語文字列とを前から順番に比較するが、後ろから順番に比較するような構成でもよい。
図21(a)に示した候補文字63には、認識結果文字列の第1文字目の第1候補の候補文字「事」が示され、第2候補以下の候補文字以降にも「車」いう文字は存在しない。単語文字列の単語「車庫証明」の「車」が認識結果文字列の候補文字に含まれていない、つまり存在しないので、置き換え判定部22bは、類似度による置き換えるか否かの判定を行う。このとき、仮に、単語文字列の単語「車庫証明」のすべての文字が認識結果文字列の候補文字に含まれている場合は、置き換え判定部22bは、置き換えると判定する。
置き換え判定部22bは、認識結果文字列中の文字と単語文字列中の文字とに異なる文字があった場合、認識結果文字列中の文字の特徴量と単語文字列中の文字の特徴量とを比較して、類似度を抽出する。たとえば、図23に示した2点鎖線661によって囲んだ文字「事」と文字「車」とが異なるので、文字認識辞書14に収録されている文字「車」の特徴量と、認識結果文字列の第1文字目の文字画像から抽出された特徴量とを比較して類似度を抽出する。認識結果文字列の第1文字目の文字画像から抽出された特徴量、つまり図20に示した文字画像62のうち第1文字目の文字画像621から抽出された特徴量は、メモリ13に記憶されている。
図24は、単語文字列の文字の特徴量および対応する位置にある候補文字の特徴量の一例を示す図である。図24(a)は、候補文字「事」の特徴量を示す特徴データ39dである。候補文字「事」は、図20に示した文字画像62のうち第1文字目の文字画像621が表す文字について、マッチング部18によって第1候補の候補文字「事」として抽出された文字である。図24(b)は、文字認識辞書14に収録されている文字「車」の特徴量を示す特徴データ32dである。式(3)による実際の計算は省略するが、候補文字「事」の特徴量と文字認識辞書14に収録されている文字「車」の特徴量との類似度は、「116」である。ここに、類似度の最大値は128である。
予め定める閾値は、任意の値として設定可能であるが、たとえば予め定める閾値を第1候補の候補文字との類似度の差が5以内であるとする場合、第1文字目の第1候補の候補文字は「事」であり、文字「事」の類似度は、図21(a)に「123」と示されているので、予め定める閾値は「123」から「5」を減算した「118」になる。第1文字目に対応する文字画像と文字「車」との類似度「116」は、予め定める閾値「118」未満であり、文字数の判定が行われる。予め定める閾値以上の類似度である場合は、置き換えると判定される。
文字数の判定では、置き換え判定部22bは、対象としている単語の文字数が予め定める基準文字数以上であるか否かを判定する。対象としている単語の文字数が予め定める基準文字数以上でない場合、置き換え判定部22bは、置き換えないと判定する。文字数が長い文字列の場合、単語辞書24に収録された単語と完全に一致もしくは部分一致して照合することができるということは、抽出した単語が最適である確度が高いと考えられ、予め定める基準文字数以上の単語については、類似度の判定に使用する予め定める閾値を低めに設定し直す。
予め定める基準文字数は、たとえば「4」であり、設定し直した予め定める閾値は、第1候補の候補文字の類似度から「10」を減算した値、あるいは最大類似度=128の8割、たとえば102とする。置き換え判定部22bは、類似度が設定し直した予め定める閾値以上であると、置き換えると判定し、類似度が設定し直した予め定める閾値未満であると、置き換えないと判定する。
図23に示した第1文字目の例では、設定し直した予め定める閾値を、第1候補の候補文字の類似度から「10」を減算した値とする場合、設定し直した予め定める閾値は「113」であり、第1文字目に対応する文字画像と文字「車」との類似度「116」は、設定し直した予め定める閾値以上であり、置き換え判定部22bは、置き換えると判定する。
第3の後処理では、最後に、置き換え部23は、第1の実施形態と同様に、認識結果文字列のうち置き換えると判定された文字について、認識結果文字列の文字を単語文字列の文字で置き換え、置き換えた認識結果文字列を出力装置3に送信して出力させる。認識結果文字列のすべての文字について置き換えないと判定されたときは、置き換えを行うことなく、認識結果文字列を出力装置3に送信して出力させる。
図23に示した認識結果文字列のうち単語「事庫証明」の「事」が、置き換えると判定されるので、置き換え部23は、認識結果文字列の単語「事庫証明」の「事」を単語文字列の「車庫証明」の「車」で置き換え、置き換えた単語「車庫証明」を出力装置3に送信して出力させる。すなわち、認識結果文字列を構成する単語のうち誤認識された単語「事庫証明」の「事」を、単語文字列の「車庫証明」の「車」でコレクト、つまり修正して出力することができる。したがって、情報処理装置1bは、「車庫証明の取得後、提出する必要がある。」という文字列を認識結果として出力することができる。
図25は、後処理部20bが実行する第3の後処理の処理手順を示すフローチャートである。情報処理装置1b、入力装置2および出力装置3が実行する文字認識処理は、情報処理装置1、入力装置2および出力装置3が実行する文字認識処理と同じであり、重複を避けるために説明は省略する。第3の実施形態では、図10に示したステップA7が実行されると、ステップD1に移る。ステップD1〜D5,D10は、それぞれ図11に示したステップB1〜B5,B7と同じであり、説明は省略する。
ステップD6では、置き換え判定部22bは、特徴量の比較から、予め定める閾値以上の類似性が得られたか否かを判定する。ステップD5で計算した類似度が予め定める閾値以上であるとき、特徴量の比較から、予め定める閾値以上の類似性が得られたと判定し、ステップD3に進む。ステップD5で計算した類似度が予め定める閾値未満であるとき、特徴量の比較から、予め定める閾値以上の類似性が得られなかったと判定し、ステップD7に進む。
ステップD7では、置き換え判定部22bは、対象としている単語の文字数が予め定める基準文字数M以上であるか否かを判定する。対象としている単語の文字数が予め定める基準文字数M以上であるとき、ステップD8に進み、対象としている単語の文字数が予め定める基準文字数M未満であるとき、ステップD10に進む。置き換え判定部22bは、ステップD10に進むとき、置き換えないと判定する。ステップD8では、置き換え判定部22bは、予め定める閾値を低い値に再設定する。
ステップD9では、置き換え判定部22bは、類似度が再設定した予め定める閾値以上であるか否かを判定する。類似度が再設定した予め定める閾値以上であるとき、ステップD3に進み、類似度が再設定した予め定める閾値未満であるとき、ステップD10に進む。置き換え判定部22bは、ステップD3に進むとき、置き換えると判定し、ステップD10に進むとき、置き換えないと判定する。
図25に示したステップD1は、単語列生成工程に相当し、図25に示したステップD2,D4〜D9は、置き換え判定工程に相当し、図25に示したステップD3,D10は、置き換え工程に相当する。
このように、上述した第1〜3の実施形態では、文字認識辞書14および単語辞書24以外の辞書、たとえば類似性文字辞書などの他の辞書を用いることなく、簡単な処理で、認識文字列内の誤りを正しい文字に訂正することができる。文字認識辞書14および単語辞書24以外の辞書を必要としないので、記憶容量の増加を回避することができる。
また、上述した第1〜3の実施形態では、認識結果文字列中の文字と単語文字列中の文字とが異なる場合に、異なっている文字について、認識結果文字列中の対応する文字番目の文字画像から抽出される特徴データと、単語文字列中の文字に対応する文字認識辞書内の特徴データとから算出される類似度によって、認識結果文字列中の文字を単語文字列中の文字で置き換えるか否かを判定する構成としたが、これに限定されるものではない。たとえば、認識結果文字列中の第1候補の候補文字に対応する文字認識辞書14に収録される文字の特徴データと、単語文字列中の文字に対応する文字認識辞書14に収録される文字の特徴データとから算出される類似度によって、認識結果文字列中の文字を単語文字列中の文字で置き換える構成とすることもできる。
また、上述した第1〜3の実施形態では、文字の特徴量を比較して、文字同士がどれだけ似ているかを数値化した類似度として、単純類似度を用いたが、これに限定されるものではなく、たとえば単純類似度からさらに計算することによって算出される複合類似度を用いることも可能である。
また、上述した第1〜3の実施形態では、文章が記載された原稿を読込み、読込んだ原稿の画像にあらわされる文章の文字列を単語に分割して、コレクト処理を行う例を示したが、これに限定されるものではない。たとえば、住所を記載した文字列を読込み、単語辞書を住所辞書に置き換えてコレクト処理を行う際にも、適用可能であり、誤認識した住所を正しい住所にコレクト、つまり修正することが可能である。単語辞書を住所辞書に置き換えて、住所の文字列に適用してコレクト処理を行う場合にも、類似性文字辞書などの他の辞書を必要としないので、メモリ13の追加容量を必要とせず、また簡単な方法で正しいコレクト処理を行うことができる。
上述した実施の形態では、入出力制御部12を制御するとともに、文字列行切り出し部15、文字切り出し部16、特徴抽出部17、マッチング部18、文字列生成部19および後処理部20,20a,20bなどの機能を実現するプログラムは、情報処理装置1,1a,1bのメモリ13などの記憶装置に記憶されるが、この記憶装置に限定されるものではなく、コンピュータで読取り可能な記録媒体に記録されていてもよい。記録媒体は、たとえば図示しない外部記憶装置としてプログラム読取装置を情報処理装置1,1a,1bに設け、そこに記録媒体を挿入することによって読取り可能な記録媒体であってもよいし、あるいは他の装置の記憶装置であってもよい。
いずれの記録媒体であっても、記憶されているプログラムがコンピュータからアクセスされて実行される構成であればよい。あるいはいずれの記録媒体であっても、プログラムが読み出され、読み出されたプログラムが、記憶装置のプログラム記憶エリアに記憶されて、そのプログラムが実行される構成であってもよい。
情報処理装置1,1a,1bと分離可能に構成される記録媒体は、たとえば磁気テープ/カセットテープなどのテープ系の記録媒体、フレキシブルディスク/ハードディスクなどの磁気ディスクもしくはCD−ROM(Compact Disk Read Only Memory)/MO(
Magneto Optical disk)/MD(Mini Disc)/DVD(Digital Versatile Disk)/CD−R(Compact Disk Recordable)/ブルーレイディスクなどの光ディスクのディスク系の記録媒体、IC(Integrated Circuit)カード(メモリカードを含む)/光カードなどのカード系の記録媒体、またはマスクROM/EPROM(Erasable Programmable
Read Only Memory)/EEPROM(Electrically Erasable Programmable Read Only
Memory)/フラッシュROMなどの半導体メモリを含む固定的にプログラムを担持する記録媒体であってもよい。
また、情報処理装置1,1a,1bを通信ネットワークと接続可能に構成し、通信ネットワークを介して上記プログラムを供給してもよい。この通信ネットワークとしては、特に限定されず、たとえば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、ISDN(Integrated Services Digital Network)、VAN(Value Added Network)、CATV(Community Antenna Television)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、または衛星通信網など通信ネットワークが利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、たとえば、IEEE1394、USB(Universal Serial Bus)、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber
Line)回線等の有線でも、IrDA(Infrared Data Association)あるいはリモートコントロールで用いられる赤外線、Bluetooth(登録商標)、802.11無線、HDR(High Data Rate)、携帯電話網、衛星回線、地上波デジタル網などの無線でも利用可能である。なお、本発明は、上記プログラムが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
このように、メモリ13は、文字とその文字の特徴を数値化した特徴量とを対応付けて収録する文字認識辞書14、および少なくとも1つの文字からなる単語を収録する単語辞書24を記憶する。文字列行切り出し部15は、文字列である文字列行が記載された原稿の画像から文字列を表す文字列画像を行ごとに切り出す。文字切り出し部16は、文字列行切り出し部15によって切り出された文字列画像から各文字を表す文字画像を1文字ずつ切り出す。特徴抽出部17は、文字切り出し部16によって切り出された文字画像から各文字画像が表す文字の特徴量を抽出する。マッチング部18は、特徴抽出部17によって抽出された特徴量とメモリ13に記憶される文字認識辞書14に収録された特徴量とを比較し、文字画像が表す文字ごとに、文字画像が表す文字として認識され得る候補文字を文字認識辞書14から少なくとも1つ選択する。文字列生成部19は、マッチング部18によって選択された文字画像ごとの候補文字を組み合わせて認識結果文字列を生成する。単語列生成部21は、文字列生成部19によって生成された認識結果文字列を構成する候補文字と、メモリ13に記憶される単語辞書24に収録された単語とを照合し、単語辞書24に収録された単語と全文字が一致する文字列、または一部の文字のみが一致する単語を抽出し、抽出した単語からなる単語文字列を生成する。置き換え判定部22,22a,22bは、文字列生成部19によって生成された認識結果文字列と単語列生成部21によって生成された単語文字列とを対応する位置にある文字ごとに比較して異なる文字がある場合、異なる文字については、特徴抽出部17によって抽出された特徴量と、メモリ13に記憶される文字認識辞書14に収録された文字の特徴量のうち単語文字列の文字に一致する文字に対応付けて記憶される特徴量とを比較し、比較結果が予め定める比較基準を満たすとき、認識結果文字列中の文字を単語文字列中の対応する文字で置き換えると判定する。そして、置き換え部23は、置き換え判定部22,22a,22bによって置き換えると判定された認識結果文字列中の文字を単語文字列中の対応する位置にある文字で置き換える。
したがって、文字認識辞書14および単語辞書24以外の辞書を用いることなく、認識した文字の誤りを正しい文字に訂正することができる。文字認識辞書14および単語辞書24以外の辞書を必要としないので、記憶容量の増加を回避することができる。
さらに、メモリ13は、文字とその文字の特徴を数値化した特徴量とを対応付けて収録する文字認識辞書14、および少なくとも1つの文字からなる単語を収録する単語辞書24を記憶する。文字列行切り出し部15は、文字列である文字列行が記載された原稿の画像から文字列を表す文字列画像を行ごとに切り出す。文字切り出し部16は、文字列行切り出し部15によって切り出された文字列画像から各文字を表す文字画像を1文字ずつ切り出す。特徴抽出部17は、文字切り出し部16によって切り出された文字画像から各文字画像が表す文字の特徴量を抽出する。マッチング部18は、特徴抽出部17によって抽出された特徴量とメモリ13に記憶される文字認識辞書14に収録された特徴量とを比較し、文字画像が表す文字ごとに、文字画像が表す文字として認識され得る候補文字を文字認識辞書14から少なくとも1つ選択する。文字列生成部19は、マッチング部18によって選択された文字画像ごとの候補文字を組み合わせて認識結果文字列を生成する。単語列生成部21は、文字列生成部19によって生成された認識結果文字列を構成する候補文字と、メモリ13に記憶される単語辞書24に収録された単語とを照合し、単語辞書24に収録された単語と全文字が一致する文字列、または一部の文字のみが一致する単語を抽出し、抽出した単語からなる単語文字列を生成する。置き換え判定部22,22a,22bは、文字列生成部19によって生成された認識結果文字列と単語列生成部21によって生成された単語文字列とを対応する位置にある文字ごとに比較して異なる文字がある場合、異なる文字については、メモリ13に記憶される文字認識辞書14に収録された特徴量のうち認識結果文字列の文字に一致する文字に対応付けて記憶される特徴量と、メモリ13に記憶される文字認識辞書14に収録された文字の特徴量のうち単語文字列の文字に一致する文字に対応付けて記憶される特徴量とを比較し、比較結果が予め定める比較基準を満たすとき、認識結果文字列中の文字を単語文字列中の対応する文字で置き換えると判定する。そして、置き換え部23は、置き換え判定部22,22a,22bによって置き換えると判定された認識結果文字列中の文字を単語文字列中の対応する位置にある文字で置き換える。
したがって、文字認識辞書14および単語辞書24以外の辞書を用いることなく、認識した文字の誤りを正しい文字に訂正することができる。文字認識辞書14および単語辞書24以外の辞書を必要としないので、記憶容量の増加を回避することができる。
さらに、置き換え判定部22,22a,22bは、文字列生成部19によって生成された認識結果文字列と単語列生成部21によって生成された単語文字列とを対応する位置にある文字ごとに比較して異なる文字がある場合、異なる文字については、特徴抽出部17によって抽出された特徴量と、メモリ13に記憶される文字認識辞書14に収録された特徴量のうち単語文字列の文字に一致する文字に対応付けて記憶される特徴量とを比較して類似度を算出し、算出した類似度が予め定める閾値以上であるとき、認識結果文字列中の文字を単語文字列中の対応する文字で置き換えると判定する。したがって、特徴量による類似度を指標とするので、簡単な計算で文字の類似を判定することができる。
さらに、置き換え判定部22,22a,22bは、文字列生成部19によって生成された認識結果文字列と単語列生成部21によって生成された単語文字列とを対応する位置にある文字ごとに比較して異なる文字がある場合、異なる文字については、メモリ13に記憶される文字認識辞書14に収録された特徴量のうち認識結果文字列の文字に一致する文字に対応付けて記憶される特徴量と、メモリ13に記憶される文字認識辞書14に収録された特徴量のうち単語文字列の文字の一致する文字に対応付けて記憶される特徴量とを比較して類似度を算出し、算出した類似度が予め定める閾値以上であるとき、認識結果文字列中の文字を単語文字列中の対応する文字で置き換えると判定する。したがって、特徴量による類似度を指標とするので、簡単な計算で文字の類似を判定することができる。
さらに、置き換え判定部22,22a,22bは、前記算出した類似度が予め定める閾値未満であるとき、単語列生成部21が前記単語文字列を生成したときに、単語辞書24に収録された単語と全文字が一致する文字列、または一部の文字のみが一致する単語であって、前記単語文字列に含まれない単語が抽出されていた場合は、前記算出した類似度が、予め定める閾値未満の値である予め定める第2の閾値以上であるとき、認識結果文字列中の文字を単語文字列中の対応する文字で置き換えると判定する。
したがって、単語の候補が1つしか生成されていない場合は、その単語の候補は、正解である可能性が高く、類似度が予め定める閾値未満であっても、最適な単語として置き換えることができる。たとえば、光学式文字認識では、「かすれ」あるいは「にじみ」が原因で、複数の文字からなる単語のうちの1つの文字が正しく認識されない場合、類似度が低くなり、予め定める閾値未満になることがあるが、単語辞書24から抽出された単語が1つである場合、正解である可能性は非常に高く、この単語を用いて修正することによって、正しい文字に訂正することができるという効果がある。
さらに、置き換え判定部22,22a,22bは、前記算出した類似度が予め定める閾値未満であるとき、前記異なる文字を含む単語の文字数が予め定める基準文字数以上である場合は、前記算出した類似度が、予め定める閾値未満の値である予め定める第2の閾値以上であるとき、認識結果文字列中の文字を単語文字列中の対応する文字で置き換えると判定する。したがって、文字数が多い単語については、類似度が予め定める閾値未満であっても、正解である可能性が高く、最適な単語を選択して置き換えることができる。
さらに、文字とその文字の特徴を数値化した特徴量とを対応付けて収録する文字認識辞書14、および少なくとも1つの文字からなる単語を収録する単語辞書24を記憶するメモリ13を含む情報処理装置で、メモリ13に記憶される文字認識辞書14および単語辞書24を用いて文字を認識するにあたって、図10に示したステップA2では、文字列である文字列行が記載された原稿の画像から文字列を表す文字列画像を行ごとに切り出す。図10に示したステップA3では、図10に示したステップA2で切り出された文字列画像から各文字を表す文字画像を1文字ずつ切り出す。図10に示したステップA4では、図10に示したステップA3で切り出された文字画像から各文字画像が表す文字の特徴量を抽出する。図10に示したステップA5では、図10に示したステップA4で抽出された特徴量とメモリ13に記憶される文字認識辞書14に収録された特徴量とを比較し、文字画像が表す文字ごとに、文字画像が表す文字として認識され得る候補文字を文字認識辞書14から少なくとも1つ選択する。図10に示したステップA6では、図10に示したステップA5で選択された文字画像ごとの候補文字を組み合わせて認識結果文字列を生成する。図11に示したステップB1、図17に示したステップC1,C2、または図25に示したステップD1では、図10に示したステップA6で生成された認識結果文字列を構成する候補文字と、メモリ13に記憶される単語辞書24に収録された単語とを照合し、単語辞書24に収録された単語と全文字が一致する文字列、または一部の文字のみが一致する単語を抽出し、抽出した単語からなる単語文字列を生成する。図11に示したステップB2,B4〜B6、図17に示したステップC3,C5〜C8、または図25に示したステップD2,D4〜D9では、図10に示したステップA6で生成された認識結果文字列と図11に示したステップB1、図17に示したステップC1,C2、または図25に示したステップD1で生成された単語文字列とを対応する位置にある文字ごとに比較して異なる文字がある場合、異なる文字については、図10に示したステップA4で抽出された特徴量と、メモリ13に記憶される文字認識辞書14に収録された文字の特徴量のうち単語文字列の文字に一致する文字に対応付けて記憶される特徴量とを比較し、比較結果が予め定める比較基準を満たすとき、認識結果文字列中の文字を単語文字列中の対応する文字で置き換えると判定する。そして、図11に示したステップB3,B7、図17に示したステップC4,C9、または図25に示したステップD3,D10では、図11に示したステップB2,B4〜B6、図17に示したステップC3,C5〜C8、または図25に示したステップD2,D4〜D9で置き換えると判定された認識結果文字列中の文字を単語文字列中の対応する位置にある文字で置き換える。
したがって、文字認識辞書14および単語辞書24以外の辞書を用いることなく、認識した文字の誤りを正しい文字に訂正することができる。文字認識辞書14および単語辞書24以外の辞書を必要としないので、情報処理装置の記憶容量の増加を回避することができる。
さらに、文字とその文字の特徴を数値化した特徴量とを対応付けて収録する文字認識辞書14、および少なくとも1つの文字からなる単語を収録する単語辞書24を記憶するメモリ13を含む情報処理装置で、メモリ13に記憶される文字認識辞書14および単語辞書24を用いて文字を認識するにあたって、図10に示したステップA2では、文字列である文字列行が記載された原稿の画像から文字列を表す文字列画像を行ごとに切り出す。図10に示したステップA3では、図10に示したステップA2で切り出された文字列画像から各文字を表す文字画像を1文字ずつ切り出す。図10に示したステップA4では、図10に示したステップA3で切り出された文字画像から各文字画像が表す文字の特徴量を抽出する。図10に示したステップA5では、図10に示したステップA4で抽出された特徴量とメモリ13に記憶される文字認識辞書14に収録された特徴量とを比較し、文字画像が表す文字ごとに、文字画像が表す文字として認識され得る候補文字を文字認識辞書14から少なくとも1つ選択する。図10に示したステップA6では、図10に示したステップA5で選択された文字画像ごとの候補文字を組み合わせて認識結果文字列を生成する。図11に示したステップB1、図17に示したステップC1,C2、または図25に示したステップD1では、図10に示したステップA6で生成された認識結果文字列を構成する候補文字と、メモリ13に記憶される単語辞書24に収録された単語とを照合し、単語辞書24に収録された単語と全文字が一致する文字列、または一部の文字のみが一致する単語を抽出し、抽出した単語からなる単語文字列を生成する。図11に示したステップB2,B4〜B6、図17に示したステップC3,C5〜C8、または図25に示したステップD2,D4〜D9では、図10に示したステップA6で生成された認識結果文字列と図11に示したステップB1、図17に示したステップC1,C2、または図25に示したステップD1で生成された単語文字列とを対応する位置にある文字ごとに比較して異なる文字がある場合、異なる文字については、メモリ13に記憶される文字認識辞書14に収録された特徴量のうち認識結果文字列の文字に一致する文字に対応付けて記憶される特徴量と、メモリ13に記憶される文字認識辞書14に収録された文字の特徴量のうち単語文字列の文字に一致する文字に対応付けて記憶される特徴量とを比較し、比較結果が予め定める比較基準を満たすとき、認識結果文字列中の文字を単語文字列中の対応する文字で置き換えると判定する。そして、図11に示したステップB3,B7、図17に示したステップC4,C9、または図25に示したステップD3,D10では、図11に示したステップB2,B4〜B6、図17に示したステップC3,C5〜C8、または図25に示したステップD2,D4〜D9で置き換えると判定された認識結果文字列中の文字を単語文字列中の対応する位置にある文字で置き換える。
したがって、文字認識辞書14および単語辞書24以外の辞書を用いることなく、認識した文字の誤りを正しい文字に訂正することができる。文字認識辞書14および単語辞書24以外の辞書を必要としないので、情報処理装置の記憶容量の増加を回避することができる。
さらに、コンピュータに情報処理方法の各工程を実行させるためのプログラムとして提供することができる。
さらに、コンピュータに前記情報処理方法の各工程を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体として提供することができる。