〔実施形態1〕
以下、本発明の実施形態1について、図1から10に基づいて詳細に説明する。まず、本実施形態に係る対話システムの概要を図2に基づいて説明する。図2は、対話システム(発話制御システム)5の概要を示す図である。
図示のように、対話システム5は、発話制御サーバ(発話制御装置)1と対話装置(発話装置)3とを含む。発話制御サーバ1は、対話装置3を制御して所定の発話を行わせるサーバであり、対話装置3は、発話制御サーバ1の制御に従って発話することにより、ユーザと音声で対話する。なお、同図では、対話装置3が、自動で床の掃除を行う自走掃除ロボットである例を示しているが、発話機能のみを備えていてもよく、発話以外の任意の機能を備えていてもよい。つまり、対話装置3は、発話制御サーバ1の制御に従って発話する(音声出力する)機能を備えていればよい。
対話システム5の主な特徴点は、発話制御サーバ1が、TV(テレビジョン受像機、出力装置)500にて視聴されている番組に応じた内容で対話装置3に発話させる点にある。より具体的には、発話制御サーバ1は、TV500の出力している番組を示す視聴番組情報と、TV500を識別するためのTVIDとを、TV500から受信する。そして、発話制御サーバ1は、受信した視聴番組情報が示す番組に応じた発話内容を、上記受信したTVIDが示すTVと予め対応付けられた対話装置3に通知して発話させる。これにより、発話制御サーバ1から対話装置3に番組の映像などを送信することなく、ユーザの視聴している番組に応じた内容で対話装置3に発話させることができる。
なお、同図では簡単のため、TV500と対話装置3を各1つ記載している。しかしながら、発話制御サーバ1は、対話装置3とTV500との組が複数存在する場合であっても、各TV500が出力している番組に応じた内容で、そのTV500に対応する対話装置3に発話させることができる。
〔構成の詳細〕
続いて、対話システム5に含まれる各装置の構成の詳細を図1に基づいて説明する。図1は、発話制御サーバ1および対話装置3の要部構成を示すブロック図である。なお、同図では、対話システム5の構成要素ではないTV500の要部構成についても併せて示している。
〔発話制御サーバ1の要部構成〕
図示のように、発話制御サーバ1は、発話制御サーバ1にて使用する各種データを記憶するサーバ記憶部10と、発話制御サーバ1を統括して制御するサーバ制御部20とを備えている。なお、発話制御サーバ1は、対話装置3の制御やインターネット上の情報にアクセスするための通信部、および発話制御サーバ1にデータを入力するための入力部などのブロックを備えているが、これらのブロックについては図示を省略している。
サーバ記憶部10には、番組情報テーブル11、広告検索情報テーブル12、番組検索情報テーブル13、TV−視聴番組対応情報14、番組−発話内容対応情報15、TV−対話装置対応情報(対応情報)16、および発話管理情報17が格納されている。また、サーバ制御部20は、番組情報取得部21(スポンサー特定手段)、関連情報取得部(関連情報取得手段)22、視聴番組情報取得部(コンテンツ特定手段)23、発話内容生成部(発話内容生成手段)24、発話対象特定部(発話対象特定手段)25、および発話制御部(発話制御手段)26を含む。
番組情報テーブル11、広告検索情報テーブル12、および番組検索情報テーブル13は、番組に応じた発話内容を生成するための情報であり、例えば図3に示すようなデータであってもよい。図3は、番組に応じた発話内容を生成するための情報の一例を示す図である。
図3の(a)には、番組情報テーブル11の一例を示している。この番組情報テーブル11は、番組を識別する番組IDと、該番組の開始時刻および終了時刻とが対応付けられたテーブルである。番組情報テーブル11を参照することにより、現在放送中の番組およびその番組の終了時刻を特定することができるので、放送前または放送後の番組についての発話内容を生成することや、番組の開始、終了時刻に応じた発話タイミングを設定することが可能になる。例えば、放送開始時刻の5分前に、その番組が5分後に開始されることをユーザに伝える発話内容を生成することもできる。また、例えば、番組の放送終了時刻の5分後に、その番組に関する発話を行わせることや、発話内容の有効期限を放送終了時刻またはその近傍に設定することも可能になる。なお、このような発話制御が不要であれば、開始時刻と終了時刻の情報は省略し、放送中の番組の番組IDのみを登録すればよい。
図3の(b)には、番組検索情報テーブル13の一例を示している。この番組検索情報テーブル13は、番組を識別する番組IDと、該番組の関連情報の検索に用いる検索キーワードとが対応付けられたテーブルである。番組検索情報テーブル13を参照することにより、各番組の関連情報(以下、番組関連情報とも呼ぶ)をキーワード検索によって検出することができる。
図3の(c)には、広告検索情報テーブル12の一例を示している。この広告検索情報テーブル12は、番組を識別する番組IDと、該番組のジャンルと、該番組のスポンサーを示すスポンサーIDとが対応付けられたテーブルである。広告検索情報テーブル12を参照することにより、各番組、またはそのスポンサーに応じた広告に関する発話内容を生成することができる。例えば、広告検索情報テーブル12に含まれるジャンルを用いることにより、発話制御サーバ1または他の装置に予め格納された広告のうち、番組のジャンルに応じた広告を特定し、その広告を発話内容とすることができる。また、例えば、広告検索情報テーブル12に含まれるスポンサーIDを用いることにより、発話制御サーバ1または他の装置に予め格納された広告のうち、その番組のスポンサーの広告を特定して発話内容とすることができる。
さらに、広告検索情報テーブル12と、図3の(d)に示すような広告スポンサー管理テーブルとを併用して、発話内容を決定することもできる。図3の(d)に示す広告スポンサー管理テーブルは、スポンサーIDと、該IDで特定されるスポンサーのスポンサー名と、発話内容とが対応付けられたテーブルである。広告検索情報テーブル12と広告スポンサー管理テーブルとを参照することにより、番組のスポンサーに応じた発話内容を生成することができる。
例えば、図3の(d)の例では、SP0001に対し、スポンサー名である「スポンサー1」と、発話内容である「スポンサー1の広告です」が対応付けられている。これにより、SP0001がスポンサーである番組を出力しているテレビ500のユーザに対し、対話装置3から「スポンサー1の広告です」との発話を行わせることが可能になる。なお、発話内容はスポンサーの所望の内容とすればよく、例えばスポンサーやその商品、サービスなどのPRであってもよい。また、各スポンサーのコマーシャルが放送される時刻が既知であれば、その放送時刻に合わせて上記の発話を行わせることも可能である。また、図3の(d)において、スポンサー名に「汎用」が含まれているレコードのように、特定のスポンサーを対象としない広告を発話内容としてもよい。
なお、広告を発話内容とする場合、番組に登場する商品やサービスをPRする発話内容としてもよい。例えば、番組に登場する地域、店舗、出演者の身に付けている衣服や装飾品等をPRする発話内容を生成してもよい。この場合、番組に登場する地域、店舗、出演者の身に付けている衣服や装飾品をPRしたい者がこのような発話内容を生成して、その番組と対応付けて発話制御サーバ1に登録または送信すればよい。
番組−発話内容対応情報15は、発話内容生成部24が生成した発話内容と、その発話内容に対応する番組とを対応付けた情報であり、発話内容生成部24によって生成される。また、番組−発話内容対応情報15は、当該発話内容で発話するタイミングを指定する情報を含んでいてもよい。
例えば、番組−発話内容対応情報15は、図4のようなデータであってもよい。図4は、番組−発話内容対応情報15の一例を示す図である。図示の番組−発話内容対応情報15は、番組を識別する番組IDと、発話内容と、発話タイミングとが対応付けられたテーブルであり、各レコードには連番でナンバーが付されている。これにより、番組に応じた発話内容と、その発話内容で発話すべきタイミングを特定することができる。なお、同図の「即時」は、特定の時刻になるのを待つことなく、発話が可能な状態になり次第、発話させることを示している。
TV−視聴番組対応情報14は、TV500と該TV500で出力中の番組とを対応付けた情報である。TV−視聴番組対応情報14は、視聴番組情報取得部23により生成され、TV500の出力する番組が切り替えられた場合には更新される。
例えば、TV−視聴番組対応情報14は、図5に示すようなデータであってもよい。図5は、TV−視聴番組対応情報14の一例を示す図である。図示のTV−視聴番組対応情報14は、TV500を識別するTVIDと、該TVIDで識別されるTV500で出力中の番組の番組IDとが対応付けられたテーブルであり、各レコードには連番でナンバーが付されている。これにより、複数のTV500が存在する場合であっても、各TV500で出力中の番組を特定することができる。
TV−対話装置対応情報16は、TV500と対応付けられた対話装置3を示す情報である。発話制御サーバ1は、対話装置3の発話を制御するサーバであり、制御対象である対話装置3を特定することは可能である。このため、対話装置3と同じ部屋で使用するTV500の登録を、例えばその対話装置3のユーザから受け付けることによって、TV−対話装置対応情報16を生成することができる。
TV−対話装置対応情報16は、例えば図6の(a)に示すようなデータであってもよい。図6は、対話装置3とTV500で出力中の番組との対応を特定するために用いるデータを示す図であり、(a)はTV−対話装置対応情報16の一例を示し、(b)は対話装置−視聴番組対応情報の一例を示す。図示のTV−対話装置対応情報16は、TV500を識別するTVIDと、対話装置3を識別する対話装置IDとが対応付けられたテーブルであり、各レコードには連番でナンバーが付されている。これにより、複数のTV500が存在する場合であっても、各TV500に対応する(各TV500と共に使用される)対話装置3をそれぞれ特定することができる。
なお、ここでは、図4に示したような、TV500が出力中の番組を示す番組IDと発話内容とが対応付けられた番組−発話内容対応情報15を用いることを想定している。このため、TV−視聴番組対応情報14とTV−対話装置対応情報16とを用いて、TV500が出力中の番組と、このTV500に対応する対話装置3との対応を特定する。このため、TV−視聴番組対応情報14を格納する代わりに、図6の(b)に示すような対話装置−視聴番組対応情報を格納してもよい。
発話管理情報17は、対話装置3に発話を行わせるための管理情報であり、発話制御部26によって生成・更新される。発話管理情報17は、例えば図7に示すようなデータであってもよい。図7は、発話管理情報17の一例を示す図である。図示の発話管理情報17は、発話させる対話装置3を識別する対話装置IDと、発話内容と、該発話内容に対する想定応答と、該想定応答に対する2次発話と、有効期限とが対応付けられたテーブルであり、各レコードには連番でナンバーが付されている。
なお、想定応答とは、発話内容に対するユーザの応答内容を予め想定して登録したものである。また、2次発話は、ユーザが想定応答を行った場合に、対話装置3に発話させる発話内容を示す。想定応答および2次発話における「汎用」は、特定の想定応答または2次発話が設定されていないことを意味しており、想定応答および2次発話が「汎用」の発話内容で発話した後は、対話装置3はユーザの発話内容に応じて予め定められた応答を行う。有効期限は、該当レコードの発話を行わせる期限を示し、この期限を過ぎても発話指示を行っていないレコードに基づく発話指示は行われない。
このような発話管理情報17を参照することにより、複数の対話装置3のそれぞれについて、各対話装置3に対応付けられたTV500が出力中の番組に応じた発話を行わせることができる。また、ユーザが対話装置3に対して想定応答を行った場合に、当該対話装置3に2次発話を行わせることができる。
番組情報取得部21は、放送中の番組を示す番組情報を取得する。例えば、番組情報取得部21は、EPG(Electronic Program Guide)から、現在の時刻に放送している番組を特定し、上記番組情報として取得してもよい。EPGは、放送波やインターネット等から取得してもよいし、発話制御サーバ1の管理者などが手入力して番組情報取得部21に取得させてもよい。また、番組情報取得部21は、取得した番組情報を含む番組情報テーブル11を生成してサーバ記憶部10に格納する。さらに、番組情報取得部21は、EPG等に含まれる、番組の出演者、ジャンル、スポンサーを示す情報を用いて広告検索情報テーブル12および番組検索情報テーブル13を生成し、サーバ記憶部10に格納する。なお、これらのテーブルは、他の装置が生成したものを取得してもよい。また、番組情報取得部21は、放送中ではない番組(放送終了後の番組またはこれから放送される番組)を含む番組情報を取得してもよい。
関連情報取得部22は、番組情報取得部21が取得した番組情報に示される各番組の番組関連情報を所定の検索処理を行うことによって取得する。具体的には、関連情報取得部22は、番組検索情報テーブル13に含まれる検索キーワードを用いて、検索サイト等で検索を行うことにより、番組関連情報を取得する。なお、EPGには、番組名の他、出演者等の番組に関連する情報が含まれているから、EPGを検索して番組関連情報を取得してもよい。無論、番組関連情報は、どのような情報源から取得してもよい。
また、関連情報取得部22は、予め定められたイベントが発生したことを検出して発話内容生成部24に通知する。各イベントには、予め発話内容が登録されており、これにより、イベントの発生時にそのイベントに応じた内容で対話装置3に発話させることができる。なお、イベントの発生は、イベントごとに予め定められた条件を満たしているか否かを判断することで検出することができる。
例えば、近時、短文投稿サイトなどでは、放送中の番組に関するコメントの投稿がなされている。そして、このようなサイトでは、特定の番組の特定のシーンにおいて、内容が同一または類似したコメントが多数投稿されることがある。例えば、著名な映画の一シーンにおけるセリフが、そのシーンが放送されるタイミングで多くのユーザから投稿されることが知られている。そこで、短文投稿サイトにおいて、特定のコメントが所定時間内に所定数以上投稿されたことを上記イベントとして検出してもよい。この場合、上記特定のコメントを、このイベントに対応する発話内容として登録しておくことにより、短文投稿サイトへの投稿と連動した発話を対話装置3に行わせることができる。また、上記のような特定のコメントを発話内容とする場合、投稿されたコメントの中から出現頻度の高い単語を抽出し、この単語を含む発話内容を生成してもよい。これにより、短文投稿サイトにおいてそのときに多数書き込まれている内容に応じた発話内容を自動的に生成することができる。
また、番組の放送開始時刻から所定の時間が経過したこと(あるいは放送終了時刻までの残り時間が所定の時間となったこと)をイベントとして検出してもよい。例えば、番組終盤の時間帯に特定のセリフが述べられる番組において、このようなイベントを設定しておき、当該イベントの発生を検出したとき(放送開始時刻から所定の時間が経過したことを検出したとき)に、そのセリフを発話させることもできる。なお、この構成では、番組においてセリフが述べられるタイミングと、対話装置3がそのセリフを発話するタイミングとを完全に一致させることは難しい場合がある。そこで、このような場合に対応できるよう、想定応答としてそのセリフのタイミングが悪い(早すぎるあるいは遅すぎる)ことを指摘する応答を登録しておき、2次発話として例えばタイミングの悪さを詫びる内容の発話を登録しておいてもよい。
また、データ放送や、スマートフォンなどの情報端末を利用して、放送されている番組に対するユーザの感情などが反映された情報を収集することが行われている。そこで、このような情報を利用して発話内容を決定してもよい。例えば、各視聴者の所持する情報端末からのデータ受信回数を、番組の盛り上がり度合を示す指標として利用する場合、データ受信回数の合計値が所定回数に達したことを上記イベントとして検出し、番組の盛り上がりに関する発話を行わせてもよい。また、番組のジャンルを加味して、番組の盛り上がりに応じた発話を行わせることも可能である。例えば、番組のジャンルが「お笑い」や「バラエティ」である場合に、笑い声を発話させることや、番組のジャンルが「スポーツ」である場合に、「いい試合だね」等の試合の盛り上がりに関連した発話を行わせることもできる。また、番組の放送終了後や、終了時刻付近に、その番組中の上記データ受信回数に応じた発話を行わせてもよい。例えば、回数が所定回数以上であれば、「いい試合だったね」や「面白かったね」のように肯定的な発話を行わせ、所定回数に達していなければ「もう少し頑張って欲しかったね」のように否定的な発話を行わせてもよい。
視聴番組情報取得部23は、対話装置3のユーザが視聴している番組を示す視聴番組情報(番組ID)を取得する。具体的には、視聴番組情報取得部23は、対話装置3と対応付けられたTV500から、TVIDと、出力中の番組の番組を示す視聴番組情報とを受信する。そして、視聴番組情報取得部23は、受信した視聴番組情報から特定した番組IDと、受信したTVIDとを対応付け、TV−視聴番組対応情報14としてサーバ記憶部10に格納する。
なお、視聴番組情報は、TV500が出力中の番組の番組を示す情報であればよく、特に限定されないが、ここではTV500に対して行われたユーザの操作内容を示す情報である例を説明する。ユーザの操作内容は、例えば電源のON/OFF操作や、選曲操作、チャンネル送り(戻し)操作等を想定しており、このような操作内容を示す視聴番組情報を受信することにより、TV500が出力中の番組を特定することが可能である。番組IDは、番組を一意に特定できるものであればよく、視聴番組情報取得部23が設定してもよいし、EPG等で使用されているIDを流用してもよい。また、TV500側で出力中の番組の特定を行い、特定した番組を示す情報(例えば番組ID)を発話制御サーバ1に送信するようにしてもよい。
発話内容生成部24は、番組情報取得部21が取得した番組情報に示される各番組に応じた発話内容を生成し、生成した発話内容と番組IDとを対応付けて、番組−発話内容対応情報15としてサーバ記憶部10に格納する。生成する発話内容は、番組に関連するものであればよく、特に限定されない。例えば、関連情報取得部22が取得した番組関連情報を定型文に組み込むこと、上述の広告スポンサー管理テーブルを用いること、あるいは番組のタイトルや出演者を定型文に組み込むことによって、発話内容を生成してもよい。また、発話内容は、発話制御サーバ1または他の装置に予め登録しておいてもよい。例えば、予めジャンル毎の発話内容を登録しておき、登録された発話内容の中から、番組のジャンルに応じた発話内容を取得してもよい。また、例えば、番組ごとの発話内容を登録しておき、これを利用してもよい。さらに、発話内容は、裏番組に関するものであってもよく、例えばある番組の発話内容として、「今、裏番組でXXという番組が放送されているよ」のような、裏番組を紹介する発話内容を生成してもよい。なお、裏番組は、EPG等を参照することで特定することができる。
さらに、発話内容生成部24は、生成した各発話内容について、その発話タイミングを決定してもよい。発話タイミングは、番組情報テーブル11に含まれる、番組の開始、終了時刻に応じたものとしてもよい。なお、対話システム5では、TV500で視聴されている番組を検出して発話を行わせるので、発話タイミングは「即時」が基本である。このため、発話タイミングの決定は省略してもよい。
発話対象特定部25は、発話内容生成部24が生成した発話内容で発話させる対話装置3を特定する。具体的には、発話対象特定部25は、番組−発話内容対応情報15を参照して、発話タイミングとなっているレコードを抽出し、そのレコードに含まれる番組IDを特定する。そして、TV−視聴番組対応情報14とTV−対話装置対応情報16とを参照して、上記特定した番組IDに対応する対話装置3を特定し、特定した対話装置3のリストを発話制御部26に通知する。
発話制御部26は、視聴番組情報取得部23が特定したTV500が出力中の番組に応じて予め発話内容生成部24が生成した発話内容で対話装置3(発話対象特定部25が特定した対話装置3)に発話させる。具体的には、発話制御部26は、発話対象特定部25から通知された対話装置3のリストと、番組−発話内容対応情報15とから、発話管理情報17を生成する。そして、発話内容に対応する発話データ(音声データ)を生成し、上記生成した発話管理情報17に従って、対話装置3に発話データと発話指示を送信する。
〔対話装置3の要部構成〕
図1に示すように、対話装置3は、対話装置3を統括して制御する対話装置制御部30、音声を出力する音声出力部40、対話装置3にて使用する各種データを記憶する記憶部41、および音声の入力を受け付ける音声入力部42を備えている。また、対話装置制御部30は、発話部(発話手段)31、応答生成部32、および解析部33を含む。
発話部31は、発話制御サーバ1から受信した発話データを音声出力部40に出力させることによって対話装置3に発話させる。また、発話部31は、発話制御サーバ1から想定応答の内容を示す情報、および2次発話の発話データを受信している場合には、これらのデータを記憶部41に格納する。
応答生成部32は、対話装置3に対するユーザの呼びかけに応答するための制御を行う。例えば、ユーザからの呼びかけが想定応答である場合には、その想定応答と対応する2次発話の発話データを発話するように発話部31を制御する。また、想定応答ではない呼びかけがなされた場合には、その呼びかけの内容に応じた応答内容を生成し、生成した内容で発話部31に発話させる。
解析部33は、対話装置3に対するユーザの呼びかけの内容を解析する。具体的には、解析部33は、音声入力部42に入力された音声を認識し、認識結果を応答生成部32に通知する。
〔TV500の要部構成〕
TV500は、図示のように視聴番組情報送信部501を備えている。なお、TV500は、発話制御サーバ1に情報を送信するための通信部、TV番組を受信して出力するための各種構成などを備えているが、図1では図示を省略している。
視聴番組情報送信部501は、TV500が出力中の番組を示す視聴番組情報を発話制御サーバ1に送信する。具体的には、視聴番組情報送信部501は、TV500に対して行われたユーザの操作内容を示す視聴番組情報を送信する。なお、視聴番組情報がこの例に限られないことは上述した通りである。
〔発話内容生成処理の流れ〕
次に、発話内容生成処理の流れを図8に基づいて説明する。図8は、発話制御サーバ1が実行する発話内容生成処理の一例を示すフローチャートである。まず、番組情報取得部21は、放送中の番組の番組情報を取得し(S1)、取得した番組情報を番組情報テーブル11としてサーバ記憶部10に格納する。また、番組情報取得部21は、番組検索情報テーブル13および広告検索情報テーブル12を生成してサーバ記憶部10に格納する。
次に、関連情報取得部22は、上記格納された番組検索情報テーブル13を用いて番組関連情報を検索し(S2)、検出した番組関連情報を発話内容生成部24に通知する。さらに、関連情報取得部22は、イベント条件が満たされているか判定し(S3)、条件が満たされているイベントが存在すれば、それを発話内容生成部24に通知する。
そして、発話内容生成部24は、関連情報取得部22から通知された番組関連情報、およびサーバ記憶部10に格納された広告検索情報テーブル12を用いて、番組情報テーブル11に含まれる各番組に対応する発話内容を生成する(S4)。なお、条件が満たされているイベントが通知されている場合、そのイベントに対応する発話内容を生成する。また、広告スポンサー管理テーブル(図3の(d)参照)を予め格納しているか、または外部から取得した場合、発話内容生成部24は、該広告スポンサー管理テーブルと広告検索情報テーブル12とを用いて発話内容を生成する。
最後に、発話内容生成部24は、S4で生成した発話内容と、該発話内容で発話するタイミングを指定する情報とを対応付けて、番組−発話内容対応情報15としてサーバ記憶部10に格納する(S5)。これにより、発話内容生成処理は終了する。なお、放送中の番組は随時変化するので、発話制御サーバ1は、上述のフローの処理を、所定時間毎に実行する。
〔視聴情報送信処理および視聴番組登録処理の流れ〕
次に、視聴情報送信処理および視聴番組登録処理の流れを図9に基づいて説明する。図9は、TV500が実行する視聴情報送信処理、および発話制御サーバ1が実行する視聴番組登録処理の一例を示すフローチャートである。
視聴情報送信処理では、TV500の視聴番組情報送信部501は、TV500に対するユーザの操作を受け付けたときに(S21)、視聴番組情報およびTVIDを発話制御サーバ1に送信する(S22)。これらの処理は、TV500の動作中、継続して行われる。なお、視聴番組情報送信部501は、ユーザ操作が検出されない状態が、予め定めた一定時間が継続していることを検出した場合にも、視聴番組情報およびTVIDを送信する。この場合、最後に検出されたユーザ操作の内容を視聴番組情報として送信する。
視聴番組登録処理では、発話制御サーバ1の視聴番組情報取得部23が、上記送信された視聴番組情報およびTVIDを受信する(S31、コンテンツ特定ステップ)。そして、受信した視聴番組情報から、該TVIDで特定されるTV500においてTV番組の視聴中であるか判断する(S32)。具体的には、TVの電源を切る操作が行われたこと、またはTV番組以外の外部出力への切り替え操作が行われたことを示す視聴番組情報を受信したときに、TV番組の視聴中ではないと判断する。なお、TV500からの視聴番組情報およびTVIDの受信が一定時間以上検出されない場合にも、TV番組の視聴中ではないと判断してもよい。これにより、TV500の電源コードが抜ける等、TV500の操作が行われていないが、TVの視聴が終了した場合にも、TV番組の視聴中ではないと判断することができる。また、番組情報テーブル11を参照して番組の終了時刻を特定し、その時刻を過ぎていれば視聴中ではないと判断してもよい。
ここで、番組の視聴中ではないと判断した場合(S32でNO)、視聴番組情報取得部23は、サーバ記憶部10に格納されているTV−視聴番組対応情報14から、S31で受信したTVIDのレコードを削除する。つまり、番組を出力していないTV500については、TVIDと番組との紐付けを解除する。この後、視聴番組情報取得部23は、新たな視聴番組情報およびTVIDの受信待ち受け状態となる。なお、S31で受信したTVIDのレコードがTV−視聴番組対応情報14に含まれていなければ、S33の処理は省略される。
一方、TV番組の視聴中であると判断した場合(S32でYES)、視聴番組情報取得部23は、サーバ記憶部10からTV−視聴番組対応情報14を読み出し(S34)、S31で受信したTVIDを含むレコードが登録されていないか確認する(S35)。
ここで、登録されていないことが確認された場合(S35でYES)、処理はS37に進む。一方、登録されていることが確認された場合(S35でNO)、視聴番組情報取得部23は、当該S31で受信したTVIDのレコードをTV−視聴番組対応情報14から削除して、S37の処理に進む。
S37では、視聴番組情報取得部23は、S31で受信した視聴番組情報から特定した番組の番組IDと、S31で受信したTVIDとを対応付けたレコードをTV−視聴番組対応情報14に登録する(S37)。この後、視聴番組情報取得部23は、新たな視聴番組情報およびTVIDの受信待ち受け状態となる。
〔発話制御処理および発話処理の流れ〕
次に、発話制御処理および発話処理の流れを図10に基づいて説明する。図10は、発話制御サーバ1が実行する発話制御処理、および対話装置3が実行する発話処理の一例を示すフローチャートである。
発話制御処理では、発話制御サーバ1の発話対象特定部25は、発話すべき(対話装置3に発話させるべき)発話内容が存在するか確認する(S51)。具体的には、発話対象特定部25は、発話内容生成部24が格納した番組−発話内容対応情報15を参照し、発話タイミングに到達している発話内容が存在するか否かによって上記の判断を行う。なお、生成した各発話内容についてタイマを設定し、該タイマを参照して発話すべき発話内容が存在することを特定してもよい。
そして、発話すべき発話内容があることを確認した場合(S51でYES)、発話対象特定部25は、当該発話内容のそれぞれについて、該発話内容で発話させる対話装置3を特定し、特定した対話装置3のリストを取得し(S52)、発話制御部26に通知する。具体的には、発話対象特定部25は、番組−発話内容対応情報15から、対話装置3に発話させるべき発話内容に対応する番組IDを特定し、該番組IDに対応するTVIDをTV−視聴番組対応情報14から特定し、該TVIDに対応する対話装置IDをTV−対話装置対応情報16から特定する。このようにして特定した対話装置IDが、発話させるべき対話装置3のリストとなる。
次に、発話させるべき対話装置3のリスト(対話装置IDのリスト)の通知を受けた発話制御部26は、通知されたリストと番組−発話内容対応情報15とを用いて発話管理情報17を生成する。また、発話制御部26は、該発話管理情報17に含まれる各発話内容について発話データ(対話装置3が音声出力可能なデータ)を生成する(S53)。そして、発話制御部26は、生成した発話データを、当該発話データに従って発話させる対話装置3に送信し、該発話データを用いて発話するように指示する(S54、発話制御ステップ)。なお、想定応答や2次発話が設定されている発話内容に対応する発話データを送信する場合、想定応答の内容を示す情報と、2次発話の発話データについても併せて送信してもよい。
続いて、対話装置3が実行する発話処理について説明する。発話制御サーバ1から発話指示および発話データを受信すると(S61)、発話部31は、受信した発話データを音声出力部40に送信し、音声出力させる。これにより、発話データに応じた発話が行われる(S62)。
ここで、S62の発話に対してユーザが返答した場合、返答の音声は音声入力部42によって取得され、解析部33にて解析され(S63)、解析結果(入力された音声の内容)が応答生成部32に通知される。この通知を受信した応答生成部32は、入力された音声の内容が想定応答であるか判断する(S64)。
ここで、想定応答であると判断した場合(S64でYES)、応答生成部32は、その想定応答に対応する2次発話の発話データを発話部31に通知し、音声出力部40から出力させる。一方、想定応答ではないと判断した場合(S64でNO)、応答生成部32は、通常の応答を行う(S66)。具体的には、応答生成部32は、解析部33の解析結果に応じた発話データを生成して発話部31に通知し、音声出力部40から出力させる。以上の処理は、発話指示を受信する度に行われる。
なお、S63〜S66の処理において、音声認識や発話データの生成については、発話制御サーバ1で行うようにしてもよい。この場合、応答生成部32および解析部33は発話制御サーバ1に設け、対話装置3に音声入力部42が取得した音声データを発話制御サーバ1に送信するための音声データ送信部を設けた構成とすればよい。
〔実施形態2〕
本発明の他の実施形態について、図11〜図13に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材、および上記実施形態にて説明した処理と同様の処理については、それぞれ上記実施形態と同じ符号を付し、その説明を省略する。
まず、本実施形態に係る対話システムの概要を図11に基づいて説明する。図11は、対話システム205の概要を示す図である。図示のように、対話システム(発話制御システム)205は、発話制御サーバ(発話制御装置)201、TV情報収集サーバ202(コンテンツ特定装置)、番組情報収集サーバ203、および対話装置3を含む。本実施形態の対話システム205は、上記実施形態の発話制御サーバ1の機能の一部を、TV情報収集サーバ202および番組情報収集サーバ203に分散させた構成となっている。
発話制御サーバ201は、対話装置3を制御して所定の発話を行わせるサーバである。発話制御サーバ201は、図1の発話対象特定部25および発話制御部26を備え、TV−対話装置対応情報16を予め格納している。
TV情報収集サーバ202は、TV500が受信して出力している番組を特定するサーバであり、TV500から視聴番組情報およびTVIDを受信する。TV情報収集サーバ202は、図1の視聴番組情報取得部23を備えている。また、TV情報収集サーバ202は、番組情報収集サーバ203が生成した番組−発話内容対応情報15を取得する発話内容取得部と、番組−発話内容対応情報15に含まれる各発話内容について発話タイミングを特定する発話タイミング制御部を備えている。
番組情報収集サーバ203は、放送中の番組に関する情報を収集し、該番組に対応する発話内容を生成するサーバである。番組情報収集サーバ203は、図1の番組情報取得部21、関連情報取得部22、および発話内容生成部24を備えている。発話内容生成部24の機能は、上記実施形態と概ね同様であるが、本実施形態では生成した発話内容(具体的には番組−発話内容対応情報15)を送信する機能をさらに備えている点で相違している。
図11に示すように、対話システム205では、TV情報収集サーバ202がTV500から視聴番組情報およびTVIDを受信する。また、TV情報収集サーバ202は、番組情報収集サーバ203から放送中の各番組に対応する発話内容と、その発話内容に対応する番組IDとを受信する。そして、TV情報収集サーバ202は、TVIDと発話内容とを対応付けて発話制御サーバ201に送信し、発話制御サーバ201は、受信したTVIDに対応付けられた対話装置3に対して、受信した発話内容で発話するように指示する。これにより、発話制御サーバ201から対話装置3に番組の映像などを送信することなく、ユーザの視聴している番組に応じた内容で対話装置3に発話させることができる。
〔発話内容生成処理および発話内容登録処理の流れ〕
次に、発話内容生成処理および発話内容登録処理の流れを図12に基づいて説明する。図12は、番組情報収集サーバ203が実行する発話内容生成処理、およびTV情報収集サーバ202が実行する発話内容登録処理の一例を示すフローチャートである。
まず、番組情報収集サーバ203が備える番組情報取得部21、関連情報取得部22、および発話内容生成部24が、図8と同様のS1〜S5の処理を行うことにより、番組−発話内容対応情報15が登録される。そして、発話内容生成部24は、発話内容と、これに対応する番組IDとが対応付けられた番組−発話内容対応情報15をTV情報収集サーバ202に送信する(S201)。この後、予め定めた一定時間待機し(S202)、S1の処理に戻る。これにより、放送中の番組の移り変わりに応じた番組−発話内容対応情報15が随時送信されることになる。
発話内容登録処理では、TV情報収集サーバ202の備える発話内容取得部が、発話内容送信部が送信した発話内容および番組ID(具体的には番組−発話内容対応情報15)を受信する(S211)。そして、TV情報収集サーバ202の備える発話タイミング制御部は、各発話内容について発話タイマを登録する(S212)。発話タイマは、発話タイミングを特定するためのタイマであり、番組−発話内容対応情報15に含まれる発話タイミングを示す情報に従って登録される。これらの処理は、番組−発話内容対応情報15を受信する度に行われる。
〔発話内容送信処理および発話制御処理の流れ〕
次に、発話内容送信処理および発話制御処理の流れを図13に基づいて説明する。図13は、TV情報収集サーバ202が実行する発話内容送信処理、および発話制御サーバ201が実行する発話制御処理の一例を示すフローチャートである。なお、同図には示していないが、TV情報収集サーバ202の視聴番組情報取得部23は、図9に示すような視聴番組登録処理を行うことにより、TV−視聴番組対応情報14を格納している。
発話内容送信処理は、上述の発話内容登録処理にて登録された発話タイマが発火する毎に行われる。なお、複数の発話タイマが発火した場合等には、各発話タイマに対応する発話内容送信処理が並行して実行される。発話タイミング制御部は、登録した発話タイマが発火したことを確認すると(S221)、発火した発話タイマに対応する発話内容について、これに対応するTV500を検索する(S222)。具体的には、発話タイミング制御部は、番組−発話内容対応情報15から、発火した発話タイマに対応する番組IDを特定し、TV−視聴番組対応情報14において、この番組IDと対応付けられたTV500を検索する。
そして、発話タイミング制御部は、発火した発話タイマに対応する発話内容と、S222の処理で検出したTVIDのリストとを発話制御サーバ201に送信する(S223)。なお、送信する発話内容には、想定応答および2次発話の内容を示す情報が含まれていてもよい。
発話制御処理では、発話制御サーバ201の発話制御部26は、TV情報収集サーバ202から発話内容およびTVIDのリストを受信し(S231)、受信したTVIDのリストを発話対象特定部25に通知する。これにより、発話対象特定部25は、TV−対話装置対応情報16を参照して、上記通知されたリストに含まれる各TVIDに対応する対話装置IDを特定し、そのリストを取得する(S52)。この後は、図10と同様に、発話データの生成(S53)および発話指示の送信(S54)が行われる。また、発話指示を受信した対話装置3では、図10と同様の発話処理が行われる。
〔発話タイミングの制御について〕
上記では、TV情報収集サーバ202が発話タイマに従って発話内容を送信することによって、対話装置3の発話するタイミングが制御される例を説明したが、この例に限られない。例えば、発話タイミングが「即時」の発話内容については、発話タイマを登録せずに発話制御サーバ201に送信してもよい。具体的には、図12のS211の処理の後、S212の処理を省略して、図13のS222の処理に進み、S223にて発話内容と対象TVリスト(発話内容に対応するTVIDのリスト)を送信してもよい。また、発話内容が広告である場合、所定時間毎にその発話を行わせることによって、広告効果の向上が期待できるので、所定時間毎(例えば15分毎)に発話制御サーバ201に送信して、発話させるようにしてもよい。
また、発話タイミングを制御する方法は、上述の例に限られない。例えば、発話内容を生成する番組情報収集サーバ203が発話タイミングを制御してもよく、この場合、番組情報収集サーバ203は、生成した発話内容のうち、発話させるタイミングとなった発話内容をTV情報収集サーバ202に送信すればよい。また、発話制御サーバ201や対話装置3が発話タイミングを制御してもよく、これらの場合には、発話制御サーバ201や対話装置3に発話タイミングを示す情報を送信しておけばよい。
〔実施形態3〕
本発明の他の実施形態について、図14および図15に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材、および上記実施形態にて説明した処理と同様の処理については、それぞれ上記実施形態と同じ符号を付し、その説明を省略する。
まず、本実施形態に係る対話システムの概要を図14に基づいて説明する。図14は、対話システム305の概要を示す図である。図示のように、対話システム(発話制御システム)305は、発話制御サーバ(発話制御装置)301、TV情報収集サーバ(コンテンツ特定装置)302、番組情報収集サーバ303、および対話装置3を含む。本実施形態の対話システム305は、上記実施形態の発話制御サーバ1の機能の一部を、TV情報収集サーバ302および番組情報収集サーバ303に分散させた構成となっている。
発話制御サーバ301は、対話装置3を制御して所定の発話を行わせるサーバである。発話制御サーバ301は、図1の発話対象特定部25および発話制御部26を備え、TV−対話装置対応情報16を予め格納している。
TV情報収集サーバ302は、TV500が受信して出力している番組を特定するサーバであり、TV500から視聴番組情報およびTVIDを受信する。TV情報収集サーバ302は、図1の視聴番組情報取得部23と番組情報取得部21を備えている。視聴番組情報取得部23と番組情報取得部21は、上記実施形態で説明した機能に加えて、取得した情報を番組情報収集サーバ303に送信する機能を備えている。
番組情報収集サーバ303は、TV情報収集サーバ302から通知された番組に関する情報を収集し、該番組に対応する発話内容を生成するサーバである。番組情報収集サーバ303は、図1の番組情報取得部21、関連情報取得部22、および発話内容生成部24を備えている。また、番組情報収集サーバ303は、TV500において番組の視聴が行われているか否かを判断する視聴状態特定部を備えている。
図14に示すように、対話システム305では、TV情報収集サーバ302がTV500から視聴番組情報およびTVIDを受信し、受信したTVIDと、受信した視聴番組情報から特定した番組IDとを対応付けて番組情報収集サーバ303に送信する。次に、番組情報収集サーバ303は、受信した番組IDで特定される番組に対応する発話内容を生成し、生成した発話内容とTVIDとを対応付けて発話制御サーバ301に送信する。そして、発話制御サーバ301は、受信したTVIDと対応付けられた対話装置3に対して、受信した発話内容で発話するように指示する。これにより、発話制御サーバ301から対話装置3に番組の映像などを送信することなく、ユーザの視聴している番組に応じた内容で対話装置3に発話させることができる。
〔視聴番組通知処理、発話内容生成処理、および発話制御処理の流れ〕
次に、視聴番組通知処理、発話内容生成処理、および発話制御処理の流れを図15に基づいて説明する。図15は、TV情報収集サーバ302が実行する視聴番組通知処理、番組情報収集サーバ303が実行する発話内容生成処理、および発話制御サーバ301が実行する発話制御処理の一例を示すフローチャートである。
まず、視聴番組通知処理では、TV情報収集サーバ302の備える視聴番組情報取得部23が、TV500から送信される視聴番組情報およびTVIDを受信し(S301、コンテンツ特定ステップ)、TV−視聴番組対応情報14を生成する。なお、視聴番組情報が、TV500の電源OFF操作や放送されている番組以外の外部出力への切り替え操作が行われていることを示している場合等のように、番組IDが特定できない場合には、TVIDのみをTV−視聴番組対応情報14に登録してもよい。これにより、番組を視聴していないTV500を特定することができる。
次に、番組情報取得部21は、S301で受信した視聴番組情報が示す番組の番組情報を取得し(S302)、取得した番組情報から番組情報テーブル11を生成する。また、番組情報取得部21は、番組検索情報テーブル13を生成する。なお、広告検索情報テーブル12についても生成してもよい。
そして、番組情報取得部21は、生成した番組情報テーブル11および番組検索情報テーブル13を番組情報収集サーバ303に送信し、視聴番組情報取得部23は、番組情報収集サーバ303に送信する(S303)。
次に、発話内容生成処理では、番組情報収集サーバ303の備える視聴状態特定部が、番組情報テーブル11、番組検索情報テーブル13、およびTV−視聴番組対応情報14を受信する(S311)。そして、視聴状態特定部は、受信したTV−視聴番組対応情報14を参照して、TV500において番組の視聴が行われているか判断する(S312)。具体的には、TV−視聴番組対応情報14において、番組IDが対応付けられていないTVIDのTV500では、番組の視聴が行われていないと判断する。また、番組IDが対応付けられているTVIDであっても、その番組の終了時刻を過ぎていれば、視聴中ではないと判断してもよい。
ここで、視聴中ではないと判断した(S312でNO)TV500については、発話内容を生成せずに処理を終了する。一方、視聴状態特定部は、視聴中であると判断したTV500が存在する場合(S312でYES)、そのTV500に対応する番組IDを関連情報取得部22に通知する。次に、関連情報取得部22は、通知された番組IDで特定される番組の番組関連情報を、S311で受信した番組検索情報テーブル13を用いて検索し(S2)、検出した番組関連情報を発話内容生成部24に通知する。
次に、発話内容生成部24は、通知された番組関連情報を用いて、S312にて視聴中であると判断された各TV500が出力中の各番組に対応する発話内容を生成する(S4)。なお、実施形態1の発話内容生成処理と同様にして、イベントに対応する発話内容や広告に関する発話内容を生成してもよい。
そして、発話内容生成部24は、S4で生成した発話内容と、該発話内容で発話するタイミングを指定する情報とを対応付けて登録する(S5)。そして、各発話内容にTVIDを対応付けて発話制御サーバ301に送信する(S313)。なお、発話内容に対応するTVIDは、S311で受信したTV−視聴番組対応情報14を参照して特定する。
次に、発話制御処理では、発話制御サーバ301の備える発話制御部26が、発話内容およびTVIDを受信し(S321)、受信したTVIDを発話対象特定部25に通知する。これにより、発話対象特定部25は、TV−対話装置対応情報16を参照して、上記通知されたTVIDに対応する対話装置IDを特定する(S52)。この後は、図10と同様に、発話データの生成(S53)および発話指示の送信(S54)が行われる。また、発話指示を受信した対話装置3では、図10と同様の発話処理が行われる。
なお、図示の例では、S311を契機としてS312以下の処理を行っているが、1つの番組が視聴されている限り、その番組に対応する発話内容の生成については継続的に行うようにしてもよい。つまり、S313の後、S312の処理に遷移するようにしてもよい。これにより、番組の進行状況に応じた番組関連情報を検出して、よりリアルタイム性の高い発話内容を生成することが可能になる。
また、TV500に発話内容を送信した後、S312でNOと判断された場合、その発話内容に基づく発話が中止されるように、発話制御サーバ301に対して通知を行ってもよい。これにより、視聴されていない番組に関する発話を行ってしまうことを防ぐことができる。
〔実施形態4〕
本発明の他の実施形態について、図16および図17に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材、および上記実施形態にて説明した処理と同様の処理については、それぞれ上記実施形態と同じ符号を付し、その説明を省略する。
まず、本実施形態に係る対話システムの概要を図16に基づいて説明する。図16は、対話システム(発話制御システム)405の概要を示す図である。図示のように、対話システム405は、発話制御サーバ(発話制御装置)401、TV情報収集サーバ(コンテンツ特定装置)402、番組情報収集サーバ403、および対話装置3を含む。本実施形態の対話システム405は、上記実施形態の発話制御サーバ1の機能の一部を、TV情報収集サーバ402および番組情報収集サーバ403に分散させた構成となっている。
発話制御サーバ401は、対話装置3を制御して所定の発話を行わせるサーバである。発話制御サーバ401は、図1の発話対象特定部25および発話制御部26を備え、TV−対話装置対応情報16を予め格納している。
TV情報収集サーバ402は、TV500が受信して出力している番組を特定するサーバであり、TV500から視聴番組情報およびTVIDを受信する。TV情報収集サーバ402は、図1の視聴番組情報取得部23を備えている。
番組情報収集サーバ403は、放送中の各番組に対応する発話内容を生成するサーバである。番組情報収集サーバ403は、図1の番組情報取得部21、関連情報取得部22、および発話内容生成部24を備えている。
図16に示すように、対話システム405では、TV情報収集サーバ402がTV500から視聴番組情報およびTVIDを受信し、受信したTVIDと、受信した視聴番組情報から特定した番組IDとを対応付けて発話制御サーバ401に送信する。また、番組情報収集サーバ403は、放送中の各番組に対応する発話内容を生成し、生成した発話内容と番組IDとを対応付けて発話制御サーバ401に送信する。そして、発話制御サーバ401は、番組情報収集サーバ403から受信した発話内容を、その発話内容に対応する番組を出力中のTV500と予め対応付けられた対話装置3に通知して発話させる。これにより、発話制御サーバ401から対話装置3に番組の映像などを送信することなく、ユーザの視聴している番組に応じた内容で対話装置3に発話させることができる。
〔視聴番組通知処理および発話制御処理の流れ〕
次に、視聴番組通知処理および発話制御処理の流れを図17に基づいて説明する。図17は、発話制御サーバ401が実行する視聴番組登録処理および発話制御処理の一例を示すフローチャートである。なお、同図には示していないが、TV情報収集サーバ402は、図15の視聴番組通知処理と同様の処理を実行することによって、番組IDとTVIDとを対応付けたTV−視聴番組対応情報14を発話制御サーバ401に送信している。ただし、本実施形態では、番組情報テーブル11および番組検索情報テーブル13の送信は行われない。また、番組情報収集サーバ403は、図12の発話内容生成処理を実行することによって、発話内容と番組IDとの対応を示す番組−発話内容対応情報15を発話制御サーバ401に送信している。
視聴番組登録処理では、発話制御サーバ401の発話制御部26は、TV情報収集サーバ402からTV−視聴番組対応情報14を受信し(S401)、このTV−視聴番組対応情報14に含まれるTVIDを発話対象特定部25に通知する。続いて、発話対象特定部25は、予め発話制御サーバ401に格納されているTV−対話装置対応情報16を参照して、通知された各TVIDに対応する対話装置IDを特定する(S402)。
そして、発話対象特定部25は、S402で特定した対話装置IDと、S401で受信したTV−視聴番組対応情報14に含まれる番組IDとを対応付けて、対話装置−視聴番組対応情報(図6の(b)参照)として登録する(S403)。これらの処理は、TV情報収集サーバ402からTV−視聴番組対応情報14を受信する度に行われる。
次に、発話制御処理では、発話制御部26は、番組情報収集サーバ403から番組−発話内容対応情報15を受信する(S411)と、これを発話対象特定部25に通知する。発話対象特定部25は、番組−発話内容対応情報15に含まれる発話内容のうち、対話装置3に発話させるべき発話内容を、発話タイミングを示す情報を参照する等して特定し、さらに、特定した発話内容に対応する番組IDを特定する。
そして、発話対象特定部25は、上記特定した番組IDに対応付けられた対話装置IDをS403で登録された対話装置−視聴番組対応情報から検索する(S412)ことにより、制御対象とする対話装置3を特定する。この後は、図10と同様に、発話データの生成(S53)および発話指示の送信(S54)が行われる。また、発話指示を受信した対話装置3では、図10と同様の発話処理が行われる。
なお、S53の処理は、S412の処理の前に行ってもよいし、S412の処理と並行して行ってもよい。ただし、S412の処理の後で行うようにした場合、発話データの生成を、S54にて発話指示する発話内容に絞り込むことが可能である。これにより、S411で受信した発話内容の全てについて一括して発話データを生成する必要がなくなるので、発話データの生成処理の負荷を分散することができる。
〔コンテンツについて〕
上記各実施形態では、TV500が受信して出力している放送番組に応じた発話を行わせる例を示したが、コンテンツは発話制御サーバ以外の装置から送信されるものであればよく、放送番組に限られない。また、コンテンツを出力する出力装置はTV500に限られない。例えば、放送ではなく、インターネット等の通信ネットワークを介して配信されるコンテンツ(例えばオンデマンドコンテンツ)、LAN等のネットワーク上のコンテンツ、あるいはラジオ等の映像を伴わないコンテンツに応じた発話を行わせてもよい。また、出力装置は、スマートフォンやタブレット端末のような携帯型の通信端末であってもよい。
〔対話装置の変形例〕
上記各実施形態では、対話装置3の発話内容を発話制御サーバにて制御する例を説明したが、対話装置3において発話内容を決定してもよい。この場合、対話装置は、TV500が出力中の番組を特定するコンテンツ特定手段を備え、該手段が特定した番組に応じた発話を発話部31にて行う。そして、この例における対話装置の制御方法は、対話装置と対応付けられたTV500が受信して出力している番組を特定するコンテンツ特定ステップと、上記コンテンツ特定ステップにて特定したコンテンツに応じた内容で発話する発話ステップと、を含む。この構成では、上記実施形態に記載した各サーバを省略することも可能であり、対話装置3からサーバと通信するための構成を省略することもできる。
上記コンテンツ特定手段が番組を特定する方法は特に限定されず、例えば上記各実施形態に記載のTV情報収集サーバ202等から番組を示す情報を取得してもよい。また、対話装置に、TV500を操作するための出力装置操作手段を設け、この出力装置操作手段が行った操作の内容を示す情報を用いて番組を特定してもよい。例えば、出力装置操作手段は、TV500に対して電源ON/OFF、チャンネル切り替え等の操作を行ってもよく、このような操作の内容を示す情報を記憶しておくことにより、番組を特定することができる。この構成によれば、図1に示す視聴番組情報送信部501を備えていない一般的なTVが出力している番組に応じた発話を行わせることもできる。また、番組に応じた発話内容の生成は対話装置で行ってもよいし、上記各実施形態に記載の番組情報収集サーバ203等に生成させてもよい。
〔実施形態5〕
発話制御サーバ1、201、301、401、TV情報収集サーバ202、302、402、番組情報収集サーバ203、303、403、および対話装置3の各ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。後者の場合、上記の各サーバまたは対話装置3を図18に示すようなコンピュータ(電子計算機)を用いて構成することができる。図18は、上記の各サーバまたは対話装置3として利用可能なコンピュータ100の構成を例示したブロック図である。
コンピュータ100は、図18に示すように、バス110を介して互いに接続された演算装置120と、主記憶装置130と、補助記憶装置140と、入出力インタフェース150とを備えている。演算装置120、主記憶装置130、および補助記憶装置140は、それぞれ、例えばCPU、RAM(random access memory)、ハードディスクドライブであってもよい。なお、主記憶装置130は、コンピュータ読み取り可能な「一時的でない有形の媒体」であればよく、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブル論理回路などを用いることができる。
入出力インタフェース150には、入力装置200および出力装置300が接続される。上記各サーバの入力装置200および出力装置300は、他のサーバまたはTV500から送信されるデータの受信、および他のサーバまたは対話装置3へのデータの送信を行う。対話装置3の入力装置200および出力装置300は、発話制御サーバ1、201、301、401からのデータの受信、ユーザへの発話、およびユーザの音声の取得等を行う。
補助記憶装置140には、コンピュータ100を上記の各サーバまたは対話装置3として動作させるための各種プログラムが格納されている。そして、演算装置120は、補助記憶装置140に格納された上記各プログラムを主記憶装置130上に展開し、主記憶装置130上に展開された上記各プログラムに含まれる命令を実行することによって、コンピュータ100を、上記の各サーバまたは対話装置3が備える各部として機能させる。
なお、ここでは、内部記録媒体である補助記憶装置140に記録されている上記各プログラムを用いてコンピュータ100を機能させる構成について説明したが、外部記録媒体に記録されているプログラムを用いてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
〔まとめ〕
本発明の態様1に係る発話制御装置(発話制御サーバ1、401)は、音声による発話機能を備えた発話装置(対話装置3)に発話させる発話制御装置であって、上記発話装置と共に使用される装置として上記発話装置と対応付けられた出力装置(TV500)が、上記発話制御装置以外の装置から受信して出力しているコンテンツ(番組)を特定するコンテンツ特定手段(視聴番組情報取得部23)と、上記コンテンツ特定手段が特定したコンテンツに応じた内容で上記発話装置に発話させる発話制御手段(発話制御部26)と、を備えている。
上記の構成によれば、発話装置と共に使用される装置として発話装置と対応付けられた出力装置が、発話制御装置以外の装置から受信して出力しているコンテンツを特定し、特定したコンテンツに応じた内容で発話装置に発話させる。よって、上記発話制御装置は、コンテンツを出力装置に送信することなく、出力装置が出力中のコンテンツに応じた発話を発話装置に行わせることができる。つまり、〔背景技術〕に記載した特許文献1では、ロボットの動作制御をする受信機からテレビに映像情報を送信する必要があったが、上記の構成によれば、発話装置に発話させる発話制御装置はコンテンツを出力装置に送信する必要がない。
また、特許文献1では、動作情報と映像情報とが受信機に揃った状態となった後、動作情報に基づいてロボットの動作制御を行うと共に、映像情報をテレビに送信している。これに対し、上記本発明の構成では、発話内容とコンテンツとを予め揃えておく必要がない。これは、上記本発明の構成では、出力装置が出力しているコンテンツを特定するためである。そして、出力装置が出力しているコンテンツを特定することにより、特定したコンテンツに基づいて、そのコンテンツの出力中に発話内容を生成し、その内容で発話させることも可能である。よって、出力装置が、例えば生放送番組のような事前に発話内容を生成することが難しいコンテンツを出力している場合であっても、その放送中に略リアルタイムで生成された、そのときに出力されているシーンに応じた発話を行わせることも可能になる。
なお、「発話装置と共に使用される出力装置」が意味する発話装置と出力装置との関係は、出力装置が出力するコンテンツを視聴しているユーザに対して、発話装置が発話できる蓋然性があるという関係である。つまり、出力装置は、発話装置と通信したり、協働したりするか否かにかかわらず、発話装置と同じ部屋で使用される蓋然性があれば、「発話装置と共に使用される出力装置」である。
本発明の態様2に係る発話制御装置は、上記態様1において、上記コンテンツ特定手段は、上記出力装置が送信した、該出力装置が出力するコンテンツを示す情報、または上記出力装置に対して行われた操作の内容を示す情報を用いてコンテンツを特定する。この態様によれば、出力装置が、その出力するコンテンツを示す情報を送信する場合、この情報を利用して、出力装置が出力しているコンテンツを特定することができる。また、出力装置に対して行われた操作の内容を示す情報を取得すれば、この情報から出力装置が出力しているコンテンツを特定することができる。
本発明の態様3に係る発話制御装置は、上記態様1または2において、制御対象である上記発話装置は複数であり、上記出力装置と上記発話装置との対応付けを示す対応情報(TV−発話装置対応情報16)を参照して、複数の上記発話装置のうち、上記コンテンツ特定手段が出力中のコンテンツを特定した出力装置と対応付けられた発話装置を特定する発話対象特定手段(発話対象特定部25)を備え、上記発話制御手段は、上記発話対象特定手段が特定した発話装置に発話させる。この態様によれば、複数の発話装置を制御して、各発話装置と対応付けられた出力装置が出力しているコンテンツに応じた発話を行わせることができる。
本発明の態様4に係る発話制御装置は、上記態様1から3の何れかにおいて、上記コンテンツ特定手段が特定したコンテンツに関連する関連情報(番組関連情報)を取得する関連情報取得手段(関連情報取得部22)と、上記関連情報取得手段が取得した関連情報を含む発話内容を生成する発話内容生成手段(発話内容生成部24)を備えている。この態様によれば、コンテンツに応じた発話内容を自動的に生成し、これを発話装置に発話させることができる。
本発明の態様5に係る発話制御装置は、上記態様1から4の何れかにおいて、上記コンテンツ特定手段が特定したコンテンツのスポンサーを特定するスポンサー特定手段(番組情報取得部21)と、上記スポンサー特定手段が特定したスポンサーに応じた発話内容を生成する発話内容生成手段を備えている。この態様によれば、スポンサーの付いたコンテンツについて、そのスポンサーに応じた発話内容を自動的に生成し、これを発話装置に発話させることができる。例えば、スポンサーに関する広告を発話させることも可能である。
本発明の態様6に係る発話装置(対話装置3)は、音声による発話機能を備えた発話装置であって、上記発話装置と共に使用される装置として上記発話装置と対応付けられた出力装置が受信して出力しているコンテンツを特定するコンテンツ特定手段と、上記コンテンツ特定手段が特定したコンテンツに応じた内容で発話する発話手段(発話部31)と、を備えている。
上記の構成によれば、発話装置と共に使用される装置として発話装置と対応付けられた出力装置が出力しているコンテンツを特定し、特定したコンテンツに応じた内容で発話する。よって、コンテンツを出力装置に送信することなく、出力装置が出力中のコンテンツに応じた発話を行うことができる。
本発明の態様7に係る発話装置は、上記態様6において、上記出力装置を操作するための出力装置操作手段を備え、上記コンテンツ特定手段は、上記出力装置操作手段が行った操作の内容を示す情報を用いてコンテンツを特定する。該構成によれば、発話装置を介して出力装置を操作することができる。そして、この操作の内容を示す情報を用いて、出力装置が出力しているコンテンツを特定するので、出力装置は出力しているコンテンツを送信する機能を備えている必要がない。つまり、上記の構成によれば、例えば一般的なテレビジョン受像機のような、出力しているコンテンツを送信する機能を備えていない出力装置を用いた場合であっても、その出力装置が出力しているコンテンツに応じた発話を行うことができる。
本発明の態様8に係る発話制御システム(対話システム205、305、405)は、音声による発話機能を備えた発話装置に発話させる発話制御システムであって、上記発話装置と共に使用される装置として上記発話装置と対応付けられた出力装置が、上記発話装置に発話させる発話制御装置(発話制御サーバ201、301、401)以外の装置から受信して出力しているコンテンツを特定するコンテンツ特定装置(TV情報収集サーバ202、302、402)と、上記コンテンツ特定装置が特定したコンテンツに応じた内容で上記発話装置に発話させる上記発話制御装置と、上記発話装置と、を含む。この態様によれば、上記態様1と同様の効果を奏する。
本発明の態様9に係る発話制御方法は、音声による発話機能を備えた発話装置に発話させる発話制御方法であって、上記発話装置と共に使用される装置として上記発話装置と対応付けられた出力装置が、上記発話装置に発話させる発話制御装置以外の装置から受信して出力しているコンテンツを特定するコンテンツ特定ステップ(S31、S301、S401)と、上記コンテンツ特定ステップにて特定したコンテンツに応じた内容で上記発話装置に発話させる発話制御ステップ(S54)と、を含む。よって、態様1と同様の効果を奏する。
本発明の態様10に係る発話装置の制御方法は、音声による発話機能を備えた発話装置の制御方法であって、上記発話装置と共に使用される装置として上記発話装置と対応付けられた出力装置が受信して出力しているコンテンツを特定するコンテンツ特定ステップと、上記コンテンツ特定ステップにて特定したコンテンツに応じた内容で発話する発話ステップと、を含む。よって、態様6と同様の効果を奏する。
本発明の各態様に係る発話制御装置および発話装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記発話制御装置および上記発話装置が備える各手段として動作させることにより上記発話制御装置および上記発話装置をコンピュータにて実現させる上記発話制御装置および上記発話装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。