(57)【要約】【課題】文字の認識精度を向上すること。【解決手段】情報処理装置１００は、入力欄１１０を表示する。情報処理装置１００は、入力欄１１０に書き込まれた筆画１１１〜１１５を順次検出し、筆画１１１〜１１５の軌跡を示す筆画データを取得して蓄積する。情報処理装置１００は、入力欄１１０に書き込まれた筆画１１１〜１１５を、筆画１１１〜１１３を含む先行の筆画グループＧ１と、筆画１１４，１１５を含む後続の筆画グループＧ２とにグループ化する。情報処理装置１００は、先行の筆画グループＧ１と、後続の筆画グループＧ２との特徴量に基づいて、先行の筆画グループＧ１と後続の筆画グループＧ２との区切りについての妥当性スコアを算出する。情報処理装置１００は、蓄積した筆画データと、算出した妥当性スコアとに基づいて、入力欄１１０に書き込まれた１以上の文字を認識する。【選択図】図１
2020013460.tif 000002
【特許請求の範囲】
【請求項１】
入力欄に書き込まれた筆画の軌跡を示す筆画データを蓄積し、
蓄積した前記筆画データを参照して、前記入力欄に書き込まれた、時系列順に連続する１以上の筆画を含む先行の筆画グループと、前記先行の筆画グループの直後に続く、時系列順に連続する１以上の筆画を含む後続の筆画グループとの特徴量に基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出し、
蓄積した前記筆画データと、算出した前記妥当性スコアとに基づいて、前記入力欄に書き込まれた１以上の文字を認識する、
制御部を有することを特徴とする情報処理装置。
【請求項２】
前記入力欄は、文字が重ね書きされる領域である、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、
蓄積した前記筆画データを参照して、前記先行の筆画グループが形成する文字の候補および前記先行の筆画グループが形成する文字の候補の妥当性の強さを示す認識スコアと、前記後続の筆画グループが形成する文字の候補および前記後続の筆画グループが形成する文字の候補の妥当性の強さを示す認識スコアとを生成し、
生成した前記候補および前記認識スコアと、算出した前記妥当性スコアとに基づいて、前記入力欄に書き込まれた１以上の文字を認識する、ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記制御部は、
蓄積した前記筆画データを参照して、前記先行の筆画グループが形成する文字の候補と、前記後続の筆画グループが形成する文字の候補との組み合わせが、文脈に沿った組み合わせである妥当性の強さを示す文脈スコアを算出し、
算出した前記文脈スコアと、生成した前記候補および前記認識スコアと、算出した前記妥当性スコアとに基づいて、前記入力欄に書き込まれた１以上の文字を認識する、ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記制御部は、
前記入力欄に書き込まれた、時系列順に連続する１以上の筆画を含む先行の筆画グループと、前記先行の筆画グループの直後に続く、時系列順に連続する１以上の筆画を含む後続の筆画グループとを組み合わせた２つの筆画グループのペアごとに、前記ペアにされた２つの筆画グループのそれぞれの筆画グループの特徴量に基づいて、前記ペアにされた２つの筆画グループの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出する、ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記制御部は、
前記ペアのうち、算出した前記妥当性スコアが条件を満たすペアごとに、前記条件を満たすペアにされた２つの筆画グループのそれぞれの筆画グループが形成する文字の候補および前記条件を満たすペアにされた２つの筆画グループのそれぞれの筆画グループが形成する文字の候補の妥当性を示す認識スコアを生成し、
前記ペアのうち、前記条件を満たすペアごとに、前記条件を満たすペアにされた２つの筆画グループのそれぞれの筆画グループが形成する文字の候補の組み合わせが、文脈に沿った組み合わせである妥当性の強さを示す文脈スコアを算出する、ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記制御部は、
前記先行の筆画グループに含まれる末尾の筆画と、前記後続の筆画グループに含まれる先頭の筆画と、前記後続の筆画グループに含まれる末尾の筆画との少なくともいずれかの筆画の前記入力欄での位置に基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出する、ことを特徴とする請求項１〜６のいずれか一つに記載の情報処理装置。
【請求項８】
前記制御部は、
さらに、前記先行の筆画グループに含まれる先頭の筆画の前記入力欄での位置に基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出する、ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記制御部は、
ペアにされた２つの筆画グループと、前記ペアにされた２つの筆画グループの区切りが文字間の区切りとして妥当であるか否かとを対応付けて表す教師データを取得し、
取得した前記教師データを利用して、ペアにされた２つの筆画グループのそれぞれの筆画グループの特徴量を入力すると、前記ペアにされた２つの筆画グループの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを出力するモデルを学習し、
学習した前記モデルを利用して、前記先行の筆画グループと、前記後続の筆画グループとの特徴量に基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出する、ことを特徴とする請求項１〜８のいずれか一つに記載の情報処理装置。
【請求項１０】
コンピュータが、
入力欄に書き込まれた筆画の軌跡を示す筆画データを蓄積し、
蓄積した前記筆画データを参照して、前記入力欄に書き込まれた、時系列順に連続する１以上の筆画を含む先行の筆画グループと、前記先行の筆画グループの直後に続く、時系列順に連続する１以上の筆画を含む後続の筆画グループとの特徴量に基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出し、
蓄積した前記筆画データと、算出した前記妥当性スコアとに基づいて、前記入力欄に書き込まれた１以上の文字を認識する、
処理を実行することを特徴とする文字認識方法。
【請求項１１】
コンピュータに、
入力欄に書き込まれた筆画の軌跡を示す筆画データを蓄積し、
蓄積した前記筆画データを参照して、前記入力欄に書き込まれた、時系列順に連続する１以上の筆画を含む先行の筆画グループと、前記先行の筆画グループの直後に続く、時系列順に連続する１以上の筆画を含む後続の筆画グループとの特徴量に基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出し、
蓄積した前記筆画データと、算出した前記妥当性スコアとに基づいて、前記入力欄に書き込まれた１以上の文字を認識する、
処理を実行させることを特徴とする文字認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、文字認識方法、および文字認識プログラムに関する。
【背景技術】
【０００２】
従来、ユーザが手の指やスタイラスなどを利用して１つの入力欄に重ね書きした文字を認識する文字認識技術がある。
【０００３】
先行技術としては、例えば、バッファ内の入力ストローク列に対する認識候補文字列を生成し、認識候補文字列ごとに文字列構造辞書を生成して入力ストローク列と照合するものがある。また、例えば、入力ストロークに基づいて、文字の推測に対応するノードから構成される分割グラフを生成し、分割グラフの各ノードに認識スコアを割り当て、認識スコアと言語モデルとに基づいて、入力ストロークの言語的意味を生成する技術がある。また、例えば、ユーザが複数の重なり合ったストロークを描くと、ストロークを自動的にセグメント化し、１つ以上の対応する文字に結合する技術がある。また、例えば、入力された手書き文字の各ストロークについて入力枠に対するストロークの開始・終了領域と方向とからストローク情報を求め、ストローク辞書に登録されたストローク情報と照合してストローク候補を検出する技術がある。また、例えば、ユーザが筆記中の字画がｉ番目の文字に帰属するのかｉ＋１番目の文字に帰属するのかを判断し、ユーザがｉ＋１番目の文字の筆記を開始すると、ｉ番目の文字の字画の表示色を自動的に暗転する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２０３２０８号公報
【特許文献２】国際公開第２０１５／１５０９１１号
【特許文献３】国際公開第２０１５／０９４５８７号
【特許文献４】特開２００１−１８４４５８号公報
【特許文献５】国際公開第２０１２／０７５８２０号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、入力欄に重ね書きされる文字を正しく認識することができない場合がある。例えば、漢字、ひらがな、カタカナ、英数字、記号などの、認識する文字の種別が多くなるほど、入力欄に重ね書きされる文字を正しく認識することが難しくなる傾向がある。
【０００６】
１つの側面では、本発明は、文字の認識精度を向上することを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様によれば、入力欄に書き込まれた筆画の軌跡を示す筆画データを蓄積し、蓄積した前記筆画データを参照して、前記入力欄に書き込まれた、時系列順に連続する１以上の筆画を含む先行の筆画グループと、前記先行の筆画グループの直後に続く、時系列順に連続する１以上の筆画を含む後続の筆画グループとの特徴量に基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出し、蓄積した前記筆画データと、算出した前記妥当性スコアとに基づいて、前記入力欄に書き込まれた１以上の文字を認識する情報処理装置、文字認識方法、および文字認識プログラムが提案される。
【発明の効果】
【０００８】
一態様によれば、文字の認識精度を向上することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる文字認識方法の一実施例を示す説明図である。
【図２】図２は、情報処理装置１００のハードウェア構成例を示すブロック図である。
【図３】図３は、辞書データベース３００の記憶内容の一例を示す説明図である。
【図４】図４は、文脈データベース４００の記憶内容の一例を示す説明図である。
【図５】図５は、候補データベース５００の記憶内容の一例を示す説明図である。
【図６】図６は、情報処理装置１００の機能的構成例を示すブロック図である。
【図７】図７は、情報処理装置１００がニューラルネットワークを生成する一例を示す説明図（その１）である。
【図８】図８は、情報処理装置１００がニューラルネットワークを生成する一例を示す説明図（その２）である。
【図９】図９は、ニューラルネットワークに学習される性質の一例を示す説明図（その１）である。
【図１０】図１０は、ニューラルネットワークに学習される性質の一例を示す説明図（その２）である。
【図１１】図１１は、ニューラルネットワークに学習される性質の一例を示す説明図（その３）である。
【図１２】図１２は、情報処理装置１００が入力画面１２００を表示する一例を示す説明図である。
【図１３】図１３は、情報処理装置１００が文字を認識する一例を示す説明図（その１）である。
【図１４】図１４は、情報処理装置１００が文字を認識する一例を示す説明図（その２）である。
【図１５】図１５は、情報処理装置１００が文字を認識する一例を示す説明図（その３）である。
【図１６】図１６は、情報処理装置１００が文字を認識した結果の一例を示す説明図である。
【図１７】図１７は、全体処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明にかかる情報処理装置、文字認識方法、および文字認識プログラムの実施の形態を詳細に説明する。
【００１１】
（実施の形態にかかる文字認識方法の一実施例）
図１は、実施の形態にかかる文字認識方法の一実施例を示す説明図である。図１において、情報処理装置１００は、ユーザにより１つの入力欄に重ね書きされた文字を認識するためのコンピュータである。情報処理装置１００は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレット端末、スマートフォン、ウェアラブル端末などである。
【００１２】
ここで、１つの入力欄に文字を重ね書きする方式は、他の方式に比べて有用な点が存在するため、１つの入力欄に文字を重ね書きする方式を利用することが好ましい場合がある。他の方式は、例えば、複数の入力欄が用意され、ユーザがそれぞれの入力欄に１文字ずつ文字を書き込むような方式である。また、他の方式は、例えば、ユーザが１つの入力欄に１文字書き込む都度、確定操作を行うような方式である。
【００１３】
他の方式に比べて有用な点は、例えば、入力欄を大きくしやすいため、ユーザが文字を書き込みやすくなるという点が考えられる。また、他の方式に比べて有用な点は、例えば、ユーザが１文字ずつ書き込む入力欄を変更しなくてもよく、ユーザが１文字ずつ確定操作を行わなくてもよいため、ユーザが文字を書き込みやすくなるという点が考えられる。
【００１４】
しかしながら、１つの入力欄に文字を重ね書きする方式で、入力欄に書き込まれた文字を正しく認識することができない場合がある。例えば、漢字、ひらがな、カタカナ、英数字、記号などの、認識する文字の種別が多くなるほど、入力欄に重ね書きされる文字を正しく認識することが難しくなる傾向がある。
【００１５】
ここで、１つの入力欄に文字を重ね書きする方式では、１つの入力欄に連続して書き込まれた複数の筆画のうち、いずれの筆画の集まりが、１つの文字分の筆画の集まりであるかは、ユーザから明示されない。そして、認識する文字の種別が多くなるほど、１つの文字を形成する筆画の集まりと、連続する２以上の文字を形成する筆画の集まりとが類似してしまう確率が増加する傾向がある。結果として、１つの文字と、連続する２以上の文字とを区別して認識することが難しくなる。例えば、「名（漢字）」と「タロ（カタカナ）」とを区別することが難しくなる。また、例えば、「夕（漢字）」と「タ（カタカナ）」と「クー（カタカナ）」とを区別することが難しくなる。
【００１６】
これに対し、例えば、認識する文字の種別をユーザが切り替え可能にし、認識する文字の種別を制限して、重ね書きされる文字を精度よく認識しようとする場合が考えられる。この場合では、ユーザが１つの入力欄に多種の文字を含む文字列を書き込もうとする際、認識する文字の種別を切り替える操作を、ユーザが行うことになるため、ユーザの負担の増大化を招いてしまうという問題がある。
【００１７】
また、例えば、連続する２つの文字の組み合わせごとに、連続する２つの文字の一方の文字を書き込んだ後、他方の文字の書き込みに移行する際、入力欄上で書き込み位置がどこからどこに移動するかの正しい軌跡を示す辞書情報を用意しておく場合が考えられる。そして、１つの入力欄に書き込まれた複数の筆画から文字の候補を特定した後、辞書情報を参照し、いずれの候補が妥当であるかを判断して、文字を精度よく認識しようとする。
【００１８】
この場合では、認識する文字の種別が多くなるほど、文字の組み合わせの数が増大するため、膨大な文字の組み合わせについての辞書情報を用意することになるという問題がある。また、この場合では、連続する２つの文字が斜めに傾けて書き込まれると、入力欄上で書き込み位置が移動した実際の軌跡が、辞書情報が示す正しい軌跡と一致しないことがあり、重ね書きされる文字を正しく認識することができないという問題がある。
【００１９】
また、例えば、１つの入力欄に書き込まれた複数の筆画から文字の候補を特定した後、文脈上いずれの候補が妥当であるかを判断して、重ね書きされる文字を精度よく認識しようとする場合が考えられる。この場合では、特定した候補のうち、文脈上妥当である候補が複数存在すると、重ね書きされる文字を正しく認識することができないという問題がある。
【００２０】
そこで、本実施の形態では、認識する文字の種別を制限しなくても、ユーザによって１つの入力欄に重ね書きされる文字を精度よく認識可能にすることができる文字認識方法について説明する。
【００２１】
図１の例では、情報処理装置１００は、文字が重ね書きされる１つの入力欄１１０を表示する。また、図１の例では、ユーザは、手書きで入力欄１１０に、５０音順のひらがなの各文字「あいう…」を重ね書きしていく場合を例に挙げる。
【００２２】
（１−１）情報処理装置１００は、入力欄１１０に書き込まれた筆画の軌跡を示す筆画データを蓄積する。情報処理装置１００は、例えば、入力欄１１０に筆画が書き込まれる都度、筆画を検出し、筆画の軌跡を示す筆画データを取得して蓄積する。図１の例では、情報処理装置１００は、具体的には、入力欄１１０に書き込まれた筆画１１１〜１１５を検出し、筆画１１１〜１１５の軌跡を示す筆画データを取得して蓄積する。
【００２３】
（１−２）情報処理装置１００は、蓄積した筆画データを参照して、入力欄１１０に書き込まれた、先行の筆画グループと、後続の筆画グループとの特徴量に基づいて、先行の筆画グループと、後続の筆画グループとの区切りについての妥当性スコアを算出する。筆画グループは、時系列順に連続する１以上の筆画を含むグループである。後続の筆画グループは、先行の筆画グループの直後に続く筆画グループである。筆画グループの特徴量は、例えば、筆画グループに含まれる先頭の筆画および末尾の筆画の入力欄１１０での位置である。また、筆画グループの特徴量は、例えば、筆画グループ全体の入力欄１１０での位置であってもよい。また、筆画グループの特徴量は、例えば、筆画グループに含まれる筆画の数であってもよい。
【００２４】
妥当性スコアは、先行の筆画グループと後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示すスコアである。妥当性スコアは、例えば、先行の筆画グループと後続の筆画グループとの筆画の位置関係や画数などの特徴が、先行の筆画グループと後続の筆画グループとの区切りが正しい場合に対応する特徴を表している度合いを示す。情報処理装置１００は、例えば、いずれかの筆画間を区切りとし、先行の筆画グループと後続の筆画グループとのペアを１つ特定する。情報処理装置１００は、例えば、それぞれの筆画間を区切りとし、先行の筆画グループと後続の筆画グループとのペアを複数特定してもよい。
【００２５】
図１の例では、情報処理装置１００は、具体的には、入力欄１１０に書き込まれた筆画１１１〜１１５を、筆画１１１〜１１３を含む先行の筆画グループＧ１と、筆画１１４，１１５を含む後続の筆画グループＧ２とにグループ化する。情報処理装置１００は、先行の筆画グループＧ１と、後続の筆画グループＧ２との特徴量を、所定のモデルＭｏｄに入力し、所定のモデルＭｏｄを用いて妥当性スコアを算出する。所定のモデルＭｏｄは、２つの筆画グループの特徴量を入力すると、２つの筆画グループの区切りの妥当性スコアを出力するモデルである。所定のモデルＭｏｄは、例えば、ニューラルネットワークを用いて実現される。
【００２６】
（１−３）情報処理装置１００は、蓄積した筆画データと、算出した妥当性スコアとに基づいて、入力欄１１０に書き込まれた１以上の文字を認識する。図１の例では、情報処理装置１００は、具体的には、算出した妥当性スコアが一定以上であるため、先行の筆画グループＧ１に含まれる筆画１１１〜１１３の合成結果の筆跡１２１から、文字「あ」を認識する。また、情報処理装置１００は、後続の筆画グループＧ２に含まれる筆画１１４，１１５の合成結果の筆跡１２２から、文字「い」を認識する。
【００２７】
これにより、情報処理装置１００は、認識する文字の種別を制限しなくても、ユーザによって１つの入力欄に重ね書きされる文字を精度よく認識可能にすることができる。情報処理装置１００は、例えば、認識する文字の種別が増加しても、文字の区切りがユーザから明示されずとも、１つの文字を形成する筆画の集まりを精度よく特定することができ、重ね書きされる文字を精度よく認識可能にすることができる。
【００２８】
また、情報処理装置１００は、例えば、先行の筆画グループと後続の筆画グループとの特徴量を基に妥当性スコアを算出するため、１文字ずつの筆画の位置関係と、文字間の筆画の位置関係とを考慮可能にすることができる。このため、情報処理装置１００は、ユーザが文字を斜めに傾けて書き込む傾向があっても、重ね書きされる文字を精度よく認識可能にすることができる。
【００２９】
また、情報処理装置１００は、例えば、先行の筆画グループと後続の筆画グループとの特徴量を基に、所定のモデルＭｏｄを用いて、妥当性スコアを算出することができる。このため、情報処理装置１００は、２つの文字の組み合わせごとに、前方の文字から後方の文字の書き込みに移行する際、書き込み位置がどこからどこに移動するかの正しい軌跡を示す辞書情報を記憶する場合に比べて、メモリ使用量の低減化を図ることができる。
【００３０】
また、情報処理装置１００は、例えば、認識結果になりうる文字列の候補が複数あり、いずれの候補も文脈上妥当であっても、ユーザの書き方から、いずれの候補における文字間の区切りが妥当であるかを判断可能にすることができる。このため、情報処理装置１００は、重ね書きされる文字を精度よく認識可能にすることができる。
【００３１】
ここでは、算出した妥当性スコアが一定以上である場合について説明したが、これに限らない。例えば、情報処理装置１００は、算出した妥当性スコアが一定未満である場合に、先行グループと後続グループとの別のペアについて、同様に妥当性スコアを算出し、別のペアに基づいて文字を認識する場合があってもよい。
【００３２】
また、ここでは、情報処理装置１００が、先行の筆画グループと後続の筆画グループとを組み合わせたいずれか１つのペアについて妥当性スコアを算出し、妥当性スコアを基に文字を認識する場合について説明したが、これに限らない。例えば、情報処理装置１００が、先行の筆画グループと後続の筆画グループとを組み合わせて考え得るすべてのペアについて妥当性スコアを算出し、妥当性スコアを基に文字を認識する場合があってもよい。
【００３３】
また、例えば、情報処理装置１００は、妥当性スコアの他に、筆画グループに含まれる１以上の筆画の合成結果の筆跡が示す文字の候補の妥当性の強さを示す認識スコアを利用して、入力欄１１０に書き込まれた文字を認識する場合があってもよい。認識スコアが高いほど、筆画グループが形成する文字の候補が正しい確率が高く、筆画グループの区切りが正しい確率が高いことを示すことになる。具体的には、情報処理装置１００は、図３に後述する辞書データベースに基づいて、認識スコアを算出する。これによれば、情報処理装置１００は、さらに、重ね書きされる文字を精度よく認識可能にすることができる。
【００３４】
また、例えば、情報処理装置１００は、妥当性スコアの他に、２つの筆画グループが形成する文字の組み合わせが、文脈に沿った組み合わせである妥当性の強さを示す文脈スコアを利用して、入力欄１１０に書き込まれた文字を認識する場合があってもよい。文脈スコアが高いほど、２つの筆画グループが形成する文字の組み合わせが正しい確率が高く、２つの筆画グループの区切りが正しい確率が高いことを示すことになる。具体的には、情報処理装置１００は、図４に後述する文脈データベースに基づいて、文脈スコアを算出する。これによれば、情報処理装置１００は、さらに、重ね書きされる文字を精度よく認識可能にすることができる。
【００３５】
また、ここでは、情報処理装置１００が、入力欄１１０を表示し、入力欄１１０に書き込まれた筆画の軌跡を示す筆画データを取得して蓄積する場合について説明したが、これに限らない。例えば、情報処理装置１００とは異なる装置が、入力欄１１０を表示し、入力欄１１０に書き込まれた筆画の軌跡を示す筆画データを取得して情報処理装置１００に送信し、情報処理装置１００が、受信した筆画データを蓄積する場合があってもよい。
【００３６】
（情報処理装置１００のハードウェア構成例）
次に、図２を用いて、情報処理装置１００のハードウェア構成例について説明する。
【００３７】
図２は、情報処理装置１００のハードウェア構成例を示すブロック図である。図２において、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、メモリ２０２と、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０３と、記録媒体Ｉ／Ｆ２０４と、記録媒体２０５と、タッチパネル２０６とを有する。また、各構成部は、バス２００によってそれぞれ接続される。
【００３８】
ここで、ＣＰＵ２０１は、情報処理装置１００の全体の制御を司る。メモリ２０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ２０１のワークエリアとして使用される。メモリ２０２に記憶されるプログラムは、ＣＰＵ２０１にロードされることで、コーディングされている処理をＣＰＵ２０１に実行させる。また、メモリ２０２は、例えば、図１に示したモデルＭｏｄを記憶してもよい。また、メモリ２０２は、例えば、図３〜図５に後述する各種データベースを記憶してもよい。
【００３９】
ネットワークＩ／Ｆ２０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、ネットワークＩ／Ｆ２０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークＩ／Ｆ２０３は、例えば、モデムやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アダプタなどである。
【００４０】
記録媒体Ｉ／Ｆ２０４は、ＣＰＵ２０１の制御に従って記録媒体２０５に対するデータのリード／ライトを制御する。記録媒体Ｉ／Ｆ２０４は、例えば、ディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートなどである。記録媒体２０５は、記録媒体Ｉ／Ｆ２０４の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体２０５は、例えば、ディスク、半導体メモリ、ＵＳＢメモリなどである。記録媒体２０５は、情報処理装置１００から着脱可能であってもよい。また、記録媒体２０５は、例えば、図１に示したモデルＭｏｄを記憶してもよい。また、記録媒体２０５は、例えば、図３〜図５に後述する各種データベースを記憶してもよい。
【００４１】
タッチパネル２０６は、ディスプレイを有する。ディスプレイは、例えば、文字が重ね書きされる入力欄を表示する。また、ディスプレイは、例えば、カーソル、アイコン、ツールボックス、文書、画像、または、機能情報などを表示してもよい。タッチパネル２０６は、タッチパネル２０６上のユーザの接触位置を検出する検出装置を有する。ユーザの接触位置は、例えば、ユーザの指の接触位置、または、ユーザが所持するスタイラスの接触位置などである。検出装置は、例えば、ディスプレイ上、または、ディスプレイ外周部に設けられる。検出装置は、例えば、抵抗膜方式、静電容量方式、超音波方式、光学方式、または、電磁誘導方式などを用いて、接触位置を検出する。タッチパネル２０６は、ユーザの接触位置に応じて、ディスプレイに表示された入力欄に書き込まれた筆画を検出し、筆画の軌跡を示す筆画データを取得する。また、タッチパネル２０６は、各種指示などの入力を受け付けてもよい。
【００４２】
情報処理装置１００は、上述した構成部の他、例えば、キーボード、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置１００は、記録媒体Ｉ／Ｆ２０４や記録媒体２０５を複数有していてもよい。また、情報処理装置１００は、記録媒体Ｉ／Ｆ２０４や記録媒体２０５を有していなくてもよい。
【００４３】
また、情報処理装置１００は、タッチパネル２０６に代わり、入力欄を表示するディスプレイと、入力欄に筆画を書き込むことが可能なポインティングデバイスとを有し、入力欄に書き込まれた筆画を検出し、筆画データを取得してもよい。ポインティングデバイスは、例えば、マウスである。
【００４４】
（辞書データベース３００の記憶内容）
次に、図３を用いて、辞書データベース３００の記憶内容の一例について説明する。辞書データベース３００は、例えば、図２に示した情報処理装置１００のメモリ２０２や記録媒体２０５などの記憶領域により実現される。
【００４５】
図３は、辞書データベース３００の記憶内容の一例を示す説明図である。図３に示すように、辞書データベース３００は、文字と特徴とのフィールドを有する。辞書データベース３００は、文字ごとに各フィールドに情報を設定することにより、辞書情報がレコードとして記憶される。
【００４６】
文字のフィールドには、文字が設定される。文字のフィールドには、例えば、文字を示す文字コードが設定されてもよい。特徴のフィールドには、文字の特徴を示す特徴情報が設定される。文字の特徴は、例えば、文字全体が存在する入力欄での領域の特徴である。文字の特徴は、例えば、文字の筆画の方向の特徴、または、文字の筆画間での方向の変化の特徴などである。特徴情報は、例えば、文字を解析して得られる特徴量を示す。
【００４７】
（文脈データベース４００の記憶内容）
次に、図４を用いて、文脈データベース４００の記憶内容の一例について説明する。文脈データベース４００は、例えば、図２に示した情報処理装置１００のメモリ２０２や記録媒体２０５などの記憶領域により実現される。
【００４８】
図４は、文脈データベース４００の記憶内容の一例を示す説明図である。図４に示すように、文脈データベース４００は、文字列と、確率とのフィールドを有する。文脈データベース４００は、文字列ごとに各フィールドに情報を設定することにより、文脈情報がレコードとして記憶される。
【００４９】
文字列のフィールドには、文字列である２つの文字が設定される。文字列のフィールドには、例えば、文字列である２つの文字のそれぞれの文字を示す文字コードが設定されてもよい。確率のフィールドには、２つの文字の文脈上の連続しやすさを示す度合い情報が設定される。確率のフィールドには、例えば、２つの文字のバイグラム確率が設定される。バイグラム確率は、ある文字の隣にある文字が並ぶ確率である。文脈データベース４００は、２以上の文字を含む文字列について、語句や活用形、語幹などを利用して、２以上の文字の文脈上の連続しやすさを示す度合い情報を記憶してもよい。
【００５０】
（候補データベース５００の記憶内容）
次に、図５を用いて、候補データベース５００の記憶内容の一例について説明する。候補データベース５００は、例えば、図２に示した情報処理装置１００のメモリ２０２や記録媒体２０５などの記憶領域により実現される。
【００５１】
図５は、候補データベース５００の記憶内容の一例を示す説明図である。図５に示すように、候補データベース５００は、１画目〜Ｍ画目のそれぞれの項目に対応付けて、１画〜Ｎ画のフィールドを有する。ｊ画のフィールドは、１以上の認識候補のフィールドを有する。候補データベース５００は、筆画ごとに各フィールドに情報を設定することにより、候補情報がレコードとして記憶される。
【００５２】
ｉ画目の項目は、入力欄に書き込まれたＭ画の筆画のうちｉ番目の筆画に対応する。ｉは、１，２，・・・，Ｍである。ｊ画のフィールドには、ｉ番目の筆画からｊ画分の筆画を合成した合成結果である筆跡が形成する文字の候補が設定される。ｊは、１，２，・・・，ｍｉｎ（Ｍ−ｉ＋１，Ｎ）である。ｉがＭに近づくにつれ、ｉ画目より後ろに存在する筆画の数が少なくなるため、ｊの最大値は小さくなる。Ｎは、例えば、一般的な文字の最大画数が設定される。
【００５３】
認識候補のフィールドには、ｉ番目の筆画からｊ画分の筆画を合成した合成結果の筆跡が形成する文字の候補、および、ｉ番目の筆画からｊ画分の筆画を合成した合成結果の筆跡が形成する文字の候補の妥当性を示す認識スコアが設定される。
【００５４】
（情報処理装置１００の機能的構成例）
次に、図６を用いて、情報処理装置１００の機能的構成例について説明する。
【００５５】
図６は、情報処理装置１００の機能的構成例を示すブロック図である。情報処理装置１００は、記憶部６００と、取得部６０１と、特定部６０２と、妥当性スコア算出部６０３と、認識スコア算出部６０４と、文脈スコア算出部６０５と、重畳文字認識部６０６と、出力部６０７と、学習部６０８とを含む。
【００５６】
記憶部６００は、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域によって実現される。以下では、記憶部６００が、情報処理装置１００に含まれる場合について説明するが、これに限らない。例えば、記憶部６００が、情報処理装置１００とは異なる装置に含まれ、記憶部６００の記憶内容が情報処理装置１００から参照可能である場合があってもよい。
【００５７】
取得部６０１〜学習部６０８は、制御部の一例として機能する。取得部６０１〜学習部６０８は、具体的には、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、ネットワークＩ／Ｆ２０３により、その機能を実現する。各機能部の処理結果は、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域に記憶される。
【００５８】
記憶部６００は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部６００は、例えば、筆画データを記憶してもよい。筆画データは、１つの入力欄に書き込まれた筆画の軌跡を示すデータである。入力欄は、文字が重ね書きされる領域である。また、記憶部６００は、例えば、筆画グループを記憶してもよい。筆画グループは、時系列順に連続する１以上の筆画を含むグループである。
【００５９】
記憶部６００は、例えば、所定のモデルを記憶してもよい。所定のモデルは、２つの筆画グループの特徴量を入力すると、２つの筆画グループの区切りの妥当性スコアを出力するモデルである。所定のモデルは、例えば、ニューラルネットワークを用いて実現される。筆画グループの特徴量は、例えば、筆画グループに含まれる少なくともいずれかの筆画に基づく特徴量である。
【００６０】
筆画グループの特徴量は、例えば、筆画グループに含まれる先頭の筆画および末尾の筆画の少なくともいずれかの筆画の入力欄での位置である。また、筆画グループの特徴量は、例えば、筆画グループ全体の入力欄での位置であってもよい。また、筆画グループの特徴量は、例えば、筆画グループに含まれる筆画の数であってもよい。妥当性スコアは、２つの筆画グループの区切りが、文字間の区切りである妥当性の強さを示すスコアである。
【００６１】
記憶部６００は、例えば、妥当性スコアを記憶してもよい。記憶部６００は、例えば、筆画グループが形成する文字の候補および認識スコアを記憶してもよい。認識スコアは、例えば、筆画グループが形成する文字の候補の妥当性の強さを示すスコアである。認識スコアは、例えば、認識スコア算出部６０４によって算出される。認識スコアは、具体的には、最高値を１００、最低値を０として、文字としての確からしさが高いほど数値が高くなるようなスコアである。記憶部６００は、具体的には、図５に示した候補データベース５００を記憶してもよい。記憶部６００は、例えば、筆画グループが形成する文字の候補を生成し、認識スコアを算出するための情報を記憶してもよい。記憶部６００は、具体的には、図３に示した辞書データベース３００を記憶してもよい。
【００６２】
記憶部６００は、例えば、２つの筆画グループが形成する文字の候補の組み合わせの文脈スコアを記憶してもよい。文脈スコアは、例えば、文字の候補の組み合わせが、文脈に沿った組み合わせである妥当性の強さを示すスコアである。文脈スコアは、例えば、文脈スコア算出部６０５によって算出される。文脈スコアは、具体的には、日本語であれば、文字の並びの日本語としての尤度が高いほど、数値が高くなるようなスコアである。例えば、「好き」と「女子き」という文字の並びがあれば、「好き」は「女子き」よりも日本語としての尤度が高いため、「好き」は「女子き」よりも算出される文脈スコアが高くなる。文脈スコアは、具体的には、バイグラム確率に基づいて算出される。記憶部６００は、例えば、文脈スコアを算出するための情報を記憶してもよい。記憶部６００は、具体的には、図４に示した文脈データベース４００を記憶してもよい。
【００６３】
記憶部６００は、例えば、教師データを記憶してもよい。教師データは、例えば、ペアにされた２つの筆画グループと、ペアにされた２つの筆画グループの区切りが、文字間の区切りとして妥当であるか否かを示す回答データとを対応付けて表すデータである。教師データは、所定のモデルを学習するためのデータである。教師データは、具体的には、ペアにされた２つの筆画グループのそれぞれの筆画グループの特徴量と、回答データとを対応付けて表すデータであってもよい。教師データは、所定のモデルを学習するためのデータである。記憶部６００は、情報処理装置１００で所定のモデルを学習しない場合、教師データを記憶しなくてよい。
【００６４】
取得部６０１は、各機能部の処理に用いられる各種情報を取得する。取得部６０１は、取得した各種情報を、記憶部６００に記憶し、または、各機能部に出力する。また、取得部６０１は、記憶部６００に記憶しておいた各種情報を、各機能部に出力してもよい。取得部６０１は、例えば、ユーザの操作入力に基づき、各種情報を取得する。取得部６０１は、例えば、情報処理装置１００とは異なる装置から、各種情報を受信してもよい。
【００６５】
取得部６０１は、例えば、筆画データを蓄積する。取得部６０１は、具体的には、入力欄に筆画が書き込まれる都度、筆画を検出し、筆画の軌跡を示す筆画データを取得して記憶部６００に蓄積する。また、取得部６０１は、例えば、教師データを取得してもよい。また、取得部６０１は、例えば、情報処理装置１００で所定のモデルを学習しない場合、所定のモデルを取得してもよい。
【００６６】
特定部６０２は、蓄積した筆画データを参照して、入力欄に書き込まれた、複数の筆画グループを特定する。特定部６０２は、例えば、入力欄に書き込まれた、Ｍ画の筆画のうち、ｉ画目の筆画からｊ画分の筆画を含む筆画グループを特定する。ｉは、１，２，・・・，Ｍである。ｊは、１，２，・・・，ｍｉｎ（Ｍ−ｉ＋１，Ｎ）である。ｉがＭに近づくにつれ、ｉ画目より後ろに存在する筆画の数が少なくなるため、ｊの最大値は小さくなる。Ｎは、予め設定される。Ｎは、例えば、一般的な文字の最大画数が設定される。
【００６７】
ここで、特定部６０２は、特定しうる筆画グループを複数またはすべて特定してもよいため、一部の筆画が重複して含まれる２以上の筆画グループを特定してもよい。これにより、特定部６０２は、文字を形成しうる筆画グループを特定することができ、妥当性スコア算出部６０３、認識スコア算出部６０４、および、文脈スコア算出部６０５の処理を実行可能にすることができる。
【００６８】
妥当性スコア算出部６０３は、蓄積した筆画データを参照して、入力欄に書き込まれた、先行の筆画グループと、後続の筆画グループとの特徴量に基づいて、先行の筆画グループと、後続の筆画グループとの区切りについての妥当性スコアを算出する。後続の筆画グループは、先行の筆画グループの直後に続く筆画グループである。妥当性スコア算出部６０３は、例えば、先行の筆画グループと、後続の筆画グループとの特徴量を、所定のモデルに入力することにより、妥当性スコアを算出する。これにより、妥当性スコア算出部６０３は、１つの文字を形成する筆画の集まりを特定する指標となる区切りの尤もらしさを取得することができる。
【００６９】
妥当性スコア算出部６０３は、先行の筆画グループと、後続の筆画グループとを組み合わせた２つの筆画グループのペアごとに、ペアにされた２つの筆画グループの区切りの妥当性スコアを算出してもよい。ここで、妥当性スコア算出部６０３は、ペアにされた２つの筆画グループのそれぞれの筆画グループの特徴量に基づいて、ペアにされた２つの筆画グループの区切りの妥当性スコアを算出する。妥当性スコア算出部６０３は、例えば、ペアにされた２つの筆画グループのそれぞれの筆画グループの特徴量を、所定のモデルに入力することにより、妥当性スコアを算出する。これにより、妥当性スコア算出部６０３は、文字を形成する筆画の集まりの区切りを網羅的に検証することができ、１つの文字を形成する筆画の集まりを特定する指標となる区切りの尤もらしさを取得することができる。
【００７０】
妥当性スコア算出部６０３は、具体的には、先行の筆画グループに含まれる末尾の筆画と、後続の筆画グループに含まれる先頭の筆画と、後続の筆画グループに含まれる末尾の筆画との少なくともいずれかの筆画の入力欄での位置に基づいて、妥当性スコアを算出してもよい。妥当性スコア算出部６０３は、より具体的には、先行の筆画グループに含まれる末尾の筆画の入力欄での位置と、後続の筆画グループに含まれる先頭の筆画および末尾の筆画の入力欄での位置を、所定のモデルに入力することにより、妥当性スコアを算出する。これにより、妥当性スコア算出部６０３は、文字の区切りとしての正しさが表れやすい、筆画の特徴に基づいて、妥当性スコアを精度よく算出可能にすることができる。また、妥当性スコア算出部６０３は、先行の筆画グループに含まれるすべての筆画と、後続の筆画グループに含まれるすべての筆画とを考慮する場合に比べて、処理量の低減化を図ることができる。
【００７１】
妥当性スコア算出部６０３は、具体的には、さらに、先行の筆画グループに含まれる先頭の筆画の入力欄での位置に基づいて、妥当性スコアを算出してもよい。妥当性スコア算出部６０３は、より具体的には、さらに、先行の筆画グループに含まれる先頭の筆画の入力欄での位置を、所定のモデルに入力することにより、妥当性スコアを算出する。これにより、妥当性スコア算出部６０３は、妥当性スコアを算出する精度の向上を図ることができる。
【００７２】
妥当性スコア算出部６０３は、具体的には、さらに、先行の筆画グループに含まれる筆画の数と、後続の筆画グループに含まれる筆画の数とに基づいて、妥当性スコアを算出してもよい。妥当性スコア算出部６０３は、より具体的には、さらに、先行の筆画グループに含まれる筆画の数と、後続の筆画グループに含まれる筆画の数とを、所定のモデルに入力することにより、妥当性スコアを算出する。これにより、妥当性スコア算出部６０３は、妥当性スコアを算出する精度の向上を図ることができる。
【００７３】
妥当性スコア算出部６０３は、具体的には、さらに、先行の筆画グループ全体の入力欄での位置と、後続の筆画グループ全体の入力欄での位置とに基づいて、妥当性スコアを算出してもよい。妥当性スコア算出部６０３は、より具体的には、さらに、先行の筆画グループ全体の入力欄での位置と、後続の筆画グループ全体の入力欄での位置とを、所定のモデルに入力することにより、妥当性スコアを算出する。これにより、妥当性スコア算出部６０３は、妥当性スコアを算出する精度の向上を図ることができる。
【００７４】
認識スコア算出部６０４は、蓄積した筆画データを参照して、先行の筆画グループが形成する文字の候補を生成し、先行の筆画グループが形成する文字の候補の妥当性の強さを示す認識スコアを算出する。認識スコア算出部６０４は、例えば、辞書データベース３００を参照して、先行の筆画グループに含まれる１以上の筆画を合成した合成結果の筆跡の特徴量に対応する文字の候補を生成し、認識スコアを算出する。
【００７５】
また、認識スコア算出部６０４は、蓄積した筆画データを参照して、後続の筆画グループが形成する文字の候補を生成し、後続の筆画グループが形成する文字の候補の妥当性の強さを示す認識スコアを算出する。認識スコア算出部６０４は、例えば、辞書データベース３００を参照して、後続の筆画グループに含まれる１以上の筆画を合成した合成結果の筆跡の特徴量に対応する文字の候補を生成し、認識スコアを算出する。これにより、認識スコア算出部６０４は、認識スコアに基づいて、ユーザが書き込んだ文字がいずれの候補であるかを判断可能にすることができ、ユーザが書き込んだ文字を認識可能にすることができる。
【００７６】
認識スコア算出部６０４は、ペアのうち、算出した妥当性スコアが条件を満たすペアごとに、条件を満たすペアにされた２つの筆画グループのそれぞれの筆画グループが形成する文字の候補を生成し、認識スコアを算出してもよい。条件は、例えば、妥当性スコアが一定以上であることである。認識スコア算出部６０４は、例えば、辞書データベース３００を参照して、それぞれの筆画グループに含まれる１以上の筆画を合成した合成結果の筆跡の特徴量に対応する文字の候補を生成し、認識スコアを算出する。これにより、認識スコア算出部６０４は、ユーザが書き込んだ文字を表す確率が相対的に低いペアについての処理を省略し、文字を認識する精度の低下を抑制しつつ、処理量の低減化を図ることができる。
【００７７】
文脈スコア算出部６０５は、蓄積した筆画データを参照して、先行の筆画グループが形成する文字の候補と、後続の筆画グループが形成する文字の候補との組み合わせの文脈スコアを算出する。文脈スコア算出部６０５は、例えば、文脈データベース４００を参照して、先行の筆画グループが形成する文字の候補と、後続の筆画グループが形成する文字の候補との組み合わせに対応するバイグラム確率に基づいて、文脈スコアを算出する。これにより、文脈スコア算出部６０５は、文字の候補のうち、文脈上尤もらしい文字を特定可能にすることができ、文字を認識する精度の向上を図ることができる。
【００７８】
文脈スコア算出部６０５は、ペアのうち、算出した妥当性スコアが条件を満たすペアごとに、条件を満たすペアにされた２つの筆画グループのそれぞれの筆画グループが形成する文字の候補の組み合わせの文脈スコアを算出してもよい。文脈スコア算出部６０５は、例えば、文脈データベース４００を参照して、それぞれの筆画グループが形成する文字の候補との組み合わせに対応するバイグラム確率に基づいて、文脈スコアを算出する。これにより、文脈スコア算出部６０５は、ユーザが書き込んだ文字を表す確率が相対的に低いペアについての処理を省略し、文字を認識する精度の低下を抑制しつつ、処理量の低減化を図ることができる。
【００７９】
重畳文字認識部６０６は、蓄積した筆画データと、算出した妥当性スコアとに基づいて、入力欄に書き込まれた１以上の文字を認識する。重畳文字認識部６０６は、例えば、いずれかの２つの筆画グループについて算出した妥当性スコアが一定以上であれば、それぞれの筆画グループに含まれる１以上の筆画の合成結果の筆跡が示す文字を、入力欄に書き込まれた文字として認識する。これにより、重畳文字認識部６０６は、認識する文字の種別を制限せず、認識する文字の種別が増加しても、文字の区切りがユーザから明示されずとも、ユーザによって１つの入力欄に重ね書きされる文字を精度よく認識することができる。
【００８０】
重畳文字認識部６０６は、例えば、生成した候補および認識スコアと、算出した妥当性スコアとに基づいて、入力欄に書き込まれた１以上の文字を認識してもよい。重畳文字認識部６０６は、具体的には、認識スコアと妥当性スコアとに基づいて、２つの筆画グループのペアにおける文字の候補の組み合わせごとに総合スコアを算出する。そして、重畳文字認識部６０６は、総合スコアが最大の組み合わせである文字の候補を、入力欄に書き込まれた文字として認識する。ここで、重畳文字認識部６０６は、総合スコアが一定以上の組み合わせである文字の候補を、入力欄に書き込まれた文字の候補として認識してもよい。これにより、重畳文字認識部６０６は、認識スコアに基づき、ユーザによって１つの入力欄に重ね書きされる文字を、さらに精度よく認識することができる。
【００８１】
重畳文字認識部６０６は、例えば、算出した文脈スコアと、生成した候補および認識スコアと、算出した妥当性スコアとに基づいて、入力欄に書き込まれた１以上の文字を認識してもよい。重畳文字認識部６０６は、具体的には、文脈スコアと認識スコアと妥当性スコアとに基づいて、２つの筆画グループのペアにおける文字の候補の組み合わせごとに総合スコアを算出する。そして、重畳文字認識部６０６は、総合スコアが最大の組み合わせである文字の候補を、入力欄に書き込まれた文字として認識する。ここで、重畳文字認識部６０６は、総合スコアが一定以上の組み合わせである文字の候補を、入力欄に書き込まれた文字の候補として認識してもよい。これにより、重畳文字認識部６０６は、文脈スコアに基づき、ユーザによって１つの入力欄に重ね書きされる文字を、さらに精度よく認識することができる。
【００８２】
出力部６０７は、各種情報を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークＩ／Ｆ２０３による外部装置への送信、または、メモリ２０２や記録媒体２０５などの記憶領域への記憶である。各種情報は、例えば、いずれかの機能部の処理結果である。出力部６０７は、例えば、重畳文字認識部６０６の認識結果を出力する。これにより、出力部６０７は、ユーザが書き込んだ文字を利用可能にすることができる。また、出力部６０７は、認識した文字をユーザが確認可能にすることができる。
【００８３】
学習部６０８は、取得した教師データを利用して、ペアにされた２つの筆画グループのそれぞれの筆画グループの特徴量を入力すると、ペアにされた２つの筆画グループの区切りの妥当性スコアを出力する所定のモデルを学習する。学習部６０８は、学習モデルを記憶部６００に記憶する。学習部６０８は、例えば、教師データが示すペアにされた２つの筆画グループのそれぞれの筆画グループの特徴量と、２つの筆画グループの区切りの正しさを示す回答データとを、ニューラルネットワークに入力する。
【００８４】
ここで、学習部６０８は、例えば、筆画グループの特徴量としては、筆画グループに含まれる少なくともいずれかの筆画に基づく特徴量を利用する。学習部６０８は、具体的には、筆画グループに含まれる先頭または末尾の筆画の特徴量を利用する。特徴量は、例えば、入力欄での位置である。また、学習部６０８は、具体的には、筆画グループに含まれるすべての筆画の特徴量、または、筆画グループに含まれる筆画の数などを利用してもよい。これにより、学習部６０８は、教師データを利用して、妥当性スコアを精度よく算出可能なモデルを学習することができ、モデルの生成にかかる作業負担の低減化を図ることができる。
【００８５】
ここでは、情報処理装置１００が、学習部６０８を有する場合について説明したが、これに限らない。例えば、情報処理装置１００が、学習部６０８を有さない場合があってもよい。この場合、情報処理装置１００は、自装置で所定のモデルを学習せず、所定のモデルを学習する他の装置から、所定のモデルを取得する。
【００８６】
（情報処理装置１００の動作例）
次に、図７〜図１６を用いて、情報処理装置１００の動作例について説明する。まず、図７および図８を用いて、情報処理装置１００がニューラルネットワークを生成する一例について説明する。
【００８７】
図７および図８は、情報処理装置１００がニューラルネットワークを生成する一例を示す説明図である。図７において、情報処理装置１００は、例えば、正解を示す教師データをニューラルネットワークに学習させる。図７の例では、教師データは、入力欄７００に書き込まれた筆画７０１〜７０９を、筆画７０１〜７０４を含む先行の筆画グループと、筆画７０５〜７０９を含む後続の筆画グループとに区切る場合に対応する。
【００８８】
教師データは、先行の筆画グループの先頭の筆画、末尾の筆画、筆画グループ全体の位置を示す位置データＡを含む。また、教師データは、後続の筆画グループの先頭の筆画、末尾の筆画、筆画グループ全体の位置を示す位置データＢを含む。教師データは、先行の筆画グループに含まれる筆画の数を示す画数データＣを含む。また、教師データは、後続の筆画グループに含まれる筆画の数を示す画数データＤを含む。
【００８９】
また、先行の筆画グループに含まれる筆画７０１〜７０４を合成した合成結果の筆跡７１１は正しく文字「文」を形成し、かつ、後続の筆画グループに含まれる筆画７０５〜７０９を合成した合成結果の筆跡７１２は正しく文字「字」を形成する。このため、教師データは、例えば、先行の筆画グループと後続の筆画グループとの区切りが、文字の区切りとして正しいことを示す回答データＥを含む。
【００９０】
これにより、情報処理装置１００は、ニューラルネットワークに、２つの筆画グループの区切りが文字間の区切りとして正しい場合に、２つの筆画グループに含まれる筆画の特徴がどのような状態になるかを学習させることができる。次に、図８の説明に移行する。
【００９１】
図８において、情報処理装置１００は、例えば、不正解を示す教師データをニューラルネットワークに学習させる。図８の例では、教師データは、入力欄７００に書き込まれた筆画７０１〜７０９を、筆画７０１〜７０５を含む先行の筆画グループと、筆画７０６〜７０９を含む後続の筆画グループとに区切る場合に対応する。
【００９２】
教師データは、先行の筆画グループの先頭の筆画、末尾の筆画、筆画グループ全体の位置を示す位置データＡを含む。また、教師データは、後続の筆画グループの先頭の筆画、末尾の筆画、筆画グループ全体の位置を示す位置データＢを含む。教師データは、先行の筆画グループに含まれる筆画の数を示す画数データＣを含む。また、教師データは、後続の筆画グループに含まれる筆画の数を示す画数データＤを含む。
【００９３】
また、先行の筆画グループに含まれる筆画７０１〜７０５を合成した合成結果の筆跡８１１は文字「文」を形成せず、かつ、後続の筆画グループに含まれる筆画７０６〜７０９を合成した合成結果の筆跡８１２は文字「字」を形成しない。このため、教師データは、例えば、先行の筆画グループと後続の筆画グループとの区切りが、文字の区切りとして正しくないことを示す回答データＥを含む。
【００９４】
これにより、情報処理装置１００は、ニューラルネットワークに、２つの筆画グループの区切りが文字間の区切りとして誤っている場合に、２つの筆画グループに含まれる筆画の特徴がどのような状態になるかを学習させることができる。このように、情報処理装置１００は、ニューラルネットワークに、２つの筆画グループに含まれる筆画の特徴と、２つの筆画グループの区切りが文字間の区切りとして正しいか否かの関係についての各種性質を学習させることができる。
【００９５】
そして、情報処理装置１００は、ニューラルネットワークが、２つの筆画グループの特徴量が入力されると、２つの筆画グループの区切りが文字の区切りとして尤もらしいほど１に近い値になるように、０〜１の範囲の値を出力可能にすることができる。ここで、０〜１の範囲の値は、例えば、そのまま、妥当性スコアとして利用される。０〜１の範囲の値は、例えば、一定値αを乗算してから、妥当性スコアとして利用されてもよい。一定値αは、予め、文字認識のテストを実施することにより設定される。
【００９６】
したがって、情報処理装置１００は、文字の区切りとして正しい場合の他に、文字の区切りとして誤っている場合についても、ニューラルネットワークに反映した上で、妥当性スコアを算出可能にすることができる。このため、情報処理装置１００は、認識する文字の種別を制限しない場合であっても、１つの文字を形成する筆画の集まりを精度よく特定可能にする基準を得ることができる。
【００９７】
ここでは、教師データが、先行の筆画グループの先頭の筆画、末尾の筆画、筆画グループ全体の位置を示す位置データＡと、後続の筆画グループの先頭の筆画、末尾の筆画、筆画グループ全体の位置を示す位置データＢとを含む場合について説明したが、これに限らない。例えば、教師データが、先行の筆画グループのすべての筆画、筆画グループ全体の位置を示す位置データＡと、後続の筆画グループのすべての筆画、筆画グループ全体の位置を示す位置データＢとを含む場合があってもよい。
【００９８】
次に、図９〜図１１を用いて、ニューラルネットワークに学習される、２つの筆画グループに含まれる筆画の特徴と、２つの筆画グループの区切りが文字間の区切りとして正しいか否かの関係についての性質の一例について説明する。
【００９９】
図９〜図１１は、ニューラルネットワークに学習される性質の一例を示す説明図である。図９において、入力欄９００に、文字９１１と文字９１２とが続けて書き込まれる場合を例に挙げる。
【０１００】
この場合、文字９１１は、入力欄９００内で、左側から書き始められて右側で書き終えられる傾向があり、上側から書き始められて下側で書き終えられる傾向がある。そして、文字９１２を書き込む際、同様に、文字９１２は、入力欄９００内で、左側から書き始められて右側で書き終えられる傾向があり、上側から書き始められて下側で書き終えられる傾向がある。
【０１０１】
このため、２つの筆画グループのそれぞれの筆画グループを合成した合成結果の筆跡の組み合わせが示す文字の書き方が、図９に示すような文字の書き方であれば、区切りが正しい確率が高くなるという性質が、ニューラルネットワークに学習される傾向がある。次に、図１０の説明に移行する。
【０１０２】
図１０において、入力欄１０００に、文字１０１０が書き込まれる場合、および、文字列１０３０が書き込まれる場合を例に挙げる。文字１０１０は、「名（漢字）」である。文字列１０３０は、「タロ（カタカナ）」である。
【０１０３】
この場合、文字１０１０を、誤って部分１０２１と部分１０２２とに区切ると、部分１０２１と部分１０２２とは入力欄１０００内で偏った位置に存在する傾向がある。一方で、文字列１０３０を、正しく文字１０４１と文字１０４２とに区切れば、文字１０４１と文字１０４２とは、入力欄１０００内で中央に存在する傾向がある。
【０１０４】
このため、２つの筆画グループのそれぞれの筆画グループ全体の位置が、入力欄１０００の中央に存在すれば、区切りが正しい確率が高くなるという性質が、ニューラルネットワークに学習される傾向がある。次に、図１１の説明に移行する。
【０１０５】
図１１において、入力欄１１００に、筆画群１１１１が書き込まれる場合、および、筆画群１１１２が書き込まれる場合を例に挙げる。ここで、筆画群１１１１のように、入力欄１１００の下側に存在する３画以下の筆画群は、句読点や３点リーダなどである可能性がある。一方で、入力欄１１００の下側に存在しても４画以上の筆画群は、３画以下である場合に比べて、文字の一部である可能性が高い。
【０１０６】
また、筆画群１１１２のように、上側に存在する３画以上の筆画群は、下側に存在する場合に比べて、文字の一部である可能性が高い。一方で、上側に存在しても２画以下の筆画群は、引用符号である可能性がある。このため、２つの筆画グループのそれぞれの筆画グループ全体の位置、および、筆画グループに含まれる筆画の数が、区切りの正しさと関係するという性質が、ニューラルネットワークに学習される傾向がある。例えば、筆画グループ全体の位置に偏りがある場合、筆画グループに含まれる筆画の数が多いほど、区切りが正しい確率が低くなるという性質が、ニューラルネットワークに学習される傾向がある。
【０１０７】
次に、図１２を用いて、情報処理装置１００が入力画面１２００を表示する一例について説明する。
【０１０８】
図１２は、情報処理装置１００が入力画面１２００を表示する一例を示す説明図である。図１２において、情報処理装置１００は、入力画面１２００を表示する。入力画面１２００は、ユーザが文字を重ね書きする入力欄１２０１と、書き込まれた文字の認識結果を示す表示欄１２０２とを含む。これにより、情報処理装置１００は、ユーザからの文字の書き込みを受け付ける。
【０１０９】
次に、図１３〜図１５を用いて、情報処理装置１００が文字を認識する一例について説明する。
【０１１０】
図１３〜図１５は、情報処理装置１００が文字を認識する一例を示す説明図である。情報処理装置１００は、入力欄１２０１に筆画が書き込まれる都度、書き込まれた筆画を検出し、筆画の軌跡を示す筆画データを取得する。情報処理装置１００は、例えば、タッチパネル２０６から、時系列のポインティング座標を含む座標列情報を、筆画データとして取得する。座標列情報は、例えば、（ｘ，ｙ）のようなポインティング座標を示す座標情報の配列である。座標情報は、例えば、３０ｍ秒などの周期ごとに１点ずつ得られる。座標列情報は、例えば、タッチパネル２０６に指やスタイラスが押下されてから、離されるまでの軌跡を示す１以上の座標情報を含む。
【０１１１】
図１３〜図１５の例では、情報処理装置１００が、入力欄１２０１に書き込まれた筆画１３０１〜１３０５などの軌跡を示す筆画データを順に取得する場合において、筆画１３０５の軌跡を示す筆画データを取得した時点を例に挙げる。
【０１１２】
ここで、情報処理装置１００は、特定しうる筆画グループをすべて特定し、それぞれの筆画グループが示す筆跡を特定する。情報処理装置１００は、筆画１３０１を含む筆画グループを特定し、筆画１３０１が示す筆跡１３１０を特定する。また、情報処理装置１００は、筆画１３０１，１３０２を含む筆画グループを特定し、筆画１３０１，１３０２が示す筆跡１３２０を特定する。
【０１１３】
また、情報処理装置１００は、筆画１３０１〜１３０３を含む筆画グループを特定し、筆画１３０１〜１３０３が示す筆跡１３３０を特定する。また、情報処理装置１００は、筆画１３０１〜１３０４を含む筆画グループを特定し、筆画１３０１〜１３０４が示す筆跡１３４０を特定する。また、情報処理装置１００は、筆画１３０１〜１３０５を含む筆画グループを特定し、筆画１３０１〜１３０５が示す筆跡１３５０を特定する。
【０１１４】
また、情報処理装置１００は、筆画１３０２を含む筆画グループを特定し、筆画１３０２が示す筆跡１３６０を特定する。また、情報処理装置１００は、筆画１３０２，１３０３を含む筆画グループを特定し、筆画１３０２，１３０３が示す筆跡１３７０を特定する。また、情報処理装置１００は、同様に、他の筆画グループを特定し、他の筆跡を特定する。次に、図１４の説明に移行する。
【０１１５】
図１４において、情報処理装置１００は、辞書データベース３００を参照して、特定した筆跡が示す文字の候補を特定して認識スコアを算出し、候補データベース５００に記憶する。情報処理装置１００は、例えば、筆跡１３１０が示す文字の候補として「─（罫線）」、「一（漢字）」、「−（記号）」などを特定して認識スコアを算出し、候補データベース５００の１画目の項目の１画のフィールドに設定する。
【０１１６】
また、情報処理装置１００は、例えば、筆跡１３２０が示す文字の候補として「＋（記号）」、「ナ（カタカナ）」、「十（漢字）」などを特定して認識スコアを算出し、候補データベース５００の１画目の項目の２画のフィールドに設定する。また、情報処理装置１００は、同様に、他の筆跡が示す文字の候補および認識スコアを、候補データベース５００に記憶する。次に、図１５の説明に移行する。
【０１１７】
図１５において、情報処理装置１００は、文脈データベース４００を参照して、筆跡が示す文字の候補の組み合わせごとに、文脈スコアを算出する。組み合わせは、例えば、筆跡１３１０が示す文字の候補と、筆跡１３６０が示す文字の候補の組み合わせである。組み合わせは、例えば、筆跡１３６０が示す文字の候補と、筆跡１５００が示す文字の候補の組み合わせである。組み合わせは、例えば、筆跡１３２０が示す文字の候補と、筆跡１５００が示す文字の候補の組み合わせである。
【０１１８】
情報処理装置１００は、先頭の筆画から末尾の筆画までで形成される連続する１以上の筆跡が示す文字の候補を並べた候補列の、隣接する候補間のバイグラム確率を乗算して、一定値Ｃを乗算して、候補列全体での文脈スコアを算出する。そして、情報処理装置１００は、候補列全体での文脈スコアを、候補列に含まれる文字の候補の組み合わせごとの文脈スコアとして利用する。情報処理装置１００は、筆跡が示す文字の候補の組み合わせのバイグラム確率を、そのまま文脈スコアとして利用してもよい。
【０１１９】
また、情報処理装置１００は、ニューラルネットワークを利用して、筆跡の元である筆画グループのペアごとに、妥当性スコアを算出する。情報処理装置１００は、ペアにされた筆画グループの特徴量を、ニューラルネットワークに入力することにより、妥当性スコアを算出する。
【０１２０】
そして、情報処理装置１００は、筆跡が示す文字の候補の組み合わせごとの認識スコアおよび文脈スコアと、筆跡の元である筆画グループのペアの妥当性スコアとに基づいて、筆跡が示す文字の候補の組み合わせごとの総合スコアを算出する。総合スコアは、例えば、認識スコアと、文脈スコアと、妥当性スコアとの合計である。総合スコアは、総合的に、いずれの筆画グループが正しく区切られた筆画グループであるかを示し、いずれの候補が書き込まれた文字として相応しい候補であるかを示すことになる。
【０１２１】
情報処理装置１００は、総合スコアが最大である文字の候補の組み合わせを、入力欄１２０１に書き込まれた文字として認識する。これにより、情報処理装置１００は、入力欄１２０１に書き込まれた文字を、リアルタイムに、精度よく認識することができる。
【０１２２】
ここで、情報処理装置１００は、図１３〜図１５に示す処理を実行する場合、ビタービアルゴリズムなどの効率的な最適化アルゴリズムを用いることが好ましい。これによれば、情報処理装置１００は、必ずしもすべての組み合わせについて各種スコアを算出しなくてもよく、処理量の低減化を図ることができる。
【０１２３】
ここで、情報処理装置１００は、妥当性スコアに基づいて、一部の認識スコアおよび文脈スコアの算出を省略してもよい。これによれば、情報処理装置１００は、ユーザが書き込んだ文字を表す確率が相対的に低いペアについての処理を省略し、文字を認識する精度の低下を抑制しつつ、処理量の低減化を図ることができる。
【０１２４】
ここでは、情報処理装置１００が、筆画グループのペアに対応する２つの筆跡が示す文字の候補の組み合わせごとに文脈スコアを算出する場合について説明したが、これに限らない。例えば、情報処理装置１００が、最初の筆画から最後の筆画までのうち、時系列に連続する複数の筆跡が示す文字の候補の組み合わせごとに、文脈スコアを算出する場合があってもよい。
【０１２５】
次に、図１６を用いて、情報処理装置１００が文字を認識した結果の一例について説明する。
【０１２６】
図１６は、情報処理装置１００が文字を認識した結果の一例を示す説明図である。例えば、入力欄１２０１に「名」という字が書き込まれる場合と、入力欄１２０１に「タロ」という字が重ね書きされる場合との筆跡は類似する傾向がある。ここで、「名」という字を書いた場合、「タ」と「ロ」の領域は重なっており、領域が重なるか否かを考慮するだけでは、「タロ」という字と区別することが難しい。また、文脈上も、「名は右側です」と「タロは右側です」とのように、いずれの字と認識しても妥当である場合がある。
【０１２７】
このため、従来では、「名」という字が書き込まれた場合、「名」という字を途中で誤って区切り、「名」という字の筆跡は「タロ（カタカナ）」として尤もらしいと誤って判断されることがある。このため、「名」という字が、誤って「タロ（カタカナ）」と認識されてしまうことがある。
【０１２８】
これに対し、情報処理装置１００は、ニューラルネットワークに、誤って文字を区切った場合についても反映させ、「タ」と「ロ」の重なりが浅い場合は「タ」と「ロ」の間の区切りが間違っていると学習させることができる。一方で、情報処理装置１００は、ニューラルネットワークに、正しく文字を区切った場合についても反映させ、「タ」と「ロ」が重ね書きされ、「タ」と「ロ」の重なりが深い場合は、「タ」と「ロ」の区切りは正しいと学習させることができる。
【０１２９】
これにより、情報処理装置１００は、例えば、筆跡１６０１のように、「名」という字が書き込まれた場合であれば、妥当性スコアに基づき、筆跡１６０１を途中で区切らないことが好ましいと判断して、「名（漢字）」を認識することができる。一方で、情報処理装置１００は、例えば、筆跡１６０２のように、「タロ」という字が書き込まれた場合であれば、筆跡１６０２を２文字分に区切ることが好ましいと判断して、「タロ（カタカナ）」を認識することができる。このように、情報処理装置１００は、ニューラルネットワークに、誤って文字を区切った場合についても反映させており、精度よく文字を認識することができる。
【０１３０】
また、認識する文字の種別を制限せずに、日本語の入力に対応する場合、認識する文字の数が７０００以上になることがある。このため、従来では、文字の組み合わせごとに、入力欄上で書き込み位置がどこからどこに移動するかの正しい軌跡を示す辞書情報を用意しようとすると、辞書情報が膨大になってしまう。これに対し、情報処理装置１００は、ニューラルネットワークを利用するため、数キロバイト程度にメモリ使用量を抑制することができる。また、情報処理装置１００は、ニューラルネットワークを利用し、１文字ずつの筆画の位置関係と、文字間の筆画の位置関係とを総合的に考慮して、妥当性スコアを算出することができる。このため、情報処理装置１００は、ユーザが文字を斜めに傾けて書き込む傾向があっても、重ね書きされる文字を精度よく認識可能にすることができる。
【０１３１】
ここでは、情報処理装置１００が、入力欄１２０１に筆画が書き込まれる都度、図１３〜図１５に示す処理を実行する場合について説明したが、これに限らない。例えば、情報処理装置１００が、筆画を検出してから数ミリ秒後までの間に、次の筆画が書き込まれない場合に、図１３〜図１５に示す処理を実行する場合があってもよい。
【０１３２】
ここでは、入力欄１２０１に文字が重ね書きされる場合について説明したが、これに限らない。例えば、入力欄１２０１に文字が並べて書き込まれる場合があってもよい。この場合、情報処理装置１００は、ニューラルネットワークに、正しく文字を区切る場合と、誤って文字を区切る場合とを学習させる。具体的には、情報処理装置１００は、入力欄１２０１に「タロ」という字が近づけて書き込まれた場合に、「タロ」を２文字に区切ることが正しいことを、ニューラルネットワークに学習させる。また、情報処理装置１００は、入力欄１２０１に「名」という字が書き込まれた場合に、「名」を区切らないことが正しいことを、ニューラルネットワークに学習させる。
【０１３３】
（全体処理手順）
次に、図１７を用いて、情報処理装置１００が実行する、全体処理手順の一例について説明する。全体処理は、例えば、図２に示したＣＰＵ２０１と、メモリ２０２や記録媒体２０５などの記憶領域と、ネットワークＩ／Ｆ２０３とによって実現される。
【０１３４】
図１７は、全体処理手順の一例を示すフローチャートである。図１７において、情報処理装置１００は、筆画データを取得する（ステップＳ１７０１）。そして、情報処理装置１００は、取得した筆画データを蓄積する（ステップＳ１７０２）。
【０１３５】
次に、情報処理装置１００は、蓄積した筆画データを参照して、時系列順に連続する１以上の筆画を含む筆画グループを、すべて特定する（ステップＳ１７０３）。そして、情報処理装置１００は、特定した筆画グループごとに文字認識を実施し、それぞれの筆画グループに含まれる１以上の筆画の合成結果である筆跡が示す文字の候補および認識スコアを取得する（ステップＳ１７０４）。
【０１３６】
次に、情報処理装置１００は、筆画グループの組み合わせごとに、筆画グループの組み合わせに対応する文字の候補の組み合わせの文脈スコアを算出する（ステップＳ１７０５）。そして、情報処理装置１００は、ニューラルネットワークを利用して、筆画グループの組み合わせごとの妥当性スコアを算出する（ステップＳ１７０６）。
【０１３７】
次に、情報処理装置１００は、筆画グループの組み合わせに対応する文字の候補の組み合わせごとに、認識スコアと文脈スコアと妥当性スコアとに基づく総合スコアを算出する（ステップＳ１７０７）。そして、情報処理装置１００は、総合スコアが最大の文字の候補の組み合わせを出力する（ステップＳ１７０８）。その後、情報処理装置１００は、ステップＳ１７０１の処理に戻る。
【０１３８】
ここで、情報処理装置１００は、図１７の一部ステップの処理の順序を入れ替えて実行してもよい。例えば、情報処理装置１００は、ステップＳ１７０６の処理を、ステップＳ１７０４，Ｓ１７０５の処理より先に実行してもよい。また、情報処理装置１００は、図１７の一部ステップの処理を省略してもよい。例えば、情報処理装置１００は、妥当性スコアが一定以下である筆画グループの組み合わせについては、ステップＳ１７０４，Ｓ１７０５の処理を省略してもよい。
【０１３９】
以上説明したように、情報処理装置１００によれば、文字が重ね書きされる１つの入力欄に書き込まれた筆画の軌跡を示す筆画データを蓄積することができる。情報処理装置１００によれば、蓄積した筆画データを参照して、入力欄に書き込まれた、先行の筆画グループと、後続の筆画グループとの特徴量に基づいて、先行の筆画グループと後続の筆画グループとの区切りの妥当性スコアを算出することができる。情報処理装置１００によれば、蓄積した筆画データと、算出した妥当性スコアとに基づいて、入力欄に書き込まれた１以上の文字を認識することができる。これにより、情報処理装置１００は、認識する文字の種別が増加しても、文字の区切りがユーザから明示されずとも、１つの文字を形成する筆画の集まりを精度よく特定することができ、重ね書きされる文字を精度よく認識可能にすることができる。
【０１４０】
情報処理装置１００によれば、蓄積した筆画データを参照して、先行の筆画グループが形成する文字の候補を生成し、先行の筆画グループが形成する文字の候補の認識スコアを算出することができる。情報処理装置１００によれば、蓄積した筆画データを参照して、後続の筆画グループが形成する文字の候補を生成し、後続の筆画グループが形成する文字の候補の認識スコアを算出することができる。情報処理装置１００によれば、生成した候補および算出した認識スコアと、算出した妥当性スコアとに基づいて、入力欄に書き込まれた１以上の文字を認識することができる。これにより、情報処理装置１００は、認識スコアを利用して、重ね書きされる文字をさらに精度よく認識可能にすることができる。
【０１４１】
情報処理装置１００によれば、蓄積した筆画データを参照して、先行の筆画グループが形成する文字の候補と、後続の筆画グループが形成する文字の候補との組み合わせの文脈スコアを算出することができる。情報処理装置１００によれば、算出した文脈スコアと、生成した候補および算出した認識スコアと、算出した妥当性スコアとに基づいて、入力欄に書き込まれた１以上の文字を認識することができる。これにより、情報処理装置１００は、文脈スコアを利用して、重ね書きされる文字をさらに精度よく認識可能にすることができる。
【０１４２】
情報処理装置１００によれば、入力欄に書き込まれた、先行の筆画グループと後続の筆画グループとを組み合わせた２つの筆画グループのペアごとに、ペアにされた２つの筆画グループの区切りの妥当性スコアを算出することができる。これにより、情報処理装置１００は、文字を形成する筆画の集まりの区切りを網羅的に検証することができ、１つの文字を形成する筆画の集まりを精度よく特定することができ、重ね書きされる文字を精度よく認識可能にすることができる。
【０１４３】
情報処理装置１００によれば、ペアのうち、算出した妥当性スコアが条件を満たすペアごとに、認識スコアを算出することができる。情報処理装置１００によれば、ペアのうち、算出した妥当性スコアが条件を満たすペアごとに、文脈スコアを算出することができる。これにより、情報処理装置１００は、ユーザが書き込んだ文字を表す確率が相対的に低いペアについての処理を省略し、文字を認識する精度の低下を抑制しつつ、処理量の低減化を図ることができる。
【０１４４】
情報処理装置１００によれば、先行の筆画グループに含まれる末尾の筆画の入力欄での位置と、後続の筆画グループに含まれる先頭の筆画および末尾の筆画の入力欄での位置とに基づいて、妥当性スコアを算出することができる。これにより、情報処理装置１００は、先行の筆画グループに含まれるすべての筆画と、後続の筆画グループに含まれるすべての筆画とを考慮する場合に比べて、処理量の低減化を図ることができる。
【０１４５】
情報処理装置１００によれば、さらに、先行の筆画グループに含まれる先頭の筆画に基づいて、妥当性スコアを算出することができる。これにより、情報処理装置１００は、妥当性スコアを算出する精度の向上を図ることができる。
【０１４６】
情報処理装置１００によれば、さらに、先行の筆画グループに含まれる筆画の数と、後続の筆画グループに含まれる筆画の数とに基づいて、妥当性スコアを算出することができる。これにより、情報処理装置１００は、妥当性スコアを算出する精度の向上を図ることができる。
【０１４７】
情報処理装置１００によれば、さらに、先行の筆画グループ全体の入力欄での位置と、後続の筆画グループ全体の入力欄での位置とに基づいて、妥当性スコアを算出することができる。これにより、情報処理装置１００は、妥当性スコアを算出する精度の向上を図ることができる。
【０１４８】
情報処理装置１００によれば、ペアにされた２つの筆画グループと、ペアにされた２つの筆画グループの区切りが文字間の区切りとして妥当であるか否かとを対応付けて表す教師データを取得することができる。情報処理装置１００によれば、取得した教師データを利用して、ペアにされた２つの筆画グループのそれぞれの筆画グループの特徴量を入力すると、ペアにされた２つの筆画グループの区切りの妥当性スコアを出力するモデルを学習することができる。情報処理装置１００によれば、学習したモデルを利用して、先行の筆画グループと、後続の筆画グループとの特徴量に基づいて、先行の筆画グループと後続の筆画グループとの区切りの妥当性スコアを算出することができる。これにより、情報処理装置１００は、文字の区切りの性質を学習したニューラルネットワークを利用して、妥当性スコアを精度よく算出可能にすることができる。
【０１４９】
なお、本実施の形態で説明した文字認識方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した文字認識プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した文字認識プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１５０】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１５１】
（付記１）入力欄に書き込まれた筆画の軌跡を示す筆画データを蓄積し、
蓄積した前記筆画データを参照して、前記入力欄に書き込まれた、時系列順に連続する１以上の筆画を含む先行の筆画グループと、前記先行の筆画グループの直後に続く、時系列順に連続する１以上の筆画を含む後続の筆画グループとの特徴量に基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出し、
蓄積した前記筆画データと、算出した前記妥当性スコアとに基づいて、前記入力欄に書き込まれた１以上の文字を認識する、
制御部を有することを特徴とする情報処理装置。
【０１５２】
（付記２）前記入力欄は、文字が重ね書きされる領域である、ことを特徴とする付記１に記載の情報処理装置。
【０１５３】
（付記３）前記制御部は、
蓄積した前記筆画データを参照して、前記先行の筆画グループが形成する文字の候補および前記先行の筆画グループが形成する文字の候補の妥当性の強さを示す認識スコアと、前記後続の筆画グループが形成する文字の候補および前記後続の筆画グループが形成する文字の候補の妥当性の強さを示す認識スコアとを生成し、
生成した前記候補および前記認識スコアと、算出した前記妥当性スコアとに基づいて、前記入力欄に書き込まれた１以上の文字を認識する、ことを特徴とする付記１または２に記載の情報処理装置。
【０１５４】
（付記４）前記制御部は、
蓄積した前記筆画データを参照して、前記先行の筆画グループが形成する文字の候補と、前記後続の筆画グループが形成する文字の候補との組み合わせが、文脈に沿った組み合わせである妥当性の強さを示す文脈スコアを算出し、
算出した前記文脈スコアと、生成した前記候補および前記認識スコアと、算出した前記妥当性スコアとに基づいて、前記入力欄に書き込まれた１以上の文字を認識する、ことを特徴とする付記３に記載の情報処理装置。
【０１５５】
（付記５）前記制御部は、
前記入力欄に書き込まれた、時系列順に連続する１以上の筆画を含む先行の筆画グループと、前記先行の筆画グループの直後に続く、時系列順に連続する１以上の筆画を含む後続の筆画グループとを組み合わせた２つの筆画グループのペアごとに、前記ペアにされた２つの筆画グループのそれぞれの筆画グループの特徴量に基づいて、前記ペアにされた２つの筆画グループの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出する、ことを特徴とする付記４に記載の情報処理装置。
【０１５６】
（付記６）前記制御部は、
前記ペアのうち、算出した前記妥当性スコアが条件を満たすペアごとに、前記条件を満たすペアにされた２つの筆画グループのそれぞれの筆画グループが形成する文字の候補および前記条件を満たすペアにされた２つの筆画グループのそれぞれの筆画グループが形成する文字の候補の妥当性を示す認識スコアを生成し、
前記ペアのうち、前記条件を満たすペアごとに、前記条件を満たすペアにされた２つの筆画グループのそれぞれの筆画グループが形成する文字の候補の組み合わせが、文脈に沿った組み合わせである妥当性の強さを示す文脈スコアを算出する、ことを特徴とする付記５に記載の情報処理装置。
【０１５７】
（付記７）前記制御部は、
前記先行の筆画グループに含まれる末尾の筆画と、前記後続の筆画グループに含まれる先頭の筆画と、前記後続の筆画グループに含まれる末尾の筆画との少なくともいずれかの筆画の前記入力欄での位置に基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出する、ことを特徴とする付記１〜６のいずれか一つに記載の情報処理装置。
【０１５８】
（付記８）前記制御部は、
さらに、前記先行の筆画グループに含まれる先頭の筆画の前記入力欄での位置に基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出する、ことを特徴とする付記７に記載の情報処理装置。
【０１５９】
（付記９）前記制御部は、
さらに、前記先行の筆画グループに含まれる筆画の数と、前記後続の筆画グループに含まれる筆画の数とに基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出する、ことを特徴とする付記７または８に記載の情報処理装置。
【０１６０】
（付記１０）前記制御部は、
さらに、前記先行の筆画グループ全体の前記入力欄での位置と、前記後続の筆画グループ全体の前記入力欄での位置とに基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出する、ことを特徴とする付記７〜９のいずれか一つに記載の情報処理装置。
【０１６１】
（付記１１）前記制御部は、
ペアにされた２つの筆画グループと、前記ペアにされた２つの筆画グループの区切りが文字間の区切りとして妥当であるか否かとを対応付けて表す教師データを取得し、
取得した前記教師データを利用して、ペアにされた２つの筆画グループのそれぞれの筆画グループの特徴量を入力すると、前記ペアにされた２つの筆画グループの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを出力するモデルを学習し、
学習した前記モデルを利用して、前記先行の筆画グループと、前記後続の筆画グループとの特徴量に基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出する、ことを特徴とする付記１〜１０のいずれか一つに記載の情報処理装置。
【０１６２】
（付記１２）コンピュータが、
入力欄に書き込まれた筆画の軌跡を示す筆画データを蓄積し、
蓄積した前記筆画データを参照して、前記入力欄に書き込まれた、時系列順に連続する１以上の筆画を含む先行の筆画グループと、前記先行の筆画グループの直後に続く、時系列順に連続する１以上の筆画を含む後続の筆画グループとの特徴量に基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出し、
蓄積した前記筆画データと、算出した前記妥当性スコアとに基づいて、前記入力欄に書き込まれた１以上の文字を認識する、
処理を実行することを特徴とする文字認識方法。
【０１６３】
（付記１３）コンピュータに、
入力欄に書き込まれた筆画の軌跡を示す筆画データを蓄積し、
蓄積した前記筆画データを参照して、前記入力欄に書き込まれた、時系列順に連続する１以上の筆画を含む先行の筆画グループと、前記先行の筆画グループの直後に続く、時系列順に連続する１以上の筆画を含む後続の筆画グループとの特徴量に基づいて、前記先行の筆画グループと前記後続の筆画グループとの区切りが、文字間の区切りである妥当性の強さを示す妥当性スコアを算出し、
蓄積した前記筆画データと、算出した前記妥当性スコアとに基づいて、前記入力欄に書き込まれた１以上の文字を認識する、
処理を実行させることを特徴とする文字認識プログラム。
【符号の説明】
【０１６４】
１００  情報処理装置
１１０，７００，９００，１０００，１１００，１２０１  入力欄
１１１〜１１５，７０１〜７０９，１３０１〜１３０５  筆画
１２１，１２２，７１１，７１２，８１１，８１２，１３１０，１３２０，１３３０，１３４０，１３５０，１３６０，１３７０，１５００，１６０１，１６０２  筆跡
２００  バス
２０１  ＣＰＵ
２０２  メモリ
２０３  ネットワークＩ／Ｆ
２０４  記録媒体Ｉ／Ｆ
２０５  記録媒体
２０６  タッチパネル
２１０  ネットワーク
３００  辞書データベース
４００  文脈データベース
５００  候補データベース
６００  記憶部
６０１  取得部
６０２  特定部
６０３  妥当性スコア算出部
６０４  認識スコア算出部
６０５  文脈スコア算出部
６０６  重畳文字認識部
６０７  出力部
６０８  学習部
９１１，９１２，１０１０，１０４１，１０４２  文字
１０２１，１０２２  部分
１０３０  文字列
１１１１，１１１２  筆画群
１２００  入力画面
１２０２  表示欄
【図１】
2020013460.tif 000003
【図２】
2020013460.tif 000004
【図３】
2020013460.tif 000005
【図４】
2020013460.tif 000006
【図５】
2020013460.tif 000007
【図６】
2020013460.tif 000008
【図７】
2020013460.tif 000009
【図８】
2020013460.tif 000010
【図９】
2020013460.tif 000011
【図１０】
2020013460.tif 000012
【図１１】
2020013460.tif 000013
【図１２】
2020013460.tif 000014
【図１３】
2020013460.tif 000015
【図１４】
2020013460.tif 000016
【図１５】
2020013460.tif 000017
【図１６】
2020013460.tif 000018
【図１７】
2020013460.tif 000019