(57)【要約】【課題】ユーザとの会話の内容を充実化させること等によって、ユーザを適切にアシストできることが望ましい。【解決手段】ユーザの状態を管理する状態管理データを格納する状態管理データ格納部と、状態管理データを参照して、ユーザに対するアクションを決定するアクション決定部と、ユーザの携帯端末によって取得されたユーザの活動履歴データを収集する履歴データ収集部と、履歴データ収集部が収集した活動履歴データを履歴分析部に送信する履歴データ送信部と、履歴分析部が活動履歴データを分析することによって特定した、ユーザの状態を示すユーザ状態データを取得する状態データ取得部と、ユーザ状態データに基づいて、ユーザの状態管理データを更新する状態管理データ更新部とを備えるデータ処理装置を提供する。【選択図】図２
2018128747.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの状態を管理する状態管理データを格納する状態管理データ格納部と、
前記状態管理データを参照して、前記ユーザに対するアクションを決定するアクション決定部と、
前記ユーザの携帯端末によって取得された前記ユーザの活動履歴データを収集する履歴データ収集部と、
前記履歴データ収集部が収集した前記活動履歴データを履歴分析部に送信する履歴データ送信部と、
前記履歴分析部が前記活動履歴データを分析することによって特定した、前記ユーザの状態を示すユーザ状態データを取得する状態データ取得部と、
前記ユーザ状態データに基づいて、前記ユーザの前記状態管理データを更新する状態管理データ更新部と
を備えるデータ処理装置。
【請求項２】
前記状態管理データに基づいて、取得対象となる前記ユーザ状態データを識別する識別データを生成する識別データ生成部と、
前記識別データを前記履歴分析部に送信する識別データ送信部と
をさらに備え、
前記データ取得部は、前記履歴分析部が前記識別データを受信したことに応じて送信した前記ユーザ状態データを受信する、請求項１に記載のデータ処理装置。
【請求項３】
前記履歴データ送信部は、前記履歴データ収集部が収集した前記活動履歴データを複数の前記履歴分析部に送信し、
前記データ処理装置は、
前記識別データの送信対象を前記複数の履歴分析部から選択する対象選択部
をさらに備え、
前記識別データ送信部は、前記対象選択部によって選択された前記履歴分析部に前記識別データを送信する、請求項２に記載のデータ処理装置。
【請求項４】
前記状態管理データは、前記ユーザとの会話に用いる複数の項目を含み、
前記識別データ生成部は、前記複数の項目のうち内容が特定されていない項目を識別する識別データを生成し、
前記データ取得部は、前記識別データが示す前記項目を前記履歴分析部から受信し、
前記状態管理データ更新部は、前記識別データが示す前記項目に基づいて、前記状態管理データを更新し、
前記データ処理装置は、
前記アクション決定部が前記状態管理データを参照して決定したアクションに従って、前記携帯端末が有する会話アプリに前記ユーザとの会話を実行させる会話制御部
をさらに備える、請求項２又は３に記載のデータ処理装置。
【請求項５】
前記会話制御部は、前記識別データが示す前記項目を前記データ取得部が前記履歴分析部から受信できなかった場合に、前記会話アプリに、前記項目を前記ユーザに問い合わせる会話を実行させる、請求項４に記載のデータ処理装置。
【請求項６】
前記アクション決定部は、前記状態管理データを参照して、前記ユーザの状態に対応する音楽を出力するアクションを決定し、
前記データ処理装置は、
前記アクション決定部が決定したアクションに従って、前記ユーザに対する音楽出力を制御する音楽出力制御部
をさらに備える、請求項１から５のいずれか一項に記載のデータ処理装置。
【請求項７】
前記履歴データ収集部は、前記活動履歴データとして、前記携帯端末が取得した前記携帯端末の位置情報と、前記位置情報を取得した時刻とを対応付けて収集する、請求項１から６のいずれか一項に記載のデータ処理装置。
【請求項８】
前記履歴データ収集部は、前記活動履歴データとして、前記ユーザによって前記携帯端末に入力されたデータを収集する、請求項１から７のいずれか一項に記載のデータ処理装置。
【請求項９】
前記履歴データ収集部は、ＩｏＴデバイスによって取得された前記ユーザの活動履歴データを収集する、請求項１から８のいずれか一項に記載のデータ処理装置。
【請求項１０】
コンピュータを、請求項１から９のいずれか一項に記載のデータ処理装置として機能させるためのプログラム。
【請求項１１】
ユーザの状態を管理する状態管理データを格納する状態管理データ格納部に格納された前記状態管理データを参照して、前記ユーザに対するアクションを決定するアクション決定段階と、
前記ユーザの携帯端末によって取得された前記ユーザの活動履歴データを収集する履歴データ収集段階と、
前記履歴データ収集段階において収集された前記活動履歴データを履歴分析部に送信する履歴データ送信段階と、
前記履歴分析部が前記活動履歴データを分析することによって特定した、前記ユーザの状態を示すユーザ状態データを取得する状態データ取得段階と、
前記ユーザ状態データに基づいて、前記ユーザの前記状態管理データを更新する状態管理データ更新段階と
を備えるデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法及びプログラムに関する。
【背景技術】
【０００２】
コンピュータがテキストを用いてユーザとの会話を実行するチャットボットが知られていた（例えば、特許文献１参照）。
［先行技術文献］
［特許文献］
［特許文献１］特開２０１５−１１５８９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ユーザとの会話の内容を充実化させること等によって、ユーザを適切にアシストできることが望ましい。
【課題を解決するための手段】
【０００４】
本発明の第１の態様によれば、データ処理装置が提供される。データ処理装置は、ユーザの状態を管理する状態管理データを格納する状態管理データ格納部を備えてよい。データ処理装置は、状態管理データを参照して、ユーザに対するアクションを決定するアクション決定部を備えてよい。データ処理装置は、ユーザの携帯端末によって取得されたユーザの活動履歴データを収集する履歴データ収集部を備えてよい。データ処理装置は、履歴データ収集部が収集した活動履歴データを履歴分析部に送信する履歴データ送信部を備えてよい。データ処理装置は、履歴分析部が活動履歴データを分析することによって特定した、ユーザの状態を示すユーザ状態データを取得する状態データ取得部を備えてよい。データ処理装置は、ユーザ状態データに基づいて、ユーザの状態管理データを更新する状態管理データ更新部を備えてよい。
【０００５】
上記データ処理装置は、上記状態管理データに基づいて、取得対象となる上記ユーザ状態データを識別する識別データを生成する識別データ生成部と、上記識別データを上記履歴分析部に送信する識別データ送信部とをさらに備えてよく、上記データ取得部は、上記履歴分析部が上記識別データを受信したことに応じて送信した上記ユーザ状態データを受信してよい。上記履歴データ送信部は、上記履歴データ収集部が収集した上記活動履歴データを複数の上記履歴分析部に送信してよく、上記データ処理装置は、上記識別データの送信対象を上記複数の履歴分析部から選択する対象選択部をさらに備えてよく、上記識別データ送信部は、上記対象選択部によって選択された上記履歴分析部に上記識別データを送信してよい。
【０００６】
上記状態管理データは、上記ユーザとの会話に用いる複数の項目を含んでよく、上記識別データ生成部は、上記複数の項目のうち内容が特定されていない項目を識別する識別データを生成してよく、上記データ取得部は、上記識別データが示す上記項目を上記履歴分析部から受信してよく、上記状態管理データ更新部は、上記識別データが示す上記項目に基づいて上記状態管理データを更新してよく、上記データ処理装置は、上記アクション決定部が上記状態管理データを参照して決定したアクションに従って、上記携帯端末が有する会話アプリに上記ユーザとの会話を実行させる会話制御部をさらに備えてよい。上記会話制御部は、上記識別データが示す上記項目を上記データ取得部が上記履歴分析部から受信できなかった場合に、上記会話アプリに、上記項目を上記ユーザに問い合わせる会話を実行させてよい。上記アクション決定部は、上記状態管理データを参照して、上記ユーザの状態に対応する音楽を出力するアクションを決定してよく、上記データ処理装置は、上記アクション決定部が決定したアクションに従って、上記ユーザに対する音楽出力を制御する音楽出力制御部をさらに備えてよい。
【０００７】
上記履歴データ収集部は、上記活動履歴データとして、上記携帯端末が取得した上記携帯端末の位置情報と、上記位置情報を取得した時刻とを対応付けて収集してよい。上記履歴データ収集部は、上記活動履歴データとして、上記ユーザによって上記携帯端末に入力されたデータを収集してよい。上記履歴データ収集部は、ＩｏＴデバイスによって取得された上記ユーザの活動履歴データを収集してよい。
【０００８】
本発明の第２の態様によれば、コンピュータを、上記データ処理装置として機能させるためのプログラムが提供される。
【０００９】
本発明の第３の態様によれば、データ処理方法が提供される。データ処理方法は、ユーザの状態を管理する状態管理データを格納する状態管理データ格納部に格納された状態管理データを参照して、ユーザに対するアクションを決定するアクション決定段階を備えてよい。データ処理方法は、ユーザの携帯端末によって取得されたユーザの活動履歴データを収集する履歴データ収集段階を備えてよい。データ処理方法は、履歴データ収集段階において収集された活動履歴データを履歴分析部に送信する履歴データ送信段階を備えてよい。データ処理方法は、履歴分析部が活動履歴データを分析することによって特定した、ユーザの状態を示すユーザ状態データを取得する状態データ取得段階を備えてよい。データ処理方法は、ユーザ状態データに基づいて、ユーザの状態管理データを更新する状態管理データ更新段階を備えてよい。
【００１０】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１１】
【図１】アシストサーバ１００の一例を概略的に示す。
【図２】アシストサーバ１００の機能構成の一例を概略的に示す。
【図３】状態管理データ１８０の一例を概略的に示す。
【図４】アシストサーバ１００による状態管理データ１８０を更新する処理の流れの一例を概略的に示す。
【図５】状態管理データ１８２の一例を概略的に示す。
【図６】アシストサーバ１００による状態管理データ１８２を更新する処理の流れの一例を概略的に示す。
【図７】携帯端末２００による表示例を概略的に示す。
【図８】アシストサーバ１００として機能するコンピュータ１０００のハードウエア構成の一例を概略的に示す。
【発明を実施するための形態】
【００１２】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１３】
図１は、アシストサーバ１００の一例を概略的に示す。本実施形態に係るアシストサーバ１００は、携帯端末２００のユーザ２１０をアシストする。例えば、アシストサーバ１００は、ユーザ２１０の状態に適した情報を、携帯端末２００を介してユーザ２１０に提供する。また、例えば、アシストサーバ１００は、ユーザ２１０の状態に適した音楽を、音楽システム５００を介してユーザ２１０に提供する。アシストサーバ１００は、データ処理装置の一例であってよい。
【００１４】
アシストサーバ１００は、ユーザ２１０の状態を管理する状態管理データを格納する。状態管理データは、例えば、ユーザ２１０をアシストするために用いる複数の項目を含む。項目の例としては、ユーザ２１０の現在位置、ユーザ２１０が自宅にいるか否か、ユーザ２１０の自宅位置、ユーザ２１０の現在位置の天気、ユーザ２１０の自宅位置の天気、ユーザ２１０の健康状態、及びユーザ２１０の疲労度等が挙げられる。これらは例示であって、任意の項目が採用されてよい。
【００１５】
アシストサーバ１００は、携帯端末２００によって取得されたユーザ２１０の活動履歴データを収集する。携帯端末２００は、予め定められたタイミングに従って、活動履歴データをアシストサーバ１００に送信してよい。予め定められたタイミングは、定期的であっても、不定期であってもよい。活動履歴データの例としては、位置、時刻、及び携帯端末２００とユーザ２１０との会話の内容等が挙げられる。これらは例示であって、活動履歴データは、ユーザ２１０の活動に関する任意の情報を含んでよい。
【００１６】
アシストサーバ１００は、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）デバイス４００によって取得されたユーザ２１０の活動履歴データを収集してもよい。アシストサーバ１００は、複数のＩｏＴデバイス４００から、ＩｏＴデバイス４００の種類に応じた活動履歴データを収集してよい。
【００１７】
例えば、アシストサーバ１００は、ユーザ２１０が身に付けているＩｏＴデバイス４００から、ユーザ２１０の体温、血圧、及び心拍数等の身体データを収集する。また、例えば、アシストサーバ１００は、ユーザ２１０の近傍に設置されたＩｏＴデバイス４００から、気温及び湿度等の環境データを収集する。これらは例示であって、アシストサーバ１００は、ＩｏＴデバイス４００から、ユーザ２１０の活動に関する任意の情報を収集してよい。
【００１８】
アシストサーバ１００は、収集した活動履歴データを用いて、ユーザ２１０の状態管理データを更新する。また、アシストサーバ１００は、収集した活動履歴データに基づいて特定されたユーザ２１０の状態を示すユーザ状態データを取得して、ユーザ状態データに基づいて状態管理データを更新する。
【００１９】
アシストサーバ１００は、例えば、収集した活動履歴データを、ネットワーク１０を介して複数のサイト３００に送信する。ネットワーク１０は、インターネット及び電話網を含んでよい。サイト３００の例としては、例えば、地図サイト、グルメサイト、スケジュール管理サイト、経路案内サイト、天気サイト、及びＦＡＱサイト等が挙げられる。これらは例示であり、サイト３００は任意の種類のサイトであってよい。
【００２０】
アシストサーバ１００は、サイト３００が活動履歴データを用いて特定したユーザ状態データをサイト３００から受信してよい。例えば、アシストサーバ１００は、地図サイト及びＦＡＱサイト等が、活動履歴データに含まれるユーザ２１０の位置を分析することによって特定したユーザ２１０の自宅位置を受信する。
【００２１】
従来、ユーザ２１０の自宅位置等のデータはユーザ２１０による登録を受け付ける必要があり、ユーザ２１０にとって煩雑な場合があった。しかし、本実施形態に係るアシストサーバ１００によれば、収集した活動履歴データを複数のサイト３００に送信して、複数のサイト３００のそれぞれによって特定されたユーザ状態データを受信することによって、ユーザ２１０による登録を受け付けることなく、ユーザ２１０の自宅位置等の情報を取得することができる。
【００２２】
アシストサーバ１００は、自らが活動履歴データを分析して、ユーザ状態データを特定してもよい。例えば、アシストサーバ１００は、活動履歴データを分析してユーザ状態データを特定する少なくとも１つの履歴分析部を備えてもよい。
【００２３】
アシストサーバ１００は、ユーザ状態データに基づいてユーザ２１０の状態管理データを更新する。例えば、ユーザ状態データとしてユーザ２１０の自宅位置を取得した場合、アシストサーバ１００は、状態管理データにユーザ２１０の自宅位置を登録する。
【００２４】
アシストサーバ１００は、状態管理データを参照して、ユーザ２１０に対するアクションを決定する。アシストサーバ１００は、例えば、状態管理データを参照して、ユーザ２１０に対する会話内容を決定する。アシストサーバ１００は、決定した会話内容を携帯端末２００に送信してよい。携帯端末２００は、受信した会話内容をユーザ２１０に対して出力してよい。
【００２５】
また、アシストサーバ１００は、例えば、状態管理データを参照して、ユーザ２１０に提供する音楽を決定する。アシストサーバ１００は、決定した音楽のデータを音楽システム５００に送信してよい。アシストサーバ１００は、決定した音楽を識別する識別データを音楽システム５００に送信してもよい。音楽システム５００は、音楽のデータを受信した場合、受信したデータを用いてユーザ２１０に対して音楽を提供してよい。音楽システム５００は、音楽を識別する識別データを受信した場合、識別データによって識別される音楽をユーザ２１０に対して提供してよい。
【００２６】
図２は、アシストサーバ１００の機能構成の一例を概略的に示す。アシストサーバ１００は、会話制御部１０２、履歴データ収集部１０４、状態管理データ格納部１０６、状態管理データ更新部１０８、アクション決定部１１０、コレクタ部１２０、履歴分析部群１３０、加工部１４０、状態データ取得部１５０、及び音楽出力制御部１６０を備える。なお、アシストサーバ１００がこれらのすべての構成を備えることは必須とは限らない。
【００２７】
会話制御部１０２は、携帯端末２００によるユーザ２１０との会話を制御する。携帯端末２００には、例えば、ユーザ２１０との会話を実行する会話アプリがインストールされていてよい。携帯端末２００は、文字及び音声の少なくとも一方を用いてユーザ２１０と会話してよい。会話制御部１０２は、ユーザ２１０の発言を携帯端末２００から受信する。会話制御部１０２は、ユーザ２１０に対する発言を携帯端末２００に送信する。
【００２８】
履歴データ収集部１０４は、ユーザ２１０の活動履歴データを収集する。履歴データ収集部１０４は、携帯端末２００から予め定められたタイミングで送信される活動履歴データを受信してよい。例えば、携帯端末２００は、予め定められたタイミングに従って位置及び時刻をアシストサーバ１００に送信する。予め定められたタイミングは、定期的であっても不定期であってもよい。また、履歴データ収集部１０４は、会話制御部１０２によって制御される会話の内容を、活動履歴データとして会話制御部１０２から取得してよい。
【００２９】
また、履歴データ収集部１０４は、ＩｏＴデバイス４００からユーザ２１０の活動履歴データを受信する。ＩｏＴデバイス４００は、ネットワーク１０を介してアシストサーバ１００に活動履歴データを送信してよい。ＩｏＴデバイス４００は、携帯端末２００を介してアシストサーバ１００に活動履歴データを送信してもよい。履歴データ収集部１０４は、例えば、ユーザ２１０の体温、血圧、及び心拍数等の身体データをＩｏＴデバイス４００から受信する。また、履歴データ収集部１０４は、例えば、ユーザ２１０の周囲の気温及び湿度等の環境データをＩｏＴデバイス４００から受信する。
【００３０】
状態管理データ格納部１０６は、ユーザ２１０の状態管理データを格納する。状態管理データ格納部１０６は、複数のユーザ２１０のそれぞれの状態管理データを格納してよい。状態管理データ格納部１０６は、一人のユーザ２１０につき、複数種類の状態管理データを格納してよい。
【００３１】
例えば、状態管理データ格納部１０６は、会話のシナリオ毎に状態管理データを格納する。シナリオの例としては、天気に関するシナリオ、テレビに関するシナリオ、記事に関するシナリオ、電車に関するシナリオ、買い物に関するシナリオ、飲み会に関するシナリオ、散歩に関するシナリオ、社食に関するシナリオ、アンケートに関するシナリオ、及び雑談に関するシナリオが挙げられる。これらは例示であって、状態管理データ格納部１０６は、任意のシナリオの状態管理データを格納してよい。
【００３２】
状態管理データ更新部１０８は、状態管理データ格納部１０６が格納するユーザ２１０の状態管理データを更新する。状態管理データ更新部１０８は、履歴データ収集部１０４が収集した活動履歴データを用いて状態管理データを更新してよい。
【００３３】
アクション決定部１１０は、状態管理データ格納部１０６に格納されている状態管理データを参照して、ユーザ２１０に対するアクションを決定する。アクション決定部１１０は、例えば、状態管理データを参照して、ユーザ２１０の状態に適した会話を会話制御部１０２に実行させる。
【００３４】
コレクタ部１２０は、履歴データ取得部１２２及び履歴データ送信部１２４を有する。履歴データ取得部１２２は、履歴データ収集部１０４が収集した活動履歴データを、履歴データ収集部１０４から取得する。履歴データ送信部１２４は、履歴データ取得部１２２が取得した活動履歴データを履歴分析部群１３０に送信する。
【００３５】
履歴分析部群１３０は、複数の履歴分析部１３２を有する。複数の履歴分析部１３２のそれぞれは、履歴データ送信部１２４によって送信された活動履歴データを受信して格納する。複数の履歴分析部１３２は、それぞれ異なる観点、手法、アルゴリズム等で、活動履歴データを分析して、ユーザ状態データを導出してよい。アシストサーバ１００は、履歴分析部群１３０に代えて一の履歴分析部１３２を備えてもよい。
【００３６】
履歴分析部１３２は、サイト３００であってもよい。すなわち、アシストサーバ１００が履歴分析部群１３０を備えるのではなく、アシストサーバ１００が外部のサイト３００に活動履歴データを送信して、分析させてもよい。また、履歴分析部群１３０が、アシストサーバ１００が備える少なくとも１つの履歴分析部１３２と、少なくとも１つのサイト３００とを含んでもよい。
【００３７】
加工部１４０は、識別データ生成部１４１、対象選択部１４２、識別データ送信部１４３、状態データ受信部１４４、及び加工処理部１４５を有する。加工部１４０がこれらのすべての構成を有することは必須とは限らない。
【００３８】
識別データ生成部１４１は、アクション決定部１１０の指示に従って、取得対象となるユーザ状態データを識別する識別データを生成する。アクション決定部１１０は、状態管理データに基づいて、取得対象となるユーザ状態データを特定してよい。例えば、アクション決定部１１０は、状態管理データに含まれる複数の項目のうち内容が特定されていない項目を、取得対象となるユーザ状態データとして特定する。具体例として、状態管理データにユーザ２１０の自宅位置の項目が含まれているが、自宅位置の内容が登録されていない場合、アクション決定部１１０は、自宅位置を、取得対象となるユーザ状態データとして特定する。
【００３９】
対象選択部１４２は、識別データ生成部１４１によって生成された識別データの送信対象を、複数の履歴分析部１３２から選択する。対象選択部１４２は、例えば、複数の履歴分析部１３２のそれぞれと、識別データの種類とを対応付ける対応付けデータを予め格納しておき、当該対応付けデータを参照することによって、識別データ生成部１４１が生成した識別データに対応する履歴分析部１３２を選択してよい。
【００４０】
識別データ送信部１４３は、識別データ生成部１４１によって生成された識別データを、対象選択部１４２によって選択された履歴分析部１３２に送信する。なお、識別データ送信部１４３は、識別データ生成部１４１によって生成された識別データを、履歴分析部群１３０に対して送信してもよい。この場合、履歴分析部群１３０に含まれる複数の履歴分析部１３２が識別データを受信し、識別データが示すユーザ状態データを提供可能な履歴分析部１３２が当該ユーザ状態データを加工部１４０に送信し、他の履歴分析部１３２は識別データを破棄してよい。
【００４１】
状態データ受信部１４４は、履歴分析部１３２が識別データを受信したことに応じて送信したユーザ状態データを受信する。加工部１４０は、状態データ受信部１４４が受信したユーザ状態データを状態データ取得部１５０に送信してよい。
【００４２】
識別データ送信部１４３が送信した識別データが示すユーザ状態データを状態データ受信部１４４が受信できなかった場合、アクション決定部１１０は、会話制御部１０２に、当該ユーザ状態データをユーザ２１０から取得するように、会話制御部１０２を制御してよい。例えば、状態データ受信部１４４がユーザ２１０の自宅位置を受信できなかった場合、アクション決定部１１０は、会話制御部１０２を制御して、携帯端末２００に、ユーザ２１０の自宅位置を問い合わせる問い合わせ処理を実行させる。問い合わせ処理の結果、携帯端末２００が取得した自宅位置を、会話制御部１０２が受信してよい。アクション決定部１１０は、会話制御部１０２が受信した自宅位置を状態データ取得部１５０に送信してよい。
【００４３】
状態データ取得部１５０は、加工部１４０又はアクション決定部１１０から受信したユーザ状態データを状態管理データ更新部１０８に送信してよい。状態管理データ更新部１０８は、状態データ取得部１５０から受信したユーザ状態データに基づいて、状態管理データ格納部１０６に格納されている状態管理データを更新してよい。
【００４４】
アクション決定部１１０は、更新された状態管理データを参照して、ユーザ２１０に対するアクションを決定してよい。アクション決定部１１０は、ユーザ２１０に対する会話内容を決定した場合、会話制御部１０２に会話内容を送信してよい。会話制御部１０２は、受信した会話内容を、携帯端末２００に出力させてよい。
【００４５】
アクション決定部１１０は、ユーザ２１０に対して提供する音楽を決定した場合、音楽出力制御部１６０に決定した音楽を送信してよい。アクション決定部１１０は、例えば、状態管理データがユーザ２１０の疲労度を含む場合、疲労度に応じた音楽を決定する。また、アクション決定部１１０は、例えば、ユーザ２１０が観賞した音楽の履歴を含む場合、当該履歴に基づいて音楽を決定してもよい。
【００４６】
音楽出力制御部１６０は、アクション決定部１１０が決定した音楽をユーザ２１０に対して提供する。音楽出力制御部１６０は、例えば、アクション決定部１１０が決定した音楽のデータを音楽システム５００に送信して、音楽システム５００に出力させる。また、音楽出力制御部１６０は、アクション決定部１１０が決定した音楽を識別する音楽識別データを音楽システム５００に送信してもよい。この場合、音楽システム５００は、受信した音楽識別データによって識別される音楽のデータを自らの音楽データ格納部又はネットワーク上から取得して、出力してよい。
【００４７】
アクション決定部１１０は、更新された状態管理データの少なくとも一部を加工処理部１４５に送信してもよい。加工処理部１４５は、受信した状態管理データの少なくとも一部に基づいて、ユーザ２１０に対するアクションに用いるデータを生成してよい。加工処理部１４５は、例えば、ユーザ２１０に対する会話内容を生成する。また、加工処理部１４５は、例えば、ユーザ２１０に対して提供する音楽を決定する。
【００４８】
加工処理部１４５は、履歴分析部１３２と連携して、ユーザ２１０に対するアクションに用いるデータを生成してもよい。例えば、ユーザ２１０の自宅の天気についての会話内容を生成する場合に、加工処理部１４５は、自宅の天気の履歴を履歴分析部１３２から受信して、現在の自宅の天気及び天気の履歴に基づく会話内容を生成する。具体例として、現在の自宅の天気が雨であり、前日及び前々日の天気も雨であることを天気の履歴が示す場合、単に自宅の天気が雨であることを伝えるのではなく、天気の履歴のニュアンスを含む「雨ばっかりで、いやですね」等の会話内容を生成する。
【００４９】
図３は、状態管理データ１８０の一例を概略的に示す。図３に例示する状態管理データ１８０は、「今日の自宅の天気」のシナリオに対応する。状態管理データ１８０は、ユーザＩＤ、位置、時間、今自宅か否か、自宅位置、及び今日の自宅の天気の項目を含む。図３は、ユーザＩＤ、現在位置、及び現在時刻が登録されており、今自宅か否か、自宅位置、及び今日の自宅の天気の内容が登録されていない状態を例示する。
【００５０】
図４は、アシストサーバ１００による状態管理データ１８０を更新する処理の流れの一例を概略的に示す。ここでは、携帯端末２００からユーザ２１０に対して話しかけるプッシュ型の会話処理を制御するときの処理の流れを概略的に示す。
【００５１】
ステップ（ステップをＳと省略して記載する場合がある。）４０２では、履歴データ収集部１０４が、携帯端末２００から、携帯端末２００の位置及び時間を受信する。Ｓ４０４では、履歴データ収集部１０４が、Ｓ４０２において受信した位置及び時間を状態管理データ更新部１０８及びコレクタ部１２０に送信する。
【００５２】
Ｓ４０６では、状態管理データ更新部１０８が、Ｓ４０４において受信した位置及び時間を用いて状態管理データ格納部１０６に格納されている状態管理データを更新する。状態管理データ更新部１０８は、位置及び時間の項目を含む状態管理データが複数ある場合、複数の状態管理データを更新してよい。Ｓ４０８では、コレクタ部１２０が、Ｓ４０４において受信した位置及び時間を加工部１４０及び履歴分析部群１３０に送信する。
【００５３】
Ｓ４１０では、アクション決定部１１０が状態管理データを参照する。アクション決定部１１０は、状態管理データに基づいて、ユーザ２１０との会話のシナリオを決定する。ここでは、「今日の自宅の天気」のシナリオを決定した場合を例に挙げて説明を続ける。アクション決定部１１０は、「今日の自宅の天気」のシナリオに対応する状態管理データとして、状態管理データ１８０を参照する。
【００５４】
図３に示す例では、今自宅か否か、自宅位置、及び今日の自宅の天気が特定されていない。アクション決定部１１０は、今自宅か否かを確認するプロセスとして、Ｓ４１４において、ユーザＩＤ及び現在位置を加工部１４０に送信する。状態管理データの項目の内容が特定されていない場合にアクション決定部１１０が実行するプロセスは、予め登録されていてよい。アクション決定部１１０は、状態管理データを参照して内容が特定されていない項目を特定し、当該項目に対応するプロセスを実行してよい。
【００５５】
Ｓ４１６では、加工部１４０が、Ｓ４１４において受信したユーザＩＤ及び現在位置を履歴分析部群１３０に送信する。加工部１４０は、履歴分析部群１３０に含まれるすべての履歴分析部１３２にユーザＩＤ及び現在位置を送信してもよく、対象選択部１４２によって選択された履歴分析部１３２にのみユーザＩＤ及び現在位置を送信してもよい。
【００５６】
履歴分析部１３２は、受信したユーザＩＤ及び現在位置に基づいて、ユーザ２１０が今自宅か否かと、ユーザ２１０の自宅位置とを特定する。履歴分析部１３２は、例えば、定期的に受信した複数の位置及び時間からユーザ２１０の自宅位置を予め導出しておき、受信したユーザＩＤに対応する自宅位置と、受信した現在位置との距離によって、ユーザ２１０が今自宅か否かを特定してよい。
【００５７】
Ｓ４１８では、今自宅か否か及び自宅位置を特定した履歴分析部１３２が、これらの情報を加工部１４０に送信する。ここでは、ユーザ２１０が今自宅にいると特定した場合を例に挙げて説明を続ける。
【００５８】
Ｓ４２０では、加工部１４０が、Ｓ４１８において受信した今自宅か否か及び自宅位置を、状態データ取得部１５０を介して状態管理データ更新部１０８に送信する。Ｓ４２２では、状態管理データ更新部１０８が、状態管理データ１８０を更新する。具体的には、状態管理データ更新部１０８は、受信した情報を、状態管理データ１８０の今自宅か否か及び自宅位置の項目に登録する。
【００５９】
Ｓ４２４では、アクション決定部１１０が状態管理データ１８０を参照する。Ｓ４２６では、アクション決定部１１０が、今日の自宅の天気を確認するプロセスとして、自宅位置を加工部１４０に送信する。
【００６０】
Ｓ４２８では、加工部１４０が、Ｓ４２６において受信した自宅位置を履歴分析部群１３０に送信する。加工部１４０は、履歴分析部群１３０に含まれるすべての履歴分析部１３２に自宅位置を送信してもよく、対象選択部１４２によって選択された履歴分析部１３２にのみ自宅位置を送信してもよい。
【００６１】
履歴分析部１３２は、受信した自宅位置に基づいて、今日の自宅の天気を特定する。履歴分析部１３２は、例えば、天気サイトであってよい。Ｓ４３０では、履歴分析部１３２が、特定した今日の自宅の天気を加工部１４０に送信する。ここでは、今日の自宅の天気が雨である場合を例に挙げて説明を続ける。
【００６２】
Ｓ４３２では、加工部１４０が、Ｓ４３０において受信した今日の自宅の天気を、状態データ取得部１５０を介して状態管理データ更新部１０８に送信する。Ｓ４３４では、状態管理データ更新部１０８が、受信した今日の自宅の天気を用いて、状態管理データ１８０を更新する。具体的には、状態管理データ更新部１０８は、受信した情報を、状態管理データ１８０の今日の自宅の天気の項目に登録する。
【００６３】
Ｓ４３６では、アクション決定部１１０が状態管理データ１８０を参照する。Ｓ４３８では、状態管理データ１８０の全ての項目の内容が特定されたことに応じて、アクション決定部１１０が、今日の自宅の天気を加工部１４０に送信する。状態管理データ１８０の全ての項目が特定されたことに応じてアクション決定部１１０が実行する実行内容は予め登録されていてよい。
【００６４】
加工部１４０の加工処理部１４５は、Ｓ４３８において受信した今日の自宅の天気に応じて、会話内容を生成する。加工処理部１４５は、例えば、履歴分析部１３２から自宅の天気の履歴を受信して、今日の自宅の天気及び天気の履歴に応じた会話内容として、「雨ばっかりで、いやですね」等の会話内容を生成する。
【００６５】
Ｓ４４０では、加工部１４０が、加工処理部１４５が生成した会話内容をアクション決定部１１０に送信する。なお、加工部１４０は、学習用のログを目的として、生成した会話内容をコレクタ部１２０に対しても送信してもよい。
【００６６】
Ｓ４４２では、アクション決定部１１０が、Ｓ４４０において受信した会話内容を会話制御部１０２に送信する。Ｓ４４４では、会話制御部１０２が、Ｓ４４２において受信した会話内容を携帯端末２００に出力させるべく、携帯端末２００の会話アプリを制御する。
【００６７】
図５は、状態管理データ１８２の一例を概略的に示す。状態管理データ１８２は、「会社の天気」のシナリオに対応する。状態管理データ１８２は、ユーザＩＤ、位置、時間、意図、場所、場所の位置、及び天気の項目を含む。図５は、ユーザＩＤ、位置、時間、及び意図が登録されており、場所、場所の位置、及び天気の内容が登録されていない状態を例示する。
【００６８】
図６は、アシストサーバ１００による状態管理データ１８２を更新する処理の流れの一例を概略的に示す。ここでは、ユーザ２１０から話しかけられるプル型の会話処理を制御するときの処理の流れを概略的に示す。
【００６９】
Ｓ６０２では、携帯端末２００が、ユーザ２１０によって入力された「天気教えて」という発言を会話制御部１０２に送信する。会話制御部１０２は、ユーザ２１０の発言を解釈して、発言の意図として天気質問を特定してよい。Ｓ６０６では、会話制御部１０２が、特定した意図（天気質問）を履歴データ収集部１０４に送信する。
【００７０】
Ｓ６０６では、履歴データ収集部１０４が、Ｓ６０４において受信した意図（天気質問）を状態管理データ更新部１０８及びコレクタ部１２０に送信する。Ｓ６０８では、状態管理データ更新部１０８が、Ｓ６０６において受信した意図（天気質問）を用いて状態管理データ格納部１０６に格納されている状態管理データを更新する。状態管理データ更新部１０８は、意図の項目を含む状態管理データが複数ある場合、複数の状態管理データを更新してよい。例えば、状態管理データ１８２は、状態管理データ１８２の意図の項目に、天気質問を登録する。
【００７１】
Ｓ６１０では、コレクタ部１２０が、Ｓ６０６において受信した意図（天気質問）を加工部１４０及び履歴分析部群１３０に送信する。
【００７２】
Ｓ６１２では、アクション決定部１１０が状態管理データを参照する。アクション決定部１１０は、状態管理データに基づいて、ユーザ２１０との会話のシナリオを決定する。ここでは、意図が天気質問であり、現在時刻が朝の時間帯であることを条件に、「会社の天気」のシナリオを決定した場合を例に挙げて説明を続ける。
【００７３】
図５に示す例では、場所、場所の位置、及び天気の内容が特定されていない。Ｓ６１６では、アクション決定部１１０が、場所を確認するプロセスとして、場所を確認するための質問である「会社付近の天気ですか？」を会話制御部１０２に送信する。
【００７４】
Ｓ６１８では、会話制御部１０２が、Ｓ６１６において受信した質問を携帯端末２００に出力させるべく、携帯端末２００の会話アプリを制御する。Ｓ６２０では、Ｓ６１８において出力した質問に対してユーザ２１０が入力した「家」という発言を携帯端末２００が会話制御部１０２に送信する。会話制御部１０２は、場所として自宅を取得する。
【００７５】
Ｓ６２２では、会話制御部１０２が、場所（自宅）を履歴データ収集部１０４に送信する。Ｓ６２４では、履歴データ収集部１０４が、場所（自宅）を状態管理データ更新部１０８に送信する。Ｓ６２６では、状態管理データ更新部１０８が、Ｓ６２４において受信した場所（自宅）を用いて、状態管理データ１８２を更新する。具体的には、状態管理データ更新部１０８は、状態管理データ１８２の場所の項目に自宅を登録する。なお、状態管理データ更新部１０８は、学習用のログを目的として、場所（自宅）をコレクタ部１２０にも送信してもよい。
【００７６】
Ｓ６２８では、アクション決定部１１０が状態管理データ１８２を参照する。Ｓ６３０では、アクション決定部１１０が、場所の位置を確認するプロセスとして、ユーザＩＤ及び場所（自宅）を加工部１４０に送信する。
【００７７】
Ｓ６３２では、加工部１４０が、Ｓ６３０において受信したユーザＩＤ及び場所（自宅）を履歴分析部群１３０に送信する。加工部１４０は、履歴分析部群１３０に含まれるすべての履歴分析部１３２にこれらの情報を送信してもよく、対象選択部１４２によって選択された履歴分析部１３２にのみこれらの情報を送信してもよい。
【００７８】
履歴分析部１３２は、受信したユーザＩＤ及び場所（自宅）に基づいて、場所（自宅）の位置を特定する。履歴分析部１３２は、例えば、ユーザ２１０の自宅の緯度経度を特定する。Ｓ６３４では、場所の位置を特定した履歴分析部１３２が、場所の位置を加工部１４０に送信する。
【００７９】
Ｓ６３６では、加工部１４０が、Ｓ６３４において受信した場所の位置を状態管理データ更新部１０８に送信する。Ｓ６３８では、状態管理データ更新部１０８が、Ｓ６３６において受信した場所の位置を用いて状態管理データ１８２を更新する。具体的には、状態管理データ更新部１０８は、状態管理データ１８２の場所の位置の項目に、ユーザ２１０の自宅の緯度経度を登録する。
【００８０】
Ｓ６４０では、アクション決定部１１０が状態管理データ１８２を参照する。Ｓ６４２では、天気を確認するプロセスとして、アクション決定部１１０が、場所の位置を加工部１４０に送信する。
【００８１】
Ｓ６４４では、加工部１４０が、Ｓ６４２において受信した場所の位置を履歴分析部群１３０に送信する。加工部１４０は、履歴分析部群１３０に含まれるすべての履歴分析部１３２に場所の位置を送信してもよく、対象選択部１４２によって選択された履歴分析部１３２にのみ場所の位置を送信してもよい。履歴分析部１３２は、受信した場所の位置の天気を特定する。ここでは、履歴分析部１３２が場所の位置の天気として雨を特定した場合を例に挙げて説明を続ける。
【００８２】
Ｓ６４６では、場所の位置の天気を特定した履歴分析部１３２が、特定した天気を加工部１４０に送信する。Ｓ６４８では、加工部１４０が、Ｓ６４６において受信した天気を状態管理データ更新部１０８に送信する。Ｓ６５０では、状態管理データ更新部１０８が、Ｓ６４８において受信した天気を用いて状態管理データ１８２を更新する。具体的には、状態管理データ更新部１０８は、状態管理データ１８２の天気の項目に雨を登録する。
【００８３】
Ｓ６５２では、アクション決定部１１０が状態管理データ１８２を参照する。Ｓ６５４では、状態管理データ１８２の全ての項目が特定されたことに応じて、アクション決定部１１０が、天気（雨）を加工部１４０に送信する。加工部１４０の加工処理部１４５は、Ｓ６５４において受信した天気（雨）に応じて、会話内容を生成する。加工処理部１４５は、例えば、「雨が降っているようです」等の会話内容を生成する。
【００８４】
Ｓ６５６では、加工部１４０が、生成した会話内容をアクション決定部１１０に送信する。なお、加工部１４０は、生成した会話内容を、学習用のログを目的として、コレクタ部１２０に対しても送信してもよい。
【００８５】
Ｓ６５８では、アクション決定部１１０が、Ｓ６５６において受信した会話内容を会話制御部１０２に送信する。Ｓ６６０では、会話制御部１０２が、Ｓ６５８において受信した会話内容を携帯端末２００に出力させるべく、携帯端末２００の会話アプリを制御する。
【００８６】
なお、ここでは、意図が天気質問であり、現在時刻が朝の時間帯であることを条件に、「会社の天気」のシナリオを選択した場合を例に挙げて説明したが、例えば、別の例として、意図が天気質問であり、現在時刻が平日の夕方の時間帯を示す場合、会社にいるユーザ２１０が帰り道を気にしての質問なのではないかという暗黙知のもと、自宅の天気を答えたり、自宅の天気を聞いているのかを確認する会話を含む自宅の天気シナリオを選択してもよい。
【００８７】
図７は、携帯端末２００による表示例２０２を概略的に示す。図７は、アシストサーバ１００が図６に示す処理を実行した場合の携帯端末２００による表示例２０２を示す。ここでは、チャットベースのインタフェースを用いた場合を例示している。
【００８８】
図８は、アシストサーバ１００として機能するコンピュータ１０００の一例を概略的に示す。本実施形態に係るコンピュータ１０００は、ホストコントローラ１０９２により相互に接続されるＣＰＵ１０１０、ＲＡＭ１０３０、及びグラフィックコントローラ１０８５を有するＣＰＵ周辺部と、入出力コントローラ１０９４によりホストコントローラ１０９２に接続されるＲＯＭ１０２０、通信Ｉ／Ｆ１０４０、ハードディスクドライブ１０５０、ＤＶＤドライブ１０７０及び入出力チップ１０８０を有する入出力部を備える。
【００８９】
ＣＰＵ１０１０は、ＲＯＭ１０２０及びＲＡＭ１０３０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０８５は、ＣＰＵ１０１０などがＲＡＭ１０３０内に設けたフレーム・バッファ上に生成する画像データを取得し、ディスプレイ１０９０上に表示させる。これに代えて、グラフィックコントローラ１０８５は、ＣＰＵ１０１０などが生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００９０】
通信Ｉ／Ｆ１０４０は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信Ｉ／Ｆ１０４０は、通信を行うハードウエアとして機能する。ハードディスクドライブ１０５０は、ＣＰＵ１０１０が使用するプログラム及びデータを格納する。ＤＶＤドライブ１０７０は、ＤＶＤ−ＲＯＭ１０７２からプログラム又はデータを読み取り、ＲＡＭ１０３０を介してハードディスクドライブ１０５０に提供する。
【００９１】
ＲＯＭ１０２０は、コンピュータ１０００が起動時に実行するブート・プログラム及びコンピュータ１０００のハードウエアに依存するプログラムなどを格納する。入出力チップ１０８０は、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポートなどを介して各種の入出力装置を入出力コントローラ１０９４へと接続する。
【００９２】
ＲＡＭ１０３０を介してハードディスクドライブ１０５０に提供されるプログラムは、ＤＶＤ−ＲＯＭ１０７２、又はＩＣカードなどの記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ１０３０を介してハードディスクドライブ１０５０にインストールされ、ＣＰＵ１０１０において実行される。
【００９３】
コンピュータ１０００にインストールされ、コンピュータ１０００をアシストサーバ１００として機能させるプログラムは、ＣＰＵ１０１０などに働きかけて、コンピュータ１０００を、アシストサーバ１００の各部としてそれぞれ機能させてよい。これらのプログラムに記述された情報処理は、コンピュータ１０００に読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段である会話制御部１０２、履歴データ収集部１０４、状態管理データ格納部１０６、状態管理データ更新部１０８、アクション決定部１１０、コレクタ部１２０、履歴分析部群１３０、加工部１４０、状態データ取得部１５０、及び音楽出力制御部１６０として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１０００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有のアシストサーバ１００が構築される。
【００９４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９５】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００９６】
１０  ネットワーク、１００  アシストサーバ、１０２  会話制御部、１０４  履歴データ収集部、１０６  状態管理データ格納部、１０８  状態管理データ更新部、１１０  アクション決定部、１２０  コレクタ部、１２２  履歴データ取得部、１２４  履歴データ送信部、１３０  履歴分析部群、１３２  履歴分析部、１４０  加工部、１４１  識別データ生成部、１４２  対象選択部、１４３  識別データ送信部、１４４  状態データ受信部、１４５  加工処理部、１５０  状態データ取得部、１６０  音楽出力制御部、１８０  状態管理データ、１８２  状態管理データ、２００  携帯端末、２０２  表示例、２１０  ユーザ、３００  サイト、４００  ＩｏＴデバイス、５００  音楽システム、１０００  コンピュータ、１０１０  ＣＰＵ、１０２０  ＲＯＭ、１０３０  ＲＡＭ、１０４０  通信Ｉ／Ｆ、１０５０  ハードディスクドライブ、１０７０  ＤＶＤドライブ、１０７２  ＤＶＤ−ＲＯＭ、１０８０  入出力チップ、１０８５  グラフィックコントローラ、１０９０  ディスプレイ、１０９２  ホストコントローラ、１０９４  入出力コントローラ
【図１】
2018128747.tif 000003
【図２】
2018128747.tif 000004
【図３】
2018128747.tif 000005
【図４】
2018128747.tif 000006
【図５】
2018128747.tif 000007
【図６】
2018128747.tif 000008
【図７】
2018128747.tif 000009
【図８】
2018128747.tif 000010