入力装置と、前記入力装置に接続されたプロセッサと、前記プロセッサに接続された記憶装置と、前記プロセッサに接続された出力装置と、を備える文書処理装置であって、前記記憶装置は、活字文字の特徴量を示す情報を含む活字文字認識用辞書及び手書き文字の特徴量を示す情報を含む手書き文字認識用辞書を保持し、前記プロセッサは、前記入力装置を介して入力された手書き文字列及び活字文字列を含む画像データを取得し、前記活字文字認識用辞書を用いて前記活字文字列を認識し、前記活字文字列の認識結果として取得した文字列を文字列パターン辞書として前記記憶装置に格納し、前記手書き文字認識用辞書及び前記文字列パターン辞書を用いて前記手書き文字列を認識し、前記出力装置を介して前記手書き文字列の認識結果を出力することを特徴とする文書処理装置。前記プロセッサは、前記手書き文字認識用辞書に基づいて、前記手書き文字列の認識結果の候補として複数の文字列を生成し、前記生成された複数の文字列から、前記文字列パターン辞書に含まれる文字列を検索し、前記検索によって取得した文字列を、前記手書き文字列の認識結果として取得することを特徴とする請求項1に記載の文書処理装置。前記記憶装置は、予め、複数の文字、前記複数の文字間の接続、及び前記接続の起こりやすさを示すスコアを含む前記文字列パターン辞書を保持し、前記プロセッサは、前記活字文字列の認識結果として取得した文字列を前記文字列パターン辞書に追加することを特徴とする請求項1又は2に記載の文書処理装置。前記プロセッサは、前記活字文字列の認識結果として取得した文字列及びその文字列に含まれる文字間の接続が既に前記文字列パターン辞書に登録されている場合、前記登録されている文字間の接続に関する前記スコアの値を増加させ、前記活字文字列の認識結果として取得した文字列及びその文字列に含まれる文字間の接続が前記文字列パターン辞書に登録されていない場合、前記活字文字列の認識結果として取得した文字列に含まれる文字、それらの文字間の接続及びその接続の起こりやすさを示すスコアを新たに前記文字列パターン辞書に登録することによって、前記活字文字列の認識結果として取得した文字列を前記文字列パターン辞書に追加することを特徴とする請求項3に記載の文書処理装置。前記記憶装置は、同一と判定される複数の文字又は文字列を対応付ける置換辞書をさらに保持し、前記プロセッサは、前記置換辞書に基づいて、前記活字文字列の認識結果として取得した文字列に含まれる文字又は文字列を、それと同一と判定される文字又は文字列に置き換えた文字列を生成し、前記生成された文字列を前記文字列パターン辞書として前記記憶装置に格納することを特徴とする請求項1から4のいずれか一つに記載の文書処理装置。入力装置と、前記入力装置に接続されたプロセッサと、前記プロセッサに接続された記憶装置と、前記プロセッサに接続された出力装置と、を備える装置が実行する文書処理方法であって、前記記憶装置は、活字文字の特徴量を示す情報を含む活字文字認識用辞書及び手書き文字の特徴量を示す情報を含む手書き文字認識用辞書を保持し、前記文書処理方法は、前記プロセッサが、前記入力装置を介して入力された手書き文字列及び活字文字列を含む画像データを取得する第1手順と、前記プロセッサが、前記活字文字認識用辞書を用いて前記活字文字列を認識する第2手順と、前記プロセッサが、前記活字文字列の認識結果として取得した文字列を文字列パターン辞書として前記記憶装置に格納する第3手順と、前記プロセッサが、前記手書き文字認識用辞書及び前記文字列パターン辞書を用いて前記手書き文字列を認識する第4手順と、前記プロセッサが、前記出力装置を介して前記手書き文字列の認識結果を出力する第5手順と、を含むことを特徴とする文書処理方法。前記第4手順は、前記プロセッサが、前記手書き文字認識用辞書に基づいて、前記手書き文字列の認識結果の候補として複数の文字列を生成する手順と、前記プロセッサが、前記生成された複数の文字列から、前記文字列パターン辞書に含まれる文字列を検索する手順と、前記プロセッサが、前記検索によって取得した文字列を、前記手書き文字列の認識結果として取得する手順と、を含むことを特徴とする請求項6に記載の文書処理方法。前記記憶装置は、予め、複数の文字、前記複数の文字間の接続、及び前記接続の起こりやすさを示すスコアを含む前記文字列パターン辞書を保持し、前記第3手順は、前記プロセッサが、前記活字文字列の認識結果として取得した文字列を前記文字列パターン辞書に追加する第6手順を含むことを特徴とする請求項6又は7に記載の文書処理方法。前記第6手順は、前記活字文字列の認識結果として取得した文字列及びその文字列に含まれる文字間の接続が既に前記文字列パターン辞書に登録されている場合、前記プロセッサが、前記登録されている文字間の接続に関する前記スコアの値を増加させ、前記活字文字列の認識結果として取得した文字列及びその文字列に含まれる文字間の接続が前記文字列パターン辞書に登録されていない場合、前記プロセッサが、前記活字文字列の認識結果として取得した文字列に含まれる文字、それらの文字間の接続及びその接続の起こりやすさを示すスコアを新たに前記文字列パターン辞書に登録する手順を含むことを特徴とする請求項8に記載の文書処理方法。前記記憶装置は、同一と判定される複数の文字又は文字列を対応付ける置換辞書をさらに保持し、前記文書処理方法は、さらに、前記プロセッサが、前記置換辞書に基づいて、前記活字文字列の認識結果として取得した文字列に含まれる文字又は文字列を、それと同一と判定される文字又は文字列に置き換えた文字列を生成する手順を含み、前記第3手順は、前記生成された文字列を前記文字列パターン辞書として前記記憶装置に格納する手順を含むことを特徴とする請求項6から9のいずれか一つに記載の文書処理方法。文字認識技術には種々の用途があるが、その一例として、官庁又は企業等における窓口業務が挙げられる。例えば、申請者が手書きした種々の申請書類を自動的に文字データに変換することによって、窓口業務を効率化することができる。しかし、活字文字の認識精度と比較すると、手書き文字の認識精度が著しく低いことが従来の文字認識技術の問題であった。また、一般に窓口では種々の書類が処理されるが、書類の種類ごとにフォーマットが異なる場合、読み取るべき手書き文字が書かれている位置も種類ごとに異なり、このことが原因で手書き文字の認識に失敗する場合もある。さらに、このような申請書類を受け付ける際に、申請者の本人確認が要求される場合がある。例えば、申請者が手書きした申請書類と、申請者が持参した本人確認書類例えば自動車運転免許証等とが照合され、両者の記載内容が一致すると判定された場合に申請書類が受理される。このような照合作業も文字認識技術を用いて自動化することができれば、窓口業務が大幅に効率化されるとともに、窓口のオペレータによる不正な処理も防止することができる。しかし、このような本人確認を自動化する場合、上記のような手書き文字の認識精度の問題に加えて、文字の種類の相違が原因で本人確認に失敗するという問題がある。本人確認書類に記載された活字文字は、その書類を作成したシステムにおいて使用できるものに限定される。このため、本人確認書類に記載された活字文字の字体が、申請者が手書きした文字の字体と異なる場合がある。このような相違は、典型的には漢字の異体字が使用される場合に発生するが、その他の場合にも発生し得る。例えば、本人確認書類がパスポートであり、申請書類には漢字の記入が要求される場合、漢字の手書き文字とローマ字の活字文字とが照合される。これらの場合には、文字認識そのものが成功したとしても、本人確認は失敗することになる。本発明は上記のような問題点に鑑みてなされたものであり、文字認識の精度を改善するとともに、文字の種類の相違に起因する本人確認の失敗を防止することを目的とする。本発明の代表的な一例を示せば次の通りである。すなわち、入力装置と、前記入力装置に接続されたプロセッサと、前記プロセッサに接続された記憶装置と、前記プロセッサに接続された出力装置と、を備える文書処理装置であって、前記記憶装置は、活字文字の特徴量を示す情報を含む活字文字認識用辞書及び手書き文字の特徴量を示す情報を含む手書き文字認識用辞書を保持し、前記プロセッサは、前記入力装置を介して入力された手書き文字列及び活字文字列を含む画像データを取得し、前記活字文字認識用辞書を用いて前記活字文字列を認識し、前記活字文字列の認識結果として取得した文字列を文字列パターン辞書として前記記憶装置に格納し、前記手書き文字認識用辞書及び前記文字列パターン辞書を用いて前記手書き文字列を認識し、前記出力装置を介して前記手書き文字列の認識結果を出力することを特徴とする。本発明の一実施形態によれば、手書き文字の認識精度を改善することができる。以下、図面を用いて本発明の実施の形態を説明する。図1は、本発明の実施形態の窓口受付システムの構成を示すブロック図である。本実施形態の窓口受付システム10は、窓口業務を支援するために、文字認識を利用して文書処理を行う計算機であり、例えば、入力装置11、表示装置12、CPUCentralProcessingUnit13、印刷装置14、ワークエリア15及び情報保持手段16を備える。入力装置11は、入力装置110及び画像入力装置111を含む。入力装置110は、ユーザによる指示等の入力を受け付ける装置であり、例えばキーボード、マウス又はタッチパネル等であってもよい。画像入力装置111は、手書き文字及び活字文字等が記載された書面を光学的に読み取ってそれらを画像データに変換する、いわゆるイメージスキャナである。表示装置12は、ユーザに種々の文字及び画像等の情報を出力する装置であり、例えば液晶ディスプレイのような画像表示装置であってもよい。CPU13は、ワークエリア15に格納されたプログラムを実行することによって種々の機能を実現する処理装置である。以下に説明される各プログラムの処理は、実際にはCPU13が実行する。印刷装置14は、ユーザに提供する種々の情報を必要に応じて印刷する。ワークエリア15は、CPU13によって実行されるプログラム等が格納される記憶領域である。本実施形態のワークエリア15には、OSOperatingSystem151、通信プログラム152、文書処理プログラム153及び文字認識プログラム154が格納される。ワークエリア15にはさらに他のプログラムが格納されてもよいし、それらのプログラムをCPU13が実行するときに参照されるデータが格納されてもよいし、CPU13が実行した処理の結果が格納されてもよい。これらのプログラムに基づく処理については後述する。情報保持手段16は、CPU13が各プログラムに基づいて種々の処理を実行するために参照する情報を格納する。本実施形態の情報保持手段16には、活字文字認識用辞書161、手書き文字認識用辞書162、外字ローマ字辞書163、配置知識辞書164、項目名辞書165及びデータ文字列パターン辞書166が格納される。活字文字認識用辞書161は、活字文字の特徴量を示す情報を含み、窓口受付システム10が活字文字認識を実行する際に参照される。手書き文字認識用辞書162は、手書き文字の特徴量を示す情報を含み、窓口受付システム手書き文字認識を実行する際に参照される。これらの辞書は、従来の文字認識において使用されるものと同様のものであってよい。外字ローマ字辞書163には、窓口受付システム10が同一と判定する文字の範囲を示す情報が格納される。例えば、特定の漢字の異体字がその漢字の代わりに慣用される場合であって、窓口受付システム10がそれらを同一の文字と判定することが許容される場合、それらを対応付ける情報が外字ローマ字辞書163に格納される。さらに、漢字とその漢字に対応するローマ字表記とを対応付ける情報が外字ローマ字辞書163に格納されてもよい。外字ローマ字辞書163及びそれを用いた処理の例については後述する図9参照。配置知識辞書164、項目名辞書165及びデータ文字列パターン辞書166については後述する図4参照。なお、後述するように、窓口受付システム10がデータ文字列パターン辞書166を予め保持しない場合もある。情報保持手段16にはさらに他の情報が格納されてもよいが、本実施形態では説明を省略する。ワークエリア15及び情報保持手段16は、窓口受付システム10に実装された記憶装置に相当する。典型的には、ワークエリア15がDRAMDynamicRandomAccessMemoryのような高速かつ揮発性の記憶装置であり、情報保持手段16がHDDHardDiskDrive又はフラッシュメモリのような大容量かつ不揮発性の記憶装置であるが、その他の種類の記憶装置であってもよい。各プログラムは、情報保持手段16に格納され、CPU13によって実行されるときにワークエリア15にコピーされてもよい。また、情報保持手段16に格納された辞書の少なくとも一部が、必要に応じて一時的にワークエリア15にコピーされてもよい。窓口受付システム10は、さらに、通信ネットワーク19を介して一つ以上のファイルサーバ21と接続されてもよい。各ファイルサーバ21は、通信ネットワーク19に接続された計算機であり、そのハードウエア構成は窓口受付システム10と同様であってもよい。図1には、窓口受付システム10が一つの計算機によって実現される例を示したが、窓口受付システム10と同様の機能が複数の計算機によって実現されてもよい。例えば、活字文字認識用辞書161等の各種の辞書が情報保持手段16に格納される代わりにいずれかのファイルサーバ21に格納されてもよい。あるいは、例えば、画像入力装置111が一つ又は複数のファイルサーバ21に設けられ、その画像入力装置111が後述する申請書及び本人確認書類を読み取ってもよい。その場合、ファイルサーバ21によって読み取られた画像データが通信ネットワーク19を介して窓口受付システム10に送信される。上記の場合、入力装置11は、通信ネットワーク19に接続された通信装置を含んでもよい。通信ネットワーク19を介した通信は、通信プログラム152によって制御される。図2は、本発明の実施形態の窓口受付システム10によって読み取られた画像の説明図である。窓口受付システム10は、画像入力装置111を用いて申請書及びその申請書を受け付けるために必要な本人確認書類を光学的に読み取り、それによって得られた画像データをワークエリア15又は情報保持手段16に格納する。このような読み取りはどのような手順で実行されてもよいが、典型的には、それらの書類が1枚の画像に含まれるように読み取られる。図2には、一例として、住民票を取得するための申請書211及び運転免許証212すなわち本人確認書類が読み取られた場合の画像200を示す。申請書211には、申請者の住所、氏名及び生年月日等が手書きされる。以下、申請書211の氏名欄201図2の氏名欄1に手書きされた氏名の文字の認識を例として説明するが、本実施形態は他の欄に記載された手書き文字についても適用することができ、また、手書き文字を含む書類であれば、申請書以外の書類にも適用することができる。図2の例では、氏名として手書き文字列日崎太郎が記載されている。運転免許証212には、免許を受けた者の住所、氏名及び生年月日等が活字で記載されている。以下の説明では、氏名欄202図2の氏名欄2に記載された氏名の活字文字が使用される。なお、運転免許証は本人確認書類の一例であり、それ以外の書類例えばパスポート又は健康保険証等が本人確認書類として使用されてもよい。図2の例では、氏名として活字文字列日埼太郎が記載されている。図3は、従来のOCR光学式文字読取装置による窓口業務効率化のための文字認識処理のフローチャートである。例えば図2の申請書211の画像が入力されるとステップ301、従来のOCR装置図示省略は、入力された画像における氏名欄201の位置を判定しステップ302、氏名欄201に記載された手書き文字を認識するステップ303。一方、例えば図2の運転免許証212の画像が入力されるとステップ311、従来のOCR装置は、入力された画像における氏名欄202の位置を判定しステップ312、氏名欄202に記載された活字文字を認識するステップ313。活字文字認識処理ステップ301~303及び手書き文字認識処理ステップ311~312は、一つのOCR装置によって実行されてもよいし、それぞれ別のOCR装置によって実行されてもよい。その後、従来のOCR装置は、ステップ303における認識結果と、ステップ313における認識結果とを照合しステップ304、両者が一致するか否かを判定するステップ305。両者が一致する場合、本人確認に成功したため、申請書は受理され、申請書に基づく申請処理が実行される。この申請処理は従来と同様であるため説明を省略する。一方、両者が一致しない場合、文字認識による本人確認に失敗したため、別の方法による本人確認例えば窓口オペレータの人手による本人確認等が実行される。上記のステップ312における氏名欄の判定は、例えば次のように行われる。OCR装置は、予め、配置知識辞書、項目名辞書及びデータ文字列パターン辞書を保持する。これらは、本発明の実施形態の配置知識辞書164、項目名辞書165及びデータ文字列パターン辞書166と同様のものであってよい。OCR装置は、項目名辞書に基づいて本人確認書類上の文字列の項目名例えば氏名のような項目名を示す文字列らしさを判定し、データ文字列パターン辞書166に基づいて本人確認書類上の文字列の項目値例えば田中のような氏名を示す文字列らしさを判定し、項目名らしいと判定された文字列と、項目値らしいと判定された文字列との位置関係が配置知識辞書に登録された位置関係と一致する場合に、その領域を氏名欄202として抽出する。しかし、この方法によれば、予めデータ文字列パターン辞書に登録されていない氏名が入力されたことによって氏名欄202の抽出に失敗する場合がある。氏名欄202及び201の抽出にいずれも成功したとしても、記載された氏名がデータ文字列パターン辞書に登録されていなければ、その後の文字認識に失敗する可能性が高い。また、現在の文字認識技術による活字文字の認識精度は実用上十分な程度に高いが、それと比較して手書き文字認識の精度は著しく低い。このため、本来は正しいはずの申請書及び本人確認書類が入力されすなわち氏名欄201と氏名欄202に同じ氏名が記載され、かつ、記載された氏名が辞書に登録されていた場合であっても、ステップ305において両者が一致しないと判定される頻度が高くなる。上記のようにOCR装置による本人確認の失敗が多発すれば、オペレータの作業負担が十分に軽減されず、したがって、窓口業務を十分に効率化することができない。図4は、本発明の実施形態の窓口受付システム10が実行する文字認識処理のフローチャートである。最初に、窓口受付システム10の画像入力装置111を用いて申請書及び本人確認書類が入力されるステップ401。例えば、申請書211及び運転免許証212すなわち本人確認書類が画像入力装置111によって読み取られ、図2に示す画像200が取得される。次に、窓口受付システム10は、本人確認書類の項目領域を抽出するステップ402。項目領域とは、住所、氏名又は生年月日等の項目の値が記載された領域である。ここでは氏名の認識を例として説明するため、少なくとも氏名欄202が項目領域として抽出される。この抽出は、情報保持手段16に保持された配置知識辞書164及び項目名辞書165に基づいて行われる。項目名辞書165には、各項目領域に対応して表示される項目名が格納される。例えば、運転免許証212の氏名欄202の近傍には、項目名として氏名の文字が表示されている。この表示は、氏名欄202の位置を特定するための標識ラベルとして使用される。この場合、項目名辞書165には、氏名の文字列が格納される。本人確認書類として運転免許証以外の書類が使用されてもよく、それらの書類では、氏名欄の項目名として氏名以外の文字列、例えばName等が表示される場合もある。また、後述するように、項目名辞書165は、申請書における項目領域例えば申請書211の氏名欄201の位置を特定するためにも使用される。申請書に項目名として表示される文字列は、本人確認書類のそれと異なる場合がある。例えば、申請書にお名前の文字列が印刷され、その近傍に申請者の氏名を手書きする領域が確保されている場合がある。また、窓口受付システム10が複数の種類の申請書を処理する場合があり、申請書の種類によって項目名として表示される文字列が異なる場合もある。このため、項目名辞書165には、氏名欄の項目名として、氏名以外の文字列、例えばお名前及びName等がさらに格納されてもよい。氏名欄202以外の項目領域についても、項目名の文字列が、各項目領域について一つ以上格納される。項目名辞書165の一例については図5を参照して後述する。配置知識辞書164には、各項目領域の配置を示す情報、より具体的には、各項目名の表示と、各項目名に対応する項目領域との位置関係を重み付けする情報が格納される。例えば、運転免許証212に表示された項目名氏名の右側の所定の範囲が氏名欄202である。この場合、配置知識辞書164には、文字列氏名の表示と氏名欄202との位置関係を示す情報が格納される。上記の項目名辞書165の場合と同様、配置知識辞書164にも、種々の本人確認書類及び種々の申請書における項目名の表示と項目領域との位置関係を示す情報が格納される。窓口受付システム10は、これらの辞書に基づいて、氏名欄202等の項目領域を抽出する。例えば、窓口受付システム10は、項目名辞書165に基づいて本人確認書類上の文字列の項目名らしさを判定し、項目名らしいと判定された文字列との位置関係が配置知識辞書164に登録された位置関係と一致する領域を項目領域として抽出する。次に、窓口受付システム10は、ステップ402において抽出された項目領域に記載された住所、氏名及び生年月日等の活字文字を認識するステップ403。この手順は従来の文字認識と同様であるため、詳細な説明は省略する。次に、窓口受付システム10は、ステップ403における活字文字の認識結果を用いて、手書き文字認識用の候補文字列パターン辞書を作成するステップ404。窓口受付システム10は、予めデータ文字列パターン辞書166を保持していない場合には、作成された候補文字列パターン辞書をデータ文字列パターン辞書166として使用し、予めデータ文字列パターン辞書166を保持していた場合には、作成された候補文字列パターン辞書を用いてデータ文字列パターン辞書166を更新する。これらの処理については後述する図7及び図8等参照。次に、窓口受付システム10は、申請書において手書き文字が記載された項目領域を抽出するステップ405。ここで抽出される項目領域は、申請書における住所、氏名又は生年月日等が記載された領域であり、申請者による手書き文字が記載されている。この抽出は、ステップ402における抽出と同様に、配置知識辞書164及び項目名辞書165を参照して行われる。次に、窓口受付システム10は、ステップ405において抽出された項目領域に記載された住所、氏名及び生年月日等の手書き文字を認識するステップ406。この手順は、ステップ404において更新又は作成されたデータ文字列パターン辞書166を参照する点を除いて従来の文字認識と同様であるため、その詳細な説明は省略する。すなわち、辞書の参照方法及びそれに基づく文字認識の方法は従来と同様である。次に、窓口受付システム10は、認識した結果を出力してステップ407、処理を終了する。例えば、窓口受付システム10は、氏名欄201の文字認識ステップ403によって得られた文字列そのものを表示装置12に表示してもよいし、その文字列と、氏名欄202の文字認識ステップ406によって得られた文字列とが一致するか否かを判定し、その結果を表示装置12に表示してもよい。具体的には、例えば、両者が一致しないと判定された場合、本人確認に失敗したことを示すアラートを表示装置12に表示してもよい。なお、以上の処理は、詳細には、窓口受付システム10のCPU13がワークエリア15内のプログラムに従って実行する。例えば、ステップ402、404及び405が文書処理プログラム153に従って実行され、ステップ403及び406が文字認識プログラムに従って実行される。図5は、本発明の実施形態の項目名辞書165の説明図である。項目名辞書165は、本人確認書類及び申請書の項目名の文字列を定義する情報を含む。例えば、図5に示す項目名辞書165は、Surname501、氏名502、住所503、お名前504及びご住所505を含む。Surname501は、本人確認書類がパスポートである場合の、氏名姓が記載された項目領域のラベルの例である。氏名502は、本人確認書類が運転免許証である場合の、氏名が記載された項目領域のラベルの例である。住所503は、本人確認書類が運転免許証である場合の、住所が記載された項目領域のラベルの例である。お名前504は、申請書における、氏名が手書きされる項目領域のラベルの例である。ご住所505は、申請書における、住所が手書きされる項目領域のラベルの例である。図6は、本発明の実施形態のデータ文字列パターン辞書166の説明図である。データ文字列パターン辞書166は、情報保持手段16に格納され、必要に応じてその一部又は全部がワークエリア15にロードされてもよい。データ文字列パターン辞書166には、手書き文字列に含まれる可能性がある文字列が登録される。例えば、氏名の文字列の認識に使用されるデータ文字列パターン辞書166には、氏名として使用される可能性がある文字列、例えば、姓として使用される文字列<NAME1>として田中、鈴木、佐藤及び山田等が、名として使用される文字列<NAME2>として一郎、太郎、花子及びよし子等が登録される。さらに、上記の姓の文字列<NAME1>と、その後に続く名の文字列<NAME2>とからなる文字列<N400>が登録される。同様に、例えば住所の文字列の認識に使用されるデータ文字列パターン辞書166には、全国の地名の文字列等が登録される。後述するように、データ文字列パターン辞書166は、必要に応じてワークエリア15にロードされる。本実施形態では、同一の文字を重複して保持することを避けるため、ロードされたデータ文字列パターン辞書166はグラフ形式で表現される。すなわち、データ文字列パターン辞書166に登録された各文字がノードとして、文字と文字との接続がエッジとして表現される。例えば、姓の文字列田中がデータ文字列パターン辞書166に登録されている場合、この文字列は、文字田に対応するノード、文字中に対応するノード、及びそれらを接続するエッジによって表現される。図6では省略されているが、データ文字列パターン辞書166は、文字と文字とが接続される可能性を示す情報を含む。この情報は、例えば、エッジに与えられるスコアであり、例えば新聞の書面等、実際に流通しているテキスト等から予め抽出される。スコアは、各エッジに対応する文字の接続の起こりやすさ言い換えると尤もらしさを示す重みである。本実施形態において、スコアの値が大きいほど、そのスコアが与えられたエッジに対応する文字の接続が起こりやすいことを示し、スコアの値が0であることは、そのエッジに対応する文字の接続が起こり得ないことを示す。例えば、データ文字列パターン辞書166に登録されているように、文字列田中及び鈴木のような文字列は出現し得るが、文字列田鈴は出現し得ない場合、文字田と中とを接続するエッジ及び鈴と木とを接続するエッジには、スコアとして0より大きい値が与えられ、文字田と鈴とを接続するエッジには、スコアとして0が与えられる。後述するように、これらのスコアに基づいて、最も尤もらしい文字列が手書き文字認識結果として取得される。なお、本実施形態において、ある二つの文字を接続するエッジが辞書に登録されていないことは、そのエッジを介して接続された文字列が登録されていないことを意味する。また、そのエッジが登録されていないことは、そのエッジが登録され、かつ、それのスコアが0であることと等価である。上記のような辞書の構造及びそれを用いた文字認識方法は従来と同様であってよい。また、上記のようなスコアの決定方法は一例であり、スコアと接続の起こりやすさとが対応するように決定される限り、上記とは異なる規則に従ってスコアが決定されてもよい。ただし、例えば氏名の文字列が登録されたデータ文字列パターン辞書166に、入力される可能性のある全ての氏名の文字列すなわち文字及び文字間の接続が登録されているとは限らない。従来のように、予め用意されたデータ文字列パターン辞書166のみを使用して文字認識を行う場合、その辞書に登録されていない氏名が入力されたときの認識精度は著しく低くなる。このようなことを防ぐためには新たな文字列の追加登録などを行うことも考えられるが、その場合、メンテナンスのコストが上昇する。本実施形態では、メンテナンスのコストを上昇させずに手書き文字の認識精度を改善するために、本人確認書類に記載された活字文字の認識結果がデータ文字列パターン辞書166に追加される。以下、その具体的な手順を説明する。図7は、本発明の実施形態の窓口受付システム10が実行するデータ文字列パターン辞書の動的追加処理のフローチャートである。図7に示す処理は、図4のステップ404において実行される。ここでは、例として、申請書211の氏名欄201に氏名の手書き文字列渡邊太朗が記載され、運転免許証212の氏名欄202に氏名の活字文字列渡邊太朗が記載されている場合について説明する。最初に、窓口受付システム10は、予め定義されたデータ文字列パターン辞書701をワークエリア15にロードする。これは、図4のステップ403が実行される前のデータ文字列パターン辞書166に相当する。図6を参照して説明したように、ロードされたデータ文字列パターン辞書701は、グラフ形式で表現される。その具体例については後述する。次に、窓口受付システム10は、図4のステップ403における活字文字の認識結果を取得し、それをデータ文字列パターン辞書701に追加登録する。ここで、図7に示すデータ文字列パターン辞書701の例を説明する。ロードされた時点のデータ文字列パターン辞書701には渡文字721A、辺文字721B、太文字721C、朗文字721D、井文字721E及び次文字721Fがノードとして登録され、さらに、渡と辺、辺と太、太と朗、渡と井、井と太、辺と次、及び次と朗を接続する、スコアが0より大きいエッジが含まれる。これは、渡辺太朗、渡辺次朗及び渡井太朗の文字列が登録されていることを意味する。一方、図7の例では、ステップ403の認識結果として、氏名の文字列渡邊太朗が取得される。このような文字列はデータ文字列パターン辞書701に登録されていないため、手書き文字として渡邊太朗が入力された場合、その認識は正しい手書き文字が入力されたとしても失敗する可能性が高い。このため、窓口受付システム10は、ステップ403において取得された文字列渡邊太朗をデータ文字列パターン辞書701に追加する。具体的には、窓口受付システム10は、邊文字712をノードとして追加し、さらに、渡と邊とを接続するエッジ713A、及び、邊と太とを接続するエッジ713Bを追加し、それらのエッジのスコアとして0より大きい値を登録する。一方、ステップ403で取得された文字列が既にデータ文字列パターン辞書166に登録されている場合もある。例えば、渡邊太朗が取得された場合、これに含まれる文字列太朗に対応するエッジ、すなわち太と朗とを接続するエッジ713Cは、既に登録されている。この場合、窓口受付システム10は、エッジ713Cのスコアを増加させる。なお、このようにして新たに追加されたエッジのスコアの値及び既存のスコアの増分は、0より大きい限り、任意に決定することができるが、スコアの値が大きいほど、そのエッジに対応する文字列が認識結果として取得され易くなる。例えば、渡邊太朗に対応するエッジのスコアが大きいほど、手書き文字列渡邊太朗が渡邊太朗として認識されないという誤りが発生する可能性は低くなる。したがって、このような誤りを減らすために、ステップ403において取得された文字列に対応するエッジのスコアがそれ以外のエッジのスコアより大きくなるように、スコアの値を決定してもよい。ただし、渡邊太朗に対応するエッジのスコアが大きいほど、渡邊太朗以外の手書き文字列が渡邊太朗として認識されるという誤りが発生する可能性は高くなる。窓口受付システム10は、上記のようにして情報が追加されたデータ文字列パターン辞書702を用いて、手書き文字の認識を行うステップ732。データ文字列パターン辞書702は、図4のステップ403が実行された後のデータ文字列パターン辞書166に相当し、ステップ732は図4のステップ406に相当する。この文字認識は従来と同様の方法によって実行できるため、その詳細な説明は省略するが、概要を説明すれば次の通りである。窓口受付システム10は、まず、手書き文字認識用辞書162に基づいて、入力された手書き文字列を含む画像から、それを構成する各文字を切り出す。通常は、切り出された文字として複数の候補が挙げられる。例えば、手書き文字列渡邊を含む画像が入力された場合、そこから渡及び邊を切り出すこともできるが、三、度及び邊を切り出すこともできる。このような渡邊及び三度邊のような複数の候補が、文字切り出し識別仮説ネット741として作成される。文字切り出し識別仮説ネット741のエッジ例えば、渡と邊とを接続するエッジ、三と度とを接続するエッジ及び度と邊とを接続するエッジについても、切り出す位置の尤もらしさ及び切り出された画像パターンの文字らしさ等に応じたスコアが算出される。そして、窓口受付システム10は、情報が追加されたデータ文字列パターン辞書702のグラフによって手書き文字の文字切り出し識別仮説ネット741を検索するステップ732。この検索は、例えばDPDynamicProgrammingマッチングのような、公知の手法によって行うことができる。例えば、文字切り出し識別仮説ネット741には文字列三度邊が含まれるが、この文字列はデータ文字列パターン辞書702に登録されていないため、検索結果としては取得されない。一方、文字列渡邊はデータ文字列パターン辞書702に登録されているため、検索結果として取得される可能性がある。窓口受付システム10は、文字切り出し識別仮説ネット741のエッジに与えられたスコアと、データ文字列パターン辞書702のエッジに与えられたスコアとに基づいて、文字列渡邊太朗が最も尤もらしいと判定した場合、この文字列を手書き文字の認識結果として出力するステップ733。このとき、手書き文字列の認識結果と活字文字列の認識結果とが一致するか否かを示す情報を出力してもよい。このように、図7に示した方法によれば、予め用意されたデータ文字列パターン辞書に、活字文字の認識結果から作成された辞書情報が追加され、その辞書が文字認識に使用される。活字文字の認識結果として得られた文字列がデータ文字列パターン辞書に登録されていなかった場合には、その文字列を新たに登録することによって、入力された手書き文字列が活字文字列と同一の文字列として認識されやすくなる。一方、活字文字の認識結果として得られた文字列がデータ文字列パターン辞書に既に登録されていた場合には、その文字列に対応するスコアを増加させることによって、入力された手書き文字列が活字文字列と同一の文字列として認識されやすくなる。このように、手書き文字の認識精度が向上するため、本人確認に失敗する頻度も減少し、これによって窓口業務の効率が改善するとともに、窓口オペレータによる不正な処理も防止される。上記の例では、予め用意されたデータ文字列パターン辞書166に、活字文字の認識結果に基づく情報が追加されたが、データ文字列パターン辞書166が予め用意されていない場合にも、手書き文字の認識を活字文字の認識と連携して行うことによって、手書き文字の認識精度を改善することができる。以下、これについて説明する。図8は、本発明の実施形態の窓口受付システム10が実行する、データ文字列パターン辞書を予め保持しない場合の手書き文字認識処理のフローチャートである。ここでは、例として、手書き文字列及び活字文字列として桜井太郎が入力された場合について説明する。窓口受付システム10に入力される入力画像801は、申請書802及び本人確認書類803の画像データを含む。申請書802は手書きされた氏名の文字列桜井太郎を含み、本人確認書類803は活字の文字列桜井太郎を含む。これらはそれぞれ図2の申請書211及び運転免許証212に相当する。図8では省略されているが、窓口受付システム10は、図4のステップ405と同様の方法によって、氏名の手書き文字列が記載された項目領域を抽出する。そして、窓口受付システム10は、抽出された項目領域に記載された手書き文字列桜井太郎について、図7と同様の方法によって文字切り出し識別仮説ネット811を作成する。図8では、例えば、文字列桜井のほかに文字列木女井等が、手書き文字の認識結果の候補として抽出される。一方、窓口受付システム10は、図4のステップ402と同様の方法によって、氏名の活字文字列が記載された項目領域を抽出する。そして、窓口受付システム10は、図4のステップ403と同様の方法によって、抽出された項目領域に記載された活字文字列の認識を実行し、その結果として、活字文字列から得られた認識候補の文字列桜井太郎812を取得する。図8の例では窓口受付システム10がデータ文字列パターン辞書166を予め保持していないため、ここで取得された文字列桜井太郎812が、次のステップにおいてデータ文字列パターン辞書166として参照される。なお、上記の二つのステップが実行される順序は任意であり、両者が並行して実行されてもよい。次に、窓口受付システム10は、活字文字列の認識結果を用いて、文字切り出し識別仮説ネットを検索するステップ813。図8の例では、活字文字列の認識結果桜井太郎に対応するパスが文字切り出し識別仮説ネット811に存在し、文字切り出し識別仮説ネットから抽出された文字列のスコアの合計値が所定の値より大きい場合に、窓口受付システム10は、桜井太郎を手書き文字の認識結果として出力するステップ814。このとき、手書き文字列の認識結果と活字文字列の認識結果とが一致するか否かを示す情報を出力してもよい。一方、活字文字列の認識結果に相当するパスが文字切り出し識別仮説ネットに存在しない場合、窓口受付システム10は、手書き文字の認識に失敗したことを示す情報を出力してもよい。上記の検索は、図7におけるステップ732と同様に実行される。例えば、活字文字列から抽出された桜井太郎に対応するパスに含まれる各エッジに0より大きいスコアが与えられ、文字切り出し識別仮説ネットから抽出された文字列のスコアの合計値が所定の値より大きい場合にその文字列例えば桜井太郎を認識結果として出力してもよい。なお、上記の文字切り出し識別仮説ネット811の作成及びステップ813は、図4のステップ406に相当し、認識候補の文字列812の取得及びそれに対応するエッジのコストの決定は、図4のステップ404に相当する。このように、活字文字の認識結果を用いることによって、予め用意された辞書を用いずに手書き文字の認識精度を改善することができる。なお、図8を参照して説明した文字認識は、図7の処理において、活字文字認識の結果として得られた文字列図7の例では渡邊太朗に対応するパスに含まれるエッジ以外の全てのエッジのスコアを0にすることと等価である。言い換えると、図8の例では、活字文字の認識結果のみをデータ文字列パターン辞書として用いて手書き文字認識が実行されるのに対して、図7の例では、活字文字の認識結果と、予め用意された辞書とを組み合わせた情報をデータ文字列パターン辞書として用いて手書き文字認識が実行される。ここまでに示した例では、本人確認の際に、入力された手書き文字列と活字文字列とが同一であることが求められる。しかし、実際には、完全な同一性が求められない場合もある。その典型的な例は、漢字の異体字による表記ゆれを許容する場合である。本人確認書類に記載される漢字は、その書類を作成したシステムにおいて使用可能なものに限られる。このため、氏名の漢字が当該システムにおいて使用できないものいわゆる外字である場合には、氏名の漢字がそれに対応する異体字で置き換えられて本人確認書類に表示され、その結果、実際の氏名の漢字と本人確認書類に記載された漢字とが異なることになる。このような表記ゆれは、異体字が略字として慣用される場合にも発生する。例えば、本来の表記が渡邊であるのに、それを筆記するときには略字として渡辺を使用する場合などがこれに該当する。システムのポリシーによっては、このような表記ゆれを許容し、本人確認の際に文字列の完全同一を求めない場合もあり得る。完全な同一性が求められない場合の別の例は、手書き文字列と活字文字列の文字種類が異なる場合である。例えば、本人確認書類としてパスポートが使用され、申請書には漢字を手書きする場合、手書きされた漢字の文字列と、パスポートに印刷されたローマ字の文字列とが照合される。この場合、表記された文字そのものが一致することは要求されないが、漢字の読みとローマ字の読みが一致することは要求される。上記のような場合、外字ローマ字辞書163が文字認識に使用される。以下、このような場合の文字認識について説明する。図9は、本発明の実施形態の窓口受付システム10が実行する、データ文字列パターン辞書を予め保持しない場合の手書き文字認識処理の別の例を示すフローチャートである。ここでは、図8と同様にデータ文字列パターン辞書166が予め用意されていない場合において、本人確認書類には図8と同様に活字文字列桜井太郎が記載されているが、申請書には手書き文字列櫻井太郎が記載されている例を示す。桜と櫻は、相互に置き換えて慣用される異体字である。以下、図9に示す処理のうち、図8と同様の部分については詳細な説明を省略する。図9に示す入力画像901は、申請書902及び本人確認書類903の画像データを含む。申請書902は手書きされた氏名の文字列櫻井太郎を含み、本人確認書類903は図8の例と同様に活字の文字列桜井太郎を含む。これらはそれぞれ図2の申請書211及び運転免許証212に相当する。窓口受付システム10は、手書き文字列櫻井太郎について、図8と同様の方法によって文字切り出し識別仮説ネット911を作成する。図9では、例えば、文字列櫻井のほかに文字列木女井等が抽出される。さらに、窓口受付システム10は、認識候補の文字列桜井太郎912を取得する。これは、図8の例における認識候補の文字列812の取得と同様である。次に、窓口受付システム10は、取得された認識候補の文字列912を対象として、外字ローマ字辞書163に基づいて、外字による展開を実行するステップ921。外字ローマ字辞書163には、同一であると判定することが許容される言い換えると、置換することが許容される複数の文字又は複数の文字列を相互に対応付ける情報が含まれる。例えば、桜と櫻とが同一であると判定することが許容される場合、外字ローマ字辞書163は、桜と櫻と対応付ける情報を含む。その結果、認識候補の文字列として、桜井太郎の桜を、それに対応付けられた文字櫻によって置き換えた文字列櫻井太郎が追加される。そして、窓口受付システム10は、展開された活字文字列の認識結果の文字列922を用いて、文字切り出し識別仮説ネット911を検索するステップ913。図9の例では、認識結果の文字列922に文字列桜井太郎及び櫻井太郎が含まれるが、これらのうち櫻井太郎に対応するパスが文字切り出し識別仮説ネット911に存在するため、窓口受付システム10は、櫻井太郎を手書き文字の認識結果として出力するステップ914。このとき、手書き文字列の認識結果と活字文字列の認識結果とが一致するか否かを示す情報を出力してもよい。一方、活字文字列の認識結果の文字列922に含まれるいずれの文字列に相当するパスも文字切り出し識別仮説ネットに存在しない場合、窓口受付システム10は、手書き文字の認識に失敗したことを示す情報を出力してもよい。申請書に手書き文字が記載され、本人確認書類にローマ字等が記載された場合も、上記と同様の処理が行われる。これについて、本人確認書類903がパスポートである場合を例として説明する。この例において、本人確認書類903には、氏名として活字文字列SakuraiTaro図示省略が記載され、外字ローマ字辞書163に文字列SakuraiTaroと櫻井太郎とを対応付ける情報が含まれる。この場合、ステップ921の結果、文字列SakuraiTaro図示省略と櫻井太郎とを含む活字文字列の認識結果の文字列922が取得される。窓口受付システム10は、上記と同様に、文字列922に含まれる櫻井太郎を用いて文字切り出し識別仮説ネット911を検索し、櫻井太郎を手書き文字の認識結果として出力するステップ914。このような外字ローマ字辞書163を用いた展開は、図7に示す処理に適用することもできる。例えば、図7の例において、本人確認書類に氏名の活字文字列として渡辺太朗が記載され、外字ローマ字辞書163に文字辺と邊とを対応付ける情報が含まれる場合、窓口受付システム10は、文字列渡辺太朗及びその辺を邊によって置き換えた文字列渡邊太朗とをデータ文字列パターン辞書701に追加する。渡邊太朗の追加は図7を参照して既に説明した通りである。一方、渡辺太朗は既にデータ文字列パターン辞書701に登録されているため、窓口受付システム10は、渡辺太朗に対応するパスに含まれるエッジのスコアを増加させる。渡辺太朗がデータ文字列パターン辞書701に登録されていない場合には、渡邊太朗と同様にデータ文字列パターン辞書701に追加される。上記のように外字ローマ字辞書163を使用することによって、文字の表記ゆれ又は文字種類の相違に起因する本人確認の失敗を防止することができる。なお、上記のような漢字の異体字及びローマ字による置換は一例であり、それ以外の文字による置換が許容される場合にも、外字ローマ字辞書163と同様の辞書すなわち相互に置換可能な文字又は文字列を対応付ける情報を用いて、上記と同様の処理を実行することができる。なお、本実施形態は官庁又は企業における窓口業務を例として説明したが、本発明は、手書き文字とそれに対応する活字文字とが入力される業務であれば、窓口業務以外の業務に適用することもできる。