説明

音声対話システム

【課題】音声対話システムが音声認識に失敗した場合にも効率的にオペレータに転送できるシステムを提供する。
【解決手段】オペレータ転送発生時に、対話履歴ログを利用して、利用者の問い合わせ内容や音声対話システムの状態を推定し、視覚的に理解が容易な形で提示することにより、オペレータが現在の状態を迅速に判断し、利用者への応答をスムーズに行うことを可能にする。すなわち、システムの仕様などからオペレータに表示するための対話状態を定義し、サービス開始から終了までの遷移図を作成する。対話履歴ログから現在の対話状態を判別するモデルを作成する。これらの手順を用いてオペレータ転送発生時に現在の対話状態を推定し、遷移図上で現在の対話状態を強調表示する。入力済の項目に対して対話履歴ログを用いて、その信頼度を計算し、信頼度に応じて色を変えて表示したり、時間的に古いものに関しては、文字サイズを変えて表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声対話システムに関する。更に詳しくは、音声対話システムにおける対話状態を直感的に判断するためのシステム、方法、およびプログラムに関する。
【背景技術】
【0002】
電話環境における音声対話システムでは、音声認識に失敗したり、利用者がシステムに対して応答不可能な質問を行った場合など、システムが自動応答を行うことが困難であると判断した場合、利用者からの呼は、オペレータに転送され、オペレータが音声対話システムに代わって、引き続き対応を行う。この場合、オペレータが利用者に対して、最初から用件を聞き直したりするのでは、利用者にとってもオペレータにとっても不便である。
【0003】
そのため、例えば、特許文献1では、音声認識に失敗した場合に、録音音声ファイルを添付したメールを選択されたSOHO作業者などに送信し、このSOHO作業者が音声ファイルを文字変換することによりサービスを継続するシステムが開示されている。しかし、これらの行為自体に時間がかかるようであれば、利用者が待たされることになるため、利用者にとって不便であるとともに、サービス提供者からの観点から見ても各問い合わせに対する処理時間が長くなるという点で非効率である。
【0004】
このように、利用者の呼が転送されたときや、利用者がオペレータとの会話を求める場合などにおいて、そのオペレータをサポートするための様々なシステムや手法が開発されている。例えば、利用者がシステムの利用方法を理解できず迷っているときなどに、オペレータを呼び出してオペレータに支援してもらうシステム(特許文献2)、音声認識精度が高く、オペレータの作業の負担を軽減するシステム(特許文献3)、利用者の知識レベルに対応して、オペレータが介在するタイミングを自動的に制御することができるシステム(特許文献4)などが開示されている。また、特許文献5では、音声認識により変換されたテキストについて、その変換がどの程度正確であるかを示すシステム信頼性レベルに従って表示するシステムが開示されている。
【特許文献1】特開2002−140243号公報
【特許文献2】特開平8−76965号公報
【特許文献3】特開平10−322450号公報
【特許文献4】特開2002−202882号公報
【特許文献5】特開平11−231891号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来、コールセンター業務などで採用されている自動音声対話システムでは、以下の対話例1に示すような、いわゆる「一問一答」形式で、システム主導により対話が進められる。
<対話例1>
システム:列車案内です。問い合わせ内容を、料金、時刻、始発、終電の4つの中よりお選びください。
利用者:時刻。
システム:出発駅をどうぞ。
利用者:東京。
システム:到着駅をどうぞ。
利用者:大阪。
システム:出発時刻、到着時刻のどちらを指定しますか?
利用者:出発時刻。
システム:出発時刻は何時ですか?
【0006】
このようなシステムでは、認識可能な語彙を処理の段階毎に制限することにより、対話の遷移が制限されている。このようなシステムでは、ある項目(例:到着駅)の入力を完了しないと、次の項目(例:出発時刻、到着時刻の指定)の入力へ進むことが出来ないため、入力済みの項目から対話状態を把握することは容易に可能である。
【0007】
しかしながら、近年研究開発が進められており、かつ普及が進みつつある自由対話を可能にするシステムにおいては、以下の対話例2に示すような対話が可能である。このようなシステムでは、従来型のシステムにあったような認識可能な語彙の制約は無く、任意の順番で項目の入力が行われたり、一度の発話で複数の項目の入力が行われたり、ある問い合わせの入力中に別の問い合わせに変更するといったことが可能である。
【0008】
また、自由対話が可能なシステムでは、応答対象となる問い合わせのパターンや入力可能な項目の数が、従来のシステムと比較して多くなる場合があるので、単に入力済みの項目を表示するだけでは、現在の対話状態を短い時間で判断することは難しい。
【0009】
<対話例2>
システム:列車案内です。ご質問をどうぞ。
利用者:東京から京都までいくらかかりますか? [料金に関する問い合わせ]
システム:東京から京都までの料金でよろしいですか?
利用者:やっぱり大阪までの時刻を調べたいのですが。 [時刻に関する問い合わせ]
システム:出発時刻、または、到着時刻は何時ですか?
利用者:21時ごろ出発で。
システム:東京から大阪まで、21時ごろ出発でよろしいですか?
利用者:新幹線の終電を教えてください。 [終電に関する問い合わせ]
システム:東京から大阪まで、新幹線の終電でよろしいですか?
利用者:はい。
【0010】
前述の特許文献1にあるように、オペレータへの転送発生時にシステムからオペレータに対して情報を提示するものに関して、既に入力済みの項目をオペレータ転送時に表示するという技術は存在する。しかしながら、音声認識を用いたシステムの場合、音声認識エンジンの精度の問題から、誤認識された結果が表示される可能性もあるので、単に表示するだけでは十分であるとは言えない。また、既に入力済みの項目を表示するだけでは、下記の理由から対話状態の把握という観点からも不十分である。以降、対話状態とは、利用者のシステムに対する問い合わせ内容、および、利用者がシステムを利用して目的を達成するために、サービス開始から終了までに必要な一連の手順において、どの段階にあるかということを指す。
【0011】
そこで、オペレータが利用者への応答を効率的に行うためには、転送発生時にシステムがオペレータに対して、既に利用者とシステムとの間で行われた対話に関する情報を理解が容易な形で提示する必要があるが、前述の特許文献1〜5には、このような課題に対しては十分な機能を備えたシステムおよび解決のための手法は開示されていない。
【0012】
本発明は、上記の課題を解決するためになされたものであり、オペレータ転送発生時に、音声対話システムの対話履歴ログを利用して、利用者の問い合わせ内容や、利用者と音声対話システムの対話状態を推定し、転送されたオペレータに視覚的に理解が容易な形で提示することにより、オペレータが現在の対話状態を迅速に判断し、利用者への応答をスムーズに行うことを可能にするものである。
【課題を解決するための手段】
【0013】
本発明の一つの形態によれば、
(1) 利用者からの音声による問い合わせに応答する音声対話システムであって、
前記利用者からの音声を認識して前記問い合わせに対する応答を行う音声対話部と、
前記音声対話部と前記利用者の対話内容を記憶する対話履歴ログと、
各対話状態をあらかじめ定義する対話状態図定義ファイルと、
前記利用者と前記音声対話部との対話状態を推定するための対話状態判別モデルと、
前記音声対話部が応答不能と判断したことに応じて、前記対話履歴ログ、前記対話状態図定義ファイル、および前記対話状態判別モデルから前記利用者と前記音声対話部との現在の対話状態を推定する対話情報解析部と、
前記推定した対話状態を視覚的にオペレータに提示する対話状態表示部と、
を備える音声対話システムを提供する。
【0014】
更に、
(2)前記対話履歴ログは、前記利用者との対話内容として、サービス開始からオペレータ転送発生までの音声認識結果、前記音声認識結果に対する信頼度、前記音声認識結果の入力済みとなった項目、応答文またはそのID、サービスの開始、およびサービス終了のうち少なくともいずれか一つを含む、(1)に記載の音声対話システムを提供する。
【0015】
(3)前記対話状態図定義ファイルは、各対話状態とその表示のための配置情報、表示対象となる入力項目、および各対話状態において表示すべき入力項目を定義する、(1)に記載の音声対話システムを提供する。
【0016】
(4)前記対話状態判別モデルは、前記対話履歴ログから現在の対話状態を推定するための経験的なデータの集合またはアルゴリズムの集合を含む、(1)に記載の音声対話システムを提供する。
【0017】
(5)前記対話情報解析部は、前記利用者の入力済みの項目の信頼度の計算、および、入力履歴の推定を行う、(1)に記載の音声対話システムを提供する。
【0018】
(6)前記対話状態表示部は、前記対話状態の遷移図の上で前記現在の対話状態を強調表示する、(1)に記載の音声対話システムを提供する。
【0019】
(7)前記対話状態表示部は、前記利用者の入力済みの項目に対して、前記対話履歴ログを用いて前記音声対話部の音声認識結果の信頼度を取得し、前記信頼度に応じて色を変えて表示する、(1)に記載の音声対話システムを提供する。
【0020】
(8)前記対話状態表示部は、前記利用者の入力済みの項目に対して、前記対話履歴ログを用いて前記利用者の入力履歴を取得し、前記入力履歴の順に応じて文字サイズを変えて表示する、(1)に記載の音声対話システムを提供する。
【0021】
本発明の別の形態によれば、
利用者からの音声による問い合わせに応答する音声対話のための方法であって、
前記利用者からの音声を認識して前記問い合わせに対する応答を行う音声対話ステップと、
前記音声対話ステップにおける前記利用者との対話履歴を対話履歴ログに記憶する対話履歴ログ記憶ステップと、
前記音声対話ステップにおいて応答不能と判断したことに応じて、前記対話履歴ログと、各対話状態をあらかじめ定義する対話状態図定義ファイルと、前記利用者と前記音声対話ステップにおける対話状態を推定するための対話状態判別モデルと、から前記利用者の前記音声対話ステップにおける現在の対話状態を推定する対話情報解析ステップと、
前記推定した対話状態を視覚的にオペレータに提示する対話状態表示ステップと、
を含む方法を提供する。
【0022】
本発明の更に別の形態によれば、
利用者からの音声による問い合わせに応答する音声対話のためのコンピュータ・プログラムであって、
前記利用者からの音声を認識して前記問い合わせに対する応答を行う音声対話ステップと、
前記音声対話ステップにおける前記利用者との対話履歴を対話履歴ログに記憶する対話履歴ログ記憶ステップと、
前記音声対話ステップにおいて応答不能と判断したことに応じて、前記対話履歴ログと、前記利用者と前記音声対話ステップにおける対話状態を推定するための対話状態判別モデルと、各対話状態をあらかじめ定義する対話状態図定義ファイルとから、前記利用者の前記音声対話ステップにおける現在の対話状態を推定する対話情報解析ステップと、
前記推定した対話状態を視覚的にオペレータに提示する対話状態表示ステップと、
をコンピュータに実行させる、コンピュータ・プログラムを提供する。
また、本発明は、このようなコンピュータ・プログラムを記録したコンピュータ可読媒体を含むプログラム製品も提供する。
【0023】
以上の解決手段をまとめると、本発明は、オペレータ転送発生時に、音声対話システムの対話履歴ログを利用して、利用者と対話内容(問い合わせ内容)や音声対話システムの状態を推定し、視覚的に理解が容易な形で提示することにより、オペレータが現在の状態を迅速に判断し、利用者への応答をスムーズに行うことを可能にするものである。具体的には、以下の手順により現在の対話状態を視覚的に表示する。
(1)システムの仕様などからオペレータに表示するための対話状態を定義し、サービス開始から終了までの遷移図を作成する。
(2)システムの対話履歴ログから現在の対話状態を判別するモデルを作成する。
(3) (1)、(2)の手順を用いてオペレータ転送発生時に現在の対話状態を推定し、遷移図上で現在の対話状態を強調表示する。
(4)オペレータ転送発生時に、入力済みの項目に対して、対話履歴ログを用いて、その信頼度を計算し、信頼度に応じて色を変えて表示する。
(5)オペレータ転送発生時に、入力済みの項目に対して、対話履歴ログを用いて、入力履歴を取得し、過去N回(N>1)の履歴に対して、時間的に古いものに関しては、文字サイズを例えば小さく変えて表示する。
【発明の効果】
【0024】
本発明によれば、オペレータは転送時の対話状態が、サービスの開始から終了までのどの段階にあるかを、短い時間で知ることができる。また、オペレータは転送時に入力済みの項目について、その信頼度を短い時間で知ることができる。これにより、オペレータは、例えば、信頼度の高いものに対しては確認を省略したり、信頼度の低いものに関しては再度問い合わせて確認するといったことが可能になる。更に、オペレータは転送時に入力済みの項目について、過去N回の入力履歴を短い時間で知ることができる。
【発明を実施するための最良の形態】
【0025】
以下、本発明の実施形態について図面を参照しながら説明する。
【0026】
図1は、本発明の好適な実施形態に係る、音声対話システム1の機能ブロック図を示している。
【0027】
音声対話システム1は、図示するように、音声対話部11、対話履歴ログ12、対話状態判別モデル13、対話状態図定義ファイル14、対話情報解析部15、対話情報表示部16で主に構成される。各構成要素は、通常はネットワークに接続された、一つまたは複数のコンピュータ内に実現される。このような構成は一例であり、同等な機能を有するものであれば、他の構成であってもよい。
【0028】
音声対話部11は、利用者10からの電話を受信し、利用者の発話による音声を認識して、利用者の問い合わせに対する応答を行う音声対話サービスを提供する。利用者への応答は、音声合成によって行うこともできる。音声認識・合成については、公知の技術を用いてよい。音声対話部11は、なんらかの理由により利用者への自動応答が不可能な場合は、利用者からの呼をオペレータ17へ転送する。
【0029】
対話履歴ログ12は、サービス開始からオペレータへの転送時までの利用者の音声に対する音声認識の結果やシステム側からの応答文などの情報が記録されたデータの集合である。例えば、対話履歴ログ12には、以下の項目が記録されている。
・音声認識結果
・音声認識結果に対するスコア(音声認識スコア)
・音声認識の結果入力済みとなっている項目(正しく認識されたどうかにはよらない)
・応答文、または応答文を表すID(応答文ID)
・システムのサービス開始、終了を示す情報
【0030】
以下に対話履歴ログ12の例を示す。
<対話履歴ログ12の例>
20050717 14:30:21 サービス開始
20050717 14:30:22 システム応答文ID:1
20050717 14:30:22 システム応答:列車案内システムにようこそ。質問をどうぞ。
20050717 14:30:29 音声認識結果:料金を教えてください。
20050717 14:30:29 音声認識スコア:料金=0、を=50、教えて=50、ください=70、全体=73
20050717 14:30:29 入力済項目:検索内容=料金、出発駅=指定なし、到着駅=指定なし、時刻=指定なし
20050717 14:30:33 システム応答文ID:2
20050717 14:30:33 システム応答:料金案内ですね。出発駅をどうぞ。
20050717 14:30:40 音声認識結果:出発は東京です。
20050717 14:30:40 音声認識スコア:出発=80、は=50、東京=90、全体=78
20050717 14:30:40 入力済項目:検索内容=料金、出発駅=東京、到着駅=指定なし
20050717 14:31:35 システム応答文ID:99
20050717 14:31:35 システム応答:ご利用ありがとうございました。
20050717 14:31:40 サービス終了
【0031】
対話状態判別モデル13は、対話履歴ログ12から現在の対話状態を推定するためのモデルである。つまり、対話状態判別モデルとは、現在の対話状態を推定するための経験的なデータの集合、またはアルゴリズムの集合である。ここで、アルゴリズムには規則(ルール)が含まれる。
【0032】
対話状態図定義ファイル14は、各対話状態とその表示に関する情報(配置情報など)、表示対象となる入力項目の定義、および、各対話状態において表示すべき入力項目が定義されている。詳しくは後述の例で説明する。
【0033】
対話情報解析部15は、対話履歴ログ12と対話状態判別モデル13を用いて、オペレータへの転送発生時の対話状態の推定を行う。また、対話履歴ログ12から、入力済み項目の信頼度の計算、および、入力履歴の取得を行う。
【0034】
対話情報表示部16は、対話情報解析部15で得られた対話状態、入力項目に関する情報を、オペレータに対して視覚的に理解が容易な形式(状態図において、強調、色分け、表示する文字サイズの変換など)で表示を行う。
【0035】
図2は、本音声対話システム1の様々なサービスにおける位置づけを示したものである。音声認識を用いたサービスの例としては、後述の実施例で説明する列車料金・時刻検索システムの他、銀行預金残高照会システム、電話番号案内システム、劇場等チケット予約システム、医療機関予約システム、および、商品問い合わせに応答するヘルプデスク・システム、など広範な分野に応用が可能である。
【0036】
図2において、利用者からの電話は、公衆回線を利用した電話機2a(固定電話、携帯電話、PHS)の他、パソコン2bなどを用い、インターネット網を利用したいわゆるIP電話であってよい。これらの通話は、回線制御部3を介して、音声対話システム1に接続される。既に述べたように、音声対話システム1は、一般的には一または複数のコンピュータ・システムで構成される。音声対話システム1は、利用者からの音声の認識に失敗した場合、あるいは利用者の求めに応じて、最適なオペレータが使用するオペレータ端末5a〜5cを選択するオペレータ端末選択部4に接続される。図2は、オペレータ端末選択部4を音声対話システム1とは別構成として示したが、音声対話システム1にオペレータ端末選択部4を含む構成としてもよい。
【実施例】
【0037】
以下では、列車料金・時刻検索システムを一つの実施例として、本発明の[課題を解決する手段]で述べた手順(1)−(5)それぞれについて具体的に説明する。
【0038】
まず、「(1)システムの仕様などからオペレータに表示するための対話状態を定義し、サービス開始から終了までの遷移図を作成する手順」について説明する。
【0039】
まず、システムの仕様などから、オペレータに表示するための対話状態を定義する。例えば、列車料金・時刻検索システムの仕様は以下のとおりとする。
【0040】
列車料金・時刻検索システムは、利用者からの音声による問い合わせに対して、列車の料金案内、発着時刻案内を行う。案内の対象は、料金案内、時刻案内、始発案内、終電案内、定期料金案内の5つである。サービスが開始されるとシステムは「お調べしたい検索内容をどうぞ」などのように、検索条件の入力を促す。利用者は、「料金を調べたい」や「東京から大阪までの料金」のように発話により、検索条件を入力する。各案内において、検索に必要な条件が全て入力されると、システムは「東京から大阪までの料金でよろしいですか?」のように、入力された検索条件の確認を行う。
【0041】
ここで、利用者が「はい」などのように検索条件が正しいことを発話により入力すると、検索が実行され、「東京から大阪まで新幹線のぞみをご利用の場合、料金は13000円です」などのように結果が返される。
【0042】
一方、利用者が「いいえ」などのように、検索条件が正しくないことを発話により入力すると、「訂正したい検索条件をどうぞ」などのように、再度検索条件の入力を促す。一旦検索結果が案内されると、システムは「他にお問い合わせはありますか」のように、サービスを継続して利用するかどうかの問い合わせを行う。
【0043】
ここで、利用者が「はい」などのように利用継続することを発話により入力すると、システムは「お調べしたい検索内容をどうぞ」などのように、検索条件の入力を促す。一方、利用者が「いいえ」などのように利用継続を望まないことを発話により入力すると、システムは「ご利用ありがとうございました」などのように応答し、サービス終了となる。
【0044】
<対話状態の例>
ここでは、上記列車料金・時刻検索システムの仕様を元に以下のように対話状態を定義する。
・サービス開始
・サービス選択中
・料金検索入力中
・料金検索確認中
・時刻検索入力中
・時刻検索確認中
・始発検索入力中
・始発検索確認中
・終電検索入力中
・終電検索確認中
・定期検索入力中
・定期検索確認中
・サービス継続確認中
・サービス終了
【0045】
次に、定義した状態を元に対話情報表示部16で表示される表示レイアウトを作成する。図3の上段21に示すように、音声対話アプリケーションのサービスの開始から終了までの間の適切な箇所に対話状態を示すボックスをそれぞれ配置する(これを対話状態図、または対話状態の遷移図と呼ぶこともある)。各対話状態の配置情報は、対話状態図定義ファイル14に保存される。
【0046】
また、図3の下段22に示すように、オペレータに対して表示すべき入力項目の定義を行う。以下に表示すべき入力項目の例を示す。
<表示すべき入力項目例>
・出発駅
・到着駅
・ご利用日
・時刻
・列車名
・列車種別
・人数
・定期種別
・定期期間
【0047】
同時に、以下の例に示すように、各状態に対応する表示すべき入力項目の関連付けを行う。
<状態と表示すべき入力項目の関連付けの例>
・時刻検索入力中={出発駅、到着駅、ご利用日、時刻、列車名、列車種別}
・定期検索入力中={出発駅、到着駅、定期種別、定期期間}
【0048】
次に、「(2)システムの対話履歴ログから現在の対話状態を判別するモデルを作成する手順」について説明する。
【0049】
まず、ログから現在の対話状態を推定する対話状態判別モデル13を作成する。対話情報解析部15が、オペレータへの転送発生時にそのモデルを用いて、実行時のサービス開始から転送直前までのログより現在の対話状態を算出する。
【0050】
ここでは例として、現在の対話状態S(t)を、時刻tから遡って直近の2回分の応答文IDと現在より一つ前の対話状態S(t−1)より推定する対話状態判別モデル13を作成する。時刻tにおける応答文IDをResID(t)、現在の対話状態を推定する関数をFとすると、
S(t)=F(ResID(t),ResID(t−1),S(t−1))
と表せる。
ここで、
Pr(Si |ResID(t),ResID(t−1)): 対話ログ履歴より求められた、時刻tにおける応答文IDがResID(t),時刻t−1における応答文IDがResID(t−1)であるときの、対話状態がSiである確率。
Pr(Si | ResID(t)): 対話ログ履歴より求められた、時刻tにおける応答文IDがResID(t)であるときの、対話状態がSiである確率。
対話ログ履歴より推定する関数Fの例としては、図4のフローチャートに示すような関数を考える。
【0051】
図4では、ステップS11において、Pr(Si |ResID(t),ResID(t−1))>0となるSiが存在するかを判断し、そのようなSiが存在する場合は、ステップS12において、Pr(Si |ResID(t),ResID(t−1))が最大となるSiを出力とし、処理を終了する。
【0052】
ステップS11の判断がNoの場合は更に、
Pr(Si |ResID(t))>0となるSiが存在するかどうかを判断し(ステップS13)、そのようなSiが存在すれば、Pr(Si |ResID(t))が最大となるSiを出力とし、処理を終了する。
【0053】
ステップS13の判断がNoの場合、ステップS15において、一つ前の対話状態S(t−1)を現在の対話状態S(t)として処理を終了する。
【0054】
以上、図4で示した対話状態判別モデル13の動作例は以下のようになる。
【0055】
<動作例1>
Pr(状態1 |ResID(t),ResID(t−1))=0.5、
Pr(状態2 |ResID(t),ResID(t−1))=0.3、
Pr(状態3 |ResID(t),ResID(t−1))=0.2の場合、
max(0.5,0.3,0.2)=0.5なので、S(t)=状態1となる。
【0056】
<動作例2>
Pr(Si |ResID(t),ResID(t−1))>0となるSiが存在せず、
Pr(状態1 |ResID(t))=0.2、
Pr(状態2 |ResID(t))=0.7、
Pr(状態3 |ResID(t))=0.2の場合、
max(0.2,0.7,0.2)=0.7なので、S(t)=状態2となる。
【0057】
一般的には、作成する対話状態判別モデル13は、サービス開始時刻をt0、現在時刻をt、現在の対話状態をS(t)、現在の対話状態を推定する関数をFとすると、
S(t)=F(時刻t0から時刻tまでのログ, 時刻t0から時刻tまでの対話状態)と表すことができる。先の例では、Fの入力パラメータは、ResID(応答文ID)と過去の状態Sであったが、これに利用者の発話の認識結果などを追加することなども考えられる。また、対話状態判別モデル13は、先の例のように既存のログから学習を行う統計モデルでもよいし、後述するようなルールベースであってもよい。
【0058】
次に、「(3)前述した手順(1)、(2)を用いてオペレータ転送発生時に現在の対話状態を推定し、遷移図上で現在の対話状態を強調表示する手順」について説明する。
【0059】
対話情報表示部16はシステムの利用開始から終了までの流れを表す対話状態図を表示する。ここで、(2)で作成した対話状態判別モデル13と対話履歴ログ12から対話情報解析部15が出力した現在の対話状態を、状態図上で強調して表示する。この表示例を図5に示す。図5の例の場合、利用者は現在、「時刻検索入力中」43が強調表示(図では白抜きで表示)されているので、現時点(オペレータに転送された時点)の状態が、「時刻検索入力中」での状態であることが容易に判断できる。また、現在の状態に、「サービス開始」41と「サービス選択中」42を経由して至ったことも経由した状態が強調表示(図では太枠で表示)され、容易に判断できる。更に、画面下部の入力済み項目から、「出発駅」51、「ご利用日」53、「時刻」54が既に入力済みであることも判断できる。
【0060】
一方、対話状態判別モデル13の結果からでは、現在の対話状態があいまいである場合、すなわち図4のステップS12またはS14において、最大確率が同じまたはほぼ同じである複数のSiが見つかった場合は、候補となる状態を強調表示する。これを図6の例で示す。図6の例では、対話状態が時刻検索入力中43と始発検索入力中44のどちらであるのか、あいまいである様子を表している。
【0061】
次に、「(4)オペレータ転送発生時に、入力済みの項目に対して、対話履歴ログ12を用いて、その信頼度を計算し、信頼度に応じて色を変えて表示する手順」について説明する。
【0062】
各入力済みの項目に対して、過去の入力履歴と共に、対話履歴ログ12に含まれる音声認識エンジンのスコア、各入力済みの項目の更新回数、対話状態の履歴などから信頼度を算出し、算出された信頼度により表示する。
【0063】
入力済みの項目の信頼度の定義は、アプリケーションにより異なるが、ここでは、音声対話部11が提供する音声認識のスコア、入力済みの項目の更新履歴、対話状態の履歴より求めることとし、以下の4段階とする。
【0064】
<入力済み項目の信頼度の定義>
初期値として入力済み: 初期値としてシステムにより入力されている。
入力済み(信頼度低): 音声認識のスコアが閾値以下である。または、入力済みの項
目が直近のN発話において、一定回数以上更新されている。
入力済み(信頼度高): 音声認識のスコアが閾値以上である。
確認済み: 指定された情報が確認済みである。
【0065】
ここで「情報が確認済みである」とは、音声対話部11の実行中に、「指定された情報に対して確認を行うプロセス」が存在し、利用者により確認が行われた状態を指す。
【0066】
以下に示す対話例3および対話例4では、音声による列車案内を提供するアプリケーションにおいて、「指定された情報に対して確認を行うプロセス」として「終電検索のための発着駅を確認する」というプロセスが存在し、「出発駅」と「到着駅」は、利用者により確認が行われている。一方、別の発話により入力された「利用日:今日」、システムが初期値として入力した「列車種別:新幹線」、「列車名:のぞみ」は音声対話部11が確認済みではない。
【0067】
システムに音声入力された情報の対話履歴ログ12から、既に入力された情報の信頼度を算出し、各々の情報を信頼度に従って表示する。図7、図8では、信頼度を色により表示している(緑:初期値として入力済み、黄色:入力済み(信頼度低)、白色:入力済み(信頼度高)、水色:確認済み)としている例である(ただし、図中では、緑色、黄色、白色、水色はそれぞれ異なるハッチングで表現している)。
【0068】
<対話例3>
システム: 列車案内です。ご用件をどうぞ。
利用者: 東京から神戸までの終電を知りたいんだけど。
システム: 東京から神目までの終電でよろしいですか?
利用者: 神戸までにして。
システム: 東京から神目までの終電でよろしいですか?
利用者: 神戸まで。
システム: 東京から甲奴までの終電でよろしいですか? <対話状態1>
【0069】
図7は、対話例3で対話状態1での対話状態を表示したものである。対話状態は「終電検索確認中」46であり、入力済みの項目のうち、「出発駅」51は信頼度高、「到着駅」52は信頼度低、「ご利用日」53、「列車名」55、「列車種別」56は初期値として入力済み、であることを表している。また、現在の対話状態「終電検索確認中」46に至るまでの経路として、「サービス開始」41、「サービス選択中」42、「終電検索入力中」45の各状態を経由したことが示されている。この例では、利用者の求める「到着駅」52である「神戸」を、音声対話部11は、「神目」、「神目」、「甲奴」と三度認識している(この例では、入力に対して認識された順に、文字の大きさを変化させて表示している)が、入力回数から誤認識の可能性が高いため、信頼度低として表示されている。この例では、音声対話部11は、音声認識の信頼度が低くなったので、応答不能と判断し、利用者からの呼をオペレータに転送する。
【0070】
<対話例4>
システム: 列車案内です。ご用件をどうぞ。
利用者: 東京から大阪までの終電を知りたいんだけど。
システム: 東京から大阪までの終電でよろしいですか?
利用者: はい。
システム: ご利用日は今日でよろしいですか?
利用者: 明日でお願いします。
システム: ご利用日は明日、新幹線、のぞみのご利用でよろしいですか?
利用者: オペレータに代わってくれますか? <対話状態2>
【0071】
図8は、対話例4で対話状態2での対話状態を表示したものである。対話状態は、図7同様、「終電検索確認中」46であり、入力済みの項目のうち、「出発駅」51、「到着駅」52は確認済み、「ご利用日」53は信頼度高、「列車名」55、「列車種別」56は初期値として入力済み、であることを表している。この例では、音声対話部11は、利用者の要求で自動応答が不能になったとして、呼をオペレータに転送する。
【0072】
これ以外にも、信頼度の表示方法としては、信頼度の低い項目を太枠で強調表示するなど様々な方法が考えられる。これにより、オペレータは、音声認識で失敗した可能性の高い場所を知ることや、既に入力済みの項目に対して確認済みの項目を知ることが可能となる。
【0073】
最後に、「(5)オペレータ転送発生時に、入力済みの項目に対して、対話履歴ログを用いて、入力履歴を取得し、過去N回(N>1)の履歴に対して、時間的に古いものに関しては、文字サイズを小さく変えて表示する手順」について説明する。
【0074】
ある入力項目に対して誤認識の訂正などのために複数回入力が行われた場合は、図7の到着駅の項目で示したように、過去N回までの入力履歴を表示する。表示される入力項目は、過去のものであればあるほど小さく表示される。Nは表示領域などの制限などに応じて、適切に設定されるものとする。
【0075】
<対話状態判別モデルの別の例>
以下、ルールベースの対話状態判別モデル13の例を示す。ルールベースの対話状態判別モデル13では、関数Fは対話状態を決定するルールによりS(t)を得る。以下では単純な例として、転送発生時tの応答文ID(ResID(t))、時刻t−1の対話状態S(t−1)から、転送発生時の対話状態S(t)を得るものを紹介する。図9は、転送発生時の応答文IDと対応する応答文、およびそのときの対話状態の関係を表で表したものである。
【0076】
ルールベースの対話状態判別モデル13における関数Fの動作を図10に示す。関数Fは、転送発生時刻tにおける応答文ID(ResID(t))に対して、上記表で表される関係をルールとして用い、対話状態S(t)を決定する(ステップS61〜S65)。入力された応答文IDが上記表中に存在しない場合、ステップS65に示すように、対話状態S(t)は、S(t−1)となる(ただし、S(0)すなわち初期対話状態は事前に与えられるものとする)。また例えば、転送発生時の応答文ID(ResID(t))が“2”であった場合は(ステップS63)、図9の表により、関数Fにより出力される対話状態S(t)は“料金検索入力中”となる。
【0077】
本発明は、ハードウエア、ソフトウエア、またはハードウエアおよびソフトウエアの組み合わせとして実現可能である。ハードウエアとソフトウエアの組み合わせによる実施では、所定のプログラムを有するコンピュータ・システムでの実施が典型的な例として挙げられる。かかる場合、該所定プログラムが該コンピュータ・システムにロードされ実行されることにより、該プログラムは、コンピュータ・システムに本発明にかかる処理を実行させる。このプログラムは、任意の言語、コード、または表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接実行すること、または(1)他の言語、コード、もしくは表記への変換、(2)他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体を含むプログラム製品もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、MO、CD−ROM、DVD、ハード・ディスク装置、ROM、MRAM、RAM等の任意のコンピュータ可読媒体に格納することができる。かかるプログラムは、コンピュータ可読媒体への格納のために、通信回線で接続する他のコンピュータ・システムからダウンロードしたり、他の媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。
【0078】
以上、本発明を好適な実施形態、および実施例を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲に限定されるものではない。上記実施形態に多様な変更または改良を加えることが可能である。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【0079】
【図1】本発明の好適な一つの実施形態に係る機能ブロック図を示す図である。
【図2】本発明の好適な一つの実施形態に係る音声対話システムのサービスの中の位置づけを示すブロック図である。
【図3】本発明の好適な一つの実施例における対話状態および入力項目の表示例を示す図である。
【図4】本発明の好適な一つの実施例における対話状態判別モデルの例を示すフローチャート図である。
【図5】本発明の好適な一つの実施例における現在の対話状態を強調表示している例を示す図である。
【図6】本発明の好適な一つの実施例における現在の対話状態があいまいである様子を表示している例を示す図である。
【図7】本発明の好適な一つの実施例における対話例3の対話状態1における対話状態を示す図である。
【図8】本発明の好適な一つの実施例における対話例3の対話状態2における対話状態を示す図である。
【図9】本発明の好適な一つの実施例における応答文IDから対話状態を決定するルールを示す表である。
【図10】本発明の好適な一つの実施例におけるルールによる対話状態判別モデルの例を示すフローチャート図である。
【符号の説明】
【0080】
1 音声対話システム
2a 電話機
2b パソコン
3 回線制御部
4 オペレータ端末選択部
5a、5b、5c オペレータ端末
10 利用者
11 音声対話部
12 対話履歴ログ
13 対話状態判別モデル
14 対話状態図定義ファイル
15 対話情報解析部
16 対話情報表示部
17 オペレータ
21 対話状態遷移図の例
22 入力項目

【特許請求の範囲】
【請求項1】
利用者からの音声による問い合わせに応答する音声対話システムであって、
前記利用者からの音声を認識して前記問い合わせに対する応答を行う音声対話部と、
前記音声対話部と前記利用者の対話内容を記憶する対話履歴ログと、
各対話状態をあらかじめ定義する対話状態図定義ファイルと、
前記利用者と前記音声対話部との対話状態を推定するための対話状態判別モデルと、
前記音声対話部が応答不能と判断したことに応じて、前記対話履歴ログ、前記対話状態図定義ファイル、および前記対話状態判別モデルから前記利用者と前記音声対話部との現在の対話状態を推定する対話情報解析部と、
前記推定した対話状態を視覚的にオペレータに提示する対話状態表示部と、
を備える音声対話システム。
【請求項2】
前記対話履歴ログは、前記利用者との対話内容として、サービス開始からオペレータ転送発生までの音声認識結果、前記音声認識結果に対する信頼度、前記音声認識結果の入力済みとなった項目、応答文またはそのID、サービスの開始、およびサービス終了のうち少なくともいずれか一つを含む、請求項1に記載の音声対話システム。
【請求項3】
前記対話状態図定義ファイルは、各対話状態とその表示のための配置情報、表示対象となる入力項目、および各対話状態において表示すべき入力項目を定義する、請求項1に記載の音声対話システム。
【請求項4】
前記対話状態判別モデルは、前記対話履歴ログから現在の対話状態を推定するための経験的なデータの集合またはアルゴリズムの集合を含む、請求項1に記載の音声対話システム。
【請求項5】
前記対話情報解析部は、前記利用者の入力済みの項目の信頼度の計算、および、入力履歴の推定を行う、請求項1に記載の音声対話システム。
【請求項6】
前記対話状態表示部は、前記対話状態の遷移図の上で前記現在の対話状態を強調表示する、請求項1に記載の音声対話システム。
【請求項7】
前記対話状態表示部は、前記利用者の入力済みの項目に対して、前記対話履歴ログを用いて前記音声対話部の音声認識結果の信頼度を取得し、前記信頼度に応じて色を変えて表示する、請求項1に記載の音声対話システム。
【請求項8】
前記対話状態表示部は、前記利用者の入力済みの項目に対して、前記対話履歴ログを用いて前記利用者の入力履歴を取得し、前記入力履歴の順に応じて文字サイズを変えて表示する、請求項1に記載の音声対話システム。
【請求項9】
利用者からの音声による問い合わせに応答する音声対話のための方法であって、
前記利用者からの音声を認識して前記問い合わせに対する応答を行う音声対話ステップと、
前記音声対話ステップにおける前記利用者のとの対話履歴を対話履歴ログに記憶する対話履歴ログ記憶ステップと、
前記音声対話ステップにおいて応答不能と判断したことに応じて、前記対話履歴ログと、各対話状態をあらかじめ定義する対話状態図定義ファイルと、前記利用者と前記音声対話ステップにおける対話状態を推定するための対話状態判別モデルと、から前記利用者の前記音声対話ステップにおける現在の対話状態を推定する対話情報解析ステップと、
前記推定した対話状態を視覚的にオペレータに提示する対話状態表示ステップと、
を含む方法。
【請求項10】
前記対話履歴ログは、前記利用者の問い合わせ内容として、サービス開始からオペレータ転送発生までの音声認識結果、前記音声認識結果に対する信頼度、前記音声認識結果の入力済みとなった項目、応答文またはそのID、サービスの開始、およびサービス終了のうち少なくともいずれか一つを含む、請求項9に記載の方法。
【請求項11】
前記対話状態図定義ファイルは、各対話状態とその表示のための配置情報、表示対象となる入力項目、および各対話状態において表示すべき入力項目を定義する、請求項9に記載の方法。
【請求項12】
前記対話状態判別モデルは、前記対話履歴ログから現在の対話状態を推定するための経験的なデータの集合またはアルゴリズムの集合を含む、請求項9に記載の方法。
【請求項13】
前記対話情報解析ステップは、前記利用者の入力済みの項目の信頼度の計算、および、入力履歴の推定を行う、請求項9に記載の方法。
【請求項14】
前記対話状態表示ステップは、前記対話状態の遷移図の上で前記現在の対話状態を強調表示する、請求項9に記載の方法。
【請求項15】
利用者からの音声による問い合わせに応答する音声対話のためのコンピュータ・プログラムであって、
前記利用者からの音声を認識して前記問い合わせに対する応答を行う音声対話ステップと、
前記音声対話ステップにおける前記利用者との対話履歴を対話履歴ログに記憶する対話履歴ログ記憶ステップと、
前記音声対話ステップにおいて応答不能と判断したことに応じて、前記対話履歴ログと、前記利用者と前記音声対話ステップにおける対話状態を推定するための対話状態判別モデルと、各対話状態をあらかじめ定義する対話状態図定義ファイルとから、前記利用者の前記音声対話ステップにおける現在の対話状態を推定する対話情報解析ステップと、
前記推定した対話状態を視覚的にオペレータに提示する対話状態表示ステップと、
をコンピュータに実行させる、コンピュータ・プログラム。
【請求項16】
前記対話履歴ログは、前記利用者との対話内容として、サービス開始からオペレータ転送発生までの音声認識結果、前記音声認識結果に対する信頼度、前記音声認識結果の入力済みとなった項目、応答文またはそのID、サービスの開始、およびサービス終了のうち少なくともいずれか一つを含む、請求項15に記載のコンピュータ・プログラム。
【請求項17】
前記対話状態図定義ファイルは、各対話状態とその表示のための配置情報、表示対象となる入力項目、および各対話状態において表示すべき入力項目を定義する、請求項15に記載のコンピュータ・プログラム。
【請求項18】
前記対話状態判別モデルは、前記対話履歴ログから現在の対話状態を推定するための経験的なデータの集合またはアルゴリズムの集合を含む、請求項15に記載のコンピュータ・プログラム。
【請求項19】
前記対話情報解析ステップは、前記利用者の入力済みの項目の信頼度の計算、および、入力履歴の推定を行う、請求項15に記載のコンピュータ・プログラム。
【請求項20】
前記対話状態表示ステップは、前記対話状態の遷移図の上で前記現在の対話状態を強調表示する、請求項15に記載のコンピュータ・プログラム。
【請求項21】
利用者からの音声による問い合わせに応答する音声対話のためのプログラム製品であって、
コンピュータ・プログラムを記録したコンピュータ可読媒体を含み、
前記コンピュータ・プログラムは、
前記利用者からの音声を認識して前記問い合わせに対する応答を行う音声対話コード手段と、
前記音声対話コード手段における前記利用者との対話履歴を対話履歴ログに記憶する対話履歴ログ記憶コード手段と、
前記音声対話コード手段において応答不能と判断したことに応じて、前記対話履歴ログと、前記利用者と前記音声対話コード手段における対話状態を推定するための対話状態判別モデルと、各対話状態をあらかじめ定義する対話状態図定義ファイルとから、前記利用者の前記音声対話コード手段における現在の対話状態を推定する対話情報解析コード手段と、
前記推定した対話状態を視覚的にオペレータに提示する対話状態表示コード手段と、
を含む、プログラム製品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2007−219385(P2007−219385A)
【公開日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願番号】特願2006−42422(P2006−42422)
【出願日】平成18年2月20日(2006.2.20)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
【Fターム(参考)】