JP2005345529A - 音声認識装置および方法、記録媒体、プログラム、並びにロボット装置 - Google Patents
音声認識装置および方法、記録媒体、プログラム、並びにロボット装置 Download PDFInfo
- Publication number
- JP2005345529A JP2005345529A JP2004161847A JP2004161847A JP2005345529A JP 2005345529 A JP2005345529 A JP 2005345529A JP 2004161847 A JP2004161847 A JP 2004161847A JP 2004161847 A JP2004161847 A JP 2004161847A JP 2005345529 A JP2005345529 A JP 2005345529A
- Authority
- JP
- Japan
- Prior art keywords
- voice
- sound
- speech
- unit
- recognition
- 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.)
- Withdrawn
Links
Images
Landscapes
- Manipulator (AREA)
- Toys (AREA)
Abstract
【課題】 より確実に音声を認識する。
【解決手段】 特徴抽出部43は、入力信号の音響的な特徴を表す特徴量を生成する。有声区間検出部44は、有声部分に対応する特徴量の有声区間を検出する。音声認識部45は、特徴量を基に、音声を認識する。音声/非音声判定部46は、特徴量を基に、音声であるか否かを判定する。認識結果統合部47は、音声認識結果、および、音声であるか否かの判定結果を基に、音声認識結果の出力を制御する。本発明は、ユーザの音声を認識するロボットに適用できる。
【選択図】図2
【解決手段】 特徴抽出部43は、入力信号の音響的な特徴を表す特徴量を生成する。有声区間検出部44は、有声部分に対応する特徴量の有声区間を検出する。音声認識部45は、特徴量を基に、音声を認識する。音声/非音声判定部46は、特徴量を基に、音声であるか否かを判定する。認識結果統合部47は、音声認識結果、および、音声であるか否かの判定結果を基に、音声認識結果の出力を制御する。本発明は、ユーザの音声を認識するロボットに適用できる。
【選択図】図2
Description
本発明は音声認識装置および方法、記録媒体、プログラム、並びにロボット装置に関し、特に、より確実に音声を認識することができるようにした音声認識装置および方法、記録媒体、プログラム、並びにロボット装置に関する。
昨今、音声認識を応用した製品やサービスの実用化が、盛んに行われるようになってきた。
音声認識とは、音響的な特徴を表す特徴量の出現確率などによって、入力音声に対応する単語の系列を推定し、推定された単語の系列によって音声を認識する技術のことである。音声認識技術およびアプリケーションプログラムを組み合わせることで、様々な製品やサービスの提供が可能になる。
音声認識処理において、時間的に連続した信号である入力信号から、音声部分が抽出され、抽出された音声部分に対して音声認識処理が行われる。この音声部分を抽出する処理は、音声区間検出と呼ばれ、音声認識処理の前処理として行われる。
音声区間の検出方法としては、入力信号から微小時間を単位として特徴量を抽出し、抽出した特徴量と閾値とを比較することにより、入力信号から音声部分を検出する方法が用いられている。
このような音声区間検出を用いた音声認識装置は、図1で示されるように構成される。
図1において、ユーザが発した音声は、マイクロフォン1に入力(取得)され、マイクロフォン1では、入力された入力音声が、電気信号としての音声信号に変換される。変換によって生成された音声信号は、AD(Analog Digital)変換部2に供給される。AD変換部2では、マイクロフォン1からのアナログ信号である音声信号が、サンプリングされて、量子化され、デジタル信号である音声データに変換される。この音声データは、特徴抽出部3に供給される。
特徴抽出部3は、AD変換部2から供給された音声データについて、所定のフレームごとに(微小時間間隔に)音響分析処理を適用し、特徴量を生成することによって、音声データの特徴を抽出する。
特徴抽出部3において生成された特徴量は、音声区間検出部4に供給される。音声区間検出部4は、特徴抽出部3から供給された特徴量を基に、音声部分に対応する特徴量の音声区間を検出する。音声区間検出部4は、検出された音声区間に含まれる特徴量を音声認識部5のマッチング部21に供給する。
音声認識部5は、マッチング部21、音響モデルデータベース22、辞書データベース23、および文法データベース24からなる。
音声認識部5は、音声区間検出部4から供給された特徴量を基に、音声を認識する。マッチング部21は、音声区間検出部4から供給された特徴量を用いて、音響モデルデータベース22、辞書データベース23、および文法データベース24を必要に応じて参照しながら、マイクロフォン1に入力された入力音声を認識する。
すなわち、音響モデルデータベース22は、音声認識する音声の言語における個々の音素や音節などの所定の単位(PLU(Phoneme Like Units))ごとの音響的な特徴を表す音響モデルを記録している。音響モデルとして、HMM(Hidden Markov Model)が用いられる。辞書データベース23は、認識対象の各単語(語彙)について、各単語ごとの発音に関する情報(音韻情報)が記述された単語辞書、および各音響モデルから特徴量が観測される確率を記録している。文法データベース24は、辞書データベース23の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則(言語モデル)を記録している。
マッチング部21は、辞書データベース23の単語辞書を参照することにより、音響モデルデータベース22に記録されている音響モデルを接続して、単語の音響モデル(単語モデル)を構成する。さらに、マッチング部21は、いくつかの単語モデルを、文法データベース24に記録された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、特徴量の時系列に基づき、マイクロフォン1に入力された音声を認識する。すなわち、マッチング部21は、上述したようにして構成された各単語モデルの系列から、特徴量の時系列が観測される尤度を表すスコアを計算する。そして、マッチング部21は、そのスコアが最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声の認識結果として出力する。
スコア計算は、一般に、音響モデルデータベース22に記録された音響モデルによって与えられる音響的なスコア(以下、適宜、音響スコアと称する。)と、文法データベース24に記録された文法規則によって与えられる言語的なスコア(以下、適宜、言語スコアと称する。)とを総合評価することで行われる。
すなわち、音響スコアは、単語モデルを構成する音響モデルから、特徴抽出部3が出力する特徴量の系列が観測される確率(出現する確率)に基づいて、単語ごとに計算される。また、言語スコアは、例えば、バイグラムによる場合には、注目している単語と、その単語の直前の単語とが連鎖(連接)する確率に基づいて、求められる。そして、各単語についての音響スコアと言語スコアを総合評価して得られる最終的なスコアに基づいて、音声認識結果が確定される。
例えば、ユーザが、「今日はいい天気ですね。」と発声した場合、「今日」、「は」、「いい」、「天気」、「ですね」のような単語の系列が、音声認識結果として得られることになる。このとき、各単語に対して、音響スコアおよび言語スコアが与えられる。
しかしながら、上述した音声区間の検出方法では、音声だけでなく、咳やくしゃみ、ドアの開閉音など周囲で発生する非定常な雑音まで検出してしまうという問題を完全に避けることは出来ない。この場合、非音声信号に対する音声認識処理が行われてしまうため、音声認識処理の後段の処理において、誤作動を引き起こすという問題があった。
したがって、入力信号が音声であるか否かの判定を、より確実に行う技術が必要とされる。
従来、音声であるか否かの判定方法としては、周波数スペクトラムを特徴量として、ノイズの変動に適応するようなノイズの確率モデルを構成し、構成されたノイズの確率モデルを基に、音声であるか否かの判定を行っているものもある(例えば、特許文献1参照)。
また、整数次倍音構造を用いて、入力音声の母音部分を抽出し、さらに、スペクトル包絡の距離を用いて、入力音声の子音部分を抽出する装置もある(例えば、特許文献2参照)。この装置においては、抽出された母音部および子音部を基に、音声であるか否かの判定が行われる。
また、多次元正規分布を用いて、母音ごとの標準モデルを生成し、生成した母音標準モデルを基に、入力音声の母音部分を抽出することによって、音声であるか否かの判定を行うものもある(特許文献3参照)。
しかしながら、従来のノイズモデルまたは母音もしくは子音のモデルを用いた、音声であるか否かの判定方法においては、モデルは静的なものであり、固定長のフレームが用いられる。従来の判定方法では、せいぜい数秒間の音声入力に対して、音声であるか否かが判定される。
従来の判定方法におけるフレームは固定長であるが、音声の長さは不定(可変長)である。また、従来の判定方法では、音響的(音韻的)な特定が利用されず、音声信号(のフレーム)が連続する時系列であるとの特性が、利用されていない。
その結果、従来の判定方法では、音声であるか否かを正確に判断できない(精度が低い)。すなわち、従来の判定方法は、音声信号のような時間的に連続した信号について、音声であるか否かを判定するのに適していない。
また、従来の音声であるか否かの判定処理は、専用のノイズモデルまたは母音もしくは子音のモデルを基に、独立して処理が行われ、音声認識処理との親和性が考慮されておらず、システムが煩雑になるという課題があった。
さらに、音声認識の対象となる語彙数などの制約により、正しい単語系列を推定させることが出来ず、音声認識処理の後段の処理として、アプリケーションプログラムを実行させることができない場合があった。
例えば、「立て」および「座れ」という2つの単語だけを認識することができる音声認識装置に対して、ユーザが、「走れ」と発声した場合、音声認識装置は、入力音声を「立て」あるいは「座れ」の何れとしても認識することができず、また、音声認識装置は、「走れ」を認識することは出来ないため、アプリケーションプログラムを実行させることができない。したがって、このとき、ユーザが音声を入力しているにも関わらず、アプリケーションプログラムが実行されないため、ユーザには、音声が正常に入力されなかったように思われることになる。または、この場合、ユーザは、音声認識装置が音声を無視したように見える。
本発明は、このような状況に鑑みてなされたものであり、より確実に音声を認識することができるようにするものである。
本発明の音声認識装置は、入力信号の音響的な特徴を示す特徴量を基に、音声を認識する音声認識手段と、音声認識手段により認識される音声に対応する入力信号の特徴量を基に、音声であるか否かを判定する判定手段とを備え、判定手段は、入力信号に対応するシンボルの系列を決定するマッチング手段を含み、判定手段は、マッチング手段により決定されるシンボルの系列に、音声に対応するシンボルが含まれるか否かを判定することにより、音声であるか否かを判定することを特徴とする。
音声認識装置は、判定手段によって、音声であると判定された場合、音声認識手段によって、音声が認識されたとき、音声認識手段によって認識された認識結果を出力し、判定手段によって、音声でないと判定された場合、音声認識手段によって認識された認識結果の出力を抑制するように、出力を制御する出力制御手段をさらに設けることができる。
出力制御手段は、判定手段によって、音声であると判定された場合、音声認識手段によって、音声が認識されないとき、所定のメッセージを出力するように、出力を制御するようにすることができる。
音声認識手段は、単語系列を構成する単語を決定することにより、音声を認識し、判定手段は、単語が音声であるか否かを判定するようにすることができる。
判定手段は、母音が含まれるか否かを基に、単語が音声であるか否かを判定するようにすることができる。
本発明の音声認識方法は、入力信号の音響的な特徴を示す特徴量を基に、音声を認識する音声認識ステップと、音声認識ステップにおいて認識される音声に対応する入力信号の特徴量を基に、音声であるか否かを判定する判定ステップとを含み、判定ステップは、入力信号に対応するシンボルの系列を決定するマッチングステップを含み、判定ステップにおいて、マッチングステップにおいて決定されるシンボルの系列に、音声に対応するシンボルが含まれるか否かが判定されることにより、音声であるか否かが判定されることを特徴とする。
本発明の記録媒体のプログラムは、入力信号の音響的な特徴を示す特徴量を基に、音声を認識する音声認識ステップと、音声認識ステップにおいて認識される音声に対応する入力信号の特徴量を基に、音声であるか否かを判定する判定ステップとを含み、判定ステップは、入力信号に対応するシンボルの系列を決定するマッチングステップを含み、判定ステップにおいて、マッチングステップにおいて決定されるシンボルの系列に、音声に対応するシンボルが含まれるか否かが判定されることにより、音声であるか否かが判定されることを特徴とする。
本発明のプログラムは、入力信号の音響的な特徴を示す特徴量を基に、音声を認識する音声認識ステップと、音声認識ステップにおいて認識される音声に対応する入力信号の特徴量を基に、音声であるか否かを判定する判定ステップとをコンピュータに実行させ、判定ステップは、入力信号に対応するシンボルの系列を決定するマッチングステップを含み、判定ステップにおいて、マッチングステップにおいて決定されるシンボルの系列に、音声に対応するシンボルが含まれるか否かが判定されることにより、音声であるか否かが判定されることを特徴とする。
本発明のロボット装置は、音声を取得して、音声に対応する信号を出力する音声取得手段と、信号の音響的な特徴を示す特徴量を基に、音声を認識する音声認識手段と、音声認識手段により認識される音声に対応する信号の特徴量を基に、音声であるか否かを判定する判定手段と、判定手段によって、音声であると判定された場合、音声認識手段によって、音声が認識されたとき、音声認識手段によって認識された認識結果を出力し、判定手段によって、音声でないと判定された場合、音声認識手段によって認識された認識結果の出力を抑制するように、出力を制御する出力制御手段と、出力制御手段により、出力された認識結果に対応して処理を実行する処理実行手段とを備えることを特徴とする。
出力制御手段は、判定手段によって、音声であると判定された場合、音声認識手段によって、音声が認識されないとき、処理実行手段に、所定のメッセージを出力させる旨の指示を出力するように、出力を制御し、処理実行手段は、出力制御手段の指示に基づいて、メッセージを出力する処理を実行するようにすることができる。
音声認識手段は、単語系列を構成する単語を決定することにより、音声を認識し、判定手段は、単語が音声であるか否かを判定するようにすることができる。
判定手段は、母音が含まれるか否かを基に、単語が音声であるか否かを判定するようにすることができる。
音声認識装置は、独立した装置であってもよいし、音声認識処理を行うブロックであってもよい。
本発明の音声認識装置および方法、記録媒体、並びにプログラムにおいては、入力信号の音響的な特徴を示す特徴量を基に、音声が認識され、音声認識において、認識される音声に対応する入力信号の特徴量を基に、音声であるか否かが判定される。また、入力信号に対応するシンボルの系列が決定され、音声であるか否かの判定は、マッチング手段により決定されるシンボルの系列に、音声に対応するシンボルが含まれるか否かが判定されることにより、判定される。
本発明のロボット装置においては、音声が取得され、音声に対応する信号が出力され、信号の音響的な特徴を示す特徴量を基に、音声が認識される。そして、音声認識において、認識される音声に対応する信号の特徴量を基に、音声であるか否かが判定され、音声であると判定された場合、音声認識において、音声が認識されたとき、音声認識によって認識された認識結果を出力し、音声であるか否かの判定において、音声でないと判定された場合、認識された認識結果の出力を制御するように、出力が制御される。そして、出力された認識結果に対応して処理が実行される。
本発明によれば、より確実に音声を認識させることが可能となる。
また、音声が入力され、音声の認識の処理が実行されたことを、ユーザが知ることができる。
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
本発明によれば、音声認識装置が提供される。この音声認識装置は、入力信号の音響的な特徴を示す特徴量を基に、音声を認識する音声認識手段(例えば、図2の音声認識部45)と、音声認識手段により認識される音声に対応する入力信号の特徴量を基に、音声であるか否かを判定する判定手段(例えば、図2の音声/非音声判定部46)とを備え、判定手段は、入力信号に対応するシンボルの系列を決定するマッチング手段(例えば、図2のマッチング部65)を含み、判定手段は、マッチング手段により決定されるシンボルの系列に、音声に対応するシンボルが含まれるか否かを判定することにより、音声であるか否かを判定する。
この音声認識装置は、判定手段(例えば、図2の音声/非音声判定部46)によって、音声であると判定された場合、音声認識手段(例えば、図2の音声認識部45)によって、音声が認識されたとき、音声認識手段によって認識された認識結果を出力し、判定手段によって、音声でないと判定された場合、音声認識手段によって認識された認識結果の出力を抑制するように、出力を制御する出力制御手段(例えば、図2の認識結果統合部47)をさらに設けることができる。
この音声認識装置は、出力制御手段(例えば、図2の認識結果統合部47)が、判定手段(例えば、図2の音声/非音声判定部46)によって、音声であると判定された場合、音声認識手段(例えば、図2の音声認識部45)によって、音声が認識されないとき、所定のメッセージを出力するように、出力を制御するようにすることができる。
この音声認識装置は、音声認識手段(例えば、図2の音声認識部45)が、単語系列を構成する単語を決定することにより、音声を認識し、判定手段(例えば、図2の音声/非音声判定部46)が、単語が音声であるか否かを判定するようにすることができる。
この音声認識装置は、判定手段(例えば、図2の音声/非音声判定部46)が、母音が含まれるか否かを基に、単語が音声であるか否かを判定するようにすることができる。
また、本発明によれば、音声認識方法が提供される。この音声認識方法は、入力信号の音響的な特徴を示す特徴量を基に、音声を認識する音声認識ステップ(例えば、図3のステップS5の処理)と、音声認識ステップにおいて認識される音声に対応する入力信号の特徴量を基に、音声であるか否かを判定する判定ステップ(例えば、図3のステップS6の処理)とを含み、判定ステップは、入力信号に対応するシンボルの系列を決定するマッチングステップ(例えば、図7のステップS12の処理)を含み、判定ステップにおいて、マッチングステップにおいて決定されるシンボルの系列に、音声に対応するシンボルが含まれるか否かが判定されることにより、音声であるか否かが判定される。
また、本発明によれば、プログラムが提供される。このプログラムは、入力信号の音響的な特徴を示す特徴量を基に、音声を認識する音声認識ステップ(例えば、図3のステップS5の処理)と、音声認識ステップにおいて認識される音声に対応する入力信号の特徴量を基に、音声であるか否かを判定する判定ステップ(例えば、図3のステップS6の処理)とをコンピュータに実行させ、判定ステップは、入力信号に対応するシンボルの系列を決定するマッチングステップ(例えば、図7のステップS12の処理)を含み、判定ステップにおいて、マッチングステップにおいて決定されるシンボルの系列に、音声に対応するシンボルが含まれるか否かが判定されることにより、音声であるか否かが判定される。
このプログラムは記録媒体(例えば、図11の磁気ディスク121)に記録することができる。
また、本発明によれば、ロボット装置が提供される。このロボット装置は、音声を取得して、音声に対応する信号を出力する音声取得手段(例えば、図13のマイクロフォン144)と、信号の音響的な特徴を示す特徴量を基に、音声を認識する音声認識手段(例えば、図13の音声認識部184)と、音声認識手段により認識される音声に対応する信号の特徴量を基に、音声であるか否かを判定する判定手段(例えば、図13の音声/非音声判定部185)と、判定手段によって、音声であると判定された場合、音声認識手段によって、音声が認識されたとき、音声認識手段によって認識された認識結果を出力し、判定手段によって、音声でないと判定された場合、音声認識手段によって認識された認識結果の出力を抑制するように、出力を制御する出力制御手段(例えば、図13の認識結果統合部186)と、出力制御手段により、出力された認識結果に対応して処理を実行する処理実行手段(例えば、図13の制御部147)とを備える。
このロボット装置は、出力制御手段(例えば、図13の認識結果統合部186)が、判定手段(例えば、図13の音声/非音声判定部185)によって、音声であると判定された場合、音声認識手段(例えば、図13の音声認識部184)によって、音声が認識されないとき、処理実行手段(例えば、図13の制御部147)に、所定のメッセージを出力させる旨の指示を出力するように、出力を制御し、処理実行手段は、出力制御手段の指示に基づいて、メッセージを出力する処理を実行するようにするとができる。
このロボット装置は、音声認識手段(例えば、図13の音声認識部184)が、単語系列を構成する単語を決定することにより、音声を認識し、判定手段(例えば、図13の音声/非音声判定部185)が、単語が音声であるか否かを判定するようにすることができる。
このロボット装置は、判定手段(例えば、図13の音声/非音声判定部185)が、母音が含まれるか否かを基に、単語が音声であるか否かを判定するようにすることができる。
図2は、本発明に係る音声認識装置の一実施の形態の構成を示すブロック図である。
音声認識装置は、マイクロフォン41、AD変換部42、特徴抽出部43、有声区間検出部44、音声認識部45、音声/非音声判定部46、および認識結果統合部47を含む。
マイクロフォン41はユーザによって発声された、単語または単語列を含む音声を入力音声として取得する。マイクロフォン41は、取得した入力音声を、電気信号である音声信号に変換する。マイクロフォン41は、音声信号をAD変換部42に供給する。マイクロフォン41からAD変換部42に供給される音声信号は、いわゆるアナログ信号である。
AD変換部42は、マイクロフォン41から供給された音声信号にAD変換処理を適用して、アナログの音声信号を、デジタルの音声データに変換する。すなわち、AD変換部42は、音声信号をサンプリングして、量子化することにより、デジタルの音声データを生成する。AD変換部42は、音声データを特徴抽出部43に供給する。
特徴抽出部43は、AD変換部42から供給された音声データについて、所定のフレームごとに(微小時間毎に)音響分析処理を適用し、特徴量を生成することによって、音声データの特徴を抽出する。特徴抽出部43は、生成した特徴量を有声区間検出部44に供給する。
有声区間検出部44は、特徴抽出部43から供給された特徴量を基に、有声部分に対応する特徴量の有声区間を検出し、検出された有声区間における特徴量を音声認識部45および音声/非音声判定部46に供給する。有声区間検出部44は、有声区間以外の特徴量を音声認識部45および音声/非音声判定部46に供給しない。
音声認識部45は、有声区間検出部44から供給された特徴量を基に、音声を認識する。マッチング部61は、有声区間検出部44から供給された特徴量を用いて、音響モデルデータベース62、辞書データベース63、および文法データベース64を必要に応じて参照しながら、マイクロフォン41に入力された入力音声を認識する。
すなわち、音響モデルデータベース62は、音声認識する音声の言語における個々の音素や音節などの所定の単位(PLU)ごとの音響的な特徴を表す音響モデルを保持している(記録している)。辞書データベース63は、認識対象の各単語(語彙)について、各単語の発音に関する情報(発音情報)が記述された単語辞書、および各音響モデルから特徴量の系列が観測される確率を保持している。文法データベース64は、辞書データベース63の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則(言語モデル)を保持している。
以下、マッチング部61による音声認識の処理をマッチング処理とも称する。
また、マッチング部61は、マッチング処理により得られた音声認識結果を、認識結果統合部47に供給する。マッチング処理の詳細は、後述する。
音声/非音声判定部46は、有声区間における入力信号が、ユーザの音声から生成されたものであるか否か、すなわち、有声区間の入力信号が、音声であるか否かを判定する。音声/非音声判定部46は、マッチング部65、音響モデルデータベース66、辞書データベース67、および文法データベース68を備えている。
マッチング処理部65は、音響モデルデータベース66、辞書データベース67、および文法データベース68を必要に応じて参照しながら、有声区間検出部44から供給された特徴量を基に、マッチング部61が行うマッチング処理と同様の処理を行うことにより、音声であるか否かの判定を行う。マッチング処理部65は、音声であるか否かの判定結果を認識結果統合部47に供給する。音声/非音声判定の処理の詳細は、後述する。
音響モデルデータベース66は、音声認識する音声の言語における個々の音素や音節などの所定の単位(PLU)ごとの音響的な特徴を表す音響モデルを保持している(記録している)。辞書データベース67は、認識対象の各単語(語彙)について、各単語の発音に関する情報(発音情報)を保持している。文法データベース68は、辞書データベース67の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則(言語モデル(単語系列モデルとも称する))を保持している。
認識結果統合部47は、音声認識部45から供給された音声認識結果、および音声/非音声判定部46から供給された音声であるか否かの判定結果に基づいて、認識結果を統合して、最終的な音声認識を結果の出力を制御する。認識結果統合の処理の詳細は、後述する。
図3のフローチャートを参照して、音声認識プログラムを実行する音声認識装置による音声認識処理を説明する。
ステップS1において、マイクロフォン41は、入力された入力音声を、電気信号としての音声信号に変換し、変換によって生成された音声信号をAD変換部42に供給する。例えば、ステップS1において、マイクロフォン41は、ユーザによって発声された、単語または単語列を含む音声を入力音声として取得し、取得した入力音声を、アナログ信号である音声信号に変換し、音声信号をAD変換部42に供給する。ステップS1において、マイクロフォン41は、ユーザによって発声された、単語または単語列を含まない音も取得して、取得した音を、アナログ信号である音声信号に変換し、音声信号をAD変換部42に供給する。
以下、ユーザによって発声された、単語または単語列を含まない音も、単に、音声と称する。
ステップS2において、AD変換部42は、マイクロフォン41から供給された音声信号を、サンプリングして、量子化し、デジタル信号である音声データに変換する。AD変換部42は、AD変換した音声データを特徴抽出部43に供給する。
ステップS3において、特徴抽出部43は、AD変換部42から供給された音声データについて、所定のフレームごとに(微小時間毎に)音響分析を適用し、特徴量としての、特徴量からなる時間的な系列(特徴量の系列)を生成することによって、音声データの特徴を抽出する。特徴抽出部43は、生成された特徴量の系列を有声区間検出部44に供給する。
例えば、ステップS3において、特徴抽出部43は、1フレームである所定の期間の音声データに、音響分析として、DFT(Discrete Fourier Transform)などの周波数分析の処理を適用し、周波数分析に基づく周波数帯域ごとのエネルギー、いわゆるパワースペクトル(以下、単にスペクトルと称する)などの特徴を示す特徴量の系列を生成する。
なお、特徴抽出部43は、その他、例えば、零交差数、または信号のエネルギーなどの特徴を示す特徴量の系列を生成するようにしてもよい。また、特徴抽出部43は、音声データに、ベクトル量子化の処理を適用することにより特徴量を求めるようにしてもよい。特徴量の方式は、本発明を限定するものではない。
ステップS4において、有声区間検出部44は、特徴抽出部43から供給された特徴量を基に、有声部分に対応する特徴量の有声区間を検出し、検出された有声区間に含まれる特徴量を、マッチング部61およびマッチング部65に供給する。例えば、ステップS4において、有声区間検出部44は、予め定めた閾値と特徴検出部43から供給された特徴量とを比較し、所定の周波数帯域のエネルギーが閾値以上であるとき、ユーザによって発声された音声から生成された音声信号の特徴を示す特徴量であると判定することにより、有声部分に対応する有声区間を検出する。
ここで、有声部分に対応する有声区間は、有声区間検出部44によって検出された、音声データのうちの、ユーザによって発声された音声から生成された音声データが配置されている区間である。
また、有声区間検出部44は、特徴量、および検出された有声区間を表す有声区間情報を、マッチング部61およびマッチング部65に供給するようにしてもよい。
ステップS5において、マッチング部61は、有声区間検出部44から供給された特徴量を基に、音響モデルデータベース62、辞書データベース63、および文法データベース64を必要に応じて参照しながら、マッチング処理を行うことにより、音声を認識する。マッチング部61は、マッチング処理を行うことにより得られる音声認識結果を、認識結果統合部47に供給する。
例えば、ステップS5において、マッチング部61が、バウム・ウェルチのアルゴリズムに基づいて、「立て」および「座れ」の2つの単語を音声認識することができる場合について、説明する。
このとき、音響モデルデータベース62に記録されている音響モデルは、例えば、図4で示される、日本語の音素に対応する隠れマルコフモデル(HMM)である。図4において、「sil」は、音声以外の信号を表し、例えば、室内環境音や車内環境音などの無音声部分の音響的な特徴をモデル化した音響モデルであり、音声の前後の無音声部分、または音声と音声との間の無音声部分に対応するように設けられた音響モデルである。
なお、音響モデルとしては、その他、例えば、トライフォンHMMや、PHMM(Partly Hidden Markov Model)などの音響モデルを用いることが可能である。
また、例えば、図5で示されるように、辞書データベース63には、音響モデルデータベース62に記録されている各音響モデルから、特徴量の系列が観測される確率(出現確率)、発音(情報)、および単語(情報)が記録されている。より具体的には、例えば、発音情報としては、音声認識の対象である単語「立て」に対応する発音情報「tate」、および、単語「座れ」に対応する発音情報「suware」が、それぞれ登録されている。また、「start」および「end」のそれぞれは、言語モデルの始点および終点のそれぞれを示し、発音情報「sil」に対応する。
ここで、発音情報は、各単語に対応する音響モデルの接続情報である。
マッチング部61は、辞書データベース63の単語辞書を参照することにより、音響モデルデータベース62に記録されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。すなわち、マッチング部61は、発音情報「tate」を参照することによって、「t」の音響モデル、「a」の音響モデル、「t」の音響モデル、および「e」の音響モデルを順に接続して、単語「立て」の単語モデルを生成する。また、同様に、マッチング部61は、発音情報「suware」を参照し、「s」の音響モデル、「u」の音響モデル、「w」の音響モデル、「a」の音響モデル、「r」の音響モデル、および「e」の音響モデルを順に接続して、単語「座れ」の単語モデルを生成する。
そして、マッチング部61は、生成された単語モデル「立て」および「座れ」のそれぞれの音響スコア(特徴量が観測される尤度)を、特徴量の出現確率を基に計算する。
さらに、マッチング部61は、いくつかの単語モデルを、文法データベース64に記録されている文法規則を参照することにより接続し、言語モデルを構成する。そして、マッチング部61は、構成された言語モデルの言語スコアを計算する。
ここで、文法データベース64には、例えば、図6で示される文法規則が、記録されている。図6において、接続される単語モデルの系列(言語モデル)は、「start」+「立て」+「end」および「start」+「座れ」+「end」の2通りである。したがって、言語モデルは、「立て」あるいは「座れ」の何れかの単語モデルだけから構成される。この場合、各単語モデルと連鎖する単語モデルがないため、言語スコアは、計算されない。
マッチング部61は、計算された音響スコアおよび言語スコアを基に、最終的なスコアを計算する。例えば、文法データベース64に、図6で示される文法規則が、記録されている場合、言語スコアは計算されないので、音響スコアが、最終的なスコアとされる。すなわち、マッチング部61は、各単語モデルに対する特徴量が観測される尤度を求めて、最も尤度の高い単語モデルを選択する。
マッチング部61は、計算されたそれぞれの最終的なスコアと閾値とを比較し、閾値よりもスコアが高い言語モデルがある場合、閾値よりもスコアが高い言語モデルのうち、スコアが最も高い言語モデルを検出し、その言語モデルに対応する単語系列を、音声認識結果として出力する。また、マッチング部61は、閾値よりもスコアが高い言語モデルがない場合、入力音声が、認識されなかった旨を音声認識結果として出力する。
より具体的には、マッチング部61は、音声が認識された場合、マッチング処理によって認識された単語系列が、音声認識結果であることを示す信号を、認識結果統合部47に供給し、音声が認識されなかった場合、音声が認識されなかったことを示す信号を、音声認識結果として、認識統合部47に供給する。
例えば、「立て」のスコアが最も高かった場合、マッチング部61は、音声認識結果として「立て」を示す信号を、認識結果統合部47に供給する。
また、各単語モデルの系列のスコアと比較して、閾値が最も高い場合には、すなわち、全てのスコアが閾値以下である場合には、マッチング部61は、音声が認識できなかったことを示す信号を、認識結果統合部47に供給する。
なお、連続分布HMM法などにより、マッチング処理を行うようにしてもよい。また、文法データベース24に記録される文法規則として、文脈自由文法(CFG(Context Free Grammar))や、統計的な単語連鎖率(N−Gram)などに基づく文法規則を用いることもできる。
さらに、音響モデルを接続して、単語モデルを構成する方法として、尤度の最も高い音響モデルを順次接続していくこともできる。この場合、結果として最も高い音響スコアを持つ単語モデルが、ただ1つ得られることになる。
図3のフローチャートの説明に戻り、ステップS6において、音声/非音声判定部46のマッチング部65は、マッチング処理を行い、入力音声の有声部分が、音声であるか否かの判定を行う。すなわち、音声/非音声判定部46のマッチング部65は、有声区間検出部44によって、音声データのうちの、ユーザによって発声された音声から生成された音声データが配置されている区間であるとして検出された、有声部分に対応する有声区間に含まれる音が音声であるか否かを判定する。ステップS5の処理で、音声が認識される有声部分に対応する有声区間について、ステップS6において、音声/非音声判定部46のマッチング部65によって、音声であるか否かが判定される。マッチング部65は、音声であるか否かの判定結果、すなわち音声/非音声判定結果を認識結果統合部47に供給する。
より具体的には、マッチング部65は、音声であることを示す信号および音声でないことを示す信号のうちの何れか一方を認識結果統合部47に供給する。音声/非音声の判定処理の詳細は、後述する。
ステップS7において、認識結果統合部47は、マッチング部61から供給された音声認識結果、および、マッチング部65から供給された音声/非音声判定結果に基づいて、認識結果統合の処理を行い、音声認識結果の出力を制御して、音声認識の処理は、終了する。なお、認識結果統合処理の詳細は後述する。
このようにして、音声認識装置は、入力された音声信号の音声認識処理を行う。
次に、図7のフローチャートを参照して、図3のステップS6の処理に対応する音声/非音声の判定処理について説明する。
ステップS11において、マッチング部65は、有声区間検出部44から特徴量が供給されたか否かを判定し、特徴量が供給されていないと判定された場合、ステップS11に戻り、特徴量が供給されるまで、判定の処理を繰り返す。
ステップS11において、特徴量が供給されたと判定された場合、ステップS12に進み、マッチング部65は、音響モデルデータベース66、辞書データベース67、および、文法データベース68を必要に応じて参照し、単語系列モデル(言語モデル)を構成して、供給された特徴量を基に、マッチング処理を行う。
ここで、図8および図9を参照して、ステップS12における、マッチングの処理の詳細を説明する。
例えば、ステップS12において、マッチング処理部65は、音響モデルに対応させて、単語系列モデルを構成する。
音響モデルデータベース66は、日本語の母音に対応する隠れマルコフモデル(HMM)である音響モデルを記録する。辞書データベース67は、音響モデルに対応する単語モデルを記録する。
例えば、音響モデルデータベース66には、日本語の母音「a」、「i」、「u」、「e」、「o」、および音声以外の信号に対応する「sil」を含む隠れマルコフモデル(HMM)が記録されている。また、辞書データベース67には、例えば、図8で示される8つの単語に対応する発音情報が記録されている。すなわち、図8で示される例において、言語モデルの始点を示す「start」である単語に対して、発音情報「sil」が記録され、言語モデルの終点を示す「end」である単語に対して発音情報「sil」が記録され、「あ」である単語に対して発音情報「a」が記録され、「い」である単語に対して発音情報「i」が記録されている。同様に、「う」である単語に対して発音情報「u」が記録され、「え」である単語に対して発音情報「e」が記録され、「お」である単語に対して発音情報「o」が記録され、母音以外の音を示す非対象語である単語に対して発音情報「sil」が記録されている。
図8において、非対象語は、音声であるか否かの判定の際に、判定の基準とはならない単語であり、無音声部分の音韻情報以外にも、非対象語として、例えば、子音または音楽に対応する発音(音韻)情報を記録するようにしてもよい。非対象語は、1つだけ記録してもよく、あるいは、複数個記録するようにしてもよい。
マッチング部65は、辞書データベース67に記録されている単語を参照して、単語に対応して、音響モデルデータベース66に記録されている音響モデルを選択することで、単語の音響モデル(単語モデル)を構成する。
マッチング部65は、文法データベース68に記録されている、単語の遷移に関する制約を基に、単語モデルを接続して、単語系列モデルを生成する。例えば、文法データベース68は、図9の状態遷移図で示される、単語の遷移に関する制約を記録している。
すなわち、マッチング部65は、例えば、図9で示される状態遷移に基づいて、単語モデルを接続する。図9で示されるように、「start」の次には、「非対象語」が接続される。「start」の次の「非対象語」の次には、さらに「非対象語」、「end」、または母音「あ」、「い」、「う」、「え」、および「お」のうちの何れか1つである単語が接続される。さらに例えば、「非対象語」の次に再び「非対象語」が接続された場合、さらに加えて「非対象語」、「end」、または母音「あ」、「い」、「う」、「え」、および「お」のうち何れか1つである単語が接続される。
また、「非対象語」の次に母音「あ」、「い」、「う」、「え」、および「お」のうちの何れか1つである単語が接続された場合には、接続された母音である単語の次には、「非対象語」が接続される。そして、母音である単語の次の「非対象語」には、さらに「非対象語」が接続されるか、あるいは「end」が接続される。
さらに「非対象語」が接続されたときは、同様にして、「end」が接続されるまで「非対象語」が接続される。
このようにして、マッチング部65は、接続された単語モデルが、所定の長さになるまで、状態遷移にしたがって単語モデルを接続して、単語系列モデルを生成する。
すなわち、マッチング部65によって、「start」、所定の数の「非対象語」、および「end」からなり、母音の単語モデルを含まない単語系列モデルが生成される。また、マッチング部65によって、「start」および「end」を含み、母音「あ」、「い」、「う」、「え」、および「お」のいずれかを含む単語系列モデルが生成される。
換言すれば、マッチング部65は、母音の単語モデルを含まない単語系列モデル、および1つの母音の単語モデルを含む単語系列モデルをそれぞれ生成する。
より詳細な例を説明すれば、この場合、接続により得られる単語系列モデルは、「start」+「非対象語」+「非対象語」+「非対象語」+「非対象語」+「end」などの非対象語のみが接続された単語系列モデルであるか、または、「start」+「非対象語」+「非対象語」+「あ」+「非対象語」+「end」などの非対象語の中に母音が1つ含まれる単語系列モデルとなる。
ここで、「start」の次には、「非対象語」を接続し、「end」の前に「非対象語」を接続するようにしたが、状態遷移に関して、このような制約を設けるようにしてもよく、あるいは、特に設けなくてもよい。また、接続される音響モデルの数は、有声区間の長さに応じて、変化させることが、可能である。
このように、マッチング処理部65は、マッチングの処理として、音響モデルを接続することによって得られた、各単語系列モデル(言語モデル)について、特徴量の出現確率を基に、音響スコア(特徴量が観測される尤度)を計算する。そして、マッチング部65は、それぞれに計算された、単語モデルの音響スコアを比較して、音響スコアの最も高い単語モデルを選択する。
以上のように、例えば、ステップS12において、マッチング部65は、音響モデルデータベース66、辞書データベース67、および文法データベース68を参照して、音響モデルを接続することによって言語モデルを構成し、構成された言語モデルの言語スコアを計算する。そして、マッチング部65は、言語スコアを基に、スコアの最も高い言語モデルを選択する。
ステップS13において、マッチング部65は、選択された単語系列モデルの中に、母音が含まれているか否かを判定する。
ステップS13において、選択された単語系列モデルの中に、母音が含まれていると判定された場合、特徴量に対応する音声データに音声が含まれているので、ステップS14に進み、マッチング処理部65は、選択された単語系列モデルに対応する単語系列が、音声であることを示す信号を、認識結果統合部47に供給し、音声/非音声の判定処理は、終了する。
一方、ステップS13において、選択された単語モデルの中に、母音が含まれていないと判定された場合、特徴量に対応する音声データに音声が含まれていないので、ステップS15に進み、マッチング部65は、選択された単語系列モデルに対応する単語系列が、音声でないことを示す信号を認識結果統合部47に供給し、処理は、終了する。
一般に、日本語のほとんどの音節は、「ん」などの例外を除き、母音を接続するか、または、母音および子音を接続することで構成される。このため、ユーザによって発声された音声から生成された音声信号には、少なくとも1つ以上の母音が含まれていると仮定することができる。すなわち、図8で示される状態遷移に基づいて、マッチング処理を行った場合、音声信号が入力されたときには、母音「あ」、「い」、「う」、「え」、および「お」のいずれかを含む単語系列モデルが高い音響スコアを持つことになる。したがって、ユーザによって発声された音声から生成された音声信号を対象とした場合、非対象語に対応する音響モデルの連鎖の中に、母音に対応する音響モデルのいずれかが含まれる単語系列モデルが、マッチング処理の結果として得られる可能性が高い。
一方、非音声の信号が入力されたときには、母音に対応する音響モデルのいずれかが高い尤度を持つことは、ほとんどないため、母音に対応する音響モデルを含む単語系列モデルが、マッチング処理の結果として得られる可能性は低い。
このように、母音に対応する音響モデルが含まれる単語系列モデルが、マッチング処理の結果として得られた場合、単語系列モデルとマッチングされた特徴量に対応する音声データに音声が含まれている、すなわち、単語系列モデルに対応する単語系列が、音声であると判定し、母音に対応する音響モデルが含まれる単語モデルが、マッチング処理の結果として得られなかった場合、単語系列モデルとマッチングされた特徴量に対応する音声データに音声が含まれていない、すなわち、非音声であると判定することで、入力信号の有声部分が、音声であるか否かの判定を行うことができる。
なお、音声であるか否かの判定の際に、判定の基準とはならない音である非対象音と母音とからなる単語を定義して、単語に母音が含まれているか否かを基に、音声であるか否かを判定するようにしてもよい。
次に、図10のフローチャートを参照して、図3のステップS7の処理に対応する認識結果統合処理について説明する。
ステップS21において、認識結果統合部47は、マッチング処理部61から供給された音声認識結果を基に、音声認識処理において、音声が認識されたか否かを判定する。
ステップS21において、音声が認識されたと判定された場合、ステップS22に進み、認識結果統合部47は、音声/非音声判定部46のマッチング部65から供給された音声/非音声判定結果を基に、音声であるか否かを判定する。
ステップS22において、音声であると判定された場合、ステップS23に進み、認識結果統合部47は、マッチング部61から供給された音声認識結果をそのまま音声認識結果として出力して、認識結果統合の処理は、終了する。
例えば、ステップS23において、音声認識結果が、「立て」であった場合、認識結果統合部47は、「立て」を、音声認識結果として出力し、音声認識結果が、「座れ」であった場合、認識結果統合部47は、「座れ」を、音声認識結果として出力する。
一方、ステップS22において、音声でないと判定された場合、音声認識部45の誤った音声認識により生じる誤作動を避けるため、音声認識結果は、出力されないで、処理は終了する。すなわち、音声認識結果の出力は、抑制される。
ステップS21において、音声が認識されなかったと判定された場合、処理は、ステップS24に進み、認識結果統合部47は、音声/非音声判定部46のマッチング部65から供給された音声/非音声判定結果を基に、音声であるか否かを判定する。
ステップS24において、音声であると判定された場合、音声ではあるが、認識できない音声が入力されたので、ステップS25に進み、認識結果統合部47は、音声認識部45から供給された音声認識結果を出力しないで、ユーザに再入力を促すことを示す信号を出力し、処理は終了する。例えば、ステップS25において、認識結果統合部47は、「理解できませんでした。立て、あるいは座れという言葉で指示をお願いします。」などの音声を出力させる信号、またはメッセージを表示させる信号を出力する。
このようにすることで、認識できる音声が入力された場合の動作はそのままで、認識できない音声が入力された場合に、誤った認識結果を出力することによる、音声に対する、後段の誤った動作を抑制することができる。
また、ユーザは、音声が入力され、音声の認識の処理が実行されたが、認識できない音声であったことを知ることができる。従って、ユーザが無視されたと感じたり、音声が正常に入力されなかったと誤った判断をしてしまうことを防止することができる。
一方、ステップS24において、音声でないと判定された場合、ステップS25の処理は、スキップされ、音声認識結果を出力しないで、処理は終了する。
ステップS22の処理またはステップS24の処理において、音声でないと判定された場合、何れも、音声認識結果は出力されない。このようにすることで、有声区間検出部44が、音声を含まない区間を誤って有声区間として検出し、音声認識部45が、誤って有声区間とされた区間に対して音声認識の処理を適用して、誤った音声認識結果を出力したとしても、音声認識結果を出力しないようにすることができる。
このようにして、認識結果統合部47は、認識結果統合の処理を行い、音声認識結果の出力を制御する。
なお、音声/非音声判定部46が、音響モデル66、辞書データベース67、および文法データベース68のそれぞれの代わりに、音響モデル62、辞書データベース63、および文法データベース64のそれぞれを音声認識部45と共有するようにし、音響スコアの計算の一部を共有化することも可能である。
以上のように、本発明によれば、より確実に音声を認識することができるようになる。
次に、本発明に係る音声認識装置を用いて行った、音声/非音声の判定、すなわち音声であるか否かの判定の評価の実験の結果について説明する。
室内環境において、音声発話を含む信号を記録した後、記録された信号から音声を含む1206個の区間と、音声を含まない300個の区間を切り出し、それぞれの区間の信号に対して、音声認識装置に音声であるか否かを判定させ、その判定が正解であったか否かを調べた。なお、実験には、本明細書の実施の形態で説明した構成を有する音声認識装置を用いた。
その結果、音声信号を含む信号を、音声であると判定する正解率は、95.61%であった。一方、音声を含まない信号を非音声であると判定する正解率は、94.22%であった。
この結果から、本発明によれば、音声であるか否かの判定を極めて正確に行うことができることがわかる。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。この場合、例えば、音声認識装置は、所定のプログラムを実行するパーソナルコンピュータで実現することができる。
図11はパーソナルコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)81は、ROM(Read Only Memory)82、または記録部88に記録されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)83には、CPU81が実行するプログラムやデータなどが適宜記憶される。これらのCPU81、ROM82、およびRAM83は、バス84により相互に接続されている。
CPU81にはまた、バス84を介して入出力インタフェース85が接続されている。入出力インタフェース85には、マイクロフォン41、キーボード、マウス、スイッチなどよりなる入力部86、ディスプレイ、スピーカ、ランプなどによる出力部87が接続されている。CPU81は、入力部86から入力される指令に対応して各種の処理を実行する。
入出力インタフェース85に接続されている記録部88は、例えばハードディスクなどで構成され、CPU81が実行するプログラムや各種のデータを記録する。通信部89は、図示せぬインターネット、その他のネットワークなどの通信網を介して、外部装置と通信する。
また、通信部89を介してプログラムを取得し、記録部88に記録してもよい。
入出力インタフェース85に接続されているドライブ90は、磁気ディスク121、光ディスク122、光磁気ディスク123、或いは半導体メモリ124などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部88に転送され、記録される。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
この記録媒体は、図11に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク121(フレキシブルディスクを含む)、光ディスク122(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク123(MD(Mini-Disc)(商標)を含む)、若しくは半導体メモリ124などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM82や、記録部88に含まれるハードディスクなどで構成される。
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
次に、本発明に係る音声認識処理を行うロボット装置について、説明する。ロボット装置は、例えば、ペット型ロボット装置とすることができる。
図12は、本発明に係るロボット装置の一実施の形態の内部構成を示すブロック図である。
ロボット装置は、背中センサ141、頭センサ142、顎センサ143、マイクロフォン144、CCD(Charge−Coupled Devices)カメラ145、センサ入力処理部146、制御部147、アクチュエータ148、およびスピーカ149を備えている。
背中センサ141は、ロボットの背中に対応する部位に設けられており、そこに与えられるユーザからの圧力を検出し、その圧力に対応する圧力検出信号をAD変換し、AD変換された信号をセンサ入力処理部146に出力する。
頭センサ142および顎センサ143は、ロボットの頭部に対応する部位に設けられており、例えば、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を圧力検出信号として、AD変換し、AD変換された信号をセンサ入力部146に出力する。
また、頭部には、耳の役割として機能するマイクロフォン144、および、目の役割として機能するCCDカメラ145が設けられている。
マイクロフォン144は、ユーザからの発話を含む周囲の音声を集音し、得られた音声信号を、AD変換部し、AD変換した音声信号をセンサ入力処理部146に出力する。CCDカメラ145は、周囲の状況を撮像し、得られた画像信号を、AD変換し、AD変換された画像信号をセンサ入力部146に出力する。
センサ入力処理部146は、背中センサ141、頭センサ142、顎センサ143、マイクロフォン144、CCDカメラ145からそれぞれ供給される圧力検出信号、音声信号、画像信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報を、制御部147のモデル記憶部161および行動決定機構部162に通知する。例えば、状態認識情報には、センサ入力処理部146が、マイクロフォン144から供給された音声信号を基に、音声認識を行った結果として、制御部147に供給する音声認識結果などが、含まれる。
制御部147は、モデル記憶部161、行動決定機構部162、姿勢遷移機構部163、制御機構部164、および音声合成部165を含む。
モデル記憶部161は、ロボットの感情、本能、および成長の状態を表現する感情モデル、および本能モデル、成長モデルをそれぞれ記憶し、管理している。
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、および「楽しさ」等の感情の状態(度合い)を、所定の範囲(例えば、−1.0乃至1.0等)の値によってそれぞれ表し、センサ入力処理部146からの状態認識情報や時間経過等に基づいて、その感情の状態を表す値を変化させる。
本能モデルは、例えば、「食欲」、「睡眠欲」、および「運動欲」等の本能による欲求の状態(度合い)を、所定の範囲の値によってそれぞれ表し、センサ入力処理部146からの状態認識情報や時間経過等に基づいて、その欲求の状態を表す値を変化させる。
成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、および「老年期」等の成長の状態(度合い)を、所定の範囲の値によってそれぞれ表し、センサ入力処理部146からの状態認識情報や時間経過等に基づいて、その成長の状態を表す値を変化させる。
モデル記憶部161は、上述のようにして感情モデル、本能モデル、および成長モデルの値で表される感情、本能、および成長の状態を、状態情報として、行動決定機構部162に送出する。
なお、モデル記憶部161には、センサ入力処理部146から状態認識情報が供給される他に、行動決定機構部162から、ペット型ロボットの現在または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部161は、同一の状態認識情報が与えられても、行動情報が示すペット型ロボットの行動に応じて、異なる状態情報を生成するようになっている。
例えば、ペット型ロボットが、ユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部161に与えられ、この場合、モデル記憶部161では、「うれしさ」を表す感情モデルの値が増加される。
行動決定機構部162は、センサ入力処理部146からの状態認識情報や、モデル記憶部161からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容を、行動指令情報として、姿勢遷移機構部163に出力する。
即ち、行動決定機構部162は、ペット型ロボットがとり得る行動をステート(状態)(state)に対応させた有限オートマトンを、ペット型ロボットの行動を規定する行動モデルとして管理している。そして、行動決定機構部162は、この行動モデルとしての有限オートマトンにおけるステートを、センサ入力処理部146からの状態認識情報や、モデル記憶部161における感情モデル、本能モデル、または成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
ここで、行動決定機構部162は、所定のトリガ(trigger)があったことを検出すると、ステートを遷移させる。即ち、行動決定機構部162は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部161から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下または以上になったとき等に、ステートを遷移させる。
なお、行動決定機構部162は、上述したように、センサ入力処理部146からの状態認識情報だけでなく、モデル記憶部161における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値(状態情報)によっては、ステートの遷移先は異なるものとなる。
その結果、行動決定機構部162は、例えば、状態情報が、「怒っていない」こと、および「お腹がすいていない」ことを表している場合において、状態認識情報が、「目の前に手のひらが差し出された」ことを表しているときには、目の前に手のひらが差し出されたことに応じて、「お手」という行動をとらせる行動指令情報を生成し、生成された行動指令情報を、姿勢遷移機構部163に送出する。
また、行動決定機構部162は、例えば、状態情報が、「怒っていない」こと、および「お腹がすいている」ことを表している場合において、状態認識情報が、「目の前に手のひらが差し出された」ことを表しているときには、目の前に手のひらが差し出されたことに応じて、「手のひらをぺろぺろなめる」ような行動を行わせるための行動指令情報を生成し、生成された行動指令情報を、姿勢遷移機構部163に送出する。
なお、行動決定機構部162には、モデル記憶部161から供給される状態情報が示す感情や、本能、成長の状態に基づいて、遷移先のステートに対応する行動のパラメータとしての、例えば、歩行の速度や、手足を動かす際の動きの大きさおよび速度などを決定させることができ、この場合、それらの遷移先のステートに対応する行動パラメータを含む行動指令情報が、姿勢遷移機構部163に送出される。
また、行動決定機構部162では、上述したように、ペット型ロボットの頭部や手足等を動作させる行動指令情報の他、ペット型ロボットに発話を行わせる行動指令情報も生成される。そして、ペット型ロボットに発話させる行動指令情報は、音声合成部165に供給されるようになっている。音声合成部165は、行動指令情報を受信すると、受信された行動指令情報にしたがって音声合成を行い、得られた合成音を、スピーカ149から出力させる。
姿勢遷移機構部163は、行動決定機構部162から供給される行動指令情報に基づいて、ペット型ロボットの姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これを制御機構部164に送出する。
ここで、現在の姿勢から次に遷移可能な姿勢は、例えば、胴体や手や足の形状、重さ、各部の結合状態のようなペット型ロボットの物理的形状と、関節が曲がる方向や角度のようなアクチュエータ148の機構とによって決定される。
また、次の姿勢としては、現在の姿勢から直接遷移可能な姿勢と、直接には遷移できない姿勢とがある。例えば、4本足のペット型ロボットは、手足を大きく投げ出して寝転んでいる状態から、伏せた状態へ直接遷移することはできるが、立った状態へ直接遷移することはできず、一旦、手足を胴体近くに引き寄せて伏せた姿勢になり、それから立ち上がるという2段階の動作が必要である。また、安全に実行できない姿勢も存在する。例えば、4本足のペット型ロボットは、その4本足で立っている姿勢から、両前足を挙げてバンザイをしようとすると、簡単に転倒してしまう。
このため、姿勢遷移機構部163は、直接遷移可能な姿勢をあらかじめ登録しておき、行動決定機構部162から供給される行動指令情報が、直接遷移可能な姿勢を示す場合には、行動決定機構部162から供給される行動指令情報を制御機構部164に送出する。
一方、行動指令情報が、直接遷移不可能な姿勢を示す場合には、姿勢遷移機構部163は、遷移可能な他の姿勢に一旦遷移した後に、目的の姿勢まで遷移させるような姿勢遷移情報を生成し、制御機構部164に送出する。これによりロボットが、遷移不可能な姿勢を無理に実行しようとする事態や、転倒するような事態を回避することができるようになっている。
制御機構部164は、姿勢遷移機構部163からの姿勢遷移情報にしたがって、アクチュエータ148を駆動するための制御信号を生成し、生成された制御信号を、各部のアクチュエータ148に送出する。
図13は、センサ入力処理部146の機能のうち、マイクロフォン144から供給される音声信号を処理する機能の詳細な構成の例を示すブロック図である。なお、図中、図12における場合と対応する部分については、同一の符号を付してあり、繰り返しになるので、以下では、その説明は、適宜省略する。
センサ入力処理部146は、AD変換部181、特徴抽出部182、有声区間検出部183、音声認識部184、音声/非音声判定部185、および認識結果統合部186を含む。AD変換部181、特徴抽出部182、有声区間検出部183、音声認識部184、音声/非音声判定部185、および認識結果統合部186のそれぞれは、図2におけるAD変換部42、特徴抽出部43、有声区間検出部44、音声認識部45、音声/非音声判定部46、および認識結果統合部47のそれぞれと同様なので、その説明は、省略する。
音声認識部184は、マッチング部201、音響モデルデータベース202、辞書データベース203、および文法データベース204を備える。マッチング部201、音響モデルデータベース202、辞書データベース203、および文法データベース204のそれぞれは、図2のマッチング部61、音響モデルデータベース62、辞書データベース63、および文法データベース64のそれぞれと同様なので、その説明は省略する。
音声/非音声判定部185は、マッチング部205、音響モデルデータベース206、辞書データベース207、および文法データベース208を備える。マッチング部205、音響モデルデータベース206、辞書データベース207、および文法データベース208のそれぞれは、図2のマッチング部65、音響モデルデータベース66、辞書データベース67、および文法データベース68のそれぞれと同様なので、その説明は省略する。
認識結果統合部186は、マッチング部201から供給された音声認識結果、および、マッチング部205から供給された音声/非音声判定結果を基に、認識結果統合の処理を行い、最終的な音声認識結果の出力を制御する。
例えば、制御部147は、認識結果統合部186から供給された最終的な音声認識結果に対応する処理を実行する。制御部147は、処理を実行するための制御信号を生成し、生成した制御信号を各部のアクチュエータ148に供給する。
また、制御部147は、認識結果統合部186から供給された最終的な音声認識結果に対応する処理として、スピーカ149に音声を出力させる場合、音声合成を行い、合成された合成音の駆動信号をスピーカ149に供給する。
アクチュエータ148は、制御部149から供給された制御信号に基づいて、ロボット装置の各部を駆動する。
スピーカ149は、制御部147から供給された合成音の駆動信号を基に、合成音を出力する。
図14のフローチャートを参照して、音声認識プログラムを実行するロボット装置による音声認識処理について説明する。
ステップS41乃至ステップS47の処理のそれぞれは、図3におけるステップS1乃至ステップS7の処理のそれぞれと同様なので、その説明は省略する。
ステップS48において、制御部147は、認識結果統合部186から供給された最終的な音声認識結果に対応する処理の実行を制御して、処理は終了する。
例えば、ステップS48において、制御部147は、最終的な音声認識結果に基づいて、アクチュエータ148を駆動させる場合、最終的な音声認識結果に対応して、各部のアクチュエータの行動を制御するための制御信号を生成し、生成した制御信号を各部のアクチュエータ148に供給する。アクチュエータ148は、制御部149から供給された制御信号に基づいて、ロボット装置の各部を駆動する。
また、制御部147は、認識結果統合部186から供給された最終的な音声認識結果に対応する処理として、スピーカ149に音声を出力させる場合、音声合成を行い、合成された合成音の駆動信号をスピーカ149に供給し、スピーカ149は、制御部147から供給された駆動信号を基に、合成音を出力する。
例えば、ステップS47の認識結果統合の処理において、音声が認識されていないと判定されて、音声であると判定された場合、再入力を促す音声をスピーカ149から出力させるとき、ロボット装置は、ユーザに対して、「理解できませんでした。立て、あるいは座れという言葉で指示をお願いします。」のような合成音を出力することにより、ユーザに再入力を促すことが可能である。
認識結果統合部186は、ステップS47の認識結果統合の処理において、音声が認識されていないと判定されて、音声であると判定された場合、音声認識結果を出力しないので、認識できる音声が入力された場合の動作はそのままで、認識できない音声が入力された場合に、誤った認識結果を出力することによる、音声に対する、制御部147の誤った動作の制御を抑制することができる。
また、この場合、ユーザは、音声が入力され、音声の認識の処理が実行されたが、認識できない音声であったことを知ることができる。従って、ユーザが無視されたと感じたり、音声が正常に入力されなかったと誤った判断をしてしまうことを防止することができる。
また、音声認識処理と音声/非音声判定処理とを、同じ特徴量を基に、処理を行うことで、システムを簡素化することが可能となる。さらに、また、音声/非音声判定部85が、音響モデル206、辞書データベース207、および文法データベース208のそれぞれの代わりに、音響モデル202、辞書データベース203、および文法データベース204のそれぞれを音声認識部184と共有するようにし、音響スコアの計算の一部を共有化することも可能である。
このようにして、ロボット装置は、入力信号の音声認識処理を行う。
以上のように、本発明によれば、より確実に音声を認識することができるようになる。
本発明は、音声による地名の問い合わせに対して、対応する地図情報を表示するデータベース検索装置、音声による命令に対して荷物の仕分けを行う産業用ロボット、音声の指令によって所定の処理を実行するコンピュータのアプリケーションプログラム、キーボードに代えて音声を入力してテキストデータを生成するディクテーションシステム、またはユーザと会話するロボット対話システムなどに適用することができる。
音声認識処理において、音声であるか否かを判定し、音声であるか否かの判定結果を利用して、音声が入力された場合のみ、音声を認識して、音声が入力されていない場合、音声を認識しないようにすることで、音声以外の信号が入力された場合の誤動作を防止することができる。
音声であるか否かの判定は、携帯電話機、テレビ会議システム、または、レコーダなど、音声信号のみを録音するか、または音声信号のみを送信する機器においても利用することができる。
なお、ロボット装置は、ペット型ロボット装置に限らず、産業用ロボットまたは非産業用ロボットなど、自動制御によるマニピュレーション機能または移動機能を有し、各種の作業をプログラムによって実行できる機械であればよい。
43 特徴抽出部, 44 有声区間検出部, 45 音声認識部, 46 音声/非音声判定部, 47 認識結果統合部, 61 マッチング部, 65 マッチング部, 66 音響モデルデータベース, 67 辞書データベース, 68 文法データベース, 81 CPU, 82 ROM, 83 RAM, 88 記録部, 121 磁気ディスク, 122 光ディスク, 123 光磁気ディスク, 124 半導体メモリ 146 センサ入力処理部, 147 制御部, 182 特徴抽出部, 183 有声区間検出部, 184 音声認識部, 185 音声/非音声判定部, 186 認識結果統合部, 201 マッチング部, 205 マッチング部, 206 音響モデルデータベース, 207 辞書データベース, 208 文法データベース
Claims (12)
- 入力信号の音響的な特徴を示す特徴量を基に、音声を認識する音声認識手段と、
前記音声認識手段により認識される前記音声に対応する前記入力信号の前記特徴量を基に、音声であるか否かを判定する判定手段と
を備え、
前記判定手段は、前記入力信号に対応するシンボルの系列を決定するマッチング手段を含み、
前記判定手段は、前記マッチング手段により決定される前記シンボルの系列に、音声に対応する前記シンボルが含まれるか否かを判定することにより、音声であるか否かを判定する
ことを特徴とする音声認識装置。 - 前記判定手段によって、音声であると判定された場合、前記音声認識手段によって、音声が認識されたとき、音声認識手段によって認識された認識結果を出力し、前記判定手段によって、音声でないと判定された場合、前記音声認識手段によって認識された前記認識結果の出力を抑制するように、出力を制御する出力制御手段をさらに備える
ことを特徴とする請求項1に記載の音声認識装置。 - 前記出力制御手段は、前記判定手段によって、音声であると判定された場合、前記音声認識手段によって、音声が認識されないとき、所定のメッセージを出力するように、出力を制御する
ことを特徴とする請求項2に記載の音声認識装置。 - 前記音声認識手段は、単語系列を構成する単語を決定することにより、音声を認識し、前記判定手段は、前記単語が音声であるか否かを判定する
ことを特徴とする請求項1に記載の音声認識装置。 - 前記判定手段は、母音が含まれるか否かを基に、前記単語が音声であるか否かを判定する
ことを特徴とする請求項4に記載の音声認識装置。 - 入力信号の音響的な特徴を示す特徴量を基に、音声を認識する音声認識ステップと、
前記音声認識ステップにおいて認識される前記音声に対応する前記入力信号の前記特徴量を基に、音声であるか否かを判定する判定ステップと
を含み、
前記判定ステップは、前記入力信号に対応するシンボルの系列を決定するマッチングステップを含み、
前記判定ステップにおいて、前記マッチングステップにおいて決定される前記シンボルの系列に、音声に対応する前記シンボルが含まれるか否かが判定されることにより、音声であるか否かが判定される
ことを特徴とする音声認識方法。 - 入力信号から音声を認識する音声認識処理用のプログラムであって、
前記入力信号の音響的な特徴を示す特徴量を基に、音声を認識する音声認識ステップと、
前記音声認識ステップにおいて認識される前記音声に対応する前記入力信号の前記特徴量を基に、音声であるか否かを判定する判定ステップと
を含み、
前記判定ステップは、前記入力信号に対応するシンボルの系列を決定するマッチングステップを含み、
前記判定ステップにおいて、前記マッチングステップにおいて決定される前記シンボルの系列に、音声に対応する前記シンボルが含まれるか否かが判定されることにより、音声であるか否かが判定される
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。 - 入力信号から音声を認識する音声認識処理を、コンピュータに行わせるプログラムにおいて、
前記入力信号の音響的な特徴を示す特徴量を基に、音声を認識する音声認識ステップと、
前記音声認識ステップにおいて認識される前記音声に対応する前記入力信号の前記特徴量を基に、音声であるか否かを判定する判定ステップと
を含み、
前記判定ステップは、前記入力信号に対応するシンボルの系列を決定するマッチングステップを含み、
前記判定ステップにおいて、前記マッチングステップにおいて決定される前記シンボルの系列に、音声に対応する前記シンボルが含まれるか否かが判定されることにより、音声であるか否かが判定される
ことを特徴とするプログラム。 - 音声を取得して、音声に対応する信号を出力する音声取得手段と、
前記信号の音響的な特徴を示す特徴量を基に、音声を認識する音声認識手段と、
前記音声認識手段により認識される前記音声に対応する前記信号の前記特徴量を基に、音声であるか否かを判定する判定手段と、
前記判定手段によって、音声であると判定された場合、前記音声認識手段によって、音声が認識されたとき、音声認識手段によって認識された認識結果を出力し、前記判定手段によって、音声でないと判定された場合、前記音声認識手段によって認識された前記認識結果の出力を抑制するように、出力を制御する出力制御手段と、
前記出力制御手段により、出力された前記認識結果に対応して処理を実行する処理実行手段と
を備えることを特徴とするロボット装置。 - 前記出力制御手段は、前記判定手段によって、音声であると判定された場合、前記音声認識手段によって、音声が認識されないとき、前記処理実行手段に、所定のメッセージを出力させる旨の指示を出力するように、出力を制御し、
前記処理実行手段は、前記出力制御手段の指示に基づいて、前記メッセージを出力する処理を実行する
ことを特徴とする請求項9に記載のロボット装置。 - 前記音声認識手段は、単語系列を構成する単語を決定することにより、音声を認識し、前記判定手段は、前記単語が音声であるか否かを判定する
ことを特徴とする請求項9に記載のロボット装置。 - 前記判定手段は、母音が含まれるか否かを基に、前記単語が音声であるか否かを判定する
ことを特徴とする請求項11に記載のロボット装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004161847A JP2005345529A (ja) | 2004-05-31 | 2004-05-31 | 音声認識装置および方法、記録媒体、プログラム、並びにロボット装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004161847A JP2005345529A (ja) | 2004-05-31 | 2004-05-31 | 音声認識装置および方法、記録媒体、プログラム、並びにロボット装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005345529A true JP2005345529A (ja) | 2005-12-15 |
Family
ID=35498011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004161847A Withdrawn JP2005345529A (ja) | 2004-05-31 | 2004-05-31 | 音声認識装置および方法、記録媒体、プログラム、並びにロボット装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005345529A (ja) |
-
2004
- 2004-05-31 JP JP2004161847A patent/JP2005345529A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4296714B2 (ja) | ロボット制御装置およびロボット制御方法、記録媒体、並びにプログラム | |
EP3739477A1 (en) | Speech translation method and system using multilingual text-to-speech synthesis model | |
US7065490B1 (en) | Voice processing method based on the emotion and instinct states of a robot | |
US7228276B2 (en) | Sound processing registering a word in a dictionary | |
US20180137109A1 (en) | Methodology for automatic multilingual speech recognition | |
US20030163320A1 (en) | Voice synthesis device | |
JP4667082B2 (ja) | 音声認識方法 | |
JP4322785B2 (ja) | 音声認識装置、音声認識方法および音声認識プログラム | |
JP2001215993A (ja) | 対話処理装置および対話処理方法、並びに記録媒体 | |
WO2007046267A1 (ja) | 音声判別システム、音声判別方法及び音声判別用プログラム | |
JP2006171750A (ja) | 音声認識のための特徴ベクトル抽出方法 | |
JP2004198831A (ja) | 音声認識装置および方法、プログラム、並びに記録媒体 | |
US20030220792A1 (en) | Speech recognition apparatus, speech recognition method, and computer-readable recording medium in which speech recognition program is recorded | |
JP2001188779A (ja) | 情報処理装置および方法、並びに記録媒体 | |
JP5300000B2 (ja) | 調音特徴抽出装置、調音特徴抽出方法、及び調音特徴抽出プログラム | |
JP2002268663A (ja) | 音声合成装置および音声合成方法、並びにプログラムおよび記録媒体 | |
JP2009116075A (ja) | 音声認識装置 | |
JP2004286805A (ja) | 話者識別装置および話者識別方法、並びにプログラム | |
JP2004170756A (ja) | ロボット制御装置および方法、記録媒体、並びにプログラム | |
JP4656354B2 (ja) | 音声処理装置および音声処理方法、並びに記録媒体 | |
JP2005345529A (ja) | 音声認識装置および方法、記録媒体、プログラム、並びにロボット装置 | |
JP2002258886A (ja) | 音声合成装置および音声合成方法、並びにプログラムおよび記録媒体 | |
JP4178777B2 (ja) | ロボット装置、記録媒体、並びにプログラム | |
JP2001188783A (ja) | 情報処理装置および方法、並びに記録媒体 | |
JP4639533B2 (ja) | 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070807 |