≪実施形態1≫
本発明の一実施形態について、図1〜図10に基づいて説明すると以下の通りである。
以下で説明する実施形態では、一例として、本発明の発言処理装置を、家族伝言板システムに適用した例について説明する。家族伝言板システムとは、家族伝言板サーバ(会話仲介サーバ)が提供する家族伝言板(電子会話ツール)を介して、1世帯の家族が1つのコミュニティを形成し、家族の各メンバ(例えば、お父さん、お母さん、子供)が、それぞれの携帯端末を用いて、会話を行うためのコミュニケーションシステムである。各メンバは、それぞれの携帯端末以外にも、家庭にあるネットワーク対応テレビやタブレット等の共有端末を用いて会話を行うこともできる。本発明の発言処理装置は、家族伝言板システムにおいて、エージェントサーバとして実現される。エージェントサーバは、上記家族の家宅内で稼働する家庭内機器に対して、家族の一員としての疑似人格を付与し、その擬人化された家庭内機器(以下、擬人化機器)の代理で、当該家族の上記家族伝言板に発言する権限を有する装置である。家族伝言板システムの詳細は後述する。
なお、以下の図面において同一または相当する部分には、同一の参照符号を付すものとし、それらの説明は重複して行なわない。また、図面における長さ、大きさおよび幅などの寸法関係ならびに形状は、図面の明瞭化と簡略化のために適宜に変更されており、実際の寸法および形状を表してはいない。
〔家族伝言板システムの概要〕
本発明の一実施形態にかかる家族伝言板システムの概要を図2に基づいて説明する。図2は、家族伝言板システム100の概要を示す図である。
家族伝言板システム100は、登録されたコミュニティのメンバ間におけるコミュニケーションのための電子伝言板を提供するシステムである。また、家族伝言板システム100では、家庭(コミュニティ)内に配置された機器(以下、家庭内機器と呼ぶ)の状態や、メンバの書き込み内容等に応じて、家族伝言板に、擬人化機器からの書き込みが行われるようになっている。さらに、家族伝言板システム100では、メンバからの指示に従って、擬人化機器を含む各家庭内機器の動作制御を行うこともできるようになっている。
図示のように、家族伝言板システム100は、エージェントサーバ1、家族伝言板サーバ2、およびホームサーバ3を含む。また、家族伝言板には、家族のメンバ(図示の例ではお父さん、お母さん、子供)が所持する携帯端末4a、4b、および4cがアクセスし、各メンバは自身の携帯端末を用いて、家族伝言板を介して、書き込み、閲覧、および家庭内機器の操作指示を行うことができるようになっている。また、ホームサーバ3には、掃除ロボット5が無線通信接続されていると共に、その他の家庭内機器が有線または無線にて通信接続されている。なお、同図では、掃除ロボット5が擬人化機器であり、その他の家庭内機器が、空調装置6、照明装置7、冷蔵庫8、および、PC(Personal Computer)9である例を示しているが、家庭内機器の種類および数は特に限定されない。家庭内機器としては、この他にも、テレビ、録画装置、スピーカなどのAV機器が含まれていてもよい。
エージェントサーバ1は、家庭内機器の状態、家庭内機器が取得した情報、およびメンバの書き込み内容等に応じて、家族伝言板に書き込みを行う。より具体的には、エージェントサーバ1は、掃除ロボット5を擬人化したキャラクタとして書き込みを行う。これにより、家族のメンバは、家族伝言板において、掃除ロボット5とのコミュニケーションを疑似体験することができる。
また、エージェントサーバ1は、携帯端末4a、4b、および4cからの操作指示を受け付け、これに応じた操作指示をホームサーバ3に送信することによって、掃除ロボット5または他の家庭内機器の動作を制御する。
なお、ここでは、エージェントサーバ1が、家族伝言板への書き込みを行う機能と、掃除ロボット5および家庭内機器の動作を制御する機能とを備えている例を説明するが、これらの機能は個別のサーバに搭載してもよい。
家族伝言板サーバ2は、携帯端末4a、4b、および4cに対する家族伝言板の表示画面の提示、および書き込みの管理等の、家族伝言板に関する処理全般を行う。
ホームサーバ3は、掃除ロボット5または家庭内機器と、エージェントサーバ1との間の情報の送受信を統括して制御する。具体的には、ホームサーバ3は、エージェントサーバ1から受信した操作指示に従って、掃除ロボット5または家庭内機器の動作制御を行う。また、ホームサーバ3は、掃除ロボット5から取得した情報、および家庭内機器から取得した情報をエージェントサーバ1に送信する。
なお、図示の例では、掃除ロボット5または家庭内機器に搭載されたセンサによって取得されたセンシングデータ、家庭内機器の動作ログ、および家庭内機器が撮影した写真を送信しているが、送信する情報はこれらの例に限られない。このようにして家庭内で集められた情報は、コミュニティ内の事象を示す状況情報として、ホームサーバ3からエージェントサーバ1へと提供される。エージェントサーバ1は、上記状況情報を利用することにより、コミュニティ内(ここでは、図2に示す家庭、家族)の状況を把握することができる。
また、例えば家族伝言板に関与する家庭内機器が存在しない場合のように、統括的な制御の必要がない場合には、ホームサーバ3を設けずに、掃除ロボット5がエージェントサーバ1と情報を送受信する構成としてもよい。
携帯端末4a、4b、および4cは、家族伝言板の閲覧、書き込み、ならびに、掃除ロボット5および他の家庭内機器の操作指示を行うための装置である。同図では、携帯端末4a、4b、および4cがスマートフォンである例を示しているが、家族伝言板の閲覧、書き込み、および操作指示を行うことができるものであればこれに限られない。以降、携帯端末4a、4b、および4cを特に区別する必要がない場合には、これらの総称として携帯端末4を用いる。
掃除ロボット5は、自動で床の掃除を行う自走式の掃除機である。また、掃除ロボット5は、掃除のための機能の他にも、動作ログの記憶機能、充電残量の検出および出力機能、画像撮影機能、音声認識機能、音声出力機能等を備えている。さらに、掃除ロボット5は、家庭内機器に制御信号を送信してこれを操作する機能も有している。
空調装置6は、冷暖房等の空調を行う装置であり、いわゆるエアコンである。また、空調装置6は、温度センサを備えており、これによって検出した室温をホームサーバ3に送信する。
照明装置7は、LED等の光源を備えた照明装置であり、ホームサーバ3の制御によって点灯および消灯することができる。
冷蔵庫8は、食品等を最適な温度で保存する保存庫である。本実施形態における冷蔵庫8は、例えば、カメラ、重量センサ、ICタグリーダなどのセンシング機器を備えており、庫内の在庫の状況を状況情報として取得する機能と、その状況情報をホームサーバ3にアップロードする通信機能とを備えている。
PC9は、いわゆるパソコンである。PC9は、家族の各メンバが共用するために1台設けられていてもよいし、各メンバがそれぞれ所有するために複数台設けられていてもよい。PC9は、デスクトップパソコン、ノートパソコン、タブレットPCなどで実現される。本実施形態では、PC9には、スケジュール管理アプリケーションが搭載されており、PC9を用いて、各メンバの予定を登録したり、読み出したりすることができる。PC9を介して入力された各メンバの予定の情報(カレンダー情報)は、状況情報としてホームサーバ3にアップロードされ、各PC9、携帯端末4a、4b、および4c、ならびに、エージェントサーバ1にて共有される。
さらに、エージェントサーバ1は、インターネットを介して必要な情報を収集する情報検索機能を有している。エージェントサーバ1は、図示のとおり、インターネットに接続されているあらゆる情報提供サーバ3a(図示しないが、情報提供サーバ3b、3c、・・・と多数存在しているケースが想定されている)にアクセスすることができる。本実施形態では、エージェントサーバ1は、要求した状況情報を情報提供サーバ3aから取得して、図示するコミュニティを取り巻く外部環境の状況(家族に影響を与え得る外部環境での発生事象)を把握することができる。情報提供サーバ3aから取得される状況情報は、これには限定されないが、例えば、この家族の家宅近隣の小売店または施設の情報、家族が関心を持っている地域の天気予報情報などが想定される。
こうして、家族伝言板システム100において、エージェントサーバ1は、コミュニティに関わる状況情報を収集して、コミュニティの状況を把握し、これを考慮して、コミュニティ(家族)の一員である擬人化された掃除ロボット5の代理で、家族伝言板に対して発言を行うことができる。これにより、家族の各メンバは、家族伝言板を介して、掃除ロボット5と、あたかも家族の一員であるかのようにして、仮想的なコミュニケーションを楽しむことができる。また、掃除ロボット5の発言の内容は、コミュニティの状況が反映されているため、コミュニティのメンバ間で行われている会話の流れを損なったり、コミュニティの実情にそぐわない発言がなされたりすることがない。そのため、掃除ロボット5が発言することにより、家族伝言板を介したメンバ間のコミュニケーションをより一層促進して、コミュニティの良好な状態を維持することが可能となる。
以下では、コミュニティの状況を反映した発言を行うためのエージェントサーバ1の構成について、より詳細に説明する。
〔エージェントサーバの構成〕
図1は、エージェントサーバ1の要部構成の一例を示すブロック図である。
図1に示すとおり、本実施形態におけるエージェントサーバ1は、制御部10、通信部11、および、記憶部12を備えている。
通信部11は、エージェントサーバ1が外部の機器と通信するためのものである。具体的には、エージェントサーバ1は、通信部11を介して家族伝言板サーバ2、ホームサーバ3、および、各種情報提供サーバ3aと通信を行う。
記憶部12は、エージェントサーバ1が使用する各種データを格納する記憶装置である。
記憶部12は、エージェントサーバ1の制御部10が実行する(1)制御プログラム、(2)OSプログラム、(3)制御部10が、エージェントサーバ1が有する各種機能を実行するためのアプリケーションプログラム、および、(4)該アプリケーションプログラムを実行するときに読み出す各種データを非一時的に記憶するものである。
例えば、上記の(1)〜(4)のデータは、ROM(read only memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)、HDD(Hard Disc Drive)等の不揮発性記憶装置に記憶される。
エージェントサーバ1は、図示しない一時記憶部を備えていてもよい。一時記憶部は、エージェントサーバ1が実行する各種処理の過程で、演算に使用するデータおよび演算結果等を一時的に記憶するいわゆるワーキングメモリであり、RAM(Random Access Memory)などの揮発性記憶装置で構成される。
どのデータをどの記憶装置に記憶するのかについては、エージェントサーバ1の使用目的、利便性、コスト、または、物理的な制約などから適宜決定される。
図示の記憶部12には、会話ログ格納部30、発言ルール格納部31が設けられている。
会話ログ格納部30には、家族伝言板における会話ログ(書込み履歴)が格納される。
発言ルール格納部31には、コミュニティ内外に発生している事象に応じてどのような発言を行うべきかを示す発言ルールが格納される。
なお、図示はしないが、記憶部12には、状況情報格納部が設けられてもよい。状況情報格納部には、例えば、ホームサーバ3から収集した、掃除ロボット5および他の家庭内機器に関する状況情報が格納される。あるいは、情報提供サーバ3aから収集した、コミュニティの外部環境に係る状況情報が格納される。
制御部10は、エージェントサーバ1の機能を統括して制御するものである。図示の制御部10には、機能ブロックとして、会話ログ取得部20、会話監視部21、状況情報収集部22、状況判断部23、および、発言部24が含まれている。
上述した制御部10の各機能ブロックは、例えば、CPU(central processing unit)などが、ROM(read only memory)、NVRAM(non-Volatile random access memory)等で実現された記憶装置(記憶部12)に記憶されているプログラムを不図示のRAM(random access memory)等に読み出して実行することで実現できる。
会話ログ取得部20は、家族伝言板サービスのユーザに関する情報を収集する。具体的には、会話ログ取得部20は、家族伝言板サーバ2において1つのコミュニティとして登録されている家族の各メンバの会話ログを取得する。そして、取得した会話ログを会話ログ格納部30に格納する。
会話監視部21は、会話ログ取得部20によって取得された会話ログを監視する。具体的には、会話監視部21は、会話ログを参照し、現在行われている会話に参加しているメンバを特定する。そして、参加しているメンバが特定のメンバである場合に、各メンバの発言の中に特定のキーワードが含まれていることを検知する。会話監視部21が検知すべき、特定のメンバと特定のキーワードとの組み合わせは、発言ルール格納部31においてあらかじめ指定されている。発言ルール格納部31が保持する発言ルールについては後に詳述する。
状況情報収集部22は、コミュニティに関わる状況情報を、外部の機器から収集する。
詳細には、状況情報は、家族(コミュニティ)の家宅に配置されている各家庭内機器から収集される、コミュニティ内の事象を示す情報である。これらの状況情報は、ホームサーバ3によって保持されている。状況情報収集部22は、ホームサーバ3に必要な状況情報をリクエストしてこれを取得する。状況情報収集部22がホームサーバ3から取得する状況情報は、より具体的には、冷蔵庫在庫情報、カレンダー情報などであるが、これに限定されない。
あるいは、状況情報は、家庭(コミュニティ)を取り巻く外部環境に係る情報である。これらの状況情報は、情報提供サーバ3aによって保持されている。状況情報収集部22は、情報提供サーバ3aに必要な状況情報をリクエストしてこれを取得する。情報提供サーバ3aから取得される状況情報は、より具体的には、地域小売店情報、天気予報情報、プール施設情報などであるが、これに限定されない。
状況情報収集部22は、このようにコミュニティ内外より収集した状況情報を通信部11を介して取得し、図示しない状況情報格納部に格納する。状況情報のデータ構造については具体例を挙げて後述する。
なお、本実施形態では、状況情報収集部22は、会話監視部21によって検知された特定のメンバおよび特定のキーワードに対応付けて予め指定された情報源(ホームサーバ3または情報提供サーバ3a)から、指定された状況情報を取得する構成である。
これにより、会話を行っているメンバおよび会話の内容に関わる必要な状況情報のみを必要なタイミングを収集することができる。
特定のメンバと特定のキーワードとの組み合わせに対する、情報源および状況情報の対応付けは、発言ルール格納部31に格納されている。
状況判断部23は、状況情報収集部22によって収集された状況情報を分析し、コミュニティの状況を判断する。具体的には、コミュニティに帰属する事物、または、コミュニティが関わる外部環境における発生事象(現在起こっている事象、過去に起こった事象、および、将来起ころうとしている事象も含む)を特定する。状況判断部23が特定した事象は、発言部24が発言するべき内容を特定するための条件の1つとなる。すなわち、状況判断部23は、掃除ロボット5の発言内容を検索するために必要となる条件を特定するものである。
より具体的には、状況判断部23は、上記発言ルールにしたがって、収集された状況情報の中から、検知された特定のメンバまたは特定のキーワードに関する項目を抽出する。そして、抽出した項目が表す事象を条件として特定する。
例えば、冷蔵庫8から得られる冷蔵庫在庫情報(状況情報)が、牛乳の在庫の有無(項目)を含んでいる場合に、その項目に基づいて、状況判断部23は、冷蔵庫8に現在牛乳があるか否かを判断する。例えば、冷蔵庫在庫情報の牛乳の在庫の有無の項目が、冷蔵庫8に現在牛乳があることを示している場合、状況判断部23は、冷蔵庫8の事象を、「(牛乳の)在庫=有り」と特定する。状況判断部23は、特定した上記事象を、検索に使う条件の1つとして発言部24に通知する。
発言部24は、状況判断部23によって判断されたコミュニティの状況に応じて、発言内容を特定し、その内容の発言を行う。具体的には、発言部24は、上記発言ルールを参照して、状況判断部23が特定した条件(コミュニティ内外の事象)に合致する発言メッセージを取得する。発言部24は、発言メッセージをそのまま用いて、あるいは、一部編集して発言メッセージを完成させて、当該発言メッセージを家族伝言板サーバ2に出力する。
発言部24によって出力された発言メッセージは、掃除ロボット5の発言として、家族伝言板(図2)に投稿され、各メンバの携帯端末4に提示される。
なお、本実施形態では、発言部24は、状況判断部23によって特定された事象の他に、会話監視部21によって特定された会話の参加メンバおよびキーワードも検索条件にして、発言内容を特定する。
〔会話ログについて〕
図3は、会話ログ格納部30に格納される会話ログのデータ構造および具体例を示す図である。図3において、会話ログをテーブル形式のデータ構造にて示したことは一例であって、会話ログのデータ構造を、テーブル形式に限定する意図はない。以降、データ構造を説明するためのその他の図においても同様である。
図3に示す会話ログの例は、図9の(a)に示す家族伝言板の画面の例に対応している。以降、携帯端末4の画面に表示される家族伝言板には、発言者を示す情報として、図2に示すお父さんは「父」、お母さんは「母」、子供は「太郎」、掃除ロボット5は「ロボ」と表記されるものとする。
図9の(a)に示す例によれば、この時点では、太郎および母によるメッセージの書き込みが行われている。すなわち、成立している会話のこの時点での参加者は、母と太郎である。
これらの書き込みが家族伝言板サーバ2において会話ログとして記録される。そして、会話ログ取得部20がこれを取得して、図3に示すテーブルとして会話ログ格納部30に格納する。同図の例では、会話ログのテーブルに対し、1つの発言が書き込まれたとき、会話ログ取得部20が1つのレコードを登録する。会話ログのテーブルは、上記発言の具体的な発言内容を格納するための「発言メッセージ」のカラムと、上記発言を投稿したメンバを格納する「発言者」のカラムと、その発言がなされた日時を格納する「投稿日時」のカラムとを有する。なお、「No」のカラムが設けられている場合には、1つの発言を一意に特定するために、1つのレコードに対して識別番号が便宜上付与され、これが上記カラム格納されてもよい。
会話監視部21は、図3に示す会話ログのテーブルを監視する。具体的には、会話監視部21は、発言者のカラムを参照して、現在成立している会話の参加メンバを特定することができる。同図の例では、会話の参加メンバを「太郎と母」と特定することができる。
さらに、会話監視部21は、発言メッセージのカラムを参照して、特定のキーワードが発言されたか否かを監視する。例えば、検知すべき特定のキーワードとして「宿題」が予め指定されている場合には、「No=4」の発言が会話ログのテーブルに登録されたときに、会話監視部21は、キーワード「宿題」を含む発言がなされたと検知することができる。
会話監視部21は、特定のメンバ(例えば、「太郎と母」)が会話に参加している場合に、特定のキーワード(例えば、「宿題」)が発言されたことを検知したとき、検知したその特定のメンバ「太郎と母」、および、特定のキーワード「宿題」を、状況情報収集部22に通知する。
〔発言ルールと状況情報について〕
図4は、発言ルール格納部31に格納される発言ルールのデータ構造および具体例を示す図である。
発言ルールは、エージェントサーバ1(掃除ロボット5)に発言させるべき発言メッセージを特定するための情報である。本実施形態では、発言メッセージは、以下の3つの条件の組み合わせで特定される。すなわち、(1)会話にどのメンバが参加しているのかということ、(2)会話中にどのキーワードが発言されたのかということ、および、(3)コミュニティ内外における事象どのようであるのかということ、によって特定される。
図4に示す例では、上述の(1)の参加メンバの条件は、発言ルールの「メンバ」のカラムにおいて指定されている。(2)のキーワードの条件は、「キーワード」のカラムにおいて指定されている。(3)のコミュニティの事象の条件は、「事象」のカラムにおいて指定されている。
そして、発言ルールのテーブルにおいて、「メンバ」、「キーワード」および「事象」に対応付けて、「発言メッセージ」が格納されている。
すなわち、成立している会話に参加している「メンバ」と、発言に含まれる「キーワード」と、収集された状況情報から導出された「事象」とが特定されることによって、発言部24は、図4の発言ルールを参照して、家族伝言板サーバ2に出力すべき発言メッセージを特定することができる。
上述したとおり、会話に参加する特定の「メンバ」と、会話中に発言された特定の「キーワード」は、会話監視部21によって特定される。会話監視部21は、予め登録されている「メンバ」のカラムに格納されている情報と、「キーワード」のカラムに格納されている情報との組み合わせにしたがって、会話を監視する。
一方、コミュニティ内外における「事象」は、状況判断部23によって特定される。ここで、状況判断部23が「事象」を特定するために、まず、状況情報収集部22が、指定された情報源から指定された状況情報を収集する。
図4に示す発言ルールのテーブルには、「メンバ」と「キーワード」との組み合わせごとに、情報源を格納するための「情報源」のカラムが設けられている。情報源は、特定のメンバが会話に参加していて、その会話の中で特定のキーワードが発言されたときに、収集すべき状況情報とその格納場所とを指定する情報である。
例えば、「母」が会話に参加しているときに、メンバのうちの一人からキーワード「牛乳」が発言されたことを、会話監視部21が検知したとする。この場合、状況情報収集部22は、図4の発言ルールのテーブルを参照して、「メンバ=母」かつ「キーワード=牛乳」に対応する情報源「冷蔵庫在庫情報(ホームサーバ)」を取得する。この情報源は、「格納場所=ホームサーバ3」に格納されている「状況情報=冷蔵庫在庫情報」を取得することを指定している。状況情報収集部22は、この情報源にしたがって、ホームサーバ3から冷蔵庫在庫情報を取得する。図示の例では、情報源のカラムには、状況情報の名称およびサーバの名称が記載されているが、実際には、状況情報収集部22が読み取り可能な形式で、目的の状況情報にたどり着くためのパス名(URL;Uniform Resource Locatorなど)またはファイル名などが格納される。
図5は、状況情報収集部22によってホームサーバ3から取得された冷蔵庫在庫情報のデータ構造および具体例を示す図である。
状況情報としての冷蔵庫在庫情報は、少なくとも、「品目」のカラムと、「在庫」のカラムとを含む。
「品目」のカラムには、コミュニティ(ここでは、図2の家庭)に帰属する冷蔵庫において保管されることが想定されているあらゆる品物(主に、食材)が格納される。「在庫」のカラムには、それぞれの品目が、現在、冷蔵庫8に保管されているか否かを示す情報が格納される。
状況判断部23は、まず、図4の発言ルールテーブルにおいて、「メンバ」と「キーワード」との組み合わせに対応付けて設けられている「抽出項目」のカラムを参照する。発言ルールの「抽出項目」のカラムには、状況情報から抽出するべき必要な項目が定義されている。状況判断部23は、「抽出項目」のカラムに格納された情報に従って、収集された状況情報の中から、会話の内容に関連する項目を抽出して、コミュニティ内外に係る事象を特定することが可能となる。
例えば、図4のテーブルには、「メンバ=母」かつ「キーワード=牛乳」に対応付けて、「品目=牛乳,在庫」という情報が格納されている。これは、取得された冷蔵庫在庫情報から「品目=牛乳」の「在庫」の項目を抽出することを指定している。
状況判断部23は、上記抽出項目にしたがって、図5に示す冷蔵庫在庫情報のテーブルから、「品目=牛乳」のレコードから「在庫=無し」の情報を抽出することができる。この結果、冷蔵庫8の事象を、「(牛乳の)在庫=無し」と判断することができる。状況判断部23は、抽出した項目から導出した事象「在庫=無し」を、発言メッセージを検索するための条件として特定する。状況判断部23は、特定した事象「在庫=無し」を発言部24に通知する。
発言部24は、上述したとおり、特定された「メンバ」、「キーワード」、および、「事象」に合致する「発言メッセージ」を特定する。図4に示す例では、「メンバ=母」かつ「キーワード=牛乳」かつ「事象=『在庫=無し』」に関連付けられている「発言メッセージ=『牛乳はもうないよ!』」を、出力するべき発言メッセージとして特定することができる。発言部24は、上記発言メッセージを家族伝言板サーバ2に送信する。これにより、掃除ロボット5の発言として、「牛乳はもうないよ!」が、会話に参加している各メンバの携帯端末4に表示される。結果として、母と他のメンバとの間で成立している会話に、掃除ロボット5を参加させることが可能となる。
しかも、上記の牛乳に関する発言は、母と他のメンバとの会話において「牛乳」というキーワードが発言されたときに、冷蔵庫8の庫内の実情に合わせて出力される。
そのため、コミュニティの実情が反映された発言がなされ、会話の自然な流れが阻害されることはない。反対に、コミュニティの実情が、エージェントサーバ1(掃除ロボット5の代理)によって会話の参加メンバに通知されるので、メンバはそれを受けて会話を続けることができる。例えば、牛乳がもうないという事態を受けて、牛乳を調達するための会話が生まれる。
こうして、エージェントサーバ1が、コミュニティに関わる状況を考慮して発言を行うことにより、メンバ間のコミュニケーションを促進して、コミュニティ(この場合は、特に、冷蔵庫8)の良好な状態を維持することが可能になるという効果を奏する。
状況情報の例としては、図5に示す冷蔵庫在庫情報の他に、これには限定されないが、例えば、地域小売店情報、カレンダー情報などが挙げられる。これらの状況情報の一例を図6および図7に示す。
図6は、状況情報収集部22によって情報提供サーバ3aから取得された地域小売店情報のデータ構造および具体例を示す図である。
地域小売店情報は、少なくとも、「店舗名」のカラムと、「広告の品」のカラムと、「価格」のカラムとを含む。
「店舗名」のカラムには、家族がよく利用するスーパーなどの店舗名が予め登録されている。「広告の品」のカラムには、その登録された各店舗が設定した特売品の品目が格納される。「価格」のカラムには、上記品目の販売価格が格納される。特売品とその価格の情報は、各店舗が定期的に設定するものである。したがって、状況情報収集部22は、常に最新の特売情報を、登録されている店舗のホームページ(情報提供サーバ3a、3b、3c・・・)から取得して、図6に示す地域小売店情報のテーブルを作成する。あるいは、特売情報を収集して図6に示すテーブルを作成し、提供するサービスを行っている情報提供サーバ3aから、上記テーブルそのものを状況情報収集部22が取得する構成であってもよい。
地域小売店情報を分析することにより、状況判断部23は、どの店舗で、どの品目が、特売によりいくらで販売されているのかという事象を特定することができる。これにより、発言部24は、家族間で特定の品目が購入される話題になった場合に、自然なタイミングで、特売に関する情報を発言することが可能となる。
図7は、状況情報収集部22によってホームサーバ3から取得されたカレンダー情報のデータ構造および具体例を示す図である。
カレンダー情報は、少なくとも、予定実行日の日付を示す「日付」のカラムと、予定実行者を示す「メンバ」のカラムと、実行すべき予定の内容を示す「予定」のカラムとを含む。
このカレンダー情報のテーブルは、例えば、メンバのうちの誰かが、PC9などを用いてスケジュールを登録することにより作成される。例えば、父が、9月1日に実施される自分のゴルフの予定を入力したとする。これを受けて、PC9は、ホームサーバ3に保持されているカレンダー情報のテーブルにアクセスして、「日付」のカラムが「9月1日」のレコードについて、予定実行者となる「父」を「メンバ」のカラムに格納し、予定内容「ゴルフ」を「予定」のカラムに格納する。
カレンダー情報を分析することにより、状況判断部23が、誰が、いつ、どのような予定を立てているのかという事象を特定することができる。これにより、発言部24は、家族の予定に関する話題が上った場合に、自然なタイミングで、家族の予定に関する情報を発言することが可能となる。
図示した以外にも、状況情報収集部22は、インターネットを介して、情報提供サーバ3a、3b、3c・・・から、状況情報として天気予報情報、プール施設情報などを収集することができる。状況判断部23が天気予報情報を分析して、話題に上がった地域の予想天気を特定することにより、発言部24は、家族間でレジャーに関する話題が上った場合に、出かける日の予想天気について発言することが可能となる。状況判断部23がプール施設情報を分析して、話題に上がったプール施設の営業時間を特定することにより、発言部24は、家族間でプールに遊びに行く話題になった場合に、施設の営業時間について発言することが可能となる。
状況判断部23は、以上のとおり、コミュニティ(家族)に関わる様々な状況情報を分析することにより、コミュニティ内外における事象を特定することができる。結果として、発言部24は、コミュニティ内外の事象に応じて発言することが可能となる。
〔発言フローについて−シーン1:母と子供の会話〕
次に、フローチャートおよび画面例の図を参照して、エージェントサーバ1の処理の流れについて説明する。ここでは、図9に示す例に沿って処理の流れを説明する。
図8は、掃除ロボット5の代理で発言を行うエージェントサーバ1の処理の流れを示すフローチャートである。
図9の(a)〜(c)は、エージェントサーバ1(掃除ロボット5)が参加した場合、各メンバの携帯端末4に表示される、家族伝言板の画面例を示す図である。
メンバのうちの誰かが、携帯端末4を用いて家族伝言板に対して発言を投稿すると、家族伝言板サーバ2がその発言を登録し、該発言を反映させた家族伝言板を各メンバの携帯端末4に通知する。これにより会話が開始される(S101)。例えば、図9の(a)に示すとおり、太郎(子供)が帰宅して、そのことを外出中の父、母に通知するために投稿した発言が、各携帯端末4に表示される。
会話ログ取得部20が、会話が開始されたことを検知すると(S101においてYES)、会話監視部21は、会話ログ取得部20によって取得された会話ログを参照して、家族間の会話を監視する(S102)。図4の発言ルールにおいて指定されたキーワードが発言されないうちは(S103においてNO)、監視が継続されつつ、例えば、図9の(a)に示すとおり、太郎の発言を機に、母と太郎との間で会話が進む。そうして、ある時点で、母が、「宿題やったの?」という発言を投稿したとする。
図4に示すとおり、発言ルールのキーワードの中に「宿題」が指定されている。ここで、会話監視部21は、キーワード「宿題」が発言されたことを検知する(S103においてYES)。続いて、会話監視部21は、会話ログ格納部30に格納されている会話ログを参照して、図9の(a)に示す会話に参加しているメンバを、「母および太郎」であると特定する。発言ルールにおいて、キーワード「宿題」とメンバ「母および太郎」とが対応付けられているレコードがない場合には(S104においてNO)、この時点で掃除ロボット5に発言させるべきことはないと判断し、会話監視部21が会話の監視を継続する。
一方、図4に示すとおり、キーワード「宿題」とメンバ「母および太郎」とが対応付けられているレコードがある場合には(S104においてYES)、会話監視部21は、検知したキーワード「宿題」と会話に参加しているメンバ「母および太郎」とを状況情報収集部22に通知する(S105)。
状況情報収集部22は、発言ルールを参照して、検知されたキーワードと参加メンバとに対応付けられた情報源から、指定の状況情報を収集する(S106)。図4に示す例では、検知されたキーワード「宿題」とメンバ「母および太郎」とに対して、ホームサーバ3のカレンダー情報が対応付けられている。したがって、状況情報収集部22は、ホームサーバ3から、図7に示すカレンダー情報を取得する。
続いて、状況判断部23は、取得された状況情報(カレンダー情報)を分析し、コミュニティの状況を判断する(S107)。ここでは、状況判断部23は、宿題にまつわる家族の予定について、事象を特定する。状況判断部23が事象を特定する方法について、一例を示すと以下のとおりである。
状況判断部23は、発言ルールにおいて、検知されたキーワード「宿題」とメンバ「母および太郎」と対応付けられた抽出項目「メンバ=太郎,予定=*宿題*,日付」を読み出す。この抽出項目は、カレンダー情報の中で、「メンバ」のカラム(予定実行者)が「太郎」であって、「予定」のカラムに「宿題」が含まれている(部分一致)レコードを抽出し、そのレコードの「日付」のカラムに格納されている日付の情報を抽出することを指定している。
状況判断部23は、指定されたとおりに、図7のカレンダー情報から、メンバ=太郎かつ予定に「宿題」が含まれているレコードの日付を抽出する。図7に示す例では、「日付=9月7日」を抽出する。これにより、状況判断部23は、「太郎には9月7日に宿題に係る予定がある」と判断することができる。状況判断部23は、特定した事象「"日付"に宿題の予定あり」を発言部24に通知する。
なお、本実施形態では、図4の事象および発言メッセージのカラムにおいて、引用符""で括られた"日付"の部分は、カレンダー情報の日付のカラムから実際に抽出された日付の値が動的に決定されて差し替えられることを意味する。このように、発言テーブルにおいては、「事象」と「発言メッセージ」との対応関係に汎用性を持たせるために、引用符""を含むテンプレートの形式で、事象と発言メッセージとが格納されていてもよい。
状況判断部23は、特定した「事象」が引用符を含むテンプレートである場合には、そのテンプレートと、実際に抽出した項目の中身とを発言部24に通知する。具体的には、特定した事象「"日付"に宿題の予定あり」と、「日付=9月7日」とを発言部24に通知する。
最後に、発言部24は、状況判断部23によって判断されたコミュニティの状況に応じて、家族伝言板サーバ2に対して発言を投稿する(S108)。
具体的には、発言部24は、事象「"日付"に宿題の予定あり」と、「日付=9月7日」とを状況判断部23から受け取る。そして、発言部24は、発言ルールを参照し、会話監視部21によって特定された「キーワード」と、会話に参加した「メンバ」と、状況判断部23から受け取った「事象」とに対応付けられた発言メッセージを、「発言メッセージ」のカラムから読み出す。図4に示す例では、発言部24は、「"日付"までに宿題やらなきゃ!」を取得する。
ここで、発言部24は、取得した発言メッセージが引用符を含むテンプレートである(すなわち未完である)場合には、テンプレートの引用符部分を、状況判断部23が抽出した実際の値に差し替えて、発言メッセージを完成させる。ここでは、発言部24は、「"日付"までに宿題やらなきゃ!」に、「日付=9月7日」を埋め込んで、「9月7日までに宿題やらなきゃ!」という発言メッセージを作成する。発言部24は、こうして完成させた発言メッセージを家族伝言板サーバ2に投稿する。
これにより、図9の(b)に示すとおり、母の「宿題やったの?」という発言の後に、掃除ロボット5の「9月7日までに宿題やらなきゃ!」という発言が家族伝言板に反映されて各携帯端末4に提示される。
なお、取得した発言メッセージが引用符を含むテンプレートでない場合には、発言部24は、取得した発言メッセージを完成版としてそのまま家族伝言板サーバ2に対して出力すればよい。例えば、発言部24は、発言メッセージ「牛乳はもうないよ!」を発言ルールから読み出した場合には、このメッセージをそのまま家族伝言板サーバ2に対して投稿する。
発言部24が発言を行った後も、会話が終了するまで、会話監視部21は上記会話の監視を継続する(S109においてNO)。なお、会話の終了を検知する方法として、例えば、メンバからの投稿が一定時間以上途切れたときに、会話監視部21が、会話の終了とみなすことなどが考えられる。
以上のようにして、掃除ロボット5の代理としてエージェントサーバ1が投稿する発言は、コミュニティに属する太郎の予定(コミュニティ内の事象)を反映した発言であり、さらに、この会話に参加している参加メンバと、会話で話題に上がっているキーワードとを考慮に入れて選択された発言である。そのため、メンバ間で行われていた会話の流れに沿って自然に、なおかつ、コミュニティの実情に沿った内容が、エージェントサーバ1によって自動で発言される。
したがって、この掃除ロボット5(実際には、エージェントサーバ1)によってなされた発言を受けて、各メンバは、これまでの流れを引き継いでさらに会話を続けることができる。例えば、図9の(c)に示すように、コミュニティの実情を知ったメンバが、コミュニティの状況を改善したり、良好な状態を維持したりするために、提案または議論をすることができる。
こうして、エージェントサーバ1が、コミュニティに関わる状況を考慮して発言を行うことにより、メンバ間のコミュニケーションを促進して、コミュニティ(この場合は、特に、家族のスケジュール)の良好な状態を維持することが可能になるという効果を奏する。
〔他の発言シーンについて−シーン2:父と母の会話〕
次に、他の発言シーンについて、他の画面例の図を参照して説明する。
図10の(a)〜(c)は、エージェントサーバ1(掃除ロボット5)が参加した場合、各メンバの携帯端末4に表示される、家族伝言板の他の画面例を示す図である。
図10に示す例では、父と母がそれぞれの勤め先にいる場合で、父が仕事を終えて帰宅する旨を、家族伝言板を介して家族に通知した場面から会話が開始されている。
図10の(a)に示すとおり、父の通知を受けて、母が牛乳の在庫を気に掛ける発言を書き込むとする。この時点で、会話ログ取得部20は、「発言者=母」に対応付けて「牛乳」というキーワードが含まれた発言メッセージを会話ログのテーブル(図3)に登録する。
これにより、既述のとおり、会話監視部21が特定の「メンバ」と特定の「キーワード」とを検知する。具体的には、会話の参加メンバが「父と母」である場合にキーワード「牛乳」が発言されたことを検知する。
なお、本実施形態では、図4に示す発言ルールのテーブルにおいて、指定のメンバ「母」は、会話の参加者の中に少なくとも「母」が含まれていればよいことを示しており、他を排除しない。「母 and 太郎」も同様に、会話の参加者の中に少なくとも「母」と「太郎」が含まれていればよいことを示す。
したがって、図10の(a)に示す母の発言が投稿されたことにより、会話監視部21は、特定のメンバ「母」が会話に参加しているときに、特定のキーワード「牛乳」が発言されたことを検知する。会話監視部21は、特定のメンバ「母」と、特定のキーワード「牛乳」とを状況情報収集部22に通知する。
状況情報収集部22は、発言ルール(図4)を参照し、メンバ「母」とキーワード「牛乳」とに対応付けて指定された情報源(ホームサーバ3)から、指定された状況情報(冷蔵庫在庫情報)を収集する。
状況判断部23は、発言ルールを参照し、メンバ「母」とキーワード「牛乳」とに対応付けて指定された抽出項目「品目=牛乳,在庫」にしたがって、図5の冷蔵庫在庫情報から、品目が牛乳のレコードを抽出し、在庫の項目を取得する。図5に示す例では、牛乳の在庫は「無し」である。そのため、状況判断部23は、冷蔵庫8について、事象「(牛乳の)在庫=無し」を特定する。
発言部24は、発言ルールを参照し、メンバ「母」とキーワード「牛乳」と事象「在庫=無し」とに基づいて、発言メッセージを、「牛乳はもうないよ!」と特定する。この発言メッセージは、引用符を含まない完成版であるので、発言部24は、発言ルール格納部31から取得した上記発言メッセージをそのまま家族伝言板サーバ2に送信する。
こうして、エージェントサーバ1によって投稿された牛乳の在庫に係る発言が、家族伝言板に投稿されて、図9の(b)に示すとおり、各携帯端末4の画面に反映される。
図9の(b)に示すとおり、各メンバは、エージェントサーバ1(メンバから見て掃除ロボット5)の発言を受けて、さらに、会話を続けることが可能である。掃除ロボット5が、牛乳がもう冷蔵庫8に入っていないことを教えてくれたので、例えば、母は、それを受けて、牛乳を買って調達することを父に依頼する発言を行うことができる。
この時点で、会話監視部21は、追加で、キーワード「買」が発言されたことを検知する。会話監視部21は、発言ルールにしたがって、今度は、メンバ「母」と、キーワード「牛乳 and 買」とを状況情報収集部22に通知する。
この場合、状況情報収集部22は、図6に示す地域小売店情報を情報提供サーバ3aから収集する。
状況判断部23は、抽出項目「広告の品=牛乳,店舗名,価格」にしたがって、図6の地域小売店情報のテーブルから、広告の品が牛乳であるレコードを抽出し、そのレコードの店舗名および価格の項目を取得する。図6に示す例では、状況判断部23は、広告の品を牛乳に設定しているレコードを抽出し、このレコードの各項目「店舗名=AAスーパー」と、「価格=***円」とを抽出する。
状況判断部23は、冷蔵庫在庫情報から抽出した情報から、コミュニティに関わる外部環境の状況を判断することができる。具体的には、状況判断部23は、現在、牛乳を特売している地域小売店があり、その店舗は、「AAスーパー」で、販売価格は「***円」であるという「事象」を特定することができる。
状況判断部23は、事象「牛乳特売中の店舗あり」と、抽出した項目「店舗名=AAスーパー」と「価格=***円」とを発言部24に通知する。
発言部24は、メンバ「母」と、キーワード「牛乳 and 買」と、事象「牛乳特売中の店舗あり」とに基づいて、発言メッセージ「"店舗名"で特売しているよ!"価格"だよ!」を発言ルールから読み出す。
ここで、読み出した発言メッセージは、引用符を含む未完のテンプレートである。そこで、発言部24は、状況判断部23から取得した「店舗名=AAスーパー」を"店舗名"に、「価格=***円」を"価格"に埋め込んで、発言メッセージを完成させる。
こうして発言部24が作成した発言メッセージ「AAスーパーで特売しているよ!***円だよ!」は、家族伝言板サーバ2に対して出力される。そして、図10の(c)に示すとおり、各メンバの携帯端末4の画面に提示される。
図10の(c)に示すとおり、各メンバは、新たに掃除ロボット5から投稿された発言を受けて、さらに発言を投稿することができる。図10の(c)に示す例では、冷蔵庫8における牛乳の在庫切れを解消するための会話がメンバ間によって促進され、エージェントサーバ1の発言が、コミュニティの状況を改善するための契機となっている。
なお、図10の(c)に示す例では、さらに、2回目の「買」のキーワードが発言されたが、その都度、掃除ロボット5から同じメッセージが発言されると、会話の流れが不自然になり、本来のメンバ間の会話を阻害する虞がある。そこで、本実施形態では、会話監視部21は、同キーワードの重複発言については検知しない構成となっている。
あるいは、各キーワードに、同キーワードについて何回発言されたら再び検知するのかを予め設定しておくことも可能である。例えば、発言ルールにおいて、キーワード「牛乳」に対して、回数「×3」が対応付けて格納されている場合には、会話監視部21は、会話の中で、最初にキーワード「牛乳」を検知した後、後続する会話の中で、2回目の「牛乳」の発言が投稿され、さらに、3回目の「牛乳」の発言が投稿されたときに、そのことを検知する構成であってもよい。
〔変形例〕
上述の例では、エージェントサーバ1は、掃除ロボット5の発言の代行を行う構成であったが、家宅に設置されているその他の家庭内機器のそれぞれを擬人化機器として扱って、それぞれの機器の代理で発言することも可能である。例えば、エージェントサーバ1は、冷蔵庫在庫情報を情報源として冷蔵庫8の事象に係る発言を行う場合には、冷蔵庫8のキャラクタで発言メッセージを出力し、カレンダー情報を情報源として家族の予定に係る発言を行う場合には、PC9のキャラクタで発言メッセージを出力するといったことが可能である。
また、エージェントサーバ1が発言を処理するための各機能ブロックは、擬人化機器(例えば、掃除ロボット5)のそれぞれに設けられていてもよい。この場合、家族伝言板サーバ2が、それぞれの擬人化機器から発言メッセージを受け付けて、それぞれの擬人化機器のキャラクタによって発言されたものとして家族伝言板に投稿すればよい。
上述の例では、発言ルールの汎用性を高めるために、事象および発言メッセージに引用符が含まれる例について説明した。さらに、発言ルールの汎用性を高めるために、キーワードおよび抽出項目に引用符が含まれていてもよい。例えば、図4に示す例では、検知すべきキーワードとして、「プール and "日付"」が指定されている。これは、会話の中に、「プール」というキーワードと、日付を特定できる字句とが出現した場合を検知することを指定している。会話監視部21は、例えば、「数字+年」、「数字+月」、「数字+日」、「明日」、「昨日」、「あさって」、「来週」、「次の日曜日」などを検出することにより、日付を特定できる字句が発言されたことを検知してもよい。また、同じレコードの抽出項目には、「"日付"の天気」が指定されている。状況判断部23は、「"日付"の天気」の"日付"の部分に、会話監視部21が検知した日付を特定できる字句から特定できる実際の日付の値を挿入して解釈する。例えば、「明日のプール楽しみ!」とメンバが発言したとする。この場合、状況判断部23は、会話ログから得られた、上記発言が投稿された「投稿日時」の情報(例えば、8月1日とする)と、会話監視部21が検知した「明日」という字句とに基づいて、抽出項目を「8月2日の天気」と解釈する。状況判断部23は、収集された天気予報情報から、8月2日の天気の情報を抽出することができる。
上述の例では、図6に示す地域小売店情報は、特売品に係る情報を含むテーブルであった。しかし、地域小売店情報は、特売品に限らず、メンバが予め指定した品目ごとに、その品目を販売する店舗名と、価格とを対応付けて記憶するテーブルであってもよい。この場合、状況判断部23は、例えば、特定の品目(例えば、牛乳)について、店舗ごとの価格を抽出することができ、価格が最も安い店舗を特定することが可能である。状況判断部23は、「牛乳の最安値"価格","店舗名"」という事象を特定することが可能である。発言ルールのテーブルにおいては、上記の事象に対しては、発言メッセージ「"店舗名"の牛乳が一番安いよ!"価格"だよ!」などを対応付けて格納しておけばよい。上記構成によれば、エージェントサーバ1は、牛乳を買う話がメンバ間で行われた場合に、最安値の牛乳の情報を、家族伝言板を介して各メンバに通知することが可能となる。
以上、ここに記載した、エージェントサーバ1は、特定の機能を実現する機能モジュール、または、複数の装置が論理的に集合した物のことを言い、各機能モジュールまたは各装置が単一の筐体内にあるか否かは特に問わない。
エージェントサーバ1として機能するための各機能モジュール(機能ブロック)、および、会話ログ格納部30、および、発言ルール格納部31などの各種記憶部は、クラウドコンピューティングによって実現されてもよい。
〔まとめ〕
本発明の一態様に係る発言処理装置は、上記課題を解決するために、コミュニティに属するメンバが通信端末装置を用いて行う会話を仲介する会話仲介サーバから会話ログを取得して、各メンバの発言を監視する会話監視手段と、上記会話監視手段によって、特定のメンバによる会話の中で、特定のキーワードが発言されたことが検知された場合に、検知された上記特定のメンバおよび上記特定のキーワードに対応付けて指定された、上記コミュニティに関わる事象を示す状況情報を収集する状況情報収集手段と、上記状況情報収集手段によって収集された状況情報が示す、上記コミュニティに関わる事象に合致する発言メッセージを上記会話仲介サーバに出力する発言手段とを備えていることを特徴としている。
本発明の一態様に係る発言処理方法は、上記課題を解決するために、発言処理装置によって実行される発言処理方法であって、コミュニティに属するメンバが通信端末装置を用いて行う会話を仲介する会話仲介サーバから会話ログを取得して、各メンバの発言を監視する会話監視ステップと、上記会話監視ステップにて、特定のメンバによる会話の中で、特定のキーワードが発言されたことが検知された場合に、検知された上記特定のメンバおよび上記特定のキーワードに対応付けて指定された、上記コミュニティに関わる事象を示す状況情報を収集する状況情報収集ステップと、上記状況情報収集ステップにて収集された状況情報が示す、上記コミュニティに関わる事象に合致する発言メッセージを上記会話仲介サーバに出力する発言ステップとを含むことを特徴としている。
まず、コミュニティに属する各メンバがそれぞれの通信端末装置を用いて、上記会話仲介サーバが提供するサービス(電子会話ツール)を利用して、メンバ間で会話することができる。この会話を仲介する上記会話仲介サーバは、上記会話の会話ログを保持している。
本発明の発言処理装置の上記の構成および方法によれば、会話監視手段は、上記会話ログを関して、会話に参加しているメンバを特定し、会話の中でどのようなキーワードが発言されているのかを監視する。
そして、会話監視手段が、特定のメンバによる会話の中で、特定のキーワードが発言されたことを検知する。この場合、状況情報収集手段は、検知された上記特定のメンバおよび上記特定のキーワードに対応付けて予め指定されている状況情報を収集する。状況情報は、会話に参加している各メンバが属するコミュニティに関わる事象を示す情報である。つまり、状況情報を取得すれば、特定のメンバまたは特定のキーワードに関連して、上記コミュニティに関わる事象が判明する。
そして、発言手段は、収集された状況情報が示す事象に合致する発言メッセージを上記会話仲介サーバに出力する。
これにより、発言手段から出力された発言メッセージは、発言処理装置の発言として、メンバ間で行われていた会話に続けて投稿される。
以上のようにして、発言処理装置が投稿する発言は、コミュニティに関わる事象を反映した発言であり、その上、この会話に参加している参加メンバと、会話で話題に上がっているキーワードとを考慮に入れて選択された発言である。そのため、発言処理装置から発言される内容は、メンバ間で行われていた会話の流れに沿って自然に、なおかつ、会話しているメンバのコミュニティの実情に沿った内容となる。
したがって、発言処理装置によってなされた発言を受けて、各メンバは、これまでの流れを引き継いでさらに会話を続けることができる。例えば、発言処理装置の発言内容を受けて、コミュニティの実情を知ったメンバが、コミュニティの状況を改善したり、良好な状態を維持したりするために、メンバ間で提案を行ったり、議論を続けたりすることができる。
このように、発言処理装置が、コミュニティに関わる状況を考慮して発言を行うことにより、メンバ間のコミュニケーションを促進して、コミュニティの良好な状態を維持することが可能になるという効果を奏する。
本発明の一態様に係る発言処理装置は、さらに、上記特定のメンバ、上記特定のキーワード、および、上記事象に対応付けて、当該発言処理装置が上記コミュニティの一メンバとして発言するための発言メッセージを記憶する発言ルール記憶部を備え、上記発言手段は、上記会話監視手段によって検知された上記特定のメンバおよび上記特定のキーワードと、上記状況情報収集手段によって収集された状況情報が示す事象とに対応付けて記憶されている発言メッセージを、上記発言ルール記憶部から読み出して、上記会話仲介サーバに出力してもよい。
上記構成によれば、(1)上記会話監視手段によって会話の参加メンバが特定され、(2)上記会話監視手段によって発言された特定のキーワードが検知され、そして、(3)上記状況情報収集手段によって収集された状況情報によってコミュニティに関する事象が判明しさえすれば、発言手段は、発言ルール記憶部から、発言すべき内容をすぐさま読み出して得ることが可能となる。
本発明の一態様に係る発言処理装置では、上記発言ルール記憶部に記憶されている発言メッセージは、メッセージの一部が未完成の状態であるテンプレートを含み、上記発言手段は、上記状況情報収集手段によって収集された状況情報が示す事象に対応する発言メッセージにテンプレートが含まれている場合には、収集された上記状況情報の一部を、上記テンプレートに挿入することにより、上記発言メッセージを完成させることが好ましい。
上記構成によれば、発言手段は、発言メッセージの内容を、参加メンバ、発言キーワード、および、事象に対応して固定で決定するだけでなく、収集された状況情報の中身に応じて編集して、動的に決定することが可能となる。
これにより、発言処理装置の発言内容を、コミュニティの状況に応じてより多様化させることができるので、発言処理装置は、より一層自然な流れでかつコミュニティの実情に沿った発言を行うことができる。
本発明の一態様に係る発言処理装置は、さらに、上記状況情報収集手段によって収集された状況情報を分析して、上記コミュニティに関わる事象を特定する状況判断手段を備え、上記状況判断手段は、上記状況情報に含まれる情報のうち、上記会話監視手段によって検知された上記特定のメンバまたは上記特定のキーワードに関係する項目を上記状況情報から抽出することにより事象を特定し、上記発言手段は、上記状況判断手段によって特定された事象に合致する発言メッセージを上記会話仲介サーバに出力することが好ましい。
上記構成によれば、状況判断手段は、上記特定のメンバまたは上記特定のキーワードに関係する項目を上記状況情報から抽出して、抽出した項目に基づいて、上記コミュニティに関わる事象を判断することができる。すなわち、発言処理装置は、会話に参加しているメンバ、または、会話で話題になっているキーワードに関連の深い項目について、コミュニティの事象を把握することが可能となる。
このようにして特定された事象に対応して選択される発言メッセージの内容は、より一層自然な流れでかつコミュニティの実情に沿った内容となる。
本発明の一態様に係る発言処理装置では、上記状況情報は、上記コミュニティに帰属する事物における発生事象を表す情報であり、上記状況情報収集手段は、上記状況情報を、上記コミュニティに帰属するホームサーバから取得してもよい。
上記構成によれば、上記コミュニティに帰属する事物における発生事象が判明するため、発言処理装置は、各メンバが属しているコミュニティの内部で起こっている事象に関連した発言を行うことが可能となる。
これには限定されないが、コミュニティが家族である場合には、その家族の家宅内で起こるあらゆる出来事に関連した発言を行うことが可能となる。結果として、家族間のコミュニケーションを促進して、家宅内の良好な状態を維持することが可能になるという効果を奏する。
本発明の一態様に係る発言処理装置では、上記状況情報は、上記コミュニティが関わる外部環境における発生事象を表す情報であり、上記状況情報収集手段は、上記状況情報を、インターネットを介して接続可能な1以上の情報提供サーバから取得してもよい。
上記構成によれば、上記コミュニティが置かれている外部環境における発生事象が判明するため、発言処理装置は、各メンバが属しているコミュニティに何らかの影響を与える外部環境での事象に関連した発言を行うことが可能となる。
これには限定されないが、コミュニティが家族である場合には、その家族が関心を持っている地域、その家庭に影響を与える外部環境で起こるあらゆる出来事に関連した発言を行うことが可能となる。結果として、家族間のコミュニケーションを促進して、家庭内の良好な状態を維持することが可能になるという効果を奏する。
なお、上記発言処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記発言処理装置をコンピュータにて実現させる発言処理装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔ソフトウェアによる実現例〕
最後に、エージェントサーバ1の各ブロック、特に、会話ログ取得部20、会話監視部21、状況情報収集部22、状況判断部23、および、発言部24は、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
後者の場合、エージェントサーバ1は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるエージェントサーバ1の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記エージェントサーバ1に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、一時的でない有形の媒体(non-transitory tangible medium)、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM/EEPROM(登録商標)/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
また、エージェントサーバ1を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。