(57)【要約】      （修正有）【課題】文書画像に含まれる文字の認識精度を向上させる装置及び方法を提供する。【解決手段】文字認識装置は、一般の単語が登録されている一般単語辞書及びユーザ固有の単語が登録されているユーザ単語辞書を保持する記憶部と、文書を含む画像である文書画像から１以上の文字候補を特定する文字特定部と、一般単語辞書及びユーザ単語辞書に基づいて文字特定部によって特定された１以上の文字候補の組み合わせから１以上の単語候補を特定し、単語候補の採用可能性を示すスコアを各単語候補に付与する単語候補特定部と、単語候補特定部によって特定された１以上の単語候補のうち、所定の条件に適合する単語候補のスコアを調整するスコア調整部と、各単語候補のスコアに基づいて採用する単語候補の組み合わせを決定するスコア評価部とを有する。【選択図】図１
2018041329.tif 000002
【特許請求の範囲】
【請求項１】
一般の単語が登録されている一般単語辞書、及び、ユーザ固有の単語が登録されているユーザ単語辞書を保持する記憶部と、
文書を含む画像である文書画像から１以上の文字候補を特定する文字特定部と、
前記一般単語辞書及び前記ユーザ単語辞書に基づいて、前記文字特定部によって特定された１以上の文字候補の組み合わせから１以上の単語候補を特定し、単語候補の採用可能性を示すスコアを各単語候補に付与する単語候補特定部と、
前記単語候補特定部によって特定された１以上の単語候補のうち、所定の条件に適合する単語候補のスコアを調整するスコア調整部と、
各単語候補のスコアに基づいて、採用する単語候補の組み合わせを決定するスコア評価部と
を有する文字認識装置。
【請求項２】
前記ユーザ単語辞書では、単語と当該単語を一部に含む合成単語とが関連付けられている
請求項１に記載の文字認識装置。
【請求項３】
前記スコア調整部における所定の条件に適合する単語候補とは、前記ユーザ単語辞書に基づいて抽出され、且つ、前記ユーザ単語辞書に登録されている合成単語の一部である単語候補である
請求項２に記載の文字認識装置。
【請求項４】
前記スコア調整部における所定の条件に適合する単語候補とは、さらに、前記単語候補を一部に含む合成単語が前記スコア評価部において採用されている単語候補である
請求項３に記載の文字認識装置。
【請求項５】
前記スコア調整部は、前記文書画像における、所定の条件に適合する単語候補と当該単語候補を一部に含む合成単語との位置関係に基づいて、当該単語候補のスコアを調整する
請求項４に記載の文字認識装置。
【請求項６】
前記スコア調整部は、前記位置関係が近くなるほど大きくなるように、所定の条件に適合する単語候補のスコアを調整する
請求項５に記載の文字認識装置。
【請求項７】
前記ユーザ単語辞書に登録する単語を受け付ける単語受付部と、
前記単語受付部が受け付けた単語の一部に前記一般単語辞書に登録されている単語が含まれている場合、当該受け付けた単語を合成単語として前記一般単語辞書に登録されている単語と関連付けて前記ユーザ単語辞書に登録する辞書登録部と
をさらに有する請求項２乃至６の何れか１項に記載の文字認識装置。
【請求項８】
前記文書画像は、所定の技術分野に関する文書を含む画像であり、
前記合成単語は、当該技術分野で慣習的に使用されている単語である
請求項１乃至７の何れか１項に記載の文字認識装置。
【請求項９】
コンピュータが文字認識機能を提供する文字認識方法であって、
記憶部が、一般の単語が登録されている一般単語辞書、及び、ユーザ固有の単語が登録されているユーザ単語辞書を保持し、
文字特定部が、文書を含む画像である文書画像から複数の文字候補を特定し、
単語候補特定部が、前記一般単語辞書及び前記ユーザ単語辞書に基づいて、前記文字特定部によって特定された複数の文字候補の組み合わせから複数の単語候補を特定し、単語候補の採用可能性を示すスコアを各単語候補に付与し、
スコア調整部が、前記単語候補特定部によって特定された複数の単語候補のうち、所定の条件に適合する単語候補のスコアを調整し、
スコア評価部が、各単語候補のスコアに基づいて、採用する単語候補の組み合わせを決定する
文字認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に含まれる文字の認識に関する。
【背景技術】
【０００２】
画像に含まれる文字を認識する文字認識技術において、文字認識精度を高めるために、一般的な用語が登録されている一般用語辞書と照合して文字認識の誤りを修正する技術が知られている（特許文献１）。専門用語を多く含む技術文書の文字を認識する場合、一般用語辞書に加えて、専門用語が登録されている専門用語辞書が使用される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−２２４４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、専門用語辞書を使用したとしても、文字認識が正しく修正されない、又は、誤って文字認識される場合も多い。例えば、技術文書において専門用語が省略されて記載されている場合、専門用語辞書との照合に失敗したり、専門用語辞書と一般用語辞書との照合が競合したりすることも多い。そこで、本発明の目的は、専門用語など、ユーザ固有の用語を含む文書画像の文字認識精度を高めることにある。
【課題を解決するための手段】
【０００５】
一実施形態に係る文字認識装置は、
一般の単語が登録されている一般単語辞書、及び、ユーザ固有の単語が登録されているユーザ単語辞書を保持する記憶部と、
文書を含む画像である文書画像から１以上の文字候補を特定する文字特定部と、
一般単語辞書及びユーザ単語辞書に基づいて、文字特定部によって特定された１以上の文字候補の組み合わせから１以上の単語候補を特定し、単語候補の採用可能性を示すスコアを各単語候補に付与する単語候補特定部と、
単語候補特定部によって特定された１以上の単語候補のうち、所定の条件に適合する単語候補のスコアを調整するスコア調整部と、
各単語候補のスコアに基づいて、採用する単語候補の組み合わせを決定するスコア評価部と、を有する。
【発明の効果】
【０００６】
本発明によれば、専門用語など、ユーザ固有の用語を含む文書画像の文字認識精度を高めることができる。
【図面の簡単な説明】
【０００７】
【図１】文字認識装置の構成例を示す。
【図２】ユーザ単語辞書に単語を登録する処理の例を示すフローチャートである。
【図３】ユーザ単語辞書の構成例を示す。
【図４】文書画像の文字を認識する処理の概要を示すフローチャートである。
【図５】第１の文字認識処理の例を示すフローチャートある。
【図６】文書画像から文字列画像を抽出する例を示す。
【図７】文字抽出対象の文字列画像を選択する例を示す。
【図８】文字列画像から文字画像を抽出する例を示す。
【図９】各文字候補の文字スコアを算出する例を示す。
【図１０】文字候補ネットワークの例を示す。
【図１１】一般単語辞書に基づいて単語候補を特定する例を示す。
【図１２】ユーザ単語辞書に基づいて単語候補を特定する例を示す。
【図１３】単語候補ネットワークの例を示す。
【図１４】接続評価ネットワークの例を示す。
【図１５】最適経路選択の例を示す。
【図１６】ユーザ単語照合ログの例を示す。
【図１７】文字認識結果の例を示す。
【図１８】リトライ判定処理の例を示すフローチャートである。
【図１９】重み値の算出例を示す。
【図２０】第２の文字認識処理の例を示すフローチャートである。
【図２１】照合スコアを調整後の接続評価ネットワークの例である。
【図２２】照合スコアを調整後の最適経路選択の例である。
【発明を実施するための形態】
【０００８】
以下、実施形態を説明する。以下の説明では、「ａａａテーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「ａａａテーブル」を「ａａａ情報」と呼ぶことができる。
【０００９】
さらに、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ＩＤ」という表現を用いることがあるが、これらについてはお互いに置換が可能である。
【００１０】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ（例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ））によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び通信インターフェイスデバイスのうちの少なくとも１つを用いながら行うため、処理の主語が、プロセッサ、そのプロセッサを有する装置とされてもよい。プロセッサが行う処理の一部又は全部が、ハードウェア回路で行われてもよい。コンピュータプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア（例えば可搬型の記憶メディア）であってもよい。
【００１１】
図１は、文字認識装置１０の構成例を示す。
【００１２】
文字認識装置１０は、ハードウェアとして、ＣＰＵ１２、メモリ１４、及びストレージ１６を有してよい。これらの構成要素は、双方向通信可能な内部バス１８で接続されてよい。
【００１３】
ＣＰＵ１２は、メモリ１４に格納されているプログラムを読み出して実行することにより、本実施形態に係る種々の機能を実現する。メモリ１４には、プログラム及びデータが格納される。メモリ１４の例は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気抵抗メモリ、強誘電体メモリ、及び相変化メモリなどである。ストレージ１６には、プログラム及びデータが格納されてよい。ストレージ１６の例は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などである。
【００１４】
文字認識装置１０は、情報として、文字識別辞書４２０、一般単語辞書４００、ユーザ単語辞書１００、品詞間接続コスト辞書４４０、ユーザ単語照合ログ２００、及び文字認識結果３００を有してよい。これらの情報の一部又は全部は、メモリ１４又はストレージ１６に格納されてよい。
【００１５】
文字識別辞書４２０は、画像の文字を識別するために使用される辞書である。
【００１６】
一般単語辞書４００は、一般的に使用される単語が登録されている辞書である。一般単語辞書４００は、単語の品詞の情報も有して良い。一般単語辞書４００は、形態素解析において使用される様々な情報も有して良い。
【００１７】
ユーザ単語辞書１００は、ユーザ固有の単語が登録されている辞書である。ユーザ固有の単語は、所定の技術分野、業界、会社又は組織などで慣用的に使用されている用語（例えば、技術用語又は専門用語など）であってよい。ユーザは、ユーザ単語辞書１００に対して、単語の登録、編集及び削除などが実行できてよい。ユーザ単語辞書１００は、ユーザ単語テーブル１２０及び合成単語テーブル１４０を有してよい。ユーザ単語テーブル１２０には、ユーザ固有の単語が格納される。合成単語テーブル１４０には、ユーザ単語テーブル１２０における単語と当該単語を一部に含む合成単語とを対応付ける情報が格納される。ユーザ単語テーブル１２０及び合成単語テーブル１４０の詳細については後述する（図３参照）。
【００１８】
品詞間接続コスト辞書４４０は、品詞同士の接続可能性の高さを示す情報（「接続コスト」という）が登録されている辞書である。例えば、品詞間接続コスト辞書４４０には、名詞の次に助詞が接続される接続コストや、接続詞の次に名詞が接続される接続コストなどが登録されている。
【００１９】
ユーザ単語照合ログ２００には、ユーザ単語辞書１００と照合された単語候補が文字認識結果３００に採用されたか否かに関する情報が格納される。ユーザ単語照合ログ２００の詳細については後述する（図１６参照）。
【００２０】
文字認識結果３００には、文書画像に対して認識結果として採用された文字列（テキストデータ）が格納される。文字認識結果３００の詳細については後述する（図１７参照）。
【００２１】
文字認識装置１０は、機能として、単語受付部２０、辞書登録部２２、文書画像受付部２４、レイアウト解析部２６、文字特定部２８、単語候補特定部３０、評価部３２、結果出力部３４、リトライ判定部３６、リトライ実行部３８、及び、重み値算出部４０を有してよい。これらの機能は、メモリ１４又はストレージ１６に格納されたプログラムがＣＰＵ１２で実行されることにより、実現されてよい。
【００２２】
単語受付部２０は、ユーザ単語辞書１００に登録する単語の入力を受け付ける。単語受付部２０は、ユーザから単語の入力を受け付けても良いし、登録対象の単語を含むテキストデータを読み込んでもよい。
【００２３】
辞書登録部２２は、単語受付部２０が受け付けた単語（「入力単語」という）を、ユーザ単語辞書１００に登録する。辞書登録部２２は、入力単語の一部に一般単語辞書４００に登録されている単語が含まれている場合、当該入力単語を合成単語として、その一般単語辞書４００に登録されている単語と関連付けて、単語をユーザ単語辞書１００に登録してよい。
【００２４】
文書画像受付部２４は、文字認識対象の文書画像を受け付ける。文書画像は、紙文書をイメージスキャナでスキャンした画像データであっても良いし、紙文書をカメラで撮影した画像データであってもよい。文書画像に含まれる文字は、手書き文字であっても良いし、機器によって出力された文字であっても良い。文書画像に含まれる文字は、日本語に限られず、英語やドイツ語など、外国語であってもよい。
【００２５】
レイアウト解析部２６は、文書画像における文字列のレイアウト構成を解析する。レイアウト構成の例は、縦書き、横書き、及び２段組などである。
【００２６】
文字特定部２８は、文書画像から１以上の文字候補を特定する。文字候補とは、文字画像に含まれている可能性があると特定された文字の１つである。文字画像は、文書画像の１文字と推定される領域が抽出されたものであってよい。１つの文字画像からは、複数の文字候補が特定されてよい。
【００２７】
単語候補特定部３０は、文字特定部２８によって特定された１以上の文字候補の組み合わせに対して、一般単語辞書４００及びユーザ単語辞書１００を照合し、１以上の単語候補を特定する。また、単語候補特定部３０は、その特定した１以上の単語候補のそれぞれに照合スコアを付与する。照合スコアとは、単語候補が認識結果として採用される可能性の高さを示すスコアである。照合スコアの高い単語候補ほど、認識結果として採用されやすくなる。
【００２８】
評価部３２は、各単語候補の照合スコアや、単語候補同士の品詞間の接続コストなどに基づいて、認識結果として採用する単語候補の組み合わせを決定する。
【００２９】
結果出力部３４は、認識結果として採用された単語候補の組み合わせを、文字認識結果３００に出力する。また、結果出力部３４は、ユーザ単語辞書１００から参照された単語候補が認識結果として採用されたか否かに関する情報を、ユーザ単語照合ログ２００に出力する。
【００３０】
リトライ判定部３６は、ユーザ単語照合ログ２００に格納された単語候補（すなわち、ユーザ単語候補２１２）のそれぞれについて、所定の条件に基づいて、文字認識のリトライ対象とするか否かを判定する。所定の条件に適合する場合とは（つまり、リトライ対象と判定される場合とは）、ユーザ単語候補２１２がユーザ単語辞書に登録されている合成単語の一部（つまり、分割単語）である場合であってもよいし、それに加えて、その合成単語が認識結果として採用されている場合であってもよい。
【００３１】
重み値算出部４０は、リトライ判定部３６においてリトライ対象と判定されたユーザ単語候補２１２の参照スコアに対する重み値を算出する。重み値は、参照スコアの調整量に関連する値であってよい。参照スコアは、重み値が大きくなるほど、大きくなるように調整されてよい。
【００３２】
リトライ実行部３８は、リトライ判定部３６においてリトライ対象と判定されたユーザ単語候補２１２の参照スコアを、重み値算出部４０によって算出された重み値を用いて調整する。典型的には、このユーザ単語候補２１２の参照スコアは、重み値によって大きくなってよい。
【００３３】
リトライ判定部３６、重み値算出部４０、及びリトライ実行部３８をまとめて、スコア調整部と呼んでもよい。なお、後述においても、上記の各部の更なる機能を説明している。
【００３４】
図２は、ユーザ単語辞書１００に単語を登録する処理の例を示すフローチャートである。
【００３５】
（Ｓ１０）単語受付部２０は、ユーザ単語辞書１００に登録する単語の入力を受け付ける。単語は、所定の分野、企業、業界又は組織などで慣用的に使用されている用語（専門用語、技術用語、業界用語、社内用語など）であってよい。単語は、ユーザによって手動で入力されてもよいし、所定のテキスト文書から自動的に入力されてもよい。
【００３６】
（Ｓ１２）辞書登録部２２は、Ｓ１０で入力された単語（「入力単語」という）を、ユーザ単語辞書１００に登録する。
【００３７】
（Ｓ１４）辞書登録部２２は、一般単語辞書４００を参照し、入力単語の一部に一般単語辞書４００に登録されている一般単語が１以上含まれているか否かを判定する。辞書登録部２２は、当該判定が否定的な場合（Ｓ１４：ＮＯ）、本処理を終了する。すなわち、この入力単語は、一般単語を一部に含む（一般単語の組み合わせからなる）合成単語ではないと判断する、当該判定が肯定的な場合（Ｓ１４：ＹＥＳ）、Ｓ１６へ進む。
【００３８】
（Ｓ１６）辞書登録部２２は、入力単語に含まれる１以上の一般単語とそれ以外の１以上の単語とに分割し、品詞間接続コスト辞書４４０を参照して、その分割した単語間に品詞間接続コストを付与する。分割された単語のそれぞれは「分割単語」と呼ばれてよい。入力単語に対する分割単語の組み合わせパターンは、複数存在する場合もある。この場合、辞書登録部２２は、パターンのそれぞれに対して品詞間接続コストを付与する。１つのパターンを構成する分割単語の組み合わせは「経路」と呼ばれて良い。
【００３９】
（Ｓ１８）辞書登録部２２は、各経路の中から最適経路を選択する。最適経路は、経路上の品詞間接続コストの合計が最大となる経路であってよい。
【００４０】
（Ｓ２０）辞書登録部２２は、入力単語と、最適経路を構成する各分割単語とを関連付けて、ユーザ単語辞書１００に登録する。この場合の入力単語は、合成単語である。すなわち、合成単語は、分割単語の組み合わせから構成される単語であってよい。
【００４１】
図３は、ユーザ単語辞書１００の構成例を示す。
【００４２】
ユーザ単語辞書１００は、ユーザ固有の単語を管理すると共に、分割単語及び合成単語の関係を管理する。ユーザ単語辞書１００は、ユーザ単語テーブル１２０と、合成単語テーブル１４０とを有してよい。
【００４３】
ユーザ単語テーブル１２０は、データ項目値として、第１ＩＤ１２２、単語１２４、品詞１２６、合成単語数１２８、及び参照第２ＩＤ１３０を有してよい。
【００４４】
第１ＩＤ１２２は、ユーザ単語テーブル１２０のレコードの識別子である。
【００４５】
単語１２４は、ユーザ単語テーブル１２０に登録されているユーザ固有の単語である。
【００４６】
品詞１２６は、単語１２４の品詞情報である。
【００４７】
合成単語数１２８は、単語１２４を含む合成単語の数である。例えば、ユーザ単語テーブル１２０に、単語１２４「ブレーキ」を含む合成単語が、「ブレーキドラム」、「ブレーキレバー」及び「マグネットブレーキ」の３つ存在する場合、単語１２４「ブレーキ」の合成単語数１２８は「３」となる。合成単語数１２８「０」の単語１２４は、何れの合成単語にも含まれていないことを示す。したがって、合成単語数１２８が１以上の単語１２４は、分割単語であるといえる。
【００４８】
参照第２ＩＤ１３０は、第１ＩＤ１２２と対応付けられている、合成単語テーブル１４０の第２ＩＤ１４２である。
【００４９】
合成単語テーブル１４０は、データ項目値として、第２ＩＤ１４２、及び参照第１ＩＤ１４４を有してよい。
【００５０】
第２ＩＤ１４２は、合成単語テーブル１４０のレコードの識別子である。
【００５１】
参照第１ＩＤ１４４は、第２ＩＤ１４２と対応付けられている、ユーザ単語テーブル１２０１２０の第１ＩＤ１２２である。
【００５２】
以下、単語受付部２０が、入力単語「ブレーキドラム」を受領した場合の処理の一例を、図２も参照しながら説明する。
【００５３】
辞書登録部２２は、Ｓ１２において、入力単語「ブレーキドラム」を、例えば、ユーザ単語テーブル１２０の第１ＩＤ１２２「５」に対応する単語１２４に登録する。
【００５４】
そして、辞書登録部２２は、Ｓ１４〜Ｓ１８において、「ブレーキドラム」から、一般単語「ブレーキ」と「ドラム」を抽出する。
【００５５】
そして、辞書登録部２２は、それら抽出した一般単語「ブレーキ」と「ドラム」を、分割単語としてユーザ単語テーブル１２０１２０に登録すると共に、「ブレーキドラム」を合成単語として当該分割単語と関連付ける。関連付けは、例えば、次のように行われる。
【００５６】
辞書登録部２２は、例えば、合成単語テーブル１４０の第２ＩＤ１４２「２」に対応する参照第１ＩＤ１４４に、ユーザ単語テーブル１２０の単語１２４「ブレーキドラム」に対応する第１ＩＤ１２２「５」を登録する。そして、辞書登録部２２は、ユーザ単語テーブル１２０において、単語１２４「ドラム」に対応する参照第２ＩＤ１３０に、上述の合成単語テーブル１４０の第２ＩＤ１４２「２」を登録する。
【００５７】
同様に、辞書登録部２２は、例えば、合成単語テーブル１４０の第２ＩＤ１４２「３」に対応する参照第１ＩＤ１４４に、ユーザ単語テーブル１２０の単語１２４「ブレーキドラム」に対応する第１ＩＤ１２２「５」を登録する。そして、辞書登録部２２は、ユーザ単語テーブル１２０において、単語１２４「ブレーキ」に対応する参照第２ＩＤ１３０に、上述の合成単語テーブル１４０の第２ＩＤ１４２「３」を登録する。
【００５８】
以上の処理によれば、ユーザ単語辞書１００において、単語１２４が分割単語であるか否か、及び、分割単語が何れの合成単語から派生したものであるかを管理することができる。
【００５９】
ユーザ単語辞書１００に登録された単語を上記のように分割する理由は、専門用語は、複数の単語の組み合わせである場合が多いからである。
【００６０】
図４は、文書画像の文字を認識する処理の概要を示すフローチャートである。
【００６１】
（Ｓ２０）文字認識装置１０は、第１の文字認識処理を実行する。この処理については、図５で説明する。
【００６２】
（Ｓ２２）文字認識装置１０は、リトライ判定処理を実行する。この処理については、図１８で説明する。
【００６３】
（Ｓ２４）文字認識装置１０は、重み値算出処理を実行する。この処理については、図１９で説明する。
【００６４】
（Ｓ２６）文字認識装置１０は、第２の文字認識処理を実行する。この処理については、図２０で説明する。
【００６５】
以上の処理により、文書画像に含まれる文字がテキストデータとして認識及び出力される。
【００６６】
図５は、第１の文字認識処理の例を示すフローチャートある。この処理は、図４のＳ２０の処理に相当する。
【００６７】
（Ｓ４０）文書画像受付部２４は、処理対象の文書画像１０００（図６参照）の入力を受け付ける。文書画像は、１つであっても良いし、複数であってもよい。
【００６８】
（Ｓ４２）レイアウト解析部２６は、Ｓ４０で取得した文書画像１０００に含まれる文書のレイアウト構造を解析する。
【００６９】
（Ｓ４４）文字特定部２８は、Ｓ４２で解析した文書のレイアウト構造に基づいて、図６の例に示すように、文書画像１０００から、文字列の部分の画像（「文字列画像」という）１００２Ａ、１００２Ｂを抽出する。そして、文字特定部２８は、それら抽出した文字列画像１００２Ａ、１００２Ｂの中から、図７の例に示すように、文字抽出の対象とする文字列画像１００２Ｂを選択する。以下のＳ４６〜Ｓ５８の処理は、この選択した１つの文字列画像１００２Ｂに対する処理である。したがって、文書画像の全体について文字認識を行うには、文書画像から抽出された全ての文字列画像について、以下のＳ４６〜Ｓ５８の処理を実行する必要がある。
【００７０】
（Ｓ４６）文字特定部２８は、文字列画像１００２Ｂから、図８の例に示すように、１文字と推測される画像（つまり、文字画像）１００４を切り出す。
【００７１】
（Ｓ４８）文字特定部２８は、文字識別辞書４２０に基づいて、Ｓ４６で切り出した各文字画像１００４に、１以上の文字候補１２００を対応付ける。文字特定部２８は、図９の例に示すように、各文字候補１２００の文字スコア１２０２を算出してよい。文字スコア１２０２は、その文字候補１２００が採用される可能性の高さを示す値である。例えば、文字特定部２８は、図９の文字画像１００４について、文字候補１２００「ク」の文字スコア１２０２を「０．７３」、文字候補１２００「チ」の文字スコア１２０２を「０．７１」、文字候補１２００「ヂ」の文字スコア１２０２を「０．６９」、文字候補１２００「タ」の文字スコア１２０２を「０．６８」と算出してよい。
【００７２】
（Ｓ５０）単語候補特定部３０は、Ｓ４８で文字列画像１００２Ｂの各文字画像１００４に対応付けられた複数の文字候補１２００の組み合わせから、一般単語辞書４００に基づいて１以上の単語候補１２１０（図１１参照）を特定する。文字画像１００４は必ずしも１文字が正しく切り出されているとは限らない。したがって、単語候補特定部３０は、図１０のように、文字の切り出し方の曖昧性を許容した文字候補のネットワーク（組み合わせパターン）を一般単語辞書４００と照合することにより、単語候補１２１０を特定してもよい。図１１は、単語候補特定部３０が、文字列画像１００２に含まれる文字候補の組み合わせ部分１００６を一般単語辞書４００と照合することにより、「ッ」、「ブチ」、「ブタ」、「チ」、「クラ」、「クラブ」、「クラック」、「ラブ」の単語候補１２１０を特定した例である。また、単語候補特定部３０は、各単語候補１２１０の照合スコアを算出してよい。照合スコアは、その単語候補が採用される可能性の高さを示す値である。例えば、単語候補特定部３０は、図１１のように、単語候補１２１０「クラック」の照合スコアを「３．３１」と算出してよい。
【００７３】
（Ｓ５２）単語候補特定部３０は、Ｓ４８で文字列画像１００２Ｂの各文字画像１００４に対応付けられた複数の文字候補１２００の組み合わせから、ユーザ単語辞書１００に基づいて１以上の単語候補を特定する。この処理は、照合する辞書が異なる以外、上記Ｓ５０と同様の処理であってよい。図１２は、単語候補特定部３０が、文字列画像１００２に含まれる文字候補の組み合わせ部分１００６を、ユーザ単語辞書１００と照合することにより、「クラッチ」の単語候補１２１０を特定した例である。また、単語候補特定部３０は、図１２に示すように、単語候補１２１０「クラッチ」の参照スコアを「３．２９」と算出してよい。
【００７４】
（Ｓ５４）評価部３２は、Ｓ５０及びＳ５２で特定した複数の単語候補１２１０を組み合わせて、単語候補のネットワーク（単語候補の組み合わせのパターン）を作成する。図１３は、単語候補特定部３０が、文字候補の組み合わせ部分１００６について、「クラ・ブチ」、「クラ・ッ・チ」、「クラブ・チ」、「クラック」、「クラッチ」の単語候補のネットワーク１３００を作成した例である。そして、評価部３２は、品詞間接続コスト辞書４４０を参照し、その作成した単語候補のネットワーク１３００に接続コストを付与し、接続評価のネットワークを作成する。接続コストは、単語候補の品詞同士が接続する可能性の高さを示す値である。例えば、評価部３２は、図１４に示すように、接続詞である「ならびに」と名詞である「クラック」との間に、接続詞の次に名詞が接続される接続コストを付与したり、名詞である「クラッチ」と助詞である「が」との間に、名詞の次に助詞が接続される接続コストを付与したりする。
【００７５】
（Ｓ５６）評価部３２は、Ｓ５４で作成した接続評価のネットワーク１４００から、図１５の例に示すように、最適経路を選択する。評価部３２は、単語候補１２１０の照合スコアと単語候補１２１０の間の接続コストの合計が最大となる経路を、最適経路として選択してよい。図１５の接続評価のネットワーク１４００では、単語候補１２１０「クラック」の照合スコア「３．３１」が、単語候補１２１０「クラッチ」の照合スコア「３．２９」よりも大きいので、評価部３２は、「ならびに・クラック・が」を最適経路に選択している。
【００７６】
（Ｓ５８）結果出力部３４は、Ｓ５６で選択した最適経路に基づいて、ユーザ単語照合ログ２００（図１６参照）と文字認識結果３００（図１７参照）とを出力する。
【００７７】
図１６は、ユーザ単語照合ログ２００の構成例を示す。
【００７８】
ユーザ単語照合ログ２００には、ユーザ単語辞書１００と照合された単語候補が文字認識結果３００に採用されたか否かに関する情報が格納される。ユーザ単語照合ログ２００は、結果出力部３４によって出力されてよい。
【００７９】
ユーザ単語照合ログ２００は、データ項目値として、ＩＤ２０２、全体行番号２０４、ページ番号２０６、行番号２０８、単語座標２１０、ユーザ単語候補２１２、照合スコア２１４、参照第１ＩＤ２１６、及び、採用有無２１８を有してよい。
【００８０】
ＩＤ２０２は、ユーザ単語照合ログ２００のレコードの識別子である。
【００８１】
全体行番号２０４は、全ての文書画像に含まれる行のうちの、ユーザ単語候補２１２が照合された行の番号である。
【００８２】
ページ番号２０６は、全ての文書画像のうちの、ユーザ単語候補２１２が照合された文書画像のページ番号である。
【００８３】
行番号２０８は、ページ番号２０６の文書画像に含まれる行のうちの、ユーザ単語候補２１２が照合された行の番号である。
【００８４】
単語座標２１０は、ページ番号２０６の文書画像においてユーザ単語候補２１２が照合された座標である。単語座標２１０は、ユーザ単語候補２１２を含む矩形領域の左上の座標（左２２０及び上２２１）と右下の座標（右２２２及び下２２３）とによって構成されてよい。
【００８５】
ユーザ単語候補２１２は、全体行番号２０４によって特定される位置（ページ番号２０６と単語座標２１０によって特定される位置、又は、ページ番号２０６と行番号２０８によって特定される位置）において、ユーザ単語辞書１００によって照合された単語候補である。
【００８６】
照合スコア２１４は、ユーザ単語候補２１２の照合スコアである。
【００８７】
参照第１ＩＤ２１６は、ユーザ単語テーブル１２０において、ユーザ単語候補２１２が照合された単語１２４のレコードの第１ＩＤ１２２である。
【００８８】
採用有無２１８は、ユーザ単語候補２１２が認識結果として採用されたか否かを示す情報（フラグ）である。図１６の例では、「○」は採用されたこと、「×」は採用されなかったことを示す。
【００８９】
図１７は、文字認識結果３００の構成例を示す。
【００９０】
文字認識結果３００には、文字列画像１００２に対して採用された文字列（「採用文字列」という）のテキストデータが格納される。採用文字列は、評価部３２が最適経路として選択した単語候補の組み合わせであってよい。文字認識結果３００は、結果出力部３４によって出力されてよい。
【００９１】
文字認識結果３００は、データ項目値として、ＩＤ３０２、ページ番号３０４、行番号３０６、採用文字列３０８、単語座標３１０を有してよい。
【００９２】
ＩＤ３０２は、文字認識結果３００のレコードの識別子である。
【００９３】
ページ番号３０４は、全ての文書画像のうちの、採用文字列３０８が位置する文書画像のページ番号である。
【００９４】
行番号３０６は、ページ番号３０４の文書画像に含まれる行のうちの、採用文字列３０８が位置する行の番号である。
【００９５】
採用文字列３０８は、ページ番号３０４と行番号３０６によって特定される位置において、採用された文字列のテキストデータである。
【００９６】
単語座標３１０は、ページ番号３０４の文書画像において採用文字列３０８が位置する座標である。単語座標３１０は、図１６のユーザ単語照合ログ２００２００の単語座標２１０と同様、採用文字列３０８を含む矩形領域の左上の座標（左３２０及び上３２２）と右下の座標（右３２４及び下３２６）とによって構成されてよい。
【００９７】
図１８は、リトライ判定処理の例を示すフローチャートである。この処理は、図４のＳ２２の処理に相当する。
【００９８】
リトライ判定部３６は、ユーザ単語照合ログ２００の各ユーザ単語候補２１２に対して、次のリトライ判定処理を実行してよい。
【００９９】
（Ｓ７０）リトライ判定部３６は、ユーザ単語照合ログ２００のユーザ単語候補２１２が、分割単語であるか否かを判定する。例えば、リトライ判定部３６は、ユーザ単語候補ログ２００のユーザ単語候補２１２に対応する参照第１ＩＤ２１６を参照し、ユーザ単語テーブルのその参照第１ＩＤ２１６と適合する第１ＩＤ１２２の合成単語数１２８を参照する。そして、リトライ判定部３６は、その合成単語数１２８が「０」の場合、分割単語でないと判定し、合成単語数１２８が「０より大きい」場合、分割単語と判定してよい。
【０１００】
リトライ判定部３６は、ユーザ単語候補２１２が分割単語であると判定した場合（Ｓ７０：ＹＥＳ）、Ｓ７２へ進み、分割単語でないと判定した場合（Ｓ７０：ＮＯ）、このユーザ単語候補２１２のリトライフラグを「偽」として（Ｓ８２）、本処理を終了する。
【０１０１】
（Ｓ７２）リトライ判定部３６は、ユーザ単語候補２１２が、文字認識結果３００として採用されているか否かを判定する。例えば、リトライ判定部３６は、ユーザ単語照合ログ２００のユーザ単語候補２１２に対応する採用有無２１８を参照して、当該判定を行う。
【０１０２】
リトライ判定部３６は、ユーザ単語候補２１２が採用されていない場合（Ｓ７２：ＮＯ）、Ｓ７４へ進み、採用されている場合（Ｓ７２：ＹＥＳ）、このユーザ単語候補２１２のリトライフラグを「偽」として（Ｓ８２）、本処理を終了する。
【０１０３】
（Ｓ７４）リトライ判定部３６は、ユーザ単語候補２１２（つまり分割単語）を含む合成単語のうち、文字認識結果３００として採用されている合成単語が存在するか否かを判定する。例えば、リトライ判定部３６は、ユーザ単語テーブル１２０及び合成単語テーブル１４０を参照し、このユーザ単語候補２１２を含む合成単語を特定する。そして、リトライ判定部３６は、ユーザ単語照合ログ２００から、その特定した合成単語と適合するユーザ単語候補２１２を有するレコードを特定する。そして、リトライ判定部３６は、それら特定したレコードの少なくとも１つの採用有無２１８が「○」の場合（Ｓ７４：ＹＥＳ）、Ｓ７６へ進み、それら特定したレコードの全ての採用有無２１８が「×」の場合（Ｓ７４：ＮＯ）、このユーザ単語候補２１２のリトライフラグを「偽」として（Ｓ８２）、本処理を終了する。
【０１０４】
（Ｓ７６）リトライ判定部３６は、ユーザ単語候補２１２に係る単語座標３１０と、Ｓ７４に係る採用有無２１８が「○」の合成単語の単語座標２１０とが適合するか否かを判定する。リトライ判定部３６は、ユーザ単語候補２１２の単語座標３１０と合成単語の単語座標２１０とが適合しない場合（Ｓ７６：ＮＯ）、このユーザ単語候補２１２のリトライフラグを「真」として、本処理を終了する。リトライ判定部３６は、ユーザ単語候補２１２の単語座標３１０と合成単語の単語座標２１０とが適合する場合（Ｓ７６：ＹＥＳ）、このユーザ単語候補２１２のリトライフラグを「偽」として、本処理を終了し、
【０１０５】
すなわち、リトライフラグが「真」となる場合とは、ユーザ単語候補２１２が文字認識結果３００として採用されており、且つ、このユーザ単語候補２１２を分割単語として含む合成単語が別の単語座標において文字認識結果３００として採用されている場合である。このリトライフラグが「真」となったユーザ単語候補を「リトライ分割単語」と呼び、このリトライ分割単語を含む別の単語座標において文字認識結果３００として採用されている合成単語を「リトライ参照合成単語」を呼んでもよい。
【０１０６】
図１９は、重み値の算出例を説明する図である。以下、図１９を参照しながら、図４のＳ２４の処理を説明する。
【０１０７】
重み値算出部４０は、リトライ分割単語とリトライ参照合成単語との位置関係に基づいて、リトライ分割単語の参照スコアに付与する重み値１１００を算出する。位置関係は、例えば、２つの単語座標間の距離、又は、２つの単語間の行数などであってよい。
【０１０８】
重み値算出部４０は、重み値１１００を、リトライ分割単語とリトライ参照合成単語の位置関係が近くなるほど、大きくなるように算出してよい。
【０１０９】
重み値１１００の位置関係に対する変化の割合は、リトライ参照合成単語がリトライ分割単語よりも前に位置する場合と、リトライ参照合成単語がリトライ分割単語よりも後に位置する場合とで異なってよい。例えば、図１９に示すように、リトライ参照合成単語がリトライ分割単語よりも後に位置する場合の重み値１１００の位置関係に対する変化の割合は、リトライ参照合成単語がリトライ分割単語よりも前に位置する場合の重み値１１００の位置関係に対する変化の割合よりも、大きくてよい。
【０１１０】
重み値を上記のように算出する理由は、技術文書の場合、合成単語とその合成単語から派生した分割単語とが近くに記載される場合が多いからである。すなわち、上述のように、ユーザ単語辞書１００から特定された単語候補のうち、所定の条件に適合する単語候補の参照スコアに対して適切に重み付けを行うことにより、一般単語辞書４００から特定された単語候補とユーザ単語辞書１００から特定された単語候補との何れを採用すべきか判断が難しい場合に、より高い確率で正しい方を選択することができるようになる。
【０１１１】
図２０は、第２の文字認識処理の例を示すフローチャートである。本処理は、図４のＳ２６の処理の詳細に相当する。
【０１１２】
（Ｓ１００）文書画像受付部２４は、図５のＳ４０と同じ文書画像を取得する。
【０１１３】
（Ｓ１０２）リトライ実行部３８は、Ｓ１００で取得した文書画像から、リトライフラグが「真」のユーザ単語候補（つまり、リトライ分割単語）を含む文字列画像を抽出する。この抽出した文字行画像を「リトライ文字列画像」と呼ぶ。
【０１１４】
（Ｓ１０４）文字特定部２８は、リトライ文字列画像から、Ｓ４６と同様に、文字画像１００４を切り出す。
【０１１５】
（Ｓ１０６）文字特定部２８は、Ｓ４８と同様に、Ｓ１０４で切り出した各文字画像１００４に、文字識別辞書４２０に基づいて１以上の文字候補１２００を対応付ける。
【０１１６】
（Ｓ１０８）単語候補特定部３０は、Ｓ５０と同様に、Ｓ１０６でリトライ文字列画像の各文字画像１００４に対応付けられた複数の文字候補１２００の組み合わせから、一般単語辞書４００に基づいて１以上の単語候補１２１０を特定する。
【０１１７】
（Ｓ１１０）単語候補特定部３０は、Ｓ５２と同様に、Ｓ１０６でリトライ文字列画像の各文字画像１００４に対応付けられた複数の文字候補１２００の組み合わせから、ユーザ単語辞書１００に基づいて１以上の単語候補１２１０を特定する。
【０１１８】
（Ｓ１１２）評価部３２は、Ｓ５４と同様に、Ｓ１０８及びＳ１１０で特定した複数の単語候補１２１０を組み合わせて、候補単語のネットワーク１３００を作成する。そして、評価部３２は、品詞間接続コスト辞書４４０を参照し、その作成した単語候補のネットワーク１３００に接続コストを付与し、接続評価のネットワークを作成する。
【０１１９】
（Ｓ１１４）リトライ実行部３８は、Ｓ１１２で作成した接続評価のネットワークを、重み値算出部４０によって算出された重み値を用いて調整する。図２１は、図１４の接続評価のネットワーク１４０２を、重み値を用いて調整した後の接続評価のネットワーク１４０２の例である。ユーザ単語辞書１００によって特定された単語候補１２１０「クラッチ」の照合スコアが、図１４では「３．２９」であったものが、重み値を付与することで、図２１では「３．４５」に大きくなっている。
【０１２０】
（Ｓ１１６）評価部３２は、Ｓ１１４で調整された接続評価のネットワーク１４０２から、図２２の例に示すように、最適経路を選択する。図２２の接続評価のネットワーク１４０２では、Ｓ１１４の調整により、単語候補１２１０「クラッチ」の照合スコア「３．４５」が、単語候補１２１０「クラック」の照合スコア「３．３１」よりも大きくなっているので、評価部３２は、「ならびに・クラッチ・が」を最適経路に選択している。すなわち、ユーザ単語辞書１００に登録されている「クラッチ」が適切に採用されている。
【０１２１】
（Ｓ１１８）結果出力部３４は、Ｓ１１６で選択した最適経路に基づいて、文字認識結果３００を修正する。本実施形態の場合、第１の文字認識処理では「ならびに・クラック・が」と認識されていたものが、第２の文字認識処理で「ならびに・クラッチ・が」に修正される。
【０１２２】
以上の処理によれば、ユーザ単語辞書に登録されている単語及びその単語から派生した分割単語が適切に採用されるので、専門用語など、ユーザ固有の用語を含む文書画像の文字認識精度を高めることができる。
【０１２３】
上述した実施形態は、本発明の説明のための例示であり、本発明の範囲を実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【符号の説明】
【０１２４】
１０：文字認識装置  ２０：単語受付部  ２２：辞書登録部  ２４：文書画像受付部  ２６：レイアウト解析部  ２８：文字特定部  ３０：単語候補特定部  ３２：評価部  ３４：結果出力部  ３６：リトライ判定部  ３８：リトライ実行部  ４０：重み値算出部  １００：ユーザ単語辞書  ２００：ユーザ単語照合ログ  ３００：文字認識結果  ４００：一般単語辞書
【図１】
2018041329.tif 000003
【図２】
2018041329.tif 000004
【図３】
2018041329.tif 000005
【図４】
2018041329.tif 000006
【図５】
2018041329.tif 000007
【図６】
2018041329.tif 000008
【図７】
2018041329.tif 000009
【図８】
2018041329.tif 000010
【図９】
2018041329.tif 000011
【図１０】
2018041329.tif 000012
【図１１】
2018041329.tif 000013
【図１２】
2018041329.tif 000014
【図１３】
2018041329.tif 000015
【図１４】
2018041329.tif 000016
【図１５】
2018041329.tif 000017
【図１６】
2018041329.tif 000018
【図１７】
2018041329.tif 000019
【図１８】
2018041329.tif 000020
【図１９】
2018041329.tif 000021
【図２０】
2018041329.tif 000022
【図２１】
2018041329.tif 000023
【図２２】
2018041329.tif 000024