(57)【特許請求の範囲】
【請求項１】
コンピュータに、
入力操作に対応した入力座標情報から入力ストローク情報を生成し、
前記入力ストローク情報から、照合対象文字を構成する照合対象ストロークを組み合わせた、複数のストローク組み合わせ候補、および、前記複数のストローク組み合わせ候補に対する評価値を生成し、
前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率、および、前記照合対象文字それぞれの出現確率に基づき生成された、記憶装置に保存されたストロークごとの出現確率情報、および、前記評価値に基づき、前記複数のストローク組み合わせ候補から、第１のストローク組み合わせを特定し、
前記第１のストローク組み合わせから、前記入力操作に対応する認識文字を出力する、
処理を実行させることを特徴とする文字認識プログラム。
【請求項２】
前記入力ストローク情報は、入力操作に関する時間情報を含み、
前記第１のストローク組み合わせの特定に、前記入力ストローク情報における、ストローク間の時間情報を利用することを特徴とする請求項１記載の文字認識プログラム。
【請求項３】
前記第１のストローク組み合わせを特定する処理は、
前記照合対象ストロークの組み合わせに基づき文字と文字の境界を判定する処理を含むことを特徴とする請求項１又は２記載文字認識プログラム。
【請求項４】
コンピュータによる文字認識方法であって、該コンピュータが、
入力操作に対応した入力座標情報から入力ストローク情報を生成し、
前記入力ストローク情報から、照合対象文字を構成する照合対象ストロークを組み合わせた、複数のストローク組み合わせ候補、および、前記複数のストローク組み合わせ候補に対する評価値を生成し、
前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率、および、前記照合対象文字それぞれの出現確率に基づき生成された、記憶装置に保存されたストロークごとの出現確率情報、および、前記評価値に基づき、前記複数のストローク組み合わせ候補から、第１のストローク組み合わせを特定し、
前記第１のストローク組み合わせから、前記入力操作に対応する認識文字を出力する、
処理を実行させることを特徴とする文字認識方法。
【請求項５】
入力操作に対応した入力座標情報から入力ストローク情報を生成する入力受付部と、
前記入力ストローク情報から、照合対象文字を構成する照合対象ストロークを組み合わせた、複数のストローク組み合わせ候補、および、前記複数のストローク組み合わせ候補に対する評価値を生成する評価値生成部と、
前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率、および、前記照合対象文字それぞれの出現確率に基づき生成された、記憶装置に保存されたストロークごとの出現確率情報、および、前記評価値に基づき、前記複数のストローク組み合わせ候補から、第１のストローク組み合わせを特定する結果出力部と、
前記第１のストローク組み合わせから、前記入力操作に対応する認識文字を出力する認識部と、を有することを特徴とする文字認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識プログラム、文字認識方法及び文字認識装置に関する。
【背景技術】
【０００２】
従来から、手書き入力された文字を認識する文字認識の技術が知られている。文字認識の技術として、例えば、枠の中に入力されたストローク（筆跡）から文字を認識するものが知られている。また、文字認識の技術として、例えば、入力されたストロークを位置情報に変換し、この位置情報と、字型の位置情報とに基づき文字を認識するものが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１０５７９８号公報
【特許文献２】特開２０１３−２３８９１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来の技術において、例えば枠の中に入力されたストロークから文字を認識する場合、前後のストロークの関係を認識していないために誤った認識を行う可能性がある。また、ストロークと字型の位置情報から文字を認識する場合には、特に画数の少ない数字等において文字と文字の境界の判定を正確に行うことが困難であり、誤認識が発生する可能性がある。
【０００５】
すなわち、個々のストロークから文字を推定する従来の技術では、数字のようにストロークの種類が少なくかつ字型がシンプルな場合、入力されたストロークから得られる情報は、正確な文字認識を行うには十分ではない。
【０００６】
１つの側面では、複数の文字になり得る可能性のあるストロークにおける文字認識の精度を向上させることができる文字認識方法、文字認識プログラム及び文字認識装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
一様態によれば、コンピュータに、入力操作に対応した入力座標情報から入力ストローク情報を生成し、前記入力ストローク情報から、照合対象文字を構成する照合対象ストロークを組み合わせた、複数のストローク組み合わせ候補、および、前記複数のストローク組み合わせ候補に対する評価値を生成し、前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率、および、前記照合対象文字それぞれの出現確率に基づき生成された、記憶装置に保存されたストロークごとの出現確率情報、および、前記評価値に基づき、前記複数のストローク組み合わせ候補から、第１のストローク組み合わせを特定し、前記第１のストローク組み合わせから、前記入力操作に対応する認識文字を出力する、処理を実行させる。
【０００８】
上記各処理は、上記各処理を実現する機能部、上記各処理を手順としてコンピュータにより実行させる方法、プログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【０００９】
複数の文字になり得る可能性のあるストロークにおける文字認識の精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の主なプログラム構成を説明する図である。
【図２】文字認識装置のハードウェア構成の一例を示す図である。
【図３】文字認識装置の機能を説明する図である。
【図４】統計データ生成部の機能構成を説明する図である。
【図５】文字判断部の機能構成を説明する図である。
【図６】文字認識装置の動作を説明するフローチャートである。
【図７】統計データ生成部による処理を説明するフローチャートである。
【図８】数値データ抽出部の処理を説明する図である。
【図９】ストローク辞書データベースの一例を示す図である。
【図１０】ストロークデータベースの一例を示す図である。
【図１１】出現確率算出部の処理を説明する図である。
【図１２】統計データベースの一例を示すである。
【図１３】文字判断部による処理を説明するフローチャートである。
【図１４】評価値テーブルの一例を示す図である。
【図１５】パターン生成部が生成するストロークの組合せのパターンの一例を示す図である。
【図１６】統計照合結果テーブルの一例を示す図である。
【図１７】区切れ位置テーブルの一例を示す図である。
【図１８】ストローク時間テーブルの一例を示す図である。
【図１９】ストローク時間テーブルの設定値について説明する図である。
【図２０】時間照合結果テーブルの一例を示す図である。
【図２１】結果テーブルの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に図面を参照して実施形態について説明する。図１は、本実施形態の主なプログラム構成を説明する図である。
【００１２】
本実施形態は、主なプログラムとして、統計データ作成プログラム１０、文字判断プログラム２０、認識プログラム３０を有する。
【００１３】
統計データ作成プログラム１０は、ビッグデータ等の大量の文書データから数字を抽出し、数字に含まれるストロークの組合せ毎の出現確率を示す統計データを作成する。尚、以下に説明におけるストロークとは、筆跡を示している。１ストロークは、筆跡の始点から終点までを示す。
【００１４】
文字判断プログラム２０は、作成された統計データを参照し、入力されたストロークの組合せから、文字と文字の境界を判断する。すなわち、文字判断プログラム２０は、入力されたストロークのうち、どのストロークが１文字を形成するかを判断する。
【００１５】
認識プログラム３０は、文字判断プログラム２０により、１文字であると判断されたストロークが示す文字を認識する。
【００１６】
本実施形態の統計データ作成プログラム１０、文字判断プログラム２０、認識プログラム３０は、それぞれが独立した装置に実装されていても良いし、それぞれが１つの装置に実装されていても良い。また、本実施形態の文字判断プログラム２０及び認識プログラム３０は、文字認識プログラムとして１つの装置に実行されることが好ましい。
【００１７】
以下の実施形態の説明では、統計データ作成プログラム１０、文字判断プログラム２０、認識プログラム３０が１つの装置に実装された場合について説明する。以下の説明では、統計データ作成プログラム１０、文字判断プログラム２０、認識プログラム３０が実装された装置を文字認識装置と呼ぶ。
【００１８】
図２は、文字認識装置のハードウェア構成の一例を示す図である。本実施形態の文字認識装置１は、それぞれバスＢで相互に接続されている表示操作装置１１、ドライブ装置１２、補助記憶装置１３、メモリ装置１４、演算処理装置１５及びインターフェース装置１６を有する。
【００１９】
表示操作装置１１は、例えばタッチパネル等であり、各種信号の入力と、各種信号の表示（出力）に用いられる。インターフェース装置１６は、モデム，ＬＡＮカード等を含み、ネットワークに接続する為に用いられる。
【００２０】
統計データ作成プログラム１０、文字判断プログラム２０及び認識プログラム３０は、文字認識装置１を制御する各種プログラムの少なくとも一部である。画くプログラムは例えば記録媒体１７の配布やネットワークからのダウンロードなどによって提供される。統計データ作成プログラム１０、文字判断プログラム２０及び認識プログラム３０を記録した記録媒体１７は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００２１】
また、統計データ作成プログラム１０、文字判断プログラム２０及び認識プログラム３０を記録した記録媒体１７がドライブ装置１２にセットされると、各プログラムは記録媒体１７からドライブ装置１２を介して補助記憶装置１３にインストールされる。ネットワークからダウンロードされた各プログラムは、インターフェース装置１６を介して補助記憶装置１３にインストールされる。
【００２２】
補助記憶装置１３は、インストールされた統計データ作成プログラム１０、文字判断プログラム２０及び認識プログラム３０を格納すると共に、必要なファイル、データ等を格納する。メモリ装置１４は、コンピュータの起動時に補助記憶装置１３から統計データ作成プログラム１０、文字判断プログラム２０及び認識プログラム３０を読み出して格納する。そして、演算処理装置１５はメモリ装置１４に格納された各プログラムに従って、後述するような各種処理を実現している。
【００２３】
図３は、文字認識装置の機能を説明する図である。本実施形態の文字認識装置１は、統計データ生成部１００、文字判断部２００、認識部３００を有する。
【００２４】
本実施形態の統計データ生成部１００は、演算処理装置１５が統計データ作成プログラム１０を実行することで実現される。本実施形態の文字判断部２００は、演算処理装置１５が文字判断プログラム２０を実行することで実現される。本実施形態の認識部３００は、演算処理装置１５が認識プログラム３０を実行することで実現される。
【００２５】
本実施形態の文字認識装置１は、主に数字が入力されるものであり、数字を認識するもとして説明する。
【００２６】
本実施形態の統計データ生成部１００は、大量テキストデータベース１１０、ストローク辞書データベース１２０、ストローク時間テーブル２３０を予め有している。
【００２７】
大量テキストデータベース１１０は、ビッグデータ等の大量のテキストデータが格納されている。ストローク辞書データベース１２０は、ストロークの種類を示すストローク情報と、ストローク毎の利用割合を示す利用割合情報を含む。ストローク時間テーブル２３０は、ストロークの入力に係る時間の閾値が格納されている。
【００２８】
統計データ生成部１００は、大量テキストデータベース１１０から数字で示される数値データを抽出し、数値データベース１３０に格納する。そして、統計データ生成部１００は、ストローク辞書データベース１２０を参照し、数値データの数字に含まれるストロークの組合せ毎の出現回数を求め、ストロークデータベース１４０に格納する。次に、統計データ生成部１００は、ストロークの組合せ毎のＮグラムの統計データを作成し、ストロークデータベース１４０を参照してストロークの組合せ毎の出現確率を算出し、統計データベース１５０に格納する。
【００２９】
本実施形態の文字判断部２００は、入力受付部２１０と、組合せ判断部２２０を有する。文字判断部２００において、入力受付部２１０は、文字認識装置１への文字の入力を受け付けると、入力されたストロークの座標値を入力ストロークテーブル２１１に格納する。次に文字判断部２００は、組合せ判断部２２０により、入力された各ストロークについてストローク辞書データベース１２０に格納されたストローク情報との一致度を示す評価値を求め、評価値テーブル２１２に格納する。
【００３０】
続いて、組合せ判断部２２０は、入力されたストロークの数から得られるストロークの組合せのパターンを求める。そして、組合せ判断部２２０は、統計データベース１５０に格納されたストロークの組合せ毎の出現確率と、評価値テーブル２１２に格納された評価値とを用いて、パターン毎のスコアを算出し、統計照合結果テーブル２１３を作成する。
【００３１】
次に、組合せ判断部２２０は、統計照合結果テーブル２１３を参照し、スコアの値が高い方から所定数のパターンにおいて、文字の区切れ（文字と文字の境界）となり得る位置を求め、区切れ位置を示す区切れ位置テーブル２１４を作成する。次に、組合せ判断部２２０は、ストローク時間テーブル２３０と、ストロークの入力に係る時間とを照合し、時間照合結果テーブル２１５を作成する。
【００３２】
続いて、組合せ判断部２２０は、区切れ位置テーブル２１４と時間照合結果テーブル２１５とに基づき、入力された複数のストロークにおける文字の区切りとなる位置を示す結果テーブル２１６を作成する。
【００３３】
本実施形態の統計データ生成部１００と文字判断部２００の詳細は後述する。
【００３４】
本実施形態の認識部３００は、結果テーブル２１６が作成されると、結果テーブル２１６に示される文字の区切れに従って、文字の認識を行い、認識結果となる文字を出力する。
【００３５】
以上のように、本実施形態によれば、入力されたストロークの数から得られるストロークの組合せのパターン毎に、入力されたストロークとストローク情報とから得た評価値と、ストロークの組合せの出現確率に基づくスコアを算出する。そして、本実施形態では、スコアの値が大きいストロークの組合せのパターンから文字の区切りを求め、文字認識を行う。したがって、本実施形態によれば、ストロークの数が少ない、すなわち画数が少ない数字等の文字の認識の精度を向上させることができ、複数の文字になり得る可能性のあるストロークからの文字認識の精度を向上させることができる。
【００３６】
次に、図４を参照して、本実施形態の統計データ生成部１００について説明する。図４は、統計データ生成部の機能構成を説明する図である。
【００３７】
本実施形態の統計データ生成部１００は、テキストデータ参照部１６０、数値データ抽出部１７０、ストローク情報変換部１８０、出現確率算出部１９０を有する。
【００３８】
本実施形態のテキストデータ参照部１６０は、大量テキストデータベース１１０を参照する。本実施形態の大量テキストデータベース１１０は、文字認識装置１の内部に設けられていても良いし、文字認識装置１の外部のネットワーク上等に設けられていても良い。本実施形態の大量テキストデータベース１１０は、例えばビッグデータ等の大量のテキストデータが格納されている。ビッグデータとは、巨大で複雑なデータ集合の集積物を示す。
【００３９】
数値データ抽出部１７０は、大量テキストデータベース１１０から、数値を示す数値データを抽出する。すなわち、数値データ抽出部１７０は、大量テキストデータベース１１０から数字のテキストデータを抽出する。
【００４０】
ストローク情報変換部１８０は、ストローク辞書データベース１２０を参照し、抽出された数値データの数字に含まれるストロークの組合せと、組合せ毎の出現回数とを求め、ストロークデータベース１４０へ格納する。ストローク辞書データベース１２０と、ストロークデータベース１４０の詳細は後述する。
【００４１】
出現確率算出部１９０は、数字に含まれるストロークの組合せから、Ｎグラムの統計データを収集し、Ｎ個のストロークを組み合わせた組合せ毎の出現確率を算出し、統計データベース１５０に格納する。
【００４２】
統計データ生成部１００における各部の処理の詳細は後述する。
【００４３】
図５は、文字判断部の機能構成を説明する図である。本実施形態の文字判断部２００は、入力受付部２１０、組合せ判断部２２０を有する。
【００４４】
入力受付部２１０は、文字認識装置１に対するストロークの入力を受け付ける。組合せ判断部２２０は、入力ストローク照合部２２１と、評価値生成部２２２と、パターン生成部２２３と、統計データ照合部２２４と、区切れ位置出力部２２５と、時間照合部２２６と、結果出力部２２７と、を有する。
【００４５】
入力ストローク照合部２２１は、入力されたストロークを座標値として格納した入力ストロークテーブル２１１を生成する。また、入力ストローク照合部２２１は、ストロークの入力の際に、ストローク時間情報を取得し、入力ストロークテーブル２１１に格納する。本実施形態のストローク時間情報は、ストロークの終点から次のストロークの始点が入力されまでの中断時間である。
【００４６】
そして、入力ストローク照合部２２１は、入力されたストロークと、ストローク辞書データベース１２０とを照合する。
【００４７】
評価値生成部２２２は、入力ストローク照合部２２１による照合の結果から、入力されたストローク毎の評価値を生成する。本実施形態のストロークの評価値は、入力されたストロークと、ストローク辞書データベース１２０に格納されたストローク情報との一致度を示す値（第一の評価値）である。
【００４８】
パターン生成部２２３は、入力されたストロークの数から考えられるストロークの組合せのパターン（組合せ候補）を生成する。統計データ照合部２２４は、生成されたパターン毎に統計データベース１５０を照合し、パターンに含まれるストロークの評価値と、パターンの出現確率とからスコア（第二の評価値）を算出し、統計照合結果テーブル２１３に格納する。
【００４９】
区切れ位置出力部２２５は、統計照合結果テーブル２１３を参照し、各パターンにおける文字の区切れとなる位置を示す区切れ位置テーブル２１４を出力する。
【００５０】
時間照合部２２６は、入力されたストロークから取得したストローク時間情報と、ストローク時間テーブル２３０とを照合し、照合結果に応じてスコアを変更した時間照合結果テーブル２１５を生成する。結果出力部２２７は、時間照合結果テーブル２１５に基づき、入力されたストロークにおける文字の区切れの位置が格納された結果テーブル２１６を出力する。
【００５１】
文字判断部２００における各部の処理の詳細は後述する。
【００５２】
次に、本実施形態の文字認識装置１の動作について説明する。図６は、文字認識装置の動作を説明するフローチャートである。
【００５３】
本実施形態の文字認識装置１は、文字判断部２００の入力受付部２１０により、文字認識装置１においてストロークの入力を受け付ける（ステップＳ６１）。続いて文字認識装置１は、組合せ判断部２２０により、統計データベース１５０を参照し（ステップＳ６２）、入力されたストロークにおいて、文字の区切れの位置を判断する（ステップＳ６３）。すなわち、文字認識装置１は、入力されたストロークから、１文字となるストロークの組合せを判断する。
【００５４】
続いて、文字認識装置１は、認識部３００により、１文字となるストロークの組合せから文字の認識を行い（ステップＳ６４）、認識結果の文字を出力する（ステップＳ６５）。
【００５５】
尚、図６の説明では、統計データ生成部１００による統計データベース１５０の生成処理が含まれておらず、ストロークの入力を受け付けた際には統計データベース１５０は既に生成されているものとしたが、これに限定されない。文字認識装置１は、ストロークの入力を受け付けてから、統計データ生成部１００による統計データベース１５０の生成を行っても良い。
【００５６】
以下に、本実施形態の統計データ生成部１００による統計データベース１５０の生成処理について説明する。
【００５７】
図７は、統計データ生成部による処理を説明するフローチャートである。本実施形態の統計データ生成部１００は、テキストデータ参照部１６０により、大量テキストデータベース１１０に格納されたテキストデータを読み込む（ステップＳ７１）。続いて、統計データ生成部１００は、数値データ抽出部１７０により、読み込んだテキストデータから数値データを抽出し、数値データベース１３０に格納する（ステップＳ７２）。
【００５８】
続いて、統計データ生成部１００は、ストローク情報変換部１８０により、抽出した数値データに含まれる数字を形成するストロークの組合せと、組合せ毎の出現回数を求め、ストロークデータベース１４０へ格納する（ステップＳ７３）。
【００５９】
続いて、統計データ生成部１００は、出現確率算出部１９０により、数値データに含まれる数字を形成するストロークから、Ｎグラムの組合せを求め（ステップＳ７４）、組合せ毎の出現確率を算出した統計データを生成する（ステップＳ７５）。
【００６０】
以下に、統計データ生成部１００による処理の各ステップについてさらに説明する。
【００６１】
図８は、数値データ抽出部の処理を説明する図である。例えば大量テキストデータベース１１０に「現在は、２０１４年７月１８日１３時２０分です。」というテキストデータが格納されていた場合、本実施形態の数値データ抽出部１７０は、このテキストデータに含まれる数値データ「２０１４」、「７」、「１８」、「１３」、「２０」を抽出する。
【００６２】
次に、図９及び図１０を参照し、ストローク情報変換部１８０の処理について説明する。図９は、ストローク辞書データベースの一例を示す図である。本実施形態のストローク辞書データベース１２０は、ストローク情報１２１と、利用割合情報１２２を有する。
【００６３】
本実施形態のストローク情報１２１及び利用割合情報１２２は、既存の各種のデータから統計により得られたものであり、予め文字認識装置１に格納されている。
【００６４】
本実施形態のストローク情報１２１では、数字０〜９毎に、数字と、照合対象ストロークと、を対応付けている。本実施形態の照合対象ストロークとは、入力されたストロークと照合されるストロークのことである。また、本実施形態において、数字０〜９は、入力されたストロークの組合せと照合される照合対象文字である。本実施形態の照合対象ストロークとは、照合対象文字を構成するストロークである。
【００６５】
図９に示すストローク情報１２１では、照合対象文字となる数字を列とし、照合対象ストロークを行とし、照合対象文字から得られた照合対象ストロークのそれぞれにａ〜ｃの符号を対応付けた。よって、本実施形態では、照合対象文字と、照合対象ストロークに付与された符号とにより、照合対象ストロークが特定される。
【００６６】
具体的には、例えば、数字「１」と符号「ａ」により、数字「１」から得られた複数の照合対象ストロークのうち、１つのストロークが特定される。また、数字「１」と符号「ｂ」により、数字「１」から得られた複数の照合対象ストロークのうち、数字「１」と符号「ａ」で特定されるストロークとは別のストロークが特定される。
【００６７】
本実施形態の以下の説明では、照合対象文字と、照合対象ストロークの種類を示す符号との組合せを、照合対象ストロークを特定するコードと呼ぶ。具体的には、例えば、数字「１」と符号「ａ」により特定される照合対象ストロークのコードを「コード１ａ」と呼ぶ。同様に、例えば数字「４」と符号「ｂ」により特定される照合対象ストロークのコードを「コード４ｂ」と呼ぶ。
【００６８】
本実施形態の利用割合情報１２２は、照合対象ストローク毎の利用割合を示している。照合対象ストローク毎の利用割合とは、言い換えれば、数値データベース１３０における照合対象ストロークの出現確率である。
【００６９】
例えば利用割合情報１２２では、数字「１」を書く際に、コード１ａの照合対象ストロークが利用される利用割合は、０．８であり、数字「１」を書く際に、コード１ｂの照合対象ストロークが利用される利用割合は、０．１である。
【００７０】
またも数字「１」を書く際に、コード１ｂとコード１ｃの照合対象ストロークが利用される利用割合は、０．１である。本実施形態では、単独で照合対象文字を形成しない照合対象ストロークの利用割合を示す場合には、この照合対象ストロークと組み合わせる照合対象ストロークに付与された符号を用いて、組み合わされる照合対象ストロークを特定する。
【００７１】
例えば、コード１ｃの照合対象ストロークは、単独で照合対象文字である数字「１」を形成せず、コード１ｂと組み合わされることで、数字「１」を形成する。よって、図９に示すコード１ｃの利用割合は、「０．１（ｂ＋ｃ）」となる。
【００７２】
同様に、例えば図９に示す利用割合では、数字「４」を書く際に、コード４ａとコード４ｂの照合対象ストロークが利用される利用割合は、０．９（ａ＋ｂ）となる。また、数字「４」を書く際に、コード４ｃの照合対象ストロークが利用される利用割合は、０．２となる。
【００７３】
本実施形態のストローク情報変換部１８０は、このストローク情報１２１と利用割合情報１２２とを参照し、数値データ抽出部１７０が抽出した数値データに含まれる数字を形成する照合対象ストロークの組合せ毎の出現回数を求める。
【００７４】
図１０は、ストロークデータベースの一例を示す図である。本実施形態のストロークデータベース１４０は、数値データ抽出部１７０により抽出された数値を形成する照合対象ストロークの組合せのパターンと、組合せ毎の出現回数とが対応付けられている。
【００７５】
図１０では、抽出された数値データが「２０１４」である場合の、「２０１４」を形成する照合対象ストロークの組合せのパターンと、組合せ毎の出現回数を示している。
【００７６】
ストローク情報変換部１８０は、まず「２０１４」を形成する照合対象ストロークの組合せを全て求める。
【００７７】
「２０１４」に含まれる数字「２」を形成する照合対象ストロークは、コード２ａの照合対象ストロークのみである。
【００７８】
数字「０」は、コード０ａの照合対象ストロークのみで形成される場合と、コード０ａとコード０ｂの照合対象ストロークの組合せで形成される場合と、２パターンがある。
【００７９】
数字「１」は、コード１ａの照合対象ストロークのみで形成され場合と、コード１ｂの照合対象ストロークのみで形成される場合と、コード１ｂとコード１ｃの照合対象ストロークの組み合わせで形成される場合の３パターンがある。
【００８０】
数字「４」は、コード４ａとコード４ｂの照合対象ストロークの組合せで形成される場合と、コード４ｃの照合対象ストロークのみで形成される場合と、２パターンがある。
【００８１】
したがって、「２０１４」を形成する照合対象ストロークの組合せは、図１０に示すパターンナンバ１から１２までの１２通りとなる。
【００８２】
本実施形態のストローク情報変換部１８０は、数値「２０１４」が大量テキストデータベース１１０において出現した回数と、ストローク辞書データベース１２０の利用割合情報とに基づき、「２０１４」を形成する照合対象ストロークの組合せ毎の出現回数を求める。
【００８３】
図１０の例では、数値「２０１４」が大量テキストデータベース１１０にｎ回出現した場合の照合対象ストロークの組合せ毎の出現回数を示している。
【００８４】
以下に、パターンナンバ１の出現回数について説明する。パターンナンバ１では、コード２ａ、コード０ａ、コード１ａ、コード４ａ、コード４ｂにより、「２０１４」が形成される。
【００８５】
利用割合情報１２２におけるコード２ａの利用割合情報は１であり、コード０ａの利用割合情報は０．９である。また、コード１ａの利用割合情報は、０．８であり、コード４ａとコード４ｂを用いる場合の利用割合情報は０．９である。
【００８６】
本実施形態のストローク情報変換部１８０は、各コードの利用割合情報と、「２０１４」の出現回数とを乗算し、パターンナンバ１の組合せの出現回数とする。よって、パターンナンバ１の組合せの出現回数は、（１×０．９×０．８×０．９）×ｎ＝０．６４８ｎとなる。この出現回数は、大量テキストデータベース１１０において、パターンナンバ１の照合対象ストロークの組合せにより、数値「２０１４」が形成される回数を示している。すなわち、この出現回数は、数値「２０１４」を形成する際に、パターンナンバ１の照合対象ストロークの組合せが出現する出現頻度を示している。
【００８７】
本実施形態のストローク情報変換部１８０は、図１０に示すように、パターンナンバ１２まで、各組合せの出現回数を求める。
【００８８】
本実施形態のストローク情報変換部１８０は、以上の処理を、数値データ抽出部１７０が抽出した全ての数値について実行し、照合対象ストロークの組合せのパターンと、組合せ毎の出現回数を求め、ストロークデータベース１４０に格納する。
【００８９】
次に、図１１及び図１２を参照して出現確率算出部１９０の処理を説明する。図１１は、出現確率算出部の処理を説明する図である。
【００９０】
本実施形態の出現確率算出部１９０は、Ｎ−ｇｒａｍモデルにより、ストロークデータベース１４０に格納されている全ての照合対象ストロークの組合せの中で、N個のコードの組合せが、どの程度出現するかを示す出現確率を算出する。
【００９１】
図１１では、Ｎ＝２とし、図１０に示すパターンナンバ１の組合せから２つのコードの組合せを求め、２つのコードの組合せ毎の出現回数を算出した場合を示している。尚、２つのコードの組合せ毎の出現回数を算出する処理は、出現確率を算出する処理の一部として行われる。
【００９２】
パターンナンバ１の照合対象ストロークの組合せは、「２ａ−０ａ−１ａ−４ａ４ｂ」である。よって、出現確率算出部１９０は、パターンナンバ１の組合せから、２つのコードの組合せ「２ａ−０ａ」、「０ａ−１ａ」、「１ａ−４ａ」、「４ａ−４ｂ」を得る。
【００９３】
本実施形態の出現確率算出部１９０は、２つのコードの組合せ毎に、ストロークデータベース１４０における２つのコードの組合せの出現回数を算出する。
【００９４】
以下に、ストロークデータベース１４０における組合せ「２ａ−０ａ」の出現回数の算出について説明する。
【００９５】
本実施形態の出現確率算出部１９０は、ストロークデータベース１４０に含まれる全ての照合対象ストロークの組合せのパターンおいて、組合せ「２ａ−０ａ」が含まれるパターンを抽出し、抽出されたパターンと対応する出現回数の合計値を、組合せ「２ａ−０ａ」の出現回数とする。
【００９６】
例えば、図１０に示すストロークデータベース１４０では、パターンナンバ１〜１２の全てにおいて組合せ「２ａ−０ａ」が含まれる。したがって、組合せ「２ａ−０ａ」の出現回数は、パターンナンバ１〜１２のそれぞれの出現回数の合計値となる。
【００９７】
また、組合せ「０ａ−１ａ」は、ストロークデータベース１４０において、パターンナンバ１、２にのみ含まれる。したがって、組合せ「０ａ−１ａ」の出現回数は、パターンナンバ１の出現回数と、パターンナンバ２の出現回数との合計値となる。
【００９８】
本実施形態の出現確率算出部１９０は、以上の処理を、ストロークデータベース１４０に含まれる全ての照合対象ストロークの組合せのパターンについて行う。そして、その結果を、組合せ「０ａ−０ａ」からソートした状態で、統計データベース１５０に格納する。
【００９９】
図１２は、統計データベースの一例を示すである。本実施形態の統計データベース１５０では、２つのコードの組合せと、組合せ毎の出現回数と、出現確率とが格納されている。尚、本実施形態の統計データベース１５０は、２つのコードを、組合せ「０ａ−０ａ」からソートした状態で格納されているものとしたが、これに限定されない。
【０１００】
本実施形態の出現確率は、２つのコードの組合せ毎の出現回数を、全ての組合せの出現回数の合計値で割った値である。したがって、図１２の例では、組合せ「０ａ−０ｂ」の出現確率は、組合せ「０ａ−０ｂ」の出現回数０．８１／組合せ毎の出現回数の合計値１１１．３６である。
【０１０１】
本実施形態では、以上の処理により、統計データベース１５０を作成する。尚、本実施形態では、統計データ生成部１００及び統計データベース１５０を文字認識装置１が有するものとしたが、これに限定されない。統計データ生成部１００と統計データベース１５０は、文字認識装置１と通信が可能な外部装置に設けられていても良いし、統計データベース１５０のみが外部装置に設けられていても良い。
【０１０２】
次に、本実施形態の文字判断部２００について説明する。図１３は、文字判断部による処理を説明するフローチャートである。
【０１０３】
本実施形態の文字判断部２００は、入力受付部２１０により、ストロークの入力を受け付ける（ステップＳ１３０１）。
【０１０４】
続いて文字判断部２００は、組合せ判断部２２０の入力ストローク照合部２２１により、ストロークの認識を開始する（ステップＳ１３０２）。
【０１０５】
具体的には、入力ストローク照合部２２１は、ストロークの入力を受け付けると、ストロークの始点が入力されてから終点が入力されるまでの入力時間と、ストロークの終点が入力されてから、次のストロークの始点が入力されまでの中断時間とを含むストローク時間情報を取得し、入力ストロークテーブル２１１に格納する。また、入力ストローク照合部２２１は、入力されたストロークを座標値として入力ストロークテーブル２１１に格納する。
【０１０６】
続いて、組合せ判断部２２０は、入力ストローク照合部２２１により、入力されたストロークと、ストローク辞書データベース１２０とを照合し、評価値生成部２２２により、両者の一致度を示す評価値をストローク毎に生成する（ステップＳ１３０３）。
【０１０７】
続いて、組合せ判断部２２０は、パターン生成部２２３により、ストローク辞書データベース１２０を参照し、入力されたストロークの数から考えられる照合対象ストロークのコードの組合せのパターンを生成する。そして、組合せ判断部２２０は、統計データ照合部２２４により、統計データベース１５０を参照し、生成されたパターンに含まれるストロークの評価値と、パターンに含まれる２つのコードの組合せの出現確率と、からスコアを算出し、統計照合結果テーブル２１３に格納する（ステップＳ１３０４）。
【０１０８】
続いて、組合せ判断部２２０は、区切れ位置出力部２２５により、統計照合結果テーブル２１３を参照し、各パターンにおける文字の区切れとなる位置を区切れ位置テーブル２１４に格納する（ステップＳ１３０５）。
【０１０９】
続いて、組合せ判断部２２０は、時間照合部２２６により、ストローク時間情報と、ストローク時間テーブル２３０とを照合し、照合結果に応じたスコアを時間照合結果テーブル２１５に格納する（ステップＳ１３０６）。
【０１１０】
そして、組合せ判断部２２０は、結果出力部２２７により、区切れ位置テーブル２１４と時間照合結果テーブル２１５を参照し、入力されたストロークにおける文字の区切れの位置を出力し、結果テーブル２１６に格納する（ステップＳ１３０７）。
【０１１１】
本実施形態の文字判断部２００により出力された文字の区切れの位置は、認識部３００へ提供される。認識部３００は、文字の区切れの位置に基づき、入力されたストロークにおいて、１文字に含まれるストロークを判別することができるため、従来の文字認識処理により、文字を認識することができる。
【０１１２】
以下に、組合せ判断部２２０による処理の各ステップについてさらに説明する。図１４は、評価値テーブルの一例を示す図である。図１４（Ａ）は、入力されたストロークの例を示し、図１４（Ｂ）は、入力されたストローク毎の評価値テーブルの例を示す。
【０１１３】
以下の説明では、図１４（Ａ）に示すように、ストロークｓ１、ｓ２、ｓ３の三画により形成される「１７」という数値が入力されたものとする。
【０１１４】
本実施形態の入力ストローク照合部２２１は、入力ストロークテーブル２１１に格納されたストローク毎の座標値と、ストローク辞書データベース１２０のストローク情報１２１を照合し、評価値生成部２２２により、ストローク毎の評価値テーブルを生成する。図１４（Ｂ）では、ストロークｓ１とストローク情報とを照合した結果の評価値テーブル２１２−ｓ１と、ストロークｓ２とストローク情報とを照合した結果の評価値テーブル２１２−ｓ２と、ストロークｓ３とストローク情報とを照合した結果の評価値テーブル２１２−ｓ３と、を示している。
【０１１５】
本実施形態の評価値生成部２２２は、ストロークｓ１と、ストローク情報１２１に含まれる全ての照合対象ストロークとを照合し、その一致度を示す評価値を求める。評価値（一致度）の求め方は、従来の文字認識において行われている公知の技術である。
【０１１６】
そして、評価値生成部２２２は、評価値が高い順に、３つの照合対象ストロークのコードを取得し、コードに対応した評価値を評価値テーブル２１２−ｓ１に格納する。
【０１１７】
評価値生成部２２２は、ストロークｓ２、ｓ３に対しても同様の処理を行い、その結果を評価値テーブル２１２−ｓ２、評価値テーブル２１２−ｓ３のそれぞれに格納する。
【０１１８】
評価値テーブル２１２−ｓ１によれば、ストロークｓ１は、コード１ａの照合対象ストロークとの一致度が最も高いことがわかる。すなわち、ストロークｓ１は、コード１ａの照合対象ストロークと最も形状が類似している。
【０１１９】
同様に、ストロークｓ２は、コード４ｂの照合対象ストロークとの一致度が最も高く、ストロークｓ３は、コード７ｂの照合対象ストロークとの一致度が最も高いことがわかる。
【０１２０】
このように、本実施形態の評価値テーブル２１２は、入力されたストロークに基づき、照合対象文字を構成する照合対象ストロークを組合せた、複数のストロークの組合せ候補と、複数のストロークの組合せ候補に対する評価値とを含む。
【０１２１】
尚、図１４の例では、評価値が高い順に３つの照合対象ストロークのコードを取得し、評価値テーブル２１２に格納するものとしたが、評価値テーブル２１２に格納する照合対象ストロークのコードの数は、これに限定されない。評価値生成部２２２は、入力されたストロークと、ストローク情報１２１に含まれる全ての照合対象ストロークとを照合した結果の評価値を評価値テーブル２１２に格納しても良い。
【０１２２】
次に、図１５を参照してパターン生成部２２３の処理について説明する。図１５は、パターン生成部が生成するストロークの組合せのパターンの一例を示す図である。
【０１２３】
本実施形態のパターン生成部２２３は、評価値テーブル２１２に格納された照合対象ストロークのコードを用いて、入力されたストロークの数と同数の照合対象ストロークのコードの組合せのパターンを生成する。
【０１２４】
本実施形態では、入力されたストロークの数は、３である。したがって、パターン生成部２２３は、ストローク情報１２１を参照し、３つのコードの組合せのパターンを生成する。
【０１２５】
図１５では、３つのコードの組合せとして、「１ａ−１ａ−１ａ」から、「１ａ−１ａ−１ｂ」、「１ａ−１ａ−１ｃ」といったように、組合せのパターンを生成する。本実施形態のストローク情報１２１は、１９の照合対象ストロークを有する。したがって、パターン生成部２２３は、１９×１９×１９通りのパターンを生成する。
【０１２６】
次に、図１６を参照し、統計データ照合部２２４の処理を説明する。図１６は、統計照合結果テーブルの一例を示す図である。図１６（Ａ）は、入力されたストロークの数が３つの場合の統計照合結果テーブル２１３の例を示しており、図１６（Ｂ）は、組合せ毎のスコアを算出する式を示している。
【０１２７】
本実施形態のスコアは、パターン生成部２２３により生成されたパターンにおいて、ｉ画目の評価値をＨｉとし、ｉ−１画目とｉ画目の組合せの出現確率をＰ（ｉ）とした場合に、以下の式（１）で求められる。
【０１２８】
照合対象ストロークの組合せのスコア＝Σ（Ｈｉ×Ｐ（ｉ））×α      式（１）
本実施形態の統計データ照合部２２４は、パターン生成部２２３により生成された全ての組合せのパターンについて、式（１）による演算を行い、パターン毎のスコアを算出する。尚、αは、スコアに対して重み付けを行う際の係数であり、予め設定される値である。
【０１２９】
例えば、図１５に示すパターン「１ａ−１ａ−１ａ」のスコアＳｕは、
Ｓｕ＝｛（統計データベース１５０におけるコード「−−１ａ」の組合せの出現確率）×（評価値テーブル２１２−ｓ１におけるコード１ａの評価値）＋（統計データベース１５０におけるコード「１ａ−１ａ」の組合せの出現確率）×（評価値テーブル２１２−ｓ２におけるコード１ａの評価値）＋（統計データベース１５０におけるコード「１ａ−１ａ」の組合せの出現確率）×（評価値テーブル２１２−ｓ３におけるコード１ａの評価値）｝×α
となる。本実施形態の統計データ照合部２２４は、上記の処理をパターン生成部２２３により生成された全てのパターンに対して行い、全てのパターンについてのスコアを算出する。そして、統計データ照合部２２４は、組合せのパターンと、パターン毎のスコアとを対応付けて、統計照合結果テーブル２１３へ格納する。尚、本実施形態の統計データ照合部２２４は、統計照合結果テーブル２１３へ、組合せのパターンと、パターン毎のスコアとを対応付けて格納する際に、スコアの値が大きい順にレコードを格納しても良い。また、統計データ照合部２２４は、スコアの値が大きい順に、所定数のレコードのみを統計照合結果テーブル２１３へ格納しても良い。
【０１３０】
本実施形態では、図１６（Ａ）に示すように、パターン「１ａ−７ａ−７ｂ」のスコアの値が最も大きいことがわかる。
【０１３１】
以下に、図１６（Ｂ）に示すパターン「１ａ−７ａ−７ｂ」のスコアの算出について説明する。
【０１３２】
パターン「１ａ−７ａ−７ｂ」において、一画目のコード「１ａ」の評価値テーブル２１２−ｓ１における評価値Ｈ１は、９５である。また、二画目のコード「７ａ」の評価値テーブル２１２−ｓ２における評価値Ｈ２は、８５である。また、三画目のコード「７ｂ」の評価値テーブル２１２−ｓ３における評価値Ｈ３は、９０である。
【０１３３】
また、評価値Ｈ１に乗算される出現確率Ｐ１は、０画目と一画目のコードの組合せの出現確率である。よって、ここでは、出現確率Ｐ１は、統計データベース１５０におけるコード「−−１ａ」の組合せの出現確率である。尚、コード「−−１ａ」の組合せは、コード「１ａ」が一画目であることを示している。同様に、例えばコード「１ａ――」の組合せは、最後の画がコード「１ａ」であることを示す。
【０１３４】
評価値Ｈ２に乗算される出現確率Ｐ２は、パターン「１ａ−７ａ−７ｂ」において、一画目と二画目の組合せの出現確率である。よって、ここでは、出現確率Ｐ２は、統計データベース１５０におけるコード「１ａ−７ａ」の組合せの出現確率である。同様に、評価値Ｈ３に乗算される出現確率Ｐ３は、パターン「１ａ−７ａ−７ｂ」において、二画目と三画目の組合せの出現確率である。よって、ここでは、出現確率Ｐ３は、統計データベース１５０におけるコード「７ａ−７ｂ」の組合せの出現確率である。
【０１３５】
よって、本実施形態では、パターン「１ａ−７ａ−７ｂ」のスコアＳｕ１は、
Ｓｕ１＝（９５×出現確率Ｐ１＋８５×出現確率Ｐ２＋９０×出現確率Ｐ３）×α
となる。
【０１３６】
以上のようにスコアを算出することで、本実施形態のスコアは、入力されたストロークと照合対象ストロークとの類似度に、この照合対象ストロークの出現頻度で重み付けをした値となる。
【０１３７】
図１６（Ａ）の例では、上述のように求めたパターン「１ａ−７ａ−７ｂ」のスコアＳｕ１＝８４となる。また、同様に求めたパターン「７ａ−１ａ−３ａ」のスコアＳｕ２＝７９となり、パターン「１ａ−１ａ−７ｂ」のスコアＳｕ３＝６８となる。
【０１３８】
次に、図１７を参照し、区切れ位置出力部２２５の処理について説明する。図１７は、区切れ位置テーブルの一例を示す図である。
【０１３９】
本実施形態の区切れ位置テーブル２１４は、情報の項目として、パターンと、区切れ位置と、スコアと、を有する。項目「区切れ位置」の値は、文字の区切れの位置を示す。項目「スコア」の値は、区切れ位置を示したパターンと対応するスコアを示す。
【０１４０】
本実施形態の区切れ位置出力部２２５は、統計照合結果テーブル２１３において、スコアの値が大きい順に所定数のレコードを抽出し、抽出したレコードに含まれる照合対象ストロークの組合せのパターンにおける文字の区切れ位置を出力する。
【０１４１】
本実施形態では、統計照合結果テーブル２１３において、スコアの値が大きい順に２つのレコードを抽出した。したがって、ここで抽出されるレコードは、パターン「１ａ−７ａ−７ｂ」とこのパターンに対応するスコア、パターン「７ａ−１ａ−３ａ」とこのパターンに対応するスコアである。
【０１４２】
本実施形態の照合対象ストロークを示すコードは、照合対象文字と、照合対象ストロークに付与された符号とにより示される。したがって、コード「１ａ」は、ストローク情報１２１において、数字「１」と符号「ａ」により特定される照合対象ストロークである（図９参照）。つまり、本実施形態では、コードに含まれる数字は、コードで特定される照合対象ストロークにより形成される文字を示している。よって、本実施形態では、照合対象ストロークを示すコードの組合せのパターンにおいて、コードに含まれる数字がかわるところが、文字の区切れと考えられる。
【０１４３】
例えば、コードの組合せのパターン「１ａ−７ａ−７ｂ」では、一画目のコードが「１ａ」であり、二画目のコードは「７ａ」、三画目のコードは「７ｂ」である。したがって、パターン「１ａ−７ａ−７ｂ」では、一画目と二画目の間が文字の区切れと考えられる。
【０１４４】
この場合、入力されたストロークｓ１により、一文字が描かれ、ストロークｓ２とストロークｓ３により一文字が描かれたことになる。よって、ストロークｓ１の後ろが文字の区切りとなる。
【０１４５】
また、例えば、コードの組合せのパターン「７ａ−１ａ−３ａ」では、一画目のコードが「７ａ」であり、二画目のコードが「１ａ」であり、三画目のコードが「３ａ」である。したがって、パターン「７ａ−１ａ−３ａ」では、一画目と二画目の間が文字の区切れと考えられる。
【０１４６】
この場合、入力されたストロークｓ１の後ろ、ｓ２の後ろがそれぞれ文字の区切りであり、ストロークｓ１、ｓ２、ｓ３のそれぞれが一文字であることになる。
【０１４７】
よって、本実施形態の区切り位置出力部２２５は、項目「スコア」の値８４に対応する項目「区切れ位置」の値として、ストロークｓ１を示す値「ｓ１」とを対応付けて区切れ位置テーブル２１４に格納する。また、区切り位置出力部２２５は、項目「スコア」の値７９に対応する項目「区切れ位置」の値として、ストロークｓ１、ｓ２を示す値「ｓ１ｓ２」とを対応付けて区切れ位置テーブル２１４に格納する。
【０１４８】
次に、図１８乃至図２０を参照し、時間照合部２２６の処理を説明する。本実施形態の時間照合部２２６は、入力ストロークテーブル２１１に格納されているストローク時間情報と、ストローク時間テーブル２３０とに基づき、スコアに加算する値を決定する。
【０１４９】
図１８は、ストローク時間テーブルの一例を示す図である。本実施形態のストローク時間テーブル２３０は、予め文字認識装置１に格納されている。
【０１５０】
本実施形態のストローク時間テーブル２３０は、情報の項目として、状態、時間、加算値を有する。項目「状態」の値は、ストロークの入力が中断された際の状態を示す。例えば、項目「状態」の値が「文字の区切れ目」であった場合、文字と文字の区切れによりストロークの入力が中断された状態であることを示す。また、項目「状態」の値が「文字の途中」であった場合、１つの文字を入力する際の画と画との間によりストロークの入力が中断された状態であることを示す。
【０１５１】
項目「時間」の値は、ストロークの入力が中断された時間（ストロークの入力が途切れた時間）を示す。項目「加算値」の値は、スコアに加算される値を示す。
【０１５２】
本実施形態の時間照合部２２６は、ストローク時間情報とストローク時間テーブル２３０とを参照し、ストロークが入力される際の入力の中断時間の状態を判定する。本実施形態では、例えばストロークの入力の中断時間が０．５秒以上である場合には、文字と文字の区切れによりストロークの入力が中断された状態と判定する。また、ストロークの入力の中断時間が０．５秒未満である場合には、文字の入力の途中の状態と判定する。
【０１５３】
本実施形態において、項目「時間」の値と、項目「加算値」の値は、それぞれ予め設定された設定値である。
【０１５４】
以下に、図１９を参照して、ストローク時間テーブル２３０に設定された設定値について説明する。図１９は、ストローク時間テーブルの設定値について説明する図である。
【０１５５】
図１９（Ａ）は、文字と文字の区切れにおいてストロークの入力が中断される中断時間と、被験者の割合との関係を示すグラフである。図１９（Ｂ）は、文字の途中においてストロークの入力が中断される中断時間と、被験者の割合との関係を示すグラフである。
【０１５６】
尚、図１９の示すグラフは、複数の被験者に、文字認識装置における文字列の入力を行わせ、ストロークが中断される時間を計測した結果として得られる。
【０１５７】
ストロークの入力の中断時間は、文字を書く速度が速い人ほど短くなり、文字を書く速度が遅い人ほど長くなる。
【０１５８】
また、文字と文字の区切りにおいてストロークの入力が中断される場合の中断時間は、文字の途中における中断時間よりも長くなることが想定される。よって、ストロークの入力の中断時間は、長いほど文字と文字の区切りである可能性が高く、短い程文字の途中である可能性が高い。
【０１５９】
そこで、本実施形態では、文字の区切れにおける中断時間が、所定の閾値となる時間よりも長い場合に、加算値をスコアに加点するものとする。また、本実施形態では、文字の途中における中断時間が、所定の閾値となる時間よりも短い場合に、加算値をスコアに加点するものとする。
【０１６０】
本実施形態では、例えば、図１９（Ａ）のグラフにおいて、中断時間に対して最も被験者の割合が高くなる時間ｔ１以上、中断時間が長い場合、この中断時間を文字の区切れによるものとする。また、本実施形態では、図１９（Ｂ）のグラフにおいて、中断時間に対して最も被験者の割合が高くなる時間ｔ２未満の中断時間の場合、この中断時間を文字の途中の中断とする。図１８に示すストローク時間テーブル２３０では、時間ｔ１＝時間２＝０．５秒とした。
【０１６１】
次に、図２０を参照し、本実施形態の時間照合結果テーブル２１５について説明する。図２０は、時間照合結果テーブルの一例を示す図である。図２０（Ａ）は、ストローク時間情報の例を示している。図２０（Ｂ）は、時間照合結果テーブル２１５の一例を示している。
【０１６２】
図２０（Ａ）の例では、ストロークｓ１の終点が入力されてからストロークｓ２の始点が入力されるまでのストロークの入力の中断時間が０．９秒である。したがって、ストロークｓ１の入力終了からストロークｓ２の入力開始までの中断時間が文字の区切れであった場合には、スコアに加算値２０が加算され、文字の途中であった場合には加算値は加算されない。
【０１６３】
また、ストロークｓ２の終点が入力されてからストロークｓ３の始点が入力されるまでのストロークの入力の中断時間は、０．２秒である。したがって、ストロークｓ２の入力終了からストロークｓ３の入力開始までの中断時間が文字の区切れであった場合には、スコアに加算値は加算されず、文字の途中であった場合にはスコアに加算値２０が加算される。
【０１６４】
本実施形態の時間照合部２２６は、文字の区切れの位置が判定されたコードの組合せのパターン「１ａ−７ａ−７ｂ」、「７ａ−１ａ−３ａ」について、ストローク時間テーブル２３０とストローク時間情報に基づき、スコアに加算する加算値を求める。
【０１６５】
パターン「１ａ−７ａ−７ｂ」は、文字の区切れ位置がストロークｓ１の後ろであると判定されている。
【０１６６】
したがって、ストロークｓ１の入力終了からストロークｓ２の入力開始までの中断は、文字の区切れによるものである。図２０（Ａ）に示すストローク時間情報では、ストロークｓ１の入力終了からストロークｓ２の入力開始までの中断時間は０．９秒であり、０．５秒以上であるから、時間照合部２２６は、加算値２０を取得する。
【０１６７】
また、パターン「１ａ−７ａ−７ｂ」において、ストロークｓ２の入力終了からストロークｓ３の入力開始までの中断は、文字の途中の中断である。図２０（Ａ）に示すストローク時間情報では、ストロークｓ２の入力終了からストロークｓ３の入力開始までの中断時間は０．２秒であり、０．５秒未満であるから、時間照合部２２６は、加算値２０を取得する。
【０１６８】
したがって、パターン「１ａ−７ａ−７ｂ」に加算される加算値は、２０＋２０＝４０となる。
【０１６９】
パターン「７ａ−１ａ−３ａ」は、文字の区切れ位置がストロークｓ１の後ろとストロークｓ２の後ろであると判定されている。
【０１７０】
したがって、ストロークｓ１の入力終了からストロークｓ２の入力開始までの中断も、ストロークｓ２の入力終了からストロークｓ３の入力開始までの中断も、文字の区切れによるものである。
【０１７１】
図２０（Ａ）に示すストローク時間情報では、ストロークｓ１の入力終了からストロークｓ２の入力開始までの中断時間は０．９秒であり、０．５秒以上であるから、時間照合部２２６は、加算値２０を取得する。
【０１７２】
ストロークｓ２の入力終了からストロークｓ３の入力開始までの中断時間は０．２秒であり、０．５秒未満であるから、時間照合部２２６は、加算値を取得しない。
【０１７３】
したがって、パターン「７ａ−１ａ−３ａ」に加算される加算値は、２０＋０＝２０となる。
【０１７４】
本実施形態の時間照合部２２６は、以上のようにパターン毎に求めた加算値を、パターンと区切れ位置と対応付けて、時間照合結果テーブル２１５に格納する。
【０１７５】
次に、図２１を参照して、結果出力部２２７の処理について説明する。図２１は、結果テーブルの一例を示す図である。図２１（Ａ）は、結果テーブル２１６の一例を示すものであり、図２１（Ｂ）は認識部３００により認識させるストロークを示す図である。
【０１７６】
本実施形態の結果出力部２２７は、時間照合結果テーブル２１５と、区切れ位置テーブル２１４とを参照し、区切れ位置テーブル２１４のスコアに、時間照合結果テーブル２１５の加算値を加算した結果を結果テーブル２１６として出力する。
【０１７７】
図２１（Ａ）に示す結果テーブル２１６は、パターンと、区切れの位置と、加算値を加算した後のスコアとが対応付けられている。本実施形態では、パターン「１ａ−７ａ−７ｂ」の加算後のスコアは、８４＋４０＝１２４となり、パターン「７ａ−１ａ−３ａ」の加算後のスコアは、７９＋２０＝９９となる。
【０１７８】
本実施形態の結果出力部２２７は、加算後のスコアが最も大きいパターンにおける文字の区切れの位置を、入力されたストロークにおける文字の区切りの位置として、認識部３００に出力する。
【０１７９】
よって、結果出力部２２７は、パターン「１ａ−７ａ−７ｂ」における区切り位置であるストロークｓ１の後を、入力された三画のストロークのうちの文字の区切りとして、認識部３００へ通知する。
【０１８０】
本実施形態の認識部３００は、文字の区切りの位置を通知されると、図２１（Ｂ）に示すように、ストロークｓ１を一文字、ストロークｓ２とストロークｓ３を一文字と認識できる。
【０１８１】
したがって、本実施形態の認識部３００は、枠の中に入力されたストロークから文字を認識する手法と同様に文字を認識することができる。
【０１８２】
以上のように、本実施形態では入力されたストロークの数に応じて、ストローク辞書データベース１２０のストローク情報１２１が有する照合対象ストロークの組合せのパターンを複数生成する。また、本実施形態では、入力されたストロークと、照合対象ストロークとの類似度を示す評価値を求める。
【０１８３】
そして、本実施形態では、生成されたパターン毎に、組合せに含まれる照合対象ストロークの出現確率と、評価値とに基づくスコアを算出する。そして、本実施形態は、スコアの値が最も大きいパターンを特定し、ストローク情報１２１に基づき文字の区切れ位置を求め、認識部３００に通知する。
【０１８４】
すなわち、本実施形態によれば、入力されたストロークと類似度の高い照合対象ストロークの出現確率に応じて、入力されたストロークの組合せを特定し、文字を認識する。よって、本実施形態によれば、入力されたストロークの画数が少ない場合でも、複数の文字になり得る可能性のあるストロークにおける文字認識の精度を向上させることができる。
【０１８５】
また、本実施形態では、ストロークが入力される際に取得したストローク時間情報を用いて、文字の区切りの位置を求めることで、より正確に文字の区切りを認識することができる。尚、本実施形態では、スコアを算出する際に、係数αの値を小さくする程ストローク時間情報の影響がスコアの値に反映される。
【０１８６】
開示の技術では、以下に記載する付記のような形態が考えられる。
（付記１）
コンピュータに、
入力操作に対応した入力座標情報から入力ストローク情報を生成し、
前記入力ストローク情報から、照合対象文字を構成する照合対象ストロークを組み合わせた、複数のストローク組み合わせ候補、および、前記複数のストローク組み合わせ候補に対する評価値を生成し、
前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率、および、前記照合対象文字それぞれの出現確率に基づき生成された、記憶装置に保存されたストロークごとの出現確率情報、および、前記評価値に基づき、前記複数のストローク組み合わせ候補から、第１のストローク組み合わせを特定し、
前記第１のストローク組み合わせから、前記入力操作に対応する認識文字を出力する、
処理を実行させることを特徴とする文字認識プログラム。
（付記２）
前記入力ストローク情報は、入力操作に関する時間情報を含み、
前記第１のストローク組み合わせの特定に、前記入力ストローク情報における、ストローク間の時間情報を利用することを特徴とする付記１記載の文字認識プログラム。
（付記３）
前記第１のストローク組み合わせを特定する処理は、
前記照合対象ストロークの組み合わせに基づき文字と文字の境界を判定する処理を含むことを特徴とする付記１又は２記載文字認識プログラム。
（付記４）
前記複数のストローク組み合わせ候補に対する評価値は、
前記複数のストロークに含まれる各照合対象ストロークと、入力されたストロークとを照合した結果の一致度を示す値である付記１乃至３の何れか一項に記載の文字認識プログラム。
（付記５）
ビッグデータから抽出した数値データに含まれる数字を抽出して前記照合対象文字とし、
前記数字を形成する前記照合対象ストロークの種類を示すストローク情報と、
前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率と、
前記照合対象文字それぞれの出現確率と、に基づき前記出現確率情報を生成する付記１乃至４の何れか一項に記載の文字認識プログラム。
（付記６）
コンピュータによる文字認識方法であって、該コンピュータが、
入力操作に対応した入力座標情報から入力ストローク情報を生成し、
前記入力ストローク情報から、照合対象文字を構成する照合対象ストロークを組み合わせた、複数のストローク組み合わせ候補、および、前記複数のストローク組み合わせ候補に対する評価値を生成し、
前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率、および、前記照合対象文字それぞれの出現確率に基づき生成された、記憶装置に保存されたストロークごとの出現確率情報、および、前記評価値に基づき、前記複数のストローク組み合わせ候補から、第１のストローク組み合わせを特定し、
前記第１のストローク組み合わせから、前記入力操作に対応する認識文字を出力する、
処理を実行させることを特徴とする文字認識方法。
（付記７）
入力操作に対応した入力座標情報から入力ストローク情報を生成する入力受付部と、
前記入力ストローク情報から、照合対象文字を構成する照合対象ストロークを組み合わせた、複数のストローク組み合わせ候補、および、前記複数のストローク組み合わせ候補に対する評価値を生成する評価値生成部と、
前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率、および、前記照合対象文字それぞれの出現確率に基づき生成された、記憶装置に保存されたストロークごとの出現確率情報、および、前記評価値に基づき、前記複数のストローク組み合わせ候補から、第１のストローク組み合わせを特定する結果出力部と、
前記第１のストローク組み合わせから、前記入力操作に対応する認識文字を出力する認識部と、を有することを特徴とする文字認識装置。
【０１８７】
本発明は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１８８】
１  文字認識装置
１０  統計データ作成プログラム
２０  文字判断プログラム
３０  認識プログラム
１００  統計データ生成部
１７０  数値データ抽出部
１８０  ストローク情報変換部
１９０  出現確率算出部
２００  文字判断部
２１０  入力受付部
２２０  組合せ判断部
２２１  入力ストローク照合部
２２２  評価値生成部
２２３  パターン生成部
２２４  統計データ照合部
２２５  区切れ位置出力部
２２６  時間照合部
２２７  結果出力部
【図１】
0006451316.tif 000002
【図２】
0006451316.tif 000003
【図３】
0006451316.tif 000004
【図４】
0006451316.tif 000005
【図５】
0006451316.tif 000006
【図６】
0006451316.tif 000007
【図７】
0006451316.tif 000008
【図８】
0006451316.tif 000009
【図９】
0006451316.tif 000010
【図１０】
0006451316.tif 000011
【図１１】
0006451316.tif 000012
【図１２】
0006451316.tif 000013
【図１３】
0006451316.tif 000014
【図１４】
0006451316.tif 000015
【図１５】
0006451316.tif 000016
【図１６】
0006451316.tif 000017
【図１７】
0006451316.tif 000018
【図１８】
0006451316.tif 000019
【図１９】
0006451316.tif 000020
【図２０】
0006451316.tif 000021
【図２１】
0006451316.tif 000022