まず、本発明を適用した第1の実施の形態について説明する。
図2は、本発明に係る音声処理装置の一実施の形態の構成を示すブロック図である。
音声理処理置は、マイクロフォン31、AD変換部32、特徴抽出部33、マルチマッチング部34、音響モデルデータベース35、意思情報保持部36−1乃至意思情報保持部36−N、および意思選択部37を含むように構成される。
マイクロフォン31はユーザによって発声された、単語または単語系列を含む音声を入力音声として取得する。マイクロフォン31は、取得した入力音声を、電気信号である音声信号に変換する。マイクロフォン31は、音声信号をAD変換部32に供給する。マイクロフォン31からAD変換部32に供給される音声信号は、いわゆるアナログ信号である。
AD変換部32は、マイクロフォン31から供給された音声信号にAD変換処理を適用して、アナログの音声信号を、デジタルの音声データに変換する。すなわち、AD変換部32は、音声信号をサンプリングして、量子化することにより、デジタルの音声データを生成する。AD変換部32は、音声データを特徴抽出部33に供給する。
特徴抽出部33は、AD変換部32から供給された音声データについて、所定のフレームごとに(微小時間毎に)音響分析処理を適用し、特徴量を生成することによって、音声データの特徴を抽出する。特徴抽出部33は、生成した特徴量をマルチマッチング部34に供給する。
マルチマッチング部34は、特徴抽出部33から供給された特徴量を基に、意思情報保持部36−1乃至意思情報保持部36−Nのそれぞれが保持している、発話の意思を示す意思情報のそれぞれの総合スコアを求める(算出する)。マルチマッチング部34は、算出した意思情報の総合スコアおよび意思情報を意思選択部37に供給する。なお、意思情報の総合スコアの詳細は後述するが、意思情報の総合スコアは、マルチマッチング部34によって構成された単語モデル系列に対応する単語系列の音響スコアおよび言語スコアを基に算出される。
マルチマッチング部34は、辞書データベース53−1に記録されている単語辞書を参照することにより、音響モデルデータベース35に記録されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成(決定)する。さらに、マルチマッチング部34は、構成したいくつかの単語モデルを、文法データベース54−1に記録されている文法規則を参照することにより接続し、単語モデル系列を構成(決定)する。
マルチマッチング部34は、構成した単語モデル系列に対応する単語系列の総合スコアを算出する。マルチマッチング部34は、音響スコア算出部51および言語スコア算出部52を備えている。
マルチマッチング部34の音響スコア算出部51は、マルチマッチング部34が構成した、単語モデル系列に含まれる単語モデルのそれぞれに対応する単語のそれぞれの音響スコアを算出する。
例えば、マルチマッチング部34の音響スコア算出部51は、マルチマッチング部34が構成した単語モデル系列に含まれる各単語モデルから、特徴量の系列が観測される確率(出現確率)に基づいて、単語系列を構成する単語ごとに音響スコアを算出する。
マルチマッチング部34の言語スコア算出部52は、マルチマッチング部34が構成した単語モデル系列に含まれる単語モデルのそれぞれに対応する単語のそれぞれが連鎖(連接)する確率に基づいて、単語系列を構成する単語ごとに言語スコアを算出する。
マルチマッチング部34は、マルチマッチング部34の音響スコア算出部51が算出した音響スコアと、マルチマッチング部34の言語スコア算出部52が算出した言語スコアとを基に、構成した単語モデル系列に対応する単語系列の総合スコアを算出する。
マルチマッチング部34は、音響モデルデータベース35、辞書データベース53−1、および文法データベース54−1を参照して構成した単語モデル系列に対応する単語系列のうち、最も総合スコアの高い単語系列の総合スコアを、意思情報保持部36−1が保持している意思情報の総合スコアとして、意思情報および意思情報の総合スコアを意思選択部37に供給する。以下、マルチマッチング部34による、単語系列を構成する処理をマッチング処理とも称する。
マルチマッチング部34は、同様にして、意思情報保持部36−2乃至意思情報保持部36−Nのそれぞれが保持している意思情報の総合スコアを求め、求めた意思情報の総合スコアおよび意思情報を意思選択部37に供給する。
音響モデルデータベース35は、意思を抽出する音声の言語における個々の音素や音節などの所定の単位(PLU)ごとの音響的な特徴を表す音響モデルを記録している。
意思情報保持部36−1は、発話の意思を示す意思情報を保持している。意思情報保持部36−1は、辞書データベース53−1および文法データベース54−1を備えている。意思情報保持部36−1の辞書データベース53−1は、予め登録されている各単語(語彙)について、各単語の発音に関する情報(発音情報)が記述された単語辞書、および各単語モデルから特徴量の系列が観測される確率を保持している。意思情報保持部36−1の文法データベース54−1は、意思情報保持部36−1の辞書データベース53−1の単語辞書に登録されている各単語が、どのように連鎖するかを記述した文法規則を記録している。
意思情報保持部36−2は、意思情報保持部36−1が保持している意思情報とは異なる発話の意思を示す意思情報を保持している。意思情報保持部36−2は、辞書データベース53−2および文法データベース54−2を備えている。意思情報保持部36−2の辞書データベース53−2は、予め登録されている各単語について、各単語の発音に関する情報が記述された単語辞書、および各単語モデルから特徴量の系列が観測される確率を保持している。意思情報保持部36−2の文法データベース54−2は、意思情報保持部36−2の辞書データベース53−2の単語辞書に登録されている各単語が、どのように連鎖するかを記述した文法規則を記録している。
意思情報保持部36−3乃至意思情報保持部36−N(意思情報保持部36−3乃至意思情報保持部36−(N−1)は図示せず)のそれぞれは、それぞれ異なる発話の意思を示す意思情報を保持している。意思情報保持部36−3乃至意思情報保持部36−Nのそれぞれは、辞書データベース53−3乃至辞書データベース53−Nのそれぞれおよび文法データベース54−3乃至文法データベース54−Nのそれぞれを備えている。辞書データベース53−3乃至辞書データベース53−Nのそれぞれは、予め登録されている各単語について、各単語の発音に関する情報が記述された単語辞書、および各単語モデルから特徴量の系列が観測される確率を保持している。文法データベース54−3乃至文法データベース54−Nのそれぞれは、辞書データベース53−3乃至辞書データベース53−Nのそれぞれの単語辞書に登録されている各単語が、どのように連鎖するかを記述した文法規則を記録している。
すなわち、意思情報保持部36−1乃至意思情報保持部36−Nのそれぞれは、それぞれ異なる意思情報、単語辞書、および文法規則を保持(記録)している。
以下、意思情報保持部36−1乃至意思情報保持部36−Nのそれぞれを個々に区別する必要のない場合、単に意思情報保持部36と称する。また、以下、辞書データベース53−1乃至辞書データベース53−Nのそれぞれを、個々に区別する必要のない場合、単に、辞書データベース53と称する。さらに、以下、文法データベース54−1乃至文法データベース54−Nのそれぞれを、個々に区別する必要のない場合、単に、文法データベース54と称する。
さらに、以下、辞書データベース53が記録している単語辞書と、文法データベース54が記録している文法規則とから構成されるデータを、必要に応じて言語モデルと称する。
意思選択部37は、マルチマッチング部34から供給された意思情報および意思情報の総合スコアを基に、入力音声に最も適合した言語モデル(すなわち、辞書データベース53および文法データベース54)を選択する。すなわち、意思選択部37は、マルチマッチング部34から供給された意思情報および意思情報の総合スコアを基に、マルチマッチング部34から供給された意思情報のうち、最も総合スコアの高い意思情報を選択する。意思選択部37は、選択した意思情報を、ユーザの発話の意思を示す情報(音声理解結果)として、後段に出力する。
図3のフローチャートを参照して、音声理解の処理を説明する。
ステップS11において、マイクロフォン31は、入力された入力音声を、電気信号としての音声信号に変換し、変換によって生成された音声信号をAD変換部32に供給する。例えば、ステップS11において、マイクロフォン31は、ユーザによって発声された、単語または単語列を含む音声を入力音声として取得し、取得した入力音声を、アナログ信号である音声信号に変換し、音声信号をAD変換部32に供給する。
ステップS12において、AD変換部32は、マイクロフォン31から供給された音声信号のAD変換処理を行う。すなわち、ステップS12において、AD変換部32は、マイクロフォン31から供給された音声信号を、サンプリングして、量子化し、デジタル信号である音声データに変換する。AD変換部32は、AD変換した音声データを特徴抽出部33に供給する。
ステップS13において、特徴抽出部33は、AD変換部32から供給された音声データについて、所定のフレームごとに(微小時間毎に)音響分析を適用し、特徴量としての、特徴量からなる時間的な系列(特徴量の系列)を生成することによって、音声データの特徴を抽出する。特徴抽出部33は、生成された特徴量の系列をマルチマッチング部34に供給する。
例えば、ステップS13において、特徴抽出部33は、1フレームである所定の期間の音声データに、音響分析として、DFT(Discrete Fourier Transform)などの周波数分析の処理を適用し、周波数分析に基づく周波数帯域ごとのエネルギー、いわゆるパワースペクトル(以下、単にスペクトルと称する)などの特徴を示す特徴量の系列を生成する。
なお、特徴抽出部33は、その他、例えば、零交差数、または信号のエネルギーなどの特徴を示す特徴量の系列を生成するようにしてもよい。また、特徴抽出部33は、音声データに、ベクトル量子化の処理を適用することにより特徴量を求めるようにしてもよい。特徴量の方式は、本発明を限定するものではない。
ステップS14において、マルチマッチング部34は、マッチング処理を行う。なお、マッチング処理の詳細は後述するが、マッチング処理において、マルチマッチング部34は、特徴抽出部33から供給された特徴量の系列を基に、意思情報保持部36が記録している言語モデルごとにマッチング処理を行い、意思情報保持部36が保持している意思情報の総合スコアを算出する。マルチマッチング部34は、意思情報および算出した意思情報の総合スコアを意思選択部37に供給する。
ステップS15において、意思選択部37は、マルチマッチング部34から供給された意思情報および意思情報の総合スコアを基に、入力音声に最も適合した言語モデルを選択する。すなわち、ステップS15において、意思選択部37は、マルチマッチング部34から供給された意思情報のうち、最も総合スコアの高い意思情報を、ユーザの発話の意思を示す意思情報として選択する。意思選択部37は、選択した意思情報を、入力音声から抽出された、ユーザの発話の意思を示す情報(音声理解結果)として後段に出力し、音声理解の処理は終了する。
例えば、ステップS15において、意思選択部37は、マルチマッチング部34から意思「明日の天気を教えてください」を示す意思情報および意思情報の総合スコアと、意思「今の時間を教えてください」を示す意思情報および意思情報の総合スコアとが供給された場合、意思「明日の天気を教えてください」を示す意思情報の総合スコアおよび意思「今の時間を教えてください」を示す意思情報の総合スコアのうち、総合スコアの高い意思情報を、音声理解結果として、後段に出力する。
例えば、意思「今の時間を教えてください」を示す意思情報の総合スコアよりも意思「明日の天気を教えてください」を示す意思情報の総合スコアが高い場合、意思選択部37は、意思「明日の天気を教えてください」を示す意思情報を音声理解結果として、後段に出力する。
これにより、後段において、意思「明日の天気を教えてください」を示す意思情報を基に、天気予報のデータベースを検索し、天気の情報を出力する処理を行うことが容易にできる。したがって、ユーザの音声「明日の天気教えて」に対して、天気の情報を出力するシステムを容易に構築することができる。
このようにして、音声処理装置は、予め保持している意思情報に対応する言語モデルごとにマッチング処理を行い、意思情報の総合スコアを算出する。そして、音声処理装置は、複数の意思情報のうち、最も総合スコアの高い意思情報を選択し、選択した意思情報を音声理解結果として出力する。
以上のように、言語モデルごとにマッチング処理を行い、音声認識結果としての総合スコアを基に、ユーザの発話の意思を示す意思情報を選択するようにしたので、意味解析処理などの言語処理を行うことなく、より簡単な構成で、ユーザの発話の意思を抽出することができる。
次に、図4のフローチャートを参照して、図3のステップS14の処理に対応するマッチング処理について説明する。
ステップS31において、マルチマッチング部34は、音響モデルデータベース35、辞書データベース53、および文法データベース54を参照しながら、単語モデル系列を構成する。
この場合、音響モデルデータベース35に記録されている音響モデルは、例えば、図5で示される、日本語の音素に対する隠れマルコフモデル(HMM)である。図5において「:」は、長音の音響モデルである。なお、音響モデルとしては、その他、例えば、トライフォンHMMや、PHMM(Partly Hidden Markov Model)などの音響モデルを用いることが可能である。
また、辞書データベース53および文法データベース54には、意思情報保持部36に保持されている意思情報が示す意思に対応する例文を基に生成された、単語辞書および文法規則が記録されている。
例えば、図6に示すように、意思情報保持部36−1が意思「明日の天気を教えてください」を示す意思情報を保持している場合、辞書データベース53−1および文法データベース54−1には、意思「明日の天気を教えてください」に対応する例文「明日の天気を教えてください」、「明日の天気は」、「明日の天気を教えてくれる」、および「えーと明日の天気が聞きたい」を基に生成された単語辞書および文法規則が記録されている。
したがって、例えば、辞書データベース53−1には、図7に示すように、発音(情報)および単語(情報)が単語辞書として記録されている。より具体的には、例えば、発音情報としては、単語「えーと」に対応する発音情報「e:to」、単語「の」に対応する発音情報「no」、単語「は」に対応する発音情報「wa」、単語「を」に対応する発音情報「o」、単語「が」に対応する発音情報「ga」、および単語「明日」に対応する発音情報「asita」が、それぞれ登録されている。
また、発音情報として、単語「天気」に対応する発音情報「tenki」、単語「教えて」に対応する発音情報「osiete」、単語「ください」に対応する発音情報「kudasai」、単語「くれる」に対応する発音情報「kureru」、および単語「聞きたい」に対応する発音情報「kikitai」が、それぞれ登録されている。ここで、発音情報とは、各単語に対応する音響モデルの接続情報である。
また、例えば、文法データベース54−1には、図7に示す各単語が、どのように連鎖(つながる)かを記述した、単語連鎖率(N‐gram)などに基づく文法規則が記録されている。
同様に、例えば、図8に示すように、意思情報保持部36−2が意思「今の時間を教えてください」を示す意思情報を保持している場合、辞書データベース53−2および文法データベース54−2には、意思「今の時間を教えてください」に対応する例文「今何時ですか」、「今何時」、「今何時かな」、「今の時間が聞きたい」、および「時間を教えて」を基に生成された単語辞書および文法規則が記録されている。
したがって、例えば、辞書データベース53−2には、図9に示すように、発音(情報)および単語(情報)が単語辞書として記録されている。より具体的には、例えば、発音情報としては、単語「今」に対応する発音情報「ima」、単語「です」に対応する発音情報「desu」、単語「か」に対応する発音情報「ka」、単語「かな」に対応する発音情報「kana」、単語「の」に対応する発音情報「no」、および単語「が」に対応する発音情報「ga」が、それぞれ登録されている。
また、発音情報として、単語「を」に対応する発音情報「o」、単語「何時」に対応する発音情報「nanji」、単語「聞きたい」に対応する発音情報「kikitai」、および単語「教えて」に対応する発音情報「osiete」が、それぞれ登録されている。
また、例えば、文法データベース54−2には、図9に示す各単語が、どのように連鎖(つながる)かを記述した、単語連鎖率(N‐gram)などに基づく文法規則が記録されている。
マルチマッチング部34は、音響モデルデータベース35、並びに意思情報保持部36が保持している意思情報に対応する辞書データベース53および文法データベース54を必要に応じて参照しながら、意思情報ごとに単語モデル系列を構成する。
したがって、例えば、意思情報保持部36−1が意思「明日の天気を教えてください」を示す意思情報を保持しており、意思情報保持部36−2が意思「今の時間を教えてください」を示す意思情報を保持している場合、マルチマッチング部34は、音響モデルデータベース35、辞書データベース53−1、および文法データベース54−1を参照しながら、意思「明日の天気を教えてください」を示す意思情報に対応する単語モデル系列を構成し、音響モデルデータベース35、辞書データベース53−2、および文法データベース54−2を参照しながら、意思「今の時間を教えてください」を示す意思情報に対応する単語モデル系列を構成する。
図4のフローチャートの説明に戻り、例えば、ステップS31において、マルチマッチング部34は、辞書データベース53に記録されている単語辞書を参照することにより、音響モデルデータベース35に記録されている音響モデルを接続することで、単語の音響モデルを構成する。そして、マルチマッチング部34は、構成した単語モデルを、文法データベース54に記録されている文法規則を参照することにより接続し、単語モデル系列を構成する。
したがって、この場合、意思情報保持部36−1乃至意思情報保持部36−Nのそれぞれが保持している意思情報のそれぞれに対応する、1または複数の単語モデル系列が構成される。
ステップS32において、マルチマッチング部34の音響スコア算出部51は、マルチマッチング部34が構成した単語モデル系列に含まれる各単語モデルから、特徴量の系列が観測される確率(出現確率)に基づいて、単語系列を構成する単語ごとに音響スコアを算出する。
例えば、ステップS32において、マルチマッチング部34の音響スコア算出部51は、ビタビサーチと称される処理を施すことにより、音響スコアを算出する。
ステップS33において、マルチマッチング部34の言語スコア算出部52は、マルチマッチング部34が構成した単語モデル系列に含まれる単語モデルのそれぞれに対応する単語のそれぞれが連鎖(連接)する確率に基づいて、単語系列を構成する単語ごとに言語スコアを算出する。
例えば、ステップS33において、バックオフスムージング法と称される方法により、3つの単語の連鎖確率であるトライグラム確率の確率値の補正を行いながら言語スコアを算出する場合について説明する。
この場合、文法データベース54−1には、文法規則として、例えば、図10乃至図12に示すトライグラム表、バイグラム表、およびユニグラム表が記録されている。
ここで、図10は、トライグラム表を説明する図である。
トライグラム表には、連鎖する3つの単語およびトライグラム確率が含まれている。より、具体的には、例えば、トライグラム確率として、連鎖する単語「えーと」、「明日」、および「の」に対するトライグラム確率「0.003」が含まれている。この場合、トライグラム確率「0.003」は、単語「えーと」、「明日」、および「の」が、「えーと」、「明日」、および「の」の順番で連鎖する確率を示している。
同様に、トライグラム表には、連鎖する単語「の」、「天気」、および「を」に対するトライグラム確率「0.01」が含まれており、連鎖する単語「の」、「天気」、および「が」に対するトライグラム確率「0.008」が含まれており、連鎖する単語「を」、「教えて」、および「ください」に対するトライグラム確率「0.007」が含まれている。また、トライグラム表には、連鎖する単語「天気」、「を」、および「教えて」に対するトライグラム確率「0.009」が含まれており、連鎖する単語「天気」、「が」、および「聞きたい」に対するトライグラム確率「0.007」が含まれており、連鎖する単語「明日」、「の」、および「天気」に対するトライグラム確率「0.009」が含まれている。
図11は、バイグラム表を説明する図である。
バイグラム表には、連鎖する2つの単語、2つの単語が連鎖する確率(以下、バイグラム確率と称する)、およびバイグラムバックオフ係数が含まれている。ここで、バイグラムバックオフ係数とは、バイグラム確率を基に、トライグラム確率を算出する場合に用いる係数であり、確率の総和が1を超過しないようにするための係数である。
バイグラム表には、例えば、バイグラム確率として、連鎖する単語「えーと」および「明日」に対するバイグラム確率「0.02」が含まれている。この場合、バイグラム確率「0.02」は、単語「えーと」および「明日」が、「えーと」および「明日」の順番で連鎖する確率を示している。
同様に、バイグラム表には、連鎖する単語「の」および「天気」に対するバイグラム確率「0.1」が含まれており、連鎖する単語「を」および「教えて」に対するバイグラム確率「0.08」が含まれており、連鎖する単語「が」および「聞きたい」に対するバイグラム確率「0.07」が含まれている。また、バイグラム表には、連鎖する単語「天気」および「を」に対するバイグラム確率「0.09」が含まれており、連鎖する単語「天気」および「が」に対するバイグラム確率「0.07」が含まれており、連鎖する単語「教えて」および「ください」に対するバイグラム確率「0.09」が含まれている。
さらに、バイグラム表には、例えば、バイグラムバックオフ係数として、連鎖する単語「えーと」および「明日」に対するバイグラムバックオフ係数「0.01」が含まれており、連鎖する単語「の」および「天気」に対するバイグラムバックオフ係数「0.02」が含まれており、連鎖する単語「を」および「教えて」に対するバイグラムバックオフ係数「0.02」が含まれている。
同様に、バイグラム表には、バイグラムバックオフ係数として、連鎖する単語「が」および「聞きたい」に対するバイグラムバックオフ係数「0.01」が含まれており、連鎖する単語「天気」および「を」に対するバイグラムバックオフ係数「0.02」が含まれており、連鎖する単語「天気」および「が」に対するバイグラムバックオフ係数「0.01」が含まれており、連鎖する単語「教えて」および「ください」に対するバイグラムバックオフ係数「0.01」が含まれている。
図12は、ユニグラム表を説明する図である。
ユニグラム表には、単語、単語の生起確率(以下、ユニグラム確率と称する)、およびユニグラムバックオフ係数が含まれている。ここで、ユニグラムバックオフ係数とは、ユニグラム確率を基に、バイグラム確率を算出する場合に用いる係数であり、確率の総和が1を超過しないようにするための係数である。
より具体的には、ユニグラム表には、例えば、単語「えーと」に対するユニグラム確率「0.04」およびユニグラムバックオフ係数「0.02」が含まれており、単語「の」に対するユニグラム確率「0.1」およびユニグラムバックオフ係数「0.06」が含まれており、単語「は」に対するユニグラム確率「0.08」およびユニグラムバックオフ係数「0.04」が含まれている。
また、ユニグラム表には、単語「を」に対するユニグラム確率「0.09」およびユニグラムバックオフ係数「0.04」が含まれており、単語「が」に対するユニグラム確率「0.06」およびユニグラムバックオフ係数「0.03」が含まれており、単語「天気」に対するユニグラム確率「0.2」およびユニグラムバックオフ係数「0.08」が含まれており、単語「聞きたい」に対するユニグラム確率「0.1」およびユニグラムバックオフ係数「0.06」が含まれている。
なお、ユニグラム確率、バイグラム確率、およびトライグラム確率の計算方法、並びにスムージングの方法については、例えば、北研二、中村哲、「音声言語処理‐コーパスに基づくアプローチ」、森北出版株式会社などにその詳細が記載されている。
マルチマッチング部34の言語スコア算出部52は、文法データベース53−1が記録している、トライグラム表、バイグラム表、およびユニグラム表を参照して、言語スコアを算出する(求める)。
例えば、3つの単語の連鎖「明日」、「の」、および「天気」に対する言語スコア、すなわち、3つの単語「明日」、「の」、および「天気」が、「明日」、「の」、および「天気」の順番で連鎖する場合における単語「天気」の言語スコアを算出する場合、図10に示すトライグラム表から、単語「天気」の言語スコアは、「0.009」と求まる。
また、例えば、3つの単語の連鎖「天気」、「を」、および「聞きたい」に対する言語スコア、すなわち、3つの単語「天気」、「を」、および「聞きたい」が、「天気」、「を」、および「聞きたい」の順番で連鎖する場合における単語「聞きたい」の言語スコアを算出する場合、図10に示すトライグラム表には、3つの単語の連鎖「天気」、「を」、および「聞きたい」に対するトライグラム確率が含まれていないので、図11に示すバイグラム表に含まれるバイグラム確率を基に、トライグラム確率を算出する。
この場合、トライグラム確率は、例えば、式(1)により算出される。
(トライグラム確率)=(最初の2つの単語のバイグラムバックオフ係数)
×(最後の2つの単語のバイグラム確率) ・・・(1)
すなわち、3つの単語の連鎖「天気」、「を」、および「聞きたい」を2つの単語の連鎖「天気」および「を」と、「を」および「聞きたい」とに分ける。したがって、この場合、最初の2つの単語のバイグラムバックオフ係数は、2つの単語の連鎖「天気」および「を」に対するバイグラムバックオフ係数であり、最後の2つの単語のバイグラム確率は、2つの単語の連鎖「を」および「聞きたい」に対するバイグラム確率である。
ここで、2つの単語の連鎖「天気」および「を」に対するバイグラムバックオフ係数は、図11に示すバイグラム表より、「0.02」と求まる。
一方、2つの単語の連鎖「を」および「聞きたい」に対するバイグラム確率は、図11に示すバイグラム表には、含まれていないので、さらに、図12に示すユニグラム表に含まれるユニグラム確率を基に、バイグラム確率を算出する。
この場合、バイグラム確率は、例えば、式(2)により算出される。
(バイグラム確率)=(最初の単語のユニグラムバックオフ係数)
×(最後の単語のユニグラム確率) ・・・(2)
すなわち、2つの単語の連鎖「を」および「聞きたい」を、2つの単語「を」と、「聞きたい」とに分ける。したがって、この場合、最初(先頭)の単語のユニグラムバックオフ係数は、単語「を」に対するユニグラムバックオフ係数であり、最後(終端)の単語のユニグラム確率は、単語「聞きたい」に対するユニグラム確率である。
ここで、単語「を」に対するユニグラムバックオフ係数は、図12に示すユニグラム表より、「0.04」と求まる。
一方、単語「聞きたい」に対するユニグラム確率は、図12に示すユニグラム表より、「0.1」と求まる。したがって、式(2)より、2つの単語の連鎖「を」および「聞きたい」に対するバイグラム確率は、0.004(0.04×0.1)と算出される。
2つの単語の連鎖「を」および「聞きたい」に対するバイグラム確率が「0.004」と算出され、2つの単語の連鎖「天気」および「を」に対するバイグラムバックオフ係数が、「0.02」と求められたので、3つの単語の連鎖「天気」、「を」、および「聞きたい」に対する言語スコアは、式(1)より、0.0008(0.2×0.004)と算出される。
このようにして、マルチマッチング部34の言語スコア算出部52は、単語系列を構成する単語ごとに言語スコアを算出する。なお、バックオフスムージング法により、トライグラム確率の確率値の補正を行いながら言語スコアを算出する場合について説明したが、スムージングの方法は、線形補間法、ワンカウント法などとすることもできる。また、言語スコアの算出は、トライグラム確率に限らず、ユニグラム確率やバイグラム確率などにより算出するようにしてもよい。
図4のフローチャートの説明に戻り、ステップS34において、マルチマッチング部34は、マルチマッチング部34の音響スコア算出部51が算出した音響スコアと、マルチマッチング部34の言語スコア算出部52が算出した言語スコアとを基に、構成した単語モデル系列に対応する単語系列の総合スコアを算出する。
したがって、この場合、意思情報に対応する、1または複数の単語系列のそれぞれの総合スコアが、意思情報保持部36が保持している意思情報ごとに算出される。
例えば、ステップS34において、マルチマッチング部34は、式(3)を計算することによって、単語系列の総合スコアを算出する。
(単語系列の総合スコア)=Σ(AK+CK×LK) ・・・(3)
ここで、AKは、単語系列を構成する単語のうち、先頭からK番目の単語の音響スコアであり、CKは、先頭からK番目の単語の言語スコアにかける重みであり、LKは、先頭からK番目の単語の言語スコアである。また、Σは、単語系列がN個の単語からなるとすると、Kを1からNに変えてのサメーションをとることを表す。なお、言語スコアにかける重みは、単語辞書に登録されている単語ごとに予め定められている。また、単語系列に対して所定の単語が挿入された場合に、ペナルティースコア(挿入ペナルティー)を付与するようにしてもよい。
ステップS35において、マルチマッチング部34は、算出した、意思情報に対応する単語系列の総合スコアのうち、最も高い単語系列の総合スコアを意思情報の総合スコアとする。そして、マルチマッチング部34は、意思情報および意思情報の総合スコアを意思選択部37に供給し、処理は終了する。
したがって、この場合、意思情報保持部36−1乃至意思情報保持部36−Nのそれぞれが保持している意思情報のそれぞれと、各意思情報の総合スコアとが意思選択部37に供給される。すなわち、意思選択部37には、N個の意思情報および意思情報の総合スコアが供給される。
このようにして、マルチマッチング部34は、マッチング処理を行い、意思情報保持部36が保持している意思情報の総合スコアを算出し、意思情報および算出した意思情報の総合スコアを意思選択部37に供給する。なお、音響スコアまたは言語スコアを算出する場合、その過程において得られる音響スコアまたは言語スコアが所定の閾値以下となったときに、そのスコア計算を打ち切る、枝刈りなどの処理を行うようにしてもよい。
このように、1つの意思情報に対して、1または複数の単語モデル系列を構成し、各単語モデル系列に対応する単語系列の総合スコアのうち、最も高い総合スコアを意思情報の総合スコアとすることで、意味解析処理などの言語処理を行うことなく、より簡単な構成で、ユーザの発話の意思を抽出することができる。
以上のように、音声処理装置は、言語モデルごとにマッチング処理を行い、音声認識結果としての総合スコアを基に、ユーザの発話の意思を示す意思情報を選択するようにしたので、意味解析処理などの言語処理を行うことなく、より簡単な構成で、ユーザの発話の意思を抽出することができる。
なお、マルチマッチング部34が、言語モデルごとにマッチング処理を行うと説明したが、言語モデルごとにマッチング部を設け、並列してマッチング処理を行うようにしてもよい。また、複数の意思情報のうち、最も総合スコアが高い意思情報を、ユーザの発話の意思を示す情報として出力すると説明したが、総合スコアの高い順に、所定の順位までの意思情報を、ユーザの発話の意思を示す情報の候補として出力するようにしてもよい。
ここで、本発明に係る音声処理装置を用いて行った、ユーザの発話から意思を抽出させる実験の結果について説明する。
実験には、本明細書の実施の形態において説明した構成を有する音声処理装置を用いた。26種類の意思および意思に対応する例文を準備し、その例文を基に、トライグラムに基づく言語モデル(単語辞書および文法規則)を生成した。そして、それぞれの意思に対応する入力音声として、合計367回の発話を行い、発話から抽出させた意思が正解であるか否かを調べた。
その結果、正解率は、91.3%であった。この結果から、本発明によれば、ユーザの発話から意思の抽出を極めて正確に行うことができることが分かる。
次に、本発明を適用した第2の実施の形態について説明する。
図13は、本発明に係る音声処理装置の一実施の形態の構成を示すブロック図である。
音声処理装置は、マイクロフォン71、AD変換部72、特徴抽出部73、マルチマッチング部74、音響モデルデータベース75、意思情報保持部76−1乃至意思情報保持部76−N、および意思選択部77を含むように構成される。
なお、マイクロフォン71、AD変換部72、特徴抽出部73、および音響モデルデータベース75のそれぞれは、図2におけるマイクロフォン31、AD変換部32、特徴抽出部33、および音響モデルデータベース35のそれぞれと同様なので、その説明は、省略する。
マルチマッチング部74は、特徴抽出部73から供給された特徴量の系列を基に、意思情報保持部76−1乃至意思情報保持部76−Nのそれぞれが保持している、発話の意思を示す意思情報のそれぞれの総合スコアを求める(算出する)。ここで、意思情報保持部76−1乃至意思情報保持部76−Nのそれぞれが保持している意思情報のそれぞれは、置き換え可能な単語の集合を表すクラスを基に記述された、クラスベースの意思情報である。なお、クラスについての詳細は後述するが、クラスベースの意思情報は、クラスを表す記号であるシンボルを用いて記述される。
マルチマッチング部74は、意思情報、意思情報の総合スコアを含むスコア情報、および意思情報に含まれるシンボルに最も適合する単語を示す単語情報を意思選択部77に供給する。なお、意思情報の総合スコアの詳細は後述するが、意思情報の総合スコアは、マルチマッチング部74によって構成された単語モデル系列に対応する単語系列の音響スコアおよび言語スコアを基に算出される。
マルチマッチング部74は、辞書データベース93−1に記録されている単語辞書を参照することにより、音響モデルデータベース75に記録されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。さらに、マルチマッチング部74は、構成したいくつかの単語モデルを、文法データベース94−1に記録されている文法規則を参照することにより接続し、単語モデル系列を構成する。
ここで、辞書データベース93−1に記録されている単語辞書は、クラスを表すシンボルが含まれる、クラスベースの単語辞書であり、また、文法データベース94−1に記録されている文法規則は、文法規則の記述にクラスを表すシンボルを含むクラスベースの文法規則である。なお、クラスベースの単語辞書およびクラスベースの文法規則の詳細は、後述する。
マルチマッチング部74は、構成した単語モデル系列に対応する単語系列の総合スコアを算出する。マルチマッチング部74は、音響スコア算出部91および言語スコア算出部92を備えている。
マルチマッチング部74の音響スコア算出部91は、マルチマッチング部74が構成した、単語モデル系列に含まれる単語モデルのそれぞれに対応する単語のそれぞれの音響スコアを算出する。
例えば、マルチマッチング部74の音響スコア算出部91は、マルチマッチング部74が構成した単語モデル系列に含まれる各単語モデルから、特徴量の系列が観測される確率(出現確率)に基づいて、単語系列を構成する単語ごとに音響スコアを算出する。
マルチマッチング部74の言語スコア算出部92は、マルチマッチング部74が構成した単語モデル系列に含まれる、単語モデルのそれぞれに対応する単語が連鎖(連接)する確率に基づいて、単語系列を構成する単語ごとに言語スコアを算出する。なお、言語スコアの算出の詳細は後述するが、単語系列を構成する単語が何れかのクラスに属する場合、クラスに属する単語においては、単語が属するクラスのシンボルが、他のシンボルまたは単語と連鎖する確率に基づいて、言語スコアが算出される。
マルチマッチング部74は、マルチマッチング部74の音響スコア算出部91が算出した音響スコアと、マルチマッチング部74の言語スコア算出部92が算出した言語スコアとを基に、構成した単語モデル系列に対応する単語系列の総合スコアを算出する。
マルチマッチング部74は、音響モデルデータベース75、辞書データベース93−1、および文法データベース94−1を参照して構成した単語モデル系列に対応する単語系列のうち、最も総合スコアの高い単語系列の総合スコアを、意思情報保持部76−1が保持しているクラスベースの意思情報の総合スコアとして、意思情報、スコア情報、および単語情報を意思選択部77に供給する。
マルチマッチング部74は、同様にして、意思情報保持部76−2乃至意思情報保持部76−Nのそれぞれが保持している意思情報の総合スコアを求め、意思情報、スコア情報、および単語情報を意思選択部77に供給する。
意思情報保持部76−1は、意思情報として、クラスベースの意思情報を保持している。意思情報保持部76−1は、辞書データベース93−1および文法データベース94−1を備えている。意思情報保持部76−1の辞書データベース93−1は、予め登録されている各単語(語彙)について、各単語の発音に関する情報(発音情報)および各単語の属するクラスを表すシンボルを含むクラスベースの単語辞書、並びに各単語モデルから特徴量の系列が観測される確率を保持している。意思情報保持部76−1の文法データベース94−1は、意思情報保持部76−1の辞書データベース93−1が記録している単語辞書に登録されている各単語または各単語が属するクラスのシンボルが、どのように連鎖するかを記述したクラスベースの文法規則を記録している。
意思情報保持部76−2は、意思情報として、意思情報保持部76−1が保持している意思情報とは異なるクラスベースの意思情報を保持している。意思情報保持部76−2は、辞書データベース93−2および文法データベース94−2を備えている。意思情報保持部76−2の辞書データベース93−2は、予め登録されている各単語(語彙)について、各単語の発音に関する情報(発音情報)および各単語の属するクラスを表すシンボルを含むクラスベースの単語辞書、並びに各単語モデルから特徴量の系列が観測される確率を保持している。意思情報保持部76−2の文法データベース94−2は、意思情報保持部76−2の辞書データベース93−2が記録している単語辞書に登録されている各単語または各単語が属するクラスのシンボルが、どのように連鎖するかを記述したクラスベースの文法規則を記録している。
意思情報保持部76−3乃至意思情報保持部76−N(意思情報保持部76−3乃至意思情報保持部76−(N−1)は図示せず)のそれぞれは、意思情報として、それぞれ異なるクラスベースの意思情報を保持している。意思情報保持部76−3乃至意思情報保持部76−Nは、辞書データベース93−3乃至辞書データベース93−Nのそれぞれおよび文法データベース94−3乃至文法データベース94−Nのそれぞれを備えている。
辞書データベース93−3乃至辞書データベース93−Nのそれぞれは、予め登録されている各単語(語彙)について、各単語の発音に関する情報(発音情報)および各単語の属するクラスを表すシンボルを含むクラスベースの単語辞書、並びに各単語モデルから特徴量の系列が観測される確率を保持している。文法データベース94−3乃至文法データベース94−Nのそれぞれは、辞書データベース93−3乃至辞書データベース93−Nのそれぞれが記録している単語辞書に登録されている各単語または各単語が属するクラスのシンボルが、どのように連鎖するかを記述したクラスベースの文法規則を記録している。
すなわち、意思情報保持部76−1乃至意思情報保持部76−Nのそれぞれは、それぞれ異なる意思情報、単語辞書、および文法規則を保持(記録)している。
以下、意思情報保持部76−1乃至意思情報保持部76−Nのそれぞれを個々に区別する必要のない場合、単に意思情報保持部76と称する。また、以下、辞書データベース93−1乃至辞書データベース93−Nのそれぞれを、個々に区別する必要のない場合、単に、辞書データベース93と称する。さらに、以下、文法データベース94−1乃至文法データベース94−Nのそれぞれを、個々に区別する必要のない場合、単に、文法データベース94と称する。
さらに、以下、辞書データベース93が記録しているクラスベースの単語辞書と、文法データベース94が記録しているクラスベースの文法規則とから構成されるデータを、必要に応じて言語モデルとも称する。
意思選択部77は、マルチマッチング部74から供給された意思情報、スコア情報、および単語情報を基に、入力音声に最も適合した言語モデル(すなわち、辞書データベース93および文法データベース94)を選択する。すなわち、意思選択部77は、マルチマッチング部74から供給された意思情報、スコア情報、および単語情報を基に、マルチマッチング部74から供給された意思情報のうち、最も総合スコアの高い意思情報を選択する。意思選択部77は、選択した意思情報、スコア情報、および単語情報を、ユーザの発話の意思を示す情報(音声理解結果)として、後段に出力する。
ところで、意思「明日の東京の天気を教えてください」、「今日の大阪の天気を教えてください」、および「明後日の京都の天気を教えてください」のそれぞれにおいては、意思に含まれる日時を表す単語「今日」、「明日」、および「明後日」、並びに意思に含まれる場所を表す単語「東京」、「大阪」、および「京都」の組み合わせだけが異なる。
このような場合、意思に含まれる日時または場所を表す単語の組み合わせが異なるだけで、類似した複数の意思に対して、それぞれの意思に対応する複数の言語モデルを用いて、マッチング処理を行う方法は、あまり効率的ではない。
そこで、音声処理装置の構成を図13に示す構成とし、クラスベースの単語辞書およびクラスベースの文法規則からなる言語モデルを用いることによって、より効率的にユーザの発話の意思を抽出することができる。以下、図を参照して、具体的な処理を説明する。
図14のフローチャートを参照して、音声理解の処理を説明する。なお、ステップS51の処理乃至ステップS53の処理のそれぞれは、図3におけるステップS11の処理乃至ステップS13の処理のそれぞれと同様なので、その説明は省略する。
ステップS54において、マルチマッチング部74は、マッチング処理を行う。なお、マッチング処理の詳細は、後述するが、マッチング処理において、マルチマッチング部74は、特徴抽出部73から供給された特徴量の系列を基に、意思情報保持部76が記録している言語モデルごとにマッチング処理を行い、意思情報保持部76が保持している意思情報の総合スコアを算出する。マルチマッチング部74は、意思情報、算出した意思情報の総合スコアを含むスコア情報、および単語情報を意思選択部77に供給する。
ステップS55において、意思選択部77は、マルチマッチング部74から供給された意思情報、スコア情報、および単語情報を基に、入力音声に最も適合した言語モデルを選択する。すなわち、ステップS55において、意思選択部77は、マルチマッチング部74から供給された意思情報のうち、最も総合スコアの高い意思情報を、ユーザの発話の意思を示す意思情報として選択する。意思選択部77は、選択した意思情報、スコア情報、および単語情報を、入力音声から抽出された、ユーザの発話の意思を示す情報(音声理解結果)として後段に出力し、音声理解の処理は終了する。
例えば、ステップS55において、意思選択部77は、図15に示す音声理解結果を出力する。
この場合、音声理解結果には、意思情報として、意思「<日時>の<場所>の天気を教えてください」を示す意思情報が含まれている。ここで、「<日時>」は、日時を表すクラス「日時」を表すシンボルであり、同様に、「<場所>」は、場所を表すクラス「場所」を表すシンボルである。
また、音声理解結果には、単語情報として、シンボル「<日時>」に最も適合する単語が単語「明日」であり、シンボル「<場所>」に最も適合する単語が単語「東京」であることを示す情報が含まれている。
さらに、音声理解結果には、スコア情報として、意思情報の総合スコアと、意思「<日時>の<場所>の天気を教えてください」に対応する単語系列のうち、最も総合スコアが高い単語系列を構成する各単語の音響スコアおよび言語スコアとを示す情報が含まれている。
すなわち、スコア情報として、意思情報の総合スコアがM1であり、意思「<日時>の<場所>の天気を教えてください」に対応する単語系列のうち、最も総合スコアが高い単語系列が「明日の東京の天気教えて」であることを示す情報が含まれている。
また、スコア情報として、単語系列「明日の東京の天気教えて」を構成する単語「明日」の音響スコアがA1であり、単語「の」の音響スコアがA2であり、単語「東京」の音響スコアがA3であり、単語「の」の音響スコアがA4であり、単語「天気」の音響スコアがA5であり、単語「教えて」の音響スコアがA6であることを示す情報が含まれている。
さらに、スコア情報として、単語系列「明日の東京の天気教えて」を構成する単語「明日」の言語スコアがL1であり、単語「の」の言語スコアがL2であり、単語「東京」の言語スコアがL3であり、単語「の」の言語スコアがL4であり、単語「天気」の言語スコアがL5であり、単語「教えて」の言語スコアがL6であることを示す情報が含まれている。
また、例えば、ユーザが「大阪の天気教えて」と発話し、音声理解結果として、意思「<日時>の<場所>の天気を教えてください」を示す意思情報と、シンボル「<日時>」に適合する単語がなく、シンボル「<場所>」に適合する単語が「大阪」であることを示す単語情報とが出力された場合、後段において、「いつの天気ですか」または「明日の天気でよろしいですか」などの音声を、ユーザに対して出力するシステムを容易に構築することができる。
このようにして、音声処理装置は、予め保持しているクラスベースの意思情報に対応するクラスベースの言語モデルごとにマッチング処理を行い、意思情報の総合スコアを算出する。そして、音声処理装置は、複数の意思情報のうち、最も総合スコアの高い意思情報を選択し、選択した意思情報、スコア情報、および単語情報を音声理解結果として出力する。
以上のように、クラスベースの言語モデルごとにマッチング処理を行い、音声認識結果としての総合スコアを基に、ユーザの発話の意思を示す意思情報を選択するようにしたので、意味解析処理などの言語処理を行うことなく、より簡単な構成で、ユーザの発話の意思を抽出することができる。また、クラスベースの言語モデルを用いることで、マッチング処理に用いる言語モデルの数を削減することができ、より効率よくユーザの意思を抽出することができる。
なお、音声理解結果として、スコア情報を含む情報を出力すると説明したが、スコア情報を含まない、意思情報および単語情報のみを含む情報を音声理解結果として出力するようにしてもよい。
次に、図16のフローチャートを参照して、図14のステップS54の処理に対応するマッチング処理について説明する。なお、ステップS71の処理、ステップS72の処理、およびステップS74の処理のそれぞれは、図4におけるステップS31の処理、ステップS32の処理、およびステップS34の処理のそれぞれと同様なので、その説明は省略する。
ステップS73において、マルチマッチング部74の言語スコア算出部92は、マルチマッチング部74が構成した単語モデル系列に含まれる単語モデルのそれぞれに対応する単語のそれぞれが連鎖(連接)する確率に基づいて、単語系列を構成する単語ごとに言語スコアを算出する。
より詳細には、マルチマッチング部74は、単語系列を構成する単語のうち、何れかのクラスに属する単語においては、単語が属するクラスのシンボルが連鎖する確率に基づいて、言語スコアを算出する。換言すれば、マルチマッチング部74は、単語系列を構成する単語のうち、何れかのクラスに属する単語を、単語が属するクラスのシンボルに置き換えた、クラスベースの単語系列を構成する単語またはシンボルごとに言語スコアを算出する。
例えば、ステップS73において、バックオフスムージング法と称される方法により、3つの単語またはシンボルの連鎖確率であるトライグラム確率の確率値の補正を行いながら言語スコアを算出する場合について説明する。
この場合、辞書データベース93および文法データベース94には、意思情報保持部76に保持されているクラスベースの意思情報が示す意思に対応する例文を基に生成された、単語辞書および文法規則が記録されている。
例えば、図17に示すように、意思情報保持部76−1が意思「<日時>の<場所>の天気を教えてください」を示す意思情報を保持している場合、辞書データベース93−1および文法データベース94−1には、意思「<日時>の<場所>の天気を教えてください」に対応する例文「<日時>の<場所>の天気を教えてください」、「<場所>の<日時>の天気を教えてください」、「<日時>の<場所>の天気は」、「<日時>の<場所>の天気を教えてくれる」、および「えーと<日時>の<場所>の天気が聞きたい」を基に生成されたクラスベースの単語辞書および文法規則が記録されている。
ここで、「<日時>」は、日時を表すクラス「日時」を表すシンボルであり、クラス「日時」に属する単語として、単語「今日」、「明日」、および「明後日」が与えられている。同様に、「<場所>」は、場所を表すクラス「場所」を表すシンボルであり、「場所」に属する単語として、単語「東京」、「大阪」、および「京都」が与えられている。
したがって、例えば、辞書データベース93−1には、図18に示すように、発音(情報)、単語(情報)、および単語の属するクラスを表すシンボルが単語辞書として記録されている。より具体的には、例えば、発音情報としては、単語「えーと」に対応する発音情報「e:to」、単語「の」に対応する発音情報「no」、単語「は」に対応する発音情報「wa」、単語「を」に対応する発音情報「o」、単語「が」に対応する発音情報「ga」、および単語「天気」に対応する発音情報「tenki」が、それぞれ登録されている。
また、発音情報として、単語「教えて」に対応する発音情報「osiete」、単語「ください」に対応する発音情報「kudasai」、単語「くれる」に対応する発音情報「kureru」、および単語「聞きたい」に対応する発音情報「kikitai」が、それぞれ登録されている。
さらに、発音情報として、単語「今日」に対応する発音情報「kyou」、単語「明日」に対応する発音情報「asita」、単語「明後日」に対応する発音情報「asatte」、単語「東京」に対応する発音情報「toukyou」、単語「大阪」に対応する発音情報「oosaka」、および単語「京都」に対応する発音情報「kyouto」が、それぞれ登録されている。ここで、発音情報とは、各単語に対応する音響モデルの接続情報である。
さらにまた、単語の属するクラスを表すシンボルとして、単語「えーと」の属するクラスを表すシンボル「えーと」、単語「の」の属するクラスを表すシンボル「の」、単語「は」の属するクラスを表すシンボル「は」、および単語「が」の属するクラスを表すシンボル「が」が、それぞれ登録されている。
さらにまた、単語の属するクラスを表すシンボルとして、単語「天気」の属するクラスを表すシンボル「天気」、単語「教えて」の属するクラスを表すシンボル「教えて」、単語「ください」の属するクラスを表すシンボル「ください」、単語「くれる」の属するクラスを表すシンボル「くれる」、および単語「聞きたい」の属するクラスを表すシンボル「聞きたい」が、それぞれ登録されている。
さらにまた、単語の属するクラスを表すシンボルとして、単語「今日」の属するクラスを表すシンボル「<日時>」、単語「明日」の属するクラスを表すシンボル「<日時>」、単語「明後日」の属するクラスを表すシンボル「<日時>」、単語「東京」の属するクラスを表すシンボル「<場所>」、単語「大阪」の属するクラスを表すシンボル「<場所>」、および単語「京都」の属するクラスを表すシンボル「<場所>」が、それぞれ登録されている。なお、ここで、何れのクラスにも属していない単語においては、単語そのものが、単語の属するクラスを表すシンボルとして登録されている。
また、例えば、文法データベース94−1には、文法規則として、例えば、図19乃至図21に示すトライグラム表、バイグラム表、およびユニグラム表が記録されている。
ここで、図19は、トライグラム表を説明する図である。
トライグラム表には、連鎖する3つの単語またはシンボルと、トライグラム確率とが含まれている。より、具体的には、例えば、トライグラム確率として、連鎖する単語「えーと」、シンボル「<日時>」、および単語「の」に対するトライグラム確率「0.003」が含まれている。この場合、トライグラム確率「0.003」は、単語「えーと」、シンボル「<日時>」、および単語「の」が、「えーと」、「<日時>」、および「の」の順番で連鎖する確率を示している。
同様に、トライグラム表には、連鎖する単語「の」、「天気」、および「を」に対するトライグラム確率「0.01」が含まれており、連鎖する単語「の」、「天気」、および「が」に対するトライグラム確率「0.008」が含まれており、連鎖する単語「の」、シンボル「<日時>」、および単語「の」に対するトライグラム確率「0.009」が含まれている。また、トライグラム表には、連鎖する単語「の」、シンボル「<場所>」、および単語「の」に対するトライグラム確率「0.001」が含まれており、連鎖する単語「天気」、「を」、および「教えて」に対するトライグラム確率「0.009」が含まれており、連鎖するシンボル「<日時>」、単語「の」、およびシンボル「<場所>」に対するトライグラム確率「0.01」、並びに連鎖するシンボル「<日時>」、単語「の」、および単語「天気」に対するトライグラム確率「0.008」が含まれている。
図20は、バイグラム表を説明する図である。
バイグラム表には、連鎖する2つの単語またはシンボル、2つの単語またはシンボルが連鎖する確率(以下、バイグラム確率と称する)、およびバイグラムバックオフ係数が含まれている。
バイグラム表には、例えば、バイグラム確率として、連鎖する単語「えーと」およびシンボル「<日時>」に対するバイグラム確率「0.02」が含まれている。この場合、バイグラム確率「0.02」は、単語「えーと」およびシンボル「<日時>」が、「えーと」および「<日時>」の順番で連鎖する確率を示している。
同様に、バイグラム表には、連鎖する単語「の」および「天気」に対するバイグラム確率「0.1」が含まれており、連鎖する単語「の」およびシンボル「<場所>」に対するバイグラム確率「0.1」が含まれており、連鎖する単語「を」および「教えて」に対するバイグラム確率「0.08」が含まれており、連鎖する単語「が」および「聞きたい」に対するバイグラム確率「0.07」が含まれている。また、バイグラム表には、連鎖する単語「天気」および「を」に対するバイグラム確率「0.09」が含まれており、連鎖する単語「教えて」および「ください」に対するバイグラム確率「0.09」が含まれており、連鎖するシンボル「<日時>」および単語「の」に対するバイグラム確率「0.16」が含まれており、連鎖するシンボル「<場所>」および単語「の」に対するバイグラム確率「0.17」が含まれている。
さらに、バイグラム表には、例えば、バイグラムバックオフ係数として、連鎖する単語「えーと」およびシンボル「<日時>」に対するバイグラムバックオフ係数「0.01」が含まれており、連鎖する単語「の」および「天気」に対するバイグラムバックオフ係数「0.02」が含まれており、連鎖する単語「の」およびシンボル「<場所>」に対するバイグラムバックオフ係数「0.02」が含まれており、連鎖する単語「を」および「教えて」に対するバイグラムバックオフ係数「0.02」が含まれている。
同様に、バイグラム表には、バイグラムバックオフ係数として、連鎖する単語「が」および「聞きたい」に対するバイグラムバックオフ係数「0.01」が含まれており、連鎖する単語「天気」および「を」に対するバイグラムバックオフ係数「0.02」が含まれており、連鎖する単語「教えて」および「ください」に対するバイグラムバックオフ係数「0.01」が含まれており、連鎖するシンボル「<日時>」および単語「の」に対するバイグラムバックオフ係数「0.03」が含まれており、連鎖するシンボル「<場所>」および単語「の」に対するバイグラムバックオフ係数「0.03」が含まれている。
図21は、ユニグラム表を説明する図である。
ユニグラム表には、単語またはシンボル、単語またはシンボルの生起確率(以下、ユニグラム確率と称する)、およびユニグラムバックオフ係数が含まれている。
より具体的には、ユニグラム表には、例えば、単語「えーと」に対するユニグラム確率「0.04」およびユニグラムバックオフ係数「0.02」が含まれており、単語「の」に対するユニグラム確率「0.1」およびユニグラムバックオフ係数「0.06」が含まれており、単語「は」に対するユニグラム確率「0.08」およびユニグラムバックオフ係数「0.04」が含まれており、単語「を」に対するユニグラム確率「0.09」およびユニグラムバックオフ係数「0.04」が含まれている。
また、ユニグラム表には、単語「が」に対するユニグラム確率「0.06」およびユニグラムバックオフ係数「0.03」が含まれており、単語「天気」に対するユニグラム確率「0.2」およびユニグラムバックオフ係数「0.08」が含まれており、単語「聞きたい」に対するユニグラム確率「0.1」およびユニグラムバックオフ係数「0.06」が含まれており、シンボル「<日時>」に対するユニグラム確率「0.18」およびユニグラムバックオフ係数「0.09」が含まれており、シンボル「<場所>」に対するユニグラム確率「0.23」およびユニグラムバックオフ係数「0.13」が含まれている。
マルチマッチング部74の言語スコア算出部92は、辞書データベース93−1が記録している単語辞書、並びに文法データベース94−1が記録している、トライグラム表、バイグラム表、およびユニグラム表を参照して、言語スコアを算出する(求める)。
例えば、3つの単語の連鎖「明日」、「の」、および「天気」に対する言語スコア、すなわち、3つの単語「明日」、「の」、および「天気」が、「明日」、「の」、および「天気」の順番で連鎖する場合における単語「天気」の言語スコアを算出する場合、マルチマッチング部74の言語スコア算出部92は、単語辞書を参照することによって、単語「明日」は、クラス「日時」に属していることが分かるので、シンボル「<日時>」、単語「の」、および単語「天気」が連鎖する確率(トライグラム確率)を求める。
この場合、図19に示すトライグラム表から、シンボル「<日時>」、単語「の」、および単語「天気」に対するトライグラム確率は「0.008」なので、単語「天気」の言語スコアは、「0.008」と求まる。
また、例えば、3つの単語の連鎖「東京」、「を」、および「聞きたい」に対する言語スコア、すなわち、3つの単語「東京」、「を」、および「聞きたい」が、「東京」、「を」、および「聞きたい」の順番で連鎖する場合における単語「聞きたい」の言語スコアを算出する場合、マルチマッチング部74の言語スコア算出部92は、単語辞書を参照することによって、単語「東京」は、クラス「場所」に属していることが分かるので、シンボル「<場所>」、単語「を」、および単語「聞きたい」が連鎖する確率(トライグラム確率)を求める。
この場合、図19に示すトライグラム表には、3つの単語またはシンボルの連鎖「<場所>」、「を」、および「聞きたい」に対するトライグラム確率が含まれていないので、図20に示すバイグラム表に含まれるバイグラム確率を基に、トライグラム確率を算出する。
この場合、トライグラム確率は、式(4)により算出される。
(トライグラム確率)=
(最初の2つの単語またはシンボルのバイグラムバックオフ係数)
×(最後の2つの単語またはシンボルのバイグラム確率) ・・・(4)
すなわち、3つの単語またはシンボルの連鎖「<場所>」、「を」、および「聞きたい」を2つの単語またはシンボルの連鎖「<場所>」および「を」と、「を」および「聞きたい」とに分ける。したがって、この場合、最初の2つの単語またはシンボルのバイグラムバックオフ係数は、2つの単語またはシンボルの連鎖「<場所>」および「を」に対するバイグラムバックオフ係数であり、最後の2つの単語またはシンボルのバイグラム確率は、2つの単語またはシンボルの連鎖「を」および「聞きたい」に対するバイグラム確率である。
ここで、2つの単語またはシンボルの連鎖「<場所>」および「を」に対するバイグラムバックオフ係数は、図20に示すバイグラム表にはないので、例えば、「0.1」と近似される。
一方、2つの単語またはシンボルの連鎖「を」および「聞きたい」に対するバイグラム確率は、図20に示すバイグラム表には、含まれていないので、さらに、図21に示すユニグラム表に含まれるユニグラム確率を基に、バイグラム確率を算出する。
この場合、バイグラム確率は、式(5)により算出される。
(バイグラム確率)=
(最初の単語またはシンボルのユニグラムバックオフ係数)
×(最後の単語またはシンボルのユニグラム確率) ・・・(5)
すなわち、2つの単語またはシンボルの連鎖「を」および「聞きたい」を、2つの単語「を」と、「聞きたい」とに分ける。したがって、この場合、最初(先頭)の単語またはシンボルのユニグラムバックオフ係数は、単語「を」に対するユニグラムバックオフ係数であり、最後(終端)の単語またはシンボルのユニグラム確率は、単語「聞きたい」に対するユニグラム確率である。
ここで、単語「を」に対するユニグラムバックオフ係数は、図21に示すユニグラム表より、「0.04」と求まる。
一方、単語「聞きたい」に対するユニグラム確率は、図21に示すユニグラム表より、「0.1」と求まる。したがって、式(5)より、2つの単語の連鎖「を」および「聞きたい」に対するバイグラム確率は、0.004(0.04×0.1)と算出される。
2つの単語の連鎖「を」および「聞きたい」に対するバイグラム確率が「0.004」と算出され、2つの単語またはシンボルの連鎖「<場所>」および「を」に対するバイグラムバックオフ係数が、「0.1」と求められたので、3つの単語またはシンボルの連鎖「<場所>」、「を」、および「聞きたい」に対する言語スコアは、式(4)より、0.0004(0.1×0.004)と算出される。
図16のフローチャートの説明に戻り、ステップS74において、マルチマッチング部74は、マルチマッチング部74の音響スコア算出部91が算出した音響スコアと、マルチマッチング部74の言語スコア算出部92が算出した言語スコアとを基に、構成した単語モデル系列に対応する単語系列の総合スコアを算出する。なお、ステップS74の処理は、図4のステップS34の処理と同様なので、その説明は省略する。
ステップS75において、マルチマッチング部74は、算出した、意思情報に対応する単語系列の総合スコアのうち、最も高い単語系列の総合スコアを意思情報の総合スコアとする。そして、マルチマッチング部74は、意思情報、スコア情報、および単語情報を意思選択部77に供給し、処理は終了する。
したがって、この場合、意思情報保持部76−1乃至意思情報保持部76−Nのそれぞれが保持している意思情報のそれぞれ、並びに各意思情報に対応するスコア情報および単語情報が意思選択部77に供給される。すなわち、意思選択部77には、N個の意思情報、スコア情報、および単語情報が供給される。
このようにして、マルチマッチング部74は、マッチング処理を行い、意思情報保持部76が保持している意思情報の総合スコアを算出し、意思情報、スコア情報、および単語情報を意思選択部77に供給する。
このように、1つの意思情報に対して、1または複数の単語モデル系列を構成し、各単語モデル系列に対応する単語系列の総合スコアのうち、最も高い総合スコアを意思情報の総合スコアとすることで、意味解析処理などの言語処理を行うことなく、より簡単な構成で、ユーザの発話の意思を抽出することができる。
また、クラスベースの単語辞書およびクラスベースの文法規則からなる言語モデルを用いることによって、言語モデルの数を削減することができ、その結果、より効率的にユーザの発話の意思を抽出することができる。
以上のように、音声処理装置は、言語モデルごとにマッチング処理を行い、音声認識結果としての総合スコアを基に、ユーザの発話の意思を示す意思情報を選択するようにしたので、意味解析処理などの言語処理を行うことなく、より簡単な構成で、ユーザの発話の意思を抽出することができる。
本発明によれば、マッチング処理を行うようにしたので、音声データに対応する単語モデル系列を構成することができる。また、本発明によれば、音声認識結果としての総合スコアを基に、意思情報を選択するようにしたので、より簡単な構成で、ユーザの発話の意思を抽出することができる。
本発明は、音声による地名の問い合わせに対して、対応する地図情報を表示するデータベース検索装置、音声による命令に対して荷物の仕分けを行う産業用ロボット、音声の指令によって所定の処理を実行するコンピュータのアプリケーションプログラム、キーボードに代えて音声を入力してテキストデータを生成するディクテーションシステム、またはユーザと会話するロボット対話システムなどに適用することができる。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。この場合、例えば、音声処理装置は、所定のプログラムを実行するパーソナルコンピュータで実現することができる。
図22はパーソナルコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)121は、ROM(Read Only Memory)122、または記録部128に記録されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)123には、CPU121が実行するプログラムやデータなどが適宜記憶される。これらのCPU121、ROM122、およびRAM123は、バス124により相互に接続されている。
CPU121にはまた、バス124を介して入出力インタフェース125が接続されている。入出力インタフェース125には、マイクロフォン、キーボード、マウス、スイッチなどよりなる入力部126、ディスプレイ、スピーカ、ランプなどによる出力部127が接続されている。CPU121は、入力部126から入力される指令に対応して各種の処理を実行する。
入出力インタフェース125に接続されている記録部128は、例えばハードディスクなどで構成され、CPU121が実行するプログラムや各種のデータを記録する。通信部129は、図示せぬインターネット、その他のネットワークなどの通信網を介して、外部装置と通信する。
また、通信部129を介してプログラムを取得し、記録部128に記録してもよい。
入出力インタフェース125に接続されているドライブ130は、磁気ディスク151、光ディスク152、光磁気ディスク153、或いは半導体メモリ154などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部128に転送され、記録される。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
この記録媒体は、図22に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク151(フレキシブルディスクを含む)、光ディスク152(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク153(MD(Mini-Disc)(商標)を含む)、若しくは半導体メモリ154などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM122や、記録部128に含まれるハードディスクなどで構成される。
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
33 特徴抽出部, 34 マルチマッチング部, 35 音響モデルデータベース, 36−1乃至36−N,36 意思情報保持部, 37 意思選択部, 51 音響スコア算出部, 52 言語スコア算出部, 53−1乃至53−N,53 辞書データベース, 54−1乃至54−N,54 文法データベース, 73 特徴抽出部, 74 マルチマッチング部, 75 音響モデルデータベース, 76−1乃至76−N,76 意思情報保持部, 77 意思選択部, 91 音響スコア算出部, 92 言語スコア算出部, 93−1乃至93−N,93 辞書データベース, 94−1乃至94−N,94 文法データベース, 121 CPU, 122 ROM, 123 RAM, 128 記録部, 151 磁気ディスク, 152 光ディスク, 153 光磁気ディスク, 154 半導体メモリ