説明

対話制御装置、対話制御方法及び対話制御用コンピュータプログラム

【課題】複数の情報供給源が有っても、ユーザが所望する情報を正確に提供できる対話制御装置を提供する。
【解決手段】対話制御装置1は、サービス識別子と情報識別子の複数の組と各組に関連するキーワード及び重み係数とを記憶する記憶部32と、各キーワードについて入力された音声信号から検出された認識候補単語との類似度を重み係数が大きいほど大きくなるように算出し、類似度が最大となるキーワードを検出するキーワード決定部34と、検出されたキーワードと関連するサービス識別子と情報識別子の組により特定される提示情報を取得する提示情報取得部35と、現在の提示情報の供給源を表す第1のサービス識別子が以前に取得された提示情報の供給源を表す第2のサービス識別子との差異の有無に基づいて第1のサービス識別子と関連するキーワードの重み係数及び第2のサービス識別子と関連するキーワードの重み係数を更新する重み更新部39とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、ユーザが発した音声を認識し、その認識結果に応じた処理を実行する対話制御装置、対話制御方法及び対話制御用コンピュータプログラムに関する。
【背景技術】
【0002】
近年、音声によってコマンドまたは情報を入力し、その入力結果に応じて所望の情報を音声にて表現したり、所定のタスクを実行するマンマシンインターフェースを有する音声対話システムが開発されている。従来の音声対話システムは、予め定められたシナリオに沿って音声による対話がなされるように設計されている。すなわち、従来の音声対話システムでは、シナリオの各フェーズにおいて受付可能なコマンドあるいは入力可能な情報の種類が予め規定されており、さらに受け付けたコマンドあるいは情報に応じた遷移先のフェーズも予め規定されている。したがって、シナリオの各フェーズにおいて、受付可能なコマンドあるいは情報をユーザが予め知っているか、あるいは音声対話システムが受け付け可能なコマンド等をユーザに通知する必要があり、ユーザにとって使い難いシステムとなることがあった。また、ユーザは、所望の情報を得たり、あるいは音声対話システムに所望のタスクを実行させるために、予め定められた手順に従って複数のフェーズを経ることが求められ、その結果、音声対話システムは、ユーザにとって操作が煩わしいものとなるおそれがあった。音声対話システムは、シナリオの現在のフェーズから任意のフェーズへ遷移できれば、ユーザの煩わしさを軽減できるが、それを実現するためには、任意のフェーズへ遷移するための任意のコマンドを待ち受ける必要がある。そして音声対話システムは、任意のコマンドの中からユーザが発声したコマンドを誤りなく認識する必要がある。
【0003】
そこで、音声認識の対象となる単語などを所定の条件に従って追加したり、選択したり、あるいは特定の単語を認識され易くすることによってユーザ発声コマンドの認識率を向上し、効率良く所望の情報を得られるようにする技術が提案されている(例えば、特許文献1〜7を参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−169470号公報
【特許文献2】特開2000−215023号公報
【特許文献3】特開2002−297177号公報
【特許文献4】特開2007−327913号公報
【特許文献5】特開2002−318136号公報
【特許文献6】特開平11−73419号公報
【特許文献7】特開2009−236960号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ユーザに情報を提供するサービス供給源は、複数存在することがある。このような場合に、異なるサービス供給源間では、提供するサービスに応じて音声認識の対象となる単語も異なっている可能性が高い。しかし、異なるサービス供給源間で、音声認識の対象となる複数の意味の異なる単語の発音がたまたま共通していたり、あるいは意味の異なる単語の発音が類似することがある。従来の技術によるシステムは、対話の遷移または認識対象となる単語をシナリオに応じて限定しているため、上記のような発音が共通(または類似)した複数の単語を同時に音声認識の対象とする場合は少ない。しかし、音声対話システムがユーザの利便性を考慮してシナリオの遷移に制限を設けず、認識すべきコマンドも任意のコマンドとすると、異なるサービス供給源間で発音の共通(または類似)する単語を同時に認識対象とすることがある。その結果、音声対話システムは、誤った単語を認識してしまい、ユーザの意図とは異なってサービス供給源を切り替えてしまうおそれがあった。
【0006】
そこで本明細書は、複数の情報供給源が有っても、ユーザが所望する情報を正確に提供できる対話制御装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
一つの実施形態によれば、対話制御装置が提供される。この対話制御装置は、テキスト情報を含む提示情報を識別する情報識別子と提示情報の供給源を識別するサービス識別子との複数の組と、複数の組ごとに関連する1以上のキーワード及びそのキーワードについて設定された重み係数とを記憶する記憶部と、各キーワードについて、音声入力部を介して入力された音声信号から検出された少なくとも一つの認識候補単語との類似度を、記憶部に記憶されたキーワード中で少なくとも一つの認識候補単語と一致する部分が多く、かつ、重み係数が大きいほど大きくなるように算出し、類似度が最大となるキーワードを検出するキーワード決定部と、検出されたキーワードと関連するサービス識別子及び情報識別子の組により特定される提示情報を取得し、その提示情報をユーザに通知する出力部へ出力する提示情報取得部と、複数のサービス識別子のうち、取得された現在の提示情報の供給源を表す第1のサービス識別子と、現在の提示情報よりも前に取得された提示情報の供給源を表す第2のサービス識別子との差異の有無に基づいて、第1のサービス識別子と関連付けられたキーワードについて設定された重み係数と、第2のサービス識別子と関連付けられたキーワードについて設定された重み係数を更新する重み更新部とを有する。
【0008】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【0009】
本明細書に開示された対話制御装置は、複数の情報供給源が有っても、ユーザが所望する情報を正確に提供できる。
【図面の簡単な説明】
【0010】
【図1】第1の実施形態による対話制御装置を含む対話制御システムの概略構成図である。
【図2】対話制御システムが有する端末の処理部の概略構成図である。
【図3】対話制御システムが有する第1の実施形態による対話制御装置の一例であるサーバの制御部の機能ブロック図である。
【図4】キーワードリストの一例を示す図である。
【図5】認識キーワード決定処理の動作フローチャートを示す図である。
【図6】提示情報リストの一例を示す図である。
【図7】サービス履歴リストの一例を示す図である。
【図8】(a)及び(b)は、それぞれ、サービス履歴リストの一例を示す図である。
【図9】品詞重みテーブルの一例を示す図である。
【図10】(a)及び(b)は、それぞれ、提示情報のサービス供給源が変更されていない場合における、時間重み係数変更前のキーワードリストの一例と、時間重み係数変更後のキーワードリストの一例とを示す図である。
【図11】(a)は、時間重み係数変更前のキーワードリストの一例を示す図である。(b)は、提示情報のサービス供給源が変更された場合における、時間重み係数変更後のキーワードリストの一例を示す図である。(c)は、サービス供給源の変更が不確定である場合における、時間重み係数変更後のキーワードリストの一例を示す図である。
【図12】対話制御処理の動作フローチャートを示す図である。
【図13】第2の実施形態による対話制御装置の制御部の機能ブロック図である。
【図14】類似度算出処理の動作フローチャートを示す図である。
【図15】第2の実施形態によるキーワードリストの一例を示す図である。
【図16】第2の実施形態による対話制御装置を含む対話制御システムにより実行される対話制御処理の動作フローチャートを示す図である。
【図17】第3の実施形態による対話制御装置における、類似度算出処理の動作フローチャートである。
【図18】第3の実施形態によるキーワードリストの一例を示す図である。
【図19】第4の実施形態による対話制御装置の一例であるサーバの制御部の機能ブロック図である。
【図20】サービス遷移履歴テーブルの一例を示す図である。
【発明を実施するための形態】
【0011】
以下、図を参照しつつ、様々な実施形態による対話制御装置について説明する。
この対話制御装置は、ユーザが過去に情報の提供を受けた各サービス供給源に関連するキーワードをそのサービス供給源と関連付けて記憶しておく。そしてこの対話制御装置は、現在提供されている情報のサービス供給源に関連する特定のキーワードを検出する際の重み付けを、そのサービス供給源とは異なるサービス供給源に関連するキーワードよりも大きくする。これにより、この対話制御装置は、ユーザが意図しないサービス供給源の切り替わりを生じ難くすることで、ユーザが所望する情報を正確に提供可能とする。
【0012】
図1は、第1の実施形態による対話制御装置を含む対話制御システムの概略構成図である。本実施形態では、対話制御システム1は、ユーザが音声を入力し、入力した音声に応じた情報の提供を受けるための端末2と、端末2を介して入力された音声に応じた情報を選択するための対話制御装置を含むサーバ3とを有する。
端末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は、処理部25から受け取った認識候補単語などの情報を通信ネットワーク4を介してサーバ3へ送信し、一方、通信ネットワーク4を介して提示情報等をサーバ3から受信して処理部25へ渡す。そのために、通信部23は、端末2を通信ネットワーク4に接続するためのインターフェース回路を有する。
なお、認識候補単語及び提示情報の詳細については後述する。
【0017】
記憶部24は、例えば、半導体メモリを有する。そして記憶部24は、処理部25が端末2を制御するための各種プログラム、端末2上で動作するアプリケーションプログラム及びそれらプログラムの実行に必要な各種のデータを記憶する。例えば、記憶部24は、入力された音声信号から単語を認識するために利用される音響モデルを記憶する。また記憶部24は、提示情報から合成音声信号を生成するために利用される韻律辞書、言語辞書及び音声波形辞書などを記憶してもよい。さらに記憶部24は、認識候補単語及び提示情報を一時的に記憶してもよい。
【0018】
処理部25は、一つまたは複数のプロセッサと、周辺回路とを有する。そして処理部25は、音声入力部2を介して入力された音声信号から予め登録されている複数の単語を認識し、認識された単語を認識候補単語として出力する。また処理部25は、提示情報に示されたテキストに基づいて、合成音声信号を作成する。
【0019】
図2は、処理部25の機能ブロック図である。処理部25は、音声認識部26と、音声合成部27とを有する。
処理部25が有するこれらの各部は、例えば、処理部25が有するプロセッサ上で動作するコンピュータプログラムにより実現される機能モジュールである。なお、処理部25が有するこれらの各部は、それぞれ、別個の回路として、端末2に実装されてもよい。さらに、処理部25が有するこれらの各部は、その各部の機能を実現する一つの集積回路として端末2に実装されてもよい。
【0020】
音声認識部26は、音声入力部2を介して入力された音声信号から予め登録されている複数の単語を検出し、検出された単語を認識候補単語として出力する。
本実施形態では、音声認識部26は、認識対象となる認識語彙を格納した単語辞書と、予め作成された音響モデルを用いて認識候補単語を検出する。音響モデルは、例えば、単語の発音を音素または音節といった単位音ごとに区分し、その単位音の順序に従って、その単位音に対応する単位音響モデルを連結することにより生成され、予め、記憶部24に記憶される。この単位音響モデル及び音響モデルは、例えば、それぞれ、隠れマルコフモデル(Hidden Markov Model, HMM)により表される。音声認識部26は、単位音響モデルを表すHMMを用いて、音声データの所定の区間から抽出される1以上の特徴量に基づいて、特定の単位音に対するその所定の区間が推定音である確率または尤度を算出する。そして音声認識部26は、単語辞書に含まれる単語ごとに単位音を連結して生成した音響モデルについて、得られた確率または尤度の高いものから、認識候補単語として出力する。なお、以下では、音声認識部26は尤度を算出するものとして説明する。
なお、単語辞書は、サーバ3にて検索されるサービスの種類及び提供される情報を特定するために用いられる全てのキーワードについて準備されることが好ましい。
【0021】
音声認識部26は、認識対象となる、音声入力部2を介して取得した音声信号から、音声認識に用いられる特徴量を抽出する。そのために、音声認識部26は、例えば、音声信号を所定のフレーム長を持つフレームごとに高速フーリエ変換といった周波数変換を行ってフレームごとのスペクトルを求める。なお、フレーム長は、例えば、10ミリ秒〜100ミリ秒程度に設定される。そして音声認識部26は、そのスペクトルに基づいて、特徴量として、例えば、フレームごとに、メル周波数ケプストラム係数(Mel Frequency Cepstral Coefficient、MFCC)またはフレーム間のパワーの差分値を求める。音声認識部26は、特徴量としてMFCCを算出する場合、例えば、各フレームのスペクトルをメル尺度のパワー値に変換した後、そのパワー値の対数に対して再度離散コサイン変換などの周波数変換を行うことによりMFCCを算出する。また音声認識部26は、特徴量としてフレーム間のパワーの差分値を求める場合、例えば、各フレームの周波数帯域ごとのスペクトルの2乗の和をパワーとして求め、連続する二つのフレーム間でパワーの差を求めることによりその差分値を求める。
【0022】
なお、音声認識部26は、特徴量として、音響モデルを用いた音声認識で用いられる他の様々な特徴量(例えば、基本周波数)の何れかを抽出してもよい。また音声認識部26は、音声データから、複数の種類の特徴量を抽出してもよい。
【0023】
音声認識部26は、音響モデルと、1以上のフレームから得られた特徴量の組とを照合することによって、単語辞書に含まれる単語ごとに単位音を連結して生成した単語ごとのとの尤度を求める。そして音声認識部26は、尤度が高い方から順に所定数の単語を認識候補単語のセットとして検出する。所定数は、例えば、1〜5程度に設定される。
【0024】
なお、音声認識部26は、動的時間伸縮法など、他の音声認識の手法に従って認識候補単語を検出してもよい。
【0025】
音声認識部26は、認識候補単語のセットが検出される度に、その認識候補単語のセットを表すテキスト情報を通信部23を介してサーバ3へ送信する。
【0026】
音声合成部27は、端末2がサーバ3からユーザに提示すべき提示情報を受け取ったときに、その提示情報に含まれるテキスト情報に基づいて、合成音声信号を作成する。
音声合成部27は、先ず、テキスト情報を表音情報に変換する。表音情報は、テキスト情報に含まれる原文の読みなどを表す情報であり、例えば、原文の読みをカタカナ文字で表し、さらにアクセントの位置及び区切りの位置を追加した情報である。表音情報は、例えば、電子情報技術産業協会規格TT-6004(車載用音声合成記号規格)に従って表記される。また表音情報は、テキスト情報に含まれる文中でのアクセントの位置、区切り位置と、各音素の読みが分かる他の表記形式に従って記述されてもよい。
【0027】
音声合成部27は、テキスト情報を表音情報に変換するために、記憶部24に記憶されている言語辞書を読み込む。言語辞書には、例えば、テキスト情報中に出現すると想定される様々な単語、その単語の読み、品詞及び活用形などが登録されている。そして音声合成部27は、例えば、その言語辞書を用いて、テキスト情報に含まれる原文に対して形態素解析を行って、原文中のテキストの読み、アクセントの位置及び区切りの位置を決定する。その際、音声合成部27は、例えば、原文中で句読点が設定された位置を区切りの位置とする。
【0028】
音声合成部27は、形態素解析として、例えば、動的計画法を用いる方法を利用できる。そして音声合成部27は、各単語の読み、アクセントの位置及び区切りの位置に応じて表音情報を作成する。
【0029】
次に、音声合成部27は、表音情報に基づいて、合成音声を生成する際の目標韻律を生成する。そのために、音声合成部27は、記憶部24から複数の韻律辞書を読み込む。この韻律辞書には、時間経過に応じた声の高さと音素長の変化を表す韻律モデルが格納されている。そして音声合成部27は、韻律辞書の中から、文中の位置または表音情報に示されたアクセントの位置などに最も一致する韻律モデルを適用する。そして音声合成部27は、適用される韻律モデル及び予め設定された合成パラメータに従って、表音情報に対応した目標韻律を作成する。なお、合成パラメータは、例えば、話速を表すパラメータと声の高さを表すパラメータとを含む。さらに、合成パラメータは、抑揚、音量などを表すパラメータを含んでいてもよい。また目標韻律は、音声波形を決定する単位となる音素ごとに、音素の長さ及びピッチ周波数を含む。さらに、目標韻律は個々の音素の波形の振幅情報を含んでいてもよい。なお、音素は、例えば、一つの母音あるいは一つの子音とすることができる。
【0030】
目標韻律が決定されると、音声合成部27は、例えば、vocoder方式または波形編集方式によって合成音声信号を作成する。
音声合成部27は、音素ごとに、目標韻律の音素長及びピッチ周波数に最も近い音声波形を、例えばパターンマッチングにより音声波形辞書に登録されている複数の音声波形の中から選択する。そのために、音声合成部27は、記憶部24から音声波形辞書を読み込む。音声波形辞書は、複数の音声波形及び各音声波形の識別番号を記録する。また音声波形は、例えば、一人以上のナレータが様々なテキストを読み上げた様々な音声を録音した音声信号から、音素単位で取り出された波形信号である。
さらに、音声合成部27は、音素ごとに選択された音声波形を目標韻律に沿って接続できるようにするため、それら選択された音声波形と目標韻律に示された対応する音素の波形パターンとのずれ量を、波形変換情報として算出してもよい。
音声合成部27は、音素ごとに選択された音声波形の識別番号を含む波形生成情報を作成する。波形生成情報は、波形変換情報をさらに含んでもよい。
【0031】
音声合成部27は、波形生成情報に基づいて合成音声信号を作成する。そのために、音声合成部27は、波形生成情報に含まれる各音素の音声波形の識別番号に対応する音声波形信号を記憶部24に保存されている音声波形辞書から読み込む。そして音声合成部27は、各音声波形信号を連続的に接続することにより、合成音声信号を作成する。なお、波形生成情報に波形変換情報が含まれている場合、音声合成部27は、各音声波形信号を、対応する音素について求められた波形変換情報に従って補正して音声波形信号を連続的に接続することにより、合成音声信号を作成する。
音声合成部27は、合成音声信号を音声出力部22へ出力する。
【0032】
なお、提示情報がオーディオデータを含む場合、処理部25は、そのオーディオデータから音声信号を再生し、その音声信号を音声出力部22へ出力してもよい。また、提示情報が画像を含む場合には、処理部25は、その画像を図示しない表示部に表示させてもよい。また処理部25は、提示情報に含まれるテキスト情報も、その表示部に表示させることでユーザに提示してもよい。この場合、処理部25の音声合成部27と、音声出力部22は省略されてもよい。
さらに、提示情報にゲームなどのアプリケーションプログラムが含まれる場合、処理部25は、そのアプリケーションプログラムを実行し、その実行結果に応じた画像及び音声信号を、表示部または音声出力部へ出力してもよい。
【0033】
再度図1を参照すると、第1の実施形態による対話制御装置の一例であるサーバ3は、通信部31と、記憶部32と、制御部33とを有する。
【0034】
通信部31は、端末2から通信ネットワーク4を介して受け取った認識候補単語などの情報を制御部33へ渡し、一方、制御部33から受け取った提示情報等を通信ネットワーク4を介して端末2へ渡す。さらに通信部31は、通信ネットワーク4を介して外部情報源5へ情報取得要求信号を送信し、その外部情報源5から所定の情報を含むデータを受信する。そのために、通信部31は、サーバ3を通信ネットワーク4に接続するためのインターフェース回路を有する。
【0035】
記憶部32は、例えば、半導体メモリ、磁気記録装置または光記録装置の少なくとも一つを有する。そして記憶部32は、制御部33がサーバ3を制御するための各種プログラム、サーバ3上で動作するアプリケーションプログラム及びそれらプログラムの実行に必要な各種のデータを記憶する。例えば、記憶部32は、提示情報リスト、サービス履歴リスト、及びキーワードリストを記憶する。これらのリストの詳細については後述する。
【0036】
制御部33は、一つまたは複数のプロセッサと、周辺回路とを有する。そして制御部33は、端末2から受け取った認識候補単語に基づいて、ユーザが所望する情報を有するサービス供給源を特定し、そのサービス供給源あるいは過去に提供された情報から、その所望の提示情報を取得する。そして制御部33は、取得した提示情報を端末2へ送信する。さらに制御部33は、端末2へ提示情報を送信する度に、必要に応じて提示情報リスト、サービス履歴リスト及びキーワードリストを更新する。
【0037】
図3は、対話制御システムが有する第1の実施形態による対話制御装置の一例であるサーバ3の制御部33の機能ブロック図である。制御部33は、認識キーワード決定部34と、提示情報取得部35と、サービス識別部36と、サービス変化検出部37と、認識キーワード抽出部38と、重み更新部39とを有する。
制御部33が有するこれらの各部は、例えば、制御部33が有するプロセッサ上で動作するコンピュータプログラムにより実現される機能モジュールである。なお、制御部33が有するこれらの各部は、それぞれ、別個の回路として、サーバ3に実装されてもよい。さらに、サーバ3が有するこれらの各部は、その各部の機能を実現する一つの集積回路としてサーバ3に実装されてもよい。
【0038】
認識キーワード決定部34は、各認識候補単語をキーワードリストに登録された各キーワードとそれぞれ照合する。そして認識キーワード決定部34は、キーワードリストに登録されたキーワードの中から、認識候補単語の何れかと最も類似度の高いキーワードを認識キーワードとして決定する。そして認識キーワード決定部34は、キーワードリストを参照して、認識キーワードに対応するサービス識別子及び情報識別子を特定し、そのサービス識別子及び情報識別子を提示情報取得部35へ通知する。
【0039】
図4は、キーワードリストの一例を示す図である。キーワードリスト400には、ユーザに提供した提示情報の供給源であるサービス供給源を識別するためのサービス識別子に対して、テキスト情報を含む提示情報を識別するための情報識別子が少なくとも一つ関連付けて登録される。さらに、各情報識別子には、その情報識別子により特定される情報に含まれる、1以上のキーワードと、各キーワードに含まれる品詞及び品詞によって定められる品詞の重み係数と、経過時間によって変化する時間重み係数と作成時刻とが関連付けて登録される。例えば、キーワードリスト400では、サービス識別子"news.jp"に対して一つの情報識別子"1010"が関連付けられている。そして情報識別子"1010"に対して、7個のキーワード"西日本"、"この冬"、"一番の"、"冷え込み"、"奈良市で"、"氷点下"及び"4.2度"が関連付けられている。そして各キーワードに含まれる品詞に対して設定される品詞の重み係数は、ユーザが所望する情報を特定するのに有用な品詞ほど大きくなるように設定されている。この例では、品詞の重み係数は、それぞれ、固有名詞に対して'1.0'、数詞に対して'0.8'、普通名詞に対して'0.7'、代名詞に対して'0.5'、助詞に対して'0.2'が設定されている。さらに、時間重み係数は、対応する情報識別子に含まれる各キーワードがキーワードリストに登録されてからの経過時間が長くなるほど小さくなるように設定されている。なお、品詞の重み係数、及び時間重み係数の詳細については後述する。
【0040】
図5は、認識キーワード決定部34による、認識キーワード決定処理の動作フローチャートである。認識キーワード決定部34は、端末2からサービス要求を受け取る度に、すなわち、認識候補単語のセットを受け取るごとに、この認識キーワード決定処理を実行する。
【0041】
認識キーワード決定部34は、認識候補単語とキーワードリストに登録されたキーワードとの類似度の最高値を表すベストスコアを0に初期化し、記憶部32からキーワードリストを読み込む(ステップS101)。
認識キーワード決定部34は、未検証の認識候補単語の中から、今から検証する認識候補単語を決定する(ステップS102)。その際、認識キーワード決定部34は、例えば、各認識候補単語に対して、音声認識部26により算出された尤度が高い方から順に、検証する認識候補単語を決定してもよい。
また認識キーワード決定部34は、キーワードリストに登録されたキーワードで、かつステップS102で決定された認識候補単語との類似度の検証が行われていないキーワードの中から、今から検証するキーワードを決定する(ステップS103)。
【0042】
認識キーワード決定部34は、検証対象となる認識候補単語及びキーワードを決定すると、その検証対象となっている認識候補単語とキーワード中で文字列が一致する部分を検出し、その文字列一致部分について設定された品詞の重み係数の和を算出する(ステップS104)。そして認識キーワード決定部34は、品詞の重み係数の和に時間重み係数を乗じることによりマッチングスコアを算出する(ステップS105)。
【0043】
例えば、認識候補単語として「奈良市で」と「慣らしで」の二つが検出されているとする。この場合において、認識候補単語「奈良市で」とキーワードリスト400に登録されたキーワード「奈良市で」とは、「奈良市で」の全ての文字列が一致する。そして、「奈良市」及び「で」の品詞の重み係数は、それぞれ、'1.0'と'0.2'であり、対応する時間重み係数は'1.0'である。したがって、認識候補単語「奈良市で」とキーワード「奈良市で」とのマッチングスコアは、1.2(=(1.0+0.2)*1.0)となる。また、認識候補単語「奈良市で」とキーワードリスト400に登録されたキーワード「慣らしで」とは、文字列「で」のみが一致する。そして「で」の品詞の重み係数は'0.2'であり、対応する時間重み係数は'0.7'である。したがって、認識候補単語「奈良市で」とキーワード「慣らしで」とのマッチングスコアは、0.14(=0.2*0.7)となる。
【0044】
次に、認識キーワード決定部34は、今検証対象となっている認識候補単語とキーワードの類似度を表すマッチングスコアはベストスコアより大きいか否か判定する(ステップS106)。マッチングスコアがベストスコアより大きい場合(ステップS106−Yes)、認識キーワード決定部34は、ベストスコアをそのマッチングスコアに更新し、ベストスコアに対応するキーワードを記憶する(ステップS107)。
【0045】
ステップS107の後、あるいはステップS106にてマッチングスコアがベストスコア以下である場合(ステップS106−No)、認識キーワード決定部34は、未検証のキーワードが有るか否か判定する(ステップS108)。未検証のキーワードがある場合(ステップS108−Yes)、認識キーワード決定部34は、ステップS103以降の処理を繰り返す。
一方、未検証のキーワードが無い場合(ステップS108−No)、認識キーワード決定部34は、未検証の認識候補単語が有るか否か判定する(ステップS109)。未検証の認識候補単語がある場合(ステップS109−Yes)、認識キーワード決定部34は、ステップS102以降の処理を繰り返す。
一方、未検証の認識候補単語が無い場合(ステップS109−No)、認識キーワード決定部34は、キーワードリストを参照して、ベストスコアに対応するキーワードと関連付けられたサービス識別子及び情報識別子を特定する(ステップS110)。そして認識キーワード決定部34は、そのサービス識別子及び情報識別子を提示情報取得部35へ通知する。
【0046】
提示情報取得部35は、提示情報リストあるいは外部情報源5を参照して、認識キーワード決定部34から受け取った情報識別子及びサービス識別子に対応する提示情報を取得し、取得した提示情報を端末2へ送信する。
【0047】
図6は、提示情報リストの一例を示す図である。提示情報リスト600は、提示情報ごとに、その情報と関連するサービス識別子、情報識別子、提示情報ごとの識別番号を含む。また提示情報には、タイプ識別子と、提示情報がリンク先に存在する場合はリンク先を表す情報と、情報本体とが含まれる。なお、リンク先に提示情報が存在する場合、情報本体には、リンク先を示すテキスト(「こちらを参照」「詳細はこちら」など)があればそのテキストが含まれている。
タイプ識別子は、提示情報のタイプを表す。本実施形態では、提示情報のタイプには、textタイプとlinkタイプが含まれる。textタイプは、提示情報が情報本体のみを含むことを表す。一方、linkタイプは、提示情報がリンク先に存在し、そのリンク先のアドレスを含むことを表す。リンク先のアドレスは、例えば、ユニフォームリソースロケータ(Uniform Resource Locator、URL)である。
なお、提示情報のタイプには、提示情報に画像データまたはオーディオデータといった、テキスト情報以外の情報が含まれることを表すデータタイプが含まれてもよい。さらに、提示情報のタイプには、提示情報にアプリケーションプログラムが含まれることを表すプログラムタイプが含まれてもよい。提示情報がデータタイプまたはプログラムタイプであっても、本実施形態では、提示情報にはテキスト情報も含まれる。この場合のテキスト情報は、例えば、画像データまたはオーディデータのタイトル、またはアプリケーションプログラムの名称であってもよい。
【0048】
例えば、提示情報リスト600の行601には、サービス識別子"tennki.jp"及び情報識別子"west"と関連して、識別番号"01"の提示情報が登録されており、その提示情報には、textタイプの情報本体が含まれている。また、提示情報リスト600の行602には、サービス識別子"tennki.jp"及び情報識別子"west"と関連して、識別番号"02"の提示情報が登録されており、その提示情報のタイプはlinkタイプであり、リンク先のアドレス情報としてURL"www.tennki.jp/weather/east.html"が含まれている。この場合、情報本体には、リンク先を示すテキスト「関東の天気」が登録されているが、実際にユーザが知りたい関東の天気の詳細情報はリンク先のアドレスのページに存在することが示されている。
【0049】
提示情報取得部35は、提示情報リストを参照して、認識キーワード決定部34から受け取った情報識別子及びサービス識別子に対応する提示情報を特定する。そして提示情報取得部35は、特定された提示情報のタイプがlinkタイプか否かを調べる。
【0050】
特定された提示情報のタイプがlinkタイプであれば、提示情報取得部35は、通信ネットワーク4を介して、リンク先のアドレスに対応する外部情報源5から、提示情報が含まれるリソース、例えば、ウェブページを受信する。そして提示情報取得部35は、受信したウェブページのソースを解析して、ウェブページ内で画面に表示されるテキスト情報を含む部分を、リンク先のアドレスが含まれるタグブロック(例えば、"href="が含まれるタグブロック)とテキスト情報のみを含むテキストブロックとに分割し、それぞれからテキスト情報を抽出する。そして提示情報取得部35は、抽出されたテキスト情報を提示情報として通信部31を介して端末2へ送信する。さらに提示情報取得部35は、リンク先アドレスが含まれるタグブロックと、テキストブロックとを、それぞれ別個の提示情報として、提示情報リストに追加登録する。ただし、この時点では、追加登録された提示情報には、サービス識別子及び情報識別子は関連付けられていない。そのため、提示情報取得部35は、追加登録された提示情報に対応するサービス識別子及び情報識別子を生成するために、追加登録された提示情報のアドレス(リンク先がある場合はリンク先のアドレス、リンク先がない場合は現在のページのアドレス)をサービス識別部36へ通知する。
また、提示情報取得部35は、追加登録された情報本体に対応する提示情報の識別番号を認識キーワード抽出部38へ通知する。
【0051】
一方、提示情報のタイプがlinkタイプでなければ、提示情報取得部35は、特定された提示情報に含まれる情報本体を、通信部31を介して端末2へ送信する。さらに提示情報取得部35は、その提示情報本体と関連付けられたサービス識別子と情報識別子とを、端末2へ提示情報本体を送信した時刻とともに、サービス履歴リストに追加登録する。なお、サービス履歴リストについては後述する。
【0052】
なお、提示情報リストに、認識キーワード決定部34から受け取ったサービス識別子と情報識別子の組に対応する提示情報が複数含まれている場合、提示情報取得部35は、その組に対応する全ての提示情報について上記の処理に従って端末2へ送信してもよい。あるいは、提示情報取得部35は、その組に対応する複数の提示情報のうち、提示情報のタイプごとに最新のもののみ、上記の処理に従って端末2へ送信してもよい。
【0053】
また、提示情報リストには、サービス識別子及び情報識別子と関連付けて、そのサービス識別子と情報識別子により特定される情報が保管されている、外部情報源5のアドレスが、例えばURLの形式で格納されていてもよい。そして提示情報取得部35は、認識キーワード決定部34から受け取った情報識別子及びサービス識別子と関連付けられた提示情報本体が提示情報リストに格納されている場合でも、そのアドレスを参照して外部情報源5から提示情報を取得してもよい。これにより、外部情報源5において、同一のアドレスで特定されるファイルが逐次更新されている場合でも、提示情報取得部35は、そのアドレスへのアクセスが要求される度に、最新の情報を取得できる。
【0054】
サービス識別部36は、外部供給源5から新たに受信した提示情報に関して、その提示情報を含むリンク先のアドレスを解析することにより、サービス識別子と、情報識別子を生成する。例えば、サービス識別部36は、リンク先のアドレスから、ドメイン名を表す部分をサービス識別子として抽出し、そのアドレスに含まれるファイル名のうちの拡張子を除いた部分を情報識別子として抽出する。
例えば、リンク先のアドレスが"http://www.tennki.jp/weather/west.html"である場合、サービス識別子として、"tennki.jp"が抽出される。また、情報識別子として、"west"が抽出される。
なお、リンク先のアドレスが、他の形式、例えば、IPアドレスを用いて表現されている場合には、サービス識別部36は、そのIPアドレスをサービス識別子として抽出してもよい。
【0055】
さらに、サービス識別部36は、抽出されたサービス識別子及び情報識別子を、提示情報取得部35から通知された提示情報の識別番号に対応する提示情報と関連付けて提示情報リストに登録する。またサービス識別部36は、サーバ3が提示情報を提供する度に、サービス履歴リストに、サーバ3が提示情報を取得した時刻である参照時刻とともに、そのサービス識別子及び情報識別子を追加登録する。なお、参照時刻は、サーバ3が提示情報を端末2へ送信した時刻であってもよい。
【0056】
図7は、サービス履歴リストの一例を示す図である。サービス履歴リスト700は、提示情報が端末2へ送信されるサービスの実行履歴を記録する。そのために、サービス履歴リスト700は、各行ごとに、1回のサービスの記録を表し、各サービスの記録は、参照時刻に従って降順で記録されている。そして各行には、左から順に、参照時刻、サービス識別子、情報識別子が記録される。例えば、行701には、時刻12:00において、サービス識別子"tennki.jp"及び情報識別子"west"に対応する提示情報が端末2へ送信されたことが示されている。このサービス履歴リスト700は、後述するサービス変化検出部37にて利用される。
【0057】
サービス変化検出部37は、サービス履歴が更新される度に、最新の提示情報のサービス供給源が、それ以前のサービス供給源から変化したか否かを検出し、その検出結果を重み更新部39へ通知する。
本実施形態では、サービス変化検出部37は、サービス履歴リストから、最新の提示情報に関するサービス識別子と、その1回前に提供された提示情報に関するサービス識別子とを読み込む。そしてサービス変化検出部37は、その二つのサービス識別子が一致すれば、サービス供給源に変更は無いと判定し、一方、その二つのサービス識別子が一致しなければ、サービス供給源に変更が生じたと判定する。
【0058】
図8(a)及び(b)を参照しつつ、サービス供給源に変更が生じたか否かの判定の例を説明する。図8(a)及び図8(b)は、それぞれ、サービス履歴リストの一例を示す。図8(a)に示されたサービス履歴リスト800では、一番下の行801が最新のサービスに関するサービス識別子等を表し、下から二番目の行802が、一つ前のサービスに関するサービス識別子等を表している。この例では、最新のサービスに関するサービス識別子"tennki.jp"と一つ前のサービスに関するサービス識別子"tennki.jp"とが一致している。そのため、この場合には、サービス変化検出部37はサービス供給源に変更は無いと判定する。
【0059】
また、図8(b)に示されたサービス履歴リスト810でも、一番下の行811が最新のサービスに関するサービス識別子等を表し、下から二番目の行812が、一つ前のサービスに関するサービス識別子等を表している。しかしこの例では、最新の提示情報に関するサービス識別子"tennki.jp"と一つ前の提示情報に関するサービス識別子"chirashi.jp"とが一致していない。そのため、この場合には、サービス変化検出部37はサービス供給源に変更が生じたと判定する。
【0060】
さらに、サービス変化検出部37の他の形態として、サービス履歴が更新される度に、サービス変化の検出結果として、「サービス変化有り」、「サービス変化無し」及び「サービス変化不確定」の何れかを検出し、その検出結果を重み更新部39へ通知してもよい。なお、「サービス変化有り」は、サービス供給源が完全に切り替わったことを示す。また「サービス変化無し」は、同じサービス供給源が継続的に利用されていることを示す。そして「サービス変化不確定」は、サービス変化の可能性があるがまだ確定していない状態を示す。
【0061】
本実施形態では、サービス変化検出部37は、サービス履歴リストから、最新の提示情報に関するサービス識別子と、そのN回前に継続的に提供された提示情報に関するサービス識別子と、最新を含むM回の間に継続的に提供された提示情報に関するサービス識別子とを読み込む。なお、M、Nはそれぞれ、2以上の整数である。サービス変化検出部37は、継続的に提供されているサービス識別子として、そのN回、及び、M回分の履歴のサービス識別子の中で最も提供回数が多いサービス識別子を検出する。提供回数が同数で最多となる複数のサービス識別子が存在する場合は、サービス変化検出部37は、最多かつ最新のサービス識別子を継続的に提供されていたサービス識別子として検出する。
【0062】
そしてサービス変化検出部37は、最新の提示情報に関するサービス識別子と、一回前のサービスに関するサービス識別子が一致しているか否かを判定し、瞬間的なサービス変化を表す第1の判定結果とする。またサービス変化検出部37は、最新のN回前に継続的に提供された提示情報に関するサービス識別子と、最新を含むM回の間に継続的に提供された提示情報に関するサービス識別子とが一致しているか否かを判定し、その判定結果を大局的なサービス変化を表す第2の判定結果とする。最後にサービス変化検出部37は、第1の判定結果と第2の判定結果の組み合わせにより、「サービス変化有り」、「サービス変化無し」、「サービス変化不確定」の3種類の変化結果の何れかを検出し、重み更新部39へ通知する。
【0063】
具体的には、サービス変化検出部37は、第1の判定結果が、最新の提示情報に関するサービス識別子と、一回前のサービスに関するサービス識別子が一致していることを示している「一致」である場合は、継続的に同一サービスが続いていると判定する。そしてサービス変化検出部37は、「サービス変化無し」を出力する。
一方、第1の判定結果が、最新の提示情報に関するサービス識別子と、一回前のサービスに関するサービス識別子とが一致していないことを示している「不一致」である場合は瞬間的にサービスが切り替わっていることになる。しかし、第2の判定結果が、最新のN回前に継続的に提供された提示情報に関するサービス識別子と、最新を含むM回の間に継続的に提供された提示情報に関するサービス識別子とが一致していることを示している「一致」である場合は、その第2の判定結果は、過去から現在に渡って大局的に同一サービスが提供されていることを示している。そのため、この場合には、サービス変化検出部37は、第1の判定結果が「不一致」である原因が誤ってサービスが切り替わったことによるとみなす。そしてサービス変化検出部37は、サービスの切り替わりではなく、最新のサービス識別子について「サービス変化無し」として出力する。
さらに、第1の判定結果が「不一致」であるだけでなく、第2の判定結果も、最新のN回前に継続的に提供された提示情報に関するサービス識別子と、最新を含むM回の間に継続的に提供された提示情報に関するサービス識別子とが一致していないことを示している「不一致」となることがある。この場合は、その「不一致」との第2の判定結果は大局的にもサービスが切り替わったことを示唆している。しかし、第1の判定結果が「不一致」であるため、まだ安定して継続したサービスが提供されているわけではない。従って、サービス変化検出部37は、サービス変化の可能性はあるが、確定していない状態である、「サービス変化不確定」を出力する。
【0064】
以下に例を挙げて説明する。今、A,B、2つのサービスが時系列で変化する下記の4つのケースを考える。ただし、左側が古い情報、右側が新しい情報、|棒の右側が最新のサービス、左側がそれより前のサービスとする。また、継続的な提供を判断する変数N,Mについて、それぞれ、N=4、M=2とする。
ケース1: A→A→A→A→|→A
ケース2: A→A→A→A→|→B
ケース3: A→A→A→B→|→B
ケース4: A→A→A→B→|→A
ケース1の場合、最新の提示情報に関するサービス識別子がA,1回前の提示情報に関するサービス識別子もAであるので、第1の判定結果は「一致」となる。同様にしてケース2〜4についての第1の判定結果は、それぞれ、「不一致」、「一致」、「不一致」となる。
【0065】
また、N回前に継続的に提供された提示情報に関するサービス識別子は、最新の4回前までの最多のサービス識別子を検出することで求められる。上記のケース1とケース2では、A→A→A→AよりA、ケース3とケース4では、A→A→A→BよりA(A:3回>B:1回のためA)となる。また、最新の提示情報を含むM回の間に継続的に提供された提示情報に関するサービス識別子は、最新の提示情報を含む2回分の最多のサービス識別子を抽出することにより求められる。ケース1では、そのサービス識別子は、A→|→AよりAとなる。ケース3では、そのサービス識別子は、B→|→BよりBとなる。またケース2では、A→|→Bより、AとBが同数の1回ずつであるが、最新の提示情報についてのサービス識別子Bが選択される。逆にケース4では、B→|→Aより、AとBが同数の1回ずつであるが、最新の提示情報についてのサービス識別子Aが選択される。
以上より、過去に継続的に提供された提示情報に関するサービス識別子と、現在継続的に提供されている提示情報に関するサービス識別子とが一致しているかどうかの第2の判定結果は、ケース1の場合、過去に継続的に提供された識別子、現在継続的に提供されている識別子は共にAであるので、「一致」となる。同様に、ケース2〜4についての第2の判定結果は、それぞれ、「不一致」、「不一致」、「一致」となる。
【0066】
従って、これら第1及び第2の判定結果の組み合わせにより、最終的なサービス変化検出結果は以下のようになる。
ケース1: A→A→A→A→|→A 第1:一致 第2:一致 → サービス変化無
ケース2: A→A→A→A→|→B 第1:不一致 第2:不一致 → サービス変化不確定
ケース3: A→A→A→B→|→B 第1:一致 第2:一致 → サービス変化無
ケース4: A→A→A→B→|→A 第1:不一致 第2:一致 → サービス変化無
このような構成により、ケース4のように、大局的にはAのサービスが継続しており、何らかの誤りでBのサービスへ切り替わっている場合において、最新と1回前のサービス識別子が異なるため一見サービス変化が生じているように見える場合でも、サービス変化検出部37は、その誤りに引きずられずに正確なサービス変化検出が行える。
【0067】
認識キーワード抽出部38は、外部情報源5から新たに提示情報が取得されると、その提示情報の情報本体から、その提示情報あるいは関連情報を特定するためのキーワードを抽出する。そして認識キーワード抽出部38は、抽出したキーワードに対して認識キーワード決定の際に利用される品詞ごとの重み係数及び時間重み係数を決定する。そして認識キーワード抽出部38は、そのキーワード及びそれら重み係数をキーワードリストに登録する。
【0068】
本実施形態では、認識キーワード抽出部38は、提示情報取得部35から通知された提示情報の識別子に対応する情報本体を提示情報リストから読み込む。そして認識キーワード抽出部38は、その情報本体に対して形態素解析を行って、その情報本体を品詞単位で分割する。なお、認識キーワード抽出部38は、音声合成部27と同様に、形態素解析として、例えば、動的計画法を用いる方法を利用できる。
次に、認識キーワード抽出部38は、各品詞を、例えば、空白、助詞または句読点などの文節の区切りとなるものが検出される度にまとめることで、文節単位にまとめ、得られた各文節をキーワードとする。また認識キーワード抽出部38は、キーワードごとに、そのキーワードに含まれる各品詞に対して、その品詞に対応した品詞の重み係数を、記憶部32に記憶された品詞重みテーブルを参照することにより決定する。
【0069】
図9は、品詞重みテーブルの一例を示す図である。品詞重みテーブル900の各行には、それぞれ、1種類の品詞に対する品詞の重み係数が記録されている。この例では、品詞の重み係数は、キーワードに対する情報量が多くなるように、それぞれ、固有名詞に対して'1.0'、数詞に対して'0.8'、普通名詞に対して'0.7'、代名詞に対して'0.5'、助詞に対して'0.2'が設定されている。助詞は様々なキーワードに含まれ、助詞部分だけを見ていたのでは助詞を含むキーワードを他のキーワードと区別するのは困難であるため、助詞には情報量が少ないとみなせる。そのため、助詞に対する重みは小さく設定する。一方、固有名詞は、固有名詞自体でそれを含むキーワードを他のキーワードと区別できるため情報量が多いと考えられる。したがって、固有名詞に対しては重みを重く設定する。
【0070】
認識キーワード抽出部38は、情報本体から抽出された各キーワード、キーワードに含まれる各品詞及び品詞の重み係数を、その情報本体に対応するサービス識別子及び情報識別子とともにキーワードリストに登録する。さらに認識キーワード抽出部38は、新たに追加される各キーワードに対して、時間重み係数の初期値を設定し、その時間重み係数をキーワードリストに書き込む。なお、時間重み係数の初期値は、例えば、'1.0'に設定される。
【0071】
重み更新部39は、サービス履歴が更新される度に、提示情報のサービス供給源が変化したか否かの検出結果に応じて、キーワードリストに登録されている各キーワードの重み係数を更新する。
本実施形態では、重み更新部39は、提示情報のサービス供給源が変更されていない場合、新たに登録されたキーワード以外の各キーワードに対する時間重み係数に、0より大きく、かつ1未満の係数αを乗じる。これにより、キーワードがキーワードリストに登録されてからの経過時間が長くなるほど、そのキーワードに対する時間重み係数は小さくなる。その結果、キーワードリストに登録されてからの経過時間が短いキーワードほど、認識キーワードとして検出され易くなる。係数αは、例えば、0.9に設定される。
【0072】
図10(a)及び図10(b)は、それぞれ、提示情報のサービス供給源が変更されていない場合における、時間重み係数変更前のキーワードリストの一例と時間重み係数変更後のキーワードリストの一例とを示す図である。
図10(a)に示されたキーワードリスト1000では、最新の提示情報から抽出された1以上のキーワードが一番下の行1001に追加登録されている。この場合、重み更新部39は、行1002以上の各行のキーワードに対応する時間重み係数に係数αとして0.9を乗じる。その結果、図10(b)に示されたキーワードリスト1010のように、行1002以上の各行の時間重み係数は、元の値に対して0.9倍された値となる。
【0073】
なお、端末2へ送信された最新の提示情報が、既に提示情報リストに登録されている提示情報であることがある。この場合、重み更新部39は、提示情報リストにおいてその提示情報と関連付けられたサービス識別子及び情報識別子を提示情報取得部35から受け取ってもよい。そして重み更新部29は、受け取ったサービス識別子及び情報識別子と関連付けられた各キーワードの時間重み係数を上記の初期値に戻してもよい。
【0074】
一方、提示情報のサービス供給源が変更されている場合、重み更新部39は、提示情報リストにおいて、最新の提示情報と関連付けられているサービス識別子を現参照サービス識別子として特定する。そして重み更新部39は、キーワードリストにおいて、現参照サービス識別子と異なるサービス識別子と関連付けられているキーワードについての時間重み係数を、現参照サービス識別子と関連付けられているキーワードについての時間重み係数よりも小さくする。例えば、重み更新部39は、現参照サービス識別子と異なるサービス識別子と関連付けられたキーワードの時間重み係数に、αよりも小さい係数、例えば0.5を乗じる。一方、重み更新部39は、現参照サービス識別子と関連付けられたキーワードの時間重み係数を、0.9nに設定する。ただしnは、そのキーワードと関連する提示情報が現参照サービス識別子により特定されるサービス供給源からn回前に取得されたことを表す。
【0075】
図11(a)及び図11(b)は、それぞれ、提示情報のサービス供給源が変更された場合における、時間重み係数変更前のキーワードリストの一例と時間重み係数変更後のキーワードリストの一例とを示す図である。
図11(a)に示されたキーワードリスト1100では、最新の提示情報から抽出された1以上のキーワードが一番下の行1101に追加登録されている。この場合、重み更新部39は、行1101に格納されたサービス識別子"news.jp"と同一のサービス識別子が格納された各行の時間重み係数を0.9nに設定する。一方、サービス識別子"news.jp"と異なるサービス識別子が格納された各行のキーワードに対応する時間重み係数に0.5を乗じる。その結果、各キーワードに対する時間重み係数は、図11(b)に示されたキーワードリスト1110のようになる。その結果、最新の提示情報の供給元である現在のサービス供給源に関連するキーワードに対する時間重み係数の方が、現在のサービス供給源と異なるサービス供給源に関連するキーワードに対する時間重み係数よりも大きくなる。したがって、現在のサービス供給源に関連するキーワードが、認識キーワードとして選択され易くなる。
【0076】
なお、重み更新部39は、変形例として、提示情報のサービス供給源が変更されている場合、現参照サービス識別子と関連付けられた各キーワードの時間重み係数を上記の初期値に設定してもよい。
【0077】
さらに、重み更新部39は、サービス変化検出部37から「サービス変化不確定」結果を受け取った場合、行1101に格納されたサービス識別子"news.jp"と同一のサービス識別子が格納された各行の時間重み係数を0.9nに設定する。一方、サービス識別子"news.jp"と異なるサービス識別子が格納された各行のキーワードに対応する時間重み係数についても、0.9mを設定する。ただしmは、そのキーワードと関連する提示情報が現参照サービス識別子により特定されるサービス供給源と異なるサービス供給源からm回前に取得されたことを表す。その結果、各キーワードに対する時間重み係数は、図11(c)に示されたキーワードリスト1120のようになる。その結果、最新の提示情報の供給元である現在のサービス供給源に関連するキーワードに対する時間重み係数と、現在のサービス供給源と異なるサービス供給源に関連するキーワードに対する時間重み係数がほぼ同等の重み係数となる。このように、重み更新部39は、サービス変化が確定するまでは、時間重み係数をどちらのサービスにも同等に変化できるように設定できる。
【0078】
さらに、重み更新部39は、時間重み係数が所定の下限値未満となったキーワードをキーワードリストから消去してもよい。これにより、重み更新部29は、キーワードリストに含まれるキーワードの数が無制限に増えることを防止できるので、認識キーワードの決定処理に要する時間の増大を抑制できる。なお、所定の下限値は、例えば、0.1に設定される。
【0079】
図12は、対話制御システム1により実行される対話制御処理の動作フローチャートを示す。対話制御システム1は、端末2に音声が入力される度に、この対話制御処理を実行する。
端末2の処理部25の音声認識部26は、音声入力部2を介して入力された音声信号から所定数の認識候補単語を検出する(ステップS201)。そして処理部25は、通信部23を介して認識候補単語のセットをサーバ3へ送信する。
【0080】
サーバ3の制御部33の認識キーワード決定部34は、認識候補単語のセットを受け取ると、記憶部32から読み込んだキーワードリストを参照して認識候補単語中の何れかと最も類似するキーワードを認識キーワードとして決定する(ステップS202)。そして認識キーワード決定部34は、認識キーワードに対応するサービス識別子及び情報識別子を特定する(ステップS203)。
制御部33の提示情報取得部35は、提示情報リストを参照して、認識キーワード決定部34から通知されたサービス識別子及び情報識別子に対応する提示情報を特定する(ステップS204)。そして提示情報取得部35は、提示情報のタイプはlinkタイプか否か判定する(ステップS205)。
【0081】
提示情報のタイプがlinkタイプである場合(ステップS205−Yes)、提示情報取得部35はリンク先のアドレスにより特定された外部情報源から提示情報を取得する(ステップS206)。
そして制御部33の認識キーワード抽出部38は、取得した提示情報からキーワードを抽出し、抽出したキーワードを、参照時刻、その提示情報に対応するサービス識別子及び情報識別子とともにキーワードリストに追加登録する(ステップS207)。
一方、提示情報のタイプがlinkタイプでない場合(ステップS205−No)、提示情報取得部35は、提示情報リストに格納された、サービス識別子及び情報識別子と関連付けられた提示情報本体を提示情報として取得する(ステップS208)。
ステップS207またはS208の後、提示情報取得部35またはサービス識別部36は、最新の提示情報に関連するサービス識別子及び情報識別子を参照時刻とともにサービス履歴リストに登録することで、サービス履歴リストを更新する(ステップS209)。
【0082】
制御部33のサービス変化検出部37は、サービス供給源に変更が有ったか否か判定する(ステップS210)。
サービス供給源に変更が有った場合(ステップS210−Yes)、制御部33の重み更新部39は、キーワードリスト中の各キーワードに対する時間重み係数を更新する。その際、重み更新部39は、最新のサービス供給源と異なるサービス供給源に関連するキーワードに対する時間重み係数を、最新のサービス供給源に関連するキーワードに対する時間重み係数よりも小さくする(ステップS211)。
一方、サービス供給源に変更が無い場合(ステップS210−No)、重み更新部39は、各キーワードに対する時間重み係数を、キーワードリストに登録されてからの経過時間が長いほど小さくなるように更新する(ステップS212)。
【0083】
また、端末2の処理部25の音声合成部27は、サーバ3から受け取った提示情報から合成音声信号を生成する(ステップS213)。そして処理部25は、音声出力部22へ合成音声信号を出力する(ステップS214)。そして音声出力部22は、その合成音声信号に応じた音声をユーザへ向けて出力する。その後、対話制御装置1は、1回の対話制御処理を終了する。
なお、ステップS213及びS214の手順は、ステップS209〜S212の手順と独立して実行されてもよい。
【0084】
以上に説明してきたように、この対話制御装置は、現在情報を提供しているサービスの供給源からの情報に含まれるキーワードの重み付けを、そのサービスの供給源とは異なるサービス供給源からの情報に含まれるキーワードよりも大きくする。これにより、この対話制御装置は、現在情報提供中のサービス供給源に関連するキーワードを検出し易くなるので、ユーザが発した音声に基づいて、ユーザが所望するサービスを正確に提供できる。
【0085】
次に、第2の実施形態による対話制御装置について説明する。第2の実施形態による対話制御装置は、キーワードリストに登録された複数のキーワードのうち、そのキーワードに関連付けられたサービス識別子と異なるサービス識別子と関連付けられたキーワードとの類似していないものの時間重み係数を大きくする。これにより、この対話制御装置は、前回参照されたときから長期間が経過したサービス識別子に関連付けられたサービス供給源であっても、他のキーワードと間違い難い特有のキーワードをユーザが発声することにより、そのサービス供給源へ遷移し易くする。
【0086】
なお、第2の実施形態による対話制御装置は、第1の実施形態による対話制御装置と比較して、対話制御装置の一例であるサーバの制御部により実現される機能の一部のみが異なる。そこで以下では、サーバの制御部により実現される機能のうち、第1の実施形態と異なる点について説明する。対話制御装置の他の構成要素については、第1の実施形態についての対応する構成要素の説明及び図を参照されたい。
【0087】
図13は、第2の実施形態によるサーバ3の制御部40の機能ブロック図である。制御部40は、認識キーワード決定部34と、提示情報取得部35と、サービス識別部36と、サービス変化検出部37と、認識キーワード抽出部38と、類似度算出部41と、重み更新部42を有する。
制御部40が有するこれらの各部は、例えば、制御部40が有するプロセッサ上で動作するコンピュータプログラムにより実現される機能モジュールである。なお、制御部40が有するこれらの各部は、それぞれ、別個の回路として、サーバ3に実装されてもよい。さらに、サーバ3が有するこれらの各部は、その各部の機能を実現する一つの集積回路としてサーバ3に実装されてもよい。
【0088】
第2の実施形態による制御部40は、第1の実施形態による制御部33と比較して、類似度算出部41及び重み更新部42が異なる。そこで以下では、類似度算出部41及び重み更新部42について説明する。
【0089】
類似度算出部41は、キーワードリストに登録されている各キーワードについて、関連付けられたサービス識別子が異なる他のキーワードとの類似度合いを表すキーワード間類似度を算出する。
【0090】
図14は、類似度算出部41による、類似度算出処理の動作フローチャートである。類似度算出部41は、認識キーワード抽出部38が新たなキーワードを作成し、そのキーワードをキーワードリストに登録して記憶部32に記憶させる度に、この類似度算出処理を実行する。
【0091】
類似度算出部41は、記憶部32からキーワードリストを読み込む(ステップS301)。
類似度算出部41は、キーワードリストに登録された、未検証のキーワードの中から、今から検証するキーワードを決定する(ステップS302)。その際、類似度算出部41は、例えば、作成時刻が新しい方から順に、検証するキーワードを決定してもよい。
また類似度算出部41は、検証キーワードに対する類似度が算出されておらず、かつ、検証キーワードに関連付けられたサービス識別子と異なるサービス識別子に関連付けられたキーワードの中から、比較キーワードを決定する(ステップS303)。
【0092】
類似度算出部41は、検証キーワードと比較キーワード間の類似度を算出する(ステップS304)。本実施形態では、類似度算出部41は、検証キーワードを表す文字列と比較キーワードを表す文字列の一致度、及び、検証キーワードの音声と比較キーワードの音声の類似度に基づいて、類似度を算出する。なお、類似度算出部41は、検証キーワードを表す文字列と比較キーワードを表す文字列の一致度のみに基づいて類似度を算出してもよい。
【0093】
類似度算出部41は、例えば、検証キーワードを表す文字列と比較キーワードを表す文字列の一致度を、長い方の文字列に含まれる音素ごとの文字の総数に対する、その文字列に含まれる、他方の文字列中の文字と一致する文字の数の比とする。例えば、検証キーワードが「今日の天気」であり、比較キーワードが「今日の運気」であれば、二つのキーワード間で一致する文字は、'キョ'、'ウ'、'ノ'、'ン'、'キ'の5文字であるので、一致度は、5文字/6文字=83.3%となる。また、検証キーワードが「天気」であり、比較キーワードが「転勤」であれば、二つのキーワードのうちの長い方である比較キーワードに含まれる4文字中の3文字が、検証キーワードに含まれる文字と一致する。したがって、一致度は、3文字/4文字=75%となる。
【0094】
類似度算出部41は、検証キーワードと比較キーワードの間で異なっている文字の組に対応する音素同士に類似性があれば、その二つのキーワードの文字列の一致度が高くなるように補正することにより、その二つのキーワード間の類似度を算出する。
例えば、以下の表1に示されるように、互いに異なる二つの音素の種別の組と補正係数との関係を表す参照テーブルが予めサーバ3の記憶部32に記憶される。そして類似度算出部41は、検証キーワードと比較キーワードの間で異なっている文字の組に対応する音素の組ごとに、参照テーブルを参照して補正係数を求め、求めた補正係数を一致度に乗じる。なお、参照テーブル中に該当する音素の種別の組が無い場合、類似度算出部41は、補正係数を'1'とする。すなわち、類似度算出部41は、その音素の組については、一致度を補正しない。
【表1】

【0095】
例えば、検証キーワードが「今日の天気」であり、比較キーワードが「今日の電気」であれば、互いに異なっている文字の組に対応する音素の組は'テ'と'デ'を含む組だけであり、一致度は83.3%となる。この組に対応する音素の種別の組は、静音と濁音の組に相当するので、類似度算出部41は、例えば、表1に示された参照テーブルを参照することにより、補正係数を1.1とする。したがって、検証キーワード「今日の天気」と比較キーワード「今日の電気」間の類似度は、83.3%×1.1=91.6%となる。
また、検証キーワードが「天気」であり、比較キーワードが「天使」であれば、互いに異なっている文字の組に対応する音素の組は、各キーワードの最後の音素である'キ'と'シ'を含む組だけであり、一致度は66.7%となる。この組に対応する音素の種別の組は、無声摩擦音と無声破裂音の組に相当するので、類似度算出部41は、例えば、表1に示された参照テーブルを参照することにより、補正係数を1.2とする。したがって、検証キーワード「天気」と比較キーワード「天使」間の類似度は、66.7%×1.2=80.0%となる。
【0096】
なお、類似度算出部41は、検証キーワードと比較キーワードの一致度が100%未満であり、かつ、その一致度に補正係数を乗じることで類似度の計算値が100%以上となる場合、その二つのキーワードの類似度を100%未満の所定値、例えば、99%とする。これにより、二つのキーワードが完全に一致していないにもかかわらず、類似度が100%以上となることが防止される。
【0097】
次に、類似度算出部41は、今検証対象となっている検証キーワードと比較キーワード間の類似度は、その検証キーワードについてそれまでに算出された類似度の最大値より大きいか否か判定する(ステップS305)。類似度がそれまでの類似度の最大値より大きい場合(ステップS305−Yes)、類似度算出部41は、類似度の最大値をその類似度に更新する(ステップS306)。
【0098】
ステップS306の後、あるいはステップS305にて類似度がそれまでの類似度の最大値以下である場合(ステップS305−No)、類似度算出部41は、検証キーワードと比較されていないキーワードが有るか否か判定する(ステップS307)。未比較のキーワードがある場合(ステップS307−Yes)、類似度算出部41は、ステップS303以降の処理を繰り返す。
一方、未比較のキーワードが無い場合(ステップS307−No)、類似度算出部41は、類似度の最大値を検証キーワードについてのキーワード間類似度として、キーワードリストを更新する(ステップS308)。
【0099】
その後、類似度算出部41は、未検証のキーワードが有るか否か判定する(ステップS309)。未検証のキーワードがある場合(ステップS309−Yes)、類似度算出部41は、ステップS302以降の処理を繰り返す。一方、未検証のキーワードが無い場合(ステップS309−No)、類似度算出部41は、類似度算出処理を終了する。
【0100】
図15は、第2の実施形態によるキーワードリストの一例を示す図である。第2の実施形態によるキーワードリスト1500は、第1の実施形態によるキーワードリストと比較して、キーワードごとにキーワード間類似度1510が記録されている点で異なる。例えば、キーワードリスト1500では、サービス識別子"news.jp"に関連付けられた7個のキーワード"西日本"、"この冬"、"一番の"、"冷え込み"、"奈良市で"、"氷点下"及び"4.2度"について、それぞれ、キーワード間類似度が、'0.8'、'0.1'、'0.1'、'0.1'、'0.9'、'0.1'、'0.1'であることが示されている。
【0101】
重み更新部42は、キーワードリストが更新される度に、キーワードリストに登録されている各キーワードの時間重み係数を更新する。
本実施形態では、重み更新部42は、キーワード間類似度が所定の閾値Ths以上であり、かつ、提示情報のサービス供給源が変更されていない場合、新たに登録されたキーワード以外の各キーワードに対する時間重み係数に、0より大きくかつ1未満の係数αを乗じる。なお、所定の閾値Thsは、例えば、二つのキーワード間に何らかの類似性が認められる類似度の最小値、例えば、0.5に設定される。また係数αは、例えば、0.8〜0.9に設定される。これにより、キーワード間類似度が他のキーワードの少なくとも一部と類似していることを表す値を持つキーワードについては、そのキーワードがキーワードリストに登録されてからの経過時間が長くなるほど、そのキーワードに対する時間重み係数は小さくなる。その結果、キーワードリストに登録されてからの経過時間が短いキーワードほど、認識キーワードとして検出され易くなる。
【0102】
一方、キーワード間類似度が閾値Ths未満である、すなわち、キーワード間類似度が他のキーワードに類似していないことを表す値を持つキーワードについては、重み更新部42は、そのキーワードに対する時間重み係数を、登録されてからの経過時間にかかわらず、一定値に設定する。この一定値は、例えば、キーワードとして認識され易いように、キーワード間類似度が閾値Ths以上となるキーワードに対する時間重み係数よりも大きな値、例えば、0.9〜1.0に設定される。
【0103】
あるいは、重み更新部42は、キーワード間類似度が閾値Ths未満のキーワードのうち、現在提供されている情報に対応するサービス識別子に関連付けられているキーワードの時間重み係数を、そのキーワードが最も認識され易い第1の値、例えば、1.0とする。一方、キーワード間類似度が閾値Ths未満のキーワードのうち、現在提供されている情報に対応するサービス識別子と異なるサービス識別子に関連付けられているキーワードの時間重み係数を、第1の値よりも小さい第2の値、例えば、0.9としてもよい。
これにより、キーワード間類似度が小さいキーワード、すなわち、そのキーワードと関連するサービス識別子により特定される情報源に特有のキーワードについては、時間重み係数は、登録されてからの経過時間にかかわらず一定の大きな値となる。そのため、例え、そのキーワードと関連するサービス識別子により特定されるサービス供給源が前回参照されてから長期間が経過していたとしても、第2の実施形態による対話制御装置は、そのサービス供給源に遷移し難くなることを防止できる。
【0104】
なお、重み更新部42は、キーワード間類似度が閾値Ths未満であっても、キーワード間類似度が低いほど時間重み係数が大きくなるように、時間重み係数を更新してもよい。この場合、重み更新部42は、例えば以下の式に従って時間重み係数を決定する。
時間重み係数=1.0-r1×0.4
ただし、r1はキーワード間類似度である。例えば、閾値Thsが0.5であれば、時間重み係数は、キーワード間類似度に応じて0.8〜1.0の間で変動する。これにより、特定の情報源に特有のキーワードほど、時間重み係数が大きくなるので、その特有のキーワードが話者により発声されたときに、この対話制御装置は、情報を提供するサービス供給源を、正確にその特定のサービス供給源へ遷移させることができる。
【0105】
一方、提示情報のサービス供給源が変更されている場合、重み更新部42は、キーワードリストから、現参照サービス識別子と異なるサービス識別子と関連付けられているキーワードを抽出する。そして重み更新部42は、抽出したキーワードのうち、キーワード間類似度が閾値Ths以上のキーワードについての時間重み係数を、現参照サービス識別子と関連付けられているキーワードについての時間重み係数よりも小さくする。例えば、重み更新部42は、現参照サービス識別子と異なるサービス識別子と関連付けられたキーワードの時間重み係数に、αよりも小さい係数、例えば0.5を乗じる。一方、重み更新部42は、現参照サービス識別子と関連付けられたキーワードのうち、キーワード間類似度が閾値Ths以上のキーワードの時間重み係数を、0.9nに設定する。ただしnは、そのキーワードと関連する提示情報が現参照サービス識別子により特定されるサービス供給源からn回前に取得されたことを表す。
【0106】
また、重み更新部42は、キーワード間類似度が閾値Ths未満のキーワードについては、関連付けられたサービス識別子が現参照サービス識別子か否かにかかわらず、時間重み係数を一定値(例えば、0.9〜1.0)に設定する。
これにより、第2の実施形態による対話制御装置は、前回の情報提供時から長期間が経過したサービス供給源へ遷移し難くなることを防止しつつ、最近利用したサービス供給源へ遷移し易くできる。
【0107】
図16は、第2の実施形態による対話制御装置を含む対話制御システム1により実行される対話制御処理の動作フローチャートを示す。対話制御システム1は、端末2に音声が入力される度に、この対話制御処理を実行する。また図16では、図12に示された、第1の実施形態による対話制御処理の動作フローチャートと異なる点について示す。
【0108】
ステップS207にて、認識キーワード抽出部38が抽出したキーワードをキーワードリストに追加登録すると、制御部40の類似度算出部41は、キーワードリストに登録されている各キーワードについてキーワード間類似度を算出する(ステップS401)。そして類似度算出部41は、キーワード間類似度をキーワードリストに書き込む。
【0109】
ステップS401の後、あるいは、ステップS208にて提示情報取得部35が提示情報を取得した後、提示情報取得部35またはサービス識別部36は、サービス履歴リストを更新する(ステップS209)。そしてサービス変化検出部37は、サービス供給源に変化があったか否か判定する(ステップS210)。
【0110】
サービス供給源が変化した場合(ステップS210−Yes)、制御部40の重み更新部42は、キーワードリスト中の各キーワードの時間重み係数を更新する。その際、重み更新部42は、最新のサービス供給源と異なるサービス供給源に関連するキーワードのうち、キーワード間類似度が閾値Ths以上のキーワードについての時間重み係数を、最新のサービス供給源に関連する時間重み係数よりも小さくする。一方、重み更新部42は、キーワード間類似度が閾値Ths未満のキーワードについての時間重み係数を一定値に設定する(ステップS402)。
【0111】
一方、サービス供給源に変更が無い場合(ステップS210−No)、重み更新部42は、キーワード間類似度が閾値Ths以上の各キーワードに対する時間重み係数を、キーワードリストに登録されてからの経過時間が長いほど小さくなるように更新する。一方、重み更新部42は、キーワード間類似度が閾値Ths未満のキーワードについての時間重み係数を一定値に設定する(ステップS403)。
ステップS402またはS403の後、制御部40は、ステップS213以降の処理を実行する。
【0112】
このように、第2の実施形態による対話制御装置は、サービス供給源に特有のキーワードについての時間重み係数を、登録されてからの経過時間にかかわらず一定にできる。そのため、この対話制御装置は、特定のサービス供給源が参照されてから長期間が経過していたとしても、そのサービス供給源に遷移し難くなることを防止できる。
【0113】
なお、第2の実施形態の変形例によれば、最新の情報提供を受けたサービス供給源と、一回前に情報提供を受けたサービス供給源とが異なるか否かにかかわらず、重み更新部24は、ステップS403の処理を実行してもよい。この場合には、制御部40においてサービス変化検出部37は省略されてもよい。
【0114】
次に、第3の実施形態による対話制御装置について説明する。第3の実施形態による対話制御装置は、キーワードリストに登録されている各キーワードについて、そのキーワードが登録された時刻と、そのキーワードに最も類似するキーワードが登録された時刻の差に基づいて時間重み係数を更新する。
なお、第3の実施形態による対話制御装置が有する構成要素は、第2の実施形態による対話制御装置が有する構成要素と同一である。ただし、第3の実施形態による対話制御装置は、第2の実施形態と比較して、制御部の類似度算出部及び重み更新部の処理が異なる。そこで以下では、第2の実施形態と同様に、図13の機能ブロック図を参照しつつ、類似度算出部及び重み更新部について説明する。
【0115】
類似度算出部41は、キーワードリストに登録されている各キーワードについてキーワード間類似度を算出する際、そのキーワードが記憶部32に記憶された時刻と、そのキーワードに最も類似するキーワードが記憶部32に記憶された時刻の差を求める。なお、各キーワードが記憶部32に記憶された時刻は、それらキーワードが作成された時刻と略等しい。そのため、各キーワードが記憶部32に記憶された時刻の差は、それらキーワードについての作成時刻の差として算出できる。
【0116】
図17は、第3の実施形態による対話制御装置における、類似度算出処理の動作フローチャートである。第3の実施形態による類似度算出処理は、第2の実施形態による類似度算出処理と比較して、ステップS304’、ステップS306’及びステップS308’が異なる。そこで以下では、これらのステップについて説明する。類似度算出処理の他のステップについては、図14及び関連する説明を参照されたい。
【0117】
類似度算出部41は、検証キーワード及び比較キーワードを決定すると検証キーワードと比較キーワードの類似度を算出する。さらに類似度算出部41は、キーワードリストを参照して、検証キーワードの作成時刻と比較キーワードの作成時刻との時刻差を求める(ステップS304’)。そして、類似度算出部41は、類似度がそれまでの類似度の最大値よりも大きい場合(ステップS305−Yes)、類似度の最大値を、その類似度に更新する。さらに類似度算出部41は、その最大値に対応する時刻差も、その類似度に対応する時刻差に更新する(ステップS306’)。
そして類似度算出部41は、類似度の最大値を検証キーワードについてのキーワード間類似度とするとともに、対応する時刻差をキーワード時間間隔としてキーワードリストに書き込む(ステップS308’)。
【0118】
図18は、第3の実施形態によるキーワードリストの一例を示す図である。第3の実施形態によるキーワードリスト1800は、第2の実施形態によるキーワードリストと比較して、キーワードごとに、時間単位でキーワード時間間隔1810が記録されている点で異なる。例えば、キーワードリスト1800では、サービス識別子"news.jp"に関連付けられた7個のキーワード"西日本"、"この冬"、"一番の"、"冷え込み"、"奈良市で"、"氷点下"及び"4.2度"について、それぞれ、キーワード時間間隔が、'0.05'、'3.2'、'2.1'、'24'、'30'、'0.1'、'72'であることが示されている。
【0119】
重み更新部42は、キーワードリストが更新される度に、キーワードリストに登録されている各キーワードの時間重み係数を更新する。
本実施形態では、重み更新部42は、第2の実施形態による重み更新部42と同様に、キーワード間類似度、キーワードリストに登録されてからの経過時間、またはサービス供給源の変更の有無に基づいて、各キーワードの時間重み係数を算出する。あるいは、重み更新部42は、第1の実施形態による重み更新部39と同様に、キーワードリストに登録されてからの経過時間、またはサービス供給源の変更の有無に基づいて、各キーワードの時間重み係数を算出してもよい。
【0120】
さらに、重み更新部42は、算出された時間重み係数を、キーワード間類似度及びキーワード作成時間間隔に基づいて補正する。特に、キーワード間類似度が高く、かつ、キーワード作成時間間隔が小さければ、そのキーワードに関連するサービス供給源と、他のサービス供給源とから、互いに類似するキーワードを含む情報が比較的短期間のうちに提供されていることになる。そのため、それらのキーワード間の時間重み係数の差も小さい。そのため、時間重み係数をそのまま利用すると、話者が現在のサービス供給源からの情報提示を継続して利用しようとしている場合でも、誤って他のサービス供給源へ遷移してしまうことがある。
【0121】
そこで、重み更新部42は、あるキーワードについてのキーワード間類似度が所定の閾値Ths以上であり、かつ、キーワード作成時間間隔が所定の期間Thp以下であれば、そのキーワードについての時間重み係数に0以上1未満の係数βを乗じることで補正する。所定の閾値Thsは、例えば、第2の実施形態と同様に、0.5に設定される。また所定の期間Thpは、例えば、0.2〜0.5時間に設定される。なお、キーワードについてのキーワード間類似度が閾値Ths未満、あるいは、キーワード作成時間間隔が期間Thpよりも長ければ、重み更新部42は、そのキーワードについての時間重み係数を補正しない。なお、重み更新部42は、キーワード作成時間間隔が小さいほど、係数βを小さくしてもよい。
重み更新部42は、キーワード作成時間間隔及びキーワード間類似度に基づく時間重み係数の補正を、例えば、図12に示されたステップS211、S212とステップS213の間で実行する。あるいは、重み更新部42は、キーワード作成時間間隔及びキーワード間類似度に基づく時間重み係数の補正を、図16に示されたステップS402、S403とステップS213の間で実行する。
【0122】
再度図18を参照すると、キーワードリスト1800には、補正前の時間重み係数1820が記録されている。ここで、キーワード「西日本」についてのキーワード間類似度は0.8であり、キーワード作成時間間隔は0.05である。閾値Thsが0.5、期間Thpが0.2であれば、キーワード「西日本」についての時間重み係数は係数βを乗じることによって補正される。したがって、係数βが0.2であるとすれば、キーワード「西日本」についての時間重み係数は、1.0×0.2 = 0.2となる。一方、キーワード「冷え込み」についてのキーワード間類似度は0.1で、閾値Thsより低く、キーワード作成時間間隔は24で、期間Thpより長い。そのため、キーワード「冷え込み」についての時間重み係数は補正されず、'1.0'のままとなる。
【0123】
したがって、例えば、ユーザが「西日本の冷え込み」と発声して情報を得ようとすると、マッチングスコアに対する寄与は、「西日本」(時間重み係数0.2×品詞別重み1.0=0.2)よりも「冷え込み」(時間重み係数1.0×品詞別重み0.7=0.7)の方が大きくなる。その結果、サービス供給源を遷移させるか否かの判断は、「西日本」よりもサービス識別子'news.jp'に固有である可能性が高いキーワード「冷え込み」に基づいて行われることになる。その結果として、第3の実施形態による対話制御装置は、サービス供給源を誤って遷移させることを抑制できる。
【0124】
次に、第4の実施形態による対話制御装置について説明する。第4の実施形態による対話制御装置は、各キーワードについて、そのキーワードと関連するサービス供給源と、類似度が最も高い他のキーワードに関連するサービス供給源との間に関連性が認められる場合に、時間重み係数を補正する。
【0125】
なお、第4の実施形態による対話制御装置は、第2の実施形態による対話制御装置と比較して、対話制御装置の一例であるサーバの制御部により実現される機能の一部のみが異なる。そこで以下では、サーバの制御部により実現される機能のうち、第2の実施形態と異なる点について説明する。
【0126】
図19は、第4の実施形態による対話制御装置の一例であるサーバ3の制御部50の機能ブロック図である。制御部50は、認識キーワード決定部34と、提示情報取得部35と、サービス識別部36と、サービス変化検出部37と、認識キーワード抽出部38と、サービス関連度算出部51と、類似度算出部52と、重み更新部53とを有する。
制御部50が有するこれらの各部は、例えば、制御部50が有するプロセッサ上で動作するコンピュータプログラムにより実現される機能モジュールである。なお、制御部50が有するこれらの各部は、それぞれ、別個の回路として、サーバ3に実装されてもよい。さらに、サーバ3が有するこれらの各部は、その各部の機能を実現する一つの集積回路としてサーバ3に実装されてもよい。
【0127】
第4の実施形態による制御部50は、第2の実施形態による制御部40と比較して、サービス関連度算出部51、類似度算出部52及び重み更新部53が異なる。そこで以下では、サービス関連度算出部51、類似度算出部52及び重み更新部53について説明する。
【0128】
サービス関連度算出部51は、対話制御処理が実行される度に、情報を提供したサービス供給源の遷移を調べ、その遷移の回数を、遷移の前後のサービス供給源にそれぞれ対応するサービス識別子の組ごとに記録する。サービス関連度算出部51は、例えば、図12または図16に示されたステップS210にてサービス変化検出部37からサービス供給源が変化したことを通知されると、記憶部32に記憶されるサービス遷移履歴テーブルを更新する。
【0129】
図20は、サービス遷移履歴テーブルの一例を示す図である。サービス遷移履歴テーブル2000において、左端の列2001には、遷移前のサービス供給源に対応するサービス識別子が表されている。また上端の行2002には、遷移後のサービス供給源に対応するサービス識別子が表されている。そして右端の列2003には、左端に示されたサービス識別子に対応するサービス供給源から他のサービス供給源へ遷移した回数の合計が記録されている。
例えば、サービス遷移履歴テーブル2000では、サービス識別子'tennki.jp'に対応するサービス供給源からは、サービス識別子'news.jp'に対応するサービス供給源へ101回遷移することが示されている。同様に、サービス識別子'tennki.jp'に対応するサービス供給源からサービス識別子'chirashi.jp'に対応するサービス供給源へ3回遷移することが示されている。さらに、サービス遷移履歴テーブル2000では、サービス識別子'tennki.jp'に対応するサービス供給源から他のサービス供給源へ遷移した回数の合計が104回であることが示されている。
【0130】
サービス関連度算出部51は、例えば、サービス変化検出部37から、サービス識別子'tennki.jp'に対応するサービス供給源からサービス識別子'news.jp'に対応するサービス供給源へ遷移されたことを通知されたとする。この場合、サービス関連度算出部51は、サービス遷移履歴テーブル2000において、左端の列中のサービス識別子'tennki.jp'と、上端の行中のサービス識別子'news.jp'とに対応する欄に示された回数を1インクリメントする。したがって、サービス識別子'tennki.jp'に対応するサービス供給源からサービス識別子' news.jp'に対応するサービス供給源への遷移回数は102回となる。また、サービス関連度算出部51は、サービス遷移履歴テーブル2000の左端の欄にサービス識別子'tennki.jp'が示された行の右端の遷移回数の合計も1インクリメントする。すなわち、その合計は105となる。
【0131】
さらに、サービス関連度算出部51は、サービス遷移履歴テーブルを参照して、二つのサービス供給源の組の関連度であるサービス関連度を算出する。本実施形態では、サービス関連度は、二つのサービス供給源のうちの一方のサービス供給源についての遷移回数の合計に対する、その一方のサービス供給源から他方のサービス供給源へ遷移した回数の比で表される。なお、遷移前のサービス供給源と遷移後のサービス供給源が逆になることで、その二つのサービス供給源間のサービス関連度が異なる場合、サービス関連度算出部51は、高い方のサービス関連度をその二つのサービス供給源間のサービス関連度とする。例えば、再度図20を参照すると、サービス識別子'tennki.jp'に対応するサービス供給源からサービス識別子'news.jp'に対応するサービス供給源へ遷移する場合のサービス関連度は、101/104=0.97となる。一方、サービス識別子'news.jp'に対応するサービス供給源からサービス識別子'tennki.jp'に対応するサービス供給源へ遷移する場合のサービス関連度は、32/36=0.89となる。そこでサービス関連度算出部51は、サービス識別子'tennki.jp'に対応するサービス供給源とサービス識別子'news.jp'に対応するサービス供給源間のサービス関連度を0.97とする。
なお、あるサービス供給源を遷移元とする遷移回数の合計が所定の閾値(例えば、50回)未満である場合には、サービス関連度算出部51は、そのサービス供給源と他のサービス供給源間のサービス関連度を'0'としてもよい。
【0132】
類似度算出部52は、第2の実施形態による類似度算出部52と同様に、キーワードリストに登録された各キーワードについてのキーワード間類似度を算出する。その際、類似度算出部52は、各キーワードについて、そのキーワードに対応するサービス供給源と、そのキーワードと最も類似するキーワードに対応するサービス供給源との間のサービス関連度を、そのキーワードに関連付けてキーワードリストに書き込む。
【0133】
重み更新部53は、キーワードリストが更新される度に、キーワードリストに登録されている各キーワードの時間重み係数を更新する。
本実施形態では、重み更新部53は、第2の実施形態による重み更新部42と同様に、キーワード間類似度、キーワードリストに登録されてからの経過時間、またはサービス供給源の変更の有無に基づいて、各キーワードの時間重み係数を算出する。あるいは、重み更新部52は、第1の実施形態による重み更新部39と同様に、キーワードリストに登録されてからの経過時間、またはサービス供給源の変更の有無に基づいて、各キーワードの時間重み係数を算出してもよい。
【0134】
さらに、重み更新部52は、算出された時間重み係数を、キーワード間類似度及びサービス関連度に基づいて補正する。特に、キーワード間類似度が高く、かつ、サービス関連度が高いキーワードについては、そのキーワードに対応するサービス供給源と、そのキーワードと最も類似する他のキーワードに対応するサービス供給源との間で頻繁に遷移が行われている。そこで、重み更新部52は、キーワード間類似度が所定の閾値Ths以上であり、かつ、サービス関連度が所定の閾値Thr以上であるキーワードについての時間重み係数を、そのキーワードと最も類似するキーワードの時間重み係数と同一の値とする。例えば、重み更新部52は、その二つのキーワードの時間重み係数のうち、高い方の値をそれぞれの時間重み係数とする。なお、閾値Thsは、第2の実施形態と同様に、例えば、0.5に設定される。一方、閾値Thrは、例えば、二つのサービス供給源間に何らかの関連性が認められるサービス関連度の最小値、例えば、0.8に設定される。
これにより、第4の実施形態による対話制御装置は、関連性が高い二つのサービス供給源間での遷移を正しく行える確率を高めることができる。
【0135】
上記の各実施形態に対する変形例によれば、重み更新部は、サービス履歴リストが更新されたときでなく、一定期間(例えば、30秒〜1時間の範囲内の何れか)が経過する度に、時間重み係数を更新してもよい。あるいは、重み更新部は、外部情報源から新たな提示情報が取得されたときに限り、時間重み係数を更新してもよい。この場合には、サービス変化検出部の処理が複雑になることを防止するために、サービス履歴リストにも、外部情報源から新たな提示情報が取得されたときにのみ、サービス識別子及び情報識別子が追加されることが好ましい。
【0136】
また他の変形例によれば、キーワードリストに登録されるキーワードは、特定の種類の品詞の単語であってもよい。例えば、その特定の種類の品詞は、固有名詞とすることができる。さらに、認識キーワード決定部は、類似度を算出する際に、各品詞に対する重み係数を同一としてもよい。この場合、品詞の重み係数は固定値として記憶部に予め記憶されるので、キーワードリストは、品詞の重み係数を含まなくてもよい。
【0137】
さらに他の変形例によれば、キーワードリストには、特定の外部情報源が有する特定の情報と関連付けられた特定のキーワード、サービス識別子及び情報識別子が登録されていてもよい。また提示情報リストにも、その特定の外部情報源に対応するサービス識別子及び情報識別子と対応付けて、その外部情報源が有する特定の情報の位置を表すリンク先のアドレスが登録されていてもよい。これにより、ユーザは、その特定のキーワードを発声することにより、常に特定の情報の提示を受けることができる。
【0138】
さらに他の変形例によれば、上記の実施形態またはその変形例における、端末が有する各部と、サーバが有する各部は、一つの装置に搭載されていてもよい。そしてその装置が有する一つまたは複数のプロセッサが、端末の処理部の各機能と、サーバの制御部の各機能を実行してもよい。
あるいは、端末の処理部が有する音声認識の機能は、通信ネットワークを介して端末及びサーバと接続された音声認識用サーバが有してもよい。この場合には、端末から音声認識用サーバへ音声信号が送られ、音声認識用サーバが認識候補単語のセットをサーバへ送信する。
【0139】
さらに、上記の実施形態による対話制御装置の端末の処理部が有する各機能をコンピュータに実現させるコンピュータプログラムは、コンピュータによって読み取り可能な媒体、例えば、磁気記録媒体、光記録媒体または半導体メモリに記録された形で提供されてもよい。同様に、サーバの制御部が有する各機能をコンピュータに実現させるコンピュータプログラムは、コンピュータによって読み取り可能な媒体、例えば、磁気記録媒体、光記録媒体または半導体メモリに記録された形で提供されてもよい。
【0140】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【0141】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
(付記1)
テキスト情報を含む提示情報を識別する情報識別子と該提示情報の供給源を識別するサービス識別子との複数の組と、当該複数の組のそれぞれについて関連する1以上のキーワード及び当該キーワードについて設定された重み係数とを記憶する記憶部と、
前記各キーワードについて、音声入力部を介して入力された音声信号から検出された少なくとも一つの認識候補単語との類似度を、当該キーワード中で前記少なくとも一つの認識候補単語と一致する部分が多く、かつ、前記重み係数が大きいほど大きくなるように算出し、当該類似度が最大となるキーワードを検出するキーワード決定部と、
前記検出されたキーワードと関連する前記サービス識別子及び前記情報識別子の組により特定される提示情報を取得し、該提示情報をユーザに通知する出力部へ出力する提示情報取得部と、
複数の前記サービス識別子のうち、前記取得された現在の提示情報の供給源を表す第1のサービス識別子と、当該現在の提示情報よりも前に取得された提示情報の供給源を表す第2のサービス識別子との差異の有無に基づいて、当該第1のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数と、当該第2のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数を更新する重み更新部と、
を有する対話制御装置。
(付記2)
前記重み更新部が、前記第1のサービス識別子と、前記第2のサービス識別子とが異なる場合、前記第1のサービス識別子と関連付けられたキーワードについて設定された重み係数を、前記第2のサービス識別子と関連付けられたキーワードについて設定された重み係数よりも大きくする、付記1に記載の対話制御装置。
(付記3)
現在の提示情報の取得時を含む第1の期間における提示情報の供給源の変化を表す第1の判定結果と、前記第1の期間よりも長い第2の期間における提示情報の供給源の変化を表す第2の判定結果の組み合わせに応じて、提供情報の供給源が変更されたことを表す「変化有り」、提供情報の供給源が変更されていないことを表す「変化無し」、及び提供情報の供給源が変更されたか否かが不確定であることを表す「変化不確定」の3つの変化結果のうちの何れかを出力する変化検出部をさらに有し、
前記重み更新部は、前記変化検出部から出力された変化結果に応じて、前記第1のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数と、前記第2のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数を更新する、付記1または2に記載の対話制御装置。
(付記4)
前記変化検出部は、前記第1のサービス識別子と、一回前の提示情報の供給源を表す第3のサービス識別子が一致しているか否かを前記第1の判定結果とする、付記3に記載の対話制御装置。
(付記5)
前記変化検出部は、最新の提示情報よりも前のN回の間に継続して提供された提示情報の供給源を表す第4のサービス識別子と、最新の提示情報を含むM回の間に継続して提供された提示情報の供給源を表す第5のサービス識別子とが一致しているか否かを前記第2の判定結果とし、該N及びMは、2以上の整数である、付記3または4に記載の対話制御装置。
(付記6)
前記変化検出部は、
前記第1の判定結果が、前記第1のサービス識別子と前記第3のサービス識別子が一致しているとの結果である場合は前記変化結果として前記「変化無し」を出力し、
前記第1の判定結果が、前記第1のサービス識別子と前記第3のサービス識別子が一致していないとの結果であり、且つ、前記第2の判定結果が、前記第4のサービス識別子と前記第5のサービス識別子が一致しているとの結果である場合は前記変化結果として前記「変化無し」を出力し、
前記第1の判定結果が、前記第1のサービス識別子と前記第3のサービス識別子が一致していないとの結果であり、且つ、前記第2の判定結果が、前記第4のサービス識別子と前記第5のサービス識別子が一致していないとの結果である場合は、前記変化結果として前記「変化不確定」を出力し、
前記第1の判定結果が、前記第1のサービス識別子と前記第3のサービス識別子が一致しているとの結果であり、且つ、前記第2の判定結果が、前記第4のサービス識別子と前記第5のサービス識別子が一致していないとの結果である場合は、前記変化結果として前記「変化有り」を出力する、
付記5に記載の対話制御装置。
(付記7)
前記重み更新部は、前記変化検出部により出力された変化結果が前記「変化有り」または前記「変化無し」である場合に、前記第1のサービス識別子と関連付けられたキーワードについて設定された重み係数を、前記第1のサービス識別子と関連付けられていないキーワードについて設定された重み係数よりも大きくし、一方、前記変化結果が前記「変化不確定」である場合に、前記第1のサービス識別子と関連付けられたキーワードについて設定された重み係数と、前記第2のサービス識別子と関連付けられたキーワードについて設定された重み係数とを同じ比率で更新する、付記5または6に記載の対話制御装置。
(付記8)
前記重み更新部は、前記第1のサービス識別子と前記第2のサービス識別子とが一致する場合、前記複数のキーワードのそれぞれに対応する前記重み係数を、前記記憶部に記憶されてからの経過時間が長いほど小さくする、付記1〜7の何れか一項に記載の対話制御装置。
(付記9)
前記提示情報取得部は、前記検出されたキーワードと関連する前記サービス識別子及び前記情報識別子の組により特定される情報がリンク先のアドレスを含む場合、当該アドレスで示された提示情報の供給源から前記提示情報を取得し、当該供給源を表すサービス識別子を前記第1のサービス識別子とする、付記1〜8の何れか一項に記載の対話制御装置。
(付記10)
前記アドレスで示された提示情報の供給源から取得された前記提示情報から1以上の前記キーワードを抽出し、該抽出されたキーワードに対して前記重み係数として所定の値を設定するとともに、該抽出されたキーワードと該設定された重み係数を前記記憶部に記憶させるキーワード抽出部をさらに有する、付記9に記載の対話制御装置。
(付記11)
複数の前記キーワードのそれぞれについて、当該キーワードと関連する前記サービス識別子と異なるサービス識別子と関連する他のキーワードのうち、最も類似するキーワードとの類似度合いを表すキーワード間類似度を算出する類似度算出部をさらに有し、
前記重み更新部は、複数の前記キーワードのそれぞれについて、当該キーワードについての前記キーワード間類似度に基づいて前記重み係数を決定する、付記1に記載の対話制御装置。
(付記12)
前記重み更新部は、複数の前記キーワードのうち、前記キーワード間類似度が他のキーワードと類似していないことを表す値であるキーワードに対する前記重み係数を前記記憶部に記憶されてからの経過時間にかかわらず一定値とし、一方、複数の前記キーワードのうち、前記キーワード間類似度が他のキーワードと少なくとも一部が類似していることを表す値であるキーワードに対する前記重み係数を前記記憶部に記憶されてからの経過時間が長いほど小さくする、付記11に記載の対話制御装置。
(付記13)
前記一定値は、前記キーワード間類似度が他のキーワードと少なくとも一部が類似していることを表す値であるキーワードに対する前記重み係数よりも大きい値である、付記12に記載の対話制御装置。
(付記14)
前記類似度算出部は、複数の前記キーワードのそれぞれについて、当該キーワードが前記記憶部に記憶された時刻と、当該キーワードについての前記最も類似するキーワードが前記記憶部に記憶された時刻との差をさらに求め、
前記重み更新部は、複数の前記キーワードのうち、前記キーワード間類似度が他のキーワードと少なくとも一部が類似していることを表す値であり、かつ、前記時刻の差が小さいキーワードほど、前記重み係数を小さい値とする、付記11に記載の対話制御装置。
(付記15)
複数の提示情報の供給源のうちの二つの供給源間の遷移の頻度が高いほど、当該二つの供給源間の関連度を高くするように、該関連度を算出する関連度算出部をさらに有し、
前記類似度算出部は、複数の前記キーワードのそれぞれについて、当該キーワードと関連する前記提示情報の供給源と、当該キーワードについての前記最も類似するキーワードと関連する前記提示情報の供給源間の前記関連度を、当該キーワードと対応付け、
前記重み更新部は、複数の前記キーワードのそれぞれについて、当該キーワードに対応する前記関連度が二つの提示情報の供給源間に関連性があることを表す値であれば、当該キーワードについての前記重み係数と、当該キーワードについての前記最も類似するキーワードについての重み係数と一致させる、付記11に記載の対話制御装置。
(付記16)
テキスト情報を含む提示情報を識別する情報識別子と該提示情報の供給源を識別するサービス識別子との複数の組と、当該複数の組のそれぞれについて関連する1以上のキーワード及び当該キーワードについて設定された重み係数とを記憶する記憶部と、
複数の前記キーワードのそれぞれについて、音声入力部を介して入力された音声信号から検出された少なくとも一つの認識候補単語との類似度を、当該キーワード中で前記少なくとも一つの認識候補単語と一致する部分が多く、かつ、前記重み係数が大きいほど大きくなるように算出し、当該類似度が最大となるキーワードを検出するキーワード決定部と、
前記検出されたキーワードと関連する前記サービス識別子及び前記情報識別子の組により特定される提示情報を取得し、該提示情報をユーザに通知する出力部へ出力する提示情報取得部と、
複数の前記キーワードのそれぞれについて、当該キーワードと関連する前記サービス識別子と異なるサービス識別子と関連する他のキーワードのうち、最も類似するキーワードとの類似度合いを表すキーワード間類似度を算出する類似度算出部と、
複数の前記キーワードのそれぞれについて、当該キーワードについての前記キーワード間類似度に基づいて前記重み係数を決定する重み更新部と、
を有する対話制御装置。
(付記17)
音声入力部を介して入力された音声信号から少なくとも一つの認識候補単語を検出し、
テキスト情報を含む提示情報を識別する情報識別子と該提示情報の供給源を識別するサービス識別子との複数の組のそれぞれに関連付けられたキーワードについて、前記少なくとも一つの認識候補単語との類似度を、当該キーワード中で前記少なくとも一つの認識候補単語と一致する部分が多く、かつ、当該キーワードについて設定された重み係数が大きいほど大きくなるように算出し、当該類似度が最大となるキーワードを検出し、
前記検出されたキーワードと関連する前記サービス識別子及び前記情報識別子の組により特定される提示情報を取得し、該提示情報をユーザに通知する出力部へ出力し、
複数の前記サービス識別子のうち、前記取得された現在の提示情報の供給源を表す第1のサービス識別子と、当該現在の提示情報よりも前に取得された提示情報の供給源を表す第2のサービス識別子との差異の有無に基づいて、当該第1のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数と、当該第2のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数を更新する、
ことを含む対話制御方法。
(付記18)
音声入力部を介して入力された音声信号から少なくとも一つの認識候補単語を検出し、
テキスト情報を含む提示情報を識別する情報識別子と該提示情報の供給源を識別するサービス識別子との複数の組のそれぞれに関連付けられたキーワードについて、前記少なくとも一つの認識候補単語との類似度を、当該キーワード中で前記少なくとも一つの認識候補単語と一致する部分が多く、かつ、当該キーワードについて設定された重み係数が大きいほど大きくなるように算出し、当該類似度が最大となるキーワードを検出し、
前記検出されたキーワードと関連する前記サービス識別子及び前記情報識別子の組により特定される提示情報を取得し、該提示情報をユーザに通知する出力部へ出力し、
複数の前記サービス識別子のうち、前記取得された現在の提示情報の供給源を表す第1のサービス識別子と、当該現在の提示情報よりも前に取得された提示情報の供給源を表す第2のサービス識別子との差異の有無に基づいて、当該第1のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数と、当該第2のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数を更新する、
ことをコンピュータに実行させる対話制御用コンピュータプログラム。
【符号の説明】
【0142】
1 対話制御システム
2 端末
3 サーバ(対話制御装置)
4 通信ネットワーク
5 外部情報源
21 音声入力部
22 音声出力部
23 通信部
24 記憶部
25 処理部
26 音声認識部
27 音声合成部
31 通信部
32 記憶部
33、40、50 制御部
34 認識キーワード決定部
35 提示情報取得部
36 サービス識別部
37 サービス変化検出部
38 認識キーワード抽出部
39、42、53 重み更新部
41、52 類似度算出部
51 サービス関連度算出部

【特許請求の範囲】
【請求項1】
テキスト情報を含む提示情報を識別する情報識別子と該提示情報の供給源を識別するサービス識別子との複数の組と、当該複数の組のそれぞれについて関連する1以上のキーワード及び当該キーワードについて設定された重み係数とを記憶する記憶部と、
前記各キーワードについて、音声入力部を介して入力された音声信号から検出された少なくとも一つの認識候補単語との類似度を、当該キーワード中で前記少なくとも一つの認識候補単語と一致する部分が多く、かつ、前記重み係数が大きいほど大きくなるように算出し、当該類似度が最大となるキーワードを検出するキーワード決定部と、
前記検出されたキーワードと関連する前記サービス識別子及び前記情報識別子の組により特定される提示情報を取得し、該提示情報をユーザに通知する出力部へ出力する提示情報取得部と、
複数の前記サービス識別子のうち、前記取得された現在の提示情報の供給源を表す第1のサービス識別子と、当該現在の提示情報よりも前に取得された提示情報の供給源を表す第2のサービス識別子との差異の有無に基づいて、当該第1のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数と、当該第2のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数を更新する重み更新部と、
を有する対話制御装置。
【請求項2】
前記重み更新部が、前記第1のサービス識別子と、前記第2のサービス識別子とが異なる場合、前記第1のサービス識別子と関連付けられたキーワードについて設定された重み係数を、前記第2のサービス識別子と関連付けられたキーワードについて設定された重み係数よりも大きくする、請求項1に記載の対話制御装置。
【請求項3】
現在の提示情報の取得時を含む第1の期間における提示情報の供給源の変化を表す第1の判定結果と、前記第1の期間よりも長い第2の期間における提示情報の供給源の変化を表す第2の判定結果の組み合わせに応じて、提供情報の供給源が変更されたことを表す「変化有り」、提供情報の供給源が変更されていないことを表す「変化無し」、及び提供情報の供給源が変更されたか否かが不確定であることを表す「変化不確定」の3つの変化結果のうちの何れかを出力する変化検出部をさらに有し、
前記重み更新部は、前記変化検出部から出力された変化結果に応じて、前記第1のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数と、前記第2のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数を更新する、請求項1または2に記載の対話制御装置。
【請求項4】
複数の前記キーワードのそれぞれについて、当該キーワードと関連する前記サービス識別子と異なるサービス識別子と関連する他のキーワードのうち、最も類似するキーワードとの類似度合いを表すキーワード間類似度を算出する類似度算出部をさらに有し、
前記重み更新部は、複数の前記キーワードのそれぞれについて、当該キーワードについての前記キーワード間類似度に基づいて前記重み係数を決定する、請求項1に記載の対話制御装置。
【請求項5】
前記重み更新部は、複数の前記キーワードのうち、前記キーワード間類似度が他のキーワードと類似していないことを表す値であるキーワードに対する前記重み係数を前記記憶部に記憶されてからの経過時間にかかわらず一定値とし、一方、複数の前記キーワードのうち、前記キーワード間類似度が他のキーワードと少なくとも一部が類似していることを表す値であるキーワードに対する前記重み係数を前記記憶部に記憶されてからの経過時間が長いほど小さくする、請求項4に記載の対話制御装置。
【請求項6】
前記類似度算出部は、複数の前記キーワードのそれぞれについて、当該キーワードが前記記憶部に記憶された時刻と、当該キーワードについての前記最も類似するキーワードが前記記憶部に記憶された時刻との差をさらに求め、
前記重み更新部は、複数の前記キーワードのうち、前記キーワード間類似度が他のキーワードと少なくとも一部が類似していることを表す値であり、かつ、前記時刻の差が小さいキーワードほど、前記重み係数を小さい値とする、請求項4に記載の対話制御装置。
【請求項7】
複数の提示情報の供給源のうちの二つの供給源間の遷移の頻度が高いほど、当該二つの供給源間の関連度を高くするように、該関連度を算出する関連度算出部をさらに有し、
前記類似度算出部は、複数の前記キーワードのそれぞれについて、当該キーワードと関連する前記提示情報の供給源と、当該キーワードについての前記最も類似するキーワードと関連する前記提示情報の供給源間の前記関連度を、当該キーワードと対応付け、
前記重み更新部は、複数の前記キーワードのそれぞれについて、当該キーワードに対応する前記関連度が二つの提示情報の供給源間に関連性があることを表す値であれば、当該キーワードについての前記重み係数と、当該キーワードについての前記最も類似するキーワードについての重み係数と一致させる、請求項4に記載の対話制御装置。
【請求項8】
音声入力部を介して入力された音声信号から少なくとも一つの認識候補単語を検出し、
テキスト情報を含む提示情報を識別する情報識別子と該提示情報の供給源を識別するサービス識別子との複数の組のそれぞれに関連付けられたキーワードについて、前記少なくとも一つの認識候補単語との類似度を、当該キーワード中で前記少なくとも一つの認識候補単語と一致する部分が多く、かつ、当該キーワードについて設定された重み係数が大きいほど大きくなるように算出し、当該類似度が最大となるキーワードを検出し、
前記検出されたキーワードと関連する前記サービス識別子及び前記情報識別子の組により特定される提示情報を取得し、該提示情報をユーザに通知する出力部へ出力し、
複数の前記サービス識別子のうち、前記取得された現在の提示情報の供給源を表す第1のサービス識別子と、当該現在の提示情報よりも前に取得された提示情報の供給源を表す第2のサービス識別子との差異の有無に基づいて、当該第1のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数と、当該第2のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数を更新する、
ことを含む対話制御方法。
【請求項9】
音声入力部を介して入力された音声信号から少なくとも一つの認識候補単語を検出し、
テキスト情報を含む提示情報を識別する情報識別子と該提示情報の供給源を識別するサービス識別子との複数の組のそれぞれに関連付けられたキーワードについて、前記少なくとも一つの認識候補単語との類似度を、当該キーワード中で前記少なくとも一つの認識候補単語と一致する部分が多く、かつ、当該キーワードについて設定された重み係数が大きいほど大きくなるように算出し、当該類似度が最大となるキーワードを検出し、
前記検出されたキーワードと関連する前記サービス識別子及び前記情報識別子の組により特定される提示情報を取得し、該提示情報をユーザに通知する出力部へ出力し、
複数の前記サービス識別子のうち、前記取得された現在の提示情報の供給源を表す第1のサービス識別子と、当該現在の提示情報よりも前に取得された提示情報の供給源を表す第2のサービス識別子との差異の有無に基づいて、当該第1のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数と、当該第2のサービス識別子と関連付けられた前記キーワードについて設定された前記重み係数を更新する、
ことをコンピュータに実行させる対話制御用コンピュータプログラム。

【図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

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2013−11843(P2013−11843A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−225261(P2011−225261)
【出願日】平成23年10月12日(2011.10.12)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】