以下、図1〜図8に基づいて、本発明の実施の形態について、詳細に説明する。なお、以下では本発明の実施の一形態に係る発話制御装置および発話装置を、家庭内における会話システムに適用した例について説明する。
会話システムとは、家庭内に置かれた発話装置によって取得されたユーザの音声がサーバ(発話制御装置)において音声認識される一方、該サーバで生成されたメッセージが該発話装置によって音声出力されることにより、1世帯の家族の各メンバ(例えば、お父さん、お母さん、子供、祖父母)が、発話装置と会話を行うためのコミュニケーションシステムである。本発明の実施の一形態に係るサーバ10の理解を容易にするため、以下にまず、会話システム1の概要について整理しておく。
〔実施形態1〕
(会話システムの概要)
図2は、会話システム1の概要を示す図である。図2に示すように、会話システム1は、スマートフォン20a、20b、20c、エージェントサーバ10a、家族伝言板サーバ10b、ホームサーバ10c、家庭内に配置された発話装置30(エアコン30aおよび調理機器30b等を含む)を含む。会話システム1は、さらに、例えば、天気予報情報などの外部情報をエージェントサーバ10aに送信する情報提供サーバ40を含んでもよい。エージェントサーバ10a、家族伝言板サーバ10b、およびホームサーバ10cは、相互に通信を行うとともに、スマートフォン20、発話装置30、および情報提供サーバ40と通信を行う。
なお、エアコン30aおよび調理機器30b等の「家庭内に配置された発話装置30」を、以下では単に「発話装置30」と称する。また、スマートフォン20a、20b、20cを特に区別する必要がない場合は、単に「スマートフォン20」と称する。同様に、エージェントサーバ10a、家族伝言板サーバ10b、ホームサーバ10cを特に区別する必要がない場合は、単に「サーバ10」と称する。また、詳細は後述するが、会話システム1においてホームサーバ10cは必須ではない。
発話装置30は、例えば、家庭内に置かれた発話機能を備える機器であり、具体的には、エアコン30a、調理機器30b、冷蔵庫30c、洗濯機30d、自走式掃除機30e等である。発話装置30が発話する発話データは、例えば、発話装置30がサーバ10から受信した発話データである。発話装置30は、サーバ10から発話データを受信すると、受信した発話データを発話データテーブル341に格納する。そして、発話装置30は、装置記憶部34の発話データテーブル341に格納されている発話データを再生することにより発話する。なお、発話データテーブル341には、サーバ10から受信した発話データ以外の発話データ(例えば、予め発話データテーブル341に格納されている発話データ)が格納されていてもよい。
発話装置30は、また、家族のメンバ(図2に示す例ではお父さん、お母さん、子供)から話し掛けられ、または、所定のユーザ操作を受け付けると、該話し掛けまたは該ユーザ操作に対応付けられた処理を実行する。すなわち、発話装置30は、例えば、上記話し掛けまたは上記ユーザ操作に対応付けられたメッセージ(音声データ)を発話(音声出力)する。
発話装置30は、さらに、自装置のセンサによって取得したセンシングデータ、自装置の動作ログデータ、自装置に搭載されたカメラ等によって取得した写真などを、サーバ10(例えば、ホームサーバ10c)に送信することができる。
ホームサーバ10cには、発話装置30が通信可能に無線接続されている。ただし、ホームサーバ10cと発話装置30とが有線接続されていてもよい。なお、図2は、発話装置30が、エアコン30a、調理機器30b、冷蔵庫30c、洗濯機30d、自走式掃除機30eである例を示すが、発話装置30の種類および数は上記機器に限定されない。
エージェントサーバ10aは、スマートフォン20から、ユーザがスマートフォン20を用いて家族伝言板に投稿したメッセージについての情報を受信し、該メッセージに対応する発話を発話装置30に発話させるための発話データ(第1発話データ)を生成する。例えば、ユーザがスマートフォン20を用いて家族伝言板に「今日の天気を教えて!」といった情報提供を指示するメッセージを投稿すると、エージェントサーバ10aは、今日の天気に係る情報をユーザに提供するメッセージを生成する。そして、エージェントサーバ10aは、今日の天気に係る情報をユーザに提供するメッセージを家族伝言板に投稿するとともに、該メッセージに対応する音声データを発話装置30に送信する。
エージェントサーバ10aは、上記第1発話データを生成するのに必要な情報を情報提供サーバ40から取得してもよい。例えば、エージェントサーバ10aは、ユーザが家族伝言板に投稿した「今日の天気を教えて!」という情報提供指示(発話指示)を取得すると、情報提供サーバ40に今日の天気に係る情報をリクエストする。そして、エージェントサーバ10aは、情報提供サーバ40から今日の天気に係る情報を取得すると、今日の天気に係るメッセージを生成する。そして、エージェントサーバ10aは、今日の天気に係るメッセージを家族伝言板に投稿するとともに、今日の天気に係るメッセージの発話データ(第1発話データ)を、発話装置30に送信する。
ただし、エージェントサーバ10aが、今日の天気に係るメッセージを家族伝言板に投稿するタイミングと、今日の天気に係るメッセージの発話データ(第1発話データ)を発話装置30に送信するタイミングとは同時でなくともよい。例えば、エージェントサーバ10aは、上記発話データを発話装置30に送信した後に、上記メッセージを家族伝言板に投稿してもよい。また、エージェントサーバ10aは、上記メッセージを家族伝言板に投稿した後に、上記発話データを発話装置30に送信してもよい。エージェントサーバ10aが発話装置30に上記発話データを送信し、さらに発話装置30で上記発話データが音声出力された後に、エージェントサーバ10aは上記メッセージを家族伝言板に投稿してもよい。すなわち、エージェントサーバ10aは、発話装置30に送信した上記発話データを発話装置30が音声出力したのを確認してから、上記メッセージを家族伝言板に投稿してもよい。上記確認は、例えば、発話装置30が音声出力時に、エージェントサーバ10aにその旨を通知し、エージェントサーバ10aがそれを受信したことで判定する。具体的には、発話装置30は、エージェントサーバ10aから受信した上記発話データを音声出力すると、音声出力したことをエージェントサーバ10aに通知する。そして、エージェントサーバ10aは、発話装置30から上記発話データを音声出力した旨の通知を受信すると、上記メッセージを家族伝言板に投稿する。
また、エージェントサーバ10aは、家庭内に配置された機器である発話装置30が取得した各種センシングデータ、および発話装置30の動作ログ等に基づいて、ユーザからの発話指示に基づかない発話データ(自発生成発話データ)を自発的に生成する。エージェントサーバ10aは、上記自発生成発話データを生成するのに必要な情報を情報提供サーバ40から取得してもよい。例えば、サーバ10は、自走式掃除機30eから自走式掃除機30eの動作ログを取得すると、自走式掃除機30eの動作ログに係るメッセージを生成する。そして、エージェントサーバ10aは、自走式掃除機30eの動作ログに係るメッセージを、自走式掃除機30eからのメッセージとして、家族伝言板に投稿するとともに、自走式掃除機30eの動作ログに係るメッセージの発話データ(第1発話データ)を、自走式掃除機30eに送信する。
なお、エージェントサーバ10aは、発話装置30の状態、発話装置30が取得した情報、およびユーザの家族伝言板への書き込み内容(メッセージ内容)等に応じて、発話装置30の各々を擬人化したキャラクターとして、家族伝言板にメッセージ等を書き込む(投稿する)。これにより、ユーザは、家族伝言板において発話装置30の各々とのコミュニケーションを疑似体験できる。
以下では、ユーザが家族伝言板に投稿したメッセージについての情報を受信する機能、該メッセージに対応するメッセージおよび発話データ(第1発話データ)を生成する機能、および、該第1発話データを発話装置30へ送信する機能を、エージェントサーバ10aが備えた例を説明する。ただし、これらの機能は個別のサーバに搭載してもよい。
家族伝言板サーバ10bは、スマートフォン20a、20b、および20cに対する家族伝言板の表示画面の提示、および書き込みの管理等の、家族伝言板に関する処理全般を行う。
ホームサーバ10cは、発話装置30の各々とエージェントサーバ10aとの間の情報の送受信を統括して制御する。具体的には、ホームサーバ10cは、エージェントサーバ10aから発話データを受信すると、これを発話装置30の各々に送信する。また、ホームサーバ10cは、発話装置30から取得したセンシングデータおよび動作ログ情報などの情報を、エージェントサーバ10aに送信する。ただし、ホームサーバ10cは、会話システム1の構成に必須ではない。すなわち、個々の発話装置30がエージェントサーバ10aと直接的に情報の送受信を行う構成であっても良い。
なお、以下では、図2に示されるエージェントサーバ10a、家族伝言板サーバ10b、およびホームサーバ10cが有する本質的な機能を、「サーバ10」が統合的に備えているとして説明する。
会話システム1において、ユーザは、発話装置30に対する発話指示を、例えば、発話装置30が備える各種ボタンを押下することによって、発話装置30に与えることができる。例えば、エアコン30aは、装置記憶部34aの発話データテーブル341aにエアコン30aが発話すべき発話データが格納されていると、エアコン30aの備える「聞いて」ボタン(装置操作受付部35a)を点滅させる。「聞いて」ボタンを押下するユーザ操作を受け付けると、エアコン30aは、発話データテーブル341aに格納されている発話データを発話する。
ユーザは、また、それぞれが所持するスマートフォン20a、20b、20cを用いて家族伝言板にアクセスし、メッセージの書き込み、または閲覧を行うことができる。家族伝言板とは、あらかじめ登録されたユーザ(図2に示す例ではお父さん、お母さん、子供)の間で情報を共有可能な電子伝言板(いわゆるソーシャル・ネットワーク・サービス)である。会話システム1において、ユーザ(家族のメンバ)は、スマートフォン20を用いて、例えば、今日の天気についての情報を提供するようにエアコン30aに指示するメッセージを家族伝言板に投稿する。
図3は、スマートフォン20を用いてユーザが発話装置30に情報提供を指示する場合に、スマートフォン20の表示画面に表示される画面の遷移を示した画面遷移図である。図3の(a)は、ユーザが発話装置30に情報提供を指示するメッセージを家族伝言板に投稿したときにスマートフォン20の表示画面に表示される画面例を示す図である。また、図3の(b)は、発話装置30が該指示に対応するメッセージを該家族伝言板に投稿したときにスマートフォン20の表示画面に表示される画面例を示す図である。
図3の(a)に示す例では、お母さん(母)が、家族伝言板に、エアコン30aの擬人化キャラクターである「エアちゃん」に対して、今日の天気を教えるようにとのメッセージ(「エアちゃん、今日の天気を教えて!」)を、10月21日の14時8分に投稿している。なお、図3の(a)に示すように、情報提供(今日の天気に係る情報の提供)を指示するメッセージは、テキスト20Mess1であってもよいし、該情報提供の指示が埋め込まれた画像20Imag1であってもよいし、両方を含むものであってもよい。
家族伝言板に投稿された「エアちゃん、今日の天気を教えて!」とのメッセージを取得すると、つまり、発話装置30に対する、ユーザからの情報提供指示(発話の指示)を取得すると、サーバ10は、該情報提供指示において指示されたメッセージを生成する。そして、サーバ10は、上記情報提供指示において指示されたメッセージを家族伝言板に投稿するとともに、上記情報提供指示において指示されたメッセージに対応する発話データである第1発話データを生成し、発話装置30に送信する。
図3の(b)に示す例では、同日の14時11分に、エアちゃんが、「今日の天気予報だよ。天気:晴れのち曇り。最高気温:24℃。最低気温:15℃。降水確率:20%」との内容のメッセージ20Mess2を家族伝言板に投稿している。すなわち、お母さんからの「エアちゃん、今日の天気を教えて!」とのメッセージ(情報提供指示)に対応する、「今日の天気予報だよ。天気:晴れのち曇り。最高気温:24℃。最低気温:15℃。降水確率:20%」とのメッセージを、サーバ10(エアコン30a)は、家族伝言板に投稿している。また、サーバ10は、エアコン30aに、「今日の天気予報だよ。天気:晴れのち曇り。最高気温:24℃。最低気温:15℃。降水確率:20%」との第1発話データを生成し、エアコン30aに送信する。上記第1発話データを受信したエアコン30aは、上記第1発話データを発話データテーブル341aに格納し、「聞いて」ボタン(装置操作受付部35a)を点滅させる。そして、「聞いて」ボタンを押下するユーザ操作を受け付けると、エアコン30aは、発話データテーブル341aに格納されている発話データを発話する。
以上に概要を説明した会話システム1について、特徴を整理しておけば以下の通りである。すなわち、会話システム1(発話制御システム)は、装置記憶部34(記憶部)に格納した発話データを再生することにより発話する発話装置30と、発話装置30を制御するサーバ10(発話制御装置)と、を含む発話制御システムであって、サーバ10は、ユーザ操作に基づき発話装置30に対する発話が指示された発話データである第1発話データを発話装置30に送信するとき、該送信より前に装置記憶部34に格納されている発話データである第2発話データの少なくとも1つを装置記憶部34から削除する削除指示を発話装置30へ送信し、発話装置30は、上記第1発話データと上記削除指示とを受信し、上記第2発話データの少なくとも1つを装置記憶部34から削除する。
また、サーバ10は、装置記憶部34(記憶部)に格納した発話データを再生することにより発話する発話装置30を制御する発話制御装置であって、ユーザ操作に基づく発話装置30に対する発話の指示を取得する指示取得部111と、指示取得部111が取得した発話の指示により発話が指示された発話データである第1発話データを発話装置30に送信する発話データ送信部113と、発話データ送信部113が上記第1発話データを発話装置30に送信するとき、該送信より前に装置記憶部34に格納されている発話データである第2発話データの少なくとも1つを装置記憶部34から削除する削除指示を、発話データ送信部113に発話装置30へ送信させる削除指示部114と、を備える。
上記の構成によれば、サーバ10は、発話装置30の装置記憶部34に格納されている上記第2発話データの少なくとも1つを削除させるとともに、上記発話の指示により発話が指示された上記第1発話データを発話装置30に送信する。つまり、サーバ10は、発話装置30の装置記憶部34に格納されている、ユーザの要望の度合いが相対的に低いと思われるメッセージを削除させ、発話が指示された上記第1発話データを発話装置30の装置記憶部34に格納させる。したがって、サーバ10は、発話装置30が、ユーザの要望の度合いが相対的に低いと思われるメッセージ(発話データ)を発話する可能性を抑えることができる。また、サーバ10は、発話装置30に、ユーザが最も聞きたいと考えている(ユーザの要望の度合いが相対的に高い)と思われるメッセージを、つまり、上記発話の指示により発話が指示された上記第1発話データを、発話させることができる。
サーバ10の削除指示部114は、発話データ送信部113が上記第1発話データを発話装置30に送信するとき、上記第2発話データを全て削除する指示を、発話データ送信部113に発話装置30へ送信させる。
上記の構成によれば、サーバ10は、発話装置30の装置記憶部34に格納されている上記第2発話データを全て削除させるとともに、上記発話の指示により発話が指示された上記第1発話データを発話装置30に送信する。つまり、サーバ10は、発話装置30の装置記憶部34に格納されている発話データを、発話の指示された上記第1発話データのみにする。したがって、サーバ10は、発話装置30に、ユーザが聞きたいと考えていると思われるメッセージのみを、つまり、上記発話の指示により発話が指示された上記第1発話データのみを、発話させることができる。
上記発話データには、発話内容の種類を示すカテゴリ(付加情報)が対応付けられており、発話装置30は複数あって、発話装置30の種類ごとに優先すべきカテゴリ(優先すべき付加情報)が少なくとも1つ定められており、発話データ送信部113は、上記削除指示を、上記第1発話データのカテゴリが上記優先すべきカテゴリのいずれかに一致する種類の発話装置30に送信する。
上記の構成によれば、サーバ10は、複数の発話装置30のうち、上記第1発話データのカテゴリ(付加情報)が上記優先すべきカテゴリのいずれかに一致する種類の発話装置30に、上記削除指示を送信する。例えば、発話装置30として、エアコン30aと調理機器30bとがあり、エアコン30aの優先すべき付加情報が「天気」であり、調理機器30bの優先すべき付加情報が「レシピ」である場合、サーバ10は、カテゴリが「天気」である第1発話データをエアコン30aに送信するとき、上記削除指示をエアコン30aに送信する。そして、上記削除指示を受信したエアコン30aは、上記第2発話データの少なくとも1つを装置記憶部34から削除する。エアコン30aは、装置記憶部34から上記第2発話データを削除し、カテゴリが「天気」である上記第1発話データを装置記憶部34に格納するので、エアコン30aが上記第1発話データを発話する可能性が高くなる。つまり、エアコン30aが、エアコン30aの優先すべきカテゴリである「天気」に係る内容の第1発話データを発話する可能性が高くなる。したがって、サーバ10は、発話装置30が、発話装置30の種類に対応付けられた優先すべきカテゴリと同じカテゴリが対応付けられた第1発話データを発話する可能性を高めることができる。
発話装置30は、装置記憶部34に格納した発話データを再生することにより発話する発話装置であって、ユーザ操作に基づく自装置に対する発話の指示により発話が指示された発話データである第1発話データと、該第1発話データを受信する前に装置記憶部34に格納されている発話データである第2発話データの少なくとも1つを装置記憶部34から削除する削除指示とを受信する装置通信部31(受信部)と、装置通信部31により受信された上記削除指示に基づいて上記第2発話データの少なくとも1つを装置記憶部34から削除する発話データ削除部32(削除部)と、を備える。
上記の構成によれば、発話装置30は、ユーザ操作に基づく自装置に対する発話の指示により発話が指示された発話データである上記第1発話データを受信する前に装置記憶部34に格納されている発話データである第2発話データの少なくとも1つを装置記憶部34から削除する。したがって、発話装置30は、ユーザの要望の度合いが相対的に低いと思われるメッセージ(発話データ)を発話する可能性を抑えることができる。
次に、会話システム1のサーバ10、スマートフォン20、および発話装置30の要部構成を、図1を用いて説明する。図1は、本発明の実施形態1に係る会話システム1のサーバ10、スマートフォン20、および発話装置30の要部構成の一例を示すブロック図である。
(発話制御サーバの構成)
図1に示すとおり、サーバ10は、制御部110および記憶部120を備えている。制御部110は、サーバ10の機能を統括して制御するものである。図示の制御部110には、機能ブロックとして、指示取得部111、発話データ生成部112、発話データ送信部113、削除指示部114、およびカテゴリ抽出部115が含まれている。
上述した制御部110の各機能ブロックは、例えば、CPU(central processing unit)などが、ROM(read only memory)、NVRAM(non-Volatile random access memory)等で実現された記憶装置(記憶部120)に記憶されているプログラムを不図示のRAM(random access memory)等に読み出して実行することで実現できる。
(各機能ブロックの概要)
指示取得部111は、発話指示を取得し、該発話指示に対応する処理を、制御部110の各部(具体的には、発話データ生成部112および削除指示部114)に実行させる。すなわち、指示取得部111は、発話装置30に所定の発話を指示する発話指示を取得すると、該発話指示を発話データ生成部112に通知するとともに、該発話指示があった旨を削除指示部114に通知する。
発話データ生成部112は、指示取得部111が取得した発話指示によって発話が指示された発話データである第1発話データを生成する。例えば、「今日の天気を教えて!」という発話指示を指示取得部111が取得すると、発話データ生成部112は、今日の天気に係る情報をユーザに通知する第1発話データを生成する。発話データ生成部112は、今日の天気に係る情報をユーザに通知する第1発話データを生成するのに必要な情報を情報提供サーバ40から取得してもよい。発話データ生成部112は、例えば、情報提供サーバ40から今日の天気に係る情報として、「天気:晴れのち曇り。最高気温:24℃。最低気温:15℃。降水確率:20%」という天気情報を取得する。そして、発話データ生成部112は、「今日の天気を教えて!」という発話指示に対応する第1発話データとして、「今日の天気予報だよ。天気:晴れのち曇り。最高気温:24℃。最低気温:15℃。降水確率:20%」という発話データを生成する。発話データ生成部112は、生成した第1発話データを発話データ送信部113に通知する。
発話データ生成部112によって生成された発話データには、発話内容の種類を示す付加情報(カテゴリ)が対応付けられている。例えば、「今日の天気を教えて!」という発話指示に基づいて発話データ生成部112が生成した第1発話データである「今日の天気予報だよ。天気:晴れのち曇り。最高気温:24℃。最低気温:15℃。降水確率:20%」という第1発話データのカテゴリは、「天気」である。また、例えば、「今日は燃えるゴミの日だよ。」との発話データ(メッセージ)は、ユーザのスケジュールに係る発話データであり、「スケジュール」とのカテゴリが対応付けられている。同様に、「今日(3月8日)はみつばち(蜜蜂)の日だよ。」との発話データは、今日(3月8日)がどのような日であるのかに係る発話データであり、「今日は何の日」とのカテゴリが対応付けられている。また、「出し巻き卵の材料は、だし:10g、卵:1個、砂糖:少々、・・・」との発話データのカテゴリは「レシピ」である。
発話データ生成部112は、また、第1発話データ以外の発話データである自発生成発話データを生成する。すなわち、発話データ生成部112は、発話装置30が取得した各種センシングデータ、および発話装置30の動作ログ等に基づいて、ユーザからの発話指示に基づかない発話データである自発生成発話データを自発的に生成する。発話データ生成部112は、上記自発生成発話データを生成するのに必要な情報を情報提供サーバ40から取得してもよい。そして、発話データ生成部112は、生成した上記自発生成発話データを発話データ送信部113に通知する。
発話データ送信部113は、発話データ生成部112により生成された第1発話データおよび自発生成発話データを発話装置30に送信する。また、発話データ送信部113は、削除指示部114により生成された削除指示を発話装置30に送信する。
発話データ送信部113は、また、記憶部120の優先カテゴリ管理テーブル121を参照して、上記削除指示を送信する発話装置30を決定する。すなわち、発話データ送信部113は、上記第1発話データのカテゴリを優先カテゴリとする発話装置30に、上記削除指示を送信する。例えば、図4の(A)に例示する優先カテゴリ管理テーブル121において、「発話装置種類:エアコン」には「優先カテゴリ:天気」が対応付けられている。また、「発話装置種類:調理機器」には「優先カテゴリ:レシピ」が対応付けられている。したがって、発話データ送信部113は、カテゴリが「天気」である第1発話データを送信する場合、送信先がエアコン30aであるときには、該第1発話データとともに、上記削除指示をエアコン30aに送信する。同様に、発話データ送信部113は、カテゴリが「レシピ」である第1発話データを送信する場合、送信先が調理機器30bであるときには、該第1発話データとともに、上記削除指示を調理機器30bに送信する。
なお、発話データ送信部113は、上記第1発話データのカテゴリを優先カテゴリとしない発話装置30には、上記削除指示を送信しない。すなわち、発話データ送信部113は、カテゴリが「天気」である第1発話データを送信する場合、送信先が調理機器30bであるときには、該第1発話データのみを調理機器30bに送信し、上記削除指示は調理機器30bに送信しない。上記の通り、調理機器30bの優先カテゴリは「レシピ」であり、「天気」というカテゴリは、調理機器30bの優先カテゴリではないからである。
削除指示部114は、指示取得部111が発話装置30に所定の発話を指示する発話指示を取得すると、発話データ送信部113が上記第1発話データを発話装置30に送信するときに発話装置30の発話データテーブル341に既に格納されている発話データである第2発話データを全て削除する削除指示を生成する。そして、上記削除指示を発話データ送信部113に通知する。
カテゴリ抽出部115は、発話データ生成部112により生成された発話データから、該発話データの内容の種類を示す付加情報であるカテゴリを抽出する。例えば、「今日は燃えるゴミの日だよ。」との発話データ(メッセージ)には、「スケジュール」とのカテゴリが対応付けられており、カテゴリ抽出部115は、「今日は燃えるゴミの日だよ。」との発話データから、該発話データのカテゴリとして、「スケジュール」を取得する。同様に、「今日(3月8日)はみつばち(蜜蜂)の日だよ。」との発話データから、カテゴリ抽出部115は、該発話データのカテゴリとして、「今日は何の日」とのカテゴリを取得する。また、「出し巻き卵の材料は、だし:10g、卵:1個、砂糖:少々、・・・」との発話データのカテゴリとして、カテゴリ抽出部115は、「レシピ」を取得する。カテゴリ抽出部115は、発話データ生成部112が生成する発話データから、該発話データの発話内容の種類を示す付加情報(カテゴリ)を取得し、取得した付加情報を発話データ送信部113に送信する。
記憶部120は、サーバ10が使用する各種データを格納する記憶装置である。
記憶部120は、サーバ10の制御部110が実行する(1)制御プログラム、(2)OSプログラム、(3)制御部110が、サーバ10が有する各種機能を実行するためのアプリケーションプログラム、および、(4)該アプリケーションプログラムを実行するときに読み出す各種データを非一時的に記憶するものである。例えば、上記の(1)〜(4)のデータは、ROM(read only memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)、HDD(Hard Disc Drive)等の不揮発性記憶装置に記憶される。サーバ10は、図示しない一時記憶部を備えていてもよい。一時記憶部は、サーバ10が実行する各種処理の過程で、演算に使用するデータおよび演算結果等を一時的に記憶するいわゆるワーキングメモリであり、RAM(Random Access Memory)などの揮発性記憶装置で構成される。どのデータをどの記憶装置に記憶するのかについては、サーバ10の使用目的、利便性、コスト、または、物理的な制約などから適宜決定される。記憶部120には、さらに、発話装置の種類と優先すべき付加情報(カテゴリ)との対応関係を規定する優先カテゴリ管理テーブル121が格納されている。
(記憶部に格納されている情報について)
図4は、会話システム1において用いられるデータの一例を示す図である。図4の(A)は、サーバ10に格納されている優先カテゴリ管理テーブル121の一例を示す図である。図4の(B)は、サーバ10(より具体的には、発話データ送信部113)が発話装置30に送信する発話データの一例を示す図である。なお、図4の(C)は、発話装置30の発話データテーブル341に格納されている発話データの一例を示す図であり、詳細は後述する。
優先カテゴリ管理テーブル121は、発話装置30の種類と、優先カテゴリとの対応付けを定義するテーブルである。例えば、図4の(A)に例示する優先カテゴリ管理テーブル121において、「発話装置の種類:エアコン」には、「優先カテゴリ:天気」が対応付けられている。また、「調理機器」の優先カテゴリは「レシピ」と定義されており、「洗濯機」の優先カテゴリは「天気」および「洗濯指数」と定義されている。
発話データ送信部113は、優先カテゴリ管理テーブル121を参照して、上記削除指示を送信する発話装置30を決定する。具体的には、発話データ送信部113は、上記第1発話データのカテゴリを優先カテゴリとする発話装置30に、上記削除指示を送信する。例えば、発話データ送信部113は、図4の(A)に例示する優先カテゴリ管理テーブル121を参照して、カテゴリが「天気」である第1発話データをエアコン30aに送信する場合、該第1発話データとともに、上記削除指示を送信する。同様に、発話データ送信部113は、カテゴリが「レシピ」である第1発話データを調理機器30bに送信する場合、該第1発話データとともに、上記削除指示を送信する。
なお、カテゴリが「天気」である第1発話データを調理機器30bに送信する場合、発話データ送信部113は、該第1発話データのみを送信し、上記削除指示は調理機器30bに送信しない。調理機器30bの優先すべきカテゴリは「レシピ」であり、「天気」は調理機器30bの優先すべきカテゴリではないため、カテゴリが「天気」である第1発話データを調理機器30bに送信する場合、発話データ送信部113は、上記削除指示を調理機器30bに送信しない。カテゴリが「天気」である第1発話データのみを受信し、上記削除指示を受信しない調理機器30bは、該カテゴリが「天気」である第1発話データを、発話データテーブル341bに、該第1発話データの「順位」が最も遅くなるよう、格納する。
サーバ10は、図4の(B)に示すように、発話データ(第1発話データ)を、該発話データの内容を示す付加情報であるカテゴリとともに、発話装置30に送信する。すなわち、サーバ10の発話データ送信部113は、「今日の天気予報だよ。天気:晴れ時々曇り、最高気温:26℃、最低気温:16℃、降水確率:10%」という発話データを、該発話データの内容を示す、「天気」とのカテゴリ(付加情報)と対応付けて、発話装置30に送信する。
(発話装置の概要)
発話装置30は、例えば、エアコン30aであり、室温調整等の機能の他、動作ログの記憶機能、音声取得機能、音声出力機能等を備えている。さらに、発話装置30は、照明装置、冷蔵庫、掃除機、パソコン等の家庭内機器(図示しない)に制御信号を送信してこれを操作する機能を有していてもよい。発話装置30は、装置通信部31を介してサーバ10から受信した発話データを装置記憶部34の発話データテーブル341に格納し、発話データテーブル341に格納されている発話データを音声出力する。
図1に示すように、発話装置30は、装置通信部31、発話データ削除部32、発話データ格納部33、装置記憶部34、装置操作受付部35、出力制御部36、および音声出力部37を含む構成である。
装置通信部31は、サーバ10との通信を行うものである。すなわち、発話装置30は、装置通信部31を介して、サーバ10にセンシングデータ、動作ログ、写真等および音声情報を送信し、サーバ10から発話データおよび動作指示等を受信する。装置通信部31は、サーバ10(具体的には、サーバ10の発話データ送信部113)から、ユーザ操作に基づく発話装置30に対する発話の指示により発話が指示された発話データである第1発話データ、および該第1発話データを受信する前に装置記憶部34に格納されている発話データである第2発話データの少なくとも1つを装置記憶部34から削除する削除指示を受信する。装置通信部31は、上記第1発話データおよび上記削除指示を受信すると、上記第1発話データを発話データ格納部33に、上記削除指示を発話データ削除部32に、それぞれ通知する。
発話データ削除部32は、装置通信部31がサーバ10から受信した削除指示に基づいて、装置記憶部34の発話データテーブル341に格納されている発話データであって、装置通信部31がサーバ10から第1発話データを受信する前から発話データテーブル341に格納されている発話データである第2発話データを削除する。
発話データ格納部33は、装置通信部31がサーバ10から受信した第1発話データを、装置記憶部34の発話データテーブル341に格納する。
装置記憶部34は、発話装置30が使用する各種データを格納する記憶装置であり、発話データテーブル341が格納されている。発話データテーブル341には、発話装置30が発話する発話データと組み合わされて、該発話データの内容(発話内容)の種類を示す付加情報である「カテゴリ」と、該発話データの発話順序である「順位」とが格納される。
図4は、会話システム1において用いられるデータの一例を示す図であり、図4の(C)は、発話装置30の発話データテーブル341に格納されている発話データの一例を示す図である。図4の(C)に例示する発話データテーブル341には、以下の3つの発話データが格納されている。すなわち、すなわち、「順位:1」であって、「カテゴリ:スケジュール」である、「今日は燃えるゴミの日だよ。」との発話データと、「順位:2」であって、「カテゴリ:今日は何の日」である、「今日(3月8日)はみつばち(蜜蜂)の日だよ。」との発話データと、「順位:3」であって、「カテゴリ:天気」である、「今日の天気予報だよ。天気:晴れのち曇り、最高気温:24℃、最低気温:15℃、降水確率:20%」との発話データとが、格納されている。
装置操作受付部35は、ユーザ操作を受け付け、該ユーザ操作に対応付けられている処理を、発話装置30の各部に実行させる。例えば、装置操作受付部35は、発話装置30に発話を指示するユーザ操作を受け付けると、該ユーザ操作を出力制御部36に通知する。装置操作受付部35は、LED等を含み、例えば、装置記憶部34の発話データテーブル341に発話装置30が発話すべき発話データが格納されていることを検知すると、点滅してもよい。そして、点滅する装置操作受付部35を押下するユーザ操作を受け付けると、装置操作受付部35は、発話を指示するユーザ操作を受け付けたことを出力制御部36に通知してもよい。
出力制御部36は、装置操作受付部35から、装置操作受付部35が発話装置30に発話を指示するユーザ操作を受け付けたことを通知されると、音声出力部37に発話データテーブル341に格納されている発話データを発話させる。
音声出力部37は、装置記憶部34の発話データテーブル341に格納されている発話データを音声として外部に出力する。
なお、発話装置30は、前述のように、図示しないマイクを備え、例えば、ユーザから話し掛けられると、該マイクがユーザの音声を取得し、該音声を音声認識して所定の動作を実行するとともに、該音声に係る音声情報を、装置通信部31を介して、サーバ10に送信してもよい。また、発話装置30は、図示しないカメラを備え、ユーザと出会うと、該カメラによってユーザの顔画像を取得し、該顔画像に係る顔画像情報を、装置通信部31を介して、サーバ10に送信してもよい。
次に、発話装置30に音声出力させる発話データを生成するサーバ10について、詳細を説明する。
(発話制御サーバによる発話データ送信処理の概要)
次に、サーバ10の実行する発話データ送信処理を、図5を用いて説明する。図5は、サーバ10が実行する発話データ送信処理の例を示すフローチャートである。
サーバ10の指示取得部111は、ユーザから発話を指示する発話指示を取得すると(S10)、発話データ生成部112および削除指示部114のそれぞれに、以下の処理の実行を指示する。指示取得部111は、発話データ生成部112に、上記発話指示によって発話が指示された発話データである第1発話データを生成するよう指示する。また、指示取得部111は、削除指示部114に、上記第1発話データを発話装置30に送信するより前に発話装置30の装置記憶部34に格納されている発話データである第2発話データを全て装置記憶部34から削除する削除指示を生成するよう指示する。
なお、「発話を指示するユーザ操作」とは、例えば、発話装置30(例、エアコン30a)に今日の天気情報などの情報を提供するよう指示する、家族伝言板へのユーザからのメッセージ(例、「エアちゃん、今日の天気を教えて!」)の投稿である。
発話データ生成部112は、上記発話指示により発話が指示された発話データである第1発話データを生成する(S20)。例えば、上記ユーザ操作が「今日の天気を教えて!」である場合、発話データ生成部112は以下の処理を実行する。すなわち、発話データ生成部112は、情報提供サーバ40から今日の天気に係る情報を取得し、該情報を利用して、例えば、「今日の天気予報だよ。天気:晴れのち曇り。最高気温:24℃。最低気温:15℃。降水確率:20%」という第1発話データを生成する。そして、発話データ生成部112は、生成した第1発話データを発話データ送信部113に通知する。
削除指示部114は、全ての第2発話データを削除する削除指示を生成し(S30)、生成した削除指示を発話データ送信部113に通知する。
発話装置30の発話データ送信部113は、発話装置30に、第1発話データおよび削除指示を送信する(S40)。
サーバ10の上記発話データ送信処理を整理すれば以下の通りである。すなわち、サーバ10の上記発話データ送信処理は、装置記憶部34に格納した発話データを再生することにより発話する発話装置30を制御する発話制御装置の制御方法であって、ユーザ操作に基づく発話装置30に対する発話の指示を取得する指示取得ステップ(S10)と、上記指示取得ステップにて取得した発話の指示により発話が指示された発話データである第1発話データを上記発話装置に送信する発話データ送信ステップ(S40)と、上記発話データ送信ステップにて上記第1発話データを上記発話装置に送信するとき、該送信より前に上記記憶部に格納されている発話データである第2発話データの少なくとも1つを上記記憶部から削除する指示を、上記発話データ送信ステップにて上記発話装置へ送信させる削除指示ステップ(S30)と、を含む。
(処理の具体例)
サーバ10から発話装置30に送信された、上記発話データ(第1発話データ)および上記削除指示を発話装置30が受信することにより、発話装置30が実行する処理について、図6を用いて説明する。
図6は、エアコン30aの発話データテーブル341aに格納されている発話データについて、サーバ10から発話データを受信する前後でのデータ遷移を示す図である。図6の(A−1)は、サーバ10から発話データを受信する前のエアコン30aの発話データテーブル341aに格納されている発話データの例を示す図である。図6の(B)は、サーバ10がエアコン30aに送信する発話データの例を示す図である。図6の(A−2)は、サーバ10から発話データを受信した後のエアコン30aの発話データテーブル341aに格納されている発話データの例を示す図である。
図6の(A−1)に示す例では、サーバ10から発話データを受信する前のエアコン30aの発話データテーブル341aに、以下の3つの発話データが格納されている。すなわち、「順位:1」であって、「カテゴリ:スケジュール」である、「今日は燃えるゴミの日だよ。」との発話データと、「順位:2」であって、「カテゴリ:今日は何の日」である、「今日(3月8日)はみつばち(蜜蜂)の日だよ。」との発話データと、「順位:3」であって、「カテゴリ:天気」である、「今日の天気予報だよ。天気:晴れのち曇り、最高気温:24℃、最低気温:15℃、降水確率:20%」との発話データとが、格納されている。
サーバ10(正確には、発話データ送信部113)は、エアコン30aに、図6の(B)に例示する発話データを送信するとともに、以下の指示をエアコン30aに送信する。すなわち、サーバ10が図6の(B)に例示する発話データ(第1発話データ)をエアコン30aに送信する前にエアコン30aの発話データテーブル341aに格納されている発話データ(第2発話データ)を全て削除する指示(削除指示)を送信する。エアコン30aは、図6の(B)に示す発話データおよび上記削除指示をサーバ10から受信する(受信ステップ)と、以下の処理を実行する。
すなわち、先ず、エアコン30aの発話データ削除部32aは、サーバ10から上記第1発話データ(図6の(B)に示す発話データ)を受信する前に発話データテーブル341aに格納されていた発話データ(第2発話データ)を全て削除する(削除ステップ)。その後、エアコン30aの発話データ格納部33aは、空になった(すなわち、全ての発話データが削除された)発話データテーブル341aに、上記第1発話データを格納する。
エアコン30aによる上記発話データの格納処理によって、エアコン30aの発話データテーブル341aは、図6の(A−2)に例示する状態となる。すなわち、図6の(A−2)には、サーバ10から受信した上記第1発話データ(図6の(B)に示す発話データ)のみが格納されている発話データテーブル341aが示されている。
発話装置30の処理を整理すれば以下の通りである。すなわち、発話装置30の上記処理は、装置記憶部34(記憶部)に格納した発話データを再生することにより発話する発話装置30の制御方法であって、ユーザ操作に基づく自装置に対する発話の指示により発話が指示された発話データである第1発話データと、該第1発話データを受信する前に上記記憶部に格納されている発話データである第2発話データの少なくとも1つを上記記憶部から削除する削除指示とを受信する受信ステップと、上記受信ステップにて受信した上記削除指示に基づいて上記第2発話データの少なくとも1つを上記記憶部から削除する削除ステップと、を含む。
(発話制御サーバによる発話データ送信処理の応用例)
上述までの例では、サーバ10がエアコン30aのみに発話データを送信する例を説明した。しかしながら、サーバ10が発話データを送信する発話装置30は1つに限られない。以下では、サーバ10が発話データを送信する発話装置30が複数ある場合におけるサーバ10の実行する発話データ送信処理について、説明する。具体的には、サーバ10が発話データを送信する発話装置30が、エアコン30aと調理機器30bとである場合の、サーバ10の実行する発話データ送信処理について、説明する。
図7は、発話装置30が複数種類ある場合に、サーバ10が実行する発話データ送信処理の例を示すフローチャートである。
指示取得部111は、ユーザから発話を指示する発話指示を取得すると(S10)、発話データ生成部112に「第1発話データを生成する」よう指示するとともに、削除指示部114に「第2発話データを全て装置記憶部34から削除する削除指示を生成する」よう指示する。
発話データ生成部112は、上記発話指示に対応付けられた発話データである第1発話データを生成し(S20)、生成した第1発話データを、カテゴリ抽出部115および発話データ送信部113に通知する。
カテゴリ抽出部115は、発話データ生成部112が生成した第1発話データのカテゴリを取得し(S21)、取得した第1発話データのカテゴリを発話データ送信部113に通知する。
削除指示部114は、全ての第2発話データを削除する削除指示を生成し(S30)、生成した削除指示を発話データ送信部113に通知する。
発話データ送信部113は、優先カテゴリ管理テーブルを参照して、カテゴリ抽出部115から通知された第1発話データのカテゴリを優先カテゴリとする種類の発話装置を取得する(S31)。そして、発話データ送信部113は、上記第1発話データのカテゴリを優先カテゴリとする種類の発話装置30に、発話データ生成部112から取得した上記第1発話データ、および、削除指示部114から取得した削除指示を送信する(S40A)。
図8は、調理機器30bの発話データテーブル341bに格納されている発話データについて、サーバ10から発話データを受信する前後でのデータ遷移を示す図である。図8の(A−1)は、サーバ10から発話データを受信する前の調理機器30bの発話データテーブル341bに格納されている発話データの例を示す図である。図8の(B)は、サーバ10が調理機器30bに送信する、カテゴリが「レシピ」である発話データの例を示す図である。図8の(A−2)は、サーバ10からカテゴリが「レシピ」である発話データを受信した後の調理機器30bの発話データテーブル341bに格納されている発話データの例を示す図である。図8の(C−1)は、サーバ10から発話データを受信する前の調理機器30bの発話データテーブル341bに格納されている発話データの例を示す図である。図8の(D)は、サーバ10が調理機器30bに送信する、カテゴリが「天気」である発話データの例を示す図である。図8の(C−2)は、サーバ10からカテゴリが「天気」である発話データを受信した後の調理機器30bの発話データテーブル341bに格納されている発話データの例を示す図である。
なお、図8に示す、発話データテーブル341bに格納されている発話データの遷移の前提として、サーバ10は、図4の(A)に例示する優先カテゴリ管理テーブル121を参照して、上記発話データ送信処理を実行するものとする。図4の(A)の優先カテゴリ管理テーブル121には、「発話装置の種類:調理機器」と「優先カテゴリ:レシピ」とが対応付けられている。したがって、サーバ10の発話データ送信部113は、カテゴリが「レシピ」である第1発話データを調理機器30bに送信する場合、該第1発話データとともに、上記削除指示を送信する。また、発話データ送信部113は、カテゴリが「天気」である第1発話データを調理機器30bに送信する場合、該第1発話データのみを調理機器30bに送信し、上記削除指示を調理機器30bに送信しない。
図8の(A−1)に示す例では、サーバ10から発話データを受信する前の調理機器30bの発話データテーブル341bに、以下の3つの発話データが格納されている。すなわち、「順位:1」であって、「カテゴリ:スケジュール」である、「今日は燃えるゴミの日だよ。」との発話データと、「順位:2」であって、「カテゴリ:今日は何の日」である、「今日(3月8日)はみつばち(蜜蜂)の日だよ。」との発話データと、「順位:3」であって、「カテゴリ:レシピ」である、「出し巻き卵の材料は、だし:10g、卵:1個、砂糖:少々、・・・」との発話データとが、格納されている。
図8の(B)は、サーバ10が調理機器30bに送信する、「フレンチトーストのレシピだよ。材料は、バター:10g、卵:1個、牛乳:100〜120cc、・・・」という発話データを示しており、該発話データのカテゴリは「レシピ」である。上述の通り、発話データ送信部113は、カテゴリが「レシピ」である第1発話データを調理機器30bに送信する場合、該第1発話データとともに、削除指示を送信する。すなわち、発話データ送信部113は、調理機器30bに、図8の(B)に例示する発話データを送信するとともに、以下の指示を調理機器30bに送信する。すなわち、サーバ10が図8の(B)に例示する発話データ(第1発話データ)を調理機器30bに送信する前に調理機器30bの発話データテーブル341bに格納されている発話データ(第2発話データ)を全て削除する指示(削除指示)を送信する。調理機器30bは、図8の(B)に示す発話データおよび上記削除指示をサーバ10から受信する(受信ステップ)と、以下の処理を実行する。
すなわち、先ず、調理機器30bの発話データ削除部32bは、サーバ10から上記第1発話データを受信する前に発話データテーブル341bに格納されていた発話データ(第2発話データ)を全て削除する(削除ステップ)。その後、調理機器30bの発話データ格納部33bは、空になった発話データテーブル341bに、上記第1発話データを格納する。
調理機器30bによる上記発話データの格納処理によって、調理機器30bの発話データテーブル341bは、図8の(A−2)に例示する状態となる。すなわち、図8の(A−2)には、サーバ10から受信した上記第1発話データ(図8の(B)に示す発話データ)のみが格納されている発話データテーブル341bが示されている。
図8の(C−1)には、サーバ10から発話データを受信する前の調理機器30bの発話データテーブル341bに、図8の(A−1)に示したのと同様の発話データが格納されていることが示されている。
図8の(D)は、サーバ10が調理機器30bに送信する、「今日の天気予報だよ。天気:晴れ時々曇り、最高気温:26℃、最低気温:16℃、降水確率:10%」という発話データを示しており、該発話データのカテゴリは「天気」である。上述の通り、発話データ送信部113は、カテゴリが「天気」である第1発話データを調理機器30bに送信する場合、該第1発話データのみを送信し、削除指示は送信しない。すなわち、発話データ送信部113は、調理機器30bに、図8の(D)に例示する発話データのみを送信する。サーバ10から、図8の(D)に示す発話データのみを受信し、上記削除指示を受信しなかった調理機器30bは、以下の処理を実行する。
すなわち、調理機器30bは、図8の(D)に例示する、カテゴリが「天気」である第1発話データを、発話データテーブル341bに、該第1発話データの「順位」が最も遅くなるよう、格納する。
調理機器30bによる上記発話データの格納処理によって、調理機器30bの発話データテーブル341bは、図8の(C−2)に例示する状態となる。すなわち、図8の(C−2)には、サーバ10から受信した上記第1発話データ(図8の(D)に示す発話データ)が、第2発話データ(図8の(C−1)における「順位」が1〜3の発話データ)の後ろに、「順位:4」として格納されている発話データテーブル341bが示されている。
〔実施形態2〕
本発明の他の実施形態について、図9〜図11に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、実施形態1とは異なる構成(処理の手順及び処理の内容)のみについて説明し、実施形態1にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。すなわち、実施形態1で記載された構成等は、本実施形態にもすべて含まれ得る。また、実施形態1で記載した用語の定義も同じである。最初に、会話システム2におけるサーバ11および発話装置39の概要を説明すれば以下の通りである。
すなわち、会話システム2において、発話データには、発話内容の種類を示すカテゴリ(付加情報)が対応付けられており、サーバ11の削除指示部116は、上記第2発話データのうち、上記第1発話データに対応付けられているカテゴリと同じカテゴリが対応付けられている全ての発話データを削除する指示を、発話データ送信部113に発話装置39へ送信させる。
上記の構成によれば、サーバ11は、発話装置39の装置記憶部34に格納されている第2発話データのうち、上記第1発話データに対応付けられているカテゴリと同じカテゴリが対応付けられている発話データを全て削除させる。そして、サーバ11は、発話装置39の装置記憶部34に、上記第1発話データを格納させる。したがって、サーバ11は、発話装置39の装置記憶部34に格納されている発話データのうち、ユーザが聞きたいと考えていると思われるメッセージについて、上記発話の指示により発話が指示された上記第1発話データに更新することができる。
サーバ11は、発話データ送信部113が上記第1発話データを発話装置39に送信するとき、上記第1発話データを、上記第2発話データよりも先に発話するよう指示する発話順序制御指示を、発話データ送信部113に発話装置39へ送信させる発話順序指示部117をさらに備える。
上記の構成によれば、サーバ11は、発話装置39の装置記憶部34に格納されている発話データについて、ユーザが聞きたいと考えていると思われるメッセージを、つまり、上記発話の指示により発話が指示された上記第1発話データを、最初に発話させることができる。
発話装置39は、上記第1発話データを、上記第2発話データよりも先に再生するよう、装置記憶部34に格納されている発話データを更新する発話順序調整部38をさらに備える。
上記の構成によれば、発話装置39は、ユーザ操作に基づく自装置に対する発話の指示により発話が指示された発話データである上記第1発話データを、上記第2発話データよりも先に再生することができる。
次に、会話システム2のサーバ11および発話装置39の要部構成を、図9を用いて説明する。図9は、本発明の実施形態2に係る会話システム2のサーバ11、スマートフォン20、および発話装置39の要部構成の一例を示すブロック図である。
図9に示すサーバ11は、図1に例示したサーバ10と以下の点で異なる。すなわち、サーバ11は、サーバ10の構成に加えて、発話順序指示部117を備えている。発話順序指示部117は、第1発話データを第2発話データよりも先に発話するよう指示する発話順序制御指示を生成する。そして、発話順序指示部117は、生成した発話順序制御指示を発話データ送信部113に通知する。
また、サーバ11の削除指示部116は、サーバ10の削除指示部114と以下の点において異なる。すなわち、削除指示部114が、第2発話データを全て削除する削除指示を生成したのに対して、削除指示部116は、第2発話データのうち、第1発話データに対応付けられている付加情報(カテゴリ)と同じ付加情報が対応付けられている全ての発話データを削除する削除指示を生成する。削除指示部116は、生成した削除指示を発話データ送信部113に通知する。例えば、発話データ生成部112が生成した第1発話データのカテゴリが「天気」である場合、削除指示部116は、第2発話データのうち、カテゴリが「天気」である発話データを全て削除する削除指示を生成し、該削除指示を発話データ送信部113に通知する。そして、サーバ11の発話データ送信部113は、第1発話データ、削除指示、および発話順序調整指示を送信する。
図10は、サーバ11が実行する発話データ送信処理の例を示すフローチャートである。図10に示すように、指示取得部111は、ユーザから発話を指示する発話指示を取得すると(S10)、発話データ生成部112および削除指示部114のそれぞれに、以下の処理の実行を指示する。すなわち、指示取得部111は、発話データ生成部112に、上記ユーザ操作に対応付けられた発話データである第1発話データを生成するよう指示する。また、指示取得部111は、削除指示部116に、第2発話データの少なくとも1つを削除する削除指示を生成するよう指示する。
発話データ生成部112は、上記発話指示に対応付けられた発話データである第1発話データを生成し(S20)、生成した第1発話データを、カテゴリ抽出部115および発話データ送信部113に通知する。
カテゴリ抽出部115は、発話データ生成部112により生成された第1発話データのカテゴリを取得する(S21)。そして、カテゴリ抽出部115は、取得した第1発話データのカテゴリを発話データ送信部113に通知する。
削除指示部116は、第1発話データのカテゴリと同じカテゴリの第2発話データを削除する削除指示を生成する(S30A)。そして、削除指示部116は、生成した削除指示を発話データ送信部113に通知する。
発話データ送信部113は、優先カテゴリ管理テーブル121を参照して、第1発話データのカテゴリを優先カテゴリとする種類の発話装置30を取得する(S31)。
発話順序指示部117は、第1発話データを第2発話データよりも先に発話させる発話順序調整指示を生成する(S32)。そして、発話順序指示部117は、生成した発話順序調整指示を発話データ送信部113に通知する。
発話データ送信部113は、S31で取得した発話装置30に、つまり、第1発話データのカテゴリを優先カテゴリとする種類の発話装置30に、以下の情報を送信する。すなわち、発話データ送信部113は、発話データ生成部112により生成された第1発話データ、削除指示部116により生成された削除指示、および発話順序指示部117により生成された発話順序調整指示を、第1発話データのカテゴリを優先カテゴリとする種類の発話装置30に送信する(S40B)。
図11は、発話装置39の発話データテーブル341に格納されている発話データについて、サーバ11から発話データを受信する前後でのデータ遷移を示す図である。図11の(A−1)は、サーバ11から発話データを受信する前の発話装置39の発話データテーブル341に格納されている発話データの例を示す図である。図11の(B)は、サーバ11が発話装置39に送信する発話データの例を示す図である。図11の(A−2)は、サーバ11から発話データを受信した後の発話装置39の発話データテーブル341に格納されている発話データについて、(A−1)に示すデータのうち、サーバ11から受信した発話データと同じカテゴリの発話データが、(B)に示す発話データに更新されていることを示す図である。図11の(A−3)は、(A−2)に示すデータについて、(B)に示す発話データが先頭に配置されている例を示す図である。
図11の(A−1)に例示する発話装置39の発話データテーブル341には、図6の(A−1)に示したのと同様に、以下の3つの発話データが格納されている。すなわち、「順位:1」であって、「カテゴリ:スケジュール」である、「今日は燃えるゴミの日だよ。」との発話データと、「順位:2」であって、「カテゴリ:今日は何の日」である、「今日(3月8日)はみつばち(蜜蜂)の日だよ。」との発話データと、「順位:3」であって、「カテゴリ:天気」である、「今日の天気予報だよ。天気:晴れのち曇り、最高気温:24℃、最低気温:15℃、降水確率:20%」との発話データとが、格納されている。
発話装置39は、サーバ11から、図11の(B)に例示する第1発話データ、第1発話データのカテゴリと同じカテゴリの第2発話データを削除する削除指示、および、第1発話データを第2発話データよりも先に発話させる発話順序調整指示を受信すると、以下の処理を実行する。
ここで、上述の通り、サーバ11の発話データ送信部113から発話装置39が受信する削除指示は、発話データ送信部113から発話装置39に送信される第1発話データのカテゴリと同じカテゴリの第2発話データをすべて削除する削除指示である。図11の例では、発話装置39が発話データ送信部113から受信する第1発話データは、図11の(B)に示す発話データであり、「今日の天気予報だよ。天気:晴れ時々曇り、最高気温:26℃、最低気温:16℃、降水確率:10%」という発話データである。したがって、上記第1発話データは、「天気」を発話内容の種類とするものであり、上記第1発話データのカテゴリ(付加情報)は、「天気」である。
したがって、発話装置39が発話データ送信部113から受信する削除指示は、カテゴリが「天気」である第2発話データをすべて削除するという削除指示である。上記削除指示を受信した発話装置39の発話データ削除部32は、サーバ11から受信した第1発話データのカテゴリである「天気」をカテゴリとする第2発話データを全て削除する。
具体的には、発話データ削除部32は、サーバ11から受信した上記第1発話データのカテゴリである「天気」をカテゴリとする第2発話データが発話データテーブル341に格納されていないかを確認する。そして、発話データテーブル341に、カテゴリが「天気」である第2発話データが既に格納されていると判定すると、発話データ削除部32は、該カテゴリが「天気」である第2発話データを削除する。ここで、サーバ11から上記第1発話データを受信する前の発話データテーブル341を示す図11の(A−1)の発話データテーブル341には、3行目に、カテゴリが「天気」である発話データ(「今日の天気予報だよ。天気:晴れのち曇り、最高気温:24℃、最低気温:15℃、降水確率:20%」)が、「順位:3」として格納されている。したがって、発話データ削除部32は、図11の(A−1)発話データテーブル341から、「今日の天気予報だよ。天気:晴れのち曇り、最高気温:24℃、最低気温:15℃、降水確率:20%」との発話データ(カテゴリが「天気」である発話データ)を削除する。
図11の(A−1)の発話データテーブル341から、カテゴリが「天気」である発話データを削除した後、発話データ格納部33は、サーバ11から受信した第1発話データ(図11の(B)の第1発話データ)を発話データテーブル341に格納する。
図11の(A−2)には、図11の(A−1)に示す発話データのうち、サーバ11から受信した第1発話データ(図11の(B)に示す発話データ)のカテゴリ(天気)と同じカテゴリの第2発話データが、図11の(B)に示す第1発話データに更新されていることが示されている。すなわち、図11の(A−1)においてカテゴリが「天気」である発話データは「天気:晴れ『のち』曇り、最高気温:2『4』℃、最低気温:1『5』℃、降水確率:『2』0%」であったのに対し、(A−2)においてカテゴリが「天気」である発話データは「天気:晴れ『時々』曇り、最高気温:2『6』℃、最低気温:1『6』℃、降水確率:『1』0%」にである。
その後さらに、発話順序調整部38は、上記第1発話データを、上記第2発話データより先に発話するよう、発話データテーブル341に格納されている発話データの発話順位(順位)を更新する。すなわち、発話データテーブル341に格納された上記第1発話データの順位を「1」にし、上記第1発話データ以外の発話データ(つまり、第2発話データ)について、順位を1つ下げる。
カテゴリが「天気」である、「今日の天気予報だよ。天気:晴れ時々曇り、最高気温:26℃、最低気温:16℃、降水確率:10%」という発話データ(図11の(B)に示す発話データ。つまり、第1発話データ)は、図11の(A−2)においては順位が「3」であったが、図11の(A−3)において順位は「1」である。また、「今日の天気予報だよ。天気:晴れ時々曇り、最高気温:26℃、最低気温:16℃、降水確率:10%」という発話データ以外の発話データ(つまり、第2発話データ)の順位は、図11の(A−3)において、図11の(A−2)の時と比べて1つ下がっている。
〔実施形態3〕
本発明の他の実施形態について、図12〜図14に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、実施形態1とは異なる構成(処理の手順及び処理の内容)のみについて説明し、実施形態1および2にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。すなわち、実施形態1および2で記載された構成等は、本実施形態にもすべて含まれ得る。また、実施形態1および2で記載した用語の定義も同じである。最初に、会話システム3におけるサーバ12および発話装置30の概要を説明すれば以下の通りである。
すなわち、会話システム3は、装置記憶部34に格納した発話データを再生することにより発話する発話装置30と、発話装置30を制御するサーバ12(発話制御装置)と、を含む発話制御システムであって、サーバ12は、ユーザ操作に基づき発話装置30に対する発話禁止の指示を取得したとき、装置記憶部34に格納されていた全ての発話データを削除させる、または、該全ての発話データの再生を中止させる発話禁止指示を発話装置30へ送信し、発話装置30は、上記発話禁止指示を受信し、装置記憶部34に格納されていた全ての発話データを削除する、または、該全ての発話データの再生を中止する。
サーバ12は、装置記憶部34に格納した発話データを再生することにより発話する発話装置30を制御する発話制御装置であって、ユーザ操作に基づく発話装置30に対する発話禁止の指示を取得する指示取得部111(禁止指示取得部)と、指示取得部111が上記発話禁止の指示を取得したとき、発話装置30に対して、装置記憶部34に格納されていた全ての発話データを削除させる、または、該全ての発話データの再生を中止させる発話禁止部118と、を備える。
上記の構成によれば、サーバ12は、ユーザ操作に基づく上記発話禁止の指示を取得すると、発話装置30が発話しないように、発話装置30を制御する。したがって、サーバ12は、発話装置30が、ユーザの要望の度合いが相対的に低いと思われるメッセージ(発話データ)を発話する可能性を抑えることができる。
次に、会話システム3のサーバ12および発話装置30の要部構成を、図12を用いて説明する。図12は、本発明の実施形態3に係る会話システム3のサーバ12、スマートフォン20、および発話装置30の要部構成の一例を示すブロック図である。図12に示すサーバ12は、図1に例示したサーバ10と以下の点で異なる。すなわち、サーバ12は、サーバ10の構成に加えて、発話禁止部118を備えている。
指示取得部111は、ユーザからの発話禁止の指示を取得すると、発話禁止部118に、発話装置30に対して、装置記憶部34に格納されていた全ての発話データを削除させる、または、該全ての発話データの再生を中止させる発話禁止指示を生成するよう指示しる。発話禁止部118は、発話禁止指示を生成し、生成した発話禁止指示を発話データ送信部113に通知する。そして、発話データ送信部113が、発話装置30に、上記発話禁止指示を送信する。ただし、発話装置30に上記発話禁止指示を送信するのは、発話禁止部118であってもよい。
図13は、サーバ12が実行する発話禁止処理の例を示すフローチャートである。図13に示すように、サーバ12において、指示取得部111が、発話装置30による発話の禁止を指示するユーザ指示を取得する(S110)と、発話禁止部118は、全ての第2発話データを削除する発話禁止指示を生成する(S120)。そして、発話禁止部118は、生成した発話禁止指示を発話データ送信部113に通知する。発話禁止部118から発話禁止指示を通知された発話データ送信部113は、発話装置30に、発話禁止指示を送信する(S130)。
サーバ12の上記発話禁止処理を整理すれば以下の通りである。すなわち、サーバ12が実行する発話禁止処理は、装置記憶部34に格納した発話データを再生することにより発話する発話装置30を制御する発話制御装置の制御方法であって、ユーザ操作に基づく発話装置30に対する発話禁止の指示を取得する禁止指示取得ステップ(S110)と、上記禁止指示取得ステップにて上記発話禁止の指示を取得したとき、上記発話装置に対して、上記記憶部に格納されていた全ての発話データを削除させる、または、該全ての発話データの再生を中止させる発話禁止ステップ(S130)と、を含む。
図14は、発話装置30の発話データテーブル341に格納されている発話データについて、サーバ12から発話禁止指示を受信する前後でのデータ遷移を示す図である。図14の(A−1)は、サーバ12から発話禁止指示を受信する前の発話装置30の発話データテーブル341に格納されている発話データの例を示す図である。図14の(A−2)は、サーバ12から発話禁止指示を受信した後の発話装置30の発話データテーブル341に格納されている発話データの例を示す図である。
図14に示す通り、発話装置30(正確には、発話装置30の発話データ削除部32)は、サーバ12から発話禁止指示を受信すると、発話データテーブル341に格納されている発話データをすべて削除する。
サーバ12によって、例えば、家庭内に配置された発話装置30が、疲れて家で休んでいるお父さんに無駄な発言を聞かせる事態を防ぐために、お母さんは、以下の操作を実行することができる。すなわち、お母さんは、スマートフォン20bを用いて、家族伝言板に、「スリープ」シール、および発話装置30に発話の禁止を指示するメッセージを投稿する。お母さんから、発話装置30に発話の禁止を指示する指示を取得したサーバ12は、以下の処理を実行する。すなわち、サーバ12の発話禁止部118は、全ての第2発話データを削除する発話禁止指示を生成し、生成した発話禁止指示を発話データ送信部113に通知する。発話データ送信部113は、発話禁止部118から発話禁止指示を通知された発話禁止指示を、発話装置30に送信する。サーバ12から発話禁止指示を受信した発話装置30の発話データ削除部32は、発話データテーブル341に格納されている発話データをすべて削除する。したがって、家で休んでいるお父さんは、発話装置30からの発言に煩わされることがなくなる。
〔変形例〕
指示取得部111が取得したユーザからの発話指示によって発話が指示された発話データである第1発話データに「カテゴリ(第1発話データの内容の種類を示す付加情報)」が対応付けられている例を説明した。しかしながら、カテゴリが対応付けられている発話データは、ユーザからの発話指示によって発話が指示された発話データに限られるものではない。すなわち、自発生成発話データについても、自発生成発話データの内容の種類を示す付加情報であるカテゴリが対応付けられていてもよい。
例えば、自走式掃除機30eの不具合(例えば、自走式掃除機30eのダストボックス内に溜め込まれたゴミが所定量を超えたために自走式掃除機30eの吸引力が低下している)に係る情報を取得すると、発話データ生成部112は、該情報に係る発話データを自発的に生成する。すなわち、自走式掃除機30eの不具合に係る発話データは、ユーザの発話指示に基づき発話データ生成部112が生成する発話データではなく、発話データ生成部112が自発的に生成する自発生成発話データである。このような自発生成発話データについてもカテゴリが対応付けられており、例えば、自走式掃除機30eに、優先カテゴリとして「自走式掃除機30eの不具合」が対応付けられている場合、サーバ10は、以下の処理を実行してもよい。
すなわち、サーバ10は、「自走式掃除機30eの不具合」をカテゴリとする自発生成発話データを生成すると、自走式掃除機30eに、該自発生成発話データを送信するとともに、該送信より前に自走式掃除機30eの発話データテーブル341eに格納されている発話データを全て削除させる削除指示を、自走式掃除機30eに送信してもよい。
上記の構成によれば、サーバ10は、自走式掃除機30eに、自走式掃除機30eの動作にとって重要な情報に係る発話データのみを発話させることができる。
また、上述までの例では、サーバ10および11が発話装置30および39に、削除指示を送信するとした。しかしながら、サーバ10および11が上記削除指示を発話装置30および39に送信することは必須ではない。例えば、発話装置30、39は、装置記憶部34に、自装置が優先すべきカテゴリについての情報(例、優先カテゴリ管理テーブル121に格納されているデータ)を格納していてもよい。そして、サーバ10または11から発話データ(第1発話データ)を取得した発話装置30、39の発話データ削除部32は、該発話データのカテゴリが自装置の優先すべきカテゴリと一致すると判定すると、発話データテーブル341に格納されている第2発話データの少なくとも1つを削除するとしてもよい。
具体的には、エアコン30aは、自装置の優先すべきカテゴリが「天気」であるとの情報を装置記憶部34aに格納しており、サーバ10からカテゴリが「天気」である第1発話データを取得すると、エアコン30aの発話データ削除部32aが、発話データテーブル341aに格納されている第2発話データの少なくとも1つを削除するとしてもよい。同様に、調理機器30bは、自装置の優先すべきカテゴリが「レシピ」であるとの情報を装置記憶部34bに格納しており、サーバ10からカテゴリが「レシピ」である第1発話データを取得すると、調理機器30bの発話データ削除部32bが、発話データテーブル341bに格納されている第2発話データの少なくとも1つを削除するとしてもよい。
さらに、発話装置30および39は、自装置とサーバ10および11との通信のための中継器(アダプタ)を備えていてもよい。そして、上記中継器が、発話装置30および39の優先すべきカテゴリについての情報を格納しており、「サーバ10または11から受信した第1発話データのカテゴリが、発話装置30および39の優先すべきカテゴリに一致する」と判定すると、上記削除指示を発話装置30および39の発話データ削除部32に通知するとしてもよい。上記中継器から上記削除指示を取得した発話装置30および39の発話データ削除部32は、発話データテーブル341に格納されている第2発話データの少なくとも1つを削除する。なお、上記中継器は、発話装置30および39に内蔵されていてもよいし、発話装置30および39に後付されるものであってもよい。
〔実施形態4〕
上記までに説明してきた会話システム1から3においては、以下の複数の処理(機能)が複数の装置に分散されて実行される構成となっていた。すなわち、発話装置30および39の発話を指示するユーザからの発話指示を取得する機能、発話データを生成する機能、発話データを生成するのに必要な情報を取得する機能、発話装置30および39の発話データテーブル341に格納されている第2発話データの少なくとも1つを削除する削除指示を生成する機能は、サーバ10、11、12によって実行されていた。また、上記第2発話データの少なくとも1つを削除する機能、また、上記第1発話データを発話する機能は、発話装置30、39によって実行されていた。
しかしながら、1つのサーバまたは装置内で各々の機能を実現してもよいし、各々の機能を有するサーバまたは装置が個別に複数存在してもよいし、個々のサーバは異なる事業者によって管理されていてもよい。例えば、上記第2発話データの少なくとも1つを削除する機能、および上記第1発話データを発話する機能に加えて、発話を指示するユーザからの発話指示を取得し、該発話指示に対応する発話データを生成する機能、該発話指示に対応する発話データ以外の発話データを発話データテーブル341から削除する機能等を、発話装置30、39が実行するとしてもよい。
また、上記各実施形態では、1つのサーバ10、11、12を用いる例を説明したが、サーバ10、11、12の有する各機能が、個別のサーバにて実現されていてもよい。そして、複数のサーバを適用する場合においては、各サーバは、同じ事業者によって管理されていてもよいし、異なる事業者によって管理されていてもよい。
〔実施形態5〕
サーバ10、11、12および発話装置30、39の各ブロック(特に、発話装置30、39の装置通信部31、発話データ削除部32、発話データ格納部33、装置操作受付部35、出力制御部36、発話順序調整部38、および、サーバ10、11、12の指示取得部111、発話データ生成部112、発話データ送信部113、削除指示部114、カテゴリ抽出部115、削除指示部116、発話順序指示部117、発話禁止部118)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。後者の場合、サーバ10、11、12および発話装置30、39のそれぞれを、図15に示すようなコンピュータ(電子計算機)を用いて構成することができる。
図15は、上記のサーバ10、11、12および発話装置30、39として利用可能なコンピュータの構成を例示したブロック図である。
コンピュータ400は、図15に示すように、バス410を介して互いに接続された演算装置420と、主記憶装置430と、補助記憶装置440と、入出力インターフェース450とを備えている。演算装置420、主記憶装置430、および補助記憶装置440は、それぞれ、例えばCPU、RAM(random access memory)、ハードディスクドライブであってもよい。なお、主記憶装置430は、コンピュータ読み取り可能な「一時的でない有形の媒体」であればよく、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブル論理回路などを用いることができる。
入出力インターフェース450には、入力装置500および出力装置600が接続される。サーバ10、11、12および発話装置30、39の各々の入力装置500および出力装置600は、他のサーバ10、11、12および発話装置30、39から送信されるデータの受信、および他のサーバ10、11、12および発話装置30、39へのデータの送信を行う。サーバ10、11、12および発話装置30、39の各々の入力装置500および出力装置600は、サーバ10、11、12および発話装置30、39からのデータの受信、ユーザの発話の取得、および該サーバへのデータの送信等を行う。入力装置500および出力装置600は、コンピュータ400に内蔵されたものであってもよいし、コンピュータ400に接続された(外付けされた)ものであってもよい。例えば、入力装置500は、キーボード、マウス、タッチセンサなどであってもよく、出力装置600は、ディスプレイ、プリンタ、スピーカなどであってもよい。また、タッチセンサとディスプレイとが一体化されたタッチパネルのような、入力装置500および出力装置600の双方の機能を有する装置を適用してもよい。コンピュータ400は、外部の装置と通信するためのインターフェース(図示しない)をさらに備えていてもよい。
補助記憶装置440には、コンピュータ400を上記のサーバ10、11、12および発話装置30、39として動作させるための各種のプログラムが格納されている。そして、演算装置420は、補助記憶装置440に格納された上記プログラムを主記憶装置430上に展開して該プログラムに含まれる命令を実行することによって、コンピュータ400を、上記のサーバ10、11、12および発話装置30、39が備える各部として機能させる。なお、補助記憶装置440が備える、プログラム等の情報を記録する記録媒体は、コンピュータ読み取り可能な「一時的でない有形の媒体」であればよく、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブル論理回路などであってもよい。
また、上記プログラムは、コンピュータ400の外部から取得してもよく、この場合、任意の伝送媒体(通信ネットワークや放送波等)を介して取得してもよい。そして、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
〔まとめ〕
本発明の態様1に係る発話制御装置(サーバ10、11)は、記憶部(装置記憶部34)に格納した発話データを再生することにより発話する発話装置(30、39)を制御する発話制御装置であって、ユーザ操作に基づく上記発話装置に対する発話の指示を取得する指示取得部(111)と、上記指示取得部が取得した発話の指示により発話が指示された発話データである第1発話データを上記発話装置に送信する発話データ送信部(113)と、上記発話データ送信部が上記第1発話データを上記発話装置に送信するとき、該送信より前に上記記憶部に格納されている発話データである第2発話データの少なくとも1つを上記記憶部から削除する削除指示を、上記発話データ送信部に上記発話装置へ送信させる削除指示部(116)と、を備えている。
上記の構成によれば、上記発話制御装置は、上記発話装置の上記記憶部に格納されている上記第2発話データの少なくとも1つを削除させるとともに、上記発話の指示により発話が指示された上記第1発話データを上記発話装置に送信する。つまり、上記発話制御装置は、上記発話装置の上記記憶部に格納されている、ユーザの要望の度合いが相対的に低いと思われるメッセージを削除させ、発話が指示された上記第1発話データを上記発話装置の上記記憶部に格納させる。したがって、上記発話制御装置は、発話装置が、ユーザの要望の度合いが相対的に低いと思われるメッセージ(発話データ)を発話する可能性を抑えることができる。また、上記発話制御装置は、発話装置に、ユーザが聞きたいと考えている(ユーザの要望の度合いが相対的に高い)と思われるメッセージを、つまり、上記発話の指示により発話が指示された上記第1発話データを、発話させることができる。
本発明の態様2に係る発話制御装置は、上記態様1において、上記削除指示部は、上記発話データ送信部が上記第1発話データを上記発話装置に送信するとき、上記第2発話データを全て削除する指示を、上記発話データ送信部に上記発話装置へ送信させてもよい。
上記の構成によれば、上記発話制御装置は、上記発話装置の上記記憶部に格納されている上記第2発話データを全て削除させるとともに、上記発話の指示により発話が指示された上記第1発話データを上記発話装置に送信する。つまり、上記発話制御装置は、上記発話装置の上記記憶部に格納されている発話データを、発話の指示された上記第1発話データのみにする。したがって、上記発話制御装置は、上記発話装置に、ユーザが最も聞きたいと考えていると思われるメッセージのみを、つまり、上記発話の指示により発話が指示された上記第1発話データのみを、発話させることができる。
本発明の態様3に係る発話制御装置は、上記態様1において、上記発話データには、発話内容の種類を示す付加情報(カテゴリ)が対応付けられており、上記削除指示部は、上記第2発話データのうち、上記第1発話データに対応付けられている付加情報と同じ付加情報が対応付けられている全ての発話データを削除する指示を、上記発話データ送信部に上記発話装置へ送信させてもよい。
上記の構成によれば、上記発話制御装置は、上記発話装置の上記記憶部に格納されている第2発話データのうち、上記第1発話データに対応付けられている付加情報と同じ付加情報が対応付けられている発話データを全て削除させる。そして、上記発話制御装置は、上記発話装置の上記記憶部に、上記第1発話データを格納させる。したがって、上記発話制御装置は、上記発話装置の上記記憶部に格納されている発話データのうち、ユーザが聞きたいと考えていると思われる種類(カテゴリ)のメッセージについて、上記発話の指示により発話が指示された上記第1発話データに更新することができる。
本発明の態様4に係る発話制御装置は、上記態様3において、上記発話データ送信部が上記第1発話データを上記発話装置に送信するとき、上記第1発話データを、上記第2発話データよりも先に発話するよう指示する発話順序制御指示を、上記発話データ送信部に上記発話装置へ送信させる発話順序指示部(117)をさらに備えてもよい。
上記の構成によれば、上記発話制御装置は、上記発話装置の上記記憶部に格納されている発話データについて、ユーザが聞きたいと考えていると思われるメッセージを、つまり、上記発話の指示により発話が指示された上記第1発話データを、最初に発話させることができる。
本発明の態様5に係る発話制御装置は、上記態様1から4のいずれかにおいて、上記発話データには、発話内容の種類を示す付加情報が対応付けられており、上記発話装置は複数あって、上記発話装置の種類ごとに優先すべき付加情報が少なくとも1つ定められており、上記発話データ送信部は、上記削除指示を、上記第1発話データの付加情報が上記優先すべき付加情報のいずれかに一致する種類の発話装置に送信してもよい。
上記の構成によれば、上記発話制御装置は、複数の上記発話装置のうち、上記第1発話データの付加情報が上記優先すべき付加情報のいずれかに一致する種類の発話装置に、上記削除指示を送信する。例えば、上記発話装置として、エアコンと調理機器とがあり、エアコンの優先すべき付加情報が「天気」であり、調理機器の優先すべき付加情報が「レシピ」である場合、上記発話制御装置は、付加情報が「天気」である第1発話データをエアコンに送信するとき、上記削除指示をエアコンに送信する。そして、上記削除指示を受信した上記エアコンは、上記第2発話データの少なくとも1つを上記記憶部から削除する。上記エアコンは、上記記憶部から上記第2発話データを削除し、付加情報が「天気」である上記第1発話データを上記記憶部に格納するので、上記エアコンが上記第1発話データを発話する可能性が高くなる。つまり、上記エアコンが、エアコンの優先すべき付加情報である「天気」に係る内容の第1発話データを発話する可能性が高くなる。したがって、上記発話制御装置は、上記発話装置が、該発話装置の種類に対応付けられた優先すべき付加情報と同じ付加情報が対応付けられた第1発話データを発話する可能性を高めることができる。
本発明の態様6に係る発話制御装置(サーバ12)は、記憶部(装置記憶部34)に格納した発話データを再生することにより発話する発話装置(30)を制御する発話制御装置であって、ユーザ操作に基づく上記発話装置に対する発話禁止の指示を取得する禁止指示取得部(指示取得部111)と、上記禁止指示取得部が上記発話禁止の指示を取得したとき、上記発話装置に対して、上記記憶部に格納されていた全ての発話データを削除させる、または、該全ての発話データの再生を中止させる発話禁止部(118)と、を備えている。
上記の構成によれば、上記発話制御装置は、ユーザ操作に基づく上記発話禁止の指示を取得すると、上記発話装置が発話しないように、上記発話装置を制御する。したがって、上記発話制御装置は、発話装置が、ユーザの要望の度合いが相対的に低いと思われるメッセージ(発話データ)を発話する可能性を抑えることができる。
本発明の態様7に係る発話装置(30、39)は、記憶部(装置記憶部34)に格納した発話データを再生することにより発話する発話装置であって、ユーザ操作に基づく自装置に対する発話の指示により発話が指示された発話データである第1発話データと、該第1発話データを受信する前に上記記憶部に格納されている発話データである第2発話データの少なくとも1つを上記記憶部から削除する削除指示とを受信する受信部(装置通信部31)と、上記受信部により受信された上記削除指示に基づいて上記第2発話データの少なくとも1つを上記記憶部から削除する削除部(発話データ削除部32)と、を備えている。
上記の構成によれば、上記発話装置は、ユーザ操作に基づく自装置に対する発話の指示により発話が指示された発話データである上記第1発話データを受信する前に上記記憶部に格納されている発話データである第2発話データの少なくとも1つを上記記憶部から削除する。したがって、上記発話装置は、ユーザの要望の度合いが相対的に低いと思われるメッセージ(発話データ)を発話する可能性を抑えることができる。
本発明の態様8に係る発話装置(39)は、上記態様7において、上記第1発話データを、上記第2発話データよりも先に再生するよう、上記記憶部に格納されている発話データを更新する発話順序調整部(38)をさらに備えてもよい。
上記の構成によれば、上記発話装置は、ユーザ操作に基づく自装置に対する発話の指示により発話が指示された発話データである上記第1発話データを、上記第2発話データよりも先に再生することができる。
本発明の態様9に係る発話制御システム(会話システム1、2)は、記憶部(装置記憶部34)に格納した発話データを再生することにより発話する発話装置(30、39)と、該発話装置を制御する発話制御装置(サーバ10、11)と、を含む発話制御システムであって、上記発話制御装置は、ユーザ操作に基づき上記発話装置に対する発話が指示された発話データである第1発話データを上記発話装置に送信するとき、該送信より前に上記記憶部に格納されている発話データである第2発話データの少なくとも1つを上記記憶部から削除する削除指示を上記発話装置へ送信し、上記発話装置は、上記第1発話データと上記削除指示とを受信し、上記第2発話データの少なくとも1つを上記記憶部から削除する。
上記の構成によれば、上記発話制御システムは、上記態様1と同様の効果を奏する。
本発明の態様10に係る発話制御システム(会話システム3)は、記憶部(装置記憶部34)に格納した発話データを再生することにより発話する発話装置(30)と、該発話装置を制御する発話制御装置(サーバ12)と、を含む発話制御システムであって、上記発話制御装置は、ユーザ操作に基づき上記発話装置に対する発話禁止の指示を取得したとき、上記記憶部に格納されていた全ての発話データを削除させる、または、該全ての発話データの再生を中止させる発話禁止指示を上記発話装置へ送信し、上記発話装置は、上記発話禁止指示を受信し、上記記憶部に格納されていた全ての発話データを削除する、または、該全ての発話データの再生を中止する。
上記の構成によれば、上記発話制御システムは、上記態様6と同様の効果を奏する。
本発明の態様11に係る発話制御装置(サーバ10、11)の制御方法は、記憶部(装置記憶部34)に格納した発話データを再生することにより発話する発話装置(30、39)を制御する発話制御装置の制御方法であって、ユーザ操作に基づく上記発話装置に対する発話の指示を取得する指示取得ステップ(S10)と、上記指示取得ステップにて取得した発話の指示により発話が指示された発話データである第1発話データを上記発話装置に送信する発話データ送信ステップ(S40)と、上記発話データ送信ステップにて上記第1発話データを上記発話装置に送信するとき、該送信より前に上記記憶部に格納されている発話データである第2発話データの少なくとも1つを上記記憶部から削除する指示を、上記発話データ送信ステップにて上記発話装置へ送信させる削除指示ステップ(S30)と、を含む。
上記の制御方法によれば、態様1と同様の効果を奏する。
本発明の態様12に係る発話制御装置(サーバ12)の制御方法は、記憶部(装置記憶部34)に格納した発話データを再生することにより発話する発話装置(30)を制御する発話制御装置の制御方法であって、ユーザ操作に基づく上記発話装置に対する発話禁止の指示を取得する禁止指示取得ステップ(S110)と、上記禁止指示取得ステップにて上記発話禁止の指示を取得したとき、上記発話装置に対して、上記記憶部に格納されていた全ての発話データを削除させる、または、該全ての発話データの再生を中止させる発話禁止ステップ(S130)と、を含む。
上記の制御方法によれば、上記態様6と同様の効果を奏する。
本発明の態様13に係る発話装置(30、39)の制御方法は、記憶部(装置記憶部34)に格納した発話データを再生することにより発話する発話装置の制御方法であって、ユーザ操作に基づく自装置に対する発話の指示により発話が指示された発話データである第1発話データと、該第1発話データを受信する前に上記記憶部に格納されている発話データである第2発話データの少なくとも1つを上記記憶部から削除する削除指示とを受信する受信ステップと、上記受信ステップにて受信した上記削除指示に基づいて上記第2発話データの少なくとも1つを上記記憶部から削除する削除ステップと、を含む。
上記の制御方法によれば、上記態様7と同様の効果を奏する。
本発明の各態様に係る発話制御装置および発話装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記発話制御装置および発話装置が備える各部(ソフトウェア要素)として動作させることにより上記発話制御装置および発話装置をコンピュータにて実現させる発話制御装置および発話装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。