(57)【特許請求の範囲】
【請求項１】
音声をひと続きで入力できる音声入力手段と、
最終的な認識対象が複数の地名を階層的につなぎ合わせた住所である場合の都道府県名に対応した県名テンプレートデータと、
各都道府県単位で準備され、都道府県名に加えて市町村名あるいはさらに市町村よりも下位レベルの地名までを含んだ語群に対応した県別テンプレートデータと、
音声認識処理に際して高速アクセス性が相対的に低い第１の記憶手段と、
音声認識処理に際して高速アクセス性が相対的に高い第２の記憶手段と
を備えており、
少なくとも前記県別テンプレートデータは前記第１の記憶手段に記憶されており、
前記音声入力手段を介してひと続きで入力された音声を認識する際には、まず、前記入力音声に基づいて得たマッチング用データと前記県名テンプレートデータとを比較することで、どの都道府県名が含まれているかを予備的に判定し、
その予備判定にて含まれているとされた１の都道府県名に対応する県別テンプレートデータを前記第２の記憶手段に読み込み、その県別テンプレートデータを用いて最終的な認識結果を得ることを特徴とする音声認識装置。
【請求項２】
請求項１記載の音声認識装置において、
前記県名又は県別のテンプレートデータの少なくとも一方は辞書データであること
を特徴とする音声認識装置。
【請求項３】
請求項１記載の音声認識装置において、
前記県名又は県別のテンプレートデータの少なくとも一方は音声データであること
を特徴とする音声認識装置。
【請求項４】
請求項１〜３のいずれか記載の音声認識装置において、
住所が３階層以上の地名で構成されている場合には、県名テンプレートデータと、県別テンプレートデータとを備えるとともに、当該県別テンプレートデータを上位階層とみなして市町村よりも下位の地名レベルも区別するようにした、市町村単位で準備された市別テンプレートデータを備えること
を特徴とする音声認識装置。
【請求項５】
請求項１〜４のいずれか記載の音声認識装置において、
前記県名テンプレートデータ及び請求項４における県別テンプレートデータは、テンプレートデータを構成する複数種類の語または語群の後にそれ以外の語又は語群が付属した音声入力に対してもマッチング可能なワイルドカードモデルであること
【請求項６】
請求項１〜４のいずれか記載の音声認識装置において、
前記県名テンプレートデータは、都道府県名の後に市町村名あるいはさらに市町村よりも下位レベルの地名が付属したものであり、請求項４における県別テンプレートデータは、市町村名の後に市町村よりも下位レベルの地名が付属したものであること
を特徴とする音声認識装置。
【請求項７】
請求項１〜６のいずれか記載の音声認識装置と、その音声認識装置にて認識された結果に基づいて所定の処理を実行する処理装置とを備え、
前記音声入力手段は、前記処理装置が処理をする上で指定される必要のある所定のコマンドを利用者が音声にて入力するためにも用いられるものである処理システムであって、
前記音声認識装置は、
前記コマンドを認識するためのテンプレートデータであるコマンド用テンプレートデータを実際の音声認識処理を行う前に前記第２の記憶手段に読み込んでおくか、あるいは当該第２の記憶手段同様に高速アクセス性が相対的に高い読み取り専用の第３の記憶手段に予め記憶しておき、
前記県名テンプレートデータ又は請求項４における県別テンプレートデータを用いた認識を行って前記予備判定をし、
その後に前記コマンド用テンプレートデータを用いた認識を行うと共に、この認識と並行して前記予備判定の結果に対応する県別テンプレートデータ又は請求項４における市別テンプレートデータを前記第２の記憶手段に読み込み、その読み込んだ県別テンプレートデータ又は請求項４における市別テンプレートデータを用いて認識を行い、
前記コマンド用テンプレートデータを用いて得た認識結果と前記県別テンプレートデータ又は請求項４における市別テンプレートデータを用いて得た認識結果の内でより確からしさが上位のものを最終的な認識結果とすること
を特徴とする処理システム。
【請求項８】
請求項１〜６のいずれか記載の音声認識装置と、その音声認識装置にて認識された結果に基づいて所定の処理を実行するナビゲーション装置とを備え、
前記音声入力手段は、少なくとも前記ナビゲーション装置がナビゲート処理をする上で指定される必要のある所定の地名関連データの指示を利用者が音声にて入力するために用いられる処理システムであって、
前記ナビゲーション装置は、現在地を検出する現在地検出手段を備え、
前記音声認識装置は、
前記県名テンプレートデータ又は請求項４における県別テンプレートデータを用いた認識を行って前記予備判定をし、
前記現在地検出手段にて検出された現在地に対応する前記県別テンプレートデータ又は請求項４における市別テンプレートデータを前記第２の記憶手段に読み込み、その県別テンプレートデータ又は請求項４における市別テンプレートデータを用いた認識を行うと共に、この認識と並行して前記予備判定の結果に対応する県別テンプレートデータ又は請求項４における市別テンプレートデータを前記第２の記憶手段に読み込み、その読み込んだ県別テンプレートデータ又は請求項４における市別テンプレートデータを用いて認識を行い、
前記現在地に対応する前記県別テンプレートデータ又は請求項４における市別テンプレートデータを用いて得た認識結果と、前記予備判定の結果に対応する県別テンプレートデータ又は請求項４における市別テンプレートデータを用いて得た認識結果の内でより確からしさが上位のものを最終的な認識結果とすること
を特徴とする処理システム。
【請求項９】
請求項１〜６のいずれか記載の音声認識装置と、その音声認識装置にて認識された結果に基づいて所定の処理を実行するナビゲーション装置とを備え、
前記音声入力手段は、少なくとも前記ナビゲーション装置がナビゲート処理をする上で指定される必要のある所定の地名関連データの指示を利用者が音声にて入力するために用いられる処理システムであって、
前記ナビゲーション装置は、現在地を検出する現在地検出手段を備え、
前記音声認識装置は、
前記現在地検出手段にて検出された現在地に対応する前記県別テンプレートデータ又は請求項４における市別テンプレートデータを前記第２の記憶手段に予め読み込んでおき、
前記県名テンプレートデータ又は請求項４における県別テンプレートデータ及び前記予め読み込んでおいた県別テンプレートデータ又は請求項４における市別テンプレートデータを用いて認識を行い、その認識結果が、前記予め読み込んでおいた県別テンプレートデータ又は請求項４における市別テンプレートデータを用いて得られたものである場合には、それを最終的な認識結果とし、一方、その認識結果が、前記県名テンプレートデータ又は請求項４における県別テンプレートデータを用いたものである場合には、その認識結果に対応する県別テンプレートデータ又は請求項４における市別テンプレートデータを前記第２の記憶手段に読み込み、その読み込んだ県別テンプレートデータ又は請求項４における市別下位階層テンプレートデータを用いて得た認識結果を最終的な認識結果とすること
を特徴とする処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばナビゲーションシステムにおける目的地の設定などを音声によって入力する場合などに有効な音声認識装置及びその音声認識装置を備えた処理システムに関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
従来より、入力された音声を予め記憶されている複数の比較対象パターン候補と比較し、一致度合の高いものを認識結果とする音声認識装置が既に実用化されており、例えばナビゲーションシステムにおいて設定すべき目的地を利用者が地名を音声で入力するためなどに用いられている。特に車両用のナビゲーションシステムを運転手自身が利用する場合、音声入力であればボタン操作や画面注視が伴わないため、車両の走行中に行っても安全性が高いため有効である。
【０００３】
このような機能を満たすためには、十分詳細な地点の指定が容易にできることが望まれる。具体的には、県や市のレベルではなく、市の下の町名のレベルや、町村における大字あるいは小字といったレベルまで入力できるようにすることが好ましい。さらに、利用者が例えば「愛知県刈谷市昭和町」と設定したい場合に、「愛知県」「刈谷市」「昭和町」というように県市町というレベル毎に区切って発音しなくてはならないとすると煩わしいので、ひと続きで入力（一括入力）できるようにすることが好ましい。
【０００４】
しかしながら、このように一括入力ができることを前提とし、さらに十分詳細な地点の指定ができるようにするためには、認識できる語数を増やすことが必要であり、辞書のデータ量を増加させてしまう。例えば住所の認識についていえば、現在では大字程度のレベルまでしか辞書を用意していないのが一般的である。それを小字までの辞書を用意することでより詳細な地点の指定はできるが、辞書データが増大することにより、その辞書データを格納しておくための例えばＲＡＭなどのメモリが非常に大型化し、コストアップにもつながることとなる。
【０００５】
本発明は、このような音声認識技術において辞書に準備する単語を増やすことで認識可能な対象を増加させるという利点を追求した場合に生じ得るデメリットを極力抑制し、上記利点をより現実的に享受し易くする技術を提案することを目的とする。
【０００６】
【課題を解決するための手段及び発明の効果】
まず、請求項１に記載した県名テンプレートデータ、県別テンプレートデータ、第１の記憶手段及び第２の記憶手段について説明する。
県名テンプレートデータは、最終的な認識対象が複数の地名を階層的につなぎ合わせた住所である場合の都道府県名に対応しており、入力音声に基づいて得たマッチング用データと比較するためのデータである。また、県別テンプレートデータは、各都道府県単位で準備され、都道府県名に加えて市町村名あるいはさらに市町村よりも下位レベルの地名までを含んだ語群を格納したものである。例えば日本の場合であれば県名テンプレートデータが４７都道府県名をテンプレートデータとして持ち、４７に分割された県別テンプレートデータが準備されることとなる。
【０００７】
県名又は県別のテンプレートデータは、請求項２に示すように、辞書データ（上位階層辞書あるいは下位階層辞書）であってもよいし、請求項３に示すように、音声データであってもよい。例えば予め人がその語又は語群を発音し、それを入力して音声データとして記憶しておいてもよい。つまり、辞書を用いた認識ではなくても、利用者の発声した音声データに基づき、何らかのデータとマッチングすることで認識できるようなデータであればよい。
【０００８】
また、第１の記憶手段は音声認識処理に際して高速アクセス性が相対的に低く、第２の記憶手段は音声認識処理に際して高速アクセス性が相対的に高いものであるが、具体例としては、第１の記憶手段としてＤＶＤやＣＤ−ＲＯＭが挙げられ、第２の記憶手段としてＲＡＭなどが挙げられる。つまり、実際の音声認識処理を実行する上では、その処理時間を短くしてレスポンスを向上させる観点から通常はＲＡＭなどの第２の記憶手段に辞書を読み込むこととなる。
【０００９】
請求項１に記載の音声認識装置によれば、少なくとも県別テンプレートデータは第１の記憶手段に記憶されており、ひと続きで入力できる音声入力手段を介して入力された音声を認識する際には、まず、入力音声に基づいて得たマッチング用データと県名テンプレートデータとを比較することで、どの都道府県名が含まれているかを判定する。そして、その予備判定にて含まれているとされた都道府県名に対応する県別テンプレートデータを第２の記憶手段に読み込み、その県別テンプレートデータを用いて最終的な認識結果を得る。つまり、例えば予備判定で「愛知県」という都道府県名が含まれていることが判った場合は、愛知県用に準備された県別テンプレートデータのみを第２の記憶手段に読み込んで認識を行うことができる。
【００１０】
このようにすれば、全テンプレートデータを第２の記憶手段に読み込んでおかなくてもよい。つまり、都道府県別に準備された県別テンプレートデータを最低限１つ（場合によっては複数）読み込むだけでよく、それに対応するだけの記憶容量が第２の記憶手段にあればよい。つまり本発明は、複数の地名を階層的につなぎ合わせた住所に対して都道府県単位に県別テンプレートデータを準備するという、いわばテンプレートデータの「分割」を行い、予備判定にてどの県別テンプレートデータを用いればよいかを判定して、「真に必要な」テンプレートデータに絞ってから第２の記憶手段に読み込むようにした。したがって、テンプレートデータに準備する単語を増やすことで認識可能な対象を増加させるという利点を追求した場合であっても、その認識可能語彙をすべて第２の記憶手段に格納しておく必要がない。そのため、第２の記憶手段は相対的に容量が小さくても、一括入力に対応した適切な音声認識が実現できる。
【００１１】
なお、複数の地名を階層的につなぎ合わせた住所についての上位階層と下位の切り分けについては弾力的な適用が可能であるため、請求項４に示すようにしてもよい。つまり、住所が３階層以上の地名で構成されている場合には、県名テンプレートデータと、県別テンプレートデータとを備えるとともに、当該県別テンプレートデータを上位階層とみなして市町村よりも下位の地名レベルも区別するようにした、市町村単位で準備された市別テンプレートデータを備えるのである。このようにすることで、必要なテンプレートデータだけを読み込めばよくなり、第２の記憶手段がより小容量でも対応可能となる。
【００１２】
ところで、最終的には県別テンプレートデータまたは請求項４における市別テンプレートデータを用いて認識するために、その県別テンプレートデータ又は請求項４における市別テンプレートデータを選択する予備判定を行う。この予備判定は、県名テンプレートデータ又は請求項４における県別テンプレートデータを用いて行うのであるが、このテンプレートデータの構成には次のような工夫をしてもよい。つまり、請求項５に示すように、テンプレートデータを構成する複数種類の語または語群の後にそれ以外の語又は語群が付属した音声入力に対してもマッチング可能なワイルドカードモデルとするのである。
【００１３】
例えば、県名テンプレートデータの場合、県名の後にどのような音声にもマッチングするようにする。単に県名しか辞書データとして持たない場合には、実際の認識対象（都道府県以下の市町村や大字なども含む語群）の内の一部分しか県名がないため、全体としてのマッチング度合いが低下する。それに対して、ワイルドカードモデルの場合には、マッチング自体は認識対象全体として行えるのでそのような問題が生じない。ワイルドカードモデルとしては、後述するガーベージモデルや音節連接モデルなどがある。
【００１４】
一方、このようなワイルドカードモデルを用いるのではなく、請求項６に示すように、県名テンプレートデータは、都道府県名の後に市町村名あるいはさらに市町村よりも下位レベルの地名が付属したものであり、請求項４における県別テンプレートデータは、市町村名の後に市町村よりも下位レベルの地名が付属したし冗長なテンプレートデータを用いてもよい。
【００１５】
ワイルドカードを使うと上述のような利点があるが、このワイルドカードはどのようなものにも緩やかにマッチングしてしまうので、誤認識の可能性を増やす原因ともなる。そこで、例えば県名テンプレートデータとして、県名だけでなく市町村名まで付加した冗長な状態でテンプレートデータを準備する。認識時には市町村名までマッチングするが、結果としてはいずれの県名とマッチングしたかを判定する。より長い音声でマッチングをし、またワイルドカードモデルのように緩やかにどのようなものにもマッチングするものではないため、認識率の向上が期待できる。但し、準備するテンプレートデータ量は相対的には増加する。
【００１６】
ところで、このような音声認識装置と、その音声認識装置にて認識された結果に基づいて所定の処理を実行する処理装置とを備え、処理装置が処理をする上で指定される必要のある所定のコマンドを利用者が音声にて入力できるようにした処理システムを構築することができる。この際、請求項７に示すように、コマンドを認識するためのテンプレートデータであるコマンド用テンプレートデータを第１の記憶手段から第２の記憶手段に読み込んでおくか、あるいは第２の記憶手段同様に高速アクセス性が相対的に高い読み取り専用の第３の記憶手段（例えばＲＯＭ）に予め記憶しておく。そして、次の（１）〜（４）の手順で認識を行う。
【００１７】
（１）県名テンプレートデータ又は請求項４における県別テンプレートデータを用いた認識を行って予備判定をする。
（２）コマンド用テンプレートデータを用いた認識を行うと共に、この認識と並行して予備判定の結果に対応する県別テンプレートデータ又は請求項４における市別テンプレートデータを第２の記憶手段に読み込む。
【００１８】
（３）その読み込んだ県別テンプレートデータ又は請求項４における市別テンプレートデータを用いて認識を行う。
（４）上記（２）の認識結果と（３）の認識結果の内でより確からしさが上位のものを最終的な認識結果とする。
例えば処理装置がナビゲーション装置であれば、目的地などの設定のために階層的な構成を持つ地名（住所）を音声入力することがあり、また、当然ながらナビゲーション装置の各種機能を使うためのコマンドを指示することがある。そして、このナビゲーション用のシステムを想定した場合には、上述の認識処理を実行することで、地名（住所）の入力だけでなくコマンドが入力された場合にも即座に対応でき、コマンド用テンプレートデータを用いた認識処理を別途行わなくてもよい。つまりレスポンスが向上し、利用者にとっての使い勝手が向上することとなる。
【００１９】
なお、請求項７に示した処理システムは、ナビゲーション用のシステム以外にも当然適用できるが、特にナビゲーション用のシステムに限定して考えた場合には、次のような工夫もできる。つまり、請求項８に示すように、現在地を検出する機能を持つことを前提として、次の（１）〜（４）の手順で認識を行う。
【００２０】
（１）県名テンプレートデータ又は請求項４における県別テンプレートデータを用いた認識を行って予備判定を行う。
（２）現在地検出手段にて検出された現在地に対応する県別テンプレートデータ又は請求項４における市別テンプレートデータを第２の記憶手段に読み込み、その県別テンプレートデータ又は請求項４における市別テンプレートデータを用いた認識を行うと共に、この認識と並行して予備判定の結果に対応する県別テンプレートデータ又は請求項４における市別テンプレートデータを第２の記憶手段に読み込む。
【００２１】
（３）その読み込んだ県別テンプレートデータ又は請求項４における市別テンプレートデータを用いて認識を行う。
（４）上記（２）の認識結果と（３）の認識結果の内でより確からしさが上位のものを最終的な認識結果とする。
この手法によって解決したい状況は次の通りである。つまり、ナビゲーションシステムを搭載した車両が例えば愛知県内を走行しており、同じ愛知県内である「愛知県刈谷市昭和町」を目的地として設定する場合には、「愛知県刈谷市昭和町」と音声入力するのではなく、「愛知県」を省略して「刈谷市昭和町」と音声入力する方が自然である。本手法であれば、２回目の認識において現在地に対応する下位階層辞書を用いた認識を行うため、都道府県名を省略した音声入力であっても対応できる。
【００２２】
一方、同様に現在地を検出する機能を持つことを前提としながら、相対的に認識速度の向上を図りたい場合には請求項９に示すようにしてもよい。この場合には、認識処理に先立って現在地検出手段にて検出された現在地に対応する県別テンプレートデータ又は請求項４における市別テンプレートデータを第２の記憶手段に予め読み込んでおく。そして、次の（１）、（２）の手順で認識を行う。
【００２３】
（１）県名テンプレートデータ又は請求項４における県別テンプレートデータ及び予め読み込んでおいた県別テンプレートデータ又は請求項４における市別テンプレートデータを用いた認識を行う。そして、その認識結果が、予め読み込んでおいた県別テンプレートデータ又は請求項４における市別テンプレートデータを用いて得られたものである場合には、それを最終的な認識結果として認識処理を終了する。
【００２４】
（２）一方、上記（１）の認識結果が、県名テンプレートデータ又は請求項４における県別テンプレートデータを用いたものである場合には、その認識結果に対応する県別テンプレートデータ又は請求項４における市別テンプレートデータを第２の記憶手段に読み込み、その県別テンプレートデータ又は請求項４における市別テンプレートデータを用いて得た認識結果を最終的な認識結果とする。
【００２５】
このようにすれば、使用頻度が高いと考えられる現在地を含む所定地域内の地名を認識する際には、それを認識するための県別テンプレートデータ又は請求項４における市別テンプレートデータが予め読み込んであるため、相対的に認識処理が素早くできることとなる。
【００２６】
【発明の実施の形態】
以下、本発明が適用された実施例について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施例に何ら限定されることなく、本発明の技術的範囲に属する限り、種々の形態を採り得ることは言うまでもない。
【００２７】
図１は音声認識機能を持たせたナビゲーションシステム２の概略構成を示すブロック図である。本ナビゲーションシステム２は、車両に搭載されて用いられるいわゆるカーナビゲーションシステムであり、位置検出器４、データ入力器６、操作スイッチ群８、これらに接続された制御回路１０、制御回路１０に接続された外部メモリ１２、表示装置１４及びリモコンセンサ１５及び音声認識装置３０を備えている。なお制御回路１０は通常のコンピュータとして構成されており、内部には、周知のＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏ及びこれらの構成を接続するバスラインが備えられている。
【００２８】
位置検出器４は、周知の地磁気センサ１６、ジャイロスコープ１８、距離センサ２０及び衛星からの電波に基づいて車両の位置を検出するためのＧＰＳ受信機２２を有している。これらのセンサ等１６，１８，２０，２２は各々が性質の異なる誤差を持っているため、複数のセンサにより、各々補間しながら使用するように構成されている。なお、精度によっては上述した内の一部で構成してもよく、更に、ステアリングの回転センサ、各転動輪の車輪センサ等を用いてもよい。
【００２９】
データ入力器６は、位置検出の精度向上のためのいわゆるマップマッチング用データ、地図データ及び目印データを含むナビゲーション用の各種データに加えて、音声認識装置３０において認識処理を行う際に用いる辞書データを入力するための装置である。記憶媒体としては、そのデータ量からＤＶＤを用いるのが一般的であると考えられるが、ＣＤ−ＲＯＭ等の他の媒体を用いても良い。データ記憶媒体としてＤＶＤを用いた場合には、このデータ入力器６はＤＶＤプレーヤとなる。
【００３０】
表示装置１４はカラー表示装置であり、表示装置１４の画面には、位置検出器４から入力された車両現在位置マークと、地図データ入力器６より入力された地図データと、更に地図上に表示する誘導経路や設定地点の目印等の付加データとを重ねて表示することができる。また、複数の選択肢を表示するメニュー画面やその中の選択肢を選んだ場合に、さらに複数の選択肢を表示するコマンド入力画面なども表示することができる。
【００３１】
また、本ナビゲーションシステム２は、リモートコントロール端末（以下、リモコンと称する。）１５ａを介してリモコンセンサ１５から、あるいは操作スイッチ群８により目的地の位置を入力すると、現在位置からその目的地までの最適な経路を自動的に選択して誘導経路を形成し表示する、いわゆる経路案内機能も備えている。このような自動的に最適な経路を設定する手法は、ダイクストラ法等の手法が知られている。操作スイッチ群８は、例えば、表示装置１４と一体になったタッチスイッチもしくはメカニカルなスイッチ等が用いられ、各種コマンドの入力に利用される。
【００３２】
そして、音声認識装置３０は、上記操作スイッチ群８あるいはリモコン１５ａが手動操作により各種コマンド入力のために用いられるのに対して、利用者が音声で入力することによっても同様に各種コマンドを入力できるようにするための装置である。
【００３３】
この音声認識装置３０は、音声認識部３１と、対話制御部３２と、音声合成部３３と、音声抽出部３４と、マイク３５と、スイッチ３６と、スピーカ３７と、制御部３８とを備えている。
音声認識部３１は、音声抽出部３４から入力された音声データを、対話制御部３２からの指示により入力音声の認識処理を行い、その認識結果を対話制御部３２に返す。すなわち、音声抽出部３４から取得した音声データに対し、記憶している辞書データを用いて照合を行ない、複数の比較対象パターン候補と比較して一致度の高い上位比較対象パターンを対話制御部３２へ出力する。入力音声中の単語系列の認識は、音声抽出部３４から入力された音声データを順次音響分析して音響的特徴量（例えばケプストラム）を抽出し、この音響分析によって得られた音響的特徴量時系列データを得る。そして、周知のＨＭＭ（隠れマルコフモデル）、ＤＰマッチング法あるいはニューラルネットなどによって、この時系列データをいくつかの区間に分け、各区間が辞書データとして格納されたどの単語に対応しているかを求める。
【００３４】
対話制御部３２は、音声認識部３１における認識結果や制御部３８からの指示に基づき、音声合成部３３への応答音声の出力指示、あるいは、ナビゲーションシステム自体の処理を実行する制御回路１０に対して例えばナビゲート処理のために必要な目的地やコマンドを通知して目的地の設定やコマンドを実行させるよう指示する処理を行う。このような処理の結果として、この音声認識装置３０を利用すれば、上記操作スイッチ群８あるいはリモコン１５ａを手動しなくても、音声入力によりナビゲーションシステムに対する目的地の指示などが可能となるのである。
【００３５】
なお、音声合成部３３は、波形データベース内に格納されている音声波形を用い、対話制御部３２からの応答音声の出力指示に基づく音声を合成する。この合成音声がスピーカ３７から出力されることとなる。
音声抽出部３４は、マイク３５にて取り込んだ周囲の音声をデジタルデータに変換して音声認識部３１に出力するものである。詳しくは、入力した音声の特徴量を分析するため、例えば数１０ｍｓ程度の区間のフレーム信号を一定間隔で切り出し、その入力信号が、音声の含まれている音声区間であるのか音声の含まれていない雑音区間であるのか判定する。マイク３５から入力される信号は、認識対象の音声だけでなく雑音も混在したものであるため、音声区間と雑音区間の判定を行なう。この判定方法としては従来より多くの手法が提案されており、例えば入力信号の短時間パワーを一定時間毎に抽出していき、所定の閾値以上の短時間パワーが一定以上継続したか否かによって音声区間であるか雑音区間であるかを判定する手法がよく採用されている。そして、音声区間であると判定された場合には、その入力信号が音声認識部３１に出力されることとなる。
【００３６】
また、本実施形態においては、利用者がスイッチ３６を押しながらマイク３５を介して音声を入力するという利用方法である。具体的には、制御部３８がスイッチ３６が押されたタイミングや戻されたタイミング及び押された状態が継続した時間を監視しており、スイッチ３６が押された場合には音声抽出部３４及び音声認識部３１に対して処理の実行を指示する。一方、スイッチ３６が押されていない場合にはその処理を実行させないようにしている。したがって、スイッチ３６が押されている間にマイク３５を介して入力された音声データが音声認識部３１へ出力されることとなる。
【００３７】
このような構成を有することによって、本実施例の車載ナビゲーションシステム２では、ユーザがコマンドを入力することによって、経路設定や経路案内あるいは施設検索や施設表示など各種の処理を実行することができる。
ここで、音声認識部３１と対話制御部３２についてさらに説明する。図２に示すように、音声認識部３１は照合部３１１と辞書部３１２と抽出結果記憶部３１３とを有しており、対話制御部３２は処理部３２１と入力部３２２と辞書制御部３２３とを有している。
【００３８】
音声認識部３１においては、抽出結果記憶部３１３が音声抽出部３４から出力された抽出結果を記憶しておき、照合部３１ａがその記憶された抽出結果に対し、辞書部３１２内に記憶されている辞書データを用いて照合を行う。この辞書部３１２内の辞書データは固定ではなく、適宜設定・更新されるのであるが、この点は後述する。そして、照合部３１１にて辞書データと比較されて一致度が高いとされた上位の認識結果は、対話制御部３２の処理部３２１へ出力され、対話制御部３２の処理部３２１が、制御回路１０へその認識結果を出力する。
【００３９】
一方、処理部３２１は、制御回路１０に対して辞書データをＤＶＤから読み出して音声認識装置３０側へ出力する依頼（辞書読込依頼）を出すことができ、その依頼の結果として制御回路１０から送られた辞書データは、対話制御部３２の入力部３２２を介して入力される。そして、辞書制御部３２３がその辞書データを音声認識部３１の辞書部３１２に対して設定（書込）・更新する。
【００４０】
ここで辞書データについて説明する。辞書データとしては、語彙そのもののデータだけでなく、その語彙が複数の語を階層的につなぎ合わせたものである場合には、次のように分割されて準備されている。ここでは、そのように分割されて準備されている辞書データの例として地名辞書を説明する。
【００４１】
まず、上位階層辞書は、都道府県名の辞書データである。つまり、４７の都道府県（愛知県、青森県……、和歌山県）の名称に対応したキーワードを辞書データとして持つものである。そして、下位階層辞書は、都道府県別に分割して準備された県別辞書である。つまり、愛知県の県別辞書、青森県の県別辞書……、和歌山県の県別辞書というように４７の県別辞書が準備されている。この下位階層辞書は、上位階層のキーワードに下位階層のキーワードを付加した辞書データであり、例えば愛知県の県別辞書であれば、愛知県○○市××町、……、愛知県刈谷市昭和町、愛知県△△市▽▽町、……というように、必ず愛知県から始まるようにしている。他の都道府県の県別辞書も同様である。
【００４２】
なお、必要に応じて、さらに下位階層の辞書を準備してもよい。つまり、全国に存在する市町村別に市別辞書を準備してもよい。例えば愛知県刈谷市の市別辞書、愛知県大府市の市別辞書……といった具合である。日本の場合には約４０００の市町村があるといわれているので、約４０００の市別辞書が準備されることとなる。この考え方を進めれば、当然ながらさらに下位階層の辞書を準備することも可能である。例えば名古屋市には１６の区があるが、その区別に１６分割した辞書を準備してもよい。もちろん、区に限らず市町村の下位にくる大字レベルに分割した辞書を準備することも可能である。
【００４３】
そして、このように分割された辞書も含め、基本的に辞書はすべて、データ入力器６にセットされるＤＶＤなどの記録媒体に記録されている。なお、「基本的には」としたのは、音声認識部３１の辞書部３１２に常駐させておく辞書データがあってもよいからである。但し、上述した下位階層の辞書については、原則通りＤＶＤなどのデータ記憶媒体に記憶させておき、必要なときに辞書部３１２に読み込むようにする。
【００４４】
次に、本実施例のナビゲーションシステム２の動作について説明する。なお、音声認識装置３０に関係する部分が特徴であるので、ナビゲーションシステムとしての一般的な動作を簡単に説明した後、音声認識装置３０に関係する部分の動作について詳しく説明することとする。
【００４５】
ナビゲーションシステム２の電源オン後に、表示装置１４上に表示されるメニューから、ドライバーがリモコン１５ａ（操作スイッチ群８でも同様に操作できる。以後の説明においても同じ）により、案内経路を表示装置１４に表示させるために経路情報表示処理を選択した場合、あるいは、音声認識装置３０を介して希望するメニューをマイク３５を介して音声入力することで、対話制御部３２から制御回路１０へ、リモコン１５ａを介して選択されるのを同様の指示がなされた場合、次のような処理を実施する。
【００４６】
すなわち、ドライバーが表示装置１４上の地図に基づいて、音声あるいはリモコンなどの操作によって目的地を入力すると、ＧＰＳ受信機２２から得られる衛星のデータに基づき車両の現在地が求められ、目的地と現在地との間に、ダイクストラ法によりコスト計算して、現在地から目的地までの最も短距離の経路を誘導経路として求める処理が行われる。そして、表示装置１４上の道路地図に重ねて誘導経路を表示して、ドライバーに適切なルートを案内する。このような誘導経路を求める計算処理や案内処理は一般的に良く知られた処理であるので説明は省略する。
【００４７】
次に、音声認識装置３０における動作について説明する。ここでは、いくつかの動作例を挙げる。
[動作例１]
図４は、動作例１の場合の音声認識部３１及び対話制御部３２における処理を示すフローチャートである。
【００４８】
最初のステップＳ１０においては、最上位階層の辞書を設定する。具体的には、上述した県名辞書であり、データ入力器６によってＤＶＤから読み出し、それを制御回路１０、対話制御部３２を介して音声認識部３１の辞書部３１２に設定する。なお、上述したように、この県名辞書については辞書部３１２に常駐させておくことも考えられる。
【００４９】
このように音声認識の準備ができたら、続いて音声認識処理を行う（Ｓ２０）。上述したように、スイッチ３６が押されている間にマイク３５を介して入力された音声データが音声抽出部３４にて抽出されて音声認識部３１へ出力されるため、この抽出結果に対して認識処理を実行することとなる。
【００５０】
この音声認識処理がなされた後、その認識に用いたのが最下位階層の辞書であるかどうかを判断する（Ｓ３０）。Ｓ１０にて設定した県名辞書を用いた認識であれば最下位階層の辞書ではないので（Ｓ３０：ＮＯ）、Ｓ２０での認識処理の結果から選択された下位階層の辞書を設定する（Ｓ４０）。例えば、県名辞書を用いた認識で「愛知県」が選択された場合には、愛知県の県別辞書を設定する。この設定に際しては、図３に例示するように、対話制御部３２が制御回路１０へ県別辞書の読み込みを依頼する。制御部１０はその依頼に応じ、データ入力器６によってＤＶＤから該当する県別辞書を読み出し、対話制御部３２へ送る。そして、上述したように、対話制御部３２内の辞書制御部３２３（図２参照）によってその県別辞書が音声認識部３１の辞書部３１２に設定される。
【００５１】
その後Ｓ２０へ戻り、抽出結果記憶部３１３に記憶されている抽出結果を再度用いて音声認識処理を行う。県別辞書が最下位階層の辞書であれば（Ｓ３０：ＹＥＳ）、その辞書を用いて得た認識結果を制御回路１０へ出力する（Ｓ５０）。
なお、上述したように、県別辞書のさらに下位階層の辞書として市別辞書や区別辞書、大字辞書などが準備されている場合には、Ｓ２０〜Ｓ４０のループ処理を繰り返して、最下位階層の辞書が設定された状態で認識された結果を出力すればよい。
【００５２】
このようにすれば、音声入力された地名を認識する場合に、地名に関する全辞書を辞書部３１２に読み込んでおかなくてもよく、県名辞書及び選択された都道府県に対応する県別辞書を読み込むだけでよい。このような階層的に構成される語群に対して辞書の「分割」を行い、予備判定にてどの下位階層辞書（県別辞書）を用いればよいかを判定して、「真に必要な」辞書に絞ってから辞書部３１２に読み込むようにした。したがって、辞書に準備する語彙を増やすことで認識可能な対象を増加させるという利点を追求した場合であっても、その認識可能語彙をすべて辞書部３１２に格納しておく必要がない。そのため、辞書部３１２は相対的に容量が小さくても、一括入力に対応した適切な音声認識が実現できる。
【００５３】
[動作例２]
図５は、動作例２の場合の音声認識部３１及び対話制御部３２における処理を示すフローチャートである。ここでは、実際の認識処理を開始する前に、県名辞書及びコマンド辞書が辞書部３１２に記憶されていることを前提とする。
【００５４】
最初のステップＳ１１０においては、県名辞書を設定する。予め記憶されているため、ここでは音声認識に用いる辞書として設定する。つまり、辞書部３１２にはコマンド辞書も記憶されているが、それは設定しない。そして、続くＳ１２０ではその県名辞書を用いて第１回目の音声認識処理を行い、その第１回目の認識結果から選択された県別辞書の読込を依頼する（Ｓ１３０）。
【００５５】
この辞書の読込依頼は、上記動作例１でも説明したように対話制御部３２が制御回路１０に対して行う。この依頼を受けた制御部１０はその依頼に応じ、データ入力器６によってＤＶＤから該当する県別辞書を読み出し、対話制御部３２へ送る、そして、対話制御部３２はその県別辞書を読み込み（Ｓ１９０）、その県別辞書を音声認識部３１の辞書部３１２に設定する（Ｓ１６０）。
【００５６】
しかし、制御部１０へ依頼をしてから県別辞書が送られてくるまでの時間がある程度必要であるので、ここでは、その間を利用して２回目の認識処理を行う。つまり、今度はコマンド辞書を音声認識に用いる辞書として設定し（Ｓ１４０）、そのコマンド辞書を用いて第２回目の音声認識処理を行うのである（Ｓ１５０）。この第２回目の認識処理が終了したら、上述したＤＶＤから読み込んだ県別辞書を音声認識に用いる辞書として設定し（Ｓ１６０）、その県別辞書を用いて第３回目の音声認識処理を行う（Ｓ１７０）。
【００５７】
このようにして得た第２回目の認識結果と第３回目の認識結果の確からしさを比較し、上位の候補（認識結果）を出力する（Ｓ１８０）。
ナビゲーションシステムを利用する際に利用者が音声入力する語彙としては、目的地などの設定のために地名（住所）があるが、当然ながらナビゲーションの各種機能を使うためのコマンドを指示することがある。したがって、本動作例のようにすれば、第２回目の音声認識処理をコマンド辞書を用いて行っているので、地名（住所）の入力だけでなくコマンドが入力された場合にも即座に対応できる。そして、この認識処理は、県名辞書を用いた予備判定にて選択された県別辞書の読み込みを行う間に実行するため、時間のロスが少なくて済む。つまり全体としてレスポンスが向上し、利用者にとっての使い勝手が向上する。
【００５８】
[動作例３]
図６は、動作例３の場合の音声認識部３１及び対話制御部３２における処理を示すフローチャートである。ここでは、実際の認識処理を開始する前に、県名辞書及び現在地の県別辞書が辞書部３１２に記憶されていることを前提とする。つまり、位置検出器４によって現在地を検出できるため、例えば本ナビゲーションシステムを搭載した車両が愛知県内を走行している場合には、愛知県の県別辞書を予めＤＶＤから読み込んで辞書部３１２に記憶させておく。
【００５９】
最初のステップＳ２１０においては、県名辞書を設定する。予め記憶されているため、ここでは音声認識に用いる辞書として設定する。つまり、辞書部３１２には現在地に対応する県別辞書も記憶されているが、それは設定しない。そして、続くＳ２２０ではその県名辞書を用いて第１回目の音声認識処理を行い、その第１回目の認識結果から選択された県別辞書の読込を依頼する（Ｓ２３０）。
【００６０】
このＳ２３０での辞書の読込依頼の結果、ＤＶＤから該当する県別辞書を読み込み（Ｓ２９０）、その県別辞書を音声認識部３１の辞書部３１２に設定する（Ｓ２６０）点については、上述の動作例２のＳ１３０，Ｓ１６０，Ｓ１９０の処理内容を同じである。そして、動作例２ではこの間を利用してコマンド辞書を用いた認識処理を行ったが、本動作例３では、予め読み込んであった現在地に対応する県別辞書を音声認識に用いる辞書として設定し（Ｓ２４０）、その県別辞書を用いて第２回目の音声認識処理を行う（Ｓ２５０）。この第２回目の認識処理が終了したら、上述したＤＶＤから読み込んだ県別辞書を音声認識に用いる辞書として設定し（Ｓ２６０）、その県別辞書を用いて第３回目の音声認識処理を行う（Ｓ２７０）。
【００６１】
このようにして得た第２回目の認識結果と第３回目の認識結果の確からしさを比較し、上位の候補（認識結果）を出力する（Ｓ１８０）。
ナビゲーションシステムを搭載した車両が例えば愛知県内を走行しており、同じ愛知県内である「愛知県刈谷市昭和町」を目的地として設定する場合には、「愛知県刈谷市昭和町」と音声入力するのではなく、「愛知県」を省略して「刈谷市昭和町」と音声入力する方が自然である。本手法であれば、２回目の認識において現在地に対応する下位階層辞書を用いた認識を行うため、都道府県名を省略した音声入力であっても対応できる。
【００６２】
[動作例４]
図７は、動作例４の場合の音声認識部３１及び対話制御部３２における処理を示すフローチャートである。動作例３の場合と同様に、実際の認識処理を開始する前に、県名辞書及び現在地の県別辞書が辞書部３１２に記憶されていることを前提とする。
【００６３】
最初のステップ３１０においては、県名辞書及び現在地に対応する県別辞書を音声認識に用いる辞書として設定する。そして、続くＳ３２０ではその県名辞書及び現在地対応の県別辞書を用いて第１回目の音声認識処理を行う。その第１回目の認識結果が、現在地対応の県別辞書を用いて得られたものである場合には（Ｓ３３０：ＹＥＳ）、この第１回目の認識結果を出力する（Ｓ３４０）。
【００６４】
一方、現在地対応の県別辞書ではなく、県名辞書を用いて第１回目の認識結果が得られたものである場合には（Ｓ３３０：ＮＯ）、その認識結果から選択された県別辞書の読込を依頼し（Ｓ３５０）、ＤＶＤから該当する県別辞書を読み込む（Ｓ３５５）。この場合は、上述した動作例２，３とは異なり、辞書の読込依頼から実際に読み込むまでに別に音声認識処理は実行しない。
【００６５】
そして、Ｓ３５５で読み込んだ県別辞書を音声認識に用いる辞書として設定し（Ｓ３６０）、その県別辞書を用いて第２回目の音声認識処理を行い（Ｓ３７０）、その認識結果を出力する（Ｓ３８０）。
このようにすれば、使用頻度が高いと考えられる現在地を含む県内の地名を認識する際には、それを認識するための県別辞書を用いて第１回目の音声認識処理で認識できるため、相対的に認識処理が素早くできることとなる。
【００６６】
音声認識装置３０における動作について４例挙げ、それぞれの動作例による効果などを説明したが、上位階層辞書の構成を工夫することでも以下に示すような効果を得ることができる。
［辞書構成例１］
ここでは上位階層辞書として県名辞書を例にとって考える。県名辞書は、上述したように都道府県（愛知県、青森県……、和歌山県）の名称に対応したキーワードを辞書データとして持つものであるが、これを愛知県＊、青森県＊……、和歌山県＊というように記述し、＊の部分がどのような音声入力に対してもマッチング可能なワイルドカードモデルとする。例えば、「愛知県刈谷市」という音声入力の内「刈谷市」が＊にマッチングする。単に都道府県名のキーワードしか辞書データとして持たない場合には、実際の認識対象（都道府県以下の市町村や大字なども含む語群）の内の一部分しか県名がないため、全体としてのマッチング度合いが低下する。それに対して、ワイルドカードモデルの場合には、マッチング自体は認識対象全体として行えるのでそのような問題が生じない。
【００６７】
ここで、ワイルドカードモデルについて少し補足説明する。
まず、音声認識で一般的に用いられるＨＭＭ（隠れマルコフモデル）手法について簡単に説明する。本手法は、音声を状態と遷移で表現されたマルコフモデルから生成されるものであると仮定して、生成モデルを事前に作成しておき、それと音声とを突き合わせ（マッチング）、最もよくマッチングするものを認識結果とするものである。このモデルの例としては図８に示す表現が一般的である。各状態には出力確率分布が対応しており、音声を分析した結果の特徴量（図８では簡単のために２次元で表現した）の時系列を図８（ａ）に対応する順（ａ１→ａ２→ａ３）に、図８（ｂ）の確率分布から確からしさを突き合わせていく。最終的には音声の終端までの確からしさの積（尤度と呼ばれるスコア）が最も良いものを認識結果とする。この手法では、認識対象語彙のＨＭＭを準備しておいてそれを比較することが基本となるが、大語彙の認識では事実上不可能であるので、音素や音節（これは単語の部分という意味でサブワードと呼ばれる）といった単位を設定し、それらのＨＭＭを作成しておいて、それを接続することで単語のモデルを作成する。
【００６８】
次に、ワイルドカードモデルの一例であるガーベージモデルについて説明する。図９（Ａ）に、/ａ/，/ｉ/，/ｕ/のＨＭＭの各状態に対応している確率分布の例を示した。ここでは特徴空間を２次元としている。ガーベージモデルと呼ばれる音声モデルは、特定の音節のある特徴を表現するのではなく、多くの音声をカバーできるように、大きな分散を有する分布を持つものである。こうすると、ガーベージモデルはさまざまな音声パターンに対して「広く浅く」マッチングするため、広範囲の音声に対してある程度のスコア（＝確率）を出力するが、正しい分布に比べると小さい値を出力する傾向がある。例えば図９（Ａ）中の「×」で示した音声パターンに対して、/ａ/，/ｉ/のスコアは非常に小さくなり、/ｕ/のスコアは大きくなる。一方、ガーベージモデルの場合のスコアは、/ａ/，/ｉ/のスコアと比べると大きいが、/ｕ/のスコアと比べると小さい。
【００６９】
したがって、「あいちけんＧ」（Ｇはガーベージモデル）及び「あいちけんかりやし」のテンプレートと「あいちけんかりやし」の音声をマッチングすれば、そのスコアは「あいちけんＧ」＜「あいちけんかりやし」となる可能性が高い（但し保証されているわけではない）。しかし、「あいちけんＧ（ガーベージモデル）」及び「あいちけんかすがいし」のテンプレートと「あいちけんかりやし」の音声をマッチングすれば、そのスコアは「あいちけんＧ」＜「あいちけんかすがいし」となるとは限らず、かなりの確率で逆転する。
【００７０】
続いて、ワイルドカードモデルの他の例である音節連接モデルについて説明する。
音節のＨＭＭは単語を構成する単位となるが、これを任意に接続可能としていおくと、あらゆる語の発声が認識できることになる。つまり、図９（Ｂ）に示すような音声連接モデルはそのようなものである。なお、ここでは日本語の認識を前提としている。
【００７１】
これを「あいちけんＳＣＭ」（ＳＣＭは音節連接モデル）のようにワイルドカードとしておくと「愛知県刈谷市昭和町」のような発声に対してもマッチング可能である。この場合、「あいちけんＳＣＭ」のモデルは「あいちけんかりやししょうわちょう」というモデルの表現を内包しているので、スコアとしては後者以上の値を得ることができる。
【００７２】
［辞書構成例２］
上述したワイルドカードモデルを使うと上述のような利点があるが、このワイルドカードはどのようなものにも緩やかにマッチングしてしまうので、誤認識の可能性を増やす原因ともなる。そこで、例えば県名辞書を構成する場合に、県名だけでなく市町村名まで付加した冗長な状態で辞書を準備する。そして、認識時には市町村名までマッチングするが、結果としてはいずれの県名とマッチングしたかを判定する。より長い音声でマッチングをし、またワイルドカードモデルのように緩やかにどのようなものにもマッチングするものではないため、認識率の向上が期待できる。
【００７３】
以上、本発明はこのような実施例に何等限定されるものではなく、本発明の主旨を逸脱しない範囲において種々なる形態で実施し得る。
例えば、上述した実施形態では、音声認識装置３０を車両に搭載したナビゲーションシステム２に適用した例として説明したが、車載機器として用いられる場合だけではなく、例えば携帯型ナビゲーション装置として実現してもよい。
【００７４】
また、ナビゲーションではない他の処理を実行する装置に対して音声入力で各種データの設定や指示などを与える場合にでも適用はできる。
【図面の簡単な説明】
【図１】  実施例としてのナビゲーションシステムの概略構成を示すブロック図である。
【図２】  音声認識装置における音声認識部と対話制御部の構成を示すブロック図である。
【図３】  辞書の読込依頼及びそれに対応した辞書読込の説明図である。
【図４】  音声認識装置における動作例１に係る処理を示すフローチャートである。
【図５】  音声認識装置における動作例２に係る処理を示すフローチャートである。
【図６】  音声認識装置における動作例３に係る処理を示すフローチャートである。
【図７】  音声認識装置における動作例４に係る処理を示すフローチャートである。
【図８】  ＨＭＭ（隠れマルコフモデル）の説明図である。
【図９】  ワイルドカードモデルの例としてのガーベージモデル及び音節連接モデルの説明図である。
【符号の説明】
２…ナビゲーションシステム        ４…位置検出器
６…データ入力器                  ８…操作スイッチ群
１０…制御回路                    １２…外部メモリ
１４…表示装置                    １５…リモコンセンサ
１５ａ…リモコン                    １６…地磁気センサ
１８…ジャイロスコープ            ２０…距離センサ
２２…ＧＰＳ受信機                ３０…音声認識装置
３１…音声認識部                  ３２…対話制御部
３３…音声合成部                  ３４…音声入力部
３５…マイク                      ３６…スイッチ
３７…スピーカ                    ３８…制御部
３１１…照合部                    ３１２…辞書部
３１３…抽出結果記憶部            ３２１…処理部
３２２…入力部                    ３２３…辞書制御部
【図１】
0003700533.tif 000002
【図２】
0003700533.tif 000003
【図３】
0003700533.tif 000004
【図４】
0003700533.tif 000005
【図５】
0003700533.tif 000006
【図６】
0003700533.tif 000007
【図７】
0003700533.tif 000008
【図８】
0003700533.tif 000009
【図９】
0003700533.tif 000010