JP3634863B2 - 音声認識システム - Google Patents

音声認識システム Download PDF

Info

Publication number
JP3634863B2
JP3634863B2 JP51609494A JP51609494A JP3634863B2 JP 3634863 B2 JP3634863 B2 JP 3634863B2 JP 51609494 A JP51609494 A JP 51609494A JP 51609494 A JP51609494 A JP 51609494A JP 3634863 B2 JP3634863 B2 JP 3634863B2
Authority
JP
Japan
Prior art keywords
speech
language model
rules
word
context
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
Application number
JP51609494A
Other languages
English (en)
Other versions
JPH08505957A (ja
Inventor
ストロング,ロバート・ドン
Original Assignee
アプル・コンピュータ・インコーポレーテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US07/999,012 external-priority patent/US5384892A/en
Priority claimed from US07/999,011 external-priority patent/US5390279A/en
Application filed by アプル・コンピュータ・インコーポレーテッド filed Critical アプル・コンピュータ・インコーポレーテッド
Publication of JPH08505957A publication Critical patent/JPH08505957A/ja
Application granted granted Critical
Publication of JP3634863B2 publication Critical patent/JP3634863B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/193Formal grammars, e.g. finite state automata, context free grammars or word networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Description

1.発明の分野
本発明は、音声認識システムに関するものである。より詳しくは、本発明は、言語モデルの生成、及びこれらの言語モデルの指定された集合に基づく音声解釈の技術に関する。
2.関連技術の背景
コンピュータシステムの有用性を大きくするために、これまで多くのメーカーが、話者によって左右されない音声認識という目標を達成しようと努力して来た。このような技術が達成されれば、コンピュータシステムは、これを使用するほとんど誰もが話す単語を認識し、応答することができるようになるであろう。残念ながら、パーソナル・コンピュータ・システムのプロセッサの性能及びテクノロジーを実用化するのに用いられる種々の技術は、このような音声認識作業の複雑さを扱うにはやはり不十分であった。
1つの問題は、簡単に言うと音声認識のために用いられるアルゴリズムの複雑さにある。最も速いパーソナル・コンピュータであっても、音声認識に必要な全ての計算をリアルタイムで(人間が認識される音声を話すに要する時間で)実行することは困難であり、ユーザが話し終える時間とこれにコンピュータが応答を出す時間との間には著しい遅延がある。この時間遅延が大き過ぎると、コンピュータシステムの有用性及び受容性は大きく低減される。
音声認識システムにおけるもう一つの問題は、正確度である。一般には、音声認識システムが認識するようプログラムされた発声の数が増加するにつれて、その認識を行うのに必要な計算も増加し、音声認識システムがそれらの発声の差異を識別する正確度は低下する。
1つの問題は、音声コマンドを解釈するためには大規模な語彙が必要なことに起因する。これらのタスクは、通常、発声されている単語を決定するのに、話彙全体の検索を必要とする。例えば、この語彙は、専門語も含めて、指定された言語の全ての単語からなることもある。そのような語彙には、とりわけ複数形、動詞の変化または活用形(規則変化及び不規則変化)が全て入っていなければならず、認識すべき語彙が非常に大きくなる。これは、非常に大規模なデータベース検索を必要とする。また、これには、高性能プロセッサを用いることよる非常に高性能の検索能力の使用、あるいは特殊な検索技術の使用がどうしても必要になる。これらの必要が全て満たされたと仮定しても、従来技術における典型的な検索技術やプロセッサは、十分な「自然語」音声認識、すなわちに人間同士が通常互いに会話するのと同様に音声を認識するのには不十分であった。従って、相当な自然語能力(例えば、人間が通常会話するのと同様に話すことが可能な自然言語能力)が得られ、しかも自然語系全体に対応してオーバーヘッドが大きくなるのを回避できるようなシステムを提供することは望ましいことである。
音声認識システムにおけるもう一つの問題は、コンピュータ内にあるデータによって認識することが可能な語彙への追加の単語の動的付加である。言い換えると、従来技術の音声認識システムでは、システムにとって未知の発音を有する追加の単語を認識するための手段は得られない。
音声認識システムにおける従来技術のもう一つの問題は、認識中の音声コマンドのシステムが使用しようとするデータまたは実行すべき動作への変換である。例えば、コンピュータシステムが、ある日について、例えばその日の1900年1月1日以後の秒数のような特定の数値表現を必要としているときに、人間が、「来月の第3金曜日」というように、その日を多くの単語からなる単語シーケンスまたは単語列として発声する場合が考えられる。要するに、従来技術の音声認識システムには、このような技術のパーソナル・コンピュータのような非専用装置への組込みを阻む多くの欠点がある。
発明の概要及び目的
本発明の1つの目的は、音声認識システムが解釈することができるフレーズの動的修正が可能なシステムを提供することにある。
本発明のもう一つの目的は、音声認識システムが解釈することのできるフレーズをシステム内のデータによって決定することが可能なシステムを提供することにある。
本発明のもう一つの目的は、いくつかの計算を並行して行うことにより音声認識システムの応答時間を短縮するための手段を提供することにある。
本発明のもう一つの目的は、音声認識システムの現在動作文脈によって関連があると判断された発声に検索を制限することによって、音声認識システムが必要とする計算を少なくするための手段を提供することにある。
本発明のもう一つの目的は、音声認識システム及びそのデータのその時の現在状態に応じて単語が動的に変わる発声を認識するための手段を提供することにある。
本発明のもう一つの目的は、認識された一連の単語の意味を決定するとともに、それらの単語列に適切な応答を対応付けるための手段及び方法を提供することにある。
本発明のもう一つの目的は、音声認識システムの応答時間をできるだけ短くすることにある。
本発明のもう一つの目的は、音声認識システムにおいて予測されるフレーズ群を定義することに付随する計算オーバーヘッドを低減することにある。
本発明のもう一つの目的は、音声認識システムの共通オペレーティング文脈を用いて言語モデルを生成することにある。
本発明の上記及びその他の目的は、それぞれ言語モデルとアクションよりなる複数の音声規則を有する音声認識システム中に音声規則に関する動的カテゴリーを維持する方法及び装置によって達成される。各音声規則は、音声認識システムの可変の場合もあるデータに従って言語モデルの単語が動的であるかどうかを識別するフラグが言語モデルに入っているかどうかを指示する。そして、周期的に(例えば、実施例によって、データの修正時、システム初期化時、またはアプリケーション・プログラム立上げ時に)、言語モデルの単語が動的であることを示す各音声規則の各フラグに対して、各言語モデルの単語がシステムの状態に応じて更新される。音声認識時の音響的特徴の決定と同時に、音声規則からの言語モデルに基づいて現在の言語モデルを生成することができ、この現在の言語モデル(動的データを含む)を音声認識用の認識装置で利用することが可能となる。
上記及びその他の本発明の目的は、音響サンプルの音響的特徴を決定するとともにその音響的特徴よりなる単語を認識する音声認識の方法及び装置によって達成される。本発明の方法では、確実に正しい単語列の検索が行われるようにするために、言語モデルの指定が必要である。本発明の方法は、発声フレーズとアクションとの間のマッピングないしは写像(音声規則として知られている)のデータベース、及び現在動作文脈を用いて、認識されることが妥当な単語の可能な組合わせを決定する。これらの単語の可能な組合わせは、言語モデルを構築するために使用され、その言語モデルは、単語列として入力される音声の最良の解釈を決定するために音声認識エンジンによって使用される。本発明の一実施例においては、このプロセスまたは装置は、応答時間を短縮するために、バックグランド・ノイズ及び音声以外のユーザ・ノイズのようなスプリアス・ノイズを除去する特徴抽出プロセスにと共に使用される。次に、本発明の方法では、どの音声規則が認識された単語に対応するかを決定する。そして、この音声規則に関連するアクションを実行すればよい。
現在動作文脈は、音声認識システム自体の状態、コンピュータで走っている他のアプリケーション・プログラムの状態、コンピュータのファイルシステムの状態、及びコンピュータに接続されたあるいは取り付けられた何らかのネットワークまたはデバイスの状態を含む。音声規則は、どの単語列がコンピュータによって識別することができるか、またそれらの単語列が認識されたときどのようなアクションを取るべきかを規定する。固定した文法に加えて、音声規則は、認識される単語列がコンピュータシステムの動作文脈によって決まる動的言語モデルを規定することができる。
上記及びその他の本発明の目的は、音声認識システムにおける現在の言語モデルの生成及び解釈のために音声認識規則を区分する方法及び装置に関する。このシステムで規定される各音声規則では、各音声規則がアクティブになる文脈が決定される。システムの初期化時には、音声規則に関する共通文脈が決定され、これらの共通文脈に従って音声規則が音声規則群に分類または区分される。これによって、言語モデルの生成時に、種々の文脈の中の1つの文脈の検出と同時に、言語モデルを迅速かつ効率的に生成することが可能となる(例えば、一実施例においては、音声検出または特徴抽出と同時に)。言語モデルの生成後には、これらの共通文脈に分類された規則を用いて解釈を実行することができる。
【図面の簡単な説明】
本発明は、添付図面の各図に限定のためではなく例示のために図示してあり、これらの図面において同じ参照符号は同じ構成要素または部分を示す。
図1は、本発明の実施例を実施することが可能なシステムを示すブロック図である。
図2は、本発明の実施例の構成を示す機能ブロック図である。
図3は、図2に示す機能によって実行される音声認識タスクのタイミング図である。
図4及至図7は、一実施例において生成することが可能な言語モデルの有限状態オートマトンの説明図である。
図8a乃至8cは、ユーザ音声コマンドによって制御することが可能なユーザ・インタフェースの説明図である。
図9a及び図9bは、ファイルの追加が、発出された音声コマンドにどのように影響するかを示す説明図である。
図10乃至図12は、これらの各図に示すアクションを実行するための言語モデルを示す説明図である。
図13乃図14は、種々異なる動作文脈に関する音声規則の区分を示す説明図である。
図15及び図16は、言語モデル生成時及び音声規則解釈時に実行されるプロセスのフローチャートである。
詳細な説明
以下、本発明の音声認識システムのための方法及び装置について説明する。以下の説明においては、説明の便宜上、本発明の完全な理解を図るために、特定のシステム、コンポーネント及び動作規定を記載する。しかしながら、本発明がこれらの特定事項の詳細な記載なしでも実施可能であるということは当業者にとって明白であろう。その他の場合においては、本発明を不必要に不明瞭にしないため、周知のシステム及びコンポーネントについて論じる際は詳細な説明は省略する。
図1を参照すると、本発明の実施例を実装したコンピュータシステムが符号100で示されている。システム100は、情報を伝達するためのバスまたはその他の通信手段101、及び情報を処理するためのバス101に結合されたプロセッサ102を具備する。システム100は、さらに、バス101に結合されていて情報及びプロセッサ102によって実行される命令を記憶するためのランダムアクセスメモリ(RAM)または他の動的記憶装置104(主メモリと称する)を具備する。また、主メモリ104は、プロセッサ102による命令の実行時に一時変数また他の中間情報を記憶するためにも使用される。また、コンピュータシステム100は、バス101と結合されていて静的情報及びプロセッサ102の命令を記憶するためのリードオンリーメモリ(ROM)及び/またはその他の静的記憶装置デバイス106、及び磁気ディスクまたは光ディスクのような大容量データ記憶装置107とこれに対応するディスクドライブを具備している。大容量記憶装置107は、バス101と結合されていて、情報及び命令を記憶する。システム100は、さらに、追加の処理帯域幅用として、ディジタル・シグナルプロセッサのようなコプロセッサまたはプロセッサ108を具備することも可能である。コンピュータシステム100は、さらに、バス101と結合されていて情報をコンピュータユーザに表示するためのブラウン管(CRT)のような表示装置121に結合することができる。また、選択された情報及びコマンドをプロセッサ102に伝達するために、アルファニューメリック・キー及びその他のキーを含むアルファニューメリック入力装置122をバス101に結合することも可能である。もう一つのユーザ入力装置として、バス101に結合されていて、選択された方向情報及びコマンドをプロセッサ102に伝達するとともに、ディスプレイ121上のカーソルの動きを制御するためのマウス、トラックボールあるいはカーソル方向キーのようなカーソル・コントロール123がある。また、バス101には、命令、データまたはその他の情報を紙、フィルム、あるいは同様の種類の媒体に印刷するために使用することが可能なハードコピー装置124を結合することができる。システム100には、さらに、音響信号をディジタル化するとともに、このようにディジタル化された信号をバス101を介してプロセッサ102やディジタル・シグナルプロセッサ108に送るための音響サンプリング装置125を結合することが可能である。このようにして、音響をディジタル化した後、プロセッサ108または102を用いて認識することができる。
一実施例においては、システム100は、米国カリフォルニア州カッパチーノのアップル・コンピュータ社が製造しているMacintosh(登録商標)II、QuadraTM、PerformaTM等の種々のバージョンのような、Macintosh(登録商標)ブランド・ファミリーのパーソナル・コンピュータの1つである。(Macintosh(登録商標)、Apple(登録商標)、Quadra及びPerformaは、アップル・コンピュータ社の登録商標である。)プロセッサ102は、米国イリノイ州シャウムバーグ(Schaumburg)のモトローラ社が製造している68020、68030または68040のようなモトローラ680x0ファミリーのプロセッサの1つである。一実施例において、プロセッサ108は、米国ペンシルバニア州Allentown(アレンタウン)のアメリカン・テレフォン・アンド・テレグラフ・マイクロエレクトロニクス社(American Telephone and Telegraph(AT&T)Microelectronics)が製造しているAT&T DSP 3210シリーズのディジタル・シグナルプロセッサの1つである。また、システム100は、一実施例においては、やはり米国カリフォルニア州カッパチーノのアップル・コンピュータ社の製造になるMacintosh(登録商標)ブランドのオペレーティング・システムを実行する。
機能の概要
本発明の実施例のシステムは、プロセッサ102によって実行され、音響サンプリング装置125を介してディジタル・シグナルプロセッサ108から供給されるデータと対話する一連のソフトウェア・ルーチンとして実装される。しかしながら、当業者には、他の実施例において、本発明を別個のハードウェアまたはファームウエアとして実装することが可能であるということは理解できよう。本発明の実施例は、図2の機能ブロック図に符号200で示す。ディジタル化された音響信号201は、図1に符号125で示すような音声サンプリング装置から供給され、音声特徴抽出のための回路210に入力されるが、この回路は音声認識システムの「フロントエンド」という別名で呼ばれることもある。本発明の実施例においては、音声特徴抽出プロセス210は、ディジタル・シグナルプロセッサ108によって実行される。この特徴抽出プロセスは、ディジタル化された音響信号201に含まれる他の音響信号情報と区別される人間の音声の音響的特徴を認識する。このようにして、単音またはその他の離散音声単位のような音声の特徴を抽出し、分析して、単語が発音中のものかどうかを決定することができる。バックグランド・ノイズや音声以外のユーザ・ノイズのようなスプリアス・ノイズは無視される。音声特徴抽出プロセス210からのこれらの音響的特徴は、データベースで検索を行って、それらの抽出された特徴が音声認識システムによって認識可能な語彙中の予測単語を表すものかどうかを決定するための認識装置プロセス220に入力される。認識装置220が識別する語彙または単語は、言語モデル・ジェネレータ/インタプリタ230と呼ばれる他のプロセスによって生成される。このプロセスは、認識装置の検索範囲を規定するために言語モデル222と呼ばれる情報を認識装置220へ送る。従って、認識装置220は、実施例のシステム200がその時現在動作している一定の動作条件に従って抽出される言語モデル情報222によって決まるデータベース(語彙)の部分においてのみ検索を行う。このようにして、可能性のある単語からなる語彙全体を通して検索するのではなく、動作条件及び既に検出された単語によって規定される語彙に検索を限定することによって、認識装置220が動作するプロセッサ中の帯域幅を節約することができる。以下、これについてさらに詳細に説明する。
言語モデル・ジェネレータ/インタプリタ230は、語彙検索範囲を制限するために、システム100のその時現在の動作条件に基づいて、認識装置220に受け入れられると予測される単語列を決定する。言い換えると、言語モデル・ジェネレータ/インタプリタ230は、符号241、242等で示すような実行中のアプリケーション・プログラムに問い合わせて、これらの各アプリケーション・プログラムの現在の文脈を決定する。さらに、オペレーティング・システム244のその時現在の状態を用いて、言語モデルにあると考えられるアイテムが決定される。要するに、どのアプリケーション・プログラムが実行中であるか、及びオペレーティング・システム244のその時現在の動作状態に応じて、言語モデル・ジェネレータ/インタプリタ230は、認識装置220に異なる言語モデルを送る。これは、「動的」言語モデル生成として知られている。
言語モデル・ジェネレータ230は、現在動作文脈を決定したならば、言語モデル情報222を計算し、一連の信号として認識装置220へ送る。次に、認識装置220は、この言語モデル情報に基づいて、音声特徴抽出器210から供給された特徴211により決定されるところに従い、何の単語が発音された可能性があるかを決定する。認識装置220は、言語モデル222によって定義される予測単語に基づく特徴から完全な単語が決定されるまで、様々な仕方で特徴を組み合わせる。次に、認識装置220は、認識された単語221を言語モデル・ジェネレータ/インタプリタ・プロセス230へ送り、このプロセス230による単語221の解釈に従ってアクションの解釈と実行が行われる。
次に、システム200の動作のタイミングを図3を参照しつつ説明する。図3は、ある時間間隔内において、音響信号から音声を識別するために種々のタスクを実行するタイミングを示す。図3のタイミング図においては、プロセスがアクティブであるときは、ハイ状態が示されており、またロー状態は、プロセスが中断されているか、アイドル状態にあることを示す。音声認識は、一般に、図3に示すt1、すなわち、音声を含む可能性がある音の検出と同時に特徴抽出プロセス301がアクティブになる時点で開始される。これと同時に、システムの現在動作文脈によって決定される言語モデルを生成するために、ジェネレータ/インタプリタ・プロセス230が、時点t1において状態303で示すようにアクティブになる。このプロセスは、装置100によって検出される音響から持続的に音声特徴を抽出する301で示す特徴抽出と並行して行われる。言語モデル生成プロセス230では、オペレーティング・システム及びそのアプリケーション・プログラムの現在の文脈に基づいて、どの音声規則がアクティブであるかを決定する動作;何らかの動的音声規則の言語モデルを構築する動作;及び全てのアクティブな音声規則の言語モデルを、識別装置220へ送られる言語モデルに組み入れる動作が実行される。この言語モデルは、認識装置220によって検出することが可能な単語のネットワークよりなる。これらの単語列は、システムの現在動作文脈によって指定された意味を有するフレーズを表す言語モデルを用いて認識される。各言語モデルは、実際には、ユーザによって発声さる得るフレーズの集合を決定する有限状態オートマトンとして実装される。これらの有限状態オートマトンは、本願と同時に出願された出願番号第07/999,017号のYen−Lu Chow及びKai−Fu Leeを発明者とする「帰納的有限状態文法(Recursive Finite State Grammar)」という名称の本願の同時係属出願において定義され、説明されている。
「音声規則」は、1つ以上の単語列に意味またはアクションを割り当てるために使用されるデータ構造である。各音声規則は、各規則に関連した次の5つの構成要素を有する。
1.名称:音声規則の名称。
2.フラグ:コマンドまたはカテゴリーであるかどうか、静的であるか動的であるかを含む音声規則の種類に関する情報。
3.フレーズリスト:認識することが可能な単語列及びそれらに対応する「意味」の集合。
4.文脈:オペレーティング・システム及びそのアプリケーションの文脈の関数として、音声規則がアクティブになる時を決定する式。
5.アクション:音声規則の「意味」を決定する式。動的カテゴリーの音声規則では、言語モデルを動的に計算するために、この式の値が計算される。コマンド音声規則の場合は、規則が発音された声に一致したとき、この式の値が計算される。
////
(脚注)カテゴリー
カテゴリーは、個々の単語でもよく、あるいは他のカテゴリーであってもよい。カテゴリーが定義済みのカテゴリーである場合は、受け入れ可能な単語がそのカテゴリー中にリストされている。この例では、数は1及至9でよい。〈10の位の数〉は、10の桁位置のある数と;ある数または0で定義される。〈100の位の数〉は、100の桁位置のある数と;10の桁位置のある数または0と;ある数または0で定義される。これを以下同様に続けることにより、任意のどのような大きい数でも形成することができる。各々の場合において、カテゴリーは、〈数〉を除き、前に定義されたカテゴリーで構成され、単語のリストよりなる。
規則は、単語をどのようにつなぎ合わせることができるかを規定するために用いられる構造である。英語には、名詞−動詞−主語の語順を規定する文法規則がある。音声認識装置では、例えば次のような類似の単語列をはっきり識別しなければならない。
“Open Chooser(チューザを開く)”
“Open the Chooser(そのチューザを開く)”
“Open menu item Chooser(メニューアイテム・チューザを開く)”
これらの音声コマンドは全て、チューザ(Choozer)・コントロールパネルを開くために用いることができる。音声モニタが正しいコマンドを正しく選択するようにするためには、受け入れ可能な単語ストリンクを全て定義しなければならない。ユーザが、この例において“Chooser open"と言っても、それは受け入れ可能なコマンドとして認識されない。この単語ストリングが規則に追加されていれば、音声モニタは、受け入れ可能なコマンドとして応答するはずである。
/////
図3に示すように、言語モデル生成が時点t2で完了すると、認識装置220は、特徴抽出プロセス210によって抽出された特徴(t1からt2までの間にバッファされる)を用いて、図3に示すように、時点t2で特徴データの処理を開始する。認識装置220は、図2に示す言語モデル情報222を用いて、特徴抽出プロセス210から受け取ったバッファされた特徴に対して認識を実行し始め、受け取った言語モデルで単語の検索を実行して、一致する単語があるかどうかを決定する。もちろん、ユーザは話し続け、音声特徴は、時点t3まで認識プロセス220へ連続的に送られる。時点t3になると、特徴抽出プロセス210はアクティブ状態を停止する(音響信号201中に音声情報が検出されなくなるため)。時点t1とt3との間に生成されたれた特徴の単語認識は、時点t4まで続けられ、時点t4では、単語認識(または検索)が完了し、単語列の解釈及びアクションの実行が開始される。これは、時点t4とt5の間で行われ、言語モデル・ジェネレータ/インタプリタ230は、認識装置220によって識別された単語に対応する(コマンドの)音声規制を検索する。これが行われた後、それらの単語によって指定されるアクションがあれば、それらのアクションが実行される。認識装置220から供給された単語の規則解釈が完了すると、時点t5でアクションが実行される。時点t3からt5(ユーザが話を止め、指定された動作の実行が完了する)までの時間は、ユーザに感知される認識システムの応答時間305である。この時点t3とt5の間の時間を最小限にすることが本発明の1つ目的である。これは、この実施例においては、t1とt2の間の時間を言語モデルを計算するため使用し、その結果として、t2とt4の間の時間を占める検索、及びt4とt5の間の時間を占める規則解釈を数段速くすることによって達成される。その結果、ユーザに感知される応答時間、すなわちt3とt5の間の時間は短縮される。
言語モデル表現
各音声規則は、各々の規則に関連したフリーズ・リストを有する。このリスト中の各フリーズは、認識することが可能な単語列の集合、及びそれらの単語列のいずれかに対応する意味を決定する。これらのフレーズは、言語モデルを構築するために使用され、この言語モデルは、例えば図4乃至図7に示すような有限状態オートマトンとして表される。各言語モデルは、認識装置によって識別することが可能な項のネットワークである。言語モデル中の項は、「帰納的有限状態文法(Recursive Finite State Grammar)」という名称の前述の同時係属出願に説明されているように、特定の単語を指す場合もあれば、帰納的に他の言語モデルを指す場合もある。これらの言語モデルは、認識プロセス220によって使用され、このプロセスでは、音声が認識されるとともに認識された単語がインタプリタ230に送られる終了状態を達成するために、非決定性の状態列を走査することも可能である。本願では詳細に論じないが、当業者には周知のプロセスによって、どのアクティブな音声規則が認識された単語と一致するかが決定され、それらに関連するアクションが実行される。これらのアクションは、通常、コンピュータシステムでオペレーティング・システム・イベントを生じさせることによって行われる。これらのシステム・イベントは、この実施例のオペレーティング・システムによって検出され、ファイル開け、印字またはユーザインタフェース・オブジェクトの操作のようなアクションを発生させる。これらのシステム・イベントは、Adison−Wesley Publishing Company社発行の出版物Inside Macintosh Vol.VI(1985年)に記載されている「アップルイベント・マネージャ(AppleEvent Manager)」によって検出される。
次に、1から99までの数の認識を決める場合に関して、図4乃至図7に示す一連の具体例を参照しつつ言語モデルについて説明する。例えば、図4は、数字「1」乃至「9」に対する各単語よりなる第1の言語モデルLM1を示す。従って、単語「1」、「2」、「3」等よりなる各単音は、LM1にコード化される。言い換えると、開始状態400で単語「1」(発音は“wuhn")が検出されると、LM1の経路401をたどり、言語モデルLM1は状態410で満たされる。同様に、「3」が検出されると、400で言語モデルLM1が開始され、経路403をたどり、状態410で終了して、言語モデルLM1が満たされる。
同様に、図5に示す言語モデルLM2においては、状態500で言語モデルLM2が開始され、経路501乃至509の1つをたどって終了状態510に達する。図5に示すように、言語モデルLM2はLM1に類似している。ただし、LM2は、数「10」乃至「19」に対する単語と、特徴抽出器220から供給されるこれらの単語に対応する単音よりなる。例えば、単語「11」が感知されると、LM2は経路502をたどって終了状態510に達し、言語モデルLM2が「一致」モデルとなる。数「1」乃至「19」のいずれかの数が認識された場合は、言語モデルLM1またはLM2のどちらかで一致が得られる。この方法は、これらの言語モデルを用いて起こり得る他のアクション(コマンド、またはカテゴリーに関して値が計算される式に対する)を規定するために使用することも可能である。もう一つの言語モデルLM3を図6に示す。図6のLM3は、図4及び5のLM1及びLM2と同様に、「20」及至「90」の10単位の値を表す単音を有する全ての単語を定義する有限状態オートマトンである。例えば、「数「30」が感知されると、LM3は、状態600で開始され、経路602をたどり、状態610で終了することによって満たされる。単語「20」、「30」等のいずれかがプロセス210によって検出された場合は、言語モデルLM3が一致モデルとなる。
言語モデルは、より複雑な単語列の場合、他の言語モデルを参照することも可能である。これについては、前述の「機能的有限状態文法」という名称の同時係属出願に説明されている。例えば、図7に示す言語モデルLM4は、認識することが可能な1から99までの全ての数を定義するために前述の3つの言語モデルLM1、LM2及びLM3を参照する。例えば、701、702及び703の各経路は、上に述べた単語「1」、「13」、「50」等の一致を得るための言語モデルである。これらの経路701〜703によって、前述の3つの言語モデルのいずれかが一致モデルであると判断されると、言語モデルLM4は一致モデルとなる。さらに、余りの数を扱うため、もしLM3が一致モデルであると判断されたとすると、例えば経路704をたどって、中間状態705に達することが可能である。LM3の経路704から中間状態705を経て余りの経路706をたどると、例えば「21」や「99」など、言語モデルLM3とLM1からなる一致モデルの組合わせとして数が認識される。認識装置220の決定アルゴリズムによって、どちらの状態がより高い確率を有するかが決定され、この情報を用いて、認識された単語列が情報221としてインタプリタ230へ送られる。
上記の言語モデルの定義は、ランタイム前は一定であるデータを判断するのに有益である。しかしながら、本発明の他の態様によれば、アプリケーション・プログラムに関連するデータやオペレーティング・システムにおける動的データに従って言語モデルの動的決定を行うことが可能である。
動的カテゴリー
図4乃至図7を参照して説明した言語モデルは、予測することができる一定したデータ(1から99までの数のような)に対しては適切であるが、コンピュータシステム中のデータは、ランタイムにおいては通常動的である。ファイル、ディレクトリ及びその他のデータはランタイム中にしばしば変化するので、認識することが可能な追加のアイテムに対して備えるためには、適切な間隔で言語モデルカテゴリーを更新する機能をサポートすることが重要である。従って、言語モデルは、機械におけるデータの状態に応じて、音声認識システムの動作時に動的なモデルとすることも可能である。例えば、図8aにスクリーン800として示すスクリーンディスプレイにおいて、「Documents」という名前のディレクトリ・ウィンドウ801には、いくつかのドキュメント802乃至805が存在する。図10に示すように、言語モデルLM5は第2の言語モデルLM6を参照することができる。LM6は図11に示されている。従って、コマンド「Open〈file name〉」はこの状態図によって表することができる。ただし、〈file name〉は言語モデルLM6に相当する。この実施例においては、LM6は、機械におけるデータまたは特別な動作文脈に従ってLM6の定義が変化し得る動的カテゴリーとしてフラグが立てられる。言語モデルLM5マップは、図8bの820に示すような特定のアプリケーションの場合に行われる指定されたアクションにマップされる。スクリーンディスプレイ820は、その時現在実行中のアプリケーション・プログラムのプルダウンメニュー821の下において「Open」アクション822が行われていることを示している。図8cのスクリーンディスプレイ850に示すように、このアプリケーションは、次にユーザとのダイアログ・ウィンドウ870を起動する。従って、ディレクトリ「Documents」の各ファイル名「License」、「Memo」、「Producer's Agreement」及び「Reference Letter」が860の中にリストされている。この場合、図11に示すように、言語モデルLM6は、上記の図8aに示すような「Documents」ディレクトリ・ウィンドウ801内にある全てのファイル名(アイコン802〜805として表示されている)のリストよりなるということが分かる。これらのファイルの1つが削除されるか、ファイルが追加されると、図11に示すLM6言語モデルは、「Documents」ディレクトリ801内にあるデータに従って変化する。これは、音声認識システムの動作時に変化する「動的」カテゴリーとして、LM6にフラグを立てることにより行われる。
例えば、他のファイルを「Documents」ディレクトリ801に追加すると、この新しい値は、上に述べたように、ファイル「Open」ダイアログ・ウィンドウ870に現れ、アプリケーション・プログラムのために生成された新しい言語モデルの一部になる。例えば、図9aのスクリーン900に示すように、「Memo 2」という名前の追加のドキュメント906がディレクトリ「Documents」のリスト901に加えられると、図11に示す言語モデル・カテゴリーLM6を更新しなければならない。図12に示すように、「メモ2Memo 2」という名前のドキュメント906が「Documents」という名前のディレクトリ801に加えられると、新しい言語モデルLM6は図12に示すようなものになる。図12の言語モデルは、上に述べた4つのドキュメントの他に、追加のドキュメント「Memo 2」を含んでいるということが分かる。すなわち、図12は、図11に示す言語モデルLM6を更新した言語モデルを示す。このように、ユーザが「Open」コマンドを出すと、図9bのスクリーン950に示すように、対応するダイアログ・ウィンドウに「Memo 2」という名前の新しいドキュメントがリストされる。従って、図9bのスクリーン950には、「Memo 2」というファイル名971が入ったダイアログ・ウィンドウ960が表示されている。この実施例においては、動的カテゴリーは、システム初期化、アプリケーション立上げ時、あるいは音声検出時(例えば図3のt1)など、様々な周期的間隔で更新することができるが、他の実施例においては、別途の技術を用いて、関連したデータが変化するとき、これらのカテゴリーが更新されるようにすることも考えられる。
音声規則の区分
この実施例の他の態様においては、情報222として生成され、認識装置220へ送られる言語モデルを指定するためにどの音声規則が用いられるかを決定するために文脈を使用する。やはり、この技術も、認識装置220が認識単語を決定する際に検索する語彙を制限するために用いられる。これは、音声認識システムの応答時間を短縮する効果に加えて、システムが、2つ以上の解釈がある(文脈に応じて)可能性を有する発声に対して、正しい応答を出すことができるようにする効果がある。
この音声規則は、ユーザによって出されたフレーズに意味を割り当てるためにジェネレータ/インタプリタ230によって使用されるデータ構造である。一般に、何らかの特定のフレーズは、所与の時点においては意味を有することもあれば、意味を有しないこともある。例えば、フレーズ「ウィンドウを閉じる(close Window)」は、コンピュータ画面上に可視のウィンドウがあるときは意味を有し、そのようなウィンドウがないときは意味を有しない場合がある。同様に、フレーズ「それを印字する(Print it)」は、単語「それ(it)」の指示するものがコンピュータ画面上で可視であるか、強調されているときのみ、あるいはその前のコンピュータとの対話(音声またはグラフィック・ダイアログ・ウィンドウによる)で、印刷することができるドキュメントが指示されているときのみ意味をなす場合もある。
音声規則区分を行う根拠を理解するためには、音声規則群から言語モデルを生成するために可能な2つの方法について考察することが役に立つ。その第1の方法は、単に、それらの音声規則を全て使用して、1回限りの静的言語モデルを構築するというものである。その結果得られる言語モデルは、現在の文脈では妥当ではないフレーズを音声認識装置に認識させる可能性がある。認識後、インタプリタは、認識された単語に一致する全ての音声規則を決定し、妥当でないこと示す文脈を廃棄する。この方法の長所は、システム初期化時に1つの言語モデルを構築することができ、それ以降修正する必要がないということである。言語モデルの構築は決して小さくない作業であるから、この長所は、言語モデル生成時にある情況下で言語モデル・ジェネレータ/インタプリタ230が必要とする計算量を少なくする効果がある。一方、言語モデルが必要以上大きくなる傾向があるので、認識装置220が遅くなり、より不正確になるなど、その性能にマイナスの影響が生じることもある。一般に、言語モデルが認識することができるフレーズの数が多いほど、認識プロセスは遅くなり、エラーを生じ易くなる。
言語モデルを構築する第2の方法は、動的に構築する仕方である。この方法では、音声が検出されると、各音声規則の文脈の値が計算され、文脈がアクティブであると判断されると、その音声規則のフレーズが言語モデル全体に加えられる。この方法では、多くの場合、できる限り小さい言語モデルが認識装置220に送られる結果になる。この方法の長所は、認識装置220によって実行される認識プロセスの効率及び正確さが最適になるということである。この方法の欠点は、音声が検出される都度、各音声規則の文脈の値を計算する必要があるということである。さらに、各発声の音声の検出と同時に言語モデルを完全に構築することが必要である。これを行うのに必要な計算は決して小さくないので、場合によっては、認識システムの応答時間(例えば、図3のt3〜t5を参照)に対して全体的にマイナスの影響が生じることもある。
これらの各方法には、それぞれ長所と短所がある。静的な方法は、計算の負担が認識装置220にかかる結果、単語認識が不必要に遅くかつ不正確になる。動的な方法では、音声規則のデータベース全体の検索からの言語モデルの計算を犠牲にして、音声認識装置220の性能を最適化する。音声規則の数が増大するにつれて、この計算は法外に高コストとなり、応答時間が非常に長くなる結果を招くと考えられる。本発明のこの実施例は、これらの各技術の長所を組合わせたものである。
この実施例では、下記の特徴を利用する。
・いくつかの音声規則の文脈を叙述的に表現することができる。それは、それらの文脈の値を音声検出時に計算する必要がないということ、及びそれらの文脈を言語モデル・ジェネレータ230によって比較し、別途に扱うことができるということを意味する。
・多くの規則が同じあるいは同様の文脈を共用することが可能である。
・いくつかの規則群が互いに排他的である文脈を有することが可能である。
例えば、音声規則に関するある共通の文脈は、ある特定のアプリケーションがユーザのコンピュータ上で最前であるとき、規則はアクティブであると規定する。(この実施例のマッキントッシュ・コンピュータ100においては、最前のアプリケーションは、メニューがメニューバー内にあり、ウィンドウが画面の最前部にあり、選択やキーストロークのようなユーザ事象を受け取って処理するアプリケーションである。ある時点においては、1つのアプリケーションしか最前になり得ないから、ある時点でアクティブな「アプリケーション」文脈を有する規則群は1つしかない。
システム始動時に、言語モデル・ジェネレータ230は、システムの音声規則を全てロードする際、それらの規則群の区画をそれらの文脈に基づいて構築する。言い換えると、言語モデル・ジェネレータは、下記の条件に従って音声規則を規則群に区分する。
・各規則群の各規則が同じ文脈を有する。
・2つの異なる規則群では、それらの2規則群の規則は互いに異なる文脈を有する。
所与の区画群の音声規則は同じ文脈を有するから、それらの規則は、所与の発声において(すなわち、所与の時点において)全てアクティブであるか、または全てイナクティブであることが必要である。このように、言語モデル・ジェネレータは、所与の規則群からのフレーズの全てを自由に1つの言語モデルに編集することができる。
次に、スピーチ検出時には、言語モデル・ジェネレータ230は、各音声規則の文脈を吟味して検索から言語モデル全体を構築する必要はなく、各規則群の文脈を吟味し、アクティブな各規則群の言語モデルからその時現在使用される言語モデルを構築するだけでよい。この方法によれば、言語モデルを動的に構築するのに必要な計算量が減少する。また、言語モデル・ジェネレータは、言語モデルが共通文脈を有する程度に応じて、現在の文脈中で妥当なフレーズのみを受け入れるという意味で音声認識装置220にとって最適な現在の言語モデルを構築する。
音声規則の文脈は、単に、その規則がアクティブであると見なされる場合を示すラベルである。その文脈ラベルは、下記のいずれかの形式を有する。
・何らかのアプリケーション、アプリケーション中の何らかのウィンドウ、何らかのユーザ、あるいは他のアプリケーション定義文脈を指示する基本ラベルまたは記号;
・context and context and....の形の文脈ラベルの論理積;
・context or context or....の形の文脈ラベルの論理和;
・not contextの形の文脈ラベルの否定;
各音声規則(または音声規則群)に割り当てられた(静的な)文脈に加えて、言語モデル・ジェネレータは、「現在の文脈」を表す文脈の集合を保持する。これは、システムの現在動作文脈に関する何らかの事実を各々反映する基本文脈ラベルの集合からなる。一部の(最前のアプリケーション、最前のウィンドウ、及び現ユーザのような)ラベルは言語モデル・ジェネレータ230自身によって現在の文脈に加えられるか、またはこれから除去されるが、他の一部のラベルはアプリケーション・プログラム(例えば241、242等)によって明示的に加えられるか、または除去される。現在の文脈が修正される場合は常に、言語モデル・ジェネレータ230は各音声規則群の文脈ラベルを現在の文脈ラベルの集合と比較して、各音声規則群の文脈ラベルをアクティブと見なすべきか否かを決定する。この比較は下記に従って行われる。
・文脈が基本ラベルであれば、現在の文脈ラベルの集合中にある場合、その文脈はアクティブであると見なす。
・文脈が論理積ならば、論理積形に結合した文脈ラベルが全てアクティブであると見なされる場合、その文脈はアクティブであるとみなす。
・文脈が論理和ならば、論理和形に結合した文脈ラベルのいずれかがアクティブであるとみなされる場合、その文脈はアクティブであるとみなす。
・文脈が否定ならば、否定された文脈がアクティブであると見なされない場合、その文脈はアクティブであるとみなす。
最後に、音声検出時には、それらのアクティブな文脈ラベルを有する規則群からの言語モデルが結合されて、音声認識装置220に送られるとともに音響信号を単語列として解釈するためにも用いられる全体または現在の言語モデル222が形成される。
ここで、規則群区分の簡単な例を図13を参照して説明する。例えば、このシステムにおいては、システム中にある全ての音声規則を図13のブロック1301乃至1305で表すことができる。前に述べたように、各音声規則は、図13に1301a乃至1305aで示す関連文脈をそれぞれ有する。例えば、音声規則1301及び1304は、文脈「日付(date)」を有し、規則1302は、文脈「ミーティングマインダ(MeetingMinder)」を有し、これはユーザのコンピュータシステムでアクティブなアプリケーション・プログラムあるいはその他のアイテムである。また、1303及び1305には、文脈は示されておらず、これらが常にアクティブであることを示している。いずれにしても、システム始動時に、システムは、全ての音声規則のリスト(この場合は1301乃至1305)を通して走査し、これらの音声規則をそれらの文脈に従って規則群にまとめる。すなわち、各一意の文脈には、それらの各文脈を有する全ての音声規則が関連している。従って、所与の文脈に関する音声規則から音声規則群が生成される。例えば、図13に示すように、この区分が行われると、音声規則1301及び1304は、同じ文脈「日付(date)」1310aを有する音声規則群1310の一部になる。このように、システム始動時に、音声規則1301及び1304は文脈「日付(date)」1310aを付して規則群1310に入れられ、その規則群全体に対して1つの言語モデルが構築される。次に、音声検出時に、「日付(date)」文脈がアクティブであると、その言語モデルは、音声認識に使用されるトップレベルの言語モデルに含められる。これについては、図14を参照しながら説明する。
図14には、1310、1320及び1330の各規則群が示されている。また、図14は、様々な文脈が検出されたとき、どの規則群がアクティブになるかを示している。例えば、「ファインダ(Finder)」のアプリケーション・プログラムがマッキントッシュ・オペレーティング・システムで最前になっているときは、大域の文脈規則群区分1330のみがアクティブになる。従って、規則1303及び1305は言語モデルを構築するために使用され、単語が認識装置から供給されると、コンピュータシステムでアクションを実行するのにフレーズを解釈するために使用される。システム中の全ての規則を吟味する代りに、規則群1330のみを使用して現在言語モデルを生成し、認識装置220からの単語を解釈する。このように、音声検出時においては、規則群区分1330より規則1303及び1305を参照するだけで、言語モデル生成が非常に簡単化される。同様に、アプリケーション「ミーティングマインダ(MeetingMinder)」が最前になっている場合は、規則1302、1303及び1305よりなる規則群1320及び1330を用いて言語モデルが生成され。この第3の場合においては、アプリケーション「(ミーティングマインダ)MeetingMinder」が最前になっており、文脈「日付(date)」が現在の文脈に追加されている。従って、図に示されている3つの規則群の全てを用いて言語モデルが生成され、規則の解釈が行われる。規則群1310は、その文脈「日付(date)」が現在の文脈中にあるから、アクティブであり、規則群1320は、その文脈「ミーティングマインダ(MeetingMinder)」が現在の文脈中にあるから、アクティブであり、規則群1330は、文脈がないから、常にアクティブである。
処理パワーの費消量は、システム内の全ての音声規則を言語モデル生成時及び音声解釈時に容易に参照することが可能な規則群にまとめることによって低減される。図13及び14に示す例では、規則群をなす音声規則は少数であるが(例えば1301及至1305)、実際に使用されている音声認識システムにおいては、全ての各規則毎にそれぞれ文脈の決定が必要な様々な文脈を有する多数の音声規則が存在することが多い。上に述べたように、このようなシステムでは、言語モデル生成時に不必要な処理パワーと処理時間が費消され、応答時間に悪影響が及ぶことが考えられる。したがって、この実施例は、規則を文脈によって規則群に区分することによりオーバーヘッドを低減し、これによって全体的応答時間を短縮するものである。
発声に対する意味の割り当て
従来技術の音声認識システムにおけるもう一つの問題は、認識された単語列に意味を対応させることに付随する問題である。個別単語認識システムの場合は、問題ははるかに簡単である。このようなシステムでは常に、限られた数の単語またはフレーズしか認識することができない(通常100以下)。それらの単語またはフレーズの1つが識別されると、システムは、通常所定のやり方で応答する。
連語認識システムの場合は、認識することができるフレーズの数は非常に多く、限りがない場合もある。認識可能な全て発声に対する適切な応答をあらかじめ計算することは明らかに不可能であり、また望ましくもない。さらに、言語モデルの動的生成(すなわち、認識しようとするフレーズがオペレーティング・システム及びそのアプリケーション・プログラムの状態によって動的に決定される言語モデル生成)を考慮した音声認識システムは、認識可能な全て発声に対する応答を前もって計算することができるようにはなっていない。
この実施例では、音声規則と呼ばれる共通のデータ構造中のフレーズの集合のシンタックス(どの単語がどの順序で認識されるかの規則)及び意味論(発声の意味)を指定する技術を使用する。全ての音声規則は、各々、認識することが可能なフレーズの集合を含んでいる。これらのフレーズは、ユーザによって発音される完全な発声の場合もあれば、他の音声規則に組み込まれる部分的発声の場合もある。前者の場合は、その意味は、対応する発声が認識されたときシステムが実行する一連のアクションとして表される。後者の場合は、意味は、音声規則に記憶された命令に従って計算されかつその音声規則を参照する他の音声規則に送られるデータ構造によって表される。
ここで、例えば、ユーザがある数値を示すために発音するフレーズの集合を表すある音声規則の場合について考察する。この場合の音声規則の目的は、ユーザがどのフレーズを発生することが可能かを規定することのみならず、それらの各発声からユーザが意図する数値を導出することにもある。例えば、「forty three」と発音された単語に数値「43」を結び付けることが望ましい場合がある。他方では、この音声規則は、ユーザが例えば「ページ〈num〉をプリントする(print page〈num〉)」と言うことが可能な他の音声規則により参照されることもある。ここで〈num〉は当の音声規則によって規定されるフレーズの集合を指す。この実施例においては、数値フレーズに関する音声規則は「カテゴリー」規則と呼ばれ、プリント・コマンドに関する音声規則は「コマンド」規則と呼ばれる。
要 旨
上に説明した技術のいくつかを、以下図15及び16を参照によりまとめて説明する。図15のプロセス1500は、時点t1とt2との間に言語モデル・ジェネレータインタプリタ230がたどるステップのシーケンスのフローチャート、すなわち音声検出時における言語モデルの生成プロセスを示す。ジェネレータ230は、ステップ1501で音声が検出されるのを待つ間は実質的にアイドル状態にある。音声の検出と同時に、音声検出時に更新されるようフラグが立てられた動的カテゴリーを含む音声規則は、全てステップ1503で更新される。もちろん、前に述べたように、動的カテゴリーは、他の種々の間隔で更新することが可能であるが、ここでは、音声検出時にカテゴリーを更新する簡単な場合について説明する。従って、システム中の動的カテゴリーを指定する音声規則の言語モデルはこの時点で更新される。ファイル名及び他の動作パラメータを得、これらを用いてそのように更新されている各動的カテゴリーの現在の言語モデルを構築することも可能である。次に、ステップ1505では、言語モデル・ジェネレータ230は、現在の文脈を更新する。すなわち、言語モデル・ジェネレータは、ユーザのシステムのアクティブなアプリケーション・プログラム及びその他の動作パラメータを決定することによってシステムの現在動作文脈を決定する。このようにして、所与の文脈を伴う規則群を吟味することによって、それらの規則群を言語モデルを生成するために使用すべきかどうかが判断される。次に、ステップ1507では、新しい言語モデルXが生成されるが、これは、この時点では空の言語モデルである。次に、ステップ1509乃至1515では、システム中の全ての規則群を走査して、それらの文脈が各々アクティブであるかどうかが判断される。例えば、ステップ1509では、所与の規則群の文脈がアクティブであるかどうかが判断される。前に述べたように、これには、従来技術で周知のように、論理積、論理和、あるいは否定の操作が必要な場合もある。所与の規則群の文脈がアクティブであれば、ステップ1511でその規則群から得られた言語モデルが、ステップ1513で生成される現在の言語モデルXに含められる。ステップ1515では、他にチェックすべき規則群があるかどうかが判断される。ステップ1509での判断によって、吟味中の規則群の文脈がアクティブでない場合は、その言語モデルは、生成中の現在の言語モデルXには加えられない。いずれの場合も、他にチェックすべき規則群があれば、ステップ1515はステップ1509へ戻る。システム中に他にチェックすべき規則群がないことが検出時されると、認識装置は、ステップ1517で生成された現在の言語モデルXでイネーブル化することができる。すると、ステップ1517で言語モデル生成が完了し、図3の時点t2に示すように、認識を開始することができる。
図16のプロセス1600は、基本的に図3に示す時点t4とt5の間にプロセス230によって行われる規則の解釈動作の流れを示す。ステップ1601では、プロセス1600は、単語が認識装置220から供給されるのを待つ。ステップ1603では、認識装置220から単語が供給され、認識された発声に一致する全ての音声規則がステップ1605で決定される。これは、従来技術のマッチング法及び構文解析法を用いて行うことが可能である。音声規則を発声に対してマッチングするプロセスは、認識された発声における様々なフレーズの意味を表す変数結合の集合を生じさせる。ステップ1607では、いずれかの音声規則がユーザの発声に一致したかどうかが判断される。一致した場合は、インタプリタ230は、ステップ1609で、ステップ1605で得られた変数結合によってその音声規則と関連するコマンドスクリプトを実行することができる。このようにして、コンピュータシステムでは、ユーザのコマンドに応答して適切なアクションを行うことが可能である。スクリプトの実行が終了した後、あるいは一致する音声規則がなかった場合、システムはステップ1611でアイドル状態(例えば、図15の1501のように、言語モデル・ジェネレータ230がシステムに別の音声が供給されるのを待つ状態)に戻る。
以上、本発明の音声認識システムについて説明した。上記説明においては、本発明は、図1乃至16に示す特定の実施例に基づき説明した。しかしながら、特許請求の範囲に記載する本発明の広義の趣旨及び範囲から逸脱することなく、様々な修正や変更を行うことが可能なことは明白であろう。従って、本明細書及び図面は、例示説明のためのものであり、限定的な意味を有するものではないと見なすべきである。

Claims (37)

  1. 音声認識システムにおける音声規則に関する動的カテゴリーを維持する方法において:
    a.各々複数の状態、上記状態間の遷移を規定する単語、及び最終状態を含む言語モデル及びアクションより各々なる複数の音声規則で、さらに上記音声規則の上記言語モデル中の上記単語が動的であるかどうかを識別するフラグを有する複数の音声規則を生成するステップと;
    b.ある期間にわたり繰り返して、上記音声規則の上記言語モデル中の上記単語が動的であることを指示する各上記音声規則中の各フラグに対して、上記音声認識システム内にあるデータに基づいて各上記音声規則の各上記言語モデルの上記単語を更新するステップと;
    c.音響サンプル中の音響的特徴を決定するステップと;
    d.上記音響的特徴の決定と同時に、上記複数の各上記音声規則からの各上記言語モデルに基づいて現在の言語モデルを生成し、かつ、上記現在の言語モデルを上記音声認識システムにおける音声認識用の認識装置で使用可能にするステップと;
    を具備した方法。
  2. 上記更新ステップが、上記音響サンプル中の音響的特徴が上記音声認識システムで検出されたとき行われることを特徴とする請求項1記載の方法。
  3. 上記更新ステップが、上記音声認識システムのアプリケーション・プログラムが初期化されるとき行われることを特徴とする請求項1記載の方法。
  4. 上記更新ステップが、上記音声認識システムで関連するアプリケーション・プログラム・データが更新されるとき行われることを特徴とする請求項1記載の方法。
  5. 音声認識システム用の動的言語モデルを生成する方法において:
    a.各々言語モデル、アクション及び動的フラグよりなる複数の音声規則を生成するステップあって、各上記フラグ、上記音声規則の上記言語モデル中の単語が動的であるかどうかを識別するものである、複数の音声規則を生成するステップと;
    b.ある期間にわたり繰り返して、上記各音声規則の上記言語モデル中の上記単語が動的であることを指示する各上記音声規則中の各フラグに対して、上記音声認識システム内にあるデータに基づいて各上記音声規則の各上記言語モデルの上記単語を更新するステップと;
    c.音響サンプル中の音響的特徴を決定するステップと;
    d.上記音響的特徴の決定と同時に、上記複数の各上記音声規則からの各上記言語モデルに基づいて現在の言語モデルを生成し、かつ上記現在の言語モデルを上記音声認識システムの認識装置で使用可能にするステップと;
    を具備した方法。
  6. 音声認識システムにおける動的言語モデルを生成するための装置において:
    a.各々言語モデル、アクション及び動的フラグよりなる複数の音声規則を生成する手段あって、各上記フラグ、上記音声規則の上記言語モデル中の単語が動的であるかどうかを識別するものである、複数の音声規則を生成する手段と;
    b.動的フラグを有する各上記音声規則の上記言語モデルの上記単語を、上記音声認識システム内にあるデータに基づいてある期間にわたって繰り返し更新する手段と;
    c.音響サンプル中の音響的特徴を決定する手段と;
    d.上記決定手段と同時に動作して、上記複数の上記音声規則の各々からの上記各言語モデルに基づいて現在の言語モデルを生成する手段と;
    e.上記現在の言語モデルを上記音声認識システムの認識装置で使用可能にする手段と;
    を具備した装置。
  7. 音声認識システムにおける音声認識用の現在の言語モデルを生成する方法において:
    a.音響サンプル中の音響的特徴を決定するステップと;
    b.上記の音響的特徴の上記決定とほぼ同時に、上記音声認識システムによって認識することが可能な単語の可能な組合わせを決定し、かつ上記単語の可能な組合わせを現在の言語モデルとして記憶するステップで、上記現在の言語モデルが、各々言語モデル及び関連アクションよりなる複数の音声規則から生成され、上記複数の音声規則の各々における各上記言語モデルが、複数の状態、上記複数の状態間の遷移を規定する単語、及び最終状態を含むステップと;
    c.上記現在の言語モデルの上記生成の終了と同時に、上記現在の言語モデルにおける上記最終状態に達するまで上記現在の言語モデル中の状態を走査することによって上記音響的特徴よりなる単語を認識するステップと;
    d.単語を認識する上記ステップに続いて、上記現在の言語モデルを生成するために使用した上記複数の音声規則及び上記単語から一致音声規則を決定し、かつ上記一致音声規則に関連する上記関連アクションを実行するステップと;
    を具備した方法。
  8. 上記アクションが、上記音声認識システムによって実行されるスクリプトによって指定されることを特徴とする請求項7記載の方法。
  9. 上記音声規則の各々が、上記音声規則がアクティブになる文脈の表現を含むことを特徴とする請求項7記載の方法。
  10. 上記現在の言語モデルを生成させる上記ステップが、上記音声認識システムの現在動作文脈に基づいて上記現在の言語モデルを生成することを特徴とする請求項7記載の方法。
  11. 音声認識システムにおける音声認識用の現在の言語モデルを生成する方法において;
    a.音響サンプル中の音響的特徴を決定するステップと;
    b.上記音響的特徴の上記決定とほぼ同時に、上記音声認識システムの動作文脈に基づいて上記音声認識システムにより認識することが可能な単語の可能な組合わせを決定し、かつ上記単語の可能な組合わせを現在の言語モデルとして記憶するステップと;
    c.上記現在の言語の上記生成の終了と同時に、上記現在の言語モデルを上記音響的特徴よりなる単語を認識する認識装置に供給するステップと;
    を具備した方法。
  12. 音声認識システムにおける音声認識用の現在の言語モデルを生成する方法において:
    a.単語列よりなる人間の音声を含む音響サンプル中の音響的特徴を決定するステップと;
    b.上記音響的特徴の上記決定と同時に、上記音声認識システムの現在動作文脈に基づいて上記音声認識システムにより認識することが可能な単語の可能な組合わせを決定し、かつ上記単語の可能な組合わせを現在の言語モデルとして記憶するステップと;
    c.上記現在の言語モデルの上記生成の終了と同時に、上記現在の言語モデルを上記音響的特徴よりなる単語を認識する認識装置に供給するステップと;
    d.上記単語を解釈し、かつ上記認識装置から供給される上記単語によって指定されるアクションを実行するステップと;
    を具備した方法。
  13. 音声認識システムにおける音声認識用の現在の言語モデルを生成するための装置において:
    a.単語列よりなる人間の音声を含む可能な音響サンプル中の音響的特徴を決定する手段と;
    b.上記決定手段と同時に動作して、上記音声認識システムの現在動作文脈に基づいて上記音声認識システムにより認識することが可能な単語の可能な組合わせを決定する手段と;
    c.上記単語の可能な組合わせを現在の言語モデルとして記憶する手段と;
    d.上記生成の終了及び上記現在の言語モデルの記憶と同時に動作して、上記現在の言語モデルを上記音響的特徴よりなる単語を認識する認識装置に供給する手段と;
    e.上記単語を解釈するとともに、上記認識装置から供給される上記単語によって指定されるアクションを実行する手段と;
    を具備した装置。
  14. 文脈に基づき音声認識システムにおける現在の言語モデルを生成し、解釈するために音声認識規則を区分する方法において:
    a.複数の音声規則の各々にそれらの各音声規則がアクティブとなる文脈を関連付けるステップと;
    b.上記音声認識システムの初期化時に、上記複数の音声規則についての共通文脈を決定し、かつ上記複数の音声規則の各々を上記共通文脈に従って音声規則群に分類するステップと;
    c.音声の検出と同時に上記音声認識システムの現在の文脈を決定するステップと;
    d.上記現在の文脈に一致する全ての音声規則群を決定し、かつ上記の一致した音声規則群を文脈一致音声規則群として記憶するステップと;
    e.音声認識装置による使用のために、上記文脈一致音声規則群から現在の言語モデルを生成するステップと;
    f.上記音声認識装置から供給される単語に従いアクションを解釈し、実行するインタプリタによる使用に上記文脈一致音声規則群を供するステップと;
    を具備した方法。
  15. 上記文脈が、上記認識システム上に表示されるユーザインタフェース・オブジェクトの状態よりなることを特徴とする請求項14記載の方法。
  16. 上記文脈が、上記音声認識システム上でアクティブなアプリケーション・プログラムよりなることを特徴とする請求項14記載の方法。
  17. 上記区分を決定するステップが、共通文脈を有する音声規則の各々を参照するデータ構造を生成するステップを具備することを特徴とする請求項14記載の方法。
  18. 文脈に基づき音声認識システムにおける音声認識のための現在の言語モデルを生成するために音声規則を区分する方法において:
    a.複数の音声規則の各々にそれらの各音声規則がアクティブとなる文脈を関連付けるステップと;
    b.上記複数の音声規則についての共通文脈を決定するステップと;
    c.上記複数の音声規則の各々を、音声検出時における言語モデル生成のために使用する複数の音声規則群に上記共通文脈に従い区分するステップと;
    を具備した方法。
  19. 文脈に基づき音声認識システムで認識されるフレーズを生成するために音声規則を区分する装置において:
    a.複数の音声規則の各々にそれらの各音声規則がアクティブとなる文脈を関連付ける手段と;
    b.上記複数の音声規則についての共通文脈を決定する手段と;
    c.上記複数の音声規則の各々を、音声検出時における言語モデル生成のために使用する複数の音声規則群に上記共通文脈に従い区分する手段と;
    を具備した装置。
  20. 音声規則とは別個に音響的特徴を抽出する音響特徴抽出器を有する音声認識システムにおける音声規則に関する動的カテゴリーを維持する方法であって:
    a.各々が言語モデルとそれに関連して音声認識システムで行われるアクションとからなる複数の音声規則を生成するステップであって、各言語モデルは音声認識装置によって認識することが可能な単語列からなるフレーズを有するフレーズリストを含み、さらに各音声規則は単語列中の単語が動的であるかどうかを識別する動的フラグを含み、動的であると単語列に追加的の単語が加えられたり、単語列から単語が削除可能であるというステップと;
    b.音声認識システムの動作中、周期的に、単語列の単語が動的であることを指示する各上記音声規則中の各フラグに対して、上記音声認識システム内にあるデータに基づいて各単語列の上記単語を動的に決定するステップと;
    c.音響サンプル中の、音声規則にはない音響的特徴を決定するステップと;
    d.上記複数の各上記音声規則からの各上記言語モデルに基づいて現在の言語モデルを生成し、かつ、上記現在の言語モデルを認識装置で使用可能にするステップと;
    を具備した方法。
  21. 音声規則とは別個に音響特徴抽出器を有する音声認識システム用に動的言語モデルを生成する方法であって:
    a.各々が言語モデルとそれに関連して音声認識システムで行われるアクションと動的フラグとからなる複数の音声規則を生成するステップであって、その動的フラグは音声規則の言語モデルの単語が動的であるかどうかを識別し、動的であると言語モデルに追加的の単語が加えられたり、言語モデルから単語が削除可能であるというステップと;
    b.音声認識システムの動作中、周期的に、各音声規則の言語モデルの単語が動的であることを指示する各上記音声規則中の各フラグに対して、上記音声認識システム内にあるデータに基づいて各音声規則の言語モデルの上記単語を動的に決定するステップと;
    c.音声の検出と同時に、音響サンプル中の、音声規則にはない音響的特徴を決定するステップと;
    d.上記複数の各上記音声規則からの各上記言語モデルに基づいて現在の言語モデルを生成し、かつ、上記現在の言語モデルを上記音声認識システムにおける音声認識用の認識装置で使用可能にするステップと;
    を具備した方法。
  22. 音声認識システムで動的言語モデルを生成するための装置であって:
    a.各々が言語モデルとそれに関連して音声認識システムで行われるアクションと動的フラグとからなる複数の音声規則を生成する手段であって、その動的フラグは音声規則の言語モデルの単語が動的であるかどうかを識別し、動的であると言語モデルに追加的の単語が加えられたり、言語モデルから単語が削除可能であるという手段と;
    b.音声認識システムの動作中、周期的に、各音声規則の言語モデルの単語が動的であることを指示する動的フラグを含む各音声規則の言語モデルの上記単語を動的に決定する手段であって、音声認識システムに記憶されたデータをリトリーブする手段と;
    c.音声の検出と同時に、音響サンプル中の、音声規則にはない音響的特徴を決定する手段と;
    d.上記複数の各上記音声規則からの各上記言語モデルに基づいて現在の言語モデルを生成する手段と;
    e.上記現在の言語モデルを上記音声認識システムの認識装置で使用可能にする手段と;
    を具備した装置。
  23. 音声認識システムで動的言語モデルを生成するための装置であって:
    a.各々が言語モデルとそれに関連して音声認識システムで行われるアクションと動的フラグとからなる複数の音声規則を生成する第1の回路であって、その各動的フラグは音声規則の言語モデルの単語が動的であるかどうかを識別し、動的であると言語モデルに追加的の単語が加えられたり、言語モデルから単語が削除可能であるという第1の回路と;
    b.音声認識システムの動作中、周期的に、各音声規則の言語モデルの単語が動的であることを指示する動的フラグを有する各音声規則の言語モデルの上記単語を動的に決定する第2の回路であって、音声認識システムに記憶されたデータをリトリーブする第2の回路と;
    c.音声の検出と同時に、音響サンプル中の、音声規則にはない音響的特徴を決定する第3の回路と;
    d.上記複数の各上記音声規則からの各上記言語モデルに基づいて現在の言語モデルを生成する第4の回路と;
    e.上記第4の回路によって現在の言語モデルの生成が完了したら、上記現在の言語モデルを上記音声認識システムの認識装置で使用可能にする第5の回路と;
    を具備した装置。
  24. 音声規則とは別個に音響的特徴を抽出する音響特徴抽出器を有する音声認識システムにおいて発声の検出と同時に音声を認識するための現在の言語モデルを使用する方法であって:
    a.各々が関連の言語モデルと言語モデルに含まれる単語に一致したら行われるアクションとフラグとからなる複数の音声規則を生成するステップであって、フラグは言語モデルの単語が動的であるかどうかを識別し、動的であると言語モデルに追加的の単語が加えられたり、言語モデルから単語が削除可能であるというステップと;
    b.音声認識システムの動作中、周期的に、言語モデルの単語が動的であることを指示する各上記音声規則中の各フラグに対して、上記音声認識システムに記憶された現在のデータをリトリーブして各音声規則の各言語モデルの単語を動的に決定するステップと;
    c.上記複数の各上記音声規則からの各上記言語モデルに基づいて音響サンプルの音響的特徴を決定して現在の言語モデルを生成し、かつ、その言語モデルの生成が完了すると、上記現在の言語モデルを認識装置で使用可能にして現在の言語モデルに含まれる単語との一致を取り、音響サンプルに含まれる発声に一致する音声規則に含まれるアクションを実行するステップと;
    を具備した方法。
  25. 音声認識システムにおける音声認識方法であって:
    a.音響サンプル中の音響的特徴を決定するステップと;
    b.上記の音響的特徴の決定の開始とほぼ同時に、上記音声認識システムによって認識することが可能な単語の可能な組合わせを決定し、かつ上記単語の可能な組合わせを現在の言語モデルとして記憶するステップで、上記現在の言語モデルが、各々言語モデル及び関連アクションよりなる複数の音声規則から生成され、上記複数の音声規則の各々における各上記言語モデルが、複数の状態、上記複数の状態間の遷移を規定する単語、及び最終状態を含むステップと;
    c.上記現在の言語モデルの上記生成の終了と同時に、上記現在の言語モデルにおける上記最終状態に達するまで上記現在の言語モデル中の状態を走査することによって上記音響的特徴よりなる単語を認識するするステップと;
    d.上記単語の認識に続いて、上記現在の言語モデルを生成するために使用した上記複数の音声規則及び上記単語から一致音声規則を決定し、かつ上記一致音声規則に関連する上記関連アクションを実行するステップと;
    を具備した方法。
  26. 音声認識システムにおける音声認識方法であって;
    a.音響サンプル中の音響的特徴を決定するステップと;
    b.上記音響的特徴の決定の開始とほぼ同時に、上記音声認識システムの動作文脈に基づいて上記音声認識システムにより認識することが可能な単語の可能な組合わせを決定し、かつ上記単語の可能な組合わせを現在の言語モデルとして記憶するステップと;
    c.上記現在の言語の上記生成の終了と同時に、上記現在の言語モデルを上記音響的特徴よりなる単語を認識する認識装置に供給するステップと;
    を具備した方法。
  27. 音声認識システムにおける音声認識方法であって:
    a.単語列よりなる人間の音声を含む音響サンプル中の音響的特徴を決定するステップと;
    b.上記音響的特徴の決定の開始と同時に、上記音声認識システムの現在動作文脈に基づいて上記音声認識システムにより認識することが可能な単語の可能な組合わせを決定し、かつ上記単語の可能な組合わせを現在の言語モデルとして記憶するステップと;
    c.上記現在の言語モデルの上記生成の終了と同時に、上記現在の言語モデルと上記音響的特徴よりなる単語を認識する認識装置に供給するステップと;
    d.上記単語を解釈し、かつ上記認識装置から供給される上記単語によって指定されるアクションを実行するステップと;
    を具備した方法。
  28. 音声認識システムにおける音声認識装置であって:
    a.単語列よりなる人間の音声を含む音響サンプル中の音響的特徴を決定する手段と;
    b.上記決定手段と同時に開始して、上記音声認識システムの現在動作文脈に基づいて上記音声認識システムにより認識することが可能な単語の可能な組合わせを決定する手段と;
    c.上記単語の可能な組合わせを現在の言語モデルとして記憶する手段と;
    d.上記生成の終了及び上記現在の言語モデルの記憶と同時に動作して、上記現在の言語モデルを上記音響的特徴よりなる単語を認識する認識装置に供給する手段と;
    e.上記単語を解釈するとともに、上記認識装置から供給される上記単語によって指定されるアクションを実行する手段と;
    を具備した装置。
  29. 現在の文脈に基づき音声認識システムで現在の言語モデルを動的に生成し、解釈することを含み連続して音声を認識する方法であって:
    a.複数の音声規則の各々にそれらの各音声規則がアクティブとなる、文脈を関連付けるステップと;
    b.上記音声認識システムの初期化時に、上記複数の音声規則についての共通文脈を決定し、かつ上記複数の音声規則を上記共通文脈に従って音声規則群の区分に分割するステップと;
    c.音声の検出と同時に上記音声認識システムの上記の現在の文脈を決定するステップと;
    d.各々が上記現在の文脈に一致する文脈を有する全ての音声規則群を決定し、かつ上記の一致した音声規則群を文脈一致音声規則群として記憶するステップと;
    e.音声認識装置による使用のために、上記区分内の上記文脈一致音声規則群から現在の言語モデルを動的に生成するステップとからなり;
    上記音声認識装置は音声に含まれる単語を認識すべく現在の言語モデルを用い、上記音声認識装置によって認識される単語に従いアクションを解釈し、実行すべく上記文脈一致音声規則群がインタプリタによって用いられることを特徴とする方法。
  30. 現在の文脈に基づき音声認識システムにおける現在の言語モデルを動的に生成することを含み音声を認識する方法であって:
    a.複数の音声規則の各々にそれらの各音声規則がアクティブとなる、文脈を関連付けるステップと;
    b.上記複数の音声規則についての共通文脈を決定するステップと;
    c.上記複数の音声規則の各々を上記共通文脈に従って音声規則群の区分に分割するステップと;
    d.音声の検出と同時に上記の言語モデルを動的に生成するため及びその言語モデルを用いて音声を認識するために上記の音声規則群の区分を用いるステップとからなり、
    上記複数の音声規則の各々は上記区分の音声規則群の1つにしか存在せず、その音声規則群の区分は現在の文脈に従って音声の検出と同時に言語モデルを動的に生成するために用いられ、上記の音声規則群の各々は音声規則群の共通文脈が現在の文脈に一致したと決定した時のその言語モデルに含まれることを特徴とする方法。
  31. 現在の文脈に基づき音声を認識する装置であって:
    a.複数の音声規則の各々にそれらの各音声規則がアクティブとなる、文脈を関連付ける手段と;
    b.上記複数の音声規則の各々に関連付けられた上記文脈についての共通文脈を決定する手段と;
    c.上記複数の音声規則の各々を上記共通文脈に従って音声規則の区分に分割する手段と;
    d.音声の検出と同時に上記の言語モデルを動的に生成するため及びその言語モデルを用いて音声を認識するために上記の音声規則群の区分を用いる手段とからなり、
    上記複数の音声規則の各々は上記区分の音声規則群の1つにしか存在せず、その音声規則群の区分は現在の文脈に従って音声の検出と同時に言語モデルを動的に生成するために用いられ、上記の音声規則群の各々は音声規則群の共通文脈が現在の文脈に一致したと決定した時のその言語モデルに含まれることを特徴とする装置。
  32. 現在の文脈に基づき音声を認識する装置であって:
    a.複数の音声規則の各々にそれらの各音声規則がアクティブとなる、文脈を関連付ける関連付け回路手段と;
    b.上記複数の音声規則の各々に関連付けられた上記文脈についての共通文脈を決定する文脈決定回路手段と;
    c.上記複数の音声規則の各々を上記共通文脈に従って音声規則群の区分に分割する分割回路手段と;
    d.音声の検出と同時に上記の言語モデルを動的に生成するため及びその言語モデルを用いて音声を認識するために上記の音声規則群の区分を用いるモデル生成・認識回路手段とからなり、
    上記複数の音声規則の各々は上記区分の音声規則群の1つにしか存在せず、その音声規則群の区分は現在の文脈に従って音声の検出と同時に言語モデルを動的に生成するために用いられ、上記の音声規則群の各々は音声規則群の共通文脈が現在の文脈に一致したと決定した時のその言語モデルに含まれることを特徴とする装置。
  33. 音声認識システムにおける発声に意味付けする方法であって;
    a.各々が言語モデルとその言語モデルの意味を決定する式からなる複数の音声規則を供給するステップと;
    b.上記複数の音声規則の各言語モデルから現在の言語モデルを生成し、その現在の言語モデルを認識装置に供給するステップと;
    c.検出された音声中の単語を認識装置によって現在の言語モデルを参照して認識し、認識された単語列を生成するステップと;
    d.上記認識装置から認識された単語列を受け取り、その認識された単語列が複数の音声規則の第1の音声規則のフレーズに一致するか否かとその認識された単語列が複数の音声規則の第2の音声規則のフレーズに一致する単語を少なくとも1つ含むか否かを決定するステップと;
    e.第1の音声規則の式と第2の音声規則の式と評価するステップとからなり、第1の音声規則の式の評価は第2の音声規則の式の評価に依拠し、第1の音声規則の式と第2の音声規則の式を評価した後でのみ音声認識装置におけるアクションを行うことを特徴とする方法。
  34. 音声認識システムにおいて認識された発声に意味付けする装置であって;
    a.各々が言語モデルとその言語モデルの意味を決定する式からなる複数の音声規則を供給する手段と;
    b.上記複数の音声規則の各言語モデルから現在の言語モデルを生成し、その現在の言語モデルを認識装置に供給する手段と;
    c.検出された音声中の単語を現在の言語モデルを参照して認識し、認識された単語列を生成する手段と;
    d.上記認識装置から認識された単語列を受け取り、その認識された単語列が複数の音声規則の第1の音声規則のフレーズに一致するか否かとその認識された単語列が複数の音声規則の第2の音声規則のフレーズに一致する単語を少なくとも1つ含むか否かを決定する手段と;
    e.上記第1の音声規則の式と第2の音声規則の式を評価する手段とからなり、第1の音声規則の式の評価は第2の音声規則の式の評価に依拠し、第1の音声規則の式と第2の音声規則の式を評価した後でのみ音声認識装置におけるアクションを行うことを特徴とする装置。
  35. 音声認識システムにおける音声認識方法であって:
    a.各々が認識可能な単語列の集合を規定する言語モデルとその単語列の集合の意味を決定する式を含む複数の音声規則を記憶するステップと;
    b.上記複数の音声規則から言語モデルの第1の群を含む現在の言語モデルを生成し、その現在の言語モデルを発声を認識する認識装置に供給するステップと;
    c.発声に含まれる単語を現在の言語モデルに従って認識装置によって認識し、認識された単語列を生成するステップと;
    d.認識された単語列に従って一致した音声規則群を決定するステップと;
    e.この一致した音声規則群の各々の中の上記各式を評価し、各式に従って音声認識装置におけるアクションを行うステップとからなる方法。
  36. 音声認識システムにおける音声認識方法であって:
    a.複数の音声規則の各々で認識可能な単語列の集合のシンタックスを規定する言語モデルを記憶するステップと;
    b.複数の音声規則の各々で単語列の集合の各々の意味を決定する式を記憶するステップと;
    c.上記の言語モデルを認識装置に供給し、それに応じて認識装置から認識された単語列を受け取るステップと;
    d.その認識された単語列と一致する言語モデルを含む複数の音声規則群を決定するステップと;
    e.この音声規則群の各々についての上記の式を評価し、評価された各式に従ってアクションを行うステップとからなる方法。
  37. 音声認識システムにおける音声認識装置であって:
    a.複数の音声規則の各々で認識可能な単語列の集合のシンタックスを規定する言語モデルを記憶する第1の回路と;
    b.複数の音声規則の各々で単語列の集合の各々の意味を決定する式を記憶する第2の回路と;
    c.上記の言語モデルを認識装置に供給し、それに応じて認識装置から認識された単語列を受け取る第3の回路と;
    d.その認識された単語列と一致する言語モデルを含む複数の音声規則群を決定する第4の回路と;
    e.この音声規則群の各々についての上記の式を評価し、評価された各式に従ってアクションを行う第5の回路とからなる装置。
JP51609494A 1992-12-31 1993-12-29 音声認識システム Expired - Lifetime JP3634863B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US99930292A 1992-12-31 1992-12-31
US07/999,012 US5384892A (en) 1992-12-31 1992-12-31 Dynamic language model for speech recognition
US07/999,012 1992-12-31
US07/999,011 US5390279A (en) 1992-12-31 1992-12-31 Partitioning speech rules by context for speech recognition
US07/999,011 1992-12-31
US07/999,302 1992-12-31
PCT/US1993/012666 WO1994016435A2 (en) 1992-12-31 1993-12-29 A speech recognition system

Publications (2)

Publication Number Publication Date
JPH08505957A JPH08505957A (ja) 1996-06-25
JP3634863B2 true JP3634863B2 (ja) 2005-03-30

Family

ID=27420793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51609494A Expired - Lifetime JP3634863B2 (ja) 1992-12-31 1993-12-29 音声認識システム

Country Status (6)

Country Link
EP (4) EP0938076B1 (ja)
JP (1) JP3634863B2 (ja)
AU (1) AU5962494A (ja)
CA (3) CA2645378C (ja)
DE (4) DE69331247T2 (ja)
WO (1) WO1994016435A2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3530591B2 (ja) * 1994-09-14 2004-05-24 キヤノン株式会社 音声認識装置及びこれを用いた情報処理装置とそれらの方法
US5668928A (en) * 1995-01-31 1997-09-16 Kor Team International, Inc. Speech recognition system and method with automatic syntax generation
US5835888A (en) * 1996-06-10 1998-11-10 International Business Machines Corporation Statistical language model for inflected languages
US5860063A (en) * 1997-07-11 1999-01-12 At&T Corp Automated meaningful phrase clustering
US6044337A (en) * 1997-10-29 2000-03-28 At&T Corp Selection of superwords based on criteria relevant to both speech recognition and understanding
GB0008952D0 (en) 2000-04-12 2000-05-31 Mitel Corp Dynamic rule sets for generated logs
WO2001091107A1 (fr) * 2000-05-23 2001-11-29 Thomson Licensing S.A. Modeles de langage dynamiques pour la reconnaissance de la parole
AU2000276395A1 (en) 2000-09-30 2002-04-15 Intel Corporation Method and system for using rule-based knowledge to build a class-based domain specific statistical language model
US7478038B2 (en) * 2004-03-31 2009-01-13 Microsoft Corporation Language model adaptation using semantic supervision
US9966073B2 (en) 2015-05-27 2018-05-08 Google Llc Context-sensitive dynamic update of voice to text model in a voice-enabled electronic device
US10083697B2 (en) 2015-05-27 2018-09-25 Google Llc Local persisting of data for selectively offline capable voice action in a voice-enabled electronic device
US9870196B2 (en) 2015-05-27 2018-01-16 Google Llc Selective aborting of online processing of voice inputs in a voice-enabled electronic device
KR102096590B1 (ko) * 2018-08-14 2020-04-06 주식회사 알티캐스트 Gui 음성제어 장치 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4827520A (en) * 1987-01-16 1989-05-02 Prince Corporation Voice actuated control system for use in a vehicle
EP0293259A3 (en) * 1987-05-29 1990-03-07 Kabushiki Kaisha Toshiba Voice recognition system used in telephone apparatus
DE3723078A1 (de) * 1987-07-11 1989-01-19 Philips Patentverwaltung Verfahren zur erkennung von zusammenhaengend gesprochenen woertern
DE3876379T2 (de) * 1987-10-30 1993-06-09 Ibm Automatische bestimmung von kennzeichen und markov-wortmodellen in einem spracherkennungssystem.
US4984177A (en) * 1988-02-05 1991-01-08 Advanced Products And Technologies, Inc. Voice language translator

Also Published As

Publication number Publication date
DE69326900D1 (de) 1999-12-02
DE69331247D1 (de) 2002-01-10
DE69333762T2 (de) 2006-03-23
CA2645378A1 (en) 1994-07-21
AU5962494A (en) 1994-08-15
WO1994016435A3 (en) 1994-12-22
DE69333762D1 (de) 2005-03-24
CA2481892A1 (en) 1994-07-21
DE69331247T2 (de) 2002-10-17
EP0938077B1 (en) 2001-06-13
EP1152398A1 (en) 2001-11-07
EP0938076B1 (en) 2001-11-28
EP0677203A1 (en) 1995-10-18
EP0938077A1 (en) 1999-08-25
WO1994016435A2 (en) 1994-07-21
EP0938076A1 (en) 1999-08-25
DE69326900T2 (de) 2000-07-20
CA2481892C (en) 2009-02-10
CA2151370C (en) 2005-02-15
DE69330361T2 (de) 2002-05-23
JPH08505957A (ja) 1996-06-25
EP0677203B1 (en) 1999-10-27
CA2151370A1 (en) 1994-07-21
DE69330361D1 (de) 2001-07-19
CA2645378C (en) 2011-03-29
EP1152398B1 (en) 2005-02-16

Similar Documents

Publication Publication Date Title
US5613036A (en) Dynamic categories for a speech recognition system
US5390279A (en) Partitioning speech rules by context for speech recognition
US6704710B2 (en) Assigning meanings to utterances in a speech recognition system
US5384892A (en) Dynamic language model for speech recognition
US7072837B2 (en) Method for processing initially recognized speech in a speech recognition session
US6910012B2 (en) Method and system for speech recognition using phonetically similar word alternatives
US6839667B2 (en) Method of speech recognition by presenting N-best word candidates
JP5099953B2 (ja) 情報検索手法による統一化されたタスク依存の言語モデルの生成
EP1515306A1 (en) Enrolment in speech recognition
JP2000035795A (ja) 音声認識におけるノンインタラクティブ方式のエンロ―ルメント
JPH07219578A (ja) 音声認識方法
JP3634863B2 (ja) 音声認識システム
JPH09127978A (ja) 音声認識方法及び装置及びコンピュータ制御装置
US6963834B2 (en) Method of speech recognition using empirically determined word candidates
US7103533B2 (en) Method for preserving contextual accuracy in an extendible speech recognition language model
WO2002029615A1 (en) Search method based on single triphone tree for large vocabulary continuous speech recognizer
JP3468572B2 (ja) 対話処理装置
US8260614B1 (en) Method and system for expanding a word graph to a phone graph based on a cross-word acoustical model to improve continuous speech recognition
GB2345783A (en) Speech recognition system
Kobayashi et al. A sub-word level matching strategy in a speech understanding system
Denton et al. Final Report on Speech Recognition Research
JP2004117476A (ja) 音響モデル学習方法、その装置及び音響モデル学習プログラム、その記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040323

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040614

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040924

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041227

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: 20090107

Year of fee payment: 4

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090107

Year of fee payment: 4

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: 20100107

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100107

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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: 20100107

Year of fee payment: 5

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110107

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110107

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120107

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130107

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130107

Year of fee payment: 8

EXPY Cancellation because of completion of term