(57)【要約】【課題】対話装置の対話力を高める。【解決手段】対話制御装置（１）は、対話装置（２）に発話させるコメントの候補をコメントソース（３）から複数抽出するコメント抽出部（１１）と、候補コメントを入力とし、ユーザの反応の良し悪しを予測した予測評価値を出力する予測器（１２０、１２１、１２２）と、予測評価値に基づいて、複数の候補コメントの中から、対話装置に発話させるコメントを決定するコメント決定部（１３）とを備え、予測器は、対話装置によって発話された発話済コメントと、該発話済コメントに対するユーザの反応の良し悪しを示す学習評価値とを対応付けた学習データ（３０、１３１、１３２）に基づいて、発話済コメントを入力値とし、学習評価値を出力値として学習させたものである。【選択図】図１
2019045978.tif 000002
【特許請求の範囲】
【請求項１】
ユーザと対話する対話装置を制御する対話制御装置において、
前記対話装置に発話させるコメントの候補を、候補コメントとしてコメントソースから複数抽出するコメント抽出部と、
少なくとも前記候補コメントを入力とし、該候補コメントにつき、前記ユーザの反応の良し悪しを予測した予測評価値を出力する予測器と、
前記候補コメントごとに出力された前記予測評価値に基づいて、複数の前記候補コメントの中から、前記対話装置に発話させるコメントを決定するコメント決定部とを備え、
前記予測器は、少なくとも前記対話装置によって発話された発話済コメントと、該発話済コメントに対する前記ユーザの反応の良し悪しを示す学習評価値とを対応付けた学習データに基づいて、少なくとも前記発話済コメントを入力値とし、前記学習評価値を出力値として学習させたものであることを特徴とする対話制御装置。
【請求項２】
前記コメント抽出部は、
前記ユーザが現在視聴している視聴中番組を特定するための参考情報を取得し、
該参考情報に基づいて特定された前記視聴中番組のメタ情報を用いて、前記コメントソースに保持された前記視聴中番組に関するコメントを前記候補コメントとして抽出し、
前記予測器は、
前記視聴中番組に関する発話済コメントおよび該視聴中番組のメタ情報の組み合わせと、前記学習評価値とを対応付けた学習データに基づいて、前記組み合わせを入力値とし、前記学習評価値を出力値として学習を行い、
前記視聴中番組に関する候補コメントおよび該視聴中番組のメタ情報の組み合わせを入力とし、前記候補コメントにつき、前記予測評価値を出力することを特徴とする請求項１に記載の対話制御装置。
【請求項３】
前記対話制御装置は、
複数のユーザ各々のための対話装置をそれぞれ制御するものであって、前記複数のユーザは、複数の集団に分類されており、
前記集団ごとに、前記予測器を備え、さらに、
前記対話装置から取得された前記ユーザを識別するユーザＩＤに基づいて前記ユーザが所属する集団を識別する集団識別部を備え、
前記コメント決定部は、識別された前記集団に対応する予測器によって出力された前記予測評価値に基づいて、前記対話装置に発話させるコメントを決定し、
各予測器は、自器と同じ集団に対応する学習データに基づいて学習させたものであることを特徴とする請求項２に記載の対話制御装置。
【請求項４】
テーマごとに複数の集団が設けられており、前記ユーザは、各テーマについて１つの集団に所属し、
前記対話制御装置は、
前記視聴中番組のメタ情報に基づいて、前記ユーザと前記対話装置との間の対話の内容に合致する前記テーマを特定するテーマ特定部を備え、
前記集団識別部は、特定された前記テーマにおいて、前記ユーザが所属する集団を識別することを特徴とする請求項３に記載の対話制御装置。
【請求項５】
前記対話制御装置は、
集団に対応する学習データから見出された共通事項に基づく下位集団を作成するとともに、前記学習データを、該下位集団に対応するように細分化する学習制御部を備えていることを特徴とする、請求項３または４に記載の対話制御装置。
【請求項６】
ユーザと対話する対話装置を制御する対話制御装置が該対話装置に発話させるコメントを決定するために用いる予測器を構築する学習装置であって、
前記対話装置によって発話された発話済コメントに対する前記ユーザの反応を示す反応データを取得し、該反応データの解析結果に応じて、前記発話済コメントに対する前記ユーザの反応の良し悪しを示す学習評価値を算出する評価値算出部と、
少なくとも前記発話済コメントを入力値とし、前記学習評価値を出力値として学習を行うことにより、前記対話装置に発話させるコメントの候補である候補コメントを少なくとも入力とし、前記候補コメントにつき、前記ユーザの反応の良し悪しを予測した予測評価値を出力するように前記予測器を構築する学習制御部と、を備えていることを特徴とする学習装置。
【請求項７】
ユーザと対話する対話装置を制御する対話制御装置が実行する対話制御方法であって、
前記対話装置に発話させるコメントの候補を、候補コメントとしてコメントソースから複数抽出する抽出ステップと、
少なくとも前記候補コメントを入力とし、該候補コメントにつき、前記ユーザの反応の良し悪しを予測した予測評価値を出力する予測器を用いて、該予測評価値を出力する出力ステップと、
前記候補コメントごとに出力された前記予測評価値に基づいて、複数の前記候補コメントの中から、前記対話装置に発話させるコメントを決定する決定ステップと、を含み、
前記予測器は、少なくとも前記対話装置によって発話された発話済コメントと、該発話済コメントに対する前記ユーザの反応の良し悪しを示す学習評価値とを対応付けた学習データに基づいて、少なくとも前記発話済コメントを入力値とし、前記学習評価値を出力値として学習させたものであることを特徴とする対話制御方法。
【請求項８】
ユーザと対話する対話装置を制御する対話制御装置が該対話装置に発話させるコメントを決定するために用いる予測器を構築する学習装置が実行する学習方法であって、
前記対話装置によって発話された発話済コメントに対する前記ユーザの反応を示す反応データを取得する取得ステップと、
前記反応データの解析結果に応じて、前記発話済コメントに対する前記ユーザの反応の良し悪しを示す学習評価値を算出する算出ステップと、
少なくとも前記発話済コメントを入力値とし、前記学習評価値を出力値として学習を行うことにより、前記対話装置に発話させるコメントの候補である候補コメントを少なくとも入力とし、前記候補コメントにつき、前記ユーザの反応の良し悪しを予測した予測評価値を出力するように前記予測器を構築する学習ステップと、を含むことを特徴とする学習方法。
【請求項９】
請求項１に記載の対話制御装置としてコンピュータを機能させるための制御プログラムであって、前記コメント抽出部、前記予測器、および、前記コメント決定部としてコンピュータを機能させるための制御プログラム。
【請求項１０】
請求項６に記載の学習装置としてコンピュータを機能させるための制御プログラムであって、前記評価値算出部、および、前記学習制御部としてコンピュータを機能させるための制御プログラム。
【請求項１１】
請求項９または１０に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザと対話する対話装置を制御するための、対話制御装置、学習装置、対話制御方法、学習方法、制御プログラム、および、記録媒体に関する。
【背景技術】
【０００２】
従来、メディアコンテンツの種々の配信指標に応じて、コメント集合のソート条件を制御し、ユーザに有益なコメントを該ユーザに明示する、コメントリスト公開サーバが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−４１２３９号公報（２０１５年３月２日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
対話力が高いコメントが発話できるように対話装置を制御することは難しい。対話力が高い、または、対話力がある、とは、対話装置ともっと対話をしたいとユーザに思わせるような、ユーザが共感または親近感を持つような、もしくは、ユーザの対話装置との対話が自然と弾むような、魅力的で興味深いコメントを発話できることを意味する。
【０００５】
対話力が不足すれば、ユーザは、対話装置との対話に面白みを感じなくなり、最終的に飽きて、対話装置を利用しなくなる。継続して利用してもらえるように、対話装置の対話力を高めたいという課題がある。
【０００６】
しかしながら、上述のような従来技術を対話制御システムに適用したとしても、上述の課題を解決することはできない。従来技術では、どのようなテーマが話題に上がっているときにどのようなコメントが対話力があるのかという観点でコメントが評価されていないからである。
【０００７】
具体的には、対話装置に発話させたコメントに対してユーザが見せた実際の反応を、フィードバックすること、および、対話装置に発話させるコメントを決定する際に、過去にフィードバックされた内容を生かすことが、従来行われていなかった。
【０００８】
本発明の一態様は、対話装置の対話力を高めることが可能な、対話制御装置、学習装置、対話制御方法、学習方法、制御プログラム、および、記録媒体を実現することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明の一態様に係る対話制御装置は、ユーザと対話する対話装置を制御する対話制御装置において、前記対話装置に発話させるコメントの候補を、候補コメントとしてコメントソースから複数抽出するコメント抽出部と、少なくとも前記候補コメントを入力とし、該候補コメントにつき、前記ユーザの反応の良し悪しを予測した予測評価値を出力する予測器と、前記候補コメントごとに出力された前記予測評価値に基づいて、複数の前記候補コメントの中から、前記対話装置に発話させるコメントを決定するコメント決定部とを備え、前記予測器は、少なくとも前記対話装置によって発話された発話済コメントと、該発話済コメントに対する前記ユーザの反応の良し悪しを示す学習評価値とを対応付けた学習データに基づいて、少なくとも前記発話済コメントを入力値とし、前記学習評価値を出力値として学習させたものである。
【００１０】
上記の課題を解決するために、本発明の一態様に係る学習装置は、ユーザと対話する対話装置を制御する対話制御装置が該対話装置に発話させるコメントを決定するために用いる予測器を構築する学習装置であって、前記対話装置によって発話された発話済コメントに対する前記ユーザの反応を示す反応データを取得し、該反応データの解析結果に応じて、前記発話済コメントに対する前記ユーザの反応の良し悪しを示す学習評価値を算出する評価値算出部と、少なくとも前記発話済コメントを入力値とし、前記学習評価値を出力値として学習を行うことにより、前記対話装置に発話させるコメントの候補である候補コメントを少なくとも入力とし、前記候補コメントにつき、前記ユーザの反応の良し悪しを予測した予測評価値を出力するように前記予測器を構築する学習制御部と、を備えている。
【００１１】
上記の課題を解決するために、本発明の一態様に係る対話制御方法は、ユーザと対話する対話装置を制御する対話制御装置が実行する対話制御方法であって、前記対話装置に発話させるコメントの候補を、候補コメントとしてコメントソースから複数抽出する抽出ステップと、少なくとも前記候補コメントを入力とし、該候補コメントにつき、前記ユーザの反応の良し悪しを予測した予測評価値を出力する予測器を用いて、該予測評価値を出力する出力ステップと、前記候補コメントごとに出力された前記予測評価値に基づいて、複数の前記候補コメントの中から、前記対話装置に発話させるコメントを決定する決定ステップと、を含み、前記予測器は、少なくとも前記対話装置によって発話された発話済コメントと、該発話済コメントに対する前記ユーザの反応の良し悪しを示す学習評価値とを対応付けた学習データに基づいて、少なくとも前記発話済コメントを入力値とし、前記学習評価値を出力値として学習させたものである。
【００１２】
上記の課題を解決するために、本発明の一態様に係る学習方法は、ユーザと対話する対話装置を制御する対話制御装置が該対話装置に発話させるコメントを決定するために用いる予測器を構築する学習装置が実行する学習方法であって、前記対話装置によって発話された発話済コメントに対する前記ユーザの反応を示す反応データを取得する取得ステップと、前記反応データの解析結果に応じて、前記発話済コメントに対する前記ユーザの反応の良し悪しを示す学習評価値を算出する算出ステップと、少なくとも前記発話済コメントを入力値とし、前記学習評価値を出力値として学習を行うことにより、前記対話装置に発話させるコメントの候補である候補コメントを少なくとも入力とし、前記候補コメントにつき、前記ユーザの反応の良し悪しを予測した予測評価値を出力するように前記予測器を構築する学習ステップと、を含む。
【発明の効果】
【００１３】
本発明の一態様によれば、対話装置の対話力を高めることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態１および２に係る対話制御サーバの機能的構成を示すブロック図である。
【図２】本発明の対話制御システムの概要を示す図である。
【図３】クエリのデータ構造の一例を示す図である。
【図４】候補コメントのデータ構造の一例を示す図である。
【図５】フィードバックのデータ構造の一例を示す図である。
【図６】レコードの一具体例を示す図である。
【図７】学習データのデータ構造の一例を示す図である。
【図８】対話制御サーバの対話制御ユニットが実行する処理の流れを示すフローチャートである。
【図９】対話制御サーバの学習ユニットが実行する処理の流れを示すフローチャートである。
【図１０】クエリのデータ構造の他の例を示す図である。
【図１１】学習データのデータ構造の他の例を示す図である。
【図１２】対話制御システムの各装置が実行する処理の流れを示すシーケンス図である。
【図１３】本発明の実施形態３および４に係る対話制御サーバの機能的構成を示すブロック図である。
【図１４】プロファイルデータのデータ構造の一例を示す図である。
【図１５】集団分類データのデータ構造の一例を示す図である。
【図１６】プロファイルデータのデータ構造の他の例を示す図である。
【図１７】集団分類データのデータ構造の他の例を示す図である。
【図１８】テーマと、該テーマに基づいて母集団が複数の集団に分類されることを模式的に説明する概念図である。
【発明を実施するための形態】
【００１５】
〔実施形態１〕
＜対話制御システムの概要＞
以下、本発明の一実施形態について、詳細に説明する。図２は、本実施形態にかかる対話制御システム１００の概要を示す図である。対話制御システム１００は、少なくとも、対話制御サーバ１と、対話装置２と、コメントソース３とを含む。上述の各装置は、例えば、インターネットなどの広域通信網を介して互いに通信可能に接続されている。
【００１６】
対話制御サーバ１は、対話装置２を制御して、対話装置２に、ユーザ４０との対話が成立するようにコメントを発話させる。対話装置２は、対話制御サーバ１の制御にしたがって、ユーザ４０と直接対話するように構成されている。コメントソース３は、対話装置２に発話させる候補のコメント（以下、候補コメント）を、対話制御サーバ１からの要求に応じて、対話制御サーバ１に提供する。
【００１７】
コメントソース３に格納されているコメントは、すでに完成した状態で、あらかじめ大量に格納されていてもよい。対話制御サーバ１は、その中から対話装置２に発話させる候補となるコメントを１以上抽出してもよい。コメントソース３に格納されるコメントは、随時、修正、追加または削除などの編集が可能であってもよい。例えば、コメントソース３は、ＳＮＳ（Social Networking Service）サーバであってもよい。コメントソース３には、該ＳＮＳサーバのサービスを利用する不特定多数のユーザ（ユーザ４１、ユーザ４３など）が、自身の通信端末（パソコン４２、スマートフォン４４など）を用いて投稿するコメントが格納される。対話制御サーバ１は、このように随時投稿されるコメントの中から、候補コメントを抽出してもよい。あるいは、コメントソース３は、完成した状態から編集ができないようになっていてもよい。あるいは、コメントソース３は、既存の雑談エンジンを備え、対話制御サーバ１から送信されたクエリに基づいて、対話の文脈に応じた適切なコメントを１以上生成してもよい。
【００１８】
対話制御サーバ１は、対話制御ユニット１０を備え、対話装置２に発話させるコメントを決定する。本実施形態では、対話制御ユニット１０は、候補コメントの評価を行う予測器を含む。予測器によって評価された結果に応じて、対話制御サーバ１は、複数の候補コメントの中から、対話装置２に発話させるコメントを１つ決定することができる。
【００１９】
また、対話制御サーバ１は、学習ユニット２０を備え、対話装置２が実際に発話したコメント（以下、発話済コメント）に対して、ユーザ４０がどのような反応を示したのかを表したデータを蓄積する。蓄積されたデータを用いて機械学習を行い、上述の予測器を構築する。
【００２０】
したがって、対話制御サーバ１は、発話済コメントに対してユーザが見せた実際の反応についてのフィードバックを受け、対話装置にこれから発話させるコメントを決定する際に、過去にフィードバックされた内容を生かすことができる。したがって、対話制御サーバ１は、対話力を高めることが可能な魅力あるコメントを、対話装置２に発話させることができる。
【００２１】
対話装置２は、ユーザ４０と直接対話する装置である。一例として、対話装置２は、マイクおよびスピーカを備えたロボットであってよい。この場合、対話装置２は、音声をやりとりすることによりユーザ４０と対話する。あるいは、対話装置２は、スマートフォンなどの電子機器であってもよい。この場合、対話装置２は、スピーカに代えて、コメントをテキストとして表示部に出力することで発話を行ってもよい。
【００２２】
対話制御システム１００における処理の流れを簡単に説明すると以下のとおりである。まず、ユーザ４０は、対話装置２と対話しようとして、メタ情報またはメタ情報を特定するためのヒントとなる参考情報を対話装置２に対して提示する。メタ情報とは、対話の内容に係るテーマ、ジャンル、属性などである。メタ情報または参考情報の提示は、例えば、ユーザ４０が、対話装置２に何かを話しかけることによって行われてもよい。あるいは、ユーザ４０が、対話装置２に物理的にまたはソフトウェア的に設けられている操作部を操作してメタ情報または参考情報を入力することによって行われてもよい。あるいは、ユーザ４０が何らかの行動を起こしたことを、対話装置２に設けられているセンサ部が検知することによって行われてもよい。
【００２３】
（対話制御時）
（１）対話装置２は、対話開始のトリガとしてのメタ情報または参考情報を受け付け、発話するべきコメントを求めて、対話制御サーバ１に対してリクエストを送信する。（２）対話制御ユニット１０は、コメントソース３から対話装置２に発話させる候補コメントを１または複数抽出する。ここでは、従来技術を採用して、対話シーンに合わせて自然な発言となるように、適したコメントが抽出される。例えば、対話制御ユニット１０は、適したコメントが抽出されるように、上述のメタ情報または参考情報に基づいてクエリを生成してもよい。（３）対話制御ユニット１０は、上述の予測器を用いて、候補コメントそれぞれの評価値を予測する。評価値は、候補コメントの内容に基づいて、どの程度対話力がある魅力的なコメントであるのかという観点で予測される。（４）対話制御ユニット１０は、評価値が最も高いコメント、すなわち、最も対話力があると推定されたコメントを決定する。そして、これを発話するように指示するレスポンスを対話装置２に返信する。（５）対話装置２は、返信されたコメントをユーザ４０に対して発話する。
【００２４】
（学習時）
（６）対話装置２が発話した発話済コメントに対して、ユーザ４０は、何らかの反応を示す。反応は、バーバルであってもよいし、ノンバーバルであってもよい。対話装置２は、自装置に設けられた各種センサ部を用いて、ユーザ４０の反応を検知する。（７）対話装置２は、ユーザ４０の反応に係る検知内容を、対話制御サーバ１にフィードバックする。（８）学習ユニット２０は、フィードバックされた内容に基づいて、上述の発話済コメントに対するユーザの反応の良し悪しを測り、該発話済コメントに対して評価値を算出する。そして、発話済コメントを入力値とし、算出した評価値を出力値として、学習を行い、対話制御ユニット１０の予測器を構築する。
【００２５】
こうして、次の対話制御時には、学習済みの予測器に基づいて、評価値の予測が行われる。したがって、より多くの前記入力値と前記出力値とのセットを用いて学習を行うほど、ユーザ４０にとってより魅力的な候補コメントが高い評価値を得るように、対話制御ユニット１０が調整される。結果として、フィードバックされた内容を生かして、対話力を高めることが可能な魅力あるコメントを、対話装置２に発話させることができる。
【００２６】
＜対話制御サーバ１の機能的構成＞
図１は、対話制御サーバ１の機能的構成を示すブロック図である。対話制御サーバ１は、一例として、通信部、記憶部、および、制御部を備えている。
【００２７】
通信部は、所定の通信方式にしたがう通信網（例えば、インターネットなど）を介して、外部装置と通信する。通信部における、通信回線、通信方式、または通信媒体などは、対話制御システム１００の規模、対話制御システム１００を構築するその他の外部装置の仕様などに応じて適宜決定される。
【００２８】
記憶部は、不揮発性の記憶装置によって構成され、対話制御サーバ１が処理する各種情報を記憶する。具体的には、記憶部には、図１に示す学習データ３０などが記憶されている。
【００２９】
制御部は、対話制御サーバ１が有する各種の機能を統括的に制御する。本実施形態において、制御部は、機能ブロックとして、少なくとも、コメント抽出部１１、予測器１２０、コメント決定部１３、評価値算出部１４および学習制御部１５を含んでいる。
【００３０】
学習データ３０に基づく学習が完了した予測器１２０が、候補コメントの評価値を予測する評価値予測装置１２として機能する。評価値予測装置１２は、コメントのテキストデータを入力とし、該コメントの対話力の高さを示す評価値を出力する装置である。
【００３１】
対話制御サーバ１において、コメント抽出部１１、予測器１２０、および、コメント決定部１３が、上述の対話制御ユニット１０に属し、評価値算出部１４、学習制御部１５および学習データ３０が上述の学習ユニット２０に属する。
【００３２】
コメント抽出部１１は、通信部を介して対話装置２からリクエストを受け付ける。コメント抽出部１１は、受け付けたリクエストに基づいて、クエリを生成し、コメントソース３から候補コメントを抽出する。
【００３３】
予測器１２０は、機械学習により、候補コメントのテキストデータの入力に応じて、該候補コメントの評価値を予測して出力するように構築されたものである。予測器１２０の学習に用いるデータ（レコード）は、学習データ３０に記憶されている。学習データ３０に登録されるレコードの各々において、少なくとも発話済コメントのテキストデータと、該発話済コメントに対するユーザの反応に基づいて算出された評価値とが紐付けられている。これにより、予測器１２０に、両者の相関関係を学習させることができる。
【００３４】
なお、コメントのすべてに対してメタ情報が付与される実施形態では、発話済コメントのテキストデータおよびメタ情報の組み合わせと、算出された評価値との相関関係が示されたレコードを、予測器１２０を構築するための機械学習に用いてもよい。これにより、候補コメントのテキストデータおよびメタ情報の組み合わせを入力とし、これに応じて候補コメントの評価値を出力するように構築された予測器１２０を得ることができる。
【００３５】
以下では、予測器１２０によって、候補コメントに対して予測される評価値と、発話済コメントに対してユーザ４０の反応に係るフィードバック基づいて算出された評価値とを区別するために、前者を、予測評価値と称し、後者をフィードバック（ＦＢ）評価値と称する。
【００３６】
予測評価値は、ユーザの反応の良し悪しを予測した数値である。予測評価値は、後述のコメント決定部１３が対話装置２に発話させるコメントを決定するときに、コメント決定部１３によって利用される。
【００３７】
ＦＢ評価値（学習評価値）は、発話済コメントに対するユーザの実際の反応の良し悪しを示す数値である。ＦＢ評価値は、上述の予測器１２０を構築するための学習を行うときに、後述の学習制御部１５によって利用される。
【００３８】
両評価値は、ユーザの反応の良し悪し（すなわち、対話力の高さ）を同じ尺度で示しており、一例として、０〜１００の整数で表される。両評価値は値が高いほど、ユーザの反応が良い、すなわち、対話力が高いことを意味する。
【００３９】
予測器１２０の機械学習の方法は特に限定されない。予測器１２０は、例えば、サポートベクターマシン（ＳＶＭ；support vector machine）あるいは、ニューラルネットワーク、特に、ディープニューラルネットワーク（ＤＮＮ；deep neural network）などで実現されてもよい。
【００４０】
コメント決定部１３は、候補コメントごとに予測された予測評価値に基づいて、対話装置２に発話されるコメントを決定する。コメント決定部１３は、決定したコメントのテキストデータを含むレスポンスを対話装置２に返信する。
【００４１】
評価値算出部１４は、対話装置２から送信されたフィードバックに基づいて、対話装置２の発話済コメントを対話力の観点から評価する。具体的には、発話済コメントに対してユーザ４０が示した反応に基づいて、発話済コメントに対してＦＢ評価値を算出する。算出されたＦＢ評価値は、学習データ３０として記憶部に格納される。
【００４２】
学習制御部１５は、予測器１２０の学習に関する処理を行う。具体的には、学習データ３０に蓄積されたレコード、すなわち、発話済コメントと、該発話済コメントに紐付けられたＦＢ評価値とを、予測器１２０の学習に用いて、学習済みの予測器１２０を得る。学習制御部１５は、学習のタイミングを制御することができる。例えば、学習制御部１５は、所定の時間間隔で定期的に（例えば、１日１回）学習を行ってもよいし、学習データ３０に未学習のレコードが所定数以上（例えば、５０レコード）蓄積されたときに学習を行っても。学習制御部１５は、学習の対象を制御することができる。学習制御部１５は、学習データ３０に蓄積されているすべてのレコードを学習に用いてもよいし、登録された日時が新しい順から所定数のレコードを学習に用いてもよいし、登録された日時が、直近の特定期間（例えば、直近１週間）以内のレコードを学習に用いてもよい。
【００４３】
＜対話制御ユニット１０が扱うデータについて＞
図３は、コメント抽出部１１が生成したクエリのデータ構造の一例を示す図である。例えば、クエリは、ユーザ４０が発話したコメント（以下、ユーザ発話コメント）を音声認識によりテキストに変換したテキストデータと、メタ情報とを含む。具体的には、テキストデータは、対話装置２から送信されたリクエストに含まれており、コメント抽出部１１は、これをクエリの生成に用いる。コメント抽出部１１は、例えば、テキストデータに対して意味解釈の処理を実行し、これが気候に関する発話だと判断すれば、「気候」のメタ情報をクエリに含める。本実施形態では、あらゆる事物をおおまかに区別するためのメタ情報が、あらかじめいくつか設定されており、コメント抽出部１１は、ユーザ４０の発話の内容に近いメタ情報を、上述のテキストデータに付与してクエリを生成する。これにより、コメントソース３からの候補コメントの抽出を効率的に行う。なお、コメント抽出部１１は、テキストデータのみをクエリとして、コメントソース３に送信してもよい。
【００４４】
図４は、抽出された候補コメントのデータ構造の一例を示す図である。コメント抽出部１１は、図４に示すとおり、候補コメントリスト５０を生成してもよい。候補コメントリスト５０は、記憶部に格納される。候補コメントリスト５０において、コメント抽出部１１は、抽出した候補コメントのテキストデータに、メタ情報を付与してもよい。メタ情報は、１つのコメントに対して複数付与されてもよい。また、コメント抽出部１１は、便宜上、候補コメントを一意に識別するためのコメントＩＤを関連付けてもよい。
【００４５】
例えば、図４に示すとおり、コメント抽出部１１がコメント１〜７の７個の候補コメントを抽出した場合、予測器１２０は、７個の候補コメントのそれぞれについて予測評価値を出力する。コメント決定部１３は、出力された予測評価値を、図４に示すとおり、対応する候補コメントに対応付けて記憶部に格納する。コメント決定部１３は、一例として、最も予測評価値が高い候補コメントを、対話装置２に発話させるコメントとして決定する。最高の予測評価値が複数ある場合は、コメント決定部１３は、コメントＩＤの数字が最小（または最大）の候補コメントを選択してもよいし、テキストデータの文字数が最少（または最多）の候補コメントを選択してもよいし、予測評価値が最高値のすべての候補コメントを順次発話するように対話装置２に指示してもよい。図４に示す例では、コメント決定部１３は、予測評価値が最も高いコメント６を、対話装置２に発話させるコメントとして決定する。
【００４６】
＜学習ユニット２０が扱うデータについて＞
図５は、対話装置２から提供されたフィードバックのデータ構造の一例を示す図である。フィードバックは、発話済コメントのテキストデータと、ユーザ４０の反応に関して対話装置２が検知した内容を示す反応データとを含む。
【００４７】
コメントＩＤが、対話制御サーバ１と対話装置２との間で共有されている場合には、テキストデータに代えて、発話済コメントのコメントＩＤがフィードバックに含まれていてもよい。
【００４８】
反応データは、複数の項目で構成され、項目ごとにユーザ４０の反応に係る情報が格納されていてもよい。反応データは、一例として、直接入力データ、テキストデータ、音声データ、および、画像データの４つの項目を含む。直接入力データは、例えば、ユーザ４０が発話済コメントに面白みを感じたか、そうでないかを示す２値の情報である。
【００４９】
本実施形態では、ユーザ４０は、対話装置２がコメントを発話した後、該コメントに対する自身の評価を、対話装置２に直接入力できる構成である。例えば、対話装置２は、コメントを発話した後、「いいね」に対応するソフトウェアボタンと、「う〜ん」に対応するソフトウェアボタンとを自装置に設けられたタッチパネルに表示し、ユーザ４０にいずれかのボタンを押させるように構成されていてもよい。ユーザ４０は、対話装置２の発話済コメントに魅力を感じれば「いいね」ボタンを、魅力を感じなかったり、嫌悪感を抱いたりすれば「う〜ん」ボタンをタッチ操作で選択する。対話装置２は、タッチ操作されたボタンに対応する情報を直接入力データとして生成し、フィードバックに含める。例えば、直接入力データの「１」は、「いいね」に対応し、「０」は、「う〜ん」に対応していてもよい。
【００５０】
このように直接入力データは、対話装置２と対話しているユーザ４０が対話の過程で起こす行動とは別に、コメントを評価する目的で能動的にわざわざ行動することにより対話装置２に入力されたデータである。また、直接入力データは、発話済コメントに対するユーザ４０の評価を直接的に表現したものである。したがって、直接入力データは、反応データの中でも、コメントを対話力の観点から評価するための指標として非常に信頼性が高く、重要視されるべきものである。直接入力データは、能動的評価項目として、後述の他の反応データとは区別される。
【００５１】
なお、直接入力データは、２値ではなく、多値の情報であってもよい。例えば、２段階以上の段階評価を入力できるように、対話装置２を構成してもよい。例えば、対話装置２は、「大ウケ」、「ややウケ」、「ウケない」の３段階で、ユーザ４０の評価を受け付け、直接入力データを生成してもよい。あるいは、直接入力データは、評価値と同様に、０〜１００点の値を示すものであり、対話装置２は、０〜１００の数字をユーザ４０に入力させる構成であってもよい。
【００５２】
テキストデータは、対話装置２の発話済コメントに対してユーザ４０が行った発話をテキスト化した情報である。テキストデータは、例えば、対話装置２が、マイクで集音したユーザ４０の音声を既存の音声認識技術を用いて認識することにより得られる。
【００５３】
音声データは、対話装置２の発話済コメントに対してユーザ４０が行った発話の音声をデジタル化したものである。音声データは、例えば、対話装置２がマイクを用いてユーザ４０の音声を録音することにより得られる。
【００５４】
画像データは、対話装置２の発話済コメントを聞いた時のユーザ４０の姿を写した画像をデジタル化したものである。画像データは、静止画データであってもよいし、動画データであってもよい。画像データは、例えば、対話装置２がカメラまたはビデオカメラを用いて、発話済コメントを聞いた時のユーザ４０を撮像することにより得られる。
【００５５】
テキストデータ、音声データおよび画像データは、対話装置２と対話する過程でユーザ４０が起こす行動に基づいて、対話装置２が必然的に得ることができるデータであって、発話済コメントを評価することが目的の、能動的なユーザ４０の行動に基づいて得られるものではない。したがって、これらのデータは、非能動的評価項目に属し、上述の、能動的評価項目である直接入力データとは区別される。
【００５６】
非能動的評価項目として、他にも、生体信号データがフィードバックに含まれていてもよい。生体信号データは、例えば、対話装置２の発話済コメントを聞いた時点前後に計測されたユーザ４０の生体信号を示す情報である。生体信号としては、例えば、脈拍、心拍、血圧、または、脳波などが想定される。例えば、対話装置２は、ユーザ４０に装着された生体測定装置（血圧計など）と無線通信し、生体信号データを取得することができる。
【００５７】
評価値算出部１４は、対話装置２から提供された、図５に示すフィードバックを解析して、発話済コメントに対するＦＢ評価値を算出する。
【００５８】
一実施形態では、評価値算出部１４は、反応データの各項目ごとに０〜１００点の点数を付け、それらの平均をＦＢ評価値として算出してもよい。具体的には、評価値算出部１４は、直接入力データが、「１：いいね」である場合に、１００点、「０：う〜ん」である場合に、０点を付けてもよい。評価値算出部１４は、テキストデータが肯定的な文言を含むほど点数を高くつけてもよい。評価値算出部１４は、音声データから解析された声色が、喜び、幸福、肯定、共感などプラスの感情を多くまた強く含むほど点数を高くつけてもよい。評価値算出部１４は、画像データから解析されたユーザの顔の表情またはジェスチャが、上述のプラスの感情を多くまたは強く含むほど点数を高くつけもよい。
【００５９】
例えば、図５に示すフィードバックに含まれる反応データに基づいて、評価値算出部１４は、４つの項目について、それぞれ、１００点、９０点、９８点、９６点の点数を付けたとする。この場合、評価値算出部１４は、これらの点数の平均点「９６点」を、コメント６の発話済コメントに対するＦＢ評価値として算出する。この算出方法によれば、フィードバック内の反応データを構成する４つの項目のうちいずれかが欠けたとしても、１つの項目さえ埋まっていれば、最終的に１つのＦＢ評価値を算出できるメリットがある。
【００６０】
図６は、評価値算出部１４が生成するレコードの一具体例を示す図である。図６に示すレコードは、図５に示すフィードバックに基づいて生成されたレコードである。具体的には、評価値算出部１４は、コメント６と、算出したＦＢ評価値「９６点」との相関関係を示したレコードを生成する。さらに、評価値算出部１４は、コメント６のメタ情報をレコードに含めてもよい。
【００６１】
別の実施形態では、評価値算出部１４は、能動的評価項目だけを用いてＦＢ評価値を算出してもよい。例えば、評価値算出部１４は、直接入力データが、「１：いいね」である場合に、ＦＢ評価値を１００点、「０：う〜ん」である場合に、ＦＢ評価値を５０点としてもよい。この算出方法によれば、信頼性の高い能動的評価項目のみに基づいて、ユーザ４０の評価を正確に反映したＦＢ評価値を算出できるというメリットがある。
【００６２】
さらに別の実施形態では、評価値算出部１４は、反応データの項目ごとに０〜１００点の点数をつけ、それらの重み付け平均値をＦＢ評価値として算出してもよい。そして、評価値算出部１４は、能動的評価項目に係る点数に対して重い重み付け値を付与するか、または、非能動的評価項目に係る点数に対して軽い重み付け値を付与した上で、上述の重み付け平均値を算出する。この算出方法によれば、信頼性の高い能動的評価項目に重きを置いて、ユーザ４０の評価を正確に反映したＦＢ評価値を算出できるとともに、欠けた項目があったとしても、最終的に１つのＦＢ評価値を算出できるメリットがある。なお、評価値算出部１４は、ユーザ４０によってボタンが操作されず、直接入力データが取得されなかった場合には、能動的評価項目について５０点を付けてもよい。
【００６３】
さらに別の実施形態では、評価値算出部１４は、基本的に、能動的評価項目の点数に基づいてＦＢ評価値を算出する構成であってもよい。そして、能動的評価項目（すなわち、直接入力データ）が取得されなかった場合に、評価値算出部１４は、残りの非能動的評価項目と、過去にＦＢ評価値算出済みのレコードとに基づいて、能動的評価項目の点数を補完してもよい。
【００６４】
提供された新規フィードバックにおいて、直接入力データが欠けている場合、すなわち、ユーザ４０が評価を入力しなかった場合、能動的評価項目に基づいてＦＢ評価値を算出することができない。そこで、評価値算出部１４は、過去に処理済みのフィードバックのうち、反応データのすべての項目がそろっていたフィードバックを参考にして、欠けている直接入力データを推測し、該項目に付ける点数を補完する。評価値算出部１４は、過去に処理済みのフィードバック（図５）のうち、少なくとも、すべての項目が埋まっている完全なフィードバックを記憶部に蓄積しておく。そして、直接入力データが欠けている新規フィードバックに基づいてＦＢ評価値を算出する処理を実行しなければならなくなった場合に、記憶部に蓄積しておいた、過去の完全なフィードバックを参照する。これにより、評価値算出部１４は、発話済コメントが、どのようなテーマ（メタ情報）であって、ユーザ４０の発言がどのような内容（テキストデータ）で、ユーザ４０の声色がどのようで（音声データ）、ユーザ４０の表情またはジェスチャがどのようであるときに、直接入力データがどうであったのか（「いいね」か、「う〜ん」か）を認識する。評価値算出部１４は、この認識と、新規フィードバックに含まれている残りの反応データとに基づいて、該新規フィードバックにおける直接入力データを推測する。
【００６５】
この算出方法によれば、信頼性の高い能動的評価項目に重きを置いて、ユーザ４０の評価を正確に反映したＦＢ評価値を算出できるとともに、能動的評価項目が欠けているとしても、過去の例を参照して、ユーザ４０の評価を正確に反映した値にできるだけ近づけてＦＢ評価値を算出できるメリットがある。対話装置２と対話しているときに、ユーザ４０に毎回、評価の目的で対話以外の行動をとらせることは、ユーザ４０が煩わしさを感じるため非常に難しい。したがって、この算出方法は、そのような煩わしさを解消できる点で特にメリットが大きい。
【００６６】
評価値算出部１４は、上述のいずれかの算出方法により、発話済コメントと、該発話済コメントについて算出したＦＢ評価値とを関連付けたレコードを生成し、学習データ３０に登録する。
【００６７】
上述の算出方法について、例えば、評価値算出部１４は、対話制御サーバ１に集約されるフィードバックに基づいて機械学習された算出器（図示せず）を用いてＦＢ評価値を算出することができる。上述したとおり、フィードバックに含まれる反応データには、能動的評価項目（求めたいＦＢ評価値と相関が強いデータ）と、非能動的評価項目（求めたいＦＢ評価値との関係性が弱いかまたは不明なデータ）とがある。そこで、ある発話済コメントのユーザの反応に関して、能動的評価項目と非能動的評価項目との両方が得られた場合、評価値算出部１４は、算出器に、能動的評価項目の点数を教師データとして、非能動的評価項目の点数と能動的評価項目の点数との関係を学習させる。すなわち、評価値算出部１４は、非能動的評価項目に基づく点数に基づいて能動的評価項目の点数を推定する算出器（推定モデル）を生成する。
【００６８】
その後、評価値算出部１４は、受信したフィードバックに含まれている反応データに基づいてＦＢ評価値を算出するとき、反応データが、能動的評価項目のみで構成されている第１のケースでは、該能動的評価項目（例えば、直接入力データ）の点数に基づいてＦＢ評価値を算出する。
【００６９】
また、反応データが、能動的評価項目および非能動的評価項目で構成されている第２のケースでは、上述の重み付け平均値を用いた算出方法と同様に、能動的評価項目の点数に対する重み付け値が、非能動的評価項目の点数に対する重み付け値よりも重くなるように重み付け値を付与した上で、重み付け平均値を算出することにより、ＦＢ評価値を算出する。
【００７０】
また、反応データが、非能動的評価項目のみで構成されている第３のケースでは、評価値算出部１４は、上述の算出器を用いて、該非能動的評価項目の点数に基づいて、能動的評価項目の点数を推定する。そして、推定して得られた能動的評価項目の点数に基づいて、反応データが能動的評価項目のみで構成されている場合と同様に、ＦＢ評価値を算出する。
【００７１】
あるいは、評価値算出部１４は、推定して得られた能動的評価項目の点数と、非能動的評価項目の点数とに基づいて、各点数の平均値をＦＢ評価値として算出してもよい。この場合、第２のケースと同様に、推定して得られた能動的評価項目の点数により重い重み付け値が付与されてもよい。あるいは、能動的評価項目の点数は、推定して得られたものであるから、反応データに含まれている能動的評価項目に基づいて決定された点数よりも信頼性が低いと言える。したがって、第３のケースでは、推定して得られた能動的評価項目の点数に対しては、第２のケースで付与される重み付け値よりも軽い重み付け値が付与されてもよいし、重み付け値が付与されなくてもよい。
【００７２】
こうして、集約されるフィードバックに含まれる反応データにおいて、能動的評価項目および非能動的評価項目のいずれかが欠ける場合があったり、両方そろっている場合があったりしても、１つの値に統合されたＦＢ評価値を、安定して精度よく算出することができる。
【００７３】
図７は、学習データ３０のデータ構造の一例を示す図である。評価値算出部１４は、発話済コメントのテキストデータに、該発話済コメントのメタ情報と、該発話済コメントについて算出したＦＢ評価値とを関連付けたレコードを、学習データ３０に登録する。評価値算出部１４は、ＦＢ評価値が算出された日を評価日として該レコードに含めることが好ましい。これにより、各レコードの情報の新鮮度を効率的に把握することができる。
【００７４】
各レコードは、発話済コメントのテキストデータと、該発話済コメントのメタ情報との組み合わせを「入力」の項目に分類し、該発話済コメントについて算出したＦＢ評価値を「出力」の項目に分類したデータ構造を有している。これにより、学習時において、学習ユニット２０によって、メタ情報と発話済コメントのテキストデータとの組み合わせが、予測器１２０の入力値として、ＦＢ評価値が予測器１２０の出力値として取り扱われる。
【００７５】
＜対話制御ユニット１０の処理フロー＞
図８は、対話制御サーバ１の対話制御ユニット１０が実行する処理の流れを示すフローチャートである。該フローチャートに示される一連の処理は、対話装置２が、発話を開始するための任意のイベントをトリガにして、発話すべきコメントを要求するリクエストを対話制御サーバ１に送信することによって開始される。
【００７６】
コメント抽出部１１は、対話装置２からリクエストを受信する（Ｓ１）。リクエストには、メタ情報を特定するための参考情報として、例えば、ユーザ発話コメントのテキストデータが含まれている。コメント抽出部１１は、ユーザ発話コメントに基づいてメタ情報を特定し、クエリを生成する（Ｓ２）。例えば、クエリには、ユーザ発話コメントのテキストデータと、メタ情報とが含まれる。
【００７７】
コメント抽出部１１は、コメントソース３にクエリを送信することにより、文脈に適合した１以上の候補コメントをコメントソース３から抽出する（Ｓ３）。なお、コメントソース３において、ユーザ発話コメントに応答するような内容で、または、メタ情報が指定するテーマに沿って候補コメントを生成したり探索したりする技術は、公知のものを採用できる。
【００７８】
コメント抽出部１１は、コメントソース３から抽出した１以上の候補コメントのテキストデータを、予測器１２０に入力する（Ｓ４）。予測器１２０は、入力された候補コメントに対する予測評価値を出力する（Ｓ５）。Ｓ４およびＳ５は、候補コメントの個数分繰り返される。
【００７９】
コメント決定部１３は、抽出されたすべての候補コメントについて予測された予測評価値に基づいて、対話装置２に発話させるコメントを決定する（Ｓ６）。例えば、予測評価値が最も高い（最も対話力が高い）コメントに決定する。
【００８０】
コメント決定部１３は、決定したコメントを発話するように対話装置２に対して指示するレスポンスを対話装置２に返信する（Ｓ７）。
【００８１】
＜学習ユニット２０の処理フロー＞
図９は、対話制御サーバ１の学習ユニット２０が実行する処理の流れを示すフローチャートである。該フローチャートに示される一連の処理は、対話装置２が、発話済コメントに対するユーザ４０の反応を検知したことをトリガにして、該反応を対話制御サーバ１にフィードバックすることによって開始される。
【００８２】
評価値算出部１４は、対話装置２からフィードバックを受信する（Ｓ１１）。フィードバックには、発話済コメントを特定する情報と、該発話済コメントに対するユーザ４０の反応を示した反応データとが含まれている。評価値算出部１４は、反応データを分析する（Ｓ１２）。一例として、評価値算出部１４は、反応データが含む項目ごとに、該項目のデータを分析して点数を付ける。例えば、能動的評価項目について、直接入力データが「いいね」を示していれば、１００点、「う〜ん」を示していれば０点を付ける。他の複数の非能動的評価項目についても、各データの内容に応じて、項目ごとに０〜１００点の点数を付ける。
【００８３】
評価値算出部１４は、項目ごとに付けた点数に基づいて、上述の発話済コメントについてＦＢ評価値を算出する（Ｓ１３）。そして、評価値算出部１４は、発話済コメントおよびメタ情報の組み合わせと、ＦＢ評価値とを対応付けたレコードを生成する。
【００８４】
評価値算出部１４は、該レコードにさらに評価日を関連付けて、該レコードを学習データ３０に登録する（Ｓ１４）。Ｓ１１〜Ｓ１４の処理は、対話制御サーバ１が対話装置２からフィードバックを受信する度に、随時実行される。
【００８５】
学習制御部１５は、あらかじめ定められた学習タイミングが到来したか否かを判定する（Ｓ１５）。学習タイミングは、例えば、１日１回決まった時刻、または、未学習のレコードが所定数蓄積したとき、などに到来する。
【００８６】
学習タイミングが到来すると（Ｓ１５でＹＥＳ）、学習制御部１５は、学習データ３０に蓄積されているレコードを用いて学習を行い、予測器１２０を更新する（Ｓ１６）。具体的には、図７に示す、入力のカラムに格納されている、メタ情報および発話済コメントの組み合わせと、出力のカラムに格納されている、ＦＢ評価値との相関関係を学習させる。学習制御部１５は、学習データ３０に格納されているすべてのレコードを学習させてもよいし、直近数日の間に登録された比較的新しいレコードだけを学習させてもよいし、これまで未学習であるレコードのみを学習させてもよい。あるいは、学習制御部１５は、新しいレコードほど重い重み付けを付与した上で、すべてのレコードを学習させてもよい。
【００８７】
これ以後、上述の機械学習によって得られた新しい予測器１２０が、対話制御時に各候補コメントの予測評価値を予測することになる。
【００８８】
＜効果＞
上述の構成および方法によれば、予測器１２０に対して、ユーザ４０の反応に基づくフィードバックを生かした機械学習を行わせることができる。そのような予測器１２０を用いて求めた予測評価値に基づいて、対話装置２に発話させるコメントが決定される。これにより、ユーザ４０にとって対話力が高いコメントを対話装置２に発話させることが可能となる。また、対話するほどにユーザ４０の反応に係るフィードバックが蓄積されるので、対話すればするほど、多くの情報を予測器１２０に学習させることができる。したがって、対話すればするほど、ユーザ４０にとっての対話力の高いコメントを精度よく決定し、対話装置２に発話させることができる。結果として、対話装置２の対話力を継続して高めていくことが可能となる。
【００８９】
〔実施形態２〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
【００９０】
＜対話制御システムの概要＞
図２を参照して、本実施形態では、対話装置２は、ユーザ４０がテレビ４において視聴している現在放送中の番組をテーマにして、ユーザ４０と対話する。したがって、本実施形態では、メタ情報は、現在視聴中の番組に関するあらゆる情報を含むものとして取り扱われる。対話制御サーバ１は、ユーザ４０が視聴中のチャンネルを対話装置２から指定され、参考情報である該チャンネルに基づいてメタ情報を特定することができる。本実施形態では、対話制御サーバ１は、メタ情報提供サーバ５と通信し、ユーザ４０が視聴している番組関するメタ情報の提供をメタ情報提供サーバ５から受けてもよい。
【００９１】
例えば、メタ情報提供サーバ５は、ＥＰＧ（Electronic Programs Guide）情報を提供してもよい。また、メタ情報提供サーバ５は、放送中の番組の映像情報、副音声情報、または、字幕情報などを解析して、番組の中で現在放送中のトピックを単語または文章などで表したテキストデータ（以下、トピック情報）を出力することができる。このように番組内のトピックを表したトピック情報が対話制御サーバ１に提供されることにより、対話制御サーバ１は、番組単位よりも細かい粒度で、現在の放送内容を把握し、メタ情報を特定することができる。したがって、対話装置２は、あたかもテレビ４と連動しているかのように、テレビ４が放送中の内容に関連したコメントをリアルタイムで発話することができる。
【００９２】
本実施形態では、一例として、コメントソース３として、ＳＮＳサーバが採用される。ＳＮＳサーバのサービスを利用する不特定多数のユーザ（ユーザ４１、ユーザ４３など）は、現在放送中の番組を視聴し、その番組についてのコメントを、その場で自身の通信端末（パソコン４２、スマートフォン４４など）を用いて投稿する。したがって、ＳＮＳサーバには、放送中の番組または番組内のトピックに関して、様々なコメントが随時蓄積されていく。
【００９３】
対話制御サーバ１は、コメントソース３に投稿されたコメントの中から、ユーザ４０が視聴中の番組に関するコメントを抽出し、対話装置２に発話させる。これにより、ユーザ４０は、あたかも、対話装置２と一緒にテレビ４を見ているかのように、今見ている番組についての対話（議論、または、雑談など）を楽しむことができる。
【００９４】
なお、対話装置２が、ユーザ４０が現在視聴しているチャンネルを識別する方法について説明すると以下の通りである。本実施形態では、ユーザ４０は、テレビを見ながら対話装置２と対話しようとして、メタ情報を特定するための参考情報、すなわち、自身が視聴しているチャンネルを、対話装置２に対して提示する。チャンネルの提示は、例えば、ユーザ４０が、視聴しているチャンネルを対話装置２に対して話しかけることによって行われてもよい。例えば、対話装置２は、「今から１チャンネル見ようよ」などのユーザ４０の発話に基づいて、音声認識により、視聴中チャンネルを「１ｃｈ」と識別することができる。あるいは、チャンネルの提示は、ユーザ４０が、対話装置２に物理的にまたはソフトウェア的に設けられている操作部を操作して視聴中チャンネルに相当する数字を入力することによって行われてもよい。
【００９５】
あるいは、対話装置２は、公知の任意の近距離無線通信手段によって、テレビ４を遠隔操作するように構成されている場合が想定される。この場合、対話装置２は、例えば、チャンネルを切り替える指示をテレビ４に送信したとき、視聴中チャンネルを識別することができる。あるいは、対話装置２は、テレビ４と通信し、テレビ４から視聴中チャンネルの通知を受信してもよい。
【００９６】
あるいは、テレビ４を操作するためのリモコンが、ＷｉＦｉ（登録商標）などの指向性のない近距離無線通信手段によってテレビ４を遠隔操作するように構成されている場合が想定される。この場合、対話装置２は、リモコンからテレビ４に対して送信されたリモコン信号を取得して、視聴中チャンネルを識別することができる。
【００９７】
あるいは、対話装置２は、マイクを介してテレビ４から出力される音声を集音し、集音された音声データを解析して、ユーザ４０が視聴中のチャンネルを推測してもよい。この場合、メタ情報提供サーバ５から対話装置２に対して、ＥＰＧ情報、および、あらゆるチャンネルの映像情報、副音声情報、字幕情報、または、トピック情報が提供されてもよい。あるいは、対話装置２は、カメラでテレビ４の表示画面を撮像し、それによって得られた画像データを解析して、ユーザ４０が視聴中のチャンネルを推測してもよい。
【００９８】
＜クエリについて＞
図１０は、コメント抽出部１１が生成したクエリのデータ構造の一例を示す図である。コメント抽出部１１は、対話装置２からリクエストを受信すると、図１０に示すクエリを生成する。例えば、クエリは、ユーザ４０が視聴中の番組に関するメタ情報を少なくとも含む。さらに、クエリは、タイムスタンプを含んでいてもよい。
【００９９】
メタ情報は、一例として、視聴中チャンネル、番組名、放送日時、番組詳細、および、トピックの各項目を含む。視聴中チャンネルは、ユーザ４０が現在視聴しているチャンネルを示す情報である。視聴中チャンネルは、対話装置２から送信されたリクエストに含まれており、コメント抽出部１１は、これを、クエリの視聴中チャンネルの項目に格納する。
【０１００】
番組名、放送日時、ジャンル、および、番組詳細の各項目は、ＥＰＧ情報から、ユーザ４０が現在視聴している番組に関して、取得されたものである。コメント抽出部１１は、リクエストを受信した時点の日時と、視聴中チャンネルとに基づいて、メタ情報提供サーバ５から提供されたＥＰＧ情報の中から、ユーザ４０が現在視聴している視聴中番組を特定することができる。そして、コメント抽出部１１は、視聴中番組の番組名、放送日時、ジャンル、および、番組詳細をＥＰＧ情報から取得し、クエリの該当項目にそれぞれ格納する。
【０１０１】
トピックは、メタ情報提供サーバ５から提供されたトピック情報が格納される。コメント抽出部１１は、リクエストを受信した時点と、上述のように特定した視聴中番組とを指定して、メタ情報提供サーバ５にトピック情報を要求する。メタ情報提供サーバ５は、前記視聴中番組の中で、前記時点において放送されている内容を表したトピック情報をコメント抽出部１１に提供する。コメント抽出部１１は、提供されたトピック情報を、トピックの項目に格納する。
【０１０２】
コメント抽出部１１は、対話装置２から今回受け付けたリクエストの１つ前にリクエストを受け付けた時点から、今回リクエストを受け付けた時点においてトピックが変更されていない場合には、クエリに、タイムスタンプを含めることが好ましい。タイムスタンプとは、対話装置２が、前回リクエストを送信した時点を示す情報である。前回のリクエスト時点を示すタイムスタンプは、今回のリクエストに含めて対話装置２から提供される。
【０１０３】
クエリにタイムスタンプが含まれていることにより、ＳＮＳサーバであるコメントソース３は、タイムスタンプが示す時点より後に投稿されたコメントに絞って、候補コメントを探索することができる。これにより、対話装置２が、同じトピックに関して、同じコメントを重複して発話することを回避することができ、より自然な対話を実現することが可能となる。
【０１０４】
なお、前回のリクエスト時点から、トピックが変更されている場合、または、今回のリクエスト時点が、前回のリクエスト時点から長い時間（例えば、３〜４時間以上）開いてる場合には、同じトピックについてコメントが重複する可能性がほぼないと考えられる。これらの場合には、コメント抽出部１１は、クエリにおいて、タイムスタンプを省略してもよい。
【０１０５】
＜学習データについて＞
図１１は、学習データ３０のデータ構造の一例を示す図である。評価値算出部１４は、１つの発話済コメントにつき、対話装置２からフィードバックを受信すると、該発話済コメントについてレコードを生成し、学習データ３０に登録する。図１１は、４つのレコードが登録されている例を示している。
【０１０６】
ＦＢ評価値の算出方法は、実施形態１に示したとおりである。本実施形態では、レコードに対応付けるメタ情報は、発話済コメントの元になっている番組に関する情報である。一例として、評価値算出部１４は、図１１に示すとおり、メタ情報として、前記番組のジャンルと、前記発話済コメントの元になっているトピックを示すトピック情報とを採用する。
【０１０７】
評価値算出部１４は、発話済コメントのテキストデータに、該発話済コメントのメタ情報としてジャンルおよびトピック情報と、該発話済コメントについて算出したＦＢ評価値とを関連付けたレコードを、学習データ３０に登録する。評価値算出部１４は、ＦＢ評価値が算出された日を評価日として該レコードに含めることが好ましい。
【０１０８】
各レコードは、発話済コメントのテキストデータと、該発話済コメントの元になった番組のジャンルと、該発話済コメントの元になった番組内のトピック情報との組み合わせを「入力」の項目に分類し、該発話済コメントについて算出したＦＢ評価値を「出力」の項目に分類したデータ構造を有している。これにより、学習時において、学習ユニット２０によって、番組に関するメタ情報と発話済コメントのテキストデータとの組み合わせが、予測器１２０の入力として、ＦＢ評価値が予測器１２０の出力として取り扱われる。
【０１０９】
なお、番組のメタ情報として、番組名または番組詳細を採用することも考えられる。しかし、学習データ３０のデータ構造、特に、「入力」の項目が複雑になり、予測器１２０における学習の負担が大きくなることが予想される。そこで、「入力」の項目におけるデータ構造が比較的簡素となるように、ジャンル、トピック情報など、少ない情報量で番組の内容が端的に表現された項目をメタ情報として採用することが好ましい。
【０１１０】
さらには、「入力」の項目に、トピック情報が含まれていることには、以下のメリットがある。上述したとおり、トピック情報は、放送されている番組の映像情報、副音声情報、または、字幕情報などを解析して、番組の中で現在放送中のトピックを単語または端的な文章で表したテキストデータである。したがって、トピック情報は、１つの番組内でも、現在の放送内容を、分単位あるいは秒単位で区別して表現することが可能である。つまり、放送内容を、番組単位で表現している「番組名」、「番組詳細」などのメタ情報と比較して、高い粒度（細かい時間単位）で放送内容を識別することができる。このようなトピック情報を「入力」の項目に採用することにより、学習に用いる入力値のデータ構造を複雑にすることなく、少ない情報量で、情報の粒度が高い、すなわち、リアルタイム性に優れた発話を行わせるための学習を実現することができる。
【０１１１】
＜処理フロー＞
図１２は、対話制御システム１００の各装置が実行する処理の流れを示すシーケンス図である。図１２に示す例では、テレビ４は、チャンネル「１」を選局しているものとし、時点ｔ１において、チャンネル「１」では、番組名「朝のニュース」という番組が放送されているものとする。また、該番組において、時点ｔ２０までは、第１トピックに関する放送が行われ、時点ｔ２０より後は、別の第２トピックに関する放送が行われているものとする。
【０１１２】
対話装置２は、例えば、ユーザ４０から視聴中チャンネルに関する入力を受け付けると、時点ｔ１にて、該視聴中チャンネルを含むリクエストを対話制御サーバ１に送信する。一例として、視聴中チャンネルは、「１ｃｈ」である。
【０１１３】
リクエストを受信した対話制御サーバ１のコメント抽出部１１は、リクエストに含まれる視聴中チャンネルと、リクエストが送信された時点ｔ１とに基づいて、ユーザ４０が現在視聴している視聴中番組を特定する。そして、視聴中番組のメタ情報を含むクエリを生成し、時点ｔ２にて、クエリをコメントソース３に送信する。一例として、クエリは、番組名「朝のニュース」という番組のＥＰＧ情報およびトピック情報をメタ情報として含む。
【０１１４】
なお、コメント抽出部１１は、前回の時点ｔ１−ｎにおいて、同じ番組の同じトピックをテーマにした発話を要求するリクエストを受け付けたことがある場合、クエリに、時点ｔ１−ｎを示すタイムスタンプを含めてもよい。ここでは、前回、同じトピックをテーマにしたリクエストを受け付けたことはないものとし、コメント抽出部１１は、タイムスタンプを含めずにクエリを生成したものとする。
【０１１５】
コメントソース３は、受信したクエリに基づいて、時点ｔ３にて、候補コメントを抽出し、結果を対話制御サーバ１に返す。ここでは、「１ｃｈ」の「朝のニュース」という番組で放送されている第１トピックに関して投稿されたコメントが複数抽出される。ここで、コメントソース３は、クエリを受信した時点ｔ２から遡って数分前以降に投稿されたコメントを抽出の対象としてもよい。これにより、過去の（例えば、１日以上前に）同じ番組同じトピックについて投稿された古いコメントが抽出されなくなり、対話装置２に発話させるコメントを常に新鮮に保つことができるため、対話力が損なわれない。
【０１１６】
対話制御サーバ１は、時点ｔ４にて、上述の複数の候補コメントをコメントソース３から受信する。対話制御サーバ１のコメント決定部１３は、予測器１２０によって候補コメントごとに出力された予測評価値に基づいて、対話装置２に発話させるコメントを決定する。コメント決定部１３は、時点ｔ５にて、決定したコメントを発話するように指示するレスポンスを対話装置２に対して返信する。
【０１１７】
レスポンスを受信した対話装置２は、時点ｔ６にて、レスポンスにおいて指定されたコメントを発話する。発話済コメントを聞いたユーザ４０は、これに対して何らかの反応を示す。対話装置２は、時点ｔ７にてユーザ４０の前記反応を検知する。対話装置２は、検知内容を含むフィードバックを対話制御サーバ１に送信する。
【０１１８】
対話制御サーバ１の評価値算出部１４は、時点ｔ８にてフィードバックを受信する。このフィードバックは、時点ｔ６で発話された発話済コメントに対するユーザの反応示す反応データを含む。評価値算出部１４は、受信したフィードバックに含まれている反応データを解析して、時点ｔ６の発話済コメントについてのＦＢ評価値を算出する。
【０１１９】
評価値算出部１４は、時点ｔ６の発話済コメントおよびメタ情報の組み合わせと、ＦＢ評価値とを対応付けたレコードを生成し、学習データ３０に登録する。ここで、メタ情報は、時点ｔ６の発話済コメントの元になった番組（すなわち、「朝のニュース」という番組）のジャンルと、該番組内で、時点ｔ６の発話済コメントの元になったトピック（すなわち、第１トピック）のトピック情報とを含む。これにより、「どんなジャンルの番組のどんなトピックにおいて、どんなコメントが発話されたとき、ユーザ４０の反応は何点だった」という事実の記録を学習データ３０に蓄積していくことができる。
【０１２０】
時点ｔ６より後からトピックが変更される時点ｔ２０までの間の時点ｔ１１において、対話装置２は、リクエストを対話制御サーバ１に送信してもよい。この場合、同じトピックについて前回のリクエストが送信された時点ｔ１を示すタイムスタンプがリクエストに含まれる。
【０１２１】
コメント抽出部１１は、時点ｔ１２にて、クエリを生成し、該クエリをコメントソース３に送信する。クエリには、時点ｔ１を示すタイムスタンプが含まれる。したがって、時点ｔ１３にて、コメントソース３は、時点ｔ１以降に投稿されたコメントのみを候補コメントとして抽出する。これにより、同じ番組同じトピックについて投稿されたコメントのうち、前回のリクエストに応答して抽出した候補コメントは、重複して抽出されなくなる。こうして、対話装置２に同じコメントを何度も発話させることを回避できるため、対話力が損なわれない。時点ｔ１４〜ｔ１８までは、上述の時点ｔ４〜ｔ８までと同様に進行する。
【０１２２】
同じ番組においてトピックが第１トピックから第２トピックへ変更される時点ｔ２０よりも後の時点ｔ２１において、対話装置２は、リクエストを対話制御サーバ１に送信してもよい。この場合、第２トピックに関してリクエストを送ることが初めてであれば、対話装置２は、タイムスタンプをリクエストに含めることを省略してもよい。
【０１２３】
コメント抽出部１１は、前記リクエストに基づいてクエリを生成する。ここで、コメント抽出部１１は、時点ｔ２１に基づいて、メタ情報提供サーバ５からトピック情報を取得すると、現在放送されている内容が第２トピックであることを特定する。そして、第１トピックに代えて第２トピックのトピック情報をメタ情報としてクエリに含める。したがって、時点ｔ２３では、第２トピックに関して投稿されたコメントが候補コメントとして抽出される。
【０１２４】
以降、第１トピックではなく、第２トピックに関するコメントおよびメタ情報が取り扱われる点を除けば、時点ｔ２４〜ｔ２８までは、上述の時点ｔ４〜ｔ８までと同様に進行する。
【０１２５】
＜効果＞
上述の構成および方法によれば、ユーザ４０が現在視聴している番組に関して、リアルタイムで対話ができる対話装置２および対話制御システム１００を実現することができる。しかも、予測器１２０に対して、ユーザ４０の反応に基づくフィードバックを生かした機械学習を行わせることができる。そのような予測器１２０を用いて求めた予測評価値に基づいて、対話装置２に発話させるコメントが決定される。これにより、視聴中の番組について、ユーザ４０にとって対話力が高いコメントを対話装置２に発話させることが可能となる。また、対話するほどにユーザ４０の反応に係るフィードバックが蓄積されるので、対話すればするほど、多くの情報を予測器１２０に学習させることができる。したがって、対話すればするほど、ユーザ４０にとっての対話力の高いコメントを精度よく決定し、対話装置２に発話させることができる。結果として、対話装置２の対話力を継続して高めていくことが可能となる。
【０１２６】
〔実施形態３〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
【０１２７】
＜対話制御システムの概要＞
図２を参照して、本実施形態では、複数のユーザ４０が対話制御システム１００のサービスを利用する。すなわち、ユーザ４０ごとに所有されている複数の対話装置２が対話制御サーバ１に接続される。実施形態２と同様に、それぞれのユーザ４０は、それぞれが所有するテレビ４を視聴しながら対話装置２と対話する。
【０１２８】
本実施形態では、対話制御システム１００において、ユーザ４０１人につき、対話装置２が１台設けられているものとする。対話制御サーバ１は、複数の対話装置２と通信するとき、どのユーザ４０の対話装置２であるのかを、ユーザＩＤに基づいて識別することができる。ユーザＩＤは、対話装置２と対話制御サーバ１との間で共有されている。
【０１２９】
本実施形態の対話制御システム１００によれば、対話装置２を利用するユーザ４０が複数に増えた分、より多くのフィードバックが対話制御サーバ１に集約されることになる。したがって、その分、学習データにおいて多くのレコードが短期間で蓄積されるので、予測器の学習の速度が上がるというメリットがある。例えば、１人のユーザ４０が対話装置２を使用している場合に、対話制御サーバ１が学習のためのレコードを５０個集めるためには、対話装置２に５０回発話させて、その回ごとのユーザ４０の反応に基づいてフィードバックを５０回生成しなければならない。しかし、５０人のユーザ４０が、それぞれ対話装置２を使用している場合には、５０台の対話装置２にそれぞれ１回発話をさせるだけで、各ユーザ４０の反応に基づくフィードバックを５０個対話制御サーバ１に集めることができる。
【０１３０】
一方、ユーザ４０には、それぞれに異なった好みや考え方がある。つまり、どのようなコメントに魅力を感じ、どのようなコメントであれば対話が弾むのかは、ユーザ４０それぞれである。そのため、複数のユーザ４０を対象に学習を繰り返したとしても、１人１人のユーザ４０にとって対話力が高い発話を対話装置２にさせることが困難であるというデメリットがある。
【０１３１】
そこで、本実施形態では、複数のユーザ４０を対象にする場合に、該複数のユーザ４０を、属性に応じて複数の集団にグルーピングする。そして、対話制御サーバ１は、共通の属性を有する集団ごとに、対話制御および学習を実行する。これにより、対象が大人数であることのメリットを享受しつつ、デメリットをカバーすることが可能な対話制御システム１００を実現することができる。
【０１３２】
＜対話制御サーバ１の機能的構成＞
図１３は、対話制御サーバ１の機能的構成を示すブロック図である。対話制御サーバ１は、実施形態１および２と同様に、通信部、記憶部、および、制御部を備えている。本実施形態では、制御部は、機能ブロックとして、さらに、予測器選択部１６（集団識別部）および学習データ選択部１７（集団識別部）を含んでいる。
【０１３３】
本実施形態では、制御部は、１つの予測器１２０に代えて、複数の予測器を備えている。一例として、制御部は、第１予測器１２１、および、第２予測器１２２を備えている。制御部は、グルーピングした集団の数に合わせて、さらに多くの予測器を備えていてもよい。本実施形態では、記憶部は、１つの学習データ３０に代えて、複数の学習データを記憶している。学習データは、備えられている複数の予測器のそれぞれに対応付けて設けられる。一例として、第１予測器１２１に対応する第１学習データ１３１、および、第２予測器１２２に対応する第２学習データ１３２が記憶部に記憶されている。本実施形態では、第１予測器１２１、第１学習データ１３１、第２予測器１２２、および、第２学習データ１３２が評価値予測装置１２を構成する。
【０１３４】
（プロファイルデータについて）
本実施形態では、記憶部は、さらに、ユーザのプロファイルデータ３１を記憶している。図１４は、プロファイルデータ３１のデータ構造の一例を示す図である。対話制御サーバ１は、ユーザＩＤに関連付けて、ユーザ４０ごとのプロファイルを管理している。プロファイルとは、ユーザの属性を示す情報である。一例として、プロファイルは、ユーザが所属している集団を識別するための所属集団名である。図１４に示すとおり、プロファイルデータ３１は、ユーザＩＤおよび所属集団名の項目を含む。
【０１３５】
本実施形態では、一例として、対話制御システム１００のサービスを利用するすべてのユーザ４０を母集団として、該母集団を、ユーザの属性に基づいて２つの集団（第１集団、および、第２集団）に分類するものとする。母集団を属性に基づいて分類する方法は、特に限定されない。コメントに対するユーザ４０の反応に、何らかの共通性が見出されるような有意義な分類であることが好ましい。一例として、ユーザ４０の出身地域が関東か関西かによって母集団を分類してもよいし、年齢または性別によって母集団を分類してもよいし、イヌ好きかネコ好きかによって母集団を分類してもよいし、ある球団ファンかアンチかによって母集団を分類してもよい。また母集団を３以上の任意の数の集団に分類してもよい。
【０１３６】
図１４に示すプロファイルデータ３１を参照することにより、対話制御サーバ１は、ユーザ４０のユーザＩＤに基づいて、ユーザ４０が、いずれの集団に属しているのかを識別することができる。
【０１３７】
（集団分類データについて）
本実施形態では、記憶部は、さらに、集団分類データ３２を記憶している。図１５は、集団分類データ３２のデータ構造の一例を示す図である。評価値予測装置１２において、予測器および学習データは、母集団を分類した集団ごとに設けられる。集団分類データ３２は、母集団をいくつのどのような集団に分類したのかを示すとともに、分類された集団に対応する予測器および学習データを示す情報である。
【０１３８】
集団分類データ３２は、一例として、集団名、予測器、および、学習データの各項目を含む。項目「集団名」には、母集団を分類する集団のそれぞれを識別するための識別情報が格納される。本実施形態では、母集団は、第１集団、および、第２集団の２つの集団に分類されているので、この２つの集団ごとに、集団名が格納されている。
【０１３９】
項目「予測器」には、集団に対応する予測器を識別するための識別情報が格納される。図１５に示す例によれば、第１集団には、第１予測器１２１が対応している。項目「学習データ」には、集団に対応する学習データを識別するための識別情報が格納される。図１５に示す例によれば、第２集団には、第２学習データ１３２が対応している。
【０１４０】
対話制御サーバ１は、対話装置２からリクエストを受信すると、対話装置２のユーザ４０にとって対話力のあるコメントを決定しなければならない。このとき、対話制御サーバ１は、集団分類データ３２を参照することにより、ユーザ４０にとって対話力のあるコメントを決定するためにいずれの予測器を用いればよいのかを特定することができる。
【０１４１】
対話制御サーバ１は、対話装置２からフィードバックを受信すると、対話装置２のユーザ４０が所属している集団のための学習データにレコードを登録しなければならない。このとき、対話制御サーバ１は、集団分類データ３２を参照することにより、ユーザ４０の属性に応じて適切な学習データにレコードの登録を行うことができる。
【０１４２】
予測器選択部１６は、リクエストの送信元である対話装置２の所有者（すなわち、ユーザ４０）に応じて、予測器を選択する。本実施形態では、リクエストには、視聴中チャンネル、および、前回のリクエストのタイムスタンプに加えて、所有者であるユーザ４０のユーザＩＤが含まれている。予測器選択部１６は、プロファイルデータ３１を参照し、リクエストに含まれているユーザＩＤに基づいて、ユーザ４０が所属している集団を識別する。そして、集団分類データ３２を参照し、識別した集団に対応する予測器を選択する。
コメント抽出部１１によって抽出された候補コメントのテキストデータは、予測器選択部１６によって選択された予測器（ここでは、第１予測器１２１または第２予測器１２２）に入力される。
【０１４３】
学習データ選択部１７は、フィードバックの送信元である対話装置２の所有者（すなわち、ユーザ４０）に応じて、レコード登録先の学習データを選択する。本実施形態では、フィードバックには、発話済コメントのテキストデータおよび反応データに加えて、所有者であるユーザ４０のユーザＩＤが含まれている。学習データ選択部１７は、プロファイルデータ３１を参照し、フィードバックに含まれているユーザＩＤに基づいて、ユーザ４０が所属している集団を識別する。そして、集団分類データ３２を参照し、識別した集団に対応する学習データを選択する。評価値算出部１４によって算出されたＦＢ評価値を含む学習のためのレコードは、学習データ選択部１７によって選択された学習データ（ここでは、第１学習データ１３１または第２学習データ１３２）に登録される。
【０１４４】
第１予測器１２１および第２予測器１２２は、実施形態１および２の予測器１２０と同様に、候補コメントの予測評価値を出力する。第１予測器１２１および第２予測器１２２は、学習データ３０に代えて、それぞれ、第１学習データ１３１および第２学習データ１３２に基づく機械学習によって得られたものであるという点で、実施形態１および２の予測器１２０と異なっている。
【０１４５】
第１学習データ１３１は、第１集団に属するユーザ４０の発話済コメントに対する反応に係るレコードを蓄積するものである。第２学習データ１３２は、第２集団に属するユーザ４０の発話済コメントに対する反応に係るレコードを蓄積するものである。
【０１４６】
したがって、第１予測器１２１を第１学習データ１３１に基づいて学習させることにより、学習を重ねるごとに、第１集団に属するユーザ４０達にとって対話力のあるコメントが高く評価されるように精度よく予測評価値を出力できる第1予測器１２１を構築することができる。一方、第２予測器１２２を第２学習データ１３２に基づいて学習させることにより、学習を重ねるごとに、第２集団に属するユーザ４０達にとって対話力のあるコメントが高く評価されるように精度よく予測評価値を出力できる第２予測器１２２を構築することができる。
【０１４７】
〔実施形態４〕
実施形態３では、対話制御サーバ１は、ユーザ４０の母集団を、一次元的に複数の集団に分類して管理している。例えば、「性別」など、単一のテーマに基づいて母集団を分類だけであった。対話制御サーバ１は、母集団を、多次元的に、すなわち、複数のテーマごとに分類して管理することができる。各テーマは、コメントに対するユーザ４０の反応に、何らかの共通性が見出されるような有意義な分類が行えるように、設定されることが好ましい。一例として、第１のテーマとして「スポーツ」を、第２のテーマとして「出身地域」を設定することができる。この場合、例えば、１人のユーザ４０を、第１のテーマ「スポーツ」に基づいて、「集団：野球（ファン）」に分類し、さらに、第２のテーマ「出身地域」に基づいて、「集団：関西（出身）」に分類することができる。
【０１４８】
図１３に示すとおり、本実施形態では、制御部は、機能ブロックとして、さらに、テーマ特定部１８を含んでいる。テーマ特定部１８は、対話装置２から送信されたリクエストに基づいて、ユーザ４０と対話装置２との間で行われる対話の内容に合致するテーマを特定するものである。
【０１４９】
リクエストには、視聴中チャンネル、前回のリクエストのタイムスタンプ、および、ユーザ４０のユーザＩＤが含まれている。テーマ特定部１８は、ユーザ４０が現在視聴している視聴中番組に関するメタ情報（ＥＰＧ情報、および、トピック情報など）をメタ情報提供サーバ５から取得する。そして、メタ情報に基づいて、テーマを特定する。例えば、テーマ特定部１８は、メタ情報に基づいて、視聴中番組が野球中継であると判断した場合、テーマを「スポーツ」と特定することができる。
【０１５０】
図１６は、本実施形態に係るプロファイルデータ３１のデータ構造の一例を示す図である。本実施形態では、プロファイルデータ３１は、さらに、「テーマ」の項目を有する。１つのユーザＩＤにつき、テーマごとに、所属集団名が関連付けられている。すなわち、ユーザＩＤと、テーマとに基づいて、ユーザ４０が所属する集団が一意に識別される。予測器選択部１６は、図１６に示すプロファイルデータ３１を参照し、テーマ特定部１８によって特定されたテーマと、リクエストに含まれているユーザＩＤとに基づいて、ユーザ４０が所属する集団を識別する。
【０１５１】
図１７は、本実施形態に係る集団分類データ３２のデータ構造の一例を示す図である。本実施形態では、集団分類データ３２は、さらに、「テーマ」の項目を有する。テーマごとに、該テーマに基づいて母集団を分類した複数の集団が関連付けられており、該複数の集団のそれぞれにつき、対応する予測器と学習データとが対応付けられている。
【０１５２】
対話制御サーバ１は、集団分類データ３２を参照することにより、自装置において、どのようなテーマがいくつ設定されているのかを把握することができ、それぞれのテーマにおいて、母集団がどのような集団に分類されているのかを把握することができる。また、予測器選択部１６は、候補コメントの予測評価値を得るために、どの予測器を用いればよいのかを特定することができる。
【０１５３】
本実施形態では、コメント決定部１３は、対話装置２に発話させるコメントを決定して、対話装置２にレスポンスを返信するときに、該レスポンスに、該コメントがどのテーマに基づいて予測され決定されたのかを示す情報（すなわち、テーマの識別情報）を含めることが好ましい。これにより、対話装置２は、該コメントを発話した後、この発話済コメントに対してユーザ４０の反応が示された場合に、フィードバックに、テーマの識別情報を含めることができる。
【０１５４】
学習データ選択部１７は、フィードバックを受信すると、図１６に示すプロファイルデータ３１を参照し、該フィードバックに含まれているテーマの識別情報（例えば、スポーツ、出身地域、などのテーマ名）と、ユーザＩＤとに基づいて、ユーザ４０の集団を識別することができる。そして、図１７に示す集団分類データ３２を参照して、該フィードバックに基づいて作成したレコードの登録先（学習データ）を特定することができる。
【０１５５】
〔変形例〕
対話制御システム１００を利用するユーザ４０が増加したり、学習データにおけるレコード数が増加したり、テレビ４で放送される番組の内容が変更されたり、あるいは、多様化することが予想される。このような場合には、テーマ特定部１８が、リクエストに基づいていずれのテーマとも特定できない事案が増加することが想定される。
【０１５６】
図１８は、対話制御サーバ１において設定されているテーマと、テーマに基づいて母集団が複数の集団に分類されることを模式的に説明する概念図である。例えば、テーマ特定部１８は、これまで、リクエストから特定されるメタ情報に基づいて、対話のテーマを、「スポーツ」、「ニュース」、「バラエティ」、および、「出身地域」の中から特定していたとする。しかし、上述の事情が起因して、いずれのテーマにも該当しない事案が増えてきたとする。この場合、テーマ特定部１８は、既存のテーマに該当しない事案の中から共通事項を見出し、該共通事項に基づく新規のテーマを設定してもよい。
【０１５７】
例えば、映画番組を放送するチャンネルが増えたり、映画番組を視聴するユーザ４０が急増したりして、映画番組に関するリクエストが増加したとする。この場合、テーマ特定部１８は、各リクエストに基づいて集められたメタ情報から、「映画」という共通事項を見出し、新規に「映画」というテーマを作成することができる。
【０１５８】
このように、時期によって変わる放送の傾向や、対話制御システム１００における環境の変化にもフレキシブルに対応することができる。
【０１５９】
さらに、学習制御部１５は、集団を監視する機能を備えていてもよい。具体的には、学習制御部１５は、１つの集団に関して学習データに蓄積されたレコードを分析して、１つの集団の中で、新規の共通事項を見出した場合に、該共通事項に基づいて集団を細分化することができる。例えば、図１８を参照して、これまで、テーマ「スポーツ」における野球に関する集団は、「野球」という１つの集団しかなかったとする。学習制御部１５は、集団「野球」に対応する学習データ（図１７に示す例では、「学習データ００１」）を監視する。そして、例えば、「学習データ００１」に蓄積されている全レコードのうち、発話済コメントがプロ野球に関することである場合にＦＢ評価値が高いレコードの割合が、一定以上に到達したことを検出する。この場合、学習制御部１５は、集団「野球」を、下位集団「プロ野球」と、それ以外の集団とに細分化してもよい。プロ野球以外にも、ＦＢ評価値が高いレコードの共通事項として、メジャーリーグ、高校野球、世界大会における日本代表チームなどに関連していることが見出された場合には、学習制御部１５は、それぞれの共通事項に基づいて下位集団を設けてもよい。学習制御部１５は、集団を細分化すると、細分化後の下位集団に対応するように、学習データも併せて細分化する。そして、細分化後の学習データに基づいて機械学習させた予測器を作成する。併せて、学習制御部１５は、新たな分類を集団分類データ３２に反映させる。
【０１６０】
このように、集団を細分化すれば、学習データも細分化されることになり、予測器の学習負荷を低減することができる。加えて、さまざまな集団の傾向およびその多様性に対応して、予測器に、コメントの対話力の高さを精度よく予測させることが可能となる。
【０１６１】
さらに、図１３に示す対話制御サーバ１において、制御部は、機能ブロックとして、個傾向監視部１９を備えていてもよい。個傾向監視部１９は、ユーザ４０単位でフィードバックおよびそれに基づいて作成されるレコードの傾向を監視する。例えば、これまで、サッカーに特に関心がなかったあるユーザ４０が、急にあるいは徐々にサッカーに関心を持つようになったとする。このような場合、個傾向監視部１９は、ある日を境に、あるいは、日を追うごとに、話題がサッカーに関することである発話済コメントに対して、高いＦＢ評価値が算出されていることを検出することができる。これに伴い、個傾向監視部１９は、該ユーザ４０の所属集団を「サッカー」に変更する。具体的には、個傾向監視部１９は、プロファイルデータ３１において、該ユーザ４０のユーザＩＤに関連付ける集団名を「サッカー」へと更新する。
【０１６２】
このように、個別のユーザ４０の変遷する嗜好または思想にもフレキシブルに対応することができる。
【０１６３】
コメントソース３としてＳＮＳサーバを採用する場合、不特定多数のユーザ（ユーザ４１など）が投稿するという性質上、対話装置２に発話させることが適切でないコメント（過激な内容、乱暴な言葉などを含むコメント）が候補コメントとしてコメントソース３から提供される虞がある。そこで、コメント抽出部１１は、不適切な内容を含むコメントを候補コメントから排除するブロック機能を備えていてもよい。
【０１６４】
例えば、対話制御サーバ１の記憶部に、ＮＧワード、または、不適切な特徴的な言い回しなどのブロック条件を予め記憶部に設定しておく。コメント抽出部１１は、記憶部を参照して、ブロック条件として定められた文字列を含むコメントを候補コメントから排除することができる。
【０１６５】
対話装置２の対話を制御するための対話制御ユニット１０（対話制御装置）および学習ユニット２０（学習装置）の少なくとも１つは、対話装置２に内蔵されていてもよい。この場合、対話装置２が、本発明の対話制御装置または学習装置として機能する。
【０１６６】
〔ソフトウェアによる実現例〕
対話制御サーバ１の制御ブロック（特に、コメント抽出部１１、予測器１２０、第１予測器１２１、第２予測器１２２、コメント決定部１３、評価値算出部１４、学習制御部１５、予測器選択部１６、学習データ選択部１７、テーマ特定部１８、および、個傾向監視部１９）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ソフトウェアによって実現してもよい。
【０１６７】
後者の場合、対話制御サーバ１は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば１つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばＣＰＵ（Central Processing Unit）を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ＲＯＭ（Read Only Memory）等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するＲＡＭ（Random Access Memory）などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１６８】
〔まとめ〕
本発明の一側面に係る内容を以下に示す。
【０１６９】
（態様１）  本開示のある局面によると、対話制御装置（対話制御サーバ１、対話制御ユニット１０）は、ユーザ（４０）と対話する対話装置（２）を制御する対話制御装置であって、前記対話装置に発話させるコメントの候補を、候補コメントとしてコメントソース（３）から複数抽出するコメント抽出部（１１）と、少なくとも前記候補コメントを入力とし、該候補コメントにつき、前記ユーザの反応の良し悪しを予測した予測評価値を出力する予測器（１２０、第１予測器１２１、第２予測器１２２）と、前記候補コメントごとに出力された前記予測評価値に基づいて、複数の前記候補コメントの中から、前記対話装置に発話させるコメントを決定するコメント決定部（１３）とを備え、前記予測器は、少なくとも前記対話装置によって発話された発話済コメントと、該発話済コメントに対する前記ユーザの反応の良し悪しを示す学習評価値（ＦＢ評価値）とを対応付けた学習データ（３０、第１学習データ１３１、第２学習データ１３２）に基づいて、少なくとも前記発話済コメントを入力値とし、前記学習評価値を出力値として学習させたものである。これにより、対話装置の対話力を高めることができるという効果を奏する。
【０１７０】
（態様２）  （態様１）において、前記コメント抽出部は、前記ユーザが現在視聴している視聴中番組を特定するための参考情報を取得し、該参考情報に基づいて特定された前記視聴中番組のメタ情報を用いて、前記コメントソースに保持された前記視聴中番組に関するコメントを前記候補コメントとして抽出し、前記予測器は、前記視聴中番組に関する発話済コメントおよび該視聴中番組のメタ情報の組み合わせと、前記学習評価値とを対応付けた学習データに基づいて、前記組み合わせを入力値とし、前記学習評価値を出力値として学習を行い、前記視聴中番組に関する候補コメントおよび該視聴中番組のメタ情報の組み合わせを入力とし、前記候補コメントにつき、前記予測評価値を出力してもよい。これにより、視聴中番組に関する対話装置の対話力を高めることができるという効果を奏する。
【０１７１】
（態様３）  （態様２）において、前記対話制御装置は、複数のユーザ各々のための対話装置をそれぞれ制御するものであって、前記複数のユーザは、複数の集団に分類されており、前記集団ごとに、前記予測器を備え、さらに、前記対話装置から取得された前記ユーザを識別するユーザＩＤに基づいて前記ユーザが所属する集団を識別する集団識別部（予測器選択部１６、学習データ選択部１７）を備え、前記コメント決定部は、識別された前記集団に対応する予測器によって出力された前記予測評価値に基づいて、前記対話装置に発話させるコメントを決定し、各予測器は、自器と同じ集団に対応する学習データに基づいて学習させたものである。これにより、複数のユーザ各々のための対話装置の対話力を高めることができるという効果を奏する。
【０１７２】
（態様４）  （態様３）において、テーマごとに複数の集団が設けられており、前記ユーザは、各テーマについて１つの集団に所属し、前記対話制御装置は、前記視聴中番組のメタ情報に基づいて、前記ユーザと前記対話装置との間の対話の内容に合致する前記テーマを特定するテーマ特定部（１８）を備え、前記集団識別部は、特定された前記テーマにおいて、前記ユーザが所属する集団を識別してもよい。これにより、複数のユーザ各々のための対話装置の対話力をテーマごとに高めることができるという効果を奏する。
【０１７３】
（態様５）  （態様３）または（態様４）において、前記対話制御装置は、集団に対応する学習データから見出された共通事項に基づく下位集団を作成するとともに、前記学習データを、該下位集団に対応するように細分化する学習制御部（１５）を備えていてもよい。これにより、複数のユーザ各々のための対話装置の対話力を効率的かつ精度よく高めることができるという効果を奏する。
【０１７４】
（態様６）  本開示のある局面によると、学習装置（対話制御サーバ１、学習ユニット２０）は、ユーザと対話する対話装置を制御する対話制御装置が該対話装置に発話させるコメントを決定するために用いる予測器を構築する学習装置であって、前記対話装置によって発話された発話済コメントに対する前記ユーザの反応を示す反応データを取得し、該反応データの解析結果に応じて、前記発話済コメントに対する前記ユーザの反応の良し悪しを示す学習評価値を算出する評価値算出部（１４）と、少なくとも前記発話済コメントを入力値とし、前記学習評価値を出力値として学習を行うことにより、前記対話装置に発話させるコメントの候補である候補コメントを少なくとも入力とし、前記候補コメントにつき、前記ユーザの反応の良し悪しを予測した予測評価値を出力するように前記予測器を構築する学習制御部と、を備えている。これにより、対話装置の対話力を高めることが可能な対話制御装置を実現できるという効果を奏する。
【０１７５】
（態様７）  本開示のある局面によると、対話制御方法は、ユーザと対話する対話装置を制御する対話制御装置が実行する対話制御方法であって、前記対話装置に発話させるコメントの候補を、候補コメントとしてコメントソースから複数抽出する抽出ステップ（Ｓ３）と、少なくとも前記候補コメントを入力とし、該候補コメントにつき、前記ユーザの反応の良し悪しを予測した予測評価値を出力する予測器を用いて、該予測評価値を出力する出力ステップ（Ｓ５）と、前記候補コメントごとに出力された前記予測評価値に基づいて、複数の前記候補コメントの中から、前記対話装置に発話させるコメントを決定する決定ステップ（Ｓ６）と、を含み、前記予測器は、少なくとも前記対話装置によって発話された発話済コメントと、該発話済コメントに対する前記ユーザの反応の良し悪しを示す学習評価値とを対応付けた学習データに基づいて、少なくとも前記発話済コメントを入力値とし、前記学習評価値を出力値として学習させたものである。（態様７）に係る方法は、（態様１）に係る装置と同様の作用効果を奏する。
【０１７６】
（態様８）  本開示のある局面によると、学習方法は、ユーザと対話する対話装置を制御する対話制御装置が該対話装置に発話させるコメントを決定するために用いる予測器を構築する学習装置が実行する学習方法であって、前記対話装置によって発話された発話済コメントに対する前記ユーザの反応を示す反応データを取得する取得ステップ（Ｓ１１）と、前記反応データの解析結果に応じて、前記発話済コメントに対する前記ユーザの反応の良し悪しを示す学習評価値を算出する算出ステップ（Ｓ１３）と、少なくとも前記発話済コメントを入力値とし、前記学習評価値を出力値として学習を行うことにより、前記対話装置に発話させるコメントの候補である候補コメントを少なくとも入力とし、前記候補コメントにつき、前記ユーザの反応の良し悪しを予測した予測評価値を出力するように前記予測器を構築する学習ステップ（Ｓ１６）と、を含む。（態様８）に係る方法は、（態様６）に係る装置と同様の作用効果を奏する。
【０１７７】
本発明の各態様に係る対話制御サーバは、コンピュータによって実現してもよく、この場合には、コンピュータを上記対話制御サーバが備える各部（ソフトウェア要素）として動作させることにより上記対話制御サーバをコンピュータにて実現させる対話制御サーバの制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【０１７８】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１７９】
１  対話制御サーバ（対話制御装置、学習装置）
２  対話装置（対話制御装置、学習装置）
３  コメントソース
４  テレビ
５  メタ情報提供サーバ
１０  対話制御ユニット（対話制御装置）
１１  コメント抽出部
１２  評価値予測装置
１３  コメント決定部
１４  評価値算出部
１５  学習制御部
１６  予測器選択部（集団識別部）
１７  学習データ選択部（集団識別部）
１８  テーマ特定部
１９  個傾向監視部
２０  学習ユニット（学習装置）
３０  学習データ
３１  プロファイルデータ
３２  集団分類データ
１００  対話制御システム
１２０  予測器
１２１  第１予測器
１２２  第２予測器
１３１  第１学習データ
１３２  第２学習データ
【図１】
2019045978.tif 000003
【図２】
2019045978.tif 000004
【図３】
2019045978.tif 000005
【図４】
2019045978.tif 000006
【図５】
2019045978.tif 000007
【図６】
2019045978.tif 000008
【図７】
2019045978.tif 000009
【図８】
2019045978.tif 000010
【図９】
2019045978.tif 000011
【図１０】
2019045978.tif 000012
【図１１】
2019045978.tif 000013
【図１２】
2019045978.tif 000014
【図１３】
2019045978.tif 000015
【図１４】
2019045978.tif 000016
【図１５】
2019045978.tif 000017
【図１６】
2019045978.tif 000018
【図１７】
2019045978.tif 000019
【図１８】
2019045978.tif 000020