(57)【要約】【課題】従来の数式ペン入力システムの不具合を解決することを目的とする。【解決手段】手書き数式の部分を選択して当該部分の数式認識を行うステップを１回あるいは複数回行い、前記手書き数式全体を選択して、既に決定された１つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記手書き数式全体の数式認識を行う、オンライン手書き数式認識方法、である。数式認識は、確率的な生成モデルを用いて尤度の高い数式候補を探索するものであり、既に決定された手書き数式の部分の認識結果を用いることで探索範囲を狭めて、手書き数式全体の数式認識を行う。前記モデルは、ストロークを単位とした確率自由文脈文法を用いる。前記探索は、ＣＹＫアルゴリズムを用いて行われる。【選択図】図１８
2009080615.tif 000002
【特許請求の範囲】
【請求項１】
手書き数式の数式認識を行う方法であって、
前記手書き数式の部分を選択して当該部分の数式認識を行うステップを１回あるいは複数回行い、
前記手書き数式全体を選択して、既に決定された１つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記手書き数式全体の数式認識を行う、
オンライン手書き数式認識方法。
【請求項２】
前記手書き数式の部分の数式認識を行うステップは、
手書き数式情報を入力させて入力情報を表示するステップと、
前記入力の任意の段階で、表示された入力情報の部分あるいは全部を選択させるステップと、
選択された入力情報の数式認識を行って一つあるいは複数の認識結果を候補として表示するステップと、
表示された候補から一つの認識結果を決定させるステップと、
を備えている、請求項１に記載のオンライン手書き数式認識方法。
【請求項３】
前記選択された手書き数式の部分は、既に認識結果が決定された手書き数式の部分を含んでいる、請求項１，２いずれかに記載のオンライン手書き数式認識方法。
【請求項４】
前記手書き数式全体の数式認識は、
既に決定された手書き数式の部分の認識結果を含む一つあるいは複数の認識結果を候補として表示するステップと、
表示された候補から一つの認識結果を決定させるステップと、
を備えている、請求項１乃至３いずれかに記載のオンライン手書き数式認識方法。
【請求項５】
前記数式認識は、手書き数式の一部の正解木構造が既知である場合に、その情報を活かして残りの部分を含めた全体の木構造を推定することができるものである、請求項１乃至４いずれかに記載のオンライン手書き数式認識方法。
【請求項６】
前記数式認識は、確率的な生成モデルを用いて尤度の高い数式候補を探索するものであり、
既に決定された手書き数式の部分の認識結果を用いることで探索範囲を狭めて、手書き数式全体の数式認識を行う、請求項４，５いずれかに記載のオンライン手書き数式認識方法。
【請求項７】
前記モデルは、ストロークを単位とした確率自由文脈文法を用いるものである、請求項６に記載のオンライン手書き数式認識方法。
【請求項８】
前記探索は、ＣＹＫアルゴリズムを用いて行われる、請求項６，７いずれかに記載のオンライン手書き数式認識方法。
【請求項９】
前記手書き数式全体の数式認識において、
複数の候補から、既に決定された手書き数式の部分の認識結果を含まない候補を削除して、既に決定された手書き数式の部分の認識結果を含む候補のみを表示する請求項１乃至３いずれかに記載のオンライン手書き数式認識方法。
【請求項１０】
手書き情報入力部と、
入力情報表示部と、
表示された入力情報の部分あるいは全部を選択させる選択手段と、
選択された入力情報の数式認識を行う数式認識手段と、
一つあるいは複数の認識結果を候補として表示する候補表示部と、
表示された候補から一つの認識結果を決定させる決定手段と、
を備え、
前記選択手段により手書き数式の部分を選択させて前記数式認識部によって当該選択された部分の数式認識を行い、候補表示部に候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果の決定を１回あるいは複数回行うことで一つあるいは複数の部分の認識結果を決定し、
前記選択手段により前記手書き数式全体を選択させて、既に決定された１つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記数式認識部によって手書き数式全体の数式認識を行って、候補表示部に手書き数式全体の候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果を決定させるように構成されている、オンライン手書き数式認識装置。
【請求項１１】
前記選択された手書き数式の部分は、既に認識結果が決定された手書き数式の部分を含んでいる、請求項１０に記載のオンライン手書き数式認識装置。
【請求項１２】
前記数式認識手段は、手書き数式の一部の正解木構造が既知である場合に、その情報を活かして残りの部分を含めた全体の木構造を推定することができるものである、請求項１０，１１いずれかに記載のオンライン手書き数式認識装置。
【請求項１３】
前記数式認識手段は、確率的な生成モデルを用いて尤度の高い数式候補を探索するものであり、既に決定された手書き数式の部分の認識結果を用いることで探索範囲を狭めて、手書き数式全体の数式認識を行う、請求項１０乃至１２いずれかに記載のオンライン手書き数式認識装置。
【請求項１４】
前記モデルは、ストロークを単位とした確率自由文脈文法を用いるものである、請求項１３に記載のオンライン手書き数式認識装置。
【請求項１５】
前記探索は、ＣＹＫアルゴリズムを用いて行われる、請求項１３，１４いずれかに記載のオンライン手書き数式認識装置。
【請求項１６】
前記所望の手書き数式全体の数式認識において、複数の候補から、既に決定された手書き数式の部分の認識結果を含まない候補を削除して、既に決定された手書き数式の部分の認識結果を含む候補のみを表示するように構成されている請求項１０に記載のオンライン手書き数式認識装置。
【請求項１７】
オンライン手書き数式認識のためにコンピュータを、
手書き情報入力手段と、
入力情報表示手段と、
表示された入力情報の部分あるいは全部を選択させる選択手段と、
選択された入力情報の数式認識を行う数式認識手段と、
一つあるいは複数の認識結果を候補として表示する候補表示手段と、
表示された一つあるいは複数の認識結果から一つの認識結果を決定させる手段と、
として機能させ、
かつ、
前記選択手段により手書き数式の部分を選択させて前記数式認識部によって当該選択された部分の数式認識を行い、候補表示部に候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果を決定させるステップを１回あるいは複数回行って一つあるいは複数の部分の認識結果を決定し、
前記選択手段により前記手書き数式全体を選択させて、既に決定された１つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記数式認識部によって手書き数式全体の数式認識を行い、候補表示部に手書き数式全体の候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果を決定させるように機能させる、オンライン手書き数式認識のためのコンピュータプログラム。
【請求項１８】
請求項１７に記載のコンピュータプログラムを記憶したコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オンライン手書き数式認識方法及び装置に関するものである。本発明に係る装置は、典型的には数式ペン入力システムとして実装され得る。
数式ペン入力システムとは、ユーザがペンタブレットによりコンピュータに数式を入力するシステムを言う。
数式のペン入力とは、ペンタブレットによるユーザの入力を意味する。入力は1つ以上のストローク(画)からなり、全体として数式を表す。
本発明に係るオンライン手書き数式認識方法及び装置は、数式認識手段を用いた全体としての数式認識方法及び数式認識手段を備えた全体のシステムを意味する。
数式認識手段とは、数式のペン入力をユーザの意図した数式として自動的に認識する手段を言う。具体的には認識結果はシンボル(文字)の認識結果とそれらの間の2次元的な位置関係により成り立ち、これは木構造（数式認識に用いる具体的な木構造については、同じ式であっても、数式認識手段によって異なる木構造が設定され得る）で表すことが可能である。例えば、本出願の発明者等が提案している数式認識手段（特許文献１、非特許文献１）では、シンボルと2次元的な位置関係の木構造を、数式の意味構造と対応した形での生成文法として記述し、その文法の範囲内で入力を構文解析することにより、数式文法を前提としたシンボル・位置関係の認識を実現している。
【背景技術】
【０００２】
数式認識問題はかつてよりシンボル認識と構造認識の２つの問題からなると捉えられてきた。シンボル認識はさらに、シンボル分割と(狭義の)シンボル認識の２つの問題として捉えられ、構造認識には２次元構造の認識と数式文法による解析の２つの側面がある。このように数式認識問題はシンボル認識と構造認識の２つの問題、さらに細かくはシンボル分割・認識問題、２次元構造認識問題、数式文法解析問題の４つの問題からなる。
【０００３】
現在オンライン手書き数式認識の研究は、主にオフライン数式画像認識の手法を応用して行われている。オフライン数式画像認識では、シンボルの分割・認識における高い精度が期待できるため、認識されたシンボル間の構造認識についての研究例が多い。数式の２次元構造認識には、グラフ文法などの文法を用いる手法
や、xy方向の逐次的な分割ルーチンにより構造を決定するなどルールを細かく記述したルールベースの手法等が用いられてきた。
【０００４】
数式文法解析は主に構造認識の結果からの数式意味抽出として研究された。グラフ文法で記述された２次元構造の数式文法への木構造変換（非特許文献２）や、2 次元木構造からLATEX のコードを生成しコードの意味解析を行うテキストベースの手法（非特許文献４）などが提案されている。またルールを詳細に記したルールベースのシステムでは、システム内部に暗黙的に数式文法が存在していることが多い。
【０００５】
オンライン手書き数式認識にも同様の構造認識が用いられており、閾値によって隣接シンボル間の構造を決定（非特許文献２）したり、縦横方向の逐次的分割により構造を決定（非特許文献３）する手法などがオンラインにも応用されている。
【０００６】
現在提案されている数式認識手法のほとんどは、最初に数式内のシンボルを認識し、その後シンボル間の位置関係から数式構造を認識するというように、シンボル認識と構造認識の２ステップからなる問題として数式認識を捉えている。しかし我々が数式内のシンボルを認識する際、そのシンボル形状のみではなく全体の構造や数式文法の情報をも利用し、シンボル形状を含めた総合的な判断を行っていると考えられる。そこで本発明の発明者等は、数式認識をシンボルと構造の同時推定問題と捉え、ストローク尤度と構造尤度の積を最大化する数式仮説の探索問題として定式化を行う手法を提案している（特許文献１、非特許文献１）。この探索問題はストローク尤度と構造尤度を適用確率とする確率文脈自由文法による最尤導出を求めるとして、CYK アルゴリズムにより効率的に解くことができる。
【０００７】
現在数式のコンピュータへの入力はLATEX やC 言語などの専用言語による入力と、エディタによる入力が主流である。しかしこれらの入力方法は訓練が必要であったり、操作が煩雑であるなどの面で、使いやすいとはいえない。ペンタブレット等による直感的な数式の入力が実現されれば、論文などへの数式入力、数式検索や数値計算ソフトの入力インターフェースなど教育分野において幅広い応用の可能性がある。
【０００８】
「数式ペン入力システム」としては、ユーザの入力した数式全体に対して数式認識を行うタイプのものや、ユーザが入力を一文字ずつ認識させながら入力するタイプのもの（例えば、Infty Editor）が存在する。前者においては認識すべき数式が複雑であるために十分な精度を得ることが難しく、後者においては比較的高い精度や有効な誤り訂正が期待できる反面、入力のし易さが犠牲になりがちである。
【特許文献１】特開２００７−７２７１８
【非特許文献１】Ryo Yamamoto, Shinji Sako, Takuya Nishimoto, and Shigeki Sagayama,"On-Line Recognition of Handwritten Mathematical Expressions Based onStroke-Based Stochastic Context-Free Grammar," in Proc. The TenthInternational Workshop on Frontiers in Handwriting Recognition (IWFHR10),pp.249-254, Oct. 2006.
【非特許文献２】R. Zanibbi, D. Blostein and J. R. Cordy, “Baseline StructureAnalysis of Handwritten Mathematics Notation,” in Proc. Int. Conf. DocumentAnalysis and Recognition (ICDAR), Sep. 2001.
【非特許文献３】U.Garain andB.B.Chaudhuri.Recognition of Online Handwritten Mathematical Expressions. IEEETrans.Sys.Man Cybern.PartB:Cybern.,Vol.34,No.6,pp.2366-2376,Dec.2004.
【非特許文献４】K.F.Chan andD.Y.Yeung. An Efficient Syntactic Approach to Structural Analysis  ofOn-line Handwritten Mathematical Expressions. Pattern Recognit.,Vol.33,pp.375-384,2000.
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、従来の数式ペン入力システムの不具合を解決することを目的とする。
【課題を解決するための手段】
【００１０】
本発明が採用した手書き数式の数式認識を行う方法は、前記手書き数式の部分を選択して当該部分の数式認識を行うステップを１回あるいは複数回行い、前記手書き数式全体を選択して、既に決定された１つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記手書き数式全体の数式認識を行う、オンライン手書き数式認識方法、である。
【００１１】
一つの態様では、前記手書き数式の部分の数式認識を行うステップは、手書き数式情報を入力させて入力情報を表示するステップと、前記入力の任意の段階で、表示された入力情報の部分あるいは全部を選択させるステップと、選択された入力情報の数式認識を行って一つあるいは複数の認識結果を候補として表示するステップと、表示された候補から一つの認識結果を決定させるステップと、を備えている。
【００１２】
一つの態様では、前記手書き数式全体の数式認識は、既に決定された手書き数式の部分の認識結果を含む一つあるいは複数の認識結果を候補として表示するステップと、表示された候補から一つの認識結果を決定させるステップと、を備えている。
【００１３】
認識結果を決定させるステップは、手書き数式の部分あるいは手書き数式全体の候補を表示した後で、候補から一つの認識結果を決定する前あるいは後に、当該認識結果の一部を修正させるステップを備えていても良い。
【００１４】
一つの態様では、数式認識は、所望の手書き数式の一部の正解木構造が既知である場合に、その情報を活かして残りの部分を含めた全体の木構造を推定することができるものである。このような数式認識は、既知の数式認識手段においても可能な場合が多いと考えられ、仮にそうでないとしても、数式認識のアルゴリズムをそのような認識が可能なように修正することで達成し得ると考えられる。所望の手書き数式の部分を決定することは当該部分に対応する木構造を決定することを意味する。手書き数式全体の所定の木構造の一部の木構造を確定させることで、手書き数式全体の数式認識において、手書き数式全体の所定の木構造を計算する際の計算量を削減できる。
【００１５】
より具体的な態様例では、前記数式認識は、確率的な生成モデルを用いて尤度の高い数式候補を探索するものであり、既に決定された手書き数式の部分の認識結果を用いることで探索範囲を狭めて、手書き数式全体の数式認識を行う。一つの態様では、前記モデルは、ストロークを単位とした確率自由文脈文法を用いるものであるが、本発明に適用され得るモデルはこれに限定されない。一つの態様では、前記探索は、ＣＹＫアルゴリズムを用いて行われるが、尤度の高い数式候補の探索に用いられるアルゴリズムはこれに限定されない。
【００１６】
一つの態様では、前記所望の手書き数式全体の数式認識において、複数の候補から、既に決定された手書き数式の部分の認識結果を含まない候補を削除して、既に決定された手書き数式の部分の認識結果を含む候補のみを表示する。この場合、数式認識は、所望の手書き数式の入力の一部の正解木構造が既知である場合に、その情報を活かして残りの部分を含めた全体の木構造を推定することができるものでなくてもよい。尚、本明細書において、既に決定された手書き数式の部分の認識結果を「含む」、「含まない」は、「認識結果が実際に表示された時（表示されたであろう場合）に、既に決定されている部分の認識結果がそこに含まれているか否か」の意味で用いている。実際の処理においては、一つの態様では、数式に対応するTeX文字列の包含関係を用いることができる。
【００１７】
本発明が採用したオンライン手書き数式認識装置は、手書き情報入力部と、入力情報表示部と、表示された入力情報の部分あるいは全部を選択させる選択手段と、選択された入力情報の数式認識を行う数式認識手段と、一つあるいは複数の認識結果を候補として表示する候補表示部と、表示された候補から一つの認識結果を決定させる決定手段と、を備え、前記選択手段により手書き数式の部分を選択させて前記数式認識部によって当該選択された部分の数式認識を行い、候補表示部に候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果の決定を１回あるいは複数回行うことで一つあるいは複数の部分の認識結果を決定し、前記選択手段により前記手書き数式全体を選択させて、既に決定された１つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記数式認識部によって手書き数式全体の数式認識を行って、候補表示部に手書き数式全体の候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果を決定させるように構成されている。
【００１８】
一つの態様では、前記数式認識手段は、手書き数式の一部の正解木構造が既知である場合に、その情報を活かして残りの部分を含めた全体の木構造を推定することができるものである。
【００１９】
一つのより具体的な態様例では、前記数式認識手段は、確率的な生成モデルを用いて尤度の高い数式候補を探索するものであり、既に決定された手書き数式の部分の認識結果を用いることで探索範囲を狭めて、手書き数式全体の数式認識を行う。一つの態様では、前記モデルは、ストロークを単位とした確率自由文脈文法を用いるものであるが、本発明に適用され得るモデルはこれに限定されない。一つの態様では、前記探索は、ＣＹＫアルゴリズムを用いて行われるが、尤度の高い数式候補の探索に用いられるアルゴリズムはこれに限定されない。
【００２０】
一つの態様では、前記所望の手書き数式全体の数式認識において、複数の候補から、既に決定された手書き数式の部分の認識結果を含まない候補を削除して、既に決定された手書き数式の部分の認識結果を含む候補のみを表示するように構成されている。この場合、数式認識は、所望の手書き数式の入力の一部の正解木構造が既知である場合に、その情報を活かして残りの部分を含めた全体の木構造を推定することができるものでなくてもよい。
【００２１】
一つの態様では、オンライン手書き数式認識装置は、認識結果訂正手段を備えており、手書き数式の部分あるいは手書き数式全体の候補を表示した後で、候補から一つの認識結果を決定する前あるいは後に、認識結果訂正手段によって、当該認識結果の一部を訂正させてもよい。
【００２２】
本発明が採用したオンライン手書き数式認識のためのコンピュータプログラムは、オンライン手書き数式認識のためにコンピュータを、手書き情報入力手段と、入力情報表示手段と、表示された入力情報の部分あるいは全部を選択させる選択手段と、選択された入力情報の数式認識を行う数式認識手段と、一つあるいは複数の認識結果を候補として表示する候補表示手段と、表示された一つあるいは複数の認識結果から一つの認識結果を決定させる手段と、として機能させ、かつ、前記選択手段により手書き数式の部分を選択させて前記数式認識部によって当該選択された部分の数式認識を行い、候補表示部に候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果を決定させるステップを１回あるいは複数回行って一つあるいは複数の部分の認識結果を決定し、前記選択手段により前記手書き数式全体を選択させて、既に決定された１つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記数式認識部によって手書き数式全体の数式認識を行い、候補表示部に手書き数式全体の候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果を決定させるように機能させる、ものである。本発明は、また、当該コンピュータプログラムを記憶したコンピュータ読み取り可能な媒体としても構成される。
【００２３】
上述の本発明のオンライン手書き数式認識方法及び装置、コンピュータプログラム、あるいは、当該コンピュータプログラムを記憶したコンピュータ読み取り可能な媒体において、所望の数式の部分を選択して認識させることは、所望の手書き数式の入力途中でも、所望の手書き数式全体の入力後に行ってもよい。本発明において、前記所望の手書き数式は、他の数式の部分でもよい。また、前記所望の手書き数式の部分は、認識結果が決定されている部分を含んでもよい。
【００２４】
本発明において、好ましい態様では、手書き数式の部分の数式認識手段と手書き数式全体の数式認識手段は、同じであるが、これらの数式認識手段は、必ずしも同一でなくてもよい。ただし数式認識手法ごとに、「木構造」の記述方法が異なるので、認識手法Aを用いて部分を認識し、それを含む部分を認識手法Bを用いて再度認識する場合、認識手法Bは、認識手法Aによって認識された部分の認識結果を利用して、全体を認識できるものであることが好ましい。そうでない場合であっても、認識手法Bの認識結果の表示に際して、段落００１６、００２０に記載したような利用が可能である。
【００２５】
本発明が採用される典型的な数式認識手段である特許文献１、非特許文献１は、手書き数式認識においては、数式の文法を満たす様々な数式候補の中で尤度が最大となるものを求めるという確率的な認識が本質的であると考え、数式の文法を満たす数式候補のうちストローク尤度と構造尤度の積を最大化する数式候補を求める問題として定式化する点に特徴を有する。ストローク尤度と構造尤度の積が最大となる数式候補を求めるにあたり、ストローク尤度は既存の文字認識手法のモデルで計算することができ、構造尤度は構造モデルにより計算する。数式部品同士の位置関係によりこれが決まる。数式文法を満たす候補と、それを表す手書き数式の確率的生成は、ストロークを単位とした確率文脈自由文法によりモデル化できる。数式候補の探索は、1つの好ましい態様では、CYKアルゴリズムにより行われる。この場合、手書き数式認識装置は、手書き数式を読み込む入力手段と、数式文法に従い、各入力ストロークに対してストローク候補を立て、それらのストローク尤度を算出する手段と、数式の部分に対する候補を結合しより大きな部分に対する候補を立て、構造モデルにより構造尤度を算出する手段と、算出されたストローク尤度及び構造尤度を用いて各数式候補の尤度を算出する手段と、算出された各数式候補の尤度に基づいて数式を決定する手段と、からなる。構造尤度の計算においては、１つの態様では、数式部品同士の位置関係を評価するための位置特徴量として、数式部品が書かれようとした領域（隠れ筆記領域）の尤度分布を用いることができる。また、観測された各ストロークの外接矩形を位置特徴量として構造尤度を算出してもよい。本発明は、CYKアルゴリズムの探索範囲の削減について有効であり、また、CYKアルゴリズムは計算量が膨大なので、本発明は、CYKアルゴリズムを用いた当該数式認識手段に有利に適用され得る。
【発明の効果】
【００２６】
一度に数式全体を認識させる手法と比べて次のような有利な効果を奏する。一度に自動的に認識する数式のサイズが小さくなるため、複雑性が減少し、認識精度が向上、誤り補正も容易になる。また計算速度も向上する。
【００２７】
一文字ずつ認識させる手法と比べて次のような有利な効果を奏する。数式をある程度の意味のまとまりごとに入力することができるため、直感的な入力が行える期待がある。また認識を行う回数も少なくて済むため、使い勝手が良い期待がある。
【発明を実施するための最良の形態】
【００２８】
［Ａ］ストローク単位の確率文脈自由文法を用いたオンライン手書き数式認識
先ず、本発明の手書き数式認識支援システムが用いられる手書き数式認識手段の実施形態について説明する。以下に述べるオンライン手書き数式認識手段は、非特許文献１（特許文献１）に開示されているものである。
【００２９】
［Ａ−１］問題意識と解決の枠組み
数式内のシンボルの認識と構造の認識は密接に結びついている。例えば図１( 左上)、図１( 右上) の例はシンボルの形状が同じでも、文脈によってシンボルの認識は変わりうることを示している。このように数式内のシンボルは人間でさえ、単独で認識できるとは限らない。人間はこの曖昧性を，数式の構造や文法を用いて補っていると考えられる。このように数式認識においてもシンボルの認識と構造の認識を同時に行うことで認識精度が向上する期待がある。これはシンボルの尤度と構造の尤度の積を最大化する数式仮説の探索問題と捉えることにより定式化が可能となる。
【００３０】
さらに、数式のシンボルの境界も、シンボル情報のみから一意に認識できるものではない。図１( 下) の例ではそれぞれ数式文法の制約、数式構造情報により"x"や"括弧"などとシンボルの境界が変わる。シンボル分割、シンボル認識、構造認識を全て総合的に判断することにより、シンボル境界の決定が頑健に行えると考えられる。そこで、構造を考える最小単位をシンボルではなくストロークとし、ストロークのなす構造としてシンボルを捉える発想が生まれる。すなわちストロークが構造を持ってシンボルとなり、シンボルが構造を持って数式になるというように、シンボルと数式構造を同じ「構造」と捉えて統一的に扱う。この手法は、シンボル分割・シンボル認識・構造認識の3 つのステップを全て統一的に扱うことができる。
【００３１】
また既存の数式認識手法の多くは、数式の2 次元構造と数式文法が分離しているが、これは構造認識の結果から必ずしも数式文法への変換が保障されない点に問題があるといえる。我々は数式に内在する文法をベースに構造文法を作成することにより、2 次元構造と数式文法構造の同時が可能であると考えた。
【００３２】
ここまで
. ストロークを単位とする
. 数式文法をベースに作成する
. シンボルの構造と数式の構造を統一的に扱う文法
により、シンボル分割・シンボル認識・構造認識・文法解析の4 つの問題を全て同時に解くという問題意識を述べた。この枠組みの概要、定式化について次項にて述べる。
【００３３】
［Ａ−２］概要
確率文脈自由文法による確率的なオンライン手書き数式認識は、時系列的に入力された手書き数式情報から数式を認識する。この手法では、数式の認識を、ストローク尤度と構造尤度の積を最大化する数式候補を求める問題として定式化する。図２に示すように、手書き数式認識手法は、各ストロークの尤度計算と、数式部品（ストロークやシンボル）の位置関係による構造尤度計算と、からなる。
【００３４】
ストローク尤度とは、ストロークモデルから実際にその手書きストロークが生成される確率であり、ストローク尤度は既存のモデルベースの文字認識手法により尤度計算を行うことができる。図４に基づいて言うと、ストローク尤度は、どれくらいの確率で「そのストロークである」のかということであり、３つの手書きシンボルについて、ストローク”a”である尤度を示している。さらに、ストローク尤度について図３に基づいて説明すると、時系列にしたがって、第１ストロークがルート記号（候補）である尤度は０．２であり、v（候補）である尤度は０．２であり、分数線（候補）である尤度は０．１である。第２ストロークがa（候補）である尤度は０．２であり、d（候補）である尤度は０．１である。第３ストロークが2（候補）である尤度は０．２であり、z（候補）である尤度は０．１である。第４ストロークがマイナス記号（候補）である尤度は０．２であり、プラス記号の横棒−（候補）である尤度は０．１である。第５ストロークが1（候補）である尤度は０．２であり、プラス記号の縦棒｜（候補）である尤度は０．１である。第６ストロークが6（候補）である尤度は０．２であり、Gの1画目（候補）である尤度は０．１である。
【００３５】
構造尤度とは、数式候補から実際にそのストローク同士の位置関係が生成される確率である。図４に基づいて言うと、構造尤度とは、どれくらいの確率で「その構造であるのか」ということであり、シンボルa,bからなる３つのパターンについて、２つのシンボルが「横につながっている尤度」を示している。構造尤度は後述する確率文脈自由文法(Stochastic Context-Free Grammar:SCFG)によりモデル化することで、計算が可能である。
【００３６】
本手法では、考えられる様々な数式候補の中で、ストローク尤度×構造尤度を最大化する数式候補を求め、尤度が最大の数式候補を、手書き数式として認識する。図３に示すように、図３のように互いに直交状に交差する二つのストロークがあった場合に、ストローク尤度だけで見ると、第４ストロークがマイナス記号（候補）である尤度は０．２であり、プラス記号の横棒−（候補）である尤度は０．１であり、また、第５ストロークが1（候補）である尤度は０．２であり、プラス記号の縦棒｜（候補）である尤度は０．１である。しかしながら、-1（候補）となる構造尤度が低く、+（候補）となる構造尤度が高いため、ストローク尤度とシンボルの構造尤度との積において、+としての候補が優位となる。
【００３７】
［Ａ−３］定式化
数式文法から生成可能な数式仮説集合をＥＸとし、手書き数式をＨとすると、数式認識とは、
【数１】
2009080615.tif 000003
となるＸ０を推定する問題である。ここでＰ（Ｈ｜Ｘ）は数式仮説Ｘから手書き数式Ｈが生成される尤度、Ｐ（Ｘ）は数式仮説Ｘの出現確率である。ここで、数式の出現確率は一様であると仮定した。
【００３８】
数式はストロークがそれぞれの形状と位置をもって配置されたものである。そして適切な形状を持つストロークが複数、適切な位置関係をもって配置されているとき、それらはシンボルとみなすことができる。そして適切なクラスに属するシンボル同士が、また適切な位置関係に配置されているとき、それらは「項」や「式」、「分数」などの数式文法の要素となる。そしてこれらの適切な要素同士が再び適切な位置関係に配置されているとき、それらは全体として数式を構成する。この数式の構成は、図５のような確率文脈自由文法による導出として表せる。
【００３９】
ここで用いる確率文脈自由文法Ｇの生成規則は、非終端記号である数式部品の集合ＶＮ、終端記号である手書きストローク(今後単に「ストローク」は「"x"の1 ストローク目」などのシンボリックな情報を表し、「手書きストローク」はペンタブレット等によりサンプリングされたストロークの点列(形状) 情報を表すこととする。) の集合ＶＴ、
開始記号「式」であるＳ、構造条件付き非終端記号生成規則の集合Ｐ、終端記号生成規則の集合Ｑからなる。構造条件付き生成規則はｐ＝<Ａ→ＢＣ，ｓ>の形をしている。Ａ，Ｂ，Ｃ∈ＶＮでありｓは「右」「右上」等の構造を表す。構造ｓの構造モデルはＰ（Ｂ，Ｃ｜ａ，ｓ）を与える。
【００４０】
終端記号生成規則は、ｑ＝<t→α>の形をしている。ｔ∈ＶＮはストロークであり、α∈ＶＴは手書きストロークである。ここでαがｔからｑにより直接導出される尤度は、Ｐ（α｜ｔ）であり、これをt ごとにストロークモデルによりモデル化する。ストロークモデルは入力ストロークのモデル尤度を返す関数で、文字認識のための文字モデルが利用できる。
【００４１】
今手書き数式Ｈの文法Ｇによる導出Ｘ＝{ｐ１，ｐ２，．．ｐＮ，ｑ１，ｑ２，．．．ｑＭ} において、ｎ番目に適用された非終端記号生成規則をｐｎ＝<Ａｎ→Ｂｎ
Ｃｎ，ｓｎ>、ｍ番目に適用された終端記号生成規則をｑｍ＝<ｔｍ→αｍ>と表す。Ｎ，Ｍはそれぞれ導出の非終端記号生成規則、終端記号生成規則の数である。このとき式１は
【数２】
2009080615.tif 000004
と表される。すなわち数式認識問題は、数式文法により生成される数式仮説内、ストローク尤度と構造尤度の積を最大化する数式仮説の探索問題として定式化できる。
【００４２】
［Ａ−４］CYKアルゴリズムによる解探索
確率文脈自由文法において最尤数式仮説の探索はＣＹＫアルゴリズムにより効率的に行うことができる。図６の例についてこのアルゴリズムを述べる。以下に手順を示す。
【００４３】
（１）各手書きストロークについて、全ストロークモデルそれぞれから生成された尤度(ストローク尤度) を計算し(文字認識の尤度計算とほとんど同じ)、ＣＹＫマトリクス対角成分stroke#1−stroke#4にストロークと尤度を記入。例えば１ストローク目の形状は"２"や"ｚ"に近いので、それらの候補の尤度が高くなる。実際には候補の上位Ｎ位までを候補として書き込む。
【００４４】
（２）第i ストロークと第i ＋１ストロークに対して適用可能な規則全てを適用し、ストローク尤度と構造尤度の積をマトリクスの(ｉ，ｉ＋１)成分に記入する。例えばstroke#1とstroke#2に規則を適用すると"２ａ"や"２ａ"等の導出が存在する。"２ａ"の構造尤度は第１ストロークと第２ストロークの位置関係が「横」である構造尤度で、"２ａ"は「右上」である構造尤度である。これらを構造モデルから求め、それを各生成規則の適用確率とする。マトリクスに書き込まれる尤度は、第１・２ストロークのストローク尤度と構造尤度の積である。
【００４５】
（３）次にマトリクスの（ｉ，ｉ＋２）成分を記入する。第（ｉ，ｉ＋２）成分には、第（ｉ，ｉ）成分と第（ｉ＋１，ｉ＋２）成分の組合せに対して適用可能な規則を適用した場合と、第（ｉ，ｉ＋１）成分と第（ｉ＋２，ｉ＋２）成分の組み合わせに対して可能な規則を適用した場合の２通りがある。例えばstroke#1−  3 を記入する場合、stroke#1とstroke#2−3に規則を適用する場合とstroke#1−2とstroke#3に規則を適用する場合を考える。前者の例としては"２ａ２"等が、後者の例としては"２ａｚ"などがある。これらの構造尤度を求め、規則を適用した各数式部品の尤度、構造尤度の積をマトリクスに記入する。
【００４６】
（４）以下マトリクスの(ｉ，ｉ＋ｊ)成分を記入する時は、ｋ＝０，．．．，ｋ−１として(ｉ，ｉ＋ｋ)成分と（ｉ＋ｋ＋１，ｊ）成分のすべての組合せそれぞれに対し、適用可能な規則を適用した結果を書き込む。
【００４７】
（５）最終的にstroke#1−4 の部分に書き込まれた候補のうち、開始記号である「式」でありかつ尤度が最も高い候補が認識結果となる。
【００４８】
［Ａ−５］隠れ筆記領域を用いた構造モデル
本出願の発明者等は、数式の構造を評価する構造モデルとして、数式の背後に存在するシンボルに依存しない「マス目」をモデル化した隠れ筆記領域によるモデルを提案している。各ストロークが隠れ筆記領域のどの位置に書かれるかをあらかじめ統計的に学習し、認識時はストローク仮説ごとに隠れ筆記領域の尤度分布を推定し、この特徴量をもとにシンボルによらない構造評価を行う。データからシンボルの配置情報を学習するだけでなく、カンマやドット、アクセントなどの特殊な書かれ方をする文字も全て含めて統一的に構造評価が行え、文法規則の簡素化につながる。隠れ筆記領域を用いた構造モデルは、数式の構造を評価する構造モデルの一つの態様例に過ぎないものであり、他の構造モデルを適用することも可能である。尚、隠れ筆記領域を用いた構造モデルの詳細については、特許文献１、非特許文献１に記載されており、また、本発明の要旨とは直接関係しないので、ここでは省略する。
【００４９】
［Ｂ］オンライン手書き数式認識システム
［Ｂ−１］概要
本発明のオンライン手書き数式認識システムは、数式を部分ごとに入力・認識させることにより、認識精度とユーザビリティの両立を図る。数式の文法には再帰性があり、多くの場合数式の一部分が、その部分だけに注目するとまた数式として解釈できるという特徴がある。そしてこの再帰的構造は数式の意味構造と密接に結びついているため、人間にとって自然な、直感的な構造である。
【００５０】
本発明のオンライン手書き数式認識システムに用いる数式認識手段は、典型的には、「入力の一部の正解木構造が既知である場合に、(その情報を生かし)残りの部分を含めた全体の木構造を推定する」ことができるものである。この条件は認識の複雑性を減少させるものであり、認識を容易にこそすれ困難とするものではなく、数式に所定の木構造を当てはめて認識する数式認識手段と相容れないものではなく、これら数式認識手段が広く満たす条件であると考えられる。既述の特許文献１、非特許文献１に記載した数式認識手段においてもそれが可能である。また、後述するように、非特許文献２−４に記載の数式認識手段も満たし得る条件である。したがたって、本明細書では、主として特許文献１、非特許文献１に記載した数式認識手段について言及するが、本発明は、他の数式認識手段技術と共に用いることも可能である。
【００５１】
本発明のオンライン手書き数式認識システムでは、数式のペン入力中もしくは入力後に、入力中の数式の一部分をユーザが明示的に指示し、その部分について自動認識を行い、候補としての一つあるいは複数の認識結果から一つの認識結果を決定する。これは、木構造からなる数式の一部分の木構造を決定することに相当する。また、認識結果に誤りがあった場合に、ユーザが訂正を行えるようにしてもよい。
【００５２】
また、本発明のオンライン手書き数式認識システムに用いる数式認識手段は、「入力の一部の正解木構造が既知である場合に、(その情報を生かし)残りの部分を含めた全体の木構造を推定する」ことができないものも含み得る。具体的には、入力の一部の正解木構造が既知である場合に、数式全体の複数の認識結果（候補）から、当該既知の正解木構造を含まない候補を削除し、当該既知の正解木構造を含む候補のみをユーザに表示することも可能である。本発明において、「既に決定された１つあるいは複数の前記手書き数式の部分の認識結果を用いて」には、計算量の削減のみならず、このような用い方も含まれる。
【００５３】
［Ｂ−２］オンライン手書き数式認識システム及び手書き数式入力インターフェース
手書き数式認識システムのハードウェア構成は、手書き情報入力部と、入力情報表示部と、表示された入力情報の部分あるいは全部を選択させる選択手段と、選択された入力情報の数式認識を行う数式認識手段と、一つあるいは複数の認識結果を候補として表示する候補表示部と、表示された候補から一つの認識結果を決定させる決定手段と、決定された認識結果を一時的に記憶する手段と、を備えている。これらの各手段は、入力手段、出力手段、記憶手段、演算手段、表示手段を備えたコンピュータから構成することができる。典型的には、手書き情報入力部は、タブレット（例えばペンタブレット）である。本発明に係るシステムをタブレット型のPCから構成することもできる。タブレットへの入力手段は、ペンに代えてマウスを用いてもよい。手書き情報入力部が入力情報表示部を兼用してもよい。手書き数式認識システムは、さらに、認識結果訂正手段を備えていてもよい。具体的な例では、ユーザがキーボードでTeX等の文字列を入力することで、認識結果に直接正解を与えて訂正させてもよい。ただしこの場合は数式認識手段が、TeX文字列で与えられた部分数式の認識結果を利用して、さらに大きな部分を認識できるものである必要がある。
【００５４】
手書き数式入力インターフェースは、入力された手書き情報を表示する入力情報表示部と、表示された入力情報の所望の選択部分の数式認識を要求する「変換ボタン」と、一つあるいは複数の認識結果を候補として表示する候補表示部と、候補から一つの認識結果を選択して決定するための「決定ボタン」と、さらに他候補の表示を要求する「他候補ボタン」とを備えている。尚、本発明に係る技術思想を具現化するインターフェースの具体的構成は、当業者において適宜設計し得る事項である。
【００５５】
［Ｂ−３］オンライン手書き数式認識の流れ
オンライン手書き数式認識の流れを、より具体的に説明すると、以下の通りとなる。
（１）  ユーザはペンタブレットを用いて、数式のペン入力を行う。数式のペン入力は、所望の数式を最後まで入力するものでも、途中までの入力でもよい。入力情報は、オンラインで入力情報表示部に表示される。
【００５６】
（２）  ユーザは（１）の任意の段階で、入力済みペン入力の一部を選択する。選択は、例えば、表示された入力情報の所望の部分をペンで囲むことで行われる。この選択部分は、既に（４）によって認識結果が確定している部分を含むことができる。
【００５７】
（３）  ユーザからの要求によって、選択した部分についてシステムは数式認識を行う。数式認識手段としては、オンライン手書き認識手段を用いることができ、オンライン手書き認識手段は、例えば、特許文献１、非特許文献１−４に記載されている。選択した部分の一つあるいは複数の認識結果が候補として候補表示部に表示される。
【００５８】
（４）  ユーザは（３）の候補から正解を選択して決定を行い、誤りがあれば他の代替候補の要求を行って、表示された代替候補から正解を選択して決定を行う。
【００５９】
（５）  （１）〜（４）のステップを１回あるいは複数回行う。
【００６０】
（６）  ユーザは最終的に数式全体を対象とした数式認識を要求し、数式全体の一つあるいは複数の認識結果が候補として候補表示部に表示される。ユーザは候補から正解を選択して決定を行い、誤りがあれば他の代替候補の要求を行って、表示された代替候補から正解を選択して決定を行う。
【００６１】
［Ｂ−４］実施例
本発明に係るシステムを用いた数式認識の実施例について、図７に示す数式を認識する場合を例にとって説明する。入力するストローク列は、図８のようになる。順番は書き順を表す。正解とされる木構造の例は、図９のようになる。
【００６２】
ユーザが”2a”まで入力した場合を図１０に示す。以下、左上がユーザに提示されるインターフェースであり、右下の木構造は入力システムが内部的にもつ、現在の認識状況についての情報である。この時点でユーザは、ここまでの入力”2a”を確定させることができる。確定させる部分を選択する（図１１）。このようにある程度小さい要素のみを認識の対象とすることで、認識の複雑性を小さくし、認識精度を向上させ、誤り訂正を容易にし、また選択部分に対して数式認識手法を適用し、認識を行う。誤りがあれば代替候補を選択することで正解を得る。この部分は、数式を木構造として認識する任意の数式認識手法を用いることができる。ここでは、”2a”を正解として決定した（図１２）。
【００６３】
ユーザは数式の続きを入力する。ここでは最後まで入力を終えたとする（図１３）。ユーザは数式の木構造のノードとなる部分(その部分で1つの木となる部分)を選択し、認識させる事ができる。例えば√記号の内部は数式の木構造においてノードとなるので、その対象となりうる。ここで数式の木構造におけるノードは、分数の分子・分母や、根号の内部、括弧でくくられた範囲など、数式の意味構造のまとまりと対応するため、数式の筆者にとって直感的であることが期待される。
【００６４】
ここではユーザは根号の内部を選択し、認識させようとする（図１４）。数式認識手法によりその部分が数式として認識され、誤りがあればユーザが訂正を行う。選択範囲の認識を決定する（図１５）。
【００６５】
ユーザは、既に認識を決定した部分を含む、さらに大きな部分に対し、認識を決定することができる。ここでは根号以降の部分を選択して認識を行う（図１６）。根号の内部は既に認識済みなので、認識の複雑性は非常に小さく、高い認識精度が期待できる。数式認識手法により、根号と根号内部が認識される（図１７）。この時の数式認識手法は、根号内部の既に認識された木構造を利用した認識を行う。
【００６６】
ユーザは数式全体を選択し、全体の認識を行わせる（図１８）。全体が認識される（図１９）。このとき既に分母、根号とその内部が認識済みであるため、複雑性の小さい数式認識問題となり高い精度での認識が期待できる。
【００６７】
［Ｂ−５］本発明とＣＹＫアルゴリズム
特許文献１、非特許文献１に開示された数式認識手法において、「入力の一部の正解木構造が既知である場合に、(その情報を生かし)残りの部分を含めた全体の木構造を推定する」方法について説明する。
【００６８】
図２０は、数式認識手法の認識アルゴリズムの実行例を示したものである。ここで各マトリクスの要素は部分数式の候補であり、その横の数値は尤度である。この尤度は各ストロークと各位置関係について、その尤度の積である。ここで例えばこの数式認識において、はじめの3ストロークが xの右上にyがある木構造であることが既知である場合、それに対応する尤度を1とし、それに反する候補の尤度を0とすることで実現できる。認識時は、あらかじめ Stroke#1-3 以下のマトリクス要素を図２１のように埋めた状態から認識を行うことになる。
【００６９】
特許文献１、非特許文献１の数式認識手法は、CYKアルゴリズムによりマトリクスの対角要素(図の底辺)から順に候補を埋めていく。今回は認識があらかじめ固定された部分については候補が埋められた状態で認識を始める。その他の手順は通常と同じである。一部の認識が決定していることにより競合する候補も減少し、精度の向上と計算速度の向上が見込める。
【００７０】
［Ｂ−５］付記
また、例えば/2a(「2エー分の」・・・つまり分母の2aと分数線までを書いた、数式の途中の状態）と書いた時点でそれを確定する、つまり「2エー分の」として決定することは、「2エー分の」という部分が単独で数式として成立しないため、数式認識において全体の文法的整合性を前提とする手法を単純に用いた場合にはできない。しかしこの場合は、数式認識手法においてこのような中間記号を数式として整合であると見なすような変更が可能であれば、この問題は解決可能である。このようにすれば、例えば「分母と分数線まで」「等号で結ばれた式の左辺と等号まで」「左括弧と内部の式の途中まで」といった部分において、ユーザが逐次的に認識を確定することが可能となる。
【００７１】
上記数式認識手法において用いる手書き数式文法を図５に示す。この数式認識手法では、数式が全体として「式」という記号となるように構文解析を行った、すなわち前ページのマトリクスの頂点に「式」以外の候補が現れた場合、それは認識結果として却下されたが、数式の部分を認識する際に、例えば「分母と分数線まで書いた式」などを認識候補としたい場合は、例えば以下の生成規則を追加する。
部分数式 → 式|分母付き分数線|分子付き分数線|右括弧付き式|左括弧付き式 ・・・
そして、部分数式を認識する際は全体として記号「部分数式」となるように構文解析をする、すなわちそれ以外の候補を却下するようにすればよい。
【００７２】
本発明において、好ましい態様では、手書き数式の部分の数式認識手段と手書き数式全体の数式認識手段は、同じであるが、これらの数式認識手段は、必ずしも同一でなくてもよい。ただし数式認識手段ごとに、「木構造」の記述方法が異なるので、認識手段Aを用いて部分を認識し、それを含む部分を認識手段Bを用いて再度認識する場合、認識手段Bは、認識手段Aによって認識された部分の認識結果を利用して、全体を認識できるものであることが好ましい。互換性を持つ木構造の記述方法として、既存の言語、例えばTeX の文字列（これは数式の木構造を記述する言語のひとつである）を利用する事で、このような認識は可能である。つまり認識手段Aによって、数式のある部分のTeX文字列を決定し、手法Ｂは認識された部分の数式のTeX文字列を経由して、手法B側でその部分の木構造を再構成し、それを前提として全体を認識する、という具合である。あるいは、認識結果を全てTeX文字列に変換し、その木構造の包含関係を用いてこのシステムを構築してもよい。
【００７３】
認識手段Ａ，Ｂが共に、手書き入力情報を受け取り、それを認識し、候補となるTeX文字列を複数候補として出力する手法であるとすると、
（１）  ユーザは数式のペン入力を行う。
（２）  ユーザは（１）の任意の段階で、入力済みペン入力の一部を選択(例えば「Ac」を選択)。
（３）  選択した部分(「Ac」)について数式認識手法Ａにより認識を行う。
（４）  ユーザはこれが正しければ決定を行い、誤りがあれば代替候補の中から正解を選択する。結果TeX文字列“A^c”を得る。
（５）  （１）にもどる。
（６）  ユーザは数式の入力を続ける（例えば最後まで入力）。
（７）  ユーザは入力済み入力の一部を選択する（例えば全部を選択）。
（８）全体について数式認識手段Bにより認識を行う。
この時、認識手段Bが、部分的な数式認識結果“A^c”を前提とした認識を行えるのであれば、それを行う。もし行えないのであれば認識手段Bがそのまま認識を行い、得られた候補中で“A^c”を文字列として含む（＝木構造として包含する）候補を抽出し、ユーザに提示する。
（９）  認識結果をユーザが確認、選択する。
という流れで、複数の認識手段を組み合わせた認識が可能である。
【００７４】
［Ｄ］他の数式認識手法への適用
提案システムが、別の数式認識技術を用いても実現可能であることを説明する。
【００７５】
［Ｄ−１］Zanibbiらの提案した数式認識手法（非特許文献２）
彼らの手法は、図２２に示すように、
（１）  入力(a)から、各文字の位置関係を分析し、BST: Basic Structure Tree(b)を得る。BSTは文字間の位置関係をグラフ構造で結んだものである。文字間の構造としては、ABOVE(真上)、BELOW(真下)、SUPER(指数・上付)、SUBSC(下付)、CONTAINS(根号とその内部)などがある。
（２）  BSTを文法的に解釈することで、数式の構文木(c)を得る。
（３）    構文木を必要に応じて、たとえば値の計算が目的であれば演算子木(d)に、TeXでのタイプセットが目的であればTeX文字列(e)に変換する。
というものである。
【００７６】
本発明に係る数式入力システムをこの手法を用いて実現する場合、以下のようにする。
（１）  ユーザは数式のペン入力を行う。
（２）  ユーザは（１）の任意の段階で、入力済みペン入力の一部を選択(例えば「Ac」を選択)。
（３）  選択した部分(「Ac」)について数式認識を行う。該当部分の入力のBSTを推定：図２３（Ａ）のようになる。その部分の構文木を推定：図２３（Ｂ）のようになる。この認識結果をユーザに提示する。
（４）  ユーザはこれが正しければ決定を行い、誤りがあれば代替候補の中から正解を選択する（もしくは、それでも正解が得られない場合はその部分を書き直す）。
（５）  （１）にもどる。
（６）  ユーザは数式の入力を続ける（例えば最後まで入力）
（７）  ユーザは入力済み入力の一部を選択する（例えば全部を選択）
（８）  全体について数式認識を行う。ここで数式認識システムは、既に決定している「Ac」部分の認識を前提とした認識を行う。すなわち木構造の一部が確定した状態で、他の部分を認識する。BSTの推定は図２３（Ｃ）のようになる。構文木は図２３（Ｄ）のようになる。共に部分的な認識が決定されているため、前提なしに数式全体を認識する場合と比べ、数式認識問題がより単純になる。
（９）  認識結果をユーザが確認、必要に応じて修正する。
【００７７】
ここで、既に決定している「Ac」部分の認識を前提としてその他の部分を推定することが可能かどうかは、その数式認識手法の内部アルゴリズムに依存するため論文の記載自体からは明確には判断できないが、当該数式認識手法において、それを妨げる要因は無いと考える。もし仮にそれが不可能であるとしても、複数個の認識候補を出力しうる認識手法であれば、既に決定している「Ac」部分が一致しない候補を認識後に却下してユーザに提示することは可能である。そうした場合、部分的決定による計算量削減のメリットはなくなるが、ユーザが精度良く、確実に意図した入力を行える期待は依然残る。
【００７８】
［Ｄ−２］Garainらのオンライン手書き数式手法（非特許文献３）
Garainらのオンライン手書き数式手法の概要と、その手法を提案入力システムに適用することの妥当性について簡単に述べる。
【００７９】
Garainらの手法では以下の手順により入力数式を認識する。
（１）  手書き入力各ストロークの位置や時間情報により、はじめにシンボルを分割し、各シンボルの認識を行う。
（２）  各シンボルについて、そのy座標をもとにベースラインの推定を行う（図２５参照）。ここで、システムは数式認識のためのルールベースを持っている。例えば「ベースラインレベルnのTeX文字列”y”の右に、レベルn+1のTeX文字列”2”がある場合、TeX文字列”y^2”となる」というような規則を、TeX文字列ベースの文法として持っている。しかし数式の複数の部分についてルールが適用可能であるとき、この規則をどのような順番で適用していくかが問題となる。彼らの手法では、以下のようにこれを扱う。
（３）  各シンボルの外接矩形の重なりから、数式全体を横方向に分割する。各領域をv1, v2, ... とする（図２６参照）。
（４）  分割された各領域を、さらに縦方向に同様に分割する。そしてまた横方向、とこれを繰り返す（図２７参照）。
（５）  この分割で、分割内のシンボル数が複数ある場合、その分割内の最も大きなシンボルを、それ以外の部分から分離する処理を行い、最終的に各分割内にひとつのシンボルが存在するようにする。例えば H9,1 は根号とπに分割される。
（６）  （５）の方法で分割された部分同士をルールベースにより結合し、TeX文字列を生成する。例えばH9,1は ＼sqrt{＼pi}となる。
（７）  （３）（４）の方法で分割された部分同士をルールベースで結合する。この時、細かい分割を先に結合する。例えばV8とV9を結合するよりも先に、H9,1
H9,2 H9,3 の結合を行う。
（８）  この過程で生成される各TeX文字列は、逐次その数式文法的妥当性が構文解析によりチェックされる。
以上の手順を繰り返すことにより、最終的に全体を表すTeX文字列が生成される。
【００８０】
本発明の数式入力システムへの適用を考えると、部分的な認識結果を反映した認識の可能性が問題となる。これは、該当部分のTeX文字列を既知として固定することで行えると考えられる。例えば V1 部分を既に手書きし、認識、確定している場合、V1は“＼lim_{x＼to＼inf}”という TeX文字列であることを既知として、V4-6部分を確定している場合、V4-6は “e^{-{y^2}}” である事を既知として、全体を認識すればよい。
【００８１】
［Ｄ−３］Chanらのオンライン手書き数式手法（非特許文献４）
K. F. Chan らの手法も、2次元構造の認識よりも意味解析に重点を置いた研究である（そのため構造の認識について十分に述べられていない）ものの、基本的にはこの手法と同様に、いくつかのルールに従い結合を繰り返し、同時に文法の妥当性をチェックしていくものなので、同じように本発明に係る数式入力システムを適用することが可能だと思われる。
【産業上の利用可能性】
【００８２】
本発明は、オンライン手書き数式認識として利用され得るものであり、具体的には、教育、論文作成、数式検索のインターフェース、数値計算ソフトのインターフェース等に利用可能である。
【図面の簡単な説明】
【００８３】
【図１】図1(左上) シンボル形状が同じでも数式文法によって解釈が変わる例を示す。2 画目のストロークは上では"c"、下では"括弧"と解釈される。(右上) シンボル形状と数式構造を同時に評価して認識すべき数式例である。"P (xjy, z)"と"P (x1y,z)"のどちらかを認識する際、人間は、"x"と"y"の間の記号がどれくらい"縦棒"らしいか、もしくはどれくらい"1"らしいかというシンボル形状の評価と、その位置がどれくらい"x"の横らしいかもしくは右下らしいかという構造の評価を同時に行い、総合的に判断していると考えられる。(下) 構造の変化がストローク認識に影響を与える例である。中央は上では括弧である可能性があるが下ではx と解釈するのが自然である。
【図２】手書き数式認識の全体構成を説明する図である。
【図３】ストローク候補のストローク尤度を説明する図である。
【図４】ストローク尤度と構造尤度の関係を説明する図である。
【図５】簡易な数式文法を例示する。数式としての構造制約に、括弧を閉じる制約を付加したものである。LATEXで記述可能なほとんどの数式のうち、括弧が閉じられているものを生成可能である。*:規則が不適切に繰り返されないように実際はより細かい場合分けを行っていることを示す(例えば5 番目の規則が繰り返し適用されて特殊関数の上にいくつも式が生成されることはない)。**:書き順が逆である規則も含む。***:実際は括弧の種類による場合わけを行っていることを示す。
【図６】CYK アルゴリズムによる最尤数式仮説探索の例を示す。 この手書き数式はストロークが"2"，"a"，"2"，"根号"の順序で書かれたとする。例えば、“２ａ”である尤度は、０．１（２の尤度）Ｘ０．２（ａの尤度）×０．０５（横連結尤度）＝０．００１である。“２ａ“である尤度は、０．１（２の尤度）Ｘ０．２（ａの尤度）×０．０２５（右上連結尤度）＝０．００１である。４ストローク全体としては、√２ａ２（候補）の尤度が０．００００００１、√２ａ２（候補）の尤度が０．０００００００５である。
【図７】実施例で用いた所望の手書き数式である。
【図８】入力するストローク列を示し、順番は書き順を表す。
【図９】正解木構造を示す。
【図１０】図７に示す手書き数式の内、２ａが手書き入力され、表示された状態を示す。
【図１１】認識対象として２ａ（手書き）を選択した状態を示す。
【図１２】認識結果として２ａが決定された状態を示す。２ａ（手書き）の認識結果として一つあるいは複数の候補を表示するステップは図示されていない。
【図１３】図７に示す手書き数式の内２ａを決定した後に、残りの部分が手書き入力され、表示された状態を示す。
【図１４】認識対象として、ｂ２−４ａｃ（手書き）を選択した状態を示す。
【図１５】認識結果としてｂ２−４ａｃが決定された状態を示す。ｂ２−４ａｃ（手書き）の認識結果として一つあるいは複数の候補を表示するステップは図示されていない。
【図１６】認識対象として、√（手書き）及びその内部を選択した状態を示す。既に決定されたｂ２−４ａｃを含む部分が選択されている。
【図１７】認識結果として√（内部を含む）が決定された状態を示す。√（手書き）及びその内部の認識結果として一つあるいは複数の候補を表示するステップは図示されていない。
【図１８】認識対象として、所望の数式全体が選択された状態を示す。選択した部分には、既に決定された部分が含まれている。
【図１９】所望の数式全体の認識結果が決定された状態を示す。数式全体の認識結果として一つあるいは複数の候補を表示するステップは図示されていない。
【図２０】CYK アルゴリズムによる最尤数式仮説探索の例を示す。
【図２１】図２０のCYKアルゴリズムに本発明を適用した場合を示す。所望の数式の部分を確定させることで、CYKマトリクスの探索範囲を削減することができる。
【図２２】非特許文献２の数式認識手段を説明する図である。
【図２３】非特許文献２に本発明を適用した場合を説明する図である。
【図２４】非特許文献３を説明する図である。
【図２５】非特許文献３を説明する図である。
【図２６】非特許文献３を説明する図である。
【図２】
2009080615.tif 000005
【図３】
2009080615.tif 000006
【図４】
2009080615.tif 000007
【図５】
2009080615.tif 000008
【図６】
2009080615.tif 000009
【図７】
2009080615.tif 000010
【図８】
2009080615.tif 000011
【図９】
2009080615.tif 000012
【図１０】
2009080615.tif 000013
【図１１】
2009080615.tif 000014
【図１２】
2009080615.tif 000015
【図１３】
2009080615.tif 000016
【図１４】
2009080615.tif 000017
【図１５】
2009080615.tif 000018
【図１６】
2009080615.tif 000019
【図１７】
2009080615.tif 000020
【図１８】
2009080615.tif 000021
【図１９】
2009080615.tif 000022
【図２０】
2009080615.tif 000023
【図２１】
2009080615.tif 000024
【図２２】
2009080615.tif 000025
【図１】
2009080615.tif 000026
【図２３】
2009080615.tif 000027
【図２４】
2009080615.tif 000028
【図２５】
2009080615.tif 000029
【図２６】
2009080615.tif 000030