(57)【特許請求の範囲】
【請求項１】
数式を表示する数式表示手段と、
ユーザ操作に応じて演算の順序による修正モードを指定する演算順序修正モード指定手段と、
前記演算の順序による修正モードにおいて、前記数式表示手段により表示された数式について、当該数式に含まれる複数の演算子を各演算子の演算の順番に対応付けて表示させ、表示させた前記複数の演算子の演算の順番をユーザ操作に応じて変更する演算順変更手段と、
前記演算順変更手段により変更された演算の順番に従い演算を行う演算実行手段と、
を備えたことを特徴とする数式入力装置。
【請求項２】
前記演算順変更手段により変更された演算の順番に従い修正した前記数式を表示する出力手段を、
さらに備えることを特徴とする請求項１に記載の数式入力装置。
【請求項３】
前記数式表示手段により表示された数式の部分をユーザ操作に応じて指定する数式部分指定手段と、
前記数式表示手段により表示された数式の演算子が指定されたことを判断すると、当該指定された数式の演算子に取り込まれる数式部分を異ならせた数式の候補を生成してユーザに選択させるように表示する出力手段と、
をさらに備えることを特徴とする請求項１に記載の数式入力装置。
【請求項４】
前記数式表示手段により表示された数式の部分をユーザ操作に応じて指定する数式部分指定手段と、
前記数式表示手段により表示された数式の範囲が指定されたことを判断すると、当該指定された数式の範囲を括弧で括って表示する出力手段と、
をさらに備えることを特徴とする請求項１に記載の数式入力装置。
【請求項５】
前記数式表示手段により表示された数式の部分をユーザ操作に応じて指定する数式部分指定手段と、
前記数式表示手段により表示された数式の数字、記号が指定されたことを判断すると、ユーザ操作に応じて再入力させるために、当該指定された数式の数字、記号を消去して表示する出力手段と、
をさらに備えることを特徴とする請求項１に記載の数式入力装置。
【請求項６】
数式を表示する数式表示手段と、
ユーザ操作に応じて演算の順序による修正モードを指定する演算順序修正モード指定手段と、
前記演算の順序による修正モードにおいて、前記数式表示手段により表示された数式について、当該数式に含まれる複数の演算子を各演算子の演算の順番に対応付けて表示させ、表示させた前記複数の演算子の演算の順番をユーザ操作に応じて変更する演算順変更手段と、
前記演算順変更手段により変更された演算の順番に従い修正した前記数式を表示する出力手段と、
を備えたことを特徴とする数式入力装置。
【請求項７】
前記数式表示手段は、ユーザの音声を認識して入力された数式を表示部に表示させることを特徴とする請求項１ないし請求項６の何れか１項に記載の数式入力装置。
【請求項８】
表示部を備えた電子機器のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
数式を表示する数式表示手段と、
ユーザ操作に応じて演算の順序による修正モードを指定する演算順序修正モード指定手段と、
前記演算の順序による修正モードにおいて、前記数式表示手段により表示された数式について、当該数式に含まれる複数の演算子を各演算子の演算の順番に対応付けて表示させ、表示させた前記複数の演算子の演算の順番をユーザ操作に応じて変更する演算順変更手段と、
前記演算順変更手段により変更された演算の順番に従い演算を行う演算実行手段と、
として機能させるためのプログラム。
【請求項９】
表示部を備えた電子機器のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
数式を表示する数式表示手段と、
ユーザ操作に応じて演算の順序による修正モードを指定する演算順序修正モード指定手段と、
前記演算の順序による修正モードにおいて、前記数式表示手段により表示された数式について、当該数式に含まれる複数の演算子を各演算子の演算の順番に対応付けて表示させ、表示させた前記複数の演算子の演算の順番をユーザ操作に応じて変更する演算順変更手段と、
前記演算順変更手段により変更された演算の順番に従い修正した前記数式を表示する出力手段と、
として機能させるためのプログラム。
【請求項１０】
数式を表示する数式表示ステップと、
ユーザ操作に応じて演算の順序による修正モードを指定する演算順序修正モード指定ステップと、
前記演算の順序による修正モードにおいて、前記数式表示ステップにより表示された数式について、当該数式に含まれる複数の演算子を各演算子の演算の順番に対応付けて表示させ、表示させた前記複数の演算子の演算の順番をユーザ操作に応じて変更する演算順変更ステップと、
前記演算順変更ステップにより変更された演算の順番に従い演算を行う演算実行ステップと、
を実行することを特徴とする数式入力方法。
【請求項１１】
数式を表示する数式表示ステップと、
ユーザ操作に応じて演算の順序による修正モードを指定する演算順序修正モード指定ステップと、
前記演算の順序による修正モードにおいて、前記数式表示ステップにより表示された数式について、当該数式に含まれる複数の演算子を各演算子の演算の順番に対応付けて表示させ、表示させた前記複数の演算子の演算の順番をユーザ操作に応じて変更する演算順変更ステップと、
前記演算順変更ステップにより変更された演算の順番に従い修正した前記数式を表示する出力ステップと、
を実行することを特徴とする数式入力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種の数式を入力するための数式入力装置、数式入力方法およびその制御プログラムに関する。
【背景技術】
【０００２】
昨今の音声認識技術の発展は目覚ましく、インターネットに接続可能な携帯端末からの音声入力によるキーワード検索など、様々な分野で実用化されている。
【０００３】
そこで、キー操作数が多くなる数式を入力するための関数電卓や計算機能を備えた端末装置においても、そのキー操作に替えて音声認識により数式を入力することが考えられる。
【０００４】
数式を音声認識により入力する際に問題となるのが区切りである。
【０００５】
例えば「sin30+5」（さいん  さんじゅう  たす  ご）という音声入力に対して、“sin”“30”“+”“5”との認識はされるものの、“sin(30)+5”との数式に変換すべきか“sin(30+5)”との数式に変換すべきかは、音声からだけでは判断できない。
【０００６】
従来の数式音声入力装置において、音声入力中の無音区間の長さの違いも認識して式の構造を判別し、例えば「さいん  さんじゅう  たす  ご」と音声入力した場合には“sin(30+5)”との数式に変換し、また「さいん  さんじゅう…  …たす  ご」と音声入力した場合には“sin(30)+5”との数式に変換し、適正な数式を入力する手法が考えられている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−２５５９７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前記従来の数式音声入力装置は、音声入力中の無音区間の長さの違いを認識して式の構造を判別するものであるが、入力したい数式の自然な読み上げとは程遠いものとなってしまう。
【０００９】
本発明は、このような課題に鑑みなされたもので、入力された数式を簡単な手法により正しい数式に修正して入力することが可能になる数式入力装置、数式入力方法およびその制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る数式入力装置は、数式を表示する数式表示手段と、ユーザ操作に応じて演算の順序による修正モードを指定する演算順序修正モード指定手段と、前記演算の順序による修正モードにおいて、前記数式表示手段により表示された数式について、当該数式に含まれる複数の演算子を各演算子の演算の順番に対応付けて表示させ、表示させた前記複数の演算子の演算の順番をユーザ操作に応じて変更する演算順変更手段と、前記演算順変更手段により変更された演算の順番に従い演算を行う演算実行手段と、を備えたことを特徴としている。
【００１１】
本発明に係るプログラムは、表示部を備えた電子機器のコンピュータを制御するためのプログラムであって、前記コンピュータを、数式を表示する数式表示手段と、ユーザ操作に応じて演算の順序による修正モードを指定する演算順序修正モード指定手段と、前記演算の順序による修正モードにおいて、前記数式表示手段により表示された数式について、当該数式に含まれる複数の演算子を各演算子の演算の順番に対応付けて表示させ、表示させた前記複数の演算子の演算の順番をユーザ操作に応じて変更する演算順変更手段と、前記演算順変更手段により変更された演算の順番に従い演算を行う演算実行手段と、として機能させることを特徴としている。
【発明の効果】
【００１２】
本発明によれば、入力された数式を簡単な手法により正しい数式に修正して入力することが可能になる数式入力装置およびその制御プログラムを提供できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の数式入力装置の実施形態に係るタッチパネル式計算装置１０の電子回路の構成を示すブロック図。
【図２】前記タッチパネル式計算装置１０による音声認識数式処理を示すフローチャート。
【図３】前記タッチパネル式計算装置１０の音声認識数式処理に含まれる数式修正処理を示すフローチャート。
【図４】前記タッチパネル式計算装置１０の数式修正処理に含まれる演算子に基づく数式候補生成処理を示すフローチャート。
【図５】前記タッチパネル式計算装置１０の音声認識数式処理に伴う数式表示動作を示す図。
【図６】前記タッチパネル式計算装置１０の数式修正処理に伴い数式部分を再入力して誤りを修正した場合の数式表示動作を示す図。
【図７】前記タッチパネル式計算装置１０の数式修正処理に伴い演算子の取り込み範囲を候補表示させて誤りを修正する場合の数式表示動作を示す図。
【図８】前記タッチパネル式計算装置１０の数式修正処理に伴い括弧で括る数式部分の範囲を指定して誤りを修正する場合の数式表示動作を示す図。
【図９】前記タッチパネル式計算装置１０の数式修正処理に伴い演算の順序を指定して数式の誤りを修正する場合の数式表示動作を示す図。
【図１０】前記タッチパネル式計算装置１０の数式修正処理に伴い演算子の取り込み範囲を候補表示させて誤りを修正する場合の他の実施例の数式表示動作を示す図。
【発明を実施するための形態】
【００１４】
以下図面により本発明の実施の形態について説明する。
【００１５】
図１は、本発明の数式入力装置の実施形態に係るタッチパネル式計算装置１０の電子回路の構成を示すブロック図である。
【００１６】
このタッチパネル式計算装置１０の電子回路は、コンピュータである制御部（ＣＰＵ）１１を備えている。
【００１７】
制御部（ＣＰＵ）１１は、記憶装置１２に予め記憶されているシステムプログラムや計算機制御プログラム１２ａ，１２ｂ，１２ｃ、あるいはメモリカードなどの外部記憶媒体１３から記憶媒体読み込み部１４を介して記憶装置２２に読み込まれた計算機制御プログラム１２ａ，１２ｂ，１２ｃ、あるいは通信ネットワークＮ上のＷｅｂサーバ（プログラムサーバ）２０から通信制御部１５を介してダウンロードされ前記記憶装置２２に読み込まれた計算機制御プログラム１２ａ，１２ｂ，１２ｃに従い、ＲＡＭ１６を作業用メモリとして回路各部の動作を制御する。そして、前記記憶装置２２に記憶されたシステムプログラムや計算機制御プログラム１２ａ，１２ｂ，１２ｃは、キー入力部１７からのキー入力信号、タッチパネル付き表示部１８からのタッチ入力信号、音声入力部１９からの音声入力信号に応じて起動される。ここで、キー入力部１７は、計算式を入力するための数字キー、四則演算キー、三角関数等の関数キーを備える。音声入力部１９は、入力された音声をデジタル信号に変換しＣＰＵ１１に出力する。
【００１８】
前記記憶装置１２に記憶される計算機制御プログラム１２ａ，１２ｂ，１２ｃには、各種数式の入力表示処理、演算実行処理等を制御する基本的な計算機制御プログラム１２ａの他に、音声入力部１９から入力された音声を認識して数式に変換するための音声認識数式処理プログラム１２ｂ、音声認識され変換された数式をユーザ操作に応じて修正するための数式修正処理プログラム１２ｃが含まれる。
【００１９】
ＲＡＭ１６には、表示データメモリ１６ａ、音声認識数式データメモリ１６ｂ、数式変換データメモリ１６ｃ、変換候補データメモリ１６ｄ、数式演算データメモリ１６ｅの他、各種の計算処理に伴い制御部１１に入出力される種々のデータが必要に応じて記憶される作業用データメモリが確保される。
【００２０】
表示データメモリ１６ａには、タッチパネル付き表示部１８に表示させるための表示画面サイズで生成されたビットマップパターンのデータが記憶される。
【００２１】
音声認識数式データメモリ１６ｂには、前記音声認識数式処理プログラム１２ｂに従い音声認識された数式のデータが、その各数式部分（数字，記号，演算子）を音声認識された順番通りに配列した数式として記憶される。
【００２２】
数式変換データメモリ１６ｃには、前記音声認識数式データメモリ１６ｂに記憶された数式のデータを、数式自然表示の一形態の数式構造に変換した数式のデータが記憶される。
【００２３】
変換候補データメモリ１６ｄには、前記音声認識数式データメモリ１６ｂに記憶された数式に対するユーザ操作に応じて、前記数式変換データメモリ１６ｃに記憶された一形態の構造の数式から前記数式修正処理プログラム１２ｃに従い修正された他の形態の構造の数式が変換候補の数式として記憶される。
【００２４】
数式演算データメモリ１６ｅには、前記数式変換データメモリ１６ｃに記憶された数式の演算処理、または前記変換候補データメモリ１６ｄに記憶された変換候補の数式の何れかの数式から演算対象の数式として決定された数式の演算処理に伴う経過および結果のデータが記憶される。
【００２５】
このように構成されたタッチパネル式計算装置１０は、ＣＰＵ１１が前記計算機制御プログラム１２ａ，１２ｂ，１２ｃに記述された命令に従い回路各部の動作を制御し、ソフトウエアとハードウエアとが協働して動作することにより、以下の動作説明で述べる音声認識数式処理機能を実現する。
【００２６】
次に、前記構成のタッチパネル式計算装置１０の動作について説明する。
【００２７】
図２は、前記タッチパネル式計算装置１０による音声認識数式処理を示すフローチャートである。
【００２８】
図３は、前記タッチパネル式計算装置１０の音声認識数式処理に含まれる数式修正処理を示すフローチャートである。
【００２９】
図４は、前記タッチパネル式計算装置１０の数式修正処理に含まれる演算子に基づく数式候補生成処理を示すフローチャートである。
【００３０】
図５は、前記タッチパネル式計算装置１０の音声認識数式処理に伴う数式表示動作を示す図である。
【００３１】
装置電源の投入に伴いタッチパネル付き表示部１８に表示される動作モードの選択画面（図示せず）において、音声認識数式計算モードが選択されることにより計算機制御プログラム１２ａ，１２ｂが起動されると、音声入力部１９において音声の入力を受付ける待機状態となる。
【００３２】
ユーザ所望の数式を読み上げる音声が音声入力部１９から入力されると（ステップＳ１）、入力された音声が順次音声認識され（ステップＳ２）、認識された数式が、その数字，記号，演算子の部分毎に音声認識数式データメモリ１６ｂに記憶され、図５に示すように、タッチパネル表示部１８の数式入力領域(1)に表示される。またこれに伴い、前記音声認識数式データメモリ１６ｂに記憶された数式について、予め設定された数式部分の優先順位に従いその数式構造が判別され、数式自然表示の一形態に変換されて数式変換データメモリ１６ｃに記憶され、タッチパネル表示部１８の数式変換領域(2)に表示される（ステップＳ３）。
【００３３】
ここでは、音声入力部１９から「いち  たす  に  ぶんの  ご」のユーザ音声が入力され、音声認識された数式「1+2/5」が数式入力領域(1)に表示され、自然表示数式「1+(2/5)」が数式変換領域(2)に表示された状態を示す。なお、本実施の形態では、音声による入力は関数電卓のラインモードでのキー入力の方法にあわせて、分数は表示の順番に入力するものとする。
【００３４】
そして、例えば「実行」と音声入力されることにより、演算の実行が指示されると（ステップＳ４（Ｙｅｓ））、前記数式変換領域(2)表示された数式「1+(2/5)」（１６ｃ）の演算処理が実行され、その演算結果が数式演算データメモリ１６ｅに記憶されタッチパネル表示部１８に表示される（ステップＳ５）。
【００３５】
一方、前記数式変換領域(2)に表示された数式「1+(2/5)」（１６ｃ）が誤って変換された数式である場合に、例えば「修正」と音声入力されることにより、数式の修正が指示されると（ステップＳ６（Ｙｅｓ））、数式修正処理プログラム１２ｃが起動され、図３における数式修正処理へ移行される（ステップＳＡ）。
【００３６】
図６は、前記タッチパネル式計算装置１０の数式修正処理に伴い数式部分を再入力して誤りを修正した場合の数式表示動作を示す図である。
【００３７】
タッチパネル表示部１８の数式変換領域(2)に表示された数式「1+(2/5)」において、その数式構造はそのままで数式部分“2”を“3”に修正したい場合に、図６（Ａ）に示すように、数式入力領域(1)に表示されている数式「1+2/5」（１６ｂ）の数式部分である数字“2”を長押し指定して反転カーソルＣｕを表示させると（ステップＡ１（Ｙｅｓ）→Ａ４（Ｙｅｓ））、当該長押し指定された数式部分の数字“2”が消去される（ステップＡ５）。
【００３８】
そして、音声入力部１９から「さん」のユーザ音声が再入力されるか又は数字キー“３”が入力されると、図６（Ｂ）に示すように、音声認識数式データメモリ１６ｂに記憶されている数式「1+2/5」が「1+3/5」に修正されて数式入力領域(1)に表示されると共に、数式変換データメモリ１６ｃに記憶されている自然表示数式「1+(2/5)」も「1+(3/5)」に修正されて数式変換領域(2)に表示される（ステップＡ６）。
【００３９】
この場合、前記数式入力領域(1)に表示されている数式（１６ｂ）の数式部分を指定するのではなく、数式変換領域(2)に表示されている数式（１６ｃ）の数式部分を直接指定して同様に修正する構成としてもよい。
【００４０】
図７は、前記タッチパネル式計算装置１０の数式修正処理に伴い演算子の取り込み範囲を候補表示させて誤りを修正する場合の数式表示動作を示す図である。
【００４１】
前記図５で示したように、数式変換領域(2)に表示された数式「1+(2/5)」において、その演算子“/”が取り込む数式の範囲を修正したい場合に、図７（Ａ）に示すように、当該演算子である除算子“/”を指定して反転カーソルＣｕを表示させると（ステップＡ１（Ｙｅｓ）→Ａ３（Ｙｅｓ））、図４における演算子に基づく数式候補の生成処理へ移行される（ステップＡＢ）。
【００４２】
この演算子に基づく数式候補の生成処理では、まず、前記指定の演算子が除算子“/”であることが判別され（ステップＢ１）、当該演算子（除算子）“/”が前方向の数式部分を取り込み可能な演算子であるか否か判断される（ステップＢ２）。
【００４３】
ここで、前記指定の演算子（除算子）“/”が前方向の数式部分を取り込み可能な演算子であると判断されると（ステップＢ２（Ｙｅｓ））、現在数式変換領域(2)に表示されている自然表示数式「1+(2/5)」（１６ｃ）で当該演算子（除算子）“/”の前方向に取り込まれている数式部分“2”よりさらに前方向の数式部分“1+”について区切りがあると検索され（ステップＢ３，Ｂ４（Ｙｅｓ））、当該区切りに応じて判別された数式構造の自然表示数式「(1+2)/5」が変換候補として変換候補データメモリ１６ｄに記憶され追加される（ステップＢ５）。
【００４４】
そして、前記区切りの検索された数式部分“1+”が同数式の先頭であると判断されると（ステップＢ６（Ｙｅｓ））、前記指定の演算子（除算子）“/”が後方向の数式部分も取り込み可能な演算子であることで、この演算子に基づく数式候補の生成処理は終了ではないと判断される（ステップＢ７（Ｎｏ））。
【００４５】
なお、前記区切りの検索された数式部分が同数式の先頭ではないと判断された場合は（ステップＢ６（Ｎｏ））、前記同様に現在表示中の自然表示数式で前記指定の演算子から前方向への数式部分の区切りの検索が繰り返され（ステップＢ３）、新たな区切りが検索される毎に当該区切りに応じて判別された数式構造の自然表示数式が変換候補として変換候補データメモリ１６ｄに記憶され追加される（ステップＢ４（Ｙｅｓ）→Ｂ５）。
【００４６】
前記ステップＢ７において、指定の演算子（除算子）“/”に基づく数式候補の生成処理が終了ではないと判断されると（ステップＢ７（Ｎｏ））、前記数式変換領域(2)に表示されている自然表示数式「1+(2/5)」（１６ｃ）で前記指定の演算子（除算子）“/”の後方向に取り込まれている数式部分“5”よりさらに後方向の数式部分の区切り（数字，記号の区切り）が検索される（ステップＢ８）。
【００４７】
ここでは、前記数式変換領域(2)に表示されている自然表示数式「1+(2/5)」（１６ｃ）で当該演算子（除算子）“/”の後方向に取り込まれている数式部分“5”よりさらに後方向の数式部分には区切りがないと判断され（ステップＢ９（Ｎｏ））、前記変換候補データメモリ１６ｄに記憶された変換候補の自然表示数式「(1+2)/5」が前記数式変換領域(2)に表示中の自然表示数式「1+(2/5)」に追加されて表示される（ステップＢ１２）。
【００４８】
なお、前記ステップＢ８，Ｂ９において、前記指定の演算子よりも後方向であって且つ既に取り込まれている数式部分よりさらに後方向の数式部分の区切りが検索された場合は（ステップＢ９（Ｙｅｓ））、当該区切りに応じて判別された数式構造の自然表示数式が変換候補として変換候補データメモリ１６ｄに記憶され追加される（ステップＢ１０）。
【００４９】
そして、前記区切りの検索された数式部分が同数式の末尾であると判断されるまで、前記同様に現在表示中の自然表示数式で前記指定の演算子から後方向への数式部分の区切りの検索が繰り返され（ステップＢ１１（Ｎｏ）→Ａ８）、新たな区切りが検索される毎に当該区切りに応じて判別された数式構造の自然表示数式が変換候補として変換候補データメモリ１６ｄに記憶され追加される（ステップＢ９（Ｙｅｓ）→Ｂ１０）。
【００５０】
そして、前記区切りの検索された数式部分が同数式の末尾であると判断されると（ステップＢ１１（Ｙｅｓ））、前記変換候補データメモリ１６ｄに記憶された変換候補の自然表示数式が前記数式変換領域(2)に表示中の自然表示数式に追加されて表示される（ステップＢ１２）。
【００５１】
このような演算子に基づく数式候補の生成処理により新たに生成されて変換候補データメモリ１６ｄに記憶された自然表示数式「(1+2)/5」が、前記図７（Ａ）で示したように、数式変換領域(2)に既に表示されている自然表示数式「1+(2/5)」と共に候補表示された状態で、前記指定の演算子“/”が取り込む数式部分の修正されたユーザ所望の自然表示数式「(1+2)/5」が選択されて決定される（ステップＡ７）。
【００５２】
また、例えば図７（Ｂ）に示すように、音声認識された数式「sin30+5」が音声認識数式データメモリ１６ｂに記憶され数式入力領域(1)に表示されるのに伴い、数式構造の判別を受けて変換された自然表示数式「sin(30)+5」が数式変換データメモリ２６ｃに記憶され数式変換領域(2)に表示された状態で（ステップＳ１〜Ｓ３）、その演算子（演算コマンド）“sin”が取り込む数式の範囲を修正したい場合に、当該演算コマンド“sin”を指定して反転カーソルＣｕを表示させると（ステップＡ１（Ｙｅｓ）→Ａ３（Ｙｅｓ））、前記同様に、図４における演算子に基づく数式候補の生成処理へ移行される（ステップＡＢ）。
【００５３】
この演算子に基づく数式候補の生成処理では、まず、前記指定の演算子が演算コマンド“sin”であることが判別され（ステップＢ１）、当該演算コマンド“sin”が前方向の数式部分を取り込み可能な演算子ではないと判断される（ステップＢ２（Ｎｏ））。
【００５４】
すると、前記数式変換領域(2)に表示されている自然表示数式「sin(30)+5」（１６ｃ）で前記指定の演算子“sin”の後方向に取り込まれている数式部分“30”よりさらに後方向の数式部分の区切り（数字，記号の区切り）が検索される（ステップＢ８）。
【００５５】
そして、前記自然表示数式「sin(30)+5」（１６ｃ）で演算子“sin”の後方向に取り込まれている数式部分“30”よりさらに後方向の数式部分“+5”について区切りがあると検索され（ステップＢ８，Ｂ９（Ｙｅｓ））、その区切りに応じて判別された数式構造の自然表示数式「sin(30+5)」が変換候補として変換候補データメモリ１６ｄに記憶され追加される（ステップＢ１０）。
【００５６】
そして、前記区切りの検索された数式部分“+5”が同数式の末尾であると判断されると（ステップＢ１１（Ｙｅｓ））、前記変換候補データメモリ１６ｄに記憶された変換候補の自然表示数式「sin(30+5)」が前記数式変換領域(2)に表示中の自然表示数式「sin(30)+5」に追加されて表示される（ステップＢ１２）。
【００５７】
このような演算子に基づく数式候補の生成処理により新たに生成されて変換候補データメモリ１６ｄに記憶された自然表示数式「sin(30+5)」が、前記図７（Ｂ）で示したように、数式変換領域(2)に既に表示されている自然表示数式「sin(30)+5」と共に候補表示された状態で、前記指定の演算子（演算コマンド）“sin”が取り込む数式部分の修正されたユーザ所望の自然表示数式「sin(30+5)」が選択されて決定される（ステップＡ７）。
【００５８】
これにより、音声認識されて変換された数式について、当該数式に含まれる演算子により取り込まれる数式部分を修正したい場合には、修正対象となる演算子を指定するだけで、取り込み範囲の異なる数式候補が生成されて表示されるので、所望の取り込み範囲に修正された数式候補を簡単に選択して決定できる。
【００５９】
なお、この演算子に基づく数式候補の生成処理において、指定の演算子の前後に取り込み可能な数式部分の区切りが多くなり、数式の変換候補が多く生成されることで、前記数式変換領域(2)に全ての数式候補を表示できないときには、当該数式の各候補をスクロール可能に表示する。
【００６０】
図８は、前記タッチパネル式計算装置１０の数式修正処理に伴い括弧で括る数式部分の範囲を指定して誤りを修正する場合の数式表示動作を示す図である。
【００６１】
前記音声入力受付処理（ステップＳ１）、音声認識処理（ステップＳ２）を経て、図８（Ａ）に示すように、タッチパネル表示部１８の数式入力領域(1)に音声認識された数式「1+2+3/4」が表示されると共に、その数式構造が判別されて自然表示形式に変換された自然表示数式「1+2+(3/4)」が数式変換領域(2)に表示される（ステップＳ３）。
【００６２】
数式変換領域(2)に表示された数式「1+2+(3/4)」において、分子となる数式部分の範囲を修正したい場合に（ステップＳ６（Ｙｅｓ）→ＳＡ）、図８（Ｂ）に示すように、数式入力領域(1)に表示された数式「1+2+3/4」の範囲「1+2+3」を指定して反転カーソルＣｕを表示させる（ステップＡ１（Ｙｅｓ）→Ａ２（Ｙｅｓ））。
【００６３】
すると、前記指定された数式「1+2+3/4」の範囲「1+2+3」が括弧で括られて分子となる数式構造と判別され、これに従い自然表示形式に変換され修正された自然表示数式「(1+2+3)/4」が数式変換データメモリ１６ｃに記憶され数式変換領域(2)に表示される（ステップＡ８）。
【００６４】
これにより、音声認識されて変換された数式について、当該数式の中で一塊の数式部分として括られるべき範囲を修正したい場合には、括りたい数式部分の範囲を指定するだけで、簡単に指定の範囲の数式部分が括られてなる数式に修正できる。
【００６５】
図９は、前記タッチパネル式計算装置１０の数式修正処理に伴い演算の順序を指定して数式の誤りを修正する場合の数式表示動作を示す図である。
【００６６】
前記音声入力受付処理（ステップＳ１）、音声認識処理（ステップＳ２）を経て、図９（Ａ）に示すように、タッチパネル表示部１８の数式入力領域(1)に音声認識された数式「1+2/3-4」が表示されると共に、その数式構造が判別されて自然表示形式に変換された自然表示数式「1+(2/3)-4」が数式変換領域(2)に表示される（ステップＳ３）。
【００６７】
数式変換領域(2)に表示された数式「1+(2/3)-4」において、演算の順序から数式の構造を修正したい場合に（ステップＳ６（Ｙｅｓ）→ＳＡ）、所定の操作により演算の順序による修正モードが指定されると（ステップＡ１（Ｎｏ）→Ａ９（Ｙｅｓ））、当該数式「1+(2/3)-4」の演算の順序をその順番と演算子とを対応付けて表記した演算順序ウインドウＷ「１［/］、２［+］、３［-］」が表示される（ステップＡ１０）。
【００６８】
そして、この演算順序ウインドウＷに表記された演算子の順番を、例えば当該各演算子をタッチしてドラッグするか、または反転カーソルＣｕにより指定して上書きすることにより、演算順序ウインドウＷ「１［+］、２［-］、３［/］」として変更する。すると、数式入力領域(1)に表示されている数式「1+2/3-4」（１６ｂ）が、変更後の演算順序に応じた数式構造の自然表示数式「(1+2)/(3-4)」に変換され、数式変換データメモリ１６ｃに記憶され数式変換領域(2)に表示される（ステップＡ１１）。
【００６９】
これにより、音声認識されて変換された数式について、当該数式の演算の順序からその数式構造を修正したい場合には、修正モードの指定により表示される演算順序ウインドウＷにおいて、該当の数式に含まれる演算子の順番を変更するだけで、簡単に所望の演算順序に応じた構造の数式に修正できる。
【００７０】
図１０は、前記タッチパネル式計算装置１０の数式修正処理に伴い演算子の取り込み範囲を候補表示させて誤りを修正する場合の他の実施例の数式表示動作を示す図である。
【００７１】
例えば、数式「log[x+√(x2+1)]を入力したい場合に、「ろぐ  えっくす  たす  るーと  えっくす  べき  に  たす  いち」と音声を入力する。すると、図１０（Ａ）に示すように、音声認識された数式「log x + √ x ^2 + 1」が音声認識数式データメモリ１６ｂに記憶され数式入力領域(1)に表示されるのに伴い、数式構造の判別を受けて変換された自然表示数式「log(x)+[√x]2+1」が数式変換データメモリ２６ｃに記憶され数式変換領域(2)に表示される（ステップＳ１〜Ｓ３）。
【００７２】
ここで、演算子（演算コマンド）“√”が取り込む数式の範囲を修正したい場合に、当該演算コマンド“√”を指定して反転カーソルＣｕを表示させると（ステップＡ１（Ｙｅｓ）→Ａ３（Ｙｅｓ））、前記同様に、図４における演算子に基づく数式候補の生成処理へ移行される（ステップＡＢ）。
【００７３】
この演算子に基づく数式候補の生成処理では、まず、前記指定の演算子が演算コマンド“√”であることが判別され（ステップＢ１）、当該演算コマンド“√”が前方向の数式部分を取り込み可能な演算子ではないと判断される（ステップＢ２（Ｎｏ））。
【００７４】
すると、前記数式変換領域(2)に表示されている自然表示数式「log(x)+[√x]2+1」（１６ｃ）で前記指定の演算子“√”の後方向に取り込まれている数式部分“x”よりさらに後方向の数式部分の区切り（数字，記号の区切り）が検索される（ステップＢ８）。
【００７５】
そして、前記自然表示数式「log(x)+[√x]2+1」（１６ｃ）で演算子“√”の後方向に取り込まれている数式部分“x”よりさらに後方向の数式部分“2”について区切りがあると検索され（ステップＢ８，Ｂ９（Ｙｅｓ））、その区切りに応じて判別された数式構造の自然表示数式「log(x)+√(x2)+1」が変換候補として変換候補データメモリ１６ｄに記憶され追加される（ステップＢ１０）。
【００７６】
すると、前記区切りの検索された数式部分“2”は同数式の末尾ではないと判断されるので（ステップＢ１１（Ｎｏ））、前記変換候補となった自然表示数式「log(x)+√(x2)+1」（１６ｄ）で演算子“√”の後方向に取り込まれている数式部分“x2”よりさらに後方向の数式部分“+1”について区切りがあると検索され（ステップＢ８，Ｂ９（Ｙｅｓ））、その区切りに応じて判別された数式構造の自然表示数式「log(x)+√(x2+1)」も変換候補として変換候補データメモリ１６ｄに記憶され追加される（ステップＢ１０）。
【００７７】
そして、前記区切りの検索された数式部分“+1”が同数式の末尾であると判断されると（ステップＢ１１（Ｙｅｓ））、図１０（Ｂ）に示すように、前記変換候補データメモリ１６ｄに記憶された２つの変換候補の自然表示数式「log(x)+√(x2)+1」と「log(x)+√(x2+1)」が前記数式変換領域(2)に表示中の自然表示数式「log(x)+[√x]2+1」に追加されて表示される（ステップＢ１２）。
【００７８】
ここで、前記演算子“√”により取り込まれる数式部分の修正された変換候補の自然表示数式「log(x)+√(x2+1)」を選択した後に（ステップＡ７）、さらに、演算子（演算コマンド）“log”が取り込む数式の範囲を修正するため、当該演算コマンド“log”を指定して反転カーソルＣｕを表示させると（ステップＡ１（Ｙｅｓ）→Ａ３（Ｙｅｓ））、前記同様に、演算子に基づく数式候補の生成処理が実行される（ステップＡＢ）。
【００７９】
すなわち、前記指定の演算子が演算コマンド“log”であることが判別され（ステップＢ１）、当該演算コマンド“log”が前方向の数式部分を取り込み可能な演算子ではないと判断される（ステップＢ２（Ｎｏ））。
【００８０】
すると、前記数式変換領域(2)に選択されて表示されている自然表示数式「log(x)+√(x2+1)」（１６ｃ）で前記指定の演算子“log”の後方向に取り込まれている数式部分“x”よりさらに後方向の数式部分“+√(x2+1)”について区切りがあると検索され（ステップＢ８，Ｂ９（Ｙｅｓ））、その区切りに応じて判別された数式構造の自然表示数式「log［x+√(x2+1)]」が変換候補として変換候補データメモリ１６ｄに記憶され追加される（ステップＢ１０）。
【００８１】
そして、前記区切りの検索された数式部分“+√(x2+1)”が同数式の末尾であると判断されると（ステップＢ１１（Ｙｅｓ））、図１０（Ｃ）に示すように、前記変換候補データメモリ１６ｄに記憶された変換候補の自然表示数式「log［x+√(x2+1)]」が前記数式変換領域(2)に表示中の自然表示数式「log(x)+√(x2+1)」に追加されて表示される（ステップＢ１２）。
【００８２】
この後、図１０（Ｄ）に示すように、前記指定の演算子“√”と“log”が取り込む数式部分の修正されたユーザ所望の自然表示数式「log［x+√(x2+1)]」が選択されて決定される（ステップＡ７）。
【００８３】
これにより、音声認識されて変換された数式について、当該数式に含まれる複数の演算子にそれぞれ取り込まれる数式部分を個別に修正したい場合でも、修正対象となる各演算子を順次指定するだけで、その都度、取り込み範囲の異なる数式候補が生成されて表示されるので、所望の取り込み範囲に修正された数式候補を簡単に選択して決定できる。
【００８４】
したがって、前記構成のタッチパネル式計算装置１０の音声認識数式処理に伴う数式修正機能によれば、ユーザ音声により数式を入力すると、音声認識された数式が当該認識された数式部分毎に順次数式入力領域(1)に表示されると共に、数式構造の判別された自然表示数式に変換されて数式変換領域(2)に表示される。そして、数式変換領域(2)に表示された自然表示数式について、再入力して修正したい数式入力領域(1)の数式部分（数字、記号、演算子）を長押し指定すると、指定された数式部分が消去された後、再入力された数字、記号、演算子に置き換えられて修正され、また、同数式に含まれる演算子を指定すると、指定された演算子に取り込まれる数式部分の範囲を異ならせた変換候補の数式が前記数式変換領域(2)に追加されて一覧表示され、この一覧表示された変換候補の数式がユーザにより選択されて決定される。また、前記数式変換領域(2)に表示された自然表示数式について、数式入力領域(1)に表示中の数式の範囲を指定すると、当該指定された範囲の数式部分が括弧で括られた構造の自然表示数式に変換されて前記数式変換領域(2)に修正表示される。
【００８５】
さらに、前記数式変換領域(2)に表示された自然表示数式の演算の順序をその順番と演算子とを対応付けて表記した演算順序ウインドウＷを表示させ、このウインドウＷに表記された演算子の順番を変更すると、数式入力領域(1)に表示されている数式が、変更後の演算順序に応じた数式構造の自然表示数式に変換され数式変換領域(2)に修正表示される。
【００８６】
これにより、音声認識により容易に数式を入力できるだけでなく、当該入力された数式に誤りがある場合に、その誤り方に応じて簡単かつ適切な手法により正しい数式に修正することが可能になる。
【００８７】
なお、前記実施形態において記載したタッチパネル式計算装置１０による各処理の手法、すなわち、図２のフローチャートに示す音声認識数式処理、図３のフローチャートに示す前記音声認識数式処理に含まれる数式修正処理、図４のフローチャートに示す前記数式修正処理に含まれる演算子に基づく数式候補生成処理などの各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フロッピディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の外部記憶媒体（１３）に格納して配布することができる。そして、タッチパネル式表示部（１８）および音声入力部（１９）を有する電子式計算機（１０）のコンピュータ（ＣＰＵ１１）は、この外部記憶媒体（１３）に記憶されたプログラムを記憶装置（１２）に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記実施形態において説明した音声認識数式処理に伴う数式修正機能を実現し、前述した手法による同様の処理を実行することができる。
【００８８】
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワークＮ上を伝送させることができ、この通信ネットワークＮに接続されたコンピュータ装置（プログラムサーバ２０）から前記のプログラムデータをタッチパネル式表示部（１８）および音声入力部（１９）を有する電子式計算機（１０）に取り込んで記憶装置（１２）に記憶させ、前述した音声認識数式処理に伴う数式修正機能を実現することもできる。
【００８９】
なお、本願発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【００９０】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００９１】
［１］
数式を表示する数式表示手段と、
この数式表示手段により表示された数式の部分をユーザ操作に応じて指定する数式部分指定手段と、
この数式部分指定手段により指定された数式部分の指定方法を判断し、指定方法に応じた修正手法に従って前記数式を加工して表示する出力手段と、
を備えたことを特徴とする数式入力装置。
【００９２】
［２］
前記出力手段は、前記数式表示手段により表示された数式の演算子が指定されたことを判断すると、当該指定された数式の演算子に取り込まれる数式部分を異ならせた数式の候補を生成してユーザに選択させるように表示することを特徴とする［１］に記載の数式入力装置。
【００９３】
［３］
前記出力手段は、前記数式表示手段により表示された数式の範囲が指定されたことを判断すると、当該指定された数式の範囲を括弧で括って表示することを特徴とする［１］または［２］に記載の数式入力装置。
【００９４】
［４］
前記出力手段は、
前記数式表示手段により表示された数式の数字、記号が指定されたことを判断すると、ユーザ操作に応じて再入力させるために、当該指定された数式の数字、記号を消去して表示することを特徴とする［３］に記載の数式入力装置。
【００９５】
［５］
前記数式表示手段により表示された数式についてその演算の順番をユーザ操作に応じて変更する演算順変更手段と、
この演算順変更手段により変更された演算の順番に従い前記数式を修正する修正実行手段と、
を備えたことを特徴とする［４］に記載の数式入力装置。
【００９６】
［６］
前記演算順変更手段は、
前記数式表示手段により表示された数式について当該数式に含まれる演算子をその演算の順番に対応付けて表示させる演算順表示手段を有し、
この演算順表示手段により表示された演算子の順番をユーザ操作に応じて変更する、
ことを特徴とする［５］に記載の数式入力装置。
【００９７】
［７］
前記数式表示手段は、ユーザの音声を認識して入力された数式を表示部に表示させることを特徴とする［１］ないし［６］の何れかに記載の数式入力装置。
【００９８】
［８］
表示部を備えた電子機器のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
数式を表示する数式表示手段と、
この数式表示手段により表示された数式の部分をユーザ操作に応じて指定する数式部分指定手段と、
この数式部分指定手段により指定された数式部分の指定方法を判断し、指定方法に応じた修正手法に従って前記数式を加工して表示する出力手段、
として機能させるためのプログラム。
【符号の説明】
【００９９】
１０  …タッチパネル式計算装置
１１  …ＣＰＵ
１２  …記憶装置
１２ａ…計算機制御プログラム
１２ｂ…音声認識数式処理プログラム
１２ｃ…数式修正処理プログラム
１３  …外部記憶媒体
１４  …記憶媒体読み込み部
１５  …通信制御部
１６  …ＲＡＭ
１６ａ…表示データメモリ
１６ｂ…音声認識数式データメモリ
１６ｃ…数式変換データメモリ
１６ｄ…変換候補データメモリ
１６ｅ…数式演算データメモリ
１７  …キー入力部
１８  …タッチパネル付き表示部
１９  …音声入力部
２０  …Ｗｅｂサーバ（プログラムサーバ）
【図１】
0006035843.tif 000002
【図２】
0006035843.tif 000003
【図３】
0006035843.tif 000004
【図４】
0006035843.tif 000005
【図５】
0006035843.tif 000006
【図６】
0006035843.tif 000007
【図７】
0006035843.tif 000008
【図８】
0006035843.tif 000009
【図９】
0006035843.tif 000010
【図１０】
0006035843.tif 000011