JP3725566B2 - Speech recognition interface - Google Patents
Speech recognition interface Download PDFInfo
- Publication number
- JP3725566B2 JP3725566B2 JP35314293A JP35314293A JP3725566B2 JP 3725566 B2 JP3725566 B2 JP 3725566B2 JP 35314293 A JP35314293 A JP 35314293A JP 35314293 A JP35314293 A JP 35314293A JP 3725566 B2 JP3725566 B2 JP 3725566B2
- Authority
- JP
- Japan
- Prior art keywords
- voice
- application program
- recognition
- input
- vocabulary
- 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.)
- Expired - Lifetime
Links
Images
Abstract
Description
【0001】
【産業上の利用分野】
本発明は、パーソナルコンピュータおよびワークステーションなどに用いられる音声認識インターフェースに関するものである。
【0002】
【従来の技術】
近年、計算機はキーボード、マウス、音声、画像など複数の入力手段を装備し、様々な指示やデータ入力を可能にしたものが考えられている。
【0003】
このうちで、音声入力は、人間にとって自然であり有力な入力手段といえるが、音声処理にかかる計算量や認識率などの点で問題があり、入力手段として広く利用されるに至らなかった。
【0004】
しかして、従来、音声認識インターフェースにおける、応用プログラムと音声認識システムの構成として、次のようなものが考えられている。
【0005】
図122は、応用プログラムAPに音声認識システムSRSが組み込まれているものである。このようにしたものは、音声認識機能が応用プログラムAPから分離できないため、他の応用プログラムから音声認識機能を利用するのが困難であった。
【0006】
また、図123は、一つの音声認識システムSRSと一つの応用プログラムAPからなり、両者が接続される構成のものである。このようにしたものは、音声認識システムSRSは、接続された応用プログラムAPに占有されるため、同じ音声認識システムSRSを別の応用プログラムから利用するには、別の応用プログラムに接続を変更する必要があり、接続し直すための手間がかかる。また、音声認識システムSRSと応用プログラムAPの間でやり取りするデータは、音声認識システムSRSから応用プログラムAPへ送られる認識結果のみであるため、音声認識システムSRSは応用プログラムAPの内部状態を知ることができない。このため、応用プログラムAPの内部状態に応じた認識対象語彙の変更などが自動的に行えず、利用者が語彙の変更を行う必要があるため、使い勝手の悪いシステムになっていた。
【0007】
また、図124は、一つの音声認識システムSRSと一つの応用プログラムAPからなり、それらが相互に接続されて、認識語彙や認識結果などの情報を送り合う構成のものである。このようにしたものは、音声認識システムSRSは応用プログラムAPの内部状態や認識語彙などを知ることができるため、認識語彙の変更を自動的に行うことができるが、音声認識システムSRSは応用プログラムAPに占有されるため、同時に他の応用プログラムが音声認識システムSRSを利用することができない。
【0008】
また、図125は、文献[Schmandtetal,“Augmenting a window system with speech input”,COMPUTER,Vol.23,pp.50−58,1990]のシステムの構成であり、一つの音声認識システムSRSから複数の応用プログラムAPに音声認識結果を一方的に送るものである。このシステムでは、ウインドウシステムを利用し、音声認識結果をマウスやキーボードによる入力に翻訳することによって音声を入力している。この構成のシステムでは、複数の応用プログラムAP音声認識機能を同時に利用できるが、音声認識システムSRSが応用プログラムAPの内部状態を知ることができないため、応用プログラムAPの内部状態に応じた認識処理を行うことができない。
【0009】
また、図126は、文献[Rudnicky他、spoken language recognition in an office management domain,Proc.ICASSP´91,S12.12,pp.829−832,1991]のシステムの構成であり、一つの音声認識システムSRSと複数の応用プログラムAPからなり、音声認識システムSRSと応用プログラムAPが相互に情報を送り合って音声認識を行う。このシステムには、複数の応用プログラムが連続音声認識を共用できるという特徴があり、高価な音声認識装置の利用に関して有用な方法を取っているといえるが、リアルタイム処理やワークステーション上での利用形態についての検討は十分ではない。この構成では、複数のプログラムが音声認識機能を利用可能であり、また、応用プログラムAPの内部状態に応じた認識システムSRS側の処理も可能であるが、同時に一つの応用プログラムAPとしか接続できないため、複数の応用プログラムAPを同時に扱えるという音声の特徴を生かした処理を行うことができなかった。また、どの応用プログラムAPに音声認識結果を送るかの決定は、音声認識システムSRSから行われていたため、例えば応用プログラムAP側で認識結果を必要としている場面でも、認識結果を得られない場合があった。
【0010】
【発明が解決しようとする課題】
このように従来の音声認識インターフェースによると、応用プログラムAPが音声認識対象を管理できないため、応用プログラムAP主導の音声入力制御ができず、利用者に音声認識を促したい状態でも、音声認識システムSRSからの音声入力許可命令を受けとるまで待たなければならなかった。また、1つの音声で複数の応用プログラムAPを同時に制御することができないため、例えば「終了」という1つの音声入力で、複数の応用プログラムAPを終了させることができなかった。また、認識結果にしたがって、音声入力を複数の応用プログラムAPに振り分けることができないため、音声の入力に先立って入力対象を特定することが必要とされていた。また、1つの音声入力に対して1つの音声認識システムしか動作しないため、例えば孤立単語認識と連続音声認識のように異なる種類の認識方式を共存させ、同時に利用するようなことができなかった。
【0011】
本発明は、上記事情に鑑みてなされたもので、音声認識システムより複数の応用プログラムを同時に取扱うことが可能で、使い勝手に優れた音声認識インターフェースを提供することを目的とする。
【0012】
【課題を解決するための手段】
本発明は、音声認識システムに複数の応用プログラムを接続した音声認識インターフェースにおいて、前記音声認識システムは、音声を認識する音声認識手段と、前記複数の応用プログラムのそれぞれに対応して、該応用プログラムが音声入力の対象となっているか否かを示す第1の情報、及び該応用プログラムのために認識対象とすべき1又は複数の認識対象語彙を示す第2の情報を少なくとも管理する応用プログラム管理手段と、この応用プログラム管理手段により管理されている前記第1の情報が音声入力の対象となっていることを示している1又は複数の前記応用プログラムに対応してそれぞれ管理されている前記第2の情報に基づいて音声入力に対する認識対象語彙を特定し、該特定された認識対象語彙のいずれかが前記音声認識手段により認識された場合に、前記第1の情報が音声入力の対象となっていることを示しており且つ前記第2の情報認識が当該認識された語彙を認識対象語彙とすることを示している1又は複数の前記応用プログラムを、当該認識された語彙の送信先として特定するメッセージ処理手段とを具備し、いずれの前記応用プログラムが音声入力の対象となっているかにかかわらず常に認識対象とすべき、個々の前記応用プログラムに一意に対応する語彙を示す第3の情報をも管理し、前記第3の情報に含まれる語彙のいずれかが前記音声認識手段により認識された場合には、当該認識された語彙に一意に対応する前記応用プログラムに対応する前記第1の情報を、当該応用プログラムが音声入力の対象となっていることを示す状態にすることを特徴とする。
また、音声認識システムに複数の応用プログラムを接続した音声認識インターフェースにおいて、前記音声認識システムは、音声を認識する音声認識手段と、前記複数の応用プログラムのそれぞれに対応して、該応用プログラムが音声入力の対象となっているか否かを示す第1の情報、及び該応用プログラムのために認識対象とすべき1又は複数の認識対象語彙を示す第2の情報を少なくとも管理する応用プログラム管理手段と、この応用プログラム管理手段により管理されている前記第1の情報が音声入力の対象となっていることを示している1又は複数の前記応用プログラムに対応してそれぞれ管理されている前記第2の情報に基づい て音声入力に対する認識対象語彙を特定し、該特定された認識対象語彙のいずれかが前記音声認識手段により認識された場合に、前記第1の情報が音声入力の対象となっていることを示しており且つ前記第2の情報認識が当該認識された語彙を認識対象語彙とすることを示している1又は複数の前記応用プログラムを、当該認識された語彙の送信先として特定するメッセージ処理手段とを具備し、前記応用プログラムは、それがキーボード入力の対象となった場合に、前記音声認識システムに対して、自信を音声入力の対象とすべきことを要求するものであり、前記音声認識システムは、前記応用プログラムから前記要求を受けた場合に、当該応用プログラムに対応する前記第1の情報を、当該応用プログラムが音声入力の対象となっていることを示す状態にすることを特徴とする。
好ましくは、前記音声認識システムは、予め定められた所定のイベントが発生した場合に、該発生したイベントの内容及び予め定められた規則に従って、所定の前記応用プログラムに対応する前記第1の情報を、当該応用プログラムが音声入力の対象となっていることを示す状態に変更するとともに、他の所定の前記応用プログラムに対応する前記第1の情報を、当該応用プログラムが音声入力の対象となっていないことを示す状態に変更するようにしてもよい。
好ましくは、前記音声認識システムは、前記応用プログラムのうちで通知要求を受けているものに対して、当該応用プログラム自身が現在音声入力の対象となっているか否かを少なくとも判断可能とする情報を通知するようにしてもよい。好ましくは、前記音声認識システムは、前記第1の情報が音声入力の対象となっていることを示している前記応用プログラムのウィンドウを、前記第1の情報が音声入力の対象となっていないことを示している他の前記応用プログラムのウィンドウの表示形態とは異なる表示形態で、表示画面に表示するようにしてもよい。
好ましくは、前記音声認識システムは、前記第1の情報が音声入力の対象となっていることを示している前記応用プログラムについて、該応用プログラムに対応する前記第2の情報が示す該応用プログラムのために認識対象とすべき1又は複数の認識対象語彙を、表示画面に表示するするようにしてもよい。
好ましくは、前記音声認識システムは、前記送信先として特定された前記応用 プログラムに対して送信された前記認識された語彙を、表示画面に表示するようにしてもよい。
好ましくは、前記第2の情報は、各々の応用プログラムから前記音声認識システムへ与えられるものであるようにしてもよい。
好ましくは、前記音声認識システムは、前記第2の情報を、対応する前記応用プログラムのウィンドウを複数に分割した各分割領域のそれぞれに対応して管理し、前記応用プログラムに対応する前記第2の情報としては、該応用プログラムのウィンドウにおける各分割領域のうち、マウスポインタが現在位置している分割領域に対応して管理されている前記第2の情報を用いるようにしてもよい。
好ましくは、前記音声認識システムは、前記複数の応用プログラムの少なくとも一部について、前記第1の情報及び前記第2の情報を、個々の前記応用プログラムに対応する1又は複数のウィンドウのそれぞれに対応して管理し、前記第1の情報及び前記第2の情報が前記ウィンドウのそれぞれに対応して管理されている前記応用プログラムについては、前記第1の情報が音声入力の対象となっていることを示している1又は複数の前記ウィンドウに対応してそれぞれ管理されている前記第2の情報に基づいて音声入力に対する認識対象語彙を特定し、該特定された認識対象語彙のいずれかが前記音声認識手段により認識された場合に、前記第1の情報が音声入力の対象となっていることを示しており且つ前記第2の情報認識が当該認識された語彙を認識対象語彙とすることを示している1又は複数の前記ウィンドウを、当該認識された語彙の送信先として特定するようにしてもよい。
好ましくは、前記音声認識システムは、前記第1の情報及び前記第2の情報が前記ウィンドウのそれぞれに対応して管理されている前記応用プログラムについて、該応用プログラムのウィンドウのうち前記第1の情報が音声入力の対象となっていることを示しているものにおいては、該ウィンドウに対応して管理されている前記第2の情報に加えて、該ウィンドウをもつ該応用プログラムの他のウィンドウに対応して管理されている前記第2の情報に含まれる、当該応用プログラムの他のウィンドウについても用いるものとして指定されている語彙をも用いるようにしてもよい。
【0013】
【作用】
この結果、本発明によれば各応用プログラムにより音声認識システムに対する音声認識結果の受信の可否を決定できるので、応用プログラムが自分や他の応用プログラムの音声入力に関する制御を自由に行うことができ、柔軟で使いやすい音声認識インターフェースが構築できる。
【0014】
また、音声認識システムがその音声認識結果を同時に複数の応用プログラムに送信できるので、一つの音声入力による操作を同時に複数の応用プログラムに対して行うこともでき、音声入力による計算機の操作性も向上する。
【0015】
さらに、音声認識システムが複数の応用プログラムに対する音声認識を行えるので、音声入力対象の明示的な指定をせずに音声認識結果に基づき音声入力を各応用プログラムに振り分けることができ、利用者の負担を軽減できる。
【0016】
【実施例】
以下、本発明の実施例を図面に従い説明する。
【0017】
(第1実施例)
図1は同実施例の概略構成を示している。図において、1は音声認識システムで、この音声認識システム1は、メッセージ処理部11、音声認識部12、応用プログラム管理テーブル13から構成され、メッセージ処理部11に複数の応用プログラム2を接続している。
【0018】
この場合、音声認識システム1は、応用プログラム2からのメッセージに含まれる指示に従って音声認識を行い、認識結果をメッセージとして応用プログラム2に送る。応用プログラム2は、その音声認識結果を利用してその応用に依存した固有の処理を行う。また、音声認識システム1は、同時に複数の応用プログラム2とメッセージを交換し音声認識結果を送信できるようにしている。
【0019】
音声認識システム1を構成するメッセージ処理部11は、応用プログラム2と音声認識部12のメッセージを交換し、音声認識システム1の全体制御を行う。また、音声認識部12は、メッセージ処理部11とメッセージを交換し合うことでメッセージ処理部11から送られてくる情報に従って入力音声に対して音声認識を行い、その結果情報をメッセージ処理部11に通知する。
【0020】
応用プログラム管理テーブル13は、音声認識システム1と通信を行う全ての応用プログラム2に関する情報を収納するテーブルである。このテーブルは、音声が入力された際の認識対象語彙の決定や、認識結果の送信先の決定に利用され、これにより音声認識システム1は同時に複数の応用プログラム2とのメッセージ交換を行うことができる。また、応用プログラム管理テーブル13は、プログラムID、入力マスク、認識対象語彙リスト、音声入力フラグを持っている。プログラムIDは、音声認識システム1により応用プログラム2に対して一意に付けられる識別のための番号である。入力マスクは、音声認識システム1から応用プログラム2に送信するメッセージの種類を限定するものである。認識語彙リストは、応用プログラム2が音声認識システム1に対して要求した認識語彙が記述されるテーブルである。音声入力時の認識対象語彙の決定に利用される。音声入力フラグは、当該応用プログラム2に音声フォーカスが当たっているか否かを表している。なお、応用プログラム2に音声フォーカスが当たるという言葉は、応用プログラム2が音声入力対象となるということを意味するものとする。すなわち、音声フォーカスは、認識結果の送信対象を特定するものである。
【0021】
図2は音声認識部12の概略構成を示している。
【0022】
この場合、音声認識部12は、音声検出部121、音声分析部122、認識辞書照合部123および音声認識辞書124からなっている。
【0023】
音声検出部121は、例えば一定時間間隔ごとの入力音声のパワーをもとにして検出を行う方法(永田、他“ワークステーションにおける音声認識機能の開発”,電子情報通信学会技術報告、HC9119,pp.63−70,(1991))が知られている。音声分析部122は、音声検出部121で検出される音声区間に対して、例えばFFTやバンドパスフィルタなどを用いて周波数分析を行い、単語音声の特徴パラメータを抽出する。認識辞書照合部123は、音声分析部122からの出力パラメータを用いて、例えば複合類似度法(上記の研究資料)やHMM、DPマッチングなどの手法により認識辞書124との照合を行い、スコアの最も高い語彙を認識結果として出力する。
【0024】
そして、認識辞書照合部123では、音声特徴パラメータと認識辞書124と照合を行う際、照合前に無駄な処理を行わないため、その時点で認識辞書124のどの語彙と照合を行うべきかをメッセージ処理部11に問い合わせ、その照会情報にしたがって認識辞書124との照合処理を行う。そして、認識の成功失敗にかかわらずその認識結果はメッセージ処理部11に送られ、応用プログラム管理テーブル13の内容にしたがって応用プログラム2に認識結果を送るようになる。
【0025】
ここで、図2では、認識部の要素が全て一体となっており、1つのプロセスとして動作可能であるが、図3に示すように音声検出部121を分離した構成も可能である。音声検出部121と後続の音声分析部122、認識辞書照合部123を、例えばべつプロセスとして両者の間のデータのやり取りをプロセス間通信により行えば、音声検出部121を独立した形で扱うことができ、例えば、図4に示すように複数の音声検出部121からの出力を共通の音声分析部122、認識辞書照合部123で扱うことができる。また、図5に示すように音声検出部121と音声分析部122を一体にして、認識辞書照合部123と認識辞書124を分離した構成も可能である。
【0026】
図6は応用プログラム2の概略構成を示している。
【0027】
この場合、応用プログラム2は、メッセージ入出力部21およびプログラム本体22からなっている。メッセージ入出力部21は、音声認識システム1とメッセージ交換を一括して行うもので、音声入力の標準の手段を応用プログラム2の作成者に提供するものである。また、複雑なメッセージ送受信規約を応用プログラム作成者から隠蔽し、全ての応用プログラム作成者に統一的に通信手続を提供するためでもある。プログラム本体22は、応用プログラムに依存した処理の手続を行うプログラムであり、応用プログラム固有の内部状態に従った音声認識システム1に対する命令や、音声認識システム1から音声認識結果を受け取った際の手続などを含んでいる。
【0028】
次に、このように構成した実施例の動作を説明する。
【0029】
この場合、音声認識システム1と応用プログラム2との間の情報のやり取りは、メッセージ交換によって行う。ここで、メッセージとは、ある構成要素からほかの構成要素に渡されるコマンドやそのコマンドの実行結果、音声認識結果などのデータを総称していう。
【0030】
メッセージによる通信は、例えば音声認識システム1をサーバ化し、また応用プログラム2を音声認識システムのクライアントとし、その間をTPC、DECnet、Streamなどのバイトストリーム型のプロトコルを利用して実装する。音声認識インターフェースの各構成要素間で交換されるメッセージを、次に説明する図7に示している。これらのメッセージの処理は、すべて音声認識システムのメッセージ処理部11が担当する。なお、上述の実施例では、図1の音声認識システム、全体が1つのプロセスとして実行するものとして説明したが、音声認識システムの構成要素である音声認識部、メッセージ処理部、応用プログラム管理テーブル、それぞれを別個のプログラムとして実行することも可能である。
【0031】
[音声認識システム1と応用プログラム2の間のメッセージ]
応用プログラム2から音声認識システム1へのメッセージは、図7(a)に示すような種類がある。これらは、基本的に、応用プログラム2から音声認識システム1への命令を意味している。
【0032】
ここで、通信路接続/切断要求は、応用プログラム2が音声認識システム1とメッセージを交換するにあたって、その通信路を接続/解放する要求である。音声認識辞書のロード/解放要求は、応用プログラム2が利用したい語彙を含む音声認識辞書を音声認識システム1にロード/解放する要求である。認識語彙設定要求は、応用プログラム2が、どの認識辞書のどの語彙を使って認識を行うかを音声認識システム1に要求するものである。入力マスク設定要求は、応用プログラム2が、音声認識システム1から受け取りたいメッセージの種類を設定する要求である。入力タスク設定要求は、音声フォーカスを、指定した応用プログラム2に変更する要求である。認識開始/終了要求は、音声認識システム1に対する音声認識開始/終了の要求である。
【0033】
一方、音声認識システム1から応用プログラム2へのメッセージは、図7(b)に示すような種類があり、2つに分類できる。1つは、応用プログラム2からの命令やデータの問い合わせなどの要求に対する応答で、これは上記の要求メッセージに対応する。もう1つのメッセージは、音声認識結果の情報や、音声認識システムの内部状態の変化にともない、音声認識システムによって生成されるメッセージである。
【0034】
ここで、音声認識結果は、音声認識システム1が、応用プログラム2の設定要求をした認識語彙を用いて認識した結果を通知するメッセージである。認識が成功した場合には、すくなくとも1つの認識語彙を含み、その語彙が何であるか、その語彙の持つ辞書はどれか、認識処理結果としての得点などの情報を含む。失敗した場合には(音声レベルが高すぎたとか低すぎたなど)、失敗した原因に関する情報を持っている。入力タスク変更通知は、入力タスク設定要求などで音声フォーカスが実際に変更された際に応用プログラム2に対して送信されるメッセージで、変更される前のタスクIDおよび変更後のタスクIDを含んでいる。認識辞書ロード/解放通知は、認識辞書ロード/解放要求などで認識辞書が新たにロードされたり解放された場合に送信されるメッセージである。通信路接続/切断の通知は、応用プログラム2が音声認識システム1に対して通信路接続/切断要求を発行した際に発生するメッセージである。応用プログラム2が要求せずに一方的に通信路を切断した場合にも発生する。認識語彙変更通知は、認識語彙設定要求により各応用プログラムの認識語彙が変更された場合に発生するメッセージである。
【0035】
これらは、音声入力を受け付け音声認識を行ったときや、音声フォーカスが変更されたときや、応用プログラム2が音声認識システム1と接続したときや、認識語彙が変更されたときなど、音声認識システム1から全ての応用プログラム2に送信できるものであるが、全てのメッセージを応用プログラム2が常時受け取る必要はない。応用プログラム2が、どのメッセージを受け取るかの設定は、各メッセージに対応する入力マスクを音声認識システム1に通知する事で行う(入力マスク設定要求)。これによって応用プログラム2は、自分の必要とするメッセージのみを音声認識システム1に通知してもらうことができる。
【0036】
図8は、入力マスクの種類を示している。これらは応用プログラム2が受け取りたいメッセージの種類に対応しており、同時に複数のマスクが設定できるものとする。
【0037】
この設定を音声認識システム1に通知することで、入力マスクに対応するメッセージが音声認識システム1の内部で生成される度にそれを受け取ることができる。例えば、音声認識結果マスクを設定すれば、音声入力がなされる度に音声認識結果を得ることができるようになるし、入力タスク変更マスクを設定すれば、音声フォーカスが変更される度に、それが応用プログラムに通知されるようになる。
【0038】
音声認識システム1と応用プログラム2の間のメッセージとして、上記の2種類のメッセージ(要求メッセージと応答メッセージ)以外に、エラーメッセージが考えられる。エラーメッセージは、成功時には応答を要しない応用プログラム2からの片道メッセージの失敗や、認識システムにクリティカルな状態が発生したときにそれを通知するメッセージである。また、上述したメッセージ以外にも、音声認識システム1の内部情報にアクセスするためのメッセージや、音声入力レベルを変更するなど、音声認識システム1や音声入出力の設定をするメッセージなどさまざまなメッセージが考えられる。
【0039】
このように、応用プログラム2は、音声認識システム1の内部状態の変化をメッセージの形で通知させることができるため、それに基づいて音声認識システム1を制御し、さらには他の応用プログラム2が制御できるようになるため、自由度の高い、柔軟なインターフェースを音声によって制御することができる。
【0040】
さて、音声認識システム1は、メッセージ処理部11と音声認識部12を有しているが、これらの間もメッセージによって情報交換がなされる。なお、音声認識システム1における応用プログラム2とのメッセージは、その全てをメッセージ処理部11が取扱っている。
【0041】
[音声認識部12とメッセージ処理部11の間のメッセージ]
音声認識部12からメッセージ処理部11へのメッセージは、図7(c)に示す種類がある。ここで、認識語彙照会要求は、音声認識システムに音声が入力された時点で、入力音声とどの認識語彙との照合を行うべきかを決定するために発行される要求である。音声認識結果は、入力音声とその時点で認識すべき認識語彙との照合結果をメッセージ処理部11に通知するものである。
【0042】
一方、メッセージ処理部11から音声認識部12へのメッセージは、図7(d)に示すような種類がある。ここで、認識辞書ロード/解放要求は、応用プログラム2が音声認識システム1に対して発行した認識辞書ロード/解放要求がそのまま音声認識部12へ引き渡された所のメッセージである。認識語彙情報は、音声認識部12からメッセージ処理部11への認識語彙照会要求に対する応答である。
【0043】
このようにして、音声認識システムを構成する各部において、メッセージをやりとりすることで、処理が進められるが、次に、音声認識インターフェースとして、処理がどのように進められていくかを図9に従い説明する。同図では、応用プログラム2が起動されてから、最初に音声認識結果を受け取るまでのタイムチャートを示している。
【0044】
この場合、応用プログラム2は、まず音声認識システム1との接続要求(a)を送る。接続が達成されたならば、音声認識語彙を含む認識辞書ロード要求(b)と、ロードした辞書中で音声入力に使いたい語彙を認識語彙とする設定要求(c)を発行する。メッセージ処理部11では、(a)に対しては応用プログラム2との通信路接続処理を行って、その結果を応用プログラム2に返す。(b)に対しては、メッセージをそのまま音声認識部12に送って辞書がロードされるのを待ち、辞書のロードの結果を応用プログラム2に返す。(c)に対しては指定された認識語彙を応用プログラム管理テーブル13に書込み、その処理結果を返す。認識対象語彙が無事に設定されたならば、応用プログラム2は、入力マスク設定要求(d)と入力タスク設定要求(e)を送る。メッセージ処理部11では、(d)と(e)を受けて、それぞれ応用プログラム管理テーブル13に書込む。
【0045】
以上が、音声認識システム1に対する応用プログラム2からの初期設定要求となる。初期設定が終わったならば、音声認識システム1からのメッセージ待ちに入る。メッセージを待ちながら、応用プログラム2固有のタスクに依存した処理などを行う。処理に伴う内部状態の遷移などに従い、認識語彙を変更する要求や入力タスクを自分自身や他の応用プログラム2に変更する要求など、任意の要求を自分の処理に応じて音声認識システム1に送り、音声認識システム1を応用プログラム2側から制御できるようにしている。
【0046】
ここで、音声入力が応用プログラム2に対して行われたとする。すると入力音声は、まず音声認識部12において、音声区間の検出と分析が行なわれる。音声認識部12は、音声分析を済ませたならば、その時点で認識対象となっている語彙を知るために、メッセージ処理部11に対して認識語彙照会要求(f)を送る。メッセージ処理部11では、これを受信すると、応用プログラム管理テーブル13を参照してこの場面で音声認識処理を行うべき語彙を調べ、その結果である認識語彙情報を音声認識部12に返す。音声認識部12では、(g)により指定された認識対象語彙に対応する認識辞書データと分析済みの分析データを照合し、その結果をメッセージ処理部11に送る。メッセージ処理部11では、(g)のうちの1位の尤度をもつ語彙を応用プログラム管理テーブル13の認識対象語彙中で探し、それを持つ応用プログラム2の音声入力フラグが1であり、かつ入力マスクとして認識結果通知マスクが設定されていたならば、その応用プログラムに対して認識結果を送信する。
【0047】
図9で説明した処理を、さらに具体例を用いて説明する。
【0048】
音声認識システム1と接続している応用プログラム2がシェルツールとテキストエディタの2つであった場合の応用プログラム管理テーブル13は、図10(a)に示すようになる。
【0049】
ここで新しくメールツールを起動する際の処理を説明する。起動されたメールツールが、まず通信路接続要求(a)を送信すると、応用プログラム管理テーブル13にメールツール用の領域が取られ、メールツールのプログラムIDが付けられる。プログラムIDは、例えば応用プログラム2の起動順に0から付けられるとする。次に認識辞書ロード要求(b)を送る。ここでは認識辞書はすでにロードされており、音声認識システム1は、そのことを応用プログラム2に知らせる。次に、認識語彙設定要求(c)で認識語彙として「先頭」「最後」「前」「次」「送信」「終了」を送り、入力マスクとして認識結果通知マスクを送る(d)。入力タスク設定要求(e)として、現在当たっている全ての音声フォーカスを無効にし、音声フォーカスをメールツールに当てる要求をする。
【0050】
なお、本実施例では、1つの認識辞書をすべての応用プログラム2で共通に使うこととし、従って、図10においては、複数の辞書を利用する場合に必要となる各語彙がどの辞書に含まれるかを示す情報を省略する。
【0051】
以上の処理により、応用プログラム管理テーブル13は、図10(b)のようになり、シェルツールに当たっていた音声フォーカスは、新たに起動されたメールツールに変更され、メールツールは音声入力が可能な状態になる。
【0052】
ここで、例えば「次」という音声が入力されたとする。入力された音声は、音声認識部12において音声区間検出と分析処理を施され、音声特徴パラメータが求められる。音声認識部12は、この音声特徴パラメータと照合する辞書データを知るべく、メッセージ処理部11に対して認識語彙照合要求(f)を送る。この要求を受けたメッセージ処理部11は、応用プログラム管理テーブル13を参照してその時点での認識対象語彙を知る。ここでは、音声入力フラグが1であり、かつ入力マスクに認識結果通知マスクが設定されているメールツールの認識対象語彙リスト中の全ての語彙「先頭」「最後」「前」「次」「送信」「終了」がその時点で入力可能な語彙となる。これら6つの語彙が音声認識部12に通知され、音声認識部12は、これら語彙に関する辞書データと分析された特徴パラメータに対して照合処理を行い、その結果をメッセージ処理部11に送る(g)。
メッセージ処理部11は、認識結果を受けとると、応用プログラム2中の音声入力フラグが1であり、かつ入力マスクに認識結果通知マスクが設定されている応用プログラム2の認識対象語彙リスト中に認識結果の語彙を探し、発見したならばその認識結果をその語彙リストを持つ応用プログラム2に対して送信する。
【0053】
先の音声入力の認識結果が「次」であった場合には、メールツールに送信されることになる。「次」という認識結果をメッセージ入出力部21を介して受けとった応用プログラム2は、例えば現在表示している受信メールの次のメールを表示するといった処理を行う。
【0054】
図10(a)(b)では、シェルツールの入力マスクとして、認識結果通知マスクが設定されている。このマスクにより音声フォーカスの変更が発生する度にそれが通知されるようになる。
【0055】
上述の例では、メールツールからの入力タスク設定要求(e)を音声認識システム1が受信し、メッセージ処理部11が音声フォーカスの変更を行ったときに入力タスク変更通知のメッセージがシェルツールに送られる。認識結果通知マスク以外の入力マスクは音声入力フラグの値に依存していないため、入力タスク変更マスクが設定されていれば、音声入力フラグの値に関係なく、音声フォーカスの変更メッセージが、それが起きる度に応用プログラム2に通知される。応用プログラム2は、このような音声認識システム1の内部状態の変化をメッセージを介して知ることで、様々な柔軟な処理をすることができる。例えば、シェルツールは、音声フォーカスを失ったことを利用者に画面表示や合成音声またビープ音などを通じて知らせることができる。
【0056】
このようにして、応用プログラム2は、メッセージを通じて音声認識システム1を自由に制御できるようになり、応用プログラム主導の柔軟な音声認識インターフェースが得られることになる。
【0057】
従って、第1実施例によれば、複数の応用プログラム2が同時に平行して動作するマルチタスク環境において、各応用プログラム2が音声認識システム1と通信により直接メッセージ交換を行い、認識語彙や認識結果などのデータを直接相互に交換できるため、全ての応用プログラム2にキーボードやマウスなどの様に、音声入力を標準的な入力手段として装備することができるため、ワークステーションなどのマルチタスク環境における音声入力の本格的な利用が可能となり、音声を含めたマンマシンインタフェースの使い勝手の向上が期待できることになる。
【0058】
なお、本実施例は、孤立単語認識を応用した音声認識インターフェースの実施例であったが、連続単語音声認識や連続音声認識を応用することも可能である。
(第2実施例)
同第2実施例では、マルチタスクの計算機環境において、ウィンドウシステムを同時に利用することで、ユーザの利用環境の向上を可能にしている。
【0059】
ウィンドウシステムを同時に利用する場合の構成を図11に示している。この場合、音声入力を扱う音声認識システム3と、キーボード入力およびマウス入力を扱うウィンドウシステム4と、これら音声認識システム3およびウィンドウシステム4と相互にメッセージを通信する1つ以上の応用プログラム5からなっている。つまり、同実施例では、上述の第1実施例にウィンドウシステムを追加し、応用プログラムにウィンドウシステムとの間の通信手段を持たせるようにしている。
【0060】
ウィンドウシステム4と音声認識システムと3は、相互に独立している。また、ウィンドウシステム4と応用プログラム5との間のメッセージは、マルチウィンドウ環境におけるウィンドウの生成や、キーボード入力やマウス入力などの処理に関するものである。
【0061】
本実施例を説明する前に、マルチウィンドウを実現するウィンドウシステムについて簡単に説明する。ワークステーションなどのマルチタスクの計算機環境でマルチウィンドウを実現するウィンドウシステムは、その環境下で動作する複数の応用プログラムと通信し、各々の応用プログラムをビットマップディスプレイと呼ばれる表示画面に抽象化して表示される。そこでは、応用プログラムごとに基本的に1つのウィンドウが割り当てられる。
【0062】
図12は、一般的なウィンドウシステムの画面表示例である。この例では、A,B,Cの3つの応用プログラムが平行して動作している。ウィンドウシステムは、キーボードやマウスなどの入力装置を管理し、複数の応用プログラムに入力装置を共有させる。マウス画面中では、矢印型のマウスポインタとして抽象化されており、ウィンドウの操作や入力対象の指定などに使われる。
【0063】
なお、本願の実施例では専ら、ポインティングデバイスとしてマウスを利用した説明をしているが、ペンやタッチパネルなど他のポインティングデバイスを用いることも可能であり、全ての実施例における記述はこれら他のポインティングデバイスについても全く同様に適用できる。
【0064】
キーボード入力を行う対象は、キーボードフォーカスによる。キーボードフォーカスは一般的にマウスポインタによって指定される。キーボードフォーカスの当たっている応用プログラムは、ウィンドウ枠がそれ以外のウィンドウより太くしたり、ウィンドウ上部のタイトルバーの色を変えることで表現される。図12では、応用プログラムBにキーボードフォーカスが当たっている様子を示す。キーボードフォーカスは一般に常に1つのウィンドウにだけ当てられる。
【0065】
ここで、第1実施例で述べた3つのプログラム、つまりシェルツール、テキストディタ、メールツールを再び利用して説明する。この場合、各プログラムは、ウィンドウシステムによって各々1つのウィンドウとして抽象化され表現される。また、音声認識システムとも通信を行い、起動時に音声認識システムに対して第1実施例で示した手順をもって認識語彙を設定する。各応用プログラムの認識語彙は同じく図13に示す通りである。
【0066】
一般に既存のウィンドウシステムにおいて、応用プログラムは、キーボードフォーカスの変更の通知が受け取られる。キーボードの入力対象と音声の入力対象を同じ応用プログラムにするために、応用プログラムはキーボードフォーカスが当たったならば、音声認識システムに対し、自身に音声フォーカスを当てる要求をし、外れたならば音声フォーカスをはずす要求をする。これは、第1実施例で述べた、入力タスク変更要求を送信することで可能となる。以下ではキーボードフォーカスと音声フォーカスを一致したものとして扱い、それを入力フォーカスと呼ぶ。入力フォーカスはマウスによって操作する。
【0067】
入力フォーカスの移動に伴う音声認識語彙の変化を図14に示している。この場合、図14(a)は状態1、図14(b)は状態2を示すもので、入力フォーカス(それと同時に音声フォーカスも)がテキストエディタに当たっている。従って、この状態で認識可能な語彙は、テキストエディタの認識語彙である、「カット」「コピー」「ペースト」「解消」「終了」の5つである。ここではユーザはこの5つの語彙を発声すると、音声認識結果がテキストエディタに送られるということである。マウスポインタによりシェルツールを指定すると、入力フォーカスはシェルツールに移動し(それと同時に音声フォーカスもシェルツールに移動し)認識可能な語彙は、シェルツールの認識語彙である「ヒストリ」「リスト」「ホーム」「プロセス」「終了」の5つに変化する。
【0068】
音声認識語彙として何を使うかは自由であり、応用プログラム毎の認識語彙をユーザが記憶、判断することは、ユーザへの大きな負担となる。しかし、個々の応用プログラムに認識語彙の表示を可能にする手段をもたせるのは逆に応用プログラムの作成者にとって負担となる。また、音声入力は、キーボードなどの入力手段と違って暖味性があるため、入力音声が正しく認識されたかをユーザが確認できることが重要となってくる。
【0069】
この問題を解決する手段として、音声認識インタフェースに標準的な応用プログラムとして、図15に示すような、認識語彙を表示するプログラム(語彙表示プログラム)を作成することが考えられる。このプログラムは、全ての応用プログラムが、新規の応用プログラムが通信路を接続/切断したり、語彙の変更を要求したり、音声フォーカスの変更をする度に、自身に、それらの要求により発生するメッセージを送信するように要求する(すなわちそれを受け取る入力マスクを設定する)。語彙表示プログラムは、常に、その時点で認識可能な語彙をすべて表示できる。また、音声が認識される度に、それを知り、応用プログラムに送信された認識結果を、例えば図15のように色を変えて表示することで、音声認識システムが受け付けた音声入力を確認できる。認識語彙表示プログラムにより、応用プログラムの使用者と作成者の双方の負担を軽減し、より使いやすい音声入力環境をユーザに提供できる。
【0070】
また、語彙表示プログラムのリスト中の色を変える以外に、認識結果は別の方法によっても、使用者に通知できる。
【0071】
例えば、ディスプレイのスクリーン、あるいはアプリケーションのウインドウの特定の位置に認識結果を表示させる方法もある。この表示部分は、アプリケーションごとに持つことも音声認識システム自身が所有していてもよい。ウインドウシステム環境下では、認識結果表示用のウインドウを作成しておき、アプリケーションのウインドウの中央部や上下左右などの周囲の部分あるいはマウスなどのポインタ、キーボード入力のカーソルなどの付近など、特定の位置に表示させるように位置調節をすればよい。
【0072】
また認識結果は、次の認識結果が得られるまで表示し続けてもよいし、認識結果が得られた直後だけ表示し、ある時間が経過した後は、次の認識結果が得られるまで表示させないようにしておいてもよい。特にマウスなどのポインタやキーボード入力のカーソルの付近は、視線の移動がわずかで済む利点がある反面、作業している領域の近くで常時表示させると作業の妨げになる場合もあるので、認識結果が得られた直後だけ表示するのは有効である。これとスクリーンやアプリケーションの特定位置に認識結果を常時表示させる方法と併用してもよい。
【0073】
応用プログラム間だけではなく、1つの応用プログラム内でも、そのマウスの位置によって音声認識語彙を変更することで、必要以上の認識処理を減らし、音声入力をより確実なものにできる。例えば、図16(a)および同図(b)に示すように、メールツールをリスト表示部とテキスト表示部の2つに分割し、そのどちらにマウスポインタがあるかによって認識語彙(ここでは認識語彙は8つである)を変える。こうすることで、必要以上の無駄な認識処理をおさえるとともに、入力音声の認識誤りを起こりにくくすることができるという効果がある。
【0074】
また、第1実施例では、新たなアプリケーションが起動されると、そのアプリケーションに音声フォーカスが移ることを説明した。同様にアプリケーションの起動、終了時あるいは、マウス、ペンなどのポインティングデバイス、キーボードなどの入力操作や音声認識の結果を受けて実行される処理の結果として、アプリケーションのウインドウ状態変化がある(ウインドウが生成破壊、ジオメトリ変更された)場合には、音声フォーカスの移動を行う規則を作ることにより使い勝手を向上させることができる。
【0075】
例えば、「ウインドウの破壊、アイコン化、ウインドウが他のウインドウに隠れる、等の場合音声フォーカスを失い、ウインドウの生成、非表示状態から表示状態への変更、ウインドウが他のウインドウの上に表示される、ウインドウの大きさを大きくする、等の場合音声フォーカスを獲得する。」、というような規則に従い、各アプリケーション内部でウインドウ状態変化に応じて、フォーカスの獲得・消去を行う。勿論、このような、ウインドウ状態変化は個々のアプリケーションが個別に管理しなくても、音声フォーカスの管理を行うプログラムにより一括管理してもよい。この場合、この管理プログラムは、ウインドウシステムを管理するプログラム(例えば、システムのウインドウサーバ)に管理したいアプリケーションのウインドウの状態変化を知らせてもらい、その通知を受けた時に上述のような規則を適用して、音声フォーカスを変更すればよい。
【0076】
また、音声フォーカス管理プログラムがあれば、音声フォーカスを獲得していたアプリケーションがアプリケーションの終了、ウインドウの破壊などにともない音声フォーカスを失った場合も、どのアプリケーションに音声フォーカスを移すかに関して、同様に規則を作り、使い勝手を向上させることができる。
【0077】
例えば、「音声フォーカスの履歴を音声フォーカス管理プログラムが保持しておき、音声フォーカスを獲得していたアプリケーションが音声フォーカスを消失した場合、その消失原因が他のアプリケーションのフォーカス獲得要求によるものでないならば、それ以前に音声フォーカスを獲得していたアプリケーションにフォーカスを戻す。」、という規則を作り、音声フォーカス管理プログラムがこれに従って、音声フォーカスを変更させれば、音声フォーカスを獲得しているアプリケーションが1つもない状態、すなわち音声認識ステムの出力をどのアプリケーションも受け取らない状態を回避することができる。
【0078】
なお、本実施例においては、音声認識システムとウインドウシステムを独立した構成としたが、両システムを統合した形態の音声認識インターフェースの実現も可能である。
【0079】
(第3実施例)
第2実施例では、音声認識システムとウィンドウシステムを組み合わせ、音声フォーカスとキーボードフォーカスを一致させて、1つの入力フォーカスとし、入力フォーカスをマウスポインタで指定することで、音声認識対象語彙を変更した。しかし、これでは入力フォーカスを変更する度にキーボードから手を離さなければならない。入力フォーカスの変更を音声で可能にすることでユーザはキーボードから手を離さずに入力タスクを変更し、ユーザのマルチウインドウ環境における使い勝手の向上を期待できる。
【0080】
入力フォーカスを音声入力で変更可能にするため、実施例1を拡張して各認識語彙に対してローカルとグローバルの2つの値を設定できるようにする。ローカルな認識語彙とは、それによる認識設定をした応用プログラムに音声フォーカスが当たっている際に認識するような語彙であり、グローバルな認識語彙とは、音声フォーカスがどの応用プログラムに当たっているかにかかわらず、認識対象となるような語彙である。
【0081】
ここで、再び3つの応用プログラム(シェルツール、テキストエディタ、メールツール)を使って説明する。
【0082】
各応用プログラムの認識語彙は、図17に示す通りである。ローカル/グローバル設定にともない応用プログラム管理テーブル中の認識対象語彙リスト中の語彙のそれぞれにローカル/グローバルを示すフラグを設ける。応用プログラム管理テーブルは、図18に示すようになる。音声入力が与えられたときに、メッセージ処理部は、この応用プログラム管理テーブルを使って認識語彙を次のように求める。まず、応用管理テーブルを参照して音声フォーカスの当たっている応用プログラムのローカル認識語彙を拾い出す。次いで全ての応用プログラムのグローバル認識語彙を拾い集める。これらがその時点での認識システムが認識可能とする語彙である。例えば、テキストエディタに音声フォーカスが当たっているとすると、その時点での認識語彙は「カット」「コピー」「ペースト」「取消し」「終了」「シェルツール」「メールツール」「テキストエディタ」の8つである。ここで、「カット」「コピー」「ペースト」「取消し」「終了」「テキストエディタ」の発声に対する認識結果は、テキストエディタに送付され、「メールツール」「シェルツール」は、それぞれメールツール、シェルツールに送信される。例えば、この状態でメールツールを発声した時に、メールツールの中で入力フォーカス(音声フォーカスとキーボードフォーカス)を自分自身に変更すれば、音声入力とキー入力の対象をキーボードから手を離すことなく変更できる。
【0083】
これは、換言すれば、ウインドウに名前を付けると言うことである。このウンドウ名はウインドウの上部のタイトル表示部に表示すれば、ユーザは、それによってウインドウを何と呼べばよいかわかる。
【0084】
以上のように、本実施例では、認識語彙にローカル/グローバルの属性を与えることで、ウィンドウに名前を付け、その名前を発声することで手を使わずにフォーカスの変更が可能となり、応用プログラムを切り替えることが可能となる。
(第4実施例)
第2、3実施例では、音声フォーカスとキーボードフォーカスを一致させ、同時に1つのウインドウだけが両者の入力を排他的に受け付けるようにした。
【0085】
この2つの入力フォーカスを一致させることで1つの応用プログラムが両方の入力から一手に引き受けることができた反面、2つの入力手段がありながらそれぞれ別々の応用プログラムに対する入力をできなかった。本実施例では、この2つのフォーカスを分離するために音声フォーカスをマウスポインタによって直接操作しないようにする(キーボードフォーカスは、マウスポインタを使う。)。
マウスポインタがウインドウに入り、それが応用プログラムに通知されても、応用プログラムは音声フォーカスを移動させない。この場合は、音声フォーカスは、第3実施例で述べたようにウインドウに名前を付け、それぞれグローバル認識語彙とし、その名前で発声することで変更できる。
【0086】
入力フォーカスを分離した際、その2つのフォーカスをユーザに分かりやすく呈示しなければ、ユーザが入力する際に混乱してしまう。本実施例では、キーボードフォーカスをウインドウ枠を太くすることで表示し、音声フォーカスをウィンドウタイトルの色を変化させることで示すこととする。
【0087】
図19は、入力フォーカスを2つに分離し、それぞれを別々に移動させた場合の例である。同図(a)では、両フォーカスは、どちらもテキストエディタに当たっている。メールツールをマウスポインタで指定すると、キーボードフォーカスはメールツールに移動するが、音声フォーカスは、テキストエディタに当たったままである同図(b)。同図(a)の状態から、「メールツール」音声入力を行うと、音声フォーカスがメールツールに移動するが、キーボードフォーカスはそのままである。同図(b)および(c)において、キーボードフォーカスと音声フォーカスは、それぞれ個別の応用プログラムに当たっているため、まったく同時に別々の入力チャンネルを通じて2つの応用プログラムを操作できる。例えば、同図(c)の状態にすることで、テキストエディタに対してキーボードで文章を打ち込みながらメールツールを音声で操作し、受信した電子メールを読むことができる。
【0088】
また、音声フォーカスをコントロールする応用プログラム、音声フォーカスマネージャを作成し、これにより音声フォーカスを音声以外の手段で移動できるようにもしている。図19の右側が音声フォーカスマネージャを示してており、この音声フォーカスマネージャは、同時に動作している応用プログラムの状態を音声認識システムと通信することで知り、リストなどの形で表示する。
【0089】
音声フォーカスは、例えば応用プログラム名を反転表示することで表現し、これらリスト上をマウスポインタで指定することで音声フォーカスが変更できるようになる。また、応用プログラムに入力可能な手段は、キーボードや音声以外にもペンなども考えられる。応用プログラムに入力可能な手段および何が入力できるかを表示すればユーザの使い勝手が向上できる。例えば、入力可能性を手段別にアイコン化することで表示する。
【0090】
このように、音声入力対象と音声以外の手段による入力対象を別々に分離することで、複数の入力手段を複数の応用プログラムに割り当て、人間が自然の形の作業を平行して行うことができるようになる。
【0091】
(第5実施例)
図20は、同実施例の概略構成を示している。この場合、音声認識システム6に対して複数の応用プログラム7を接続している。そして、これら応用プログラム7には、それぞれメッセージ入出力部71を有している。
【0092】
しかして、音声認識システム6は、音声入力があるごとに、その音声に対して認識処理を行い、その認識結果を応用プログラム7に送信する。応用プログラム7は、音声認識システム6に対して認識対象語彙を通知し、音声認識システム6は、それを用いて認識処理した結果を応用プログラム7に送信する。
【0093】
応用プログラム7は、メッセージ入出力部71を有していて、このメッセージ入出力部71は、応用プログラム7が認識結果を受け取るか否かを決定し、その要求を音声認識システム6に対して行う。メッセージ入出力部71は、応用プログラム7の指示によって音声認識システム6に対して応用プログラム7のための音声認識を行う要求をしたり、音声認識システム6から送信された認識結果を受けて応用プログラム7に渡したり、ブロックして渡さなかったりする。また、認識対象語彙を変更できる。
【0094】
応用プログラム7がメッセージ入出力部71を持つことで、応用プログラム7は、外部からの働き掛けによらず、自分の状態にしたがって音声入力(認識結果)を受けとったり、受けとらなかったりできる。
【0095】
例えば、音声による制御が可能な電子メールシステム(音声メールと称する。)の例を挙げると、音声の誤認識による誤動作を防止するため、音声入力が不能な状態で音声メールを起動、動作させておく。音声メールがメールをうけとると、例えば「新しいメールを受信しました。いますぐお読みになりますか。」と合成音声を出力して知らせ、「はい」「いいえ」などの確認を取るための認識対象語彙と、それにより音声認識することを音声認識システム6に通知する。ユーザが「はい」といったならば、新しく受信したメールを表示したり、合成音声によりメールを読み上げたりする。「いいえ」といったならば、音声メールは音声認識システム6に対して音声認識結果を受けとらないように要求し、元の状態に戻る。
【0096】
「新しくメッセージを…」のメッセージは、合成音声でなく、図21のように表示してもよい。同図での「はい」「いいえ」は、マウスなどでも操作を可能とするためである。
【0097】
また、図20において、1つの応用プログラム7のメッセージ入出力部71に、他の応用プログラム7の音声入力を可能にしたり、ブロックしたりする機能を与えれば、電子メールの例で言えば、確認のための音声入力を待つ間、電子メールは、他の音声によって制御が可能な応用プログラム7の音声入力を一時的にブロックし、確認が終わった時に戻すような操作が可能になる。
【0098】
応用プログラム7による、こうした他応用プログラム7の音声入力をブロックする操作が競合した場合には、時間的に後にブロックモードになった応用プログラム7は、先にブロックモードになった応用プログラム7のブロック解除を待つ操作ができる。
【0099】
このように音声認識システム6でなく、応用プログラム7にタスクの管理を可能にする手段を持たせることにより、応用プログラム7が音声認識システム6の指示に従うだけでなく、応用プログラム7独自の内容状態に従って音声入力を利用できる。
【0100】
また、ある特定の応用プログラム7に他の全ての応用プログラム7のタスクの管理(音声認識結果を送るか否か、どの認識対象語彙により音声認識を行うか否かなどの処理)を行わせることもできる。
【0101】
図22は、ワークステーションなどのマルチウィンドウ環境で、音声により操作できるメールツール、シェルツール、テキストエディタおよびタスク管理プログラムを示している。ここでは、どれか1つの応用プログラム7が音声入力を可能としている。この場合、テキストウディタが音声入力対象となっている(タイトルの色の変更によりそれが表示されている。)。そして、音声入力対象となっていることは、タスク管理プログラムでも同様に表示することができる。この例では、音声入力対象の変更は、タスク管理プログラムの表示の上をマウスなどのポインティングデバイスを利用して指定することができる。
【0102】
(第6実施例)
実施例5では、1つの応用プログラム7だけを音声入力対象としたが、複数の応用プログラム7を同時に認識対象することも可能である。
【0103】
図20の音声認識システム6に、例えば図23に示すような応用プログラム管理テーブルを持たせる。この応用プログラム管理テーブルは、音声認識システム6に接続している全ての応用プログラム7に関して認識の可否および認識対象語彙に関する情報を持つ。
【0104】
このテーブルの情報の変更は、各応用プログラム7のメッセージ入出力部71からの要求によって行う。図23では、メールツールとシェルツールが音声入力可能になっている。図23の状態は、例えば図24に示すように表現できる。
【0105】
ここで音声認識システム6は、「プロセス」「ホーム」といった音声入力は、シェルツールに送り、「先頭」「次」といった音声入力は、メールツールに送るといったように、認識した結果を自動的に振り分けることができる。また、「終了」は、メールツールとシェルツールに同時に送ることができるため、各応用プログラム7はそれを受け取って応用プログラム7自身を終了させることができる。
【0106】
さらに、複数の応用プログラム7を音声入力対象とすることを前提とすれば、次のような操作が可能になる。図25は、タスク管理プログラムの機能を拡張した例である。「排他制御」は従来あるように音声入力対象の応用プログラム7を常に一つにする機能である。「全部」は、音声認識システム6に接続されている全ての応用プログラム7を音声入力対象とする機能である。「反転」は音声入力対象を逆転させる機能であり、メールツールとシェルツールが音声入力対象となった状態で「反転」することで音声入力対象がエキストエディタとなる。もう一度「反転」すれば元に戻る。これらの操作は、マウスのようなポインティングデバイスだけでなく、音声やキーなどの入力装置により可能である。例えば、何等かのキーボタンやキーを押しながら音声入力する。
【0107】
「全部」ボタンを押しながら発声すると、全部の応用プログラム7が音声入力対象となり、「反転」ボタンを押しながら発声すると、音声入力対象が反転し、ボタンを離すとそれらの状態は元に戻る。
【0108】
特定の1つの対象を指定しないまま入力し、その入力が適切に処理されることが本実施例では可能になる。ワークステーションなどのマルチウインドウ環境を考えると、その上で例え音声による操作が可能な応用プログラム7が複数動作していたとしても、対計算機ということを考えれば、人間の相手は1つであり、計算機も相手の発声をタスク切換えなどの特別な操作をすることなく、自動的に適切に処理されることを人間が期待するのは自然のことであり、音声メディアの特性を活かすことになるといえる。
【0109】
(第7実施例)
上述の第6実施例において、各応用プログラム7の認識対象語彙が何であるかは分からない。そのため、タスク管理プログラム(あるいは別の応用プログラム7にしてもよい)に各応用プログラム7の認識対象語彙を表示させる。応用プログラム7は音声認識システム6に対して、音声認識システム6の持つ応用プログラム管理テーブル(図23)の情報を要求することで、その表示が可能である(図26)。
【0110】
このように音声入力対象となった応用プログラム7の認識対象語彙を自動的に表示することで、ユーザが各応用プログラム7ごとに入力に使用する認識対象語彙を記憶する必要がなくなり、ユーザの負担が少なくなる。また、応用プログラム7の作成者の側にも認識対象語彙を表示させる手段を用意する必要がなくなる分、負担解消が計れる。これはまた、例えば、入力対象の応用プログラム7の表示と一緒に表示できる(図27)。図27では、メールツールとシェルツールの色の変化を持って、それらが入力対象となっていることが表示されている。
【0111】
(第8実施例)
複数の応用プログラム7の制御は、画面の表示やマウスなどのポインティングデバイスを必ずしも必要としていない。例えば、音声によるビデオ予約が可能なVTR制御プログラムを電話でコントロールしている際に、第5実施例で述べた音声メールプログラムがVTR制御プログラムの処理に一時的に割り込み、「緊急のメール受信しました。ないようを確認しますか」と合成音声を出力して知らせることができる。この確認を受けた利用者は、受信したメールの内容を合成音声により知ることができる。
【0112】
メールによる作業が終わると、ビデオ予約の作業が再開される。VTR制御プログラムは、作業中断に備えて「予約内容確認」などの語彙とともに、中断前までに行われた予約内容を確認できれば、より使いやすいインターフェースとなる。電話の場合、音声だけでなく、電話のプッシュボタンなどの入力装置が利用できる。音声入力の自然な性質を活かしながら、例えば環境の雑音が一時的に増大し、音声による入力が疎外されるような場合には、適宜プッシュボタンなどを利用して入力を確実にすることができる。
【0113】
(第9実施例)
次に、本発明による音声認識プログラムによる認識語彙の学習に関する実施例について説明する。
【0114】
従来、認識語彙の学習の際は、学習語彙の一覧表の中から利用者が学習させたい語彙を選択するが、語彙が多い場合、選択したい語彙を探すのに手間がかかり、使い勝手を悪化させていた。例えばワークステーション用に発売されている音声認識装置における学習プログラムでは、様々な応用プログラムで使用する認識語彙がすべて表示されるため学習させたい語彙を数百の単語リストから選ばなければならなかった。
【0115】
本実施例では、応用プログラムからの認識語彙情報を利用することにより、利用者に提示する単語一覧の語彙数を少なくして容易に目的の語彙を選択するようにでき、また、応用プログラム使用中であってもその場で学習を行うことができるようにしている。
【0116】
同実施例は、図28に示すように図1で述べた音声認識システム1と応用プログラム2に学習データ収集部8と辞書作成部9を加えた構成からなっている。
【0117】
ここで、学習データ収集部8は、音声認識システム1とメッセージ交換を行って応用プログラム2に関する語彙情報を受け取り、利用者への語彙表示を行って認識語彙を選択させる。また、学習に必要な設定、例えば、学習データの出力を行うように音声認識システム1へ要求し、受け取ったデータをファイルに保存する。辞書作成部9は上記ファイルを入力として認識辞書の作成を行う。
【0118】
以上の動作を行うために、学習データ収集部8は、図29に示すように単語音声特徴データ保存部81、学習語彙表示選択部82、学習データ収集制御部83、学習語彙ガイド表示部84から構成している。
【0119】
ここで、学習語彙表示選択部82は、語彙を利用者に表示して学習語彙を選択させるもので、内部に有する学習語彙テーブル821に音声認識システム1から送られて来る応用プログラム2の認識語彙を記憶するようにしている。学習語彙テーブル821は、例えば文書編集に使うコマンド群が認識対象になっている場合は、
音声認識対象語彙:取り消し、カット、コピー、ペースト、フォント のようになっていて、この内容が、例えば図33のように表示され、利用者が応用プログラムを使用しているその場で目的の語彙を選択することができる。表示される語彙は応用プログラムの内部状態に応じて必要とされる認識対象の語彙のみであるため、全部をまとめて表示するよりも非常に少なくすることができ、容易に目的の語彙を選択可能である。単語音声特徴データ保存部81は、メッセージ処理部を介して音声認識システム1から送られてくる単語音声特徴データを、例えば磁気ディスクなどに保存する。学習データ収集制御部83は、データ収集の全体制御を行い、データ収集の開始/終了を示すためのデータ収集指示フラグを持つ。音声認識システム1との間のメッセージ交換は、図30に示すメッセージを用いて行うことができる。
【0120】
学習データ収集のため、音声認識システム1では、音声認識を行って認識結果を応用プログラム2へ送る通常の認識動作の他、音声分析の結果得られる単語音声特徴データをデータ収集部8へ返すデータ収集動作の2つの動作モードを行うことが可能であり、以下では各々の動作を認識モード、学習モードと呼ぶことにする。
【0121】
次に、図31、図32を参照しながらデータ収集の手順について説明する。
【0122】
図31は、音声認識システム1のデータ収集時のフローチャートである。
【0123】
この場合、学習を行う前に音声認識システムでは、応用プログラムとの通信により、すでに認識語彙が設定されているものとする(ステップ3101)。そして、データ収集部8からの学習モード設定要求メッセージを受信すると(ステップ3102)、学習に必要な動作を行う(ステップ3103)。
【0124】
学習に必要な動作は、例えば設定されている語彙のセットをデータ収集中保持するために音声フォーカスを移らないようにしたり、収集中に認識結果を応用プログラムへ送って認識結果によって応用プログラム2の状態が変化して設定語彙が変化しないようにデータ収集中、認識結果を応用プログラム2へ送らないようにすることなどがある。
【0125】
次に、音声認識システム1は、データ収集部8へ認識対象語彙のリストを送信した後(ステップ3104)、データ収集部8からのメッセージを受信し(ステップ3105)、それが音声特徴データ送信要求であれば、音声入力がおこなわれる度に特徴データをデータ収集部8へ送信し(ステップ3107)、学習モード解除要求であれば、学習モードを解除を行い通常の認識モードに戻る(ステップ3108)。
【0126】
図32は、学習データ収集部のフローチャートである。
【0127】
まず、初期状態としてデータ収集の実行を指示するフラグにOFFが設定されている(ステップ3200)。ユーザによりデータ収集がONにセットされると音声認識システム1へ学習モード設定要求のメッセージを送る(ステップ3201)。次に音声認識システム1にその時の認識対象語彙を要求し、語彙を学習語彙表示選択部82の学習語彙テーブル821に記憶させる。
【0128】
学習語彙ガイド表示部84は、例えば図33のように表示し(ステップ3202)、学習語彙をマウスなどを用いて選択させる(ステップ3203)。選択語彙は複数でもよく、例えば選択した語彙の背景色が白から緑に変化して見易くすることができる。図33は、文書編集メニューの語彙の中から「コピー」と「ペースト」を学習語彙として選択した場合を図示している。
【0129】
次に、単語音声特徴データ送信要求を音声認識システム1に出した後(ステップ3204)、学習語彙の発声を促すための発声すべき語彙の表示が学習ガイド表示部84によって図34のようになされる(ステップ3205)。この場合、ガイドはなくすことも可能である。また、補助情報として発声回数などを表示したり、発声すべき語彙を合成音声によって聞かせることもできる。こうすることで、ガイドを画面に表示するだけに比べて見誤りなどによる間違った発声を少なくすることができる。
【0130】
ユーザが発声した後、音声認識システム1から送られてくる単語音声特徴データをファイルへ出力し、学習データ収集制御部83により設定されているデータ収集指示フラグによりデータ収集の送信/終了を判断する(ステップ3207)。フラグがONなら単語音声特徴データ送信要求から、ステップ3209を介して上記データ収集・ファイル出力までを繰り返し、OFFなら音声認識システム1に学習設定解除の要求を出す(ステップ3208)。
【0131】
次に、データ収集時の音声認識インターフェース全体の処理の流れを図35を用いて説明する。
【0132】
まず、初期設定では、ユーザからデータ収集の指示が出されると(a)、データ収集部8より音声認識システム1に対して学習モード設定要求が出される(b)。これを受けて音声認識システム1が現在認識に用いている認識対象語彙をデータ収集部8に送る(c)。
【0133】
データ収集部8では、認識対象語彙をユーザに表示して学習を行う語彙の選択を促す。学習の語彙が選択されると(d)、データ収集部8は、音声認識システム1に対して単語音声特徴データの送信を要求し(f)、選択された語彙を発声のガイドとして表示し(e)、ユーザに発声を促す。
【0134】
音声認識システム1では、発声されたユーザの音声を処理した後、データ収集部8に単語音声特徴データを送信し(g)、データ収集部8は、そのデータをファイルに出力する。
【0135】
学習終了時には、まず、ユーザがデータ収集終了の指示を入力し(h)、データ収集部8は、学習モードの解除を音声認識システム1に要求する(i)。音声認識システム1では、それを受けて学習モードを解除する。
【0136】
データ収集終了後は利用者が必要に応じて認識辞書の作成を行うことができる。辞書作成部9は,単語音声特徴データ保存部81からのデータを用いて辞書作成を行い辞書をファイル出力する。
【0137】
従って、このようにすれば目的の語彙を簡単に選択でき、応用プログラム使用中においても認識語彙の学習を簡単に行うことができるようになる。
【0138】
(第10実施例)
次に、時間のかかる辞書作成をバックグランドで行い、データ収集中や他の応用プログラム実行中に辞書を作成することで辞書作成終了を待たずに使い勝手の良い音声認識インターフェースを実現する実施例について説明する。
【0139】
ところで、従来、音声認識のパターンマッチング法としては、DP法やHMM、複合類似度法などが知られており、いずれも標準となる認識辞書を用いてパターンマッチングを行うが、例えば高精度な認識を行うため固有値展開などを必要とする複合類似度法(永田、他“ワークステーションにおける音声認識機能の開発”電子情報通信学会技術報告、HC9119、pp.63−70、(1991))では、辞書作成のための計算量が多く、現在高速であるとされるワークステーション、例えば処理能力20MIPSの計算機を用いた場合でもかなりの時間、例えば一単語当り数秒から数十秒を要するため待ち時間による学習インターフェースの使い勝手の悪化が無視できない。そこで、学習データの収集中に辞書作成をバックグラウンドで計算することにより、待ち時間を減らしてインターフェースの使い勝手を向上させるようにしている。
【0140】
そこで、同実施例では、辞書作成をバックグラウンドで行うことでインターフェースを良くする音声認識システムについて説明する。
【0141】
この場合、図28で述べた辞書作成部9を、図36に示すように辞書作成管理部91、辞書作成制御部92、データ入力部93、辞書作成部本体94、ファイル出力部95から構成している。
【0142】
ここで、辞書作成管理部91は、データ収集部8からのメッセージを受け、要求された語彙の単語認識辞書の作成を辞書作成制御部92へ指示し作成終了をメッセージでデータ収集部8に通知する。
【0143】
複数の辞書作成要求があった場合に順序よく実行するため例えば図37のような辞書作成管理テーブルの要求日時の順番に従って作成を行う。図37は例として文書編集用のコマンドである「コピー」「ペースト」「カット」という単語について、この順序で辞書作成を要求されたときの管理テーブルの内容である。語彙などの条件は要求のあった日付、時刻とともに管理テーブルに登録され、辞書作成がこの順で行われ、作成の終了した要求は管理表から削除される。
【0144】
辞書作成要求は上記のように語彙を指定するだけでなく、単語音声特徴データの属性としてデータ自身に登録されている他の情報、例えば図38のように発声者の名前を指定してその人の特定話者用の辞書を作ったり、図39のように日付を指定して新しいデータのみによって辞書を作ることもできる。
【0145】
そして、辞書作成管理部91と辞書作成制御部92の間はメッセージ交換でやりとりを行う。
【0146】
次に、図40、図41を用いて辞書作成の流れについて説明する。
【0147】
まず、図40は辞書作成管理テーブルへの登録の手順である。この場合、辞書作成要求のメッセージがあったかどうかを判断し(ステップ4001)、なければ要求を待ち、あれば語彙やユーザ名などの条件を辞書作成管理テーブルに登録する(ステップ4002)。
【0148】
一方、図41は辞書作成の手順である。この場合、辞書作成管理テーブル上に登録されている辞書作成要求を検索し、要求がなければ登録を待ち、あれば最も古い日時の要求を選ぶ(ステップ4101)。次に単語音声特徴データを入力し(ステップ4102)、上記要求の条件に適合するデータを選択する(ステップ4103)。選択したデータのみを用いて辞書を作成しファイル出力する(ステップ4104、4105)。上記要求を管理テーブルから削除し、管理テーブルの検索(ステップ4101)へ戻る。以上を繰り返す。また、すべての辞書作成要求が削除された時点で、辞書作成が終了したことを学習データ収集部に通知しても良い。
【0149】
認識辞書の作成は、データ収集時にバックグラウンドで行うため、辞書作成の進行状況は利用者にとって分かりにくい。そこで、辞書作成の進行状況を例えば図42(a)(b)に示すように全処理量に対する終了した処理量の割合を表示することによって利用者に分かりやすいインターフェースを提供できるようにしている。この場合、辞書作成の開始や終了の際には、ビープ音などにより通知することも可能である。また、辞書作成処理の速度を表示することも可能で、例えば図43に示すように速度を4段階に分けたり、図44(b)に示す色分けを用いて同図(a)のように色で処理速度を表示したりでき、計算機の負荷が大きくて辞書作成の処理が進まない場合には、処理が停滞していることを表示することにより、利用者に計算機の負荷の分散を促すようにもできる。
【0150】
以上のように、時間がかかる音声データの収集中にバックグラウンドで辞書作成を行うことにより、待ち時間を少なくして使い勝っての良いインターフェースを実現することができる。
【0151】
また、以上述べた辞書作成は、独立したプロセスとして動作することが可能で、データ収集部8からの要求だけでなく、音声認識システムやその他の応用プログラムからも辞書作成要求を受け付けることが可能であり、学習データ収集処理時のみに限らず、いつ辞書作成を行ってもよい。
【0152】
(第11実施例)
認識対象を単語または文節などとする音声認識においては、従来より入力音声のパワーの変化、音声ピッチの変化、あるいは零交差回数などの特徴パラメータを用いて単語境界を検出し、この音声特徴ベクトルと認識語彙セットについての認識辞書とを照合することにより行われていた。しかし、実際の作業環境では、背景雑音やユーザの不用意な発話(他のユーザとの会話や独り言など)の影響により誤った単語境界が検出されることが少なくない。このため、音声認識システムのユーザは現在何が認識対象になっているかを常に意識し、それ以外の言葉を発声しないようにする必要がある。
【0153】
一方、音声を計算機への入力手段の一つとして他の入力手段(例えばキーボードやマウス)と合わせて作業を行う場合、ユーザは、入力内容や作業の状況に応じてそれぞれの入力手段を使い分けることが考えられる。
【0154】
そこで、本実施例では、図45に示すように図1で述べた音声認識システム1と応用プログラム2に音声認識自動停止部10を加えた構成とし、認識処理に、通常の認識処理(現在の認識対象となっている全ての語彙に対する認識処理)をおこなうモードと、特定のキーワードについてのみ認識処理を行うモードの2つのモードを設け、認識処理を開始して暫くは通常の認識処理を行い、予め定めておいた時間内に音声入力が行われなかった場合には、それまでの認識語彙セットを保存し、特定のキーワード(例えば「認識開始」など)のみを認識語彙セットとするモードに切り替わるようにする。その後、このキーワードが入力されれば、保存していた認識語彙セットを新たに設定し、通常の認識処理モードに移行する。この認識処理モードの切り替えは、例えば音声フォーカスの変更や音声以外の入力手段による指示によっても行われ、認識モードの移行は、メッセージまたはアイコンによる表示やピープ音などを用いてユーザに伝えられる。これにより、ユーザが音声を暫く使わない状態になると、自動的に音声認識のモードが切り替わり、特定のキーワード以外の音声を無視することで検出誤りによる予期しないタスクの切り替えや誤動作を回避することができる。
【0155】
また、ユーザはキーワードを発声するか、音声以外の入力手段により音声認識処理モードの切り替えを意識的に行うことができる。上記の処理は、例えばインターバル・タイマ機構を用いることにより実現できる。これは、現在時刻から時間切れになる時間を秒数で指定するもので、時間切れになると、その旨を通知するシグナルが渡される。このシグナルを受信した時点で音声認識のモードの切り替えを行う。
【0156】
以下、図46に示すフローチャートに従って説明する。
【0157】
まず、最初にタイマが時間切れになるまでの秒数を設定し(ステップ4601)、時間切れか否かを示すフラグを0にする。このフラグは、時間切れになった旨を通知するシグナルを受信した際に呼び出されるシグナルハンドラ内で1がセットされるようにしておき、認識処理の最初にその値が調べられる。なお、タイマの機能は、計算機に通常内蔵されている時計の機能により容易に実現可能である。また、シグナルハンドラは、音声認識自動停止部10の中にプログラムとして書くことができる。
【0158】
次に、認識対象とする語彙セットを設定した後(ステップ4602)、時間切れか否かを調べて(ステップ4603)、時間切れでなければ、その語彙セットに対する認識処理を行う。
【0159】
認識処理は、まず入力音声のパワー変化や音声ピッチの変化、あるいは零交差回数などの特徴パラメータを用いて音声区間の始端と終端を検出し(ステップ4604)、終端が検出されれば、その始端と終端で定まる音声区間から音声特徴ベクトルを抽出し、現在の認識語彙セットの認識辞書と照合を行い、各確認語彙のの類似度を求め、そのうち類似度最大で、かつその値が予め定めておいたしきい値以上のものを認識結果として出力し、認識処理を終了する。(ステップ4605〜4609)
なお、図46では、音声特徴ベクトルの抽出から、認識辞書との照合およびしきい値による判定までを認識処理としている。終端が検出されない場合や、認識結果が得られない場合は(ステップ4605、4607)、語彙セットの設定に戻り、必要に応じて(例えばクライアントから音声フォーカスの変更や認識語彙の変更要求があった場合)認識語彙セットの変更を行い、時間切れか否かを調べて、時間切れでなければ再び現在の認識語彙セットに対する認識処理を行う。時間切れになった場合は、それまでの認識語彙セットを保存し、特定のキーワードを認識語彙とするモードに移行する。そのキーワードが検出されるか、クライアントから認識処理モードの切り替え指示があれば、保存していた認識語彙セットを復元し、タイマを再設定して通常の認識処理に復帰する(ステップ4610〜4617)。
【0160】
以上述べた認識機能の自動停止機能により背景雑音やユーザの不用意な発話による誤動作を防ぎ、使い勝手のよい音声認識インターフェースを実現することができる。
【0161】
また、背景雑音やユーザの発話による誤動作をユーザが意識的に避ける方法として、従来からマウスやキーを押し下げている間だけ、音声入力を行う方法が使われているが、音声入力ごとに毎回マウスを操作するのは煩わしいという問題がある。そこで、常時音声入力中として、マウスを押し下げている間だけ音声入力を受け付けないことにすれば、発声ごとにマウスを操作しなければならないといった煩わしさを軽減できる。
【0162】
(第12実施例)
ところで、音声メールツールは、音声入力可能な電子メールシステムであり、音声を使って受信したメールのリストを移動して内容を確認したり、そのメールに対する返事を送信することができる。
【0163】
この場合、ツールは、リスト表示部、受信メール表示部、送信メール編集部からなり、リスト中の反転表示されたメールが受信メール表示部に表示される。そして、例えば、音声を使って以下のような操作ができる。ここでは、上司からの緊急のメールに対して返事を出すまでを示している。
【0164】
「メールツール」(音声メールツールを全てウインドウの前に出す。)
「先頭」 (受付けリストの先頭にリストポインタを移動する。)
「次」 (リストポインタを次のメールに移動する。)
「最後」 (受信リストの最後にリストポインタを移動する。)
「前」 (リストポインタの前のメールに移動する。)
「上司」 (上司からのメールだけをリストアップする。)
「緊急」 (そのうち緊急のメールだけをリストアップする。)
「返事」 (緊急のメールに対して返事を出す。送信メール表示部に“To:上司名”と“Subject:Re:上司からのメールのSubject”が入る。)
メールシステムの初期状態を図47に示す。メールリストの表示部には、全てのメールリストを一度に表示できないため、所望のメールを探すのにマウスを使う場合には、表示部の右側にあるスライド用のバーを使う必要がある。特に大量のメールが来た時などは、メール探しに多くの労力を必要とし、操作性は十分であるといえない。しかし、ここで音声を用いることにより、直接所望のメールを検索でき、作業の大幅な効率化が図れる。
【0165】
ここで、例えば上司からの緊急のメールを選択する場合、「上司」「緊急」と発声するだけで、選択することができる。図48に上司からの緊急のメールの検索結果を示す。この例では2通のメールがきているものとすると、次のようになる。
【0166】
「コピー」 (メッセージをコピーする。)
「ペースト」 (コピーしたメッセージを受信メールにペーストする。)
「引用」 (そのメッセージに引用符を付ける。)
ここで、そのメッセージに対する返事を書き、
「サイン」 (必要があれば自分のシグネチャをメールの最後に付ける。)
「送信」 (返信メールを送信する。)
ここで使われている「上司」や「緊急」は、音声マクロコマンドとして実装されており、メールのヘッダや内容を用いて照合した結果を用いてリストを限定するものである。すなわち、電子メールの発信者の名前、所属、標題、差出日、本文の内容は、テキスト(文字データ)で書かれており、その内容を理解し、キーワードや内容の照合を行うことにより、音声での効率的な電子メールの取り出しが可能になる。これはフルテキストサーチなどの情報検索技術や文脈解析技術を用いて、WS上で実現でき、音声入力インターフェースの利用により音声メールの使い勝手が大幅に向上する。また、テキストの一部を音声合成で読み上げたり、強調したり、スピードを変化させることも可能である。また、図47に示すように認識語彙の表示や現在音声フォーカスが当たっているクライアントの表示、認識が動作中であるか否かの表示などを行い、ユーザにシステムの状態をできるだけ伝えるように考慮し、作業の効率化を可能にしている。
【0167】
(第13実施例)
音声認識サーバを使って、既存のアプリケーションを音声で制御することができる。これは、既存のアプリケーションのキーボード入力を音声によって代行するクライアントを作成すれば可能である。ここでは、既存のアプリケーションに対する音声制御を可能とする音声マクロプログラムを使って、既存のDTP(Desk Top Publishihg)システムを音声コントロールする例を示す。
【0168】
音声マクロプログラムは、既存アプリケーションの認識語彙に関する知識をメニュー形式で持ち、そのメニュー階層を利用して認識語彙を限定する。ここで、
“図形”メニュー
“取り消し”
“グループ化”
“グループ解除”
“フロント”
“バック”
“上/下(うえした)反転”
“右/左(みぎひだり)反転”
“回転”
“トップレベル”メニュー
“文書”
“編集”
“図形”
メニュー階層のルートを「トップレベル」と呼び、トップレベルから単語を発生し、メニュー階層をたどることでコマンドを実行していく。メニューの階層を移動するごとにウインドウにメニューの各項目とメニュー階層における現在位置をパスの形で表現しユーザに呈示する。
【0169】
そして、以下のように操作される。ここでは、文書ウインドウに存在する複数個の図形を取り扱う例を示している(図49参照)。
【0170】
図形を扱うためにトップレベルから図面メニューを開く。
「図形」(メニューの項目が音声コマンダにリストアップされる。)
ここで、文書ウインドウ上の複数の図形をマウスで選択する。
「グループ化」(複数の図形を1つの図形として取り扱うべく纏める。)
「上下反転」(グループ化した図形の上下を反転させる。)
「回転」(図形を回転させる。)
「グロープ解除」(グルーブ化を解除する。)
次に、先にグループ化された図形のうちの1つをマウスで選択する。
「バック」(選択した図形を全ての図形の後ろに送る。)
「取消し」(「バック」により行われた操作を取り消す。)
「フロント」(一番前に送る。)
これをマウスを使って操作する場合には、
・メニューバーをクリックしてメニューを表示する。
【0171】
・メニューをプルダウンし、実行したいコマンドの項目を選択する。
【0172】
・マウスボタンから手を離してコマンドを実行。
の少なくとも3アクション必要であり、マウスポインタの移動の手間を考えると、それ以上のアクションを行っていると考えられる。
【0173】
ところが、音声を使用すると、
・操作を行う単語を発生する。
の1アクションで済むため、音声の有用性が分かる。マウスを使ってメニューを選択することで操作する場合には、例え予め何を操作したいかをユーザが分かっていても、上記の操作は必ず実行しなければならない。音声は、他の入力手段と組み合わせることで、より効果的なインタフェースとなる。
【0174】
ここで、キーボードマクロを使えば、音声と同様に1回だけの操作で済むが、キーボードマクロは基本的に一つの文字で表現するため、キーボードマクロが多ければ多いほど対応付けのしにくい文字とコマンドの組み合わせを記憶することが要求され、ユーザの負担になる。
【0175】
そこで、コマンドを、ただ1つの文字でなく、そのコマンドの意味をも自然に表現し得る音声と結び付けることで、アプリケーションは、ユーザに対して、より自然なインターフェースが提供できる。
【0176】
また、単語認識の際に上述した図形メニューのなかで、例えば「グループ化」と「グループ解除」のように前半部分が同じカテゴリに存在する場合には、部分抽象化により単語の後半部分のパターンを用いて認識を行うことにより、認識精度の向上を図ることができる。また、「上下反転」「左右反転」のように後半部分が同じ場合には、単独の前半部分のパターンを用いて認識を行うことも可能である。要するに、パターンの違いがより明確になるように様々な視点から認識のための単語パターンを取り出し、認識を行うことにより認識性能の向上が可能になる。
【0177】
(第14実施例)
以上、述べてきた音声認識インターフェースは、音声の入力にのみ注目してきたが、音声の出力機能をインターフェース内に取り入れ、テキストからの音声合成や音声データの再生を行なうようにすれば、音声の入出力を統合して行なうことができるため、複数の応用プログラムへの音声入力とそれらからの音によるメッセージの出力を簡単に行なうことができ、ユーザにとって取扱い易いインターフェースを実現することができる。
【0178】
以下に、音声合成機能を備えた音声認識インターフェースである音声入出力インターフェースの構成について説明する。
【0179】
図50は音声合成部を備えた音声入出力システムの概略構成を示しており、図1で述べた音声認識システム1に音声合成部14を付加した構成になっている。この場合、音声合成部14はメッセージ処理部11からの指示に従ってテキスト情報から合成音声生成を行い、音声出力を行なうようになっている。また、応用プログラム管理テーブル13は、複数の応用プログラム2からの音声出力を制御するため、図55に示すように応用プログラム2の音声出力に関する情報を収納するフィールドを持っている。これにより、複数の応用プログラム2からの音声出力に対する制御を行なうことができる。ここでの音声出力に関する情報としては、特定の音声出力に対して音声出力を優先的に行なうことを指示するための音声出力優先度などがある。
【0180】
図51は、音声合成部14の概略構成を示しており、全体制御部561、波形重畳部562、音声出力管理テーブル563、波形合成部564からなっている。
【0181】
全体制御部561はメッセージ処理部11から合成音声の出力要求とともに文字列を受けとり波形合成部564に送って音声合成を行ない音声出力する。この場合、音声合成部14によって出力する音響信号は合成音のみでなく、録音された音声や音声以外であってもよく、その場合は音声の合成を必要としない。このときは波形合成は行なわずにメッセージ処理部から受けとった波形データをそのまま音声出力するようにしている。
【0182】
また、波形合成部564は全体制御部561から文字列データを受けとって音声合成を行なう。音声合成の方式としてはさまざまな方法が知られており、例えば文献(D.Klatt: "Review of text-to-speech conversion for English ", J,Acoust.Soc.Am.,82,3,pp.737-793 (Sept.1987)) の方法を用いることが可能である。
【0183】
音声出力管理テーブル563はメッセージ処理部11からの音声出力の要求を登録するテーブルであり、このテーブルに登録された順番に従って音声出力を行なうことにより、複数の音声出力要求に対して時間的な整合性を保ちながら音声出力を行なうことができる。
【0184】
音声合成部14は独立したプロセスとして動作させることが可能で、メッセージ処理部11とは、音声認識システム1と応用プログラム2の間のメッセージで述べたように、プロセス通信によるメッセージ交換によりデータのやりとりを行なう。ここでのメッセージとしては図53に示すようなものがある。
【0185】
同図(a)の応用プログラム2からメッセージ処理部11へのメッセージは応用プログラム2からの命令を意味している。ここでの音声合成要求は、応用プログラムがテキスト内容を合成音声に変換させる要求で、合成するテキストデータと共に要求を出し、その結果合成音声データが通知される。波形再生要求は応用プログラムが録音等により既に波形の形で音声データを持っている際、それをそのまま再生するための要求で、再生データと共に送信する。音声合成・再生要求は、音声の合成とその再生をまとめて行なう要求であり、合成音声データは通知されない。
【0186】
優先度設定要求は、特定の応用プログラムからの出力音を優先させるための要求であり、例えば出力音のレベルと音声合成処理の優先度、中断出力の有無、などに関して、設定できるようになっている。
【0187】
音声出力要求の優先度は、例えば緊急を要する場合に、高い値に設定することにより、直ちにユーザの注意を向けることができるため効果的である。
【0188】
先に述べたように、音声出力管理テーブル563はメッセージ処理部11からの音声出力要求を登録するテーブルであり、このテーブルに登録された順番に従って音声出力を行なうことにより、複数の音声出力要求に対して時間的な整合性を保ちながら、音声出力を行なうことができる。
【0189】
音声出力管理テーブル563の例を図52(a)(b)に示している。テーブルに記録するデータはデータID、波形かテキストかを表す入力データの種類、出力要求のテーブルへの登録時刻、テキストデータの内容、音声出力の際の音量などがある。図の例では、データID#1、#2、#3がテキストデータであり、#0〜2のデータに対しては処理が終了しているが、#3のデータは現在処理中、#4のデータはまだ処理が行なわれていないことを示している。
【0190】
一方、メッセージ処理部11から応用プログラム2へのメッセージは図53の(b)に示すような種類がある。音声出力状況通知は、要求された音声出力が終了したことを通知し、優先度設定通知は、優先度設定要求に従って音声出力の優先度が設定されたことを通知する。いずれも要求に対する確認のメッセージである。
【0191】
応用プログラム2がどのメッセージを受け取るかの設定は、先の音声認識システム1と応用プログラム2の間のメッセージに関する説明で既に述べた通りで、入力マスクによって設定することができる。この場合、音声合成部14が加わったことにより、図54に示すような種類からなっている。
【0192】
また、上述したようなメッセージ以外にも、エラーメッセージや音声出力レベルの設定メッセージ、音声合成部14の内部情報にアクセスするメッセージなどさまざまなメッセージが設定可能である。
【0193】
音声合成部14とメッセージ処理部11との間もメッセージによって情報交換が行なわれる。この場合のメッセージは図53の(c)(d)に示す種類がある。このうちの(d)のメッセージ処理部11から音声合成部14へのメッセージは、(a)の応用プログラム2からメッセージ処理部11への要求メッセージとほぼ同じであり、(c)の音声合成部14からメッセージ処理部11へのメッセージは、(b)のメッセージ処理部11から応用プログラム2への通知メッセージとほぼ同じ種類のものを使うようにしている。
【0194】
以上、述べたように音声合成部14を有する音声認識システム1の各部においてメッセージをやりとりすることによって、複数の応用プログラム2からの要求による音声出力処理が進められるが、次に、音声認識インターフェース全体としての処理の流れを図56、57に従って説明する。
【0195】
図56では、既に第1実施例で述べた手続に従って応用プログラム2と音声認識システム1との接続処理と音声認識に関する初期設定をステップ6101で既に完了しているものとする。そして、ステップ6101の終了後、応用プログラム2は音声出力処理に関する初期設定を後述の図57の(a)に従って行なう(ステップ6102)。初期設定としては、音声合成部14における音声出力管理テーブル563の初期化、応用プログラム管理テーブル13の音声出力優先度情報の初期化などがある。そして、音声入力および音声出力の処理を実行する(ステップ6103)。
【0196】
次に、応用プログラム2からの音声出力に関する要求ごとの音声出力処理について説明する。
【0197】
まず、図57の(b−1)の音声合成要求が応用プログラム2から出された場合、メッセージ処理部11は要求をそのまま音声合成部14へ音声合成要求として送る。そして、音声合成部14は音声出力管理テーブル563へのメッセージの登録を行なう。音声合成要求は波形の再生処理を含まないため、例えば図52の出力管理テーブルメッセージID#1のように、出力ありなしの項は出力なし(=0)となる。この場合、音声出力優先度情報は使われない。合成処理が終了後は、音声合成部14は終了したことを音声出力状況通知によってメッセージ処理部11へ通知し、メッセージ処理部11はそれを応用プログラム2へ通知する。応用プログラム2はこの通知の後音声波形データ要求を出し、合成音声ごとに受け取る。
【0198】
次に、図57の(b−2)の波形再生要求があった場合、メッセージ処理部は図55に示す応用プログラム管理テーブルに登録してある優先度情報を検索し、要求を行なった応用プログラムに関する情報を付加して音声合成部14へ波形再生要求を行なう。
【0199】
音声合成部14では、音声出力管理テーブルにメッセージの登録を行なうが、この場合は、例えば図52のメッセージID#0または#4のような内容が登録される。波形再生終了後に音声合成部14は、音声出力状況通知により、再生が終了したことをメッセージ処理部11に送り、メッセージ処理部11はそれを応用プログラム2へ送る。
【0200】
次に、図57の(b−3)の音声合成再生要求があった場合は、波形再生の場合と同様な処理で音声の合成および再生の処理を行なう。
【0201】
また、図57の(b−4)の優先度設定要求によって音声出力優先度を変更することができる。音声出力優先度は先に述べたように、音声出力のレベル、音声合成処理の優先度、中断処理の有無等がある。出力音声のレベルを高くすれば、その出力メッセージに対する注意を引きつけるのに役立ち、音声合成処理の優先度を高くすれば、その音声データが音声合成後出力されるまでの時間遅れを小さくできる。又、中断処理は、特定の音声出力データ以外の音声出力を一時中断し、そのデータのみを出力する処理であり、これらを組み合わせて使用することにより、重要なメッセージを優先的に出力するなどの処理が可能である。
【0202】
例えば図52では、メッセージID#0の波形再生要求に対しては、出力レベル=3、中断出力なし、合成処理優先度−(値なし)が設定されている。この場合、優先度の値は0〜10の範囲で設定するようになっており、出力レベル3は、比較的小さい値である。又、中断出力なしのため、この波形データは他の音と重なって聞こえて来る。これに対し、#2の音声合成・再生要求に対しては、出力レベルは最大の10であり、かつ音声合成処理の優先度も最大であるため、合成音データが直ちに出力される。又、中断出力ありのため、この間に他の音は出力中断状態にある。この合成音を出力中は、他の音に邪魔されずに音を聞くことができる。
【0203】
次に、以上述べたような音声出力要求を順次処理する方法について説明する。
【0204】
複数の音声出力要求は音声合成部14の音声出力管理テーブル563に従って処理を行なう。音声出力管理テーブル563には要求のあった順番に要求のID、入力データの種類(波形/テキスト)、要求受付時刻、データ内容、処理状態、音量、出力中断処理のあり/なし、音声合成処理の優先度、排他処理の係数、等が登録される。
【0205】
図58に示すように、まず、全体制御部561は、音声出力管理テーブル563の処理状態の項を参照し(ステップ6301)、「未処理」となっているデータを探し、あれば処理状態を「処理中」に更新し(ステップ6302)、データの種類を参照する(ステップ6303)。そして、データがテキストであればテキストデータを波形合成部564へ送って音声合成を行い(ステップ6304)、合成音データを波形重畳部562へ渡し、波形データであればそのまま波形データを波形重畳部へ渡す(ステップ6305)。そして処理状態を「終了」に更新して(ステップ6306)、次の未処理データの処理を行なう。
【0206】
波形合成部564では、処理を行なっているデータに関する合成処理優先度情報をもとに、合成演算を行なう処理の他の処理に対する優先度を設定して演算を行なう。優先度の設定は、例えばワークステーションのオペレーティングシステムとして一般的であるUNIXのシステムコールを用い、合成プロセスに対する演算装置の割り当て時間を変更させたり、処理量の異なる複数の音声合成器を用意して優先度に応じて使う合成器を変えたりすることにより行なえる。
【0207】
波形重畳部562では、波形データと共に音量、出力中断処理のあり/なし、排他処理の係数などの情報に基づいて複数の波形を重畳する。重畳の際には、時刻と波形データのサンプルの対応を常に監視し、複数の音声出力要求の間の時間とそれらの要求に対応する複数の波形データの出力される間隔が、なるべく等しくなるようにしている。また、重畳の処理は単位時間、例えば10msecごとのブロック処理によって行なうことが可能である。
【0208】
次に、図59により、中断処理のある音声データを重畳する際の例を説明する。この場合、データは図52の音声出力管理テーブル563にあるデータID#1〜3であり、簡単のため、登録から波形重畳までは時間遅れがないものとしたが、実際には用いる計算機の処理能力に応じて、音声合成やデータの移動による時間遅れがある。音声出力管理テーブル563に記録された時刻どおりで、かつ出力中断処理を行なわずに音声データを出力する場合には、図59(a)のように、データどうしが時間的に重なっているため、緊急なメッセージであるデータ#2の音声は、先頭部がデータ#1の最後と、後半部がデータ#3の前半部と重なって出力されることになる。これに対し、出力中断処理を行なう場合の(b)では、データ#2の「緊急です」が始まる時点でデータ#1の重畳を中断し、#2の処理終了後、#1の中断された時点から残りを重畳することになる。又、データ#3は、#2が終了後に重畳される。データ#1のように、中断処理によって時間的に分割されるデータは、上述のように分割したまま出力しても良いが、中断処理後にもう一度最初から出力し直したり、又、分割された後半部は出力しない、あるいは徐々に音量を下げて重畳するなど様々な処理が考えられる。
【0209】
(第15実施例)
第14実施例に記述したように、音声認識システムは、音声合成部14を組み入れ、マルチタスク環境において、複数のタスクから音声認識および合成機能の利用を可能にすることで、ユーザが応用プログラム2を使用する際の使い勝手が向上する。本実施例においては、第14実施例をふまえ、具体的なシステムの応用例として、音声メールツールについて音声合成機能を追加した際の効果を中心に述べる。
【0210】
図60は、第15実施例の概略構成を示しており、音声入出力システム651、ウィンドウシステム652、音声メールツール653から構成している。また、音声メールツール653は、電子メール処理部6531とメッセージ入出力部6532からなっている。
【0211】
この場合、音声入出力システム651は、第14実施例に述べた、音声合成機能を持つシステムである。ウィンドウシステム652は、応用プログラムに関する情報をGUI(Graphical User Interface)を通じてユーザに提供する。そして、これら音声入出力システム651及びウィンドウシステム652を利用することで、音声メールツール653で、音声入力をマウスやキーボードと同様に扱え、音声合成をも統一的に扱えるようにしている。
【0212】
通常、音声メールシステムで送受信されるデータはテキストデータであるが、テキストデータだけではなく、音声データや画像データ等をメールの中に混在させることができる。音声データを含むメールを送受信するために、メールツールは生の音声データを録音・再生する機能が必要となる。
【0213】
応用プログラム2が生の音声データを扱えるようにするために、応用プログラム2と音声入出力システム651間で交わされるメッセージとして、図61に示すものを追加する。これらのメッセージを利用して、メールツールが音声データを録音する手順を図62の(a)に、再生する手順を図62の(b)に示している。また、今述べた音声の録音・再生機能を持つ音声メールツールの画面表示例を図63に示す。この表示例は、上述した第12実施例の図48とほぼ同じ表示画面を持つ。ここでは、ツールのリスト表示部の行の先頭に*印の付いたものがあるが、これは音声データを含むメール文書を識別する印である。受信メール表示部に、音声データ付メール文書の表示例を示す。メール文書中の音声データは、例えばボタン様の形式でユーザに提示する。
【0214】
図63においては、緊急とラベル付けられたボタンが、音声データである。音声データをマウス等で指定し、マウスやキーや音声入力を使って再生する。音声データ付のボタンは、メールのテキスト中の任意の位置に任意の個数作成し、配置できる。
【0215】
メール中の音声データの録音・再生・編集は、図64のような、音声データ編集用のサブウィンドウを用いて行なう。図の上部の2つのスライダーはそれぞれ音声データの入力・出力時のボリュームを設定するものである。その下のボタンは、それぞれ音声データの録音、再生、録音/再生の停止、音声データの編集、メールへの音声データの追加を行なうボタンである。編集ボタンには、カット、コピー、ペーストなどを行なう編集用のサブメニューが存在する。ボタン列の右端の「緊急」は、ユーザが任意に入れることのできる文字で、音声データ作成時に、ボタンのラベルとして表示される。図64の下部が音声波形データを編集する所である。データをマウスを用いて選択し、音声入力を用いてカット、コピー、ペーストを行ったり、エコーをかけたり、ピッチを変化させたりなどの効果を音声データに加えることが可能である。また、音声データの編集やデータに対する効果の付加は、メールツールでなく、専用の音声データ編集ツールで行ってもよい。それを用いて音声を編集する際に、メールツールとの間で音声データの受け渡しを行う必要があるが、その受け渡しを音声入力を使ったカット&ペーストによって行えば音声データに対する編集操作が簡単に行えるようになる。
【0216】
音声入力を使ったカット&ペーストは、音声データに対してだけでなく、テキストやグラフィックなど様々な形態のデータに対して適用し、応用プログラム向けのデータの受け渡しに用いることができる。
【0217】
以上述べた機能を用いてメールの返事を出す場合には「返事」と発することにより読んだメールの全て、あるいは文面の一部などを自動的にコピーし、引用の印をそれぞれ付加し、さらに自分のサインと録音メッセージを自動的に付加して送信してしまうことにより、ほとんどのキーボードに手を触れずにメールの返事を出すことができる。その際、録音メッセージは、前もって録音してあるものを用いてもよいが、自動的に録音モードに入って「送信」が発声されたならば、自動的にその録音データを付加してメール送信を行ったりできる。例えば図65は、送別会のお知らせに対する返信の文面の例である。この例では、8行目まで、送られてきたお知らせのメールのコピーに引用マーク(》)を付け、9〜11行目に自分のサインと録音メッセージの印を付加するようにしている。
【0218】
また、図64で示す音声データの録再・編集機能の一部または全部を図66のように、受信メール表示部や、送信メール編集部に並べて配置することで、メール中の音声データに対する操作性が向上するとも考えられる。
【0219】
録音データはそのまま全部をメール用のデータとして用いてもよいが、データ中には言い澱みなどにより不要な無音部があり、必要以上にデータ量が多くなってしまうことがある。
【0220】
そのような場合、無音部を自動的に検出して一定の長さ、例えば1秒以上の無音部をカットすることも可能である。
【0221】
また、録音の際の利用者の動きにより、口とマイクロホン間の距離が変化して録音レベルが一定でなくなり、聞きずらいデータになってしまうことがある。
【0222】
そのような場合、録音データのパワーを調べて全体に亘ってレベルを均一にし、聞きやすくすることができる。レベルの均一化の処理は、ある単位ごと、例えば単語、文ごとのレベルを求め、最大のレベルを持つものに他を合わせるようにするなどにより実現可能である。
【0223】
また、データ全体あるいは上述の最大レベルが小さすぎたり、大きすぎたりした場合には、データ全体のレベルをそれに応じて変えることにより、聞き苦しくないようにできる。
【0224】
さて、本実施例のメールツールを使うことで、テキストと音声の混在したメール文書を読み上げることができる。
【0225】
図63の受信メール部のメールを読み上げることとすると、
「田村殿」 (音声合成)
「先週の出張報告書を至急提出のこと」 ( 〃 )
(緊急ボタンの音声データを再生)
「沢田」 (音声合成)
と、このように、データの出現順に、データの種類に応じた処理(テキストデータは音声合成し、音声データはそのまま再生する)を行なうことで、テキスト以外のデータをも読み上げることができる。また、テキストデータだけの読み上げや、音声データだけの読み上げを可能にすることもユーザにとって有用になる。テキスト以外のデータ形式としては、音声以外のものでも、そのデータ形式に従った処理を行なえば良い(動画なら動画の再生を行なう)。
【0226】
メールの読み上げは、本文だけではなく、題や発信者や送受信の時間を示すメールのヘッダに関しても行なって良い。
【0227】
ここで、全てのメール文書に対して、同一の読み上げ方をする必要はない。例えば、メールアドレスと、合成音声の属性を図67に示すようにデータベース化することによって、発信者毎にメール文書読み上げの際の音声の特徴を変化させることができる。図67の設定では、Tamura氏からのメールは、低くゆっくりと話す男性の声で、Nakayama氏からのメールは、高く早口の女性の声で、それ以外のメールは、標準的な声の高さを持つ男性の声で、標準的スピードにより読み上げられる。
【0228】
さらに、発信者情報だけではなく、1つの文書内の情報を使って合成部を変化させることが考えられる。例えば、引用符に囲まれた部分のみに関して、男女の性別を入れ替えるとか、声の高さや読み上げの速度を変化させることが可能である。
【0229】
また、メールの受信者が、合成音声によるメールの読み上げを行なうことを想定し、メール本文中のテキストに、音声合成用の制御コードを付加して、メールの読み上げ方を指定することが考えられる。制御コード交じりのメールの例を図76に示す。
【0230】
この場合、@<…>で囲まれた部分が、制御コードおよびその指定で読み上げられる部分である。male、5、5、9は、特に性別(男性)、声の高さ、速度、声の大きさを示し、ここでは、「絶対に遅れないように」の部分だけが、その他の部分よりも大きな声で読まれる。このように、メール本文中の部分に対し、音声合成の細かな設定を可能にすることで、メール中の重要な所を強調したり、文章の抑揚を変えたり、引用した言葉を本人に近い特徴の合成音声で読ませて変化をつけるといった事が可能となる。
【0231】
以上に述べたメールツールはマルチタスクの環境下で音声によって制御を行うことができるため、キーボードやマウスなどによって文書の作成やプログラム編集などを行いながら音声によってメールによって読むことができ便利である。
【0232】
なお、メールツールだけでなく、情報検索のためのツール、例えば英和、和英などの電子辞書や対訳辞書、類似表現、言い換えなどを引くための類似語辞書などのデータベースを本発明によるインターフェースにより音声で操作すれば、文書やメール作成中に調べたい単語などを音声による操作で引くことができるため、文書作成の中断を少なくできて便利である。
【0233】
メールの内容の確認を、表示によらず、音声読み上げを使って行なう際に、1つのメール全体を読み上げの対象とすることは、特に、大量のメールの中から所望のメール文書を検索する場合などには、効率が悪くなると考えられる。そこで、メールの読み上げの最中にメールツールに対するコマンドを発行可能にする。特に、そのコマンドは、音声入力によって行なえれば都合が良い。
【0234】
まず、読み上げモードを設け、メールを読み上げる際の単位を設定可能にしておく。読み上げモードには、全文、段落、文の3つのモードがある。図63の右上の「読上」ボタンのとなりの「全文」の表示が読み上げモードを示す。「読上」ボタンにより、モードに従った音声合成を行なう。メール読み上げ時に使用する音声コマンドを、図68に示す。
【0235】
ユーザは、モードを設定し、「読上」ボタンあるいは「読み上げ」と発声することにより、メールの読み上げを開始する。音声コマンド「ストップ」、「続行」により、読み上げの一時停止と再開を行なえる。「もう一度」は最後に読み上げた単位をもう一度読み上げる。「前の〜」および「次の〜」の「〜」は読み上げの単位であり、メールツールはコマンドに従ってモードを自動的に変更する。例えばモードが「全文」の時に「次の文」と入力すれば、モードは自動的に「文」に変わる。「次」および「前」は、「次の〜」および「前の〜」の省略表現であり、それらのコマンドで扱われる単位はモードとして現在設定されている単位である。「速く」「ゆっくり」は読み上げ速度の設定、「高く」「低く」は読み上げ合成音の声の高さ設定、「男性」「女性」は合成音声の性別の設定を行なう音声コマンドである。
【0236】
このように、メールの内容の音声による読み上げを可能にし、読み上げの制御を音声を使って行なうことで、マウスおよびキーボードのみを使って制御する時よりも、使い勝手が向上すると考えられる。特に、マルチウィンドウ環境において、聴覚と音声入力を音声メールツールの制御に使い、視覚とキー入力を別のタスク(例えばテキストエディタ)に使うことで、1人のユーザによる複数のタスクの同時制御が可能となる。
【0237】
音声合成機能は、メール文書の読み上げだけではなく、メールツールからユーザに対して提供されるメッセージにも利用可能である。例えば、マルチウィンドウ環境において、動作するメールツールがメッセージの出力に合成音声を利用する場合を考えてみる。まず、メールツールをその起動時にアイコン化しておく。メールツールが新規メールを受信すると、「××さんから新しいメールが届きました。未読分は全部で5通あります」といったメッセージを合成音声を使ってユーザに提供する。もちろんこのメッセージは、録音された音声データでも良いが、メッセージ文の変更し易さや、任意の数値データの読み上げを考えると、合成音声の方がメールツール等の応用プログラムの作成者にとっては都合が良い。新規メール受信通知のメッセージをいつも同じ様に出力するのではなく、例えば、メールに重要度を設定し、その重要度に従って音声メッセージを出力しなかったり、「××さんから緊急のメールが届きました」と、メッセージ文を変えたり、音声合成のパラメータを変更して声のトーンを変えることができる。メッセージとして、「サブジェクトは、会議通知です」と、メールの題についての情報を提供してもよい。このように、合成音声をメールツールのメッセージ出力に利用することで、ユーザは、メールツールを直接見ることなく、受信メールを読むか否かの決定ができる。
【0238】
新規メール受信のメッセージは、ユーザが計算機上で行なっている作業に割り込むメッセージであり、ユーザの作業に割り込んで欲しいか否かは、作業内容によりけりである。例えば、何らかのプログラムのデモンストレーション中には、メールに割り込んで欲しくないであろう。そこで作業の重要度を設定し、作業の重要度とメールの重要度を比較して、メールの重要度が作業の重要度以上なら音声メッセージを出力し、それに満たない場合は出力しない、といった事を行なう。作業の重要度は、作業環境全体に設定したり、個々のプログラムに設定したり、プログラム内のサブタスク毎に設定する事が考えられる。
【0239】
作業の重要度とメールの重要度を比較し、メールの受信の通知方法を決定するために、音声メールシステムを図69に示す構成とする。メールシステム691は、メッセージ入出力部6911の介在によって、音声入出力システム692やウィンドウシステム693と接続されている。音声入出力システム692やウィンドウシステム693からのメッセージは、メッセージの内容に従い、メッセージ入出力部6911によってふりわけられ、そのメッセージを処理すべき所において処理が行なわれる。
【0240】
電子メール処理部6912は、外部の公衆回線やLANを通じ、電子メール文書の送受信や、受信したメールに対する処理を行なう。タスク重要度管理テーブル6913は、音声入出力システムに接続したすべての応用プログラムの作業の重要度を音声入出力システムから受け取り、管理する。このタスクの重要度と、受信したメールの重要度から、受信したメールをユーザに対してどのように知らせるかの役割も、電子メール処理部6912が担う。
【0241】
この機能を実現するために第14実施例で述べた音声入出力システムの持つ応用プログラム管理テーブルを拡張し、項目として、タスク優先度を新たに設定する。図70に拡張した応用プログラム管理テーブルを示す。ここでは、シェルツールのタスク優先度が「2」、DTPシステムのが「5」に設定されている。
【0242】
さらに、この応用プログラム管理テーブルに値を設定したり、値を読み取るためのメッセージとして、図71に示すメッセージを新たに設ける。また、タスク優先度変更のたびにその通知をメールシステムが受け取れるようにするために、入力マスクとして、タスク優先度変更マスクを新たに設ける。
【0243】
メールシステムは、入力マスクとして、タスク優先度変更マスクと、入力タスク変更マスクを設定することにより、音声入出力システムに接続されているすべての応用プログラムのタスク優先度と、音声フォーカスの有無を得、図72に示すようにその情報をタスク重要度管理テーブルに動的に反映することが可能である。電子メールの優先度は、例えば、”Preference:3”のようなヘッダ情報をメール文書に付加し、メール自体に重要度を設定することも可能であるし、発行者毎にメールの優先度を設定しても良い。メールシステムの電子メール処理部は、電子メールを受信するたびに図73に示す処理を行なう。
【0244】
この場合、音声フォーカスが1つのタスクに当たっているか調べ(ステップ7801)、YESならば音声フォーカスのあるタスクの優先度を選択し、NOならば音声フォーカスの当たっているすべてのタスクの優先度の平均を選択する。例えば、その中で一番高い優先度を選択しても良い。そして、これらがメールの優先度より低いか調べ(ステップ7804)、YESならば音声を使って通知し(ステップ7805)、NOならば何も通知しない(ステップ7806)。この場合、アイコンの表示を変化させたり、動画像を用いたりといった様々な方法をユーザへのメールの受信通知に用いることができる。
【0245】
応用プログラムとして、メールシステム以外に、シェルツールとDTPシステムが、音声入出力システムに接続している時の画面の表示例を図74に示す。図74(a)は、タスク重要度管理テーブルが図72の状態の時の画面表示例である。ここで、重要度3を持つメールを受信したとすると、図73に示した処理によればここで音声フォーカスの当たっているシェルツールの重要度が、メールの重要度より高い(小さい値ほど重要度が高いと見做す)ため、メールシステムはメールの受信をユーザに通知しない。これに対して、タスク重要度管理テーブルが図75の状態にある(対応する画面表示例は図74(b))時に、先ほどと同様に、重要度3のメールを受信した際には、メールシステムは「新しいメールを受信しました」という音声出力を行ない、メールの受信をユーザに通知する。また、通知と同時にメールシステムは、自身に対して音声フォーカスを設定することによってユーザの作業に割り込み、ユーザにメールシステムを使わせることが可能である。
【0246】
このように、新規受信の通知などに関するメッセージを、メールの重要度や作業の重要度に従って変化させることで、ユーザの作業を疎外しない柔軟なインターフェースをユーザに提供できることになる。
【0247】
(第16実施例)
第15実施例におけるメール文書の読み上げ機能は、受信したメールの一部あるいは全部をその文面に対して何の変更も加えず、合成音声を使ってそのまま読み上げるものであった。この方法は、メール文書が少なく、おしなべて小さい場合には問題は少ないが、メールが多く、大きくなるに従い、その機能だけでは不十分である。
【0248】
図77は、音声メールシステムの概略構成を示すもので、音声入出力システム821に接続される音声メールシステム822を電子メール処理部8221、文書要約部8222、メッセージ入出力部8223より構成している。この場合、図78に示すように文書要約部8222を音声メールシステム822の外に設けるようにしてもよい。
【0249】
ここで、メールシステム822は、音声入出力システム821と接続してその音声入出力機能を用いる。電子メール処理部8221は、外部の公衆回線やLANを通じ、電子メール文書の送受信や、受信したメールに対する処理を行なう。文書要約部8222は、電子メールなどの文書を要約するシステムである。テキスト文を要約する技術としては、「石橋ほか、英文要約システム「DIET」、情報処理学会第48回全国大会、6D−9(1989)」や、「喜多、説明文を要約するシステム、情報処理学会自然言語処理研究会、63−3(1987)」などが知られており、この技術を応用して、文書要約部を構成できる。
【0250】
文書要約部8222は、電子メール処理部8221から要約前のメール文書を受け取り、要約して返す。電子メール処理部8221は、受信したメールの重要度や、文書の長さや文書の内容などに従って、そのメール文書を要約するか否か、また、どのような要約を行なうかを決定し、要約方法の情報とともにメールを文書要約部にひきわたす。電子メール処理部8221は、メールを受信するたびに、例えば図79に示すような処理を行ない、受信メールに対する要約方法を決定する。
【0251】
この場合、メールの重要度が「3」以上か判断し(ステップ8401)、「3」以上であれば要約しない(ステップ8402)。「3」以上出なければ、メール本分中に「至急」を含むか調べ(ステップ8403)、「至急」を含めば、さらに文書が長いか調べ(ステップ8404)、文書が長くなければ要約せず(ステップ8402)、文書が長ければ要約する(ステップ8405)。また、本分中に「至急」を含まなければ、先頭行だけを要約する(ステップ8406)。そして、メールに従った要約処理を行う(ステップ8407)。
【0252】
メールのような文書の場合、その内容が完結していなかったり、短すぎたりして、要約に適さないこともあると考えられるが、その場合には、短いメールに対しては、要約を行なわない(必要がない)こともできるし、完結していなくて要約に失敗したメール文書に対しては、例えば、最初や最後の数行を取り出して読み上げるようにすれば、すべてのメールに対して何らかの要約処理をほどこすことができるといえる。要約は、例えば、音声による「要約」コマンドの形でユーザが指示することによってもできるし、あるいは、メールシステムが、受信メールの全てを(あるいは長いものだけを)自動的に要約しておくことによってもできる。
【0253】
このように、音声メールツールがメール文書の要約機能を具えることで、メール文書処理の効率化をはかることができ、時に多忙なユーザや、大量のメールを処理する必要のあるユーザにとっては、便利である。
【0254】
(第17実施例)
第15および第16実施例においては、音声入出力システムの提供する音声認識および合成機能の利用に関して、音声メールツールを使って述べた。
【0255】
これらは、GUIおよび音声出力を使ってユーザに情報を提供していたが、電話インターフェースなどの、GUIを利用できない環境において第15および16実施例で述べた機能はより有用である。本実施例では、GUIを利用しない電話を介した音声入出力インターフェースについて、音声メールシステムの例を使って述べる。
【0256】
図80は第17実施例の概略構成を示している。この場合、音声認識システム851に接続される音声メーメシステム852にメールアドレステーブル853を接続している。
【0257】
この場合、音声入出力システム851は電話回線に接続されるが、この電話回線との接続は、既存技術を使えば可能であり、ここでは述べない。電話からの音声メールシステム852への入力は、音声およびプッシュボタンにより行なえるとする。
【0258】
メールは個人情報であるため、電話でメールの内容を確認する前にあらかじめ個人情報の認証手続が必要である。これは電話のプッシュボタン等で行なうかパスワードの音声認識、あるいは話者照合技術により行なう。
【0259】
認証手続において利用者を確認した後、音声認識を利用して、メールへのアクセスを対話的に進める。ここで述べる音声メールシステム852は、第15、16実施例で述べた音声認識と音声合成の機能が全て利用できる。即ち、音声入力によって、音声メールの全部のあるいは部分のあるいは要約された内容の確認を行なうことができる。音声メールシステム852の操作は基本的に全て音声を使って行なう。従って、メール送信も音声により行なう。電話インターフェースでは、プッシュボタンを使ってメールの内容を入力するのは現実的ではないため、メールの内容自体も音声となる。音声によるメール文書の作成は、音声認識と音声の録音を同時に行なうことで可能となる。図80の構成において、認識と録音を同時に行なうことは疎外されない。図81に、音声を使ったメール文書作成の例を示す。場面設定は、受信したメールの内容を音声(合声/肉声)により確認した後、そのメールに対して返事を出す所である。
【0260】
まず、(1)のユーザの「録音開始」という音声を認識し、メールシステムは続くユーザの音声(2)の「○○です〜お伝え下さい」をメール文書として録音する。(2)の最後の「ストップ、ストップ」は、録音を停止する命令である。「ストップ」が繰り返されているのは、メール本文中の「ストップ」と、命令としての「ストップ」を区別するためである。「ストップ、ストップ」全体を認識対象語彙としても良い。メールシステムは「ストップ、ストップ」の区間を録音されたデータからカットする。ユーザは(3)の「内容確認」によりメール文書の内容(4)を確認し、(5)の「送信」によりメールを送信する。最後に(6)のメッセージにより、メールの送信を認識する。
【0261】
ここで、(2)でユーザがデータを録音する際に、音声認識システムの音声認識部の中の音声検出部に音声データの先頭を検出させれば、「録音開始」から本文の入力までの間に間があいても、その無音区間を録音せずに済む。
【0262】
また、録音終了を指定するための「ストップ、ストップ」などの単語の代わりに「送信」と発声し、「送信」を認識したならば、録音内容をメールデータとして自動的に送信してしまうこともできる。こうすれば、録音の停止を指定する「ストップ」の発声が不要になり、簡単にメールを送信できる。この時、送信したメールの内容は、「内容確認」などの発声により確認しなくとも、自動的に録音内容を再生することによって確認できる。
【0263】
また、「録音開始」後、1つの音声区間を録音するようにすると、「ストップ、ストップ」のような録音停止命令は不要となる。音声区間の終端は、例えば「3秒間無音であれば音声データの入力終了とみなす」のように、余裕をもたせた設定にすれば、ユーザが一息でメッセージを入力しなければならないというような制約が緩和される。
【0264】
このように、データとしての音声区間を検出するために、応用プログラムと音声認識システムとの間のメッセージとして、図82のメッセージを追加する。この音声区間検出メッセージは往復メッセージであり、図83に示すような手順でもって、音声区間のデータを入力音声から切り出すことができる。音声区間検出メッセージでは、パラメータとして、音声の終端を検出するための時間(例えば、3秒間無音区間が続いたら、その無音区間の前を音声区間とみなす)や、入力音声がない場合のタイムアウト指定(要求を発信してから30秒たったら、音声区間は検出されなかったとみなす)ができる。
【0265】
また、メール文書の題は、ここで述べたように、受信メールに対して返事を出す際には、UNIXメールでの表現でいえば、受信したメールの“ Subject : hello “に対しては“ Subject : re: hello“のように、返事としての題を入れられるといえるが、電話口で新規にメールを作成する場合には、そのメールに題を付けられない。それを可能にするために、音声認識を組み合わせる。例を図84に示す。
【0266】
この場合、ユーザの(1)「サブジェクト」という音声をメールシステムが認識すると、メールシステムは、サブジェクト入力モードになる。このモードでは、予め決められたサブジェクト(題)用の単語が認識対象語彙となる。例えば、「こんにちは」「お知らせ」「至急連絡下さい」「ごくろうさま」「会議通知」などが考えられる。図84の例では、(2)「会議通知」を入力する。メールシステムは「会議通知」を認識すると、メール文書にテキスト“ Subject :会議通知“を挿入し(3)、(4)のような確認のメッセージを合成音声により行なう。
【0267】
サブジェクト入力モード時の認識結果をうけて行なうのは、メールの題の挿入だけではなく、例えば、定型的なメール文書の入力が可能である。図85は、「ごくろうさま」という入力に対して、メールの本文として挿入される定型メールの例である。文書中の{receiver}と{sender}は、受信者、発信者の代入される変数を表している。この変数により、誰にでも同一の文面のメールを音声だけで送信できる。定型メールをデータベース化し、そのデータを音声で呼び出すことが可能であれば、便利であると考えられる。
【0268】
また、第15実施例においては、メール文書中の任意の場所に音声データを追加・挿入可能としたが、サブジェクト入力モードにおいて、サブジェクト自体に音声データを付けることを可能とし、例えば、メールの受信と同時に音声サブジェクトを出力すれば、メールの発信者やメールの内容が受信者に伝わり易いと考えられる。もちろん、音声認識によるサブジェクトの挿入と音声サブジェクトの録音を同時に行なっても良い。
【0269】
受信メールに対する返事を送信するのではなく、電話口から送信先を指定するのには、音声認識を利用する。そのために、あらかじめ、学習機能を応用して単語登録を行ない、認識対語語彙とメールアドレスを結びつけておく。例えば図86に示すような外観を持つアドレスブックをメールシステムに持たせ、図87に示すメールアドレスの登録機能によって、メールアドレスと音声を結びつける。
この時の登録の手順は、
遙メールアドレスブック(図86)を開く
遙登録用ウィンドウ(図87)を開きメールアドレスの新規登録を開始する。
遙名前とアドレスをキーボードで入力する。
遙学習に必要な回数(数回〜数十回)、新しい単語(この例では鈴木)
を発声する。
遙OKボタンを押し、登録を完了する。
【0270】
このようにして、認識対語語彙(鈴木)と、メールアドレス(Suzuki@aaa,bbb,ccc,co.jp)とを結びつけておき、電話口で利用する。例えば、図88の手順で行なう。まず(1)でユーザが「送信先」と発声し、認識されると、メールシステムは、(2)のメッセージを音声出力し、ユーザに確認をとる。(3)では図A、Bなどによって登録された語彙が認識対象となっており、この例では、「鈴木」が認識されると、メール文書中にto:Suzuki@aaa,bbb,ccc,co.jpが挿入される。
【0271】
(4)(5)はメールアドレスの認識の様子を示している。(4)の「鈴木」の音声のように、例えば図87における登録の際に利用した音声の1つを自動的に録音しておき、認識の確認に使うことができる。
【0272】
(4)の「Suzuki@…」は、合成音声によるアルファベット読み下しを使って確認を行なう例である。
【0273】
この方法では、音声によるメールアドレスの指定は、予め登録したものにしか適用できないが、次に述べるように、予め登録しているメールアドレスを音声を使って指定することができる。そのためにまず、ユーザが過去に受け取ったメールから、自動的にメールアドレスのデータベースを作成する機能を付ける。メールアドレスは、UNIXメールにおいては、メールのヘッダとして入っており、そこからデータベースを作成するのは困難ではない。メールアドレスの構成は、例えば、
ユーザ名@部課名、組織名、組織区分、国の区分
のような構成になっており、メールアドレスの逆順(国→ユーザ名)にツリー状の階層構造を持つデータベースが作成できる。
【0274】
メールシステムは、国の区分から順に、図89のように合成音声による読み上げを用いて、メールアドレスを順にたどっていく。図89の例において、あやまったノード(メールアドレスを順にたどった際の節)を選択した際は「取り消し」などの語彙をもって、1つ前の(上位の)ノードに戻ったり、「取り止め」などの語彙をもって、アドレスの入力を取り止めたりできる。また、任意のノードに認識対語語彙を予め結びつけておき、例えば、会社名を発声することで、その会社のメールアドレスノードまで、一時に移動することもできる。
【0275】
このような方法をとれば、過去にメールをくれた人に対してならば、音声をつかってそのメールアドレスを指定することが可能となる。
【0276】
また、単語単位の認識辞書が不要な音韻認識をベースとした音声認識システムが広く研究されているが、これを用いることにより過去に届いたメール中に該当するアドレスがない場合でも、音声によってアドレスを入力し、メールを転送することが可能である。
【0277】
(第18実施例)
本発明の第1実施例や第14実施例で述べた音声認識インターフェースでは、音声認識システムあるいは音声入出力システム専用に開発した応用プログラムを対象として、音声認識や音声合成のサービスを提供するものであった。本実施例では、上記のような専用プログラムに対する音声による制御に加えて、前記音声認識システムあるいは音声入出力システムと直接メッセージをやり取りすることのできないような任意の応用プログラムに対する音声による制御を可能とする拡張を前記音声認識インターフェースに施すものである。これによって、音声認識の応用分野とユーザの拡大を図ることができる。本実施例では、第14実施例に上記拡張を施した例を説明するが、同様の拡張を第1実施例に施すことが可能であることは明らかである。
【0278】
以下、本実施例について説明する。
図90は、本実施例の音声入出力インターフェースの全体構成であり、第14実施例で述べたものと同一の音声入出力システム1と、そのメッセージ処理部11(図示せず)に応用プログラムとして接続された音声インターフェース管理システム(以下、SIMと呼ぶ)104からなる。
【0279】
汎用応用プログラム(以下、GAPと呼ぶ)103は、音声入出力システム1と直接接続されていない応用プログラムであり、音声入出力システム1とは全く独立して動作可能なプログラムである。これに対して、専用応用プログラム(以下、SAPと呼ぶ)102は、音声入出力システム1と直接接続して動作するものである。
【0280】
SIM104は、SAPの一つであり、音声入出力システム1とGAP103との仲立ちをして、GAP103に対する音声による操作を可能にする応用プログラムである。音声フォーカスの表示も、SIM104が行なう。なお、SAP102は、図50の応用プログラム2に対応するものである。SAPおよびGAPは、1つの音声入出力システムに対してそれぞれ複数個存在することが可能である。
【0281】
次に、SIM104による、GAP103に対する操作について説明する。GAP103は、SAP102と異なり音声入出力システムと直接接続されてはおらず、GAP103が受け付けられる入力は、音声以外のキーボードやマウスといった入力装置からのものである。従って、SIM104は、音声によるGAP103の操作を実現するために、音声入力をGAP103の受理できる形の入力、例えばキーボード入力やマウス入力等に変換する。
本実施例では、SIM104は、図90に示すように、音声インターフェース管理部141、プログラム操作登録部142、メッセージ変換部143から構成される。音声インターフェース管理部141内には、応用プログラムごとの音声認識結果と操作との対応表が設けられており、この対応表(以下、音声インターフェース管理テーブルと言う)の情報は、プログラム操作登録部142によって登録される。前記メッセージ処理部11と直接接続されるメッセージ変換部143は、音声入出力システム1とのメッセージのやり取りを行なう機能、つまり図6のメッセージ入出力部21の機能を包含するものであり、認識結果を受信した際に、音声インターフェース管理テーブルを参照して、該認識結果をGAP103に対する操作コマンドに変換し、GAP103に送信する。
【0282】
SIM104からGAP103に操作コマンドを送るには、GAP103自身が他のアプリケーションからの操作の手段を提供していなければならない。
【0283】
ウインドウシステムを利用したアプリケーションであれば、SIM104はウインドウシステムを介して、そのGAP103へキーやマウスなどの入力デバイスによる操作コマンドの入力時に発生するのと同じメッセージをGAP103に送る。このようなメッセージ送信の方法はXウインドウシステムなどの各ウインドウシステムの提供するライブラリにある機能で容易に実装できる。実際、ウイドウシステムでは、メッセージの送付先がGAP103そのものではなく、GAP103の中で生成したウインドウなどのオブジェクトの場合もある。メッセージ送信時に、そのオブジェクトの識別子である必要があるケースもあるが、後述するプログラム操作登録の内容や、ウインドウシステムに問合せて識別子の情報から、送り先のオブジェクトの識別子を決定することは容易である。
【0284】
次に、具体例をあげて説明する。図91に示すように、1つの音声入出力システム1に対して、音声インターフェース管理システム104とメールツール120が直接接続して動作し、また音声入出力システム1と直接接続できないGAPであるシェルツール130とエディタ131が並行して動作しているとする。このときの画面表示は、例えば図92のように行なえる。
【0285】
この場合のSIM104の音声インターフェース管理テーブルの一例を図93に示す。この表における“プログラム名”は、認識対象語彙であり、ユーザがプログラム名を発声することで応用プログラムに対する疑似音声フォーカスを切り換えることができる。“応用プログラム”は、応用プログラム自体の識別子であると共に、コマンドの送信対象を表す。
【0286】
上記の疑似音声フォーカスは、応用プログラムに対して疑似的に設けた音声フォーカスである。GAPは音声入出力システム1と直接接続しておらず、従って、音声入出力システム1はGAPの存在を関知しないため、GAPに対して本当の音声フォーカスは設定されない。SIM104は、「シェルツール」や「エディタ」等、GAPの名前を認識結果として受け取ると、そのプログラムについて定義されているコマンド名を認識対象語彙とする設定要求を、音声入出力システムに対して行なう(例えば、「シェルツール」の場合、「エルエス」や「プロセス」)。そして、図12や図19等で示したような音声フォーカスの表示をそのプログラムに対して行なう。
【0287】
図94に示すように、GAP103に関係する真の音声フォーカスはSIM104に設定され、実際に画面に表示されるのは疑似音声フォーカスである。SIM104が、プログラム名の認識をきっかけにして、認識のコンテキストを切り換えるのである。なお、メールツールにみるように、SAPの疑似音声フォーカスと真の音声フォーカスは合致する。
【0288】
SIMおよびGAPのコマンド名の属性は、SIMに対してローカルである。すなわち、SIMに音声フォーカスが設定されているときに認識対象となる。SAPにコマンドを送信する際、SIM104に音声フォーカスが設定されない状態であるため、SAP102に関するコマンド名は、グローバル属性を持つ。例えば、図93のメールツールのコマンド名「終了」の属性がグローバルである。なお、図93で、ローカル,グローバルといった認識対象語彙の属性は、プログラム名および認識対象語彙の欄の括弧内に示されている。属性値は、“0”がローカル、“1”がグローバルである。
【0289】
このようなメッセージ変換部143の処理手順の一例を図95に示す。すなわち、音声入出力システム1のメッセージ処理部11から受信した認識結果がプログラム名である場合、直前の疑似フォーカスに関するコマンド名を認識対象からはずし(ステップ9003)、認識したプログラム名を持つ応用プログラムに疑似フォーカスを設定し(ステップ9004)、その応用プログラムのコマンド名を認識対象として設定(追加)する(ステップ9005)。
【0290】
一方、受信した認識結果がプログラム名でない場合(ステップ9002)、コマンド名に対応するコマンドを、疑似フォーカスの設定されている応用プログラムに送信する(ステップ9006)。
【0291】
以上述べたように、本実施例のような構成をとることにより、既に存在する音声入力(認識)を用いない応用プログラム(GAP)に対しても、音声認識の利用が可能となり、ユーザの拡大と使い勝手の向上が実現できる。
【0292】
(第19実施例)
ウィンドウベースのGUI(グラフィカル・ユーザ・インターフェース)を持つシステム下では、1つのプログラムを複数のウィンドウを使って構成することができる。本実施例では、上記第18実施例をもとに、複数のウィンドウを持つ応用プログラムの個々のウィンドウに対する音声入力を可能にするべく、システムを拡張した例を説明する。これにより、よりきめ細かい音声認識の利用が可能となり、操作性が向上する。
【0293】
これまで説明してきた実施例においては、音声入出力システム1によって音声フォーカスが設定可能な単位は、“応用プログラム”であったが、本実施例では、その単位を“音声ウィンドウ”とする。音声ウィンドウは、応用プログラム中に複数個作成可能であり、個々の音声ウィンドウは、音声ウィンドウ名、入力マスク、および認識対象語彙セットを持つ。
【0294】
図96が、実施例14(図50参照)で説明した音声入出力システム1を拡張して、音声ウィンドウを扱えるようにしたものである。ここで、図96の応用プログラム管理テーブル13は、後述するように拡張する。また、応用プログラム2に音声ウィンドウ23が加わっているが、音声ウィンドウ23の実体は、音声入出力システム1の応用プログラム管理テーブル13中に存在する。
【0295】
以下、具体例をあげて説明する。第18実施例と同様に、応用プログラムとして、SIM(104)、シェルツール、エディタ、およびメールツールの4つが動作しているとする。このうち、SIMとメールツールはSAPであり、シェルツールとエディタはGAPである。図97のように、シェルツールとエディタをそれぞれ2つのウィンドウから構成し、それ以外を1つのウィンドウから構成したとする。この場合の音声入出力インターフェース全体の構成を図98に示す。専用プログラム(SAP)であるメールツール120は、自分用の音声ウィンドウ223を持ち、SIM104は、自分用の音声ウィンドウ0(1440 )に加えて、汎用プログラム用の音声ウィンドウ1〜4(1441 〜1444 )を持つ。この音声ウィンドウは、図97に示すようないわゆるウィンドウシステム(図示せず)やOS(図示せず)におけるウィンドウとは異なり、ビジュアルな属性を持たないものである。ウィンドウシステムのウィンドウは、通常、ツリー構造を持ち、その構造やウィンドウシステムの内部状態の変化を応用プログラム内部から知ることができる。SIM104は、そのようなウィンドウシステムの情報と、音声入出力システム1の情報にアクセスし、ウィンドウと音声ウィンドウとを結びつけて協調的に動作させ、統一的なユーザインターフェースを提供する。ウィンドウと音声ウィンドウとの結び付けは、両者にウィンドウ名などの一意かつ同一の属性を付与したり、プログラム操作登録部142で対話的に行なうことで可能である。
【0296】
音声ウィンドウはその属性として、ウィンドウ名、認識対象語彙、入力マスク等を持ち、音声入出力システム1はこの音声ウィンドウ単位で音声フォーカスの設定を行なう。ウィンドウ名やコマンド名などの認識対象語彙の属性として、ローカル、グローバルに加え、ウィンドウを設ける。ローカル属性を持つ語彙は、それが属する音声ウィンドウに音声フォーカスが設定されている時に認識対象となる。グローバル属性を持つ語彙は、音声フォーカスがどこに設定されていようと常に認識対象となる。ウィンドウ属性を持つ語彙は、それが属する音声ウィンドウに音声フォーカスが設定されていなくとも、その音声ウィンドウと同じ応用プログラムに属する音声ウィンドウに音声フォーカスが設定されている時に認識対象となる。
【0297】
また、複数の音声ウィンドウをグループ化して認識語彙を混合し、認識結果に応じて自動的にその認識語彙の属する音声ウィンドウへ結果を送信することもできる。例えば、応用プログラム管理テーブルが図102の状態の場合に、シェルツールとエディタをグループ化してエルエス、プロセス、カット、コピー、ペーストを1度に認識し、エルエスまたはプロセスが認識された場合はシェルツールへ認識結果を送り、カット、コピー、またはペーストが認識された場合にはエディタへ認識結果を送るようにする。
【0298】
これにより、シェルツールとエディタの間の音声フォーカスの移動を省略して効率的に両者の作業を行うことができる。複数の音声ウィンドウの語彙の中にも同じものがある場合には、それを語彙として持つ複数の音声ウィンドウへ同時に認識結果を送信しても良いし、音声フォーカスの当たっている音声ウィンドウを優先させることにしても良い。なお、グループ化は、図102の応用プログラム管理テーブルのグループ化IDの属性により、行うかどうかを決めることができる。
【0299】
また、音声ウィンドウのグループ化の一方法として、音声ウィンドウに親子関係を導入し、親ウィンドウと子ウィンドウをグループ化して両者の語彙を同時に認識することもできる。例えば、応用プログラム管理テーブルが図102の状態の場合に、シェルツールの設定ウィンドウに関して、その親のシェルツールウィンドウと設定ウィンドウをグループ化する。そして、設定ウィンドウに音声フォーカスが当たったときに両者の混合した語彙によって認識を行う。
【0300】
これにより、子音声ウィンドウに音声フォーカスが当たっている場合に、音声フォーカスの移動を省略してその親ウィンドウへの音声入力を行うことができ、作業が効率化できる。なお、親ウィンドウと子ウィンドウで同じ語彙を持つ場合には、音声フォーカスの当たっている子ウィンドウに優先して認識結果を送るようにできる。
【0301】
図98の状態の時、SIM104の音声インターフェース管理部141内の音声インターフェース管理テーブルは、図99のようになる。図93のテーブルにウィンドウIDを加え、プログラム名の替りにウィンドウ名を追加した形である。ウィンドウIDとは、ウィンドウシステムにおけるウィンドウの識別子である(図97参照)。図99に示すように、ウィンドウIDと音声ウィンドウIDとは一対一に対応しており、この表を用いてSIM104はウィンドウと音声ウィンドウとを連動させる。例えば、この例でいうと「シェルツール」を認識したならば、SIM104はID=1の音声ウィンドウに音声フォーカスを設定し、ID=101のウィンドウの表示を図19に示したように音声フォーカスの設定された状態にする。
【0302】
ウィンドウシステムやOSによっては、他の応用プログラムウィンドウの表示を変更できない場合があるが、そのときには図100の斜線部w1で示すような形で独立した別のウィンドウを他の応用プログラムのウィンドウに貼り付け、音声フォーカスの所在を示す。この外付けウィンドウの表示の例を図101に示す。図のように、応用プログラムの上部に音声フォーカスを示す表示(ウィンドウ)が示される。なお、このウィンドウの位置は、音声フォーカスが明示できればどこでも良く、また数もいくつでも良い。また、静止画だけでなく、動画像を使うことで、音声フォーカスの位置がより分かり易くなる。
【0303】
ここで、図18で示した音声入出力システム1の応用プログラム管理テーブル13は、図102に示すように拡張される。新たな欄として音声ウィンドウIDおよびウィンドウ名が付加されている。音声ウィンドウIDは、音声フォーカスの設定されている音声ウィンドウの識別子であり、ウィンドウ名はその名前である。ローカル,グローバルといった認識対象語彙の属性は、ウィンドウ名および認識対象語彙の欄の括弧内に示されている。属性値は、“0”がローカル、“2”がグローバル、“1”がウィンドウである。音声入出力インターフェース1の構成が図98である場合の音声入出力システム1の応用プログラム管理テーブル13は図102に示す状態にあり、音声インターフェース管理システム104の音声インターフェース管理テーブルが図99に示す状態にある。この時、疑似音声フォーカスによって、ユーザには、音声フォーカスが“シェルツール”(ウィンドウID=101)に設定されているように見えている。一方、真の音声フォーカスは、ウィンドウ(ID=101)と対応付けられた所の音声ウィンドウ(ID=1)に設定されており、その音声ウィンドウは、SIM104に属している。例えば、この状態で認識可能な語彙は、「エルエス」、「プロセス」、「シェルツール」、「エディタ」、「メールツール」、「システム」、および「設定」である。
【0304】
上記構成において、音声入出力システム1が認識処理を行い、その認識結果が、それぞれの語彙が設定されている音声ウィンドウに送られる。図103に、この認識処理の手順の一例を示す。
【0305】
まず、ウィンドウ(0)について、音声フォーカスが設定されている場合、当該ウィンドウ(0)に設定されている語彙を認識語彙リストに追加する(ステップ9103)。一方、音声フォーカスが設定されていない場合、当該ウィンドウ(0)が音声フォーカスの設定されている音声ウィンドウと同じ応用プログラムに属すときは、当該ウィンドウ(0)の語彙のうち属性値が“1”であるものを認識語彙リストに追加し(ステップ9105)、属しないときは、当該ウィンドウ(0)の語彙のうち属性値が“2”であるものを認識語彙リストに追加する(ステップ9106)。
【0306】
以上の処理を、ウィンドウ(1)をはじめとする他の全ウィンドウについて行う。
【0307】
そして、認識処理を行い(ステップ9108)、第1位の認識結果がウィンドウ名である場合、第1位の語彙が設定されていたウィンドウに音声フォーカスを設定し(ステップ9110)、ウィンドウ名でない場合、第1位の語彙が設定されていたウィンドウに上記認識結果を送信する(ステップ9111)。
【0308】
例えば、図102において、認識可能な語彙の1つである「設定」の設定されている音声ウィンドウは2つ(ID=2とID=4)あるが、それぞれの語彙の属性が“1”(=ウィンドウ)であることから、ここで認識した結果「設定」は、音声ウィンドウID=2に送られる。これに対して、音声フォーカスが音声ウィンドウID=3に設定されている場合に認識された「設定」は、音声ウィンドウID=4に送られる。ウィンドウ名を認識した際に音声入出力システム1の動作としては、単に認識結果をウィンドウ名の属する音声ウィンドウに送ることもできるし、送らずに音声フォーカスをその音声ウィンドウに設定することもできる。
【0309】
このように、認識対象語彙にウィンドウ属性を持たせることで、複数の応用プログラムのウィンドウに同一の名前を付け、操作することが可能となる。本実施例により音声認識インターフェースとしての使い勝手が大幅に向上する。
【0310】
(第20実施例)
第18実施例および第19実施例で述べたように、音声認識システムからの音声メッセージを音声インターフェース管理システム104によって音声メッセージを変換して送信することにより、音声入出力インターフェースと直接通信する手段を持たない既存の応用プログラムに対しても、音声入力を行なうことが可能になった。
【0311】
既存の応用プログラムに本発明の音声入出力インターフェースを適用する場合には、既存のプログラムの操作と、それを行うための語彙との対応を、音声入出力インターフェース専用の応用プログラムとは別個にとる必要がある。この実施例では、“語彙”と“プログラムの操作”との対応をとるためのプログラム操作の登録について説明する。
【0312】
プログラム操作の登録では、音声フォーカスを目的の応用プログラムに移動させるのに用いるプログラム名またはウィンドウ名の登録と、既存の応用プログラムの操作を行なうためのキー入力またはマウス入力イベントの系列と語彙との対応づけを行なう。例えば、シェルツールのウィンドウを2つ使う場合には、ウィンドウ名として「シェル1」、「シェル2」と付け、シェルツールの中で行なう操作、例えば画面上の文字を全部消去するクリア(clear )コマンドを行なうためのキー入力系列に対し「クリア」という単語を割り当て、登録する。
【0313】
通常、一般の応用プログラムは、そのプログラムが表示しているウィンドウのウィンドウ名を持っていないため、名前でウィンドウを指定するためには、ウィンドウに名前を付け、音声インターフェース管理テーブルからウィンドウ名で対象ウィンドウを識別できるようにすることが必要である。このため、第19実施例の図99に示すように、音声インターフェース管理テーブルに、ウィンドウシステムにおけるウィンドウ識別子であるウィンドウIDとウィンドウ名とを格納するフィールドを持たせている。このテーブルにより、音声インターフェース管理部141は、例えば「エデイタ」が認識結果として送られて来た場合には、ウィンドウID103を持つウィンドウに対して疑似音声フォーカスを設定する。上述のウィンドウIDは、ウィンドウシステム(図示せず)の持つ情報にアクセスすることにより得られる。例えば、ウィンドウシステムのサーバー(図示せず)に、ウィンドウ構造に関する情報を問い合わせることにより得ることができるが、ウィンドウ名も同時に得られるとは限らない。ウィンドウIDとウィンドウ名を同時に得るにはウィンドウ名を指定してプログラムを起動する方法があるが、既に動作中のプログラムが別のウィンドウを新たに生成するポップアップウィンドウのような場合には、起動前から名前を付けることは困難である。そのような場合には、マウスでウィンドウをクリックすることによって、そのウィンドウのウィンドウIDを獲得し、そのウィンドウIDにウィンドウ名を対応させるという方法でウィンドウ名を付けることができる。マウスがクリックされたウィンドウのIDは、ウィンドウシステムのサーバーに問い合わせることで容易に得られる。
【0314】
次に、ウィンドウへの名前付けとプログラム操作の登録方法について以下に説明する。
図104は、前記プログラム操作登録部142の構成である。このプログラム操作登録部142は、登録内容の画面への表示とユーザからの入力を行なうプログラム操作表示編集部151と、登録内容をファイル200に保存する登録内容保存部152と、ウィンドウシステムからウィンドウIDを取得するウィンドウID取得部153からなる。
【0315】
プログラム操作表示編集部151は、例えば図105のような登録画面を表示してウィンドウ名やプログラム操作、単語名などの入力を行ない、前記音声インターフェース管理部141内の音声インターフェース管理テーブルに登録内容を書き込む。登録内容保存部152は、プロクラム操作の登録内容をファイル200に保存する。ウィンドウIDの取得は、ウィンドウシステムのサーバーに問い合わせることにより容易に行なえる。
【0316】
図105の登録画面は、プログラム操作登録内容を音声インターフェース管理テーブルに書き込む「登録」ボタン、入力内容を取り消して入力前の状態に戻すための「取り消し」ボタン、登録を終了するための「終了」ボタン、対象とする一般応用プログラムのウィンドウIDを取得するための「ウィンドウID取得」ボタン、応用プログラムの種類を入力する「応用プログラムクラス」(APクラス)ウィンドウ、ウィンドウ名を入力する「ウィンドウ名」ウィンドウ、および語彙とそれに対応したプログラム操作を表すキー入力系列またはマウス入力系列を入力するプログラム操作入力ウィンドウからなる。
【0317】
図105では、応用プログラムクラスとして「シェル」、シェルのウィンドウ名として「シェル1」が選択され、背景色が反転しており、シェル1に対する操作として単語「エルエス」と「クリア」に相当するキー入力操作と、それらの語彙のスコープとしてローカル(0)が、編集用ウィンドウに入力された状態を示している。
【0318】
次に、プログラム操作の登録手順について図106を用いて説明する。プログラム操作登録部142は、メッセージ変換部143から起動され、まず、プログラム操作登録内容を保存した登録内容ファイル200から登録内容を読み出し(ステップ9201)、画面表示を行ないユーザの入力待ちの状態(ステップ9202)になる。
【0319】
ここで、ユーザが、APクラス、ウィンドウ名、語彙、プログラム操作などの入力、あるいは、登録ボタン、取り消しボタン、終了ボタン、ウィンドウID取得ボタン等の入力を行なう。
【0320】
入力が登録ボタンであった場合には(ステップ9203)、画面に表示されている編集結果を保存ファイル200へ保存し、更に音声インターフェース管理テーブル141へ書き込んで登録内容を音声入出力インターフェースの動作に反映させる(ステップ9204)。
【0321】
入力が取り消しボタンであった場合には(ステップ9205)、再度、保存ファイル200から登録内容を読み込んで表示し、入力待ちの状態に戻る(ステップ9202)。
【0322】
入力が既に登録済みの応用プログラムクラス(APクラス)であった場合(ステップ9206)選択されたAPクラスのウィンドウ名の一覧と語彙、プログラム操作を画面表示し(ステップ9207)、入力待ちの状態に戻る(ステップ9202)。
【0323】
入力がウィンドウID取得ボタンであった場合(ステップ9208)、まず、ウィンドウ名が選択されているか判別し(ステップ9209)、選択されていない場合には入力待ちに戻り(ステップ9202)、選択されている場合にはマウスでウィンドウがクリックされるのを待ち、クリックされたウィンドウのIDを取得して、図99に示すような音声インターフェース管理テーブルに選択されているウィンドウ名とウィンドウIDを書き込む(ステップ9210)。
【0324】
入力が終了ボタンである場合(ステップ9211)には、画面表示内容の内容の音声インターフェース管理テーブルへの書き込みとファイル200への保存を行なって(ステップ9212)、登録を終了する。
【0325】
以上述べたように、プログラム操作登録の際、応用プログラムの種類を指定することにより、同一のプログラム操作を入力せずに、自動的に指定することが可能になり、登録が効率的に行なえるようになる。
【0326】
また、名前を指定して起動することが困難な応用プログラムのウィンドウに対しても、マウスのクリックされたウィンドウのIDを取得してウィンドウ名と結び付けるようにすることにより、容易にウィンドウ名を付けて音声入力を行なえるようになる。
【0327】
上述の登録の例では、すでに生成されているウインドウのIDを利用して、操作コマンドと認識結果の対応をとっていたが、一般にウインドウ等のオブジェクトIDは生成時に決定され、同じ種類のアプリケーションであっても異なるIDが付与される。したがって、登録時にウインドウ階層やウインドウ名など、同じ種類のアプリケーションで共通のウインドウ属性値をウインドウシステムに問い合わせて登録内容に付加しておけば、これらの属性値を照合することによって同種のアプリケーションで共通に登録内容を反映させることができる。
【0328】
さらに、この登録時に、登録対象のアプリケーションに複数のウインドウ名を登録しておくことによって、同じ種類のアプリケーションが起動された時に(既に使われいる音声ウインドウ名を音声認識システムに問合わせて)使われていないウインドウ名を起動されたアプリケーションの音声ウインドウ名として利用すれば音声ウインドウ名の衝突を避けることができる。
【0329】
(第21実施例)
次に、音声入出力インターフェースにおいて音声の認識を行なうための認識辞書の編集機能に関する実施例について説明する。
【0330】
図107は、辞書編集部144を持つ音声インターフェース管理システム104の構成である。辞書編集部144は、メッセージ変換部143から起動され、編集を終了すると終了メッセージをメッセージ変換部143へ返す。この終了メッセージを受けて音声インターフェース管理部141は、音声入出力システム1へ、編集した後の新しい辞書のロード命令を出すことができる。
【0331】
ここで、図108は、認識辞書の構成の例である。認識辞書には単語ごとに、パターンマッチング用のテンプレートの他、単語名や単語ID、あるいは認識パラメータ等のデータがヘッダに格納されている。これらのデータの内容を表示し、編集する機能を備えることにより、使わない単語の辞書を削除して辞書に要する実行時のメモリ量を減らしたり、単語名やIDを付け替えたりすることが容易に行なえるようになる。
【0332】
次に、辞書編集部144の構成について説明する。辞書編集部144は、図109に示すように、辞書内容を表示してユーザが編集を行なえるようにする辞書内容表示編集部441と、辞書内容のチェックや検索を行なう辞書内容検索部442からなる。
【0333】
辞書内容は、例えば図110のような画面に表示される。画面中には、辞書名を表示する辞書名ウィンドウ、語彙番号、単語ID、単語、パラメータ、辞書番号を表示する辞書内容ウィンドウ、辞書の削除を行なう「削除」ボタン、パラメータの検索を行なう「検索」ボタン、内容の全表示を行なう「全表示」ボタン、辞書編集を終了する「終了」ボタン、辞書内容チェック結果を表示するステータスウィンドウ、検索の際の値を入力する検索値ウィンドウなどがある。辞書内容ウィンドウのパラメータの項目はメニューになっており、マウスでクリックすると図に示すようなパラメータ内容が表示されて表示する内容を選択するようにできる。
【0334】
辞書内容のチェックは、辞書名を選択したときに自動的に動作するようにでき、例えば、同じIDの単語がないか、あるいは同じ単語名の辞書がないか等のチェックや、認識パラメータのくい違いがないか等のチェックが行なわれ、結果がステータスウィンドウに表示される。
【0335】
図110の項目では、辞書として、“common”および“usr.1”というファイル名の辞書が選択され、辞書内容としてその2つの内容がマージして表示される。例えば、語彙No.“1”はID=1のオープンで辞書作成に使ったデータ数が100であることを示している。また、語彙No.“2”はID=2のクリアでこの単語が選択されて背景色が暗く変わっていることを示している。
【0336】
次に、辞書編集の処理の手順を、図111を用いて説明する。辞書編集部が起動されるとまず、辞書ファイルから辞書内容を読み出し(ステップ9301)、画面に内容を表示して入力待ちする状態になる(ステップ9302)。
【0337】
入力が削除ボタンであった場合には(ステップ9303)、ユーザが指定した辞書Noの辞書をファイルから削除し(ステップ9304)、入力待ちに戻る(ステップ9302)。
【0338】
入力が全表示ボタンであった場合には(ステップ9305)、辞書内容を再度読み出して(ステップ9301)、入力待ちに戻る(ステップ9302)。
【0339】
入力が検索ボタンであった場合には、パラメータメニューからのパラメータの指定を待ち(ステップ9307)、指定されたパラメータと検索値ウィンドウに入力された値に合致する辞書のみ辞書内容として表示して(ステップ9308)、入力待ちに戻る(ステップ9302)。
【0340】
入力が終了ボタンであった場合には、画面に入力した内容から辞書ファイルを更新し(ステップ9310)終了したことをメッセージ変換部へ知らせて(ステップ9311)終了する。
【0341】
以上に述べた辞書編集部により、不要な単語辞書の削除や内容の確認、単語名の変更などの編集が容易に行なえ、また同じIDや単語の2重使用や認識パラメータの不統一のチェック等が容易に行なえる。
【0342】
(第22実施例)
本発明の第18,19実施例で述べた音声入出力インタフェースでは、ユーザの発声の認識結果の確認および認識結果により引きおこされる応用プログラムの動作の確認は、応用プログラムの提示する画面情報を通じて行っている。例えば、認識結果(および認識失敗)を文字情報としてユーザに提示する。「シェルツール」などプログラム名を呼んだ時にシェルツールの表示を第19実施例の図100,101のように変更する。「アイコン化」の発声に対して、音声フォーカスの当たったウィンドウをアイコン化する等、音声による応用プログラムへの働きかけは、応用プログラムの行う画面表示の変化としてユーザへフィードバックされる。しかし、応用プログラムによっては、操作によりその表示が殆んどあるいは全く変化しない事も考えられる。また、キーボードフォーカスと音声フォーカスを分離できるという本発明の特長を生かして音声フォーカスを当てた応用プログラムを表示しない状態で使用することも考えられる。このような場合には、認識結果やそれによる操作の確認を画面出力ではなく、第14実施例で述べた、音声合成機能を利用した音声出力によって行うことで、ユーザの応用プログラム操作上の利便性が向上する。
【0343】
動作確認を音声出力によって行うために、第19実施例の音声インタフェースマネージャ(図98)を図112のように拡張する。すなわち、音声インタフェース管理システム(SIM)に応答音声管理部401と応答音声登録部403を追加する。
【0344】
ユーザの行った発声に対してどのような応答音声を返すかを定義するのが、応答音声管理部401であり、その登録を行うのが応答音声登録部403である。そして、動作(すなわちメッセージ)が発生した際に応答音声管理部401を参照して音声応答を出力するのが、メッセージ変換部143である。
【0345】
応答音声管理部401の例を図113に示す。応答音声管理部401は、音声応答を出力するきっかけとなる動作と、動作時に行う応答コマンドおよび、その設定を実際に適用するか否かを決定するフラグから成る。動作は、音声によらないものでもよい。応答には、コマンドが記述される。synth()は、その引数をテキストとして合成音声を出力するコマンド、play()は、引数を波形データと見做し、出力するコマンドである。
【0346】
メッセージ変換部143は応答音声管理部401のデータを参照し、図114に示す流れにより処理を行う。先ず、音声入出力シスムテから受信したメッセージが認識結果か否かを判定し(ステップ10001)、認識処理が成功したか否かを判定する(ステップ10002)。ついでその成功・失敗に応じて、音声応答コマンドを実行する(ステップ10003,ステップ10004)。ステップ10005は、認識処理の成功・失敗以外の応答音声を出力する段階であり、図113の3行目以下の設定にあたる。この流れに従えば、認識はできたが類似度が低い、あるいは音声入力レベルが大き(小さ)すぎるなどの理由によって、認識失敗した際には、「えっ?」などという音声データが出力され、応用プログラム名、例えば「メール」が認識された時には、合成音声により「はい、メールです」などと出力される。ここで、図113中の$<cat>は、認識結果の語彙名が置換される)。
【0347】
応答音声管理部401のコマンドを登録するのが、図115に示す応答音声登録部403である。各動作に対してコマンドを記述し、また適用するか否かのチェックボックスをチェックし、OKボタンを押すことで登録を確認する。
【0348】
応答音声管理部403の応答コマンドは、メッセージ変換部143が処理するものであり、第19実施例の図99に示した音声インタフェース管理テーブルのコマンドとして記述できる。ここにplay()およびsynth()コマンドを記述することで、音声入出力システム1と直接情報を交換できないGAPの動作に対して、その応用プログラムに即した応答音声出力を定義できる。
【0349】
このように、音声入力によって行われる(あるいは行われない)動作に対して、動作毎に意味のある音声応答を返す機構をSIMに設け、音声入力に対しては音声で応答するという自然な方法で、ユーザが画面の表示の変化を注視しなくとも(あるいは全くみなくとも)応用プログラムの実行した動作を確認できるため、音声入出力インタフェースの操作性が向上する。
【0350】
(第23実施例)
本発明の第9実施例では、認識辞書作成のためのデータ収集について説明したが、収集データの中には、間違った語彙の発声や音声区間の検出誤りなどにより、誤りデータが含まれることがある。例えば「ひらく」という単語は「く」の音が小さく発声されることがあり、「く」が抜けて「ひら」のみ音声区間として検出されることがある。このような誤ったデータによる認識辞書の学習は認識精度を大きく低下させるため、データの確認を行って誤りデータを取り除くことが必要である。そこで本実施例では、データの確認を容易に且つ確実に行なえるように、音を再生して聞くことによりデータ確認するようにしている。
【0351】
従来、収集した音声データを再生して確認する方法では、検出された音声区間のみを再生する場合が多いが、語彙によっては、音声の始終端が誤って検出されている場合でもユーザがそれを聞きもらしてしまうという問題があった。例えば上に述べた「ひらく」の語尾の「く」が抜けて「ひら」だけになってしまった場合でも、「ひら」の再生音が「ひらく」と聞こえてしまうことがある。本実施例では、このような始終端の確認のミスを少なくするため、音声の始終端位置を音により分り易く提示するようにしている。これにより、音声データの確認が音により容易に且つ確実に行なえるようになるため、学習データの収集が簡単でミスなく行なえ、音声入出力インタフェースの使い勝手の向上と認識精度の向上が実現できる。
【0352】
始終端位置を分り易くする方法としては、
(方法1)検出された音声区間の前後に白色雑音や正弦波など既知の音を付加して再生する方法、
(方法2)始終端位置にクリック音を乗せて再生する方法、
(方法3)始端よりも一定時間前から終端よりも一定時間後までの発声全体を再生した後、音声区間のみを再生する方法、
などが考えられる。
【0353】
上記方法1によれば、先程述べた「ひらく」の例では、「ひら」の後にすぐ別の音が続くため、「く」が抜けていることを容易に聞き取ることができる。上記方法2によれば、「ひら」の後に続いて、クリック音が来るため「く」が抜けていることが分る。また、上記方法3によれば、発声全体と音声区間とを比較して聞くことができるため、「く」の有無を容易に識別することができる。
【0354】
ここで、本実施例による拡張したデータ収集部8の構成を図116に示す。
【0355】
データ収集部8は、図116に示すように、第9実施例の図29のデータ収集部8に、音声データ確認部411、データ使用可否入力部413を加え、学習データ収集制御部83を介して音声特徴データを音声特徴データ保存部に送るような構成になっている。すなわち、音声データ確認部411で提示された再生音を聞いて、ユーザがその音声データを辞書作成に使うか否かをデータ使用可否入力部413から指定できるような構成になっている。
【0356】
このデータ収集部8の処理の流れを図117に従って説明する。
【0357】
まず、初期設定では、ユーザからのデータ収集の指示により、データ収集部8から音声認識システム1に対して学習モード設定要求が出され(ステップ11001)、これを受けて音声認識システムは認識対象語彙をデータ収集部8に送る。データ収集部8では認識対象語彙がユーザに表示される(ステップ11002)。
【0358】
ユーザにより学習語彙が選択されると(ステップ11003)、データ収集部8は音声認識システム1に単語音声特徴データと単語音声波形データの送信を要求し(ステップ11004)、選択された語彙を発声のガイドとして発声ガイド表示部415に表示し(ステップ11005)、ユーザに発声を促す。音声認識システム1では発声されたユーザの音声を処理した後、データ収集部8に単語特徴データと波形データを送信する。そして、データ収集部8はそのデータを受信し、内部メモリに一時格納する(ステップ11006)。
【0359】
音声波形データは音声データ確認部411に送られ、ユーザがそのデータを確認し、辞書作成に使うか否かを、データ使用可否入力部413により入力する(ステップ11007)。データを使用するとした場合には単語音声特徴データが磁気ディスク上などにファイル出力され(ステップ11008でYESの場合およびステップ11009)、使用しないとした場合にはファイル出力しない(ステップ11008でNOの場合)。
【0360】
学習終了時にはユーザがデータ収集終了の指示を入力し、データ収集指示フラグがOFFならば(ステップ11010でYesの場合)、データ収集部8は学習モードの解除を音声認識システム1に要求する(ステップ11012)。音声認識システム1では、それを受けて学習モードを解除する。一方、学習を終了しないときは、データ収集指示フラグを検査し(ステップ11011)、上記ステップ11004以下の処理を繰り返す。データ収集指示フラグは、学習データ収集制御部の中に設定されており、図に示すようなデータ収集ボタンにより、ユーザが入力可能とすることができる。
【0361】
次に、本実施例の音声データ確認部411の構成を図118に示す。
【0362】
音声データ確認部411は、音声データを格納する音声データメモリ421、音声データを加工する音声データ加工部422、加工に用いる付加音を生成する付加音生成部424、加工後の音声データを再生して音にする再生部423から成り、学習データ収集部制御83から音声データと始終端位置に関する情報を受け取って加工後、音として出力する。加工後の音を音声入出力システムに送って音データを再生することにすれば、再西部423はなくても良い。
【0363】
次に、図119に従って処理の流れについて説明する。
【0364】
まず、学習データ収集制御部83から音声データと始終端情報を受け取り、音声データメモリ421に格納する(ステップ12001,ステップ12101,ステップ12201)。この音声データは、音声区間の前後に一定時間、例えば240msecの余裕を付けた波形データであり、例えば図120に示すようなものである。図のデータは「ひらく」の「ひら」が音声区間として検出されたため、「く」の音は終端の余裕の中に入っている。
【0365】
次に、音声区間の前後に付加音をつける上記方法1の場合では、付加音を付加音生成部424で作り(ステップ12002)、音声データ加工部422で始終位置の前と終端位置の後にこの付加音を付加する(ステップ12003,ステップ12004)。この結果、音声データ図121の(a)に示すようなものになる。
【0366】
付加音データは白色ノイズでも良いし、正弦波でも良く、これらは乱数発生ルーチンや三角関数のルーチンを使って容易に作成できる。又、録音データを単に読み出すだけでも良い。
【0367】
始終端位置にクリック音を付加する上記方法2の場合では、クリック音を付加音生成部424で作り(ステップ12102)、始終端位置に付加する(ステップ12103,ステップ12104)。この結果、音声データは図121の(b)に示すようなものになる。ここでクリック音は短時間、例えば数10msec幅のパルスや三角波等で良い。
【0368】
発声の全体と音声区間の両方を再生する上記方法3の場合では、まず、音声区間外の平均パワーを計算し(ステップ12202)、この値が、しきい値、例えば雑音レベル+2dBよりも大きければ(ステップ12203でYESの場合)、音声区間の前後についた余裕と音声区間とを合わせた音声全体を再生する(ステップ12204)。一方、計算した平均パワーがしきい値よりも小さければ(ステップ12203でNOの場合)、音声区間のみ再生する(ステップ12205)。雑音レベルは音声認識システム1で音声検出のために常時測定しているため(永田、他“ワークステーションにおける音声認識機能の開発”,電子情報通信学会技術報告、HC9119,pp.63−70,(1991)、参照)それを用いれば良い。発声全体の再生と音声区間の再生の2回の再生を、発声の毎に行なうのは煩しいため、上述のように音声区間の外の音声パワーが大きいときに、始終端位置を誤った可能性が大きいと見なして、そのときのみ2回の再生を行なうようにすれば、煩しさを軽減できる。
【0369】
この場合、図121の(c)に示すように、発声全体の再生音は「ひらく」の全発声が再生されるが、音声区間のみの再音声は「ひら」だけしか再生されないため、続けてこの2つの再生音を聞いて比較することによって「く」が抜けていることを容易に識別できる。
【0370】
以上に述べたように、音声データが正しいか否かをユーザが再生音により容易に判断することができ、データを辞書作成に使用するか否かをデータ収集部で直ちに入力することができるため、音声データ収集を簡単に、且つ確実に行なうことができる。
【0371】
これにより、誤ったデータを除いて認識辞書を作成することができる。
【0372】
【発明の効果】
本発明によれば、各応用プログラムにより音声認識システムに対する音声認識結果の受信の可否を決定できるので、応用プログラムが自分や他の応用プログラムの音声入力に関する制御を自由に行うことができ、柔軟で使いやすい音声認識インターフェースが構築できる。また、音声認識システムがその音声認識結果を同時に複数の応用プログラムに送信できるので、一つの音声入力による操作を同時に複数の応用プログラムに対して行うこともでき、音声入力による計算機の操作性も向上する。さらに音声認識システムが複数の応用プログラムに対する音声認識を行えるので、音声入力対象の明示的な指定をせずに音声認識結果に基づき音声入力を各応用プログラムに振り分けることができ、利用者の負担を軽減できる。
【図面の簡単な説明】
【図1】本発明の一実施例の概略構成を示す図。
【図2】音声認識部の概略構成を示す図。
【図3】音声認識部の他例の概略構成を示す図。
【図4】音声認識部の他例の概略構成を示す図。
【図5】音声認識部の他例の概略構成を示す図。
【図6】応用プログラムの概略構成を示す図。
【図7】構成要素間で伝送されるメッセージを説明する図。
【図8】入力マスクの種類を示す図。
【図9】音声認識インターフェース各部の処理のタイムチャートを示す図。
【図10】応用プログラム管理テーブルを説明する図。
【図11】本発明の第2実施例の概略構成を示す図。
【図12】一般的なウィンドウシステムの画面表示例を示す図。
【図13】応用プログラムの認識語彙を説明する図。
【図14】入力フォーカスの移動に伴う音声認識語彙の変化を説明する図。
【図15】認識語彙の表示例を説明する図。
【図16】マウスの位置により認識語彙を変更する状態を説明する図。
【図17】本発明の第3実施例での応用プログラムの認識語彙を説明する図。
【図18】応用プログラム管理テーブルを説明する図。
【図19】本発明の第4実施例を説明する図。
【図20】本発明の第5実施例の概略構成を示す図。
【図21】メッセージ表示例を示す図。
【図22】ワークステーションなどのマルチウィンドウ環境を示す図。
【図23】本発明の第6実施例での応用プログラム管理テーブルを示す図。
【図24】図23の応用プログラム管理テーブルに基づく表現を説明する図。
【図25】タスク管理プログラム機能の拡張例を示す図。
【図26】本発明の第7実施例での表示例を説明する図。
【図27】同第7実施例での表示例を説明する図。
【図28】本発明の第9実施例の概略構成を示す図。
【図29】学習データ収集部の概略構成を示す図。
【図30】音声認識システムとのメッセージ交換を説明する図。
【図31】音声認識システムのデータ収集時のフローチャートを示す図。
【図32】学習データ収集部のフローチャートを示す図。
【図33】学習語彙ガイド表示部での表示例を示す図。
【図34】学習語彙ガイド表示部での表示例を示す図。
【図35】データ収集時の音声認識インターフェースの処理の流れを示す図。
【図36】本発明の第10実施例の概略構成を示す図。
【図37】辞書作成管理テーブルを示す図。
【図38】辞書作成管理テーブルを示す図。
【図39】辞書作成管理テーブルを示す図。
【図40】辞書作成管理テーブルへの登録手順を説明する図。
【図41】辞書作成の手順を説明する図。
【図42】辞書作成の進行状況の表示例を示す図。
【図43】辞書作成処理の速度表示の例を示す図。
【図44】辞書作成処理の速度表示の例を示す図。
【図45】本発明の第11実施例の概略構成を示す図。
【図46】音声認識自動停止処理を説明する図。
【図47】本発明の第12実施例を説明する図。
【図48】同第12実施例を説明する図。
【図49】本発明の第13実施例を説明する図。
【図50】本発明の第14実施例の概略構成を示す図。
【図51】音声合成部の概略構成を示す図。
【図52】音声出力管理テーブルを説明する図。
【図53】音声入力に対するメッセージを説明する図。
【図54】音声出力に対する入力マスクを説明する図。
【図55】応用プログラム管理テーブルを説明する図。
【図56】音声出力処理のフローチャートを示す図。
【図57】音声出力処理のタイムチャートを示す図。
【図58】音声出力要求処理のフローチャートを示す図。
【図59】中断処理のある音声データを重畳する際の一例を説明する図。
【図60】本発明の第15実施例の概略構成を示す図。
【図61】応用プログラムと音声入出力システム間で交わされるメッセージを説明する図。
【図62】音声メールツールが音声データを録音する処理のタイムチャートを示す図。
【図63】音声メールツールの画面表示例を示す図。
【図64】音声データ編集用のサブウィンドウを示す図。
【図65】メール送信による返信の文面例を示す図。
【図66】音声データ編集用のサブウィンドウを示す図。
【図67】合成音声の属性のデータベースの一例を示す図。
【図68】メール読み上げ時に使用する音声コマンドの例を示す図。
【図69】音声メールシステムの概略構成を示す図。
【図70】応用プログラム管理テーブルを説明する図。
【図71】メールシステムと音声入出力システム間のメッセージを説明する図。
【図72】タスク重要度管理テーブルを説明する図。
【図73】音声メールシステムの電子メール処理のフローチャートを示す図。
【図74】受信メールの通知例を示す図。
【図75】タスク重要度管理テーブルを説明する図。
【図76】制御コード交じりのメール例を示す図。
【図77】本発明の第16実施例の概略構成を示す図。
【図78】本発明の第16実施例の概略構成を示す図。
【図79】要約設定処理のフローチャートを示す図。
【図80】本発明の第17実施例の概略構成を示す図。
【図81】音声を使ったメール文書作成例を示す図。
【図82】応用プログラムと音声認識システムの間のメッセージ例を示す図。
【図83】音声区間データを入力音声から切り出す処理のタイムチャートを示す図。
【図84】音声によるメール題の入力を説明する図。
【図85】定型的なメール文書の入力を説明する図。
【図86】メールアドレスブックの画面表示例を示す図。
【図87】音声入力可能なメールアドレスの登録例を示す図。
【図88】音声によるメール送付先指定の手順を説明する図。
【図89】メールアドレスのデータベースを用いたメール送付先指定を説明する図。
【図90】本発明の第18実施例の概略構成を示す図。
【図91】同第18実施例におけるシステム構成を示す図。
【図92】同第18実施例での画面表示例を示す図。
【図93】音声インターフェース管理テーブルの一例を示す図。
【図94】疑似音声フォーカスと音声フォーカスとの対応関係を示す図。
【図95】メッセージ変換部のフローチャートを示す図。
【図96】本発明の第19実施例の概略構成を示す図。
【図97】同第19実施例での画面表示例を示す図。
【図98】同第19実施例のより詳細な構成を示す図。
【図99】音声インターフェース管理テーブルの一例を示す図。
【図100】音声フォーカスの表示方法を説明するための図。
【図101】外付けウィンドウの表示例を示す図。
【図102】応用プログラム管理テーブルの一例を示す図。
【図103】音声入出力システムの認識処理のフローチャートを示す図。
【図104】本発明の第20実施例の概略構成を示す図。
【図105】プログラム操作の登録画面の一例を示す図。
【図106】プログラム操作登録の処理手順を示す図・
【図107】本発明の第20実施例の概略構成を示す図。
【図108】認識辞書の構成の一例を示す図。
【図109】辞書編集部の概略構成を示す図。
【図110】辞書編集画面の一例を示す図。
【図111】辞書編集部の処理のフローチャートを示す図。
【図112】本発明の第22実施例の概略構成を示す図。
【図113】応答音声管理部の概略構成を示す図。
【図114】メッセージ変換部の処理のフローチャートを示す図。
【図115】応答音声登録部の概略構成を示す図。
【図116】拡張したデータ収集部の概略構成を示す図。
【図117】図116のデータ収集部の処理のフローチャートを示す図。
【図118】音声データ確認部の概略構成を示す図。
【図119】音声データ確認部の処理のフローチャートを示す図。
【図120】音声データの一例を示す図。
【図121】加工後の音声データの様子を示す図。
【図122】従来の音声認識インターフェースを示す図。
【図123】従来の音声認識インターフェースを示す図。
【図124】従来の音声認識インターフェースを示す図。
【図125】従来の音声認識インターフェースを示す図。
【図126】従来の音声認識インターフェースを示す図。
【符号の説明】
1、3、6…音声認識システム、11…メッセージ処理部、12…音声認識部、121…音声検出部、122…音声分析部、123…認識辞書照合部、124…音声認識辞書、13…応用プログラム管理テーブル、2、5、7…応用プロクラム、21、71…メッセージ入出力部、22…プログラム本体、4…ウインドウシステム、8…データ収集部、81…単語音声特徴データ保持部、82…学習語彙表示選択部、83…学習データ収集制御部、84…学習語彙ガイド表示部、9…辞書作成部、91…辞書作成管理部、92…辞書作成制御部、93…データ入力部、94…辞書作成部本体、95…ファイル出力部、10…音声認識自動停止部、14…音声合成部、561…全体制御部、562…波形重畳部、563…音声出力管理テーブル、564…波形合成部、651…音声入出力システム、652…ウィンドウシステム、653…音声メールツール、6531…電子メール処理部、6532…メッセージ入出力部、821…音声入出力システム、822…音声メールシステム、8221…電子メール処理部、8222…文書要約部、8223…メッセージ入出力部、851…音声認識システム、852…音声メーメシステム852、853…メールアドレステーブル、103…汎用応用プログラム(GAP)、102…専用応用プログラム(SAP)、104…音声インターフェース管理システム(SIM)、141…音声インターフェース管理部、142…プログラム操作登録部、143…メッセージ変換部、23…音声ウィンドウ、14400 〜14404 …音声ウィンドウ、151……プログラム操作表示編集部、152…登録内容保存部、153…ウィンドウID取得部、144…辞書編集部、441…辞書内容表示編集部、442…辞書内容検索部、401…応答音声管理部401、403…応答音声登録部、411…音声データ確認部、413…データ使用可否入力部、415…発生ガイド表示部、421…音声データメモリ、422…音声データ加工部、423…再生部、424…付加音データ保存部。[0001]
[Industrial application fields]
The present invention relates to a voice recognition interface used in personal computers and workstations.
[0002]
[Prior art]
In recent years, it has been considered that a computer is equipped with a plurality of input means such as a keyboard, a mouse, a voice, and an image and can input various instructions and data.
[0003]
Of these, voice input is a natural and powerful input means for humans, but has problems in terms of calculation amount and recognition rate for voice processing, and has not been widely used as an input means.
[0004]
Conventionally, the following configuration is considered as a configuration of the application program and the speech recognition system in the speech recognition interface.
[0005]
In FIG. 122, the speech recognition system SRS is incorporated in the application program AP. In this case, since the voice recognition function cannot be separated from the application program AP, it is difficult to use the voice recognition function from other application programs.
[0006]
FIG. 123 shows a configuration in which one speech recognition system SRS and one application program AP are connected to each other. In this way, since the speech recognition system SRS is occupied by the connected application program AP, in order to use the same speech recognition system SRS from another application program, the connection is changed to another application program. It is necessary and it takes time to reconnect. Further, since the data exchanged between the speech recognition system SRS and the application program AP is only the recognition result sent from the speech recognition system SRS to the application program AP, the speech recognition system SRS knows the internal state of the application program AP. I can't. For this reason, the recognition target vocabulary according to the internal state of the application program AP cannot be automatically changed, and the user needs to change the vocabulary, resulting in a system that is not easy to use.
[0007]
FIG. 124 is composed of one speech recognition system SRS and one application program AP, which are connected to each other and send information such as a recognition vocabulary and a recognition result. In this way, since the speech recognition system SRS can know the internal state of the application program AP and the recognition vocabulary, the recognition vocabulary can be automatically changed. Since it is occupied by the AP, other application programs cannot use the speech recognition system SRS at the same time.
[0008]
FIG. 125 shows a document [Schmandtal, “Augmenting a window system with speech input”, COMPUTER, Vol. 23, pp. 50-58, 1990], which unilaterally sends a speech recognition result from one speech recognition system SRS to a plurality of application programs AP. This system uses a window system to input speech by translating the speech recognition result into input using a mouse or keyboard. In the system having this configuration, a plurality of application program AP speech recognition functions can be used simultaneously, but since the speech recognition system SRS cannot know the internal state of the application program AP, recognition processing according to the internal state of the application program AP is performed. I can't do it.
[0009]
FIG. 126 shows a document [Rudnicky et al., Spoken language recognition in an office management domain, Proc. ICASSP '91, S12.12, pp. 829-832, 1991], which is composed of one speech recognition system SRS and a plurality of application programs AP, and the speech recognition system SRS and the application program AP send information to each other to perform speech recognition. This system is characterized by the fact that multiple application programs can share continuous speech recognition, and it can be said that it is a useful method for the use of expensive speech recognition devices. Consideration is not enough. In this configuration, a plurality of programs can use the voice recognition function, and the processing on the recognition system SRS side according to the internal state of the application program AP is also possible, but only one application program AP can be connected at a time. For this reason, it has not been possible to perform processing that makes use of the feature of speech that multiple application programs AP can be handled simultaneously. In addition, since the determination of which application program AP the speech recognition result is sent to has been made by the speech recognition system SRS, the recognition result may not be obtained even when the application program AP requires the recognition result, for example. there were.
[0010]
[Problems to be solved by the invention]
As described above, according to the conventional speech recognition interface, the application program AP cannot manage the speech recognition target. Therefore, the speech input system cannot be controlled by the application program AP, and the speech recognition system SRS can be used even when the user wants to promote speech recognition. I had to wait until I received a voice input permission command. In addition, since a plurality of application programs AP cannot be controlled simultaneously with one voice, for example, a plurality of application programs AP cannot be ended with one voice input of “end”. Further, since voice input cannot be distributed to a plurality of application programs AP according to the recognition result, it is necessary to specify an input target prior to voice input. In addition, since only one voice recognition system operates for one voice input, different types of recognition methods such as isolated word recognition and continuous voice recognition cannot coexist and be used simultaneously.
[0011]
The present invention has been made in view of the above circumstances, and an object thereof is to provide a speech recognition interface that can handle a plurality of application programs simultaneously from a speech recognition system and is excellent in usability.
[0012]
[Means for Solving the Problems]
The present invention provides a speech recognition interface in which a plurality of application programs are connected to a speech recognition system, wherein the speech recognition system corresponds to each of the speech recognition means for recognizing speech and the plurality of application programs. Application program management for managing at least first information indicating whether or not a speech input target and second information indicating one or more recognition target words to be recognized for the application program And the first information managed by the application program management means are respectively managed in correspondence with one or a plurality of the application programs indicating that the first information is a target of voice input. 2. A recognition target vocabulary for speech input is identified based on the information of 2, and any of the identified recognition target vocabulary is the speech recognition The first information indicates that the first information is a target of speech input, and the second information recognition indicates that the recognized vocabulary is the recognition target vocabulary. Message processing means for identifying one or a plurality of the application programs as transmission destinations of the recognized vocabulary.And managing third information indicating a vocabulary uniquely corresponding to each application program, which should always be a recognition target regardless of which application program is the target of voice input, When the vocabulary included in the information is recognized by the voice recognition means, the application program uses the first information corresponding to the application program uniquely corresponding to the recognized vocabulary as the voice. Set the status to indicate that it is subject to inputIt is characterized by.
Also,In a speech recognition interface in which a plurality of application programs are connected to a speech recognition system, the speech recognition system corresponds to each of the speech recognition means for recognizing speech and the plurality of application programs. Application program management means for managing at least first information indicating whether or not the target information and second information indicating one or more recognition target words to be recognized for the application program, The first information managed by the application program management means includes the second information managed corresponding to one or a plurality of the application programs indicating that the first information is a target of voice input. Based on The recognition target vocabulary for speech input is specified, and when any of the specified recognition target vocabulary is recognized by the speech recognition means, the first information is indicated as a speech input target. Message processing means for specifying one or a plurality of the application programs as the transmission destination of the recognized vocabulary, wherein the second information recognition indicates that the recognized vocabulary is the recognition target vocabulary. And the application program requests the speech recognition system to be confident about speech input when it is a keyboard input target, and the speech recognition system. When the request is received from the application program, the application program is subject to voice input for the first information corresponding to the application program. Characterized by the state shown and.
Preferably,When a predetermined event occurs in advance, the speech recognition system converts the first information corresponding to the predetermined application program according to the content of the event and a predetermined rule in accordance with the application information. The program is changed to a state indicating that the program is a target of voice input, and the first information corresponding to the other predetermined application program is changed to that the application program is not a target of voice input. You may make it change into the state shown.
Preferably,The voice recognition system notifies the application program that has received a notification request of information that can at least determine whether or not the application program itself is currently the target of voice input. It may be.Preferably,The voice recognition system displays a window of the application program indicating that the first information is a target of voice input, and indicates that the first information is not a target of voice input. You may make it display on a display screen with the display form different from the display form of the window of the other said application program.
Preferably,The voice recognition system recognizes the application program indicating that the first information is a target of voice input for the application program indicated by the second information corresponding to the application program. You may make it display the 1 or several recognition object vocabulary which should be made into object on a display screen.
Preferably,The speech recognition system is configured to use the application identified as the transmission destination. The recognized vocabulary transmitted to the program may be displayed on a display screen.
Preferably,The second information may be given to the voice recognition system from each application program.
Preferably,The speech recognition system manages the second information corresponding to each of the divided areas obtained by dividing the window of the corresponding application program into a plurality, and the second information corresponding to the application program is as follows. The second information managed corresponding to the divided area where the mouse pointer is currently located among the divided areas in the window of the application program may be used.
Preferably,The speech recognition system manages the first information and the second information for at least a part of the plurality of application programs corresponding to each of one or a plurality of windows corresponding to the individual application programs. For the application program in which the first information and the second information are managed corresponding to each of the windows, it indicates that the first information is a target of voice input. A recognition target vocabulary for speech input is specified based on the second information managed corresponding to each of the one or more windows, and any one of the specified recognition target vocabularies is determined by the speech recognition means. If recognized, it indicates that the first information is a target of speech input, and the second information recognition recognizes the recognized vocabulary. One or more of the windows indicates that the elephant vocabulary may be specified as the destination of the recognition vocabulary.
Preferably,In the speech recognition system, for the application program in which the first information and the second information are managed corresponding to each of the windows, the first information in the application program window is input by speech. In addition to the second information managed in correspondence with the window, management is performed in correspondence with other windows of the application program having the window. The vocabulary designated to be used for other windows of the application program included in the second information may also be used.
[0013]
[Action]
As a result, according to the present invention, each application program can determine whether or not the speech recognition result can be received by the speech recognition system, so that the application program can freely control the voice input of itself or other application programs, A flexible and easy-to-use speech recognition interface can be constructed.
[0014]
In addition, since the voice recognition system can send the voice recognition results to multiple application programs at the same time, one voice input operation can be performed on multiple application programs at the same time. To do.
[0015]
Furthermore, since the voice recognition system can perform voice recognition for multiple application programs, it is possible to distribute voice input to each application program based on the voice recognition result without explicitly specifying the voice input target. Can be reduced.
[0016]
【Example】
Embodiments of the present invention will be described below with reference to the drawings.
[0017]
(First embodiment)
FIG. 1 shows a schematic configuration of the embodiment. In the figure,
[0018]
In this case, the
[0019]
The message processing unit 11 constituting the
[0020]
The application program management table 13 is a table that stores information on all
[0021]
FIG. 2 shows a schematic configuration of the
[0022]
In this case, the
[0023]
For example, the voice detection unit 121 performs detection based on the input voice power at regular time intervals (Nagata, et al. “Development of voice recognition function at a workstation”, IEICE Technical Report, HC9119, pp 63-70, (1991)). The
[0024]
Then, the recognition dictionary collation unit 123 does not perform useless processing before collation when collating the speech feature parameter with the recognition dictionary 124. The processing unit 11 is inquired and collation processing with the recognition dictionary 124 is performed according to the inquiry information. Regardless of the success or failure of recognition, the recognition result is sent to the message processing unit 11, and the recognition result is sent to the
[0025]
Here, in FIG. 2, all the elements of the recognition unit are integrated and can operate as one process, but a configuration in which the voice detection unit 121 is separated as shown in FIG. 3 is also possible. If the voice detection unit 121, the subsequent
[0026]
FIG. 6 shows a schematic configuration of the
[0027]
In this case, the
[0028]
Next, the operation of the embodiment configured as described above will be described.
[0029]
In this case, information exchange between the
[0030]
Communication by message is implemented, for example, by using the
[0031]
[Message between
The message from the
[0032]
Here, the communication channel connection / disconnection request is a request to connect / release the communication channel when the
[0033]
On the other hand, the messages from the
[0034]
Here, the voice recognition result is a message for notifying the result recognized by the
[0035]
These are voice recognition systems such as when voice input is received and voice recognition is performed, when the voice focus is changed, when the
[0036]
FIG. 8 shows the types of input masks. These correspond to the types of messages that the
[0037]
By notifying the
[0038]
As a message between the
[0039]
Thus, since the
[0040]
Now, the
[0041]
[Message between
The message from the
[0042]
On the other hand, the message from the message processing unit 11 to the
[0043]
In this way, the processing is advanced by exchanging messages in each part of the speech recognition system. Next, how the processing proceeds as the speech recognition interface will be described with reference to FIG. To do. In the figure, a time chart from when the
[0044]
In this case, the
[0045]
The above is the initial setting request from the
[0046]
Here, it is assumed that voice input is performed on the
[0047]
The process described with reference to FIG. 9 will be further described using a specific example.
[0048]
The application program management table 13 when the
[0049]
Here, processing when a new mail tool is started will be described. When the activated mail tool first transmits a communication path connection request (a), an area for the mail tool is taken in the application program management table 13, and the program ID of the mail tool is attached. For example, it is assumed that the program ID is assigned from 0 in the starting order of the
[0050]
In this embodiment, one recognition dictionary is used in common for all
[0051]
With the above processing, the application program management table 13 becomes as shown in FIG. 10B, and the voice focus hitting the shell tool is changed to the newly activated mail tool, and the mail tool is ready for voice input. become.
[0052]
Here, for example, it is assumed that the voice “next” is input. The input speech is subjected to speech segment detection and analysis processing in the
When the message processing unit 11 receives the recognition result, the speech input flag in the
[0053]
When the recognition result of the previous voice input is “next”, it is transmitted to the mail tool. The
[0054]
10A and 10B, a recognition result notification mask is set as an input mask for the shell tool. With this mask, every time a voice focus change occurs, it is notified.
[0055]
In the above example, when the
[0056]
In this way, the
[0057]
Therefore, according to the first embodiment, in a multitasking environment in which a plurality of
[0058]
In addition, although a present Example was an Example of the speech recognition interface which applied isolated word recognition, it is also possible to apply continuous word speech recognition and continuous speech recognition.
(Second embodiment)
In the second embodiment, a user environment can be improved by simultaneously using a window system in a multitasking computer environment.
[0059]
FIG. 11 shows a configuration when the window system is used simultaneously. In this case, the
[0060]
The
[0061]
Before describing this embodiment, a window system for realizing a multi-window will be briefly described. A window system that realizes multi-windows in a multi-tasking computer environment such as a workstation communicates with multiple application programs that operate in that environment, and each application program is abstracted and displayed on a display screen called a bitmap display. Is done. There, one window is basically assigned to each application program.
[0062]
FIG. 12 is a screen display example of a general window system. In this example, three application programs A, B, and C are operating in parallel. The window system manages input devices such as a keyboard and a mouse, and allows a plurality of application programs to share the input devices. In the mouse screen, it is abstracted as an arrow-type mouse pointer, and is used for window operations and designation of input targets.
[0063]
In the embodiments of the present application, description is made exclusively using a mouse as a pointing device, but other pointing devices such as a pen and a touch panel can also be used, and descriptions in all the embodiments are other pointing devices. The same applies to devices.
[0064]
The target for keyboard input is keyboard focus. Keyboard focus is generally specified by a mouse pointer. An application program with keyboard focus is expressed by making the window frame thicker than other windows or changing the color of the title bar at the top of the window. FIG. 12 shows a state in which the application program B is focused on the keyboard. Keyboard focus is generally always on only one window.
[0065]
Here, the three programs described in the first embodiment, that is, the shell tool, the text editor, and the mail tool will be described again. In this case, each program is abstracted and represented as one window by the window system. Further, it communicates with the voice recognition system, and at the time of activation, the recognition vocabulary is set for the voice recognition system according to the procedure shown in the first embodiment. The recognition vocabulary of each application program is as shown in FIG.
[0066]
Generally, in an existing window system, an application program receives a notification of a change in keyboard focus. In order to make the keyboard input target and the voice input target the same application program, the application program requests the speech recognition system to put the voice focus on itself when the keyboard focus is hit, and the voice when it is off. Request to remove focus. This can be done by transmitting the input task change request described in the first embodiment. Hereinafter, the keyboard focus and the audio focus are treated as being matched, and this is referred to as input focus. The input focus is operated with the mouse.
[0067]
FIG. 14 shows changes in the speech recognition vocabulary accompanying the movement of the input focus. In this case, FIG. 14A shows the
[0068]
What is used as the speech recognition vocabulary is free, and it is a heavy burden on the user to memorize and judge the recognition vocabulary for each application program. However, it is a burden for the creator of the application program to provide each application program with a means for displaying the recognized vocabulary. Also, since voice input has a warm taste unlike input means such as a keyboard, it is important that the user can confirm whether the input voice has been correctly recognized.
[0069]
As means for solving this problem, it is conceivable to create a program (vocabulary display program) for displaying the recognized vocabulary as shown in FIG. 15 as a standard application program for the speech recognition interface. This program is generated by each application program whenever a new application program connects / disconnects a communication path, requests a vocabulary change, or changes the voice focus. Request to send a message (ie, set an input mask to receive it). The vocabulary display program can always display all vocabularies that can be recognized at that time. Moreover, every time a voice is recognized, the voice input received by the voice recognition system can be confirmed by knowing it and displaying the recognition result transmitted to the application program in a different color as shown in FIG. 15, for example. . With the recognized vocabulary display program, it is possible to reduce the burden on both the application program user and the creator, and to provide a user with a voice input environment that is easier to use.
[0070]
In addition to changing the color in the list of vocabulary display programs, the recognition result can be notified to the user by another method.
[0071]
For example, there is a method of displaying the recognition result at a specific position on a display screen or an application window. This display part may be provided for each application or owned by the speech recognition system itself. Under the window system environment, a recognition result display window is created, and a specific position such as the center of the application window, surrounding parts such as up / down / left / right, pointers such as mouse, cursors for keyboard input, etc. The position may be adjusted so as to be displayed.
[0072]
The recognition result may continue to be displayed until the next recognition result is obtained, or is displayed only immediately after the recognition result is obtained. After a certain period of time, the recognition result is not displayed until the next recognition result is obtained. You may keep it. In particular, the mouse and other pointers and keyboard input cursors have the advantage of requiring little movement of the line of sight, but if they are always displayed near the work area, they may interfere with the work. It is effective to display only immediately after. You may use together with this and the method of always displaying a recognition result in the specific position of a screen or an application.
[0073]
By changing the speech recognition vocabulary depending on the position of the mouse, not only between application programs, but also within one application program, it is possible to reduce recognition processing more than necessary and make speech input more reliable. For example, as shown in FIGS. 16A and 16B, the mail tool is divided into two parts, a list display part and a text display part, and the recognition vocabulary (recognized here) depends on which one has the mouse pointer. Vocabulary is 8). By doing so, it is possible to suppress unnecessary recognition processing more than necessary and to make it difficult to cause recognition errors of input speech.
[0074]
Further, in the first embodiment, it has been described that when a new application is activated, the audio focus is shifted to the application. Similarly, there is a change in the window state of the application as a result of processing that is executed at the start or end of the application, or in response to an input operation or voice recognition result of a pointing device such as a mouse or pen or a keyboard. In the case of destruction or geometry change), the usability can be improved by creating a rule for moving the audio focus.
[0075]
For example, if the window is destroyed, iconified, the window is hidden by another window, etc., the voice focus is lost, the window is created, the display state is changed from the non-display state, and the window is displayed on the other window. In this case, the focus is acquired / erased in accordance with the window state change in each application in accordance with a rule such as “If the window size is increased, or the window size is increased, etc.”. Of course, such window state changes may not be managed individually by individual applications, but may be collectively managed by a program for managing audio focus. In this case, this management program informs the window system program (for example, the window server of the system) of the change in the state of the window of the application to be managed, and applies the rules as described above when the notification is received. Then, the audio focus can be changed.
[0076]
Also, if there is an audio focus management program, the same rule applies to which application the audio focus is transferred to even if the application that acquired the audio focus loses the audio focus due to application termination or window destruction. Can improve usability.
[0077]
For example, “If the voice focus management program keeps the voice focus history and the application that has acquired the voice focus loses the voice focus, the cause of the loss is not due to the focus acquisition request of another application. If the voice focus management program changes the voice focus according to this rule, the application that has acquired the voice focus is 1 It is possible to avoid a situation where there is no connection, that is, no application receives the output of the speech recognition system.
[0078]
In the present embodiment, the voice recognition system and the window system are configured independently, but it is also possible to realize a voice recognition interface in a form in which both systems are integrated.
[0079]
(Third embodiment)
In the second embodiment, the speech recognition target vocabulary is changed by combining the speech recognition system and the window system, matching the speech focus and the keyboard focus to one input focus, and specifying the input focus with the mouse pointer. However, you must release your keyboard each time you change the input focus. By enabling the input focus to be changed by voice, the user can change the input task without taking his hand off the keyboard, and the user can expect to improve usability in a multi-window environment.
[0080]
In order to change the input focus by voice input, the first embodiment is extended so that two values, local and global, can be set for each recognized vocabulary. A local recognition vocabulary is a vocabulary that is recognized when the voice program is focused on an application program that has been set for recognition. A global recognition vocabulary is a word that is recognized regardless of which application program the voice focus is on. Vocabulary to be recognized.
[0081]
Here, description will be made again using three application programs (shell tool, text editor, and mail tool).
[0082]
The recognition vocabulary of each application program is as shown in FIG. According to the local / global setting, a flag indicating local / global is provided for each vocabulary in the recognition target vocabulary list in the application program management table. The application program management table is as shown in FIG. When a voice input is given, the message processing unit uses the application program management table to obtain the recognized vocabulary as follows. First, referring to the application management table, the local recognition vocabulary of the application program that is focused on is picked up. The global recognition vocabulary of all application programs is then collected. These are the vocabularies that can be recognized by the current recognition system. For example, if the voice focus is on the text editor, the recognition vocabulary at that time is 8 of “cut”, “copy”, “paste”, “cancel”, “end”, “shell tool”, “mail tool”, “text editor”. One. Here, the recognition results for the utterances of “cut”, “copy”, “paste”, “cancel”, “end” and “text editor” are sent to the text editor, and “mail tool” and “shell tool” are the mail tool and shell respectively. Sent to the tool. For example, when you utter the mail tool in this state, if you change the input focus (voice focus and keyboard focus) to yourself in the mail tool, you can change the target of voice input and key input without releasing your hands from the keyboard. it can.
[0083]
In other words, name the window. If this window name is displayed in the title display at the top of the window, the user can know what to call the window.
[0084]
As described above, in this embodiment, by giving local / global attributes to the recognition vocabulary, it is possible to change the focus without using a hand by naming the window and speaking the name. Can be switched.
(Fourth embodiment)
In the second and third embodiments, the voice focus and the keyboard focus are made to coincide with each other, and only one window accepts both inputs exclusively.
[0085]
By matching the two input focuses, one application program could take over from both inputs at once. However, although there were two input means, it was not possible to input to different application programs. In this embodiment, in order to separate the two focus points, the voice focus is not directly operated by the mouse pointer (the keyboard focus uses the mouse pointer).
Even if the mouse pointer enters the window and is notified to the application program, the application program does not move the audio focus. In this case, the voice focus can be changed by assigning a name to the window as described in the third embodiment, making each a global recognition vocabulary, and speaking with that name.
[0086]
When the input focus is separated, unless the two focus are presented to the user in an easy-to-understand manner, the user will be confused when inputting. In this embodiment, the keyboard focus is displayed by making the window frame thick, and the audio focus is shown by changing the color of the window title.
[0087]
FIG. 19 shows an example in which the input focus is divided into two and each is moved separately. In FIG. 5A, both the focus points to the text editor. When the mail tool is designated with the mouse pointer, the keyboard focus moves to the mail tool, but the voice focus remains on the text editor. If voice input of “Mail Tool” is performed from the state of FIG. 11A, the voice focus moves to the mail tool, but the keyboard focus remains unchanged. In FIGS. 5B and 5C, since the keyboard focus and the voice focus are respectively applied to individual application programs, two application programs can be operated through completely different input channels at the same time. For example, by setting the state shown in FIG. 5C, the user can read the received e-mail by operating the mail tool by voice while typing a sentence with a keyboard into a text editor.
[0088]
In addition, an application program for controlling audio focus, an audio focus manager, is created so that the audio focus can be moved by means other than audio. The right side of FIG. 19 shows the voice focus manager. This voice focus manager knows the state of the application program that is operating simultaneously by communicating with the voice recognition system, and displays it in the form of a list or the like.
[0089]
The voice focus is expressed, for example, by highlighting the application program name, and the voice focus can be changed by designating the list with a mouse pointer. In addition to the keyboard and voice, a pen or the like can be considered as a means that can be input to the application program. Displaying the means that can be input to the application program and what can be input can improve user convenience. For example, the input possibility is displayed as an icon for each means.
[0090]
In this way, by separating the voice input target and the input target by means other than voice separately, a plurality of input means can be assigned to a plurality of application programs, and a human can perform a natural work in parallel. It becomes like this.
[0091]
(5th Example)
FIG. 20 shows a schematic configuration of the embodiment. In this case, a plurality of
[0092]
Accordingly, every time there is a voice input, the
[0093]
The
[0094]
Since the
[0095]
For example, taking an example of an electronic mail system that can be controlled by voice (referred to as voice mail), in order to prevent malfunction due to voice misrecognition, voice mail is activated and operated without voice input. deep. When voice mail is received, for example, "New mail has been received. Do you want to read it now?" Synthetic voice is output and notified, and "Yes" and "No" are recognized for confirmation. The
[0096]
The message “New message ...” may be displayed as shown in FIG. 21 instead of the synthesized speech. “Yes” and “No” in the figure are for enabling operation with a mouse or the like.
[0097]
Also, in FIG. 20, if the message input /
[0098]
In the case where the operation for blocking the voice input of the
[0099]
In this way, not only the
[0100]
Also, let a
[0101]
FIG. 22 shows a mail tool, a shell tool, a text editor, and a task management program that can be operated by voice in a multi-window environment such as a workstation. Here, any one
[0102]
(Sixth embodiment)
In the fifth embodiment, only one
[0103]
The
[0104]
The information in this table is changed in response to a request from the message input /
[0105]
Here, the
[0106]
Furthermore, if it is assumed that a plurality of
[0107]
If the user speaks while pressing the “all” button, all the
[0108]
In this embodiment, it is possible to input a specific one target without specifying it and to appropriately process the input. Considering a multi-window environment such as a workstation, even if
[0109]
(Seventh embodiment)
In the above-described sixth embodiment, it is not known what the recognition target vocabulary of each
[0110]
By automatically displaying the recognition target vocabulary of the
[0111]
(Eighth embodiment)
The control of the plurality of
[0112]
When the work by email is finished, the work of video reservation is resumed. If the VTR control program can confirm the reservation contents made before the interruption together with a vocabulary such as “reservation content confirmation” in preparation for the interruption of the work, the VTR control program becomes an easy-to-use interface. In the case of a telephone, not only voice but also an input device such as a telephone push button can be used. While making use of the natural nature of voice input, for example, when environmental noise temporarily increases and voice input is marginalized, input can be ensured by using push buttons as appropriate. .
[0113]
(Ninth embodiment)
Next, an embodiment relating to learning of recognized vocabulary by the speech recognition program according to the present invention will be described.
[0114]
Conventionally, when learning recognized vocabulary, the user selects the vocabulary that the user wants to learn from the list of learning vocabularies. However, if there are many vocabularies, it takes time and effort to find the vocabulary that the user wants to select. It was. For example, in a learning program in a speech recognition device released for a workstation, all the recognition vocabulary used in various application programs are displayed, so the vocabulary to be learned has to be selected from a list of hundreds of words.
[0115]
In this embodiment, by using the recognition vocabulary information from the application program, the number of vocabularies in the word list presented to the user can be reduced and the target vocabulary can be easily selected, and the application program is being used. Even so, we can learn on the spot.
[0116]
As shown in FIG. 28, this embodiment has a configuration in which a learning
[0117]
Here, the learning
[0118]
In order to perform the above operation, the learning
[0119]
Here, the learning vocabulary display selection unit 82 displays the vocabulary to the user and selects the learning vocabulary, and the recognition vocabulary of the
Speech recognition target vocabulary: such as cancel, cut, copy, paste, and font. The contents are displayed as shown in FIG. 33, for example, and the target vocabulary is used when the user is using the application program. Can be selected. The displayed vocabulary is only the vocabulary to be recognized depending on the internal state of the application program, so it can be much less than displaying all together, and the target vocabulary can be easily selected It is. The word speech feature data storage unit 81 stores the word speech feature data sent from the
[0120]
In order to collect learning data, the
[0121]
Next, a data collection procedure will be described with reference to FIGS.
[0122]
FIG. 31 is a flowchart when data is collected by the
[0123]
In this case, it is assumed that the recognition vocabulary has already been set by communication with the application program in the speech recognition system before learning (step 3101). When a learning mode setting request message is received from the data collection unit 8 (step 3102), an operation necessary for learning is performed (step 3103).
[0124]
The operations necessary for learning include, for example, keeping the set of vocabulary set during data collection so as not to move the voice focus, or sending the recognition result to the application program during collection and using the recognition result of the
[0125]
Next, the
[0126]
FIG. 32 is a flowchart of the learning data collection unit.
[0127]
First, as an initial state, a flag for instructing execution of data collection is set to OFF (step 3200). When data collection is set to ON by the user, a learning mode setting request message is sent to the speech recognition system 1 (step 3201). Next, the
[0128]
The learning vocabulary
[0129]
Next, after issuing a word speech feature data transmission request to the speech recognition system 1 (step 3204), the learning
[0130]
After the user speaks, the word speech feature data sent from the
[0131]
Next, a processing flow of the entire voice recognition interface at the time of data collection will be described with reference to FIG.
[0132]
First, in the initial setting, when a data collection instruction is issued from the user (a), a learning mode setting request is issued from the
[0133]
The
[0134]
In the
[0135]
At the end of learning, first, the user inputs an instruction to end data collection (h), and the
[0136]
After data collection is completed, the user can create a recognition dictionary as needed. The
[0137]
Accordingly, the target vocabulary can be easily selected in this way, and the recognized vocabulary can be easily learned even while the application program is being used.
[0138]
(Tenth embodiment)
Next, an embodiment for realizing a user-friendly speech recognition interface without waiting for completion of dictionary creation by creating a dictionary that takes time in the background and creating a dictionary while collecting data or executing other application programs. explain.
[0139]
Conventionally, as a pattern matching method for speech recognition, a DP method, an HMM, a composite similarity method, and the like are known, and all perform pattern matching using a standard recognition dictionary. In the composite similarity method (Nagata, et al. “Development of speech recognition function at a workstation”, IEICE Technical Report, HC9119, pp. 63-70, (1991)) that requires eigenvalue expansion to perform Even when using a workstation that has a large amount of calculation for creation and is currently considered to be high speed, for example, a computer with a processing capacity of 20 MIPS, it takes a considerable amount of time, for example, several seconds to several tens of seconds per word, so learning by waiting time The deterioration in usability of the interface cannot be ignored. Therefore, by creating a dictionary in the background while collecting learning data, the waiting time is reduced and the usability of the interface is improved.
[0140]
Therefore, in this embodiment, a voice recognition system that improves the interface by creating a dictionary in the background will be described.
[0141]
In this case, as shown in FIG. 36, the
[0142]
Here, the dictionary creation management unit 91 receives a message from the
[0143]
In order to execute in order when there are a plurality of dictionary creation requests, creation is performed according to the order of the request date and time of the dictionary creation management table as shown in FIG. FIG. 37 shows, as an example, the contents of the management table when dictionary creation is requested in this order for the words “copy”, “paste”, and “cut”, which are commands for editing a document. Conditions such as vocabulary are registered in the management table together with the date and time when the request is made, dictionary creation is performed in this order, and requests for which creation has been completed are deleted from the management table.
[0144]
The dictionary creation request not only specifies the vocabulary as described above, but also specifies other information registered in the data itself as the attribute of the word voice feature data, for example, the name of the speaker as shown in FIG. It is also possible to create a dictionary for a specific speaker, or specify a date as shown in FIG. 39 to create a dictionary only with new data.
[0145]
The dictionary creation management unit 91 and the dictionary
[0146]
Next, the flow of creating a dictionary will be described with reference to FIGS.
[0147]
First, FIG. 40 shows a procedure for registration in the dictionary creation management table. In this case, it is determined whether or not a dictionary creation request message has been received (step 4001). If not, the request is awaited, and if there is a condition such as a vocabulary or a user name, it is registered in the dictionary creation management table (step 4002).
[0148]
On the other hand, FIG. 41 shows a procedure for creating a dictionary. In this case, a dictionary creation request registered on the dictionary creation management table is searched. If there is no request, registration is waited for, and if there is no request, the request with the oldest date and time is selected (step 4101). Next, word voice feature data is input (step 4102), and data that meets the requirements of the request is selected (step 4103). A dictionary is created using only the selected data and output as a file (steps 4104 and 4105). The request is deleted from the management table, and the process returns to the management table search (step 4101). Repeat above. Further, when all the dictionary creation requests are deleted, the learning data collection unit may be notified that dictionary creation has been completed.
[0149]
Since the creation of the recognition dictionary is performed in the background at the time of data collection, the progress of dictionary creation is difficult for the user to understand. Therefore, the progress of dictionary creation is displayed, for example, as shown in FIGS. 42 (a) and 42 (b), by displaying the ratio of the completed processing amount to the total processing amount, an interface easy to understand for the user can be provided. In this case, it is also possible to notify the user with a beep sound at the start or end of dictionary creation. It is also possible to display the speed of the dictionary creation process. For example, the speed is divided into four stages as shown in FIG. 43, or the color as shown in FIG. To display the processing speed, and if the load on the computer is large and the dictionary creation process does not proceed, the fact that the process is stagnant is displayed to encourage the user to distribute the load on the computer. You can also.
[0150]
As described above, by creating a dictionary in the background while collecting time-consuming audio data, it is possible to realize a user-friendly interface with less waiting time.
[0151]
The dictionary creation described above can operate as an independent process, and can accept not only a request from the
[0152]
(Eleventh embodiment)
In speech recognition in which a recognition target is a word or a phrase, a word boundary is detected using a feature parameter such as a change in input speech power, a change in speech pitch, or the number of zero crossings, and the speech feature vector and This was done by matching the recognition dictionary with the recognition vocabulary set. However, in an actual working environment, an erroneous word boundary is often detected due to the influence of background noise and user's careless utterance (conversation with other users, monologue, etc.). For this reason, it is necessary for the user of the speech recognition system to always be aware of what is currently recognized and not to speak other words.
[0153]
On the other hand, when working with other input means (for example, keyboard or mouse) as one of the input means to the computer, the user should use each input means properly according to the input contents and work status. Can be considered.
[0154]
Therefore, in this embodiment, as shown in FIG. 45, the speech recognition
[0155]
In addition, the user can utter a keyword or consciously switch the speech recognition processing mode using an input means other than speech. The above processing can be realized by using, for example, an interval timer mechanism. This designates the time when the current time expires in seconds, and when the time expires, a signal indicating that is passed. When this signal is received, the voice recognition mode is switched.
[0156]
Hereinafter, description will be given with reference to the flowchart shown in FIG.
[0157]
First, the number of seconds until the timer expires is first set (step 4601), and a flag indicating whether the timer has expired is set to zero. This flag is set to 1 in a signal handler that is called when a signal notifying that time has expired is received, and its value is checked at the beginning of recognition processing. Note that the timer function can be easily realized by the clock function normally built in the computer. The signal handler can be written as a program in the automatic speech
[0158]
Next, after setting a vocabulary set to be recognized (step 4602), it is checked whether or not the time has expired (step 4603). If the time has not expired, recognition processing is performed for the vocabulary set.
[0159]
In the recognition process, first, the start and end of a speech section are detected using a characteristic parameter such as a change in power of input speech, a change in speech pitch, or the number of zero crossings (step 4604). The speech feature vector is extracted from the speech section determined at the end and collated with the recognition dictionary of the current recognition vocabulary set, the similarity of each confirmation vocabulary is obtained, of which the similarity is maximum and the value is predetermined. A result exceeding the set threshold is output as a recognition result, and the recognition process is terminated. (Steps 4605-4609)
In FIG. 46, the process from the extraction of the voice feature vector to the collation with the recognition dictionary and the determination by the threshold value is the recognition process. When the end is not detected or when the recognition result is not obtained (steps 4605 and 4607), the setting is returned to the vocabulary set, and when necessary (for example, the client requests to change the voice focus or change the recognized vocabulary). Case) The recognition vocabulary set is changed, and it is checked whether or not the time has expired. If the time has not expired, the recognition processing for the current recognition vocabulary set is performed again. When the time expires, the recognition vocabulary set up to that point is saved, and the mode shifts to a mode in which a specific keyword is a recognition vocabulary. If the keyword is detected or the recognition processing mode is switched from the client, the saved recognition vocabulary set is restored, the timer is reset, and the normal recognition processing is resumed (steps 4610-4617). .
[0160]
The automatic stop function of the recognition function described above can prevent malfunction due to background noise or user's careless utterance, and can realize a user-friendly speech recognition interface.
[0161]
In addition, as a method for the user to consciously avoid malfunctions caused by background noise or user utterances, a method of inputting voice only while the mouse or key is held down is conventionally used. There is a problem that it is troublesome to operate. Therefore, if the voice input is not accepted only while the mouse is being pressed while the voice is being constantly input, the troublesomeness of having to operate the mouse for each utterance can be reduced.
[0162]
(Twelfth embodiment)
By the way, the voice mail tool is an electronic mail system that can input voice, and can move the list of received mail using voice to check the contents and send a reply to the mail.
[0163]
In this case, the tool includes a list display section, a received mail display section, and a transmitted mail editing section, and the highlighted mail in the list is displayed on the received mail display section. For example, the following operations can be performed using voice. Here, it shows to respond to the urgent mail from the boss.
[0164]
"Mail Tool" (Put all voice mail tools in front of the window.)
"Top" (The list pointer is moved to the top of the acceptance list.)
“Next” (Move the list pointer to the next mail.)
“Last” (Move the list pointer to the end of the receiving list.)
"Previous" (Go to the mail before the list pointer.)
“Boss” (List only emails from your boss.)
“Emergency” (List only urgent emails.)
“Reply” (Respond to an urgent mail. “To: supervisor name” and “Subject: Re: subject of the email from the supervisor” are entered in the sent mail display section.)
The initial state of the mail system is shown in FIG. Since not all mail lists can be displayed at once in the mail list display section, when using the mouse to search for a desired mail, it is necessary to use the slide bar on the right side of the display section. In particular, when a large amount of e-mails arrives, it takes a lot of labor to search for e-mails, and the operability is not sufficient. However, by using the voice here, it is possible to directly search for a desired mail, and the work efficiency can be greatly improved.
[0165]
Here, for example, when selecting an urgent mail from the boss, it can be selected simply by saying “boss” or “emergency”. FIG. 48 shows an emergency mail search result from the boss. In this example, assuming that two emails are received, the following occurs.
[0166]
"Copy" (Copy the message.)
"Paste" (The copied message is pasted into the received mail.)
"Quote" (quotes the message)
Now write a reply to the message,
"Sign" (add your signature to the end of the email if necessary)
"Send" (Send reply email)
“Supervisor” and “emergency” used here are implemented as voice macro commands, and the list is limited using the result of collation using the header and contents of the mail. In other words, the name, affiliation, title, date of sending, and body content of the sender of the e-mail are written in text (character data). By understanding the content and collating keywords and content, voice E-mail can be retrieved efficiently at This can be realized on WS using information search technology such as full text search and context analysis technology, and the use of voice input interface greatly improves the usability of voice mail. It is also possible to read a part of text by speech synthesis, emphasize it, or change the speed. In addition, as shown in FIG. 47, the recognition vocabulary is displayed, the client that is currently focused on the voice, and whether or not the recognition is in operation, and so on, so as to convey the system status to the user as much as possible. This makes it possible to improve work efficiency.
[0167]
(Thirteenth embodiment)
The voice recognition server can be used to control existing applications with voice. This can be done by creating a client that substitutes voice for keyboard input of an existing application. Here, an example is shown in which a voice macro program that enables voice control for an existing application is used for voice control of an existing DTP (Desk Top Publishing) system.
[0168]
The voice macro program has knowledge about the recognition vocabulary of the existing application in a menu format, and uses the menu hierarchy to limit the recognition vocabulary. here,
“Figure” menu
"cancel"
“Grouping”
“Ungroup”
"front"
"back"
“Up / Down inversion”
“Right / Left (Migihidari) inversion”
"rotation"
“Top Level” menu
"documents"
“Edit”
“Figure”
The root of the menu hierarchy is called “top level”, a word is generated from the top level, and the command is executed by following the menu hierarchy. Each time the menu hierarchy is moved, each item of the menu and the current position in the menu hierarchy are represented in the form of a path and presented to the user.
[0169]
And it operates as follows. Here, an example of handling a plurality of figures existing in the document window is shown (see FIG. 49).
[0170]
Open the drawing menu from the top level to work with shapes.
"Figure" (menu items are listed in the voice commander)
Here, a plurality of figures on the document window are selected with the mouse.
"Grouping" (combining multiple figures as one figure)
"Vertical flip" (upside down the grouped figure)
"Rotate" (rotates the figure)
"Grop release" (cancels the groove)
Next, one of the previously grouped figures is selected with the mouse.
"Back" (Send selected figure behind all figures)
"Cancel" (cancel the operation performed by "Back")
"Front" (Send to the front)
If you want to operate this with a mouse,
-Click the menu bar to display the menu.
[0171]
-Pull down the menu and select the command item you want to execute.
[0172]
-Release the mouse button to execute the command.
At least three actions are necessary. Considering the time and effort of moving the mouse pointer, it is considered that more actions are being performed.
[0173]
However, when using audio,
・ Generate words to operate.
Since one action is sufficient, the usefulness of voice can be understood. When an operation is performed by selecting a menu using a mouse, the above operation must be executed even if the user knows in advance what he wants to operate. Audio becomes a more effective interface when combined with other input means.
[0174]
Here, if you use a keyboard macro, you only need to perform a single operation, as with voice. However, since a keyboard macro is basically represented by a single character, the more keyboard macros, the more difficult It is required to memorize a combination of commands, which is a burden on the user.
[0175]
Therefore, the application can provide a more natural interface to the user by combining the command with a voice that can naturally express the meaning of the command, not just a single character.
[0176]
In addition, in the graphic menu described above at the time of word recognition, when the first half part exists in the same category, for example, “grouping” and “ungrouping”, the pattern of the second half part of the word is obtained by partial abstraction. The recognition accuracy can be improved by performing recognition using. Further, when the latter half is the same as in “upside down” and “left and right inversion”, it is also possible to perform recognition using a single first half pattern. In short, it is possible to improve recognition performance by extracting word patterns for recognition from various viewpoints so that the difference in patterns becomes clearer and performing recognition.
[0177]
(14th embodiment)
The speech recognition interface described above has focused only on speech input. However, if the speech output function is incorporated into the interface to perform speech synthesis from text and playback of speech data, speech input is possible. Since output can be integrated, voice input to a plurality of application programs and output of messages by sounds from them can be easily performed, and an interface that is easy for the user to handle can be realized.
[0178]
The configuration of a voice input / output interface, which is a voice recognition interface having a voice synthesis function, will be described below.
[0179]
FIG. 50 shows a schematic configuration of a voice input / output system provided with a voice synthesizer. The
[0180]
FIG. 51 shows a schematic configuration of the
[0181]
The general control unit 561 receives a character string from the message processing unit 11 together with an output request for synthesized speech, sends it to the waveform synthesis unit 564, performs speech synthesis, and outputs the speech. In this case, the sound signal output by the
[0182]
In addition, the waveform synthesis unit 564 receives character string data from the overall control unit 561 and performs speech synthesis. Various methods are known as speech synthesis methods. For example, literature (D. Klatt: "Review of text-to-speech conversion for English", J, Acoust. Soc. Am., 82, 3, pp. 737-793 (Sept. 1987)) can be used.
[0183]
The voice output management table 563 is a table for registering voice output requests from the message processing unit 11. By performing voice output according to the order registered in the table, the voice output management table 563 is temporally matched to a plurality of voice output requests. Audio output can be performed while maintaining the characteristics.
[0184]
The
[0185]
The message from the
[0186]
The priority setting request is a request for giving priority to the output sound from a specific application program. For example, the output sound level, the priority of the speech synthesis process, the presence / absence of interruption output, and the like can be set. Yes.
[0187]
The priority of the voice output request is effective because the user's attention can be immediately given by setting the priority to a high value when, for example, an emergency is required.
[0188]
As described above, the voice output management table 563 is a table for registering voice output requests from the message processing unit 11. By performing voice output in the order registered in this table, a plurality of voice output requests can be obtained. On the other hand, audio output can be performed while maintaining temporal consistency.
[0189]
An example of the audio output management table 563 is shown in FIGS. The data to be recorded in the table includes a data ID, the type of input data indicating whether it is a waveform or text, the registration time of the output request in the table, the contents of the text data, the volume at the time of voice output, and the like. In the example of the figure, the
[0190]
On the other hand, the message from the message processing unit 11 to the
[0191]
The setting of which message is received by the
[0192]
In addition to the messages described above, various messages such as an error message, a voice output level setting message, and a message for accessing internal information of the
[0193]
Information exchange is also performed between the
[0194]
As described above, by exchanging messages in each part of the
[0195]
In FIG. 56, it is assumed that the initial setting regarding the connection processing and speech recognition between the
[0196]
Next, an audio output process for each request related to audio output from the
[0197]
First, when the speech synthesis request of (b-1) in FIG. 57 is issued from the
[0198]
Next, when there is a waveform reproduction request of (b-2) in FIG. 57, the message processing unit searches the priority information registered in the application program management table shown in FIG. 55 and makes the requested application program. Is added to the
[0199]
The
[0200]
Next, when there is a voice synthesis / playback request in (b-3) of FIG. 57, voice synthesis and playback are performed in the same process as in the waveform playback.
[0201]
Also, the audio output priority can be changed by the priority setting request in (b-4) of FIG. As described above, the voice output priority includes the level of voice output, the priority of voice synthesis processing, the presence or absence of interruption processing, and the like. Increasing the level of output speech helps to draw attention to the output message, and increasing the priority of speech synthesis processing can reduce the time delay until the speech data is output after speech synthesis. In addition, the interruption process is a process for temporarily interrupting voice output other than specific voice output data and outputting only the data. By using these in combination, an important message is preferentially outputted. Processing is possible.
[0202]
For example, in FIG. 52, output level = 3, no interruption output, and synthesis processing priority- (no value) are set for the waveform reproduction request of
[0203]
Next, a method for sequentially processing the voice output requests as described above will be described.
[0204]
Multiple voice output requests are processed according to the voice output management table 563 of the
[0205]
As shown in FIG. 58, first, the overall control unit 561 refers to the processing status section of the audio output management table 563 (step 6301), searches for data that is “unprocessed”, and if there is a processing status, Update to “processing” (step 6302) and refer to the type of data (step 6303). If the data is text, the text data is sent to the waveform synthesizer 564 to perform speech synthesis (step 6304), and the synthesized sound data is passed to the
[0206]
In the waveform synthesis unit 564, based on the synthesis processing priority information relating to the data being processed, the calculation is performed by setting the priority of other processing for the synthesis operation. The priority can be set by using, for example, a UNIX system call, which is a common operating system for workstations, by changing the allocation time of the arithmetic unit for the synthesis process, or by preparing multiple speech synthesizers with different processing amounts. This can be done by changing the synthesizer used according to the priority.
[0207]
The
[0208]
Next, an example of superimposing audio data with interruption processing will be described with reference to FIG. In this case, the data is
[0209]
(15th embodiment)
As described in the fourteenth embodiment, the speech recognition system incorporates the
[0210]
FIG. 60 shows a schematic configuration of the fifteenth embodiment, which includes a voice input / output system 651, a window system 652, and a voice mail tool 653. The voice mail tool 653 includes an email processing unit 6531 and a message input / output unit 6532.
[0211]
In this case, the voice input / output system 651 is a system having a voice synthesis function described in the fourteenth embodiment. The window system 652 provides information related to the application program to the user through a GUI (Graphical User Interface). By using the voice input / output system 651 and the window system 652, the voice mail tool 653 can handle voice input in the same manner as a mouse and keyboard and can handle voice synthesis in a unified manner.
[0212]
Normally, data transmitted and received by the voice mail system is text data, but not only text data but also voice data, image data, and the like can be mixed in the mail. In order to send and receive e-mail containing audio data, the e-mail tool needs a function for recording and reproducing raw audio data.
[0213]
61 is added as a message exchanged between the
[0214]
In FIG. 63, the button labeled emergency is voice data. Audio data is specified with a mouse, etc., and played using a mouse, keys or voice input. Any number of buttons with audio data can be created and placed at any position in the mail text.
[0215]
Recording / playback / editing of voice data in the mail is performed using a sub-window for voice data editing as shown in FIG. The two sliders at the top of the figure set the volume for audio data input / output, respectively. The buttons below the buttons are buttons for recording, playing back, stopping recording / playback, editing the voice data, and adding the voice data to the mail. The edit button has an edit submenu for cutting, copying, and pasting. “Emergency” at the right end of the button row is a character that can be arbitrarily entered by the user, and is displayed as a button label when the voice data is created. The lower part of FIG. 64 is a place where voice waveform data is edited. It is possible to select data using a mouse and add effects such as cutting, copying and pasting using an audio input, applying an echo, and changing a pitch to audio data. Also, editing of audio data and adding effects to the data may be performed with a dedicated audio data editing tool instead of the mail tool. When editing audio using it, it is necessary to transfer audio data to and from the mail tool, but if the transfer is performed by cut and paste using audio input, editing operation on audio data is easy You can do it.
[0216]
Cut and paste using voice input can be applied not only to voice data, but also to various forms of data such as text and graphics, and can be used to pass data for application programs.
[0217]
When replying to an email using the functions described above, you can automatically copy all of the email you read or a part of the text by saying “reply”, add a quotation mark, By automatically adding your signature and recorded message and sending it, you can respond to emails without touching most keyboards. At that time, the recorded message may be recorded in advance, but if the recording mode is automatically entered and "Send" is uttered, the recorded data is automatically added and sent by e-mail. Can be done. For example, FIG. 65 is an example of the text of a reply to the farewell party notice. In this example, up to the 8th line, a quote mark (>>) is added to a copy of the notification mail sent, and the signature and the recorded message mark are added to the 9th to 11th lines.
[0218]
Also, some or all of the audio data recording / playback / editing functions shown in FIG. 64 are arranged side by side in the received mail display section and the transmitted mail editing section as shown in FIG. It is thought that the property improves.
[0219]
All of the recorded data may be used as mail data as it is, but there is an unnecessary silent part in the data due to the wording and the like, and the amount of data may increase more than necessary.
[0220]
In such a case, it is also possible to automatically detect a silence part and cut a silence part having a certain length, for example, 1 second or more.
[0221]
In addition, due to the movement of the user during recording, the distance between the mouth and the microphone may change, the recording level may not be constant, and the data may be difficult to hear.
[0222]
In such a case, the power of the recording data can be checked to make the level uniform throughout and make it easier to hear. The level equalization process can be realized by obtaining a level for each unit, for example, a word or a sentence, and matching the others with the one having the maximum level.
[0223]
Further, when the entire data or the above-mentioned maximum level is too small or too large, the level of the entire data is changed accordingly, so that it is not difficult to hear.
[0224]
By using the mail tool of this embodiment, it is possible to read out a mail document in which text and voice are mixed.
[0225]
If we read the mail in the received mail part of FIG.
"Tamura-dono" (speech synthesis)
“Must submit last week's business trip report” (〃)
(Play emergency button audio data)
"Sawada" (speech synthesis)
As described above, by performing processing corresponding to the type of data (text data is synthesized by speech and the speech data is reproduced as it is) in the order of appearance of data, data other than text can be read out. It is also useful for the user to be able to read out only text data or read out only audio data. As a data format other than text, processing other than audio may be performed in accordance with the data format (if a moving image is reproduced, a moving image is reproduced).
[0226]
The reading out of the mail may be performed not only on the text but also on the header of the mail indicating the title, sender, and transmission / reception time.
[0227]
Here, it is not necessary to read out all the mail documents in the same way. For example, by creating a database of e-mail addresses and synthesized voice attributes as shown in FIG. 67, it is possible to change the voice characteristics when reading a mail document for each sender. In the setting of FIG. 67, the email from Mr. Tamura is a male voice that speaks slowly and slowly, the email from Mr. Nakayama is a high-pitched female voice, and the other emails are standard voice pitches. It is a voice of a man with a voice and is read out at a standard speed.
[0228]
Furthermore, it is conceivable to change the composition unit using not only the sender information but also information in one document. For example, it is possible to change the sexes of men and women, or to change the voice pitch and the speed of reading only for the part surrounded by quotation marks.
[0229]
In addition, assuming that the recipient of the mail reads out the mail using synthesized speech, it is possible to specify how to read the mail by adding a control code for speech synthesis to the text in the body of the mail. . FIG. 76 shows an example of control code mixed mail.
[0230]
In this case, a portion surrounded by @ <...> Is a portion read out by the control code and its designation. male, 5, 5, and 9 indicate gender (male), voice pitch, speed, and loudness, where only the part "Do not delay" is more than the other parts. Read loudly. In this way, by enabling fine settings of speech synthesis for the part in the body of the email, emphasizing important places in the email, changing the inflection of the text, and quoting the quoted word closer to the person It is possible to make changes by reading the synthesized speech of features.
[0231]
Since the mail tool described above can be controlled by voice in a multitasking environment, it can be conveniently read by voice while creating a document or editing a program with a keyboard or mouse.
[0232]
It should be noted that not only mail tools but also information retrieval tools such as electronic dictionaries such as English-Japanese, Japanese-English, bilingual dictionaries, similar word dictionaries for drawing similar expressions, paraphrasing, etc. are spoken by the interface according to the present invention. By operating, it is possible to draw a document or a word to be examined while creating a mail by a voice operation, which is convenient because interruption of document creation can be reduced.
[0233]
When checking the contents of an e-mail message by using voice-to-speech regardless of the display, it is especially important to search for a desired e-mail document from a large number of e-mails. For example, the efficiency may be deteriorated. Therefore, it is possible to issue a command for the mail tool while reading the mail. In particular, it is convenient if the command can be executed by voice input.
[0234]
First, a reading mode is provided so that a unit for reading mail can be set. There are three reading modes: full sentence, paragraph, and sentence. The display of “full text” next to the “read” button in the upper right of FIG. 63 indicates the reading mode. The "Reading" button is used to synthesize speech according to the mode. FIG. 68 shows voice commands used when reading a mail.
[0235]
The user sets a mode and starts reading a mail by saying “Read” button or “Read”. The voice commands “stop” and “continue” can be used to pause and resume reading. “One more time” reads the last unit read out again. “Previous” and “Next” are “to”, and the mail tool automatically changes the mode according to the command. For example, if “next sentence” is entered when the mode is “full sentence”, the mode automatically changes to “sentence”. “Next” and “Previous” are abbreviations of “Next” and “Previous”, and the units handled by these commands are units currently set as modes. “Fast” and “Slow” are voice commands for setting the reading speed, “High” and “Low” are for setting the voice height of the synthesized voice, and “Male” and “Female” are the voice commands for setting the gender of the synthesized voice.
[0236]
Thus, it is considered that the usability can be improved by enabling reading of the contents of the mail by voice and controlling the reading by using the voice, as compared with the case of using only the mouse and the keyboard. In particular, in a multi-window environment, auditory and voice input are used to control a voice mail tool, and visual and key inputs are used for different tasks (for example, a text editor), so that one user can simultaneously control multiple tasks. It becomes possible.
[0237]
The speech synthesis function can be used not only for reading a mail document but also for a message provided to a user from a mail tool. For example, consider a case where an operating mail tool uses synthesized speech for message output in a multi-window environment. First, make Mail Tool an icon when it starts up. When the mail tool receives a new mail, it provides the user with a message such as “New mail has arrived from Mr. XX. There are 5 unread messages”. Of course, this message can be recorded voice data, but considering the ease of changing the message text and reading out any numerical data, synthesized voice is more convenient for creators of application programs such as mail tools. good. Instead of always outputting the new mail reception notification message in the same way, for example, setting the importance level for the mail and not outputting a voice message according to the importance, or `` An urgent mail arrived from Mr. XX You can change the tone of the voice by changing the message text or changing the parameters for speech synthesis. As the message, information about the subject of the mail may be provided as “subject is a meeting notification”. In this way, by using the synthesized speech for the message output of the mail tool, the user can determine whether or not to read the received mail without directly looking at the mail tool.
[0238]
The new mail reception message is a message that interrupts the work performed by the user on the computer, and whether or not the user wants to interrupt the user's work depends on the work content. For example, during a program demonstration, you may not want to interrupt your email. Therefore, the task importance level is set, the task importance level is compared with the email importance level, and if the email importance level is higher than the task importance level, a voice message is output, and if not, it is not output. To do. The importance of work can be set for the entire work environment, for individual programs, or for each subtask in the program.
[0239]
The voice mail system is configured as shown in FIG. 69 in order to compare the importance of work with the importance of mail and determine the mail reception notification method. The mail system 691 is connected to the voice input /
[0240]
The
[0241]
In order to realize this function, the application program management table of the voice input / output system described in the fourteenth embodiment is expanded, and a task priority is newly set as an item. FIG. 70 shows an extended application program management table. Here, the task priority of the shell tool is set to “2”, and the DTP system is set to “5”.
[0242]
Furthermore, a message shown in FIG. 71 is newly provided as a message for setting a value in this application program management table and reading the value. In addition, a task priority change mask is newly provided as an input mask so that the mail system can receive the notification every time the task priority is changed.
[0243]
The mail system sets the task priority change mask and the input task change mask as input masks to obtain the task priority of all application programs connected to the voice input / output system and the presence or absence of voice focus. As shown in FIG. 72, the information can be dynamically reflected in the task importance management table. The priority of the e-mail can be set, for example, by adding header information such as “Preference: 3” to the mail document, and setting the importance on the mail itself. May be set. The e-mail processing unit of the mail system performs the process shown in FIG. 73 every time an e-mail is received.
[0244]
In this case, it is checked whether or not the voice focus is on one task (step 7801). If YES, the priority of the task having the voice focus is selected. If NO, the average of the priorities of all the tasks having the voice focus is calculated. select. For example, the highest priority may be selected. Whether these are lower than the priority of the mail is checked (step 7804). If YES, the voice is used for notification (step 7805), and if NO, nothing is notified (step 7806). In this case, various methods such as changing the icon display or using a moving image can be used for notifying the user of mail reception.
[0245]
As an application program, a display example of a screen when the shell tool and the DTP system are connected to the voice input / output system in addition to the mail system is shown in FIG. FIG. 74A shows a screen display example when the task importance management table is in the state shown in FIG. Here, assuming that a
[0246]
As described above, by changing the message related to the notification of new reception in accordance with the importance of mail and the importance of work, it is possible to provide the user with a flexible interface that does not exclude the user's work.
[0247]
(Sixteenth embodiment)
In the fifteenth embodiment, the read-out function of the mail document reads out a part or all of the received mail as it is using the synthesized speech without any change to the text. This method is less problematic when the number of mail documents is small and generally small, but as the number of mails becomes larger and larger, its function alone is insufficient.
[0248]
FIG. 77 shows a schematic configuration of a voice mail system. A
[0249]
Here, the
[0250]
The
[0251]
In this case, it is determined whether the importance of the mail is “3” or more (step 8401), and if it is “3” or more, no summarization is performed (step 8402). If “3” or more does not appear, check whether “urgent” is included in the mail (step 8403). If “urgent” is included, check whether the document is longer (step 8404). If the document is not long, summarize it. (Step 8402), if the document is long, it is summarized (step 8405). If “urgent” is not included in the main portion, only the first line is summarized (step 8406). Then, summary processing according to the mail is performed (step 8407).
[0252]
In the case of a document such as e-mail, the content may not be complete or too short, so it may not be suitable for summarization. For mail documents that could not be (and need not be) completed and failed to summarize, for example, if you take the first few lines and read them aloud, It can be said that some summarization processing can be performed. Summarization can be done by the user in the form of, for example, a voice “summary” command, or the mail system can automatically summarize all incoming mail (or only long ones) automatically. You can also.
[0253]
In this way, the voice mail tool has a mail document summarization function, which can improve the efficiency of mail document processing. For users who are sometimes busy or need to process a large amount of mail, Convenient.
[0254]
(Seventeenth embodiment)
In the fifteenth and sixteenth embodiments, the use of voice recognition and synthesis functions provided by the voice input / output system has been described using a voice mail tool.
[0255]
Although these provided information to the user using GUI and audio output, the functions described in the fifteenth and sixteenth embodiments are more useful in an environment where the GUI is not available, such as a telephone interface. In this embodiment, a voice input / output interface through a telephone that does not use a GUI will be described using an example of a voice mail system.
[0256]
FIG. 80 shows a schematic configuration of the seventeenth embodiment. In this case, the mail address table 853 is connected to the voice mail system 852 connected to the voice recognition system 851.
[0257]
In this case, the voice input / output system 851 is connected to a telephone line, but the connection with the telephone line is possible using existing technology, and is not described here. It is assumed that input to the voice mail system 852 from the telephone can be performed by voice and a push button.
[0258]
Since e-mail is personal information, an authentication procedure for personal information is required before confirming the contents of the e-mail by telephone. This can be done with a push button on the phone, password voice recognition, or speaker verification technology.
[0259]
After confirming the user in the authentication procedure, voice access is used interactively by using voice recognition. The voice mail system 852 described here can use all the functions of voice recognition and voice synthesis described in the fifteenth and sixteenth embodiments. That is, it is possible to confirm all or part of voice mail or summarized contents by voice input. The operation of the voice mail system 852 is basically performed using voice. Therefore, the mail transmission is also performed by voice. In the telephone interface, it is not realistic to input the content of an email using a push button, so the content of the email itself is also voice. A voice mail document can be created by simultaneously performing voice recognition and voice recording. In the configuration of FIG. 80, simultaneous recognition and recording is not excluded. FIG. 81 shows an example of creating a mail document using voice. The scene setting is a place where a reply is made to the mail after confirming the content of the received mail by voice (voice / voice).
[0260]
First, the user's voice of “recording start” is recognized in (1), and the mail system records the following voice of the user (2), “Please tell me!” As a mail document. The last “stop, stop” in (2) is an instruction to stop recording. The reason why “stop” is repeated is to distinguish “stop” in the mail text from “stop” as a command. The entire “stop, stop” may be the recognition target vocabulary. The mail system cuts the “stop, stop” section from the recorded data. The user confirms the content (4) of the mail document by “content confirmation” in (3), and transmits the mail by “transmission” in (5). Finally, the transmission of mail is recognized by the message (6).
[0261]
Here, when the user records data in (2), if the head of the voice data is detected by the voice detection unit in the voice recognition unit of the voice recognition system, the process from “recording start” to the input of the text. Even if there is an interval, it is not necessary to record the silent section.
[0262]
Also, if you say “send” instead of words like “stop, stop” to specify the end of recording, and if “send” is recognized, the recorded content will be automatically sent as mail data. You can also. This eliminates the need to say “stop” to stop recording, and can easily send an email. At this time, the content of the transmitted mail can be confirmed by automatically reproducing the recorded content without confirming it by uttering “content confirmation” or the like.
[0263]
Further, if one voice section is recorded after “recording start”, a recording stop command such as “stop, stop” becomes unnecessary. The end of the voice section is a restriction that the user has to input a message at a breath if the setting is made with a margin, for example, “if the voice data is silent for 3 seconds, it is regarded as the end of the voice data input”. Is alleviated.
[0264]
As described above, in order to detect a voice section as data, the message shown in FIG. 82 is added as a message between the application program and the voice recognition system. This voice section detection message is a round-trip message, and the voice section data can be cut out from the input voice by the procedure shown in FIG. In the voice section detection message, as parameters, the time for detecting the end of the voice (for example, if a silent section continues for 3 seconds, the section before the silent section is regarded as the voice section), and a timeout specification when there is no input voice (It is considered that no voice section has been detected after 30 seconds from the transmission of the request).
[0265]
Also, as described here, the subject of the mail document is that when responding to a received mail, in terms of UNIX mail, “Subject: hello“ Subject: re: hello “, you can say the answer as a reply, but if you create a new email at the phone, you can not give the subject. Combine speech recognition to make it possible. An example is shown in FIG.
[0266]
In this case, when the mail system recognizes the user's (1) “subject” voice, the mail system enters the subject input mode. In this mode, a predetermined subject word is the recognition target vocabulary. For example, such as "Hello", "News", "Please urgently contact", "cheers for hard work", "meeting notification" it can be considered. In the example of FIG. 84, (2) “Conference notification” is input. When the mail system recognizes the “meeting notice”, the text “Subject: meeting notice” is inserted into the mail document (3), and a confirmation message such as (4) is made by synthetic voice.
[0267]
The recognition result in the subject input mode is not only the insertion of the mail title but also the input of a standard mail document, for example. FIG. 85 is an example of a standard e-mail inserted as the body of the e-mail in response to the input “Gokuro-sama”. {Receiver} and {sender} in the document represent variables assigned to the receiver and the sender. This variable allows anyone to send an email with the same text only by voice. If it is possible to create a database of standard e-mails and call the data by voice, it will be convenient.
[0268]
In the fifteenth embodiment, voice data can be added / inserted at an arbitrary place in a mail document. However, in the subject input mode, voice data can be attached to the subject itself, for example, receiving a mail. At the same time, if the voice subject is output, it is considered that the sender of the mail and the contents of the mail are easily transmitted to the receiver. Of course, subject insertion by voice recognition and voice subject recording may be performed simultaneously.
[0269]
Rather than sending a reply to the received mail, voice recognition is used to specify the destination from the telephone door. For this purpose, word registration is performed in advance by applying a learning function, and the recognized word vocabulary and the mail address are linked. For example, an address book having an appearance as shown in FIG. 86 is provided in the mail system, and the mail address and voice are linked by the mail address registration function shown in FIG.
The registration procedure at this time is as follows:
Open the e-mail address book (Fig. 86)
Open the registration window (FIG. 87) and start new registration of the mail address.
遙 Enter the name and address using the keyboard.
回 数 Number of times required for learning (several to tens of times), new words (Suzuki in this example)
Say.
遙 Press the OK button to complete registration.
[0270]
In this way, the recognition word vocabulary (Suzuki) and the e-mail address (Suzuki @ aaa, bbb, ccc, co.jp) are linked and used at the telephone door. For example, the procedure shown in FIG. 88 is performed. First, in (1), when the user utters “destination” and is recognized, the mail system outputs the message (2) by voice and confirms with the user. In (3), the vocabulary registered in FIG. A, B, etc. is to be recognized. In this example, when “Suzuki” is recognized, to: Suzuki @ aaa, bbb, ccc, co . jp is inserted.
[0271]
(4) and (5) show how the mail address is recognized. Like the “Suzuki” voice in (4), for example, one of the voices used for registration in FIG. 87 can be automatically recorded and used for confirmation of recognition.
[0272]
“Suzuki @...” In (4) is an example in which confirmation is performed using alphabet reading by synthesized speech.
[0273]
In this method, the designation of a mail address by voice can be applied only to those registered in advance. However, as described below, a mail address registered in advance can be designated using voice. For this purpose, first, a function for automatically creating a database of e-mail addresses from e-mails received by the user in the past is added. In UNIX mail, the mail address is included as a mail header, and it is not difficult to create a database from the mail address. The configuration of the email address is, for example,
User name @ department name, organization name, organization classification, country classification
It is possible to create a database having a tree-like hierarchical structure in the reverse order of e-mail addresses (country → user name).
[0274]
The mail system traces the mail addresses in order from the country division, using synthetic speech reading as shown in FIG. In the example of FIG. 89, when a wrong node (a section when mail addresses are traced in order) is selected, it returns to the previous (higher) node with a vocabulary such as “cancel”, “cancel”, etc. With this vocabulary, you can cancel address entry. In addition, it is possible to move to a mail address node of a company at once by associating a recognition word vocabulary with an arbitrary node in advance and uttering a company name, for example.
[0275]
If such a method is used, it becomes possible to designate the mail address using voice if it is for a person who has sent mail in the past.
[0276]
In addition, speech recognition systems based on phonological recognition that do not require word-based recognition dictionaries have been widely researched. By using this, even if there is no corresponding address in emails that have arrived in the past, addresses can be addressed by speech. It is possible to enter and forward the mail.
[0277]
(Eighteenth embodiment)
The speech recognition interface described in the first embodiment and the fourteenth embodiment of the present invention provides speech recognition and speech synthesis services for application programs developed exclusively for speech recognition systems or speech input / output systems. there were. In this embodiment, in addition to the voice control for the dedicated program as described above, it is possible to control the voice for any application program that cannot directly exchange messages with the voice recognition system or the voice input / output system. This extension is applied to the voice recognition interface. As a result, the application field of voice recognition and users can be expanded. In the present embodiment, an example in which the above-described extension is applied to the fourteenth embodiment will be described, but it is obvious that the same extension can be applied to the first embodiment.
[0278]
Hereinafter, this embodiment will be described.
FIG. 90 shows the overall configuration of the voice input / output interface of the present embodiment. The same voice input /
[0279]
A general-purpose application program (hereinafter referred to as GAP) 103 is an application program that is not directly connected to the voice input /
[0280]
The
[0281]
Next, an operation on the
In this embodiment, the
[0282]
In order to send an operation command from the
[0283]
If the application uses a window system, the
[0284]
Next, a specific example will be described. As shown in FIG. 91, the voice
[0285]
An example of the voice interface management table of the
[0286]
The above pseudo audio focus is an audio focus provided in a pseudo manner for the application program. The GAP is not directly connected to the voice input /
[0287]
As shown in FIG. 94, the true audio focus related to the
[0288]
The SIM and GAP command name attributes are local to the SIM. That is, it becomes a recognition target when the voice focus is set in the SIM. Since the voice focus is not set in the
[0289]
An example of the processing procedure of such a message conversion unit 143 is shown in FIG. That is, when the recognition result received from the message processing unit 11 of the voice input /
[0290]
On the other hand, if the received recognition result is not the program name (step 9002), the command corresponding to the command name is transmitted to the application program in which the pseudo focus is set (step 9006).
[0291]
As described above, by adopting the configuration as in the present embodiment, it is possible to use speech recognition even for an existing application program (GAP) that does not use speech input (recognition), thereby expanding the number of users. And improved usability.
[0292]
(Nineteenth embodiment)
Under a system having a window-based GUI (graphical user interface), one program can be configured using a plurality of windows. In the present embodiment, an example will be described in which the system is extended to enable voice input to individual windows of an application program having a plurality of windows based on the eighteenth embodiment. This makes it possible to use finer speech recognition and improve operability.
[0293]
In the embodiments described so far, the unit in which the voice focus can be set by the voice input /
[0294]
FIG. 96 is an extension of the voice input /
[0295]
Hereinafter, a specific example will be described. As in the eighteenth embodiment, it is assumed that four application programs are operating: SIM (104), shell tool, editor, and mail tool. Of these, the SIM and mail tool are SAP, and the shell tool and editor are GAP. As shown in FIG. 97, assume that the shell tool and the editor are each composed of two windows, and the others are composed of one window. FIG. 98 shows the configuration of the entire voice input / output interface in this case. The mail tool 120, which is a dedicated program (SAP), has its
[0296]
The voice window has a window name, a recognition target vocabulary, an input mask, and the like as its attributes. In addition to local and global attributes, windows are provided as attributes of recognition target vocabulary such as window names and command names. A vocabulary having a local attribute becomes a recognition target when the voice focus is set to the voice window to which the vocabulary belongs. Vocabulary with global attributes will always be recognized no matter where the voice focus is set. A vocabulary having a window attribute becomes a recognition target when the voice focus is set to a voice window belonging to the same application program as the voice window even if the voice window to which the vocabulary belongs is not set.
[0297]
It is also possible to group a plurality of voice windows, mix recognition vocabulary, and automatically send the result to the voice window to which the recognition vocabulary belongs according to the recognition result. For example, when the application program management table is in the state shown in FIG. 102, the shell tool and the editor are grouped to recognize LS, process, cut, copy, and paste at a time. The recognition result is sent to the editor, and when cut, copy, or paste is recognized, the recognition result is sent to the editor.
[0298]
Thereby, the movement of the voice focus between the shell tool and the editor can be omitted, and both operations can be performed efficiently. If there is the same vocabulary in multiple audio windows, the recognition result may be sent to multiple audio windows that have the same as the vocabulary, or the audio window with the audio focus is given priority. Anyway. Whether or not grouping is performed can be determined by the attribute of the grouping ID in the application program management table of FIG.
[0299]
As a method of grouping voice windows, a parent-child relationship can be introduced into the voice window, and the parent window and the child window can be grouped to recognize both vocabularies at the same time. For example, when the application program management table is in the state shown in FIG. 102, the parent shell tool window and the setting window are grouped with respect to the setting window of the shell tool. Then, when the voice focus is applied to the setting window, recognition is performed using a vocabulary in which both are mixed.
[0300]
As a result, when the voice focus is applied to the child voice window, the voice focus can be omitted and the voice input to the parent window can be performed, and the work efficiency can be improved. If the parent window and the child window have the same vocabulary, the recognition result can be sent with priority over the child window with the voice focus.
[0301]
In the state of FIG. 98, the voice interface management table in the voice
[0302]
Depending on the window system and OS, the display of another application program window may not be changed. In this case, another independent window is pasted to the window of another application program as shown by the hatched portion w1 in FIG. And indicate the location of the audio focus. An example of the display of this external window is shown in FIG. As shown in the figure, a display (window) showing the voice focus is shown at the top of the application program. The position of this window may be anywhere as long as the voice focus can be clearly indicated, and any number may be used. In addition to using still images, using moving images makes it easier to understand the position of audio focus.
[0303]
Here, the application program management table 13 of the voice input /
[0304]
In the above configuration, the speech input /
[0305]
First, when the audio focus is set for the window (0), the vocabulary set for the window (0) is added to the recognized vocabulary list (step 9103). On the other hand, when the voice focus is not set and the window (0) belongs to the same application program as the voice window for which the voice focus is set, the attribute value of the vocabulary of the window (0) is “1”. Are added to the recognized vocabulary list (step 9105), and if they do not belong, the vocabulary with the attribute value “2” is added to the recognized vocabulary list (step 9106).
[0306]
The above processing is performed for all other windows including the window (1).
[0307]
Then, recognition processing is performed (step 9108). If the first recognition result is a window name, the voice focus is set to the window where the first vocabulary has been set (step 9110). The recognition result is transmitted to the window in which the first vocabulary has been set (step 9111).
[0308]
For example, in FIG. 102, there are two voice windows (ID = 2 and ID = 4) in which “setting”, which is one of the recognizable vocabularies, is set, but the attribute of each vocabulary is “1” ( = Window), the recognized “setting” is sent to the voice window ID = 2. On the other hand, “setting” recognized when the voice focus is set to the voice window ID = 3 is sent to the voice window ID = 4. As an operation of the voice input /
[0309]
As described above, by giving the recognition target vocabulary a window attribute, it is possible to give the same name to the windows of a plurality of application programs and operate them. This embodiment greatly improves the usability as a voice recognition interface.
[0310]
(20th embodiment)
As described in the eighteenth and nineteenth embodiments, means for directly communicating with the voice input / output interface by converting the voice message from the voice recognition system by the voice
[0311]
When the voice input / output interface of the present invention is applied to an existing application program, the correspondence between the operation of the existing program and the vocabulary for doing so is taken separately from the application program dedicated to the voice input / output interface. There is a need. In this embodiment, registration of program operation for taking correspondence between “vocabulary” and “program operation” will be described.
[0312]
In the program operation registration, the program name or window name used to move the voice focus to the target application program, and the key input or mouse input event sequence and vocabulary used to operate the existing application program are registered. Perform matching. For example, when two shell tool windows are used, “
[0313]
Normally, a general application program does not have the window name of the window displayed by the program. Therefore, to specify a window by name, name the window and select the window name from the voice interface management table. It is necessary to be able to identify the window. For this reason, as shown in FIG. 99 of the nineteenth embodiment, the audio interface management table has fields for storing a window ID and a window name which are window identifiers in the window system. With this table, for example, when “editor” is sent as a recognition result, the audio
[0314]
Next, a method for registering names and program operations for windows will be described below.
FIG. 104 shows the configuration of the program
[0315]
For example, the program operation
[0316]
The registration screen of FIG. 105 has a “Register” button for writing program operation registration contents into the voice interface management table, a “Cancel” button for canceling the input contents and returning to the state before the input, and “End” for ending registration. Button, “window ID acquisition” button for acquiring the window ID of the target general application program, “application program class” (AP class) window for inputting the type of application program, “window name” for inputting the window name A window and a program operation input window for inputting a key input sequence or a mouse input sequence representing a vocabulary and a corresponding program operation.
[0317]
In FIG. 105, “Shell” is selected as the application program class, “
[0318]
Next, a program operation registration procedure will be described with reference to FIG. The program
[0319]
Here, the user inputs an AP class, window name, vocabulary, program operation, etc., or inputs a registration button, a cancel button, an end button, a window ID acquisition button, and the like.
[0320]
If the input is a registration button (step 9203), the editing result displayed on the screen is saved in the save file 200, and further written into the voice interface management table 141, so that the registered contents can be used as an operation of the voice input / output interface. Reflect (step 9204).
[0321]
If the input is a cancel button (step 9205), the registered contents are again read from the saved file 200 and displayed, and the process waits for input (step 9202).
[0322]
If the input is an already registered application program class (AP class) (step 9206), a list of window names of the selected AP class, vocabulary, and program operation are displayed on the screen (step 9207), and input waiting is entered. Return (step 9202).
[0323]
If the input is a window ID acquisition button (step 9208), it is first determined whether a window name is selected (step 9209). If not selected, the process waits for input (step 9202) and is selected. When the window is clicked with the mouse, the ID of the clicked window is obtained, and the selected window name and window ID are written in the voice interface management table as shown in FIG. 9210).
[0324]
If the input is an end button (step 9211), the contents of the screen display contents are written into the voice interface management table and stored in the file 200 (step 9212), and the registration is completed.
[0325]
As described above, by specifying the type of application program at the time of program operation registration, it is possible to specify automatically without inputting the same program operation, and registration can be performed efficiently. It becomes like this.
[0326]
Also, even for application program windows that are difficult to start by specifying a name, it is easy to assign a window name by acquiring the ID of the window clicked by the mouse and connecting it to the window name. Voice input.
[0327]
In the registration example described above, the ID of the window that has already been generated is used to associate the operation command with the recognition result. In general, the object ID of a window or the like is determined at the time of generation, and the same type of application is used. Different IDs are assigned even if they exist. Therefore, if a window attribute value common to applications of the same type, such as the window hierarchy and window name, is inquired to the window system at the time of registration and added to the registered content, it is common to the same type of application by comparing these attribute values. The registered contents can be reflected in.
[0328]
In addition, by registering multiple window names in the application to be registered at the time of registration, it is used when the same type of application is started (inquires the voice recognition system for the name of an already used voice window). If an unoccupied window name is used as the voice window name of the activated application, the collision of the voice window names can be avoided.
[0329]
(21st Example)
Next, an embodiment relating to a recognition dictionary editing function for recognizing speech in a speech input / output interface will be described.
[0330]
FIG. 107 shows the configuration of the voice
[0331]
Here, FIG. 108 is an example of the configuration of a recognition dictionary. In the recognition dictionary, for each word, in addition to a pattern matching template, data such as a word name, a word ID, or a recognition parameter is stored in the header. Equipped with a function to display and edit the contents of these data, it is easy to delete unused word dictionaries to reduce the amount of memory required for dictionaries and to change word names and IDs. You can do it.
[0332]
Next, the configuration of the
[0333]
The dictionary contents are displayed on a screen as shown in FIG. 110, for example. In the screen, a dictionary name window for displaying a dictionary name, a vocabulary number, a word ID, a word, a parameter, a dictionary content window for displaying a dictionary number, a “delete” button for deleting a dictionary, and a “search for searching for a parameter” ”Button, an“ all display ”button for displaying all contents, an“ end ”button for ending dictionary editing, a status window for displaying a dictionary content check result, a search value window for inputting a search value, and the like. The parameter items in the dictionary content window are menus, and when the mouse is clicked, the parameter content as shown in the figure is displayed and the content to be displayed can be selected.
[0334]
The dictionary contents can be automatically checked when a dictionary name is selected. For example, it is possible to check whether there is a word with the same ID or a dictionary with the same word name. Checks are made for differences and the results are displayed in the status window.
[0335]
In the item of FIG. 110, dictionaries having file names “common” and “usr.1” are selected as dictionaries, and the two contents are merged and displayed as the dictionary contents. For example, the vocabulary No. “1” indicates that the number of data used for creating the dictionary with ID = 1 is 100. The vocabulary No. “2” indicates that ID = 2 is clear and this word is selected and the background color is changed to dark.
[0336]
Next, the procedure of dictionary editing processing will be described with reference to FIG. When the dictionary editing unit is activated, first, the contents of the dictionary are read from the dictionary file (step 9301), the contents are displayed on the screen, and input is waited for (step 9302).
[0337]
If the input is a delete button (step 9303), the dictionary No. specified by the user is deleted from the file (step 9304), and the process waits for input (step 9302).
[0338]
If the input is a full display button (step 9305), the contents of the dictionary are read again (step 9301) and the process waits for input (step 9302).
[0339]
If the input is a search button, the system waits for parameter specification from the parameter menu (step 9307), and displays only the dictionary that matches the specified parameter and the value input in the search value window as the dictionary contents ( Step 9308), the process returns to waiting for input (Step 9302).
[0340]
If the input is an end button, the dictionary file is updated from the contents input on the screen (step 9310), and the message conversion unit is notified of the end (step 9311), and the process ends.
[0341]
The dictionary editing section described above makes it easy to delete unnecessary word dictionaries, check their contents, change word names, etc., check for duplicate use of the same ID and word, and inconsistent recognition parameters, etc. Can be done easily.
[0342]
(Twenty-second embodiment)
In the voice input / output interfaces described in the eighteenth and nineteenth embodiments of the present invention, confirmation of the recognition result of the user's utterance and confirmation of the operation of the application program caused by the recognition result are performed through screen information presented by the application program. ing. For example, the recognition result (and recognition failure) is presented to the user as character information. When a program name such as “shell tool” is called, the display of the shell tool is changed as shown in FIGS. 100 and 101 of the nineteenth embodiment. In response to the utterance of “iconization”, an action to the application program by voice, such as making a window with a voice focus into an icon, is fed back to the user as a change in screen display performed by the application program. However, depending on the application program, the display may be changed little or not by the operation. Further, taking advantage of the feature of the present invention that the keyboard focus and the voice focus can be separated, it is also conceivable to use the application program with the voice focus not displayed. In such a case, it is convenient for the user to operate the application program by performing the recognition result and the confirmation of the operation by the voice output using the voice synthesis function described in the fourteenth embodiment instead of the screen output. Improves.
[0343]
The voice interface manager (FIG. 98) of the nineteenth embodiment is expanded as shown in FIG. 112 in order to check the operation by voice output. That is, a response
[0344]
The response
[0345]
An example of the response
[0346]
The message conversion unit 143 refers to the data of the response
[0347]
The response voice registration unit 403 shown in FIG. 115 registers the command of the response
[0348]
The response command of the response voice management unit 403 is processed by the message conversion unit 143 and can be described as a command in the voice interface management table shown in FIG. 99 of the nineteenth embodiment. By describing the play () and synth () commands here, it is possible to define a response voice output corresponding to the application program for the operation of the GAP that cannot exchange information directly with the voice input /
[0349]
As described above, a SIM is provided with a mechanism for returning a meaningful voice response for each operation performed (or not performed) by voice input, and a natural method of responding to voice input by voice. Therefore, since the user can confirm the operation executed by the application program without paying attention to the change in the display on the screen (or not at all), the operability of the voice input / output interface is improved.
[0350]
(23rd embodiment)
In the ninth embodiment of the present invention, data collection for creating a recognition dictionary has been described. However, the collected data may contain error data due to wrong vocabulary utterances or detection errors in speech sections. is there. For example, the word “open” may be uttered with a small “ku” sound, and “ku” may be missed and only “open” may be detected as a speech segment. Since learning of the recognition dictionary using such erroneous data greatly reduces the recognition accuracy, it is necessary to confirm the data and remove the erroneous data. Therefore, in this embodiment, the data is confirmed by reproducing and listening to the sound so that the data can be confirmed easily and reliably.
[0351]
Conventionally, in the method of playing back and confirming the collected voice data, only the detected voice section is often played back, but depending on the vocabulary, even if the start / end of the voice is detected incorrectly, the user can There was a problem of being heard. For example, even when “ku” at the end of “open” described above is missing and only “open” is displayed, the playback sound of “open” may be heard as “open”. In this embodiment, in order to reduce such mistakes in the confirmation of the start / end, the start / end positions of the voice are presented in an easy-to-understand manner by sound. As a result, since the voice data can be easily and reliably confirmed by sound, the learning data can be collected easily and without mistakes, and the usability of the voice input / output interface and the recognition accuracy can be improved.
[0352]
To make it easier to understand the start and end positions,
(Method 1) A method in which a known sound such as white noise or a sine wave is added before and after the detected speech section and reproduced.
(Method 2) A method of playing with a click sound at the start and end positions,
(Method 3) A method of playing back only the voice section after playing back the entire utterance from a certain time before the start to a time after the end,
Etc. are considered.
[0353]
According to the
[0354]
FIG. 116 shows the configuration of the expanded
[0355]
As shown in FIG. 116, the
[0356]
The processing flow of the
[0357]
First, in the initial setting, the
[0358]
When the learning vocabulary is selected by the user (step 11003), the
[0359]
The speech waveform data is sent to the speech data confirmation unit 411, and the user confirms the data, and inputs whether or not to use it for dictionary creation by the data use availability input unit 413 (step 11007). If the data is used, the word voice feature data is output to a file on the magnetic disk or the like (YES in step 11008 and step 11009), and if not used, the file is not output (NO in step 11008). ).
[0360]
At the end of learning, when the user inputs an instruction to end data collection and the data collection instruction flag is OFF (Yes in step 11010), the
[0361]
Next, FIG. 118 shows the configuration of the audio data confirmation unit 411 of this embodiment.
[0362]
The sound data confirmation unit 411 reproduces the sound data memory 421 that stores sound data, the sound data processing unit 422 that processes sound data, the additional sound generation unit 424 that generates additional sound used for processing, and the processed sound data A sound reproduction unit 423 that receives audio data and information on the start / end positions from the learning data collection unit control 83, processes the information, and outputs it as sound. If the processed sound is sent to the voice input / output system to reproduce the sound data, the re-west portion 423 is not necessary.
[0363]
Next, the flow of processing will be described with reference to FIG.
[0364]
First, voice data and start / end information are received from the learning data collection controller 83 and stored in the voice data memory 421 (steps 12001, 12101, 12201). This voice data is waveform data with a certain time, for example, 240 msec before and after the voice section, and is as shown in FIG. 120, for example. In the data shown in the figure, since “open” of “open” is detected as a voice section, the “open” sound is within the margin of the end.
[0365]
Next, in the case of the
[0366]
The additional sound data may be white noise or a sine wave, and these can be easily created using a random number generation routine or a trigonometric function routine. Alternatively, the recorded data may be simply read out.
[0367]
In the case of the
[0368]
In the case of the
[0369]
In this case, as shown in (c) of FIG. 121, the entire utterance is reproduced as “Hiraku”, but the re-speech of only the voice section is reproduced only as “Hira”. By hearing and comparing these two reproduced sounds, it can be easily identified that “ku” is missing.
[0370]
As described above, the user can easily determine whether or not the sound data is correct based on the reproduced sound, and whether or not the data is used for creating a dictionary can be immediately input by the data collection unit. The voice data can be collected easily and reliably.
[0371]
Thereby, a recognition dictionary can be created excluding erroneous data.
[0372]
【The invention's effect】
According to the present invention, each application program can determine whether or not a speech recognition result can be received by the speech recognition system, so that the application program can freely control the voice input of itself and other application programs, and is flexible. An easy-to-use speech recognition interface can be constructed. In addition, since the voice recognition system can send the voice recognition results to multiple application programs at the same time, one voice input operation can be performed on multiple application programs at the same time. To do. In addition, since the voice recognition system can perform voice recognition for multiple application programs, it is possible to distribute voice input to each application program based on the voice recognition results without explicitly specifying the voice input target, which burdens the user. Can be reduced.
[Brief description of the drawings]
FIG. 1 is a diagram showing a schematic configuration of an embodiment of the present invention.
FIG. 2 is a diagram showing a schematic configuration of a voice recognition unit.
FIG. 3 is a diagram showing a schematic configuration of another example of a speech recognition unit.
FIG. 4 is a diagram showing a schematic configuration of another example of a voice recognition unit.
FIG. 5 is a diagram showing a schematic configuration of another example of a voice recognition unit.
FIG. 6 is a diagram showing a schematic configuration of an application program.
FIG. 7 is a diagram illustrating a message transmitted between components.
FIG. 8 is a diagram showing types of input masks.
FIG. 9 is a diagram showing a time chart of processing of each part of the voice recognition interface.
FIG. 10 is a diagram illustrating an application program management table.
FIG. 11 is a diagram showing a schematic configuration of a second embodiment of the present invention.
FIG. 12 is a diagram showing a screen display example of a general window system.
FIG. 13 is a diagram for explaining a recognition vocabulary of an application program.
FIG. 14 is a diagram for explaining a change in a speech recognition vocabulary associated with movement of an input focus.
FIG. 15 is a diagram for explaining a display example of a recognized vocabulary.
FIG. 16 is a diagram for explaining a state in which the recognized vocabulary is changed depending on the position of the mouse.
FIG. 17 is a diagram for explaining a recognition vocabulary of an application program in the third embodiment of the present invention.
FIG. 18 is a diagram illustrating an application program management table.
FIG. 19 is a diagram for explaining a fourth embodiment of the present invention.
FIG. 20 is a diagram showing a schematic configuration of a fifth embodiment of the present invention.
FIG. 21 is a diagram showing a message display example.
FIG. 22 is a diagram showing a multi-window environment such as a workstation.
FIG. 23 is a diagram showing an application program management table in the sixth embodiment of the present invention.
24 is a diagram for explaining an expression based on the application program management table of FIG.
FIG. 25 is a diagram showing an example of expansion of the task management program function.
FIG. 26 is a view for explaining a display example in the seventh embodiment of the present invention.
FIG. 27 is a view for explaining a display example in the seventh embodiment;
FIG. 28 is a diagram showing a schematic configuration of a ninth embodiment of the present invention.
FIG. 29 is a diagram showing a schematic configuration of a learning data collection unit.
FIG. 30 is a diagram for explaining message exchange with the voice recognition system;
FIG. 31 is a diagram showing a flowchart at the time of data collection in the voice recognition system.
FIG. 32 is a diagram showing a flowchart of a learning data collection unit.
FIG. 33 is a diagram showing a display example on a learning vocabulary guide display unit.
FIG. 34 is a diagram showing a display example on the learning vocabulary guide display unit.
FIG. 35 is a diagram showing a flow of processing of a voice recognition interface at the time of data collection.
FIG. 36 is a diagram showing a schematic configuration of a tenth embodiment of the present invention.
FIG. 37 is a diagram showing a dictionary creation management table.
FIG. 38 shows a dictionary creation management table.
FIG. 39 is a diagram showing a dictionary creation management table;
FIG. 40 is a diagram for explaining a registration procedure in a dictionary creation management table.
FIG. 41 is a diagram for explaining a procedure for creating a dictionary;
FIG. 42 is a diagram showing a display example of the progress of dictionary creation.
FIG. 43 is a diagram showing an example of speed display for dictionary creation processing;
FIG. 44 is a diagram showing an example of speed display for dictionary creation processing;
FIG. 45 is a diagram showing a schematic configuration of an eleventh embodiment of the present invention.
FIG. 46 is a diagram for explaining voice recognition automatic stop processing;
FIG. 47 is a diagram for explaining a twelfth embodiment of the present invention.
FIG. 48 is a view for explaining the twelfth embodiment;
FIG. 49 is a diagram for explaining a thirteenth embodiment of the present invention.
FIG. 50 is a diagram showing a schematic configuration of a fourteenth embodiment of the present invention.
FIG. 51 is a diagram showing a schematic configuration of a speech synthesis unit.
FIG. 52 is a diagram illustrating an audio output management table.
FIG. 53 is a diagram illustrating a message for voice input.
FIG. 54 is a diagram illustrating an input mask for audio output.
FIG. 55 is a diagram illustrating an application program management table.
FIG. 56 is a view showing a flowchart of an audio output process.
FIG. 57 shows a time chart of audio output processing.
FIG. 58 is a flowchart showing audio output request processing.
FIG. 59 is a diagram for explaining an example when superimposing audio data with interruption processing;
FIG. 60 is a diagram showing a schematic configuration of a fifteenth embodiment of the present invention.
FIG. 61 is a diagram for explaining messages exchanged between the application program and the voice input / output system.
FIG. 62 is a diagram showing a time chart of a process in which the voice mail tool records voice data.
FIG. 63 is a diagram showing a screen display example of the voice mail tool.
FIG. 64 is a diagram showing a sub-window for editing audio data.
FIG. 65 is a diagram showing a text example of a reply by mail transmission.
FIG. 66 is a diagram showing a sub-window for editing audio data.
FIG. 67 is a diagram showing an example of a synthetic speech attribute database;
FIG. 68 is a diagram showing an example of a voice command used when reading a mail.
FIG. 69 is a diagram showing a schematic configuration of a voice mail system.
FIG. 70 is a diagram illustrating an application program management table.
FIG. 71 is a diagram for explaining a message between the mail system and the voice input / output system.
FIG. 72 is a diagram for explaining a task importance level management table;
FIG. 73 is a view showing a flowchart of electronic mail processing in the voice mail system.
FIG. 74 is a diagram showing a notification example of received mail.
FIG. 75 is a diagram for explaining a task importance level management table;
FIG. 76 is a view showing an example of a control code mixed mail.
FIG. 77 is a diagram showing a schematic configuration of a sixteenth embodiment of the present invention.
FIG. 78 is a diagram showing a schematic configuration of a sixteenth embodiment of the present invention.
FIG. 79 is a flowchart showing summary setting processing;
FIG. 80 is a diagram showing a schematic configuration of a seventeenth embodiment of the present invention.
FIG. 81 is a diagram showing an example of creating a mail document using voice.
FIG. 82 is a diagram showing an example of a message between the application program and the voice recognition system.
FIG. 83 is a diagram showing a time chart of a process of cutting out voice segment data from input voice.
FIG. 84 is a diagram for explaining input of a mail title by voice.
FIG. 85 is a view for explaining typical mail document input.
FIG. 86 is a diagram showing a screen display example of a mail address book.
87 is a diagram showing an example of registration of a mail address that can be input by voice;
FIG. 88 is a diagram for explaining a procedure for designating a mail destination by voice.
FIG. 89 is a diagram for explaining mail destination specification using a mail address database;
FIG. 90 is a diagram showing a schematic configuration of an eighteenth embodiment of the present invention.
FIG. 91 is a view showing a system configuration in the eighteenth embodiment;
FIG. 92 is a view showing a screen display example in the eighteenth embodiment.
FIG. 93 is a diagram showing an example of an audio interface management table.
FIG. 94 is a diagram showing a correspondence relationship between pseudo audio focus and audio focus.
FIG. 95 is a view showing a flowchart of a message conversion unit.
FIG. 96 is a diagram showing a schematic configuration of a nineteenth embodiment of the present invention.
FIG. 97 is a view showing a screen display example in the nineteenth embodiment;
FIG. 98 is a view showing a more detailed configuration of the nineteenth embodiment;
FIG. 99 is a diagram showing an example of a voice interface management table.
FIG. 100 is a diagram for explaining a voice focus display method;
FIG. 101 is a diagram showing a display example of an external window.
FIG. 102 is a diagram showing an example of an application program management table.
FIG. 103 is a diagram showing a flowchart of recognition processing of the voice input / output system.
FIG. 104 is a diagram showing a schematic configuration of a twentieth embodiment of the present invention.
FIG. 105 is a diagram showing an example of a registration screen for program operation.
FIG. 106 is a diagram showing a processing procedure for program operation registration;
FIG. 107 is a diagram showing a schematic configuration of a twentieth embodiment of the present invention.
FIG. 108 is a diagram showing an example of the configuration of a recognition dictionary.
FIG. 109 is a diagram showing a schematic configuration of a dictionary editing unit.
FIG. 110 is a diagram showing an example of a dictionary editing screen.
FIG. 111 is a diagram showing a flowchart of processing of a dictionary editing unit.
FIG. 112 is a diagram showing a schematic configuration of a twenty-second embodiment of the present invention.
FIG. 113 is a diagram showing a schematic configuration of a response voice management unit.
FIG. 114 is a diagram showing a flowchart of processing of a message conversion unit.
FIG. 115 is a diagram showing a schematic configuration of a response voice registration unit.
FIG. 116 is a diagram showing a schematic configuration of an extended data collection unit.
117 is a view showing a flowchart of processing of a data collection unit in FIG. 116;
FIG. 118 is a diagram showing a schematic configuration of an audio data confirmation unit.
119 is a diagram showing a flowchart of processing of an audio data confirmation unit. FIG.
FIG. 120 is a diagram showing an example of audio data.
FIG. 121 is a view showing a state of audio data after processing.
FIG. 122 is a diagram showing a conventional voice recognition interface.
FIG. 123 is a diagram showing a conventional voice recognition interface.
FIG. 124 is a diagram showing a conventional voice recognition interface.
FIG. 125 is a diagram showing a conventional voice recognition interface.
FIG. 126 is a diagram showing a conventional voice recognition interface.
[Explanation of symbols]
DESCRIPTION OF
Claims (11)
前記音声認識システムは、
音声を認識する音声認識手段と、
前記複数の応用プログラムのそれぞれに対応して、該応用プログラムが音声入力の対象となっているか否かを示す第1の情報、及び該応用プログラムのために認識対象とすべき1又は複数の認識対象語彙を示す第2の情報を少なくとも管理する応用プログラム管理手段と、
この応用プログラム管理手段により管理されている前記第1の情報が音声入力の対象となっていることを示している1又は複数の前記応用プログラムに対応してそれぞれ管理されている前記第2の情報に基づいて音声入力に対する認識対象語彙を特定し、該特定された認識対象語彙のいずれかが前記音声認識手段により認識された場合に、前記第1の情報が音声入力の対象となっていることを示しており且つ前記第2の情報認識が当該認識された語彙を認識対象語彙とすることを示している1又は複数の前記応用プログラムを、当該認識された語彙の送信先として特定するメッセージ処理手段とを具備し、
いずれの前記応用プログラムが音声入力の対象となっているかにかかわらず常に認識対象とすべき、個々の前記応用プログラムに一意に対応する語彙を示す第3の情報をも管理し、
前記第3の情報に含まれる語彙のいずれかが前記音声認識手段により認識された場合には、当該認識された語彙に一意に対応する前記応用プログラムに対応する前記第1の情報を、当該応用プログラムが音声入力の対象となっていることを示す状態にすることを特徴とする音声認識インターフェース。In a speech recognition interface that connects multiple application programs to a speech recognition system,
The voice recognition system includes:
Speech recognition means for recognizing speech;
Corresponding to each of the plurality of application programs, first information indicating whether or not the application program is a target of voice input, and one or more recognitions to be recognized for the application program Application program management means for managing at least the second information indicating the target vocabulary;
The second information managed in correspondence with one or a plurality of the application programs indicating that the first information managed by the application program management means is a target of voice input. The recognition target vocabulary for speech input is identified based on the speech recognition, and when any of the identified recognition vocabulary is recognized by the speech recognition means, the first information is a speech input target. And the second information recognition indicates that the recognized vocabulary is the recognition target vocabulary as one or more application programs that are identified as transmission destinations of the recognized vocabulary Means ,
Managing third information indicating a vocabulary uniquely corresponding to each application program, which should always be a recognition target regardless of which application program is a target of voice input,
If any of the vocabulary included in the third information is recognized by the speech recognition means, the first information corresponding to the application program that uniquely corresponds to the recognized vocabulary is used as the application information. A voice recognition interface, wherein the program is set in a state indicating that it is a target of voice input .
前記音声認識システムは、The voice recognition system includes:
音声を認識する音声認識手段と、Speech recognition means for recognizing speech;
前記複数の応用プログラムのそれぞれに対応して、該応用プログラムが音声入力の対象となっているか否かを示す第1の情報、及び該応用プログラムのために認識対象とすべき1又は複数の認識対象語彙を示す第2の情報を少なくとも管理する応用プログラム管理手段と、Corresponding to each of the plurality of application programs, first information indicating whether or not the application program is a target of voice input, and one or more recognitions to be recognized for the application program Application program management means for managing at least the second information indicating the target vocabulary;
この応用プログラム管理手段により管理されている前記第1の情報が音声入力の対象となっていることを示している1又は複数の前記応用プログラムに対応してそれぞれ管理されている前記第2の情報に基づいて音声入力に対する認識対象語彙を特定し、該特定された認識対象語彙のいずれかが前記音声認識手段により認識された場合に、前記第1の情報が音声入力の対象となっていることを示しており且つ前記第2の情報認識が当該認識された語彙を認識対象語彙とすることを示している1又は複数の前記応用プログラムを、当該認識された語彙の送信先として特定するメッセージ処理手段とを具備し、The second information managed in correspondence with one or a plurality of the application programs indicating that the first information managed by the application program management means is a target of voice input. The recognition target vocabulary for speech input is specified based on the above, and when any of the specified recognition vocabulary is recognized by the speech recognition means, the first information is a target for speech input. And the second information recognition indicates that the recognized vocabulary is the recognition target vocabulary as one or a plurality of application programs that are identified as transmission destinations of the recognized vocabulary Means,
前記応用プログラムは、それがキーボード入力の対象となった場合に、前記音声認識システムに対して、自信を音声入力の対象とすべきことを要求するものであり、The application program requests the speech recognition system that confidence should be the target of voice input when it is the target of keyboard input;
前記音声認識システムは、前記応用プログラムから前記要求を受けた場合に、当該応用プログラムに対応する前記第1の情報を、当該応用プログラムが音声入力の対象となっていることを示す状態にすることを特徴とする音声認識インターフェース。When the voice recognition system receives the request from the application program, the voice recognition system sets the first information corresponding to the application program to a state indicating that the application program is a target of voice input. Voice recognition interface characterized by
前記第2の情報を、対応する前記応用プログラムのウィンドウを複数に分割した各分割領域のそれぞれに対応して管理し、Managing the second information corresponding to each of the divided areas obtained by dividing the window of the corresponding application program into a plurality of parts,
前記応用プログラムに対応する前記第2の情報としては、該応用プログラムのThe second information corresponding to the application program includes the application program. ウィンドウにおける各分割領域のうち、マウスポインタが現在位置している分割領域に対応して管理されている前記第2の情報を用いることを特徴とする請求項1または請求項2いずれか記載の音声認識インターフェース。3. The voice according to claim 1, wherein the second information managed corresponding to the divided area where the mouse pointer is currently located among the divided areas in the window is used. Recognition interface.
前記複数の応用プログラムの少なくとも一部について、前記第1の情報及び前記第2の情報を、個々の前記応用プログラムに対応する1又は複数のウィンドウのそれぞれに対応して管理し、Managing at least a part of the plurality of application programs, the first information and the second information corresponding to each of one or more windows corresponding to each of the application programs;
前記第1の情報及び前記第2の情報が前記ウィンドウのそれぞれに対応して管理されている前記応用プログラムについては、前記第1の情報が音声入力の対象となっていることを示している1又は複数の前記ウィンドウに対応してそれぞれ管理されている前記第2の情報に基づいて音声入力に対する認識対象語彙を特定し、該特定された認識対象語彙のいずれかが前記音声認識手段により認識された場合に、前記第1の情報が音声入力の対象となっていることを示しており且つ前記第2の情報認識が当該認識された語彙を認識対象語彙とすることを示している1又は複数の前記ウィンドウを、当該認識された語彙の送信先として特定すること特徴とする請求項1または請求項2いずれか記載の音声認識インターフェース。For the application program in which the first information and the second information are managed corresponding to each of the windows, it indicates that the first information is a target of voice input 1 Alternatively, a recognition target vocabulary for speech input is identified based on the second information managed corresponding to each of the plurality of windows, and any of the identified recognition vocabulary is recognized by the speech recognition means. One or more indicating that the first information is a target of voice input and the second information recognition indicates that the recognized vocabulary is the recognition target vocabulary. The voice recognition interface according to claim 1, wherein the window is specified as a transmission destination of the recognized vocabulary.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35314293A JP3725566B2 (en) | 1992-12-28 | 1993-12-28 | Speech recognition interface |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35859792 | 1992-12-28 | ||
JP7892093 | 1993-03-12 | ||
JP5-256405 | 1993-09-20 | ||
JP4-358597 | 1993-09-20 | ||
JP25640593 | 1993-09-20 | ||
JP5-78920 | 1993-09-20 | ||
JP35314293A JP3725566B2 (en) | 1992-12-28 | 1993-12-28 | Speech recognition interface |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07140998A JPH07140998A (en) | 1995-06-02 |
JP3725566B2 true JP3725566B2 (en) | 2005-12-14 |
Family
ID=27466232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35314293A Expired - Lifetime JP3725566B2 (en) | 1992-12-28 | 1993-12-28 | Speech recognition interface |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3725566B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040001340A (en) * | 2002-06-27 | 2004-01-07 | 주식회사 케이티 | Method for Intermediating Voice Command in Speech Recognition System |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09288494A (en) * | 1996-04-23 | 1997-11-04 | Sony Corp | Voice recognition device and voice recognizing method |
JPH1049342A (en) * | 1996-04-25 | 1998-02-20 | Fujitsu Ltd | Device and method for scheduling speech session |
EP0962014B1 (en) * | 1997-12-30 | 2003-11-12 | Koninklijke Philips Electronics N.V. | Speech recognition device using a command lexicon |
JP2000099076A (en) * | 1998-09-25 | 2000-04-07 | Fujitsu Ltd | Performance environment setting device utilizing voice recognition, and method |
US6571209B1 (en) * | 1998-11-12 | 2003-05-27 | International Business Machines Corporation | Disabling and enabling of subvocabularies in speech recognition systems |
GB2343777B (en) | 1998-11-13 | 2003-07-02 | Motorola Ltd | Mitigating errors in a distributed speech recognition process |
US6519479B1 (en) * | 1999-03-31 | 2003-02-11 | Qualcomm Inc. | Spoken user interface for speech-enabled devices |
US6370503B1 (en) * | 1999-06-30 | 2002-04-09 | International Business Machines Corp. | Method and apparatus for improving speech recognition accuracy |
DE60022976T2 (en) * | 1999-07-08 | 2006-07-06 | Koninklijke Philips Electronics N.V. | LANGUAGE RECOGNITION WITH TRANSFER |
JP3467771B2 (en) * | 1999-10-21 | 2003-11-17 | 日本電気株式会社 | Document reading device, document reading method, and recording medium for recording document reading program |
JP3674453B2 (en) | 2000-04-14 | 2005-07-20 | 株式会社デンソー | Interactive user interface device |
JP2002116854A (en) * | 2000-10-11 | 2002-04-19 | Canon Inc | Information input device, information input method and storage medium |
JP3581648B2 (en) | 2000-11-27 | 2004-10-27 | キヤノン株式会社 | Speech recognition system, information processing device, control method thereof, and program |
JP4686918B2 (en) * | 2001-07-13 | 2011-05-25 | ソニー株式会社 | Information processing apparatus and method, recording medium, and program |
JP4107093B2 (en) | 2003-01-30 | 2008-06-25 | 株式会社日立製作所 | Interactive terminal device and interactive application providing method |
US9202467B2 (en) * | 2003-06-06 | 2015-12-01 | The Trustees Of Columbia University In The City Of New York | System and method for voice activating web pages |
JP4706893B2 (en) * | 2004-01-07 | 2011-06-22 | ソニー株式会社 | Voice recognition apparatus and method, program, and recording medium |
US8290181B2 (en) | 2005-03-19 | 2012-10-16 | Microsoft Corporation | Automatic audio gain control for concurrent capture applications |
JP5062171B2 (en) | 2006-03-23 | 2012-10-31 | 日本電気株式会社 | Speech recognition system, speech recognition method, and speech recognition program |
KR20090107365A (en) | 2008-04-08 | 2009-10-13 | 엘지전자 주식회사 | Mobile terminal and its menu control method |
JP4703688B2 (en) * | 2008-06-03 | 2011-06-15 | 三菱電機株式会社 | Utterance right adjustment system and utterable equipment |
JP2011248140A (en) * | 2010-05-27 | 2011-12-08 | Fujitsu Toshiba Mobile Communications Ltd | Voice recognition device |
JP6229071B2 (en) * | 2014-10-24 | 2017-11-08 | 株式会社ソニー・インタラクティブエンタテインメント | Control device, control method, program, and information storage medium |
WO2016063564A1 (en) | 2014-10-24 | 2016-04-28 | 株式会社ソニー・コンピュータエンタテインメント | Control device, control method, program and information storage medium |
US9552816B2 (en) * | 2014-12-19 | 2017-01-24 | Amazon Technologies, Inc. | Application focus in speech-based systems |
US9959129B2 (en) * | 2015-01-09 | 2018-05-01 | Microsoft Technology Licensing, Llc | Headless task completion within digital personal assistants |
CN104640323A (en) * | 2015-02-12 | 2015-05-20 | 上海欧美拉光电股份有限公司 | Voice control system of LED (Light Emitting Diode) lamp |
DE112018000423B4 (en) * | 2017-01-18 | 2022-08-25 | Yamaha Corporation | Part display device, electronic music device, operation terminal device and part display method |
JP6884263B2 (en) * | 2018-02-21 | 2021-06-09 | 三菱電機株式会社 | Display control device and display control method |
US10901688B2 (en) | 2018-09-12 | 2021-01-26 | International Business Machines Corporation | Natural language command interface for application management |
CN111862949B (en) * | 2020-07-30 | 2024-04-02 | 北京小米松果电子有限公司 | Natural language processing method and device, electronic equipment and storage medium |
-
1993
- 1993-12-28 JP JP35314293A patent/JP3725566B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040001340A (en) * | 2002-06-27 | 2004-01-07 | 주식회사 케이티 | Method for Intermediating Voice Command in Speech Recognition System |
Also Published As
Publication number | Publication date |
---|---|
JPH07140998A (en) | 1995-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3725566B2 (en) | Speech recognition interface | |
US5632002A (en) | Speech recognition interface system suitable for window systems and speech mail systems | |
US5526407A (en) | Method and apparatus for managing information | |
EP1650744A1 (en) | Invalid command detection in speech recognition | |
US6181351B1 (en) | Synchronizing the moveable mouths of animated characters with recorded speech | |
US7624018B2 (en) | Speech recognition using categories and speech prefixing | |
EP1345394B1 (en) | Voice message processing system and method | |
EP1076288B1 (en) | Method and system for multi-client access to a dialog system | |
KR101120756B1 (en) | Automatic text generation | |
US6415258B1 (en) | Background audio recovery system | |
CN101998107B (en) | Information processing apparatus, conference system and information processing method | |
US20030046071A1 (en) | Voice recognition apparatus and method | |
CN106471570A (en) | Multi-command single-speech input method | |
US6549887B1 (en) | Apparatus capable of processing sign language information | |
US20020077832A1 (en) | Computer based integrated text/graphic document analysis | |
JP2000231627A (en) | Plural modes scanning pen provided with feedback mechanism and input method using the same | |
JP7331044B2 (en) | Information processing method, device, system, electronic device, storage medium and computer program | |
JP6069157B2 (en) | Information processing apparatus, control method, and program | |
JPH07222248A (en) | System for utilizing speech information for portable information terminal | |
WO2017199486A1 (en) | Information processing device | |
TWI297123B (en) | Interactive entertainment center | |
JP7230803B2 (en) | Information processing device and information processing method | |
Wersényi | Auditory representations of a graphical user interface for a better human-computer interaction | |
JP2000112610A (en) | Contents display selecting system and contents recording medium | |
JP2019023805A (en) | Display control equipment, display control method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050922 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080930 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090930 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090930 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100930 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110930 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110930 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110930 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110930 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120930 Year of fee payment: 7 |