JP2009080615A - オンライン手書き数式認識方法及び装置 - Google Patents
オンライン手書き数式認識方法及び装置 Download PDFInfo
- Publication number
- JP2009080615A JP2009080615A JP2007248899A JP2007248899A JP2009080615A JP 2009080615 A JP2009080615 A JP 2009080615A JP 2007248899 A JP2007248899 A JP 2007248899A JP 2007248899 A JP2007248899 A JP 2007248899A JP 2009080615 A JP2009080615 A JP 2009080615A
- Authority
- JP
- Japan
- Prior art keywords
- mathematical expression
- recognition
- handwritten
- candidates
- handwritten mathematical
- 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.)
- Pending
Links
Landscapes
- Character Discrimination (AREA)
Abstract
【課題】
従来の数式ペン入力システムの不具合を解決することを目的とする。
【解決手段】
手書き数式の部分を選択して当該部分の数式認識を行うステップを1回あるいは複数回行い、前記手書き数式全体を選択して、既に決定された1つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記手書き数式全体の数式認識を行う、オンライン手書き数式認識方法、である。数式認識は、確率的な生成モデルを用いて尤度の高い数式候補を探索するものであり、既に決定された手書き数式の部分の認識結果を用いることで探索範囲を狭めて、手書き数式全体の数式認識を行う。前記モデルは、ストロークを単位とした確率自由文脈文法を用いる。前記探索は、CYKアルゴリズムを用いて行われる。
【選択図】図18
従来の数式ペン入力システムの不具合を解決することを目的とする。
【解決手段】
手書き数式の部分を選択して当該部分の数式認識を行うステップを1回あるいは複数回行い、前記手書き数式全体を選択して、既に決定された1つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記手書き数式全体の数式認識を行う、オンライン手書き数式認識方法、である。数式認識は、確率的な生成モデルを用いて尤度の高い数式候補を探索するものであり、既に決定された手書き数式の部分の認識結果を用いることで探索範囲を狭めて、手書き数式全体の数式認識を行う。前記モデルは、ストロークを単位とした確率自由文脈文法を用いる。前記探索は、CYKアルゴリズムを用いて行われる。
【選択図】図18
Description
本発明は、オンライン手書き数式認識方法及び装置に関するものである。本発明に係る装置は、典型的には数式ペン入力システムとして実装され得る。
数式ペン入力システムとは、ユーザがペンタブレットによりコンピュータに数式を入力するシステムを言う。
数式のペン入力とは、ペンタブレットによるユーザの入力を意味する。入力は1つ以上のストローク(画)からなり、全体として数式を表す。
本発明に係るオンライン手書き数式認識方法及び装置は、数式認識手段を用いた全体としての数式認識方法及び数式認識手段を備えた全体のシステムを意味する。
数式認識手段とは、数式のペン入力をユーザの意図した数式として自動的に認識する手段を言う。具体的には認識結果はシンボル(文字)の認識結果とそれらの間の2次元的な位置関係により成り立ち、これは木構造(数式認識に用いる具体的な木構造については、同じ式であっても、数式認識手段によって異なる木構造が設定され得る)で表すことが可能である。例えば、本出願の発明者等が提案している数式認識手段(特許文献1、非特許文献1)では、シンボルと2次元的な位置関係の木構造を、数式の意味構造と対応した形での生成文法として記述し、その文法の範囲内で入力を構文解析することにより、数式文法を前提としたシンボル・位置関係の認識を実現している。
数式ペン入力システムとは、ユーザがペンタブレットによりコンピュータに数式を入力するシステムを言う。
数式のペン入力とは、ペンタブレットによるユーザの入力を意味する。入力は1つ以上のストローク(画)からなり、全体として数式を表す。
本発明に係るオンライン手書き数式認識方法及び装置は、数式認識手段を用いた全体としての数式認識方法及び数式認識手段を備えた全体のシステムを意味する。
数式認識手段とは、数式のペン入力をユーザの意図した数式として自動的に認識する手段を言う。具体的には認識結果はシンボル(文字)の認識結果とそれらの間の2次元的な位置関係により成り立ち、これは木構造(数式認識に用いる具体的な木構造については、同じ式であっても、数式認識手段によって異なる木構造が設定され得る)で表すことが可能である。例えば、本出願の発明者等が提案している数式認識手段(特許文献1、非特許文献1)では、シンボルと2次元的な位置関係の木構造を、数式の意味構造と対応した形での生成文法として記述し、その文法の範囲内で入力を構文解析することにより、数式文法を前提としたシンボル・位置関係の認識を実現している。
数式認識問題はかつてよりシンボル認識と構造認識の2つの問題からなると捉えられてきた。シンボル認識はさらに、シンボル分割と(狭義の)シンボル認識の2つの問題として捉えられ、構造認識には2次元構造の認識と数式文法による解析の2つの側面がある。このように数式認識問題はシンボル認識と構造認識の2つの問題、さらに細かくはシンボル分割・認識問題、2次元構造認識問題、数式文法解析問題の4つの問題からなる。
現在オンライン手書き数式認識の研究は、主にオフライン数式画像認識の手法を応用して行われている。オフライン数式画像認識では、シンボルの分割・認識における高い精度が期待できるため、認識されたシンボル間の構造認識についての研究例が多い。数式の2次元構造認識には、グラフ文法などの文法を用いる手法
や、xy方向の逐次的な分割ルーチンにより構造を決定するなどルールを細かく記述したルールベースの手法等が用いられてきた。
や、xy方向の逐次的な分割ルーチンにより構造を決定するなどルールを細かく記述したルールベースの手法等が用いられてきた。
数式文法解析は主に構造認識の結果からの数式意味抽出として研究された。グラフ文法で記述された2次元構造の数式文法への木構造変換(非特許文献2)や、2 次元木構造からLATEX のコードを生成しコードの意味解析を行うテキストベースの手法(非特許文献4)などが提案されている。またルールを詳細に記したルールベースのシステムでは、システム内部に暗黙的に数式文法が存在していることが多い。
オンライン手書き数式認識にも同様の構造認識が用いられており、閾値によって隣接シンボル間の構造を決定(非特許文献2)したり、縦横方向の逐次的分割により構造を決定(非特許文献3)する手法などがオンラインにも応用されている。
現在提案されている数式認識手法のほとんどは、最初に数式内のシンボルを認識し、その後シンボル間の位置関係から数式構造を認識するというように、シンボル認識と構造認識の2ステップからなる問題として数式認識を捉えている。しかし我々が数式内のシンボルを認識する際、そのシンボル形状のみではなく全体の構造や数式文法の情報をも利用し、シンボル形状を含めた総合的な判断を行っていると考えられる。そこで本発明の発明者等は、数式認識をシンボルと構造の同時推定問題と捉え、ストローク尤度と構造尤度の積を最大化する数式仮説の探索問題として定式化を行う手法を提案している(特許文献1、非特許文献1)。この探索問題はストローク尤度と構造尤度を適用確率とする確率文脈自由文法による最尤導出を求めるとして、CYK アルゴリズムにより効率的に解くことができる。
現在数式のコンピュータへの入力はLATEX やC 言語などの専用言語による入力と、エディタによる入力が主流である。しかしこれらの入力方法は訓練が必要であったり、操作が煩雑であるなどの面で、使いやすいとはいえない。ペンタブレット等による直感的な数式の入力が実現されれば、論文などへの数式入力、数式検索や数値計算ソフトの入力インターフェースなど教育分野において幅広い応用の可能性がある。
「数式ペン入力システム」としては、ユーザの入力した数式全体に対して数式認識を行うタイプのものや、ユーザが入力を一文字ずつ認識させながら入力するタイプのもの(例えば、Infty Editor)が存在する。前者においては認識すべき数式が複雑であるために十分な精度を得ることが難しく、後者においては比較的高い精度や有効な誤り訂正が期待できる反面、入力のし易さが犠牲になりがちである。
特開2007−72718
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.
本発明は、従来の数式ペン入力システムの不具合を解決することを目的とする。
本発明が採用した手書き数式の数式認識を行う方法は、前記手書き数式の部分を選択して当該部分の数式認識を行うステップを1回あるいは複数回行い、前記手書き数式全体を選択して、既に決定された1つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記手書き数式全体の数式認識を行う、オンライン手書き数式認識方法、である。
一つの態様では、前記手書き数式の部分の数式認識を行うステップは、手書き数式情報を入力させて入力情報を表示するステップと、前記入力の任意の段階で、表示された入力情報の部分あるいは全部を選択させるステップと、選択された入力情報の数式認識を行って一つあるいは複数の認識結果を候補として表示するステップと、表示された候補から一つの認識結果を決定させるステップと、を備えている。
一つの態様では、前記手書き数式全体の数式認識は、既に決定された手書き数式の部分の認識結果を含む一つあるいは複数の認識結果を候補として表示するステップと、表示された候補から一つの認識結果を決定させるステップと、を備えている。
認識結果を決定させるステップは、手書き数式の部分あるいは手書き数式全体の候補を表示した後で、候補から一つの認識結果を決定する前あるいは後に、当該認識結果の一部を修正させるステップを備えていても良い。
一つの態様では、数式認識は、所望の手書き数式の一部の正解木構造が既知である場合に、その情報を活かして残りの部分を含めた全体の木構造を推定することができるものである。このような数式認識は、既知の数式認識手段においても可能な場合が多いと考えられ、仮にそうでないとしても、数式認識のアルゴリズムをそのような認識が可能なように修正することで達成し得ると考えられる。所望の手書き数式の部分を決定することは当該部分に対応する木構造を決定することを意味する。手書き数式全体の所定の木構造の一部の木構造を確定させることで、手書き数式全体の数式認識において、手書き数式全体の所定の木構造を計算する際の計算量を削減できる。
より具体的な態様例では、前記数式認識は、確率的な生成モデルを用いて尤度の高い数式候補を探索するものであり、既に決定された手書き数式の部分の認識結果を用いることで探索範囲を狭めて、手書き数式全体の数式認識を行う。一つの態様では、前記モデルは、ストロークを単位とした確率自由文脈文法を用いるものであるが、本発明に適用され得るモデルはこれに限定されない。一つの態様では、前記探索は、CYKアルゴリズムを用いて行われるが、尤度の高い数式候補の探索に用いられるアルゴリズムはこれに限定されない。
一つの態様では、前記所望の手書き数式全体の数式認識において、複数の候補から、既に決定された手書き数式の部分の認識結果を含まない候補を削除して、既に決定された手書き数式の部分の認識結果を含む候補のみを表示する。この場合、数式認識は、所望の手書き数式の入力の一部の正解木構造が既知である場合に、その情報を活かして残りの部分を含めた全体の木構造を推定することができるものでなくてもよい。尚、本明細書において、既に決定された手書き数式の部分の認識結果を「含む」、「含まない」は、「認識結果が実際に表示された時(表示されたであろう場合)に、既に決定されている部分の認識結果がそこに含まれているか否か」の意味で用いている。実際の処理においては、一つの態様では、数式に対応するTeX文字列の包含関係を用いることができる。
本発明が採用したオンライン手書き数式認識装置は、手書き情報入力部と、入力情報表示部と、表示された入力情報の部分あるいは全部を選択させる選択手段と、選択された入力情報の数式認識を行う数式認識手段と、一つあるいは複数の認識結果を候補として表示する候補表示部と、表示された候補から一つの認識結果を決定させる決定手段と、を備え、前記選択手段により手書き数式の部分を選択させて前記数式認識部によって当該選択された部分の数式認識を行い、候補表示部に候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果の決定を1回あるいは複数回行うことで一つあるいは複数の部分の認識結果を決定し、前記選択手段により前記手書き数式全体を選択させて、既に決定された1つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記数式認識部によって手書き数式全体の数式認識を行って、候補表示部に手書き数式全体の候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果を決定させるように構成されている。
一つの態様では、前記数式認識手段は、手書き数式の一部の正解木構造が既知である場合に、その情報を活かして残りの部分を含めた全体の木構造を推定することができるものである。
一つのより具体的な態様例では、前記数式認識手段は、確率的な生成モデルを用いて尤度の高い数式候補を探索するものであり、既に決定された手書き数式の部分の認識結果を用いることで探索範囲を狭めて、手書き数式全体の数式認識を行う。一つの態様では、前記モデルは、ストロークを単位とした確率自由文脈文法を用いるものであるが、本発明に適用され得るモデルはこれに限定されない。一つの態様では、前記探索は、CYKアルゴリズムを用いて行われるが、尤度の高い数式候補の探索に用いられるアルゴリズムはこれに限定されない。
一つの態様では、前記所望の手書き数式全体の数式認識において、複数の候補から、既に決定された手書き数式の部分の認識結果を含まない候補を削除して、既に決定された手書き数式の部分の認識結果を含む候補のみを表示するように構成されている。この場合、数式認識は、所望の手書き数式の入力の一部の正解木構造が既知である場合に、その情報を活かして残りの部分を含めた全体の木構造を推定することができるものでなくてもよい。
一つの態様では、オンライン手書き数式認識装置は、認識結果訂正手段を備えており、手書き数式の部分あるいは手書き数式全体の候補を表示した後で、候補から一つの認識結果を決定する前あるいは後に、認識結果訂正手段によって、当該認識結果の一部を訂正させてもよい。
本発明が採用したオンライン手書き数式認識のためのコンピュータプログラムは、オンライン手書き数式認識のためにコンピュータを、手書き情報入力手段と、入力情報表示手段と、表示された入力情報の部分あるいは全部を選択させる選択手段と、選択された入力情報の数式認識を行う数式認識手段と、一つあるいは複数の認識結果を候補として表示する候補表示手段と、表示された一つあるいは複数の認識結果から一つの認識結果を決定させる手段と、として機能させ、かつ、前記選択手段により手書き数式の部分を選択させて前記数式認識部によって当該選択された部分の数式認識を行い、候補表示部に候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果を決定させるステップを1回あるいは複数回行って一つあるいは複数の部分の認識結果を決定し、前記選択手段により前記手書き数式全体を選択させて、既に決定された1つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記数式認識部によって手書き数式全体の数式認識を行い、候補表示部に手書き数式全体の候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果を決定させるように機能させる、ものである。本発明は、また、当該コンピュータプログラムを記憶したコンピュータ読み取り可能な媒体としても構成される。
上述の本発明のオンライン手書き数式認識方法及び装置、コンピュータプログラム、あるいは、当該コンピュータプログラムを記憶したコンピュータ読み取り可能な媒体において、所望の数式の部分を選択して認識させることは、所望の手書き数式の入力途中でも、所望の手書き数式全体の入力後に行ってもよい。本発明において、前記所望の手書き数式は、他の数式の部分でもよい。また、前記所望の手書き数式の部分は、認識結果が決定されている部分を含んでもよい。
本発明において、好ましい態様では、手書き数式の部分の数式認識手段と手書き数式全体の数式認識手段は、同じであるが、これらの数式認識手段は、必ずしも同一でなくてもよい。ただし数式認識手法ごとに、「木構造」の記述方法が異なるので、認識手法Aを用いて部分を認識し、それを含む部分を認識手法Bを用いて再度認識する場合、認識手法Bは、認識手法Aによって認識された部分の認識結果を利用して、全体を認識できるものであることが好ましい。そうでない場合であっても、認識手法Bの認識結果の表示に際して、段落0016、0020に記載したような利用が可能である。
本発明が採用される典型的な数式認識手段である特許文献1、非特許文献1は、手書き数式認識においては、数式の文法を満たす様々な数式候補の中で尤度が最大となるものを求めるという確率的な認識が本質的であると考え、数式の文法を満たす数式候補のうちストローク尤度と構造尤度の積を最大化する数式候補を求める問題として定式化する点に特徴を有する。ストローク尤度と構造尤度の積が最大となる数式候補を求めるにあたり、ストローク尤度は既存の文字認識手法のモデルで計算することができ、構造尤度は構造モデルにより計算する。数式部品同士の位置関係によりこれが決まる。数式文法を満たす候補と、それを表す手書き数式の確率的生成は、ストロークを単位とした確率文脈自由文法によりモデル化できる。数式候補の探索は、1つの好ましい態様では、CYKアルゴリズムにより行われる。この場合、手書き数式認識装置は、手書き数式を読み込む入力手段と、数式文法に従い、各入力ストロークに対してストローク候補を立て、それらのストローク尤度を算出する手段と、数式の部分に対する候補を結合しより大きな部分に対する候補を立て、構造モデルにより構造尤度を算出する手段と、算出されたストローク尤度及び構造尤度を用いて各数式候補の尤度を算出する手段と、算出された各数式候補の尤度に基づいて数式を決定する手段と、からなる。構造尤度の計算においては、1つの態様では、数式部品同士の位置関係を評価するための位置特徴量として、数式部品が書かれようとした領域(隠れ筆記領域)の尤度分布を用いることができる。また、観測された各ストロークの外接矩形を位置特徴量として構造尤度を算出してもよい。本発明は、CYKアルゴリズムの探索範囲の削減について有効であり、また、CYKアルゴリズムは計算量が膨大なので、本発明は、CYKアルゴリズムを用いた当該数式認識手段に有利に適用され得る。
一度に数式全体を認識させる手法と比べて次のような有利な効果を奏する。一度に自動的に認識する数式のサイズが小さくなるため、複雑性が減少し、認識精度が向上、誤り補正も容易になる。また計算速度も向上する。
一文字ずつ認識させる手法と比べて次のような有利な効果を奏する。数式をある程度の意味のまとまりごとに入力することができるため、直感的な入力が行える期待がある。また認識を行う回数も少なくて済むため、使い勝手が良い期待がある。
[A]ストローク単位の確率文脈自由文法を用いたオンライン手書き数式認識
先ず、本発明の手書き数式認識支援システムが用いられる手書き数式認識手段の実施形態について説明する。以下に述べるオンライン手書き数式認識手段は、非特許文献1(特許文献1)に開示されているものである。
先ず、本発明の手書き数式認識支援システムが用いられる手書き数式認識手段の実施形態について説明する。以下に述べるオンライン手書き数式認識手段は、非特許文献1(特許文献1)に開示されているものである。
[A−1]問題意識と解決の枠組み
数式内のシンボルの認識と構造の認識は密接に結びついている。例えば図1( 左上)、図1( 右上) の例はシンボルの形状が同じでも、文脈によってシンボルの認識は変わりうることを示している。このように数式内のシンボルは人間でさえ、単独で認識できるとは限らない。人間はこの曖昧性を,数式の構造や文法を用いて補っていると考えられる。このように数式認識においてもシンボルの認識と構造の認識を同時に行うことで認識精度が向上する期待がある。これはシンボルの尤度と構造の尤度の積を最大化する数式仮説の探索問題と捉えることにより定式化が可能となる。
数式内のシンボルの認識と構造の認識は密接に結びついている。例えば図1( 左上)、図1( 右上) の例はシンボルの形状が同じでも、文脈によってシンボルの認識は変わりうることを示している。このように数式内のシンボルは人間でさえ、単独で認識できるとは限らない。人間はこの曖昧性を,数式の構造や文法を用いて補っていると考えられる。このように数式認識においてもシンボルの認識と構造の認識を同時に行うことで認識精度が向上する期待がある。これはシンボルの尤度と構造の尤度の積を最大化する数式仮説の探索問題と捉えることにより定式化が可能となる。
さらに、数式のシンボルの境界も、シンボル情報のみから一意に認識できるものではない。図1( 下) の例ではそれぞれ数式文法の制約、数式構造情報により"x"や"括弧"などとシンボルの境界が変わる。シンボル分割、シンボル認識、構造認識を全て総合的に判断することにより、シンボル境界の決定が頑健に行えると考えられる。そこで、構造を考える最小単位をシンボルではなくストロークとし、ストロークのなす構造としてシンボルを捉える発想が生まれる。すなわちストロークが構造を持ってシンボルとなり、シンボルが構造を持って数式になるというように、シンボルと数式構造を同じ「構造」と捉えて統一的に扱う。この手法は、シンボル分割・シンボル認識・構造認識の3 つのステップを全て統一的に扱うことができる。
また既存の数式認識手法の多くは、数式の2 次元構造と数式文法が分離しているが、これは構造認識の結果から必ずしも数式文法への変換が保障されない点に問題があるといえる。我々は数式に内在する文法をベースに構造文法を作成することにより、2 次元構造と数式文法構造の同時が可能であると考えた。
ここまで
. ストロークを単位とする
. 数式文法をベースに作成する
. シンボルの構造と数式の構造を統一的に扱う文法
により、シンボル分割・シンボル認識・構造認識・文法解析の4 つの問題を全て同時に解くという問題意識を述べた。この枠組みの概要、定式化について次項にて述べる。
. ストロークを単位とする
. 数式文法をベースに作成する
. シンボルの構造と数式の構造を統一的に扱う文法
により、シンボル分割・シンボル認識・構造認識・文法解析の4 つの問題を全て同時に解くという問題意識を述べた。この枠組みの概要、定式化について次項にて述べる。
[A−2]概要
確率文脈自由文法による確率的なオンライン手書き数式認識は、時系列的に入力された手書き数式情報から数式を認識する。この手法では、数式の認識を、ストローク尤度と構造尤度の積を最大化する数式候補を求める問題として定式化する。図2に示すように、手書き数式認識手法は、各ストロークの尤度計算と、数式部品(ストロークやシンボル)の位置関係による構造尤度計算と、からなる。
確率文脈自由文法による確率的なオンライン手書き数式認識は、時系列的に入力された手書き数式情報から数式を認識する。この手法では、数式の認識を、ストローク尤度と構造尤度の積を最大化する数式候補を求める問題として定式化する。図2に示すように、手書き数式認識手法は、各ストロークの尤度計算と、数式部品(ストロークやシンボル)の位置関係による構造尤度計算と、からなる。
ストローク尤度とは、ストロークモデルから実際にその手書きストロークが生成される確率であり、ストローク尤度は既存のモデルベースの文字認識手法により尤度計算を行うことができる。図4に基づいて言うと、ストローク尤度は、どれくらいの確率で「そのストロークである」のかということであり、3つの手書きシンボルについて、ストローク”a”である尤度を示している。さらに、ストローク尤度について図3に基づいて説明すると、時系列にしたがって、第1ストロークがルート記号(候補)である尤度は0.2であり、v(候補)である尤度は0.2であり、分数線(候補)である尤度は0.1である。第2ストロークがa(候補)である尤度は0.2であり、d(候補)である尤度は0.1である。第3ストロークが2(候補)である尤度は0.2であり、z(候補)である尤度は0.1である。第4ストロークがマイナス記号(候補)である尤度は0.2であり、プラス記号の横棒−(候補)である尤度は0.1である。第5ストロークが1(候補)である尤度は0.2であり、プラス記号の縦棒|(候補)である尤度は0.1である。第6ストロークが6(候補)である尤度は0.2であり、Gの1画目(候補)である尤度は0.1である。
構造尤度とは、数式候補から実際にそのストローク同士の位置関係が生成される確率である。図4に基づいて言うと、構造尤度とは、どれくらいの確率で「その構造であるのか」ということであり、シンボルa,bからなる3つのパターンについて、2つのシンボルが「横につながっている尤度」を示している。構造尤度は後述する確率文脈自由文法(Stochastic Context-Free Grammar:SCFG)によりモデル化することで、計算が可能である。
本手法では、考えられる様々な数式候補の中で、ストローク尤度×構造尤度を最大化する数式候補を求め、尤度が最大の数式候補を、手書き数式として認識する。図3に示すように、図3のように互いに直交状に交差する二つのストロークがあった場合に、ストローク尤度だけで見ると、第4ストロークがマイナス記号(候補)である尤度は0.2であり、プラス記号の横棒−(候補)である尤度は0.1であり、また、第5ストロークが1(候補)である尤度は0.2であり、プラス記号の縦棒|(候補)である尤度は0.1である。しかしながら、-1(候補)となる構造尤度が低く、+(候補)となる構造尤度が高いため、ストローク尤度とシンボルの構造尤度との積において、+としての候補が優位となる。
[A−3]定式化
数式文法から生成可能な数式仮説集合をEXとし、手書き数式をHとすると、数式認識とは、
となるX0を推定する問題である。ここでP(H|X)は数式仮説Xから手書き数式Hが生成される尤度、P(X)は数式仮説Xの出現確率である。ここで、数式の出現確率は一様であると仮定した。
数式文法から生成可能な数式仮説集合をEXとし、手書き数式をHとすると、数式認識とは、
数式はストロークがそれぞれの形状と位置をもって配置されたものである。そして適切な形状を持つストロークが複数、適切な位置関係をもって配置されているとき、それらはシンボルとみなすことができる。そして適切なクラスに属するシンボル同士が、また適切な位置関係に配置されているとき、それらは「項」や「式」、「分数」などの数式文法の要素となる。そしてこれらの適切な要素同士が再び適切な位置関係に配置されているとき、それらは全体として数式を構成する。この数式の構成は、図5のような確率文脈自由文法による導出として表せる。
ここで用いる確率文脈自由文法Gの生成規則は、非終端記号である数式部品の集合VN、終端記号である手書きストローク(今後単に「ストローク」は「"x"の1 ストローク目」などのシンボリックな情報を表し、「手書きストローク」はペンタブレット等によりサンプリングされたストロークの点列(形状) 情報を表すこととする。) の集合VT、
開始記号「式」であるS、構造条件付き非終端記号生成規則の集合P、終端記号生成規則の集合Qからなる。構造条件付き生成規則はp=<A→BC,s>の形をしている。A,B,C∈VNでありsは「右」「右上」等の構造を表す。構造sの構造モデルはP(B,C|a,s)を与える。
開始記号「式」であるS、構造条件付き非終端記号生成規則の集合P、終端記号生成規則の集合Qからなる。構造条件付き生成規則はp=<A→BC,s>の形をしている。A,B,C∈VNでありsは「右」「右上」等の構造を表す。構造sの構造モデルはP(B,C|a,s)を与える。
終端記号生成規則は、q=<t→α>の形をしている。t∈VNはストロークであり、α∈VTは手書きストロークである。ここでαがtからqにより直接導出される尤度は、P(α|t)であり、これをt ごとにストロークモデルによりモデル化する。ストロークモデルは入力ストロークのモデル尤度を返す関数で、文字認識のための文字モデルが利用できる。
今手書き数式Hの文法Gによる導出X={p1,p2,..pN,q1,q2,...qM} において、n番目に適用された非終端記号生成規則をpn=<An→Bn
Cn,sn>、m番目に適用された終端記号生成規則をqm=<tm→αm>と表す。N,Mはそれぞれ導出の非終端記号生成規則、終端記号生成規則の数である。このとき式1は
と表される。すなわち数式認識問題は、数式文法により生成される数式仮説内、ストローク尤度と構造尤度の積を最大化する数式仮説の探索問題として定式化できる。
Cn,sn>、m番目に適用された終端記号生成規則をqm=<tm→αm>と表す。N,Mはそれぞれ導出の非終端記号生成規則、終端記号生成規則の数である。このとき式1は
[A−4]CYKアルゴリズムによる解探索
確率文脈自由文法において最尤数式仮説の探索はCYKアルゴリズムにより効率的に行うことができる。図6の例についてこのアルゴリズムを述べる。以下に手順を示す。
確率文脈自由文法において最尤数式仮説の探索はCYKアルゴリズムにより効率的に行うことができる。図6の例についてこのアルゴリズムを述べる。以下に手順を示す。
(1)各手書きストロークについて、全ストロークモデルそれぞれから生成された尤度(ストローク尤度) を計算し(文字認識の尤度計算とほとんど同じ)、CYKマトリクス対角成分stroke#1−stroke#4にストロークと尤度を記入。例えば1ストローク目の形状は"2"や"z"に近いので、それらの候補の尤度が高くなる。実際には候補の上位N位までを候補として書き込む。
(2)第i ストロークと第i +1ストロークに対して適用可能な規則全てを適用し、ストローク尤度と構造尤度の積をマトリクスの(i,i+1)成分に記入する。例えばstroke#1とstroke#2に規則を適用すると"2a"や"2a"等の導出が存在する。"2a"の構造尤度は第1ストロークと第2ストロークの位置関係が「横」である構造尤度で、"2a"は「右上」である構造尤度である。これらを構造モデルから求め、それを各生成規則の適用確率とする。マトリクスに書き込まれる尤度は、第1・2ストロークのストローク尤度と構造尤度の積である。
(3)次にマトリクスの(i,i+2)成分を記入する。第(i,i+2)成分には、第(i,i)成分と第(i+1,i+2)成分の組合せに対して適用可能な規則を適用した場合と、第(i,i+1)成分と第(i+2,i+2)成分の組み合わせに対して可能な規則を適用した場合の2通りがある。例えばstroke#1− 3 を記入する場合、stroke#1とstroke#2−3に規則を適用する場合とstroke#1−2とstroke#3に規則を適用する場合を考える。前者の例としては"2a2"等が、後者の例としては"2az"などがある。これらの構造尤度を求め、規則を適用した各数式部品の尤度、構造尤度の積をマトリクスに記入する。
(4)以下マトリクスの(i,i+j)成分を記入する時は、k=0,...,k−1として(i,i+k)成分と(i+k+1,j)成分のすべての組合せそれぞれに対し、適用可能な規則を適用した結果を書き込む。
(5)最終的にstroke#1−4 の部分に書き込まれた候補のうち、開始記号である「式」でありかつ尤度が最も高い候補が認識結果となる。
[A−5]隠れ筆記領域を用いた構造モデル
本出願の発明者等は、数式の構造を評価する構造モデルとして、数式の背後に存在するシンボルに依存しない「マス目」をモデル化した隠れ筆記領域によるモデルを提案している。各ストロークが隠れ筆記領域のどの位置に書かれるかをあらかじめ統計的に学習し、認識時はストローク仮説ごとに隠れ筆記領域の尤度分布を推定し、この特徴量をもとにシンボルによらない構造評価を行う。データからシンボルの配置情報を学習するだけでなく、カンマやドット、アクセントなどの特殊な書かれ方をする文字も全て含めて統一的に構造評価が行え、文法規則の簡素化につながる。隠れ筆記領域を用いた構造モデルは、数式の構造を評価する構造モデルの一つの態様例に過ぎないものであり、他の構造モデルを適用することも可能である。尚、隠れ筆記領域を用いた構造モデルの詳細については、特許文献1、非特許文献1に記載されており、また、本発明の要旨とは直接関係しないので、ここでは省略する。
本出願の発明者等は、数式の構造を評価する構造モデルとして、数式の背後に存在するシンボルに依存しない「マス目」をモデル化した隠れ筆記領域によるモデルを提案している。各ストロークが隠れ筆記領域のどの位置に書かれるかをあらかじめ統計的に学習し、認識時はストローク仮説ごとに隠れ筆記領域の尤度分布を推定し、この特徴量をもとにシンボルによらない構造評価を行う。データからシンボルの配置情報を学習するだけでなく、カンマやドット、アクセントなどの特殊な書かれ方をする文字も全て含めて統一的に構造評価が行え、文法規則の簡素化につながる。隠れ筆記領域を用いた構造モデルは、数式の構造を評価する構造モデルの一つの態様例に過ぎないものであり、他の構造モデルを適用することも可能である。尚、隠れ筆記領域を用いた構造モデルの詳細については、特許文献1、非特許文献1に記載されており、また、本発明の要旨とは直接関係しないので、ここでは省略する。
[B]オンライン手書き数式認識システム
[B−1]概要
本発明のオンライン手書き数式認識システムは、数式を部分ごとに入力・認識させることにより、認識精度とユーザビリティの両立を図る。数式の文法には再帰性があり、多くの場合数式の一部分が、その部分だけに注目するとまた数式として解釈できるという特徴がある。そしてこの再帰的構造は数式の意味構造と密接に結びついているため、人間にとって自然な、直感的な構造である。
[B−1]概要
本発明のオンライン手書き数式認識システムは、数式を部分ごとに入力・認識させることにより、認識精度とユーザビリティの両立を図る。数式の文法には再帰性があり、多くの場合数式の一部分が、その部分だけに注目するとまた数式として解釈できるという特徴がある。そしてこの再帰的構造は数式の意味構造と密接に結びついているため、人間にとって自然な、直感的な構造である。
本発明のオンライン手書き数式認識システムに用いる数式認識手段は、典型的には、「入力の一部の正解木構造が既知である場合に、(その情報を生かし)残りの部分を含めた全体の木構造を推定する」ことができるものである。この条件は認識の複雑性を減少させるものであり、認識を容易にこそすれ困難とするものではなく、数式に所定の木構造を当てはめて認識する数式認識手段と相容れないものではなく、これら数式認識手段が広く満たす条件であると考えられる。既述の特許文献1、非特許文献1に記載した数式認識手段においてもそれが可能である。また、後述するように、非特許文献2−4に記載の数式認識手段も満たし得る条件である。したがたって、本明細書では、主として特許文献1、非特許文献1に記載した数式認識手段について言及するが、本発明は、他の数式認識手段技術と共に用いることも可能である。
本発明のオンライン手書き数式認識システムでは、数式のペン入力中もしくは入力後に、入力中の数式の一部分をユーザが明示的に指示し、その部分について自動認識を行い、候補としての一つあるいは複数の認識結果から一つの認識結果を決定する。これは、木構造からなる数式の一部分の木構造を決定することに相当する。また、認識結果に誤りがあった場合に、ユーザが訂正を行えるようにしてもよい。
また、本発明のオンライン手書き数式認識システムに用いる数式認識手段は、「入力の一部の正解木構造が既知である場合に、(その情報を生かし)残りの部分を含めた全体の木構造を推定する」ことができないものも含み得る。具体的には、入力の一部の正解木構造が既知である場合に、数式全体の複数の認識結果(候補)から、当該既知の正解木構造を含まない候補を削除し、当該既知の正解木構造を含む候補のみをユーザに表示することも可能である。本発明において、「既に決定された1つあるいは複数の前記手書き数式の部分の認識結果を用いて」には、計算量の削減のみならず、このような用い方も含まれる。
[B−2]オンライン手書き数式認識システム及び手書き数式入力インターフェース
手書き数式認識システムのハードウェア構成は、手書き情報入力部と、入力情報表示部と、表示された入力情報の部分あるいは全部を選択させる選択手段と、選択された入力情報の数式認識を行う数式認識手段と、一つあるいは複数の認識結果を候補として表示する候補表示部と、表示された候補から一つの認識結果を決定させる決定手段と、決定された認識結果を一時的に記憶する手段と、を備えている。これらの各手段は、入力手段、出力手段、記憶手段、演算手段、表示手段を備えたコンピュータから構成することができる。典型的には、手書き情報入力部は、タブレット(例えばペンタブレット)である。本発明に係るシステムをタブレット型のPCから構成することもできる。タブレットへの入力手段は、ペンに代えてマウスを用いてもよい。手書き情報入力部が入力情報表示部を兼用してもよい。手書き数式認識システムは、さらに、認識結果訂正手段を備えていてもよい。具体的な例では、ユーザがキーボードでTeX等の文字列を入力することで、認識結果に直接正解を与えて訂正させてもよい。ただしこの場合は数式認識手段が、TeX文字列で与えられた部分数式の認識結果を利用して、さらに大きな部分を認識できるものである必要がある。
手書き数式認識システムのハードウェア構成は、手書き情報入力部と、入力情報表示部と、表示された入力情報の部分あるいは全部を選択させる選択手段と、選択された入力情報の数式認識を行う数式認識手段と、一つあるいは複数の認識結果を候補として表示する候補表示部と、表示された候補から一つの認識結果を決定させる決定手段と、決定された認識結果を一時的に記憶する手段と、を備えている。これらの各手段は、入力手段、出力手段、記憶手段、演算手段、表示手段を備えたコンピュータから構成することができる。典型的には、手書き情報入力部は、タブレット(例えばペンタブレット)である。本発明に係るシステムをタブレット型のPCから構成することもできる。タブレットへの入力手段は、ペンに代えてマウスを用いてもよい。手書き情報入力部が入力情報表示部を兼用してもよい。手書き数式認識システムは、さらに、認識結果訂正手段を備えていてもよい。具体的な例では、ユーザがキーボードでTeX等の文字列を入力することで、認識結果に直接正解を与えて訂正させてもよい。ただしこの場合は数式認識手段が、TeX文字列で与えられた部分数式の認識結果を利用して、さらに大きな部分を認識できるものである必要がある。
手書き数式入力インターフェースは、入力された手書き情報を表示する入力情報表示部と、表示された入力情報の所望の選択部分の数式認識を要求する「変換ボタン」と、一つあるいは複数の認識結果を候補として表示する候補表示部と、候補から一つの認識結果を選択して決定するための「決定ボタン」と、さらに他候補の表示を要求する「他候補ボタン」とを備えている。尚、本発明に係る技術思想を具現化するインターフェースの具体的構成は、当業者において適宜設計し得る事項である。
[B−3]オンライン手書き数式認識の流れ
オンライン手書き数式認識の流れを、より具体的に説明すると、以下の通りとなる。
(1) ユーザはペンタブレットを用いて、数式のペン入力を行う。数式のペン入力は、所望の数式を最後まで入力するものでも、途中までの入力でもよい。入力情報は、オンラインで入力情報表示部に表示される。
オンライン手書き数式認識の流れを、より具体的に説明すると、以下の通りとなる。
(1) ユーザはペンタブレットを用いて、数式のペン入力を行う。数式のペン入力は、所望の数式を最後まで入力するものでも、途中までの入力でもよい。入力情報は、オンラインで入力情報表示部に表示される。
(2) ユーザは(1)の任意の段階で、入力済みペン入力の一部を選択する。選択は、例えば、表示された入力情報の所望の部分をペンで囲むことで行われる。この選択部分は、既に(4)によって認識結果が確定している部分を含むことができる。
(3) ユーザからの要求によって、選択した部分についてシステムは数式認識を行う。数式認識手段としては、オンライン手書き認識手段を用いることができ、オンライン手書き認識手段は、例えば、特許文献1、非特許文献1−4に記載されている。選択した部分の一つあるいは複数の認識結果が候補として候補表示部に表示される。
(4) ユーザは(3)の候補から正解を選択して決定を行い、誤りがあれば他の代替候補の要求を行って、表示された代替候補から正解を選択して決定を行う。
(5) (1)〜(4)のステップを1回あるいは複数回行う。
(6) ユーザは最終的に数式全体を対象とした数式認識を要求し、数式全体の一つあるいは複数の認識結果が候補として候補表示部に表示される。ユーザは候補から正解を選択して決定を行い、誤りがあれば他の代替候補の要求を行って、表示された代替候補から正解を選択して決定を行う。
[B−4]実施例
本発明に係るシステムを用いた数式認識の実施例について、図7に示す数式を認識する場合を例にとって説明する。入力するストローク列は、図8のようになる。順番は書き順を表す。正解とされる木構造の例は、図9のようになる。
本発明に係るシステムを用いた数式認識の実施例について、図7に示す数式を認識する場合を例にとって説明する。入力するストローク列は、図8のようになる。順番は書き順を表す。正解とされる木構造の例は、図9のようになる。
ユーザが”2a”まで入力した場合を図10に示す。以下、左上がユーザに提示されるインターフェースであり、右下の木構造は入力システムが内部的にもつ、現在の認識状況についての情報である。この時点でユーザは、ここまでの入力”2a”を確定させることができる。確定させる部分を選択する(図11)。このようにある程度小さい要素のみを認識の対象とすることで、認識の複雑性を小さくし、認識精度を向上させ、誤り訂正を容易にし、また選択部分に対して数式認識手法を適用し、認識を行う。誤りがあれば代替候補を選択することで正解を得る。この部分は、数式を木構造として認識する任意の数式認識手法を用いることができる。ここでは、”2a”を正解として決定した(図12)。
ユーザは数式の続きを入力する。ここでは最後まで入力を終えたとする(図13)。ユーザは数式の木構造のノードとなる部分(その部分で1つの木となる部分)を選択し、認識させる事ができる。例えば√記号の内部は数式の木構造においてノードとなるので、その対象となりうる。ここで数式の木構造におけるノードは、分数の分子・分母や、根号の内部、括弧でくくられた範囲など、数式の意味構造のまとまりと対応するため、数式の筆者にとって直感的であることが期待される。
ここではユーザは根号の内部を選択し、認識させようとする(図14)。数式認識手法によりその部分が数式として認識され、誤りがあればユーザが訂正を行う。選択範囲の認識を決定する(図15)。
ユーザは、既に認識を決定した部分を含む、さらに大きな部分に対し、認識を決定することができる。ここでは根号以降の部分を選択して認識を行う(図16)。根号の内部は既に認識済みなので、認識の複雑性は非常に小さく、高い認識精度が期待できる。数式認識手法により、根号と根号内部が認識される(図17)。この時の数式認識手法は、根号内部の既に認識された木構造を利用した認識を行う。
ユーザは数式全体を選択し、全体の認識を行わせる(図18)。全体が認識される(図19)。このとき既に分母、根号とその内部が認識済みであるため、複雑性の小さい数式認識問題となり高い精度での認識が期待できる。
[B−5]本発明とCYKアルゴリズム
特許文献1、非特許文献1に開示された数式認識手法において、「入力の一部の正解木構造が既知である場合に、(その情報を生かし)残りの部分を含めた全体の木構造を推定する」方法について説明する。
特許文献1、非特許文献1に開示された数式認識手法において、「入力の一部の正解木構造が既知である場合に、(その情報を生かし)残りの部分を含めた全体の木構造を推定する」方法について説明する。
図20は、数式認識手法の認識アルゴリズムの実行例を示したものである。ここで各マトリクスの要素は部分数式の候補であり、その横の数値は尤度である。この尤度は各ストロークと各位置関係について、その尤度の積である。ここで例えばこの数式認識において、はじめの3ストロークが xの右上にyがある木構造であることが既知である場合、それに対応する尤度を1とし、それに反する候補の尤度を0とすることで実現できる。認識時は、あらかじめ Stroke#1-3 以下のマトリクス要素を図21のように埋めた状態から認識を行うことになる。
特許文献1、非特許文献1の数式認識手法は、CYKアルゴリズムによりマトリクスの対角要素(図の底辺)から順に候補を埋めていく。今回は認識があらかじめ固定された部分については候補が埋められた状態で認識を始める。その他の手順は通常と同じである。一部の認識が決定していることにより競合する候補も減少し、精度の向上と計算速度の向上が見込める。
[B−5]付記
また、例えば/2a(「2エー分の」・・・つまり分母の2aと分数線までを書いた、数式の途中の状態)と書いた時点でそれを確定する、つまり「2エー分の」として決定することは、「2エー分の」という部分が単独で数式として成立しないため、数式認識において全体の文法的整合性を前提とする手法を単純に用いた場合にはできない。しかしこの場合は、数式認識手法においてこのような中間記号を数式として整合であると見なすような変更が可能であれば、この問題は解決可能である。このようにすれば、例えば「分母と分数線まで」「等号で結ばれた式の左辺と等号まで」「左括弧と内部の式の途中まで」といった部分において、ユーザが逐次的に認識を確定することが可能となる。
また、例えば/2a(「2エー分の」・・・つまり分母の2aと分数線までを書いた、数式の途中の状態)と書いた時点でそれを確定する、つまり「2エー分の」として決定することは、「2エー分の」という部分が単独で数式として成立しないため、数式認識において全体の文法的整合性を前提とする手法を単純に用いた場合にはできない。しかしこの場合は、数式認識手法においてこのような中間記号を数式として整合であると見なすような変更が可能であれば、この問題は解決可能である。このようにすれば、例えば「分母と分数線まで」「等号で結ばれた式の左辺と等号まで」「左括弧と内部の式の途中まで」といった部分において、ユーザが逐次的に認識を確定することが可能となる。
上記数式認識手法において用いる手書き数式文法を図5に示す。この数式認識手法では、数式が全体として「式」という記号となるように構文解析を行った、すなわち前ページのマトリクスの頂点に「式」以外の候補が現れた場合、それは認識結果として却下されたが、数式の部分を認識する際に、例えば「分母と分数線まで書いた式」などを認識候補としたい場合は、例えば以下の生成規則を追加する。
部分数式 → 式|分母付き分数線|分子付き分数線|右括弧付き式|左括弧付き式 ・・・
そして、部分数式を認識する際は全体として記号「部分数式」となるように構文解析をする、すなわちそれ以外の候補を却下するようにすればよい。
部分数式 → 式|分母付き分数線|分子付き分数線|右括弧付き式|左括弧付き式 ・・・
そして、部分数式を認識する際は全体として記号「部分数式」となるように構文解析をする、すなわちそれ以外の候補を却下するようにすればよい。
本発明において、好ましい態様では、手書き数式の部分の数式認識手段と手書き数式全体の数式認識手段は、同じであるが、これらの数式認識手段は、必ずしも同一でなくてもよい。ただし数式認識手段ごとに、「木構造」の記述方法が異なるので、認識手段Aを用いて部分を認識し、それを含む部分を認識手段Bを用いて再度認識する場合、認識手段Bは、認識手段Aによって認識された部分の認識結果を利用して、全体を認識できるものであることが好ましい。互換性を持つ木構造の記述方法として、既存の言語、例えばTeX の文字列(これは数式の木構造を記述する言語のひとつである)を利用する事で、このような認識は可能である。つまり認識手段Aによって、数式のある部分のTeX文字列を決定し、手法Bは認識された部分の数式のTeX文字列を経由して、手法B側でその部分の木構造を再構成し、それを前提として全体を認識する、という具合である。あるいは、認識結果を全てTeX文字列に変換し、その木構造の包含関係を用いてこのシステムを構築してもよい。
認識手段A,Bが共に、手書き入力情報を受け取り、それを認識し、候補となるTeX文字列を複数候補として出力する手法であるとすると、
(1) ユーザは数式のペン入力を行う。
(2) ユーザは(1)の任意の段階で、入力済みペン入力の一部を選択(例えば「Ac」を選択)。
(3) 選択した部分(「Ac」)について数式認識手法Aにより認識を行う。
(4) ユーザはこれが正しければ決定を行い、誤りがあれば代替候補の中から正解を選択する。結果TeX文字列“A^c”を得る。
(5) (1)にもどる。
(6) ユーザは数式の入力を続ける(例えば最後まで入力)。
(7) ユーザは入力済み入力の一部を選択する(例えば全部を選択)。
(8)全体について数式認識手段Bにより認識を行う。
この時、認識手段Bが、部分的な数式認識結果“A^c”を前提とした認識を行えるのであれば、それを行う。もし行えないのであれば認識手段Bがそのまま認識を行い、得られた候補中で“A^c”を文字列として含む(=木構造として包含する)候補を抽出し、ユーザに提示する。
(9) 認識結果をユーザが確認、選択する。
という流れで、複数の認識手段を組み合わせた認識が可能である。
(1) ユーザは数式のペン入力を行う。
(2) ユーザは(1)の任意の段階で、入力済みペン入力の一部を選択(例えば「Ac」を選択)。
(3) 選択した部分(「Ac」)について数式認識手法Aにより認識を行う。
(4) ユーザはこれが正しければ決定を行い、誤りがあれば代替候補の中から正解を選択する。結果TeX文字列“A^c”を得る。
(5) (1)にもどる。
(6) ユーザは数式の入力を続ける(例えば最後まで入力)。
(7) ユーザは入力済み入力の一部を選択する(例えば全部を選択)。
(8)全体について数式認識手段Bにより認識を行う。
この時、認識手段Bが、部分的な数式認識結果“A^c”を前提とした認識を行えるのであれば、それを行う。もし行えないのであれば認識手段Bがそのまま認識を行い、得られた候補中で“A^c”を文字列として含む(=木構造として包含する)候補を抽出し、ユーザに提示する。
(9) 認識結果をユーザが確認、選択する。
という流れで、複数の認識手段を組み合わせた認識が可能である。
[D]他の数式認識手法への適用
提案システムが、別の数式認識技術を用いても実現可能であることを説明する。
提案システムが、別の数式認識技術を用いても実現可能であることを説明する。
[D−1]Zanibbiらの提案した数式認識手法(非特許文献2)
彼らの手法は、図22に示すように、
(1) 入力(a)から、各文字の位置関係を分析し、BST: Basic Structure Tree(b)を得る。BSTは文字間の位置関係をグラフ構造で結んだものである。文字間の構造としては、ABOVE(真上)、BELOW(真下)、SUPER(指数・上付)、SUBSC(下付)、CONTAINS(根号とその内部)などがある。
(2) BSTを文法的に解釈することで、数式の構文木(c)を得る。
(3) 構文木を必要に応じて、たとえば値の計算が目的であれば演算子木(d)に、TeXでのタイプセットが目的であればTeX文字列(e)に変換する。
というものである。
彼らの手法は、図22に示すように、
(1) 入力(a)から、各文字の位置関係を分析し、BST: Basic Structure Tree(b)を得る。BSTは文字間の位置関係をグラフ構造で結んだものである。文字間の構造としては、ABOVE(真上)、BELOW(真下)、SUPER(指数・上付)、SUBSC(下付)、CONTAINS(根号とその内部)などがある。
(2) BSTを文法的に解釈することで、数式の構文木(c)を得る。
(3) 構文木を必要に応じて、たとえば値の計算が目的であれば演算子木(d)に、TeXでのタイプセットが目的であればTeX文字列(e)に変換する。
というものである。
本発明に係る数式入力システムをこの手法を用いて実現する場合、以下のようにする。
(1) ユーザは数式のペン入力を行う。
(2) ユーザは(1)の任意の段階で、入力済みペン入力の一部を選択(例えば「Ac」を選択)。
(3) 選択した部分(「Ac」)について数式認識を行う。該当部分の入力のBSTを推定:図23(A)のようになる。その部分の構文木を推定:図23(B)のようになる。この認識結果をユーザに提示する。
(4) ユーザはこれが正しければ決定を行い、誤りがあれば代替候補の中から正解を選択する(もしくは、それでも正解が得られない場合はその部分を書き直す)。
(5) (1)にもどる。
(6) ユーザは数式の入力を続ける(例えば最後まで入力)
(7) ユーザは入力済み入力の一部を選択する(例えば全部を選択)
(8) 全体について数式認識を行う。ここで数式認識システムは、既に決定している「Ac」部分の認識を前提とした認識を行う。すなわち木構造の一部が確定した状態で、他の部分を認識する。BSTの推定は図23(C)のようになる。構文木は図23(D)のようになる。共に部分的な認識が決定されているため、前提なしに数式全体を認識する場合と比べ、数式認識問題がより単純になる。
(9) 認識結果をユーザが確認、必要に応じて修正する。
(1) ユーザは数式のペン入力を行う。
(2) ユーザは(1)の任意の段階で、入力済みペン入力の一部を選択(例えば「Ac」を選択)。
(3) 選択した部分(「Ac」)について数式認識を行う。該当部分の入力のBSTを推定:図23(A)のようになる。その部分の構文木を推定:図23(B)のようになる。この認識結果をユーザに提示する。
(4) ユーザはこれが正しければ決定を行い、誤りがあれば代替候補の中から正解を選択する(もしくは、それでも正解が得られない場合はその部分を書き直す)。
(5) (1)にもどる。
(6) ユーザは数式の入力を続ける(例えば最後まで入力)
(7) ユーザは入力済み入力の一部を選択する(例えば全部を選択)
(8) 全体について数式認識を行う。ここで数式認識システムは、既に決定している「Ac」部分の認識を前提とした認識を行う。すなわち木構造の一部が確定した状態で、他の部分を認識する。BSTの推定は図23(C)のようになる。構文木は図23(D)のようになる。共に部分的な認識が決定されているため、前提なしに数式全体を認識する場合と比べ、数式認識問題がより単純になる。
(9) 認識結果をユーザが確認、必要に応じて修正する。
ここで、既に決定している「Ac」部分の認識を前提としてその他の部分を推定することが可能かどうかは、その数式認識手法の内部アルゴリズムに依存するため論文の記載自体からは明確には判断できないが、当該数式認識手法において、それを妨げる要因は無いと考える。もし仮にそれが不可能であるとしても、複数個の認識候補を出力しうる認識手法であれば、既に決定している「Ac」部分が一致しない候補を認識後に却下してユーザに提示することは可能である。そうした場合、部分的決定による計算量削減のメリットはなくなるが、ユーザが精度良く、確実に意図した入力を行える期待は依然残る。
[D−2]Garainらのオンライン手書き数式手法(非特許文献3)
Garainらのオンライン手書き数式手法の概要と、その手法を提案入力システムに適用することの妥当性について簡単に述べる。
Garainらのオンライン手書き数式手法の概要と、その手法を提案入力システムに適用することの妥当性について簡単に述べる。
Garainらの手法では以下の手順により入力数式を認識する。
(1) 手書き入力各ストロークの位置や時間情報により、はじめにシンボルを分割し、各シンボルの認識を行う。
(2) 各シンボルについて、そのy座標をもとにベースラインの推定を行う(図25参照)。ここで、システムは数式認識のためのルールベースを持っている。例えば「ベースラインレベルnのTeX文字列”y”の右に、レベルn+1のTeX文字列”2”がある場合、TeX文字列”y^2”となる」というような規則を、TeX文字列ベースの文法として持っている。しかし数式の複数の部分についてルールが適用可能であるとき、この規則をどのような順番で適用していくかが問題となる。彼らの手法では、以下のようにこれを扱う。
(3) 各シンボルの外接矩形の重なりから、数式全体を横方向に分割する。各領域をv1, v2, ... とする(図26参照)。
(4) 分割された各領域を、さらに縦方向に同様に分割する。そしてまた横方向、とこれを繰り返す(図27参照)。
(5) この分割で、分割内のシンボル数が複数ある場合、その分割内の最も大きなシンボルを、それ以外の部分から分離する処理を行い、最終的に各分割内にひとつのシンボルが存在するようにする。例えば H9,1 は根号とπに分割される。
(6) (5)の方法で分割された部分同士をルールベースにより結合し、TeX文字列を生成する。例えばH9,1は \sqrt{\pi}となる。
(7) (3)(4)の方法で分割された部分同士をルールベースで結合する。この時、細かい分割を先に結合する。例えばV8とV9を結合するよりも先に、H9,1
H9,2 H9,3 の結合を行う。
(8) この過程で生成される各TeX文字列は、逐次その数式文法的妥当性が構文解析によりチェックされる。
以上の手順を繰り返すことにより、最終的に全体を表すTeX文字列が生成される。
(1) 手書き入力各ストロークの位置や時間情報により、はじめにシンボルを分割し、各シンボルの認識を行う。
(2) 各シンボルについて、そのy座標をもとにベースラインの推定を行う(図25参照)。ここで、システムは数式認識のためのルールベースを持っている。例えば「ベースラインレベルnのTeX文字列”y”の右に、レベルn+1のTeX文字列”2”がある場合、TeX文字列”y^2”となる」というような規則を、TeX文字列ベースの文法として持っている。しかし数式の複数の部分についてルールが適用可能であるとき、この規則をどのような順番で適用していくかが問題となる。彼らの手法では、以下のようにこれを扱う。
(3) 各シンボルの外接矩形の重なりから、数式全体を横方向に分割する。各領域をv1, v2, ... とする(図26参照)。
(4) 分割された各領域を、さらに縦方向に同様に分割する。そしてまた横方向、とこれを繰り返す(図27参照)。
(5) この分割で、分割内のシンボル数が複数ある場合、その分割内の最も大きなシンボルを、それ以外の部分から分離する処理を行い、最終的に各分割内にひとつのシンボルが存在するようにする。例えば H9,1 は根号とπに分割される。
(6) (5)の方法で分割された部分同士をルールベースにより結合し、TeX文字列を生成する。例えばH9,1は \sqrt{\pi}となる。
(7) (3)(4)の方法で分割された部分同士をルールベースで結合する。この時、細かい分割を先に結合する。例えばV8とV9を結合するよりも先に、H9,1
H9,2 H9,3 の結合を行う。
(8) この過程で生成される各TeX文字列は、逐次その数式文法的妥当性が構文解析によりチェックされる。
以上の手順を繰り返すことにより、最終的に全体を表すTeX文字列が生成される。
本発明の数式入力システムへの適用を考えると、部分的な認識結果を反映した認識の可能性が問題となる。これは、該当部分のTeX文字列を既知として固定することで行えると考えられる。例えば V1 部分を既に手書きし、認識、確定している場合、V1は“\lim_{x\to\inf}”という TeX文字列であることを既知として、V4-6部分を確定している場合、V4-6は “e^{-{y^2}}” である事を既知として、全体を認識すればよい。
[D−3]Chanらのオンライン手書き数式手法(非特許文献4)
K. F. Chan らの手法も、2次元構造の認識よりも意味解析に重点を置いた研究である(そのため構造の認識について十分に述べられていない)ものの、基本的にはこの手法と同様に、いくつかのルールに従い結合を繰り返し、同時に文法の妥当性をチェックしていくものなので、同じように本発明に係る数式入力システムを適用することが可能だと思われる。
K. F. Chan らの手法も、2次元構造の認識よりも意味解析に重点を置いた研究である(そのため構造の認識について十分に述べられていない)ものの、基本的にはこの手法と同様に、いくつかのルールに従い結合を繰り返し、同時に文法の妥当性をチェックしていくものなので、同じように本発明に係る数式入力システムを適用することが可能だと思われる。
本発明は、オンライン手書き数式認識として利用され得るものであり、具体的には、教育、論文作成、数式検索のインターフェース、数値計算ソフトのインターフェース等に利用可能である。
Claims (18)
- 手書き数式の数式認識を行う方法であって、
前記手書き数式の部分を選択して当該部分の数式認識を行うステップを1回あるいは複数回行い、
前記手書き数式全体を選択して、既に決定された1つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記手書き数式全体の数式認識を行う、
オンライン手書き数式認識方法。 - 前記手書き数式の部分の数式認識を行うステップは、
手書き数式情報を入力させて入力情報を表示するステップと、
前記入力の任意の段階で、表示された入力情報の部分あるいは全部を選択させるステップと、
選択された入力情報の数式認識を行って一つあるいは複数の認識結果を候補として表示するステップと、
表示された候補から一つの認識結果を決定させるステップと、
を備えている、請求項1に記載のオンライン手書き数式認識方法。 - 前記選択された手書き数式の部分は、既に認識結果が決定された手書き数式の部分を含んでいる、請求項1,2いずれかに記載のオンライン手書き数式認識方法。
- 前記手書き数式全体の数式認識は、
既に決定された手書き数式の部分の認識結果を含む一つあるいは複数の認識結果を候補として表示するステップと、
表示された候補から一つの認識結果を決定させるステップと、
を備えている、請求項1乃至3いずれかに記載のオンライン手書き数式認識方法。 - 前記数式認識は、手書き数式の一部の正解木構造が既知である場合に、その情報を活かして残りの部分を含めた全体の木構造を推定することができるものである、請求項1乃至4いずれかに記載のオンライン手書き数式認識方法。
- 前記数式認識は、確率的な生成モデルを用いて尤度の高い数式候補を探索するものであり、
既に決定された手書き数式の部分の認識結果を用いることで探索範囲を狭めて、手書き数式全体の数式認識を行う、請求項4,5いずれかに記載のオンライン手書き数式認識方法。 - 前記モデルは、ストロークを単位とした確率自由文脈文法を用いるものである、請求項6に記載のオンライン手書き数式認識方法。
- 前記探索は、CYKアルゴリズムを用いて行われる、請求項6,7いずれかに記載のオンライン手書き数式認識方法。
- 前記手書き数式全体の数式認識において、
複数の候補から、既に決定された手書き数式の部分の認識結果を含まない候補を削除して、既に決定された手書き数式の部分の認識結果を含む候補のみを表示する請求項1乃至3いずれかに記載のオンライン手書き数式認識方法。 - 手書き情報入力部と、
入力情報表示部と、
表示された入力情報の部分あるいは全部を選択させる選択手段と、
選択された入力情報の数式認識を行う数式認識手段と、
一つあるいは複数の認識結果を候補として表示する候補表示部と、
表示された候補から一つの認識結果を決定させる決定手段と、
を備え、
前記選択手段により手書き数式の部分を選択させて前記数式認識部によって当該選択された部分の数式認識を行い、候補表示部に候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果の決定を1回あるいは複数回行うことで一つあるいは複数の部分の認識結果を決定し、
前記選択手段により前記手書き数式全体を選択させて、既に決定された1つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記数式認識部によって手書き数式全体の数式認識を行って、候補表示部に手書き数式全体の候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果を決定させるように構成されている、オンライン手書き数式認識装置。 - 前記選択された手書き数式の部分は、既に認識結果が決定された手書き数式の部分を含んでいる、請求項10に記載のオンライン手書き数式認識装置。
- 前記数式認識手段は、手書き数式の一部の正解木構造が既知である場合に、その情報を活かして残りの部分を含めた全体の木構造を推定することができるものである、請求項10,11いずれかに記載のオンライン手書き数式認識装置。
- 前記数式認識手段は、確率的な生成モデルを用いて尤度の高い数式候補を探索するものであり、既に決定された手書き数式の部分の認識結果を用いることで探索範囲を狭めて、手書き数式全体の数式認識を行う、請求項10乃至12いずれかに記載のオンライン手書き数式認識装置。
- 前記モデルは、ストロークを単位とした確率自由文脈文法を用いるものである、請求項13に記載のオンライン手書き数式認識装置。
- 前記探索は、CYKアルゴリズムを用いて行われる、請求項13,14いずれかに記載のオンライン手書き数式認識装置。
- 前記所望の手書き数式全体の数式認識において、複数の候補から、既に決定された手書き数式の部分の認識結果を含まない候補を削除して、既に決定された手書き数式の部分の認識結果を含む候補のみを表示するように構成されている請求項10に記載のオンライン手書き数式認識装置。
- オンライン手書き数式認識のためにコンピュータを、
手書き情報入力手段と、
入力情報表示手段と、
表示された入力情報の部分あるいは全部を選択させる選択手段と、
選択された入力情報の数式認識を行う数式認識手段と、
一つあるいは複数の認識結果を候補として表示する候補表示手段と、
表示された一つあるいは複数の認識結果から一つの認識結果を決定させる手段と、
として機能させ、
かつ、
前記選択手段により手書き数式の部分を選択させて前記数式認識部によって当該選択された部分の数式認識を行い、候補表示部に候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果を決定させるステップを1回あるいは複数回行って一つあるいは複数の部分の認識結果を決定し、
前記選択手段により前記手書き数式全体を選択させて、既に決定された1つあるいは複数の前記手書き数式の部分の認識結果を用いて、前記数式認識部によって手書き数式全体の数式認識を行い、候補表示部に手書き数式全体の候補を表示し、前記決定手段により候補表示部に表示された候補から一つの認識結果を決定させるように機能させる、オンライン手書き数式認識のためのコンピュータプログラム。 - 請求項17に記載のコンピュータプログラムを記憶したコンピュータ読み取り可能な媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007248899A JP2009080615A (ja) | 2007-09-26 | 2007-09-26 | オンライン手書き数式認識方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007248899A JP2009080615A (ja) | 2007-09-26 | 2007-09-26 | オンライン手書き数式認識方法及び装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009080615A true JP2009080615A (ja) | 2009-04-16 |
Family
ID=40655326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007248899A Pending JP2009080615A (ja) | 2007-09-26 | 2007-09-26 | オンライン手書き数式認識方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009080615A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156890A (zh) * | 2011-04-25 | 2011-08-17 | 汉王科技股份有限公司 | 手写公式的笔画切分方法及装置 |
EP2423849A2 (en) | 2010-08-26 | 2012-02-29 | Casio Computer Co., Ltd. | Display apparatus and computer-readable medium |
WO2016117564A1 (ja) * | 2015-01-21 | 2016-07-28 | 国立大学法人東京農工大学 | プログラム、情報記憶媒体及び認識装置 |
WO2017069001A1 (ja) * | 2015-10-19 | 2017-04-27 | 国立大学法人東京農工大学 | プログラム、情報記憶媒体及び情報処理装置 |
CN107301164A (zh) * | 2016-04-14 | 2017-10-27 | 科大讯飞股份有限公司 | 数学公式的语义解析方法及装置 |
CN112241738A (zh) * | 2020-12-18 | 2021-01-19 | 北京一起教育科技有限责任公司 | 一种数学公式字符识别方法、装置和电子设备 |
-
2007
- 2007-09-26 JP JP2007248899A patent/JP2009080615A/ja active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2423849A2 (en) | 2010-08-26 | 2012-02-29 | Casio Computer Co., Ltd. | Display apparatus and computer-readable medium |
CN102385696A (zh) * | 2010-08-26 | 2012-03-21 | 卡西欧计算机株式会社 | 显示装置及显示方法 |
US9019308B2 (en) | 2010-08-26 | 2015-04-28 | Casio Computer Co., Ltd. | Display apparatus and computer-readable medium |
CN102385696B (zh) * | 2010-08-26 | 2016-04-13 | 卡西欧计算机株式会社 | 显示装置及显示方法 |
CN102156890A (zh) * | 2011-04-25 | 2011-08-17 | 汉王科技股份有限公司 | 手写公式的笔画切分方法及装置 |
KR101909485B1 (ko) | 2015-01-21 | 2018-10-18 | 고꾸리쯔 다이가꾸호우징 도쿄노우코우다이가쿠 | 프로그램, 정보기억매체 및 인식장치 |
KR20170100541A (ko) | 2015-01-21 | 2017-09-04 | 고꾸리쯔 다이가꾸호우징 도쿄노우코우다이가쿠 | 프로그램, 정보기억매체 및 인식장치 |
WO2016117564A1 (ja) * | 2015-01-21 | 2016-07-28 | 国立大学法人東京農工大学 | プログラム、情報記憶媒体及び認識装置 |
WO2017069001A1 (ja) * | 2015-10-19 | 2017-04-27 | 国立大学法人東京農工大学 | プログラム、情報記憶媒体及び情報処理装置 |
CN107301164A (zh) * | 2016-04-14 | 2017-10-27 | 科大讯飞股份有限公司 | 数学公式的语义解析方法及装置 |
CN107301164B (zh) * | 2016-04-14 | 2021-02-02 | 科大讯飞股份有限公司 | 数学公式的语义解析方法及装置 |
CN112241738A (zh) * | 2020-12-18 | 2021-01-19 | 北京一起教育科技有限责任公司 | 一种数学公式字符识别方法、装置和电子设备 |
CN112241738B (zh) * | 2020-12-18 | 2021-03-23 | 北京一起教育科技有限责任公司 | 一种数学公式字符识别方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Le et al. | Pattern generation strategies for improving recognition of handwritten mathematical expressions | |
Ouyang et al. | Recognition of hand drawn chemical diagrams | |
TWI437448B (zh) | 手寫東亞字元之字根式hmm模型化 | |
JP2009080615A (ja) | オンライン手書き数式認識方法及び装置 | |
Labahn et al. | Mathbrush: A system for doing math on pen-based devices | |
KR102677200B1 (ko) | 터치-기반 사용자 인터페이스 입력에서의 제스처 스트로크 인식 | |
Costagliola et al. | Local context-based recognition of sketched diagrams | |
Smithies et al. | Equation entry and editing via handwriting and gesture recognition | |
Schönfelder et al. | Deep learning-based text detection and recognition on architectural floor plans | |
Casella et al. | An agent-based framework for sketched symbol interpretation | |
JP2007213433A (ja) | 文字検索装置 | |
Blostein et al. | Treatment of diagrams in document image analysis | |
Costagliola et al. | A parsing technique for sketch recognition systems | |
Kostalia et al. | Evaluating methods for the parsing and understanding of mathematical formulas in technical documents | |
Mas et al. | A syntactic approach based on distortion-tolerant Adjacency Grammars and a spatial-directed parser to interpret sketched diagrams | |
Clavier et al. | DocMining: A cooperative platform for heterogeneous document interpretation according to user-defined scenarios | |
Hu et al. | On-line handwritten mathematical expression recognition method based on statistical and semantic analysis | |
Hull | Recognition of mathematics using a two-dimensional trainable context-free grammar | |
Adefris et al. | Automatic code generation from low fidelity graphical user interface sketches using deep learning | |
Dessì et al. | DG3: Exploiting gesture declarative models for sample generation and online recognition | |
Lank | A retargetable framework for interactive diagram recognition | |
JP2007072718A (ja) | 手書き数式の認識装置及び認識方法 | |
Huang et al. | Overview of mathematical expression recognition | |
Ghorbel et al. | IMISketch: an interactive method for sketch recognition | |
Sevilla et al. | Automatic signwriting recognition: Combining machine learning and expert knowledge to solve a novel problem |