【文献】
福井哲夫,線形文字列変換による機械学習型数式入力インタフェースと編集機能の設計,第74回(平成24年)全国大会講演論文集(4),日本,一般社団法人情報処理学会,2012年 3月 6日,1−2頁,(2F−1)
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
以下図面により本発明の実施の形態について説明する。
【0015】
図1は、本発明の数式入力装置の実施形態に係るタッチパネル式計算装置10の電子回路の構成を示すブロック図である。
【0016】
このタッチパネル式計算装置10の電子回路は、コンピュータである制御部(CPU)11を備えている。
【0017】
制御部(CPU)11は、記憶装置12に予め記憶されているシステムプログラムや計算機制御プログラム12a,12b,12c、あるいはメモリカードなどの外部記憶媒体13から記憶媒体読み込み部14を介して記憶装置22に読み込まれた計算機制御プログラム12a,12b,12c、あるいは通信ネットワークN上のWebサーバ(プログラムサーバ)20から通信制御部15を介してダウンロードされ前記記憶装置22に読み込まれた計算機制御プログラム12a,12b,12cに従い、RAM16を作業用メモリとして回路各部の動作を制御する。そして、前記記憶装置22に記憶されたシステムプログラムや計算機制御プログラム12a,12b,12cは、キー入力部17からのキー入力信号、タッチパネル付き表示部18からのタッチ入力信号、音声入力部19からの音声入力信号に応じて起動される。ここで、キー入力部17は、計算式を入力するための数字キー、四則演算キー、三角関数等の関数キーを備える。音声入力部19は、入力された音声をデジタル信号に変換しCPU11に出力する。
【0018】
前記記憶装置12に記憶される計算機制御プログラム12a,12b,12cには、各種数式の入力表示処理、演算実行処理等を制御する基本的な計算機制御プログラム12aの他に、音声入力部19から入力された音声を認識して数式に変換するための音声認識数式処理プログラム12b、音声認識され変換された数式をユーザ操作に応じて修正するための数式修正処理プログラム12cが含まれる。
【0019】
RAM16には、表示データメモリ16a、音声認識数式データメモリ16b、数式変換データメモリ16c、変換候補データメモリ16d、数式演算データメモリ16eの他、各種の計算処理に伴い制御部11に入出力される種々のデータが必要に応じて記憶される作業用データメモリが確保される。
【0020】
表示データメモリ16aには、タッチパネル付き表示部18に表示させるための表示画面サイズで生成されたビットマップパターンのデータが記憶される。
【0021】
音声認識数式データメモリ16bには、前記音声認識数式処理プログラム12bに従い音声認識された数式のデータが、その各数式部分(数字,記号,演算子)を音声認識された順番通りに配列した数式として記憶される。
【0022】
数式変換データメモリ16cには、前記音声認識数式データメモリ16bに記憶された数式のデータを、数式自然表示の一形態の数式構造に変換した数式のデータが記憶される。
【0023】
変換候補データメモリ16dには、前記音声認識数式データメモリ16bに記憶された数式に対するユーザ操作に応じて、前記数式変換データメモリ16cに記憶された一形態の構造の数式から前記数式修正処理プログラム12cに従い修正された他の形態の構造の数式が変換候補の数式として記憶される。
【0024】
数式演算データメモリ16eには、前記数式変換データメモリ16cに記憶された数式の演算処理、または前記変換候補データメモリ16dに記憶された変換候補の数式の何れかの数式から演算対象の数式として決定された数式の演算処理に伴う経過および結果のデータが記憶される。
【0025】
このように構成されたタッチパネル式計算装置10は、CPU11が前記計算機制御プログラム12a,12b,12cに記述された命令に従い回路各部の動作を制御し、ソフトウエアとハードウエアとが協働して動作することにより、以下の動作説明で述べる音声認識数式処理機能を実現する。
【0026】
次に、前記構成のタッチパネル式計算装置10の動作について説明する。
【0027】
図2は、前記タッチパネル式計算装置10による音声認識数式処理を示すフローチャートである。
【0028】
図3は、前記タッチパネル式計算装置10の音声認識数式処理に含まれる数式修正処理を示すフローチャートである。
【0029】
図4は、前記タッチパネル式計算装置10の数式修正処理に含まれる演算子に基づく数式候補生成処理を示すフローチャートである。
【0030】
図5は、前記タッチパネル式計算装置10の音声認識数式処理に伴う数式表示動作を示す図である。
【0031】
装置電源の投入に伴いタッチパネル付き表示部18に表示される動作モードの選択画面(図示せず)において、音声認識数式計算モードが選択されることにより計算機制御プログラム12a,12bが起動されると、音声入力部19において音声の入力を受付ける待機状態となる。
【0032】
ユーザ所望の数式を読み上げる音声が音声入力部19から入力されると(ステップS1)、入力された音声が順次音声認識され(ステップS2)、認識された数式が、その数字,記号,演算子の部分毎に音声認識数式データメモリ16bに記憶され、
図5に示すように、タッチパネル表示部18の数式入力領域(1)に表示される。またこれに伴い、前記音声認識数式データメモリ16bに記憶された数式について、予め設定された数式部分の優先順位に従いその数式構造が判別され、数式自然表示の一形態に変換されて数式変換データメモリ16cに記憶され、タッチパネル表示部18の数式変換領域(2)に表示される(ステップS3)。
【0033】
ここでは、音声入力部19から「いち たす に ぶんの ご」のユーザ音声が入力され、音声認識された数式「1+2/5」が数式入力領域(1)に表示され、自然表示数式「1+(2/5)」が数式変換領域(2)に表示された状態を示す。なお、本実施の形態では、音声による入力は関数電卓のラインモードでのキー入力の方法にあわせて、分数は表示の順番に入力するものとする。
【0034】
そして、例えば「実行」と音声入力されることにより、演算の実行が指示されると(ステップS4(Yes))、前記数式変換領域(2)表示された数式「1+(2/5)」(16c)の演算処理が実行され、その演算結果が数式演算データメモリ16eに記憶されタッチパネル表示部18に表示される(ステップS5)。
【0035】
一方、前記数式変換領域(2)に表示された数式「1+(2/5)」(16c)が誤って変換された数式である場合に、例えば「修正」と音声入力されることにより、数式の修正が指示されると(ステップS6(Yes))、数式修正処理プログラム12cが起動され、
図3における数式修正処理へ移行される(ステップSA)。
【0036】
図6は、前記タッチパネル式計算装置10の数式修正処理に伴い数式部分を再入力して誤りを修正した場合の数式表示動作を示す図である。
【0037】
タッチパネル表示部18の数式変換領域(2)に表示された数式「1+(2/5)」において、その数式構造はそのままで数式部分“2”を“3”に修正したい場合に、
図6(A)に示すように、数式入力領域(1)に表示されている数式「1+2/5」(16b)の数式部分である数字“2”を長押し指定して反転カーソルCuを表示させると(ステップA1(Yes)→A4(Yes))、当該長押し指定された数式部分の数字“2”が消去される(ステップA5)。
【0038】
そして、音声入力部19から「さん」のユーザ音声が再入力されるか又は数字キー“3”が入力されると、
図6(B)に示すように、音声認識数式データメモリ16bに記憶されている数式「1+2/5」が「1+3/5」に修正されて数式入力領域(1)に表示されると共に、数式変換データメモリ16cに記憶されている自然表示数式「1+(2/5)」も「1+(3/5)」に修正されて数式変換領域(2)に表示される(ステップA6)。
【0039】
この場合、前記数式入力領域(1)に表示されている数式(16b)の数式部分を指定するのではなく、数式変換領域(2)に表示されている数式(16c)の数式部分を直接指定して同様に修正する構成としてもよい。
【0040】
図7は、前記タッチパネル式計算装置10の数式修正処理に伴い演算子の取り込み範囲を候補表示させて誤りを修正する場合の数式表示動作を示す図である。
【0041】
前記
図5で示したように、数式変換領域(2)に表示された数式「1+(2/5)」において、その演算子“/”が取り込む数式の範囲を修正したい場合に、
図7(A)に示すように、当該演算子である除算子“/”を指定して反転カーソルCuを表示させると(ステップA1(Yes)→A3(Yes))、
図4における演算子に基づく数式候補の生成処理へ移行される(ステップAB)。
【0042】
この演算子に基づく数式候補の生成処理では、まず、前記指定の演算子が除算子“/”であることが判別され(ステップB1)、当該演算子(除算子)“/”が前方向の数式部分を取り込み可能な演算子であるか否か判断される(ステップB2)。
【0043】
ここで、前記指定の演算子(除算子)“/”が前方向の数式部分を取り込み可能な演算子であると判断されると(ステップB2(Yes))、現在数式変換領域(2)に表示されている自然表示数式「1+(2/5)」(16c)で当該演算子(除算子)“/”の前方向に取り込まれている数式部分“2”よりさらに前方向の数式部分“1+”について区切りがあると検索され(ステップB3,B4(Yes))、当該区切りに応じて判別された数式構造の自然表示数式「(1+2)/5」が変換候補として変換候補データメモリ16dに記憶され追加される(ステップB5)。
【0044】
そして、前記区切りの検索された数式部分“1+”が同数式の先頭であると判断されると(ステップB6(Yes))、前記指定の演算子(除算子)“/”が後方向の数式部分も取り込み可能な演算子であることで、この演算子に基づく数式候補の生成処理は終了ではないと判断される(ステップB7(No))。
【0045】
なお、前記区切りの検索された数式部分が同数式の先頭ではないと判断された場合は(ステップB6(No))、前記同様に現在表示中の自然表示数式で前記指定の演算子から前方向への数式部分の区切りの検索が繰り返され(ステップB3)、新たな区切りが検索される毎に当該区切りに応じて判別された数式構造の自然表示数式が変換候補として変換候補データメモリ16dに記憶され追加される(ステップB4(Yes)→B5)。
【0046】
前記ステップB7において、指定の演算子(除算子)“/”に基づく数式候補の生成処理が終了ではないと判断されると(ステップB7(No))、前記数式変換領域(2)に表示されている自然表示数式「1+(2/5)」(16c)で前記指定の演算子(除算子)“/”の後方向に取り込まれている数式部分“5”よりさらに後方向の数式部分の区切り(数字,記号の区切り)が検索される(ステップB8)。
【0047】
ここでは、前記数式変換領域(2)に表示されている自然表示数式「1+(2/5)」(16c)で当該演算子(除算子)“/”の後方向に取り込まれている数式部分“5”よりさらに後方向の数式部分には区切りがないと判断され(ステップB9(No))、前記変換候補データメモリ16dに記憶された変換候補の自然表示数式「(1+2)/5」が前記数式変換領域(2)に表示中の自然表示数式「1+(2/5)」に追加されて表示される(ステップB12)。
【0048】
なお、前記ステップB8,B9において、前記指定の演算子よりも後方向であって且つ既に取り込まれている数式部分よりさらに後方向の数式部分の区切りが検索された場合は(ステップB9(Yes))、当該区切りに応じて判別された数式構造の自然表示数式が変換候補として変換候補データメモリ16dに記憶され追加される(ステップB10)。
【0049】
そして、前記区切りの検索された数式部分が同数式の末尾であると判断されるまで、前記同様に現在表示中の自然表示数式で前記指定の演算子から後方向への数式部分の区切りの検索が繰り返され(ステップB11(No)→A8)、新たな区切りが検索される毎に当該区切りに応じて判別された数式構造の自然表示数式が変換候補として変換候補データメモリ16dに記憶され追加される(ステップB9(Yes)→B10)。
【0050】
そして、前記区切りの検索された数式部分が同数式の末尾であると判断されると(ステップB11(Yes))、前記変換候補データメモリ16dに記憶された変換候補の自然表示数式が前記数式変換領域(2)に表示中の自然表示数式に追加されて表示される(ステップB12)。
【0051】
このような演算子に基づく数式候補の生成処理により新たに生成されて変換候補データメモリ16dに記憶された自然表示数式「(1+2)/5」が、前記
図7(A)で示したように、数式変換領域(2)に既に表示されている自然表示数式「1+(2/5)」と共に候補表示された状態で、前記指定の演算子“/”が取り込む数式部分の修正されたユーザ所望の自然表示数式「(1+2)/5」が選択されて決定される(ステップA7)。
【0052】
また、例えば
図7(B)に示すように、音声認識された数式「sin30+5」が音声認識数式データメモリ16bに記憶され数式入力領域(1)に表示されるのに伴い、数式構造の判別を受けて変換された自然表示数式「sin(30)+5」が数式変換データメモリ26cに記憶され数式変換領域(2)に表示された状態で(ステップS1〜S3)、その演算子(演算コマンド)“sin”が取り込む数式の範囲を修正したい場合に、当該演算コマンド“sin”を指定して反転カーソルCuを表示させると(ステップA1(Yes)→A3(Yes))、前記同様に、
図4における演算子に基づく数式候補の生成処理へ移行される(ステップAB)。
【0053】
この演算子に基づく数式候補の生成処理では、まず、前記指定の演算子が演算コマンド“sin”であることが判別され(ステップB1)、当該演算コマンド“sin”が前方向の数式部分を取り込み可能な演算子ではないと判断される(ステップB2(No))。
【0054】
すると、前記数式変換領域(2)に表示されている自然表示数式「sin(30)+5」(16c)で前記指定の演算子“sin”の後方向に取り込まれている数式部分“30”よりさらに後方向の数式部分の区切り(数字,記号の区切り)が検索される(ステップB8)。
【0055】
そして、前記自然表示数式「sin(30)+5」(16c)で演算子“sin”の後方向に取り込まれている数式部分“30”よりさらに後方向の数式部分“+5”について区切りがあると検索され(ステップB8,B9(Yes))、その区切りに応じて判別された数式構造の自然表示数式「sin(30+5)」が変換候補として変換候補データメモリ16dに記憶され追加される(ステップB10)。
【0056】
そして、前記区切りの検索された数式部分“+5”が同数式の末尾であると判断されると(ステップB11(Yes))、前記変換候補データメモリ16dに記憶された変換候補の自然表示数式「sin(30+5)」が前記数式変換領域(2)に表示中の自然表示数式「sin(30)+5」に追加されて表示される(ステップB12)。
【0057】
このような演算子に基づく数式候補の生成処理により新たに生成されて変換候補データメモリ16dに記憶された自然表示数式「sin(30+5)」が、前記
図7(B)で示したように、数式変換領域(2)に既に表示されている自然表示数式「sin(30)+5」と共に候補表示された状態で、前記指定の演算子(演算コマンド)“sin”が取り込む数式部分の修正されたユーザ所望の自然表示数式「sin(30+5)」が選択されて決定される(ステップA7)。
【0058】
これにより、音声認識されて変換された数式について、当該数式に含まれる演算子により取り込まれる数式部分を修正したい場合には、修正対象となる演算子を指定するだけで、取り込み範囲の異なる数式候補が生成されて表示されるので、所望の取り込み範囲に修正された数式候補を簡単に選択して決定できる。
【0059】
なお、この演算子に基づく数式候補の生成処理において、指定の演算子の前後に取り込み可能な数式部分の区切りが多くなり、数式の変換候補が多く生成されることで、前記数式変換領域(2)に全ての数式候補を表示できないときには、当該数式の各候補をスクロール可能に表示する。
【0060】
図8は、前記タッチパネル式計算装置10の数式修正処理に伴い括弧で括る数式部分の範囲を指定して誤りを修正する場合の数式表示動作を示す図である。
【0061】
前記音声入力受付処理(ステップS1)、音声認識処理(ステップS2)を経て、
図8(A)に示すように、タッチパネル表示部18の数式入力領域(1)に音声認識された数式「1+2+3/4」が表示されると共に、その数式構造が判別されて自然表示形式に変換された自然表示数式「1+2+(3/4)」が数式変換領域(2)に表示される(ステップS3)。
【0062】
数式変換領域(2)に表示された数式「1+2+(3/4)」において、分子となる数式部分の範囲を修正したい場合に(ステップS6(Yes)→SA)、
図8(B)に示すように、数式入力領域(1)に表示された数式「1+2+3/4」の範囲「1+2+3」を指定して反転カーソルCuを表示させる(ステップA1(Yes)→A2(Yes))。
【0063】
すると、前記指定された数式「1+2+3/4」の範囲「1+2+3」が括弧で括られて分子となる数式構造と判別され、これに従い自然表示形式に変換され修正された自然表示数式「(1+2+3)/4」が数式変換データメモリ16cに記憶され数式変換領域(2)に表示される(ステップA8)。
【0064】
これにより、音声認識されて変換された数式について、当該数式の中で一塊の数式部分として括られるべき範囲を修正したい場合には、括りたい数式部分の範囲を指定するだけで、簡単に指定の範囲の数式部分が括られてなる数式に修正できる。
【0065】
図9は、前記タッチパネル式計算装置10の数式修正処理に伴い演算の順序を指定して数式の誤りを修正する場合の数式表示動作を示す図である。
【0066】
前記音声入力受付処理(ステップS1)、音声認識処理(ステップS2)を経て、
図9(A)に示すように、タッチパネル表示部18の数式入力領域(1)に音声認識された数式「1+2/3-4」が表示されると共に、その数式構造が判別されて自然表示形式に変換された自然表示数式「1+(2/3)-4」が数式変換領域(2)に表示される(ステップS3)。
【0067】
数式変換領域(2)に表示された数式「1+(2/3)-4」において、演算の順序から数式の構造を修正したい場合に(ステップS6(Yes)→SA)、所定の操作により演算の順序による修正モードが指定されると(ステップA1(No)→A9(Yes))、当該数式「1+(2/3)-4」の演算の順序をその順番と演算子とを対応付けて表記した演算順序ウインドウW「1[/]、2[+]、3[-]」が表示される(ステップA10)。
【0068】
そして、この演算順序ウインドウWに表記された演算子の順番を、例えば当該各演算子をタッチしてドラッグするか、または反転カーソルCuにより指定して上書きすることにより、演算順序ウインドウW「1[+]、2[-]、3[/]」として変更する。すると、数式入力領域(1)に表示されている数式「1+2/3-4」(16b)が、変更後の演算順序に応じた数式構造の自然表示数式「(1+2)/(3-4)」に変換され、数式変換データメモリ16cに記憶され数式変換領域(2)に表示される(ステップA11)。
【0069】
これにより、音声認識されて変換された数式について、当該数式の演算の順序からその数式構造を修正したい場合には、修正モードの指定により表示される演算順序ウインドウWにおいて、該当の数式に含まれる演算子の順番を変更するだけで、簡単に所望の演算順序に応じた構造の数式に修正できる。
【0070】
図10は、前記タッチパネル式計算装置10の数式修正処理に伴い演算子の取り込み範囲を候補表示させて誤りを修正する場合の他の実施例の数式表示動作を示す図である。
【0071】
例えば、数式「log[x+√(x
2+1)]を入力したい場合に、「ろぐ えっくす たす るーと えっくす べき に たす いち」と音声を入力する。すると、
図10(A)に示すように、音声認識された数式「log x + √ x ^2 + 1」が音声認識数式データメモリ16bに記憶され数式入力領域(1)に表示されるのに伴い、数式構造の判別を受けて変換された自然表示数式「log(x)+[√x]
2+1」が数式変換データメモリ26cに記憶され数式変換領域(2)に表示される(ステップS1〜S3)。
【0072】
ここで、演算子(演算コマンド)“√”が取り込む数式の範囲を修正したい場合に、当該演算コマンド“√”を指定して反転カーソルCuを表示させると(ステップA1(Yes)→A3(Yes))、前記同様に、
図4における演算子に基づく数式候補の生成処理へ移行される(ステップAB)。
【0073】
この演算子に基づく数式候補の生成処理では、まず、前記指定の演算子が演算コマンド“√”であることが判別され(ステップB1)、当該演算コマンド“√”が前方向の数式部分を取り込み可能な演算子ではないと判断される(ステップB2(No))。
【0074】
すると、前記数式変換領域(2)に表示されている自然表示数式「log(x)+[√x]
2+1」(16c)で前記指定の演算子“√”の後方向に取り込まれている数式部分“x”よりさらに後方向の数式部分の区切り(数字,記号の区切り)が検索される(ステップB8)。
【0075】
そして、前記自然表示数式「log(x)+[√x]
2+1」(16c)で演算子“√”の後方向に取り込まれている数式部分“x”よりさらに後方向の数式部分“
2”について区切りがあると検索され(ステップB8,B9(Yes))、その区切りに応じて判別された数式構造の自然表示数式「log(x)+√(x
2)+1」が変換候補として変換候補データメモリ16dに記憶され追加される(ステップB10)。
【0076】
すると、前記区切りの検索された数式部分“
2”は同数式の末尾ではないと判断されるので(ステップB11(No))、前記変換候補となった自然表示数式「log(x)+√(x
2)+1」(16d)で演算子“√”の後方向に取り込まれている数式部分“x
2”よりさらに後方向の数式部分“+1”について区切りがあると検索され(ステップB8,B9(Yes))、その区切りに応じて判別された数式構造の自然表示数式「log(x)+√(x
2+1)」も変換候補として変換候補データメモリ16dに記憶され追加される(ステップB10)。
【0077】
そして、前記区切りの検索された数式部分“+1”が同数式の末尾であると判断されると(ステップB11(Yes))、
図10(B)に示すように、前記変換候補データメモリ16dに記憶された2つの変換候補の自然表示数式「log(x)+√(x
2)+1」と「log(x)+√(x
2+1)」が前記数式変換領域(2)に表示中の自然表示数式「log(x)+[√x]
2+1」に追加されて表示される(ステップB12)。
【0078】
ここで、前記演算子“√”により取り込まれる数式部分の修正された変換候補の自然表示数式「log(x)+√(x
2+1)」を選択した後に(ステップA7)、さらに、演算子(演算コマンド)“log”が取り込む数式の範囲を修正するため、当該演算コマンド“log”を指定して反転カーソルCuを表示させると(ステップA1(Yes)→A3(Yes))、前記同様に、演算子に基づく数式候補の生成処理が実行される(ステップAB)。
【0079】
すなわち、前記指定の演算子が演算コマンド“log”であることが判別され(ステップB1)、当該演算コマンド“log”が前方向の数式部分を取り込み可能な演算子ではないと判断される(ステップB2(No))。
【0080】
すると、前記数式変換領域(2)に選択されて表示されている自然表示数式「log(x)+√(x
2+1)」(16c)で前記指定の演算子“log”の後方向に取り込まれている数式部分“x”よりさらに後方向の数式部分“+√(x
2+1)”について区切りがあると検索され(ステップB8,B9(Yes))、その区切りに応じて判別された数式構造の自然表示数式「log[x+√(x
2+1)]」が変換候補として変換候補データメモリ16dに記憶され追加される(ステップB10)。
【0081】
そして、前記区切りの検索された数式部分“+√(x
2+1)”が同数式の末尾であると判断されると(ステップB11(Yes))、
図10(C)に示すように、前記変換候補データメモリ16dに記憶された変換候補の自然表示数式「log[x+√(x
2+1)]」が前記数式変換領域(2)に表示中の自然表示数式「log(x)+√(x
2+1)」に追加されて表示される(ステップB12)。
【0082】
この後、
図10(D)に示すように、前記指定の演算子“√”と“log”が取り込む数式部分の修正されたユーザ所望の自然表示数式「log[x+√(x
2+1)]」が選択されて決定される(ステップA7)。
【0083】
これにより、音声認識されて変換された数式について、当該数式に含まれる複数の演算子にそれぞれ取り込まれる数式部分を個別に修正したい場合でも、修正対象となる各演算子を順次指定するだけで、その都度、取り込み範囲の異なる数式候補が生成されて表示されるので、所望の取り込み範囲に修正された数式候補を簡単に選択して決定できる。
【0084】
したがって、前記構成のタッチパネル式計算装置10の音声認識数式処理に伴う数式修正機能によれば、ユーザ音声により数式を入力すると、音声認識された数式が当該認識された数式部分毎に順次数式入力領域(1)に表示されると共に、数式構造の判別された自然表示数式に変換されて数式変換領域(2)に表示される。そして、数式変換領域(2)に表示された自然表示数式について、再入力して修正したい数式入力領域(1)の数式部分(数字、記号、演算子)を長押し指定すると、指定された数式部分が消去された後、再入力された数字、記号、演算子に置き換えられて修正され、また、同数式に含まれる演算子を指定すると、指定された演算子に取り込まれる数式部分の範囲を異ならせた変換候補の数式が前記数式変換領域(2)に追加されて一覧表示され、この一覧表示された変換候補の数式がユーザにより選択されて決定される。また、前記数式変換領域(2)に表示された自然表示数式について、数式入力領域(1)に表示中の数式の範囲を指定すると、当該指定された範囲の数式部分が括弧で括られた構造の自然表示数式に変換されて前記数式変換領域(2)に修正表示される。
【0085】
さらに、前記数式変換領域(2)に表示された自然表示数式の演算の順序をその順番と演算子とを対応付けて表記した演算順序ウインドウWを表示させ、このウインドウWに表記された演算子の順番を変更すると、数式入力領域(1)に表示されている数式が、変更後の演算順序に応じた数式構造の自然表示数式に変換され数式変換領域(2)に修正表示される。
【0086】
これにより、音声認識により容易に数式を入力できるだけでなく、当該入力された数式に誤りがある場合に、その誤り方に応じて簡単かつ適切な手法により正しい数式に修正することが可能になる。
【0087】
なお、前記実施形態において記載したタッチパネル式計算装置10による各処理の手法、すなわち、
図2のフローチャートに示す音声認識数式処理、
図3のフローチャートに示す前記音声認識数式処理に含まれる数式修正処理、
図4のフローチャートに示す前記数式修正処理に含まれる演算子に基づく数式候補生成処理などの各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記憶媒体(13)に格納して配布することができる。そして、タッチパネル式表示部(18)および音声入力部(19)を有する電子式計算機(10)のコンピュータ(CPU11)は、この外部記憶媒体(13)に記憶されたプログラムを記憶装置(12)に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記実施形態において説明した音声認識数式処理に伴う数式修正機能を実現し、前述した手法による同様の処理を実行することができる。
【0088】
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワークN上を伝送させることができ、この通信ネットワークNに接続されたコンピュータ装置(プログラムサーバ20)から前記のプログラムデータをタッチパネル式表示部(18)および音声入力部(19)を有する電子式計算機(10)に取り込んで記憶装置(12)に記憶させ、前述した音声認識数式処理に伴う数式修正機能を実現することもできる。
【0089】
なお、本願発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【0090】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【0091】
[1]
数式を表示する数式表示手段と、
この数式表示手段により表示された数式の部分をユーザ操作に応じて指定する数式部分指定手段と、
この数式部分指定手段により指定された数式部分の指定方法を判断し、指定方法に応じた修正手法に従って前記数式を加工して表示する出力手段と、
を備えたことを特徴とする数式入力装置。
【0092】
[2]
前記出力手段は、前記数式表示手段により表示された数式の演算子が指定されたことを判断すると、当該指定された数式の演算子に取り込まれる数式部分を異ならせた数式の候補を生成してユーザに選択させるように表示することを特徴とする[1]に記載の数式入力装置。
【0093】
[3]
前記出力手段は、前記数式表示手段により表示された数式の範囲が指定されたことを判断すると、当該指定された数式の範囲を括弧で括って表示することを特徴とする[1]または[2]に記載の数式入力装置。
【0094】
[4]
前記出力手段は、
前記数式表示手段により表示された数式の数字、記号が指定されたことを判断すると、ユーザ操作に応じて再入力させるために、当該指定された数式の数字、記号を消去して表示することを特徴とする[3]に記載の数式入力装置。
【0095】
[5]
前記数式表示手段により表示された数式についてその演算の順番をユーザ操作に応じて変更する演算順変更手段と、
この演算順変更手段により変更された演算の順番に従い前記数式を修正する修正実行手段と、
を備えたことを特徴とする[4]に記載の数式入力装置。
【0096】
[6]
前記演算順変更手段は、
前記数式表示手段により表示された数式について当該数式に含まれる演算子をその演算の順番に対応付けて表示させる演算順表示手段を有し、
この演算順表示手段により表示された演算子の順番をユーザ操作に応じて変更する、
ことを特徴とする[5]に記載の数式入力装置。
【0097】
[7]
前記数式表示手段は、ユーザの音声を認識して入力された数式を表示部に表示させることを特徴とする[1]ないし[6]の何れかに記載の数式入力装置。
【0098】
[8]
表示部を備えた電子機器のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
数式を表示する数式表示手段と、
この数式表示手段により表示された数式の部分をユーザ操作に応じて指定する数式部分指定手段と、
この数式部分指定手段により指定された数式部分の指定方法を判断し、指定方法に応じた修正手法に従って前記数式を加工して表示する出力手段、
として機能させるためのプログラム。