(57)【要約】【課題】原稿に手書きされた文字列の妥当性を確認するオペレータの作業負担を、軽減することが可能なプログラムを提供する。【解決手段】サーバプログラムは、複数の項目それぞれを対象項目として、対象項目に対応する領域画像をスキャン画像から抽出する第１抽出処理（Ｓ２１）と、領域画像から文字列を抽出する第２抽出処理（Ｓ２２）と、対象項目に対応する特徴データを読み出す第１読出処理（Ｓ２３）と、抽出した文字列の特徴と特徴データで示される特徴との一致度を算出する第１算出処理と（Ｓ２４）、一致度が閾値未満だと判断したことに応じて（Ｓ２５：Ｎｏ）、対象項目を示す誤項目情報を記憶させる記憶処理（Ｓ２７）とを中継サーバに実行させる。サーバプログラムは、誤項目情報が記憶されていると判断したことに応じて、当該誤項目に対応する文字列を、誤項目と異なる項目に対応付ける変更処理を中継サーバに実行させる。【選択図】図４
2018186411.tif 000002
【特許請求の範囲】
【請求項１】
メモリを備えるコンピュータによって実行可能なプログラムであって、
該プログラムは、読取装置から読取データを取得する取得処理を前記コンピュータに実行させ、前記読取データは、各々が複数の項目の１つに対応する複数の入力領域に文字列が手書きされた原稿を、前記コンピュータに接続された前記読取装置が読み取って生成したデータであり、
該プログラムは、前記複数の項目それぞれを対象項目として、
前記取得処理で取得した前記読取データで示される読取画像から、前記対象項目に対応する前記入力領域を示す領域画像を抽出する第１抽出処理と、
前記第１抽出処理で抽出した前記領域画像からテキスト形式の前記文字列を、抽出アルゴリズムで抽出する第２抽出処理と、
前記領域画像に手書きされるべき前記文字列の特徴を示す特徴データであって、前記複数の項目それぞれに対応付けて前記メモリに記憶されている複数の前記特徴データのうち、前記対象項目に対応する対応特徴データを前記メモリから読み出す第１読出処理と、
前記第２抽出処理で抽出したテキスト形式の前記文字列の特徴と、前記第１読出処理で読み出した前記対応特徴データで示される特徴との一致度を算出する第１算出処理と、
前記第１算出処理で算出した前記一致度が閾値以上か否かを判断する第１判断処理と、
前記第１判断処理で前記閾値未満だと判断したことに応じて、当該対象項目を示す誤項目情報を前記メモリに記憶させる記憶処理とを前記コンピュータに実行させ、
該プログラムは、
前記メモリに前記誤項目情報が記憶されているか否かを判断する第２判断処理と、
前記第２判断処理で前記誤項目情報が記憶されていると判断したことに応じて、当該誤項目情報で示される誤項目に対応する前記文字列を、前記誤項目と異なる前記項目に対応付ける変更処理とを前記コンピュータに実行させるプログラム。
【請求項２】
該プログラムは、前記変更処理において、複数の前記誤項目のうちの１つに対応する前記領域画像を、前記複数の誤項目のうちの他の１つに対応する前記領域画像の位置に移動させる請求項１に記載のプログラム。
【請求項３】
該プログラムは、
前記記憶処理において、前記第２抽出処理で抽出したテキスト形式の前記文字列を、誤入力文字列として、前記誤項目情報に対応付けて前記メモリに記憶させ、
前記第２判断処理で前記誤項目情報が記憶されていると判断したことに応じて、  
対象誤項目に対応付けられた前記誤入力文字列を、前記メモリから読み出す第２読出処理と、
前記対象誤項目と異なる前記誤項目それぞれに対応付けられた前記複数の特徴データを、前記メモリから読み出す第３読出処理と、
前記第２読出処理で読み出した前記誤入力文字列の特徴と、前記第３読出処理で読み出した前記複数の特徴データそれぞれで示される特徴との一致度を算出する第２算出処理と、
前記対象誤項目に対応する前記領域画像を、前記第３読出処理で読み出した前記複数の特徴データのうち、前記第２算出処理で算出した前記一致度が最大となる特徴データに対応する前記誤項目に対応する前記領域画像の位置に移動させる前記変更処理とを、前記複数の誤項目それぞれを前記対象誤項目として前記コンピュータに繰り返し実行させる請求項２に記載のプログラム。
【請求項４】
前記コンピュータは、通信インタフェースを備えており、
該プログラムは、前記変更処理で前記領域画像の位置を変更した出力画像を示す出力データを、前記通信インタフェースを通じてサーバに送信する送信処理を前記コンピュータに実行させる請求項３に記載のプログラム。
【請求項５】
前記コンピュータは、ディスプレイと、入力インタフェースとを備えており、
該プログラムは、
前記変更処理で前記領域画像をどのように移動させたか或いはどのように移動させるかを示す移動情報を、前記ディスプレイに表示させる表示処理と、
前記表示処理で表示させた前記移動情報を確認したことに対応する確認操作を、前記表示処理の実行中に前記入力インタフェースを通じて受け付ける受付処理と、
前記受付処理で前記確認操作を受け付けたことに応じて、前記送信処理とを前記コンピュータに実行させる請求項４に記載のプログラム。
【請求項６】
前記コンピュータは、通信インタフェースを備えており、
該プログラムは、前記取得処理において、通信ネットワークを通じて接続された前記読取装置から、前記通信インタフェースを通じて前記読取データを受信する請求項５に記載のプログラム。
【請求項７】
該プログラムは、
前記取得処理において、複数の原稿を順番に読取可能な前記読取装置であるスキャナから、各々が１枚の原稿に記録された画像に対応する複数の前記読取画像を含む前記読取データを受信し、
前記複数の読取画像それぞれを対象として、前記第１抽出処理、前記第２抽出処理、前記第１読出処理、前記第１算出処理、前記第１判断処理、及び前記記憶処理を前記コンピュータに実行させ、
前記記憶処理において、前記一致度が前記閾値未満となった前記文字列を抽出した前記読取画像と対応付けて、前記誤項目情報を前記メモリに記憶させ、
前記複数の読取画像の１つである第１読取画像に対応付けられた前記誤項目情報が前記メモリに記憶されていると前記第２判断処理で判断したことに応じて、前記第１読取画像を対象とする前記変更処理、前記表示処理、前記受付処理、及び前記送信処理を前記コンピュータに実行させ、
前記複数の読取画像の他の１つである第２読取画像に対応付けられた前記誤項目情報が前記メモリに記憶されていないと前記第２判断処理で判断したことに応じて、前記第２読取画像を対象とする前記送信処理を、前記第１読取画像を対象とする前記変更処理、前記表示処理、及び前記受付処理の少なくとも一部の終了を待たずに前記コンピュータに実行させる請求項６に記載のプログラム。
【請求項８】
該プログラムは、
前記取得処理において、複数の原稿を順番に読取可能な前記読取装置であるスキャナから、各々が１枚の原稿に記録された画像に対応する複数の前記読取画像を含む前記読取データを取得し、
前記読取データに含まれる前記複数の読取画像それぞれに対して、前記第１抽出処理、前記第２抽出処理、前記第１読出処理、前記第１算出処理、前記第１判断処理、前記記憶処理、前記第２判断処理、及び前記変更処理を前記コンピュータに実行させる請求項１から６のいずれかに記載のプログラム。
【請求項９】
メモリと、
通信インタフェースと、
コントローラとを備える情報処理装置であって、
前記コントローラは、前記通信インタフェースを通じて読取装置から読取データを受信する受信処理を実行し、前記読取データは、各々が複数の項目の１つに対応する複数の入力領域に文字列が手書きされた原稿を、前記読取装置が読み取って生成したデータであり、
前記コントローラは、前記複数の項目それぞれを対象項目として、
前記受信処理で受信した前記読取データで示される読取画像から、前記対象項目に対応する前記入力領域を示す領域画像を抽出する第１抽出処理と、
前記第１抽出処理で抽出した前記領域画像からテキスト形式の前記文字列を、抽出アルゴリズムで抽出する第２抽出処理と、
前記領域画像に手書きされるべき前記文字列の特徴を示す特徴データであって、前記複数の項目それぞれに対応付けて前記メモリに記憶されている複数の前記特徴データのうち、前記対象項目に対応する対応特徴データを前記メモリから読み出す第１読出処理と、
前記第２抽出処理で抽出したテキスト形式の前記文字列の特徴と、前記第１読出処理で読み出した前記対応特徴データで示される特徴との一致度を算出する第１算出処理と、
前記第１算出処理で算出した前記一致度が閾値以上か否かを判断する第１判断処理と、
前記第１判断処理で前記閾値未満だと判断したことに応じて、当該対象項目を示す誤項目情報を前記メモリに記憶させる記憶処理とを実行し、
前記コントローラは、
前記メモリに前記誤項目情報が記憶されているか否かを判断する第２判断処理と、
前記第２判断処理で前記誤項目情報が記憶されていると判断したことに応じて、当該誤項目情報で示される誤項目に対応する前記文字列を、前記誤項目と異なる前記項目に対応付ける変更処理とを実行する情報処理装置。
【請求項１０】
読取装置と、メモリ、通信インタフェース、及びコントローラを備える情報処理装置とを備えるシステムであって、
前記読取装置は、
各々が複数の項目の１つに対応する複数の入力領域に文字列が手書きされた原稿を読み取って、読取データを生成する読取処理と、
通信ネットワークを通じて接続された前記情報処理装置に、前記読取処理で生成した前記読取データを送信する送信処理とを実行し、
前記情報処理装置の前記コントローラは、 前記通信インタフェースを通じて前記読取装置から読取データを受信する受信処理を実行し、
前記コントローラは、前記複数の項目それぞれを対象項目として、
前記受信処理で受信した前記読取データで示される読取画像から、前記対象項目に対応する前記入力領域を示す領域画像を抽出する第１抽出処理と、
前記第１抽出処理で抽出した前記領域画像からテキスト形式の前記文字列を、抽出アルゴリズムで抽出する第２抽出処理と、
前記領域画像に手書きされるべき前記文字列の特徴を示す特徴データであって、前記複数の項目それぞれに対応付けて前記メモリに記憶されている複数の前記特徴データのうち、前記対象項目に対応する対応特徴データを前記メモリから読み出す第１読出処理と、
前記第２抽出処理で抽出したテキスト形式の前記文字列の特徴と、前記第１読出処理で読み出した前記対応特徴データで示される特徴との一致度を算出する第１算出処理と、
前記第１算出処理で算出した前記一致度が閾値以上か否かを判断する第１判断処理と、
前記第１判断処理で前記閾値未満だと判断したことに応じて、当該対象項目を示す誤項目情報を前記メモリに記憶させる記憶処理とを実行し、
前記コントローラは、
前記メモリに前記誤項目情報が記憶されているか否かを判断する第２判断処理と、
前記第２判断処理で前記誤項目情報が記憶されていると判断したことに応じて、当該誤項目情報で示される誤項目に対応する前記文字列を、前記誤項目と異なる前記項目に対応付ける変更処理とを実行するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、読取データを処理する情報処理装置のプログラムに関する。
【背景技術】
【０００２】
例えば特許文献１には、書類をスキャナで読み取ってイメージデータを生成し、当該イメージデータで示される書類のイメージを処理端末に表示させ、書類の記入不備の箇所をオペレータに確認させるシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−６４２６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載のシステムでは、書類の全ての項目をオペレータが目視で確認しなければならないので、オペレータの作業負担が大きいという課題がある。そして、この課題は、書類に含まれる項目の数が多いほど或いはスキャナが読み取る書類の数が多いほど顕著になる。
【０００５】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、原稿に手書きされた文字列の妥当性を確認するオペレータの作業負担を、軽減することが可能なプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本明細書では様々な開示を行う。開示例の１つであるプログラムは、メモリを備えるコンピュータによって実行可能である。該プログラムは、読取装置から読取データを取得する取得処理を前記コンピュータに実行させる。前記読取データは、各々が複数の項目の１つに対応する複数の入力領域に文字列が手書きされた原稿を、前記コンピュータに接続された前記読取装置が読み取って生成したデータである。該プログラムは、前記複数の項目それぞれを対象項目として、前記取得処理で取得した前記読取データで示される読取画像から、前記対象項目に対応する前記入力領域を示す領域画像を抽出する第１抽出処理と、前記第１抽出処理で抽出した前記領域画像からテキスト形式の前記文字列を、抽出アルゴリズムで抽出する第２抽出処理と、前記領域画像に手書きされるべき前記文字列の特徴を示す特徴データであって、前記複数の項目それぞれに対応付けて前記メモリに記憶されている複数の前記特徴データのうち、前記対象項目に対応する対応特徴データを前記メモリから読み出す第１読出処理と、前記第２抽出処理で抽出したテキスト形式の前記文字列の特徴と、前記第１読出処理で読み出した前記対応特徴データで示される特徴との一致度を算出する第１算出処理と、前記第１算出処理で算出した前記一致度が閾値以上か否かを判断する第１判断処理と、前記第１判断処理で前記閾値未満だと判断したことに応じて、当該対象項目を示す誤項目情報を前記メモリに記憶させる記憶処理とを前記コンピュータに実行させる。該プログラムは、前記メモリに前記誤項目情報が記憶されているか否かを判断する第２判断処理と、前記第２判断処理で前記誤項目情報が記憶されていると判断したことに応じて、当該誤項目情報で示される誤項目に対応する前記文字列を、前記誤項目と異なる前記項目に対応付ける変更処理とを前記コンピュータに実行させる。
【０００７】
上記構成によれば、複数の入力領域それぞれに手書きされた文字列の妥当性を特徴データを用いて検証し、誤入力の可能性が高い文字列を他の項目に対応付けるので、文字列の妥当性を確認するオペレータの作業負担を軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係るシステム１００のブロック図である。
【図２】図２は、メモリ６２に記憶される情報の例であって、（Ａ）は特徴リストを、（Ｂ）は誤項目リストを示す。
【図３】図３は、システム１００の処理の概略を示すシーケンス図である。
【図４】図４は、正誤判定処理のフローチャートである。
【図５】図５は、領域画像置換処理のフローチャートである。
【図６】図６（Ａ）は来客者カードからスキャナ１０が読み取ったスキャン画像１１０を、図６（Ｂ）はスキャン画像１１０を編集した編集スキャン画像１２０を示す。
【図７】図７は、ディスプレイ５３に表示される置換確認画面の表示例である。
【発明を実施するための形態】
【０００９】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。
【００１０】
図１は、本実施形態に係るシステム１００の概略図である。図１に示されるシステム１００は、１以上のスキャナ１０と、中継サーバ５０と、解析サーバ８０とで構成されている。スキャナ１０、中継サーバ５０、及び解析サーバ８０は、通信ネットワーク１０１を介して相互に通信可能とされている。通信ネットワーク１０１の具体例は特に限定されないが、例えば、インターネット、有線ＬＡＮ、無線ＬＡＮ、或いはこれらの組み合わせであってもよい。
【００１１】
スキャナ１０は、コンタクトガラス或いはＡＤＦにセットされた原稿に記録された画像を読み取って、当該画像を示すスキャンデータを生成するハードウェアである。また、スキャナ１０は、通信ネットワーク１０１を通じて接続された外部装置（例えば、中継サーバ５０）に、生成したスキャンデータを送信することができる。スキャナ１０は、読取装置の一例である。但し、読取装置の具体例はスキャナ１０に限定されず、原稿に記録された画像を撮影して、撮影データを生成するカメラであってもよい。スキャンデータ及び撮影データは読取データの一例であり、スキャンデータ及び撮影データで示される画像は読取画像の一例である。
【００１２】
中継サーバ５０は、図１に示されるように、ディスプレイ５３と、入力Ｉ／Ｆ５４と、通信Ｉ／Ｆ５５と、ＣＰＵ６１と、メモリ６２と、通信バス６３とを主に備える。中継サーバ５０を構成する各構成要素は、通信バス６３を通じて相互に接続されている。中継サーバ５０は、情報処理装置の一例であって、例えばＰＣであってもよい。
【００１３】
ディスプレイ５３は、液晶ディスプレイ、有機ＥＬディスプレイ等であり、各種情報を表示する表示画面を備える。入力Ｉ／Ｆ５４は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力Ｉ／Ｆ５４は、キーボード、マウス、ディスプレイ５３に重畳されたタッチセンサ、或いはこれらの組み合わせである。
【００１４】
通信Ｉ／Ｆ５５は、通信ネットワーク１０１を通じて外部装置と通信可能な通信インタフェースの一例である。すなわち、中継サーバ５０は、通信Ｉ／Ｆ５５を通じて外部装置に各種情報を送信し、通信Ｉ／Ｆ５５を通じて外部装置から各種情報を受信する。通信Ｉ／Ｆ５５の具体的な構成は特に限定されないが、例えば、ＬＡＮケーブルが着脱されるＬＡＮインタフェース、或いはＷｉ−Ｆｉ（登録商標）に準拠した無線信号を送受信するアンテナである。
【００１５】
ＣＰＵ６１は、中継サーバ５０の全体動作を制御するものである。ＣＰＵ６１は、入力Ｉ／Ｆ５４を通じて入力された各種情報、通信Ｉ／Ｆ５５を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ６２から読み出して実行する。ＣＰＵ６１及びメモリ６２は、コントローラの一例を構成する。
【００１６】
メモリ６２は、ＯＳ６４と、サーバプログラム６５とを記憶している。サーバプログラム６５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ６２は、サーバプログラム６５の実行に必要なデータ或いは情報等を記憶する。メモリ６２は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、中継サーバ５０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ６１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００１７】
メモリ６２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００１８】
メモリ６２は、例えば図２（Ａ）に示される特徴リストを記憶することができる。特徴リストは、１以上の特徴レコードを含む。特徴レコードは、例えば、中継サーバ５０の管理者によって、入力Ｉ／Ｆ５４を通じて特徴リストに登録される。また、特徴リストは、後述する原稿の種類毎にメモリ６２に記憶されている。特徴レコードは、例えば、項目情報と、特徴データとを含む。すなわち、メモリ６２は、複数の項目それぞれに対応付けて、複数の特徴データを記憶している。
【００１９】
項目情報は、後述する原稿（例えば、来客者カード）に含まれる項目（例えば、日付、会社名、氏名、電話、メール）を示す情報である。項目は、原稿に手書きされる文字列の種類を示す。文字列（例えば、“２０１７年４月１１日”）とは、項目（例えば、日付）に対応する情報そのものである。すなわち、同一種類（例えば、来客者カード）の複数の原稿において、同一項目に対応する文字列は、異なる可能性がある。
【００２０】
特徴データは、項目に対応付けて原稿に手書きされるべき文字列の特徴を示すデータである。換言すれば、特徴データは、項目に対応付けて原稿に手書きされた文字列の妥当性を検証するためのデータである。特徴データは、例えば、文字列のフォーマット（例えば、［年］、［月］、［日］の前に数字が配置される）、文字列に含まれる文字数の範囲（例えば、２〜８文字）、文字列の多くに含まれる文字（“株”、“有”、“会社”、“事務所”、“＠”）、文字列を構成する文字の種類（例えば、漢字、平仮名、片仮名、アルファベット、数字）等を示す。
【００２１】
また、特徴データは、複数の特徴を含んでいてもよい。そして、複数の特徴それぞれには、重み係数が割り当てられていてもよい。また、１つの特徴データに割り当てられる重み係数の合計は、１００になる。例えば、項目“日付”に対応する複数の特徴“数字２〜４桁［年］”、“数字１〜２桁［月］”、“数字１〜２桁［日］”には、重み係数“２０”、“４０”、“４０”が割り当てられているものとする。さらに、特徴データは、例えば、テキスト形式の文字列を解析するアルゴリズムを含む関数の形式であってもよいし、テキスト形式の文字列を入力することによって後述する一致度が出力されるディープニューラルネットワークの形式であってもよい。
【００２２】
また、メモリ６２は、例えば図２（Ｂ）に示される誤項目リストを記憶することができる。後述するＳ１２で受信したスキャンデータが複数のスキャン画像を含む場合、メモリ６２は、複数のスキャン画像それぞれに対応付けられた複数の誤項目リストを記憶する。誤項目リストは、１以上の誤項目レコードを含むことができる。誤項目リストには、後述する正誤判定処理の開始時点で誤項目レコードが登録されておらず、後述するＳ２７でサーバプログラム６５によって登録される。誤項目レコードは、例えば、誤項目情報と、誤入力文字列とを含む。
【００２３】
誤項目情報は、正誤判定処理の対象となるスキャン画像内において、誤った文字列が手書きされたと判定した項目を示す情報である。換言すれば、誤項目情報は、スキャン画像から抽出した文字列のうち、対応する特徴データで示される特徴との一致度が閾値未満の文字列に対応する項目を示す情報である。誤入力文字列は、誤項目情報で示される誤項目に対応付けて手書きされた文字列である。換言すれば、誤入力文字列は、対応する特徴データで示される特徴との一致度が閾値未満の文字列である。
【００２４】
解析サーバ８０は、中継サーバ５０から受信した画像データを解析する。「画像データの解析」とは、例えば、画像データの分類、画像データに含まれる情報の集計、或いはこれらの組み合わせである。解析サーバ８０は、従来より、スキャナ１０が生成したスキャンデータで示されるスキャン画像を、解析していたサーバであってもよい。解析サーバ８０の具体的な動作は、後述する。
【００２５】
［システム１００の動作］
図３〜図５を参照して、本実施形態に係るシステム１００の動作を説明する。
【００２６】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ６１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」、「取得」、「受付」等の処理は、ＣＰＵ６１の処理を表している。ＣＰＵ６１による処理は、ＯＳ６４を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ６１が要求することなくデータを受信するという処理も、「ＣＰＵ６１がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【００２７】
まず、図１に示されるシステム１００が企業に導入される場合を考えると、複数の拠点（例えば、支社、店舗）それぞれにスキャナ１０が設置され、中継サーバ５０及び解析サーバ８０が本社或いはデータセンタに設置される。そして、スキャナ１０は、原稿に記録された画像を読み取ってスキャンデータを生成し、生成したスキャンデータを中継サーバ５０に送信する。また、中継サーバ５０は、各拠点のスキャナ１０からスキャンデータを受信し、受信したスキャンデータに対して正誤判定処理及び領域画像置換処理を実行し、領域画像置換処理で編集されたスキャンデータ（以下、「編集スキャンデータ」と表記する。）を解析サーバ８０に送信する。
【００２８】
原稿は、各々が複数の項目の１つに対応づけられた複数の入力領域を含む紙媒体である。入力領域は、項目に対応する文字列が手書きされる領域である。原稿には、各項目に対応する入力領域が予め定められた位置に配置されている。原稿の具体例は特に限定されないが、例えば、来客者カード、注文書、請求書、発送伝票、議事録、日報等であってもよい。図６（Ａ）は、原稿の一例である来客者カードから読み取ったスキャン画像１１０を示す。
【００２９】
図６（Ａ）に示される入力領域は、項目を示す文字列“日付”、“会社名”、“氏名”、“電話”、“メール”の右側に隣接する矩形の枠で囲まれた領域である。図６（Ａ）の例において、項目“日付”に対応する入力領域には文字列“２０１７年４月１１日”が手書きされ、項目“会社名”に対応する入力領域には文字列“特許  太郎”が手書きされ、項目“氏名”に対応する入力領域には文字列“ＡＢＣ特許事務所”が手書きされ、項目“電話”に対応する入力領域には文字列が手書きされておらず、項目“メール”に対応する入力領域には文字列“ｘｘｘ−ｙｙｙｙ−ｚｚｚｚ”が手書きされている。
【００３０】
スキャナ１０が設置された拠点の具体例は特に限定されないが、例えば、商品を展示するショールームである。また、ショールームのオペレータは、例えば、ショールームを訪れる多数の来客それぞれに来客者カードの記入を依頼し、来客の注文を聞いて本部或いはメーカ宛の注文書を作成し、通信販売のお客様への請求書及び発送伝票を作成し、本部宛の議事録及び日報を作成するといったように、複数の業務を並行して実行しているので、忙しいことが多い。そのため、オペレータは、例えば１日の業務が終了した後に、その日の全ての来客者カード、注文書、請求書、発送伝票、議事録、及び日報を纏めてＡＤＦにセットして、スキャナ１０に読み取らせる。
【００３１】
スキャナ１０は、ＡＤＦにセットされた複数の原稿を順番に読み取って、複数のスキャン画像を含むスキャンデータを生成する（Ｓ１１）。図６（Ａ）に示されるスキャン画像１１０は、スキャンデータに含まれる複数のスキャン画像の１つである。そして、スキャナ１０は、通信ネットワーク１０１を通じて接続された中継サーバ５０に、Ｓ１１で生成したスキャンデータを送信する（Ｓ１２）。Ｓ１１の処理は読取処理の一例であり、スキャナ１０が実行するＳ１２の処理は送信処理の一例である。
【００３２】
次に、中継サーバ５０のサーバプログラム６５は、通信Ｉ／Ｆ５５を通じてスキャナ１０からスキャンデータを受信する（Ｓ１２）。そして、サーバプログラム６５は、スキャナ１０から受信したスキャンデータを、メモリ６２に一時記憶させる。サーバプログラム６５が実行するＳ１２の処理は、取得処理或いは受信処理の一例である。さらに、サーバプログラム６５は、Ｓ１２で受信したスキャンデータに含まれる複数のスキャン画像それぞれを対象として、正誤判定処理を実行する（Ｓ１３）。正誤判定処理は、スキャン画像に含まれる複数の項目それぞれを対象項目として、対象項目に対応付けて手書きされた文字列の妥当性を判定する処理である。図４を参照して、スキャン画像１１０を対象とする正誤判定処理の詳細を説明する。
【００３３】
［正誤判定処理］
まず、サーバプログラム６５は、対象項目“日付”に対応する領域画像１１１を、図６（Ａ）に示されるスキャン画像１１０から抽出する（Ｓ２１）。領域画像１１１は、対象項目“日付”に対応する入力領域を示す画像である。すなわち、サーバプログラム６５は、スキャン画像１１０内の予め定められた位置から、予め定められた大きさの領域画像１１１を抽出する。この領域画像１１１は、画像形式の文字列“２０１７年４月１１日”を含む矩形の画像である。Ｓ２１の処理は、第１抽出処理の一例である。
【００３４】
但し、領域画像の具体的な抽出方法は、前述の例に限定されない。他の例として、図２（Ａ）に示される特徴レコードは、項目情報で示される項目に対応する領域画像の位置及び大きさを示す領域指示情報をさらに含んでもよい。そして、サーバプログラム６５は、領域指示情報で示される位置及び大きさの領域画像を、スキャン画像から抽出してもよい。さらに他の例として、サーバプログラム６５は、スキャン画像内で項目を示す文字列を検索し、発見した文字列に対応付けられた（例えば、文字列と左右方向或いは上下方向に隣接する）矩形の画像を、領域画像として抽出してもよい。
【００３５】
次に、サーバプログラム６５は、Ｓ２１で抽出した領域画像１１１から、テキスト形式の文字列“２０１７年４月１１日”（以下、「抽出文字列」と表記する。）を、ＯＣＲ技術を用いて抽出する（Ｓ２２）。ＯＣＲ技術は、抽出アルゴリズムの一例である。Ｓ２２の処理は、第２抽出処理の一例である。また、サーバプログラム６５は、対象項目“日付”に対応する特徴データを、特徴リストから読み出す（Ｓ２３）。Ｓ２３の処理は、第１読出処理の一例である。Ｓ２３で読み出した特徴データは、対応特徴データの一例である。
【００３６】
次に、サーバプログラム６５は、抽出文字列“２０１７年４月１１日”の特徴と、Ｓ２３で読み出した特徴データで示される特徴との一致度を算出する（Ｓ２４）。Ｓ２４の処理は、第１算出処理の一例である。一致度は、対象項目の入力領域に手書きされるべき文字列の特徴を、抽出文字列がどの程度備えているかを示す値である。換言すれば、一致度は、対象項目に対応する入力領域に手書きされた文字列の妥当性を示す値である。一致度は、例えば、０〜１００の数値によって表される。一致度“０”は妥当性が最も低いことを示し、一致度“１００”は妥当性が最も高いことを示す。一致度の算出方法は特に限定されないが、例えば、以下の方法が考えられる。
【００３７】
まず、一致度の初期値は、０である。サーバプログラム６５は、抽出文字列“２０１７年４月１１日”が、特徴データで示される複数の特徴のうちの１つ“数字２〜４桁［年］”を備えるか否かを判断する。次に、サーバプログラム６５は、抽出文字列が当該特徴を備えると判断したことに応じて、当該特徴に割り当てられた重み係数“２０”を一致度に加算する。そして、サーバプログラム６５は、Ｓ２３で読み出した特徴データで示される全ての特徴に対して、前述の処理を繰り返し実行する。前述の例において、サーバプログラム６５は、抽出文字列“２０１７年４月１１日”の特徴と、項目“日付”に対応する特徴データで示される特徴との一致度を、１００と算出する。
【００３８】
次に、サーバプログラム６５は、Ｓ２４で算出した一致度が予め定められた閾値以上か否かを判断する（Ｓ２５）。閾値は、例えば、中継サーバ５０の管理者によって予め定められた値（例えば、６０）である。閾値は、複数の項目で同一の値であってもよいし、項目毎に異なる値であってもよい。Ｓ２５の処理は、第１判断処理の一例である。
【００３９】
次に、サーバプログラム６５は、Ｓ２４で算出した一致度が閾値以上だと判断したことに応じて（Ｓ２５：Ｙｅｓ）、Ｓ２３で読み出した特徴データを抽出文字列“２０１７年４月１１日”の特徴で更新し、項目情報“日付”に対応する特徴データを上書する（Ｓ２６）。更新の具体例は特に限定されないが、例えば、文字数の範囲を精緻化するものでもよいし、抽出文字列が備える新たな特徴を特徴データに追加するものでもよい。更新の方法は特に限定されないが、例えば、ディープラーニングの手法を用いてもよい。Ｓ２６の処理は、更新処理の一例である。
【００４０】
次に、サーバプログラム６５は、Ｓ２１〜Ｓ２７の処理を実行していない項目が残っていると判断したことに応じて（Ｓ２８：あり）、次の項目“会社名”を対象項目としてＳ２１〜Ｓ２７の処理を実行する。サーバプログラム６５は、例えば、対象項目“会社名”対応する抽出文字列“特許  太郎”と特徴データとの一致度を、０と算出する（Ｓ２４）。そして、サーバプログラム６５は、算出した一致度が閾値未満だと判断したことに応じて（Ｓ２５：Ｎｏ）、対象項目“会社名”を示す項目情報を誤項目情報とし、抽出文字列“特許  太郎”を誤入力文字列とした誤項目レコードを、スキャン画像１１０に対応付けられた誤項目リストに追加する（Ｓ２７）。Ｓ２７の処理は、記憶処理の一例である。
【００４１】
対象項目“氏名”、“メール”に対するＳ２１〜Ｓ２７の処理は、対象項目“会社名”に対する処理と共通する。また、サーバプログラム６５は、対象項目“電話”に対するＳ２２において、テキスト形式の文字列を抽出できない。この場合のＳ２４では、抽出文字列が特徴データの全ての特徴と一致しないので、一致度は０となる。その結果、スキャン画像１１０に対する正誤判定処理が終了した時点で（Ｓ２８：なし）、スキャン画像１１０に対応付けられた誤項目リストには、図２（Ｂ）に示される４つの誤項目レコードが登録される。
【００４２】
また詳細な説明は省略するが、サーバプログラム６５は、Ｓ１２で受信したスキャンデータに含まれる他のスキャン画像を対象とする正誤判定処理を実行する。本実施形態では、全てのスキャン画像を対象とする正誤判定処理が終了した時点で、スキャン画像１１０に対応付けられた誤項目リストにのみ誤項目レコードが登録され、他のスキャン画像に対応付けられた誤項目リストに誤項目レコードが登録されなかったものとする。スキャンデータに含まれる複数のスキャン画像のうち、スキャン画像１１０は第１読取画像の一例であり、スキャン画像１１０と異なるスキャン画像は第２読取画像の一例である。
【００４３】
次に図３に戻って、サーバプログラム６５は、複数の誤項目リストそれぞれに誤項目レコードが登録されているか否かを判断する（Ｓ１４）。Ｓ１４の処理は、第２判断処理の一例である。そして、サーバプログラム６５は、スキャン画像１１０に対応付けられた誤項目リストに誤項目レコードが登録されている（すなわち、スキャン画像１１０が誤項目を含む）と判断したことに応じて（Ｓ１４：あり）、スキャン画像１１０を対象とする領域画像置換処理を実行する（Ｓ１５）。領域画像置換処理は、誤項目情報で示される項目に対応する領域画像１１２〜１１４をスキャン画像１１０内で置換して、編集スキャン画像１２０を生成する処理である。図５を参照して、領域画像置換処理の詳細を説明する。
【００４４】
［領域画像置換処理］
まず、サーバプログラム６５は、Ｓ１２で受信したスキャンデータをコピーして、編集スキャンデータとしてメモリ６２に一時記憶させる。すなわち、領域画像置換処理の開始時点において、スキャンデータと編集スキャンデータとは同一のデータである。また、サーバプログラム６５は、複数の誤項目レコードそれぞれで示される誤項目を対象誤項目として、Ｓ３１〜Ｓ３４の処理を繰り返し実行する。
【００４５】
サーバプログラム６５は、複数の誤項目レコードのうちの１つ（例えば、誤項目情報“会社名”を含む誤項目レコード）を、誤項目リストから読み出す（Ｓ３１）。また、サーバプログラム６５は、Ｓ３１で読み出した誤項目情報“会社名”と異なる誤項目情報で示される誤項目（すなわち、“氏名”、“電話”、“メール”）それぞれに対応付けられた複数の特徴データを、特徴リストから読み出す（Ｓ３２）。Ｓ３１の処理は第２読出処理の一例であり、Ｓ３２の処理は第３読出処理の一例である。
【００４６】
次に、サーバプログラム６５は、Ｓ３１で読み出した誤項目レコードの誤入力文字列“特許  太郎”の特徴と、Ｓ３２で読み出した複数の特徴データそれぞれで示される特徴との一致度を算出する（Ｓ３３）。Ｓ３３の処理の詳細は、Ｓ２４と共通であってよい。Ｓ３３の処理は、第２算出処理の一例である。例えば、誤入力文字列“特許  太郎”に対するＳ３３において、項目“氏名”に対応する特徴データとの一致度は１００で、項目“電話”に対応する特徴データとの一致度は０で、項目“メール”に対応する特徴データとの一致度は０であるとして、以下の処理を説明する。
【００４７】
次に、サーバプログラム６５は、Ｓ３２で読み出した複数の特徴データのうち、Ｓ３３で算出した一致度が最大となる特徴データに対応する誤項目“氏名”を特定する。すなわち、サーバプログラム６５は、誤入力文字列“特許  太郎”が、誤項目“会社名”に対応する入力領域ではなく、誤項目“氏名”に対応する入力領域に手書きされるべき文字列だと判断する。そして、サーバプログラム６５は、対象誤項目“会社名”に対応する領域画像１１２を、特定した誤項目“氏名”に対応する領域画像１１３の位置に移動させる（Ｓ３４）。Ｓ３４の処理は、変更処理の一例である。
【００４８】
より詳細には、サーバプログラム６５は、メモリ６２に記憶されたスキャンデータで示されるスキャン画像１１０から、対象誤項目“会社名”に対応する領域画像１１２を抽出する。そして、サーバプログラム６５は、図６（Ｂ）に示されるように、メモリ６２に記憶された編集スキャンデータで示される編集スキャン画像１２０のうち、特定した誤項目“氏名”に対応する領域画像１１３を、抽出した領域画像１１２で上書きする。この処理は、対象誤項目“会社名”に対応する画像形式の文字列“特許  太郎”を、他の誤項目“氏名”に対応付ける処理の一例である。
【００４９】
そして、サーバプログラム６５は、Ｓ３１〜Ｓ３４の処理を実行していない誤項目が残っていると判断したことに応じて（Ｓ３５：あり）、他の誤項目“氏名”、“電話”、“メール”に対するＳ３１〜Ｓ３４を順番に実行する。その結果、サーバプログラム６５は、誤項目“氏名”に対応する領域画像１１３を、誤項目“会社名”に対応する領域画像１１２の位置に移動させる。すなわち、サーバプログラム６５は、誤項目“会社名”、“氏名”に対応する領域画像１１２、１１３をスキャン画像１１０内で置換して、編集スキャン画像１２０を生成する。
【００５０】
また、サーバプログラム６５は、誤項目“メール”に対応する領域画像１１５を、誤項目“電話”に対応する領域画像１１４の位置に移動させる。一方、誤項目“電話”に対応する誤入力文字列がないので、サーバプログラム６５は、対象誤項目“電話”に対するＳ３３において、全ての特徴データとの一致度を０と算出する。そこで、サーバプログラム６５は、全ての誤項目に対するＳ３１〜Ｓ３４の処理が終了した後に、誤項目“電話”に対応する領域画像１１４を、新たな領域画像で上書きされていない誤項目“メール”に対応する領域画像１１５の位置に上書きする。その結果、全ての誤項目に対するＳ３１〜Ｓ３４の処理が終了した時点で（Ｓ３５：なし）、図６（Ｂ）に示される編集スキャン画像１２０を示す編集スキャンデータが生成される。
【００５１】
次に、サーバプログラム６５は、全ての誤項目に対するＳ３１〜Ｓ３４の処理が終了したことに応じて（Ｓ３５：なし）、図７に示される置換確認画面をディスプレイ５３に表示させる（Ｓ３６）。置換確認画面は、編集スキャン画像１２０と、「左図のように領域画像を置換してもよいですか？」とのメッセージと、［ＯＫ］アイコン１３１と、［キャンセル］アイコン１３２とを含む。すなわち、図７に示される置換確認画面に含まれる編集スキャン画像１２０は、領域画像１１１〜１１５をどのように移動させたかを示す移動情報の一例である。そして、サーバプログラム６５は、置換確認画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ３７）。Ｓ３６の処理は表示処理の一例であり、Ｓ３７の処理は受付処理の一例である。
【００５２】
サーバプログラム６５は、［キャンセル］アイコン１３２の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ３７：キャンセル）、入力Ｉ／Ｆ５４を通じたユーザ操作に従って、編集スキャン画像１２０をさらに編集する（Ｓ３８）。サーバプログラム６５は、例えば、領域画像１１２を領域画像１１３の位置に移動させるドラッグ操作を、入力Ｉ／Ｆ５４を通じて受け付けてもよい。これにより、サーバプログラム６５は、編集スキャン画像１２０内において、領域画像１１２、１１３を置換してもよい。
【００５３】
一方、サーバプログラム６５は、［ＯＫ］アイコン１３１の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ３７：ＯＫ）、Ｓ３８の処理を実行せずに、領域画像置換処理を終了する。［ＯＫ］アイコン１３１の指定は、移動情報を確認したことに対応する確認操作の一例である。また、Ｓ１２で受信したスキャンデータが複数のスキャン画像を含む場合、サーバプログラム６５は、複数のスキャン画像それぞれに対して、Ｓ１３〜Ｓ１５の処理を実行する。
【００５４】
再び図３に戻って、サーバプログラム６５は、領域画像置換処理で生成した編集スキャンデータを、通信Ｉ／Ｆ５５を通じて解析サーバ８０に送信する（Ｓ１６）。一方、サーバプログラム６５は、スキャン画像１１０と異なるスキャン画像に対応付けられた誤項目リストに誤項目レコードが登録されていない（すなわち、スキャン画像が誤項目を含まない）と判断したことに応じて（Ｓ１４：なし）、当該スキャン画像を対象とするＳ１５の処理を実行せずに、且つスキャン画像１１０を対象とする領域画像置換処理の終了を待たずに、当該スキャン画像を含むスキャンデータを通信Ｉ／Ｆ５５を通じて解析サーバ８０に送信する（Ｓ１６）。
【００５５】
すなわち、サーバプログラム６５は、スキャンデータに含まれる複数のスキャン画像のうち、誤項目を含むスキャン画像を対象とする領域画像置換処理（Ｓ１５）を実行すると共に、誤項目を含まないスキャン画像を対象とする送信処理（Ｓ１６）を領域画像置換処理の終了を待たずに（より詳細には、Ｓ３６の処理に先立って）実行する。そして、サーバプログラム６５は、領域画像置換処理が終了したことに応じて、誤項目を修正した編集スキャン画像を対象とする送信処理（Ｓ１６）を実行する。Ｓ１６で送信する編集スキャンデータ或いはスキャンデータは、出力データの一例である。また、編集スキャンデータ或いはスキャンデータで示される画像は、出力画像の一例である。中継サーバ５０が実行するＳ１６の処理は、送信処理の一例である。
【００５６】
次に、解析サーバ８０は、中継サーバ５０から編集スキャンデータを受信し（Ｓ１６）、受信したスキャンデータを解析する（Ｓ１７）。一例として、解析サーバ８０は、同一の年月（例えば、２０１７年４月）に受信した編集スキャンデータを、サーバメモリ内の同一フォルダに保存（すなわち、分類）してもよい。他の例として、解析サーバ８０は、編集スキャンデータで示される編集スキャン画像１２０から項目“会社名”に対応するテキスト形式の文字列を抽出し、抽出した文字列が一致する（すなわち、同一の会社名の）編集スキャンデータの数をカウント（すなわち、集計）してもよい。
【００５７】
［実施形態の作用効果］
前述したシステム１００の処理を中継サーバ５０を省略して実現しようとすると、各拠点のオペレータは、来客者カードの全ての入力領域に正しい情報が記述されているか否かを、スキャナ１０に読み取らせる前に確認する必要がある。そこで上記の実施形態によれば、複数の入力領域それぞれに手書きされた文字列の妥当性を特徴データを用いて検証し、誤入力の可能性が高い文字列を含む領域画像１１２〜１１５を移動させる。その結果、来客者カードに記述された文字列の妥当性を確認するオペレータの作業負担を軽減することができる。特に、前述した忙しいオペレータにとっては、複数の原稿を纏めてスキャナ１０に読み取らせるだけで、原稿の確認作業を省略することができるので、他の業務に集中して取り組むことができる。
【００５８】
より詳細には、複数の項目それぞれの入力領域に文字列を手書きする場合に最も多い誤記は、第１項目（例えば、項目“氏名”）の入力領域に手書きすべき文字列“特許  太郎”を、第１項目と異なる第２項目（例えば、項目“会社名”）の入力領域に記入してしまうことだと考えられる。そこで上記の実施形態によれば、誤入力文字列がどの項目の入力領域に記入されるべきだったのかを一致度に基づいて判断し、当該誤入力文字列を含む領域画像１１２を一致度が最大となる項目の領域画像１１３の位置に移動させる。これにより、オペレータの作業負担を増大させることなく、正しい入力領域に正しい文字列が配置された編集スキャン画像１２０を生成することができる。
【００５９】
但し、Ｓ３４における具体的な処理は、前述の例に限定されない。他の例として、サーバプログラム６５は、Ｓ２２で抽出した抽出文字列を対象項目に対応付けてメモリ６２に記憶させて、抽出文字列リストを生成してもよい。そして、サーバプログラム６５は、Ｓ３４において、誤入力文字列と項目との対応関係を抽出文字列リスト内で変更してもよい。この処理は、対象誤項目に対応するテキスト形式の文字列を、他の誤項目に対応付ける処理の一例である。
【００６０】
また、Ｓ１６で解析サーバ８０に送信する出力データは、編集スキャンデータに限定されない。他の例として、サーバプログラム６５は、誤入力文字列と項目との対応関係を変更した抽出文字列リストを、出力データとして解析サーバ８０に送信してもよい。さらに、サーバプログラム６５は、Ｓ１２で受信したスキャンデータ（すなわち、編集前のスキャンデータ）を解析サーバ８０に送信してもよい。
【００６１】
また、上記の実施形態によれば、編集スキャン画像１２０を含む置換確認画面をディスプレイ５３に表示させるので、Ｓ３４の処理の結果が正しいか否かをオペレータに確認させることができる。これにより、サーバプログラム６５が実行する処理を補完することができる。但し、置換確認画面に表示させる移動情報は、前述の例に限定されない。他の例として、サーバプログラム６５は、「誤入力文字列“特許太郎”→誤項目“氏名”」のように、どの誤入力文字列をどの誤項目に対応付けるか（換言すれば、どの誤項目に対応する位置に領域画像１１２を移動させるか）を、置換確認画面を通じてオペレータに報知してもよい。
【００６２】
また、上記の実施形態によれば、一致度が閾値以上の抽出文字列（すなわち、正しい入力領域に記述された文字列）で特徴データを更新するので、次の正誤判定処理における誤入力文字列の検出精度が向上する。また、上記の実施形態によれば、１種類の原稿（例えば、来客者カード）のみならず、複数種類の原稿（例えば、来客者カード、請求書、発送伝票、日報）を纏めてスキャナ１０に読み取らせても、各原稿の誤入力文字列を正しい項目に対応付けることができる。これにより、各拠点のオペレータの作業負担がさらに軽減される。
【００６３】
また、上記の実施形態によれば、誤項目を含むスキャン画像を対象とする領域画像置換処理の終了を待たずに、誤項目を含まないスキャン画像を含むスキャンデータが解析サーバ８０に送信される。これにより、中継サーバ５０の管理者が置換確認画面を直ちに確認しなくても、誤項目を含まないスキャン画像を解析サーバ８０に解析させることができる。換言すれば、中継サーバ５０の管理者が置換確認画面を通じて事後的に複数の編集スキャン画像を纏めて確認したとしても、解析サーバ８０の解析処理が停滞するのを抑制することができる。
【００６４】
また、中継サーバ５０から解析サーバ８０へのデータの送信タイミングは、前述の例に限定されない。他の例として、サーバプログラム６５は、Ｓ１３〜Ｓ１５の処理に先立って、Ｓ１２で受信したスキャンデータを通信Ｉ／Ｆ５５を通じて解析サーバ８０に送信してもよい。ここで送信されるスキャンデータは、誤項目を含むスキャン画像と、誤項目を含まないスキャン画像とが混在している可能性がある。すなわち、解析サーバ８０は、誤項目を含むスキャン画像を解析してしまう可能性がある。
【００６５】
次に、サーバプログラム６５は、Ｓ１２で受信したスキャンデータに含まれる複数のスキャン画像それぞれを対象として、Ｓ１３〜Ｓ１５の処理を実行してもよい。次に、サーバプログラム６５は、Ｓ１５で生成した編集スキャン画像を含む編集スキャンデータを、通信Ｉ／Ｆ５５を通じて解析サーバ８０に送信してもよい。そして、サーバプログラム６５は、編集スキャンデータに含まれる編集スキャン画像を解析し、前述した誤項目を含むスキャン画像の解析結果を上書きしてもよい。上記の順序で処理を実行すると、解析サーバ８０の処理量は、誤項目を含むスキャン画像を解析する分だけ多くなる。しかしながら、誤項目を含むスキャン画像の割合が小さい場合には、解析サーバ８０の処理量が大きく増加せずに、システム１００全体としての処理効率が大きく向上する。
【００６６】
また、システム１００の処理の流れは、前述の例に限定されない。他の例として、オペレータは、第１原稿をコンタクトガラス上に載置してスキャナ１０に読取処理を実行させ、その後に第２原稿をコンタクトガラス上に載置してスキャナ１０に読取処理を実行させてもよい。この場合のスキャナ１０は、第１原稿から読み取ったスキャン画像を含む第１スキャンデータと、第２原稿から読み取ったスキャン画像を含む第２スキャンデータとを、中継サーバ５０に別々に送信すればよい。また、サーバプログラム６５は、通信Ｉ／Ｆ５５を通じてスキャナ１０から第１スキャンデータを受信したことに応じて、第１スキャンデータを対象とするＳ１３〜Ｓ１６の実行してもよい。さらに、サーバプログラム６５は、通信Ｉ／Ｆ５５を通じてスキャナ１０から第２スキャンデータを受信したことに応じて、第２スキャンデータを対象とするＳ１３〜Ｓ１６の実行してもよい。
【００６７】
さらに、Ｓ１３〜Ｓ１６の処理は、中継サーバ５０が実行することに限定されず、スキャナ１０のＣＰＵが実行してもよい。すなわち、「コンピュータに接続された読取装置」とは、通信ネットワーク１０１を通じて接続された中継サーバ５０及びスキャナ１０に限定されず、内部バスによって接続されたＣＰＵ及びスキャナ１０であってもよい。この場合のＣＰＵは、Ｓ１２において、スキャナが出力したスキャンデータを内部バスを通じて取得すればよい。但し、Ｓ１３〜Ｓ１６（特に、Ｓ３６〜Ｓ３８）の処理を中継サーバ５０に実行させることによって、スキャナ１０を使用したオペレータの他の業務を妨げることが抑制される。
【００６８】
なお、Ｓ１３〜Ｓ１６の処理をスキャナ１０が実行した場合に、「スキャナ１０を使用したオペレータの業務を妨げる」とは、例えば、以下のような場合が考えられる。まず、オペレータは、原稿Ａ〜Ｅをスキャナ１０に読み取らせる。原稿Ａ〜Ｅのうちの原稿Ｃに誤項目が含まれていると、スキャナ１０は、原稿Ｃに対応する置換確認画面をディスプレイに表示させ、置換確認画面に対するユーザ操作が行われるまで待機状態となる。すなわち、スキャナ１０は、置換確認画面の［ＯＫ］アイコン１３１がタップされるまで、他の原稿を読み取ることができない。
【００６９】
換言すれば、オペレータは、原稿Ｃに対する領域画像の置換が妥当か否かを置換確認画面を通じて確認した後でなければ、他の原稿Ｆ〜Ｈをスキャナ１０に読み取らせることができない。すなわち、オペレータの作業順序の自由度が大きく低下することになる。一方、Ｓ１３〜Ｓ１６の処理をスキャナ１０以外の装置（すなわち、中継サーバ５０）に実行させれば、スキャナ１０は、原稿Ａ〜Ｅを読み取ってスキャンデータを送信した直後に、他の原稿Ｆ〜Ｈを読取可能になる。その結果、スキャナ１０を使用したオペレータの業務を妨げることが抑制される。
【００７０】
また、上記の実施形態の中継サーバ５０において、メモリ６２に記憶された各種プログラムがＣＰＵ６１によって実行されることによって、本発明のコントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
【００７１】
さらに、本発明は、中継サーバ５０として実現できるだけでなく、中継サーバ５０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワーク１０１を通じて中継サーバ５０に接続可能なサーバに搭載されたメモリを含んでもよい。そして、サーバのメモリに記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク１０１を通じて配信されてもよい。
【符号の説明】
【００７２】
１０・・・スキャナ
５０・・・中継サーバ
５５・・・通信Ｉ／Ｆ
６１・・・ＣＰＵ
６２・・・メモリ
６５・・・サーバプログラム
８０・・・解析サーバ
【図１】
2018186411.tif 000003
【図２】
2018186411.tif 000004
【図３】
2018186411.tif 000005
【図４】
2018186411.tif 000006
【図５】
2018186411.tif 000007
【図６】
2018186411.tif 000008
【図７】
2018186411.tif 000009