(57)【要約】【課題】ユーザに効果的に発話情報を提供すること。【解決手段】情報処理装置１００は、発話条件および発話内容を含む発話情報を取得して記憶部に記憶する。情報処理装置１００は、発話装置とユーザ１０１との対話状態を特定する。情報処理装置１００は、記憶部に記憶された発話情報のうち、特定した対話状態が発話条件を満たした発話情報を、特定した対話状態が発話条件を満たさない発話情報よりも優先して、発話装置に発話させる。【選択図】図１
2017161875.tif 000002
【特許請求の範囲】
【請求項１】
発話条件および発話内容を含む発話情報を取得して記憶部に記憶し、
前記発話情報を出力する発話装置と前記発話装置のユーザとの対話状態を特定し、
特定した前記対話状態が発話条件を満たした発話情報を、特定した前記対話状態が発話条件を満たさない発話情報よりも優先して、前記発話装置に出力させる、
制御部を有することを特徴とする情報処理装置。
【請求項２】
前記発話条件は、前記発話装置と前記ユーザとの対話強度に応じて階層化された複数の対話状態のうちいずれかの対話状態を示し、
前記制御部は、
所定のタイミングで、前記記憶部に記憶された発話情報のうち、相対的に対話強度が小さい対話状態を示す発話条件を含む発話情報を読み出し、
特定した前記対話状態の対話強度が、読み出した前記発話情報に含まれる発話条件が示す対話状態の対話強度以上である場合に、読み出した前記発話情報に含まれる発話条件を満たすと判定し、
読み出した前記発話情報に含まれる発話条件を満たすと判定した場合に、読み出した前記発話情報を前記発話装置に出力させる、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記発話情報は、さらに、前記発話内容の重要度を含み、
前記制御部は、
読み出した前記発話情報に含まれる重要度が所定値以上であるか否かを判定し、
読み出した前記発話情報に含まれる発話条件を満たさず、かつ、読み出した前記発話情報に含まれる重要度が所定値以上であると判定した場合には、特定した前記対話状態よりも対話強度が大きい対話状態へと前記ユーザを誘導する誘導行動を実行する、ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記制御部は、
読み出した前記発話情報に含まれる発話条件を満たし、かつ、読み出した前記発話情報に含まれる重要度が所定値以上であると判定した場合には、特定した前記対話状態よりも対話強度が大きい対話状態へと前記ユーザを誘導する誘導行動を実行し、前記誘導行動を実行した後に、読み出した前記発話情報を前記発話装置に出力させる、ことを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
前記制御部は、
読み出した前記発話情報に含まれる発話条件を満たし、かつ、読み出した前記発話情報に含まれる重要度が所定値未満であると判定した場合には、読み出した前記発話情報を前記発話装置に出力させる、ことを特徴とする請求項１〜４のいずれか一つに記載の情報処理装置。
【請求項６】
前記制御部は、
前記記憶部に同一の発話条件を含む複数の発話情報が記憶された場合には、当該発話条件と前記複数の発話情報それぞれに含まれる発話内容をまとめた発話内容とを含む新たな発話情報へと、前記複数の発話情報を置き換える、ことを特徴とする請求項１〜５のいずれか一つに記載の情報処理装置。
【請求項７】
前記発話情報は、さらに、前記発話内容の重要度および発話期限を含み、
前記制御部は、
前記記憶部に発話期限を超えた発話情報があり、当該発話情報に含まれる重要度が所定値以上である場合には、当該発話情報の存在を示す情報を含む新たな発話情報を前記記憶部に追加する、ことを特徴とする請求項１〜６のいずれか一つに記載の情報処理装置。
【請求項８】
コンピュータが、
発話条件および発話内容を含む発話情報を取得して記憶部に記憶し、
前記発話情報を出力する発話装置と前記発話装置のユーザとの対話状態を特定し、
特定した前記対話状態が発話条件を満たした発話情報を、特定した前記対話状態が発話条件を満たさない発話情報よりも優先して、前記発話装置に出力させる、
処理を実行することを特徴とする情報処理方法。
【請求項９】
コンピュータに、
発話条件および発話内容を含む発話情報を取得して記憶部に記憶し、
前記発話情報を出力する発話装置と前記発話装置のユーザとの対話状態を特定し、
特定した前記対話状態が発話条件を満たした発話情報を、特定した前記対話状態が発話条件を満たさない発話情報よりも優先して、前記発話装置に出力させる、
処理を実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、および情報処理プログラムに関する。
【背景技術】
【０００２】
近年、スマートフォンなどの端末装置における操作がなくても、サーバからインターネットを介して端末装置に情報を配信し、配信した情報を端末装置の画面上に表示させる技術がある。
【０００３】
関連する先行技術としては、例えば、注意誘導行動、導入行動、および情報提供行動を、インタラクション状態に応じて選択するものがある。また、例えば、コミュニケーションリズムとコミュニケーション同調度合いを用いてユーザに対して行うべきロボットアクションコマンドを探索する技術がある。また、例えば、認識されたユーザの発話からキーワードを抽出し、キーワードによりニュースデータベースおよび会話データベースの少なくとも一つを検索し、ヒットしたコンテンツを応答として出力する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２３７１２４号公報
【特許文献２】特開２０１０−１１０８６４号公報
【特許文献３】特開２００６−１７１７１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、ユーザに効果的に情報を提供することができない場合がある。例えば、発話によってユーザに情報を提供する発話装置においては、情報が配信される都度、ユーザの都合を考慮せずに当該情報を発話してしまうことがある。
【０００６】
１つの側面では、本発明は、ユーザに効果的に情報を提供することができる情報処理装置、情報処理方法、および情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、発話条件および発話内容を含む発話情報を取得して記憶部に記憶し、前記発話情報を出力する発話装置と前記発話装置のユーザとの対話状態を特定し、特定した前記対話状態が発話条件を満たした発話情報を、特定した前記対話状態が発話条件を満たさない発話情報よりも優先して、前記発話装置に出力させる情報処理装置、情報処理方法、および情報処理プログラムが提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、ユーザに効果的に情報を提供することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。
【図２】図２は、情報配信システム２００の一例を示す説明図である。
【図３】図３は、情報処理装置１００のハードウェア構成例を示すブロック図である。
【図４】図４は、対話状態定義４００のデータ構造の一例を示す説明図である。
【図５】図５は、初期設定情報テーブル５００のデータ構造の一例を示す説明図である。
【図６】図６は、ユーザ設定情報テーブル６００のデータ構造の一例を示す説明図である。
【図７】図７は、スタック７００のデータ構造の一例を示す説明図である。
【図８】図８は、情報処理装置１００の機能的構成例を示すブロック図である。
【図９】図９は、情報処理装置１００の機能的構成の具体例を示すブロック図である。
【図１０】図１０は、情報処理装置１００の動作例を示す説明図である。
【図１１】図１１は、情報ボディをユーザ１０１に提供する具体例を示す説明図（その１）である。
【図１２】図１２は、情報ボディをユーザ１０１に提供する具体例を示す説明図（その２）である。
【図１３】図１３は、情報ボディを統合する具体例を示す説明図である。
【図１４】図１４は、削除された発話情報の存在を管理する具体例を示す説明図である。
【図１５】図１５は、管理処理手順の一例を示すフローチャートである。
【図１６】図１６は、調停処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明にかかる情報処理装置、情報処理方法、および情報処理プログラムの実施の形態を詳細に説明する。
【００１１】
（実施の形態にかかる情報処理方法の一実施例）
図１は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置１００は、発話装置を有し、発話装置に情報を出力させることによってユーザ１０１に効果的に情報を提供するコンピュータである。出力は、例えば、音声を用いて行われる。以下の説明では、音声を用いた出力を「発話」と表記する場合がある。また、出力は、例えば、一定間隔で表示内容がリセットされる表示領域などを用いて行われてもよい。
【００１２】
発話装置は、例えば、情報処理装置１００と一体であってもよい。発話装置は、例えば、情報処理装置１００と接続されてもよい。発話装置は、例えば、擬人的ロボットである。発話装置は、例えば、スマートフォンやデジタルサイネージなどであってもよい。
【００１３】
ここで、スマートフォンなどの端末装置が「プッシュ通知」の機能を有する場合が考えられる。端末装置は、例えば、「プッシュ通知」の機能によって、端末装置の操作に関わらず、サーバからインターネットを介して配信されたプッシュ情報を受け付けて、受け付けたプッシュ情報を端末装置の画面上に表示する。プッシュ情報は、例えば、広告、ニュース、天気予報、緊急速報、メール、チャット、スケジュールなどに関する情報である。端末装置は、さらに、プッシュ情報を受け付けたとき、音、振動、ＬＥＤの明滅などによって、プッシュ情報を受け付けたことをユーザ１０１に通知する。
【００１４】
しかしながら、発話によってユーザ１０１に情報を提供するロボットなどの発話装置に「プッシュ通知」の機能を付与した場合には、ユーザ１０１に効果的にプッシュ情報を提供することができない場合がある。例えば、発話装置は、配信されたプッシュ情報を受け付ける都度、ユーザ１０１の都合を考慮せずに当該情報を発話してしまうことがある。
【００１５】
具体的には、発話装置は、配信されたプッシュ情報を受け付けたとき、発話装置が発話したプッシュ情報をユーザ１０１が聞き取ることが難しい状態であっても、受け付けたプッシュ情報を発話してしまうことがある。このため、ユーザ１０１は、「プッシュ情報を受け取れない」ことや「プッシュ情報が配信されたことに気付かない」ことがある。
【００１６】
これに対し、発話装置が、配信されたプッシュ情報を受け付ける都度、ユーザ１０１に呼びかけるなどの誘導行動を実行し、発話装置に注目するようにユーザ１０１に促して、ユーザ１０１にプッシュ情報を提供する確実性の向上を図る場合が考えられる。
【００１７】
しかしながら、発話装置は、配信されたプッシュ情報を受け付ける都度、誘導行動を実行してしまうと、ユーザ１０１に精神的な負担を与えてしまう可能性がある。例えば、発話装置は、配信されたプッシュ情報を受け付けたとき、ユーザ１０１が睡眠中であってもユーザ１０１に呼びかけるなどの誘導行動を実行し、ユーザ１０１の睡眠を妨げてしまう可能性がある。
【００１８】
また、発話装置は、配信されたプッシュ情報を受け付けたとき、ユーザ１０１が作業中であってもユーザ１０１に呼びかけるなどの誘導行動を実行し、ユーザ１０１に作業を中断させてしまう可能性がある。このため、ユーザ１０１は、プッシュ情報を「邪魔に感じる」ことがある。
【００１９】
さらに、発話装置は、プッシュ情報を受け付ける頻度が多くなれば、散発的に、いわゆる五月雨に、プッシュ情報を発話することになり、ユーザ１０１に作業を中断させる頻度も多くなる傾向がある。このため、ユーザ１０１は、プッシュ情報をより「邪魔に感じる」ことになりやすい。
【００２０】
そこで、本実施の形態では、ユーザ１０１に効果的に情報を提供することができる情報処理方法について説明する。
【００２１】
図１において、（１−１）情報処理装置１００は、発話条件および発話内容を含む発話情報を取得して記憶部に記憶する。発話内容は、例えば、広告、ニュース、天気予報、緊急速報、メール、チャット、スケジュールなどに関する内容である。
【００２２】
発話条件は、例えば、発話装置に発話情報を発話させる優先度に応じた条件である。発話条件は、具体的には、発話装置とユーザ１０１との対話強度に応じて階層化された複数の対話状態のうち、いずれかの対話状態を示す。発話条件は、より具体的には、発話装置に発話情報を発話させることを優先するほど、発話装置とユーザ１０１との対話強度が比較的小さくても発話されるように、発話装置とユーザ１０１との対話強度が比較的小さい対話状態を示す。対話強度とは、発話装置とユーザ１０１との関わりの強さである。
【００２３】
情報処理装置１００は、例えば、サーバなどからネットワークを介して配信された、発話条件および発話内容を含む発話情報を受信し、記憶部に記憶する。また、情報処理装置１００は、例えば、サーバなどからネットワークを介して配信された発話内容を受け付け、発話内容の種別に対応する発話条件を対応付けて、発話情報を生成して記憶部に記憶してもよい。
【００２４】
（１−２）情報処理装置１００は、発話装置とユーザ１０１との対話状態を特定する。対話状態は、例えば、不明な状態、発話装置の周辺にユーザ１０１が居ない状態または居る状態、発話装置にユーザ１０１が興味なしの状態または興味ありの状態、発話装置とのユーザ１０１とが対話なしの状態または対話中の状態などである。
【００２５】
情報処理装置１００は、例えば、マイクやセンサなどの入力装置によってユーザ１０１に関する情報を取得し、取得したユーザ１０１に関する情報に基づいて複数の対話状態のうち現在の発話装置とユーザ１０１との対話状態を特定する。センサは、例えば、タッチセンサ、イメージセンサなどである。
【００２６】
（１−３）情報処理装置１００は、記憶部に記憶された発話情報のうち、特定した対話状態が発話条件を満たした発話情報を、特定した対話状態が発話条件を満たさない発話情報よりも優先して、発話装置に発話させる。発話条件を満たすとは、例えば、特定した対話状態の対話強度が、発話条件が示す対話状態の対話強度以下であることである。
【００２７】
情報処理装置１００は、例えば、特定した対話状態の対話強度以上の対話状態を示す対話条件を含む対話情報を、特定した対話状態より対話強度が小さい対話状態を示す対話条件を含む対話情報よりも優先して、発話装置に発話させる。これによれば、情報処理装置１００は、発話条件を満たさない発話情報を発話する発話タイミングを後回しにし、発話条件を満たさない発話情報を発話するよりも先に発話条件を満たす発話情報を発話するようにする。
【００２８】
これにより、情報処理装置１００は、発話条件を満たす発話情報があれば、発話条件を満たす発話情報を先に発話することにより、発話装置とユーザ１０１との発話状態を、比較的対話強度が大きい発話状態へと誘導することができる。そして、情報処理装置１００は、比較的対話強度が大きい発話状態へと誘導することにより、後回しにした発話情報に含まれる発話条件が満たされやすくすることができる。
【００２９】
結果として、情報処理装置１００は、例えば、対話状態が発話情報に含まれる発話条件を満たしていなければ、当該発話情報を発話しづらくすることができる。そして、情報処理装置１００は、発話条件を考慮せずに発話情報を発話してしまい、当該発話情報をユーザ１０１に提供しづらくなることを抑制することができる。
【００３０】
また、情報処理装置１００は、例えば、発話条件を満たさない発話情報を発話するために誘導動作を実行しなくても、発話条件を満たさない発話情報を、発話条件を満たす発話情報に続けて発話することができる。このため、情報処理装置１００は、複数の発話情報をまとめて発話しやすくなり、ユーザ１０１の睡眠を妨げたり作業を中断させたりする頻度の低減化を図ることができ、ユーザ１０１が「邪魔に感じる」ことを抑制することができる。
【００３１】
このように、情報処理装置１００は、ユーザ１０１に効果的に発話情報を提供することができる。情報処理装置１００は、例えば、ユーザ１０１に印象的に、または、説得的に、発話情報を提供することができる。
【００３２】
（情報配信システム２００の一例）
次に、図２を用いて、図１に示した情報処理装置１００を適用した、情報配信システム２００の一例について説明する。
【００３３】
図２は、情報配信システム２００の一例を示す説明図である。図２において、情報配信システム２００は、情報処理装置１００と、情報配信装置２０１とを含む。情報配信システム２００は、情報配信装置２０１を複数含んでもよい。
【００３４】
情報配信システム２００において、情報処理装置１００と情報配信装置２０１は、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００３５】
情報処理装置１００は、例えば、発話装置２０２を有し、情報配信装置２０１が配信するプッシュ情報を受け付け、プッシュ情報を発話装置２０２に発話させることにより、プッシュ情報をユーザ１０１に提供するコンピュータである。情報処理装置１００は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ノートＰＣ、タブレット端末、スマートフォン、ロボットなどである。
【００３６】
発話装置２０２は、例えば、情報処理装置１００と一体であってもよい。発話装置２０２は、例えば、情報処理装置１００と接続されてもよい。発話装置２０２は、例えば、情報処理装置１００がＰＣであれば、情報処理装置１００と接続されるロボットである。発話装置２０２は、例えば、情報処理装置１００がロボットであれば、情報処理装置１００と一体であって、ロボットである。
【００３７】
一方で、情報配信装置２０１は、例えば、プッシュ情報を情報処理装置１００に配信するコンピュータである。情報配信装置２０１は、例えば、サーバである。
【００３８】
（情報処理装置１００のハードウェア構成例）
次に、図３を用いて、情報処理装置１００のハードウェア構成例について説明する。
【００３９】
図３は、情報処理装置１００のハードウェア構成例を示すブロック図である。図３において、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、ディスクドライブ３０４と、ディスク３０５と、発話装置２０２とを有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００４０】
ここで、ＣＰＵ３０１は、情報処理装置１００の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００４１】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、Ｉ／Ｆ３０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４２】
ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがってディスク３０５に対するデータのリード／ライトを制御する。ディスクドライブ３０４は、例えば、磁気ディスクドライブである。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する不揮発メモリである。ディスク３０５は、例えば、磁気ディスク、光ディスクなどである。メモリ３０２やディスク３０５は、後述する各種テーブルを記憶する。
【００４３】
発話装置２０２は、入力装置３１０と、出力装置３２０とを含む。入力装置３１０は、例えば、マイクを有し、ユーザ１０１が発した音声についてのデータの入力を行う。入力装置３１０は、例えば、センサを有し、センサによって検出されたデータの入力を行ってもよい。センサは、例えば、タッチセンサやイメージセンサである。入力装置３１０は、例えば、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行ってもよい。
【００４４】
出力装置３２０は、例えば、スピーカを有し、音声を出力する。出力装置３２０は、例えば、ディスプレイを有し、画像を出力してもよい。出力装置３２０は、発話装置２０２の各部を動作させるサーボモータを有し、各部を動作させてもよい。
【００４５】
情報処理装置１００は、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、半導体メモリ、キーボード、マウス、ディスプレイなどを有することにしてもよい。また、情報処理装置１００は、ディスクドライブ３０４およびディスク３０５の代わりに、ＳＳＤおよび半導体メモリなどを有していてもよい。
【００４６】
ここでは、情報処理装置１００が、発話装置２０２を有する場合について説明したが、これに限らない。例えば、発話装置２０２は、情報処理装置１００と一体であってもよい。発話装置２０２は、情報処理装置１００と通信可能な、情報処理装置１００とは別の装置であってもよい。
【００４７】
次に、図４〜図７を用いて、各種管理情報のデータ構造の一例について説明する。各種管理情報は、例えば、対話状態定義４００、初期設定情報テーブル５００、ユーザ設定情報テーブル６００、スタック７００などである。各種管理情報は、例えば、図３に示した情報処理装置１００のメモリ３０２、ディスク３０５により実現される。
【００４８】
（対話状態定義４００のデータ構造の一例）
図４は、対話状態定義４００のデータ構造の一例を示す説明図である。図４に示すように、対話状態定義４００は、発話装置２０２とユーザ１０１との対話強度の大きさに応じて階層化された複数の対話状態について定義する。階層が上位であるほど、対話強度が小さい対話状態である。
【００４９】
最上位の第１階層の対話状態は、例えば、「Ａ：状態不明」である。「Ａ：状態不明」から遷移可能な、第１階層の下位にある第２階層の対話状態は、例えば、「Ｂ：（発話装置２０２の周辺にユーザ１０１が）居ない」や「Ｃ：（発話装置２０２の周辺にユーザ１０１が）居る」である。「Ｃ：居る」から遷移可能な、第２階層の下位にある第３階層の対話状態は、例えば、「Ｄ：（発話装置２０２にユーザ１０１が）興味なし」や「Ｅ：（発話装置２０２にユーザ１０１が）興味あり」である。「Ｅ：興味あり」から遷移可能な、第３階層の下位にある第４階層の対話状態は、例えば、「Ｆ：対話なし」や「Ｇ：対話中」である。以下の説明では、それぞれの対話状態を「対話状態Ａ〜Ｇ」と表記する場合がある。
【００５０】
ここで、それぞれの階層は、第１階層に近いほど、対話強度が小さい対話状態を有する階層である。第４階層の下位に、さらに、「Ｆ：対話なし」や「Ｇ：対話中」から遷移可能な対話状態を有する第５階層以降の階層があってもよい。例えば、第５階層に、「Ｇ：対話中」から遷移可能な「発話装置２０２が発話中かつユーザ１０１が聞き取り中」や「発話装置２０２が聞き取り中かつユーザ１０１が発話中」などがあってもよい。また、例えば、第５階層に、「ユーザ１０１が発話装置２０２を操作中」があってもよい。図４では、例えば、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇの順に、対話強度が高くなる。
【００５１】
ここでは、それぞれの階層が、２つの対話状態を有する場合について説明したが、これに限らない。それぞれの階層は、対話状態を３つ以上有してもよい。対話状態定義４００は、例えば、ポインタを用いたツリー構造を用いて実現されてもよい。対話状態は、擬人的ロボットの対話状態に限らず、スマートフォンやデジタルサイネージの対話状態であってもよい。
【００５２】
（初期設定情報テーブル５００のデータ構造の一例）
図５は、初期設定情報テーブル５００のデータ構造の一例を示す説明図である。図５に示すように、初期設定情報テーブル５００は、情報ソースと、情報種別と、優先順位とのフィールドを有する。初期設定情報テーブル５００は、各フィールドに情報を設定することにより、初期設定情報がレコードとして記憶される。
【００５３】
情報ソースのフィールドは、プッシュ情報を配信する配信元を識別する情報が設定される。情報ソースは、例えば、○○ニュース、○○新聞、○○天気、○○病院、○○広告などである。情報種別のフィールドは、配信元から配信されるプッシュ情報の種別が設定される。情報種別は、情報ソースが同一であっても、プッシュ情報ごとに異なる場合がある。情報種別は、例えば、大地震や津波などに関する緊急速報、雨の接近や警戒発令などの気象情報、午後や明日の天気などの天気予報、過去数時間または過去数日に起きた事件などの最新ニュース、おすすめニュースなどである。
【００５４】
優先順位のフィールドは、プッシュ情報の緊急性に応じた、プッシュ情報を発話する優先度合いを示す値が設定される。優先順位のフィールドは、どのくらいの対話強度であればプッシュ情報を発話してもよいかを示し、緊急性が比較的高いプッシュ情報であるほど対話強度が小さくても優先して発話することを示す。具体的には、情報ソース「○○ニュース」からの情報種別「緊急速報」のプッシュ情報を発話する優先順位は「１」である。
【００５５】
優先順位「１」は、例えば、優先度「Ａ」を示す。また、優先順位「２」は、例えば、優先度「Ｂ」を示す。優先度「Ａ」は、例えば、対話状態Ａであるとき、または、対話状態Ａから遷移可能な、対話状態Ａの対話強度以下である対話状態Ｂ〜Ｇであるときに発話可能であることを示す。また、優先度「Ｂ」は、例えば、対話状態Ｂであるとき、または、対話状態Ｂから遷移可能な、対話状態Ｂの対話強度以下である対話状態Ｄ〜Ｇであるときに発話可能であることを示す。
【００５６】
情報処理装置１００は、例えば、情報ソースから、情報種別ごとの優先順位を受信することにより、初期設定情報テーブル５００を生成する。これにより、情報処理装置１００は、ユーザが情報種別ごとの優先度を設定していない場合であっても、情報種別ごとの優先順位から優先度を特定して用いることができる。
【００５７】
（ユーザ設定情報テーブル６００のデータ構造の一例）
図６は、ユーザ設定情報テーブル６００のデータ構造の一例を示す説明図である。図６に示すように、ユーザ設定情報テーブル６００は、情報ソースと、情報種別と、優先度と、重要度とのフィールドを有する。ユーザ設定情報テーブル６００は、各フィールドに情報を設定することにより、ユーザ設定情報がレコードとして記憶される。
【００５８】
情報ソースのフィールドは、プッシュ情報を配信する配信元を識別する情報が設定される。情報種別のフィールドは、配信元から配信されるプッシュ情報の種別が設定される。優先度のフィールドは、ユーザ１０１が操作入力した、プッシュ情報を発話する優先度合いを示す値が設定される。
【００５９】
優先順位のフィールドは、どのくらいの対話強度であればプッシュ情報を発話してもよいかを示し、緊急性が比較的高いプッシュ情報であるほど対話強度が小さくても優先して発話することを示す。具体的には、情報ソース「○○ニュース」からの情報種別「緊急速報」のプッシュ情報を発話する優先度は「Ａ」である。
【００６０】
重要度のフィールドは、ユーザ１０１が操作入力した、プッシュ情報を確実にユーザ１０１に提供するように図ることが好ましいか否かを示す値が設定される。重要度のフィールドは、プッシュ情報をユーザ１０１に提供する確実性を向上させることが好ましいか否かを示し、確実性を向上させることが好ましい場合には対話強度が大きくなるように誘導行動を実行することが好ましいことを示す。
【００６１】
具体的には、情報ソース「○○ニュース」からの情報種別「緊急速報」のプッシュ情報の重要度は「高」である。重要度「高」は、例えば、対話強度が大きくなるように誘導行動を実行することが好ましいことを示す。また、重要度「低」は、例えば、対話強度が大きくなるように誘導行動を実行しなくてもよいことを示す。
【００６２】
情報処理装置１００は、例えば、ユーザの操作入力に基づいて、情報ソースの情報種別ごとの優先度や重要度の入力を受け付けることにより、ユーザ設定情報テーブル６００を生成する。これにより、情報処理装置１００は、ユーザの要望する発話情報を発話する優先度合いや発話情報を提供する確実度合いを反映した、情報ソースの情報種別ごとの優先度や重要度を特定して用いることができる。
【００６３】
（スタック７００のデータ構造の一例）
図７は、スタック７００のデータ構造の一例を示す説明図である。図７に示すように、スタック７００は、配信順位と、情報ボディと、重要度と、優先度と、情報配信期限と、スタック時刻と、情報種別と、情報ソースとのフィールドを有する。スタック７００は、各フィールドに情報を設定することにより、発話情報がレコードとして記憶される。
【００６４】
配信順位のフィールドは、レコードの番号が設定され、発話条件を満たすか否かを判定する順番を示す。情報ボディのフィールドは、プッシュ情報の内容が設定される。重要度のフィールドは、ユーザ設定情報テーブル６００を参照することにより、プッシュ情報の情報種別に対応する重要度が設定される。優先度のフィールドは、初期設定情報テーブル５００、または、ユーザ設定情報テーブル６００を参照することにより、プッシュ情報の情報種別に対応する優先度が設定される。
【００６５】
情報配信期限のフィールドは、プッシュ情報を発話する期限が設定される。スタック時刻のフィールドは、プッシュ情報を受け付けた時刻、または、レコードが追加された時刻が設定される。情報種別のフィールドは、配信元から配信されるプッシュ情報の種別が設定される。情報ソースのフィールドは、プッシュ情報を配信する配信元を識別する情報が設定される。
【００６６】
スタック７００は、発話されずに削除された発話情報の存在をまとめて管理するまとめ用発話情報を記憶してもよい。スタック７００は、例えば、発話されずに削除された発話情報の情報ソースと情報種別とを、発話内容に含む発話情報に対応するレコード７０６を記憶する。
【００６７】
（情報配信装置２０１のハードウェア構成例）
情報配信装置２０１のハードウェア構成例は、例えば、図３に示した情報処理装置１００のハードウェア構成例と同様であるため、説明を省略する。また、情報配信装置２０１は、例えば、発話装置２０２を有さなくてよい。また、情報配信装置２０１は、例えば、ディスクドライブやディスクなどを有さなくてもよい。また、情報配信装置２０１は、例えば、ＳＳＤ、半導体メモリ、スキャナ、プリンタなどを有してもよい。
【００６８】
（情報処理装置１００の機能的構成例）
次に、図８を用いて、情報処理装置１００の機能的構成例について説明する。
【００６９】
図８は、情報処理装置１００の機能的構成例を示すブロック図である。情報処理装置１００は、記憶部８０１と、受付部８０２と、特定部８０３と、調停部８０４と、命令部８０５とを含む。記憶部８０１は、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶領域によって実現される。受付部８０２〜命令部８０５は、制御部となる機能であり、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶領域に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、ディスク３０５などの記憶領域に記憶される。
【００７０】
記憶部８０１は、発話情報を記憶する。発話情報は、例えば、発話条件および発話内容を含む。発話情報は、具体的には、図７に示した、情報ボディと、重要度と、優先度と、情報配信期限と、スタック時刻と、情報種別と、情報ソースとを対応付けた情報である。情報ボディは、発話内容に対応する情報である。優先度は、発話条件に対応する情報である。
【００７１】
発話内容は、例えば、広告、ニュース、天気予報、緊急速報、メール、チャット、スケジュールなどに関する内容である。発話条件は、例えば、発話装置２０２に発話情報を発話させる優先度に応じた条件である。発話条件は、具体的には、発話装置２０２とユーザ１０１との対話強度に応じて階層化された複数の対話状態のうち、いずれかの対話状態を示す。対話状態は、図４に示した対話状態定義４００によって定義された状態である。
【００７２】
記憶部８０１は、例えば、図７に示したスタック７００を記憶する。これにより、記憶部８０１は、発話情報を受け付けたときに発話情報の発話内容を発話しなくても、発話内容をまだ発話していない発話情報を記憶しておき、発話内容を発話することを後回しにすることができる。
【００７３】
受付部８０２は、発話情報を取得して記憶部８０１に記憶する。発話情報は、さらに、発話内容の重要度を含んでもよい。発話情報は、さらに、発話内容の発話期限を含んでよい。発話期限は、図７に示した情報配信期限に対応する情報である。
【００７４】
受付部８０２は、例えば、発話内容を受信する。受付部８０２は、例えば、第１の対応情報に基づいて、受信した発話内容の種別に対応付けられた発話条件を特定する。受付部８０２は、受信した発話内容と、特定した発話条件とを含む発話情報を生成し、記憶部８０１に記憶する。第１の対応情報とは、発話内容の種別と発話条件とを対応付けた情報である。第１の対応情報は、例えば、図５に示した初期設定情報テーブル５００または図６に示したユーザ設定情報テーブル６００である。
【００７５】
受付部８０２は、具体的には、情報配信装置２０１からプッシュ情報を受信する。プッシュ情報は、例えば、情報ソース、情報種別、情報配信期限、および、情報ボディを含む。受付部８０２は、図６に示したユーザ設定情報テーブル６００を参照して、受信したプッシュ情報に含まれる情報種別に対応する優先度と重要度とを特定する。受付部８０２は、受信したプッシュ情報と、特定した優先度と重要度とを対応付けた発話情報を生成して、スタック７００に追加する。
【００７６】
ここで、受付部８０２は、図６に示したユーザ設定情報テーブル６００がなければ、初期設定情報テーブル５００を参照して、受信したプッシュ情報に含まれる情報種別に対応する優先度を特定してもよい。また、受付部８０２は、図６に示したユーザ設定情報テーブル６００がなければ、ユーザ設定情報テーブル６００がないときに用いるように予め設定された重要度を特定してもよい。受付部８０２は、受信したプッシュ情報と、特定した優先度と重要度とを対応付けた発話情報を生成して、スタック７００に追加する。これにより、受付部８０２は、発話内容の種別に応じて、ユーザ１０１が予め設定した規則にしたがって、発話内容の優先度を特定することができ、記憶部８０１の記憶内容を更新することができる。
【００７７】
また、受付部８０２は、例えば、発話内容を受信し、第２の対応情報に基づいて、受信した発話内容の種別に対応付けられた重要度を特定し、受信した発話内容と、特定した重要度とを含む発話情報を記憶部８０１に記憶してもよい。第２の対応情報とは、発話内容の種別と重要度とを対応付けた情報である。第２の対応情報は、例えば、図６に示したユーザ設定情報テーブル６００である。
【００７８】
受付部８０２は、具体的には、情報配信装置２０１からプッシュ情報を受信し、図６に示したユーザ設定情報テーブル６００を参照して、受信したプッシュ情報に含まれる情報種別に対応する優先度と重要度とを特定する。受付部８０２は、受信したプッシュ情報と、特定した優先度と重要度とを対応付けた発話情報を生成して、スタック７００に追加する。これにより、受付部８０２は、発話内容の種別に応じて、ユーザ１０１が予め設定した規則にしたがって、発話内容の重要度を特定することができ、記憶部８０１の記憶内容を更新することができる。
【００７９】
また、受付部８０２は、例えば、発話条件および発話内容を含む発話情報を受け付けてもよい。受付部８０２は、具体的には、情報配信装置２０１から、さらに優先度や重要度が設定されたプッシュ情報を受信し、受信したプッシュ情報を含む発話情報を、スタック７００に追加してもよい。これにより、受付部８０２は、ユーザ１０１が予め規則を設定しなくても、発話内容の重要度を特定することができ、記憶部８０１の記憶内容を更新することができる。
【００８０】
特定部８０３は、発話情報を発話する発話装置２０２と発話装置２０２のユーザ１０１との対話状態を特定する。特定部８０３は、ユーザ１０１のバーバル情報およびノンバーバル情報に基づいて、発話装置２０２とユーザ１０１との対話状態を特定する。バーバル情報とは、ユーザ１０１の発話によって得られる情報である。バーバル情報は、例えば、入力装置３１０によって得られる情報である。バーバル情報は、具体的には、マイクによって得られる情報である。ノンバーバル情報とは、ユーザ１０１の発話によらずに得られる情報である。ノンバーバル情報は、例えば、入力装置３１０によって得られる情報である。ノンバーバル情報は、具体的には、タッチセンサやイメージセンサによって得られる情報である。ノンバーバル情報は、具体的には、文字、数字、各種指示などの入力のためのキーによって得られる情報であってもよい。
【００８１】
特定部８０３は、例えば、イメージセンサから得られる画像に基づいて、人間の顔認識技術を用いて、情報処理装置１００の周辺にユーザ１０１が居る状態か、または、居ない状態であるかを特定する。特定部８０３は、例えば、マイクから得られる音声情報に基づいて、音声認識技術を用いて、情報処理装置１００に対してユーザ１０１が発話中であるか否かを特定する。対話状態を特定する技術としては、例えば、特開２０１５−３６９１５号公報に記載の技術を参照することができる。これにより、特定部８０３は、発話装置２０２とユーザ１０１との対話状態を特定し、どのくらいの対話強度であるかを特定することができる。
【００８２】
調停部８０４は、特定部８０３が特定した対話状態が発話条件を満たした発話情報を、特定部８０３が特定した対話状態が発話条件を満たさない発話情報よりも優先して、発話装置２０２に出力させる。出力は、例えば、情報をユーザ１０１が受け取り可能な状態を比較的長い時間維持しておくことが難しい形式によって行われる。出力は、例えば、発話である。また、出力は、例えば、表示領域への表示であってもよい。表示は、具体的には、比較的小さい表示領域や、一定間隔で表示内容がリセットされる表示領域を用いて行われる。対話状態が発話条件を満たすとは、例えば、対話状態の対話強度が、発話条件が示す対話状態の対話強度以上であることである。発話装置２０２に発話させることは、例えば、命令部８０５を制御して、命令部８０５から発話装置２０２に動作命令を発行させることにより実現される。調停部８０４が、発話情報を発話装置２０２に発話させる具体例については、例えば、図１１および図１２を参照することができる。
【００８３】
調停部８０４は、例えば、所定のタイミングで、記憶部８０１に記憶された発話情報のうち、相対的に対話強度が小さい対話状態を示す発話条件を含む発話情報を読み出す。次に、調停部８０４は、特定部８０３が特定した対話状態の対話強度が、読み出した発話情報に含まれる発話条件が示す対話状態の対話強度以上である場合に、読み出した発話情報に含まれる発話条件を満たすと判定する。そして、調停部８０４は、読み出した発話情報に含まれる発話条件を満たすと判定した場合に、読み出した発話情報を発話装置２０２に発話させる。
【００８４】
調停部８０４は、具体的には、一定時間ごとに、スタック７００から相対的に優先度が大きい発話情報を読み出す。次に、調停部８０４は、図４に示した対話状態定義４００を参照し、特定した対話状態の階層が、読み出した発話情報の優先度が示す対話状態の階層以下であれば、発話条件を満たすと判定する。そして、調停部８０４は、発話条件を満たす場合に、読み出した発話情報の情報ボディを発話装置２０２に発話させる。
【００８５】
これにより、調停部８０４は、発話条件を満たす発話情報を優先的に発話することにより、誘導行動を実行しなくても、比較的対話強度が大きい発話状態へと誘導することができる。結果として、調停部８０４は、後回しにした発話情報に含まれる発話条件が満たされやすくすることができ、効率よく発話情報をユーザ１０１に提供することができる。また、情報処理装置１００は、発話条件を考慮せずに発話情報を発話してしまい、当該発話情報をユーザ１０１に提供しづらくなることを抑制することができる。
【００８６】
また、調停部８０４は、例えば、さらに、読み出した発話情報に含まれる重要度が所定値以上であるか否かを判定する。閾値は、例えば、「高」である。そして、調停部８０４は、読み出した発話情報に含まれる発話条件を満たさず、かつ、読み出した発話情報に含まれる重要度が所定値以上であると判定した場合には、誘導行動を実行する。誘導行動は、特定した対話状態よりも対話強度が大きい対話状態へとユーザ１０１を誘導する行動である。
【００８７】
調停部８０４は、具体的には、読み出した発話情報に含まれる重要度が、「高」であるか否かを判定する。そして、調停部８０４は、発話条件を満たさず、重要度が「高」である場合には、ユーザ１０１に対して誘導行動を実行する。これにより、調停部８０４は、重要度が比較的高く、ユーザ１０１に発話情報を提供する確実性を向上させることが望まれる場合には、誘導行動を実行して、よりユーザ１０１が発話情報を受け取りやすくすることができる。
【００８８】
また、調停部８０４は、例えば、読み出した発話情報に含まれる発話条件を満たし、かつ、読み出した発話情報に含まれる重要度が所定値以上であると判定した場合には、誘導行動を実行する。そして、調停部８０４は、誘導行動を実行した後に、読み出した発話情報を発話装置２０２に発話させる。
【００８９】
調停部８０４は、具体的には、発話条件を満たし、重要度が「高」である場合には、ユーザ１０１に対して誘導行動を実行し、誘導行動によって対話状態が変わらなくても、読み出した発話情報を発話装置２０２に発話させる。これにより、調停部８０４は、発話条件を満たしていても、重要度が比較的高ければ、ユーザ１０１に発話情報を提供する確実性を向上させることができる。
【００９０】
また、調停部８０４は、例えば、読み出した発話情報に含まれる発話条件を満たし、かつ、読み出した発話情報に含まれる重要度が所定値未満であると判定した場合には、読み出した発話情報を発話装置２０２に発話させる。
【００９１】
調停部８０４は、具体的には、発話条件を満たし、重要度が「低」である場合には、ユーザ１０１に対して誘導行動を実行せず、読み出した発話情報を発話装置２０２に発話させる。これにより、調停部８０４は、発話条件を満たしていれば、優先的にユーザ１０１に発話情報を提供することができる。
【００９２】
調停部８０４は、記憶部８０１に同一の発話条件を含む複数の発話情報が記憶された場合には、当該発話条件と複数の発話情報それぞれに含まれる発話内容をまとめた発話内容とを含む新たな発話情報へと、複数の発話情報を置き換える。
【００９３】
調停部８０４は、例えば、スタック７００を参照して、優先度や重要度や情報種別が同一である複数の発話情報がスタック７００にあれば、複数の発話情報それぞれの情報ボディを統合した新たな発話情報を生成する。そして、調停部８０４は、スタック７００において、優先度や重要度や情報種別が同一である複数の発話情報を、生成した新たな発話情報で置き換える。これにより、調停部８０４は、複数の発話情報が別々に提供されることを抑制し、ユーザ１０１の睡眠を妨げたり作業を中断させたりする頻度の低減化を図ることができ、複数の発話情報をユーザ１０１に効果的に提供することができる。情報ボディを統合する具体例については、例えば、図１３を参照することができる。
【００９４】
調停部８０４は、記憶部８０１に発話期限を超えた発話情報があり、当該発話情報に含まれる重要度が所定値以上である場合には、当該発話情報の存在を示す情報を含む新たな発話情報を記憶部８０１に追加する。
【００９５】
調停部８０４は、例えば、情報配信期限を超えた発話情報を削除し、発話されずに削除された発話情報の存在をまとめて管理するまとめ用発話情報をスタック７００に用意する。そして、調停部８０４は、発話情報を削除する都度、削除した発話情報の存在を示す情報をまとめ用発話情報に追加する。これにより、調停部８０４は、複数の発話情報が別々に提供されることを抑制し、ユーザ１０１の睡眠を妨げたり作業を中断させたりする頻度の低減化を図ることができ、複数の発話情報をユーザ１０１に効果的に提供することができる。そして、調停部８０４は、ユーザ１０１に発話情報が削除されたことを把握させることができる。削除された発話情報の存在を管理する具体例については、例えば、図１４を参照することができる。
【００９６】
調停部８０４は、記憶部８０１に発話期限を超えた発話情報がある場合には、当該発話情報を記憶部８０１から削除する。調停部８０４は、例えば、情報配信期限を超えた発話情報を削除する。これにより、調停部８０４は、スタック７００に記憶される発話情報の増大化を抑制し、ユーザ１０１に提供する発話情報の増大化を抑制し、発話装置２０２とユーザ１０１との対話にかかる時間の増大化を抑制することができる。
【００９７】
また、調停部８０４は、例えば、所定のタイミングで、記憶部８０１に記憶された発話情報を読み出し、特定部８０３が特定した対話状態が、読み出した発話情報に含まれる発話条件を満たすか否かを判定してもよい。そして、調停部８０４は、読み出した発話情報に含まれる発話条件を満たさないと判定した場合には、読み出した発話情報よりも、特定部８０３が特定した対話状態が発話条件を満たす他の発話情報を優先して発話装置２０２に発話させる。
【００９８】
命令部８０５は、調停部８０４の制御にしたがって、発話装置２０２を動作させる。命令部８０５は、発話装置２０２の発話や振る舞いなどを制御するために、発話装置２０２が有するスピーカやサーボモータやディスプレイなどの出力装置３２０を制御する動作命令を、発話装置２０２に発行する。これにより、命令部８０５は、調停部８０４の制御にしたがって、発話装置２０２に発話内容を発話させることができる。
【００９９】
情報処理装置１００は、例えば、各機能部によって、発話情報の優先度や重要度、および、発話装置２０２とユーザ１０１との対話状態とに基づいて、発話情報をユーザ１０１に提供する方法を使い分けることができる。これにより、情報処理装置１００は、発話情報を効果的にユーザ１０１に提供することができるとともに、ユーザ１０１の睡眠を妨げたり作業を中断させたりする頻度の低減化を図ることができる。
【０１００】
発話情報を提供する第１の方法は、例えば、発話装置２０２とユーザ１０１との対話状態が発話条件を満たす場合に、ユーザ１０１に対する誘導動作を実行した後、発話装置２０２とユーザ１０１との対話状態に関わらず発話情報を発話する方法である。また、発話情報を提供する第２の方法は、例えば、発話装置２０２とユーザ１０１との対話状態が発話条件を満たさない場合に、ユーザ１０１に対する誘導動作を実行した後、発話装置２０２とユーザ１０１との対話状態が発話条件を満たすまで待機する方法である。第２の方法は、待機した結果、発話条件が満たされてから発話情報を発話する。
【０１０１】
また、発話情報を提供する第３の方法は、例えば、発話装置２０２とユーザ１０１との対話状態が発話条件を満たす場合に、ユーザ１０１に対する誘導動作を実行せずに発話情報を発話する方法である。また、発話情報を提供する第４の方法は、例えば、発話装置２０２とユーザ１０１との対話状態が発話条件を満たさない場合に、ユーザ１０１に対する誘導動作を実行せずに発話装置２０２とユーザ１０１との対話状態が発話条件を満たすまで待機する方法である。第４の方法は、待機した結果、発話条件が満たされてから発話情報を発話する。
【０１０２】
また、情報処理装置１００は、例えば、各機能部によって、発話情報の優先度や重要度や発話期限に基づいて、発話情報を削除し、複数の発話情報を統合し、または、発話期限を超えた発話情報の存在をまとめて管理する発話情報を生成することができる。これにより、情報処理装置１００は、発話情報を効果的にユーザ１０１に提供することができるとともに、ユーザ１０１の睡眠を妨げたり作業を中断させたりする頻度の低減化を図ることができる。
【０１０３】
（情報処理装置１００の機能的構成の具体例）
次に、図９を用いて、情報処理装置１００の機能的構成の具体例について説明する。
【０１０４】
図９は、情報処理装置１００の機能的構成の具体例を示すブロック図である。図９の例では、発話装置２０２がロボット９００である場合について説明する。ロボット９００は、ロボット９００を動かす複数のサーボモータ９０１、音声を出力するスピーカ９０２などを有する。また、ロボット９００は、ユーザ１０１からの働き掛けを検出するカメラ９０３、ロボット９００各部に設置されたタッチセンサ９０４、ユーザ１０１からの音声を検出するマイク９０５などを有する。
【０１０５】
また、情報処理装置１００は、インターフェース部９１０と、プッシュ情報購読アプリ部９２０と、タッチセンサ検出部９３０と、音声検出部９４０と、顔画像検出部９５０と、対話状態推定部９６０と、タイミング調停部９７０と、実行制御部９８０とを含む。
【０１０６】
インターフェース部９１０は、例えば、情報配信装置２０１からプッシュ情報を受け付ける。プッシュ情報購読アプリ部９２０は、インターフェース部９１０を介して情報配信装置２０１から配信されたプッシュ情報を含む発話情報を、スタック７００に登録することにより管理する。
【０１０７】
タッチセンサ検出部９３０は、ロボット９００のタッチセンサ９０４から得られる情報から、ユーザ１０１によってロボット９００がタッチされたことを検出する。音声検出部９４０は、ロボット９００のマイク９０５から得られる情報から、ユーザ１０１の音声区間や語句を認識する。顔画像検出部９５０は、ロボット９００のカメラ９０３から得られる画像情報から、人の顔判定や表情、動きを検出する。対話状態推定部９６０は、タッチセンサ検出部９３０と、音声検出部９４０と、顔画像検出部９５０となどの検出結果に基づいて、ロボット９００とユーザ１０１との対話状態を特定する。
【０１０８】
タイミング調停部９７０は、対話状態推定部９６０によって推定されたユーザ１０１の対話状態に基づき受信したプッシュ情報のタイミングを調停する。実行制御部９８０は、ロボット９００の発話や振る舞いなどを制御するために、ロボット９００のスピーカ９０２やサーボモータ９０１を制御する動作命令を発行する。
【０１０９】
受付部８０２は、例えば、インターフェース部９１０と、プッシュ情報購読アプリ部９２０とによって実現される。特定部８０３は、例えば、タッチセンサ検出部９３０と、音声検出部９４０と、顔画像検出部９５０と、対話状態推定部９６０とによって実現される。調停部８０４は、例えば、タイミング調停部９７０によって実現される。命令部８０５は、例えば、実行制御部９８０によって実現される。
【０１１０】
（情報処理装置１００の動作例）
次に、図１０を用いて、情報処理装置１００の動作例について説明する。
【０１１１】
図１０は、情報処理装置１００の動作例を示す説明図である。図１０の例では、（１０−１）クラウド上の情報配信装置２０１は、プッシュ情報を情報処理装置１００に配信する。プッシュ情報は、例えば、情報ソース、情報種別、情報配信期限、および、情報ボディを含む。情報ボディは、例えば、広告、ニュース、天気予報、緊急速報、メール、チャット、スケジュールなどに関する情報である。
【０１１２】
（１０−２）情報処理装置１００は、プッシュ情報購読アプリ部９２０によって、プッシュ情報を受信する。情報処理装置１００は、プッシュ情報を受信すると、プッシュ情報から情報種別を読み出し、初期設定情報テーブル５００やユーザ設定情報テーブル６００を参照して情報種別に対応する優先度および重要度を特定する。このとき、情報処理装置１００は、例えば、ユーザが情報種別ごとの優先度や重要度を設定しておらずユーザ設定情報テーブル６００がなければ、初期設定情報テーブル５００を参照する。また、情報処理装置１００は、ユーザ設定情報テーブル６００があれば、ユーザ設定情報テーブル６００を参照する。情報処理装置１００は、プッシュ情報と、特定した優先度および重要度と、プッシュ情報を受信したスタック時刻とを対応付けた発話情報を生成して、スタック７００に追加する。
【０１１３】
情報処理装置１００は、スタック７００の発話情報を重要度が高い順に、重要度が同じであれば優先度が高い順に、優先度が同じであれば情報配信期限が近い順に、情報配信期限が同じであればスタック時刻が早い順に、そして情報種別ごとにまとめてソートする。これにより、情報処理装置１００は、発話装置２０２とユーザ１０１との対話状態が、発話条件を満たしやすい順にソートすることができる。
【０１１４】
（１０−３）情報処理装置１００は、スタック７００の発話情報を、一定時間ごとに１つずつ順番に読み出す。一定時間は、例えば、１秒である。情報処理装置１００は、発話装置２０２が有する入力装置３１０から得られた情報に基づいて、対話状態定義４００によって定義された複数の対話状態のうち現在の発話装置２０２とユーザ１０１との対話状態を特定する。情報処理装置１００は、読み出した発話情報の優先度や重要度、および、現在の発話装置２０２とユーザ１０１との対話状態とに基づいて、発話情報の情報ボディをユーザ１０１に提供する方法として、上述した第１の方法〜第４の方法のいずれかを実行する。
【０１１５】
情報処理装置１００は、例えば、特定した対話状態が発話条件を満たし、かつ、重要度が「高」である場合に、第１の方法を実行する。発話条件は、現在の対話状態が、発話情報の優先度が示す対話状態、または、発話情報の優先度が示す対話状態から遷移可能な当該対話状態の下位にある階層の対話状態であることである。情報処理装置１００は、第１の方法では、例えば、ユーザ１０１に対する誘導動作を実行した後、対話状態に関わらず情報ボディを発話する。これにより、情報処理装置１００は、情報ボディがユーザ１０１に提供される確実性の向上を図ることができる。
【０１１６】
また、情報処理装置１００は、例えば、特定した対話状態が発話条件を満たさず、かつ、重要度が「高」である場合に、第２の方法を実行する。情報処理装置１００は、第２の方法では、例えば、ユーザ１０１に対する誘導動作を実行した後、対話状態が発話条件を満たすまで待機してから情報ボディを発話する。これにより、情報処理装置１００は、情報ボディがユーザ１０１に提供される確実性の向上を図ることができる。
【０１１７】
また、情報処理装置１００は、例えば、特定した対話状態が発話条件を満たし、かつ、重要度が「低」である場合に、第３の方法を実行する。情報処理装置１００は、第３の方法では、例えば、ユーザ１０１に対する誘導動作を実行せずに情報ボディを発話する。これにより、情報処理装置１００は、情報ボディを優先して発話することができる。
【０１１８】
また、情報処理装置１００は、例えば、特定した対話状態が発話条件を満たさず、かつ、重要度が「低」である場合に、第４の方法を実行する。情報処理装置１００は、第４の方法では、ユーザ１０１に対する誘導動作を実行せずに、対話状態が発話条件を満たすまで待機してから情報ボディを発話する。これにより、情報処理装置１００は、情報ボディがユーザ１０１に提供される確実性の向上を図ることができる。情報処理装置１００が情報ボディをユーザ１０１に提供する具体例については、図１１および図１２に後述する。
【０１１９】
（１０−４）情報処理装置１００は、例えば、発話情報の優先度や重要度や情報配信期限に基づいて、優先度や重要度や情報種別が同一である複数の発話情報がスタック７００にあれば、複数の発話情報の情報ボディを統合した新たな発話情報を生成する。これにより、情報処理装置１００は、複数の発話情報が別々に提供されることを抑制し、ユーザ１０１の睡眠を妨げたり作業を中断させたりする頻度の低減化を図ることができ、複数の発話情報をユーザ１０１に効果的に提供することができる。情報処理装置１００が情報ボディを統合する具体例については、図１３を用いて後述する。
【０１２０】
情報処理装置１００は、例えば、情報配信期限を超えた発話情報を削除する。情報処理装置１００は、例えば、発話されずに削除された発話情報の存在をまとめて管理するまとめ用発話情報をスタック７００に用意し、発話情報を削除する都度、削除した発話情報の存在を示す情報をまとめ用発話情報に追加してもよい。これにより、情報処理装置１００は、複数の発話情報が別々に提供されることを抑制し、ユーザ１０１の睡眠を妨げたり作業を中断させたりする頻度の低減化を図ることができ、複数の発話情報をユーザ１０１に効果的に提供することができる。また、情報処理装置１００は、ユーザ１０１に発話情報が削除されたことを把握させることができる。情報処理装置１００が削除された発話情報の存在を管理する具体例については、図１４を用いて後述する。
【０１２１】
以上のように、情報処理装置１００は、スタック７００に発話条件を満たす発話情報があれば、発話条件を満たす発話情報を先に発話することにより、発話装置２０２とユーザ１０１との発話状態を、比較的対話強度が大きい発話状態へと誘導することができる。そして、情報処理装置１００は、比較的対話強度が大きい発話状態へと誘導することにより、後回しにした発話情報に含まれる発話条件が満たされやすくすることができる。
【０１２２】
結果として、情報処理装置１００は、例えば、対話状態が発話情報に含まれる発話条件を満たしていなければ、当該発話情報を発話しづらくすることができる。そして、情報処理装置１００は、発話条件を考慮せずに発話情報を発話してしまい、当該発話情報をユーザ１０１に提供しづらくなることを抑制することができる。
【０１２３】
また、情報処理装置１００は、例えば、発話条件を満たさない発話情報を発話するために誘導動作を実行しなくても、発話条件を満たさない発話情報を、発話条件を満たす発話情報に続けて発話することができる。このため、情報処理装置１００は、複数の発話情報をまとめて発話しやすくなり、ユーザ１０１の睡眠を妨げたり作業を中断させたりする頻度の低減化を図ることができ、ユーザ１０１が「邪魔に感じる」ことを抑制することができる。
【０１２４】
また、情報処理装置１００は、例えば、発話条件が同一である発話情報があれば、別々に発話することを抑制し、まとめて発話することができる。このため、情報処理装置１００は、複数の発話情報をまとめて発話しやすくなり、ユーザ１０１の睡眠を妨げたり作業を中断させたりする頻度の低減化を図ることができ、ユーザ１０１が「邪魔に感じる」ことを抑制することができる。
【０１２５】
また、情報処理装置１００は、例えば、重要度が「高」である発話情報については、ユーザ１０１の誘導行動を実行することにより、発話情報の情報ボディがユーザ１０１に提供される確実性の向上を図ることができる。
【０１２６】
（情報ボディをユーザ１０１に提供する具体例）
次に、図１１および図１２を用いて、図１０の（１０−３）に示したように情報処理装置１００が情報ボディをユーザ１０１に提供する具体例について説明する。
【０１２７】
図１１および図１２は、情報ボディをユーザ１０１に提供する具体例を示す説明図である。図１１の例では、表１１０１は、時間軸において、優先度「Ａ」かつ重要度「低」のプッシュ情報ＰＡが配信された時点から、優先度「Ａ」かつ重要度「低」のプッシュ情報ＰＡの情報配信期限までの期間を示す。表１１０２は、時間軸において、優先度「Ｃ」かつ重要度「低」のプッシュ情報ＰＣが配信された時点から、優先度「Ｃ」かつ重要度「低」のプッシュ情報ＰＣの情報配信期限までの期間を示す。
【０１２８】
表１１０３は、時間軸において、優先度「Ｅ」かつ重要度「高」のプッシュ情報ＰＥが配信された時点から、優先度「Ｅ」かつ重要度「高」のプッシュ情報ＰＥの情報配信期限までの期間を示す。表１１０４は、時間軸において、優先度「Ｆ」かつ重要度「低」のプッシュ情報ＰＦが配信された時点から、優先度「Ｆ」かつ重要度「低」のプッシュ情報ＰＦの情報配信期限までの期間を示す。
【０１２９】
表１１０５は、時間軸における発話装置２０２とユーザ１０１との対話状態の変化を示す。表１１０５において、例えば、「ＮＯ  ＨＵＭＡＮ」は、発話装置２０２の周辺にユーザ１０１が居ない状態である期間を示す。表１１０５において、例えば、「ＨＵＭＡＮ」は、発話装置２０２の周辺にユーザ１０１が居る状態である期間を示す。表１１０５において、例えば、「ＧＡＺＥ」は、発話装置２０２にユーザ１０１が興味ありの状態である期間を示す。
【０１３０】
情報処理装置１００は、時点ｔ１において、プッシュ情報ＰＡを受け付け、プッシュ情報ＰＡを含む発話情報を生成してスタック７００に追加する。情報処理装置１００は、「ＮＯ  ＨＵＭＡＮ」が優先度「Ａ」に対応する発話条件を満たし、かつ、プッシュ情報ＰＡの重要度が「低」であるため、プッシュ情報ＰＡに含まれる情報ボディを発話する。また、情報処理装置１００は、プッシュ情報ＰＡの重要度が「高」であれば、ユーザ１０１に対する誘導動作を実行してから、プッシュ情報ＰＡに含まれる情報ボディを発話してもよい。ここで、図１２の説明に移行し、誘導動作について説明する。
【０１３１】
図１２に示すように、情報処理装置１００は、現在の対話状態よりも下位階層におけるどのような対話状態であるのかを特定し、現在の対話状態から下位階層の対話状態に遷移するように、ユーザ１０１に対する誘導動作を実行することができる。
【０１３２】
情報処理装置１００は、例えば、現在の対話状態が、第１階層の対話状態であれば、誘導動作として「探索行動」を実行する。「探索行動」は、例えば、発話装置２０２が動き回ったり上下左右を見渡したりして、ユーザ１０１を発見するように試みる行動である。これにより、情報処理装置１００は、第１階層の対話状態「Ａ：状態不明」から、第２階層の対話状態「Ｂ：居ない」または「Ｃ：居る」のいずれかに遷移させることができる。
【０１３３】
また、情報処理装置１００は、例えば、現在の対話状態が、第２階層の対話状態であれば、誘導動作として「アイコンタクト、顔追従、つぶやき」を実行する。「アイコンタクト、顔追従、つぶやき」は、例えば、ユーザ１０１の興味を引きつけるように試みる行動である。これにより、情報処理装置１００は、ユーザ１０１の興味の有無を特定することができる。そして、情報処理装置１００は、現在の対話状態が第２階層の対話状態「Ｂ：居ない」であれば、対話状態「Ｃ：居る」に遷移させることができる。さらに、情報処理装置１００は、第２階層の対話状態「Ｃ：居る」から、第３階層の対話状態「Ｄ：興味なし」または「Ｅ：興味あり」のいずれかに遷移させることができる。
【０１３４】
また、情報処理装置１００は、例えば、現在の対話状態が、第３階層の対話状態であれば、誘導動作として「声掛け、呼び掛け」を実行する。「声掛け、呼び掛け」は、例えば、「ねぇねぇ」や「聞いて」などの声掛けや呼び掛けであり、ユーザ１０１へ話しかけることを意識させ、ユーザ１０１を傾聴させるように試みる行動である。これにより、情報処理装置１００は、現在の対話状態が第３階層の対話状態「Ｄ：興味なし」であれば、対話状態「Ｅ：興味あり」に遷移させることができる。さらに、情報処理装置１００は、第３階層の対話状態「Ｅ：興味あり」から、第４階層の対話状態「Ｆ：対話なし」または「Ｇ：対話中」のいずれかに遷移させることができる。
【０１３５】
また、情報処理装置１００は、例えば、現在の対話状態が、第４階層の対話状態「Ｆ：対話なし」であれば、誘導動作として「フィラー」を実行する。「フィラー」は、例えば、「えーと」や「あのー」などを発話することによって、ユーザ１０１へ割り込んで話をして情報処理装置１００が発話側になるように図る行動である。これにより、情報処理装置１００は、現在の対話状態が第４階層の対話状態「Ｆ：対話なし」であれば、対話状態「Ｇ：対話中」に遷移させることができる。
【０１３６】
図１１に戻り、情報処理装置１００は、時点ｔ２において、プッシュ情報ＰＦを受け付け、プッシュ情報ＰＦを含む発話情報を生成してスタック７００に追加する。情報処理装置１００は、「ＮＯ  ＨＵＭＡＮ」が優先度「Ｆ」に対応する発話条件を満たさず、かつ、プッシュ情報ＰＦの重要度が「低」であるため、プッシュ情報ＰＦに含まれる情報ボディを発話せずに発話条件が満たされるまで待機する。また、情報処理装置１００は、プッシュ情報ＰＦの重要度が「高」であれば、ユーザ１０１に対する誘導動作を実行し、優先度「Ｆ」に対応する発話条件が満たされるようにしてもよい。
【０１３７】
情報処理装置１００は、時点ｔ３において、プッシュ情報ＰＣを受け付け、プッシュ情報ＰＣを含む発話情報を生成してスタック７００に追加する。情報処理装置１００は、「ＮＯ  ＨＵＭＡＮ」が優先度「Ｃ」に対応する発話条件を満たさず、かつ、プッシュ情報ＰＣの重要度が「低」であるため、プッシュ情報ＰＣに含まれる情報ボディを発話せずに発話条件が満たされるまで待機する。また、情報処理装置１００は、プッシュ情報ＰＣの重要度が「高」であれば、ユーザ１０１に対する誘導動作を実行し、優先度「Ｃ」に対応する発話条件が満たされるようにしてもよい。
【０１３８】
時刻ｔ４において、対話状態が「ＮＯ  ＨＵＭＡＮ」から「ＨＵＭＡＮ」に遷移したとする。情報処理装置１００は、時点ｔ４において、「ＨＵＭＡＮ」が優先度「Ｃ」に対応する発話条件を満たし、かつ、プッシュ情報ＰＣの重要度が「低」であるため、プッシュ情報ＰＣに含まれる情報ボディを発話する。一方で、情報処理装置１００は、プッシュ情報ＰＣよりも先に受け付けたプッシュ情報ＰＦに含まれる情報ボディを発話しない。
【０１３９】
時刻ｔ５において、対話状態が「ＨＵＭＡＮ」から「ＧＡＺＥ」に遷移したとする。情報処理装置１００は、時点ｔ５において、「ＧＡＺＥ」が優先度「Ｆ」に対応する発話条件を満たし、かつ、プッシュ情報ＰＦの重要度が「低」であるため、プッシュ情報ＰＦに含まれる情報ボディを発話する。その後、対話状態が「ＧＡＺＥ」から「ＨＵＭＡＮ」に戻ったとする。
【０１４０】
情報処理装置１００は、時点ｔ６において、プッシュ情報ＰＦを受け付け、プッシュ情報ＰＦを含む発話情報を生成してスタック７００に追加する。情報処理装置１００は、「ＨＵＭＡＮ」が優先度「Ｆ」に対応する発話条件を満たさず、かつ、プッシュ情報ＰＦの重要度が「低」であるため、プッシュ情報ＰＦに含まれる情報ボディを発話せずに発話条件が満たされるまで待機する。また、情報処理装置１００は、プッシュ情報ＰＦの重要度が「高」であれば、ユーザ１０１に対する誘導動作を実行し、優先度「Ｆ」に対応する発話条件が満たされるようにしてもよい。
【０１４１】
情報処理装置１００は、時点ｔ７において、プッシュ情報ＰＥを受け付け、プッシュ情報ＰＥを含む発話情報を生成してスタック７００に追加する。情報処理装置１００は、「ＨＵＭＡＮ」が優先度「Ｅ」に対応する発話条件を満たさず、かつ、プッシュ情報ＰＥの重要度が「高」であるため、ユーザ１０１に対する誘導動作を実行し、優先度「Ｅ」に対応する発話条件が満たされるようにする。
【０１４２】
ここで、情報処理装置１００は、時点ｔ８において、ユーザ１０１に対する誘導動作によって優先度「Ｅ」に対応する発話条件が満たされる前に、プッシュ情報ＰＡを受け付け、プッシュ情報ＰＡを含む発話情報を生成してスタック７００に追加する。情報処理装置１００は、「ＨＵＭＡＮ」が優先度「Ａ」に対応する発話条件を満たし、かつ、プッシュ情報ＰＡの重要度が「低」であるため、誘導動作を中断して、プッシュ情報ＰＡに含まれる情報ボディを発話する。プッシュ情報ＰＡに含まれる情報ボディが発話されたことにより、対話状態が「ＨＵＭＡＮ」から「ＧＡＺＥ」に遷移したとする。
【０１４３】
情報処理装置１００は、時点ｔ９において、「ＧＡＺＥ」が優先度「Ｅ」に対応する発話条件を満たすようになり、かつ、プッシュ情報ＰＥの重要度が「高」であるため、プッシュ情報ＰＥに含まれる情報ボディを発話する。プッシュ情報ＰＥに含まれる情報ボディが発話されたことにより、対話状態が「ＧＡＺＥ」から「Ｇ：対話中」に遷移した後、「Ｆ：対話なし」に遷移したとする。
【０１４４】
情報処理装置１００は、時点ｔ１０において、対話状態「Ｆ：対話なし」になり、優先度「Ｆ」に対応する発話条件を満たすようになり、かつ、プッシュ情報ＰＦの重要度が「低」であるため、プッシュ情報ＰＦに含まれる情報ボディを発話する。
【０１４５】
以上のように、情報処理装置１００は、例えば、プッシュ情報を受け付けた順序に関わらず、優先度が大きい順序でプッシュ情報に含まれる情報ボディを発話することができる。また、情報処理装置１００は、比較的優先度が大きいプッシュ情報に含まれる情報ボディを発話することにより、比較的優先度が小さいプッシュ情報の発話条件を満たしやすくすることができる。そして、情報処理装置１００は、比較的優先度が小さいプッシュ情報に含まれる情報ボディを発話しやすくすることができる。
【０１４６】
（情報ボディを統合する具体例）
次に、図１３を用いて、図１０の（１０−４）に示したように情報処理装置１００が情報ボディを統合する具体例について説明する。
【０１４７】
図１３は、情報ボディを統合する具体例を示す説明図である。図１３において、情報処理装置１００は、スタック７００のうち、優先度、重要度、情報種別が同一である複数のレコードを探索する。情報処理装置１００は、優先度、重要度、情報種別が同一である複数のレコードがなければ、情報ボディを統合する対象がないとする。
【０１４８】
一方で、情報処理装置１００は、優先度、重要度、情報種別が同一である複数のレコードがあれば、複数のレコードそれぞれの情報ボディを統合し、統合した情報ボディを含む新たなレコードを生成する。そして、情報処理装置１００は、統合する対象になった複数のレコードをスタック７００から削除し、生成した新たなレコードをスタック７００に追加する。
【０１４９】
情報処理装置１００は、具体的には、同一の優先度「Ｆ」、重要度「低」、情報種別「おすすめニュース」を含むレコード７０３，７０４を特定する。情報処理装置１００は、特定したレコード７０３の情報ボディ「△△が発表されました。」と、レコード７０４の情報ボディ「□□でイベントが開催されます。」とを統合した新たな情報ボディを生成する。新たな情報ボディは、例えば、「△△が発表されました。□□でイベントが開催されます。」である。新たな情報ボディは、よりユーザ１０１が理解しやすいように、「２つのニュースがあります。１つ目は、△△が発表されました。２つ目は、□□でイベントが開催されます。」などであってもよい。
【０１５０】
情報処理装置１００は、生成した新たな情報ボディに、レコード７０３，７０４の重要度、優先度、情報種別、情報ソースを対応付け、新たな情報配信期限と、スタック時刻とを設定した、新たなレコード７０７を生成する。新たな情報配信期限は、例えば、レコード７０３の情報配信期限と、レコード７０４の情報配信期限との遅い方であってもよい。新たな情報配信期限は、例えば、現在時刻から一定時間後であってもよい。情報処理装置１００は、スタック７００に、生成したレコード７０７を追加する代わり、レコード７０３，７０４を削除する。
【０１５１】
これにより、情報処理装置１００は、レコード７０３，７０４それぞれの情報ボディが別々に発話されることを防止することができる。また、情報処理装置１００は、レコード７０３，７０４それぞれの情報ボディを独立して発話する場合に比べて、レコード７０３，７０４それぞれの情報ボディをまとめて、ユーザ１０１に分かりやすく提供しやすくなる。そして、情報処理装置１００は、レコード７０３，７０４それぞれの情報ボディをまとめて発話することができ、レコード７０３，７０４それぞれの情報ボディをユーザ１０１に提供する際にかかる時間を低減化することができる。
【０１５２】
ここでは、情報処理装置１００が、優先度、重要度、情報種別が同一の複数のレコードの情報ボディを統合する場合について説明したが、これに限らない。例えば、情報処理装置１００は、優先度が同一であって、重要度が異なる複数のレコードの情報ボディを統合してもよい。このとき、情報処理装置１００は、例えば、新たなレコードの重要度として、複数のレコードのうち最も大きい重要度を設定する。
【０１５３】
（削除された発話情報の存在を管理する具体例）
次に、図１４を用いて、図１０の（１０−４）に示したように情報処理装置１００が削除された発話情報の存在を管理する具体例について説明する。
【０１５４】
図１４は、削除された発話情報の存在を管理する具体例を示す説明図である。図１４において、情報処理装置１００は、スタック７００のうち、情報配信期限を超えたレコードを探索する。情報処理装置１００は、情報配信期限を超えたレコードがあれば、情報配信期限を超えたレコードを削除し、削除したレコードに含まれる発話情報の存在を示す情報を、まとめ用発話情報のレコードの情報ボディに追加する。
【０１５５】
情報処理装置１００は、具体的には、情報配信期限を超え、かつ、重要度が「高」であるレコード７０１を特定する。情報処理装置１００は、特定したレコード７０１を削除し、レコード７０１の発話情報の存在を示す情報を、まとめ用発話情報のレコード７０６の情報ボディに追加する。レコード７０６の情報ボディは、例えば、「○○ニュースから、緊急速報１件、○○天気より気象警報１件がありました。詳細についてはインターネットなどをご確認下さい。」などである。
【０１５６】
レコード７０１の発話情報の存在を示す情報は、例えば、「○○ニュースから緊急速報１件」などの簡易的な情報であってもよい。また、レコード７０１の発話情報の存在を示す情報は、例えば、「○○ニュースからｈ時ｍ分に緊急速報１件がありました。」などの時刻を含む情報であってもよい。
【０１５７】
（管理処理手順の一例）
次に、図１５を用いて、情報処理装置１００が実行する管理処理手順の一例について説明する。
【０１５８】
図１５は、管理処理手順の一例を示すフローチャートである。図１５において、情報処理装置１００は、サーバからプッシュ情報を受信する（ステップＳ１５０１）。次に、情報処理装置１００は、受信したプッシュ情報に基づいて発話情報を作成し、作成した発話情報をスタック７００に追加する（ステップＳ１５０２）。そして、情報処理装置１００は、スタック７００に記憶された発話情報をソートする（ステップＳ１５０３）。
【０１５９】
次に、情報処理装置１００は、一定時間おきに、未選択の発話情報を選択する（ステップＳ１５０４）。一定時間は、例えば、１秒である。そして、情報処理装置１００は、現在時刻を取得し、選択した発話情報の情報配信期限がタイムアウトしたか否かを判定する（ステップＳ１５０５）。ここで、タイムアウトしていない場合（ステップＳ１５０５：Ｎｏ）、情報処理装置１００は、選択した発話情報以外に、選択した発話情報と統合可能な発話情報があるか否かを判定する（ステップＳ１５０６）。統合可能とは、例えば、重要度、優先度、情報種別、情報ソースが同一であることである。
【０１６０】
ここで、統合可能な発話情報がない場合（ステップＳ１５０６：Ｎｏ）、情報処理装置１００は、ステップＳ１５０４の処理に戻る。一方で、統合可能な発話情報がある場合（ステップＳ１５０６：Ｙｅｓ）、情報処理装置１００は、選択した発話情報と、統合可能な発話情報とを統合し（ステップＳ１５０７）、ステップＳ１５０３の処理に戻る。統合する具体例は、例えば、図１３を参照することができる。
【０１６１】
一方で、タイムアウトした場合（ステップＳ１５０５：Ｙｅｓ）、情報処理装置１００は、タイムアウトした発話情報についてまとめ用発話情報への追加を行うか否かを判定する（ステップＳ１５０８）。ここで、まとめ用発話情報への追加を行わない場合（ステップＳ１５０８：Ｎｏ）、情報処理装置１００は、選択した発話情報を、スタック７００から削除する（ステップＳ１５０９）。
【０１６２】
次に、情報処理装置１００は、選択した発話情報が発話されなかったことの通知を、ログデータとして記憶し、出力装置３２０が有するディスプレイなどに送信する（ステップＳ１５１０）。そして、情報処理装置１００は、ステップＳ１５０３の処理に戻る。
【０１６３】
一方で、まとめ用発話情報への追加を行う場合（ステップＳ１５０８：Ｙｅｓ）、情報処理装置１００は、選択した発話情報に基づいて、まとめ用発話情報を作成する（ステップＳ１５１１）。次に、情報処理装置１００は、まとめ用発話情報を、スタック７００に追加する（ステップＳ１５１２）。まとめ用発話情報を追加する具体例は、例えば、図１４を参照することができる。そして、情報処理装置１００は、ステップＳ１５０３の処理に戻る。
【０１６４】
（調停処理手順の一例）
次に、図１６を用いて、情報処理装置１００が実行する調停処理手順の一例について説明する。
【０１６５】
図１６は、調停処理手順の一例を示すフローチャートである。図１６において、情報処理装置１００は、スタック７００から、ソートの結果として最も上位に配置された、未選択の発話情報を読み出す（ステップＳ１６０１）。次に、情報処理装置１００は、ユーザ１０１との対話状態を検出し、読み出した発話情報に含まれる優先度に対応する発話条件を満たすか否かを判定する（ステップＳ１６０２）。
【０１６６】
ここで、発話条件を満たさない場合（ステップＳ１６０２：Ｎｏ）、情報処理装置１００は、読み出した発話情報に含まれる重要度が「高」であるか否かを判定する（ステップＳ１６０３）。ここで、「高」ではない場合（ステップＳ１６０３：Ｎｏ）、情報処理装置１００は、ステップＳ１６０１の処理に戻る。
【０１６７】
一方で、「高」である場合（ステップＳ１６０３：Ｙｅｓ）、情報処理装置１００は、対話状態に応じて、ユーザ１０１への誘導動作を選択する（ステップＳ１６０４）。次に、情報処理装置１００は、選択した誘導動作を実行する（ステップＳ１６０５）。そして、情報処理装置１００は、ステップＳ１６０１の処理に戻る。
【０１６８】
一方で、発話条件を満たす場合（ステップＳ１６０２：Ｙｅｓ）、情報処理装置１００は、読み出した発話情報に含まれる重要度が「高」であるか否かを判定する（ステップＳ１６０６）。ここで、「高」ではない場合（ステップＳ１６０６：Ｎｏ）、情報処理装置１００は、ステップＳ１６１３の処理に移行する。
【０１６９】
一方で、「高」である場合（ステップＳ１６０６：Ｙｅｓ）、情報処理装置１００は、誘導実行フラグが、誘導動作を実行済みであることを示すか否かを判定する（ステップＳ１６０７）。ここで、実行済みではないことを示す場合（ステップＳ１６０７：Ｎｏ）、情報処理装置１００は、対話状態に応じて、ユーザ１０１への誘導動作を選択する（ステップＳ１６０８）。
【０１７０】
次に、情報処理装置１００は、選択した誘導動作を実行する（ステップＳ１６０９）。そして、情報処理装置１００は、誘導実行フラグを、誘導動作を実行済みであることを示すように設定し（ステップＳ１６１０）、ステップＳ１６０２の処理に戻る。ここで、情報処理装置１００は、ステップＳ１６０１の処理に戻ってもよい。
【０１７１】
一方で、実行済みであることを示す場合（ステップＳ１６０７：Ｙｅｓ）、情報処理装置１００は、誘導動作が終了したか否かを判定する（ステップＳ１６１１）。ここで、誘導動作が終了した場合（ステップＳ１６１１：Ｙｅｓ）、情報処理装置１００は、ステップＳ１６１３の処理に移行する。
【０１７２】
一方で、誘導動作が終了していない場合（ステップＳ１６１１：Ｎｏ）、情報処理装置１００は、誘導が成功したか否かを判定する（ステップＳ１６１２）。ここで、誘導が成功していない場合（ステップＳ１６１２：Ｎｏ）、情報処理装置１００は、ステップＳ１６０２の処理に戻る。
【０１７３】
一方で、誘導が成功した場合（ステップＳ１６１２：Ｙｅｓ）、情報処理装置１００は、誘導動作が終了していなければ誘導動作を停止し、読み出した発話情報に含まれる情報ボディを発話する（ステップＳ１６１３）。情報処理装置１００は、具体的には、例えば、情報ボディを発話する際、発話装置２０２に情報ボディとともに動作命令を出力する。
【０１７４】
このとき、情報処理装置１００は、発話装置２０２から情報ボディを発話したことを示す応答があるまで、ステップＳ１６１４の処理に移行せず、情報ボディの発話中に、動作命令が上書きされることを防止してもよい。また、情報処理装置１００は、発話装置２０２から情報ボディを発話したことを示す応答を待たずに、ステップＳ１６１４の処理に移行してもよい。
【０１７５】
次に、情報処理装置１００は、スタック７００から、読み出した発話情報を削除する（ステップＳ１６１４）。そして、情報処理装置１００は、ステップＳ１６０１の処理に戻る。これにより、情報処理装置１００は、対話状態を考慮して発話情報を発話し、発話情報をユーザ１０１に提供することができる。
【０１７６】
以上説明したように、情報処理装置１００によれば、発話条件および発話内容を含む発話情報を取得してスタック７００に記憶することができる。情報処理装置１００によれば、発話装置２０２とユーザ１０１との対話状態を特定し、特定した対話状態が発話条件を満たした発話情報を、特定した対話状態が発話条件を満たさない発話情報よりも優先して、発話装置２０２に発話させることができる。
【０１７７】
これにより、情報処理装置１００は、発話条件を満たさない発話情報を発話する発話タイミングを後回しにし、発話条件を満たさない発話情報を発話するよりも先に発話条件を満たす発話情報を発話するようにすることができる。そして、情報処理装置１００は、発話条件を満たす発話情報を先に発話することにより、比較的対話強度が大きい発話状態へと誘導することにより、後回しにした発話情報に含まれる発話条件が満たされやすくすることができる。また、情報処理装置１００は、発話条件を考慮せずに発話情報を発話してしまい、当該発話情報をユーザ１０１に提供しづらくなることを抑制することができる。
【０１７８】
また、情報処理装置１００によれば、発話条件として、発話装置２０２とユーザ１０１との対話強度に応じて階層化された複数の対話状態のうちいずれかの対話状態を用いることができる。情報処理装置１００によれば、所定のタイミングで、スタック７００に記憶された発話情報のうち、相対的に対話強度が小さい対話状態を示す発話条件を含む発話情報を読み出すことができる。情報処理装置１００によれば、特定した対話状態の対話強度が、読み出した発話情報に含まれる発話条件が示す対話状態の対話強度以上である場合に、読み出した発話情報に含まれる発話条件を満たすと判定することができる。情報処理装置１００によれば、読み出した発話情報に含まれる発話条件を満たすと判定した場合に、読み出した発話情報を発話装置２０２に発話させることができる。
【０１７９】
これにより、情報処理装置１００は、相対的に対話強度が小さい対話状態を示す発話条件を含み、発話条件を満たしやすい発話情報から順に読み出して、発話条件を満たすか否かを判定することができる。結果として、情報処理装置１００は、発話条件を満たさない発話情報について発話条件を満たすか否かを判定する回数を低減して、処理効率の向上を図ることができる。
【０１８０】
また、情報処理装置１００によれば、読み出した発話情報に含まれる重要度が所定値以上であるか否かを判定することができる。情報処理装置１００によれば、読み出した発話情報に含まれる発話条件を満たさず、かつ、読み出した発話情報に含まれる重要度が所定値以上であると判定した場合には、誘導行動を実行することができる。これにより、情報処理装置１００は、発話条件を満たしていても、重要度が比較的高ければ、ユーザ１０１に発話情報を提供する確実性を向上させることができる。
【０１８１】
また、情報処理装置１００によれば、読み出した発話情報に含まれる発話条件を満たし、かつ、読み出した発話情報に含まれる重要度が所定値以上であると判定した場合には、誘導行動を実行することができる。情報処理装置１００によれば、誘導行動を実行した後に、読み出した発話情報を発話装置２０２に発話させることができる。これにより、情報処理装置１００は、重要度が比較的高く、ユーザ１０１に発話情報を提供する確実性を向上させることが望まれる場合には、誘導行動を実行して、よりユーザ１０１が発話情報を受け取りやすくすることができる。
【０１８２】
また、情報処理装置１００によれば、読み出した発話情報に含まれる発話条件を満たし、かつ、読み出した発話情報に含まれる重要度が所定値未満であると判定した場合には、読み出した発話情報を発話装置２０２に発話させることができる。これにより、情報処理装置１００は、発話条件を満たしていれば、優先的にユーザ１０１に発話情報を提供することができる。
【０１８３】
また、情報処理装置１００によれば、スタック７００に同一の発話条件を含む複数の発話情報が記憶された場合には、当該発話条件と複数の発話情報それぞれに含まれる発話内容をまとめた発話内容とを含む新たな発話情報を生成することができる。情報処理装置１００によれば、スタック７００において、同一の発話条件を含む複数の発話情報を、生成した新たな発話情報へと置き換えることができる。これにより、情報処理装置１００は、複数の発話情報が別々に提供されることを抑制し、ユーザ１０１の睡眠を妨げたり作業を中断させたりする頻度の低減化を図ることができ、複数の発話情報をユーザ１０１に効果的に提供することができる。
【０１８４】
また、情報処理装置１００によれば、スタック７００に発話期限を超えた発話情報があり、当該発話情報に含まれる重要度が所定値以上である場合には、当該発話情報の存在を示す情報を含む新たな発話情報をスタック７００に追加することができる。これにより、情報処理装置１００は、複数の発話情報が別々に提供されることを抑制し、ユーザ１０１の睡眠を妨げたり作業を中断させたりする頻度の低減化を図ることができ、複数の発話情報をユーザ１０１に効果的に提供することができる。そして、情報処理装置１００は、ユーザ１０１に発話情報が削除されたことを把握させることができる。
【０１８５】
また、情報処理装置１００によれば、スタック７００に発話期限を超えた発話情報がある場合には、当該発話情報をスタック７００から削除することができる。これにより、情報処理装置１００は、スタック７００に記憶される発話情報の増大化を抑制し、ユーザ１０１に提供する発話情報の増大化を抑制し、発話装置２０２とユーザ１０１との対話にかかる時間の増大化を抑制することができる。
【０１８６】
また、情報処理装置１００によれば、発話内容を受信し、発話内容の種別と発話条件とを対応付けた対応情報に基づいて、受信した発話内容と受信した発話内容の種別に対応付けられた発話条件とを含む発話情報をスタック７００に記憶することができる。これにより、情報処理装置１００は、発話内容の種別に応じて、ユーザ１０１が予め設定した規則にしたがって、発話内容の優先度を特定することができ、スタック７００の記憶内容を更新することができる。
【０１８７】
また、情報処理装置１００によれば、発話内容を受信し、発話内容の種別と重要度とを対応付けた対応情報に基づいて、受信した発話内容と受信した発話内容の種別に対応付けられた重要度とを含む発話情報をスタック７００に記憶することができる。これにより、情報処理装置１００は、発話内容の種別に応じて、ユーザ１０１が予め設定した規則にしたがって、発話内容の重要度を特定することができ、スタック７００の記憶内容を更新することができる。
【０１８８】
また、情報処理装置１００によれば、ユーザ１０１のバーバル情報およびノンバーバル情報に基づいて、発話装置２０２とユーザ１０１との対話状態を特定することができる。これにより、情報処理装置１００は、発話装置２０２とユーザ１０１との対話状態を特定し、どのくらいの対話強度であるかを特定することができる。
【０１８９】
また、情報処理装置１００によれば、所定のタイミングで、スタック７００に記憶された発話情報を読み出し、特定した対話状態が、読み出した発話情報に含まれる発話条件を満たすか否かを判定することができる。情報処理装置１００によれば、読み出した発話情報に含まれる発話条件を満たさないと判定した場合には、読み出した発話情報よりも、特定した対話状態が発話条件を満たす他の発話情報を優先して発話装置２０２に発話させることができる。これにより、情報処理装置１００は、相対的に対話強度が大きい対話状態を示す発話条件を含む発話情報を特定しなくても、発話情報を発話装置２０２に発話させることができる。
【０１９０】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１９１】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１９２】
（付記１）発話条件および発話内容を含む発話情報を取得して記憶部に記憶し、
前記発話情報を出力する発話装置と前記発話装置のユーザとの対話状態を特定し、
特定した前記対話状態が発話条件を満たした発話情報を、特定した前記対話状態が発話条件を満たさない発話情報よりも優先して、前記発話装置に出力させる、
制御部を有することを特徴とする情報処理装置。
【０１９３】
（付記２）前記発話条件は、前記発話装置と前記ユーザとの対話強度に応じて階層化された複数の対話状態のうちいずれかの対話状態を示し、
前記制御部は、
所定のタイミングで、前記記憶部に記憶された発話情報のうち、相対的に対話強度が小さい対話状態を示す発話条件を含む発話情報を読み出し、
特定した前記対話状態の対話強度が、読み出した前記発話情報に含まれる発話条件が示す対話状態の対話強度以上である場合に、読み出した前記発話情報に含まれる発話条件を満たすと判定し、
読み出した前記発話情報に含まれる発話条件を満たすと判定した場合に、読み出した前記発話情報を前記発話装置に出力させる、ことを特徴とする付記１に記載の情報処理装置。
【０１９４】
（付記３）前記発話情報は、さらに、前記発話内容の重要度を含み、
前記制御部は、
読み出した前記発話情報に含まれる重要度が所定値以上であるか否かを判定し、
読み出した前記発話情報に含まれる発話条件を満たさず、かつ、読み出した前記発話情報に含まれる重要度が所定値以上であると判定した場合には、特定した前記対話状態よりも対話強度が大きい対話状態へと前記ユーザを誘導する誘導行動を実行する、ことを特徴とする付記１または２に記載の情報処理装置。
【０１９５】
（付記４）前記制御部は、
読み出した前記発話情報に含まれる発話条件を満たし、かつ、読み出した前記発話情報に含まれる重要度が所定値以上であると判定した場合には、特定した前記対話状態よりも対話強度が大きい対話状態へと前記ユーザを誘導する誘導行動を実行し、前記誘導行動を実行した後に、読み出した前記発話情報を前記発話装置に出力させる、ことを特徴とする付記１〜３のいずれか一つに記載の情報処理装置。
【０１９６】
（付記５）前記制御部は、
読み出した前記発話情報に含まれる発話条件を満たし、かつ、読み出した前記発話情報に含まれる重要度が所定値未満であると判定した場合には、読み出した前記発話情報を前記発話装置に出力させる、ことを特徴とする付記１〜４のいずれか一つに記載の情報処理装置。
【０１９７】
（付記６）前記制御部は、
前記記憶部に同一の発話条件を含む複数の発話情報が記憶された場合には、当該発話条件と前記複数の発話情報それぞれに含まれる発話内容をまとめた発話内容とを含む新たな発話情報へと、前記複数の発話情報を置き換える、ことを特徴とする付記１〜５のいずれか一つに記載の情報処理装置。
【０１９８】
（付記７）前記発話情報は、さらに、前記発話内容の重要度および発話期限を含み、
前記制御部は、
前記記憶部に発話期限を超えた発話情報があり、当該発話情報に含まれる重要度が所定値以上である場合には、当該発話情報の存在を示す情報を含む新たな発話情報を前記記憶部に追加する、ことを特徴とする付記１〜６のいずれか一つに記載の情報処理装置。
【０１９９】
（付記８）前記制御部は、
前記記憶部に発話期限を超えた発話情報がある場合には、当該発話情報を前記記憶部から削除する、ことを特徴とする付記７に記載の情報処理装置。
【０２００】
（付記９）前記制御部は、
発話内容を受信し、発話内容の種別と発話条件とを対応付けた対応情報に基づいて、受信した前記発話内容と受信した前記発話内容の種別に対応付けられた発話条件とを含む発話情報を前記記憶部に記憶する、ことを特徴とする付記１〜８のいずれか一つに記載の情報処理装置。
【０２０１】
（付記１０）前記制御部は、
発話内容を受信し、発話内容の種別と重要度とを対応付けた対応情報に基づいて、受信した前記発話内容と受信した前記発話内容の種別に対応付けられた重要度とを含む発話情報を前記記憶部に記憶する、ことを特徴とする付記３〜５のいずれか一つに記載の情報処理装置。
【０２０２】
（付記１１）前記制御部は、
前記ユーザのバーバル情報およびノンバーバル情報に基づいて、前記発話装置と前記ユーザとの対話状態を特定する、ことを特徴とする付記１〜１０のいずれか一つに記載の情報処理装置。
【０２０３】
（付記１２）前記制御部は、
所定のタイミングで、前記記憶部に記憶された発話情報を読み出し、
特定した前記対話状態が、読み出した前記発話情報に含まれる発話条件を満たすか否かを判定し、
読み出した前記発話情報に含まれる発話条件を満たさないと判定した場合には、読み出した前記発話情報よりも、特定した前記対話状態が発話条件を満たす他の発話情報を優先して前記発話装置に出力させる、ことを特徴とする付記１に記載の情報処理装置。
【０２０４】
（付記１３）コンピュータが、
発話条件および発話内容を含む発話情報を取得して記憶部に記憶し、
前記発話情報を出力する発話装置と前記発話装置のユーザとの対話状態を特定し、
特定した前記対話状態が発話条件を満たした発話情報を、特定した前記対話状態が発話条件を満たさない発話情報よりも優先して、前記発話装置に出力させる、
処理を実行することを特徴とする情報処理方法。
【０２０５】
（付記１４）コンピュータに、
発話条件および発話内容を含む発話情報を取得して記憶部に記憶し、
前記発話情報を出力する発話装置と前記発話装置のユーザとの対話状態を特定し、
特定した前記対話状態が発話条件を満たした発話情報を、特定した前記対話状態が発話条件を満たさない発話情報よりも優先して、前記発話装置に出力させる、
処理を実行させることを特徴とする情報処理プログラム。
【符号の説明】
【０２０６】
１００  情報処理装置
１０１  ユーザ
２００  情報配信システム
２０１  情報配信装置
２０２  発話装置
２１０  ネットワーク
３００  バス
３０１  ＣＰＵ
３０２  メモリ
３０３  Ｉ／Ｆ
３０４  ディスクドライブ
３０５  ディスク
３１０  入力装置
３２０  出力装置
４００  対話状態定義
５００  初期設定情報テーブル
６００  ユーザ設定情報テーブル
７００  スタック
８０１  記憶部
８０２  受付部
８０３  特定部
８０４  調停部
８０５  命令部
９００  ロボット
９０１  サーボモータ
９０２  スピーカ
９０３  カメラ
９０４  タッチセンサ
９０５  マイク
９１０  インターフェース部
９２０  プッシュ情報購読アプリ部
９３０  タッチセンサ検出部
９４０  音声検出部
９５０  顔画像検出部
９６０  対話状態推定部
９７０  タイミング調停部
９８０  実行制御部
【図１】
2017161875.tif 000003
【図２】
2017161875.tif 000004
【図３】
2017161875.tif 000005
【図４】
2017161875.tif 000006
【図５】
2017161875.tif 000007
【図６】
2017161875.tif 000008
【図７】
2017161875.tif 000009
【図８】
2017161875.tif 000010
【図９】
2017161875.tif 000011
【図１０】
2017161875.tif 000012
【図１１】
2017161875.tif 000013
【図１２】
2017161875.tif 000014
【図１３】
2017161875.tif 000015
【図１４】
2017161875.tif 000016
【図１５】
2017161875.tif 000017
【図１６】
2017161875.tif 000018