JP6451316B2 - 文字認識プログラム、文字認識方法及び文字認識装置 - Google Patents

文字認識プログラム、文字認識方法及び文字認識装置 Download PDF

Info

Publication number
JP6451316B2
JP6451316B2 JP2014265900A JP2014265900A JP6451316B2 JP 6451316 B2 JP6451316 B2 JP 6451316B2 JP 2014265900 A JP2014265900 A JP 2014265900A JP 2014265900 A JP2014265900 A JP 2014265900A JP 6451316 B2 JP6451316 B2 JP 6451316B2
Authority
JP
Japan
Prior art keywords
stroke
input
character
combination
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014265900A
Other languages
English (en)
Other versions
JP2016126468A (ja
Inventor
悠吾 松田
悠吾 松田
片岡 正弘
正弘 片岡
康弘 露木
康弘 露木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014265900A priority Critical patent/JP6451316B2/ja
Priority to US14/960,655 priority patent/US9594952B2/en
Priority to CN201510969247.9A priority patent/CN105739882B/zh
Publication of JP2016126468A publication Critical patent/JP2016126468A/ja
Application granted granted Critical
Publication of JP6451316B2 publication Critical patent/JP6451316B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/333Preprocessing; Feature extraction
    • G06V30/347Sampling; Contour coding; Stroke extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/242Division of the character sequences into groups prior to recognition; Selection of dictionaries
    • G06V30/244Division of the character sequences into groups prior to recognition; Selection of dictionaries using graphical properties, e.g. alphabet type or font
    • G06V30/2455Discrimination between machine-print, hand-print and cursive writing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Character Discrimination (AREA)

Description

本発明は、文字認識プログラム、文字認識方法及び文字認識装置に関する。
従来から、手書き入力された文字を認識する文字認識の技術が知られている。文字認識の技術として、例えば、枠の中に入力されたストローク(筆跡)から文字を認識するものが知られている。また、文字認識の技術として、例えば、入力されたストロークを位置情報に変換し、この位置情報と、字型の位置情報とに基づき文字を認識するものが知られている。
特開2000−105798号公報 特開2013−238917号公報
上記従来の技術において、例えば枠の中に入力されたストロークから文字を認識する場合、前後のストロークの関係を認識していないために誤った認識を行う可能性がある。また、ストロークと字型の位置情報から文字を認識する場合には、特に画数の少ない数字等において文字と文字の境界の判定を正確に行うことが困難であり、誤認識が発生する可能性がある。
すなわち、個々のストロークから文字を推定する従来の技術では、数字のようにストロークの種類が少なくかつ字型がシンプルな場合、入力されたストロークから得られる情報は、正確な文字認識を行うには十分ではない。
1つの側面では、複数の文字になり得る可能性のあるストロークにおける文字認識の精度を向上させることができる文字認識方法、文字認識プログラム及び文字認識装置を提供することを目的としている。
一様態によれば、コンピュータに、入力操作に対応した入力座標情報から入力ストローク情報を生成し、前記入力ストローク情報から、照合対象文字を構成する照合対象ストロークを組み合わせた、複数のストローク組み合わせ候補、および、前記複数のストローク組み合わせ候補に対する評価値を生成し、前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率、および、前記照合対象文字それぞれの出現確率に基づき生成された、記憶装置に保存されたストロークごとの出現確率情報、および、前記評価値に基づき、前記複数のストローク組み合わせ候補から、第1のストローク組み合わせを特定し、前記第1のストローク組み合わせから、前記入力操作に対応する認識文字を出力する、処理を実行させる。
上記各処理は、上記各処理を実現する機能部、上記各処理を手順としてコンピュータにより実行させる方法、プログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
複数の文字になり得る可能性のあるストロークにおける文字認識の精度を向上させることができる。
本実施形態の主なプログラム構成を説明する図である。 文字認識装置のハードウェア構成の一例を示す図である。 文字認識装置の機能を説明する図である。 統計データ生成部の機能構成を説明する図である。 文字判断部の機能構成を説明する図である。 文字認識装置の動作を説明するフローチャートである。 統計データ生成部による処理を説明するフローチャートである。 数値データ抽出部の処理を説明する図である。 ストローク辞書データベースの一例を示す図である。 ストロークデータベースの一例を示す図である。 出現確率算出部の処理を説明する図である。 統計データベースの一例を示すである。 文字判断部による処理を説明するフローチャートである。 評価値テーブルの一例を示す図である。 パターン生成部が生成するストロークの組合せのパターンの一例を示す図である。 統計照合結果テーブルの一例を示す図である。 区切れ位置テーブルの一例を示す図である。 ストローク時間テーブルの一例を示す図である。 ストローク時間テーブルの設定値について説明する図である。 時間照合結果テーブルの一例を示す図である。 結果テーブルの一例を示す図である。
以下に図面を参照して実施形態について説明する。図1は、本実施形態の主なプログラム構成を説明する図である。
本実施形態は、主なプログラムとして、統計データ作成プログラム10、文字判断プログラム20、認識プログラム30を有する。
統計データ作成プログラム10は、ビッグデータ等の大量の文書データから数字を抽出し、数字に含まれるストロークの組合せ毎の出現確率を示す統計データを作成する。尚、以下に説明におけるストロークとは、筆跡を示している。1ストロークは、筆跡の始点から終点までを示す。
文字判断プログラム20は、作成された統計データを参照し、入力されたストロークの組合せから、文字と文字の境界を判断する。すなわち、文字判断プログラム20は、入力されたストロークのうち、どのストロークが1文字を形成するかを判断する。
認識プログラム30は、文字判断プログラム20により、1文字であると判断されたストロークが示す文字を認識する。
本実施形態の統計データ作成プログラム10、文字判断プログラム20、認識プログラム30は、それぞれが独立した装置に実装されていても良いし、それぞれが1つの装置に実装されていても良い。また、本実施形態の文字判断プログラム20及び認識プログラム30は、文字認識プログラムとして1つの装置に実行されることが好ましい。
以下の実施形態の説明では、統計データ作成プログラム10、文字判断プログラム20、認識プログラム30が1つの装置に実装された場合について説明する。以下の説明では、統計データ作成プログラム10、文字判断プログラム20、認識プログラム30が実装された装置を文字認識装置と呼ぶ。
図2は、文字認識装置のハードウェア構成の一例を示す図である。本実施形態の文字認識装置1は、それぞれバスBで相互に接続されている表示操作装置11、ドライブ装置12、補助記憶装置13、メモリ装置14、演算処理装置15及びインターフェース装置16を有する。
表示操作装置11は、例えばタッチパネル等であり、各種信号の入力と、各種信号の表示(出力)に用いられる。インターフェース装置16は、モデム,LANカード等を含み、ネットワークに接続する為に用いられる。
統計データ作成プログラム10、文字判断プログラム20及び認識プログラム30は、文字認識装置1を制御する各種プログラムの少なくとも一部である。画くプログラムは例えば記録媒体17の配布やネットワークからのダウンロードなどによって提供される。統計データ作成プログラム10、文字判断プログラム20及び認識プログラム30を記録した記録媒体17は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
また、統計データ作成プログラム10、文字判断プログラム20及び認識プログラム30を記録した記録媒体17がドライブ装置12にセットされると、各プログラムは記録媒体17からドライブ装置12を介して補助記憶装置13にインストールされる。ネットワークからダウンロードされた各プログラムは、インターフェース装置16を介して補助記憶装置13にインストールされる。
補助記憶装置13は、インストールされた統計データ作成プログラム10、文字判断プログラム20及び認識プログラム30を格納すると共に、必要なファイル、データ等を格納する。メモリ装置14は、コンピュータの起動時に補助記憶装置13から統計データ作成プログラム10、文字判断プログラム20及び認識プログラム30を読み出して格納する。そして、演算処理装置15はメモリ装置14に格納された各プログラムに従って、後述するような各種処理を実現している。
図3は、文字認識装置の機能を説明する図である。本実施形態の文字認識装置1は、統計データ生成部100、文字判断部200、認識部300を有する。
本実施形態の統計データ生成部100は、演算処理装置15が統計データ作成プログラム10を実行することで実現される。本実施形態の文字判断部200は、演算処理装置15が文字判断プログラム20を実行することで実現される。本実施形態の認識部300は、演算処理装置15が認識プログラム30を実行することで実現される。
本実施形態の文字認識装置1は、主に数字が入力されるものであり、数字を認識するもとして説明する。
本実施形態の統計データ生成部100は、大量テキストデータベース110、ストローク辞書データベース120、ストローク時間テーブル230を予め有している。
大量テキストデータベース110は、ビッグデータ等の大量のテキストデータが格納されている。ストローク辞書データベース120は、ストロークの種類を示すストローク情報と、ストローク毎の利用割合を示す利用割合情報を含む。ストローク時間テーブル230は、ストロークの入力に係る時間の閾値が格納されている。
統計データ生成部100は、大量テキストデータベース110から数字で示される数値データを抽出し、数値データベース130に格納する。そして、統計データ生成部100は、ストローク辞書データベース120を参照し、数値データの数字に含まれるストロークの組合せ毎の出現回数を求め、ストロークデータベース140に格納する。次に、統計データ生成部100は、ストロークの組合せ毎のNグラムの統計データを作成し、ストロークデータベース140を参照してストロークの組合せ毎の出現確率を算出し、統計データベース150に格納する。
本実施形態の文字判断部200は、入力受付部210と、組合せ判断部220を有する。文字判断部200において、入力受付部210は、文字認識装置1への文字の入力を受け付けると、入力されたストロークの座標値を入力ストロークテーブル211に格納する。次に文字判断部200は、組合せ判断部220により、入力された各ストロークについてストローク辞書データベース120に格納されたストローク情報との一致度を示す評価値を求め、評価値テーブル212に格納する。
続いて、組合せ判断部220は、入力されたストロークの数から得られるストロークの組合せのパターンを求める。そして、組合せ判断部220は、統計データベース150に格納されたストロークの組合せ毎の出現確率と、評価値テーブル212に格納された評価値とを用いて、パターン毎のスコアを算出し、統計照合結果テーブル213を作成する。
次に、組合せ判断部220は、統計照合結果テーブル213を参照し、スコアの値が高い方から所定数のパターンにおいて、文字の区切れ(文字と文字の境界)となり得る位置を求め、区切れ位置を示す区切れ位置テーブル214を作成する。次に、組合せ判断部220は、ストローク時間テーブル230と、ストロークの入力に係る時間とを照合し、時間照合結果テーブル215を作成する。
続いて、組合せ判断部220は、区切れ位置テーブル214と時間照合結果テーブル215とに基づき、入力された複数のストロークにおける文字の区切りとなる位置を示す結果テーブル216を作成する。
本実施形態の統計データ生成部100と文字判断部200の詳細は後述する。
本実施形態の認識部300は、結果テーブル216が作成されると、結果テーブル216に示される文字の区切れに従って、文字の認識を行い、認識結果となる文字を出力する。
以上のように、本実施形態によれば、入力されたストロークの数から得られるストロークの組合せのパターン毎に、入力されたストロークとストローク情報とから得た評価値と、ストロークの組合せの出現確率に基づくスコアを算出する。そして、本実施形態では、スコアの値が大きいストロークの組合せのパターンから文字の区切りを求め、文字認識を行う。したがって、本実施形態によれば、ストロークの数が少ない、すなわち画数が少ない数字等の文字の認識の精度を向上させることができ、複数の文字になり得る可能性のあるストロークからの文字認識の精度を向上させることができる。
次に、図4を参照して、本実施形態の統計データ生成部100について説明する。図4は、統計データ生成部の機能構成を説明する図である。
本実施形態の統計データ生成部100は、テキストデータ参照部160、数値データ抽出部170、ストローク情報変換部180、出現確率算出部190を有する。
本実施形態のテキストデータ参照部160は、大量テキストデータベース110を参照する。本実施形態の大量テキストデータベース110は、文字認識装置1の内部に設けられていても良いし、文字認識装置1の外部のネットワーク上等に設けられていても良い。本実施形態の大量テキストデータベース110は、例えばビッグデータ等の大量のテキストデータが格納されている。ビッグデータとは、巨大で複雑なデータ集合の集積物を示す。
数値データ抽出部170は、大量テキストデータベース110から、数値を示す数値データを抽出する。すなわち、数値データ抽出部170は、大量テキストデータベース110から数字のテキストデータを抽出する。
ストローク情報変換部180は、ストローク辞書データベース120を参照し、抽出された数値データの数字に含まれるストロークの組合せと、組合せ毎の出現回数とを求め、ストロークデータベース140へ格納する。ストローク辞書データベース120と、ストロークデータベース140の詳細は後述する。
出現確率算出部190は、数字に含まれるストロークの組合せから、Nグラムの統計データを収集し、N個のストロークを組み合わせた組合せ毎の出現確率を算出し、統計データベース150に格納する。
統計データ生成部100における各部の処理の詳細は後述する。
図5は、文字判断部の機能構成を説明する図である。本実施形態の文字判断部200は、入力受付部210、組合せ判断部220を有する。
入力受付部210は、文字認識装置1に対するストロークの入力を受け付ける。組合せ判断部220は、入力ストローク照合部221と、評価値生成部222と、パターン生成部223と、統計データ照合部224と、区切れ位置出力部225と、時間照合部226と、結果出力部227と、を有する。
入力ストローク照合部221は、入力されたストロークを座標値として格納した入力ストロークテーブル211を生成する。また、入力ストローク照合部221は、ストロークの入力の際に、ストローク時間情報を取得し、入力ストロークテーブル211に格納する。本実施形態のストローク時間情報は、ストロークの終点から次のストロークの始点が入力されまでの中断時間である。
そして、入力ストローク照合部221は、入力されたストロークと、ストローク辞書データベース120とを照合する。
評価値生成部222は、入力ストローク照合部221による照合の結果から、入力されたストローク毎の評価値を生成する。本実施形態のストロークの評価値は、入力されたストロークと、ストローク辞書データベース120に格納されたストローク情報との一致度を示す値(第一の評価値)である。
パターン生成部223は、入力されたストロークの数から考えられるストロークの組合せのパターン(組合せ候補)を生成する。統計データ照合部224は、生成されたパターン毎に統計データベース150を照合し、パターンに含まれるストロークの評価値と、パターンの出現確率とからスコア(第二の評価値)を算出し、統計照合結果テーブル213に格納する。
区切れ位置出力部225は、統計照合結果テーブル213を参照し、各パターンにおける文字の区切れとなる位置を示す区切れ位置テーブル214を出力する。
時間照合部226は、入力されたストロークから取得したストローク時間情報と、ストローク時間テーブル230とを照合し、照合結果に応じてスコアを変更した時間照合結果テーブル215を生成する。結果出力部227は、時間照合結果テーブル215に基づき、入力されたストロークにおける文字の区切れの位置が格納された結果テーブル216を出力する。
文字判断部200における各部の処理の詳細は後述する。
次に、本実施形態の文字認識装置1の動作について説明する。図6は、文字認識装置の動作を説明するフローチャートである。
本実施形態の文字認識装置1は、文字判断部200の入力受付部210により、文字認識装置1においてストロークの入力を受け付ける(ステップS61)。続いて文字認識装置1は、組合せ判断部220により、統計データベース150を参照し(ステップS62)、入力されたストロークにおいて、文字の区切れの位置を判断する(ステップS63)。すなわち、文字認識装置1は、入力されたストロークから、1文字となるストロークの組合せを判断する。
続いて、文字認識装置1は、認識部300により、1文字となるストロークの組合せから文字の認識を行い(ステップS64)、認識結果の文字を出力する(ステップS65)。
尚、図6の説明では、統計データ生成部100による統計データベース150の生成処理が含まれておらず、ストロークの入力を受け付けた際には統計データベース150は既に生成されているものとしたが、これに限定されない。文字認識装置1は、ストロークの入力を受け付けてから、統計データ生成部100による統計データベース150の生成を行っても良い。
以下に、本実施形態の統計データ生成部100による統計データベース150の生成処理について説明する。
図7は、統計データ生成部による処理を説明するフローチャートである。本実施形態の統計データ生成部100は、テキストデータ参照部160により、大量テキストデータベース110に格納されたテキストデータを読み込む(ステップS71)。続いて、統計データ生成部100は、数値データ抽出部170により、読み込んだテキストデータから数値データを抽出し、数値データベース130に格納する(ステップS72)。
続いて、統計データ生成部100は、ストローク情報変換部180により、抽出した数値データに含まれる数字を形成するストロークの組合せと、組合せ毎の出現回数を求め、ストロークデータベース140へ格納する(ステップS73)。
続いて、統計データ生成部100は、出現確率算出部190により、数値データに含まれる数字を形成するストロークから、Nグラムの組合せを求め(ステップS74)、組合せ毎の出現確率を算出した統計データを生成する(ステップS75)。
以下に、統計データ生成部100による処理の各ステップについてさらに説明する。
図8は、数値データ抽出部の処理を説明する図である。例えば大量テキストデータベース110に「現在は、2014年7月18日13時20分です。」というテキストデータが格納されていた場合、本実施形態の数値データ抽出部170は、このテキストデータに含まれる数値データ「2014」、「7」、「18」、「13」、「20」を抽出する。
次に、図9及び図10を参照し、ストローク情報変換部180の処理について説明する。図9は、ストローク辞書データベースの一例を示す図である。本実施形態のストローク辞書データベース120は、ストローク情報121と、利用割合情報122を有する。
本実施形態のストローク情報121及び利用割合情報122は、既存の各種のデータから統計により得られたものであり、予め文字認識装置1に格納されている。
本実施形態のストローク情報121では、数字0〜9毎に、数字と、照合対象ストロークと、を対応付けている。本実施形態の照合対象ストロークとは、入力されたストロークと照合されるストロークのことである。また、本実施形態において、数字0〜9は、入力されたストロークの組合せと照合される照合対象文字である。本実施形態の照合対象ストロークとは、照合対象文字を構成するストロークである。
図9に示すストローク情報121では、照合対象文字となる数字を列とし、照合対象ストロークを行とし、照合対象文字から得られた照合対象ストロークのそれぞれにa〜cの符号を対応付けた。よって、本実施形態では、照合対象文字と、照合対象ストロークに付与された符号とにより、照合対象ストロークが特定される。
具体的には、例えば、数字「1」と符号「a」により、数字「1」から得られた複数の照合対象ストロークのうち、1つのストロークが特定される。また、数字「1」と符号「b」により、数字「1」から得られた複数の照合対象ストロークのうち、数字「1」と符号「a」で特定されるストロークとは別のストロークが特定される。
本実施形態の以下の説明では、照合対象文字と、照合対象ストロークの種類を示す符号との組合せを、照合対象ストロークを特定するコードと呼ぶ。具体的には、例えば、数字「1」と符号「a」により特定される照合対象ストロークのコードを「コード1a」と呼ぶ。同様に、例えば数字「4」と符号「b」により特定される照合対象ストロークのコードを「コード4b」と呼ぶ。
本実施形態の利用割合情報122は、照合対象ストローク毎の利用割合を示している。照合対象ストローク毎の利用割合とは、言い換えれば、数値データベース130における照合対象ストロークの出現確率である。
例えば利用割合情報122では、数字「1」を書く際に、コード1aの照合対象ストロークが利用される利用割合は、0.8であり、数字「1」を書く際に、コード1bの照合対象ストロークが利用される利用割合は、0.1である。
またも数字「1」を書く際に、コード1bとコード1cの照合対象ストロークが利用される利用割合は、0.1である。本実施形態では、単独で照合対象文字を形成しない照合対象ストロークの利用割合を示す場合には、この照合対象ストロークと組み合わせる照合対象ストロークに付与された符号を用いて、組み合わされる照合対象ストロークを特定する。
例えば、コード1cの照合対象ストロークは、単独で照合対象文字である数字「1」を形成せず、コード1bと組み合わされることで、数字「1」を形成する。よって、図9に示すコード1cの利用割合は、「0.1(b+c)」となる。
同様に、例えば図9に示す利用割合では、数字「4」を書く際に、コード4aとコード4bの照合対象ストロークが利用される利用割合は、0.9(a+b)となる。また、数字「4」を書く際に、コード4cの照合対象ストロークが利用される利用割合は、0.2となる。
本実施形態のストローク情報変換部180は、このストローク情報121と利用割合情報122とを参照し、数値データ抽出部170が抽出した数値データに含まれる数字を形成する照合対象ストロークの組合せ毎の出現回数を求める。
図10は、ストロークデータベースの一例を示す図である。本実施形態のストロークデータベース140は、数値データ抽出部170により抽出された数値を形成する照合対象ストロークの組合せのパターンと、組合せ毎の出現回数とが対応付けられている。
図10では、抽出された数値データが「2014」である場合の、「2014」を形成する照合対象ストロークの組合せのパターンと、組合せ毎の出現回数を示している。
ストローク情報変換部180は、まず「2014」を形成する照合対象ストロークの組合せを全て求める。
「2014」に含まれる数字「2」を形成する照合対象ストロークは、コード2aの照合対象ストロークのみである。
数字「0」は、コード0aの照合対象ストロークのみで形成される場合と、コード0aとコード0bの照合対象ストロークの組合せで形成される場合と、2パターンがある。
数字「1」は、コード1aの照合対象ストロークのみで形成され場合と、コード1bの照合対象ストロークのみで形成される場合と、コード1bとコード1cの照合対象ストロークの組み合わせで形成される場合の3パターンがある。
数字「4」は、コード4aとコード4bの照合対象ストロークの組合せで形成される場合と、コード4cの照合対象ストロークのみで形成される場合と、2パターンがある。
したがって、「2014」を形成する照合対象ストロークの組合せは、図10に示すパターンナンバ1から12までの12通りとなる。
本実施形態のストローク情報変換部180は、数値「2014」が大量テキストデータベース110において出現した回数と、ストローク辞書データベース120の利用割合情報とに基づき、「2014」を形成する照合対象ストロークの組合せ毎の出現回数を求める。
図10の例では、数値「2014」が大量テキストデータベース110にn回出現した場合の照合対象ストロークの組合せ毎の出現回数を示している。
以下に、パターンナンバ1の出現回数について説明する。パターンナンバ1では、コード2a、コード0a、コード1a、コード4a、コード4bにより、「2014」が形成される。
利用割合情報122におけるコード2aの利用割合情報は1であり、コード0aの利用割合情報は0.9である。また、コード1aの利用割合情報は、0.8であり、コード4aとコード4bを用いる場合の利用割合情報は0.9である。
本実施形態のストローク情報変換部180は、各コードの利用割合情報と、「2014」の出現回数とを乗算し、パターンナンバ1の組合せの出現回数とする。よって、パターンナンバ1の組合せの出現回数は、(1×0.9×0.8×0.9)×n=0.648nとなる。この出現回数は、大量テキストデータベース110において、パターンナンバ1の照合対象ストロークの組合せにより、数値「2014」が形成される回数を示している。すなわち、この出現回数は、数値「2014」を形成する際に、パターンナンバ1の照合対象ストロークの組合せが出現する出現頻度を示している。
本実施形態のストローク情報変換部180は、図10に示すように、パターンナンバ12まで、各組合せの出現回数を求める。
本実施形態のストローク情報変換部180は、以上の処理を、数値データ抽出部170が抽出した全ての数値について実行し、照合対象ストロークの組合せのパターンと、組合せ毎の出現回数を求め、ストロークデータベース140に格納する。
次に、図11及び図12を参照して出現確率算出部190の処理を説明する。図11は、出現確率算出部の処理を説明する図である。
本実施形態の出現確率算出部190は、N−gramモデルにより、ストロークデータベース140に格納されている全ての照合対象ストロークの組合せの中で、N個のコードの組合せが、どの程度出現するかを示す出現確率を算出する。
図11では、N=2とし、図10に示すパターンナンバ1の組合せから2つのコードの組合せを求め、2つのコードの組合せ毎の出現回数を算出した場合を示している。尚、2つのコードの組合せ毎の出現回数を算出する処理は、出現確率を算出する処理の一部として行われる。
パターンナンバ1の照合対象ストロークの組合せは、「2a−0a−1a−4a4b」である。よって、出現確率算出部190は、パターンナンバ1の組合せから、2つのコードの組合せ「2a−0a」、「0a−1a」、「1a−4a」、「4a−4b」を得る。
本実施形態の出現確率算出部190は、2つのコードの組合せ毎に、ストロークデータベース140における2つのコードの組合せの出現回数を算出する。
以下に、ストロークデータベース140における組合せ「2a−0a」の出現回数の算出について説明する。
本実施形態の出現確率算出部190は、ストロークデータベース140に含まれる全ての照合対象ストロークの組合せのパターンおいて、組合せ「2a−0a」が含まれるパターンを抽出し、抽出されたパターンと対応する出現回数の合計値を、組合せ「2a−0a」の出現回数とする。
例えば、図10に示すストロークデータベース140では、パターンナンバ1〜12の全てにおいて組合せ「2a−0a」が含まれる。したがって、組合せ「2a−0a」の出現回数は、パターンナンバ1〜12のそれぞれの出現回数の合計値となる。
また、組合せ「0a−1a」は、ストロークデータベース140において、パターンナンバ1、2にのみ含まれる。したがって、組合せ「0a−1a」の出現回数は、パターンナンバ1の出現回数と、パターンナンバ2の出現回数との合計値となる。
本実施形態の出現確率算出部190は、以上の処理を、ストロークデータベース140に含まれる全ての照合対象ストロークの組合せのパターンについて行う。そして、その結果を、組合せ「0a−0a」からソートした状態で、統計データベース150に格納する。
図12は、統計データベースの一例を示すである。本実施形態の統計データベース150では、2つのコードの組合せと、組合せ毎の出現回数と、出現確率とが格納されている。尚、本実施形態の統計データベース150は、2つのコードを、組合せ「0a−0a」からソートした状態で格納されているものとしたが、これに限定されない。
本実施形態の出現確率は、2つのコードの組合せ毎の出現回数を、全ての組合せの出現回数の合計値で割った値である。したがって、図12の例では、組合せ「0a−0b」の出現確率は、組合せ「0a−0b」の出現回数0.81/組合せ毎の出現回数の合計値111.36である。
本実施形態では、以上の処理により、統計データベース150を作成する。尚、本実施形態では、統計データ生成部100及び統計データベース150を文字認識装置1が有するものとしたが、これに限定されない。統計データ生成部100と統計データベース150は、文字認識装置1と通信が可能な外部装置に設けられていても良いし、統計データベース150のみが外部装置に設けられていても良い。
次に、本実施形態の文字判断部200について説明する。図13は、文字判断部による処理を説明するフローチャートである。
本実施形態の文字判断部200は、入力受付部210により、ストロークの入力を受け付ける(ステップS1301)。
続いて文字判断部200は、組合せ判断部220の入力ストローク照合部221により、ストロークの認識を開始する(ステップS1302)。
具体的には、入力ストローク照合部221は、ストロークの入力を受け付けると、ストロークの始点が入力されてから終点が入力されるまでの入力時間と、ストロークの終点が入力されてから、次のストロークの始点が入力されまでの中断時間とを含むストローク時間情報を取得し、入力ストロークテーブル211に格納する。また、入力ストローク照合部221は、入力されたストロークを座標値として入力ストロークテーブル211に格納する。
続いて、組合せ判断部220は、入力ストローク照合部221により、入力されたストロークと、ストローク辞書データベース120とを照合し、評価値生成部222により、両者の一致度を示す評価値をストローク毎に生成する(ステップS1303)。
続いて、組合せ判断部220は、パターン生成部223により、ストローク辞書データベース120を参照し、入力されたストロークの数から考えられる照合対象ストロークのコードの組合せのパターンを生成する。そして、組合せ判断部220は、統計データ照合部224により、統計データベース150を参照し、生成されたパターンに含まれるストロークの評価値と、パターンに含まれる2つのコードの組合せの出現確率と、からスコアを算出し、統計照合結果テーブル213に格納する(ステップS1304)。
続いて、組合せ判断部220は、区切れ位置出力部225により、統計照合結果テーブル213を参照し、各パターンにおける文字の区切れとなる位置を区切れ位置テーブル214に格納する(ステップS1305)。
続いて、組合せ判断部220は、時間照合部226により、ストローク時間情報と、ストローク時間テーブル230とを照合し、照合結果に応じたスコアを時間照合結果テーブル215に格納する(ステップS1306)。
そして、組合せ判断部220は、結果出力部227により、区切れ位置テーブル214と時間照合結果テーブル215を参照し、入力されたストロークにおける文字の区切れの位置を出力し、結果テーブル216に格納する(ステップS1307)。
本実施形態の文字判断部200により出力された文字の区切れの位置は、認識部300へ提供される。認識部300は、文字の区切れの位置に基づき、入力されたストロークにおいて、1文字に含まれるストロークを判別することができるため、従来の文字認識処理により、文字を認識することができる。
以下に、組合せ判断部220による処理の各ステップについてさらに説明する。図14は、評価値テーブルの一例を示す図である。図14(A)は、入力されたストロークの例を示し、図14(B)は、入力されたストローク毎の評価値テーブルの例を示す。
以下の説明では、図14(A)に示すように、ストロークs1、s2、s3の三画により形成される「17」という数値が入力されたものとする。
本実施形態の入力ストローク照合部221は、入力ストロークテーブル211に格納されたストローク毎の座標値と、ストローク辞書データベース120のストローク情報121を照合し、評価値生成部222により、ストローク毎の評価値テーブルを生成する。図14(B)では、ストロークs1とストローク情報とを照合した結果の評価値テーブル212−s1と、ストロークs2とストローク情報とを照合した結果の評価値テーブル212−s2と、ストロークs3とストローク情報とを照合した結果の評価値テーブル212−s3と、を示している。
本実施形態の評価値生成部222は、ストロークs1と、ストローク情報121に含まれる全ての照合対象ストロークとを照合し、その一致度を示す評価値を求める。評価値(一致度)の求め方は、従来の文字認識において行われている公知の技術である。
そして、評価値生成部222は、評価値が高い順に、3つの照合対象ストロークのコードを取得し、コードに対応した評価値を評価値テーブル212−s1に格納する。
評価値生成部222は、ストロークs2、s3に対しても同様の処理を行い、その結果を評価値テーブル212−s2、評価値テーブル212−s3のそれぞれに格納する。
評価値テーブル212−s1によれば、ストロークs1は、コード1aの照合対象ストロークとの一致度が最も高いことがわかる。すなわち、ストロークs1は、コード1aの照合対象ストロークと最も形状が類似している。
同様に、ストロークs2は、コード4bの照合対象ストロークとの一致度が最も高く、ストロークs3は、コード7bの照合対象ストロークとの一致度が最も高いことがわかる。
このように、本実施形態の評価値テーブル212は、入力されたストロークに基づき、照合対象文字を構成する照合対象ストロークを組合せた、複数のストロークの組合せ候補と、複数のストロークの組合せ候補に対する評価値とを含む。
尚、図14の例では、評価値が高い順に3つの照合対象ストロークのコードを取得し、評価値テーブル212に格納するものとしたが、評価値テーブル212に格納する照合対象ストロークのコードの数は、これに限定されない。評価値生成部222は、入力されたストロークと、ストローク情報121に含まれる全ての照合対象ストロークとを照合した結果の評価値を評価値テーブル212に格納しても良い。
次に、図15を参照してパターン生成部223の処理について説明する。図15は、パターン生成部が生成するストロークの組合せのパターンの一例を示す図である。
本実施形態のパターン生成部223は、評価値テーブル212に格納された照合対象ストロークのコードを用いて、入力されたストロークの数と同数の照合対象ストロークのコードの組合せのパターンを生成する。
本実施形態では、入力されたストロークの数は、3である。したがって、パターン生成部223は、ストローク情報121を参照し、3つのコードの組合せのパターンを生成する。
図15では、3つのコードの組合せとして、「1a−1a−1a」から、「1a−1a−1b」、「1a−1a−1c」といったように、組合せのパターンを生成する。本実施形態のストローク情報121は、19の照合対象ストロークを有する。したがって、パターン生成部223は、19×19×19通りのパターンを生成する。
次に、図16を参照し、統計データ照合部224の処理を説明する。図16は、統計照合結果テーブルの一例を示す図である。図16(A)は、入力されたストロークの数が3つの場合の統計照合結果テーブル213の例を示しており、図16(B)は、組合せ毎のスコアを算出する式を示している。
本実施形態のスコアは、パターン生成部223により生成されたパターンにおいて、i画目の評価値をHiとし、i−1画目とi画目の組合せの出現確率をP(i)とした場合に、以下の式(1)で求められる。
照合対象ストロークの組合せのスコア=Σ(Hi×P(i))×α 式(1)
本実施形態の統計データ照合部224は、パターン生成部223により生成された全ての組合せのパターンについて、式(1)による演算を行い、パターン毎のスコアを算出する。尚、αは、スコアに対して重み付けを行う際の係数であり、予め設定される値である。
例えば、図15に示すパターン「1a−1a−1a」のスコアSuは、
Su={(統計データベース150におけるコード「−−1a」の組合せの出現確率)×(評価値テーブル212−s1におけるコード1aの評価値)+(統計データベース150におけるコード「1a−1a」の組合せの出現確率)×(評価値テーブル212−s2におけるコード1aの評価値)+(統計データベース150におけるコード「1a−1a」の組合せの出現確率)×(評価値テーブル212−s3におけるコード1aの評価値)}×α
となる。本実施形態の統計データ照合部224は、上記の処理をパターン生成部223により生成された全てのパターンに対して行い、全てのパターンについてのスコアを算出する。そして、統計データ照合部224は、組合せのパターンと、パターン毎のスコアとを対応付けて、統計照合結果テーブル213へ格納する。尚、本実施形態の統計データ照合部224は、統計照合結果テーブル213へ、組合せのパターンと、パターン毎のスコアとを対応付けて格納する際に、スコアの値が大きい順にレコードを格納しても良い。また、統計データ照合部224は、スコアの値が大きい順に、所定数のレコードのみを統計照合結果テーブル213へ格納しても良い。
本実施形態では、図16(A)に示すように、パターン「1a−7a−7b」のスコアの値が最も大きいことがわかる。
以下に、図16(B)に示すパターン「1a−7a−7b」のスコアの算出について説明する。
パターン「1a−7a−7b」において、一画目のコード「1a」の評価値テーブル212−s1における評価値H1は、95である。また、二画目のコード「7a」の評価値テーブル212−s2における評価値H2は、85である。また、三画目のコード「7b」の評価値テーブル212−s3における評価値H3は、90である。
また、評価値H1に乗算される出現確率P1は、0画目と一画目のコードの組合せの出現確率である。よって、ここでは、出現確率P1は、統計データベース150におけるコード「−−1a」の組合せの出現確率である。尚、コード「−−1a」の組合せは、コード「1a」が一画目であることを示している。同様に、例えばコード「1a――」の組合せは、最後の画がコード「1a」であることを示す。
評価値H2に乗算される出現確率P2は、パターン「1a−7a−7b」において、一画目と二画目の組合せの出現確率である。よって、ここでは、出現確率P2は、統計データベース150におけるコード「1a−7a」の組合せの出現確率である。同様に、評価値H3に乗算される出現確率P3は、パターン「1a−7a−7b」において、二画目と三画目の組合せの出現確率である。よって、ここでは、出現確率P3は、統計データベース150におけるコード「7a−7b」の組合せの出現確率である。
よって、本実施形態では、パターン「1a−7a−7b」のスコアSu1は、
Su1=(95×出現確率P1+85×出現確率P2+90×出現確率P3)×α
となる。
以上のようにスコアを算出することで、本実施形態のスコアは、入力されたストロークと照合対象ストロークとの類似度に、この照合対象ストロークの出現頻度で重み付けをした値となる。
図16(A)の例では、上述のように求めたパターン「1a−7a−7b」のスコアSu1=84となる。また、同様に求めたパターン「7a−1a−3a」のスコアSu2=79となり、パターン「1a−1a−7b」のスコアSu3=68となる。
次に、図17を参照し、区切れ位置出力部225の処理について説明する。図17は、区切れ位置テーブルの一例を示す図である。
本実施形態の区切れ位置テーブル214は、情報の項目として、パターンと、区切れ位置と、スコアと、を有する。項目「区切れ位置」の値は、文字の区切れの位置を示す。項目「スコア」の値は、区切れ位置を示したパターンと対応するスコアを示す。
本実施形態の区切れ位置出力部225は、統計照合結果テーブル213において、スコアの値が大きい順に所定数のレコードを抽出し、抽出したレコードに含まれる照合対象ストロークの組合せのパターンにおける文字の区切れ位置を出力する。
本実施形態では、統計照合結果テーブル213において、スコアの値が大きい順に2つのレコードを抽出した。したがって、ここで抽出されるレコードは、パターン「1a−7a−7b」とこのパターンに対応するスコア、パターン「7a−1a−3a」とこのパターンに対応するスコアである。
本実施形態の照合対象ストロークを示すコードは、照合対象文字と、照合対象ストロークに付与された符号とにより示される。したがって、コード「1a」は、ストローク情報121において、数字「1」と符号「a」により特定される照合対象ストロークである(図9参照)。つまり、本実施形態では、コードに含まれる数字は、コードで特定される照合対象ストロークにより形成される文字を示している。よって、本実施形態では、照合対象ストロークを示すコードの組合せのパターンにおいて、コードに含まれる数字がかわるところが、文字の区切れと考えられる。
例えば、コードの組合せのパターン「1a−7a−7b」では、一画目のコードが「1a」であり、二画目のコードは「7a」、三画目のコードは「7b」である。したがって、パターン「1a−7a−7b」では、一画目と二画目の間が文字の区切れと考えられる。
この場合、入力されたストロークs1により、一文字が描かれ、ストロークs2とストロークs3により一文字が描かれたことになる。よって、ストロークs1の後ろが文字の区切りとなる。
また、例えば、コードの組合せのパターン「7a−1a−3a」では、一画目のコードが「7a」であり、二画目のコードが「1a」であり、三画目のコードが「3a」である。したがって、パターン「7a−1a−3a」では、一画目と二画目の間が文字の区切れと考えられる。
この場合、入力されたストロークs1の後ろ、s2の後ろがそれぞれ文字の区切りであり、ストロークs1、s2、s3のそれぞれが一文字であることになる。
よって、本実施形態の区切り位置出力部225は、項目「スコア」の値84に対応する項目「区切れ位置」の値として、ストロークs1を示す値「s1」とを対応付けて区切れ位置テーブル214に格納する。また、区切り位置出力部225は、項目「スコア」の値79に対応する項目「区切れ位置」の値として、ストロークs1、s2を示す値「s1s2」とを対応付けて区切れ位置テーブル214に格納する。
次に、図18乃至図20を参照し、時間照合部226の処理を説明する。本実施形態の時間照合部226は、入力ストロークテーブル211に格納されているストローク時間情報と、ストローク時間テーブル230とに基づき、スコアに加算する値を決定する。
図18は、ストローク時間テーブルの一例を示す図である。本実施形態のストローク時間テーブル230は、予め文字認識装置1に格納されている。
本実施形態のストローク時間テーブル230は、情報の項目として、状態、時間、加算値を有する。項目「状態」の値は、ストロークの入力が中断された際の状態を示す。例えば、項目「状態」の値が「文字の区切れ目」であった場合、文字と文字の区切れによりストロークの入力が中断された状態であることを示す。また、項目「状態」の値が「文字の途中」であった場合、1つの文字を入力する際の画と画との間によりストロークの入力が中断された状態であることを示す。
項目「時間」の値は、ストロークの入力が中断された時間(ストロークの入力が途切れた時間)を示す。項目「加算値」の値は、スコアに加算される値を示す。
本実施形態の時間照合部226は、ストローク時間情報とストローク時間テーブル230とを参照し、ストロークが入力される際の入力の中断時間の状態を判定する。本実施形態では、例えばストロークの入力の中断時間が0.5秒以上である場合には、文字と文字の区切れによりストロークの入力が中断された状態と判定する。また、ストロークの入力の中断時間が0.5秒未満である場合には、文字の入力の途中の状態と判定する。
本実施形態において、項目「時間」の値と、項目「加算値」の値は、それぞれ予め設定された設定値である。
以下に、図19を参照して、ストローク時間テーブル230に設定された設定値について説明する。図19は、ストローク時間テーブルの設定値について説明する図である。
図19(A)は、文字と文字の区切れにおいてストロークの入力が中断される中断時間と、被験者の割合との関係を示すグラフである。図19(B)は、文字の途中においてストロークの入力が中断される中断時間と、被験者の割合との関係を示すグラフである。
尚、図19の示すグラフは、複数の被験者に、文字認識装置における文字列の入力を行わせ、ストロークが中断される時間を計測した結果として得られる。
ストロークの入力の中断時間は、文字を書く速度が速い人ほど短くなり、文字を書く速度が遅い人ほど長くなる。
また、文字と文字の区切りにおいてストロークの入力が中断される場合の中断時間は、文字の途中における中断時間よりも長くなることが想定される。よって、ストロークの入力の中断時間は、長いほど文字と文字の区切りである可能性が高く、短い程文字の途中である可能性が高い。
そこで、本実施形態では、文字の区切れにおける中断時間が、所定の閾値となる時間よりも長い場合に、加算値をスコアに加点するものとする。また、本実施形態では、文字の途中における中断時間が、所定の閾値となる時間よりも短い場合に、加算値をスコアに加点するものとする。
本実施形態では、例えば、図19(A)のグラフにおいて、中断時間に対して最も被験者の割合が高くなる時間t1以上、中断時間が長い場合、この中断時間を文字の区切れによるものとする。また、本実施形態では、図19(B)のグラフにおいて、中断時間に対して最も被験者の割合が高くなる時間t2未満の中断時間の場合、この中断時間を文字の途中の中断とする。図18に示すストローク時間テーブル230では、時間t1=時間2=0.5秒とした。
次に、図20を参照し、本実施形態の時間照合結果テーブル215について説明する。図20は、時間照合結果テーブルの一例を示す図である。図20(A)は、ストローク時間情報の例を示している。図20(B)は、時間照合結果テーブル215の一例を示している。
図20(A)の例では、ストロークs1の終点が入力されてからストロークs2の始点が入力されるまでのストロークの入力の中断時間が0.9秒である。したがって、ストロークs1の入力終了からストロークs2の入力開始までの中断時間が文字の区切れであった場合には、スコアに加算値20が加算され、文字の途中であった場合には加算値は加算されない。
また、ストロークs2の終点が入力されてからストロークs3の始点が入力されるまでのストロークの入力の中断時間は、0.2秒である。したがって、ストロークs2の入力終了からストロークs3の入力開始までの中断時間が文字の区切れであった場合には、スコアに加算値は加算されず、文字の途中であった場合にはスコアに加算値20が加算される。
本実施形態の時間照合部226は、文字の区切れの位置が判定されたコードの組合せのパターン「1a−7a−7b」、「7a−1a−3a」について、ストローク時間テーブル230とストローク時間情報に基づき、スコアに加算する加算値を求める。
パターン「1a−7a−7b」は、文字の区切れ位置がストロークs1の後ろであると判定されている。
したがって、ストロークs1の入力終了からストロークs2の入力開始までの中断は、文字の区切れによるものである。図20(A)に示すストローク時間情報では、ストロークs1の入力終了からストロークs2の入力開始までの中断時間は0.9秒であり、0.5秒以上であるから、時間照合部226は、加算値20を取得する。
また、パターン「1a−7a−7b」において、ストロークs2の入力終了からストロークs3の入力開始までの中断は、文字の途中の中断である。図20(A)に示すストローク時間情報では、ストロークs2の入力終了からストロークs3の入力開始までの中断時間は0.2秒であり、0.5秒未満であるから、時間照合部226は、加算値20を取得する。
したがって、パターン「1a−7a−7b」に加算される加算値は、20+20=40となる。
パターン「7a−1a−3a」は、文字の区切れ位置がストロークs1の後ろとストロークs2の後ろであると判定されている。
したがって、ストロークs1の入力終了からストロークs2の入力開始までの中断も、ストロークs2の入力終了からストロークs3の入力開始までの中断も、文字の区切れによるものである。
図20(A)に示すストローク時間情報では、ストロークs1の入力終了からストロークs2の入力開始までの中断時間は0.9秒であり、0.5秒以上であるから、時間照合部226は、加算値20を取得する。
ストロークs2の入力終了からストロークs3の入力開始までの中断時間は0.2秒であり、0.5秒未満であるから、時間照合部226は、加算値を取得しない。
したがって、パターン「7a−1a−3a」に加算される加算値は、20+0=20となる。
本実施形態の時間照合部226は、以上のようにパターン毎に求めた加算値を、パターンと区切れ位置と対応付けて、時間照合結果テーブル215に格納する。
次に、図21を参照して、結果出力部227の処理について説明する。図21は、結果テーブルの一例を示す図である。図21(A)は、結果テーブル216の一例を示すものであり、図21(B)は認識部300により認識させるストロークを示す図である。
本実施形態の結果出力部227は、時間照合結果テーブル215と、区切れ位置テーブル214とを参照し、区切れ位置テーブル214のスコアに、時間照合結果テーブル215の加算値を加算した結果を結果テーブル216として出力する。
図21(A)に示す結果テーブル216は、パターンと、区切れの位置と、加算値を加算した後のスコアとが対応付けられている。本実施形態では、パターン「1a−7a−7b」の加算後のスコアは、84+40=124となり、パターン「7a−1a−3a」の加算後のスコアは、79+20=99となる。
本実施形態の結果出力部227は、加算後のスコアが最も大きいパターンにおける文字の区切れの位置を、入力されたストロークにおける文字の区切りの位置として、認識部300に出力する。
よって、結果出力部227は、パターン「1a−7a−7b」における区切り位置であるストロークs1の後を、入力された三画のストロークのうちの文字の区切りとして、認識部300へ通知する。
本実施形態の認識部300は、文字の区切りの位置を通知されると、図21(B)に示すように、ストロークs1を一文字、ストロークs2とストロークs3を一文字と認識できる。
したがって、本実施形態の認識部300は、枠の中に入力されたストロークから文字を認識する手法と同様に文字を認識することができる。
以上のように、本実施形態では入力されたストロークの数に応じて、ストローク辞書データベース120のストローク情報121が有する照合対象ストロークの組合せのパターンを複数生成する。また、本実施形態では、入力されたストロークと、照合対象ストロークとの類似度を示す評価値を求める。
そして、本実施形態では、生成されたパターン毎に、組合せに含まれる照合対象ストロークの出現確率と、評価値とに基づくスコアを算出する。そして、本実施形態は、スコアの値が最も大きいパターンを特定し、ストローク情報121に基づき文字の区切れ位置を求め、認識部300に通知する。
すなわち、本実施形態によれば、入力されたストロークと類似度の高い照合対象ストロークの出現確率に応じて、入力されたストロークの組合せを特定し、文字を認識する。よって、本実施形態によれば、入力されたストロークの画数が少ない場合でも、複数の文字になり得る可能性のあるストロークにおける文字認識の精度を向上させることができる。
また、本実施形態では、ストロークが入力される際に取得したストローク時間情報を用いて、文字の区切りの位置を求めることで、より正確に文字の区切りを認識することができる。尚、本実施形態では、スコアを算出する際に、係数αの値を小さくする程ストローク時間情報の影響がスコアの値に反映される。
開示の技術では、以下に記載する付記のような形態が考えられる。
(付記1)
コンピュータに、
入力操作に対応した入力座標情報から入力ストローク情報を生成し、
前記入力ストローク情報から、照合対象文字を構成する照合対象ストロークを組み合わせた、複数のストローク組み合わせ候補、および、前記複数のストローク組み合わせ候補に対する評価値を生成し、
前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率、および、前記照合対象文字それぞれの出現確率に基づき生成された、記憶装置に保存されたストロークごとの出現確率情報、および、前記評価値に基づき、前記複数のストローク組み合わせ候補から、第1のストローク組み合わせを特定し、
前記第1のストローク組み合わせから、前記入力操作に対応する認識文字を出力する、
処理を実行させることを特徴とする文字認識プログラム。
(付記2)
前記入力ストローク情報は、入力操作に関する時間情報を含み、
前記第1のストローク組み合わせの特定に、前記入力ストローク情報における、ストローク間の時間情報を利用することを特徴とする付記1記載の文字認識プログラム。
(付記3)
前記第1のストローク組み合わせを特定する処理は、
前記照合対象ストロークの組み合わせに基づき文字と文字の境界を判定する処理を含むことを特徴とする付記1又は2記載文字認識プログラム。
(付記4)
前記複数のストローク組み合わせ候補に対する評価値は、
前記複数のストロークに含まれる各照合対象ストロークと、入力されたストロークとを照合した結果の一致度を示す値である付記1乃至3の何れか一項に記載の文字認識プログラム。
(付記5)
ビッグデータから抽出した数値データに含まれる数字を抽出して前記照合対象文字とし、
前記数字を形成する前記照合対象ストロークの種類を示すストローク情報と、
前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率と、
前記照合対象文字それぞれの出現確率と、に基づき前記出現確率情報を生成する付記1乃至4の何れか一項に記載の文字認識プログラム。
(付記6)
コンピュータによる文字認識方法であって、該コンピュータが、
入力操作に対応した入力座標情報から入力ストローク情報を生成し、
前記入力ストローク情報から、照合対象文字を構成する照合対象ストロークを組み合わせた、複数のストローク組み合わせ候補、および、前記複数のストローク組み合わせ候補に対する評価値を生成し、
前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率、および、前記照合対象文字それぞれの出現確率に基づき生成された、記憶装置に保存されたストロークごとの出現確率情報、および、前記評価値に基づき、前記複数のストローク組み合わせ候補から、第1のストローク組み合わせを特定し、
前記第1のストローク組み合わせから、前記入力操作に対応する認識文字を出力する、
処理を実行させることを特徴とする文字認識方法。
(付記7)
入力操作に対応した入力座標情報から入力ストローク情報を生成する入力受付部と、
前記入力ストローク情報から、照合対象文字を構成する照合対象ストロークを組み合わせた、複数のストローク組み合わせ候補、および、前記複数のストローク組み合わせ候補に対する評価値を生成する評価値生成部と、
前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率、および、前記照合対象文字それぞれの出現確率に基づき生成された、記憶装置に保存されたストロークごとの出現確率情報、および、前記評価値に基づき、前記複数のストローク組み合わせ候補から、第1のストローク組み合わせを特定する結果出力部と、
前記第1のストローク組み合わせから、前記入力操作に対応する認識文字を出力する認識部と、を有することを特徴とする文字認識装置。
本発明は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
1 文字認識装置
10 統計データ作成プログラム
20 文字判断プログラム
30 認識プログラム
100 統計データ生成部
170 数値データ抽出部
180 ストローク情報変換部
190 出現確率算出部
200 文字判断部
210 入力受付部
220 組合せ判断部
221 入力ストローク照合部
222 評価値生成部
223 パターン生成部
224 統計データ照合部
225 区切れ位置出力部
226 時間照合部
227 結果出力部

Claims (5)

  1. コンピュータに、
    入力操作に対応した入力座標情報から入力ストローク情報を生成し、
    前記入力ストローク情報から、照合対象文字を構成する照合対象ストロークを組み合わせた、複数のストローク組み合わせ候補、および、前記複数のストローク組み合わせ候補に対する評価値を生成し、
    前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率、および、前記照合対象文字それぞれの出現確率に基づき生成された、記憶装置に保存されたストロークごとの出現確率情報、および、前記評価値に基づき、前記複数のストローク組み合わせ候補から、第1のストローク組み合わせを特定し、
    前記第1のストローク組み合わせから、前記入力操作に対応する認識文字を出力する、
    処理を実行させることを特徴とする文字認識プログラム。
  2. 前記入力ストローク情報は、入力操作に関する時間情報を含み、
    前記第1のストローク組み合わせの特定に、前記入力ストローク情報における、ストローク間の時間情報を利用することを特徴とする請求項1記載の文字認識プログラム。
  3. 前記第1のストローク組み合わせを特定する処理は、
    前記照合対象ストロークの組み合わせに基づき文字と文字の境界を判定する処理を含むことを特徴とする請求項1又は2記載文字認識プログラム。
  4. コンピュータによる文字認識方法であって、該コンピュータが、
    入力操作に対応した入力座標情報から入力ストローク情報を生成し、
    前記入力ストローク情報から、照合対象文字を構成する照合対象ストロークを組み合わせた、複数のストローク組み合わせ候補、および、前記複数のストローク組み合わせ候補に対する評価値を生成し、
    前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率、および、前記照合対象文字それぞれの出現確率に基づき生成された、記憶装置に保存されたストロークごとの出現確率情報、および、前記評価値に基づき、前記複数のストローク組み合わせ候補から、第1のストローク組み合わせを特定し、
    前記第1のストローク組み合わせから、前記入力操作に対応する認識文字を出力する、
    処理を実行させることを特徴とする文字認識方法。
  5. 入力操作に対応した入力座標情報から入力ストローク情報を生成する入力受付部と、
    前記入力ストローク情報から、照合対象文字を構成する照合対象ストロークを組み合わせた、複数のストローク組み合わせ候補、および、前記複数のストローク組み合わせ候補に対する評価値を生成する評価値生成部と、
    前記照合対象ストロークの前記照合対象文字それぞれにおける出現確率、および、前記照合対象文字それぞれの出現確率に基づき生成された、記憶装置に保存されたストロークごとの出現確率情報、および、前記評価値に基づき、前記複数のストローク組み合わせ候補から、第1のストローク組み合わせを特定する結果出力部と、
    前記第1のストローク組み合わせから、前記入力操作に対応する認識文字を出力する認識部と、を有することを特徴とする文字認識装置。
JP2014265900A 2014-12-26 2014-12-26 文字認識プログラム、文字認識方法及び文字認識装置 Active JP6451316B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014265900A JP6451316B2 (ja) 2014-12-26 2014-12-26 文字認識プログラム、文字認識方法及び文字認識装置
US14/960,655 US9594952B2 (en) 2014-12-26 2015-12-07 Computer-readable recording medium, method, and apparatus for character recognition
CN201510969247.9A CN105739882B (zh) 2014-12-26 2015-12-22 用于字符识别的计算机可读记录介质、方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014265900A JP6451316B2 (ja) 2014-12-26 2014-12-26 文字認識プログラム、文字認識方法及び文字認識装置

Publications (2)

Publication Number Publication Date
JP2016126468A JP2016126468A (ja) 2016-07-11
JP6451316B2 true JP6451316B2 (ja) 2019-01-16

Family

ID=56164567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014265900A Active JP6451316B2 (ja) 2014-12-26 2014-12-26 文字認識プログラム、文字認識方法及び文字認識装置

Country Status (3)

Country Link
US (1) US9594952B2 (ja)
JP (1) JP6451316B2 (ja)
CN (1) CN105739882B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015141260A1 (ja) * 2014-03-17 2015-09-24 株式会社河合楽器製作所 手書き音楽記号認識装置およびプログラム
JP6451316B2 (ja) * 2014-12-26 2019-01-16 富士通株式会社 文字認識プログラム、文字認識方法及び文字認識装置
US20170177205A1 (en) * 2015-12-22 2017-06-22 Mediatek Inc. Input method for recognizing user input according to vector combination derived from single-stroke input and associated non-transitory machine readable medium
US10013603B2 (en) * 2016-01-20 2018-07-03 Myscript System and method for recognizing multiple object structure
CN112990176B (zh) * 2021-04-09 2023-07-18 北京有竹居网络技术有限公司 书写质量评价方法、装置和电子设备

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01277985A (ja) * 1988-04-28 1989-11-08 Nec Corp オンライン文字認識装置
JP2000502479A (ja) 1996-10-04 2000-02-29 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 時系列フレームから取出した集合体化観測を用いる特徴ベクトルに基づくオンライン手書き文字認識方法および装置
JP3452774B2 (ja) * 1997-10-16 2003-09-29 富士通株式会社 文字認識方法
JP3595900B2 (ja) 1998-09-28 2004-12-02 富士通株式会社 手書き文字認識装置及び記録媒体
JP4536239B2 (ja) * 1999-10-15 2010-09-01 パナソニック株式会社 文字入力装置及び方法並びにコンピュータ読み取り可能な記録媒体
US7003158B1 (en) * 2002-02-14 2006-02-21 Microsoft Corporation Handwriting recognition with mixtures of Bayesian networks
US7929767B2 (en) * 2004-09-22 2011-04-19 Microsoft Corporation Analyzing subordinate sub-expressions in expression recognition
JP4817297B2 (ja) * 2006-02-10 2011-11-16 富士通株式会社 文字検索装置
JP2007272473A (ja) * 2006-03-30 2007-10-18 Toshiba Corp 文字認識装置、方法およびプログラム
US20080008387A1 (en) * 2006-07-06 2008-01-10 Cheng Yi-Hsun E Method and apparatus for recognition of handwritten symbols
JP2009289188A (ja) * 2008-05-30 2009-12-10 Nec Corp 文字入力装置、文字入力方法および文字入力用プログラム
US8175389B2 (en) * 2009-03-30 2012-05-08 Synaptics Incorporated Recognizing handwritten words
JP5471254B2 (ja) * 2009-09-30 2014-04-16 富士通株式会社 検証装置、検証方法、検証プログラム及び作成装置
JP5349645B1 (ja) 2012-05-11 2013-11-20 株式会社東芝 電子機器および手書き文書処理方法
JP5458161B1 (ja) * 2012-10-23 2014-04-02 株式会社東芝 電子機器および方法
JP5701839B2 (ja) * 2012-10-26 2015-04-15 株式会社東芝 電子機器および方法
JP2014092817A (ja) * 2012-10-31 2014-05-19 Fuji Xerox Co Ltd 文字認識装置及びプログラム
JP2014127188A (ja) * 2012-12-27 2014-07-07 Toshiba Corp 整形装置及び方法
US20140210829A1 (en) * 2013-01-31 2014-07-31 Kabushiki Kaisha Toshiba Electronic apparatus and handwritten document processing method
JP2015032050A (ja) * 2013-07-31 2015-02-16 株式会社東芝 表示制御装置、表示制御方法およびプログラム
JP6092462B2 (ja) * 2014-03-12 2017-03-08 株式会社東芝 電子機器、方法及びプログラム
JP6342194B2 (ja) * 2014-03-28 2018-06-13 株式会社東芝 電子機器、方法及びプログラム
EP3105661A1 (en) * 2014-06-24 2016-12-21 Apple Inc. Character recognition on a computing device
JP6451316B2 (ja) * 2014-12-26 2019-01-16 富士通株式会社 文字認識プログラム、文字認識方法及び文字認識装置
JP6492894B2 (ja) * 2015-04-01 2019-04-03 富士通株式会社 認識プログラム、認識方法及び認識装置

Also Published As

Publication number Publication date
US9594952B2 (en) 2017-03-14
CN105739882B (zh) 2019-06-11
US20160188970A1 (en) 2016-06-30
CN105739882A (zh) 2016-07-06
JP2016126468A (ja) 2016-07-11

Similar Documents

Publication Publication Date Title
JP5125573B2 (ja) 領域抽出プログラム、文字認識プログラム、および文字認識装置
JP6451316B2 (ja) 文字認識プログラム、文字認識方法及び文字認識装置
Richard et al. Temporal action detection using a statistical language model
Bharath et al. HMM-based lexicon-driven and lexicon-free word recognition for online handwritten Indic scripts
Wang et al. Mining motion atoms and phrases for complex action recognition
CN106462399B (zh) 代码推荐
JP5211334B2 (ja) 手書き記号の認識方法及び装置
JP6171544B2 (ja) 音声処理装置、音声処理方法及びプログラム
US9711117B2 (en) Method and apparatus for recognising music symbols
KR20120011010A (ko) 수기 인식 방법 및 장치
CN104463250A (zh) 一种基于达芬奇技术的手语识别翻译方法
JP2017516176A (ja) 手跡及びジェスチャを認識するための方法とシステム
Nandakumar et al. A multi-modal gesture recognition system using audio, video, and skeletal joint data
US10373028B2 (en) Pattern recognition device, pattern recognition method, and computer program product
Li et al. Publication date estimation for printed historical documents using convolutional neural networks
JPWO2020050413A1 (ja) 認証用顔画像候補判定装置、認証用顔画像候補判定方法、プログラム、および記録媒体
Sundaram et al. Bigram language models and reevaluation strategy for improved recognition of online handwritten Tamil words
JP4985724B2 (ja) 単語認識プログラム、単語認識方法、単語認識装置
JP2013246732A (ja) 手書き文書検索装置、方法及びプログラム
US8731298B2 (en) Character recognition apparatus, character recognition method, and computer readable medium storing program
JP4063551B2 (ja) 文字列予測装置及び方法並びに当該方法を具現化するコンピュータ実行可能なプログラム
JP6393495B2 (ja) 画像処理装置および物体認識方法
Chen et al. Early recognition of handwritten gestures based on multi-classifier reject option
Taranta II et al. Machete: Easy, efficient, and precise continuous custom gesture segmentation
JP6235368B2 (ja) パターン認識装置、パターン認識方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181126

R150 Certificate of patent or registration of utility model

Ref document number: 6451316

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150