(57)【要約】【課題】文字認識の精度を向上することができるプログラム及び文字認識方法を提供すること。【解決手段】実施形態のプログラムは、通信装置を備える第１の装置が備えるプロセッサーを処理部として機能させる。処理部は、画像データに対する第２の装置による文字認識の結果を示す第１のデータを取得する。処理部は、前記第１のデータに基づき、前記文字認識の結果に誤認識が含まれると判定した場合、前記画像データに含まれる文字の文字種を判別する。処理部は、前記文字認識の精度を向上させるための、前記文字種に応じた第２のデータを前記第２の装置に送信するように前記通信装置を制御して、前記第２の装置に、前記画像データに対して前記第２のデータを用いた文字認識を実行させるように指示する。【選択図】図４
2020160609.tif 000002
【特許請求の範囲】
【請求項１】
通信装置を備える第１の装置が備えるプロセッサーを、
画像データに対する第２の装置による文字認識の結果を示す第１のデータを取得し、
前記第１のデータに基づき、前記文字認識の結果に誤認識が含まれると判定した場合、前記画像データに含まれる文字の文字種を判別し、
前記文字認識の精度を向上させるための、前記文字種に応じた第２のデータを前記第２の装置に送信するように前記通信装置を制御して、前記第２の装置に、前記画像データに対して前記第２のデータを用いた文字認識を実行させるように指示する、処理部
として機能させるためのプログラム。
【請求項２】
通信装置を備える第１の装置が備えるプロセッサーを、
画像データに対する第２の装置による文字認識の結果を示す第１のデータを取得し、
前記第１のデータに基づき、前記画像データのうち誤認識である範囲を判定し、
前記範囲を含む部分画像データを取得し、
前記部分画像データに対して文字認識を実行する、処理部
として機能させるためのプログラム。
【請求項３】
前記処理部は、
前記第１のデータに基づき、前記文字認識の認識率を判定し、
前記認識率が閾値以下である場合、前記画像データを取得し、
前記画像データに対して文字認識を実行する、
請求項２に記載のプログラム。
【請求項４】
第１の装置が備えるプロセッサーを、
画像データに対する第２の装置による文字認識の結果を示す第１のデータを取得し、
前記第１のデータに基づき、前記文字認識の認識率を判定し、
前記認識率が第１の閾値未満第２の閾値以上である場合、前記画像データに対する文字認識を第１の方法によって実行し、前記認識率が前記第２の閾値未満である場合、前記画像データに対する文字認識を第２の方法によって実行する、処理部
として機能させるためのプログラム。
【請求項５】
第２の装置は、画像データに対する文字認識を実行し、前記文字認識の結果を示す第１のデータを生成し、
第１の装置は、前記第１のデータに基づき、前記文字認識の結果に誤認識が含まれることを判定し、前記文字認識の結果に誤認識が含まれる場合、前記画像データに含まれる文字の文字種を判別し、
第２の装置は、前記文字認識の精度を向上させるための前記文字種に応じた第２のデータを用いて、文字認識を実行する、文字認識方法。
【請求項６】
第２の装置は、画像データに対する文字認識を実行し、前記文字認識の結果を示す第１のデータを生成し、
第１の装置は、
前記第１のデータに基づき、前記画像データのうち誤認識である範囲を判定し、
前記範囲を含む部分画像データを取得し、
前記部分画像データに対して文字認識を実行する、文字認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、プログラム及び文字認識方法に関する。
【背景技術】
【０００２】
光学文字認識（ＯＣＲ（optical character recognition））（以下「光学文字認識」を「文字認識」という。）の精度向上が望まれている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−８６９５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態が解決しようとする課題は、文字認識の精度を向上することができるプログラム及び文字認識方法を提供することである。
【課題を解決するための手段】
【０００５】
実施形態のプログラムは、通信装置を備える第１の装置が備えるプロセッサーを処理部として機能させる。処理部は、画像データに対する第２の装置による文字認識の結果を示す第１のデータを取得する。処理部は、前記第１のデータに基づき、前記文字認識の結果に誤認識が含まれると判定した場合、前記画像データに含まれる文字の文字種を判別する。処理部は、前記文字認識の精度を向上させるための、前記文字種に応じた第２のデータを前記第２の装置に送信するように前記通信装置を制御して、前記第２の装置に、前記画像データに対して前記第２のデータを用いた文字認識を実行させるように指示する。
【図面の簡単な説明】
【０００６】
【図１】実施形態に係る文字認識システム及び当該文字認識システムに含まれる構成要素についての要部回路構成の一例を示すブロック図。
【図２】図１中の端末装置のプロセッサーによる処理の一例を示すフローチャート。
【図３】図１中の端末装置のプロセッサーによる処理の一例を示すフローチャート。
【図４】図１中のサーバー装置のプロセッサーによる処理の一例を示すフローチャート。
【図５】図１中のサーバー装置のプロセッサーによる処理の一例を示すフローチャート。
【発明を実施するための形態】
【０００７】
以下、実施形態に係る文字認識システムについて図面を用いて説明する。なお、以下の実施形態の説明に用いる各図面は、説明のため、構成を省略して示している場合がある。また、各図面及び以下の説明において、同一の符号は同一の要素を示す
図１は、実施形態に係る文字認識システム１及び文字認識システム１に含まれる構成要素についての要部回路構成の一例を示すブロック図である。文字認識システム１は、一例として、サーバー装置１０及び端末装置２０を含む。なお、図１には、サーバー装置１０及び端末装置２０をそれぞれ１つずつ示している。しかしながら、サーバー装置１０及び端末装置２０のそれぞれの数は限定しない。以下の説明では、サーバー装置１０と端末装置２０がそれぞれ１つずつある場合を例に説明する。
【０００８】
サーバー装置１０及び端末装置２０は、ネットワークＮＷに接続する。ネットワークＮＷは、典型的にはイントラネットなどのプライベートネットワークを含む通信網である。ネットワークＮＷは、典型的にはＬＡＮ（local area network）を含む通信網である。ネットワークＮＷは、インターネットを含む通信網であっても良い。ネットワークＮＷは、ＷＡＮ（wide area network）を含む通信網であっても良い。また、ネットワークＮＷは、無線回線でも良いし有線回線でも良く、無線回線と有線回線とが混在していても良い。また、ネットワークＮＷは、専用線又は公衆携帯電話網などを含む通信網であっても良い。
【０００９】
サーバー装置１０は、端末装置２０よりも高精度な文字認識が可能な装置である。サーバー装置１０は、一例として、プロセッサー１１、ＲＯＭ（read-only memory）１２、ＲＡＭ（random-access memory）１３、補助記憶デバイス１４及び通信インターフェース１５を含む。そして、バス１６などが、これら各部を接続する。サーバー装置１０は、第１の装置の一例である。
【００１０】
プロセッサー１１は、サーバー装置１０の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー１１は、ＲＯＭ１２又は補助記憶デバイス１４などに記憶されたファームウェア、システムソフトウェア及びアプリケーションソフトウェアなどのプログラムに基づいて、サーバー装置１０の各種の機能を実現するべく各部を制御する。なお、当該プログラムの一部又は全部は、プロセッサー１１の回路内に組み込まれていても良い。プロセッサー１１は、例えば、ＣＰＵ（central processing unit）、ＭＰＵ（micro processing unit）、ＳｏＣ（system on a chip）、ＤＳＰ（digital signal processor）、ＧＰＵ（graphics processing unit）、ＡＳＩＣ（application specific integrated circuit）、ＰＬＤ（programmable logic device）又はＦＰＧＡ（field-programmable gate array）などである。あるいは、プロセッサー１１は、これらのうちの複数を組み合わせたものである。プロセッサー１１は、上記のプログラムを実行することで処理部の一例として機能する。
【００１１】
ＲＯＭ１２は、プロセッサー１１を中枢とするコンピューターの主記憶装置に相当する。ＲＯＭ１２は、専らデータの読み出しに用いられる不揮発性メモリである。ＲＯＭ１２は、上記のプログラムのうち、例えばファームウェアなどを記憶する。また、ＲＯＭ１２は、プロセッサー１１が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
【００１２】
ＲＡＭ１３は、プロセッサー１１を中枢とするコンピューターの主記憶装置に相当する。ＲＡＭ１３は、データの読み書きに用いられるメモリである。ＲＡＭ１３は、プロセッサー１１が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。ＲＡＭ１３は、例えば揮発性メモリである。
【００１３】
補助記憶デバイス１４は、プロセッサー１１を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス１４は、例えばＥＥＰＲＯＭ（electric erasable programmable read-only memory）、ＨＤＤ（hard disk drive）、ＳＳＤ（solid state drive）又はｅＭＭＣ（embedded MultiMediaCard）などである。補助記憶デバイス１４は、上記のプログラムのうち、例えば、システムソフトウェア及びアプリケーションソフトウェアなどを記憶する。また、補助記憶デバイス１４は、プロセッサー１１が各種の処理を行う上で使用するデータ、プロセッサー１１での処理によって生成されたデータ又は各種の設定値などを保存する。
【００１４】
ＲＯＭ１２又は補助記憶デバイス１４に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、サーバー装置１０は、当該プログラムがＲＯＭ１２又は補助記憶デバイス１４に記憶された状態でサーバー装置１０の管理者などへと譲渡される。しかしながら、サーバー装置１０は、当該プログラムがＲＯＭ１２又は補助記憶デバイス１４に記憶されない状態で当該管理者などに譲渡されても良い。また、サーバー装置１０は、当該プログラムとは別のプログラムがＲＯＭ１２又は補助記憶デバイス１４に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にＲＯＭ１２又は補助記憶デバイス１４へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークＮＷなどを介したダウンロードにより実現できる。
【００１５】
通信インターフェース１５は、サーバー装置１０がネットワークＮＷなどを介して通信するためのインターフェースである。通信インターフェース１５は、通信装置の一例である。
【００１６】
バス１６は、コントロールバス、アドレスバス及びデータバスなどを含み、サーバー装置１０の各部で授受される信号を伝送する。
【００１７】
端末装置２０は、例えば、ＰＣ（personal computer）、タブレットＰＣ、スマートホン、サーバー装置、又はＭＦＰ（multifunction peripheral）若しくはコピー機などの画像形成装置である。端末装置２０は、一例として、プロセッサー２１、ＲＯＭ２２、ＲＡＭ２３、補助記憶デバイス２４、通信インターフェース２５、入力デバイス２６、表示デバイス２７及び読取デバイス２８を含む。そして、バス２９などが、これら各部を接続する。端末装置２０は、第２の装置の一例である。
【００１８】
プロセッサー２１は、端末装置２０の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー２１は、ＲＯＭ２２又は補助記憶デバイス２４などに記憶されたファームウェア、システムソフトウェア及びアプリケーションソフトウェアなどのプログラムに基づいて、端末装置２０の各種の機能を実現するべく各部を制御する。なお、当該プログラムの一部又は全部は、プロセッサー２１の回路内に組み込まれていても良い。プロセッサー２１は、例えば、ＣＰＵ、ＭＰＵ、ＳｏＣ、ＤＳＰ、ＧＰＵ、ＡＳＩＣ、ＰＬＤ又はＦＰＧＡなどである。あるいは、プロセッサー２１は、これらのうちの複数を組み合わせたものである。
【００１９】
ＲＯＭ２２は、プロセッサー２１を中枢とするコンピューターの主記憶装置に相当する。ＲＯＭ２２は、専らデータの読み出しに用いられる不揮発性メモリである。ＲＯＭ２２は、上記のプログラムのうち、例えばファームウェアなどを記憶する。また、ＲＯＭ２２は、プロセッサー２１が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
【００２０】
ＲＡＭ２３は、プロセッサー２１を中枢とするコンピューターの主記憶装置に相当する。ＲＡＭ２３は、データの読み書きに用いられるメモリである。ＲＡＭ２３は、プロセッサー２１が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。ＲＡＭ２３は、例えば揮発性メモリである。
【００２１】
補助記憶デバイス２４は、プロセッサー２１を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス２４は、例えばＥＥＰＲＯＭ、ＨＤＤ、ＳＳＤ又はｅＭＭＣなどである。補助記憶デバイス２４は、上記のプログラムのうち、例えば、システムソフトウェア及びアプリケーションソフトウェアなどを記憶する。補助記憶デバイス２４は、アプリケーションソフトウェアとして例えば文字認識ソフトウェアを記憶する。文字認識ソフトウェアは、文字認識機能を有する。また、文字認識ソフトウェアは、複数の文字認識エンジンを備える。複数の文字認識エンジンは、特定の文字種に対する文字認識に特化した性能を有する文字認識エンジンを含む。
また、補助記憶デバイス２４は、プロセッサー２１が各種の処理を行う上で使用するデータ、プロセッサー２１での処理によって生成されたデータ又は各種の設定値などを保存する。
【００２２】
また、端末装置２０は、補助記憶デバイス２４として、メモリカード又はＵＳＢ（universal serial bus）メモリなどの記憶媒体を挿入可能なインターフェースを備えていてもよい。当該インターフェースは、当該記憶媒体に対して情報の読み書きを行う。
【００２３】
ＲＯＭ２２又は補助記憶デバイス２４に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、端末装置２０は、当該プログラムがＲＯＭ２２又は補助記憶デバイス２４に記憶された状態で端末装置２０の管理者などへと譲渡される。しかしながら、端末装置２０は、当該プログラムがＲＯＭ２２又は補助記憶デバイス２４に記憶されない状態で当該管理者などに譲渡されても良い。また、端末装置２０は、当該プログラムとは別のプログラムがＲＯＭ２２又は補助記憶デバイス２４に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にＲＯＭ２２又は補助記憶デバイス２４へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークＮＷなどを介したダウンロードにより実現できる。
【００２４】
通信インターフェース２５は、端末装置２０がネットワークＮＷなどを介して通信するためのインターフェースである。
【００２５】
入力デバイス２６は、端末装置２０の操作者による操作を受け付ける。入力デバイス２６は、例えば、キーボード、キーパッド、タッチパッド又はマウスなどである。
【００２６】
表示デバイス２７は、端末装置２０の操作者に各種情報を通知するための画面を表示する。表示デバイス２７は、例えば、液晶ディスプレイ又は有機ＥＬ（electro-luminescence）ディスプレイなどのディスプレイである。また、入力デバイス２６及び表示デバイス２７としては、タッチパネルを用いることもできる。すなわち、タッチパネルが備える表示パネルを表示デバイス２７として、タッチパネルが備えるタッチパッドを入力デバイス２６として用いることができる。
【００２７】
読取デバイス２８は、画像を撮像する。読取デバイス２８は、例えば、スキャナー又はカメラなどである。
【００２８】
バス２９は、コントロールバス、アドレスバス及びデータバスなどを含み、端末装置２０の各部で授受される信号を伝送する。
【００２９】
以下、実施形態に係る文字認識システム１の動作を図２〜図５などに基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図２及び図３は、端末装置２０のプロセッサー２１による処理の一例を示すフローチャートである。プロセッサー２１は、例えば、ＲＯＭ２２又は補助記憶デバイス２４などに記憶されたプログラムに基づいてこの処理を実行する。プロセッサー２１は、例えば、文字認識ソフトウェアの起動にともなって図２及び図３のフローチャートに示す処理を開始する。あるいは、プロセッサー２１は、端末装置２０の起動にともなって図２及び図３のフローチャートに示す処理を開始する。図４及び図５は、サーバー装置１０のプロセッサー１１による処理の一例を示すフローチャートである。プロセッサー１１は、例えば、ＲＯＭ１２又は補助記憶デバイス１４などに記憶されたプログラムに基づいてこの処理を実行する。プロセッサー１１は、例えば、サーバー装置の起動にともなって図４及び図５のフローチャートに示す処理を開始する。なお、プロセッサー１１又はプロセッサー２１がＡＣＴｎ（ｎは、自然数。）の処理の後にＡＣＴ（ｎ＋１）へと進む場合、このことを説明する記載を省略する場合がある。
【００３０】
図２のＡｃｔ１１において端末装置２０のプロセッサー２１は、文字認識の対象となる画像が入力されるのを待ち受ける。当該画像は、例えば、読取デバイス２８によって読み取られた画像である。あるいは、当該画像は、補助記憶デバイス２４に記憶された画像である。なお、当該画像は、複数枚の画像からなる画像であっても良い。プロセッサー２１は、文字認識の対象となる画像が入力されたならば、Ａｃｔ１１においてＹｅｓと判定してＡｃｔ１２へと進む。
【００３１】
Ａｃｔ１２においてプロセッサー２１は、文字認識の開始を指示する入力が行われるのを待ち受ける。当該入力は、例えば、入力デバイス２６に対する文字認識の開始を端末装置２０に指示する操作入力である。あるいは、当該入力は、通信インターフェース２５によって、文字認識の開始を端末装置２０に指示するコマンドが受信されることなどであっても良い。プロセッサー２１は、文字認識の開始を指示する入力が行われたならば、Ａｃｔ１２においてＹｅｓと判定してＡｃｔ１３へと進む。
【００３２】
Ａｃｔ１３においてプロセッサー２１は、Ａｃｔ１１で入力された画像（以下「対象画像」という。）に対して、文字認識ソフトウェアを用いて文字認識を実行する。
【００３３】
Ａｃｔ１４においてプロセッサー２１は、第１の結果情報を生成する。第１の結果情報は、Ａｃｔ１３において行われた文字認識の結果を含むデータである。第１の結果情報は、対象画像から文字認識によって読み取られた文字及び当該各文字が対象画像のどの位置にあるかを示すデータを含む。プロセッサー２１は、第１の結果情報を生成した後、当該第１の結果情報をサーバー装置１０に送信するように通信インターフェース２５に対して指示する。この指示を受けて通信インターフェース２５は、当該第１の結果情報をサーバー装置１０に送信する。送信された当該第１の結果情報は、サーバー装置１０の通信インターフェース１５によって受信される。第１の結果情報は、文字認識の結果を示す第１のデータの一例である。
【００３４】
一方、図４のＡｃｔ３１においてサーバー装置１０のプロセッサー１１は、通信インターフェース１５によって結果情報が受信されるのを待ち受けている。プロセッサー１１は、第１の結果情報又は第２の結果情報などの結果情報が受信されたならば、Ａｃｔ３１においてＹｅｓと判定してＡｃｔ３２へと進む。なお、第２の結果情報については後述する。
【００３５】
Ａｃｔ３２においてプロセッサー１１は、Ａｃｔ３１で受信された結果情報から、端末装置２０で対象画像に対して行われた文字認識の認識率を求める。例えば、プロセッサー１１は、特定の範囲にどのような文字種又は内容が記載されているはずであるかを判定して、文字認識の結果が当該文字種又は内容と合致している度合いにより認識率を求める。
【００３６】
文字種は、例えば、数字、ラテン文字などのアルファベット、ひらがな、カタカナ若しくは漢字又はこれらのうちの複数の組み合わせなどである。あるいは、文字種は、英語又は日本語などのように言語であっても良い。また、文字種は、大文字又は小文字及び半角又は全角などであっても良い。また、文字種は、フォントの種類であっても良い。また、文字種は、文字の色、文字の大きさ又は文字の向きなどであっても良い。あるいは、文字種は上記したものの組み合わせである。
【００３７】
プロセッサー１１は、例えば、文字種又は内容を近傍の文字列に基づいて特定する。例えば、プロセッサー１１は、「口座番号」という文字列の右又は下などにある文字列は数字であると特定する。あるいは、プロセッサー１１は、帳票データを用いて文字種又は内容を特定する。帳票データとは、画像のどこにどのような内容又は文字種の文字列があるかを示すデータである。例えば、帳票データは、範囲ＡＲ１１にタイトル、範囲ＡＲ１２に氏名、範囲ＡＲ１３にＩＤ（identifier）、範囲ＡＲ１４に住所、範囲ＡＲ１５に自由記入欄、…などのように内容及びその位置を特定する。あるいは、帳票データは、範囲ＡＲ２１に英語、範囲ＡＲ２２に日本語、範囲ＡＲ２３にラテン文字、範囲ＡＲ２４にカタカナ…のように文字種及びその位置を特定する。
【００３８】
あるいは、プロセッサー１１は、ＡＩ（artificial intelligence）などを用いて文字種又は内容と判定及びその位置を特定しても良い。例えば、当該ＡＩは、パターンマッチングなどにより文字種及びその位置を特定する。当該ＡＩは、例えば、深層学習などの機械学習によりパターンマッチングを学習する。
【００３９】
Ａｃｔ３３においてプロセッサー１１は、Ａｃｔ３２で求めた認識率が閾値Ｔ１以上であるか否かを判定する。プロセッサー１１は、Ａｃｔ３２で求めた認識率が閾値Ｔ１以上であるならば、Ａｃｔ３３においてＹｅｓと判定してＡｃｔ３４へと進む。
【００４０】
Ａｃｔ３４においてプロセッサー１１は、第１の結果情報又は第１の結果情報に含まれる文字認識の結果を補助記憶デバイス１４などに記憶する。
【００４１】
Ａｃｔ３５においてプロセッサー１１は、通知情報を生成する。通知情報は、認識率が高いため、文字認識を再度行う必要がないことを示す情報を含むデータである。プロセッサー１１は、通知情報を生成した後、当該通知情報を、結果情報の送信元である端末装置２０に送信するように通信インターフェース１５に対して指示する。この指示を受けて通信インターフェース１５は、当該通知情報を端末装置２０に送信する。送信された当該通知情報は、端末装置２０の通信インターフェース２５によって受信される。プロセッサー１１は、Ａｃｔ３５の処理の後、Ａｃｔ３１へと戻る。
【００４２】
一方、図２のＡｃｔ１５において端末装置２０のプロセッサー２１は、通信インターフェース２５によって、サーバー装置１０から送信されるデータが受信されるのを待ち受けている。プロセッサー２１は、通知情報などのデータが受信されたならば、Ａｃｔ１５においてＹｅｓと判定してＡｃｔ１６へと進む。
【００４３】
Ａｃｔ１６においてプロセッサー２１は、対象画像に対する文字認識を終了して結果を確定するか否かを判定する。プロセッサー２１は、例えば、通知情報が受信されたことに応じて、対象画像に対する文字認識を終了して結果を確定すると判定する。プロセッサー２１は、通知情報が受信されたならば、Ａｃｔ１６においてＹｅｓと判定してＡｃｔ１７へと進む。
【００４４】
Ａｃｔ１７においてプロセッサー２１は、文字認識の結果を補助記憶デバイス２４などに記憶する。なお、プロセッサー２１は、Ａｃｔ１６からＡｃｔ１７に進んだ場合、Ａｃｔ１７で記憶する文字認識の結果は、Ａｃｔ１３の文字認識の結果である。
【００４５】
Ａｃｔ１８においてプロセッサー２１は、Ａｃｔ１３で記憶した文字認識の結果を端末装置２０の操作者などに報知する。プロセッサー２１は、当該報知として、当該結果を示す文字列又は画像などを表示デバイス２７などに表示させる。あるいは、プロセッサー２１は、当該報知として、当該結果を示す音声をスピーカーなどから出力させる。プロセッサー２１は、Ａｃｔ１８の処理の後、当該表示の終了とともにＡｃｔ１１へと戻る。
【００４６】
一方、サーバー装置１０のプロセッサー１１は、図４のＡｃｔ３２で求めた認識率が閾値Ｔ１未満であるならば、Ａｃｔ３３においてＮｏと判定してＡｃｔ３６へと進む。
Ａｃｔ３６においてプロセッサー１１は、文字種を特定済みであるか否かを判定する。プロセッサー１１は、例えば、Ａｃｔ３１で受信された結果情報が第１の結果情報であるならば文字種を特定済みでないと判定する。そして、プロセッサー１１は、例えば、Ａｃｔ３１で受信された結果情報が第２の結果情報であるならば文字種を特定済みであると判定する。プロセッサー１１は、文字種を特定済みでないと判定するならば、Ａｃｔ３６においてＮｏと判定してＡｃｔ３７へと進む。なお、文字種の特定については後述する。
【００４７】
Ａｃｔ３７においてプロセッサー１１は、Ａｃｔ３２で求めた認識率が閾値Ｔ２以上であるか否かを判定する。プロセッサー１１は、Ａｃｔ３２で求めた認識率が閾値Ｔ２以上でないならば、Ａｃｔ３７においてＮｏと判定してＡｃｔ３８へと進む。なお、閾値Ｔ２は、閾値Ｔ１よりも小さい値である。
【００４８】
Ａｃｔ３８においてプロセッサー１１は、第１の結果情報を用いて、対象画像に含まれる文字の文字種を特定する。プロセッサー１１は、文字種の特定とともに、各文字種が対象画像のどの位置にあるかを特定する。なお、当該位置は、点を示すものであっても範囲を示すものであっても良い。例えば、プロセッサー１１は、範囲ＡＲ３１には数字、範囲ＡＲ３２にはラテン文字、範囲ＡＲ３３にはひらがな、カタカナ及び漢字の組み合わせ、範囲ＡＲ３４には大文字のラテン文字、…のように文字種及びその位置を特定する。
なお、プロセッサー１１は、例えば、文字種を帳票データ又はＡＩなどを用いて特定する。
【００４９】
Ａｃｔ３９においてプロセッサー１１は、Ａｃｔ３８の処理によって文字種の特定に成功したか否かを判定する。プロセッサー１１は、文字種の特定に成功したならば、Ａｃｔ３９においてＹｅｓと判定してＡｃｔ４０へと進む。なお、ここで、文字種の特定に成功したとは、文字種の特定が実際に合っている必要なく、文字種の特定ができたとプロセッサー１１が判定できれば十分である。
【００５０】
Ａｃｔ４０においてプロセッサー１１は、文字種情報を生成する。文字種情報は、Ａｃｔ３８の処理によって特定された文字種（以下「特定文字種」という。）に適した方法で文字認識を実行するように端末装置２０に指示するデータである。また、文字種情報は、１以上の指示情報を含む。そして、文字種情報は、指示情報を用いて文字認識を実行するように端末装置２０に指示するデータである。
【００５１】
指示情報は、例えば、対象画像上の位置を示す位置情報と、当該位置の特定文字種に適したパラメーターとを含む情報である。当該パラメーターは、特定文字種の認識率を上げることができるように文字認識ソフトウェアの設定を変更するための設定値などである。あるいは、当該パラメーターは、該位置の特定文字種の認識率が高い文字認識エンジンを使用するように指定するための設定値などである。指示情報は、文字認識の精度を向上させるための、文字種に応じた第２のデータの一例である。指示情報に含まれるパラメーターは、第２のデータの一例である。
【００５２】
プロセッサー１１は、文字種情報を生成した後、当該文字種情報を第１の結果情報の送信元である端末装置２０に送信するように通信インターフェース１５に対して指示する。この指示を受けて通信インターフェース１５は、当該文字種情報を端末装置２０に送信する。送信された当該文字種情報は、端末装置２０の通信インターフェース２５によって受信される。
【００５３】
一方、端末装置２０のプロセッサー２１は、通信インターフェース２５によって文字種情報が受信されたならば、図２のＡｃｔ１５においてＹｅｓと判定してＡｃｔ１６へと進む。そして、プロセッサー２１は、Ａｃｔ１６においてＮｏと判定してＡｃｔ１９へと進む。
Ａｃｔ１９においてプロセッサー２１は、文字認識を再度実行するか否かを判定する。例えば、プロセッサー２１は、文字種情報が受信されたならば、文字認識を再度実行すると判定する。プロセッサー２１は、文字種情報が受信されたならば、Ａｃｔ１９においてＹｅｓと判定してＡｃｔ２０へと進む。
【００５４】
Ａｃｔ２０においてプロセッサー２１は、文字種情報に含まれる各指示情報に従って、対象画像に対して文字認識を実行する。すなわち、プロセッサー２１は、文字認識ソフトウェアの設定を指示情報に含まれるパラメーターに応じて変更する。そして、設定変更後の文字認識ソフトウェアによって対象画像の、当該指示情報に含まれる位置情報で特定される位置に対して文字認識を実行する。プロセッサー２１は、文字種情報に含まれる指示情報それぞれについて、同様にして文字認識を実行する。
【００５５】
Ａｃｔ２１においてプロセッサー２１は、第２の結果情報を生成する。第２の結果情報は、Ａｃｔ２０において行われた文字認識の結果を含むデータである。第２の結果情報は、対象画像から文字認識によって読み取られた文字及び当該各文字が対象画像のどの位置にあるかを示すデータを含む。第２の結果情報は、文字種を特定済みであることを示すデータを含む。プロセッサー２１は、結果情報を生成した後、当該結果情報をサーバー装置１０に送信するように通信インターフェース２５に対して指示する。この指示を受けて通信インターフェース２５は、当該結果情報をサーバー装置１０に送信する。送信された当該結果情報は、サーバー装置１０の通信インターフェース１５によって受信される。プロセッサー２１は、Ａｃｔ２１の処理の後、Ａｃｔ１５へと戻る。
【００５６】
一方、サーバー装置１０のプロセッサー１１は、文字種の特定に成功していないならば、図４のＡｃｔ３９においてＮｏと判定してＡｃｔ４１へと進む。また、プロセッサー１１は、第２の結果情報が受信されたことにより文字種を特定済みであると判定するならば、Ａｃｔ３６においてＹｅｓと判定してＡｃｔ４１へと進む。また、プロセッサー１１は、Ａｃｔ３２で求めた認識率が閾値Ｔ２以上であるならば、Ａｃｔ３７においてＹｅｓと判定してＡｃｔ４１へと進む。
【００５７】
Ａｃｔ４１においてプロセッサー１１は、Ａｃｔ３２で求めた認識率が閾値Ｔ３以上であるか否かを判定する。プロセッサー１１は、Ａｃｔ３２で求めた認識率が閾値Ｔ３以上であるならば、Ａｃｔ４１においてＹｅｓと判定してＡｃｔ４２へと進む。なお、閾値Ｔ３は、閾値Ｔ２よりも低い値である。
【００５８】
Ａｃｔ４２においてプロセッサー１１は、Ａｃｔ３１で受信された結果情報から、文字認識が不正確である範囲（以下「誤認識範囲」という。）を決定する。なお、プロセッサー１１は、文字種又は内容が想定されるものとは異なっている範囲を誤認識範囲であると判定する。
【００５９】
Ａｃｔ４３においてプロセッサー１１は、範囲要求を生成する。範囲要求は、誤認識範囲を含む画像データを送信するように端末装置２０に要求するデータである。範囲要求は、誤認識範囲を示すデータを含む。プロセッサー１１は、範囲要求を生成した後、当該範囲要求を端末装置２０に送信するように通信インターフェース１５に対して指示する。この指示を受けて通信インターフェース１５は、当該範囲要求を端末装置２０に送信する。送信された当該範囲要求は、端末装置２０の通信インターフェース２５によって受信される。
【００６０】
一方、端末装置２０のプロセッサー２１は、通信インターフェース２５によって範囲要求が受信されたならば、図２のＡｃｔ１５においてＹｅｓと判定してＡｃｔ１６へと進む。そして、プロセッサー２１は、Ａｃｔ１６においてＮｏと判定してＡｃｔ１９へと進む。さらに、プロセッサー２１は、Ａｃｔ１９においてＮｏと判定して図３のＡｃｔ２２へと進む。
Ａｃｔ２２においてプロセッサー２１は、受信されたデータが範囲要求であるか否かを判定する。プロセッサー２１は、受信されたデータが範囲要求であるならば、Ａｃｔ２２においてＹｅｓと判定してＡｃｔ２３へと進む。
【００６１】
Ａｃｔ２３においてプロセッサー２１は、対象画像から誤認識範囲を含む範囲を切り抜く。切り抜き範囲は、例えば、誤認識範囲内の文字を過不足なく含む範囲である。また、切り抜き範囲は、狭い方が良い。切り抜き範囲が狭いほど切り抜かれた画像のデータ量が小さくなるためである。ただし、切り抜き範囲は、これより広い範囲であっても良い。プロセッサー２１は、切り抜いた画像（以下「切り抜き画像」という。）をＲＡＭ１３又は補助記憶デバイス１４などに記憶する。なお、プロセッサー２１は、対象画像が複数の画像からなる画像である場合、複数の画像の中から誤認識範囲を含む画像を選択して、当該画像を切り抜き画像と同様に扱っても良い。切り抜き画像は、部分画像の一例である。
【００６２】
Ａｃｔ２４においてプロセッサー２１は、切り抜き画像をサーバー装置１０に送信するように通信インターフェース２５に対して指示する。この指示を受けて通信インターフェース２５は、当該切り抜き画像をサーバー装置１０に送信する。送信された当該切り抜き画像は、サーバー装置１０の通信インターフェース１５によって受信される。
【００６３】
一方、図４のＡｃｔ４４においてサーバー装置１０のプロセッサー１１は、通信インターフェース１５によって切り抜き画像が受信されるのを待ち受けている。プロセッサー１１は、切り抜き画像が受信されたならば、Ａｃｔ４４においてＹｅｓと判定してＡｃｔ４５へと進む。
【００６４】
Ａｃｔ４５においてプロセッサー１１は、Ａｃｔ４４において受信された切り抜き画像に対して文字認識を実行する。
【００６５】
Ａｃｔ４６においてプロセッサー１１は、Ａｃｔ４５の文字認識の結果を補助記憶デバイス１４などに記憶する。
【００６６】
Ａｃｔ４７においてプロセッサー１１は、第１の結果通知を生成する。第１の結果通知は、Ａｃｔ４５の文字認識の結果を示すデータを含むデータである。プロセッサー１１は、第１の結果通知を生成した後、当該第１の結果通知を端末装置２０に送信するように通信インターフェース１５に対して指示する。この指示を受けて通信インターフェース１５は、当該第１の結果通知を端末装置２０に送信する。送信された当該第１の結果通知は、端末装置２０の通信インターフェース２５によって受信される。プロセッサー１１は、Ａｃｔ４７の処理の後、図４のＡｃｔ３１へと戻る。
【００６７】
一方、図３のＡｃｔ２５において端末装置２０のプロセッサー２１は、通信インターフェース２５によって第１の結果通知が受信されるのを待ち受けている。プロセッサー２１は、第１の結果通知が受信されたならば、Ａｃｔ２５においてＹｅｓと判定して図２のＡｃｔ１７へと進む。
【００６８】
プロセッサー２１は、Ａｃｔ２５からＡｃｔ１７に進んだ場合、Ａｃｔ１７で記憶する文字認識の結果は、Ａｃｔ１３の文字認識の結果に第１の結果通知に含まれる文字認識の結果を適用したものである。すなわち、プロセッサー２１は、Ａｃｔ１３の文字認識の結果と第１の結果通知に含まれる文字認識の結果のうち、同じ範囲の文字認識については、第１の結果通知に含まれる文字認識の結果を採用する。そして、プロセッサー２１は、それ以外の部分については、Ａｃｔ１３の文字認識の結果を採用する。
【００６９】
一方、サーバー装置１０のプロセッサー１１は、図４のＡｃｔ３２で求めた認識率が閾値Ｔ３以上でないならば、図５のＡｃｔ４１においてＮｏと判定してＡｃｔ４８へと進む。
【００７０】
Ａｃｔ４８においてプロセッサー１１は、画像要求を生成する。画像要求は、対象画像の画像データを送信するように端末装置２０の要求するデータである。プロセッサー１１は、画像要求を生成した後、当該画像要求を端末装置２０に送信するように通信インターフェース１５に対して指示する。この指示を受けて通信インターフェース１５は、当該画像要求を端末装置２０に送信する。送信された当該画像要求は、端末装置２０の通信インターフェース２５によって受信される。
【００７１】
一方、端末装置２０のプロセッサー２１は、通信インターフェース２５によって画像要求が受信されたならば、図２のＡｃｔ１５においてＹｅｓと判定してＡｃｔ１６へと進む。そして、プロセッサー２１は、Ａｃｔ１６においてＮｏと判定してＡｃｔ１９へと進む。さらに、プロセッサー２１は、Ａｃｔ１９においてＮｏと判定して図３のＡｃｔ２２へと進む。そして、プロセッサー２１は、Ａｃｔ２２においてＮｏと判定してＡｃｔ２６へと進む。
【００７２】
Ａｃｔ２６においてプロセッサー２１は、対象画像をサーバー装置１０に送信するように通信インターフェース２５に対して指示する。この指示を受けて通信インターフェース２５は、対象画像をサーバー装置１０に送信する。送信された対象画像は、サーバー装置１０の通信インターフェース１５によって受信される。
【００７３】
一方、図５のＡｃｔ４９においてサーバー装置１０のプロセッサー１１は、通信インターフェース１５によって対象画像が受信されるのを待ち受けている。プロセッサー１１は、対象画像が受信されたならば、Ａｃｔ４９においてＹｅｓと判定してＡｃｔ５０へと進む。
【００７４】
Ａｃｔ５０においてプロセッサー１１は、Ａｃｔ４９において受信された対象画像に対して文字認識を実行する。
【００７５】
Ａｃｔ５１においてプロセッサー１１は、Ａｃｔ４９の文字認識の結果を補助記憶デバイス１４などに記憶する。
【００７６】
Ａｃｔ５３においてプロセッサー１１は、第２の結果通知を生成する。第２の結果通知は、Ａｃｔ４９の文字認識の結果を示すデータを含むデータである。プロセッサー１１は、第２の結果通知を生成した後、当該第２の結果通知を端末装置２０に送信するように通信インターフェース１５に対して指示する。この指示を受けて通信インターフェース１５は、当該第２の結果通知を端末装置２０に送信する。送信された当該第２の結果通知は、端末装置２０の通信インターフェース２５によって受信される。プロセッサー１１は、Ａｃｔ５３の処理の後、図４のＡｃｔ３１へと戻る。
【００７７】
一方、図３のＡｃｔ２７において端末装置２０のプロセッサー２１は、通信インターフェース２５によって第２の結果通知が受信されるのを待ち受けている。プロセッサー２１は、第２の結果通知が受信されたならば、Ａｃｔ２７においてＹｅｓと判定して図２のＡｃｔ１７へと進む。
【００７８】
プロセッサー２１は、Ａｃｔ２７からＡｃｔ１７に進んだ場合、Ａｃｔ１７で記憶する文字認識の結果は、第２の結果通知に含まれる文字認識の結果である。
【００７９】
以上のように、サーバー装置１０は、端末装置２０が行った文字認識の認識率に応じて以下の（Ａ）〜（Ｃ）のいずれかの処理を行う。サーバー装置１０は、閾値Ｔ１未満閾値Ｔ２以上である場合、以下の（Ａ）の処理を行う。サーバー装置１０は、閾値Ｔ２未満閾値Ｔ３以上である場合、以下の（Ｂ）の処理を行う。サーバー装置１０は、閾値Ｔ３未満である場合、以下の（Ｃ）の処理を行う。
（Ａ）サーバー装置１０は、対象画像の文字種及びその位置を特定する。そして、サーバー装置１０は、当該文字種に適した方法で端末装置２０に文字認識を再実行させる。
（Ｂ）サーバー装置１０は、誤認識範囲を決定する。そして、サーバー装置１０は、対象画像のうち誤認識範囲を含む画像を端末装置２０から取得する。さらに、サーバー装置１０は、取得した画像に対して文字認識を実行する。
（Ｃ）サーバー装置１０は、対象画像を端末装置２０から取得する。そして、サーバー装置１０は、取得した画像に対して文字認識を実行する。
【００８０】
以上より、例えば、（Ａ）の処理は、第１の方法に係る処理であり、（Ｂ）の処理は、第２の方法に係る処理である。あるいは、（Ａ）の処理は、第１の方法に係る処理であり、（Ｃ）の処理は、第２の方法に係る処理である。あるいは、（Ｂ）の処理は、第１の方法に係る処理であり、（Ｃ）の処理は、第２の方法に係る処理である。
以上より、例えば、閾値Ｔ１は、第１の閾値であり、閾値Ｔ２は、第２の閾値である。あるいは、閾値Ｔ１は、第１の閾値であり、閾値Ｔ３は、第２の閾値である。あるいは、閾値Ｔ２は、第１の閾値であり、閾値Ｔ３は、第２の閾値である。
【００８１】
実施形態の文字認識システム１によれば、端末装置２０が行った文字認識の認識率が閾値Ｔ１未満であるならば、サーバー装置１０は、上記の（Ａ）〜（Ｃ）のいずれかの処理を行う。
サーバー装置１０は、（Ａ）〜（Ｃ）のいずれかの処理を行うことで、文字認識の認識率を、端末装置２０だけで文字認識をした場合よりも向上させることができる。
【００８２】
また、実施形態の文字認識システム１によれば、サーバー装置１０は、閾値Ｔ１未満閾値Ｔ２以上であるならば（Ａ）の処理を行う。そして、サーバー装置１０は、閾値Ｔ２未満閾値Ｔ３以上であるならば（Ｂ）の処理を行う。そして、サーバー装置１０は、閾値Ｔ３未満であるならば（Ｃ）の処理を行う。このように、サーバー装置１０は、認識率に応じて異なる処理を行う。これにより、サーバー装置１０は、認識率ごとに適した処理を行うことができる。
【００８３】
また、実施形態の文字認識システム１によれば、サーバー装置１０は、（Ｂ）の処理を行う場合、（Ｃ）の処理を行うよりも端末装置２０から取得する画像データのデータ容量が小さい。このため、実施形態のサーバー装置１０は、（Ｂ）の処理を行うことで（Ｃ）の処理を行うよりもデータ通信量を減らすことができる。
また、実施形態の文字認識システム１によれば、サーバー装置１０は、（Ｂ）の処理において文字認識を行う画像の範囲は、（Ｃ）の処理において文字認識を行う画像の一部である。このため、実施形態のサーバー装置１０は、（Ｂ）の処理を行うことで（Ｃ）の処理を行うよりも文字認識にかかる処理の負荷を減らすことができる。
【００８４】
また、実施形態の文字認識システム１によれば、サーバー装置１０は、文字認識の結果を記憶する。これにより、サーバー装置１０は、文字認識の結果を様々な処理に利用することができる。
また、実施形態の文字認識システム１によれば、端末装置２０は、文字認識の結果を記憶する。これにより、端末装置２０は、文字認識の結果を様々な処理に利用することができる。
【００８５】
上記の実施形態は、以下のような変形も可能である。
上記の実施形態では、サーバー装置１０は、認識率に応じて３種類の処理から選択した処理を実行する。しかしながら、サーバー装置１０は、認識率に応じて２種類又は４種類以上の処理から選択した処理を実行しても良い。なお、認識率に応じて選択される複数処理のうちのいずれか２種類の処理は、第１の方法及び第２の方法の例である。
【００８６】
端末装置２０は、切り抜き画像又は対象画像をサーバー装置１０に送信することに代えて、切り抜き画像又は対象画像を示すＵＲＬなどのアドレスをサーバー装置１０に送信しても良い。この場合、サーバー装置１０は、当該アドレスから切り抜き画像又は対象画像を取得する。
【００８７】
プロセッサー１１又はプロセッサー２１は、上記実施形態においてプログラムによって実現する処理の一部又は全部を、回路のハードウェア構成によって実現するものであっても良い。
【００８８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８９】
１……文字認識システム、１０……サーバー装置、１１，２１……プロセッサー、１２，２２……ＲＯＭ、１３，２３……ＲＡＭ、１４，２４……補助記憶デバイス、１５，２５……通信インターフェース、１６，２９……バス、２０……端末装置、２６……入力デバイス、２７……表示デバイス、２８……読取デバイス
【図１】
2020160609.tif 000003
【図２】
2020160609.tif 000004
【図３】
2020160609.tif 000005
【図４】
2020160609.tif 000006
【図５】
2020160609.tif 000007