(57)【要約】【課題】認識結果文字列全体を適切なものに修正することができる文字認識装置及び方法、並びにプログラム及び記憶媒体を提供する。【解決手段】ＣＰＵ１０１は、入力された誤認識個所を修正し、かつ、入力された誤認識個所に類似する誤認識個所を修正すると共に、認識結果文字列全体を通して認識結果文字列を修正し、誤認識個所と誤認識個所に類似する誤認識個所の修正後、最尤となる認識結果文字列を出力する。【選択図】図１
2007280224.tif 000002
【特許請求の範囲】
【請求項１】
認識結果文字列を演算する文字列演算手段と、
認識結果文字列を表示する文字列表示手段と、
ユーザーに認識結果文字列内の誤認識個所及び正答を入力させる入力手段と、
入力された誤認識個所を修正する第１の修正手段と、
入力された誤認識個所に類似する誤認識個所を修正する第２の修正手段と、
認識結果文字列全体を通して認識結果文字列を修正する第３の修正手段とを備えることを特徴とする文字認識装置。
【請求項２】
前記文字列表示手段は、ユーザーに入力された誤認識個所及び正答と、入力された誤認識個所に類似する誤認識個所及び正答と、認識結果文字列全体を通して適切となるべく修正された個所とを、それぞれ、字色、背景色、字体、及び大きさの少なくとも１つを変更して表示する機能を有することを特徴とする請求項１記載の文字認識装置。
【請求項３】
前記第３の修正手段は、認識結果文字列全体を通して適切となるべく認識結果文字列の修正すべき個所を検出する第１の検出機能と、前記第１の検出機能により検出された個所に類似する修正可能個所を検出する第２の検出機能と、認識結果文字列について、前記第１、第２の検出機能により検出された修正個所及び修正可能個所を修正する修正機能と、前記第１、第２の検出機能が修正個所もしくは修正可能個所を検出しなくなるまで、修正個所検出及び修正可能個所検出及び修正を繰り返す繰り返し機能とを有することを特徴とする請求項２又は３記載の文字認識装置。
【請求項４】
前記文字列演算手段は、認識候補文字列群を確率モデルとして構築する構築機能と、前記確率モデル上の最尤経路を求める最尤経路算出機能とを有することを特徴とする請求項３記載の文字認識装置。
【請求項５】
前記確率モデルは、認識候補部分文字列をノードとし、認識候補部分文字列間の遷移をリンクとする確率グラフであり、認識候補部分文字列の生起確率がノードの生起確率であり、認識候補部分文字列間の遷移確率がリンクの遷移確率であることを特徴とする請求項４記載の文字認識装置。
【請求項６】
前記第１の修正手段は、前記確率グラフ上の誤認識個所において正答に相当するノードが存在しない場合に、確率グラフ上の誤認識個所に正答に相当するノードを追加する追加機能と、誤認識個所上の正答以外のノードの生起率を下げる生起率低減機能とを有することを特徴とする請求項５記載の文字認識装置。
【請求項７】
前記第２の修正手段は、前記確率グラフ上の入力された誤認識個所と類似する誤認識と想定される個所を検索する検索機能と、前記確率グラフ上の入力された誤認識個所と類似する誤認識と想定される個所において正答に相当するノードが存在しなかった場合に前記確率グラフ上の誤認識と想定される個所に正答に相当するノードを追加する追加機能と、前記確率グラフ上の入力された誤認識個所と類似する誤認識と想定される個所の正答に相当するノードの生起確率を向上させる生起確率向上機能とを有することを特徴とする請求項６記載の文字認識装置。
【請求項８】
前記第３の修正手段は、前記確率グラフ上の最尤経路を求めて、確率グラフの修正前と修正後とで最尤経路の差分を取得し、最尤経路の全ての差分及びその差分に類似した個所について相当する確率グラフ上のノードの生起確率を変更する生起確率変更機能と、最尤経路の差分がなくなるまで最尤経路演算、差分取得、生起確率変更を繰り返す繰り返し機能とを有することを特徴とする請求項７記載の文字認識装置。
【請求項９】
認識結果文字列を演算する文字列演算ステップと、
認識結果文字列を表示する文字列表示ステップと、
ユーザーに認識結果文字列内の誤認識個所及び正答を入力させる入力ステップと、
入力された誤認識個所を修正する第１の修正ステップと、
入力された誤認識個所に類似する誤認識個所を修正する第２の修正ステップと、
認識結果文字列全体を通して認識結果文字列を修正する第３の修正ステップとを備えることを特徴とする文字認識方法。
【請求項１０】
認識結果文字列を演算する文字列演算モジュールと、
認識結果文字列を表示する文字列表示モジュールと、
ユーザーに認識結果文字列内の誤認識個所及び正答を入力させる入力モジュールと、
入力された誤認識個所を修正する第１の修正モジュールと、
入力された誤認識個所に類似する誤認識個所を修正する第２の修正モジュールと、
認識結果文字列全体を通して認識結果文字列を修正する第３の修正モジュールとをコンピュータに実行させることを特徴とする文字認識プログラム。
【請求項１１】
請求項１０記載の文字認識プログラムを格納するコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識装及び方法、並びにプログラム及び記憶媒体に関する。
【背景技術】
【０００２】
従来、文字認識結果を修正するインターフェース形態は、ユーザーが誤認識修正を行う場合に、誤認識と想定される個所を認識結果内から検索し、該当するか又は類推される誤認識個所を正答に置き換え、強調表示するものが一般的であった（例えば、特許文献１参照）。
【特許文献１】特開平１０−６９５１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来技術は、該当する誤認識個所及び類似する誤認識個所以外は修正されないため、誤認識箇所修正後に不適切な文字列が発生した場合に、これを修正できないという不具合があった。
【０００４】
本発明の目的は、認識結果文字列全体を適切なものに修正することができる文字認識システム及び方法、並びにプログラム及び記憶媒体を提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１記載の文字認識装置は、認識結果文字列を演算する文字列演算手段と、認識結果文字列を表示する文字列表示手段と、ユーザーに認識結果文字列内の誤認識個所及び正答を入力させる入力手段と、入力された誤認識個所を修正する第１の修正手段と、入力された誤認識個所に類似する誤認識個所を修正する第２の修正手段と、認識結果文字列全体を通して認識結果文字列を修正する第３の修正手段とを備えることを特徴とする。
【０００６】
請求項９記載の文字認識方法は、認識結果文字列を演算する文字列演算ステップと、認識結果文字列を表示する文字列表示ステップと、ユーザーに認識結果文字列内の誤認識個所及び正答を入力させる入力ステップと、入力された誤認識個所を修正する第１の修正ステップと、入力された誤認識個所に類似する誤認識個所を修正する第２の修正ステップと、認識結果文字列全体を通して認識結果文字列を修正する第３の修正ステップとを備えることを特徴とする。
【０００７】
請求項１０記載の文字認識プログラムは、認識結果文字列を演算する文字列演算モジュールと、認識結果文字列を表示する文字列表示モジュールと、ユーザーに認識結果文字列内の誤認識個所及び正答を入力させる入力モジュールと、入力された誤認識個所を修正する第１の修正モジュールと、入力された誤認識個所に類似する誤認識個所を修正する第２の修正モジュールと、認識結果文字列全体を通して認識結果文字列を修正する第３の修正モジュールとをコンピュータに実行させることを特徴とする。
【０００８】
請求項１１記載のコンピュータ読み取り可能な記憶媒体は、請求項１０記載の文字認識プログラムを格納することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、入力された誤認識個所を修正し、かつ、入力された誤認識個所に類似する誤認識個所を修正すると共に、認識結果文字列全体を通して認識結果文字列を修正するので、誤認識個所と誤認識個所に類似する誤認識個所の修正後、最尤となる認識結果文字列を出力することができ、認識結果文字列全体を適切なものに修正することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。
【００１１】
図１は、本発明の実施の形態に係る文字認識装置の構成を概略的に示す図である。
【００１２】
図１の文字認識システムは、ＣＰＵ１０１と、このＣＰＵ１０１に接続される入力部１０２、ＲＯＭ１０３、ＲＡＭ１０４、及び表示部１０５を備える。ここで、ＣＰＵ１０１は、ＲＯＭ１０３に格納された文字認識プログラムにより、図２のフローチャートの処理を実行する。
【００１３】
図２は、図１の文字認識装置によって実行される文字認識処理の手順を示すフローチャートである。図３は、図１における表示部の表示画面を示す図である。
【００１４】
図２の処理は、文字認識装置のＣＰＵ１０１によって実行される。
【００１５】
図２において、まず、図４に例として示す確率グラフを生成する（ステップＳ２０１）。この確率グラフは、文字切り、類似度に基づく文字認識エンジン、形態素解析や辞書マッチングの結果によって得られる。この手法は例えば特開平９−１３４４１０号公報、特開平１１−３２８３１６号公報、特開平８−３１５０７８号公報などに記載されている。
【００１６】
次に、標準的なＶｉｔｅｒｂｉアルゴリズムによって上記確率グラフから最尤となる認識結果文字列を求め（ステップＳ２０２）(文字列演算手段)、認識結果文字列を図３に例として示す表示部１０５の表示画面３０１に出力・表示する（ステップＳ２０３）(文字列表示手段)。
【００１７】
次に、図３の表示画面３０３により、入力部１０２からのユーザーによる誤認識個所及び正答の入力を待つ（ステップＳ２０４）(入力手段)。ユーザーに誤認識個所３０２が指摘されると、図４に示す確率グラフ内から該当するノード４０１を検索し、ノード４０１と並列する部分グラフ４０２を求める。
【００１８】
そして、各部分グラフ４０２の先頭ノードをなす文字列の集合４０３を認識候補文字列群として、図３に例として示す表示画面３０４によりユーザーに提示する。ここでは、ユーザーは提示された認識候補文字列群３０４から正答３０５を選択したものとする。
【００１９】
次にステップＳ２０５において、ステップＳ２０４で正答の入力又は選択がなされたか否かを判別する。正答の入力又は選択がなされた場合は、確率モデルの誤認識個所に相当するノード群の生起確率を修正する（ステップＳ２０６）(第１の修正手段)。具体的には、まず、正答３０５に対応するグラフ上ノード４０４を検索し、グラフ上ノード４０４に「正答である」ことをマークし、同時に、正答３０５に対応するノード４０４と並行するノード群４０５に「誤答である」ことをマークする。
【００２０】
次に、確率グラフの入力された誤認識個所に類似する誤認識個所を修正する（ステップＳ２０７）(第２の修正手段)。具体的には、まず、ユーザーにより入力された誤認識個所及び正答４０４に類似する確率グラフ上ノード群、即ち、類似する誤認識個所を探す。この検索方法は、例えば特開２００３−２２３６０８号公報記載の技術などから容易に類推可能である。
【００２１】
図４において、正答３０５に対応するノード４０４に類似するグラフ上ノードは存在しないのでステップＳ２０８に遷移する。次に、ステップＳ２０８において、認識結果文字列をＲＡＭ１０４に保存しておく。
【００２２】
次に、ノードに付加されたマークを考慮して認識結果文字列を演算する（ステップＳ２０９）(第３の修正手段)。この演算は、確率グラフ上の最尤経路導出問題であり、修正したＶｉｔｅｒｂｉアルゴリズムによって可能である。Ｖｉｔｅｒｂｉアルゴリズムにおいて、確率グラフの各々のノードやリンクを探索していく過程で、そのノードやリンクに生起確率もしくは遷移確率の変更を意味するマークが付加されているか判断する。そして、その確率をマークに応じて増加あるいは低減させたものとして最尤経路を求める。
【００２３】
具体的には「正答である」、「正答と類似する」、「正答と推測される」、「正答と推測される個所に類似である」などの場合には確率を増加させ、「誤答である」、「誤答と類似する」である場合には確率を低減させる。
【００２４】
このとき、「目黒線−新丸子」、即ち、ノード４０１―ノード４０６が認識文字列候補だった個所において、ノード４０１が「誤答である」とされる。そして、ノード４０４、即ち「目蒲線」が「正答である」とマークされており、かつ、ノード４０１とノード４０６間の遷移確率とノード４０４とノード４０７間の遷移確率が同程度の場合は次ぎのようになる。即ち、この区間における最尤経路はノード４０４―ノード４０７となり、「目蒲線−下丸子」が認識結果文字列となる。
【００２５】
次に、ステップＳ２０８で保存した認識結果文字列と、ステップＳ２０９で新しく求めた認識結果文字列の差分であるノード４０４―ノード４０７、即ち、文字列全体を通して適切となるべく正答と推測される個所があるか否かを判別する（ステップＳ２１０）。この差分が存在しないならば、文字列全体を通して適切となるべく認識結果文字列を修正する行為が収束したと見なし、認識結果文字列を出力するため、ステップＳ２０３に戻る。
【００２６】
ステップＳ２１０の判別の結果、認識結果文字列の差分があるときは、正答と推測されるノード４０４―ノード４０７のうち、「正答である」、「正答と類似する」がマークされていないノード４０７に「正答と推測される」ことをマークする（ステップＳ２１１）。
【００２７】
次に、全ての正答と推測されるノード４０７に類似するノード群を検索し、それらのノード群において正答と推測される個所に類似するノード４０８に「正答と推測される個所に類似である」ことをマークする（ステップＳ２１２）。
【００２８】
次いで、ステップＳ２０８に戻り、認識結果文字列をＲＡＭ１０４に保存した後、認識結果文字列を演算し（ステップＳ２０９）、認識結果文字列の修正が収束したことを確認して認識結果文字列の差分がなくなったときに（ステップＳ２１０でＮＯ）、ステップＳ２０３に戻る。
【００２９】
ステップＳ２０３では、図３の表示画面３０６に示す認識結果文字列を出力する。認識結果文字列を出力していく過程で、認識結果文字列の部分文字列に対応するノードやリンクに生起確率又は遷移確率の変更を意味するマークが付加されている場合は次の処理を行う。即ち、そのマークを意味するフォントや色、装飾に基づいて認識結果文字列を表示する。
【００３０】
具体的には、「正答である」としての「目蒲線」３０７はゴシック体、「正答と推測される」「正答と推測される個所に類似である」としての「下丸子」３０８及び３０９はゴシック斜体、それ以外の場合には明朝体で表示している。
【００３１】
次に、ユーザーは誤認識個所３１０を指摘して正答３１１を入力したものとし（ステップＳ２０４）、この場合、誤認識箇所の入力があった（ステップＳ２０５でＹＥＳ）ので、ステップＳ２０６に進み、誤認識個所２１０に対応する部分グラフ４０８に、正答３１１に対応するグラフ上ノード４０９を追加し、ノード４０９に「正答である」ことをマークする。同時に、ノード４０９と並行するノード群４１０に「誤答である」ことをマークする。
【００３２】
次に、ステップＳ２０７において、正答ノード４０９に類似する確率グラフ上ノード群４１１を探す。ノード群４１１の中に正答４０９に相当するノードが存在しない場合は正答に類似するノード４１２を確率グラフに追加し、周囲のノードとのリンクの遷移確率を求める。このときに、ノード４１２とノード４１５の間の遷移確率は、つまり「二一丁目」という文字列の確からしさであり、ノード４１４とノード４１５の間の遷移確率即ち「三丁目」という文字列の確からしさよりも大幅に小さくなる。
【００３３】
次に、ノード群４１１において正答に類似するノード４１２に「正答と類似する」ことをマークし、同時に、正答に類似するノード４１２と並行するノード群４１３に「誤答と類似する」ことをマークする。
【００３４】
次に、認識結果文字列をＲＡＭ１０４に保存し（ステップＳ２０８）、ノードに付加されたマークを考慮して認識結果文字列を演算する（ステップＳ２０９）。このとき、ノード４１４―ノード４１５が認識文字列候補だった個所において、ノード４１２が挿入されていたとしても、ノード４１２―ノード４１５間の遷移確率が小さく、ノード４１４とノード４１５が最尤経路のままである。即ち、認識結果文字列に変更は発生しない。
【００３５】
次いで、認識結果文字列の変更がなく、認識結果文字列の差分が発生していない（ステップＳ２１０）ので、ステップＳ２０３に戻り、図３の表示画面３１２に示す認識結果文字列を出力する。
【００３６】
続くステップＳ２０４では、ユーザーが誤認識個所として表示３１３を指摘した場合、表示３１３に対応するノード４１２に並列する部分グラフ４１１の先頭ノードをなす文字列の集合４１１を認識候補文字列群としてユーザーに提示する。この提示の例を表示３１４に示す。
【００３７】
ステップＳ２０５において、ユーザーによる誤認識個所の入力又は選択がなかった場合には、認識結果文字列において誤認識個所は残っていないことになり、このときの認識結果文字列を出力して、本処理を終了する。
【００３８】
以上説明した通り、本実施の形態においては、ユーザーが認識結果文字列内の誤認識個所及び正答を入力し、その入力された誤認識個所及び類似する誤認識個所を修正した後に、確率モデル上の最尤経路が収束するまで確率モデルの修正を繰り返す。これにより、認識結果文字列全体を通して最尤となる認識結果文字列を出力することができる。
【００３９】
また、本発明の目的は、実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム又は装置に供給し、そのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵなど）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【００４０】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４１】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００４２】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施の形態に係る文字認識装置の構成を概略的に示す図である。
【図２】図１の文字認識装置によって実行される文字認識処理の手順を示すフローチャートである。
【図３】図１における表示部の表示画面を示す図である。
【図４】図２の確率グラフ生成処理で生成された確率グラフの一例を示す図である。
【符号の説明】
【００４４】
１０１  ＣＰＵ
１０２  入力部
１０３  ＲＯＭ
１０４  ＲＡＭ
１０５  表示部
【図１】
2007280224.tif 000003
【図２】
2007280224.tif 000004
【図３】
2007280224.tif 000005
【図４】
2007280224.tif 000006