【文献】
伊藤 敏彦,間投詞の働きの分析とシステム応答生成における間投詞の利用と評価,日本音響学会誌,日本,社団法人日本音響学会,1999年,第55巻 第5号,pp.333−342
(58)【調査した分野】(Int.Cl.,DB名)
前記テーブルは、前記メッセージ音声の長さのサンプル値のそれぞれについて、前記体感品質が一定となる前記無音期間の最大長である第1の時間の無音期間を追加したときの前記ユーザの体感品質を表す第1の品質値と、前記第1の時間よりも長く、一定割合で前記体感品質が低下する前記無音期間の最大長である第2の時間の無音期間を追加したときの前記ユーザの体感品質を表す第2の品質値とを格納し、
前記メッセージ音声の長さを設定することは、前記応答時間以下の前記メッセージ音声の長さのサンプル値のそれぞれについて、前記第1の品質値と前記第2の品質値から当該長さに対応するユーザの体感品質を表す品質値を算出し、当該品質値が最大となる長さを前記メッセージ音声の長さとする、請求項1に記載の対話制御方法。
前記メッセージ音声の長さを設定することは、前記応答時間から前記メッセージ音声の長さのサンプル値を減じた差が前記第1の時間よりも短い場合には、当該長さのサンプル値についての前記第1の品質値を当該長さのサンプル値についての前記品質値とし、一方、前記差が前記第1の時間以上、かつ、前記第2の時間以下である場合には、前記第1の品質値と前記第2の品質値とを線形補間することで前記品質値を算出する、請求項2に記載の対話制御方法。
【発明を実施するための形態】
【0010】
以下、図を参照しつつ、様々な実施形態による音声対話装置及びその音声対話装置の対話制御方法について説明する。
任意の応答時間に対して、その応答時間中に再生されるメッセージ音声の長さと、応答時間中でメッセージ音声が出力されない無音期間の長さの組み合わせは複数存在する。そしてそれぞれの組み合わせごとに、ユーザの体感品質は異なる。しかし、発明者は、メッセージ音声の長さが一定であれば、無音期間の長さ2秒以下の場合、ユーザの体感品質はほとんど変化せず、無音期間の長さが2秒以上4秒以下では、無音期間の長さに対して線形にユーザの体感品質が低下すると言う知見を得た。そこで、発明者は、メッセージ音声の複数の時間長のそれぞれごとに、無音期間2秒及び4秒でのユーザの体感品質を予め実験により求め、メッセージ音声の時間長及び無音期間とユーザの体感品質との関係を表す品質評価テーブルを作成した。そして音声対話装置は、その品質評価テーブルを参照することにより、任意の応答時間に対してユーザの体感品質が最も高くなるメッセージ音声の時間長を求め、その時間長を持つメッセージを応答時間内に再生する。
【0011】
図1は、音声対話装置の第1の実施形態による音声対話システムの概略構成図である。本実施形態では、音声対話システム1は、ユーザが音声を入力し、入力した音声に応じたコンテンツの提供を受けるための端末2と、端末2を介して入力された音声に応じたコンテンツを選択し、選択したコンテンツを端末2へ返信するサーバ3とを有する。
【0012】
端末2とサーバ3とは、例えば、公衆通信回線といった通信ネットワーク4を介して互いに通信可能となっている。さらに、サーバ3は、通信ネットワーク4を介して、Webサーバまたはftpサーバなどの外部情報源5と通信可能となっていてもよい。なお、端末2とサーバ3とは、通信ネットワーク4とは別個の専用線などの通信回線によって接続されていてもよい。
【0013】
端末2は、例えば、携帯電話機、携帯情報端末、あるいは固定端末であり、音声入力部21と、音声出力部22と、通信部23と、記憶部24と、処理部25とを有する。さらに端末2は、液晶ディスプレイといった表示部(図示せず)をさらに有してもよい。
【0014】
音声入力部21は、例えば、マイクロホンと、アナログ/デジタル変換器とを有する。そしてユーザが発した音声はマイクロホンによりアナログの電気信号である音声信号に変換される。そのアナログの音声信号は、アナログ/デジタル変換器により所定のサンプリング周波数でサンプリングされてデジタルの音声信号に変換された後、処理部25へ送られる。
【0015】
音声出力部22は、ユーザにコンテンツを提示する出力部の一例であり、例えば、デジタル/アナログ変換器とスピーカとを有する。そして音声出力部22は、デジタル/アナログ変換器により、処理部25から受け取った音声信号をアナログ化し、そのアナログ化された音声信号がスピーカにより音声に変換され、ユーザへ向けて出力される。
【0016】
通信部23は、端末2を通信ネットワーク4に接続するためのインターフェース回路を有する。そして通信部23は、通信ネットワーク4が準拠する通信方式に従って、処理部25から受け取った音声信号を通信ネットワーク4を介してサーバ3へ送信する。一方、通信部23は、通信ネットワーク4を介して、サーバ3から、コンテンツと、応答時間中に再生されるメッセージ音声及び再生遅延期間をサーバ3から受信して処理部25へ渡す。
【0017】
記憶部24は、例えば、半導体メモリを有する。そして記憶部24は、処理部25が端末2を制御するための各種プログラム、端末2上で動作するアプリケーションプログラム及びそれらプログラムの実行に必要な各種のデータを記憶する。
【0018】
処理部25は、一つまたは複数のプロセッサと、周辺回路とを有する。そして処理部25は、音声入力部21を介して入力された音声信号を通信部23へ出力する。また処理部25は、再生時間制御部の一例であり、ユーザによる音声入力が終了した時点から計時を開始し、その終了時点から、サーバ3から通知された再生遅延期間が経過するとメッセージ音声を音声出力部22を介して再生する。なお、処理部25は、例えば、音声入力が終了したか否かを判定するために、入力された音声信号を所定のフレーム単位で時間周波数変換することにより、フレームごとのパワースペクトルを求める。そして処理部25は、周波数帯域ごとのパワーの平均値が所定の閾値以上となったフレームの後で、そのパワーの平均値以下となるフレームが所定数以上連続すると、音声入力が終了したと判断する。
【0019】
さらに、処理部25は、メッセージ音声の再生が終了した後、サーバ3からコンテンツを受信すると、コンテンツに含まれる音声信号を音声出力部22を介して再生する。
【0020】
なお、コンテンツが画像またはビデオストリームを含む場合には、処理部25は、その画像またはビデオストリームを図示しない表示部に表示させてもよい。また処理部25は、コンテンツにテキスト情報が含まれる場合も、そのテキスト情報を表示部に表示させてもよい。
さらに、コンテンツにゲームなどのアプリケーションプログラムが含まれる場合、処理部25は、アプリケーションプログラムを実行し、その実行結果に応じた画像を表示部に表示させ、またはその実行結果に応じた音声信号を音声出力部22に再生させてもよい。
【0021】
再度
図1を参照すると、サーバ3は、通信部31と、記憶部32と、制御部33とを有する。
【0022】
通信部31は、サーバ3を通信ネットワーク4に接続するためのインターフェース回路を有する。そして通信部31は、通信ネットワーク4が準拠する通信方式に従って、端末2から通信ネットワーク4を介して受け取った音声信号を制御部33へ渡す。一方、通信部31は、制御部33から受け取ったコンテンツ及びメッセージ音声等を通信ネットワーク4を介して端末2へ送信する。さらに通信部31は、通信ネットワーク4を介して外部情報源5へ情報取得要求信号を送信し、その外部情報源5から所定のコンテンツを含むデータを受信してもよい。
なお、以下では、説明の便宜上、端末2からサーバが受信した、ユーザの音声信号を、入力音声信号と呼ぶ。
【0023】
記憶部32は、例えば、半導体メモリ、磁気記録装置または光記録装置の少なくとも一つを有する。そして記憶部32は、制御部33がサーバ3を制御するための各種プログラム、サーバ3上で動作するアプリケーションプログラム及びそれらプログラムの実行に必要な各種のデータを記憶する。例えば、記憶部32は、音声認識または音声合成に利用される各種の情報、ユーザが求める各種のコンテンツまたは外部情報源のアドレスを記憶する。さらに記憶部32は、応答時間中に再生されるメッセージ音声の長さ及びメッセージ音声の内容を決定するために利用される各種の情報を記憶する。
【0024】
制御部33は、一つまたは複数のプロセッサと、読み書き可能な半導体メモリと、周辺回路とを有する。そして制御部33は、入力音声信号からキーワードを抽出し、そのキーワードに基づいて、ユーザが所望するコンテンツを検索する。さらに制御部33は、キーワードに基づいて応答時間を推定し、推定した応答時間に応じて、その応答時間内に再生されるメッセージ音声の時間長を設定し、その時間長に応じたメッセージ音声を作成する。そして制御部33は、検索したコンテンツ及びメッセージ音声を端末2へ返信する。
【0025】
図2は、音声対話システムが有するサーバ3の制御部33の機能ブロック図である。制御部33は、音声認識部34と、検索部35と、遅延推定部36と、メッセージ生成部37と、音声合成部38とを有する。
制御部33が有するこれらの各部は、例えば、制御部33が有するプロセッサ上で動作するコンピュータプログラムにより実現される機能モジュールである。なお、制御部33が有するこれらの各部は、その各部の機能を実現する一つの集積回路としてサーバ3に実装されてもよい。
【0026】
音声認識部34は、入力音声信号から、予め登録されている、コンテンツ検索用のキーワードを抽出する。キーワードを抽出するために、音声認識部34は、音響モデルを用いる方法または動的時間伸縮法を用いる方法など、様々な音声認識方法の何れを利用してもよい。本実施形態では、音声認識部34は、認識対象となるキーワードを格納した単語辞書と、予め作成された音響モデルを用いてキーワードを抽出する。
【0027】
音響モデルは、例えば、キーワードの発音を音素または音節といった単位音ごとに区分し、その単位音の順序に従って、その単位音に対応する単位音響モデルを連結することにより生成され、予め、記憶部32に記憶される。この単位音響モデル及び音響モデルは、例えば、それぞれ、隠れマルコフモデル(Hidden Markov Model, HMM)により表される。音声認識部34は、単位音響モデルを表すHMMを用いて、入力音声信号の所定の区間から抽出される1以上の特徴量に基づいて、特定の単位音に対するその所定の区間が推定音である確率または尤度を算出する。
【0028】
具体的に、音声認識部34は、入力音声信号から、音声認識に用いられる特徴量を抽出する。そのために、音声認識部34は、例えば、入力音声信号を所定のフレーム長を持つフレームごとに高速フーリエ変換といった周波数変換を行ってフレームごとのスペクトルを求める。なお、フレーム長は、例えば、10ミリ秒〜100ミリ秒程度に設定される。そして音声認識部34は、そのスペクトルに基づいて、特徴量として、例えば、フレームごとに、メル周波数ケプストラム係数(Mel Frequency Cepstral Coefficient、MFCC)またはフレーム間のパワーの差分値を求める。音声認識部34は、特徴量としてMFCCを算出する場合、例えば、各フレームのスペクトルをメル尺度のパワー値に変換した後、そのパワー値の対数に対して再度離散コサイン変換などの周波数変換を行うことによりMFCCを算出する。また音声認識部34は、特徴量としてフレーム間のパワーの差分値を求める場合、例えば、各フレームの周波数帯域ごとのスペクトルの2乗の和をパワーとして求め、連続する二つのフレーム間でパワーの差を求めることによりその差分値を求める。
【0029】
なお、音声認識部34は、特徴量として、音響モデルを用いた音声認識で用いられる他の様々な特徴量(例えば、基本周波数)の何れかを抽出してもよい。また音声認識部34は、入力音声信号から、フレームごとに複数の種類の特徴量を抽出してもよい。
【0030】
音声認識部34は、音響モデルと、1以上のフレームから得られた特徴量の組とを照合することによって、単語辞書に含まれるキーワードごとに、単位音を連結して生成したキーワードごとの尤度を求める。そして音声認識部34は、尤度が高い方から順に所定数のキーワードを抽出する。所定数は、例えば、1〜5程度に設定される。そして音声認識部34は、キーワードが検出される度に、そのキーワードを検索部35、遅延推定部36及びメッセージ生成部37へ通知する。
【0031】
検索部35は、キーワードと情報源との対応関係を表す情報源テーブルを参照することにより、検出されたキーワードに対応する情報源を特定する。そして検索部35は、その情報源からキーワードに対応するコンテンツを取得する。なお、コンテンツは、例えば、テキスト情報、画像データ及びアプリケーションプログラムのうちの少なくとも一つを含む。
【0032】
図3は、情報源テーブルの一例を示す図である。情報源テーブル300の左側の列の各欄には、少なくとも一つのキーワードが格納されている。一方、情報源テーブル300の右側の列の各欄には、同じ行に示されたキーワードに対応する情報源を示すアドレス情報が格納されている。このアドレス情報は、例えば、外部情報源5を特定するためのユニフォームリソースロケータ(Uniform Resource Locator, URL)、または記憶部32に記憶されている、特定のコンテンツを含むファイル名である。なお、一つのアドレス情報が、複数のキーワードと関連付けられていてもよく、また、一つのキーワードが、複数のアドレス情報と関連付けられていてもよい。
【0033】
検索部35は、情報源テーブルを参照して、入力されたキーワードに対応するアドレス情報を特定する。そして検索部35は、アドレス情報に示された情報源にアクセスして、キーワードに対応するコンテンツを取得する。例えば、検索部35は、アドレス情報に示されたファイル名を持つファイルを記憶部32から読み込む。あるいは、検索部35は、アドレス情報に示されたURLで特定される外部情報源5から、通信ネットワーク4を介して、そのURLで特定されるウェブページを受信する。そして検索部35は、受信したウェブページのソースを解析して、ウェブページ内で画面に表示されるテキスト情報及び画像情報をコンテンツとして抽出する。
検索部35は、コンテンツを通信部31へ出力する。また、コンテンツにテキスト情報が含まれている場合には、検索部35は、そのテキスト情報を音声合成部38へ渡す。
【0034】
遅延推定部36は、抽出されたキーワードに対応する応答時間の推定値を求める。本実施形態では、遅延推定部36は、記憶部32に記憶されている、キーワードと応答時間の推定時間の対応関係を表す応答時間テーブルを参照することにより、抽出されたキーワードに対応する応答時間を推定する。なお、キーワードごとの応答時間の推定値は、例えば、過去にそのキーワードを含む入力音声信号をサーバ3が受信した時の応答時間の統計的代表値(例えば、応答時間の平均値、中央値または最大値)に設定される。
【0035】
図4は、応答時間テーブルの一例を示す図である。応答時間テーブル400の左側の列の各欄には、少なくとも一つのキーワードが格納されている。一方、応答時間テーブル400の右側の列の各欄には、同じ行に示されたキーワードに対応する応答時間が格納されている。例えば、キーワードが「ニュース」である場合、応答時間は5秒である。
【0036】
遅延推定部36は、応答時間の推定値をメッセージ生成部37へ通知する。
【0037】
メッセージ生成部37は、応答時間中に再生されるメッセージ音声の時間長を、ユーザの体感品質が最良となるように決定し、その長さに応じたメッセージ音声の元となるメッセージのテキスト情報を生成する。
【0038】
図5は、応答時間とメッセージ音声の関係の一例を示す図である。本実施形態では、応答時間500内で、無音期間501と無音期間502の間にメッセージ音声503が再生される。また本実施形態では、無音期間501と無音期間502は、同じ時間長に設定される。これにより、一方の無音期間が長くなってユーザの体感品質が低下することが抑制されるためである。
なお、以下の説明では、無音期間の時間長は、無音期間501と無音期間502の合計の時間長である。
【0039】
図6(a)は、メッセージ音声の時間長及び無音期間とユーザの体感品質との関係を表す模式図である。
図6(a)において、縦軸は応答時間を表し、横軸はメッセージ音声の時間長を表す。なお応答時間からメッセージ音声の時間長を減じた時間は当該応答時間に含まれる無音期間である。また表記はされていないが、紙面に垂直な鉛直方向はユーザの体感品質値を表す。この体感品質値は、mean opinion score(MOS)値で表される。MOS値は、1〜5の値をとり、MOS値が大きいほど、ユーザの体感品質が高いことを表す。線601は、応答時間がメッセージ音声の時間長に等しく無音期間が0の場合を表す。さらに線602及び線603は、応答時間がメッセージ音声の時間長に加えて2秒の無音期間及び4秒の無音期間を含む場合を表す。そして線602上の数値は、メッセージ音声の時間長のそれぞれにおける、無音期間の長さが2秒のときのMOS値であり、線603上の数値は、メッセージ音声の時間長のそれぞれにおける、無音期間の長さが4秒のときのMOS値である。ただしMOS値は応答時間に対し体感品質が最大となるメッセージ音声の再生開始位置、すなわち前後の無音時間が均等となる再生開始位置での体感品質である(線602はメッセージ音声の前後の無音時間が1秒、線603は2秒のときの体感品質)。さらに、
図6(b)においてグラフ610は、メッセージ音声の時間長がLの場合の、応答時間とユーザの体感品質との関係を表す。
図6(b)において横軸は応答時間を表し、縦軸はMOS値を表す。なお
図6(b)においてQ1は応答時間に2秒の無音期間を含む場合の体感品質を表し、またQ2は応答時間に4秒の無音時間を含む場合の体感品質を表す。すなわち
図6(a)における線602、線603上のMOS値は、各々のLにおける
図6(b)のQ1、Q2に対応する。
【0040】
図6(b)に示されるように、メッセージ音声の長さが一定であれば、無音期間の長さが2秒以下の場合、ユーザの体感品質は2秒のときの体感品質Q1でほぼ一定である。一方、無音期間の長さが2秒以上4秒以下では、2秒のときの体感品質Q1から4秒のときの体感品質Q2まで、無音期間の長さに対して線形に体感品質が低下する。なお図示されてはいないが、無音期間の長さが4秒よりも長くなると、ユーザの体感品質は急激に低下するため、応答時間に対し無音期間が4秒以下となるメッセージ音声を選択する必要がある。以上のように、メッセージ音声の長さごとに無音期間の長さが2秒のときと4秒のときのユーザの体感品質Q1とQ2とが予め測定されていれば、メッセージ生成部37は、任意の応答時間における、メッセージ音声の任意の長さについてのユーザの体感品質を推定できる。
【0041】
例えば、推定された応答時間がDである場合、メッセージ生成部37は、線604に沿って、MOS値が最大となるメッセージ音声の長さを特定すればよい。
図6(c)においてグラフ620は、線604に沿った、メッセージ音声の長さとユーザの体感品質との関係を表す。
図6(c)において、横軸はメッセージ音声の長さを表し、縦軸はMOS値を表す。なお、この例では、MOS値が最大となるのは、メッセージ音声の長さが期間621に含まれる場合、または期間622に含まれる場合であるが、このようにMOS値が最大となるメッセージ音声の長さが複数存在するときは、メッセージ生成部37は最も短いメッセージ音声を選択する。
【0042】
上記のようにメッセージ音声の長さを設定するために、メッセージ生成部37は、メッセージ音声の長さ及び無音期間とユーザの体感品質との関係を表す品質評価テーブルを使用する。
【0043】
図8は、メッセージ音声の長さ及び無音期間とユーザの体感品質との関係を表す品質評価テーブルの一例を示す図である。品質評価テーブル800において、左端の列の各欄“メッセージ長”には、メッセージ音声の長さのサンプル値が格納されている。一方、品質評価テーブル800の中央の列の各欄“Q1”には、同じ列のメッセージ音声の長さのサンプル値に、ユーザの体感品質が略一定な無音期間の最大長(第1の時間の無音期間)、すなわち2秒の無音期間が追加されたときのMOS値(第1の品質値)が格納されている。同様に、品質評価テーブル700の右端の列の各欄“Q2”には、同じ列のメッセージ音声の長さのサンプル値に、ユーザの体感品質が一定割合で低下する無音期間の最大長(第2の時間の無音期間)、すなわち4秒の無音期間が追加されたときのMOS値(第2の品質値)が格納されている。
【0044】
メッセージ音声の長さが決まると、メッセージ生成部37は、その長さに相当するメッセージのテキスト情報を作成する。本実施形態では、メッセージ生成部37は、予め登録された複数の定型メッセージと入力されたキーワードの組み合わせにより、メッセージのテキスト情報を作成する。定型メッセージは、例えば、「です」、「をお伝えいたします」といった、キーワードに後続するメッセージであり、記憶部32に予め記憶される。また記憶部32には、定型メッセージと、その定型メッセージの時間長との対応関係を表す定型メッセージテーブルが記憶される。そしてメッセージ生成部37は、メッセージ音声の長さから、入力されたキーワードの長さを減じた残りを定型メッセージの時間長に設定する。そして生成部37は、定型メッセージテーブルを参照することにより、設定された時間長に最も近い時間長を持つ定型メッセージを選択する。メッセージ生成部37は、入力されたキーワードと定型メッセージを組み合わせること、例えば、定型メッセージ中の指定された位置にキーワードを挿入することで、メッセージのテキスト情報を作成する。例えば、入力されたキーワードが「ニュース」であり、選択された定型メッセージが「をお伝えいたします」であれば、メッセージ生成部37は、「ニュースをお伝えいたします」をメッセージのテキスト情報とする。
メッセージ生成部37は、メッセージのテキスト情報を音声合成部38へ通知する。
【0045】
図9は、メッセージ生成部37により実行される、メッセージ生成処理の動作フローチャートである。
メッセージ生成部37は、応答時間の推定値Dから無音期間の最大許容時間である4秒を減じた時間長である、メッセージ音声の最短候補長Lmin(=D-4)を算出する。またメッセージ生成部37は、応答時間の推定値Dから体感品質が略一定となる無音期間の最大値2秒を減じた時間長である、メッセージ音声の基準長Lref(=D-2)を算出する(ステップS101)。
【0046】
次に、メッセージ生成部37は、品質評価テーブル(例えば、
図8)に格納されたメッセージ音声の長さのうち、最短候補長L
minから基準長L
refの間に含まれる、メッセージ音声の長さそれぞれについてのMOS値のうちの最大値Qaを算出する(ステップS102)。例えば品質評価テーブルで、最短候補長L
minから基準長L
refの間に、L
2、L
3、L
4が含まれていれば、メッセージ生成部37は、L
min、L
2、L
3、L
4、L
refのそれぞれについてMOS値を算出する。その際、メッセージ生成部37は、メッセージの長さLmについて、無音期間が2秒のときのMOS値Q
1と、無音期間が4秒のときのMOS値Q
2とに基づいて、次式に従って線形補間することにより、メッセージの長さLmに対応するMOS値Q
mを算出する。
【数1】
また、最短候補長L
minが品質評価テーブルに格納されたメッセージ音声の長さL
iとL
i+1の間に含まれる場合、メッセージ生成部37は、(1)式に従ってL
iに対するMOS値Q
iとL
i+1に対するMOS値Q
i+1を算出する。そしてメッセージ生成部37は、(1)式と同様に、L
i+1とL
iとの差に対する、L
minとL
iの距離の比に応じて、MOS値Q
iとMOS値Q
i+1とを線形補間することにより、最短候補長L
minに対するMOS値Q
minを算出する(
図7(a))。同様に、メッセージ生成部37は、基準長L
refについてのMOS値Q
refを算出すればよい。
【0047】
次に、メッセージ生成部37は、品質評価テーブルに格納されたメッセージ音声の長さのうち、基準長L
refから、応答時間の推定値Dに含まれる、メッセージ音声の長さL
n、…、L
n+kついてのMOS値のうちの最大値Q
bを算出する(ステップS103)。この場合、無音期間は2秒未満のため、メッセージ生成部37は、長さL
jに(n≦j≦n+k)ついての無音期間2秒のMOS値Q
j1を、長さL
jについてのMOS値とすればよい。またメッセージ音声が短いほど体感品質は高いため、メッセージ音声の長さL
n、…、L
n+kのうち最も短いL
nのMOS値Q
nが求める最大値Qbとなる(
図7(b))。
【0048】
メッセージ生成部37は、MOS値QaとQbのうち、大きい方のMOS値に相当するメッセージ音声の長さを、作成するメッセージ音声の長さLとし、かつ、応答時間の推定値Dからその長さLを減じた時間長を無音期間とする(ステップS104)。さらに、メッセージ生成部37は、無音期間の1/2を、端末2へのユーザの音声入力が終了してからメッセージ音声が再生されるまでの再生遅延期間とする。
なお、MOS値が最大となるメッセージ音声の長さが複数ある場合には、メッセージ生成部37は、最も短いものを選択することが好ましい。あるいは、メッセージ生成部37は、それら複数のメッセージ音声の長さのうちで、定型メッセージとキーワードの組み合わせの長さが一致するように、メッセージ音声の長さを設定してもよい。
【0049】
メッセージ生成部37は、メッセージ音声の長さLから、キーワードの時間長Wを減じることにより、定型メッセージの時間長を算出する(ステップS105)。なお、メッセージ生成部37は、例えば、キーワードとその時間長との対応関係を表すキーワードテーブルを参照することにより、キーワードの時間長Wを決定する。あるいは、メッセージ生成部37は、キーワードに含まれる音節の数に一音節当たりの単位時間を乗じることによってそのキーワードの時間長Wを決定してもよい。
【0050】
メッセージ生成部37は、定型メッセージテーブルを参照することにより、設定された時間長に最も近い時間長を持つ定型メッセージを選択する(ステップS106)。そしてメッセージ生成部37は、キーワードと選択された定型メッセージを組み合わせることにより、メッセージのテキスト情報を生成する(ステップS107)。
メッセージ生成部37は、メッセージのテキスト情報を音声合成部38へ出力するとともに、再生遅延期間を通信部31へ出力して、メッセージ生成処理を終了する。
【0051】
なお、変形例によれば、メッセージ生成部37は、メッセージ音声の長さLを持つ定型メッセージそのものを、メッセージのテキスト情報としてもよい。この場合には、定型メッセージは、例えば、「少々お待ち下さい」、あるいは「ただいま検索中です」といった、定型メッセージ単独で意味を持つメッセージとなる。またこの場合、ステップS105及びS107の処理は省略される。
【0052】
また、他の変形例によれば、メッセージ生成部37は、品質評価テーブルに記録された複数のメッセージ音声長のうち、応答時間の推定値Dよりも短い全てのメッセージ音声長について、品質値を算出してもよい。この場合には、メッセージ生成部37は、最短候補長L
minを算出しなくてよい。その代わりに、メッセージ生成部37は、無音期間の長さが4秒より長くなるメッセージ音声長についての品質値を、非常に低い値、例えば、1.0に設定することが好ましい。
【0053】
音声合成部38は、コンテンツに含まれるテキストの合成音声信号を作成する。また音声合成部38は、応答時間中に再生されるメッセージのテキスト情報に基づいて、メッセージ音声を合成する。
音声合成部38は、先ず、音声の合成対象となるテキストを表音情報に変換する。表音情報は、テキストに含まれる原文の読みなどを表す情報であり、例えば、原文の読みをカタカナ文字で表し、さらにアクセントの位置及び区切りの位置を追加した情報である。
【0054】
音声合成部38は、テキストを表音情報に変換するために、記憶部32に記憶されている言語辞書を読み込む。言語辞書には、例えば、テキスト情報中に出現すると想定される様々な単語、その単語の読み、品詞及び活用形などが登録されている。そして音声合成部38は、例えば、その言語辞書を用いて、テキストに含まれる原文に対して形態素解析を行って、原文中のテキストの読み、アクセントの位置及び区切りの位置を決定する。その際、音声合成部38は、例えば、原文中で句読点が設定された位置を区切りの位置とする。
【0055】
音声合成部38は、形態素解析として、例えば、動的計画法を用いる方法を利用できる。そして音声合成部38は、各単語の読み、アクセントの位置及び区切りの位置に応じて表音情報を作成する。
【0056】
次に、音声合成部38は、表音情報に基づいて、合成音声を生成する際の目標韻律を生成する。そのために、音声合成部38は、記憶部32から複数の韻律辞書を読み込む。この韻律辞書には、時間経過に応じた声の高さと音素長の変化を表す韻律モデルが格納されている。そして音声合成部38は、韻律辞書の中から、文中の位置または表音情報に示されたアクセントの位置などに最も一致する韻律モデルを適用する。そして音声合成部38は、適用される韻律モデル及び予め設定された合成パラメータに従って、表音情報に対応した目標韻律を作成する。なお、合成パラメータは、例えば、話速を表すパラメータと声の高さを表すパラメータとを含む。さらに、合成パラメータは、抑揚、音量などを表すパラメータを含んでいてもよい。また目標韻律は、音声波形を決定する単位となる音素ごとに、音素の長さ及びピッチ周波数を含む。さらに、目標韻律は個々の音素の波形の振幅情報を含んでいてもよい。なお、音素は、例えば、一つの母音あるいは一つの子音とすることができる。
【0057】
目標韻律が決定されると、音声合成部38は、例えば、vocoder方式または波形編集方式によって合成音声信号を作成する。
音声合成部38は、音素ごとに、目標韻律の音素長及びピッチ周波数に最も近い音声波形を、例えばパターンマッチングにより音声波形辞書に登録されている複数の音声波形の中から選択する。そのために、音声合成部38は、記憶部32から音声波形辞書を読み込む。音声波形辞書は、複数の音声波形及び各音声波形の識別番号を記録する。また音声波形は、例えば、一人以上のナレータが様々なテキストを読み上げた様々な音声を録音した音声信号から、音素単位で取り出された波形信号である。
さらに、音声合成部38は、音素ごとに選択された音声波形を目標韻律に沿って接続できるようにするため、それら選択された音声波形と目標韻律に示された対応する音素の波形パターンとのずれ量を、波形変換情報として算出してもよい。
音声合成部38は、音素ごとに選択された音声波形の識別番号を含む波形生成情報を作成する。波形生成情報は、波形変換情報をさらに含んでもよい。
【0058】
音声合成部38は、波形生成情報に基づいて合成音声信号を作成する。そのために、音声合成部38は、波形生成情報に含まれる各音素の音声波形の識別番号に対応する音声波形信号を記憶部32に保存されている音声波形辞書から読み込む。そして音声合成部38は、各音声波形信号を連続的に接続することにより、合成音声信号を作成する。なお、波形生成情報に波形変換情報が含まれている場合、音声合成部38は、各音声波形信号を、対応する音素について求められた波形変換情報に従って補正して音声波形信号を連続的に接続することにより、合成音声信号を作成する。
音声合成部38は、コンテンツに含まれるテキストの合成音声信号及びメッセージ音声を通信部31へ出力する。そして通信部31は、それらの合成音声信号とともに、再生遅延期間を、通信ネットワーク4を介して端末2へ送信する。
【0059】
図10は、音声対話システム1における対話制御処理の動作シーケンス図である。
先ず、端末2の処理部25は、音声入力部21を介してユーザが発した音声に対応する入力音声信号を取得する(ステップS201)。そして処理部25は、入力音声信号を、通信部23及び通信ネットワーク4を介してサーバ3へ送信する。また処理部25は、入力音声信号が終了した時点からの経過時間の計時を開始する。
【0060】
サーバ3は、入力音声信号を受信すると、制御部33の音声認識部34により、入力音声信号に含まれるキーワードを抽出する(ステップS202)。
【0061】
そして制御部33の遅延推定部36は、キーワードに応じた応答時間の推定値Dを求める(ステップS203)。そして制御部33のメッセージ生成部37は、メッセージ生成処理を実行して、応答時間中に再生されるメッセージ及び再生遅延期間を求める(ステップS204)。
【0062】
制御部33の音声合成部38は、メッセージの音声を合成する(ステップS205)。そしてサーバ3は、合成されたメッセージ音声及び再生遅延期間を端末2へ通知する。
【0063】
端末2の処理部25は、ユーザによる音声入力が終了してから再生遅延期間が経過すると、音声出力部22にメッセージ音声を再生させる(ステップS206)。
【0064】
一方、制御部33の検索部35は、キーワードに対応する情報源のアドレス情報を特定する(ステップS207)。そして検索部35は、そのアドレス情報で示された情報源からコンテンツを取得する(ステップS208)。
【0065】
制御部33の音声合成部38は、コンテンツに含まれるテキストに対応する音声信号を合成する(ステップS209)。そしてサーバ3は、コンテンツ及びそのコンテンツに含まれるテキストの合成音声信号を端末2へ通知する。
端末2の処理部25は、コンテンツ及びそのコンテンツに含まれるテキストの合成音声信号を受信すると、その合成音声信号を音声出力部22に再生させる(ステップS210)。
そして音声対話システム1は、対話制御処理を終了する。
【0066】
以上に説明してきたように、この音声対話システム及び音声対話システムにおける対話制御方法は、応答時間中に再生されるメッセージ音声の長さを、その長さ及び無音期間とユーザの体感品質との関係を表す品質評価テーブルを参照して決定する。そのため、この音声対話システム及び対話制御方法は、メッセージ音声の長さを、ユーザの体感品質が最良となるように設定できる。さらに、この音声対話システム及び対話制御方法は、無音期間が2秒未満ではユーザの体感品質が略一定となり、一方、無音期間が2秒以上4秒以下では無音期間の長さに応じて線形にユーザの体感品質が低下するという知見に基づいてユーザの体感品質を決定する。そのため、この音声対話システム及び対話制御方法は、比較的少ないサンプル数で、任意の応答時間に対して適切なメッセージ音声の長さを決定できる。
【0067】
次に、第2の実施形態による音声対話システム及びその音声対話システムにおける対話制御方法について説明する。第2の実施形態による音声対話システム及び対話制御方法は、利用者の嗜好に応じて、メッセージ音声の長さを調節する。
【0068】
なお、第2の実施形態による音声対話システムは、第1の実施形態による音声対話システムと比較して、サーバの制御部により実現される機能の一部が異なる。そこで以下では、サーバの制御部により実現される機能のうち、第1の実施形態と異なる点について説明する。音声対話システムの他の構成要素については、第1の実施形態についての対応する構成要素の説明及び図を参照されたい。
【0069】
図11は、第2の実施形態によるサーバ3の制御部40の機能ブロック図である。制御部40は、音声認識部34と、検索部35と、遅延推定部36と、メッセージ生成部37と、音声合成部38と、嗜好判定部39とを有する。
制御部40が有するこれらの各部は、例えば、制御部40が有するプロセッサ上で動作するコンピュータプログラムにより実現される機能モジュールである。なお、制御部40が有するこれらの各部は、その各部の機能を実現する一つの集積回路としてサーバ3に実装されてもよい。
【0070】
第2の実施形態による制御部40は、第1の実施形態による制御部33と比較して、嗜好判定部39を有する点で異なる。そこで以下では、嗜好判定部39及びその関連部分について説明する。
【0071】
第2の実施形態では、音声入力に先立ち、端末2からユーザの識別番号がサーバ3へ送信される。ユーザの識別番号は、例えば、通信ネットワーク4が電話回線である場合、端末2の電話番号とすることができる。そしてこの場合には、端末2とサーバ3間の呼接続時に端末2からサーバ3へ電話番号が送信されることによって、サーバ3はユーザ識別番号を取得できる。また、ユーザの識別番号は、端末2とは別個に割り当てられる番号であってもよい。この場合には、端末2とサーバ3間の接続が確立された後に、端末2は、例えば、端末2が有する操作部(図示せず)を介して入力されたユーザの識別番号をサーバ3へ送信してもよい。
【0072】
嗜好判定部39は、ユーザの識別番号とメッセージの長さの嗜好との対応関係を表す嗜好情報テーブルを参照することにより、端末2から受信したユーザの識別番号に対応するユーザの嗜好を特定する。
【0073】
図12は、嗜好情報テーブルの一例である。嗜好情報テーブル1200の左側の列の各欄には、ユーザの識別番号が格納されている。一方、嗜好情報テーブル1200の右側の列の各欄には、その欄の左側に隣接する欄に格納されたユーザの識別番号に対応する嗜好のタイプが格納されている。本実施形態では、嗜好のタイプとして、「簡潔型」、「均等型」、「冗長型」の3タイプが設定されている。なお、各ユーザは、例えば、音声対話システム1への登録時に、「簡潔型」、「均等型」、「冗長型」の何れに該当するかを選択する。そして、その選択結果に基づいて、嗜好情報テーブルが作成または更新される。
【0074】
「簡潔型」は、例えば、「ニュースです」といった、応答期間に占めるメッセージ音声の長さが相対的に短く、その分だけ無音期間が長くてもよいタイプである。また、「冗長型」は、例えば、「ただいま、ニュースを検索中です。少々お待ち下さい」といった、応答期間に占めるメッセージ音声の長さが相対的に長く、無音期間が短いことを好むタイプである。そして「均等型」は、例えば、「ニュースをお伝えします」といった、応答期間に占めるメッセージ音声の長さが、「簡潔型」より長く、「冗長型」よりも短いことを好むタイプである。
【0075】
第2の実施形態では、複数のユーザを上記の3タイプの何れかに分類し、各タイプごとに、複数のメッセージ音声長のそれぞれについて無音期間2秒に設定したときと4秒に設定したときのMOS値を求めることで、品質評価テーブルを予め作成する。そしてそれぞれの品質評価テーブルが、嗜好のタイプと関連付けて記憶部32に記憶される。
一般的に、メッセージ音声の時間長が同一であれば、「冗長型」タイプでは、他のタイプと比較して、無音期間が短いほどMOS値が高くなり、逆に、無音期間が長いほどMOS値が低くなる。また、「簡潔型」タイプでは、他のタイプと比較して、無音期間が短いほどMOS値が低くなり、逆に、無音期間が長いほどMOS値が高くなる。
【0076】
図13は、第2の実施形態による対話制御処理の動作シーケンス図である。なお、
図13に示した動作シーケンスは、
図10に示された第1の実施形態による対話制御処理の動作シーケンスと比較して、ステップS301の処理が異なるので、以下では、ステップS301について説明する。
【0077】
ステップS203の後、制御部40の嗜好判定部39は、嗜好情報テーブルを参照してユーザの識別番号に対応する嗜好のタイプを特定し、その特定したタイプに対応する品質評価テーブルを記憶部32から読み込む(ステップS301)。そして嗜好判定部39は、読み込んだ品質評価テーブルをメッセージ生成部37へ渡す。
ステップS204にて、メッセージ生成部37は、嗜好判定部39から受け取った品質評価テーブルを利用して、メッセージ音声の長さ及び再生遅延期間を決定する。そしてメッセージ生成部37は、その長さに応じたメッセージのテキストを作成する。なお、この実施形態でも、再生遅延期間は、応答時間に含まれる無音期間の1/2に設定されることが好ましい。
【0078】
この第2の実施形態によれば、音声対話システム及び対話制御方法は、ユーザの嗜好に応じて応答時間中に挿入されるメッセージ音声の長さを調節できるので、音声対話システムについてのユーザの体感品質をより向上できる。
【0079】
上記の各実施形態に対する変形例によれば、遅延推定部36は、キーワード以外の情報に基づいて遅延時間を推定してもよい。例えば、遅延推定部36は、通信ネットワーク4を管理する管理装置(図示せず)から、通信部31を介して、入力音声を受け取った時点の通信ネットワーク4のトラフィック状況を表す情報を取得してもよい。そして遅延推定部36は、トラフィック状況と遅延時間の推定値との対応関係を表すテーブルを参照することで、遅延時間を推定してもよい。あるいは、遅延推定部36は、サーバ3との接続が確立されている端末2の数に応じて、遅延時間を推定してもよい。
【0080】
また他の変形例によれば、サーバ3の制御部は、応答時間テーブルを更新してもよい。この場合、例えば、端末2は、ユーザの音声入力が行われる度に、その音声入力からコンテンツ再生までの応答時間を測定し、その測定値を通信部23を介してサーバ3へ送信する。サーバ3の制御部は、キーワードごとに、応答時間の測定値を受け取る度に、そのキーワードに関する過去の応答時間の測定値と最新の応答時間の測定値との平均値を求め、その平均値で応答時間テーブルのそのキーワードの応答時間の値を更新する。
【0081】
さらに他の変形例によれば、端末2の処理部25が、音声認識部及び音声合成部の機能を有していてもよい。これにより、サーバ3の処理負荷が軽減される。
【0082】
さらに他の変形例によれば、上記の実施形態またはその変形例における、端末が有する各部と、サーバが有する各部は、一つの装置に搭載されていてもよい。そしてその装置が有する一つまたは複数のプロセッサが、端末の処理部の各機能と、サーバの制御部の各機能を実行してもよい。
【0083】
さらに、上記の各実施形態またはその変形例によるサーバの制御部が有する各機能をコンピュータに実現させるコンピュータプログラムは、コンピュータによって読み取り可能な記録媒体に記録された形で提供されてもよい。そのコンピュータ読取可能な記録媒体は、例えば、磁気記録媒体、光記録媒体または半導体メモリとすることができる。ただし、その記録媒体には、搬送波は含まれない。
【0084】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【0085】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
(付記1)
音声入力部により集音されたユーザの音声を表す音声信号から所定のキーワードを抽出し、
前記キーワードに応じたコンテンツを検索し、
前記ユーザの音声の入力が終了してからユーザに前記コンテンツを提示するまでの応答時間を推定し、
前記応答時間に占める、音声出力されない無音期間の長さのサンプル値とメッセージ音声の長さのサンプル値との複数の組み合わせとユーザの体感品質との対応関係を表すテーブルを参照することにより、前記メッセージ音声の長さを設定し、
前記長さを持つ前記メッセージ音声を生成し、
前記応答時間中に前記メッセージ音声を再生する、
ことを含む対話制御方法。
(付記2)
前記テーブルは、前記メッセージ音声の長さのサンプル値のそれぞれについて、前記体感品質が一定となる前記無音期間の最大長である第1の時間の無音期間を追加したときの前記ユーザの体感品質を表す第1の品質値と、前記第1の時間よりも長く、一定割合で前記体感品質が低下する前記無音期間の最大長である第2の時間の無音期間を追加したときの前記ユーザの体感品質を表す第2の品質値とを格納し、
前記メッセージ音声の長さを設定することは、前記応答時間以下の前記メッセージ音声の長さのサンプル値のそれぞれについて、前記第1の品質値と前記第2の品質値から当該長さに対応するユーザの体感品質を表す品質値を算出し、当該品質値が最大となる長さを前記メッセージ音声の長さとする、付記1に記載の対話制御方法。
(付記3)
前記メッセージ音声の長さを設定することは、前記応答時間から前記メッセージ音声の長さのサンプル値を減じた差が前記第1の時間よりも短い場合には、当該長さのサンプル値についての前記第1の品質値を当該長さのサンプル値についての前記品質値とし、一方、前記差が前記第1の時間以上、かつ、前記第2の時間以下である場合には、前記第1の品質値と前記第2の品質値とを線形補間することで前記品質値を算出する、付記2に記載の対話制御方法。
(付記4)
前記メッセージ音声の長さについての嗜好に応じた複数の前記テーブルのなかから、前記ユーザの嗜好に対応するテーブルを選択することをさらに含み、
前記メッセージ音声の長さを設定することは、前記選択されたテーブルを参照して前記メッセージ音声の長さを設定する、付記1〜3の何れか一項に記載の対話制御方法。
(付記5)
前記メッセージ音声の長さを設定することは、前記メッセージ音声を再生するタイミングを、前記応答時間と前記メッセージ音声の長さの差の半分だけ前記ユーザの音声が終了してから経過した時点に設定する、付記1〜4の何れか一項に記載の対話制御方法。
(付記6)
前記メッセージ音声を生成することは、予め記憶部に記憶された複数の定型メッセージのなかから、前記メッセージ音声の長さから前記キーワードの長さを減じた時間長を持つ定型メッセージを選択し、該選択された定型メッセージと前記キーワードとを組み合わせることで前記メッセージ音声を生成する、付記1〜4の何れか一つに記載の対話制御方法。
(付記7)
音声入力部により集音されたユーザの音声を表す音声信号から所定のキーワードを抽出し、
前記キーワードに応じたコンテンツを検索し、
前記ユーザの音声の入力が終了してからユーザに前記コンテンツを提示するまでの応答時間を推定し、
前記応答時間に占める、音声出力されない無音期間の長さのサンプル値とメッセージ音声の長さのサンプル値との複数の組み合わせとユーザの体感品質との対応関係を表すテーブルを参照することにより、前記メッセージ音声の長さを設定し、
前記長さを持つ前記メッセージ音声を生成し、
前記応答時間中に前記メッセージ音声を再生する、
ことをコンピュータに実行させるための対話制御用コンピュータプログラム。
(付記8)
音声入力部により集音されたユーザの音声を表す音声信号から所定のキーワードを抽出する音声認識部と、
前記キーワードに応じたコンテンツを検索する検索部と、
前記ユーザの音声の入力が終了してからユーザに前記コンテンツを提示するまでの応答時間を推定する遅延推定部と、
前記応答時間に占める、音声出力されない無音期間の長さのサンプル値とメッセージ音声の長さのサンプル値との複数の組み合わせとユーザの体感品質との対応関係を表すテーブルを参照することにより、前記メッセージ音声の長さを設定し、当該長さを持つ前記メッセージ音声を生成するメッセージ生成部と、
前記応答時間中に音声出力部に前記メッセージ音声を再生させる再生時間制御部と、
を有する音声対話装置。