(57)【要約】【課題】ローカルでの音声認識とサーバでの音声認識を行うハイブリッド型の音声対話システムにおいて、ユーザの発話に対する自然な応答を返す。【解決手段】音声対話装置と音声認識サーバとから構成される音声対話システムであって、前記音声対話装置は、音声入力手段と、前記音声入力手段に入力された音声を認識する第１の音声認識手段と、前記音声入力手段に入力された音声を前記音声認識サーバに送信する送信手段と、音声出力手段と、を備え、前記音声認識サーバは、前記音声対話装置から送信される音声を受信する受信手段と、前記受信手段が受信した音声を認識する第２の音声認識手段と、を備え、前記音声出力手段は、前記第１の音声認識手段による認識結果に基づく応答を出力した後、前記第１の音声認識手段による認識結果と前記第２の音声認識手段による認識結果との差分に基づく応答を出力する。【選択図】図３
2018045190.tif 000002
【特許請求の範囲】
【請求項１】
音声対話装置と音声認識サーバとから構成される音声対話システムであって、
前記音声対話装置は、
音声入力手段と、
前記音声入力手段に入力された音声を認識する第１の音声認識手段と、
前記音声入力手段に入力された音声を前記音声認識サーバに送信する送信手段と、
音声出力手段と、
を備え、
前記音声認識サーバは、
前記音声対話装置から送信される音声を受信する受信手段と、
前記受信手段が受信した音声を認識する第２の音声認識手段と、
を備え、
前記音声出力手段は、前記第１の音声認識手段による認識結果に基づく応答を出力した後、前記第１の音声認識手段による認識結果と前記第２の音声認識手段による認識結果との差分に基づく応答を出力する、
ことを特徴とする音声対話システム。
【請求項２】
前記第２の音声認識手段は、前記第１の音声認識手段よりも認識精度が高い、
請求項１に記載の音声対話システム。
【請求項３】
前記第１の音声認識手段による応答は、前記音声対話装置が備える第１の応答生成手段が生成し、
前記第２の音声認識手段による応答は、対話サーバが備える第２の応答生成手段が生成する、
請求項１または２に記載の音声対話システム。
【請求項４】
前記音声対話装置は、前記音声認識サーバから前記第２の音声認識手段による認識結果を取得し、前記第１の音声認識手段による認識結果と前記第２の音声認識手段による認識結果との差分を前記対話サーバに送信する、
請求項３に記載の音声対話システム。
【請求項５】
前記音声対話装置は、前記第１の音声認識手段による認識結果に基づく応答も前記対話サーバに送信し、
前記第２の応答生成手段は、前記第１の音声認識手段による認識結果に基づく応答も考慮して前記応答を生成する、
請求項４に記載の音声対話システム。
【請求項６】
音声対話装置と音声認識サーバとから構成される音声対話システムにおける音声対話方法であって、
前記音声対話装置が、ユーザの発話を取得するステップと、
前記音声対話装置が、前記ユーザの発話の音声認識を行い第１の認識結果を取得するステップと、
前記音声対話装置が、前記ユーザの発話を前記音声認識サーバに送信し、前記音声認識サーバによる音声認識の結果である第２の認識結果を取得するステップと、
前記音声対話装置が、前記第１の認識結果に基づく応答を出力した後、前記第１の認識結果と前記第２の認識結果との差分に基づく応答を出力するステップと、
含む、ことを特徴とする音声対話方法。
【請求項７】
請求項６に記載の方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声対話システムに関し、特に、ローカルとサーバの両方で音声認識を行うハイブリッド型の音声対話システムに関する。
【背景技術】
【０００２】
音声対話システムでは、音声の入力装置および出力装置を備える端末（ローカル）で音声認識を行う手法と、専用の音声認識サーバで音声認識を行う手法がある。ローカルで音声認識を行う場合には、応答が速いという利点があるが、認識精度が低かったり認識可能な語彙が少なかったりという欠点がある。逆に、サーバで音声認識を行う場合には認識精度が高く認識可能な語彙が多いという利点があるが、通信が必要となるので応答が遅いという欠点がある。
【０００３】
このようなローカルとサーバの互いの欠点を補うために、ローカルとサーバの両方で音声認識を行うハイブリッド型の音声対話システムが提案されている（特許文献１）。特許文献１に開示される音声認識端末装置は、ユーザが発話した音声コマンドを取得し、取得した音声コマンドを音声認識サーバへ送信して音声認識処理を要求する。その際、音声認識端末装置は、音声認識サーバから音声認識結果が得られるまでの応答遅延時間を埋め合わせるために「つなぎ発話」を発話する。このつなぎ発話の内容は、ローカルでの音声コマンドの認識結果に基づいて音声認識端末装置が決定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１３５４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の手法は、音声認識端末装置が応答した後に、音声認識サーバからの認識結果を受けてさらに応答を行うが、これら２つの応答のあいだの連携が考慮されていないので、２つの応答に関連がなかったり、あるいは重複する内容が発せられたりして、応答が不自然になることがあり得る。
【０００６】
本発明は、ローカルでの音声認識とサーバでの音声認識を行うハイブリッド型の音声対話システムにおいて、ユーザの発話に対する自然な応答が可能な音声対話システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第一の態様は、音声対話装置と音声認識サーバとから構成される音声対話システムである。
【０００８】
音声対話装置は、音声入力手段と、前記音声入力手段に入力された音声を認識する第１の音声認識手段と、前記音声入力手段に入力された音声を前記音声認識サーバに送信する送信手段と、音声出力手段とを備える。第１の音声認識手段による音声認識処理が、ローカルでの音声認識処理に該当する。
【０００９】
前記音声認識サーバは、前記音声対話装置から送信される音声を受信する受信手段と、前記受信手段が受信した音声を認識する第２の音声認識手段と、を備える。第２の音声認識手段による音声認識処理が、サーバでの音声認識処理に該当する。
【００１０】
本発明において、音声対話装置の音声出力手段は、前記第１の音声認識手段による認識結果（第１の認識結果）に基づく応答を出力した後に、第２の音声認識手段による認識結果（第２の認識結果）に基づく応答を出力する。ここで、第２の認識結果に基づく応答は、第１の認識結果と第２の認識結果との差分に基づいて生成される。
【００１１】
このように、２つの認識結果の差分を用いて第２の応答を決定するので、２つの応答の内容が重複したり脈絡がなかったりして、応答が不自然になることを防止できる。また、差分に基づいて第２の応答を決定しているので、対話が効率化されるという利点も得られる。
【００１２】
ここで、第２の音声認識手段は、第１の音声認識手段よりも認識精度が高いことが望ましい。認識精度が高いというのは、誤認識が少ない、または、認識失敗の確率が低い、あるいはその両方を意味する。また、第１の音声認識手段は、認識できない割合が高くなっても、誤認識が少なくなるように設定することが望ましい。
【００１３】
本発明において、第１の認識結果に基づく応答と、第１の認識結果と第２の認識結果との差分に基づく応答は、音声対話装置において生成されてもよいし、外部の装置（サーバ）によって生成されてもよい。ただし、第１の認識結果に基づく応答は高速応答性が求められるので、通信が発生しないように音声対話装置内で生成することが好ましい。一方、第２の認識結果を取得するために音声認識サーバとの通信が必要であり、さらに対話サーバと通信を行っても応答性はそれほど悪化しない。そこで、第２の認識結果に基づく応答は、対話サーバによって生成することが応答性と精度の観点から好ましい。対話サーバは、音声認識サーバと一体のサーバであってもよいし、異なるサーバであってもよい。対話サーバによる応答生成は、音声対話装置による応答生成よりも高度なものとすることができる。
【００１４】
また、対話サーバは、第１の認識結果と第２の認識結果との差分が取得可能であれば、どのようにして当該差分を取得してもよい。例えば、音声対話装置が、音声認識サーバから第２の認識結果を取得し、第１の認識結果と第２の認識結果との差分を算出して当該差分のみを対話サーバに送信してもよい。あるいは、音声対話装置は第１の認識結果と第２の認識結果の両方を対話サーバに送信し、対話サーバが両者の差分を求めてもよい。
【００１５】
また本発明において、音声対話装置が第１の認識結果に基づく応答も対話サーバに送信し、対話サーバは、第１の認識結果に基づく応答も考慮して第２の応答を生成することも好ましい。このようにすれば、第１の認識結果に基づく応答とのつながりが自然となる第２の応答を生成可能である。
【００１６】
なお、本発明は、上記手段の少なくとも一部を備える音声対話システムとして捉えることもできる。本発明はまた、音声対話システムを構成する音声対話装置あるいは音声認識サーバとして捉えることもできる。本発明は、また、上記処理の少なくとも一部を実行する音声対話方法として捉えることができる。また、本発明は、この方法をコンピュータに実行させるためのコンピュータプログラム、あるいはこのコンピュータプログラムを非一時的に記憶したコンピュータ可読記憶媒体として捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【００１７】
本発明によれば、ローカルでの音声認識とサーバでの音声認識を行うハイブリッド型の音声対話システムにおいて、ユーザの発話に対する自然な応答を返すことが可能となる。
【図面の簡単な説明】
【００１８】
【図１】図１は、実施形態に係る音声対話システムの構成を示す図である。
【図２】図２は、変形例に係る音声対話システムの構成を示す図である。
【図３】図３は、実施形態に係る音声対話システムにおける処理の流れの例を示す図である。
【図４】図４は、実施形態に係る音声対話システムにおける処理の流れの別の例を示す図である。
【発明を実施するための形態】
【００１９】
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。以下で説明される実施形態は音声対話ロボットをローカルの音声対話端末として用いたシステムであるが、ローカルの音声対話端末はロボットである必要はなく任意の情報処理装置や音声対話インタフェースなどを用いることができる。
【００２０】
＜システム構成＞
図１は、本実施形態に係る音声対話システムの構成を示す図である。本実施形態に係る音声対話システムは、音声対話ロボット（音声対話端末装置）１００、音声認識サーバ２００、対話サーバ３００から構成される。
【００２１】
音声対話ロボット１００は、マイク１０１、スピーカー１０２、およびマイクロプロセッサなどの演算装置、メモリ、通信装置などを含むコンピュータである。マイクロプロセッサがプログラムを実行することにより、音声対話ロボット１００は、ローカル型音声認識部１０３、ローカル型対話生成部１０４、音声合成部１０５、音声認識要求部１０６、差分検出部１０７、対話文要求部１０８として機能する。図示はしていないが、音声対話ロボット１００は、画像取得装置（カメラ）や可動関節部や移動手段などを備えていてもよい。
【００２２】
ローカル型音声認識部１０３は、マイク１０１に入力されたユーザの発話内容を解析・認識して発話内容をテキストにする。ローカル型音声認識部１０３による音声認識処理は、音声対話ロボット１００内で処理が完結し、後述する音声認識サーバ２００による音声認識処理よりも認識精度や認識可能語彙などの性能が劣る。ただし、音声認識処理の際にサーバとの通信が不要であるため、比較的高速に認識結果を得ることができる。
【００２３】
ローカル型対話生成部１０４は、ローカル型音声認識部１０３の認識結果（テキスト）を受け取り、ユーザの発話に対する応答文のテキストを生成する。なお、ローカル型音声認識部１０３が認識結果を得られなかったときには、ローカル型対話生成部１０４は、適当な相づちや返事あるいはユーザ発話と同一内容の繰り返しを応答文として生成する。
【００２４】
音声合成部１０５は、発話内容のテキストを受け取り、音声合成を行って応答音声データを生成する。音声合成部１０５によって生成された応答音声データは、スピーカー１０２から再生される。
【００２５】
音声認識要求部１０６は、マイク１０１に入力されたユーザの発話内容を、音声認識サーバ２００へ送って認識結果を取得する。なお、音声認識要求部１０６は、マイク１０１に入力された音声データを音声認識サーバに送ってもよいし、前処理の一部を行った後のデータを音声認識サーバに送ってもよい。
【００２６】
音声対話ロボット１００と音声認識サーバ２００のあいだの通信方式は特に限定されず、無線ＬＡＮやＬＴＥなどの任意の通信方式を採用可能である。
【００２７】
差分検出部１０７は、ローカル型音声認識部１０３による音声認識の結果（ローカル認識結果）と、音声認識サーバ２００による音声認識結果（サーバ認識結果）を取得し、その差分を求める。
【００２８】
対話文要求部１０８は、差分検出部１０７が求めたローカル認識結果とサーバ認識結果の差分を対話サーバ３００に送信して、この差分に対応する応答文を取得する。対話文要求部１０８によって取得された応答文は、音声合成部１０５に送られ音声データとしてスピーカー１０２から再生される。
【００２９】
なお、音声対話ロボット１００は、１つの装置として構成される必要はない。例えば図２に示すように、マイク１０１、スピーカー１０２、カメラ、可動関節部などを含むロボット装置１０９（フロントエンド装置）と、各種の処理を実行するスマートフォン１１０（あるいはその他のコンピュータ）の２つの装置から構成することができる。この場合、ロボット装置とコンピュータは、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの無線通信により接続され、ロボット装置が取得したデータはコンピュータに送られ、コンピュータによる処理結果に基づいて応答文などの再生がロボット装置から行われる。
【００３０】
音声認識サーバ２００は、マイクロプロセッサなどの演算装置、メモリ、通信装置などを含むコンピュータであり、音声認識部を備える。音声認識サーバ２００は、豊富な資源（高速な演算部や、大容量の語彙辞書など）を有しており、したがって音声対話ロボット１００による音声認識よりも高精度な音声認識が可能である。
【００３１】
対話サーバ３００は、マイクロプロセッサなどの演算装置、メモリ、通信装置などを含むコンピュータであり、対話生成部を備える。対話サーバ３００は、豊富な資源（高速な演算部や、大容量の対話シナリオＤＢなど）を有しており、したがって音声対話ロボット１００による対話文生成よりも高度な応答を生成可能である。
【００３２】
＜処理例＞
図３および図４を参照して、本実施形態に係る音声対話システムにおける処理の流れを説明する。図３および図４は、実施形態に係る音声対話システムにおける処理の流れの例を示す図である。
【００３３】
まず、図３を参照して説明する。
【００３４】
ステップＳ１０１において、音声対話ロボット１００がマイク１０１からユーザの発話を取得する。ここでは、例えば、ユーザが「おはよう。いい天気だね」と発話したとする。
【００３５】
マイク１０１が取得した音声データは、ステップＳ１０２においてローカル型音声認識部１０３に送られて、音声認識処理が施される。ここでは、ユーザの発話内容の全ては認識できず、「おはよう」の部分だけが認識できたものとする。
【００３６】
ローカル型音声認識部１０３による認識結果は、ステップＳ１０３においてローカル型対話生成部１０４に送られて、当該発話に対する応答文が生成される。ここでは、「おはよう」というユーザの発話に対して、「おはよう、○○ちゃん」という応答文が生成されたものとする。なお、音声対話ロボット１００はユーザに関する情報を保持しており、ユーザに関する情報（ここではユーザの名前）が応答文の生成に利用される。
【００３７】
ステップＳ１０４において、音声合成部１０５は、ローカル型対話生成部１０４が生成した応答文のテキストを音声データに変換し、ステップＳ１０５においてスピーカー１０
２から出力する。ここでは、ユーザからの「おはよう。いい天気だね」という発話に対して、まず、「おはよう。○○ちゃん」という応答が出力される。
【００３８】
音声対話ロボット１００内での音声認識処理や応答文生成処理と並行して、マイク１０１に入力された音声データは、音声認識要求部１０６を介して音声認識サーバ２００へ送られ、ステップＳ１０６において、音声認識サーバ２００で音声認識処理が施される。音声認識サーバ２００は高機能であるため、ユーザの発話全体を正しく認識でき、「おはよう。いい天気だね」という認識結果が得られる。音声認識の結果は、音声認識サーバ２００から音声対話ロボット１００（音声認識要求部１０６）に送信される。
【００３９】
なお、音声認識サーバ２００での音声認識を行うためには、音声対話ロボット１００と音声認識サーバ２００とのあいだでの通信が必要となるため、音声認識サーバ２００による認識結果を取得するまでには比較的長い時間が必要である。すなわち、音声認識サーバ２００による認識結果が取得されるまでに、ローカル型音声認識部１０３に認識結果が既に取得されている（さらには、応答文の生成や出力まで完了している場合もある）。
【００４０】
ステップＳ１０７において、差分検出部１０７は、ローカル型音声認識部１０３による認識結果と、音声認識サーバ２００による認識結果の差分が得られる。ここではローカルとサーバでの音声認識結果がそれぞれ「おはよう」と「おはよう。いい天気だね」なので、差分として「いい天気だね」が得られる。
【００４１】
差分検出部１０７が取得した認識結果の差分は、対話文要求部１０８を介して対話サーバ３００へ送信され、ステップＳ１０８において、対話サーバ３００において差分に対する応答文が生成される。ここでは、「いい天気だね」という差分の認識結果に対して、「お出かけ日和だね」という応答文が生成されたものとする。
【００４２】
ステップＳ１０９において、音声合成部１０５は、対話文要求部１０８が対話サーバ３００から取得した応答文のテキストを音声データに変換し、ステップＳ１１０においてスピーカー１０２から出力する。ここでは、「いい天気だね」という応答が出力される。
【００４３】
このように、ユーザによる「おはよう。いい天気だね」という話しかけに対して、まずローカルの音声認識結果に基づいて「おはよう。○○ちゃん」という返事が出力され、さらにサーバでの音声認識結果に基づいて「お出かけ日和だね」という更なる返事が出力される。
【００４４】
したがって、音声認識サーバ２００による応答が生成されるまでに比較的長い時間が必要となるが、その前にローカルでの認識結果に基づく応答が可能であり、レスポンスよく応答が行える。さらに、ローカルでの認識結果とサーバでの認識結果との差分に基づいて、２回目の（Ｓ１１０で出力される）応答文の内容を決定しているので、応答の内容が不自然になることを防止できる。
【００４５】
次に、図４を参照して説明する。図３と図４において基本的な処理の流れは変わらない。図４は、ステップＳ１０２のローカル型音声認識処理によって音声認識結果が全く得られなかった場合の処理例を示している。
【００４６】
ユーザが「ラーメン食べたよ」と発話した際に、ステップＳ１０２では、ローカル型音声認識処理では音声認識が不能である。この場合、ローカル型対話文生成処理では、相づちなどの定型文が応答として出力される。例えば、「うん」という応答がステップＳ１０５において出力される。
【００４７】
音声認識サーバ２００は「ラーメン食べたよ」というユーザ発話の全体が正しく認識可能であり、したがって、差分検出部１０７はローカルの音声認識結果と音声認識サーバ２００による認識結果との差分として、ユーザ発話の全文（「ラーメン食べたよ」）を取得する。対話サーバ３００は、この内容に基づいて例えば、「どこで食べたの？」という応答を生成することができる。
【００４８】
このように、音声対話ロボット１００において音声認識ができなかった場合でも、適当な相づちにより応答することで、音声認識サーバ２００の認識結果の基づく応答までの間が不自然に空いてしまうことを防止できる。
【００４９】
＜本実施形態の有利な効果＞
本実施形態によれば、音声認識サーバの認識結果に基づく応答を行うまでのあいだに、ローカルでの認識結果に基づく応答が行えるので、応答が得られるまでにユーザを待たせる期間が短くなる。したがって、応答の高速性と内容の高度化の両立が行える。また、サーバの認識結果に基づく応答は、ローカルとサーバの認識結果の差分に基づいて生成されるので、２つの応答のあいだのつながりが不自然になってしまうことを防止できる。
【００５０】
＜変形例＞
上記の説明では、ローカルでの認識結果とサーバでの認識結果との差分を、音声対話ロボット１００（差分検出部１０７）が求めているが、これは必須ではない。例えば、音声認識サーバ２００が、音声対話ロボット１００からローカル型音声認識部１０３での認識結果を取得し、差分を求めてもよい。あるいは、対話サーバ３００が、音声対話ロボット１００と音声認識サーバ２００の両方から音声認識結果を取得して、その差分を求めてもよい。
【００５１】
また、音声対話ロボット１００は、ローカル型対話生成部１０４が生成した応答文の内容を、対話サーバ３００に送信することも好ましい。このようにすれば、対話サーバ３００は、ユーザ発話の全体と、ローカルとサーバでの認識結果の差分、およびローカルの認識結果に基づく応答文の内容に基づいて、応答文の内容を決定することができる。対話サーバ３００は、対話シナリオＤＢに、ユーザ発話に対する第１の応答と第２の応答を格納しておき、ユーザ発話に内容とローカルの認識結果に基づく応答内容（第１の応答）に基づいて、対応する第２の応答を生成すれば、自然な対話が可能となる。
【００５２】
また、音声対話ロボット１００による音声認識は誤認識しないことが望ましい。したがって、ローカル型音声認識部１０３での認識閾値を高く設定して、不確かな認識結果は棄却することが望ましい。あるいは、ローカル型音声認識部１０３における認識スコアがそれほど高くない場合には、不確かな認識結果に基づいて相づちなどの定型的な応答を出力するようにしてもよい。相づちを返す場合であっても、ユーザ発話に応じて適切な相づちと不適切な相づちが存在するので、認識結果に基づく相づちを選択することで、より自然な応答が可能となる。
【００５３】
音声対話ロボット１００による音声認識は誤認識しないことが望ましいが、誤認識を完全に無くすことは困難である。音声対話ロボット１００において誤認識が発生した場合、より正確には、音声対話ロボット１００による認識結果と音声認識サーバ２００による認識結果が異なる場合には、対話サーバ３００は、誤認識に基づく応答を修正するような応答を生成することが望ましい。たとえば、「ラーメン食べたよ」というユーザ発話を、音声対話ロボット１００は「ラーメン食べたい」と誤認識して「そうだね、食べたいね」という応答をした場合、対話サーバ３００は正しい認識結果に基づいて、最初の応答を訂正するような応答、たとえば「あれ、ラーメン食べたって言ったのかな」というような応答を生成することが考えられる。
【００５４】
また、上記の説明では、ローカル型音声認識部１０３によって完全な認識ができないことを想定しているが、ローカル型音声認識部１０３がユーザ発話を全て認識できた場合、より正確には、ローカル型音声認識部１０３による認識結果と音声認識サーバ２００による認識結果が完全に一致する場合には、第２の応答は省略しても良い。もちろん、対話サーバ３００によるさらなる応答を出力してもよい。
【００５５】
また、上記の説明では、音声認識や対話文生成を異なるサーバで実施しているが、両方の処理を同一のサーバで実施してもよいし、対話文生成処理は音声対話ロボット１００において実施しても構わない。
【００５６】
＜その他＞
上記の実施形態および変形例の構成は、本発明の技術的思想を逸脱しない範囲内で、適宜組み合わせて利用することができる。また、本発明は、その技術的思想を逸脱しない範囲で適宜変更を加えて実現しても構わない。
【符号の説明】
【００５７】
１００：音声対話ロボット
１０１：マイク
１０２：スピーカー
１０３：ローカル型音声認識部
１０４：ローカル型対話生成部
１０５：音声合成部
１０６：音声認識要求部
１０７：差分検出部
１０８：対話文要求部
２００：音声認識サーバ
３００：対話サーバ
【図１】
2018045190.tif 000003
【図２】
2018045190.tif 000004
【図３】
2018045190.tif 000005
【図４】
2018045190.tif 000006