(57)【要約】【課題】音声認識装置と音声発生源との遠近によらず高い音声認識率を確保する。【解決手段】特徴量抽出部２０３はディジタル化された音声信号から特徴量を抽出して尤度算出部２０７に出力する。距離判別部２０１は話者と音声入力源との距離を判別する。尤度算出部２０７は判別に応じて、認識対象テーブル１０５から音声認識に使用する登録語を選択し、選択した登録語を尤度算出部２０７での尤度算出に用いる。尤度算出部２０７は特徴量抽出部２０３から取得した特徴量と選択した登録語に基づいて尤度を算出し、もっとも尤度の大きい登録語を認識結果として出力する。【選択図】図３
2018163313.tif 000002
【特許請求の範囲】
【請求項１】
音源までの距離を判別する距離判別部と、
音声信号を認識する音声認識部と、
前記音声認識部により認識されうる登録語を、前記距離判別部で判別された距離に応じて変更する認識登録語設定部と、
を備える音声認識装置。
【請求項２】
前記認識登録語設定部は、前記距離判別部で判別された距離が長くなるに従って、認識される登録語が減少するように、前記音声認識部により認識される登録語を変更する、
ことを特徴とする請求項１に記載の音声認識装置。
【請求項３】
前記認識登録語設定部は、認識可能な登録語と認識不可な登録語とを特定し、前記距離判別部で判別された距離に応じて認識可能な登録語の数を変更し、
前記音声認識部は、音声信号を、前記認識可能に設定された登録語で認識する、
ことを特徴とする請求項１または２に記載の音声認識装置。
【請求項４】
前記認識登録語設定部は、前記距離判別部が判別した距離が第１の長さの場合における認識可能な登録語の集合が、前記判別した距離が第１の長さより短い場合における認識可能な登録語の集合に含まれるように認識可能な登録語を設定する、
ことを特徴とする請求項１から３のいずれか１項に記載の音声認識装置。
【請求項５】
前記認識登録語設定部は、前記距離判別部が判別した距離が第２の長さの場合における認識可能な登録語の集合が、前記判別した距離が第２の長さより長い場合における認識可能な登録語の集合に含まれるように認識可能な登録語を設定する、
ことを特徴とする請求項１から３のいずれか１項に記載の音声認識装置。
【請求項６】
前記認識登録語設定部は、前記距離判別部が判別した距離によらず共通して認識可能な登録語を設定する、
ことを特徴とする請求項１から５のいずれか１項に記載の音声認識装置。
【請求項７】
前記認識登録語設定部は、前記判別した距離に基づいて、第１の登録語を認識可能に維持しつつ、該第１の登録語に音響的に類似する第２の登録語を認識可能な登録語から認識不可の登録語に変更する、
ことを特徴とする請求項１から６のいずれか１項に記載の音声認識装置。
【請求項８】
前記認識登録語設定部は、前記判別した距離に基づいて、認識対象の登録語に認識の容易度を示す重みを付与し、
前記音声認識部は、音声信号を、各登録語に付されている重みに従って認識する、
ことを特徴とする請求項１から７のいずれか１項に記載の音声認識装置。
【請求項９】
音声信号から特徴量を求める特徴量抽出手段をさらに備え、
前記音声認識部は、前記特徴量抽出手段で抽出された特徴量と、前記認識されうる登録語の音声データとに基づいて、音声信号を認識する、
ことを特徴とする請求項１から８のいずれか１項に記載の音声認識装置。
【請求項１０】
前記特徴量抽出手段で求めた特徴量が特徴ベクトル列情報を含む、
ことを特徴とする請求項９に記載の音声認識装置。
【請求項１１】
前記認識されうる登録語それぞれが、前記特徴量抽出手段で求めた特徴量に含まれる特徴ベクトル列を出力する尤度を算出する尤度算出手段をさらに備え、
前記音声認識部は、算出された尤度に基づいて、音声信号の認識を行う、
ことを特徴とする請求項１０に記載の音声認識装置。
【請求項１２】
前記尤度算出手段は、遷移元の状態から遷移先の状態への遷移確率と、状態が遷移するときその遷移先の状態で前記特徴ベクトル列に係る各特徴ベクトルが出力される確率とを、前記特徴ベクトル列にわたって乗算を繰り返して得られる累積値を求める、
ことを特徴とする請求項１１に記載の音声認識装置。
【請求項１３】
外部より音声信号を入力し、前記音声認識部に供給する音声入力部を更に備える、
ことを特徴とする請求項１から１２のいずれか１項に記載の音声認識装置。
【請求項１４】
請求項１から１３のいずれか１項に記載の音声認識装置を備え、
前記音声認識装置の音声認識の結果に基づいて動作する、
ことを特徴とするロボット。
【請求項１５】
音源までの距離を判別する距離判別工程と、
音声信号を認識処理する音声認識工程と、
を備え、
前記音声認識工程では、前記距離判別工程で判別した距離に対応する登録語で音声信号を認識処理する、
ことを特徴とする音声認識方法。
【請求項１６】
コンピュータに、
音源までの距離を判別する距離判別工程と、
音声信号を認識処理する音声認識工程と、
を実行させ、
前記音声認識工程では、コンピュータに前記距離判別工程で判別した距離に対応する登録語で音声信号を認識処理させる、
ことを特徴とするプログラム。
【請求項１７】
前記音声認識工程では、複数の音声認識エンジンのうちの１つを、前記距離判別工程にて判別した距離に基づいて選択し、前記選択した音声認識エンジンによる音声信号の認識処理をコンピュータに実行させる、
ことを特徴とする請求項１６に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は音声認識装置、音声認識方法、プログラム及びロボットに関する。
【背景技術】
【０００２】
音声認識の際、背景雑音等の影響が大きいと誤認識の可能性が高くなるという問題がある。この問題を回避するため、特許文献１に開示された音声認識技術は、認識対象の各音声に複数の標準パターンを用意しておき、音声が入力されたときに、標準パターンそれぞれに対するスコア付けを行い、スコアに基づいて認識する。この音声認識技術は、背景雑音等の影響の大きさ等に基づいて、スコアを変更し、背景雑音等の影響による誤認識の可能性を低減する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１６１２９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＨＭＭ（Hidden Markov Model）などの一般的な音響モデルを用いた音声認識技術において、各単語の認識率は、その単語と音響的に類似する単語が認識対象として登録されている場合には、類似単語が登録されていない場合より低くなる。特に、音声認識装置と音源との距離が離れていると音声認識装置に到達する音声の音圧レベルが低下してしまうため、認識率は更に低くなる。また、音声認識装置と音源との距離が近すぎる場合には、音声信号が音割れを起こし、認識率は低くなってしまう。
【０００５】
話者などの音声発生源と音声認識装置とが離れていると、音声認識装置に到達する音声の音圧レベルが低下してしまう。この場合、特許文献１に開示された音声認識技術では、複数の標準パターン全てに対するスコアが低下してしまうため、高い認識率を確保できなくなる。話者が近すぎて音割れが発生している場合にも、認識対象の音声自体の品質が低いため、高い認識率を確保できなくなる。
【０００６】
本発明は上記事情に鑑み、音源までの距離の遠近によらず、高い認識率で音声を認識することができる音声認識装置、音声認識方法、プログラム及びロボットを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係る音声認識装置は、音源までの距離を判別する距離判別部と、音声信号を認識する音声認識部と、前記音声認識部により認識されうる登録語を、前記距離判別部で判別された距離に応じて変更する認識登録語設定部と、を備える。
【０００８】
上記目的を達成するために、本発明に係る音声認識方法は、音源までの距離を判別する距離判別工程と、音声信号を認識処理する音声認識工程と、を備え、前記音声認識工程では、前記距離判別工程で判別した距離に対応する登録語で音声信号を認識処理する、ことを特徴とする。
【０００９】
上記目的を達成するために、本発明に係るロボットは、本発明に係る音声認識装置を備え、前記音声認識装置の音声認識の結果に基づいて動作する、ことを特徴とする。
【００１０】
上記目的を達成するために、本発明に係るプログラムは、コンピュータに、音源までの距離を判別する距離判別工程と、音声信号を認識処理する音声認識工程と、を実行させ、前記音声認識工程では、コンピュータに前記距離判別工程で判別した距離に対応する登録語で音声信号を認識処理させる、ことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、音源との距離の遠近によらず高い音声認識率を確保することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１に係るロボットの外観図である。
【図２】本発明の実施の形態１に係るロボットのハードウエア構成図である。
【図３】本発明の実施の形態１に係る、音声認識装置としてのロボットのブロック図である。
【図４】（ａ）は本発明の実施の形態１に係る認識対象テーブル内の登録語と距離パラメータを説明する図である。（ｂ）は本発明の実施の形態１に係る認識対象テーブル内の登録語と音響モデルを説明する図である。
【図５】本発明の実施の形態１に係る音声認識装置で使用される音響モデル（ＨＭＭ）の一例を説明する図である。
【図６】本発明の実施の形態１に係る応答データテーブルを説明する図である。
【図７】本発明の実施の形態１に係る音声データ記憶処理のフローチャートである。
【図８】本発明の実施の形態１に係る音源の位置判別処理のフローチャートである。
【図９】本発明の実施の形態１に係る音声認識処理のフローチャートである。
【図１０】本発明の実施の形態１に係る対応動作実行処理のフローチャートである。
【図１１】本発明の実施の形態１に係る特徴量抽出を説明する図である。
【図１２】本発明の実施の形態２に係る入力音声信号の音割れを説明する図である。
【図１３】本発明の実施の形態２に係る音声認識装置で使用される認識対象除外テーブルを説明する図である。
【図１４】（ａ）は本発明の実施の形態３に係る音声認識装置で使用される認識対象テーブル内でグループ分けされた登録語を説明する図である。（ｂ）は本発明の実施の形態３に係る音声認識装置で使用される認識対象テーブル内でグループごとに設定された距離ごとの重み付けを説明する図である。
【図１５】ロボットの周辺の音響環境に応じて登録語の認識のし易さを変更する例を説明するための図である。
【図１６】距離に応じて音声認識エンジンを切り替える音声認識プログラムの例を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、本発明の音声認識装置及び方法、さらに、該音声認識装置及び方法をコマンド入力手段として使用するロボットの実施の形態について、図面を参照して説明する。
【００１４】
（実施の形態１）
図１は、実施の形態１に係る人型のロボット１を正面から見た外観図である。
【００１５】
ロボット１は、例えば、住宅内を移動し、また、住人と会話したりする。あるいは、ロボット１は、イベント会場内を移動、来場者の問い合わせに応答して、来場者にそのイベントの情報を音声により提供したり、来場者を案内したりする。
【００１６】
ロボット１は、音声認識機能を備え、ユーザから提供された音声を認識し、それをコマンドとして対応する動作を行う。ロボット１は、図１に示すように頭２と胴体３とを備える。
【００１７】
ロボット１の頭２には、マイク２１と、カメラ２２と、スピーカ２３と、センサ群２４と、が配置されている。
【００１８】
マイク２１は、複数個配置されており、アレーマイクを構成し、周囲の音声を入力する音声入力部として機能する。
【００１９】
カメラ２２は、鼻の位置に設けられており、後述する制御部１００の制御の下、撮像を行う。
【００２０】
スピーカ２３は、口の位置に設けられており、後述する制御部１００の制御の下、各種の音声を出力する。
【００２１】
センサ群２４は、目と耳の位置に設けられており、距測計、加速度センサ、障害物検知センサ等を含み、各種物理量を検出する。
【００２２】
頭２と胴体３とは、破線で示される首関節３１によって相互に連結されている。首関節３１は、複数のモータを含み、後述する制御部１００がこれら複数のモータを駆動することにより、ロボット１の頭２が、ピッチ方向、ロール方向、ヨー方向に回転する。
【００２３】
足回り部３２は、胴体３の下部に設けられた車輪（ホイール）と駆動モータとを含む。車輪は、２つの前輪と２つの後輪を含む。車輪は、例えば、オムニホイール、メカナムホイールから構成される。後述の制御部１００は、モータを駆動することにより車輪を回転させ、ロボット１を移動させる。
【００２４】
次に、図２を参照してロボット１のハードウエア構成を説明する。
【００２５】
図２に示すように、ロボット１は、上述のマイク２１、カメラ２２，スピーカ２３、センサ群２４、首関節３１，足周り部３２に加えて、操作ボタン３３と、記憶部１０１と、制御部１００と、を備える。
【００２６】
操作ボタン３３は、胴体３の背中の位置に設けられた操作用ボタンであり、電源ボタン、音量調節ボタン等を含む。
【００２７】
記憶部１０１は、フラッシュメモリ等を含み、後述の制御部１００によって実行されるプログラム、各種データ等を記憶する。具体的には、記憶部１０１は、距離判別プログラム１０２、音声認識プログラム１０３、動作制御プログラム１０４、認識対象テーブル１０５、応答データテーブル１０６を記憶する。
【００２８】
距離判別プログラム１０２は、複数のマイク２１で取得された音声信号から、ＭＵＳＩＣ（MUltiple SIgnal Classification）法等の波源推定法により、音源の方向と距離とを求めるプログラムである。この実施の形態では、音源はロボット１のユーザである。
【００２９】
音声認識プログラム１０３は、マイク２１で取得された音声信号を、認識対象テーブル１０５を参照して認識し、テキストデータに変換するプログラムである。認識結果に相当するテキストデータは、ロボット１への一種のコマンドとなる。音声認識プログラム１０３は、音源までの距離が遠くなるに従って、認識対象テーブル１０５の使用範囲、即ち、認識対象の登録語の数を減少させるという特徴的な処理を併せて行う。音声認識処理の詳細は、図９を参照して後述する。
【００３０】
動作制御プログラム１０４は、応答データテーブル１０６を参照して、音声認識プログラム１０３から出力された認識結果に相当するテキストデータに対応する制御を、スピーカ２３と首関節３１及び足回り部３２のモータに対して実行することにより、ロボット１にユーザの呼びかけに応答する動作を実行させる。
【００３１】
認識対象テーブル１０５は、音声認識プログラム１０３により認識される登録語を、音源までの距離に応じて変更する、認識登録語設定部としての機能を有する部分であり、音声認識プログラム１０３で認識する対象となる登録語（認識可能な登録語）が距離別に定義されている。なお、認識対象とする各登録語は、音声認識の単位としての語であり、文法上の最小の言語単位としての単語のみではなく語、句、語句、フレーズなどを広く含む。図４（ａ）に示すように、各登録語は、音源までの距離に対応付けられており、音源までの距離が長くなるに従って、段階的に、認識対象の登録語（認識可能な登録語）が減少し、認識不可な登録語が増加するように設定されている。例えば、図４（ａ）の例では、音源までの距離Ｌが、１０ｍより大きければ、認識対象の登録語を０として、音声認識を行わない、また、音源までの距離Ｌが５．０ｍより大きく１０ｍ以下であれば、「おーい」、「ロボット１の名前」、「こっち来て」の３つの登録語のみを認識の対象とする。また、音源までの距離Ｌが、１．５ｍより大きく５．０ｍ以下では、直接対応付けられている「ねえねえ」等の４つの登録語と、５．０ｍより大きく１０ｍ以下に対応付けられている「おーい」等の３つの登録語の計７つの登録語が認識の対象となる。同様に、音源までの距離Ｌが、０．５ｍ以下では、登録されている全ての登録語が認識対象となる。
【００３２】
別の観点から説明すると、認識対象テーブル１０５は、音源までの距離が第１の長さの場合における認識可能な登録語の集合が、音源までの距離が第１の長さより短い場合における認識可能な登録語の集合に含まれるように認識可能範囲が設定されている。
【００３３】
換言すると、認識対象テーブル１０５は、音声認識プログラム１０３が、入力音声を認識する登録語を距離に応じて変更する。或いは、認識対象テーブル１０５は、音源までの距離が長くなるに従って、音声認識プログラム１０３が、入力音声を認識する登録語を少なくする。或いは、認識対象テーブル１０５は、音源までの距離に応じて、音声認識プログラム１０３が、入力音声を認識する登録語の認識のし易さを音源までの距離に応じて変更する。
【００３４】
さらに、認識対象テーブル１０５には、図４（ｂ）に示すように、各登録語にその音響モデルのデータがリンクされている。ここでは、音響モデルはＨＭＭであるとする。ＨＭＭは、図５に例示するように、音声がある遷移元の状態から次の遷移先の状態に遷移する確率を表す周知のモデルである。なお、図５においては、ｉとｊとｔを自然数とすると、Ｓｉは各状態、ａｉｊは状態Ｓｉから状態Ｓｊへ遷移する確率、ｏｔは状態遷移時に所定の確率で出力される特徴ベクトル、ｂｊ（ｏｔ）は状態Ｓｊに遷移したときｏｔが出力される確率を表す。音響モデル内のこれらのパラメータは、あらかじめ登録語を音声学習することにより設定されている。
【００３５】
図２に示す応答データテーブル１０６は、図６に例示するように、音声認識プログラム１０３による認識結果と、その認識結果が得られたときに制御部１００が実行する処理とを定義するデータである。なお、認識結果は、認識対象テーブル１０５に認識対象として登録されている登録語のいずれかである。
【００３６】
制御部１００は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）等を備え、ロボット１の上述の各部に接続されている。制御部１００は、記憶部１０１に記憶されている距離判別プログラム１０２と音声認識プログラム１０３と動作制御プログラム１０４とを実行することにより、マイク２１からの音声データを処理し、スピーカ２３と、首関節３１及び足回り部３２内のモータを駆動することにより、ロボット１に音声への反応或いは応答に相当する動作を実行させる。制御部１００の動作の詳細については後述する。
【００３７】
制御部１００は、記憶部１０１に記憶された距離判別プログラム１０２と音声認識プログラム１０３と動作制御プログラム１０４とを実行することにより、機能的に、図３に示す距離判別部２０１と音声認識部２０２と駆動部２０８として機能する。
【００３８】
距離判別部２０１は、複数のマイク２１から入力された音声信号を処理し、ロボット１と音源との距離を判別し、判別した距離を示す距離データを、音声認識部２０２内の尤度算出部２０７に出力する。この機能は距離判別プログラム１０２と制御部１００によって実現される。
【００３９】
音声認識部２０２は特徴量抽出部２０３と尤度算出部２０７を備える。特徴量抽出部２０３は、記憶部１０１に記憶された音声信号から特徴量を抽出し、抽出した特徴量を特徴ベクトル列として尤度算出部２０７に出力する。
【００４０】
尤度算出部２０７は、特徴量抽出部２０３から取得した特徴ベクトル列と、距離判別部２０１から取得した距離データと、認識対象テーブル１０５に登録されている登録語に基づいて音声認識を行い、認識結果を出力する。より詳細には、尤度算出部２０７は、ｉ）距離データが示す音源までの距離に基づいて、認識対象テーブル１０５に登録されている登録語のうちの認識の対象とする登録語を特定し、ii）特定した登録語の音響データと特徴量抽出部２０３から取得した特徴ベクトル列とを比較することにより、iii）各登録語の尤度を求め、iv）尤度が最も高く且つ閾値以上の登録語を認識結果として出力する。音声認識部２０２内のこれらの機能は音声認識プログラム１０３と制御部１００によって実現される。
【００４１】
駆動部２０８は、応答データテーブル１０６を参照し、音声認識部２０２が出力した認識結果を一種のコマンドとして、対応する制御を行うことにより、ロボット１にユーザに向けて音声を発しさせたりユーザの方向を向いたり、ユーザに駆け寄る等の動作を実行させる。駆動部２０８の機能は、動作制御プログラム１０４と制御部１００によって実現される。
【００４２】
次に、上記構成を有するロボット１の動作を説明する。
【００４３】
ロボット１の動作は、大きく分けて、ｉ）ユーザからの音声を入力して記憶し、ii）記憶した音声データからユーザまでの距離を求め、iii）求めた距離に従って、認識の対象とする登録語を制限しつつ音声データを認識し、iv）認識結果に対応する動作を行う、という動作に大別される。
【００４４】
そこで、以下、場面を分けて順に説明する。
【００４５】
まず、ユーザが発した音声をロボット１が取り込んで記憶する動作を説明する。
【００４６】
制御部１００は、電源がオンの間、図７に示す音声データ記憶処理を継続して実行している。
【００４７】
この処理を開始すると、制御部１００はマイク２１に音声が入力されたか否かを判別する（ステップＳ１１）。音声が入力されていないと判別された場合（ステップＳ１１：Ｎｏ）、ステップＳ１１に戻る。
【００４８】
一方、音声が入力されていると判別した場合（ステップＳ１１：Ｙｅｓ）、全てのマイク２１からの音声信号をディジタル化し（ステップＳ１２）、内部ＲＡＭに記憶し（ステップＳ１３）、ステップＳ１１に戻る。こうして、ユーザの発した音声は、ディジタル音声信号の形式で内部ＲＡＭに順次格納される。
【００４９】
制御部１００の距離判別部２０１は、電源がオンの間、図８に示す音源位置判別処理を実行している。
【００５０】
処理を開始すると、距離判別部２０１は、内部ＲＡＭに格納されている複数のマイク２１で取得された音声データを、ＭＵＳＩＣ法音源定位手法を用いて処理し、ユーザの位置を判別する（ステップＳ２１）。
【００５１】
次に、距離判別部２０１は、判別した位置までの距離を示す距離データと方向を示す方向データを内部ＲＡＭに記憶し（ステップＳ２２）、ステップＳ２１に戻る。
【００５２】
さらに、制御部１００の音声認識部２０２は、電源がオンの間、図９に示す音声認識処理を継続して実行している。
【００５３】
処理を開始すると、音声認識部２０２は、内部ＲＡＭに新規の音声データが記憶されているか否かを判別する（ステップＳ３１）。新規の音声データが記憶されていないと判別された場合（ステップＳ３１：Ｎｏ）、ステップＳ３１に戻る。
【００５４】
一方、新規の音声データが記憶されていると判別した場合（ステップＳ３１：Ｙｅｓ）、特徴量抽出部２０３は、複数のマイク２１から得られた複数の音声信号のうちから、最も振幅の大きい音声データを特定し、特定した音声データから特徴量を抽出する（ステップＳ３２）。この際、特徴量抽出部２０３は、図１１に示すように、一定のフレーム幅の処理フレームを、一定のフレームシフトずつずらして音声データを取得し、取得した音声データを単位として特徴量を抽出する。特徴量として、例えば、１２個の値の組からなるＭＦＣＣ（Mel-Frequency Cepstral Coefficient  メル周波数ケプストラム係数）が用いられる。特徴量抽出部２０３は、これら１２個の値の組を１つの１２次元の特徴ベクトルとし、特徴ベクトルをフレームの時系列順に並べたものを特徴ベクトル列とする。特徴量抽出部２０３は音声信号から得られた特徴ベクトル列を尤度算出部２０７に出力する。
【００５５】
次に、尤度算出部２０７は、距離判別部２０１から音源であるユーザまでの距離を示す距離データを取得する（ステップＳ３３）。そして、距離データに基づいて図４（ａ）に示す認識対象テーブル１０５を参照し、音声認識の対象とする登録語を特定する（ステップＳ３４）。例えば、距離データが７ｍだった場合、尤度算出部２０７は、距離が５より大きく１０．０ｍ以下用の３つの登録語のみを認識対象として特定する。一方、距離データが１ｍだった場合は、距離が０．５〜１．５、１．５〜５．０、５．０〜１０．０の登録語を認識対象として特定する。
【００５６】
次に、尤度算出部２０７は、認識対象として特定した登録語のうちの１つを選択する（ステップＳ３５）。
【００５７】
続いて、尤度算出部２０７は、図４（ｂ）に示す認識対象テーブル１０５を参照し、選択した登録語の音響モデルを求め、求めた音響モデルが、特徴量抽出部２０３から取得した特徴ベクトルｏの列Ｏを出力する尤度を算出する（ステップＳ３６）。図５を例にとると、特徴ベクトル列Ｏが
Ｏ＝（ｏ１，ｏ２，ｏ３，ｏ４，ｏ５）
と表される場合、音響モデルＭにおいて特徴ベクトル列Ｏを出力する確率Ｐ（Ｏ，Ｍ）は、次の累積値で表される。
Ｐ（Ｏ，Ｍ）＝ａ１２ｂ２（ｏ１）×ａ２２ｂ２（ｏ２）×ａ２３ｂ２（ｏ３）×・・・
これが尤度となる。なお、ａｉｊは状態Ｓｉから状態Ｓｊへ遷移する確率、ｏｔは状態遷移時に所定の確率で出力されるｔ番目の特徴ベクトル、ｂｊ（ｏｔ）は状態Ｓｊに遷移したときｏｔが出力される確率を表す。
【００５８】
続いて、ステップＳ３４で特定した登録語の全てについて、尤度の算出が終了したか否かを判別する（ステップＳ３７）。尤度を算出していない登録語が残っていると判別すれば（ステップＳ３７：Ｎｏ）、ステップＳ３５に戻り、未処理の登録語を１つ選択し、同様の処理を続行する。尤度算出をしていない登録語が残っていなければ（ステップＳ３７：Ｙｅｓ）、算出された尤度を相互に比較し、最大で且つ閾値以上の尤度が計算された登録語を認識結果として出力し（ステップＳ３８）、ステップＳ３１に戻り次の音声信号の入力を待機する。
【００５９】
制御部１００の駆動部２０８は、電源がオンの間、継続して図１０に示す対応動作実行処理を行っている。
【００６０】
駆動部２０８は、音声認識部２０２による認識結果の出力の有無を判別する（ステップＳ４１）。識別結果の出力がないと判別した場合（ステップＳ４１：Ｎｏ）、ステップＳ４１に戻る。
【００６１】
一方、認識結果の出力があると判別した場合（ステップＳ４１：Ｙｅｓ）、駆動部２０８は応答データテーブル１０６を参照して、認識結果に対応する動作を、スピーカ２３、首関節３１内のモータ、足回り部３２内のモータを駆動して行う（ステップＳ４２）。
【００６２】
以上、ロボット１の動作を個別に説明した。これらの動作を並行して行うことにより、ロボット１は、ユーザからの音声に対して、スピーカ２３から音声で返答し、首関節３１を駆動して顔をユーザに向け、ユーザに向かって移動をといった動作を行うことができる。ユーザの遠距離からの話しかけに対し、多くの登録語は認識できなくなるものの、遠距離から話しかけられると想定される登録語については他の登録語と誤認識する可能性が低減し、結果として背景雑音等の影響による誤認識率が低減する。こうして、背景雑音によらず高い認識率を有す音声認識装置及び方法と、高い認識率で音声コマンドを認識できるロボットが得られる。
【００６３】
このように、本実施の形態でも、認識対象テーブル１０５は、音声認識プログラム１０３が入力音声を認識する登録語を距離に応じて変更する。或いは、認識対象テーブル１０５は、各登録語の音声認識部２０２での認識のし易さを、音源までの距離に応じて変更する。
【００６４】
（実施の形態２）
実施の形態１では、ユーザから遠くなる程、認識の対象とする登録語を限定することにより、環境ノイズの影響を低減する例を示した。この発明はこれに限定されない。例えば、ユーザからの距離が近い場合に、マイクで収集する音声が大きすぎて、図１２に示すように、マイクの出力する音声データがクリッピングし、歪んでしまう場合がある。このような場合も、多数の登録語を認識対象として認識処理を行うと、認識率が低下してしまう。そこで、本実施形態では、ユーザまでの距離が基準以下の場合にも、認識対象とする登録語の数を制限し、誤認識を低減する。
【００６５】
本実施の形態のロボット１は、小型のペットロボットなど、話者との距離がある程度近い状態で使用されうることを前提とする。また、記憶部１０１は、認識対象テーブル１０５と共に図１３に例示する認識対象除外テーブル１０７を記憶する。認識対象除外テーブル１０７は、音源との距離が設定されている距離以下、例では、０．２ｍ以下となったときに、登録されている、「こっちきて」等の登録語を音声認識の対象から除外することを指示するテーブルである。
【００６６】
このテーブルは、音源までの距離が第２の長さの場合における認識可能な登録語の集合が、音源までの距離が第２の長さより長い場合における認識可能な登録語の集合に含ませるように認識可能範囲が設定されている。
【００６７】
本実施形態では、図９に示す音声認識処理のステップＳ３４で、距離データと図４（ａ）に示す認識対象テーブル１０５とから、音声認識の対象とする登録語が特定される。続いて、特定した登録語のうちから、距離データと図１３に示す認識対象除外テーブル１０７で除外対象とされるものを除外して、音声認識対象の登録語と特定する。例えば、音源までの距離が０．２ｍ以下の場合には、認識対象テーブル１０５によれば登録されている全ての登録語を認識の対象とするが、認識対象除外テーブル１０７により、「こっち来て」、等の登録語を認識対象から除外する。認識対象除外テーブルに登録されている登録語は、例えば、比較的距離が遠いときにのみ使用されると予想される登録語である。
【００６８】
なお、音源までの距離が近距離の場合に、一部の登録語を認識対象から除外する例を示したが、距離に応じて、全登録語のうちから、認識対象から除外する登録語を対応付けて登録しておいてもよい。
【００６９】
このように、実施の形態２においても、ユーザとロボット１との距離に応じて、認識対象の登録語を変化させることにより、音声認識率の低下を防いでいる。
【００７０】
（実施の形態３）
上記実施の形態においては、ユーザまでの距離が遠い時と近いときに、認識の対象とする登録語を制限し、その数を限定した。換言すれば、認識の対象から排除した。
【００７１】
しかしながら、遠い位置のロボットに、あたかも近くにいるときのような言葉を、大きな音で声をかけることがあり得る。このような場合に、ロボットがユーザを完全に無視することはかえって不自然になることがある。
【００７２】
そこで、本実施の形態においては、登録語を認識の対象から除外せず、代わりに、ユーザまでの距離に応じて、認識対象の登録語の認識の容易度を示す重みを変化させる。
【００７３】
なお、本実施の形態のロボット１の基本構成は、実施の形態１の構成と同様である。
ただし、認識対象テーブル１０５、尤度算出部２０７には、実施の形態１のとは異なる点がある。
【００７４】
認識対象テーブル１０５は図１４（ａ）に示すように、登録語が使用されると想定される距離ごとに各登録語がグループ分けされ、図１４（ｂ）に示すように、各グループについて距離ごとに重み付けパラメータが設定されている。たとえば中距離のグループに属する登録語である「こっち見て」について、距離Ｌが０．５ｍだった場合の重み付けパラメータは２となる。
【００７５】
尤度算出部２０７は各登録語について、図９のステップＳ３６で尤度を算出し、さらに、算出した尤度と距離Ｌに対応する重み付けパラメータとを乗算して積を求める。以下、この積を補正尤度と呼ぶ。尤度算出部２０７は、この補正尤度が閾値以上で且つ最も大きい登録語を認識結果として出力する。つまり、重み付けパラメータは遠近に応じて認識すべき登録語の認識優先度を変動させ、認識可能な登録語を変更する働きをする。
【００７６】
より具体的に説明する。第１の例として、ユーザが７ｍ離れたロボット１に「こっちきて」と話しかけた場合を考える。「こっちきて」は至近以外グループに属する登録語であり、中距離グループに属する「こっち見て」と音響的に類似する。距離データは７ｍとなるので、「こっちきて」の重み付けパラメータは１であり、「こっち見て」の重み付けパラメータは０．３である。よって「こっちきて」のほうが「こっち見て」よりも補正尤度が大きくなりやすく、誤認識を減らすことができる。
【００７７】
第２の例として、同じくユーザが７ｍ離れたロボット１に「天気おしえて」と話しかけた場合を考える。この場合、実施の形態１の場合においては「天気おしえて」を認識できる可能性はゼロである。一方、この実施の形態３の場合において、「天気おしえて」は中距離グループに属する登録語であり、距離データが７ｍとなるので、重み付けパラメータは０．３である。よって、背景雑音の影響が少ない状態だったり、「天気おしえて」と音響的に類似する登録語が他に存在しない状態であれば「天気おしえて」の補正尤度が最大になると考えられる。よって「天気おしえて」を認識できる。
【００７８】
このように、登録語を、使用が想定される距離ごとにグループ分けをして重み付けをすることにより、距離に応じて誤認識の可能性を低減しつつも、ユーザから発せられた言葉が想定距離外からのものであっても認識できる可能性を残すことができる。
【００７９】
以上、実施の形態３の説明について登録語を、使用が想定される距離ごとにグループ分けをして重み付けをするものとして説明したが、グループ分けをせず、各登録語について、使用が想定される距離ごとに重み付けパラメータを設定してもこの実施の形態３の目的は果たされる。
【００８０】
本実施の形態においても、認識対象テーブル１０５は、音声認識プログラム１０３が入力音声を認識する登録語を距離に応じて変更する。或いは、認識対象テーブル１０５は、各登録語の音声認識部２０２での認識のし易さを、音源までの距離に応じて変更する。
【００８１】
（実施の形態４）
上述したように、認識したい登録語と音響的に類似する登録語が認識対象の登録語として存在する場合、認識率が低下する。この問題を解決するため、距離に応じて、音響的に類似する登録語が、認識候補から除外されるように認識対象テーブルを設計することが望ましい。
【００８２】
例えば、実施の形態１において、認識対象テーブル１０５が図４に示すものの場合、「こっち見て」及び「ちょっとちょっと」は距離データが５ｍ未満の場合のみ認識候補となる。一方、距離データが５ｍ以上の場合に使用される登録語「こっちきて」は「こっち見て」と音響的に類似するが、「ちょっとちょっと」と音響的に類似する登録語は存在しない。よって距離データが例えば７ｍだった場合、「こっち見て」を認識候補から除外しないと「こっちきて」の認識率が低下するが、「ちょっとちょっと」は認識候補から除外しなくとも認識率がさほど低下しない。そこで、形式的に距離に応じたグループ分けはするものの、音響的に類似するか否かで認識候補の除外を行うことにより、認識率の維持と認識可能な語数の確保を両立することができる。
【００８３】
すなわち、認識対象テーブル１０５は、設計音源までの距離に基づいて、第１の登録語を認識可能に維持しつつ、この第１の登録語に音響的に類似する第２の登録語を認識可能な登録語から認識不可の登録語に変更するように、設定されている。
【００８４】
（その他の変形例）
上記４つの実施の形態の変形例として、ロボット１の周辺の音が無音もしくはそれに近い場合、呼びかけに分類される言葉を優先的に認識するように構成してもよい。
【００８５】
例えば、距離判別部２０１は、マイク２１から入力される複数の音声信号から、図１５に示すように、周囲の音源の位置を特定する。音声認識部２０２は、ロボット１の周辺の半径ｒに音源が存在しないと判別した場合、ロボット１の周辺にはユーザはおらず、ユーザに話しかけられた場合は遠くから呼びかけられたものと推定できる。この点を考慮して、ロボット１の半径ｒ内にユーザがいないと判別された場合に、認識対象テーブル１０５に登録されている登録語のうち、呼びかけに相当する登録語の認識を容易にするように設定してもよい。例えば、呼びかけ系の登録語のみを認識対象としてもよい、また、実施の形態３において、「至近以外」グループに属する登録語の重み付けを増加させる等してもよい。なお、ロボット１の周囲として半径ｒの円を例示したが、周囲の形状とサイズは任意である。
【００８６】
また、別の変形例として、音声認識プログラム１０３において複数の音声認識エンジンを使用できるようにし、距離判別部２０１が取得した距離データに基づいて複数の音声認識エンジンのうち最適なものを１つ選択して音声認識を行ってもよい。一般的に、ユーザとロボット１とが遠い場合、ユーザはロボット１に対して単語や短い語句を発することが多く、近い場合は長い語句を多く発する。図４に示す認識対象テーブル１０５はその傾向を考慮して設定されている。よって図１６に例示するように、距離データが１．５ｍ以上の場合は単語認識用音声認識エンジンを使用し、１．５ｍ未満の場合は語句認識用音声認識エンジンを使用して音声認識をすることにより、認識率の向上を図ることができる。
【００８７】
以上、４つの実施の形態及びそれらの変形例により本発明の実施の形態を説明した。いずれも、ユーザとロボット１との距離に係る距離データと、登録語に紐付けられたパラメータに基づいて、認識すべき登録語の推定をすることにより、音声認識率の向上を図っている。実施の形態１及び２では、距離データに応じて尤度算出部２０７が使用する登録語が変わり、認識できる登録語の集合が変動するので、距離データとパラメータに基づいて認識すべき登録語の推定をするものといえる。実施の形態３では距離データに基づいて、尤度算出部２０７によって乗算される重み付けパラメータが変わるため距離データとパラメータに基づいて認識すべき登録語の推定をするものといえる。
【００８８】
また、例えば実施の形態１においては認識対象の登録語を距離に応じて４段階に切り替えたが、特段、この段階について限定をする必要はなくたとえば２段階でもよいし１０段階でもよい。また、実施の形態１においては１つの認識対象テーブルから距離に応じて認識対象を制限していたが、認識対象の登録語の切り替えは特段、１つのテーブルに制限をかける手法には限られない。例えば、認識対象テーブルを複数備えて距離に応じて切り替えるようにしてもよい。
【００８９】
なお、本発明の技術的範囲は、上記の実施の形態及びそれらの変形例に限られず、種々の変形が可能である。例えば距離の判別について、マイク２１からの音声信号を位置同定処理によって処理して音源の距離を求めるだけでなく、カメラ２２のオートフォーカス機能によって得られる焦点距離を音源までの距離として利用してもよいし、センサ群２４の１つにレーザー距離計を採用し、それを利用して音源までの距離を求めてもよい。なお、ユーザとロボットとの距離の判別は厳密である必要はなく、距離データに応じて登録語にパラメータを付与できる程度であればよい。
【００９０】
以上、ロボットの入力装置として音声認識装置及び方法を利用する例を説明したが、この発明の音声認識装置及び方法は、他の装置から独立して使用される音声認識装置及び方法でもよく、また、ロボット以外の他の機械装置、コンピュータ、通信装置などの入力装置として利用することも可能である。
【００９１】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００９２】
（付記）
（付記１）
音源までの距離を判別する距離判別部と、
音声信号を認識する音声認識部と、
前記音声認識部により認識されうる登録語を、前記距離判別部で判別された距離に応じて変更する認識登録語設定部と、
を備える音声認識装置。
【００９３】
（付記２）
前記認識登録語設定部は、前記距離判別部で判別された距離が長くなるに従って、認識される登録語が減少するように、前記音声認識部により認識される登録語を変更する、
ことを特徴とする付記１に記載の音声認識装置。
【００９４】
（付記３）
前記認識登録語設定部は、認識可能な登録語と認識不可な登録語とを特定し、前記距離判別部で判別された距離に応じて認識可能な登録語の数を変更し、
前記音声認識部は、音声信号を、前記認識可能に設定された登録語で認識する、
ことを特徴とする付記１または２に記載の音声認識装置。
【００９５】
（付記４）
前記認識登録語設定部は、前記距離判別部が判別した距離が第１の長さの場合における認識可能な登録語の集合が、前記判別した距離が第１の長さより短い場合における認識可能な登録語の集合に含まれるように認識可能な登録語を設定する、
ことを特徴とする付記１から３のいずれか１つに記載の音声認識装置。
【００９６】
（付記５）
前記認識登録語設定部は、前記距離判別部が判別した距離が第２の長さの場合における認識可能な登録語の集合が、前記判別した距離が第２の長さより長い場合における認識可能な登録語の集合に含まれるように認識可能な登録語を設定する、
ことを特徴とする付記１から３のいずれか１つに記載の音声認識装置。
【００９７】
（付記６）
前記認識登録語設定部は、前記距離判別部が判別した距離によらず共通して認識可能な登録語を設定する、
ことを特徴とする付記１から５のいずれか１つに記載の音声認識装置。
【００９８】
（付記７）
前記認識登録語設定部は、前記判別した距離に基づいて、第１の登録語を認識可能に維持しつつ、該第１の登録語に音響的に類似する第２の登録語を認識可能な登録語から認識不可の登録語に変更する、
ことを特徴とする付記１から６のいずれか１つに記載の音声認識装置。
【００９９】
（付記８）
前記認識登録語設定部は、前記判別した距離に基づいて、認識対象の登録語に認識の容易度を示す重みを付与し、
前記音声認識部は、音声信号を、各登録語に付されている重みに従って認識する、
ことを特徴とする付記１から７のいずれか１つに記載の音声認識装置。
【０１００】
（付記９）
音声信号から特徴量を求める特徴量抽出手段をさらに備え、
前記音声認識部は、前記特徴量抽出手段で抽出された特徴量と、前記認識されうる登録語の音声データとに基づいて、音声信号を認識する、
ことを特徴とする付記１から８のいずれか１つに記載の音声認識装置。
【０１０１】
（付記１０）
前記特徴量抽出手段で求めた特徴量が特徴ベクトル列情報を含む、
ことを特徴とする付記９に記載の音声認識装置。
【０１０２】
（付記１１）
前記認識されうる登録語それぞれが、前記特徴量抽出手段で求めた特徴量に含まれる特徴ベクトル列を出力する尤度を算出する尤度算出手段をさらに備え、
前記音声認識部は、算出された尤度に基づいて、音声信号の認識を行う、
ことを特徴とする付記１０に記載の音声認識装置。
【０１０３】
（付記１２）
前記尤度算出手段は、遷移元の状態から遷移先の状態への遷移確率と、状態が遷移するときその遷移先の状態で前記特徴ベクトル列に係る各特徴ベクトルが出力される確率とを、前記特徴ベクトル列にわたって乗算を繰り返して得られる累積値を求める、
ことを特徴とする付記１１に記載の音声認識装置。
【０１０４】
（付記１３）
外部より音声信号を入力し、前記音声認識部に供給する音声入力部を更に備える、
ことを特徴とする付記１から１２のいずれか１つに記載の音声認識装置。
【０１０５】
（付記１４）
付記１から１３のいずれか１つに記載の音声認識装置を備え、
前記音声認識装置の音声認識の結果に基づいて動作する、
ことを特徴とするロボット。
【０１０６】
（付記１５）
音源までの距離を判別する距離判別工程と、
音声信号を認識処理する音声認識工程と、
を備え、
前記音声認識工程では、前記距離判別工程で判別した距離に対応する登録語で音声信号を認識処理する、
ことを特徴とする音声認識方法。
【０１０７】
（付記１６）
コンピュータに、
音源までの距離を判別する距離判別工程と、
音声信号を認識処理する音声認識工程と、
を実行させ、
前記音声認識工程では、コンピュータに前記距離判別工程で判別した距離に対応する登録語で音声信号を認識処理させる、
ことを特徴とするプログラム。
【０１０８】
（付記１７）
前記音声認識工程では、複数の音声認識エンジンのうちの１つを、前記距離判別工程にて判別した距離に基づいて選択し、前記選択した音声認識エンジンによる音声信号の認識処理をコンピュータに実行させる、
ことを特徴とする付記１６に記載のプログラム。
【符号の説明】
【０１０９】
１  ロボット、２  頭、３  胴体、２１  マイク、２２  カメラ、２３  スピーカ、２４  センサ群、３１  首関節、３２  足回り部、３３  操作ボタン、１００  制御部、１０１  記憶部、１０２  距離判別プログラム、１０３  音声認識プログラム、１０４  動作制御プログラム、１０５  認識対象テーブル、１０６  応答データテーブル、１０７  認識対象除外テーブル、２０１  距離判別部、２０２  音声認識部、２０３  特徴量抽出部、２０７  尤度算出部、２０８  駆動部
【図１】
2018163313.tif 000003
【図２】
2018163313.tif 000004
【図３】
2018163313.tif 000005
【図４】
2018163313.tif 000006
【図５】
2018163313.tif 000007
【図６】
2018163313.tif 000008
【図７】
2018163313.tif 000009
【図８】
2018163313.tif 000010
【図９】
2018163313.tif 000011
【図１０】
2018163313.tif 000012
【図１１】
2018163313.tif 000013
【図１２】
2018163313.tif 000014
【図１３】
2018163313.tif 000015
【図１４】
2018163313.tif 000016
【図１５】
2018163313.tif 000017
【図１６】
2018163313.tif 000018