以下、本発明の実施の形態について図面を参照して説明する。
[第1実施形態]
「音声認識システムの構成」
本発明は、例えば図1に示すように構成された音声認識システムに適用される。この音声認識システムは、演算装置1と、マイク2と、ディスプレイ3と、スピーカ4と、入力装置5とを備える。なお、図1において音声認識システムにおける演算装置1は、CPU、ROM、RAMなどを備えたコンピュータによるハードウエアで構成されているが、図1においては便宜的に機能ブロック毎に分けて、説明を行っている。
音声認識システムは、様々なアプリケーションを実行するシステムに適用することが可能である。音声認識システムは、例えば、車両などの移動体に搭載されるナビゲーション装置に適用される。ナビゲーション装置は、例えば移動体として車両に搭載された場合、車両の現在位置を検出し、地図データを用いて車両の現在位置に対応する地図を表示すると同時に所望の目的地までの経路案内をするものである。ナビゲーション装置に適用された音声認識システムは、ユーザが発話した音声を入力し、ナビゲーション装置に備えられた様々な機能を動作させることができる。特に、音声認識システムは、言い換えや語尾ゆれなどを含む自由度の高い自然なユーザ発話に対して音声認識を行うものである。
マイク(音声入力手段)2は、運転手等のユーザから発話した音声を入力可能する位置に設けられている。マイク2は、ユーザから発話した音声を入力し、音声信号を演算装置1に供給する。
ディスプレイ(提示手段)3は、ユーザから視認可能な位置に設けられた液晶ディスプレイからなる。ディスプレイ3は、演算装置1の演算結果としての表示データが演算装置1から供給される。ディスプレイ3は、例えば、演算装置1の音声認識処理等の結果、ナビゲーション装置の機能により得た演算結果、地図等を表示する。
スピーカ(提示手段)4は、ユーザに対して音声を出力する。スピーカ4には、演算装置1の演算結果としての音響データが演算装置1から供給される。スピーカ4は、例えば、演算装置1の音声認識処理等の結果、ナビゲーション装置の機能により得た演算結果、経路案内用音声等を出力する。
入力装置(入力手段)5は、ユーザによって各種の操作を行う操作釦、操作ダイヤル等からなる。この入力装置5は、音声認識を開始するときに操作される音声認識開始ボタン5a、音声認識及びナビゲーション処理等をキャンセルするキャンセルボタン5bを含む。
演算装置1は、音声認識部(音声認識手段)11と、理解結果ID生成部(音声理解手段)12と、システム挙動決定部13と、アプリケーション実行部14とを備える。
音声認識部11は、記憶部21と、分析部22と、照合部23とを備える。
記憶部21は、音声認識部11による音声認識処理に必要な各種の情報を記憶するハードディスク装置等からなる。記憶部21は、音響モデルデータベース21a、認識すべき単語を登録した単語辞書データベース(単語テーブル)21b、単語の接続規則を示した文法データベース21cを記憶している。音響モデルデータベース21aは、音声の特徴量と発音記号との対応関係をデータ化して構成されている。単語辞書データベース21bは、認識対象の単語をデータ化して構成されている。文法データベース21cは、単語辞書データベース21bに登録された単語ごとの出現確率、単語同士の接続確率をデータ化したものである。
単語辞書データベース21bは、図3(a)に示すように、各単語である表示文字列101及び発話記号102と、単語の役割により異なる符号位置に当該単語の意味情報を含む符号列とされた単語ID103(識別情報)とを対応付けて登録したものである。単語ID103は、4桁データであり、上位2桁(上位2個の符号位置)が目的語用識別符号列103aとなっており、下位2桁(下位2個の符号位置)が述語用識別符号列103bとなっている。
このような単語ID103は、ユーザが発話する音声における単語の役割により異なる符号位置に当該単語の意味情報を含む符号列となっている。ここで、単語の役割とは、目的語となる「現在地」、「電話番号」と、述語となる「登録」、「表示」とで異なる。また、異なる符号位置とは、4桁データのうちの上位2桁と下位2桁である。更に単語の意味情報とは、「現在地」、「電話番号」、「登録」、「表示」である。したがって、この単語ID103は、上位2桁を目的語用識別符号列103aとし、当該目的語用識別符号列103aによって目的語を表し、下位二桁を述語用識別符号列103bとし、当該述語用識別符号列103bによって述語を表している。
なお、以下の説明においては、単語ID103に目的語用識別符号列103a及び述語用識別符号列103bを含む説明をしているが、識別情報における所定の符号位置に、音声における他の役割(主語、助詞、命令語など)を割り当てても良いことは勿論である。
これに対し、後述のアプリケーション実行部14にて理解結果IDを認識する理解結果IDテーブル14aは、図3(b)に示すように、理解結果ID201とアプリケーション実行部14にて実行する機能を示す機能情報202が登録されている。なお、機能情報202は、図示しているように機能名ではなく、アプリケーション実行部14が動作するコマンドであっても良い。
分析部22は、マイク2から供給された音声信号をディジタル化した音声データに変換し、当該音声データを分析して音声の特徴量を生成する。例えば、音声信号に対してフーリエ解析等を行って、後段の照合部23の処理に適した情報を特徴量として抽出する。
照合部23は、分析部22によって取得された音声の特徴量と、記憶部21に記憶された音響モデルデータベース21a、単語辞書データベース21b、文法データベース21cとを用いて、音声認識結果を生成する。照合部23は、分析部22から供給された音声の特徴量と音響モデルデータベース21aに登録された音声の特徴量とを照合して、分析部22から供給された音声の特徴量に最も近い当該音響モデルデータベース21aに登録された音声の特徴量に対応した発話記号(文字列)を認識する。照合部23は、認識した発話記号と単語辞書データベース21bに登録されている表示文字列101とを照合して、認識した発話記号に最も近い単語辞書データベース21bに登録されている表示文字列101に対応した単語ID(識別情報)103を認識する。なお、表示文字列101及び単語ID103には、発話記号102が対応付けられている。
照合部23は、分析部22から複数の音声の特徴量を取得して、マイク2に入力された音声について複数の単語ID103を取得することができる。そして、照合部23は、複数の単語ID103に対して、文法データベース21cを用いて単語の出現確率、単語同士の接続確率に基づく処理を行う。なお、この文法データベース21cを用いた処理については後述する。このように照合部23は、複数の単語ID103を取得して、理解結果ID生成部12に供給する。このように音声認識部11は、マイク2により入力した音声を認識し、音声認識結果として複数の単語を生成する。
理解結果ID生成部12は、音声認識部11から供給された複数の単語ID103同士を演算して、音声の理解結果を示す符号列である理解結果IDを生成する。理解結果ID生成部12は、複数の単語ID103における同じ桁の符号毎に加算処理を行い、音声の理解結果を示す符号列である理解結果IDを生成する。
システム挙動決定部13は、理解結果ID生成部12により生成された理解結果IDと、入力装置5から供給された入力信号とを用いて、音声認識システムの挙動を決定する。システム挙動決定部13は、音声認識開始ボタン5aが操作された後には、照合部23から理解結果ID生成部12から供給された理解結果IDをアプリケーション実行部14に供給する。また、キャンセルボタン5bが操作された後には、システム挙動決定部13は、理解結果ID生成部12から理解結果IDが供給されてもアプリケーション実行部14には当該理解結果IDを供給しない。また、アプリケーション実行部14の機能実行中にキャンセルボタン5bからの入力信号を入力した場合、当該アプリケーション実行部14の機能を停止させる。
アプリケーション実行部14は、システム挙動決定部13から供給された理解結果IDに従って、当該理解を実現するアプリケーション処理を行う。このとき、アプリケーション実行部14は、予め記憶しておいた図3(b)のような理解結果IDテーブル14aを参照して、理解結果ID201に対する機能情報202を認識し、当該機能を実行させる。そして、アプリケーション実行部14は、アプリケーション処理により得た演算結果としての表示データをディスプレイ3に供給する処理、アプリケーション処理により得た演算結果としての音声データをスピーカ4に供給する処理を行う。
例えば、アプリケーション実行部14により実行されるアプリケーション処理がナビゲーション処理である場合において、図3に示すように、理解結果ID「1111」に機能情報「現在地登録」が対応しているときには、アプリケーション実行部14は、図示しないGPS信号から現在地を取得して、現在地を示す緯度及び経度を図示しない記憶部に記憶させる登録処理を行い、当該現在地の登録処理が完了したことを示す表示データをディスプレイ3に供給する処理又は音声データをスピーカ4に供給する処理を行う。
このように音声認識システムは、マイク2から入力された音声が演算装置1に入力された場合に、入力された音声を認識及び理解し、その理解結果に応じたアプリケーション処理を実行した後、アプリケーション処理の実行結果をディスプレイ3及びスピーカ4を使ってユーザに提示することができる。
「音声認識システムの処理手順」
つぎに、上述したように構成された音声認識システムの具体的な処理手順について、図2のフローチャート及び図3乃至図7の説明図を参照して説明する。
先ずステップS1において、ユーザによって発話された音声がマイク2によって検出され、音声信号が演算装置1に入力されると、ステップS2に処理を進める。
ステップS2において、音声認識部11内の分析部22は、入力された音声の特徴量分析を行い、分析部22により分析された結果を照合部23に供給する。
次のステップS3において、照合部23は、音響モデルデータベース21a、認識すべき単語を登録した単語辞書データベース21b、単語の接続規則を示した文法データベース21cを用いて、照合処理を行う。このとき、照合部23は、分析部22によって取得された音声の特徴量と音響モデルデータベース21aとの照合して、入力された音声の特徴量に基づく単語を取得し、当該単語と単語辞書データベース21bとを照合して、入力された音声の単語ID103を取得し、複数の単語と文法データベース21cとを照合して文法に沿った複数の単語列を取得する。ここで、単語辞書データベース21bには、認識すべき発話に含まれる単語ごとに、表示文字列101及び発話記号102とともに、後述の理解結果IDの生成処理で使用する単語ID103が記述されている。照合部23は、音声認識の結果として、単語辞書データベース21bに登録されている複数の単語ID103からなる単語ID列を出力する。
次のステップS4において、理解結果ID生成部12は、ステップS3にて照合部23が出力した単語ID列から、システム挙動を決定するための理解結果IDを生成し、システム挙動決定部13に供給する。
次のステップS5において、システム挙動決定部13は、ステップS4にて理解結果ID生成部12が生成した理解結果ID、入力装置5からの信号に応じてシステム挙動を決定する。そして、システム挙動決定部13は、決定したシステム挙動に応じて理解結果IDをアプリケーション実行部14に供給する。
次のステップS6において、アプリケーション実行部14は、ステップS5にて供給された理解結果IDを用いて理解結果IDテーブル14aを参照し、当該理解結果IDに従って所定のアプリケーション処理を実行する。
次のステップS7において、アプリケーション実行部14は、ステップS6にて実行したアプリケーション処理の結果をディスプレイ3及びスピーカ4によってユーザに提示する。
このような処理を行う音声認識システムにおいては、例えば図4に示す単語辞書データベース21bを予め音声認識部11に記憶しておく。図4の単語辞書データベース21bにおける単語ID103は、1桁が4ビットの16ビットである。
図4には、単語辞書データベース21bに、理解結果において目的語の役割を果たす単語「現在地」、「電話番号」、理解結果において述語の役割を果たす単語「登録」、「表示」に分類されている。目的語の役割を果たす単語は、4桁の単語ID103のうち上位2桁の目的語用識別符号列103aを使用し、述語の役割を果たす単語は、4桁の単語ID103のうち下位2桁の述語用識別符号列103bを使用している。使用しない符号は全て「0」としておく。例えば、理解結果において目的語の役割を果たす「現在地」は、上位2桁の目的語用識別符号列103aのみを使用して、述語用識別符号列103bは「00」となるので、全体としては「1100」となる。
例えば、単語辞書データベース21bには、表示文字列101としての「現在地」、発話記号102としての「げんざいち」、単語ID103としての「1100」が対応付けて登録されている。単語ID103としての「1100」のうち、上位2桁の「11」は目的語用識別符号列103aであり、下位2桁の「00」は述語用識別符号列103bである。すなわち、「1100」という単語ID103のうちの一部の「11」は、理解結果IDに目的語である「現在地」なる意味を持たせる役割となり、「00」は目的語とはならない。また、「1100」という全体により他の全ての単語と識別される。
単語辞書データベース21bには、表示文字列101としての「登録」、発話記号102としての「とうろく」、単語ID103としての「0013」が対応付けて登録されている。単語ID103としての「0013」のうち、下位2桁の「13」は述語用識別符号列103bであり、上位2桁の「00」は目的語用識別符号列103aである。すなわち、「0013」という単語ID103のうちの一部の「13」は、理解結果IDに述語である「登録」なる意味を持たせる役割となり、「00」は述語とはならない。また、「0013」という全体により他の全ての単語と識別される。
このような単語辞書データベース21bを用いて、照合部23は、入力された音声の発話記号が単語辞書データベース21bに記された発話記号102と一致した場合に、認識結果として単語ID103を出力する。そして、照合部23は、単語同士の接続を文法データベース21cに基づいて判断する。具体的には、文法データベース21cは、ネットワーク文法のように単語間の接続規則を細かく指定する文法を使用して定義してもよい。また、文法データベース21cは、単語や単語クラスの間の接続可能性を確率で定義しも良く、単語N−Gram方式やクラスN−Gram方式のようにほぼ全ての単語間の接続を許すように定義してもよい。
本実施形態では、図4の辞書に登録されている全ての単語間の接続可能性を記した単語N−Gram方式を使用した文法データベース21cを用いて音声認識した場合を想定する。この場合、全ての単語が順不同、組み合わせ自由に認識結果として出力される可能性がある。例えば、ユーザが「現在地登録」と発話すると、照合部23は、「現在地」「登録」という単語の並びを発話された可能性が高い認識結果と判定する。その際、認識結果としては、単語辞書データベース21bにおいて、「現在地」に対応づけられた単語ID「1100」と、「登録」に対応づけられた単語ID「0013」とを認識結果とし、理解結果ID生成部12に出力することができる。
理解結果ID生成部12は、照合部23から供給された単語ID列を用いて理解結果となる理解結果IDを生成する。この時、理解結果ID生成部12は、図5に示すように、単語ID103の桁ごとに、所定の演算ルールに従って演算を行う。そして、各桁の演算結果を組み合わせて、単語ID103同士の組み合わせによる理解結果IDを生成する。
この理解結果ID生成部12による所定の演算ルールは、複数の単語ID103における同じ桁の符号毎に加算して音声の理解結果を示す符号列(理解結果ID)を生成するために、
A+A=A
A+0=A
0+A=A
0+0=0
A+B=演算不可
ただし、A≠0、B≠0、A≠B
という所定の演算ルールに従った演算を行う。すなわち、(1)0以外の値Aと0とを演算した場合には0以外の値Aが演算結果となる。(2)同じ値同士を演算した結果は元の値と同じ値が演算結果となる。(3)0以外の異なる値同士は演算不可能とする。また、演算する単語ID103の中に一つでも演算不可能な桁が含まれている場合、当該単語ID103同士の組み合わせは理解結果IDを出力できない組み合わせとして、何れも理解結果IDの演算から外すか、どちらか一方の単語ID103を理解結果IDとしても良い。
図5(a)に示すように、先ず、「現在地」の単語ID「1100」と「登録」の単語ID「0013」とを1桁ごとに所定の演算ルールに従って演算する。全ての桁において、一方の単語ID103が0以外の値、他方の単語ID103が0であるため、0でない値を各桁の演算結果とする。そして、各桁の演算結果をそのまま並べた「1113」が「現在地」の単語ID「1100」と「登録」の単語ID「0013」とよって演算された理解結果IDとなる。
図5(b)に示すように、2進数で単語ID103を表現した場合、理解結果ID生成部12による演算は、「1」と「0」との演算とはなる。しかし、16進数で単語ID103を表現した場合と同様の所定の演算ルールに従って、理解結果IDを得ることができる。なお、理解結果ID生成部12による所定の演算ルールに基づく単語ID103の演算において、単語ID103におけるどの桁で区分するかは、認識対象となる単語数の規模等に応じて設定することができる。例えば図6に示すように、桁数が一様でない符号列の集合として単語ID103を設定してもよい。この図6に示す単語ID103は、2bit表現であり、上位から、2桁、6桁、8桁で表現されており、他の単語ID103同士の演算もそれぞれ同じく2桁、6桁、8桁単位で行うこととなる。
なお、上述した図4のような単語辞書データベース21bにおいて、「現在地」の単語ID「1100」と「表示」の単語ID「0011」とが音声認識結果として得られた場合、理解結果ID生成部12によって理解結果ID「1111」を生成して、アプリケーション実行部14によって現在地の表示処理を行っていた。しかし、理解結果IDテーブル14aは、図7に示すように、理解結果ID201の符号列「1100」(「現在地(1100)」のみ)と理解結果ID201の符号列「1111」(「現在地(1100)」+「表示(0011)」)のように、異なる理解結果ID201であっても同じ機能情報202となる理解結果ID201としても良い。
以上詳細に説明したように、本発明の第1実施形態に係る音声認識システムによれば、予め各単語と、単語の役割により異なる符号位置に当該単語の意味情報を含む符号列とされた単語ID103とを対応付けて登録しておき、マイク2により入力した音声を認識して音声認識結果として複数の単語を生成すると、認識された複数の単語に対応した単語辞書データベース21bにおける複数の単語ID103の符号列同士を演算して、音声の理解結果を示す符号列を生成することができる。したがって、この音声認識システムによれば、単語ID103を直接演算してユーザが発話した音声の理解結果を生成でき、複数の単語からなる組み合わせごとにID及び意味を設定する必要がなく、メモリ容量を少なくすることができる。
また、この音声認識システムによれば、複数の単語ID103における同じ桁の符号毎に加算して音声の理解結果を示す符号列を生成するので、単純な演算のみで理解結果IDを生成でき、短時間での処理が可能となる。
[第2実施形態]
つぎに、本発明の第2実施形態について説明する。なお、上述した実施形態と同じ部分については同一符号を付することによりその詳細な説明を省略する。
第2実施形態として示す音声認識システムは、図8に示すように、単語ID103に、他単語の識別情報と演算された場合に理解結果IDが生成可能か否かを表す演算可否符号103cを含める。そして、理解結果ID生成部12は、複数の単語ID103を取得した場合に、各単語の単語ID103に含まれる演算可否符号103cを参照して、理解結果IDが生成可能な各単語ID103の符号列同士を演算する。
図8に示すように、上述した目的語用識別符号列103a及び述語用識別符号列103bよりも先頭の符号位置に、演算可否符号103cを付加している。演算可否符号103cは、単語ID103間において異なる値である場合には当該単語同士を演算して理解結果IDが作成可能であることを示す。一方、演算可否符号103cは、単語ID103間において同じ値である場合には当該単語同士を演算しても理解結果IDが作成不可能であることを示す。また、どの単語と演算しても理解結果IDが作成できる単語には、演算可否符号103cとして所定の値を付加しても良い。
例えば、「行き先」と「登録」は演算可否符号103cの値が異なるので理解結果IDが作成できない。また、表示「00001」は演算可否符号103cが「0」であるため、全ての単語ID103との間で理解結果IDが演算可能となる。ただし、表示「00001」は、聞く「20021」との間で理解結果IDの演算を行っても、5桁目にて理解結果IDの演算は不可となる。
このように演算可否符号103cを含む単語ID103を用いても、当該演算可否符号103cが理解結果IDに影響を与えない場合には、単語ID103同士の演算結果である理解結果IDから演算可否符号103cを削除した符号列を、理解結果IDとしてもよい。例えば図8に示す単語辞書データベース21bを用いて理解結果IDを演算する場合、理解結果IDテーブル14aは、図9に示すようになる。
この理解結果IDテーブル14aは、図8に示した単語辞書データベース21bに登録された単語を任意の組み合わせで認識した場合に生成される可能性のある理解結果が登録されている。ここで、図8の単語ID103の上位1桁は、演算可否符号103cであり、理解結果には影響を与えない。このため、理解結果ID201は、演算可否符号103cを削除した符号列からなるものとしている。
例えば、目的地の単語ID「11300」と表示の単語ID「00001」との理解結果ID生成部12による演算結果は符号列「11301」である。しかし、当該演算結果の上位1桁はアプリケーション実行部14による機能の理解には不要である。したがって、当該演算結果のうちの上位1桁をため削除し、符号列「1301」を理解結果IDとする。
このように音声認識システムは、第1実施形態と同様に単語ID103を直接演算してユーザが発話した音声の理解結果を生成できる効果に加えて、単語ID103に演算可否符号103cを含めた単語辞書データベース21bを用いる場合、単語ID103同士の演算の最初に演算可否符号103cの演算を行うことで、効率的に単語ID103の演算を行って理解結果IDを生成することができる。すなわち、音声認識部11から供給された単語ID103の全てに対して所定の演算ルールに従った演算を行って理解結果ID201を求める必要なく、全体を演算する前に演算可否符号103cのみを演算して、組み合わせることが不可能な単語ID103同士の演算を省くことができる。
[第3実施形態]
つぎに、本発明の第3実施形態について説明する。なお、上述した実施形態と同じ部分については同一符号を付することによりその詳細な説明を省略する。
第3実施形態として示す音声認識システムは、理解結果ID201を削減することによって理解結果IDテーブル14aのデータ容量を削減するものである。
例えば、N個の単語を自由に組み合わせて理解結果IDを生成するとした場合、同一の単語を重複して選択しない場合でも、2項定理により2^n個の組み合わせ(理解結果ID)が生成される。理解結果IDの種類が増えると、理解結果IDテーブル14aのデータ容量が大きくなるため、生成される可能性のある理解結果IDの種類はできるだけ少なくなるほうが望ましい。生成される可能性のある理解結果IDの種類を減らすためには、次に3つの手法が挙げられる。
第1の手法は、単語同士の組み合わせが意味をなさない単語同士には演算不可能となるような単語IDを付与することによって、当該の組み合わせでは理解結果IDを生成しないようにする。
第2の手法は、同じアプリケーション処理の機能に割り当てられる理解結果IDは、異なる単語IDの組み合わせによって得られる場合であっても同じ理解結果IDを生成できるように、単語IDの符号列を設定する。
第3の手法は、文法によって単語ID同士の接続を制限し、認識結果として出力される単語IDの組み合わせである理解結果IDの生成そのものを制限する。
「第1の手法」
第1の手法は、各単語ID103の符号列は、組み合わせても意味をなさない他の単語ID103の符号列と演算されても、理解結果ID生成部12によって理解結果ID201を生成できないように設計するものである。
この手法は、例えば図3(a)に示す単語辞書データベース21bに登録された単語ID103のうち、「現在地」と「電話番号」とは、相互に接続されてもアプリケーション実行部14の機能として存在しない組み合わせである。このため、「現在地」に符号列「1100」、「電話番号」に符号列「1200」の単語ID103を付与している。これにより、当該二つの単語の組み合わせでは、上記の所定の演算ルールでは理解結果IDを生成できないようにすることができ、理解結果IDテーブル14aに「現在地」と「電話番号」とを組み合わせた理解結果IDを登録することを回避できる。
「第2の手法」
第2の手法は、複数の単語を組み合わせられてなる複合語の識別情報の符号列を、当該複数の単語ID103同士を演算して得られる理解結果IDと同じとして登録するものである。
第2の手法は、異なる単語の組み合わせであっても同じアプリケーション実行部14の機能であれば、同じ理解結果IDを生成するものである。このために、単語辞書データベース21bは、図4に示したように同じ意味を指し示す単語には、同じ単語ID103を付与している。
また、第2の手法によれば、2つ以上の単語の組み合わせによって得られる複数の単語と同じ機能を意味する複合語には、2つ以上の単語を組み合わせた機能を示す理解結果ID201と同じになるような単語ID103とする。具体的には、図10に示すように、目的語又は述語である単語101のみならず、目的語と述語を組み合わせた複合語101’も単語辞書データベース21bに登録する。具体的には、単語「自宅」の単語ID103が「1300」であり単語「帰る」の単語ID103が「0015」である場合、複合語101’の「帰宅」の単語ID103は、「1315」とする。この複合語101’の単語ID103は、単語ID「1300」と「0015」とを所定の演算ルールによって演算して得られる符号列である。
これにより、理解結果IDテーブル14aには、音声認識部11によって「自宅」と「帰る」とが認識された時の理解結果ID201と、音声認識部11によって「帰宅」が認識された時の理解結果ID201を別個に設定することなく、同じ理解結果ID201に対して「自宅」と「帰る」との組み合わせと「帰宅」とを対応付けることができる。従って、理解結果IDテーブル14aのデータ容量を削減できる。
「第3の手法」
第3の手法は、組み合わせても意味をなさない単語ID103を同じ単語グループとするように単語辞書データベース21bを作成する。そして、音声認識部11は、複数の単語ID103のうち単語辞書データベース21bにおいて異なる単語グループの単語ID103のみを理解結果ID生成部12に出力する。これにより、理解結果ID生成部12は、異なる単語テーブル同士の単語ID103のみを用いて、理解結果ID201を生成する。
図11に示すように、単語辞書データベース21bは、第1単語グループ211と、第2単語グループ212とに区分して各単語を登録している。この第1単語グループ211及び第2単語グループ212とは、上述した演算可否符号103cと同様に、単語ID103にグループ識別子を付加することによって、照合部23にグループが識別される。
具体的には、「現在地」と「電話番号」、「登録」と「表示」は、意味をなさない単語の組み合わせであるため、これらを同じ単語グループとする。そして、照合部23は、異なる単語グループ同士内の単語の接続のみを許すために、先ず第1単語グループ211の何れかの単語を選択し、次に第2単語グループの何れかの単語を選択する文法ルールに従って、単語ID103を取得する。したがって、この文法に従って照合部23によって認識可能な認識結果は、現在地「1100」、電話番号「1200」、登録「0013」、表示「0011」、現在地登録「1113」、現在地表示「1111」、電話番号登録「1213」、電話番号表示「1211」の8通りとなる。これにより、理解結果ID生成部12は、単語同士の組み合わせが可能とされた単語ID103のみを用いて理解結果IDの演算を行うことができ、単語ID103の組み合わせの全てについて理解結果ID201を登録する必要を無くして理解結果IDテーブル14aのデータ容量を削減できる。
以上のように、第3実施形態として示す音声認識システムによれば、第1実施形態と同様に単語ID103を直接演算してユーザが発話した音声の理解結果を生成できる効果に加えて、第1の手法乃至第3の手法の何れかを採用することにより、理解結果IDテーブル14aのデータ容量を削減できる。
具体的には、音声認識システムによれば、各単語の単語ID103は、組み合わせても意味をなさない他の単語ID103と演算されても、理解結果ID生成部12によって理解結果ID201を生成できないように設計されている。これにより、連続して発話されることがない単語同士によって理解結果IDを作成することなく、理解結果IDテーブル14aのデータ容量を削減することができる。
また、文法データベース21cは、複数の単語を組み合わせられてなる複合語101’の単語ID103を、当該複数の単語ID103同士を演算して得られる理解結果ID201と同じとして登録されている。これにより、同じ意味内容の複数の単語から得た理解結果IDと複合語から得た理解結果IDとを別個に理解結果IDテーブル14aに登録する必要はなく、理解結果IDテーブル14aのデータ容量を削減できる。
更に、単語辞書データベース21bは、組み合わせても意味をなさない単語ID103を同じ単語グループとし、理解結果ID生成部12は、複数の単語ID103のうち単語テーブルにおいて異なる単語グループの識別単語ID103を演算して、理解結果ID201を生成する。これにより、同じ単語テーブル内の単語ID103同士によって演算された理解結果IDを理解結果IDテーブル14aに登録する必要なく、理解結果IDテーブル14aのデータ容量を削減できる。
[第4実施形態]
つぎに、本発明の第4実施形態について説明する。なお、上述した実施形態と同じ部分については同一符号を付することによりその詳細な説明を省略する。
上述した第3実施形態における第1の手法のように、組み合わせが意味をなさない単語同士には演算不可能となるような単語IDを付与した場合であっても、演算不可能な組み合わせの単語が認識結果として出力されることがある。この場合、単語ID同士の演算が不可能であるために理解結果ID生成部12によって理解結果IDが得られないため、ユーザに再入力を促すか、他の単語の組み合わせから理解結果IDを得る必要がある。
このような場合、音声認識システムは、一度の発話に対する認識結果から、複数の理解結果IDからなる理解結果候補を生成する必要が生じる。すなわち、第4実施形態として示す音声認識システムは、理解結果ID生成部12により、2つ以上の単語ID103が得られた場合に、複数の理解結果ID201を生成するものである。
例えば、図4に示した単語辞書データベース21bを備え、任意の組み合わせの単語を認識した場合に、電話番号「1200」、表示「0011」、ここ「1100」という音声認識部11の認識結果としての単語IDが得られたとする。そして、理解結果ID生成部12によって当該3個の単語を組み合わせる場合は、2個の単語を組み合わせた結果の理解結果IDと、残り1個の単語の単語IDとの演算することで、同じ所定の演算ルールにより理解結果を得ることができる。しかし、この場合、認識結果の最初に現れた2つの単語の電話番号「1200」、表示「0011」を用いた理解結果ID生成部12による演算結果が、符号列「1211」であり、残りの単語のここ「1100」とは上位2桁目が異なる値ために、所定の演算ルールでは演算が不可能となる。したがって、音声認識部11による認識結果により得られた3個の単語の全てを含む組み合わせを用いると、理解結果ID生成部12により理解結果IDを得ることはできない。
よって、この組み合わせ以外の単語の組み合わせから理解結果を得る方法について説明する。
先ず、理解結果IDを演算する単語を減らす方法が挙げられる。つまり、3個の単語の全てを使用する組み合わせから、何れか1個の単語を除いた2個の単語のみを使用して理解結果を生成する。2個の単語を用いる場合、次の3パターンの組み合わせとなる。
(1)電話番号「1200」+表示「0011」=理解結果ID「1211」
(2)電話番号「1200」+ここ「1100」=演算不可
(3)表示「0011」+ここ「1100」=理解結果ID「1111」
この組み合わせのうち、(2)については、所定の演算ルールに従って単語IDの演算が不可能なので、理解結果IDが得られない無効な組み合わせとなる。このように理解結果ID生成部12は、2つ以上の単語ID103が得られた場合に、複数の理解結果の候補を生成することができる。そして、これらの理解結果の候補から、理解結果ID生成部12によって、最適な理解結果IDを選択して、アプリケーション処理を実行することができる。
また、3個の単語の組み合わせから1個の単語を減らして理解結果IDを演算したが、3個の単語から2個の単語を減らして、1個の単語のみから生成する理解結果IDも理解結果の候補とすることができる。この場合、上述の(2)を除く
(1)電話番号「1200」+表示「0011」=理解結果ID「1211」
(3)表示「0011」+ここ「1100」=理解結果ID「1111」
に加えて、
(4)電話番号「1200」=理解結果ID「1200」
(5)表示「0011」=理解結果ID「0011」
(6)ここ「1100」=理解結果ID「1100」
という5個の理解結果IDからなる理解結果候補から最適なものを理解結果ID生成部12によって選択して、アプリケーション実行部14によって処理を実行することができる。
複数の理解結果IDからなる理解結果候補が得られた場合、理解結果ID生成部12は、何れかの理解結果IDを選択する必要がある。このために、理解結果ID生成部12は、理解結果ID生成部12により生成された理解結果IDを評価するスコアを計算する。そして、理解結果IDのスコアが高いほど、入力された単語に対して最適な理解結果IDであるとして選択することができる。
例えば、理解結果ID生成部12は、理解結果ID生成部12が理解結果ID201を生成するために用いた単語IDの認識しやすさに基づいて、当該理解結果ID201を評価するスコアを計算しても良い。また、単語辞書データベース21bに、単語ID103に対応付けて優先順位を登録しておき、理解結果ID生成部12は、理解結果ID201を生成するために用いた単語に対応付けられた優先順位を参照して、当該理解結果ID201を評価するスコアを計算しても良い。
また、理解結果IDの候補から何れかの理解結果IDを選択する方法は、音声認識処理によって得られる認識結果としての単語IDごとの音声認識尤度に従って、認識結果としての各単語の信頼度を計算し、当該単語信頼度から各理解結果のスコアを求め、最も高いスコアの理解結果を選択しても良い。ここで、尤度とは音声認識結果から得られる音声信号列がYである時、使用者が発話した音声信号列がWである事後確率で定義される値で、「音声信号列に関する仮説Wに対し、音声信号列Yが観測される事前確率」と「音声信号列Wが発話される確率」との積と、音声信号列Yが観測される確率との比のうち最大確率である。そして、信頼度とは、複数の認識結果から、この認識結果に含まれる単語と、これら単語の分類を示すクラスにおける尤もらしさである。なお、この単語の信頼度の演算方法は、例えば特開2004−251998号公報に記載された既知の技術を用いることにより実現することができる。また、最も音声認識の尤度が高い認識結果である単語IDから理解結果IDが得られた場合であっても、複数の理解結果IDの候補を生成し、文脈等の音響尤度以外の情報を考慮した上で、最適な理解結果IDを選択してもよい。
なお、上述した音声認識システムは、認識結果に含まれる全ての単語IDを使用して理解結果IDが得られない場合は、他の理解結果の候補を全て生成して、その中から最適なものを選択している。しかし、理解結果IDを演算している途中で、認識結果に含まれる単語IDを採用するかどうかを決定しても良い。
例えば、電話番号「1200」、表示「0011」、ここ「1100」の3個の単語が音声認識された場合に、最初の認識結果である単語IDから順に理解結果IDの演算を行っていく。まず初めに、電話番号「1200」と表示「0011」とを用いて理解結果IDの演算をし、理解結果ID「1211」を得る。次に、この理解結果IDと残りの認識結果であるここ「1100」の単語IDとを用いた演算をするが、上位から2桁目の値が異なるため演算不可能である。
そこで、電話番号「1200」、表示「0011」それぞれとここ「1100」を演算した時に、どちらの単語によって理解結果IDの演算が不可能になっているのかを調べる。電話番号「1200」と、ここ「1100」とによる理解結果IDの演算が不可能であるため、何れか一方の単語IDを選択する必要がある。
ここで、どちらの単語を選択するかについては、先に述べた単語の信頼度を使用しても良く、過去に音声認識部11によって認識されている発話履歴や、一般的な発話頻度が高い単語を優先的に選択することが望ましい。また、予め各単語の認識正解率を単語や単語組み合わせごとに調べておき、正解率が高い単語の組み合わせを選択して理解結果IDを演算しても良い。
更に、これらの発話履歴、一般的な発話頻度、正誤率などの統計情報のほかに、音声認識システムがとる次の挙動を決定するために重要な役割を果たす単語を優先的に選択し、他の入力から意味を補完される可能性の高い単語は選択しなくても良い。この場合、単語ごとの優先順位103dは、図12に示すように、単語ID103に含めて単語辞書データベース21bを構築する。図12に示す単語辞書データベース21bは、最上位の桁が単語ごとの優先順位を示しており、理解結果IDの演算には使用されない。また、この単語ID103のうちの上位から2桁は上述した目的語用識別符号列103a、下位の2桁は述語用識別符号列103b、中間の2桁は形容詞用の符号列103eとなっている。なお、目的語用識別符号列103a及び述語用識別符号列103bは、上述した4桁である場合にかぎるものではない。
これにより、理解結果ID生成部12は、優先順位103dとしての1桁目の数値が小さい単語を優先順位の高い単語として優先的に採用して、理解結果IDを生成することができる。例えば、コンビニ「1120000」やガソリンスタンド「1130000」には、表示「3000011」や探す「3000011」と比較して高い優先順位を付与しており、複数の理解結果IDからなる理解結果候補が得られた場合には、優先的に理解結果IDの演算に使用される。
以上説明したように、第4実施形態として示した音声認識システムによれば、第1実施形態と同様に単語ID103を直接演算してユーザが発話した音声の理解結果を生成できる効果に加えて、2つ以上の単語ID103が得られた場合に、複数の理解結果IDを生成するので、生成した単語の組み合わせから適切な理解結果が得られない場合であっても、他の単語の組み合わせによる理解結果を選択することができる。
また、この音声認識システムによれば、理解結果ID生成部12により、単語ID103同士の演算が不可能な単語の組み合わせは無効とするので、当該単語の組み合わせを理解結果として採用しないため、理解結果IDに対応する理解結果IDテーブル14aを検索することなしに、単語同士の組み合わせ可否を決定することができる。
更に、この音声認識システムによれば、理解結果IDを評価するスコアを計算するので、スコアが高い組み合わせを理解結果として選択できるため、発話に対して正解の理解結果である可能性が高い組み合わせを理解結果として選択することができる。
更にまた、この音声認識システムによれば、単語辞書データベース21bに単語ID103応付けて優先順位103dを登録し、理解結果IDを生成するために用いた単語に対応付けられた優先順位103dを参照して、当該理解結果ID201を評価するスコアを計算するので、優先順位の高い単語ID103を優先的に用いて理解結果IDを生成でき、全ての組み合わせについて理解結果IDを生成することを回避できる。
更にまた、この音声認識システムによれば、音声認識結果である単語ID103の尤度に従って当該音声認識結果を用いて取得された単語の信頼度を演算し、当該単語の信頼度に基づいて、当該理解結果IDを評価するスコアを計算するので、発話に対してより正解である可能性が高い単語の組み合わせを理解結果として選択することができる。
更にまた、この音声認識システムによれば、理解結果IDを生成するために用いた単語の認識しやすさに基づいて、当該理解結果IDを評価するスコアを計算するので、発話に対してより正解である可能性が高い単語の組み合わせを理解結果として選択することができる。
更にまた、この音声認識システムによれば、音声認識により認識された単語の発話履歴に基づいて、理解結果IDを評価するスコアを計算するので、過去に発話された単語を優先的に選択することができ、より発話された可能性が高い単語の組み合わせを理解結果として選択することができる。
[第5実施形態]
つぎに、本発明の第5実施形態について説明する。なお、上述した実施形態と同じ部分については同一符号を付することによりその詳細な説明を省略する。
第5実施形態として示す音声認識システムは、理解結果ID生成部12により生成された音声の理解結果をディスプレイ3又はスピーカ4により提示し、理解結果に対する誤りをユーザによるキャンセルボタン5bの操作によって入力した時に、理解結果ID生成部12によって、提示した音声の理解結果とは異なる音声の理解結果を生成するものである。ここで、音声の理解結果は、音声認識部11が認識した理解結果IDに対応した機能情報202に限らず、当該理解結果IDに従ってアプリケーション実行部14が動作した結果として理解結果を提示しても良い。
この音声認識システムは、図13に示すように動作する。図13によれば、先ず、第1実施形態と同様にステップS1乃至ステップS3を行った後に、理解結果ID生成部12は、ステップS11において、複数の単語IDから複数の理解結果IDからなる理解結果候補を生成する。この際、理解結果ID生成部12は、照合部23からは認識結果としてのN−bestを受け取り、理解結果IDの候補も複数個生成する。
次のステップS12において、ステップS11にて生成された複数の理解結果IDからなる理解結果候補がシステム挙動決定部13に供給されると、システム挙動決定部13は、各理解結果IDに応じたシステム挙動の候補を生成する。この時、システム挙動決定部13は、音声認識結果としての単語IDの尤度、直前のシステム応答など状況を総合的に判断して、各システム挙動である理解結果IDの候補にスコアを付与する。
次のステップS5において、システム挙動決定部13は、ステップS12にて決定されたシステム挙動である理解結果IDのスコアに応じて、最適なシステム挙動である理解結果IDを選択する。
次のステップS13において、システム挙動決定部13は、ステップS5にて選択したシステム挙動である理解結果IDのスコアが、閾値Xより高いか否かを判定する。この閾値Xは、システム挙動を評価するための単語IDの尤度などに応じて予め設定しておくものである。そして、選択したシステム挙動である理解結果IDのスコアが閾値Xよりも低い場合には、適当なシステム挙動が選択できなかったと判断して、ステップS16に処理を進める。
ステップS16において、アプリケーション実行部14は、ディスプレイ3、スピーカ4を駆動させて、ユーザに発話の再入力を要求する応答を出力する。
選択したシステム挙動である理解結果IDのスコアが閾値Xよりも高い場合は、ステップS14に処理を進め、音声認識システムは、決定したシステム挙動がユーザの意図に一致するかどうかを確認する。このために、理解結果IDによってアプリケーション実行部14によるアプリケーション処理の実行確認を行う。この実行確認は、ユーザに意図に沿わない場合のみ音声認識の間違いを訂正するための操作をすればいいような表示又は音声出力を行う。例えば、「○○を検索します。」のように、明示的にユーザの入力を求めない応答にする。
次のステップS15において、システム挙動決定部13は、ステップS14にて実行確認した後の所定期間内に、キャンセルボタン5bからの入力信号を入力したか否かを判定することにより、システム挙動がキャンセルされたか否かを判定する。システム挙動がキャンセルされた場合にはステップS5に処理を戻す。この場合、システム挙動決定部13は、システム挙動である理解結果IDの選択をやり直すため、ステップS5において以前に提示してキャンセルされたシステム挙動を除いたシステム挙動の中から最もスコアが高いシステム挙動を選択し、ステップS13にて選択したシステム挙動が閾値Xより高い場合に、別のシステム挙動である理解結果IDの候補を出力する。
一方、システム挙動がキャンセルされていない場合には、ステップS6及びステップS7に処理を進める。これにより、音声認識システムは、ステップS6において、アプリケーション実行部14は、キャンセルされていない理解結果IDに従って所定のアプリケーション処理を実行し、ステップS7において、当該アプリケーション処理の結果をディスプレイ3及びスピーカ4によってユーザに提示する。
以上説明したように、第5実施形態として示す音声認識システムによれば、第1実施形態と同様に単語ID103を直接演算してユーザが発話した音声の理解結果を生成できる効果に加えて、生成した理解結果IDが誤りであった場合には他の理解結果を生成できるので、同じ発話をユーザに繰り返させることなく、正しい理解結果を生成することができる。
[第6実施形態]
つぎに、本発明の第6実施形態について説明する。なお、上述した実施形態と同じ部分については同一符号を付することによりその詳細な説明を省略する。
第6実施形態として示す音声認識システムは、音声認識部11によってマイク2により入力した音声を順次認識して複数の単語を生成すると、理解結果ID生成部12によって、音声認識部11により認識される全音声のうちの一部の単語に対応した単語辞書データベース21bにおける単語ID同士を演算して、理解結果IDを生成するものである。
上述した実施形態においては、音声認識部11に入力された音声信号の全体に対して照合部23による照合処理が全て終了して音声認識処理が完了した後に、理解結果IDを生成している。しかし、第6実施形態として示す音声認識システムは、照合処理の途中で順次出力される単語ID(仮認識結果)同士を用いて理解結果IDの演算を行う。
ここで、一般的な音声認識の照合処理では、単語辞書データベース21b及び文法データベース21cの制約に合致する様々な単語列の仮説について、音響尤度を計算し、最終的に最も尤度が高くなる仮説を音声認識結果として出力する。その際、単語辞書データベース21b及び文法データベース21cの制約に合致する全ての単語列について逐次尤度を計算すると、文法データベース21cや単語辞書データベース21b内の単語数によっては、その処理量が膨大になり、実時間内での処理が難しくなる。このことから、照合処理の過程において、尤度が小さい単語は、理解結果IDの演算に用いる単語の候補から外し、尤度が大きい単語についてのみ音声認識結果として出力することが望ましい。
例えば、2語以上の単語が音声認識された時点で、理解結果ID生成部12によって単語ID同士の演算を行う。図14に、マイク2によって生成された音声信号と、音声認識部11により認識される単語の例を示す。時刻がt1〜t2の区間では、単語「自宅」、単語ID「11300」と、単語「音楽」、単語ID「22000」の音響尤度が高く、次の時刻がt2〜t3では助詞の「に」、時刻がt3^t4の間では単語「帰る」、単語ID「10015」の音響尤度が高かったとする。
単語IDのない助詞などは、単語辞書データベース21bに登録されていないために、理解結果IDに使用する単語としては認識されない。このために、単語辞書データベース21bに単語として登録された単語同士のみについて音声認識を行う。ここで、時刻t2後にて認識された単語「自宅」、単語ID「11300」と、時刻t4後にて認識された単語「帰る」、単語ID「10015」とは、理解結果IDの演算が可能でである。この時点では、全音声信号に対して音声認識が完了していなくても、仮の理解結果IDとしての理解結果ID「11315」を生成することができる。
しかし、単語「音楽」、単語ID「22000」と、単語「帰る」、単語ID「10015」とは、理解結果IDの演算が不可能であり、仮の理解結果IDを生成することができない。そのため、「音楽」「に」「帰る」という接続の単語の組み合わせの音響尤度が高い場合であっても、無効な単語の組み合わせであるとして仮の認識結果の候補から除外することができる。その後、図14に示す例では、時刻がt4以降において、単語ID「10010」の音響尤度が高いと判断されたためそこまでの途中理解結果ID「11315」と演算して、同じく「11315」を理解結果IDとする。
以上のように、音声認識システムによれば、第1実施形態と同様に単語ID103を直接演算してユーザが発話した音声の理解結果を生成できる効果に加えて、音声認識処理によって複数の単語を認識する場合に、順次認識する単語の単語IDを用いて理解結果IDが生成できる場合には当該認識された単語の尤度が高いものと判断することができる。逆に、順次認識した単語の単語IDによっては理解結果IDが生成できない場合には、当該単語同士が接続される尤度が低いことを判断できる。したがって、この音声認識システムによれば、認識結果候補の増大による処理時間の増加を抑えることができる。
なお、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。
また、以下に、特許請求の範囲における用語と実施形態における用語との対応関係の一例を示す「音声入力手段」は「マイク2」に相当し、「単語テーブル」は「単語辞書データベース」に相当し、「記憶手段」は「記憶部」に相当し、「音声認識手段」は「音声認識部」に相当し、「音声理解手段」「スコア計算手段」は「理解結果ID生成部」に相当し、「提示手段」は「ディスクプレイ、スピーカ」に相当し、「入力手段」は「入力装置、キャンセルボタン」に相当する。