JP5807881B2 - プログラム、情報記憶媒体及び文字列認識装置 - Google Patents

プログラム、情報記憶媒体及び文字列認識装置 Download PDF

Info

Publication number
JP5807881B2
JP5807881B2 JP2013100118A JP2013100118A JP5807881B2 JP 5807881 B2 JP5807881 B2 JP 5807881B2 JP 2013100118 A JP2013100118 A JP 2013100118A JP 2013100118 A JP2013100118 A JP 2013100118A JP 5807881 B2 JP5807881 B2 JP 5807881B2
Authority
JP
Japan
Prior art keywords
stroke
character
candidate
division
points
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
JP2013100118A
Other languages
English (en)
Other versions
JP2014219900A (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.)
NATIONAL UNIVERSITY CORPORATION TOKYO UNIVERSITY OF AGRICULUTURE & TECHNOLOGY
Original Assignee
NATIONAL UNIVERSITY CORPORATION TOKYO UNIVERSITY OF AGRICULUTURE & TECHNOLOGY
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 NATIONAL UNIVERSITY CORPORATION TOKYO UNIVERSITY OF AGRICULUTURE & TECHNOLOGY filed Critical NATIONAL UNIVERSITY CORPORATION TOKYO UNIVERSITY OF AGRICULUTURE & TECHNOLOGY
Priority to JP2013100118A priority Critical patent/JP5807881B2/ja
Publication of JP2014219900A publication Critical patent/JP2014219900A/ja
Application granted granted Critical
Publication of JP5807881B2 publication Critical patent/JP5807881B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、手書き入力された文字パタンのストロークから文字列を認識するためのプログラム、情報記憶媒体及び文字列認識装置に関する。
近年、ペン入力デバイスや指などによるタッチ入力が可能なタブレット型PCやスマートフォンが発展しており、オンライン手書き文字列認識を用いた入力方法が注目を集めている。単独文字認識に比べて、手書き文字列認識では、文字の切り出しと認識の複合的な問題に直面する。
文字列認識で高い認識率を得るためには、文字列が全て筆記されてから認識処理を始める方が一般に高い認識率が期待できる。この方式をバッチ認識方式と呼ぶ。一方、筆画ごとに認識処理を行う方式を逐次認識方式と呼ぶ。ユーザインターフェースの観点からは、筆記を終えてから認識処理を表示する方式をレイジー(Lazy)認識インターフェースと呼び、筆記の途中で認識結果を表示する方式をビジー(Busy)認識インターフェースと呼ぶ。ユーザが考えながら書く場合は、認識結果に注意を削がれ、誤認識があったときに書き直したくなり、思考の連続性を壊す問題から、レイジー認識インターフェースの方が好ましい。ユーザが書いている途中には認識結果は不要であり、筆記を終えてから認識結果が必要になるからである。しかし、レイジー認識インターフェースにおいてバッチ認識方式を採用する場合、文字列が長くなるほど筆記終了後に長い待ち時間が生じることが大きな問題になる。
この問題を解決するためには、レイジー認識インターフェースにおいても、ユーザが筆記中に、できる処理を逐次進めていくことが重要である。特許文献1には、手書き日本語文字列に対して筆記中に実時間で認識する逐次認識方式が開示されている。ここでは、新しい筆画が入力されるごとに、文字パタンごとに仮分割し、認識して候補文字を生成し、最初の筆画から文脈を利用した文字列認識をやり直している。
特開2003−271899号公報
バッチ認識方式では、完全な文脈を使えることから高い認識率が期待でき、処理をまとめて行うことからCPU時間に無駄が生じないものの、文字列が長くなると待ち時間が大きくなる問題点がある。一方、逐次認識方式では、待ち時間は小さくなるものの、最大の文脈を使えず最もローカルな処理となるために認識率が低下する問題点や、一画ごとに処理するため処理の繰り返し等が発生することから総CPU時間が大きくなる問題点がある。
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、高い認識率を達成しつつ待ち時間を最小限に抑え、かつ、総CPU時間も少なくすることが可能なプログラム、情報記憶媒体及び文字列認識装置を提供することにある。
(1)本発明は、手書き入力された文字パタンのストロークから文字列を認識するため
のプログラムであって、
手書き入力された文字パタンのストローク列を、所定画数ごとに、又は所定時間の筆記中断があるごとに取得するストローク列取得部と、
ストローク列を取得するごとに、ストローク列における分割再開位置を設定する分割再開位置設定部と、
ストローク列を取得するごとに、前記分割再開位置以降のストローク列におけるストローク間のオフストロークを、2つの文字パタンに分割するオフストロークを示す分割点と、1つの文字パタン内部のオフストロークを示す非分割点と、前記分割点であるか前記非分割点であるかを決定できないオフストロークを示す不確定点とに分類し、前記分割点及び前記不確定点を分割候補点として決定する仮分割部と、
ストローク列を取得するごとに、隣接する2つの前記分割候補点で切り出される候補文字パタン及び隣接する2つの前記分割点で切り出される候補文字パタンに対して文字認識を行って候補文字の列を生成し、候補文字ラティスを更新する候補文字ラティス更新部と、
ストローク列を取得するごとに、前記候補文字ラティスから最適パスを探索して文字列を認識する文字列認識部としてコンピュータを機能させ、
前記分割再開位置設定部は、
最新の最適パスにおける候補文字間にあるオフストロークのうち、最後のN個の候補文字の直前にあるオフストロークを、前記分割再開位置として設定し、
前記仮分割部は、
最新の最適パスにおける候補文字間にある前記不確定点のうち、最後のM(M≦N)個の候補文字より前にある前記不確定点を前記分割点に変更することを特徴とするプログラムに関する。
また、本発明は、上記各部を含む文字列認識装置に関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるためのプログラムを記憶した情報記憶媒体に関係する。
本発明によれば、最新の最適パスにおける候補文字間にある前記不確定点のうち、最後のM個の候補文字より前にある前記不確定点を前記分割点に変更することで、候補文字パタンの数を少なくすることができ、候補文字ラティスの更新処理にかかる時間を短縮して認識結果が得られるまでの待ち時間を最小限に抑えることができる。
(2)また本発明に係るプログラム及び情報記憶媒体では、
ストローク列を取得するごとに、候補文字ラティスの更新処理及び最適パスの探索処理の対象となるストローク列をスコープとして設定するスコープ設定部として更にコンピュータを機能させ、
前記スコープ設定部は、
前記仮分割部で分類を変更したオフストローク又は前記ストローク列取得部で取得した最新のストローク列の直前にあるオフストロークを基準として前記スコープの先頭位置を決定し、前記先頭位置以降のストローク列を前記スコープとして設定してもよい。
また本発明に係る文字列認識装置では、
ストローク列を取得するごとに、候補文字ラティスの更新処理及び最適パスの探索処理の対象となるストローク列をスコープとして設定するスコープ設定部を更に含み、
前記スコープ設定部は、
前記仮分割部で分類を変更したオフストローク又は前記ストローク列取得部で取得した最新のストローク列の直前にあるオフストロークを基準として前記スコープの先頭位置を決定し、前記先頭位置以降のストローク列を前記スコープとして設定してもよい。
本発明によれば、分類が変更されたオフストローク又は取得された最新のストローク列の直前にあるオフストロークを基準としてスコープの先頭位置を決定し、前記先頭位置以降のストローク列を前記スコープとして設定して、前記スコープを候補文字ラティスの更新処理及び最適パスの探索処理の対象とすることで、候補文字ラティスの更新処理及び探索処理にかかる時間を短縮して認識結果が得られるまでの待ち時間を最小限に抑えることができる。
(3)また本発明に係るプログラム、情報記憶媒体及び文字列認識装置では、
前記候補文字ラティス更新部は、
前記スコープ設定部で設定した前記スコープにおける2つの前記分割点で切り出される候補文字パタンが、前回の前記スコープ内に存在する場合には、当該候補文字パタンに対して文字認識を行わずに、当該候補文字パタンの文字認識結果を再利用してもよい。
本発明によれば、前回のスコープでの候補文字パタンの文字認識結果を最新のスコープで再利用することで、候補文字ラティスの更新処理にかかる時間を短縮して認識結果が得られるまでの待ち時間を最小限に抑えることができる。
本実施形態の文字列認識装置の機能ブロック図の一例。 本実施形態の文字列認識装置の処理の流れを示すフローチャート図。 候補文字ラティスについて説明するための図。 図4(A)、図4(B)は、本実施形態の文字列認識装置の具体的な処理例について説明するための図。 図5(A)、図5(B)は、本実施形態の文字列認識装置の具体的な処理例について説明するための図。 図6(A)、図6(B)は、本実施形態の文字列認識装置の具体的な処理例について説明するための図。 図7(A)、図7(B)は、待ち時間についての性能評価結果を示す図。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
図1に本実施形態の文字列認識装置の機能ブロック図の一例を示す。なお本実施形態の文字列認識装置は図1の構成要素(各部)の一部を省略した構成としてもよい。
文字入力部160は、ユーザが筆記媒体(ペン、指先等)で手書き文字を入力するためのものであり、その機能は、タブレット、タッチパネル等の筆記面などにより実現できる。文字入力部160は、筆記媒体が筆記面に触れてから離れるまでの筆記媒体の位置を表す座標データを一定時間間隔で検出し、検出された座標データをストローク列取得部110に出力する。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどにより実現できる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)など
により実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、処理部100の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、LCD、タッチパネル型ディスプレイ、CRT、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
処理部100(プロセッサ)は、文字入力部160からの座標データやプログラムなどに基づいて、認識処理、表示処理などの処理を行う。この処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、ストローク列取得部110、分割再開位置設定部111、仮分割部112、スコープ設定部113、候補文字ラティス更新部114、文字列認識部116、表示処理部120を含む。なおこれらの一部を省略する構成としてもよい。
ストローク列取得部110は、筆記媒体が筆記面に触れてから離れるまでの座標データ列(筆点座標系列)をストロークのデータとして文字入力部160から取得する。またストローク列取得部110は、他の情報処理装置からネットワーク及び通信部196を介してストロークのデータを取得するようにしてもよい。
特に本実施形態のストローク列取得部110は、所定の筆画数ごとに、又は筆記中断時間(筆記媒体が筆記面から離れてからの経過時間)が所定の時間を越えるごとに、それまで筆記されたストローク列(ストロークとオフストロークの列)を取得する。
分割再開位置設定部111は、ストローク列取得部110でストローク列を取得するごとに、ストローク列(これまで取得したストローク列に、新しく取得したストローク列を追加したストローク列)における分割再開位置を設定する。具体的には、分割再開位置設定部111は、最新の最適パス(後述する文字列認識部116で探索された最新の最適パス)における候補文字間にあるオフストロークのうち、最後のN個の候補文字の直前にあるオフストロークを、分割再開位置として設定する。
仮分割部112は、前記分割再開位置以降のストローク列におけるストローク間のオフストローク(2つの連続するストローク間で先のストロークの終わりから次のストロークの始めまでを結ぶベクトル)を、2つの文字パタンに分割するオフストロークを示す分割点と、1つの文字パタン内部のオフストロークを示す非分割点と、前記分割点であるか前記非分割点であるかを決定できないオフストロークを示す不確定点とに分類し、前記分割点及び前記不確定点を分割候補点として決定する。具体的には、仮分割部112は、前記分割再開位置以降のストローク列におけるストロークの外接矩形の間隔や重なり等の特徴を仮の平均文字サイズで正規化した特徴値を求め、求めた特徴値をSVM(Support Vector Machine)に適用して、各オフストロークを分割点、非分割点、不確定点の3種類に分類する。2つの連続する分割点で分割されるストローク列は、候補文字パタンとなり、2つの分割点の間に不確定点が存在する場合は、不確定点で分割する場合と分割しない場合の候補文字パタンが生成される。仮分割部112の上記処理は、ストローク列取得部110でストローク列が取得されるごとに行われる。
また、仮分割部112は、最新の最適パスにおける候補文字間にある前記不確定点のう
ち、最後のM(M≦N)個の候補文字より前にある前記不確定点を前記分割点に変更する。
スコープ設定部113は、候補文字ラティスの更新処理及び最適パスの探索処理の対象となるストローク列をスコープとして設定する。具体的には、スコープ設定部113は、仮分割部112により分類が変更されたオフストローク、又はストローク列取得部110が取得した最新のストローク列の直前にあるオフストロークを基準として前記スコープの先頭位置を決定し、前記先頭位置以降のストローク列を前記スコープとして設定する。スコープ設定部113の上記処理は、ストローク列取得部110でストローク列が取得されるごとに行われる。
候補文字ラティス更新部114は、スコープ設定部113で設定されたスコープを対象として、隣接する2つの前記分割候補点で切り出される候補文字パタン及び隣接する2つの前記分割点で切り出される候補文字パタンに対して文字認識を行って候補文字の列を生成し、候補文字ラティスを生成・更新する。候補文字ラティス更新部114の上記処理は、ストローク列取得部110でストローク列が取得されるごとに行われる。
また、候補文字ラティス更新部114は、前記スコープにおける2つの前記分割点で切り出される候補文字パタンが、前回の前記スコープ内に存在する場合には、当該候補文字パタンに対して文字認識を行わずに、当該候補文字パタンの文字認識結果を再利用してもよい。
文字列認識部116は、スコープ設定部113で設定されたスコープを対象として、候補文字ラティス更新部114で生成・更新された候補文字ラティスから最適パスを探索して文字列を認識する。文字列認識部116の上記処理は、ストローク列取得部110でストローク列が取得されるごとに行われる。
表示処理部120は、文字列認識部116により認識された文字列(認識結果)を表示部190に出力する。なお処理部100は、文字列認識部116による認識結果をネットワーク及び通信部196を介して他の情報処理装置に送信するようにしてもよい。
通信部196は、他の情報処理装置との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバが有する情報記憶媒体からネットワーク及び通信部196を介して記憶部170、情報記憶媒体180に配信してもよい。このようなサーバの情報記憶媒体の使用も本発明の範囲内に含めることができる。
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
本実施形態の手法では、ユーザが筆記している間に、所定画数ごと又は所定時間の筆記中断があるごとにストローク列を取得し、ストローク列を取得するごとに、逐次的に文字の分割処理と認識処理を行う準逐次認識方式を採用する。特に、本実施形態の準逐次認識方式では、スコープとして定義されるストローク列に注目し、スコープとして適正な長さを設定し、最新のスコープに対して、候補文字ラティスを生成・更新し、最適パス探索を進めていく。この際に、前回のスコープでの最適パスの結果を用いて候補文字パタンの数を減らし、また、前回のスコープでの候補文字ラティスを再利用することで、処理速度を
高めて、待ち時間を削減する。
2−1.処理の流れ
図2は、本実施形態の文字列認識装置の処理の一例を示すフローチャートである。
まず、ストローク列取得部110は、文字入力部160に入力されたストローク列を取得し(ステップS10)、取得したストロークの数(筆画数)が所定の値Nsを超えたか、或いは所定時間Tupを越える筆記中断があったか否かを判断する(ステップS12)。筆画数が所定の値Nsを越えておらず、且つ所定時間Tupを越える筆記中断がないと判断した場合(ステップS12のN)には、ステップS10に移行し、ストローク列の取得を継続する。
筆画数が所定の値Nsを越えた、或いは所定時間Tupを越える筆記中断があったと判断した場合(ステップS12のY)、分割再開位置設定部111は、ストローク列における分割再開位置Seg_rpを設定する(ステップS14)。具体的には、最新の最適パスにおける候補文字間にあるオフストロークのうち、最後のN_char個(N個)の候補文字の直前にあるオフストロークを分割再開位置Seg_rpとして設定する。N_charは、分割再開位置Seg_rpを設定するための定数である。
次に、仮分割部112は、分割再開位置Seg_rp以降のストローク列を仮分割する(ステップS16)。すなわち、分割再開位置Seg_rp以降のストローク列における各オフストロークを、分割点SP、非分割点NSP、不確定点UPの3種類に分類し設定する。分割再開位置Seg_rp以降のストローク列に対する候補文字パタンへの仮分割処理は、SVMを用いて行う。なお、分割再開位置Seg_rpより前のストローク列については、安定した仮分割が行われていると仮定して、以降の処理において再度の仮分割は行わない。
次に、仮分割部112は、最新の最適パスにおける候補文字間にある不確定点UPのうち、最後のN_char_min個(M個)の候補文字より前にある全ての不確定点UPを分割点SPに変更する(ステップS18)。N_char_minは、分割点SPを確定するための定数であり、N_char以下の数である。
次に、スコープ設定部113は、ステップS16、S18の処理によって分割再開位置Seg_rp以降のストローク列における各オフストロークの分類が変化したか否かを判断する(ステップS20)。なお、ステップS10で追加(取得)された最新のストローク列については、ステップS20の処理の対象外である。
オフストロークの分類が変化したとスコープ設定部113が判断した場合(ステップS20の「Y」)には、スコープ設定部113は、分類が変わったオフストロークより前は安定していると判断して、分類が変わったオフストロークを基準としてスコープを設定する(ステップS22)。具体的には、分類が変わったオフストロークが候補文字ブロック(隣接する2つの分割点SPで切り出される候補文字パタン)の中に位置する場合は、分類が変わったオフストロークを含む候補文字ブロックの最初のストローク以降のストローク列をスコープとして設定し、分類が変わったオフストロークが連続する候補文字ブロックの間に位置する場合は、分類が変わったオフストロークの直前の候補文字ブロックの最初のストローク以降のストローク列をスコープとして設定する。なお、2つ以上のオフストロークの分類が変化した場合には、その内の最も前の方にあるオフストロークを分類が変わったオフストロークとして扱う。
オフストロークの分類が変化していないとスコープ設定部113が判断した場合(ステップS20の「N」)には、スコープ設定部113は、ステップS10で追加(取得)さ
れた最新のストローク列の直前のオフストロークより前は安定していると判断して、最新のストローク列の直前のオフストロークを基準としてスコープを設定する(ステップS24)。具体的には、最新のストローク列の直前のオフストロークが候補文字ブロックの中に位置する場合は、当該オフストロークを含む候補文字ブロックの最初のストローク以降のストローク列をスコープとして決定し、最新のストローク列の直前のオフストロークが連続する候補文字ブロックの間に位置する場合は、当該オフストロークの直前の候補文字ブロックの最初のストローク以降のストローク列をスコープとして設定する。
次に、候補文字ラティス更新部114は、候補文字ラティスを更新(再構築)する処理を行う(ステップS26)。すなわち、ステップS22、S24で設定されたスコープのストローク列に対して、隣接する2つの分割候補点(SP、UP)で切り出される候補文字パタン毎に文字認識を行って、候補文字パタンとそのスコア(尤度、確信度)をペアにして候補文字ラティスに登録し、候補文字ラティスを更新する。
なお、ステップS26において、候補文字ラティス更新部114は、最新のスコープにおいて隣接する2つの分割点SPで切り出される候補文字ブロックの中の候補文字パタンが、前回のスコープ内に存在する場合には、当該候補文字パタンに対して文字認識とスコアの算出を行わずに、当該候補文字パタンの文字認識結果とスコアを再利用する。
図3に、本実施形態の候補文字ラティスの一例を示す。図3に示すように、分割候補点(分割点SP及び不確定点UP)によりストローク列を候補文字パタンに分割し、分割された候補文字パタン毎に文字認識を行って、複数の候補文字(認識候補)とそれぞれのスコアを求め、それらをリンクして複数の候補文字列からなる候補文字ラティスを構築する。
ここで不確定点UPは、分割点と非分割点の2通りに仮定され、例えば、不確定点UPを分割点として仮定した場合に、「明」という手書き文字パタンから2つの候補文字パタンを抽出し、それぞれ「日、目、月」、「月、口、目、旦」という候補文字を生成する。また不確定点UPを非分割点として仮定した場合には、「明」という手書き文字パタンから1つの候補文字パタンを抽出して「朋、胴、明」という候補文字を生成する。
候補文字ラティスにおいて、各ノードNDは文字認識によって1つの候補文字パタンに関して生成される1つの候補文字を示し、各連結線ALは1つの分割候補点を文字の境として文字列の連接(分割点であるか、不確定点であるか)を示す。
複数項目の確からしさからなる尤度を評価するスコアは、各連結線ALとノードNDに与えられる。例えば、複数項目の確からしさとして、文字認識の確からしさ(文字認識のスコア)、候補文字パタンの確からしさ(候補文字パタンの大きさ、部首などの間隔、位置の確からしさ)、候補文字パタン間の位置の確からしさ(位置関係の確からしさ)、言語的な確からしさ(文脈の確からしさ)、分割候補点SP、UPの確からしさ(仮分割の確からしさ)を示すスコアを与えることができる。
なお、候補文字ラティスは、分割点SPを境界とする候補文字ブロックBLで区切られ、2つの連続する分割点SPで挟まれた候補文字パタンに対応する候補文字は、1つの候補文字ブロックBLに対応している。例えば、図3の候補文字ラティスは、3つの候補文字ブロックで区切られている。
再び図2のフローチャート図を参照すると、文字列認識部116は、候補文字ラティスに対して、スコープの中の最初の候補文字ブロックから最適パス(最適な候補文字列)の探索を再開して、文字列を認識する(ステップS28)。最適パスの探索では、ビタビ(
Viterbi)探索やビーム探索が有効である。
次に、処理部100は、ストロークの入力があるか否かを判断し(ステップS30)、入力がある場合(ステップS30のY)には、ステップS10の処理に移行する。以降、ユーザによる筆記(文字パタンの手書き入力)が終了するまで、ステップS10〜S30の処理を繰り返す。
ストロークの入力がないと判断した場合(ステップS30のN)には、表示処理部120は、文字列の認識結果を表示部190に出力する(ステップS32)。
なお、ここではユーザによる筆記が終了してから認識結果を表示するレイジー認識インターフェースを採用した場合の例について説明したが、ストローク列が入力されるごとに認識結果を表示するビジー認識インターフェースを採用することもできる。この場合には、ステップS30からステップS10に移行するときに、その時点での認識結果を表示部190に出力する処理(ステップS32の処理)を行えばよい。
2−2.処理例
次に、本実施形態の文字列認識装置の具体的な処理例について、図4〜図6を用いて説明する。図4(A)、図4(B)、図5(A)、図5(B)は、ストローク列を取得してからスコープを決定するまでの処理例を示す図である。
図4(A)は、仮分割したストローク列に対して文字認識を行った結果を示す図であり、ストローク列に設定された分割再開位置Seg_rp、分割点SP、不確定点UP、スコープSC及び候補文字ブロックBLと、最適パスにおける候補文字CCの列を示している。
図4(B)に示すように、2本の新たなストロークが入力されると、まず、分割再開位置Seg_rpを更新する。本実施形態の手法では、候補文字ラティスにおいて探索した最適パスにおいて認識された候補文字間のオフストロークのうち、最後のN_char個の候補文字の直前にあるオフストローク(最後のストロークまでに認識された候補文字の数がN_charとなるオフストローク)を分割再開位置Seg_rpとして決定する。最適パスにおける候補文字間のオフストロークは高い可能性で分割点SPであると考えられ、また、最後のストロークからある程度離れた位置より前のストロークは安定していると考えられるからである。
図4(B)に示す例では、N_char=5としており、最適パスにおける最後から5個目の候補文字CC(「京」)の直前のオフストローク(「東」と「京」の間の分割点SP)を、新たな分割再開位置Seg_rpとして決定している。このように、分割再開位置Seg_rpを更新することで、候補文字ラティスの更新処理にかかる時間を短縮することができる。
次に、分割再開位置Seg_rp以降のストローク列に対して仮分割を再開する。図4(B)の例では、この仮分割によって各オフストロークの分類は変化していない。
次に、所定の条件を満たす不確定点UPを分割点SPに変更する。本実施形態の手法では、候補文字ラティスにおいて探索した最適パスにおいて認識された候補文字間の不確定点UPのうち、最後のN_char_min個の候補文字より前にある不確定点UPを分割点SPに変更する。最適パスにおける候補文字間にある不確定点UPであって、且つ最後のストロークからある程度離れた不確定点UPは、高い可能性で分割点SPであると考えられるからである。
図5(A)に示す例では、N_char_min=2としており、最適パスにおける最後から2個目の候補文字CC(「金」)より前にある不確定点UP(「小」と「金」の間の不確定点U
Pと、「都」と「小」の間の不確定点UP)を、分割点SPに変更している。
オフストロークの分類(仮分割)はSVMを用いて行われるが、SVMによる分類は完全ではなく、仮分割の不確実性によってSVMからの出力の多くは不確定点UPとなる。候補文字ラティスでは、不確定点UPで分割する場合と分割しない場合の候補文字パタンが生成されるため、1つ1つの不確定点UPは、文字認識が適用される候補文字パタンの数をおよそ倍にする。本実施形態の手法によれば、分割点である可能性の高い不確定点UPを分割点SPに変更することで、候補文字パタンの数を削減することができ、候補文字ラティスの更新処理にかかる時間を短縮することができる。
次に、分割再開位置Seg_rp以降のストローク列において分類が変更された最初のオフストロークを検出してスコープSCを更新する。本実施形態の手法では、分類が変更されたオフストローク又は最新のストロークの直前のオフストロークより前は安定していると判断する。当該オフストロークは、候補文字ブロックBLに含まれるか、2つの候補文字ブロックBLの間にあり得る。そこで、当該オフストロークを含む或いはその直前の候補文字ブロックBLを特定し、当該候補文字ブロックBLの最初のストロークから最新のストロークまでのストローク列を新たなスコープSCとして設定する。
図5(B)に示す例では、分類が変更された最初のオフストローク(「都」と「小」の間のオフストローク)を含む候補文字ブロックBLの最初のストローク以降のストローク列を新たなスコープSCとして設定している。このように、候補文字ラティスの更新処理の対象となるスコープを更新することで、候補文字ラティスの更新処理にかかる時間を短縮することができる。
図6(A)、図6(B)は、候補文字ラティスを更新する処理の一例を示す図である。本実施形態の手法では、スコープにおける2つの分割点SPで切り出される候補文字パタン(候補文字ブロックBL)が、前回のスコープ内に存在する場合には、当該候補文字パタンの文字認識結果を再利用する。
図6(A)は、新たなストローク列が入力される前の前回のスコープSCでの候補文字ブロックBLと候補文字パタンCPの一例を示す図である。ここで、候補文字パタンCPは、文字認識の対象になる文字パタンを表しており、図6(A)、図6(B)では、これら候補文字パタンCPに対して文字認識を行って生成される候補文字の図示を省略している。
図6(B)では、図6(A)の状態から新たなストロークが入力されることにより、新しいスコープSCでの最初の3つの文字パタン間のオフストロークの分類が不確定点UPから分割点SPに変更されている。この分割点SPによって前回のスコープSCにおける候補文字ブロックBLが、3つの候補文字ブロックBL、BL、BLに分割されている。
ここで、3つの候補文字ブロックBL、BL、BLの各候補文字パタンCPは、図6(A)に示す前回のスコープSC内に存在しているため、当該各候補文字パタンCPについては文字認識と一部のスコア(文字認識の確からしさ、及び候補文字パタンの確からしさを評価するスコア)の算出を行わずに、当該各候補文字パタンCPの文字認識結果とスコアの一部を再利用する。なお、図6(B)では、新たなストロークの入力により、新たな候補文字パタンCPが追加されている。このように、前回のスコープでの候補文字パタンの文字認識結果とスコアの一部を最新のスコープにおいて再利用することで、候補文字ラティスの更新を効率よく行って、候補文字ラティスの更新処理にかかる時間を短縮することができる。
そして、本実施形態の手法では、スコープSCの先頭から候補文字ラティスの最適パスの探索を再開する。図6(B)に示す例では、候補文字ブロックBLから最適パスの探索を再開する。
3.性能評価結果
本実施形態の文字認識手法(準逐次認識方式)の性能を評価するために、100人から収集した日本語手書き文字列データベースのうち、横書きの文字列10,174行を学習パタンとして使用し、横書きの文字列3,511行をテストパタンとして使用して認識率、CPU時間、仮分割の精度を評価した。
まず、N_char(分割再開位置Seg_rpを設定するための定数)と、Ns(1回に取得するストローク数)を変化させて認識率(%)を評価した。その評価結果を表1に示す。
バッチ認識方式の認識率は93.03%であった。一方、表1に示すように、本実施形態の準逐次認識方式では、N_char=7、Ns=4のときに認識率が93.16%となり、バッチ認識方式を凌ぐ認識率を達成している。これは、スコープを用いたローカルな処理が、問題がないどころか、認識率の面で効果がある可能性を示している。
表1から、逐次認識方式(Ns=1のとき)との比較もできる。表1に示すように、準逐次認識方式によって、すなわちNsを1より大きい適切な値にすることによって、認識率が向上している。
次に、N_charとNsを変化させて、1ストロークあたりの平均CPU時間(ms)を評価した。その評価結果を表2に示す。
表2に示すように、本実施形態の準逐次認識方式では、N_char=7、Ns=4のときの平均CPU時間は5.75msであるのに対して、逐次認識方式(Ns=1のとき)では、11.57msを要している。N_charの値がこれ以外の場合も、この傾向は共通してい
る。このことから、準逐次認識方式では、CPU時間も小さいことが分かる。一方、逐次認識方式では、待ち時間は小さいものの、準逐次認識方式よりもCPU時間を要し、認識率も劣っていることが分かる。
次に、本実施形態の準逐次認識方式での文字ごとへの仮分割を評価した。ここでは、N_charを変化させて、認識処理後の分割の精度(Precision)、再現率(Recall)、F値(F-measure)を評価して、バッチ認識方式と比較した。その評価結果を表3に示す。
表3に示したF-measureの値から、N_char>5のときは、本実施形態の準逐次認識方式の方が、バッチ認識方式よりも若干ではあるが良い結果となることが分かる。
次に、本実施形態の準逐次認識方式での待ち時間を評価した。ここでは、5ページ分の手書き文字列データに対して認識処理を行ったときの平均待ち時間(ms)を評価した。5ページ分のデータのストローク数は、それぞれ347、398、590、262、554であった。その評価結果を図7(A)、図7(B)に示す。
図7(A)は、Nsを1に固定して、N_charを3から9に変えた場合の平均待ち時間を示し、図7(B)は、N_charを3に固定し、Nsを1から5に変えた場合の平均待ち時間を示す。図7(A)、図7(B)において実線は、前回のスコープにおける候補文字ラティス(候補文字パタンの認識結果とスコア)を再利用した場合の平均待ち時間であり、点線は、候補文字ラティスを再利用しない場合の平均待ち時間である。
図7(A)、図7(B)に示すように、前回のスコープにおける候補文字ラティスを再利用することで、平均待ち時間は大幅に減少している。また、平均待ち時間はN_charとNsが増えるに従って増加するものの、Nsが5以下である場合には待ち時間は最大でも50msを超えることはなく、ユーザが知覚できないほど僅かな時間である。
以上の評価結果から、本実施形態の準逐次認識方式によって、認識率を落とさずに、且つ待ち時間を最小限に抑えて認識結果を表示することができることを確認した。また、適正なスコープ長を設定することで、平均待ち時間を削減でき、前回のスコープにおける候補文字ラティスを再利用する効果も大きいことが分かった。また、本実施形態の準逐次認識方式によれば、総CPU時間を少なくすることができるため、性能の劣る小型CPUにも適している。
なお、本発明は、上述の実施の形態に限定されるものではなく、種々の変更が可能である。本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
100 処理部、110 スクロール列取得部、111 分割再開位置設定部、112 仮分割部、113 スコープ設定部、114 候補文字ラティス更新部、116 文字列認識部、120 表示処理部、160 文字入力部、170 記憶部、180 情報記憶媒体、190 表示部、196 通信部

Claims (5)

  1. 手書き入力された文字パタンのストロークから文字列を認識するためのプログラムであって、
    手書き入力された文字パタンのストローク列を、所定画数ごとに、又は所定時間の筆記中断があるごとに取得するストローク列取得部と、
    ストローク列を取得するごとに、ストローク列における分割再開位置を設定する分割再開位置設定部と、
    ストローク列を取得するごとに、前記分割再開位置以降のストローク列におけるストローク間のオフストロークを、2つの文字パタンに分割するオフストロークを示す分割点と、1つの文字パタン内部のオフストロークを示す非分割点と、前記分割点であるか前記非分割点であるかを決定できないオフストロークを示す不確定点とに分類し、前記分割点及び前記不確定点を分割候補点として決定する仮分割部と、
    ストローク列を取得するごとに、隣接する2つの前記分割候補点で切り出される候補文字パタン及び隣接する2つの前記分割点で切り出される候補文字パタンに対して文字認識を行って候補文字の列を生成し、候補文字ラティスを更新する候補文字ラティス更新部と、
    ストローク列を取得するごとに、前記候補文字ラティスから最適パスを探索して文字列を認識する文字列認識部としてコンピュータを機能させ、
    前記分割再開位置設定部は、
    最新の最適パスにおける候補文字間にあるオフストロークのうち、最後のN個の候補文字の直前にあるオフストロークを、前記分割再開位置として設定し、
    前記仮分割部は、
    最新の最適パスにおける候補文字間にある前記不確定点のうち、最後のM(M≦N)個の候補文字より前にある前記不確定点を前記分割点に変更することを特徴とするプログラム。
  2. 請求項1において、
    ストローク列を取得するごとに、候補文字ラティスの更新処理及び最適パスの探索処理の対象となるストローク列をスコープとして設定するスコープ設定部として更にコンピュータを機能させ、
    前記スコープ設定部は、
    前記仮分割部で分類を変更したオフストローク又は前記ストローク列取得部で取得した最新のストローク列の直前にあるオフストロークを基準として前記スコープの先頭位置を決定し、前記先頭位置以降のストローク列を前記スコープとして設定することを特徴とするプログラム。
  3. 請求項2において、
    前記候補文字ラティス更新部は、
    前記スコープ設定部で設定した前記スコープにおける2つの前記分割点で切り出される候補文字パタンが、前回の前記スコープ内に存在する場合には、当該候補文字パタンに対して文字認識を行わずに、当該候補文字パタンの文字認識結果を再利用することを特徴とするプログラム。
  4. コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至3のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
  5. 手書き入力された文字パタンのストロークから文字列を認識する文字列認識装置であって、
    手書き入力された文字パタンのストローク列を、所定画数ごとに、又は所定時間の筆記
    中断があるごとに取得するストローク列取得部と、
    ストローク列を取得するごとに、ストローク列における分割再開位置を設定する分割再開位置設定部と、
    ストローク列を取得するごとに、前記分割再開位置以降のストローク列におけるストローク間のオフストロークを、2つの文字パタンに分割するオフストロークを示す分割点と、1つの文字パタン内部のオフストロークを示す非分割点と、前記分割点であるか前記非分割点であるかを決定できないオフストロークを示す不確定点とに分類し、前記分割点及び前記不確定点を分割候補点として決定する仮分割部と、
    ストローク列を取得するごとに、隣接する2つの前記分割候補点で切り出される候補文字パタン及び隣接する2つの前記分割点で切り出される候補文字パタンに対して文字認識を行って候補文字の列を生成し、候補文字ラティスを更新する候補文字ラティス更新部と、
    ストローク列を取得するごとに、前記候補文字ラティスから最適パスを探索して文字列を認識する文字列認識部とを含み、
    前記分割再開位置設定部は、
    最新の最適パスにおける候補文字間にあるオフストロークのうち、最後のN個の候補文字の直前にあるオフストロークを、前記分割再開位置として設定し、
    前記仮分割部は、
    最新の最適パスにおける候補文字間にある前記不確定点のうち、最後のM(M≦N)個の候補文字より前にある前記不確定点を前記分割点に変更することを特徴とする文字列認識装置。
JP2013100118A 2013-05-10 2013-05-10 プログラム、情報記憶媒体及び文字列認識装置 Active JP5807881B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013100118A JP5807881B2 (ja) 2013-05-10 2013-05-10 プログラム、情報記憶媒体及び文字列認識装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013100118A JP5807881B2 (ja) 2013-05-10 2013-05-10 プログラム、情報記憶媒体及び文字列認識装置

Publications (2)

Publication Number Publication Date
JP2014219900A JP2014219900A (ja) 2014-11-20
JP5807881B2 true JP5807881B2 (ja) 2015-11-10

Family

ID=51938270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013100118A Active JP5807881B2 (ja) 2013-05-10 2013-05-10 プログラム、情報記憶媒体及び文字列認識装置

Country Status (1)

Country Link
JP (1) JP5807881B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10082951B2 (en) * 2016-01-07 2018-09-25 Myscript System and method for digital ink interactivity

Also Published As

Publication number Publication date
JP2014219900A (ja) 2014-11-20

Similar Documents

Publication Publication Date Title
US10095684B2 (en) Trained data input system
JP5405586B2 (ja) 手書き文字認識方法および手書き文字認識装置
CN104166474A (zh) 信息处理装置和字符识别方法
KR100587540B1 (ko) 디지털 잉크 질의 검색 장치 및 방법
US11550751B2 (en) Sequence expander for data entry/information retrieval
US8713464B2 (en) System and method for text input with a multi-touch screen
US20150154176A1 (en) Handwriting input support apparatus and method
WO2015117855A1 (en) Method and apparatus for recognising music symbols
US10872203B2 (en) Data input system using trained keypress encoder
CN114365075A (zh) 用于选择图形对象的方法和对应装置
JP4817297B2 (ja) 文字検索装置
US9659006B2 (en) Disambiguation in concept identification
JP5807881B2 (ja) プログラム、情報記憶媒体及び文字列認識装置
EP3772015B1 (en) Text line extraction
JP2016110304A (ja) 共通操作情報生成プログラム、共通操作情報生成方法、及び共通操作情報生成装置
JPWO2017104805A1 (ja) プログラム、情報記憶媒体及び文字列認識装置
Nguyen et al. A semi-incremental recognition method for on-line handwritten English text
CN111310442B (zh) 形近字纠错语料挖掘方法、纠错方法、设备及存储介质
JP2022165925A (ja) データラベリング方法、装置、電子機器、及び読み取り可能な記憶媒体
JP2019148859A (ja) フローダイアグラムを用いたモデル開発環境におけるデザインパターンの発見を支援する装置および方法
CN103761294A (zh) 基于手写轨迹和语音识别的查询方法及装置
Nguyen et al. A semi-incremental recognition method for on-line handwritten Japanese text
CN111104886A (zh) 手势识别方法、装置、设备和存储介质
US20240013407A1 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
CN107870678A (zh) 一种手写输入方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150818

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: 20150826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150901

R150 Certificate of patent or registration of utility model

Ref document number: 5807881

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250