(57)【要約】【課題】ユーザと魅力的な対話を継続させる技術を提供する。【解決手段】対話装置１００は、各ユーザの発言内容データをそれぞれ格納する対話記録テーブル３４から、同一内容を示す発言内容データの数に基づいて、１つの発言内容データを話題ワードとして抽出する第１処理を実行する話題抽出部３１と、話題抽出部３１により抽出される話題ワードを含む話題振りメッセージデータを生成するメッセージ生成部３２と、メッセージ生成部３２により生成される話題振りメッセージデータを出力するデータ出力部３３と、を有する。【選択図】図１
2014109998.tif 000002
【特許請求の範囲】
【請求項１】
各ユーザの発言内容データをそれぞれ格納する対話記録テーブルから、同一内容を示す発言内容データの数に基づいて、１つの発言内容データを話題ワードとして抽出する第１処理を実行する話題抽出部と、
前記話題抽出部により抽出される話題ワードを含む話題振りメッセージデータを生成するメッセージ生成部と、
前記メッセージ生成部により生成される話題振りメッセージデータを出力するデータ出力部と、
を備える対話装置。
【請求項２】
前記対話記録テーブルは、各ユーザの発言内容データ及び該発言内容に対応するカテゴリをそれぞれ格納し、
前記話題抽出部は、前記第１処理、又は、
対象ユーザの発言履歴を用いた学習により該対象ユーザの発言内容に対応するカテゴリ毎に嗜好度をそれぞれ格納する嗜好カテゴリテーブルから、該嗜好度に基づいて、１つのカテゴリを特定し、前記対話記録テーブルにおける、該特定されたカテゴリの同一内容を示す発言内容データの数に基づいて、前記対話記録テーブルから、該特定されたカテゴリの１つの発言内容データを前記話題ワードとして抽出する第２処理
を実行する請求項１に記載の対話装置。
【請求項３】
前記話題抽出部は、前記第１処理及び前記第２処理が所定割合で実行されるように、前記第１処理及び前記第２処理を選択的に実行する、
請求項２に記載の対話装置。
【請求項４】
前記話題抽出部は、前記第２処理において、前記対話記録テーブルに格納される前記特定されたカテゴリの発言内容データの中の、同一内容をそれぞれ示す各発言内容データ集合が、各発言内容データ集合内の発言内容データ数の各順位に対応する各所定割合でそれぞれ選択されるように、前記対話記録テーブルから選択的に前記特定されたカテゴリの１つの発言内容データを前記話題ワードとして抽出する、
請求項２又は３に記載の対話装置。
【請求項５】
前記話題振りメッセージデータの出力に伴うユーザの応答発言テキストデータ及び送信元識別データを取得する発言データ取得部と、
前記発言データ取得部により取得される送信元識別データ、前記話題振りメッセージデータに関するカテゴリ、及び、前記発言データ取得部により取得される応答発言テキストデータの応答内容に対応する嗜好度更新情報に基づいて、前記嗜好カテゴリテーブルを更新する学習処理部と、
を更に備える請求項２から４のいずれか１項に記載の対話装置。
【請求項６】
ユーザの発言テキストデータ及び送信元識別データを取得する発言データ取得部と、
前記発言データ取得部により取得される発言テキストデータのカテゴリを決定するカテゴリ決定部と、
前記発言データ取得部により取得される送信元識別データ、前記カテゴリ決定部により決定されるカテゴリ、及び、前記発言データ取得部により取得される発言テキストデータの内容に対応する嗜好度更新情報に基づいて、前記嗜好カテゴリテーブルを更新する学習処理部と、
を更に備える請求項２から５のいずれか１項に記載の対話装置。
【請求項７】
各ユーザの話題振りについてのタイミング情報及びカテゴリをそれぞれ格納するスケジュールテーブルに格納されるタイミング情報が示すタイミングで、前記話題抽出部に、該スケジュールテーブルに格納されるカテゴリに対応する前記対象ユーザの１つの発言内容データを前記話題ワードとして抽出させ、前記メッセージ生成部に前記話題振りメッセージデータを生成させ、前記データ出力部に前記話題振りメッセージデータを出力させるスケジュール処理部、
を更に備える請求項２から６のいずれか１項に記載の対話装置。
【請求項８】
前記話題抽出部は、前記第１処理において、前記対話記録テーブルの中の同一内容をそれぞれ示す各発言内容データ集合が、各発言内容データ集合内の発言内容データ数の各順位に対応する各所定割合でそれぞれ選択されるように、前記対話記録テーブルから選択的に前記発言内容データを前記話題ワードとして抽出する、
請求項１から７のいずれか１項に記載の対話装置。
【請求項９】
前記対話記録テーブルは、各ユーザの発言内容データと共に話題振りに適する発言内容か否かを示す話題フラグをそれぞれ格納し、
前記話題抽出部は、話題振りに適さないことを示す話題フラグに対応する発言内容データを前記話題ワードとしての抽出対象から除外する、
請求項１から８のいずれか１項に記載の対話装置。
【請求項１０】
少なくとも１つのコンピュータにより実行されるコンピュータ対話方法において、
各ユーザの発言内容データをそれぞれ格納する対話記録テーブルから、同一内容を示す発言内容データの数に基づいて、１つの発言内容データを話題ワードとして抽出する第１処理を実行し、
前記第１処理の実行により抽出された話題ワードを含む話題振りメッセージデータを生成し、
前記生成された話題振りメッセージデータを出力する、
ことを含むコンピュータ対話方法。
【請求項１１】
前記対話記録テーブルは、各ユーザの発言内容データ及び該発言内容に対応するカテゴリをそれぞれ格納し、
対象ユーザの発言履歴を用いた学習により該対象ユーザの発言内容に対応するカテゴリ毎に嗜好度をそれぞれ格納する嗜好カテゴリテーブルから、該嗜好度に基づいて、１つのカテゴリを特定し、前記対話記録テーブルにおける、該特定されたカテゴリの同一内容を示す発言内容データの数に基づいて、前記対話記録テーブルから、該特定されたカテゴリの１つの発言内容データを前記話題ワードとして抽出する第２処理と、前記第１処理とが所定割合で実行されるように、前記第１処理及び前記第２処理を選択的に実行する、
ことを含む請求項１０に記載のコンピュータ対話方法。
【請求項１２】
前記第２処理は、前記対話記録テーブルに格納される前記特定されたカテゴリの発言内容データの中の、同一内容をそれぞれ示す各発言内容データ集合が、各発言内容データ集合内の発言内容データ数の各順位に対応する各所定割合でそれぞれ選択されるように、前記対話記録テーブルから選択的に前記特定されたカテゴリの１つの発言内容データを前記話題ワードとして抽出する、
請求項１１に記載のコンピュータ対話方法。
【請求項１３】
前記話題振りメッセージデータの出力に伴うユーザの応答発言テキストデータ及び送信元識別データを取得し、
前記取得された送信元識別データ、前記話題振りメッセージデータに関するカテゴリ、及び、前記取得された応答発言テキストデータの応答内容に対応する嗜好度更新情報に基づいて、前記嗜好カテゴリテーブルを更新する、
ことを更に含む請求項１１又は１２に記載のコンピュータ対話方法。
【請求項１４】
ユーザの発言テキストデータ及び送信元識別データを取得し、
前記取得された発言テキストデータのカテゴリを決定し、
前記取得された送信元識別データ、前記決定されたカテゴリ、及び、前記取得された発言テキストデータの内容に対応する嗜好度更新情報に基づいて、前記嗜好カテゴリテーブルを更新する、
ことを更に含む請求項１１から１３のいずれか１項に記載のコンピュータ対話方法。
【請求項１５】
少なくとも１つのコンピュータにコンピュータ対話処理を実行させるプログラムにおいて、
前記コンピュータ対話処理は、
各ユーザの発言内容データをそれぞれ格納する対話記録テーブルから、同一内容を示す発言内容データの数に基づいて、１つの発言内容データを話題ワードとして抽出する第１処理を実行し、
前記第１処理の実行により抽出された話題ワードを含む話題振りメッセージデータを生成し、
前記生成された話題振りメッセージデータを出力する、
ことを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話型のコンピュータインタフェース技術に関する。
【背景技術】
【０００２】
音声対話型のコンピュータインタフェースが提供され始めている。このインタフェースでは、ユーザの発話が音声認識され、その発話に対応する処理が実行され、その処理結果がコンピュータからユーザへ応答される。これにより、ユーザは、自然な対話形式でコンピュータを操作することができる。
【０００３】
下記特許文献１は、インターネットを利用したチャットシステムを提案している。このシステムは、ユーザ端末から取得された発言文章をユーザごとに登録しておき、登録された発言文章を検索することにより、各ユーザに関する、年齢、性別、趣味、嗜好などを把握する。更に、下記特許文献１は、特定の趣味、嗜好をもっている人に特定の情報を提供すること、及び、特定のジャンルの映画に興味を持っているユーザを利用者ＤＢを用いて検索し、この検索で確認できたユーザとのチャットによる会話の中に、当該ジャンルの新作映画に関する話題を盛り込むことなどを提案する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１４５５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の提案手法によれば、特定の趣味や特定の嗜好を持つと判定されたユーザに対しては、その特定の趣味や特定の嗜好に関する特定の話題が提供されると思われる。具体的には、特定のジャンルの映画に興味を持つと判定されたユーザに対しては、そのジャンルの新作映画に関する話題が提供され得る。
【０００６】
ところが、ユーザの発言履歴のみでは、各ユーザについて、特定の趣味や特定の嗜好を判別できない可能性があるため、上述の提案手法では、全てのユーザに対して、上述のような話題が提供されるとは限らない。これは、上述の提案手法が、そのような話題提供を、商品やサービスのプロモーション活動の一環として行うことのみを目的としているからであると考えられる。
【０００７】
本発明は、このような事情に鑑みてなされたものであり、ユーザと魅力的な対話を継続させる技術を提供する。
【課題を解決するための手段】
【０００８】
本発明の各側面では、上述した課題を解決するために、それぞれ以下の構成を採用する。
【０００９】
第１の側面は、対話装置に関する。第１側面に係る対話装置は、各ユーザの発言内容データをそれぞれ格納する対話記録テーブルから、同一内容を示す発言内容データの数に基づいて、１つの発言内容データを話題ワードとして抽出する第１処理を実行する話題抽出部と、話題抽出部により抽出される話題ワードを含む話題振りメッセージデータを生成するメッセージ生成部と、メッセージ生成部により生成される話題振りメッセージデータを出力するデータ出力部と、を有する。
【００１０】
第２の側面は、少なくとも１つのコンピュータにより実行されるコンピュータ対話方法に関する。第２側面に係るコンピュータ対話方法は、各ユーザの発言内容データをそれぞれ格納する対話記録テーブルから、同一内容を示す発言内容データの数に基づいて、１つの発言内容データを話題ワードとして抽出する第１処理を実行し、第１処理の実行により抽出された話題ワードを含む話題振りメッセージデータを生成し、生成された話題振りメッセージデータを出力する、ことを含む。
【００１１】
なお、本発明の他の側面としては、上記第１の側面の構成を少なくとも１つのコンピュータに実現させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
【発明の効果】
【００１２】
上記各態様によれば、ユーザと魅力的な対話を継続させる技術を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係る対話装置の処理構成例を概念的に示す図である。
【図２】第１実施形態における音声対話サーバ装置の構成例を示す概念図である。
【図３】第１実施形態における音声対話サーバ装置及びクライアント装置の処理構成例を概念的に示す図である。
【図４】対話記録テーブルの例を示す図である。
【図５】嗜好カテゴリテーブルの例を示す図である。
【図６Ａ】話題振りメッセージの生成処理に関する音声対話サーバ装置の動作例を示すフローチャートである。
【図６Ｂ】第１処理により話題ワードが取得される場合における話題振りメッセージの生成処理に関する音声対話サーバ装置の動作例を示すフローチャートである。
【図６Ｃ】第２処理により話題ワードが取得される場合における話題振りメッセージの生成処理に関する音声対話サーバ装置の動作例を示すフローチャートである。
【図７】嗜好カテゴリテーブルの更新に関する音声対話サーバ装置の動作例を示すフローチャートである。
【図８】第２実施形態における音声対話サーバ装置及びクライアント装置の処理構成例を概念的に示す図である。
【図９】話題振りメッセージの生成処理に関する、第２実施形態における音声対話サーバ装置の動作例を示すフローチャートである。
【図１０】変形例における音声対話サーバ装置、クライアント装置及び対話記録装置の処理構成例を概念的に示す図である。
【図１１】変形例における対話記録テーブルの例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について説明する。なお、以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。
【００１５】
図１は、本発明の実施の形態に係る対話装置１００の処理構成例を概念的に示す図である。図１に示されるように、対話装置１００は、各ユーザの発言内容データをそれぞれ格納する対話記録テーブル３４から、同一内容を示す発言内容データの数に基づいて、１つの発言内容データを話題ワードとして抽出する第１処理を実行する話題抽出部３１と、話題抽出部３１により抽出される話題ワードを含む話題振りメッセージデータを生成するメッセージ生成部３２と、メッセージ生成部３２により生成される話題振りメッセージデータを出力するデータ出力部３３と、を有する。
【００１６】
対話装置１００は、例えば、後述する詳細実施形態における音声対話サーバ装置１と同様のハードウェア構成を有し、その音声対話サーバ装置１と同様にプログラムが処理されることで、上述の各処理部が実現される。対話記録テーブル３４は、対話装置１００により実現されてもよいし、他のコンピュータにより実現されてもよい。
【００１７】
本発明の実施の形態に係るコンピュータ対話方法は、図１に示される対話装置１００のような、少なくとも１つのコンピュータにより実行される次のような工程を含む。即ち、当該コンピュータ対話方法は、各ユーザの発言内容データをそれぞれ格納する対話記録テーブル３４から、同一内容を示す発言内容データの数に基づいて、１つの発言内容データを話題ワードとして抽出する第１処理を実行し、第１処理の実行により抽出された話題ワードを含む話題振りメッセージデータを生成し、生成された話題振りメッセージデータを出力する、ことを含む。
【００１８】
上述のように、対話記録テーブル３４には、各ユーザの発言内容データがそれぞれ格納される。対話記録テーブル３４に格納されるデータは、各ユーザの発言履歴に相当する。ここで、発言内容データとは、ユーザの発言テキストデータの少なくとも１部であり、例えば、ユーザの発言内容を示す名詞又は名詞句である。発言テキストデータは、ユーザにより発声された発言音声が録音及び音声認識されることにより得られる文章データであってもよいし、当該ユーザ又は他の者により、キーボード、タッチパネル等の入力装置を用いて入力された文章データであってもよい。
【００１９】
本実施形態では、このような対話記録テーブル３４に格納される同一内容を示す発言内容データの数に基づいて、対話記録テーブル３４から１つの発言内容データが抽出される。よって、抽出された発言内容データは、複数ユーザの発言中に共通に出てきたトピックやトレンドを示す単語又は単語列となる。
【００２０】
本実施形態では、この抽出された発言内容データを話題ワードとして含む話題振りメッセージデータが生成され、その話題振りメッセージデータが出力される。話題振りメッセージデータは、対話装置１００が対象ユーザに対して話題を振るためのメッセージを示し、その話題ワードとして上述のように抽出された発言内容データが用いられる。
【００２１】
従って、本実施形態によれば、最近のトピックやトレンドに基づく話題振りメッセージを出力することができる。例えば、話題ワードとして「東京スカイツリー」が抽出され、「ところで、東京スカイツリーが話題みたいだよ」といった話題振りメッセージが出力される。但し、話題振りメッセージデータの出力形態は、制限されない。例えば、話題振りメッセージデータは、ユーザが用いる端末に送られ、その端末から音声出力される。また、話題振りメッセージデータは、そのユーザ端末が備える表示装置へ表示されてもよいし、印刷装置へ印刷されてもよい。更に、話題振りメッセージデータは、対話装置１００から音声出力や表示出力されてもよい。
【００２２】
このように、本実施形態によれば、複数ユーザの発言中に出てきたホットなトピックやトレンドに関する話題振りを各ユーザにすることができるため、ユーザと魅力的な対話を継続させることができる。
【００２３】
以下、上述の実施形態について更に詳細を説明する。以下には、詳細実施形態として、第１実施形態及び第２実施形態を例示する。以下の各詳細実施形態は、上述の対話装置１００及びコンピュータ対話方法をクラウド型の音声対話サーバ装置に適用した場合の例である。但し、上述の対話装置１００及びコンピュータ対話方法は、入出力形態として音声を用いる音声対話システムへの適用に限定されるものではなく、様々な入出力形態の装置又はシステムに適用可能である。
【００２４】
［第１実施形態］
〔装置構成〕
図２は、第１実施形態における音声対話サーバ装置（以降、単に、対話サーバと表記する）１の構成例を示す概念図である。対話サーバ１は、通信網３を介して、ユーザが利用するクライアント装置２、及び、情報提供サイト５に通信可能に接続される。通信網３は、インターネット等のような公衆網、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、無線通信ネットワーク等である。なお、本実施形態において、対話サーバ１、クライアント装置２及び情報提供サイト５の間の通信形態は限定されない。
【００２５】
情報提供サイト５は、一般的なコンピュータであり、ＷＥＢサーバ、データベースサーバ等のような各種情報を提供するサーバ装置である。本実施形態は、情報提供サイト５のハードウェア構成及びソフトウェア構成を制限しない。
【００２６】
対話サーバ１は、クライアント装置２を通じて、ユーザと対話を行う。具体的には、対話サーバ１は、クライアント装置２からユーザの発言テキストデータを取得し、この発言テキストデータに基づく処理を行う。また、対話サーバ１は、話題振りメッセージデータをクライアント装置２へ送り、クライアント装置２からその話題振りメッセージを出力する。
【００２７】
対話サーバ１は、図２に示されるように、ハードウェア構成として、相互にバス１５により接続される、ＣＰＵ（Central Processing Unit）１０、メモリ１１、入出力インタフェース（Ｉ／Ｆ）１２、通信装置１３等を有する。メモリ１１は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ハードディスク、可搬型記憶媒体等である。入出力Ｉ／Ｆ１２は、キーボード、マウス等のようなユーザ操作の入力を受け付ける装置、表示装置やプリンタ等のようなユーザに情報を提供する装置などと接続される。通信装置１３は、通信網３を介して、他のノードと通信を行う。なお、対話サーバ１のハードウェア構成は制限されない。
【００２８】
クライアント装置２は、ＰＣ（Personal Computer）、タブレット端末、スマートフォン、携帯電話、カーナビゲーション装置等のような、ユーザ入力及びユーザへの出力を可能とするユーザインタフェースを持つ一般的なユーザ端末である。クライアント装置２は、人間とのコミュニケーション機能を持つロボットであってもよい。以降、クライアント装置２は、単に、クライアント２と表記する。クライアント２は、図２に示されるように、相互にバス１５により接続される、ＣＰＵ１０、メモリ１１、入出力Ｉ／Ｆ１２、通信装置１３等を有する。入出力Ｉ／Ｆ１２は、キーボード、マウス等のようなユーザ操作の入力を受け付ける入力装置（図示せず）、ユーザの発言音声を取得するマイクロホンのような音声入力部１７、音声を出力するスピーカ等のような音声出力部１８、ディスプレイ装置やプリンタ等のようなユーザに情報を提供する出力装置（図示せず）などと接続される。なお、クライアント２のハードウェア構成は制限されない。
【００２９】
〔処理構成〕
図３は、第１実施形態における対話サーバ１及びクライアント２の処理構成例を概念的に示す図である。図３において、図１に示される対話装置１００の処理部と同じ処理部には、図１と同じ符号が付されている。
【００３０】
〈クライアント装置〉
クライアント２は、音声認識部２１、音声合成部２２等を有する。これら各処理部は、例えば、ＣＰＵ１０によりメモリ１１に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、ＣＤ（Compact Disc）、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力Ｉ／Ｆ１２又は通信装置１３を介してインストールされ、メモリ１１に格納されてもよい。
【００３１】
音声認識部２１は、音声入力部１７を介して入力されかつ録音されたユーザの発言音声に対して音声認識処理を実行することにより、その発言音声に対応する発言テキストデータを生成する。発言テキストデータは、送信元識別情報（送信元ＩＤと表記）と共に、対話サーバ１へ送られる。送信元ＩＤは、クライアント装置２を識別する情報であってもよいし、ユーザを識別する情報であってもよいし、それら両方であってもよい。発言テキストデータとは、ユーザにより発された声がテキスト化された文字データである。なお、本実施形態では、この音声認識処理には、周知な手法が利用されればよく、その音声認識処理自体及びその音声認識処理で利用される各種音声認識パラメータを制限しない。
【００３２】
音声合成部２２は、対話サーバ１から送られる話題振りメッセージデータ等を音声合成処理することにより、そのメッセージの音声を音声出力部１８を介して出力する。音声出力部１８から出力される音声は、例えば、その話題振りメッセージデータに含まれるメッセージを読み上げる音声である。なお、本実施形態では、この音声合成処理には、周知な手法が利用されればよく、その音声合成処理自体は制限されない。
【００３３】
〈音声対話サーバ装置〉
対話サーバ１は、図３に示されるように、対話制御エンジン２５、ＷＥＢサーバ処理部２６等を有する。これら各処理部は、例えば、ＣＰＵ１０によりメモリ１１に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、ＣＤ、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力Ｉ／Ｆ１２又は通信装置１３を介してインストールされ、メモリ１１に格納されてもよい。
【００３４】
ＷＥＢサーバ処理部２６は、一般的なＷＥＢサーバ機能を実現する。例えば、ＷＥＢサーバ処理部２６は、クライアント２と音声対話サーバ装置１との間の双方向通信や、ＷＥＢサーバ上でのサーブレットの実行等を可能とする。本実施形態は、このＷＥＢサーバ処理部２６の具体的処理を制限しない。
【００３５】
対話制御エンジン２５は、クライアント２を通じたユーザとの対話を実現する処理部である。対話制御エンジン２５は、図３に示されるように、話題抽出部３１、メッセージ生成部３２、データ出力部３３、対話記録テーブル３４、発言データ取得部３５、カテゴリ決定部３６、学習処理部３７、嗜好カテゴリテーブル３８、格納処理部３９等を有する。これら各処理部は、例えば、ＣＰＵ１０によりメモリ１１に格納されるプログラムが実行されることにより実現される。なお、話題抽出部３１、メッセージ生成部３２、データ出力部３３及び対話記録テーブル３４については、図１に示される対話装置１００の各処理部と同様であり、以下の説明では、対話装置１００の各処理部と異なる内容を中心に説明する。
【００３６】
また、対話制御エンジン２５は、話題振りメッセージデータの生成タイミング、及び、その話題振りメッセージデータの送信先を決定する。例えば、対話制御エンジン２５は、挨拶や或る情報を提供する対話メッセージのような、質問や確認とは異なり次にユーザの発言が期待されない対話メッセージの生成時に、話題振りメッセージデータの生成を開始する。この開始の決定に伴い、対話制御エンジン２５は、話題抽出部３１、メッセージ生成部３２及びデータ出力部３３に動作させる。また、対話制御エンジン２５は、上述のような対話メッセージの送信先を、話題振りメッセージデータの送信先に決定する。以降、話題振りメッセージデータの送信先に決定されたユーザ（送信元ＩＤ）を対象ユーザと表記する場合もある。なお、本実施形態は、話題振りメッセージデータの生成及び送信タイミングを制限しない。
【００３７】
発言データ取得部３５は、クライアント２から送られるユーザの発言テキストデータ及び送信元ＩＤをＷＥＢサーバ処理部２６を介して取得する。発言データ取得部３５により取得されるユーザの発言テキストデータには、「聞きたい」、「何それ」等のような振られた話題を肯定する語（以降、話題肯定語と表記）、又は、「聞かない」、「いらない」等のような振られた話題を否定する語（以降、話題否定語と表記）を含む応答発言テキストデータが含まれる。
【００３８】
なお、本実施形態における対話制御エンジン２５で処理対象とされる発言テキストデータは、制限されてもよい。例えば、対話サーバ１は、本実施形態で説明される処理で扱われない発言テキストデータについては、他の処理で処理する。
【００３９】
カテゴリ決定部３６は、発言データ取得部３５により取得された発言テキストデータのカテゴリを決定する。例えば、カテゴリ決定部３６は、キーワードとカテゴリとの複数の対応関係を保持するテーブルを参照することにより、その発言テキストデータに含まれるキーワードに基づいてカテゴリを決定する。カテゴリ決定部３６は、キーワードを抽出するために、発言テキストデータに対して品詞分解処理を行うようにしてもよい。なお、本実施形態は、カテゴリの決定方法自体を制限しない。
【００４０】
格納処理部３９は、発言データ取得部３５により取得された発言テキストデータの少なくとも１部、及び、カテゴリ決定部３６により決定されたカテゴリを、送信元ＩＤ、記録時間と共に、対話記録テーブル３４に格納する。対話記録テーブル３４に格納される発言テキストデータの少なくとも１部は、発言内容データと表記される。例えば、発言テキストデータ「今日のイチローについて教えて」が取得された場合には、「今日のイチロー」が発言内容データとして対話記録テーブル３４に格納される。
【００４１】
更に、格納処理部３９は、発言データ取得部３５により取得されたユーザの発言テキストデータに対して、何らかの対話メッセージデータを送信した場合には、その対話メッセージデータの内容を示す返答内容データを対話記録テーブル３４に格納する。このとき、格納処理部３９は、その返答内容データを、対応する発言内容データを含むレコードに格納する。
【００４２】
図４は、対話記録テーブル３４の例を示す図である。対話記録テーブル３４は、ユーザの発言履歴を格納する。本実施形態における対話記録テーブル３４は、図４に示されるように、各発言テキストデータに対し、送信元ＩＤ、記録時間、カテゴリ、発言内容データ、返答内容データをそれぞれ格納する。送信元ＩＤは、発言テキストデータと共に発言データ取得部３５により取得されるデータであり、記録時間は、対象レコードが格納された時間を示す。発言内容データとは、各発言テキストデータの中の対話記録テーブル３４に格納されたデータを意味する。返答内容データとは、発言テキストデータに対して対話サーバ１により生成されクライアント装置２から出力された対話メッセージデータの中の、対話記録テーブル３４に格納されたデータを意味する。
【００４３】
図５は、嗜好カテゴリテーブル３８の例を示す図である。嗜好カテゴリテーブル３８は、各ユーザについて、各ユーザの発言内容に対応するカテゴリ毎の嗜好度をそれぞれ格納する。図５に示される送信元ＩＤは、そのカテゴリの発言テキストデータと共に発言データ取得部３５により取得されるデータである。嗜好度とは、その送信元ＩＤに対応するユーザがその対応するカテゴリを好んでいる又はその対応するカテゴリに関心を持っている度合いを示す。本実施形態では、この嗜好度は、１以上の数値で示され、数値の大きさが嗜好度の高さを示す。
【００４４】
学習処理部３７は、ユーザの発言テキストデータに基づいて、嗜好カテゴリテーブル３８へレコードを追加し、更に、嗜好カテゴリテーブル３８の嗜好度を更新する。具体的には、学習処理部３７は、発言データ取得部３５により取得された発言テキストデータに関しカテゴリ決定部３６で決定されたカテゴリが嗜好カテゴリテーブル３８に格納されていない場合に、そのカテゴリを含むレコードを嗜好カテゴリテーブル３８に追加する。このとき、学習処理部３７は、その追加するレコードに、発言データ取得部３５により取得された送信元ＩＤ、カテゴリ決定部３６により決定されたカテゴリ、及び、発言データ取得部３５により取得された発言テキストデータの内容に対応する嗜好度を含める。例えば、学習処理部３７は、発言テキストデータがそのカテゴリについての質問メッセージを示す場合には、そのカテゴリにユーザが関心を持っていると考えられるため、嗜好度を２に決定する。
【００４５】
また、学習処理部３７は、対話サーバ１から送信された話題振りメッセージデータに基づいてクライアント装置２から出力された話題振りメッセージに対し、ユーザの応答発言テキストデータが発言データ取得部３５で取得された場合に、その応答発言テキストデータの応答内容に応じて、嗜好カテゴリテーブル３８に対象レコードを追加する、又は、嗜好カテゴリテーブル３８内の対象レコードの嗜好度を増減させる。具体的には、学習処理部３７は、応答発言テキストデータに対応する送信元ＩＤ、及び、その話題振りメッセージに関するカテゴリに適合するレコードの嗜好度を更新する。例えば、応答発言テキストデータが肯定応答を示す場合には、ユーザが話題振りメッセージの話題ワードのカテゴリに興味を示したと考えられるため、そのレコードの嗜好度が１加算される。一方、応答発言テキストデータが否定応答を示す場合には、ユーザが話題振りメッセージの話題ワードのカテゴリに興味を示さなかったと考えられるため、そのレコードの嗜好度が１減算される。
【００４６】
話題抽出部３１は、対話装置１００における上述の第１処理、又は、以下に示す第２処理を実行することで、話題ワードを取得する。第１処理は、上述したように、複数のユーザの発言に基づいてホットなトピックやトレンドを示す話題ワードを決定する。第２処理は、対象ユーザの嗜好に沿った話題ワードを決定する。第２処理では、話題抽出部３１は、嗜好カテゴリテーブル３８に格納される対象ユーザのカテゴリの中から、嗜好度に基づいて、１つのカテゴリを特定し、対話記録テーブル３４における、この特定されたカテゴリの同一内容を示す発言内容データを含むレコードの数に基づいて、対話記録テーブル３４からそのカテゴリの１つの発言内容データを話題ワードとして抽出する。
【００４７】
話題抽出部３１は、第１処理及び第２処理が所定割合で実行されるように、第１処理及び第２処理を選択的に実行する。この所定割合は、話題抽出部３１により予め保持される。例えば、所定割合として、第１処理の実行割合が１５％、第２処理の実行割合が８５％に設定される。この所定割合は、ユーザにより好まれる値に設定されればよく、その値は特に制限されない。所定割合は、ユーザ毎にそれぞれ設定されるようにしてもよい。このように第１処理及び第２処理は選択的にそれぞれ実行されることが望ましいが、本実施形態は、第１処理及び第２処理のいずれか一方のみを実行する形態を排除しない。
【００４８】
また、話題抽出部３１は、第１処理において、対話記録テーブル３４の中の同一内容をそれぞれ示す各発言内容データ集合が、各発言内容データ集合内の発言内容データ数の各順位に対応する各所定割合でそれぞれ選択されるように、対話記録テーブル３４から選択的に発言内容データを話題ワードとして取得するようにしてもよい。話題抽出部３１は、各発言内容データ集合内の発言内容データ数の各順位について、所定の選択割合を予めそれぞれ保持する。例えば、発言内容データ数が最も多い発言内容データ集合が選択される確率が５０％、次に多い発言内容データ集合が選択される確率が２５％、次に多い発言内容データ集合が選択される確率が１２．５％というように、各順位の選択割合（選択確率）がそれぞれ保持される。但し、話題抽出部３１は、このような選択割合を用いず、発言内容データ数が最も多い発言内容データ集合を常に選択するようにしてもよい。
【００４９】
また、話題抽出部３１は、第２処理において、嗜好度の高さの各順位に応じた選択割合で嗜好カテゴリテーブル３８からカテゴリが特定されるように、選択的にカテゴリを特定してもよい。この場合、話題抽出部３１は、嗜好度の高さの各順位についての所定選択割合を予めそれぞれ保持する。例えば、嗜好度が最も高いカテゴリが特定される確率が５０％、次に嗜好度が高いカテゴリが特定される確率が２５％というように、各順位の選択割合（選択確率）がそれぞれ保持される。但し、話題抽出部３１は、このような選択割合を用いず、嗜好度が最も高いカテゴリを常に特定するようにしてもよい。
【００５０】
更に、話題抽出部３１は、第２処理において、対話記録テーブル３４に格納される当該特定されたカテゴリの発言内容データの中の、同一内容をそれぞれ示す各発言内容データ集合が、各発言内容データ集合の発言内容データ数の各順位に対応する各所定割合でそれぞれ選択されるように、対話記録テーブル３４から選択的に当該特定されたカテゴリの１つの発言内容データを話題ワードとして取得するようにしてもよい。この所定割合についても上述と同様である。
【００５１】
メッセージ生成部３２は、話題抽出部３１により取得された話題ワードを含む話題振りメッセージデータを生成する。
【００５２】
データ出力部３３は、メッセージ生成部３２により生成された話題振りメッセージデータを、対象ユーザのクライアント２へ送信する。
【００５３】
〔動作例〕
まず、第１実施形態におけるコンピュータ対話方法について図６Ａ、図６Ｂ及び図６Ｃを用いて説明する。図６Ａ、図６Ｂ及び図６Ｃは、話題振りメッセージの生成処理に関する対話サーバ１の動作例を示すフローチャートである。
【００５４】
対話サーバ１は、対象ユーザ（送信元ＩＤ）への話題振りメッセージの送信を決定すると、話題肯定語及び話題否定語に関する情報を読み込む（Ｓ６１）。話題肯定語及び話題否定語に関する情報は、例えば、対話サーバ１により予め保持される。
【００５５】
対話サーバ１は、１から１００までの間で乱数を発生させる（Ｓ６２）。対話サーバ１は、その乱数の値が１５以下か否かを判定する（Ｓ６３）。（Ｓ６２）及び（Ｓ６３）の各処理は、上記第１処理及び上記第２処理を所定割合（第１処理の実行割合が１５％であり、第２処理の実行割合が８５％である）でそれぞれ実行するための処理である。
【００５６】
対話サーバ１は、乱数の値が１５以下の場合（Ｓ６３；ＹＥＳ）、図６Ｂに示される処理、即ち、第１処理を実行し、乱数の値が１５より大きい場合（Ｓ６３；ＮＯ）、図６Ｃに示される処理、即ち、第２処理を実行する。
【００５７】
図６Ｂは、第１処理により話題ワードが取得される場合における話題振りメッセージの生成処理に関する対話サーバ１の動作例を示すフローチャートである。対話サーバ１は、対話記録テーブル３４から、発言内容データが同一内容を示す各レコード集合の中の、レコード数の上位１０個のレコード集合を抽出する（Ｓ７１）。ここで、抽出されるレコード集合には、複数ユーザの発言内容データが含まれる可能性がある。
【００５８】
続いて、対話サーバ１は、乱数を発生させ、（Ｓ７１）で抽出された複数のレコード集合の中の、その乱数に対応するレコード数順位のレコード集合を特定する（Ｓ７２）。この乱数を用いた特定により、例えば、最大レコード数のレコード集合が特定される確率が５０％、次に大きいレコード数のレコード集合が特定される確率が２５％といったレコード数順位毎の所定割合で、レコード集合が選択的に特定される。
【００５９】
対話サーバ１は、（Ｓ７２）で特定されたレコード集合のカテゴリが観光情報であるか否かを判定する（Ｓ７３）。対話サーバ１は、当該カテゴリが観光情報である場合（Ｓ７３；ＹＥＳ）、そのレコード集合から返答内容データを抽出する（Ｓ７５）。一方、対話サーバ１は、当該カテゴリが観光情報でない場合（Ｓ７３；ＮＯ）、そのレコード集合の発言内容データを検索キーワードとして用いてニュース情報を提供する情報提供サイト５に検索を要求し、その検索結果としてのニュース情報を取得する（Ｓ７４）。観光情報は、時間経過に伴う変化程度が他の情報よりも小さいため、（Ｓ７５）に示されるように、以前の返答内容データが抽出される。一方、観光情報以外のカテゴリについては、（Ｓ７４）に示されるように、情報提供サイト５から最新のニュース情報が取得される。
【００６０】
対話サーバ１は、特定されたレコード集合の発言内容データを話題ワードとして取得する（Ｓ７６）。対話サーバ１は、その話題ワードを含む話題振りメッセージデータを生成し、その話題振りメッセージデータをクライアント装置２へ送信する（Ｓ７７）。
【００６１】
これにより、その話題振りメッセージがクライアント装置２から音声出力される。例えば、多数のユーザの発言に含まれていた話題ワード「東京スカイツリー（登録商標）」が取得された場合（Ｓ７６）、「ところで、東京スカイツリーが話題みたいだよ」という話題振りメッセージが音声出力される。ユーザは、この話題振りメッセージに対して、「聞きたい」といった話題肯定語、又は、「聞かない」といった話題否定語を含む応答発言を行う。この応答発言は、クライアント装置２により、録音及び音声認識されることにより、応答発言テキストデータに変換される。
【００６２】
対話サーバ１は、その応答発言テキストデータをクライアント装置２から取得する（Ｓ７８）。対話サーバ１は、その応答発言テキストデータに、（Ｓ６１）で読み込まれた話題肯定語又は話題否定語が含まれるか否かを判定する（Ｓ７９）。対話サーバ１は、その応答発言テキストデータに話題肯定語又は話題否定語が含まれていない場合（Ｓ７９；ＮＯ）、話題が変わったと判断し、図６Ｂに示される処理を終了する。
【００６３】
更に、対話サーバ１は、その応答発言テキストデータに話題肯定語が含まれるか否かを判定する（Ｓ７９；ＹＥＳ、Ｓ８０）。対話サーバ１は、その応答発言テキストデータに肯定語が含まれる場合（Ｓ７９；ＹＥＳ、Ｓ８０；ＹＥＳ）、（Ｓ７４）で取得されたニュース情報データ、又は、（Ｓ７５）で取得された返答内容データを含む対話メッセージデータを生成し、その対話メッセージデータをクライアント装置２へ送信する（Ｓ８２）。これにより、対話記録テーブル３４に格納される以前の対話における返答内容と同じ内容の対話メッセージがクライアント２へ送信され、その返答内容がクライアント２で音声出力される。
【００６４】
このとき、対話サーバ１は、嗜好カテゴリテーブル３８の該当レコードの嗜好度に１加算する（Ｓ８３）。（Ｓ７７）で出力された話題振りメッセージにユーザが興味を示したからである。一方、対話サーバ１は、その応答発言テキストデータに話題肯定語が含まれない場合（Ｓ７９；ＹＥＳ、Ｓ８０；ＮＯ）、嗜好カテゴリテーブル３８の該当レコードの嗜好度を１減算する（Ｓ８１）。（Ｓ７７）で出力された話題振りメッセージにユーザが興味を示さなかったからである。なお、嗜好カテゴリテーブル３８の更新処理の詳細については、後述する。
【００６５】
図６Ｃは、第２処理により話題ワードが取得される場合における話題振りメッセージの生成処理に関する対話サーバ１の動作例を示すフローチャートである。対話サーバ１は、嗜好カテゴリテーブル３８から、対象ユーザの嗜好度の上位１０個のレコードを抽出する（Ｓ９１）。ここで、対象ユーザとは、話題振りメッセージデータの送信先として決定されたユーザであり、本実施形態では、送信元ＩＤで識別される。
【００６６】
対話サーバ１は、乱数を発生させ、（Ｓ９１）で抽出された複数のレコードの中の、その乱数に対応する嗜好度順位のレコードのカテゴリを特定する（Ｓ９２）。この乱数を用いた特定により、例えば、最高嗜好度のレコードが特定される確率が５０％、次に高い嗜好度のレコードが特定される確率が２５％といった嗜好度順位毎の所定割合で、レコードが選択的に特定される。
【００６７】
続いて、対話サーバ１は、対話記録テーブル３４から、（Ｓ９２）で特定されたカテゴリの発言内容データが同一内容を示す各レコード集合の中の、レコード数の上位１０個のレコード集合を抽出する（Ｓ９３）。ここで、抽出されるレコード集合には、図６Ｂと同様に、複数ユーザの発言内容データが含まれる可能性がある。
【００６８】
続いて、対話サーバ１は、乱数を発生させ、（Ｓ９３）で抽出された複数のレコード集合の中の、その乱数に対応するレコード数順位のレコード集合を特定する（Ｓ９４）。（Ｓ９４）以降の各工程は、図６Ｂに示される（Ｓ７２）以降の各工程と同様であるため、ここでは説明を省略する。
【００６９】
図６Ｃによれば、例えば、対象ユーザにとって嗜好度が高いカテゴリ「プロ野球選手」が特定され（Ｓ９２）、このカテゴリ「プロ野球選手」について多数のユーザの発言に含まれていた話題ワード「イチロー」が取得された場合（Ｓ９８）、「ところで、イチローも話題みたいだよ」という話題振りメッセージが音声出力される。
【００７０】
本実施形態におけるコンピュータ対話方法は、図６Ａ、図６Ｂ及び図６Ｃに示される例に限定されない。上述の例では、対話記録テーブル３４から抽出されるレコード集合の数が１０個に設定され（Ｓ７１）及び（Ｓ９３）、嗜好カテゴリテーブル３８から抽出されるレコード数も１０個に設定されている（Ｓ９１）。しかしながら、レコード集合及びレコードの数は、それぞれ異なる数に設定されてもよいし、１０以外の数に設定されてもよい。
【００７１】
次に、第１実施形態におけるカテゴリの嗜好度の学習方法について図７を用いて説明する。図７は、嗜好カテゴリテーブル３８の更新に関する対話サーバ１の動作例を示すフローチャートである。この学習方法は、図６Ｂに示される（Ｓ８１）及び（Ｓ８３）、図６Ｃに示される（Ｓ１０３）及び（Ｓ１０５）で実施され、更に、ユーザの発言テキストデータを対話記録テーブル３４に格納する前又は後に実施される。
【００７２】
このとき、対話サーバ１は、対象送信元ＩＤ、対象カテゴリ、嗜好度更新情報を取得している（Ｓ１１１）。図６Ｂに示される（Ｓ８１）及び（Ｓ８３）の場面では、対象送信元ＩＤは、（Ｓ７７）で話題振りメッセージデータの送信先として特定されている送信元ＩＤであり、対象カテゴリは、（Ｓ７２）で特定されたレコード集合のカテゴリである。また、嗜好度更新情報は、（Ｓ８１）の場面では−１であり、（Ｓ８３）の場面では＋１である。図６Ｃに示される（Ｓ１０３）及び（Ｓ１０５）の場面では、対象送信元ＩＤは、（Ｓ９１）で取得されている対象ユーザに対応する送信元ＩＤであり、対象カテゴリは、（Ｓ９２）で特定されたカテゴリである。また、嗜好度更新情報は、（Ｓ１０３）の場面では−１であり、（Ｓ１０５）の場面では＋１である。更に、「イチローについて教えて」といったユーザの発言テキストデータが対話記録テーブル３４に格納される場面では、その発言テキストデータの送信元ＩＤが対象送信元ＩＤであり、その発言テキストデータのカテゴリが対象カテゴリであり、嗜好度更新情報は、例えば、＋２に設定される。
【００７３】
対話サーバ１は、対象送信元ＩＤ及び対象カテゴリに対応するレコードを嗜好カテゴリテーブル３８から抽出する（Ｓ１１２）。対話サーバ１は、該当するレコードが嗜好カテゴリテーブル３８に存在する場合（Ｓ１１３；ＹＥＳ）、抽出されたレコードの嗜好度を嗜好度更新情報に基づいて更新する（Ｓ１１７）。
【００７４】
ここで、対話サーバ１は、その更新された嗜好度の値が１以上でない場合（Ｓ１１８；ＮＯ）、その更新後の嗜好度を１に再設定する（Ｓ１１９）。これにより、本実施形態によれば、嗜好カテゴリテーブル３８に格納される嗜好度は、１以上に保たれる。これは、本実施形態がカテゴリの嗜好度の高さを得ることを目的としているためである。但し、嗜好度が０以下となるのを必ずしも防がなくてもよい。この場合、図６Ｃの（Ｓ９１）において、１以上の嗜好度のみを抽出対象とすればよく、図７から（Ｓ１１８）、（Ｓ１１９）及び（Ｓ１１４）は省かれる。
【００７５】
一方、対話サーバ１は、該当するレコードが嗜好カテゴリテーブル３８に存在しない場合（Ｓ１１３；ＮＯ）、更に、嗜好度更新情報が増加方向を示すか否かを判定する（Ｓ１１４）。対話サーバ１は、嗜好度更新情報が増加方向を示す場合（Ｓ１１４；ＹＥＳ）、対象送信元ＩＤ、対象カテゴリ、及び、嗜好度更新情報に対応する嗜好度を含むレコードを嗜好カテゴリテーブル３８に追加する（Ｓ１１５）。嗜好度更新情報に対応する嗜好度とは、その嗜好度更新情報が示す値が設定された嗜好度を意味する。
【００７６】
〔第１実施形態の作用及び効果〕
上述したように第１実施形態では、話題振りメッセージデータに含める話題ワードを対話記録テーブル３４から抽出するために、第１処理又は第２処理が実行される。第１処理では、対話記録テーブル３４に格納される複数ユーザの発言内容データの中から、同一内容を示す発言内容データの数に基づいて、１つの発言内容データが話題ワードとして抽出される。この第１処理によれば、上述したように、複数ユーザの発言中に出てきたホットなトピックやトレンドに関する話題ワードを取得することができ、ひいては、そのような話題ワードを含めた話題振りメッセージをユーザに提供することができる。
【００７７】
一方で、第１実施形態では、各ユーザの発言テキストデータに基づいて、各ユーザのカテゴリ毎の嗜好度が学習される。この学習では、対話サーバ１によりクライアント装置２を介してユーザに提供される話題振りメッセージに対するユーザの応答発言に基づいて、その話題振りメッセージ内の話題ワードのカテゴリの嗜好度が嗜好カテゴリテーブル３８に反映される。また、ユーザのその他の発言に基づいて、その発言に関するカテゴリの嗜好度が嗜好カテゴリテーブル３８に反映される。この学習によれば、各ユーザについて、興味や関心を持っているカテゴリ及びその嗜好度合いをそれぞれ取得することができる。
【００７８】
その上で、上述の第２処理では、ユーザ毎に学習されたカテゴリ毎の嗜好度に基づいて、対象ユーザのための１つのカテゴリが特定され、対話記録テーブル３４に格納されるその特定されたカテゴリについての複数ユーザの発言内容データの中から、同一内容を示す発言内容データの数に基づいて、１つの発言内容データが話題ワードとして取得される。この第２処理によれば、ユーザが好むカテゴリについてのホットなトピックやトレンドを示す話題ワードを取得することができ、ひいては、そのような話題ワードを含めた話題振りメッセージをユーザに提供することができる。
【００７９】
従って、第１実施形態によれば、ユーザ自身の嗜好に依存しないホットな話題、又は、ユーザ自身の嗜好に沿ったホットな話題をユーザに振ることができ、この話題振りによりユーザは、発言を誘発されることになる。即ち、第１実施形態によれば、ユーザと魅力的な対話を継続させることができる。
【００８０】
更に、第１実施形態では、魅力的な話題ワードを取得するための第１処理及び第２処理が所定割合で選択的に実行される。これにより、各ユーザに対して同じ話題ワードセットが繰り返し提供されることを防ぐことができ、毎回、各ユーザにとって新鮮な話題を振ることができる。従って、ユーザが対話の継続を望む可能性が高くなるため、第１実施形態によれば、ユーザとより魅力的な対話を継続させることができる。
【００８１】
このような話題の単調化を防ぐために、更に、第１実施形態では、対話記録テーブル３４に格納される抽出候補の複数のレコード集合（発言内容データ集合）の各々が、各レコード集合内のレコード数順位に対応する各所定割合でそれぞれ選択されるように、対話記録テーブル３４から選択的に１つの発言内容データが話題ワードとして取得される。同様の目的で、第１実施形態では、嗜好度の高さの各順位に対応する各所定割合で、嗜好カテゴリテーブル３８からカテゴリが選択的に特定される。これにより、各ユーザに対して同じ話題ワードセットが繰り返し提供されることを防ぐことができ、毎回、各ユーザにとって新鮮な話題を振ることができる。
【００８２】
［第２実施形態］
第２実施形態では、話題振りのタイミングのスケジューリングが可能とされる。以下、第２実施形態における対話サーバ１について、第１実施形態と異なる内容を中心に説明する。以下の説明では、第１実施形態と同様の内容については適宜省略する。
【００８３】
〔処理構成〕
図８は、第２実施形態における対話サーバ１及びクライアント２の処理構成例を概念的に示す図である。第２実施形態における対話サーバ１は、第１実施形態の構成に加えて、スケジュール処理部４１及びスケジュールテーブル４２を更に有する。スケジュール処理部４１及びスケジュールテーブル４２についても、他の処理部と同様に、ＣＰＵ１０によりプログラムが実行されることにより実現される。
【００８４】
スケジュールテーブル４２は、各ユーザの話題振りについてのタイミング情報及びカテゴリをそれぞれ格納する。スケジュールテーブル４２に格納される情報は、入力画面等に基づいてクライアント装置２をユーザが操作することにより入力され、クライアント装置２から取得された情報であってもよいし、可搬型記録媒体等から入出力Ｉ／Ｆ１２を経由して取得された情報であってもよい。
【００８５】
タイミング情報には、日時等の時間や周期が設定されてもよいし、同時に生成される特定メッセージが設定されてもよい。例えば、タイミング情報として、毎日午前８時、２０１２年１２月２４日午後７時、各日の最初の挨拶メッセージと同時などが設定され得る。但し、本実施形態は、タイミング情報の具体的内容を制限せず、タイミング情報には、或るタイミングを特定し得る情報が設定されればよい。
【００８６】
スケジュール処理部４１は、スケジュールテーブル４２に格納されるタイミング情報が示すタイミングで、話題抽出部３１に、スケジュールテーブル４２に格納されるカテゴリに対応する対象ユーザの１つの発言内容データを話題ワードとして取得させ、メッセージ生成部３２に話題振りメッセージデータを生成させ、データ出力部３３に話題振りメッセージデータを出力させる。
【００８７】
話題抽出部３１は、スケジュール処理部４１により指定されるカテゴリを用いて、対話記録テーブル３４における、その指定されたカテゴリの同一内容を示す発言内容データを含むレコードの数に基づいて、対話記録テーブル３４からそのカテゴリの１つの発言内容データを話題ワードとして特定する第３処理を実行する。話題抽出部３１は、スケジュールテーブル４２に基づいて実行される場合には、上記第３処理を実行し、それ以外の場合には、第１実施形態のように第１処理及び第２処理を選択的に実行する。
【００８８】
〔動作例〕
以下、第２実施形態におけるコンピュータ対話方法について図６Ａ、図６Ｂ及び図６Ｃ並びに図９を用いて説明する。図９は、話題振りメッセージの生成処理に関する、第２実施形態における対話サーバ１の動作例を示すフローチャートである。第２実施形態では、対話サーバ１は、スケジュールテーブル４２に基づくタイミングでは、図９に示される動作を実行し、それ以外のタイミングでは、第１実施形態と同様に、図６Ａ、図６Ｂ及び図６Ｃで示される動作を行う。
【００８９】
スケジュールテーブル４２に基づくタイミングでは、スケジュールテーブル４２から指定されたカテゴリが取得される。この場合、対話サーバ１は、対話記録テーブル３４から、その指定されたカテゴリの発言内容データが同一内容を示す各レコード集合の中の、レコード数の上位１０個のレコード集合を抽出する（Ｓ１２１）。ここで、抽出されるレコード集合には、複数ユーザの発言内容データが含まれる可能性がある。
【００９０】
（Ｓ１２２）以降の各工程は、図６Ｂに示される（Ｓ７２）以降の各工程と同様であるため、ここでは説明を省略する。
【００９１】
〔第２実施形態の作用及び効果〕
上述のように第２実施形態では、各ユーザについて話題振りのタイミング情報がスケジュールテーブル４２にそれぞれ格納され、そのタイミング情報が示すタイミングで話題振りメッセージデータが生成及び出力される。更に、スケジュールテーブル４２には、上記タイミング情報と共に、振るべき話題のカテゴリが格納され、指定されたタイミングで生成される話題振りメッセージデータには、スケジュールテーブル４２で指定されたカテゴリの発言内容データが含められる。
【００９２】
従って、第２実施形態によれば、嗜好のみでなく、ユーザの年齢や生活スタイルに合わせたタイミング及びカテゴリで、そのタイミングに合った魅力的な話題ワードを含む話題振りメッセージを提供することができる。
【００９３】
［変形例］
上述の各実施形態では、対話サーバ１が、通信網３を介して接続される情報提供サイト５からニュース情報を取得する例が示された。しかしながら、ニュース情報は、対話サーバ１内に持つデータベースから取得されてもよい。この場合、対話サーバ１は、情報提供サイト５及び対話サーバ１内のデータベースの中から、ニュース情報の取得先を決めればよい。
【００９４】
また、上述の各実施形態では、ユーザの発する音声から、発言データ取得部３５により取得される発言テキストデータが生成される例が示された。しかしながら、発言テキストデータは、キーボードやタッチパネル等のようなクライアント２の入力装置を介したユーザ操作により、入力されたテキストデータであってもよい。また、対話メッセージデータの出力形態についても、音声出力のみに制限されず、クライアント２が備える表示装置への表示であってもよいし、クライアント２に接続される印刷装置への印刷であってもよい。更に、対話メッセージデータは、２種以上の出力形態で出力されるようにしてもよい。
【００９５】
また、上述の各実施形態では、クライアント２が音声認識部２１及び音声合成部２２を持つ例が示されたが、対話サーバ１が音声認識部２１及び音声合成部２２を持つ形態もあり得る。この場合、対話サーバ１とクライアント２との間では、音声データのやり取りが行われる。また、対話サーバ１及びクライアント装置２の両方を１つのコンピュータが実現し、そのコンピュータ自身が備える表示装置や音声出力部から話題振りメッセージを出力するようにしてもよい。
【００９６】
また、上述の各実施形態では、図３に示されるように、対話サーバ１が上述の全ての処理部を持っていたが、上述の各処理部は、対話サーバ１を含む複数のコンピュータ上で実現されるようにしてもよい。例えば、上述の各処理部のうち、ユーザの発言テキストデータを記録する処理部及びユーザの嗜好を学習する処理部と、話題振りメッセージデータのような対話メッセージを生成する処理部とを異なるコンピュータに備えるようにしてもよい。この例では、対話サーバ１と通信可能な対話記録装置７０が更に設けられる。
【００９７】
図１０は、変形例における対話サーバ１、クライアント２及び対話記録装置７０の処理構成例を概念的に示す図である。この変形例では、対話サーバ１の対話制御エンジン２５は、発言データ取得部３５、話題抽出部３１、メッセージ生成部３２及びデータ出力部３３を有し、対話記録装置７０が、カテゴリ決定部３６、学習処理部３７、嗜好カテゴリテーブル３８、格納処理部３９、対話記録テーブル３４、通信処理部７１を有する。通信処理部７１は、対話サーバ１から発言テキストデータを取得し、対話サーバ１からの要求に応じて対話記録テーブル３４及び嗜好カテゴリテーブル３８から要求に適合するレコードを抽出し、そのレコードを対話サーバ１へ送る。
【００９８】
上述の各実施形態では、対話記録テーブル３４内の全ての発言内容データが話題ワードの対象とされたが、話題ワードの対象となる発言内容データが制限されてもよい。図１１は、変形例における対話記録テーブル３４の例を示す図である。変形例における対話記録テーブル３４は、図４の内容に加えて、話題フラグを更に格納する。話題フラグは、話題振りに適する発言内容か否かを判別するためのフラグである。図４の例では、話題フラグには、話題振りに適する発言内容データのレコードにおいて１が設定され、話題振りに適さない発言内容データのレコードにおいて０が設定される。
【００９９】
本変形例における格納処理部３９は、ユーザの発言テキストデータを対話記録テーブル３４に格納するにあたり、カテゴリ決定部３６により決定されたカテゴリに基づいて、その発言テキストデータに対応する話題フラグを決定する。例えば、カテゴリが「天気」や「株価」の発言テキストデータに対応する話題フラグは０に設定され、それ以外のカテゴリの発言テキストデータに対応する話題フラグは１に設定される。「天気」や「株価」は、話題発展に結びつき難く、話題振りには適さないからである。
【０１００】
本変形例における話題抽出部３１は、対話記録テーブル３４から話題ワードとしての発言内容データを抽出するにあたり、対話フラグが０に設定されているレコードを除外する。同様に、図６Ｂの（Ｓ７１）及び図６Ｃの（Ｓ９３）並びに図９の（Ｓ１２１）においても、対話フラグが０に設定されているレコードは抽出対象から除外される。
【０１０１】
このような変形例によれば、複数のユーザの発言の中でも話題振りに適する発言内容のみが話題ワードとして抽出されるため、ユーザに関心を引く可能性が高い話題振りメッセージを提供することができる。
【０１０２】
なお、上述の説明で用いた複数のフローチャートでは、複数の工程（処理）が順番に記載されているが、各実施形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施形態では、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態及び各変形例は、内容が相反しない範囲で組み合わせることができる。
【０１０３】
上記の各実施形態及び各変形例は、以下の付記のようにも特定され得る。但し、各実施形態及び各変形例が以下の記載に限定されるものではない。
【０１０４】
（付記１）
各ユーザの発言内容データをそれぞれ格納する対話記録テーブルから、同一内容を示す発言内容データの数に基づいて、１つの発言内容データを話題ワードとして抽出する第１処理を実行する話題抽出部と、
前記話題抽出部により抽出される話題ワードを含む話題振りメッセージデータを生成するメッセージ生成部と、
前記メッセージ生成部により生成される話題振りメッセージデータを出力するデータ出力部と、
を備える対話装置。
【０１０５】
（付記２）
前記対話記録テーブルは、各ユーザの発言内容データ及び該発言内容に対応するカテゴリをそれぞれ格納し、
前記話題抽出部は、前記第１処理、又は、
対象ユーザの発言履歴を用いた学習により該対象ユーザの発言内容に対応するカテゴリ毎に嗜好度をそれぞれ格納する嗜好カテゴリテーブルから、該嗜好度に基づいて、１つのカテゴリを特定し、前記対話記録テーブルにおける、該特定されたカテゴリの同一内容を示す発言内容データの数に基づいて、前記対話記録テーブルから、該特定されたカテゴリの１つの発言内容データを前記話題ワードとして抽出する第２処理
を実行する付記１に記載の対話装置。
【０１０６】
（付記３）
前記話題抽出部は、前記第１処理及び前記第２処理が所定割合で実行されるように、前記第１処理及び前記第２処理を選択的に実行する、
付記２に記載の対話装置。
【０１０７】
（付記４）
前記話題抽出部は、前記第２処理において、前記対話記録テーブルに格納される前記特定されたカテゴリの発言内容データの中の、同一内容をそれぞれ示す各発言内容データ集合が、各発言内容データ集合内の発言内容データ数の各順位に対応する各所定割合でそれぞれ選択されるように、前記対話記録テーブルから選択的に前記特定されたカテゴリの１つの発言内容データを前記話題ワードとして抽出する、
付記２又は３に記載の対話装置。
【０１０８】
（付記５）
前記話題振りメッセージデータの出力に伴うユーザの応答発言テキストデータ及び送信元識別データを取得する発言データ取得部と、
前記発言データ取得部により取得される送信元識別データ、前記話題振りメッセージデータに関するカテゴリ、及び、前記発言データ取得部により取得される応答発言テキストデータの応答内容に対応する嗜好度更新情報に基づいて、前記嗜好カテゴリテーブルを更新する学習処理部と、
を更に備える付記２から４のいずれか１つに記載の対話装置。
【０１０９】
（付記６）
ユーザの発言テキストデータ及び送信元識別データを取得する発言データ取得部と、
前記発言データ取得部により取得される発言テキストデータのカテゴリを決定するカテゴリ決定部と、
前記発言データ取得部により取得される送信元識別データ、前記カテゴリ決定部により決定されるカテゴリ、及び、前記発言データ取得部により取得される発言テキストデータの内容に対応する嗜好度更新情報に基づいて、前記嗜好カテゴリテーブルを更新する学習処理部と、
を更に備える付記２から５のいずれか１つに記載の対話装置。
【０１１０】
（付記７）
各ユーザの話題振りについてのタイミング情報及びカテゴリをそれぞれ格納するスケジュールテーブルに格納されるタイミング情報が示すタイミングで、前記話題抽出部に、該スケジュールテーブルに格納されるカテゴリに対応する前記対象ユーザの１つの発言内容データを前記話題ワードとして抽出させ、前記メッセージ生成部に前記話題振りメッセージデータを生成させ、前記データ出力部に前記話題振りメッセージデータを出力させるスケジュール処理部、
を更に備える付記２から６のいずれか１つに記載の対話装置。
【０１１１】
（付記８）
前記話題抽出部は、前記第１処理において、前記対話記録テーブルの中の同一内容をそれぞれ示す各発言内容データ集合が、各発言内容データ集合内の発言内容データ数の各順位に対応する各所定割合でそれぞれ選択されるように、前記対話記録テーブルから選択的に前記発言内容データを前記話題ワードとして抽出する、
付記１から７のいずれか１つに記載の対話装置。
【０１１２】
（付記９）
前記対話記録テーブルは、各ユーザの発言内容データと共に話題振りに適する発言内容か否かを示す話題フラグをそれぞれ格納し、
前記話題抽出部は、話題振りに適さないことを示す話題フラグに対応する発言内容データを前記話題ワードとしての抽出対象から除外する、
付記１から８のいずれか１つに記載の対話装置。
【０１１３】
（付記１０）
少なくとも１つのコンピュータにより実行されるコンピュータ対話方法において、
各ユーザの発言内容データをそれぞれ格納する対話記録テーブルから、同一内容を示す発言内容データの数に基づいて、１つの発言内容データを話題ワードとして抽出する第１処理を実行し、
前記第１処理の実行により抽出された話題ワードを含む話題振りメッセージデータを生成し、
前記生成された話題振りメッセージデータを出力する、
ことを含むコンピュータ対話方法。
【０１１４】
（付記１１）
前記対話記録テーブルは、各ユーザの発言内容データ及び該発言内容に対応するカテゴリをそれぞれ格納し、
対象ユーザの発言履歴を用いた学習により該対象ユーザの発言内容に対応するカテゴリ毎に嗜好度をそれぞれ格納する嗜好カテゴリテーブルから、該嗜好度に基づいて、１つのカテゴリを特定し、前記対話記録テーブルにおける、該特定されたカテゴリの同一内容を示す発言内容データの数に基づいて、前記対話記録テーブルから、該特定されたカテゴリの１つの発言内容データを前記話題ワードとして抽出する第２処理と、前記第１処理とが所定割合で実行されるように、前記第１処理及び前記第２処理を選択的に実行する、
ことを含む付記１０に記載のコンピュータ対話方法。
【０１１５】
（付記１２）
前記第２処理は、前記対話記録テーブルに格納される前記特定されたカテゴリの発言内容データの中の、同一内容をそれぞれ示す各発言内容データ集合が、各発言内容データ集合内の発言内容データ数の各順位に対応する各所定割合でそれぞれ選択されるように、前記対話記録テーブルから選択的に前記特定されたカテゴリの１つの発言内容データを前記話題ワードとして抽出する、
付記１１に記載のコンピュータ対話方法。
【０１１６】
（付記１３）
前記話題振りメッセージデータの出力に伴うユーザの応答発言テキストデータ及び送信元識別データを取得し、
前記取得された送信元識別データ、前記話題振りメッセージデータに関するカテゴリ、及び、前記取得された応答発言テキストデータの応答内容に対応する嗜好度更新情報に基づいて、前記嗜好カテゴリテーブルを更新する、
ことを更に含む付記１１又は１２に記載のコンピュータ対話方法。
【０１１７】
（付記１４）
ユーザの発言テキストデータ及び送信元識別データを取得し、
前記取得された発言テキストデータのカテゴリを決定し、
前記取得された送信元識別データ、前記決定されたカテゴリ、及び、前記取得された発言テキストデータの内容に対応する嗜好度更新情報に基づいて、前記嗜好カテゴリテーブルを更新する、
ことを更に含む付記１１から１３のいずれか１つに記載のコンピュータ対話方法。
【０１１８】
（付記１５）
前記第１処理は、前記対話記録テーブルの中の同一内容をそれぞれ示す各発言内容データ集合が、各発言内容データ集合内の発言内容データ数の各順位に対応する各所定割合でそれぞれ選択されるように、前記対話記録テーブルから選択的に前記発言内容データを前記話題ワードとして抽出する、
付記１０から１４のいずれか１つに記載のコンピュータ対話方法。
【０１１９】
（付記１６）
前記対話記録テーブルは、各ユーザの発言内容データと共に話題振りに適する発言内容か否かを示す話題フラグをそれぞれ格納し、
前記発言内容データの前記話題ワードとしての抽出は、話題振りに適さないことを示す話題フラグに対応する発言内容データを前記話題ワードとしての抽出対象から除外する、
付記１０から１５のいずれか１つに記載のコンピュータ対話方法。
【０１２０】
（付記１７）
少なくとも１つのコンピュータにコンピュータ対話処理を実行させるプログラムにおいて、
前記コンピュータ対話処理は、
各ユーザの発言内容データをそれぞれ格納する対話記録テーブルから、同一内容を示す発言内容データの数に基づいて、１つの発言内容データを話題ワードとして抽出する第１処理を実行し、
前記第１処理の実行により抽出された話題ワードを含む話題振りメッセージデータを生成し、
前記生成された話題振りメッセージデータを出力する、
ことを含むプログラム。
【０１２１】
（付記１８）
前記対話記録テーブルは、各ユーザの発言内容データ及び該発言内容に対応するカテゴリをそれぞれ格納し、
前記コンピュータ対話処理は、
対象ユーザの発言履歴を用いた学習により該対象ユーザの発言内容に対応するカテゴリ毎に嗜好度をそれぞれ格納する嗜好カテゴリテーブルから、該嗜好度に基づいて、１つのカテゴリを特定し、前記対話記録テーブルにおける、該特定されたカテゴリの同一内容を示す発言内容データの数に基づいて、前記対話記録テーブルから、該特定されたカテゴリの１つの発言内容データを前記話題ワードとして抽出する第２処理と、前記第１処理とが所定割合で実行されるように、前記第１処理及び前記第２処理を選択的に実行する、
ことを含む付記１７に記載のプログラム。
【０１２２】
（付記１９）
前記第２処理は、前記対話記録テーブルに格納される前記特定されたカテゴリの発言内容データの中の、同一内容をそれぞれ示す各発言内容データ集合が、各発言内容データ集合内の発言内容データ数の各順位に対応する各所定割合でそれぞれ選択されるように、前記対話記録テーブルから選択的に前記特定されたカテゴリの１つの発言内容データを前記話題ワードとして抽出する、
付記１８に記載のプログラム。
【０１２３】
（付記２０）
前記コンピュータ対話処理は、
前記話題振りメッセージデータの出力に伴うユーザの応答発言テキストデータ及び送信元識別データを取得し、
前記取得された送信元識別データ、前記話題振りメッセージデータに関するカテゴリ、及び、前記取得された応答発言テキストデータの応答内容に対応する嗜好度更新情報に基づいて、前記嗜好カテゴリテーブルを更新する、
ことを更に含む付記１８又は１９に記載のプログラム。
【０１２４】
（付記２１）
前記コンピュータ対話処理は、
ユーザの発言テキストデータ及び送信元識別データを取得し、
前記取得された発言テキストデータのカテゴリを決定し、
前記取得された送信元識別データ、前記決定されたカテゴリ、及び、前記取得された発言テキストデータの内容に対応する嗜好度更新情報に基づいて、前記嗜好カテゴリテーブルを更新する、
ことを更に含む付記１８から２０のいずれか１つに記載のプログラム。
【０１２５】
（付記２２）
前記第１処理は、前記対話記録テーブルの中の同一内容をそれぞれ示す各発言内容データ集合が、各発言内容データ集合内の発言内容データ数の各順位に対応する各所定割合でそれぞれ選択されるように、前記対話記録テーブルから選択的に前記発言内容データを前記話題ワードとして抽出する、
付記１７から２１のいずれか１つに記載のプログラム。
【０１２６】
（付記２３）
前記対話記録テーブルは、各ユーザの発言内容データと共に話題振りに適する発言内容か否かを示す話題フラグをそれぞれ格納し、
前記発言内容データの前記話題ワードとしての抽出は、話題振りに適さないことを示す話題フラグに対応する発言内容データを前記話題ワードとしての抽出対象から除外する、
付記１７から２２のいずれか１つに記載のプログラム。
【符号の説明】
【０１２７】
１  音声対話サーバ装置（対話サーバ）
２  クライアント装置（クライアント）
５  情報提供サイト
１０  ＣＰＵ
１１  メモリ
１７  音声入力部
１８  音声出力部
２１  音声認識部
２２  音声合成部
２５  対話制御エンジン
２６  ＷＥＢサーバ処理部
３１  話題抽出部
３２  メッセージ生成部
３３  データ出力部
３４  対話記録テーブル
３５  発言データ取得部
３６  カテゴリ決定部
３７  学習処理部
３８  嗜好カテゴリテーブル
３９  格納処理部
４１  スケジュール処理部
４２  スケジュールテーブル
１００  対話装置
【図１】
2014109998.tif 000003
【図２】
2014109998.tif 000004
【図３】
2014109998.tif 000005
【図４】
2014109998.tif 000006
【図５】
2014109998.tif 000007
【図６Ａ】
2014109998.tif 000008
【図６Ｂ】
2014109998.tif 000009
【図６Ｃ】
2014109998.tif 000010
【図７】
2014109998.tif 000011
【図８】
2014109998.tif 000012
【図９】
2014109998.tif 000013
【図１０】
2014109998.tif 000014
【図１１】
2014109998.tif 000015