(57)【特許請求の範囲】
【請求項１】
音声を認識して音素列を生成する音声認識部と、
第１の名前の音素列を示す第１名前リストと、前記第１の名前のうち所定の第１の名前の音素列に当該第１の名前の音素列に誤認識される可能性が所定の可能性よりも高い第２の名前の音素列とが対応付けてなる第２名前リストとを記憶する記憶部と、
前記第１の名前の音素列と前記音声認識部が生成した音素列との類似度に基づいて前記音声が示す名前を特定する名前特定部と、
メッセージの音声を合成する音声合成部と、
前記名前特定部が特定した名前が、正しい名前であるか否か回答を促す確認メッセージの音声を前記音声合成部に合成させる確認部と、
データ生成部と、を備え
前記確認部は、
前記特定した名前が、正しい名前ではないと回答されるとき、前記第２名前リストを参照して前記特定した名前の音素列に対応し、前記第１の名前の音素列との距離が小さい第２の名前の音素列ほど優先して選択し、
前記選択した第２の名前について前記確認メッセージの音声を前記音声合成部に合成させ、
前記第２の名前の音素列は、前記第１の名前の音素列の誤認識の要素として、前記第１の名前の音素列をなす一部の音素の他の音素への置換、音素の挿入ならびに前記一部の音素の削除の少なくとも一回によってなり、
前記距離は、前記誤認識の要素に係るコストを累積して算出され、
前記データ生成部は、
前記特定した名前が、正しい名前であると回答された名前の音素列である確認成功音素列を構成する各音素が正しく認識された音素と判定し、
正しい名前であると回答される前に、正しい名前であると回答されなかった音素列である確認失敗音素列と前記確認成功音素列とを照合し、前記確認失敗音素列から正しく認識された音素と前記誤認識の要素を判定し、
前記正しく認識された音素と前記誤認識の要素の出現回数に基づいて、確認失敗音素列と確認成功音素列にそれぞれ含まれる音素および削除される音素である入力音素の出現回数と、入力音素ごとに認識された音素および追加された音素である出力音素の出現回数を示す音素認識データを更新し、
前記誤認識の要素の頻度が高いほど低い値となるように、入力音素と出力音素のセットごとの出現回数に基づいて前記コストを更新する
音声処理装置。
【請求項２】
前記第２名前リストにおいて前記第１の名前の音素列と対応付けられた第２の名前の音素列と当該第１の名前の音素列との距離が、所定の距離よりも小さい
請求項１に記載の音声処理装置。
【請求項３】
第１の名前の音素列を示す第１名前リストと、前記第１の名前のうち所定の第１の名前の音素列に当該第１の名前の音素列に誤認識される可能性が所定の可能性よりも高い第２の名前の音素列とが対応付けてなる第２名前リストとを記憶する記憶部を備える音声処理装置における音声処理方法において、
前記音声処理装置は、
音声を認識して音素列を生成する音声認識ステップと、
前記第１の名前の音素列と前記音声認識ステップにおいて生成された音素列との類似度に基づいて前記音声が示す名前を特定する名前特定ステップと、
前記名前特定ステップにおいて特定された名前が、正しい名前であるか否か回答を促す確認メッセージの音声を音声合成部に合成させる確認ステップと、
データ生成ステップと、を有し、
前記確認ステップは、
前記特定された名前が、正しい名前ではないと回答されるとき、前記第２名前リストを参照して前記特定された名前の音素列に対応し、前記第１の名前の音素列との距離が小さい第２の名前の音素列ほど優先して選択するステップと、
前記選択した第２の名前について前記確認メッセージの音声を前記音声合成部に合成させるステップと、を有し、
前記第２の名前の音素列は、前記第１の名前の音素列の誤認識の要素として、前記第１の名前の音素列をなす一部の音素の他の音素への置換、音素の挿入ならびに前記一部の音素の削除の少なくとも一回によってなり、
前記距離は、前記誤認識の要素に係るコストを累積して算出され、
前記データ生成ステップは、
前記特定した名前が、正しい名前であると回答された名前の音素列である確認成功音素列を構成する各音素が正しく認識された音素と判定するステップと、
正しい名前であると回答される前に、正しい名前であると回答されなかった音素列である確認失敗音素列と前記確認成功音素列とを照合し、前記確認失敗音素列から正しく認識された音素と前記誤認識の要素を判定するステップと、
前記正しく認識された音素と前記誤認識の要素の出現回数に基づいて、確認失敗音素列と確認成功音素列にそれぞれ含まれる音素および削除される音素である入力音素の出現回数と、入力音素ごとに認識された音素および追加された音素である出力音素の出現回数を示す音素認識データを更新するステップと、
前記誤認識の要素の頻度が高いほど低い値となるように、入力音素と出力音素のセットごとの出現回数に基づいて前記コストを更新するステップと、
を有する音声処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声処理装置および音声処理方法に関する。
【背景技術】
【０００２】
音声認識技術は、操作の指示や名字、名前などの検索などに応用されている。例えば、特許文献１には、入力された単語の音声を周波数分析した結果を複数の認識テンプレートを用いて作成した単語辞書と照合して音声認識する際、誤認識が発生した場合には複数回のやり直しを許容するとともに、特定回数のやり直し後にも誤認識が発生した場合には、それまで使用していた認識テンプレートを他の認識テンプレートに入れ替えて再実行する音声認識方法と当該方法を応用した車載ナビゲーション装置について記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１０８３８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
かかる音声認識方法は、ユーザである来客の発話から呼び出し対象となる被呼出人の名を認識し、その被呼出人を呼び出す機能を有する受付ロボットに応用することが考えられる。受付ロボットは、認識した名を確認するための確認音声を再生し、ユーザの発話から確認音声に対応する肯定発話または否定発話またはもう一度被呼出人の名を発話する訂正発話を認識する。しかし、上述した音声認識方法でも互いに音素間距離が小さい音素列を有する呼称同士でも誤認識が繰り返されるおそれがある。例えば、ユーザが被呼出人として小野（音素列:ono）を呼び出したいにも関わらず、小野の音素列と音素間距離が小さい音素列を有する大野（音素列:o:no）と誤認識されることがある。このとき、ユーザが何度小野と発話しても、大野と誤認識され、受付ロボットによる認識結果の確認音声（例えば、「大野さんですか？」）の再生と、ユーザによる確認結果に対する訂正発話（例えば、「小野です」）が繰り返される。そのため、ユーザが意図した名を特定することが困難になる課題が生じうる。
【０００５】
本発明は上記の点に鑑みてなされたものであり、ユーザが意図した名を円滑に特定することができる音声処理装置および音声処理方法を提供する。
【課題を解決するための手段】
【０００６】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、（１）音声を認識して音素列を生成する音声認識部と、第１の名前の音素列を示す第１名前リストと、前記第１の名前のうち所定の第１の名前の音素列に当該第１の名前の音素列に誤認識される可能性が所定の可能性よりも高い第２の名前の音素列とが対応付けてなる第２名前リストとを記憶する記憶部と、前記第１の名前の音素列と前記音声認識部が生成した音素列との類似度に基づいて前記音声が示す名前を特定する名前特定部と、メッセージの音声を合成する音声合成部と、前記名前特定部が特定した名前が、正しい名前であるか否か回答を促す確認メッセージの音声を前記音声合成部に合成させる確認部と、データ生成部と、を備え前記確認部は、前記特定した名前が、正しい名前ではないと回答されるとき、前記第２名前リストを参照して前記特定した名前の音素列に対応し、前記第１の名前の音素列との距離が小さい第２の名前の音素列ほど優先して選択し、前記選択した第２の名前について前記確認メッセージの音声を前記音声合成部に合成させ、前記第２の名前の音素列は、前記第１の名前の音素列の誤認識の要素として、前記第１の名前の音素列をなす一部の音素の他の音素への置換、音素の挿入ならびに前記一部の音素の削除の少なくとも一回によってなり、前記距離は、前記誤認識の要素に係るコストを累積して算出され、前記データ生成部は、前記特定した名前が、正しい名前であると回答された名前の音素列である確認成功音素列を構成する各音素が正しく認識された音素と判定し、正しい名前であると回答される前に、正しい名前であると回答されなかった音素列である確認失敗音素列と前記確認成功音素列とを照合し、前記確認失敗音素列から正しく認識された音素と前記誤認識の要素を判定し、前記正しく認識された音素と前記誤認識の要素の出現回数に基づいて、確認失敗音素列と確認成功音素列にそれぞれ含まれる音素および削除される音素である入力音素の出現回数と、入力音素ごとに認識された音素および追加された音素である出力音素の出現回数を示す音素認識データを更新し、前記誤認識の要素の頻度が高いほど低い値となるように、入力音素と出力音素のセットごとの出現回数に基づいて前記コストを更新する音声処理装置である。
【０００７】
（２）本発明の一態様は、（１）の音声処理装置であって、前記第２名前リストにおいて前記第１の名前の音素列と対応付けられた第２の名前の音素列と当該第１の名前の音素列との距離が、所定の距離よりも小さいことを特徴とする。
【０００８】
（３）本発明の一態様は、第１の名前の音素列を示す第１名前リストと、前記第１の名前のうち所定の第１の名前の音素列に当該第１の名前の音素列に誤認識される可能性が所定の可能性よりも高い第２の名前の音素列とが対応付けてなる第２名前リストとを記憶する記憶部を備える音声処理装置における音声処理方法において、前記音声処理装置は、音声を認識して音素列を生成する音声認識ステップと、前記第１の名前の音素列と前記音声認識ステップにおいて生成された音素列との類似度に基づいて前記音声が示す名前を特定する名前特定ステップと、前記名前特定ステップにおいて特定された名前が、正しい名前であるか否か回答を促す確認メッセージの音声を音声合成部に合成させる確認ステップと、データ生成ステップと、を有し、前記確認ステップは、前記特定された名前が、正しい名前ではないと回答されるとき、前記第２名前リストを参照して前記特定された名前の音素列に対応し、前記第１の名前の音素列との距離が小さい第２の名前の音素列ほど優先して選択するステップと、前記選択した第２の名前について前記確認メッセージの音声を前記音声合成部に合成させるステップと、を有し、前記第２の名前の音素列は、前記第１の名前の音素列の誤認識の要素として、前記第１の名前の音素列をなす一部の音素の他の音素への置換、音素の挿入ならびに前記一部の音素の削除の少なくとも一回によってなり、前記距離は、前記誤認識の要素に係るコストを累積して算出され、前記距離は、前記誤認識の要素に係るコストを累積して算出され、前記データ生成ステップは、前記特定した名前が、正しい名前であると回答された名前の音素列である確認成功音素列を構成する各音素が正しく認識された音素と判定するステップと、正しい名前であると回答される前に、正しい名前であると回答されなかった音素列である確認失敗音素列と前記確認成功音素列とを照合し、前記確認失敗音素列から正しく認識された音素と前記誤認識の要素を判定するステップと、前記正しく認識された音素と前記誤認識の要素の出現回数に基づいて、確認失敗音素列と確認成功音素列にそれぞれ含まれる音素および削除される音素である入力音素の出現回数と、入力音素ごとに認識された音素および追加された音素である出力音素の出現回数を示す音素認識データを更新するステップと、前記誤認識の要素の頻度が高いほど低い値となるように、入力音素と出力音素のセットごとの出現回数に基づいて前記コストを更新するステップと、を有する音声処理方法。
【発明の効果】
【００１３】
（１）または（３）の構成により、第２名前リストを参照して認識された名前と発音が類似する名前が選択される。ユーザにより認識された名前が否定された場合であっても、選択された名前が、ユーザが意図した名前の候補として提示される。そのため、ユーザが意図した名前が早く特定される可能性が高くなる。また、認識結果の確認音声の再生と、確認結果に対する訂正発話の繰り返しが回避される。そのため、ユーザが意図した名前が円滑に特定される。
【００１４】
（１）または（３）の構成により、さらに、発話された名前が第１の名前であると誤認識される場合でも、第２の名前が特定される名前の候補として選択される。そのため、ユーザが意図した名前が特定される可能性が高くなる。
【００１５】
（２）の構成により、さらに、第２の名前として第１の名前の発音と定量的に類似する発音の名前が特定される名前の候補として選択される。そのため、誤認識される名前とは発音が類似する名前が、ユーザが意図した名前として特定される可能性が高くなる。
【００１６】
（１）または（３）の構成により、さらに、第１の名前に対応する第２の名前が複数存在する場合、第１の名前と発音が類似する第２の名前ほど優先して選択される。誤認識される名前と発音が類似する名前ほど優先して提示されるので、ユーザが意図した名前が早期に特定される可能性が高くなる。
【００１７】
（１）または（３）の構成により、さらに、誤認識による音素列の変更が単純であるほど小さい距離が算出される。そのため、誤認識される名前と発音が類似する名前が定量的に定められる。
【００１８】
（１）または（３）の構成により、さらに、第１の名前の音素列に誤認識される可能性が高い音素列に係る名前が第２の名前として選択される。そのため、第２の名前としてユーザが意図した名前が特定される可能性が高くなる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係る音声処理システムの構成を示すブロック図である。
【図２】本実施形態に係る音素認識データの一例を示す図である。
【図３】本実施形態に係るコストデータの一例を示す図である。
【図４】本実施形態に係る編集距離の計算例（１）を示す図である。
【図５】本実施形態に係る編集距離の計算例（２）を示す図である。
【図６】本実施形態に係る編集距離の計算例（３）を示す図である。
【図７】本実施形態に係る編集距離の計算例（４）を示す図である。
【図８】本実施形態に係る第２名前リストの生成処理の例を示すフローチャートである。
【図９】本実施形態に係る第１名前リストの一例を示す図である。
【図１０】本実施形態に係る第２名前リストの一例を示す図である。
【図１１】本実施形態に係る音声処理の例を示すフローチャートである。
【図１２】本実施形態に係る確認処理の一部を示すフローチャートである。
【図１３】本実施形態に係る確認処理の他の一部を示すフローチャートである。
【図１４】本実施形態に係るメッセージ等の例を示す図である。
【図１５】本実施形態の一変形例に係る音声処理システムを示すブロック図である。
【発明を実施するための形態】
【００２０】
（第１の実施形態）
以下、図面を参照しながら本発明の実施形態について詳しく説明する。図１は、本実施形態に係る音声処理システム１の構成を示すブロック図である。
本実施形態に係る音声処理システム１は、音声処理装置１０、収音部２１、拡声部２２および通信部３１を含んで構成される。
【００２１】
音声処理装置１０は、収音部２１から入力された音声データが示す音声を認識し、認識された音素列を発話者が意図した内容であるか否かの回答を促すための確認メッセージを示す音声データを拡声部２２に出力する。確認対象の音素列には、呼び出し対象である被呼出人の名の発音を示す音素列が含まれる。また、音声処理装置１０は、確認された音素列に対応する動作を実行もしくは制御する。実行もしくは制御対象の動作には、被呼出人を呼び出すための処理、例えば、被呼出人が用いる通信機器との通信を開始する処理が含まれる。
【００２２】
収音部２１は、到来した音を示す音声データを生成し、生成した音声データを音声処理装置１０に出力する。音声データは、収音部２１に到来する音の波形を表すデータであり、所定のサンプリング周波数（例えば、１６ｋＨｚ）でサンプリングされた信号値の時系列で構成される。収音部２１は、例えば、マイクロホン等の電気音響変換器を含んで構成される。
【００２３】
拡声部２２は、音声処理装置１０から入力される音声データが示す音を再生する。拡声部２２は、例えば、スピーカ等を含んで構成される。
通信部３１は、音声処理装置１０から入力される機器情報が示す通信機器と無線または有線で接続し、当該通信機器との通信を行う。機器情報には、被呼出人が用いる通信機器のＩＰアドレス、電話番号などが含まれる。通信部３１は、例えば、通信モジュールを含んで構成される。
【００２４】
音声処理装置１０は、入力部１０１、音声認識部１０２、名前特定部１０３、確認部１０４、音声合成部１０５、出力部１０６、データ生成部１０８および記憶部１１０を含んで構成される。
【００２５】
入力部１０１は、収音部２１から入力される音声データを音声認識部１０２に出力する。入力部１０１は、例えば、収音部２１と有線または無線で接続する入出力インタフェースである。
【００２６】
音声認識部１０２は、入力部１０１から入力される音声データに基づいて所定時間（例えば、１０〜５０ｍｓ）毎に所定の音声特徴量を算出する。算出される音声特徴量は、例えば、２５次元のメル尺度ケプストラム（ＭＦＣＣ：Ｍｅｌ−Ｆｒｅｑｕｅｎｃｙ  Ｃｅｐｓｔｒｕｍ  Ｃｏｅｆｆｉｃｉｅｎｔ）である。音声認識部１０２は、算出した音声特徴量からなる音声特徴量の時系列に基づいて公知の音声認識処理を行って発話者が発話した音素を含んで構成される音素列を生成する。音声認識部１０２は、音声認識処理に用いる音響モデルとして、例えば、隠れマルコフモデル（ＨＭＭ）を、言語モデルとして、例えば、ｎ−グラム（ｎ−ｇｒａｍ）が用いられる。音声認識部１０２は、生成した音素列を名前特定部１０３と確認部１０４に出力する。
【００２７】
名前特定部１０３は、音声認識部１０２から入力される音素列から名が発話されている部分の音素列を回答パターン（後述）を用いて抽出する。名前特定部１０３は、記憶部１１０に予め記憶された第１名前リスト（後述）が示す名毎の音素列と、抽出した音素列との類似度を示す編集距離を算出する。編集距離が小さいほど比較対象の音素列間の類似度が高く、編集距離が大きいほど当該音素列間の類似度が低い。名前特定部１０３は、算出した編集距離として最も小さい編集距離を与える音素列に対応する名前を特定する。名前特定部１０３は、特定した名前に係る音素列を確認部１０４に出力する。
【００２８】
確認部１０４は、音声認識部１０２または名前特定部１０３から入力される音素列で表される発話内容について確認メッセージを生成する。確認部１０４は、確認メッセージは、入力された発話内容が、発話者が意図した発話内容であるか否かの回答を促すためのメッセージである。これにより、確認部１０４は、発話内容についての確認メッセージを示す音声の音声データを音声合成部１０５に合成させる。
【００２９】
例えば、名前特定部１０３から発話名（後述）に係る音素列が入力される場合、確認部１０４は、記憶部１１０から予め記憶された確認メッセージパターンを読み取る。確認部１０４は、読み取った確認メッセージパターンに入力された音素列を挿入して確認メッセージを生成する。確認部１０４は、生成した確認メッセージを音声合成部１０５に出力する。
【００３０】
音声認識部１０２から否定発話（後述）もしくは候補名（後述）を示す音素列が入力される場合、確認部１０４は、記憶部１１０に予め記憶された第２名前リストが示す発話名に対応する候補名に対応する候補名の音素列を読み取る。候補名として、その発話名に誤認識される可能性が高い名前が第２名前リストに対応付けられている。確認部１０４は、読み取った確認メッセージパターンに読み取った候補名の音素列を挿入して確認メッセージを生成する。確認部１０４は、生成した確認メッセージを音声合成部１０５に出力する。
音声認識部１０２から肯定発話（後述）もしくは発話名の音素列（もしくは直近に入力された候補名の音素列）が入力される場合、確認部１０４は、発話名（もしくは直近に音素列が入力された候補名）を発話者が正しく意図した被呼出人の名前であると特定する。
なお、発話者が意図した被呼出人の名前を確認するための一連の音声処理の詳細については、後述する。
【００３１】
確認部１０４は、予め記憶部１１０に記憶した連絡先リストを参照し、特定した名前に対応する連絡先の機器情報を特定する。確認部１０４は、特定した機器情報が示す通信機器との通信を開始させるための呼出コマンドを生成する。確認部１０４は、生成した呼出コマンドを通信部３１に出力する。これにより、確認部１０４は、通信部３１に当該通信機器との通信を開始させる。呼出コマンドには、呼出メッセージが含まれてもよい。その場合、確認部１０４は、予め記憶部１１０に記憶した呼出メッセージを読み取り、通信部３１に当該通信機器へ読み取った呼出メッセージを送信する。当該通信機器は、確認部１０４から受信した呼出メッセージ音声データが示す呼出メッセージに基づく音声を再生する。よって、音声処理装置１０のユーザは、音声処理装置１０を介して当該通信機器を用いる被呼出人を呼び出すことができる。ユーザには、主に各種の事業所、施設などへの来客その他の来訪者がなりうる。また、確認部１０４は、予め記憶部１１０に記憶した待機メッセージを読み取り、読み取った待機メッセージを音声合成部１０５に出力する。音声合成部１０５は、確認部１０４から入力された待機メッセージが示す音素列で表される発音を有する音声の音声データを生成し、出力部１０６を介して拡声部２２に出力する。そのため、ユーザは、その時点において被呼出人を呼び出し中であることが通知される。
【００３２】
音声合成部１０５は、確認部１０４から入力される確認メッセージが示す音素列に基づいて音声合成処理を行って音声データを生成する。生成される音声データは、当該音素列で表される発音を有する音声を示すデータである。音声合成処理において、例えば、音声合成部１０５は、フォルマント合成を行って当該音声データを生成する。音声合成部１０５は、生成した音声データを出力部１０６に出力する。
【００３３】
出力部１０６は、音声合成部１０５から入力される音声データを拡声部２２に出力する。出力部１０６は、例えば、拡声部２２と有線または無線で接続する入出力インタフェースである。出力部１０６は、入力部１０１と一体に構成されてもよい。
【００３４】
データ生成部１０８は、予め記憶部１１０に記憶された第１名前リストが示す名を示す音素列と、編集距離が所定の編集距離よりも小さい他の名を対応付けて示す第２名前リストを生成する。データ生成部１０８は、生成した第２名前リストを記憶部１１０に記憶する。編集距離は、認識された音素列において、ある音素が変更して認識される度合い（コスト）を累積して算出される。変更には、誤認識、挿入、削除が含まれる。データ生成部１０８は、確認部１０４で取得された肯定発話に係る音素列と否定発話に係る音素列に基づいて第２名前リストを更新してもよい（オンライン学習）。
【００３５】
記憶部１１０は、他の構成部において処理に用いられるデータ、他の構成部が生成したデータを記憶する。記憶部１１０は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶媒体を含んで構成される。
【００３６】
（音素間の誤認識）
音素間の誤認識の要素には、大きく次の３種類がある、（１）置換、（２）挿入、（３）削除。（１）置換とは、本来認識されるべき音素が他の音素であるとして認識されることを意味する。（２）挿入とは、本来認識対象にない音素が認識されることを意味する。（３）削除とは、本来認識されるべき音素が認識されないことを意味する。そこで、データ生成部１０８は、入力音素毎に各出力音素の頻度を示す音素認識データを取得する。音声認識部１０２は、例えば、多様な既知の音素列が発話された音声を示す音声データについて音声認識処理を行って音素列を生成する。そして、データ生成部１０８は、既知の音素列それぞれについて音声認識部１０２が生成した音素列を照合して、既知の音素列を構成する音素毎に認識された音素を特定する。データ生成部１０８は、照合において、例えば、始終端フリーＤＰマッチング法などの公知の手法が利用可能である。データ生成部１０８は、既知の音素列を構成する個々の音素を入力音素として、入力音素毎に各出力音素の頻度を計数する。出力音素は、音声認識部１０２が生成した音素列、つまり認識された音素列に含まれる個々の音素を意味する。
【００３７】
図２は、本実施形態に係る音素認識データの一例を示す図である。図２に示す例では、音素認識データは、入力音素毎に認識された出力音素の回数を示す。図２の第３行に示す例では、入力音素/a/の出現回数１００回について出力音素/a/、/e/、/i/、/o/、/u/として認識された回数が、それぞれ９０回、１回、１回、３回、５回である。正しく/a/として認識される確率は、９０％、/e/、/i/、/o/、/u/に置換される確率は、それぞれ、１％、１％、３％、５％である。なお、ある１つの音素１が他の音素２に置換される頻度と、音素２が音素１に置換される頻度とは、一般に異なる。従って、音素認識データでは、入力音素と出力音素のセットと、その出力音素と入力音素とそれぞれ等しい入力音素と出力音素のセットと、区別する。また、図２は、入力音素と同一の音素が認識される場合（誤認識なし）、入力音素が他の音素に置換される場合のみを例にする。音素認識データにおいて、入力音素の一種として該当音素なし（φ）の行、出力音素の一種として該当音素なし（φ）の列を含めることで、追加、挿入の各場合を表すことができる。
【００３８】
データ生成部１０８は、音素認識データに基づいて入力音素と出力音素のセット毎のコスト値を定める。データ生成部１０８は、入力音素と出力音素のセットの出現率が高いほど大きくなるようにコスト値を定める。コスト値は、例えば、０から１の間の値をとるように正規化された実数値である。例えば、１から当該セットの認識率を差し引いて得られる値がコスト値として利用される。入力音素と出力音素が等しいセット（誤認識なし）については、データ生成部１０８は、コスト値を０と定める。なお、入力音素に該当音素がない（挿入）セットには、データ生成部１０８は、１からそのセットの出現確率を差し引いて得られる値をコスト値として定めてもよい。また、出力音素に該当音素がない（削除）セットには、データ生成部１０８は、そのセットについてコスト値を１（最高値）と定めてもよい。これにより、置換または追加よりも削除の方が発生する可能性が低いことが考慮される。
【００３９】
データ生成部１０８は、定めた入力音素と出力音素のセット毎のコスト値を示すコストデータを生成する。図３は、本実施形態に係るコストデータの一例を示す図である。
図３の第３行に示す例では、入力音素/a/について出力音素/a/、/r/、/i/、/o/、/u/と認識される場合のコスト値は、それぞれ０、０．９９、０．９９、０．９７、０．９５である。正しい出力音素/a/については、コスト値は０と設定されている。誤認識される頻度が少ない出力音素ほどコスト値が高くなる。
【００４０】
（編集距離）
名前特定部１０３およびデータ生成部１０８は、音素列間の類似度の指標値の一例として編集距離を算出する。編集距離は、目標の音素列から認識された音素列を得るまでに要する編集毎のコスト値の総和である。編集距離を算出する際、名前特定部１０３およびデータ生成部１０８は、音声認識部１０２から入力された音素列を構成する音素を出力音素として、記憶部１１０に記憶させたコストデータを参照する。名前特定部１０３およびデータ生成部１０８が入力音素として参照する音素は、第１名前リストに記憶された名毎の音素列を構成する音素である。編集は、１個の入力音素から出力音素への置換、１個の入力音素の削除および１個の出力音素の挿入といった、音素列を構成する個々の音素の誤認識、つまり誤認識の要素を意味する。
【００４１】
次に、編集距離の計算例について図４〜図７を用いて説明する。
図４は、音素列”ono”(小野)と音素列”o:no”(大野)との編集距離の計算例（１）を示す図である。音素列”ono”のうち、最初の音素/o/が音素/o:/に置換されて、音素列”o:no”が形成される。音素/o/から音素/o:/への置換に係るコスト値は、０．８である。従って、音素列”ono”と”o:no”の編集距離は、０．８となる。
図５は、音素列”o:ta”(太田)と音素列”o:kawa”(大川)との編集距離の計算例（２）を示す図である。音素列”o:ta”のうち、最初から２番目の音素/t/が音素/k/に置換され、音素列”o:ta”に含まれない音素/w/と/a/が末尾にその順序に追加（挿入）されて、音素列”o:kawa”が形成される。音素/t/から音素/k/への置換に係るコスト値、音素/w/の挿入に係るコスト値、音素/a/の挿入に係るコスト値は、それぞれ０．６、０．８５、０．６８である。従って、音素列”o:ta”と音素列”o:kawa”との編集距離は、２．１３である。
【００４２】
図６は、音素列”oka”(岡)と音素列”o:oka”(大岡)との編集距離の計算例（３）を示す図である。音素列”oka”の最初には新たな音素/o:/が追加（挿入）されて、音素列”o:oka”が形成される。音素/o:/の挿入に係るコスト値は、０．７６である。従って、音素列”oka”と音素列”o:oka”との編集距離は、０．７６である。
図７は、音素列”o:oka”(大岡)と音素列”oka”(岡)との編集距離の計算例（４）を示す図である。図７に示す例では、図６に示す例とは逆に、音素列”o:oka”から最初の音素/o:/が削除されて音素列”oka”が形成される。音素/o:/の削除に係るコスト値は、１．０である。従って、音素列”o:oka”と音素列”oka”との編集距離は、１．０である。図７に示す誤認識の例は、図６に示す例とは、逆のケースに相当する。図６に示す例での編集距離と、図７に示す例での編集距離との差異は、共通の音素について削除と追加では発生頻度が異なることによる。
【００４３】
次に、第２名前リストの生成処理の例について説明する。
図８は、本実施形態に係る第２名前リストの生成処理の例を示すフローチャートである。
（ステップＳ１０１）データ生成部１０８は、記憶部１１０に予め記憶された第１名前リストから互いに異なる２つの名前それぞれの音素列ｎ１、ｎ２を読み取る。例えば、データ生成部１０８は、図９に示す第１名前リストから、音素列”o:ta”（太田）と”oka”（岡）を読み取る。その後、ステップＳ１０２の処理に進む。
（ステップＳ１０２）データ生成部１０８は、読み取った音素列ｎ１、ｎ２間の編集距離ｄを計算する。その後、ステップＳ１０３の処理に進む。
【００４４】
（ステップＳ１０３）データ生成部１０８は、計算した編集距離ｄが、所定の編集距離の閾値ｄｔｈよりも小さいか否かを判定する。小さいと判定するとき（ステップＳ１０３  ＹＥＳ）、ステップＳ１０４の処理に進む。小さくないと判定するとき（ステップＳ１０３  ＮＯ）、ステップＳ１０５の処理に進む。
（ステップＳ１０４）データ生成部１０８は、音素列ｎ２に係る名前が音素列ｎ１に係る名前から誤る可能性が高い名前であると判定する。データ生成部１０８は、音素列ｎ１に係る名前と、当該音素列ｎ２に係る名前とを対応付けて記憶部１１０に記憶する。記憶部１１０に音素列ｎ１に係る名前毎に、音素列ｎ２に係る名前が累積されてなるデータは、第２名前リストを形成する。その後、ステップＳ１０５の処理に進む。
【００４５】
（ステップＳ１０５）データ生成部１０８は、第１名前リストに記憶された名前のうち各２つの名前の全ての組についてステップＳ１０１〜Ｓ１０４の処理を終了したか否かを判定する。ステップＳ１０１〜Ｓ１０４の処理を終了していない他の組がある場合、データ生成部１０８は、処理を終了していない各組についてステップＳ１０１〜Ｓ１０４の処理を行う。全ての組についてステップＳ１０１〜Ｓ１０４の処理を終了した場合、図８に示す処理を終了する。
【００４６】
図１０は、本実施形態に係る第２名前リストの一例を示す図である。
図１０に示す例では、音素列ｎ１に係る名前が発話名と音素列ｎ２に係る名前が候補名として対応付けて第２名前リストが形成されている。発話名とは、ユーザにより発話される名前について、音声認識部１０２が取得した音素列に基づいて名前特定部１０３により特定される名前である。候補名は、発話名に誤認識される可能性がある名前、つまりユーザが意図した名前の候補である。
図１０において、候補名１、候補名２とは、複数の候補名を区別するためのインデックスである。図１０の第２行には、音素列”ono”を有する発話名「小野」には、音素列１”o:no”を有する候補名１「大野」と音素列２”uno”を有する候補名２「宇野」が対応付けられている。図１０に示す例では、各発話名について２名の候補名が対応付けられているが、一般には、発話名に対応付けられた候補名の数は、発話名毎に異なる。複数の候補名がある場合、データ生成部１０８は、発話名に係る音素列ｎ１と候補名に係る音素列ｎ２の編集距離の昇順にそれらの複数の候補名を配列する。その場合には、データ生成部１０８は、編集距離の昇順に順次、他の候補名を直ちに選択することができる。
【００４７】
（音声処理）
次に、本実施形態に係る音声処理の例について説明する。次の説明では、音声処理装置１０が、ユーザが発話する音声から被呼出人の名前を認識し、認識した被呼出人の名前の確認に応用される場合を例にする。図１１は、本実施形態に係る音声処理の例を示すフローチャートである。確認部１０４は、記憶部１１０に予め記憶された初期メッセージを読み取り、読み取った初期メッセージを音声合成部１０５に出力する。初期メッセージには、ユーザに被呼出人の名前の発話を促すためのメッセージが含まれる。
【００４８】
（ステップＳ１１１）初期メッセージの出力後、所定時間（例えば、５〜１５秒）内に名前特定部１０３から音素列ｎが入力される。音素列ｎは、音声認識部１０２から入力される音素列に基づいて名前特定部１０３が特定した名前に係る音素列である。その後、ステップＳ１１２の処理に進む。
【００４９】
（ステップＳ１１２）確認部１０４は、記憶部１１０に記憶された第２名前リストを参照して、音素列ｎと一致する音素列を有する発話名を検索する。その後、ステップＳ１１３に出力する。
（ステップＳ１１３）確認部１０４は、音素列ｎと一致する音素列を有する発話名を発見したか否かを判定する。発見した場合（ステップＳ１１３  ＹＥＳ）、ステップＳ１１４の処理に進む。発見していないと判定される場合（ステップＳ１１３  ＮＯ）、ステップＳ１１５の処理に進む。
【００５０】
（ステップＳ１１４）確認部１０４は、後述の確認処理１を行う。その後、ステップＳ１１６の処理に進む。
（ステップＳ１１５）確認部１０４は、後述の確認処理２を行う。その後、ステップＳ１１６の処理に進む。
（ステップＳ１１６）確認部１０４は、確認処理１または確認処理２において確認成功と判定する場合（ステップＳ１１６  ＹＥＳ）、図１１に示す処理を終了する。確認部１０４は、確認処理１または確認処理２において確認失敗と判定する場合（ステップＳ１１６  ＮＯ）、ステップＳ１１１に戻る。なお、ステップＳ１１１に戻る前に、確認部１０４は、繰り返し要求メッセージを記憶部１１０から読み取り、読み取った繰り返し要求メッセージを音声合成部１０５に出力する。繰り返し要求メッセージには、ユーザに被呼出人の名前の再度の発話を促すためのメッセージが含まれる。
【００５１】
図１２は、図１１のステップＳ１１４において実行される確認処理１を示すフローチャートである。
（ステップＳ１２１）確認部１０４は、ステップＳ１１３において発見された音素列ｎに対応する候補名に係る音素列ｎ＿ｓｉｍを記憶部１１０に記憶された第２名前リストから読み取る。音素列ｎ＿ｓｉｍは、音素列ｎから誤る可能性が高い音素列である。その後、ステップＳ１２２に進む。
（ステップＳ１２２）確認部１０４は、記憶部１１０から確認メッセージパターンを読み取る。確認部１０４は、音素列ｎを確認メッセージパターンに挿入して確認メッセージを生成する。生成される確認メッセージは、音素列ｎが正しくユーザが意図した名前の音素列であるか否かを確認するための質問を示すメッセージである。確認部１０４は、生成した確認メッセージを音声合成部１０５に出力する。その後、ステップＳ１２３の処理に進む。
【００５２】
（ステップＳ１２３）確認部１０４には、確認メッセージの出力後、所定時間（例えば、５〜１０秒）内に音声認識部１０２から発話内容を示す音素列が入力される。入力された音素列が肯定発話の音素列または音素列ｎ＿ｓｉｍと同一である場合（ステップＳ１２３  肯定発話またはｎ＿ｓｉｍ）、ステップＳ１２６の処理に進む。肯定発話とは、直前に提示されたメッセージを肯定する回答である。肯定発話には、例えば、「はい」、「ええ」などの発話が該当する。つまり、ステップＳ１２６の処理に進む場合は、認識された音素列に係る名前が、ユーザが正しく意図した名前であることがユーザの発話により肯定される場合に相当する。入力された音素列が否定発話の音素列または音素列ｎと同一である場合（ステップＳ１２３  否定発話またはｎ）、ステップＳ１２４の処理に進む。つまり、ステップＳ１２４の処理に進む場合は、認識された音素列に係る名前が、ユーザが正しく意図した名前であることがユーザの発話により否定される場合に相当する。入力された音素列がそれ以外の音素列である場合（ステップＳ１２３  それ以外）、ステップＳ１２７の処理に進む。
【００５３】
（ステップＳ１２４）確認部１０４は、記憶部１１０から確認メッセージパターンを読み取る。確認部１０４は、音素列ｎ＿ｓｉｍを確認メッセージパターンに挿入して確認メッセージを生成する。生成される確認メッセージは、音素列ｎ＿ｓｉｍが正しくユーザが意図した名前の音素列であるかを否かの質問を示す。確認部１０４は、生成した確認メッセージを音声合成部１０５に出力する。その後、ステップＳ１２５の処理に進む。
【００５４】
（ステップＳ１２５）確認部１０４には、確認メッセージの出力後、所定時間（例えば、５〜１０秒）内に音声認識部１０２から発話内容を示す音素列が入力される。入力された音素列が肯定発話の音素列と同一である場合（ステップＳ１２５  肯定発話）、ステップＳ１２６の処理に進む。つまり、ステップＳ１２６の処理に進む場合は、ユーザーが発話した名前の音素列が音素列ｎ＿ｓｉｍであることがユーザの発話により肯定される場合に相当する。入力された音素列がそれ以外の音素列である場合（ステップＳ１２５  それ以外）、ステップＳ１２７の処理に進む。
【００５５】
（ステップＳ１２６）確認部１０４は、直近の処理対象の名前の音素列についてユーザが意図した名前の音素列であることについて確認成功と判定する。その後、ステップＳ１１６（図１１）の処理に進む。
（ステップＳ１２７）確認部１０４は、直近の処理対象の名前の音素列についてユーザが意図した名前の音素列であることについて確認失敗と判定する。その後、ステップＳ１１６（図１１）の処理に進む。
【００５６】
なお、図１２に示す処理は、第２名前リストにおいて、発話名に係る音素列ｎに候補名の音素列ｎ＿ｓｉｍが１個のみ対応付けられている場合を例にしたが。音素列ｎに候補名の音素列が２個以上対応付けられている場合がある。その場合、ステップＳ１２３において入力された音素列が否定発話の音素列もしくは音素列ｎと判定されるとき、確認部１０４は、音素列ｎに代えて最初の候補名から最後から２番目までの未処理の候補名の音素列のそれぞれについてステップＳ１２２の処理と、ステップＳ１２３の処理を繰り返す。但し、ステップＳ１２３において入力された音素列が否定発話の音素列と同一である場合、確認部１０４は、ステップＳ１２２の処理に戻る。また、ステップＳ１２３において入力された音素列が処理対象の候補名とは異なるいずれかの未処理の候補名の音素列と同一である場合についても、確認部１０４は、ステップＳ１２２の処理に戻る。この場合、確認部１０４は、その音素列について音素列ｎに代えてステップＳ１２２の処理を行う。処理の繰り返しは、ステップＳ１２３において、ステップＳ１２６またはステップＳ１２７に進むと判定される場合に終了する。そして、確認部１０４は、最後の音素列についてステップＳ１２４の処理と、ステップＳ１２５の処理を行う。従って、音素列ｎから誤る可能性が高い候補名の音素列の順に、確認の成否が判定される。処理の繰り返しの順序は、第２名前リストにおいて、候補名が配列されている順序である。
【００５７】
図１３は、図１１のステップＳ１１４において実行される確認処理２のフローチャートである。
（ステップＳ１３１）確認部１０４は、ステップＳ１２２と同様の処理を行う。その後、ステップＳ１３２に進む。
（ステップＳ１３２）確認部１０４には、確認メッセージの出力後、所定時間（例えば、５〜１０秒）内に音声認識部１０２から発話内容を示す音素列が入力される。入力された音素列が肯定発話の音素列または音素列ｎと同一である場合（ステップＳ１２３  肯定発話またはｎ）、ステップＳ１３３の処理に進む。入力された音素列がそれ以外の音素列である場合（ステップＳ１３２  それ以外）、ステップＳ１３４の処理に進む。
【００５８】
（ステップＳ１３３）確認部１０４は、直近の処理対象の名前の音素列ｎについてユーザが意図した名前の音素列であることについて確認成功と判定する。その後、ステップＳ１１６（図１１）の処理に進む。
（ステップＳ１３４）確認部１０４は、直近の処理対象の名前の音素列ｎについてユーザが意図した名前の音素列であることについて確認失敗と判定する。その後、ステップＳ１１６（図１１）の処理に進む。
【００５９】
従って、図１１〜図１３の処理によれば、認識結果となる名前の確認メッセージの再生と、確認メッセージに対するユーザによる訂正発話の繰り返しが回避される。そのため、音声処理装置１０は、ユーザが意図した名前をより円滑に特定することができる。
ところで、図１２のステップＳ１２３、Ｓ１２５、図１３のステップＳ１３２において、確認部１０４が、確認メッセージの出力から所定時間（例えば、５〜１０秒）を超えて音声認識部１０２から音素列が入力されない場合がある。その場合において、確認部１０４は、それぞれステップＳ１２６、Ｓ１２６、Ｓ１３３の処理に進み、確認成功として判定してもよい。これにより、確認メッセージに対してユーザが発話しない場合でも、認識結果が容認されたものとして扱われる。その場合においても、認識結果となる名前の確認メッセージの再生と、確認メッセージに対するユーザによる訂正発話の繰り返しが回避される。
【００６０】
（メッセージ）
次に、音声処理装置１０が対話処理に用いる各種のメッセージならびにメッセージパターンについて説明する。対話処理には、図１１に示す音声処理、図１２、図１３に示す確認処理が含まれる。記憶部１１０には、予め各種のメッセージならびにメッセージパターンを予め記憶しておく。以下、メッセージとメッセージパターンをメッセージ等と呼ぶ。
図１４は、本実施形態に係るメッセージ等の例を示す図である。
メッセージ等は、その発音を示す音素列の情報を示すデータである。メッセージは、その発音を示す音素列区間の情報を示すデータである。メッセージパターンは、その発音を示す音素列区間の情報と挿入区間の情報とを含んで構成されるデータである。挿入区間は、他の語句の音素列が挿入可能な区間である。挿入区間は、図１４において、＜…＞で囲まれる区間である。音素列区間と挿入区間に挿入される音素列とを統合してなる一連の音素列は、１つのメッセージの発音を示す。
【００６１】
本実施形態に係るメッセージ等は、質問メッセージ、発話メッセージ、通知メッセージの３種類に分けられる。質問メッセージは、音声処理装置１０がユーザに対する質問の音声を再生するために用いられるメッセージ等である。発話メッセージは、ユーザの発話内容の音素列と照合することにより、その音素列の特定に用いられるメッセージ等である。特定結果は、音声処理装置１０の動作の制御に用いられる。通知メッセージは、音声処理装置１０の動作状況をユーザであるユーザまたは被呼出人への通知に用いられるメッセージ等である。
【００６２】
質問メッセージには、初期メッセージ、確認メッセージパターンおよび繰り返し要求メッセージが含まれる。初期メッセージは、ユーザが来訪するときにユーザに被呼出人の名前を発話することを促すためのメッセージである。図１４の第２行に示す例では、初期メッセージは、”irasshaimase, donatani goyo:desuka?”（いらっしゃいませ、どなたにご用ですか？）である。
確認メッセージパターンは、直前（例えば、その時点から５〜１５秒以内）になされた発話から認識された音素列を発話者であるユーザが意図した内容であるか否かの回答を促すためのメッセージの生成に用いられるメッセージパターンである。図１４の第３行に示す例では、確認メッセージパターンは、”<…> desuka?”（＜…＞ですか？）である。＜…＞は、認識された音素列が挿入される挿入区間である。
繰り返し要求メッセージは、発話者であるユーザに被呼出人の名前の再度の発話を促すためのメッセージである。図１４の第４行に示す例では、繰り返し要求メッセージは、”mo:ichido osshattekudasai”（もう一度おっしゃって下さい）である。
【００６３】
発話メッセージには、肯定発話、否定発話および回答パターンが含まれる。肯定発話は、直前になされたメッセージの内容の肯定を表す発話の音素列を示す。図１４の第５、６行に示す例では、肯定発話は、”hai”（はい）、”ee”（ええ）である。否定発話は、直前になされたメッセージの内容の否定を表す発話の音素列を示す。図１４の第７、８行に示す例では、否定発話は、”iie”（いいえ）、”chigaimasu”（違います）である。
【００６４】
回答パターンは、発話者であるユーザの発話から確認メッセージに対する回答として音素列を抽出するための挿入区間を含むメッセージパターンである。回答パターンに含まれる音素列は、回答内容を含む文に定型的に現れ、回答内容として不要な発話の音素列に相当する。挿入区間は、回答内容が含まれる部分を表す。本実施形態では、回答内容として被呼出人の名前の音素列が求められる。図１４の第９、１０行に示す例では、回答パターンは、”<…> desu”（＜…＞です）、”<> san onegaishimasu”（＜…＞さん  お願いします）である。これらのメッセージは、名前特定部１０３ならびに確認部１０４が音声認識部１０２から入力される音素列と照合し、照合された音素列から回答内容となる名前の音素列を取得する際に用いられる。照合において、例えば、始終端フリーＤＰマッチング法などの公知の手法が利用可能である。
【００６５】
通知メッセージには、呼出メッセージと待機メッセージが含まれる。呼出メッセージは、ユーザが来訪したことを被呼出人に通知するためのメッセージである。図１４の第１１行に示す例では、呼出メッセージは、”tadaima okyakusamaga irasshaimashita”（ただいま、お客様がいらっしゃいました）である。待機メッセージは、ユーザに被呼出人を呼び出し中であることを通知するためのメッセージである。図１４の第１２行に示す例では、待機メッセージは、”tadaima yobidashichu:desu, mo:shibaraku omachikudasai”（ただいま、呼び出し中です。もうしばらくお待ちください。）である。
【００６６】
（変形例）
次に、本実施形態の変形例について説明する。一変形例では、データ生成部１０８は、図１２、図１３に示す確認処理に基づいて音素認識データを更新してもよい。データ生成部１０８は、ステップＳ１１６、Ｓ１２６において確認に成功した音素列を構成する各音素は、正しく認識された音素であると判定する。データ生成部１０８は、ステップＳ１１６、Ｓ１２６において確認成功と判定される前に、ステップＳ１２７において確認に失敗した音素列と、確認成功と判定された音素列とを照合する。データ生成部１０８は、確認成功と判定された音素列と確認失敗と判定された音素列の間で共通する音素を正しく認識された音素であると判定する。データ生成部１０８は、確認成功と判定された音素列と確認失敗と判定された音素列の間で異なる音素のうち、確認失敗と判定された音素列に含まれる音素を入力音素であると判定し、確認成功と判定された音素列に含まれる音素が正しく認識されなかった出力音素であると判定する。これにより、正しく認識されなかった入力音素がその入力音素とは異なる出力音素に誤認識されたことが判定される。そして、データ生成部１０８は、正しく認識された音素の出現回数を、その音素を入力音素として、その音素が出力音素である回数に加算することにより累積する。データ生成部１０８は、正しく認識されなかった入力音素について誤認識された出力音素の出現回数を、その入力音素についてその出力音素の回数に加算する。誤認識の要素である追加、削除については、データ生成部１０８は、それぞれ入力音素、出力音素が存在しないものとして、追加される出力音素の出現回数、削除される入力音素の出現回数を累積する。よって、入力音素毎に認識された出力音素の回数を示す音素認識データが更新される。
【００６７】
その後、データ生成部１０８は、更新された音素認識データを用いて入力音素と出力音素のセット毎のコスト値を示すコストデータを更新する。データ生成部１０８は、第１名前リストと更新したコストデータを参照して、図８に示す生成処理を行う。これにより、第２名前リストが更新される。更新された第２名前リストは、図１１に示す音声処理、図１２に示す確認処理１において用いられる。従って、音声処理ならびに確認処理１、２における音素列の成否に基づいて音素認識データが更新され、更新された音素認識データに基づいて第２名前リストが音声処理ならびに確認処理１に用いられる。よって、使用環境に依存した音素列の認識に応じて誤認識される可能性が高い名前を候補名とする第２名前リストが更新される。使用環境に応じて定められた候補名がより有力な被呼出人の候補として優先して提示されるので、ユーザである来客が意図した名前を円滑に特定することができる。
【００６８】
本実施形態の他の変形例に係る音声処理システム２は、ロボットシステムとして構成されてもよい。図１５は、本変形例に係る音声処理システム２を示すブロック図である。
本変形例に係る音声処理システム２は、音声処理装置１０、収音部２１、拡声部２２および通信部３１に、さらに動作制御部３２、動作機構部３３および動作モデル記憶部３４を含んだ単一のロボットシステムとして構成される。
【００６９】
記憶部１１０には、ロボットの動作毎にその動作を指示するためのロボットコマンド情報と、その動作を示す語句の音素列がさらに対応付けて記憶されている。確認部１０４は、音声認識部１０２から入力された音素列と、動作毎の音素列とを照合し、類似度が最も高い音素列に係る動作を特定する。確認部１０４は、類似度の指標値として上述した編集距離を用いてもよい。確認部１０４は、特定した動作に係るロボットコマンド情報を記憶部１１０から読み取り、読み取ったロボットコマンド情報を、動作制御部３２に出力する。
【００７０】
動作モデル記憶部３４には、動作毎に電力値の時系列データを対応付けてなる電力モデル情報を予め記憶させておく。電力値の時系列データは、動作機構部３３を構成する機構部に供給する電力値を示すデータである。機構部とは、例えば、マニピュレータ（ｍａｎｉｐｕｌａｔｏｒ）、多指グラスパ（ｍｕｌｔｉ−ｆｉｎｇｅｒ  ｇｒａｓｐｅｒ）などである。即ち、電力値は、動作毎に機構部がその動作を実行するために消費する電力の大きさを示す。
【００７１】
動作制御部３２は、確認部１０４から入力されたロボットコマンド情報に係る動作の電力モデル情報を動作モデル記憶部３４から読み取る。動作制御部３２は、読み取った動作モデル情報が示す時系列データが示す電力量の電力を機構部に供給する。動作制御部３２から電力された供給された機構部が、その電力を消費して動作することにより、動作機構部３３は、ユーザが発話により指示したロボットコマンド情報に応じた動作を実行する。
【００７２】
なお、データ生成部１０８は、ロボットに実行させる動作の名称を示すロボットコマンドについても、名前と同様に誤認識される可能性が高いロボットコマンドを示すロボットコマンドリストを生成してもよい。そして、確認部１０４は、生成したロボットコマンドリストを用いて、ロボットコマンドについても図１１に示す音声処理を実行してもよい。これにより、認識結果となるコマンドの確認メッセージの再生と、確認メッセージに対するユーザによる訂正発話の繰り返しが回避される。
【００７３】
以上に説明したように、本実施形態に係る音声処理装置１０は、音声を認識して音素列を生成する音声認識部１０２を備える。音声処理装置１０は、第１の名前（発話名）の音素列を示す第１名前リストと、第１の名前のうち所定の第１の名前の音素列に当該第１の名前の音素列と類似する第２の名前（候補名）の音素列とが対応付けてなる第２名前リストとを記憶する記憶部１１０を備える。音声処理装置１０は、第１の名前の音素列と音声認識部１０２が生成した音素列との類似度に基づいて発話された音声が示す名前を特定する名前特定部１０３を備える。また、音声処理装置１０は、メッセージの音声を合成する音声合成部１０５と、正しい名前であるか否か回答を促す確認メッセージの音声を音声合成部に合成させる確認部１０４を備える。また、確認部１０４は、名前特定部１０３が特定した名前について確認メッセージの音声を音声合成部１０５に合成させ、名前特定部が特定した名前が、正しい名前ではないと回答されるとき、第２名前リストを参照して名前特定部１０３が特定した名前（発話名）の音素列に対応する第２の名前（候補名）の音素列を選択する。また、確認部１０４は、選択した第２の名前について確認メッセージの音声を音声合成部１０５に合成させる。
この構成により、第２名前リストを参照して認識された名前と発音が類似する名前が選択される。ユーザにより認識された名前が否定された場合であっても、選択された名前が、ユーザが意図した名前の候補として提示される。そのため、ユーザが意図した名前が早く特定される可能性が高くなる。また、認識結果の確認音声の再生と、確認結果に対する訂正発話の繰り返しが回避される。そのため、ユーザが意図した名前を円滑に特定される。
【００７４】
また、記憶部１１０に記憶される第２名前リストに含まれる第２の名前の音素列は、第１の名前に誤認識される可能性が所定の可能性よりも高い音素列である。
この構成により、発話された名前が第１の名前であると誤認識される場合でも、第２の名前が特定される名前の候補として選択される。そのため、ユーザが意図した名前が特定される可能性が高くなる。
【００７５】
また、第２名前リストにおいて第１の名前の音素列と対応付けられた第２の名前の音素列と当該第１の名前の音素列との編集距離が、所定の編集距離よりも小さい。
この構成により、第２の名前として第１の名前の発音と定量的に類似する発音の名前が特定される名前の候補として選択される。そのため、誤認識される名前とは発音が類似する名前が、ユーザが意図した名前として特定される可能性が高くなる。
【００７６】
また、確認部１０４は、第１の名前の音素列との編集距離が小さい音素列に係る第２の名前ほど優先して選択する。
この構成により、第１の名前に対応する第２の名前が複数存在する場合、第１の名前と発音が類似する第２の名前ほど優先して選択される。誤認識される名前と発音が類似する名前ほど優先して提示されるので、ユーザが意図した名前が早期に特定される可能性が高くなる。
【００７７】
また、第２の名前の音素列は、第１の名前の音素列の誤認識の要素として、第１の名前の音素列をなす一部の音素の他の音素への置換、他の音素の挿入ならびに一部の音素の削除の少なくとも一回によってなる。また、編集距離は、誤認識の要素に係るコスト値を累積して算出される。
この構成により、誤認識による音素列の変更が単純であるほど小さい編集距離が算出される。そのため、誤認識される名前と発音が類似する名前が定量的に定められる。
【００７８】
また、コスト値として、誤認識の要素の頻度が高いほど低い値が定められる。
この構成により、第１の名前の音素列に誤認識される可能性が高い音素列に係る名前が第２の名前として選択される。そのため、第２の名前としてユーザが意図した名前が特定される可能性が高くなる。
【００７９】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。上述の実施形態において説明した各構成は、任意に組み合わせることができる。
【００８０】
例えば、上述した実施形態は、日本語の音素、音素列、メッセージおよびメッセージパターンが用いられる場合を例にするが、これには限定されない。上述した実施形態において、他の言語、例えば、英語の音素、音素列、メッセージおよびメッセージパターンが用いられてもよい。
また、上述した実施形態では、名前が主に自然人の姓である場合を例にしたが、これには限られない。姓に代えて名が用いられてもよいし、氏名が用いられてもよい。また、名前は、必ずしも自然人の名前に限られず、組織名、部門名、もしくはそれらの通称が用いられてもよい。また、名前は、正式名称、本名に限られず、通称、愛称、略称、筆名などの変名でもよい。また、被呼出人は、特定の自然人に限られず、組織、部門などの構成員であってもよい。
また、音声処理装置１０は、収音部２１、拡声部２２および通信部３１のいずれか１個、いずれか２個または全てを一体化して構成されてもよい。
【００８１】
なお、上述した実施形態における音声処理装置１０の一部、例えば、音声認識部１０２、名前特定部１０３、確認部１０４、音声合成部１０５およびデータ生成部１０８をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、音声処理装置１０に内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
また、上述した実施形態における音声処理装置１０の一部、または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。音声処理装置１０の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【００８２】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【００８３】
１、２…音声処理システム、１０…音声処理装置、１０１…入力部、１０２…音声認識部、１０３…名前特定部、１０４…確認部、１０５…音声合成部、１０６…出力部、１０８…データ生成部、１１０…記憶部、２１…収音部、２２…拡声部、３１…通信部、３２…動作制御部、３３…動作機構部、３４…動作モデル記憶部
【図１】
0006696803.tif 000002
【図２】
0006696803.tif 000003
【図３】
0006696803.tif 000004
【図４】
0006696803.tif 000005
【図５】
0006696803.tif 000006
【図６】
0006696803.tif 000007
【図７】
0006696803.tif 000008
【図８】
0006696803.tif 000009
【図９】
0006696803.tif 000010
【図１０】
0006696803.tif 000011
【図１１】
0006696803.tif 000012
【図１２】
0006696803.tif 000013
【図１３】
0006696803.tif 000014
【図１４】
0006696803.tif 000015
【図１５】
0006696803.tif 000016