(57)【要約】【課題】リアルタイムで人の個人差を考慮して発話することができる音声対話装置を提供すること。【解決手段】音声対話装置は、人の発話を認識する発話受付部と、発話する発話部と、を備え、前記発話部は前記発話部が発話してから前記発話受付部が発話を受け付けなかった時間である無音時間が予め定められた待ち時間を超えた場合に発話する。音声対話装置は、さらに、前記発話部が発話してから人が応答して前記発話受付部が発話を受け付けるまでの応答時間を記憶する記憶部と、前記記憶部にて記憶された応答時間の平均及び分散を算出し、算出した平均及び分散を用いて応答時間及び発話確率に関するガンマ分布を作成し、作成したガンマ分布を用いて人が発話する気がないと判断できる無音時間を推定する推定部と、前記推定部にて推定された無音時間を新たな待ち時間として、前記発話部における前記待ち時間を更新する発話制御部と、を備える。【選択図】図１
2018017776.tif 000002
【特許請求の範囲】
【請求項１】
人の発話を認識する発話受付部と、発話する発話部と、を備え、前記発話部は前記発話部が発話してから前記発話受付部が発話を受け付けなかった時間である無音時間が予め定められた待ち時間を超えた場合に発話する音声対話装置であって、
前記発話部が発話してから人が応答して前記発話受付部が発話を受け付けるまでの応答時間を記憶する記憶部と、
前記記憶部にて記憶された応答時間の平均及び分散を算出し、算出した平均及び分散を用いて応答時間及び発話確率に関するガンマ分布を作成し、作成したガンマ分布を用いて人が発話する気がないと判断できる無音時間を推定する推定部と、
前記推定部にて推定された無音時間を新たな待ち時間として、前記発話部における前記待ち時間を更新する発話制御部と、を備える音声対話装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人と対話を行う音声対話装置に関する。
【背景技術】
【０００２】
近年、人と対話を行う対話ロボット等の音声対話装置が実用化されている。しかし、音声対話装置が人と対話する場面では、人及び音声対話装置の双方が沈黙することがあり、こうした沈黙が頻繁に起きると、対話が中断し、気まずい雰囲気になってしまう。
そこで、最近は、無音時間が予め定められた待ち時間を超えた場合に、音声対話装置側から発話する技術も提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１５２１１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１のように、無音時間が予め定められた待ち時間を超えた場合に、音声対話装置側から発話する技術では、待ち時間は予め定めた時間となり、個人差を考慮して待ち時間を変更することができないという問題があった。
また、時間経過と共に人の発話傾向が変化した場合に（例えば、音声対話装置に慣れてきて応答時間が短くなる等）、発話傾向の変化に対応して待ち時間を変更することができないという問題もあった。
【０００５】
本発明は、上記を鑑みなされたものであって、リアルタイムで人の個人差を考慮した発話が可能な音声対話装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る音声対話装置は、
人の発話を認識する発話受付部と、発話する発話部と、を備え、前記発話部は前記発話部が発話してから前記発話受付部が発話を受け付けなかった時間である無音時間が予め定められた待ち時間を超えた場合に発話する音声対話装置であって、
前記発話部が発話してから人が応答して前記発話受付部が発話を受け付けるまでの応答時間を記憶する記憶部と、
前記記憶部にて記憶された応答時間の平均及び分散を算出し、算出した平均及び分散を用いて応答時間及び発話確率に関するガンマ分布を作成し、作成したガンマ分布を用いて人が発話する気がないと判断できる無音時間を推定する推定部と、
前記推定部にて推定された無音時間を新たな待ち時間として、前記発話部における前記待ち時間を更新する発話制御部と、を備える。
【発明の効果】
【０００７】
上述した本発明の態様によれば、リアルタイムで人の個人差を考慮した発話が可能な音声対話装置を提供することができるという効果が得られる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態に係る音声対話装置の構成例を示すブロック図である。
【図２】実施の形態に係る計測部の動作例を説明する図である。
【図３】実施の形態に係る推定部の動作例を説明する図である。
【図４】実施の形態に係る音声対話装置において、発話部が発話した後の動作例を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について説明する。
＜実施の形態の概要＞
まず、本実施の形態に係る音声対話装置の概要について説明する。
対話ロボット等である音声対話装置は、人が発話した場合には、その発話に音声対話装置側で応答して発話する設計になっていることが多い。そのため、人が発話した場合には、無音時間は発生しないか、発生したとしても非常に短い時間になるため、対話が中断する可能性は低いと考えられる。
【００１０】
その一方、音声対話装置が発話した場合には、続いて、その発話に人側で応答して発話することになるため、無音時間（すなわち、音声対話装置が発話してから人の発話を音声対話装置にて受け付けなかった時間）が長くなる可能性がある。そのため、音声対話装置が発話してから経過した無音時間が待ち時間を超えた場合には、人に発話する気がないと判断し、音声対話装置側から発話することにより、対話が中断することを回避することができる。
【００１１】
しかし、人に発話する気がないと判断できる無音時間には、個人差があり、また、発話傾向の変化（例えば、音声対話装置に慣れてきて応答時間が短くなる等）に応じてリアルタイムに変化すると考えられる。
【００１２】
そこで、本実施の形態に係る音声対話装置は、音声対話装置が発話してから経過した無音時間が待ち時間を超えた場合に発話する構成において、その待ち時間を、リアルタイムで人の個人差を考慮して、変更することとする。
【００１３】
＜実施の形態の構成＞
続いて、図１を参照して、本実施の形態に係る音声対話装置１の構成について説明する。図１に示されるように、音声対話装置１は、人であるユーザ２と対話を行う装置であり、例えば、対話ロボット等である。また、音声対話装置１は、発話部１１と、発話受付部１２と、計測部１３と、フィルタ部１４と、推定部１５と、発話制御部１６と、を備えている。なお、フィルタ部１４は、記憶部の一例である。また、図１は、本発明の本質的な構成要素のみを抜粋して示したものであり、その他の構成要素は省略されている。
【００１４】
発話部１１は、スピーカ（不図示）を介して音声を出力することで、ユーザ２に対して発話する。
発話受付部１２は、ユーザ２が発話した音声を、マイク（不図示）を介して入力することで、ユーザ２の発話を認識する。
【００１５】
計測部１３は、発話部１１が発話してから、ユーザ２が応答して発話受付部１２が発話を受け付けるまでの時間である応答時間を計測する。詳細には、ユーザ２の応答時間は、発話部１１が発話を終えてから、この発話に対してユーザ２が応答して発話した音声を発話受付部１２にて受け付けるまでの時間である。例えば、図２の例では、発話部１１が「確かに」という音声の発話を終えたタイミングが時刻ｔ１、この発話に対してユーザ２が応答して発話した「体調も良いです」という音声を発話受付部１２にて受け付けたタイミングが時刻ｔ２である。そのため、ユーザ２の応答時間は、時刻ｔ１と時刻ｔ２との差分である１秒となる。
【００１６】
フィルタ部１４は、計測部１３が計測したユーザ２の応答時間のデータである応答時間データをフィルタリングして、外れ値の応答時間データを除去し、残りの応答時間データを記憶する。例えば、音声対話装置１が放置されていた場合や、ユーザ２が熟考して応答した場合には、ユーザ２の応答時間は非常に長くなる。フィルタ部１４は、このような応答時間データを外れ値の応答時間データとして除去する。
【００１７】
フィルタ部１４は、過去Ｎ回分のＮ個の応答時間データを記憶し、Ｎ個を超えた場合は、最も古い応答時間データを破棄するものとする。後述のように、推定部１５は、応答時間データを用いて、ユーザ２の応答時間の分散及び平均を算出し、ユーザ２が発話する気がないと判断できる無音時間（ユーザ２が発話してから発話受付部１２が発話を受け付けなかった時間）を推定する。一般的に、分散及び平均を算出するためのデータは最低でも３個必要となる。そのため、上記のＮは３以上の整数とする。また、上記のＮは、大きければ推定精度は上がるが古いデータが残ってしまい、小さければ現状に対応しやすくなるが推定精度が下がってしまう。そのため、上記のＮは、現状及び推定精度の優先度等を考慮して、３以上の適正な数値に決定すれば良い。
【００１８】
フィルタ部１４が外れ値の応答時間データを除去する方法としては、任意の方法を利用可能である。例えば、フィルタ部１４は、メディアンフィルタを使用し、中央値付近から外れた応答時間データを除去しても良い。又は、フィルタ部１４は、ＩＱＲ（四分位範囲：interquartile range）を利用するフィルタを使用し、ＩＱＲから外れた箱ひげ図のひげ部分の応答時間データを除去しても良い。ＩＱＲを利用するフィルタは、正規分布でない場合にも使用可能であり、また、計算量が少なく、高速レスポンスが可能である等の利点がある。又は、計測部１３は、応答時間の計測時に、応答時間データにラベルを付与し、フィルタ部１４は、特定のラベルが付与された応答時間データを除去しても良い。例えば、計測部１３は、カメラ（不図示）で撮影された画像から、ユーザ２が熟考して応答したと判断できる応答時間データに特定のラベルを付与することが考えられる。また、計測部１３は、ユーザ２の音声を認識し、自立語が含まれていない音声の応答時間データに特定のラベルを付与することが考えられる。また、計測部１３は、音声対話装置１の動作終了待ちであった場合の応答時間データに特定のラベルを付与することが考えられる。
【００１９】
推定部１５は、まず、フィルタ部１４にて記憶されたＮ個の応答時間データを用いてユーザ２の応答時間の平均及び分散を算出する。続いて、推定部１５は、算出したユーザ２の応答時間の平均及び分散を用いて、ユーザ２の応答時間及びその応答時間で発話する確率である発話確率に関するガンマ分布を作成する。ガンマ分布は、パラメトリックモデルの一例である。続いて、推定部１５は、作成したガンマ分布を用いて、ユーザ２が発話する気がないと判断できる無音時間を推定する。
【００２０】
例えば、推定部１５は、図３のようなガンマ分布を作成したとする。図３は、応答時間データの個数が１５個、発話確率の閾値が９５％となっている例である。図３の例では、応答時間２．４秒以下でユーザ２が発話する発話確率が、閾値となる９５％になっている。言い換えれば、発話部１１が発話してから経過した無音時間が２．４秒以上であれば、ユーザ２は９５％の確率で発話する気がないと判断することができる。そこで、推定部１５は、ユーザ２が発話する気がないと判断できる無音時間を、２．４秒と推定する。なお、応答時間データの個数及び発話確率の閾値は、図３の数値に限定されず、その他の数値でも良い。
【００２１】
発話制御部１６は、発話部１１の発話タイミングを制御する。具体的には、発話制御部１６は、ユーザ２が発話した場合には、その発話に応答して発話するよう発話部１１を制御する。また、発話制御部１６は、発話部１１が発話した場合には、発話部１１が発話してから経過した現在の無音時間が待ち時間を超えた場合に発話するよう発話部１１を制御する。
【００２２】
ここで、ユーザ２との対話開始時には、フィルタ部１４には何らの応答時間データも記憶されていないため、推定部１５は無音時間を推定することができない。そのため、発話制御部１６は、ユーザ２との対話開始時には、発話部１１における待ち時間として、予め定められた待ち時間を使用する。その後、ユーザ２との対話が進んで、フィルタ部１４に３個以上の応答時間データが記憶されると、推定部１５で無音時間の推定が可能になる。そのため、以降、発話制御部１６は、推定部１５で無音時間が推定される度に、推定された無音時間を新たな待ち時間として、発話部１１における待ち時間を更新する。
【００２３】
また、発話制御部１６は、発話部１１の発話内容も制御する。例えば、発話制御部１６は、現在の無音時間が待ち時間を超えた場合に発話させる時には、「ところで、この前の連休は遊びに行ったりした？」等と発話させ、新たな話題を提供するように制御する。ただし、発話内容をどのような内容に決定するかは本発明の本質的な部分ではなく、発話内容は公知の方法を適用して決定することができるため、詳細な説明は省略する。
【００２４】
なお、音声対話装置１が備える各構成要素は、例えば、コンピュータである音声対話装置１が備えるプロセッサ（不図示）及びメモリ（不図示）によって実現することができる。具体的には、プロセッサが、メモリからソフトウェア（プログラム）を読み出して実行することで、各構成要素を実現することができる。また、各構成要素は、プログラムによるソフトウェアで実現することに限定されることなく、ハードウェア、ファームウェア及びソフトウェアのうちのいずれかの組み合わせなどにより実現しても良い
【００２５】
上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。
【００２６】
また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されても良い。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、または無線通信路を介して、プログラムをコンピュータに供給できる。
【００２７】
＜実施の形態の動作＞
続いて、図４を参照して、本実施の形態に係る音声対話装置１において、発話部１１が発話した後の動作について説明する。
図４に示されるように、まず、発話制御部１６は、発話部１１が発話したか否かを判断する（ステップＳ１）。ステップＳ１の発話部１１の発話は、対話開始時の発話、ユーザ２の発話に対する発話、発話部１１の発話から経過した無音時間が待ち時間を超えた場合の発話が含まれる。
【００２８】
ステップＳ１において、発話部１１が発話した場合（ステップＳ１のＹｅｓ）、発話制御部１６は、発話部１１の発話に対してユーザ２が応答したか判断し（ステップＳ２）、ユーザ２の応答がない場合（ステップＳ２のＮｏ）、続いて、発話部１１の発話から経過した現在の無音時間が待ち時間を超えたか否かを判断する（ステップＳ３）。ここでの待ち時間は、ユーザ２との対話開始時には、予め定められた待ち時間となり、ユーザ２との対話が進んで推定部１５で無音時間が推定可能になると、推定部１５で推定された無音時間で更新された新たな待ち時間となる。ステップＳ３において、現在の無音時間が待ち時間を超えていない場合（ステップＳ３のＮｏ）、ステップＳ２に戻る。すなわち、ステップＳ２，Ｓ３は、現在の無音時間が待ち時間を超えるか、待ち時間の間にユーザ２が応答するまで繰り返されることになる。
【００２９】
ステップＳ３において、現在の無音時間が待ち時間を超えた場合（ステップＳ３のＹｅｓ）、発話制御部１６は、ユーザ２に発話する気がないと判断し、発話するよう発話部１１を制御する（ステップＳ４）。ステップＳ４の後は、ステップＳ１に戻る。
【００３０】
また、ステップＳ２において、発話部１１の発話に対してユーザ２が応答した場合（ステップＳ２のＹｅｓ）、計測部１３は、発話部１１が発話してから、ユーザ２が応答して発話受付部１２が発話を受け付けるまでの応答時間を計測する（ステップＳ５）。続いて、フィルタ部１４は、計測部１３が計測したユーザ２の応答時間データをフィルタリングして、外れ値の応答時間データを除去し、残りの応答時間データを記憶する（ステップＳ６）。続いて、推定部１５は、フィルタ部１４にて記憶された応答時間データを用いてユーザ２の応答時間の平均及び分散を算出し、算出した平均及び分散を用いて、ユーザ２の応答時間及び発話確率に関するガンマ分布を作成し、作成したガンマ分布を用いて、ユーザ２が発話する気がないと判断できる無音時間を推定する。続いて、発話制御部１６は、推定部１５にて推定された無音時間を新たな待ち時間として、発話部１１における待ち時間を更新する（ステップＳ７）。なお、ステップＳ７において、フィルタ部１４に３個以上の応答時間データが記憶されていない場合には、推定部１５で無音時間を推定することができない。そのため、その場合は、発話制御部１６は、発話部１１における待ち時間を更新せず、現在の待ち時間のままとする。ステップＳ７の後は、ステップＳ１に戻る。
【００３１】
以上が、音声対話装置１において、発話部１１が発話した後の動作となる。なお、音声対話装置１においては、ユーザ２が発話した場合には、その発話に応答して発話するという動作を行う。ただし、ユーザ２が発話した後の動作は、本発明の本質的な部分ではなく、公知の動作を適用することができるため、詳細な説明は省略する。
【００３２】
＜実施の形態の効果＞
上述したように、本実施の形態に係る音声対話装置１によれば、発話部１１が発話してからユーザ２が応答して発話を受け付けるまでの応答時間を記憶し、ユーザ２の応答時間の平均及び分散を用いて応答時間及び発話確率に関するガンマ分布を作成し、作成したガンマ分布を用いて人が発話する気がないと判断できる無音時間を推定し、推定した無音時間を新たな待ち時間として、発話部１１における待ち時間を更新する。
【００３３】
このように、ユーザ２の応答時間に応じて、発話部１１における待ち時間を更新するため、リアルタイムで人の個人差を考慮して、待ち時間を変更することができる。それにより、リアルタイムで人の個人差を考慮した発話が可能な音声対話装置１を提供することができる。
【００３４】
また、リアルタイムで人の個人差を考慮した発話が可能となるため、ユーザ２との対話が中断することを回避し、対話を長続きさせることができる。
また、人が発話する気がないと判断できる無音時間の推定にパラメトリックモデルであるガンマ分布を使用するため、少ない応答時間データ（応答時間データは最低で３個あれば良い）で無音時間を推定することができる。それにより、対話開始から無音時間が推定となるまでの時間を短縮することができる。
【００３５】
また、外れ値の応答時間データをフィルタリングして除去するため、ユーザ２が熟考した等の要因で応答時間がたまたま長くなったとしても、そのような応答時間データを除外して、無音時間を推定することができる。それにより、無音時間の推定精度が低くなることを回避することができる。
【００３６】
＜実施の形態の変形例＞
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
例えば、上記実施の形態においては、ユーザ２との対話開始時には、発話部１１における待ち時間を予め設定された待ち時間としたが、これには限定されない。例えば、ユーザ２と前回対話した時のユーザ２の応答時間データをフィルタ部１４に記憶させた状態でユーザ２との対話を開始すれば、対話開始時から、推定部１５が無音時間を推定することができる。その結果、対話開始時から、推定部１５が推定した無音時間を待ち時間とすることができる。
【００３７】
また、上記実施の形態においては、推定部１５は、ユーザ２が発話する気がないと判断できる無音時間を推定するために、パラメトリックモデルの一例であるガンマ分布を使用したが、これには限定されない。推定部１５は、パラメトリックモデルの代わりに、歪度（skewness）を持つモデルを使用しても良い。なお、歪度とは、分布の非対称を示す指標である。
【符号の説明】
【００３８】
１  音声対話装置
１１  発話部
１２  発話受付部
１３  計測部
１４  フィルタ部
１５  推定部
１６  発話制御部
２  ユーザ
【図１】
2018017776.tif 000003
【図２】
2018017776.tif 000004
【図３】
2018017776.tif 000005
【図４】
2018017776.tif 000006