(57)【要約】【課題】行動推奨のための会話を生成する方法及び装置を提供すること。【解決手段】本方法はユーザーのゴールを受信することを含む。本方法は、ユーザーによるゴール達成に対する進捗データをセンサーから取得することを含む。本方法は、第1ユーザーの進捗度を進捗データに基づいて決定することを更に含む。進捗度はゴールの達成に対する第1ユーザーの進捗に対応する。更に、本方法は進捗度に基づいて仮想エージェントがユーザーと行う会話を生成することを含む。【選択図】図1Ａ
2017073125.tif 000002
【特許請求の範囲】
【請求項１】
第1ユーザーのゴールを前記第1ユーザーのモバイルコンピューティングデバイスから受信する工程；
前記第1ユーザーの前記モバイルコンピューティングデバイスのユーザーインターフェース、及び、センサーのうちの1つ以上から、前記第1ユーザーによるゴール達成に対する進捗データを取得する工程；
前記進捗データに基づいて、前記第1ユーザーの進捗度を判定する工程であって、前記進捗度は前記ゴールの達成に対する前記第1ユーザーの進捗に対応する、工程；
前記ゴールのパフォーマンスに関連する第2ユーザーのストーリーを入力として受信する工程；
判定された進捗度に基づいて前記ストーリーに対応するコンテンツを選択する工程であって、前記コンテンツは仮想エージェントが前記第1ユーザーに提示するように構成される、工程；
を有する方法。
【請求項２】
前記コンテンツは閾値を充足しない進捗度に基づいて選択される、請求項1に記載の方法。
【請求項３】
前記コンテンツは閾値を充足する進捗度に基づいて選択される、請求項1に記載の方法。
【請求項４】
前記方法は進捗度に対応するラベルを生成する工程を更に有し、
前記コンテンツは、前記進捗度又は前記進捗度未満の別の進捗度に対応する別のラベルを含む、請求項1に記載の方法。
【請求項５】
前記進捗データに基づいて、前記第1ユーザーによるゴール達成の程度を示す達成度を判定する工程；
前記進捗データに基づいて、前記第1ユーザーによるゴール達成に対する第1ユーザーの状況を判定する工程；及び
達成度、及び、前記第1ユーザーによるゴール達成に対する第1ユーザーの状況に基づいて、前記進捗度を判定する工程；
を更に有する請求項1に記載の方法。
【請求項６】
前記方法は、前記第1ユーザーと前記仮想エージェントとの間の会話を案内するための会話ツリーを選択する工程を更に含み、前記会話ツリーは複数のノードを含み、前記複数のノードは前記コンテンツに対応するノードを含む、請求項1に記載の方法。
【請求項７】
前記会話ツリーは、閾値を充足しない進捗度に基づいて選択される、請求項5に記載の方法。
【請求項８】
前記会話ツリーは、閾値を充足する進捗度に基づいて選択される、請求項5に記載の方法。
【請求項９】
前記会話ツリー内の所定数のステートメントからステートメントを前記第1ユーザーが選択したことに基づいて、前記第1ユーザーと前記仮想エージェントとの間の会話を決定する工程を更に含む請求項5に記載の方法。
【請求項１０】
前記方法は、前記仮想エージェントが前記第1ユーザーに前記コンテンツを提示したことに関連して前記第1ユーザーの進捗度の変化のパターンを判定する工程を更に含み、前記会話ツリーは変化のパターンに基づいて選択される、請求項5に記載の方法。
【請求項１１】
前記センサー及び前記モバイルコンピューティングデバイスの前記ユーザーインターフェースのうちの1つ以上から、前記ゴール達成に関連する前記第1ユーザーの別の進捗レベルを示す追加的な進捗データを取得する工程；
前記追加的な進捗データの受信に応答して、前記第1ユーザーの進捗度を別の進捗度に更新し、及び、前記モバイルコンピューティングデバイスに、前記ゴールを達成するための新たなストーリーに関する新たなコンテンツを送信する工程；
を更に有し、前記新たなコンテンツは、前記仮想エージェントが前記第1ユーザーに提示するように構成される、請求項1に記載の方法。
【請求項１２】
前記進捗データは、前記ユーザーインターフェースにより前記第1ユーザーが質問に対する回答を入力したことに応じて、前記ユーザーインターフェースから取得される、請求項1に記載の方法。
【請求項１３】
ユーザーのゴールを、前記ユーザーのモバイルコンピューティングデバイスから受信する工程；
前記ユーザーによるゴール達成に関する進捗データを、前記ユーザーの前記モバイルコンピューティングデバイスのユーザーインターフェース及びセンサーから取得する工程；
前記進捗データに基づいて、前記ゴール達成に対する前記ユーザーの進捗に対応する進捗度を判定する工程；及び
前記ユーザーと仮想エージェントとの間の会話を、前記進捗度に基づいて生成する工程；
を有する方法。
【請求項１４】
前記会話は会話ツリーに基づく、請求項13に記載の方法。
【請求項１５】
前記会話を生成することは、前記進捗度に基づいて会話ツリーを選択することを含む、請求項14に記載の方法。
【請求項１６】
前記方法は、前記進捗度に対応するラベルを生成する工程を更に有し、前記会話ツリーは、前記進捗度又は前記進捗度未満の別の進捗度に対応する別のラベルを含む、請求項14に記載の方法。
【請求項１７】
ゴールのパフォーマンスに関連する別のユーザーのストーリーを入力として受信する工程；及び
判定された進捗度に基づいて、前記ストーリーに対応するコンテンツを選択する工程であって、前記コンテンツは、仮想エージェントが前記ユーザーに提示するように構成される、工程；
を更に有する請求項13に記載の方法。
【請求項１８】
システムに動作を実行させるように構成されたコンピュータ実行可能な命令を含むコンピュータ読み取り可能な記憶媒体であって、前記動作は：
ユーザーのゴールを受信する工程；
前記ユーザーによるゴール達成に関連する進捗データをセンサーから取得する工程；
前記ゴール達成に対する前記ユーザーの進捗に対応する進捗度を、前記進捗データに基づいて判定する工程；及び
仮想エージェント及び人間のうちの1つ以上とユーザーとの間でなされる会話を、前記進捗度に基づいて生成する工程；
を有する、記憶媒体。
【請求項１９】
前記会話は会話ツリーに基づく、請求項18に記載のコンピュータ読み取り可能な記憶媒体。
【請求項２０】
前記動作は前記進捗度に対応するラベルを生成する工程を更に含み、前記会話ツリーは、前記進捗度又は前記進捗度未満の別の進捗度に対応する別のラベルを含む、請求項19に記載のコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示で説明される実施形態は、行動推奨のための会話を生成すること等に関連する。
【背景技術】
【０００２】
別意の断りがない限り、背景技術に記載される事項は、本開示の特許請求の範囲に対する従来技術ではなく、この欄に含まれることをもって従来技術であると認められたわけでもない。説得や社会的な影響などにより、ユーザーの考え方や行動を促すテクノロジーが考案されるかもしれない。そのようなテクノロジーは良い習慣を生み出すようにユーザーを支援するように設計されるかもしれないが、習慣の変更は容易ではなく、多くの試みは失敗に終わる。
【０００３】
本開示における対象事項は、何れの欠点も解決する実施形態や、上記のような環境でしか動作しない実施形態には限定されない。むしろ、この背景技術の欄は、説明される実施形態が実施されてもよい技術分野の一例を示すために設けられているに過ぎない。
【発明の概要】
【０００４】
実施形態の一側面によれば、本方法はユーザーのゴールを受け入れることを含む。本方法は、前記ユーザーによる前記ゴールの達成に関するデータを、センサーから取得することを含む。本方法は、進捗データに基づいて、第1ユーザーの進捗度を判定することを含む。進捗度は、前記ゴールの達成に対する前記第1ユーザーの歩みに対応する。更に、本方法は、前記進捗度に基づいて、仮想エージェントが前記ユーザーと行う会話を生成することを含む。
【０００５】
本開示の目的及び効果は、特許請求の範囲に具体的に示される要素、特徴及び組み合わせにより少なくとも部分的に実現及び達成される。
【０００６】
上記の一般的な記述及び以下の詳細な記述の双方は、具体例として与えられており、例示であるに過ぎず、請求項に係る発明の限定ではない。
【図面の簡単な説明】
【０００７】
添付図面を利用することにより、更なる具体性及び詳細とともに、実施形態は記述及び説明される。
【０００８】
【図１Ａ】ユーザーにより達成されている目標達成度及び/又はコンテキストスコアを判定するように構成されるシステム例を表現する図。
【０００９】
【図１Ｂ】ユーザーの進捗度を判定するように構成される別のシステム例を表現する図。
【００１０】
【図１Ｃ】ユーザーと仮想エージェントとの間の会話に含める内容を選択するように構成される別のシステム例を表現する図。
【００１１】
【図１Ｄ】ユーザーと仮想エージェントとの間の会話をガイドする会話ツリーを選択するように構成される別のシステム例を表現する図。
【００１２】
【図２】例示的な会話ツリーを表現する図。
【００１３】
【図３】会話モジュールを含む例示的な情報処理システムを示すブロック図。
【００１４】
【図４】アクションを含むストーリーに対応する新たな内容及び/又は新たな会話ツリーを生成する方法例のフローチャートを示す図。
【００１５】
【図５】行動推奨のための会話を生成する方法例のフローチャートを示す図。
【００１６】
【図６】行動推奨のための会話を生成する別の方法例のフローチャートを示す図。
【発明を実施するための形態】
【００１７】
ストーリーはリスナーの行動を鼓舞し、ストーリーがリスナーのゴールに関連している場合は特にそうである。リスナーは、ゴールを達成するために、ストーリーにより伝えられるものに類似するアクションを実行することを考えるかもしれない。すなわち、ストーリーは、リスナーが彼又は彼女のゴールを達成することを支援する。本開示で言及される「アクション」という用語は、ユーザーのゴールに関連するストーリーに対応する。本開示で説明される実施形態は、行動を鼓舞するために、ユーザーのゴールに関連するストーリーを含む会話を生成することに関連する。特に、一実施形態では、ゴールのパフォーマンスに関連するアクションに対応するコンテンツ(内容)は、仮想エージェントによりユーザーに提示するように構成されてもよい。更に、一実施形態では、アクションに対応するコンテンツは、ゴールの達成に関連するユーザーの進捗度に基づいて生成されてもよい。一実施形態では、コンテンツを生成することは、コンテンツを選択することを含んでもよい。一実施形態では、進捗度は、ユーザーにより達成されている目標達成度、及び/又は、ユーザー周辺の状況に基づくコンテキストスコアに基づいて決定されてもよく、コンテキストはゴールを達成しようとするユーザーにとって好ましい又は好ましくないものであってよい。
【００１８】
更に、一実施形態では、以下において詳細に説明されるように、ユーザーにより達成されているゴールの定量化(目標達成度)及び/又はコンテキストスコアは、センサーデータ、アンケートデータ及びユーザー通信データ等に関連するタイプのデータのうちの1つ以上に基づいて決定されてもよい。すなわち、一実施形態では、会話の内容は、ユーザーに関連するデータに基づいて、そのユーザーに対して個別化されてよい。一実施形態では、アクションは第2ユーザーにより入力されてもよい。更に、一実施形態では、アクションはクラウドソーシングされてもよい。
【００１９】
以下において詳細に説明されるように一実施形態では、会話ツリーがユーザーと仮想エージェントとの間の会話を案内し、会話ツリーは進捗度及び/又はユーザーの習慣に基づいて生成されてもよい。一実施形態では、会話ツリーのグループの中から会話ツリーグループを選択することにより、会話ツリーが生成されてもよい。一実施形態では、会話ツリーは、コンテンツを含む会話ツリーに基づいて選択されてよい。一実施形態では、会話ツリーの所定数のステートメント(例えば、発言、意見など)の中から、ユーザーが1つ以上のレスポンスを選択する場合に、会話ツリーを利用して会話が決定されてもよい。
【００２０】
更に、一実施形態では、判定されたユーザーの進捗度に応じて、進捗度ラベルが生成され、進捗度ラベルは、進捗度、又は、進捗度を含む或る範囲内の進捗度に対応する。一実施形態において、コンテンツは進捗度ラベルに基づいて選択されてもよい。特に、一実施形態において、コンテンツは、進捗度ラベルとコンテンツに割り振られるコンテンツラベルとの比較に基づいて選択されてもよい。これら及び他の実施形態において、コンテンツは、進捗度ラベルに合致するコンテンツラベル、又は、その進捗度より小さい別の進捗度に対応するコンテンツラベルを含むコンテンツに基づいて選択されてもよい。特定のコンテンツのコンテンツラベルは、進捗度、又は、コンテンツに対応するアクションに関連する或る範囲内の進捗度に対応してもよい。例えば、特定のコンテンツのコンテンツラベルは、他のユーザーがコンテンツに対応するアクションを開始又は実行した場合に、他のユーザーの進捗度に対応してもよい。
【００２１】
進捗度に基づいてコンテンツを選択することに対して追加的又は代替的に、一実施形態では、進捗度に基づいて会話ツリーが選択されてもよい。一実施形態では、進捗度ラベルと会話ツリーに割り振られる会話ツリーラベルとの比較に基づいて、会話ツリーが選択されてもよい。特に、一実施形態では、その進捗度に合致する会話ツリーラベル、又は、その進捗度より小さい別の進捗度に対応する会話ツリーラベルを含む会話ツリーに基づいて、会話ツリーが選択されてもよい。
【００２２】
一実施形態では、進捗度及び/又は進捗度ラベルの変化を反映する新たなデータを受信したことに応答して、会話は、新たなコンテンツ及び/又は新たな会話ツリーを選択することにより動的に更新され、この点については後述する。
【００２３】
図1Aは、本開示で説明される少なくとも1つの実施形態により構成される、達成度112及び/又はコンテキストスコア114を決定するように構成されたシステム例100を表現する図である。一実施形態において、システム100は、達成度112及び/又はコンテキストスコア114を決定するように構成される会話モジュール102を含む。一実施形態において、ユーザーのゴール104はユーザーによりマニュアルで入力されてもよい。追加的又は代替的に、一実施形態では、会話モジュール102は1つ以上の可能なゴールをユーザーに提示するように構成されてもよく、ユーザーは可能なゴールの中からゴール104を選択してもよい。一実施形態では、可能なゴールは、他のユーザーにより入力されてもよいし、クラウドソースされてもよい。一実施形態では、他のユーザーにより入力される可能なゴールをクラウドソーシングすることは、他のユーザーにより入力された可能なゴールのうちの何れが、他のユーザーの中で好評であるかを判定するために、他のユーザーをポーリングすることを含んでもよい。例えば、他のユーザーは、他のユーザーにより入力された可能なゴールに投票してもよい。一実施形態では、可能なゴールは、予め設定されていてもよいし、及び/又は、ブログ、アドバイスコラム等のような様々なオンラインリソースから導出されてもよい。
【００２４】
一実施形態では、会話モジュール102は、ユーザーによるゴール104の達成に関連する進捗データ及び/又はゴール104を受信するように構成されてよい。具体的には、進捗データは、センサーデータ106、アンケート調査データ108、及び、ユーザー通信データ110等のようなタイプのデータのうちの1つ以上を含んでよい。一実施形態では、会話モジュール102は、進捗データ、達成度112及び/又はコンテキストスコア114に基づいて判断してもよい。
【００２５】
本開示において、「センサー」という用語は、1つ以上のインジケータ又はパラメータをセンシング又は検出する物理的なセンサーを示す。本開示において、「センサー」という用語は、情報を取得するシステム、装置、デバイス又はモジュールを示す。一実施形態において、センサー106は、気象センサー、位置センサー、スケジュールセンサー、心拍センサー、モーションセンサー、睡眠センサー、及び、時間センサー等のうちの1つ以上を含んでよい。
【００２６】
位置センサーは、ユーザーの場所を検出又は判定するように構成される適切な任意のシステム、装置、デバイス又はモジュールを含んでよい。例えば、位置センサーは、GPS受信機、Wi-Fi信号検出器、GSM(登録商標)信号検出器、ブルートゥース(登録商標)ビーコン検出器、インターネットプロトコル(IP)アドレス検出器でもよいし、或いは、位置を検出又は判定する他の任意のシステム、装置、デバイス又はモジュールを含んでよい。
【００２７】
気象センサーは、判定された位置に基づいて、ユーザーの位置に関する気象情報を取得又は測定するように構成される適切な任意のシステム、装置、デバイス又はモジュールを含んでよい。例えば、気象センサーは、判定された位置に関するウェザーレポートをインターネットから取り出すように構成されてもよい。これら又は他の実施形態において、気象センサーは、周囲環境の気象状態を検出する1つ以上のセンサーを含んでよい。例えば、一実施形態において、気象センサーは、温度センサー、気圧センサー、湿度センサー等のうちの1つ以上を含んでもよい。
【００２８】
スケジュールセンサーは、ユーザーに関連付けられている1つ以上のカレンダーからスケジュールデータを取り出すように構成される適切な任意のシステム、装置、デバイス又はモジュールを含んでよい。例えば、スケジュールセンサーは、ユーザーのアウトルックカレンダー(Outlook  Calendar)、グーグルカレンダー(Google  Calendar)又はその他の電子的なカレンダーから、スケジュールデータを取り出すように構成されてよい。スケジュールデータは、一実施形態では、進捗データに含まれてもよい。
【００２９】
心拍センサーは、心拍又は心拍のインジケータを測定又は判定するように構成される適切な任意のシステム、装置、デバイス又はモジュールを含んでよい。例えば、心拍センサーは、脈、皮膚温度などを検出するように構成される1つ以上のセンサーを含んでよい。これら又は他の実施形態において、心拍センサーは、検出されたインジケータに基づいて心拍を判定するように構成される1つ以上のシステム、装置、デバイス又はモジュールを含んでよい。
【００３０】
モーションセンサーは、動きを判定又は検出するように構成される適切な任意のシステム、装置、デバイス又はモジュールを含んでよい。例えば、一実施形態では、モーションセンサーは、傾斜、振動、回転、振れ及びその他の任意の動きのうちの1つ以上を検出又は判定することが可能な適切な任意のシステム、装置、デバイス又はモジュールを含んでよい。これら又は他の実施形態において、モーションセンサーは、ジャイロスコープ、加速度計、磁力計、歩数計、GPS受信機、及び、動きを検出する他の任意のセンサーのうちの1つ以上を含んでよい。追加的又は代替的に、モーションセンサーは、センサーにより検出される情報に基づいて動きを判定するように構成される1つ以上のシステム、装置、デバイス又はモジュールを含んでよい。
【００３１】
睡眠センサーは、ユーザーが眠っているか否かを判断する、及び/又は、ユーザーが眠っている兆候を検出するように構成される適切な任意のシステム、装置、デバイス又はモジュールを含んでよい。一実施形態において、睡眠センサーは、ユーザーが眠っているか否か、ユーザーがどの程度長く眠ったか、ユーザーの睡眠パターン、ユーザーがどの程度良く寝たか、或いは、ユーザーの睡眠の質などの指標を検出することが可能な物理センサーを含んでよい。一実施形態では、センサーは、ユーザーデバイス内に含まれてもよいし、或いは、ユーザーデバイスに接続されてもよい。一実施形態では、センサーはユーザーデバイスに無線により接続されてもよい。これら又は他の実施形態において、睡眠センサーは、ユーザーが眠っていることをインジケータに基づいて判断するように構成される1つ以上のシステム、装置、デバイス又はモジュールを含んでよい。
【００３２】
時間センサーは、日時を検出又は判定するように構成される適切な任意のシステム、装置、デバイス又はモジュールを含んでよい。時間センサーは例えば時計を含む。
【００３３】
一実施形態では、1つ以上のアンケート(questionnaire)が、ユーザーからアンケート調査データ108を収集する。一実施形態では、特定の質問はユーザーのゴールの達成に関連する。例えば、ユーザーのゴールは、一日あたり所定のグラム数のタンパク質をユーザーが消費することを含み、特定のアンケートは、例えば、「昼食に何を食べましたか？」或いは「夕食に何を食べましたか？」等のような質問を含んでもよい。別の例として、ゴールは、1日当たり30分間運動することを含み、特定のアンケートは、例えば、「今日いくらかの時間を運動に費やしましたか？」、「仕事の際に階段を上りましたか？」或いは「今日運動するためにどの程度の時間を割けますか？」等の質問を含んでもよい。アンケートから取得されたアンケート調査データ108は、例えば、ユーザーの感情、動機、スケジュール、社会的交流、食事などのようなユーザーのゴールの達成に関連する任意の数のトピックに関連してよい。一実施形態では、会話モジュール102は、例えばスマートフォンのようなユーザーデバイスを利用して、ユーザーにアンケートを提供するように構成される。一実施形態において、会話モジュール102は、入力部を含むユーザーデバイスのユーザーインターフェースを通じてユーザーからアンケート調査データ108を取得するように構成されてよい。ユーザーインターフェースは、例えば、キーボード、スタイラス、タッチスクリーン、スマートフォン、音声入力部、音声認識部、マイクロフォン、マウス等を含んでよい。
【００３４】
一実施形態において、会話モジュール102はユーザー通信データ110を分析する。ユーザー通信データ110は、ユーザーにより行われた1つ以上の通信から取得される。一実施形態において、通信は、ユーザーにより行われた口頭の発言、ユーザーにより書き込まれた発言、ユーザーの身振り等のうちの1つ以上を含んでよい。通信は、例えば、テキストメッセージ、電話の呼、ビデオチャット、又は、その他の通信を含んでよい。一実施形態において、通信は、そのユーザーにより他の者に対してなされてよい。一実施形態において、他の者は通信を解釈し、会話モジュール102により受信されるユーザー通信データ110を入力してもよい。一実施形態において、会話モジュール102は、通信を解釈し、及び/又は、通信から情報を推定し、ユーザー通信データ110を取得するように構成されてよい。
【００３５】
一実施形態において、会話モジュール102は、進捗データに基づいて達成度112を判定するように構成されてよい。達成度112は、ユーザーによるゴールの達成の度合いを示す。例えば、達成度112は、ユーザーにより達成された又は達成されてないゴール達成の定量化を含んでよい。例えば、ユーザーのゴールは、一日あたり10000歩あるくことを含み、センサーデータ106は、そのユーザーがその日に5000歩あるいたことを示すかもしれない。センサーデータ106に基づいて、会話モジュール102は、その日にユーザーが歩いた歩数(例えば、5000)を一日あたりの目標歩数(例えば、10000)で除算することにより、達成度112が50パーセントであることを判断するように構成されてよい。達成度112は、パーセンテージ、又は、ゴールの達成度を示す他の任意の値に対応して良い。
【００３６】
別の例として、ユーザーのゴールは、一日あたり60グラムのタンパク質をユーザーが消費することを含み、アンケート調査データ108は、ユーザーがその日に15グラムのタンパク質を消費したことを示すかもしれない。アンケート調査データ108に基づいて、会話モジュール102は、その日にユーザーにより消費されたグラム数(例えば、15)を、一日あたりの目標消費グラム数(例えば、60)で除算することにより、達成度112が25パーセントであることを判断するように構成されてもよい。追加的又は代替的に、一実施形態では、会話モジュール102は、進捗データに基づいて、達成されてないゴール達成度112を判定するように構成されてもよく、達成度112は進捗度を決定するのに使用されてよい。
【００３７】
追加的又は代替的に、一実施形態では、会話モジュール102は、ゴールを達成しようとしているユーザーにとって好ましい又は好ましくないユーザーの状況(又はコンテキスト)を、進捗データに基づいて判定するように構成されてよい。一実施形態において、ユーザーの状況は、達成度112に関連付けられない何れか及び/又は全ての進捗データから判定されてもよい。一実施形態では、会話モジュール102は、ユーザーによるゴールの達成にとって好ましい状況、又は、ユーザーによるゴールの達成にとって好ましくない状況を、進捗データが示すか否かに基づいて、正(ポジティブ)又は負(ネガティブ)のラベルを進捗データに付すように構成されてもよい。一実施形態において、会話モジュール102は、ユーザーの特定のゴールに関して正又は負のラベルを特定の進捗データに付すように構成されてもよい。例えば、ユーザー通信データ110は、「私は意志力(willpower)の薄弱化を感じつつある」というユーザーが発言したステートメントを含んでいるかもしれない。一実施形態では、他の人が「私は意志力の薄弱化を感じつつある」というステートメントを解釈し、この例ではユーザーの気分又はエネルギーレベルであるコンテキスト(状況)がユーザーのゴールの達成にとって好ましくないことを示すユーザー通信データ110を入力してもよい。会話モジュール102は、達成度112を受信及び/又は判定するように構成され、ゴールの達成に関してネガティブなラベルをユーザー通信データ110に付してもよい。
【００３８】
別の例として、例えば時間センサーから会話モジュール102が受信する特定のセンサーデータ106は、日時が午後11時(11p.m.)であり、ゴールを達成するためにユーザーには1時間しか残ってないことを示す。センサーデータ106に基づいて、会話モジュール102は、ユーザーのコンテキスト(この例では、ゴールを達成するために残っている時間)が、ユーザーによるゴール達成にとって好ましくないことを判断し、ゴール達成に関してネガティブなラベルをセンサーデータ106に付すように構成されてもよい。
【００３９】
別の例として、会話モジュール102により気象センサーから受信される特定のセンサーデータ106は、雷雨の嵐が生じているか又は生じそうであるかをしてもよい。特定のセンサーデータ106に基づいて、会話モジュール102は、ユーザー周辺の状況(この例では気象イベント)が、「二輪車で20マイル」というユーザーの特定のゴールの達成に関して好ましくないことを判断し、特定のゴール達成に関してネガティブなラベルをセンサーデータ106に付すように構成されてもよい。一実施形態において、様々なゴールとセンサーデータ106との間の相互関係は予め決められていてもよく、会話モジュール102は、所定の相互関係に基づいて、特定のセンサーデータが特定のゴールに関連していることを判定するように構成されてよい。
【００４０】
更に別の例として、会話モジュール102がスケジュールセンサーから受信する特定のセンサーデータ106は、ユーザーのスケジュールが、ゴールに関係しない活動で一杯であることを示すかもしれない。特定のセンサーデータ106に基づいて、会話モジュール102は、ユーザーを取り巻く状況が、「毎日2時間読書する」というユーザーの特定のゴール達成に関して好ましくないことを判定し、その特定のゴール達成に関してネガティブなラベルをセンサーデータ106に付すように構成されてもよい。一実施形態において、会話モジュール102は、例えばキーワード照合、トピックモデリング及び/又はマニュアルタグ付け等のような技術を利用して、ユーザーのスケジュールに基づいて、ユーザーを取り巻く状況がユーザーの特定のゴール達成に関して好ましい又は好ましくないことを判断するように構成されてもよい。
【００４１】
一実施形態では、会話モジュール102は、本開示で以下において具体例が説明されるようなコンテキスト関数に従うコンテキストスコアを、進捗データに基づいて決定するように構成される。コンテキストスコアは、ユーザーによるゴール達成に対するユーザーの状況の好都合さ又は不都合さに対応してもよい。一実施形態では、コンテキストスコアは、例えば特異値分解(SVD)やクラスタリング等のような機械学習技術を利用して算出されてもよい。コンテキストスコアを判定するために、様々なコンテキスト関数が使用されてよい。本開示は、コンテキスト関数に従ってコンテキストスコアがどのように決定されるかについての一例を述べているに過ぎない。
【００４２】
例えば、コンテキスト関数により、ユーザーの特定のゴールに関してポジティブとしてラベル付けされる進捗データのパーセンテージが、特定のゴールに関してネガティブとしてラベル付けされる進捗データに関する閾値パーセンテージを充足する場合、コンテキストスコアは例えば2という値に指定されてもよい。例えば、閾値パーセンテージが50パーセントに等しく、ポジティブにラベル付けされる進捗データが、ポジティブにラベル付けされる進捗データ及びネガティブにラベル付けされる進捗データを含む全体の進捗データの50パーセントを超える場合、コンテキストスコアは2という値に指定されてもよい。コンテキスト関数により、ポジティブにラベル付けされる進捗データが、例えば全体の進捗データの50パーセントである閾値パーセンテージを越えない場合、コンテキストスコアは、別の値(例えば、1)に等しくなるように算出されてもよい。
【００４３】
図1Bは、ユーザーの進捗度を判定するように構成される別のシステム例115を表現する図である。一実施形態において、会話モジュール102は、進捗データに基づいて、ユーザーの進捗度116を判定するように構成されてよい。進捗度116は、ゴール達成に関するユーザーの進捗に対応する。一実施形態において、会話モジュール102は、達成度112及び/又はコンテキストスコア114に基づいて、進捗度116を決定するように構成されてよい。一実施形態において、会話モジュール102は、本開示で具体例が説明される進捗度関数に従って、進捗度116を決定するように構成されてよい。様々な進捗度関数が、達成度112及び/又はコンテキストスコア114に基づいて進捗度116を決定するために使用され、進捗データに基づいて決定される。本開示は、進捗度116が進捗度関数に従ってどのように決定されるかについての一例を記述しているに過ぎない。一実施形態では、会話モジュール102は以下の表現に従って進捗度116(p)を計算するように構成されてもよい：
【００４４】
p＝q×c
【００４５】
上記の数式において、q及びcはそれぞれ達成度112及びコンテキストスコア114を表現する。
【００４６】
一実施形態において、会話モジュール102は、進捗度116に対応する進捗度ラベルを生成するように構成されてよい。一実施形態において、進捗度ラベルは、閾値に合致する又は越える、閾値未満である、或いは、閾値同士の間にある進捗度116に基づいて生成されてもよい。例えば、進捗度が、第1閾値未満である、第2閾値未満である、第3閾値未満である、或いは、第4閾値未満であることに応じて、それぞれ「未達成(Failure)」、「不足(Too  little)」、「あと一歩(Almost  there)」或いは「達成(Success)」という進捗度ラベルが生成されてもよい。ゴール達成に関して取り巻く状況は好ましくない又は困難であることをコンテキストスコア114が示していることに応じて、「状況を考えると、もっともなことである(Understandable)」という進捗度ラベルが生成されてもよい。一実施形態では、コンテキストスコア114が特定の閾値未満であることに応答して、「Understandable」という進捗度ラベルが、達成度112によらずに生成されてもよい。本開示において、閾値は、1つの値を含んでもよいし、あるいは、或る範囲内の複数の値を含んでもよい。
【００４７】
一実施形態において、会話モジュール102は、達成度(q)のみに基づいて進捗度を判定するように構成されてもよい。これら及び他の実施形態において、各々の進捗度ラベルは、進捗度に基づく精密な定義を有してもよい。例えば、ユーザーが、ユーザーのゴールに対して85パーセント(85％)ないし100パーセント(100%)の間で達成していることに応じて、会話モジュール102は「達成(Success)」という進捗度ラベルを生成してもよい。別の例として、ユーザーが、ユーザーのゴールに対して70パーセント(70％)ないし90パーセント(90%)の間で達成していることに応じて、会話モジュール102は「あと一歩(Almost  there)」という進捗度ラベルを生成してもよい。別の例として、ユーザーが、ユーザーのゴールに対して10パーセント(10％)ないし80パーセント(80%)の間で達成していることに応じて、会話モジュール102は「不足(Too  little)」という進捗度ラベルを生成してもよい。更に別の例として、ユーザーが、ユーザーのゴールに対して0ないし25パーセント(25%)の間で達成していることに応じて、会話モジュール102は「未達成(Failure)」という進捗度ラベルを生成してもよい。
【００４８】
図1Cは、ユーザーと仮想エージェントとの間での会話に含まれるコンテンツ118を選択するように構成される別のシステム例117を示す図である。一実施形態において、コンテンツ118は、ゴール104のパフォーマンスに関連するアクションを包含する又はそれに対応する。一実施形態において、コンテンツ118は、ゴール104のパフォーマンスに関連する別のユーザーのアクションを包含する又はそれを含んでもよい。一実施形態において、アクションは、他のユーザーにより入力され、会話モジュール102により受信されてもよい。一実施形態において、アクションは、他のユーザーによる入力に依らず、会話モジュール102により生成されてもよい。例えば、アクションは、ブログ、アドバイスコラム等のような様々なオンラインリソースから導出されてもよい。
【００４９】
一実施形態において、アクションは、ゴール104に関連する別のゴールのパフォーマンスに関連付けることにより、ゴール104のパフォーマンスに関連付けられてもよい。例えば、コンテンツ118は、瓶にコインを貯めること等のような特定のアクションを含み、その特定のアクションは金を貯める特定のゴール104のパフォーマンスに関連付けられる。別の例として、コンテンツ118は一日を通して少なめの食事をとること等の特定のアクションを含み、その特定のアクションは、摂取カロリーを減らすこと及び/又は体重を減らすことという特定のゴール104のパフォーマンスに関連する。更に別の例として、以下において詳細に説明されるように、図2のチャイルドノード214がコンテンツ118を包含する又はそれに対応してもよい。一実施形態において、会話モジュール102は、進捗度116及びユーザーの習慣120のうちの1つ以上に基づいて、コンテンツ118を選択するように構成されてもよい。例えば、一実施形態では、閾値を充足する進捗度に基づいてコンテンツ118が選択されてもよい。一実施形態では、会話モジュール102は、閾値を充足する進捗度116に基づいて第1コンテンツ118を選択し、閾値を充足しない又は別の閾値を充足する進捗度116に基づいて第2コンテンツ118を選択するように構成されてもよい。
【００５０】
特に、一実施形態では、会話モジュール102は、進捗度ラベルに基づいてコンテンツ118を選択するように構成されてよい。例えば、コンテンツ118は、進捗度ラベルとコンテンツ118に割り当てられたコンテンツラベルとの比較に基づいて選択されてもよい。特に、一実施形態では、会話モジュール102は、コンテンツ118が(a)進捗度ラベルに合致するコンテンツラベル又は(b)その進捗度未満の別の進捗度に対応するコンテンツラベルを含んでいることに応じて、コンテンツ118を選択するように構成されてもよい。
【００５１】
一例として、「未達成」、「不足」、「あと一歩」及び「達成」という進捗度ラベルは、徐々に高まる進捗度又は進捗度範囲に対応してもよい。すなわち、「未達成」又は「不足」という進捗度ラベルは、「あと一歩」又は「達成」という進捗度ラベルよりも、ゴール達成から遠いことを示してよい。一実施形態では、進捗度ラベル及びコンテンツラベルの双方が「未達成」、「不足」、「あと一歩」又は「達成」に対応することに応答して、会話モジュール102はコンテンツ118を選択するように構成されてもよい。一実施形態において、「あと一歩」という進捗度ラベル、及び、その進捗度未満の別の進捗度に対応するコンテンツラベル(例えば、「あと一歩」又は「不足」)に応じて、会話モジュール102はコンテンツ118を選択するように構成されてもよい。
【００５２】
図1Cに示されるように、一実施形態では、会話モジュール102はユーザーの習慣120に基づいてコンテンツ118を選択するように構成される。一実施形態では、会話モジュール102は、仮想エージェントによりユーザーに特定のタイプのコンテンツ118を提示することに関し、ユーザーの進捗度のパターン変更に基づいて、ユーザーの習慣120を決定するように構成されてもよい。例えば、会話モジュール102は、特定のタイプのアクションに対応するコンテンツ118の提示に応答して、増加する進捗度のパターンを、履歴データに基づいて決定するように構成されてもよい。より具体的な例として、ゴールが一般的に運動することに関連する場合に、進捗度は、ランニング又はストレッチングに関するコンテンツ118の提示に応じて習慣により増えてもよい。コンテンツ118の提示に応じて増加する進捗度のパターンは、コンテンツ118が提示される場合に、ゴールを達成することに対してユーザーの活動を増やすユーザーの習慣に対応してもよい。会話モジュール102は、パターンの変化及び/又はユーザーの習慣に基づいてコンテンツ118を選択するように構成されてもよい。
【００５３】
別の例として、会話モジュール102は、特定のトーン(tone)に対応するコンテンツ118の提示に応じて増加する進捗度のパターンを、履歴データに基づいて決定するように構成されてもよい。より具体的な例として、進捗度は、事実を基礎とした手厳しいトーン(a  fact-based,  harsh  tone)とは異なり、共感するトーンでコンテンツ118を提示することに応じて習慣により増えてもよい。例えば、過去の経験的に、ユーザーは、共感トーンが使用される場合に、事実に基づく手厳しいトーンが使用される場合よりも良好に又は多くの進捗度とともにゴールに向かって応答する。会話モジュール102は、特定のトーンに基づいてコンテンツ118を選択するように構成されてもよい。一実施形態において、会話モジュール102は、変更パターン、ユーザーの習慣、及び、コンテンツの特定のトーンのうちの1つ以上に基づいてコンテンツ118を選択するように構成されてよい。
【００５４】
一実施形態において、会話モジュール102は、クラウドソーシングされる対応アクションに少なくとも部分的に基づいて、コンテンツ118を選択するように構成されてもよい。一実施形態において、他のユーザーにより入力される1つ以上の特定のアクションは、クラウドソーシングによるものであってもよい。一実施形態において、他のユーザーにより入力される特定のアクションをクラウドソーシングすることは、他のユーザーをポーリングし、他のユーザーにより入力された特定のアクションのうちの何れが他のユーザーの中で好評であるかを判定することを含んでよい。例えば、他のユーザーは、他のユーザーにより入力された特定のアクションについて投票してもよい。会話モジュール102は、複数のコンテンツ118の中からコンテンツ118を選択するように構成されてもよい。特定のゴール104、特定の達成度112、及び/又は、特定の進捗度116のうちの1つ以上の達成度に関し、複数のコンテンツ118のうちの各々が他より好評である又は最も好評であると判断されたことに基づいて、複数のコンテンツ118が選択されてもよい。会話モジュール102は、複数のコンテンツ118のうちの会話に含めるために、例えば進捗度116及び/又はユーザーの習慣120に基づいて、複数のコンテンツ118のうちからコンテンツ118を選択するように構成されてもよい。
【００５５】
図1Dは、ユーザーと仮想エージェントとの間の会話を案内するために会話ツリー124を生成するように構成される別のシステム例122を表現する図である。一実施形態において、会話ツリー124はノードの集まりを含み、各々のノードは仮想エージェント又はユーザーのステートメントに対応する。一実施形態において、ノードの集合は、親ノード(ペアレントノード)と1つ以上の子ノード(チャイルドノード)を有する階層的なツリー構造で構成されてもよい。親ノードは自身より下位のノード(子ノード)を有する任意のノードであってよい。特定のノードは、親ノード及び子ノードの双方であってもよい。仮想エージェントによるステートメントに対応する各々のノードは1つ以上の子ノードを有し、子ノードの各々はユーザーによるステートメントに対応する。一実施形態において、親ノードは、仮想エージェント及びユーザーの間の会話における最初の又はオープニングのステートメントを表現し、仮想エージェント又はユーザーのステートメントに対応し；仮想エージェント又はユーザーのうちの一方が会話を開始してよい。
【００５６】
例えば、図2を参照すると、親ノード202は、例えば「やあ，少し時間ありますか？」のような仮想エージェントのステートメントに対応してもよい。親ノード202は、ユーザーによるステートメントに対応してもよい子ノード204，206を含んでもよい。子ノード210，212もユーザーによるステートメントに対応してよい。子ノード214は図1のコンテンツ118を含む又はそれに対応してもよい。子ノード208，214は仮想エージェントによるステートメントに対応してよい。一実施形態において、子ノード204，206，210，212は、例えばユーザーデバイスを利用して、ユーザーにより選択されたステートメントに対応してよい。追加的又は代替的に、一実施形態では、ステートメントは、ユーザーデバイスのユーザーインターフェースを利用して、ユーザーにより選択されてもよいし、及び/又は、ユーザーによりマニュアルで入力されてもよい。追加的又は代替的に、一実施形態では、ユーザーのステートメントはユーザーが喋ってもよい。一実施形態において、ユーザーによるステートメント及び/又は仮想エージェントによるステートメントは、静的なステートメントのグループの中から選択され、ステートメントのうちの1つ以上はクラウドソーシングされてもよいし或いは他のユーザーにより投票されてもよい。
【００５７】
図1Dに関し、一実施形態において、会話モジュール102は、コンテンツ118を含む会話ツリーに基づいて会話ツリー124を選択するように構成され、コンテンツは進捗度116及び/又はユーザーの習慣120に基づいて選択されてもよい。追加的又は代替的に、一実施形態では、会話モジュール102は、進捗度116及びユーザーの習慣120のうちの1つ以上に基づいて、会話ツリー124を選択するように構成される。例えば、コンテンツ118と同様に、一実施形態では、会話ツリー124は、閾値を充足する進捗度116に基づいて選択されてもよい。一実施形態において、会話モジュール102は、閾値を充足する進捗度116に基づいて第1会話ツリー１24を選択し、及び、その閾値を充足しない又は別の閾値を充足する進捗度116に基づいて第2会話ツリー124を選択するように構成されてよい。
【００５８】
特に、一実施形態において、会話モジュール102は、進捗度ラベルに基づいて会話ツリー124を選択するように構成されてもよい。例えば、会話ツリー124は、進捗度ラベルと、会話ツリー124に割り振られた会話ツリーラベルとの比較に基づいて、選択されてもよい。特に、一実施形態において、会話モジュール102は、(a)進捗度に合致する又は(b)進捗度未満の別の進捗度に対応する会話ツリーを含む会話ツリーに基づいて、会話ツリー124を選択するように構成されてもよい。
【００５９】
一例として、「未達成」、「不足」、「あと一歩」及び「達成」という進捗度ラベルは、徐々に高くなる進捗度又は進捗度範囲に対応してもよい。すなわち、「未達成」又は「不足」という進捗度ラベルは、「あと一歩」又は「達成」という進捗度ラベルよりも、ゴール達成から遠いことを示してよい。一実施形態では、進捗度ラベル及び会話ツリーラベルの双方が「未達成」、「不足」、「あと一歩」又は「達成」に対応することに応答して、会話モジュール102は会話ツリー124を選択するように構成されてもよい。一実施形態において、「あと一歩」に対応する進捗度ラベル、及び、その進捗度未満の別の進捗度に対応する会話ツリーラベル(例えば、「あと一歩」又は「不足」)に応じて、会話モジュール102は会話ツリー124を選択するように構成されてもよい。図2に示される会話ツリーは、例えば、「不足」会話ツリー124に対応してもよい。
【００６０】
図1Dに示されるように、一実施形態において、会話モジュール102は、図1Cのコンテンツ118の選択と同様に、ユーザーの習慣120に基づいて会話ツリー124を選択するように構成されてもよい。一実施形態において、会話モジュール102は、仮想エージェントによるユーザーへの特定のタイプの会話ツリー124の提示に関し、ユーザーの進捗度変化のパターンに基づいて、ユーザーの習慣120を判定するように構成されてよい。例えば、会話モジュール102は、特定のタイプのコンテンツ118を含む会話ツリー124の提示に応じて増加する進捗度のパターンを、履歴データに基づいて判定するように構成されてもよい。より具体的な例として、ゴールが一般的に運動することに関連する場合に、進捗度は、ランニング又はストレッチングに関するコンテンツ118を含む会話ツリー124の提示に応じて習慣的に増えてもよい。会話ツリー124の提示に応じて増加する進捗度のパターンは、会話ツリー124が提示される場合に、ゴールを達成することに対してユーザーの活動を増やすユーザーの習慣に対応してもよい。一実施形態において、会話モジュール102は、変化のパターン及び/又はユーザーの習慣に基づいて会話ツリー124を選択するように構成されてもよい。
【００６１】
別の例として、会話モジュール102は、特定のトーンに対応する会話ツリー124の提示に応じて増加する進捗度のパターンを、履歴データに基づいて決定するように構成されてもよい。より具体的な例として、進捗度は、仮想エージェントが共感トーンを利用する会話ツリーの提示に応じて習慣的に増えてもよい。会話モジュール102は、特定のトーンに基づいて会話ツリー124を選択するように構成されてもよい。一実施形態において、会話モジュール102は、変更パターン、ユーザーの習慣、及び、コンテンツの特定のトーンのうちの1つ以上に基づいて会話ツリー124を選択するように構成されてよい。
【００６２】
一実施形態において、コンテンツ118及び/又は会話ツリー124は、仮想エージェント及び/又は人間によりユーザーに提示するように構成されてよい。一実施形態において、仮想エージェントは、ユーザーに提示されるように構成される文字、映像及び音響データのうちの1つ以上を利用してユーザーと会話するようにプログラムされる。一実施形態において、データは、例えば自動車のような車両内でユーザーに提示されるように構成されてよい。一実施形態において、データは、例えば、タブレット、ノートブック、スマートフォン又は他のコンピューティングデバイス等のような他のコンピューティングデバイス又はロボットを利用してユーザーに提示されるように構成されてもよい。一実施形態において、仮想エージェントは、機械合成スピーチを利用して、ユーザーと会話し及び/又はユーザーにコンテンツ118を運んでもよい。一実施形態において、仮想エージェントの声は、インタラクティブボイスレスポンス(IVR)の音声、予めプログラムされた音声、及び/又は、他の任意の合成音声などから取得されてよい。一実施形態において、ユーザーは、応答を選択すること、応答をマニュアルで入力すること、口頭による入力を提供すること等のうちの1つ以上により仮想エージェントに応答してもよい。一実施形態において、応答は、ユーザーデバイスのキーパッドを利用して選択される及び/又はマニュアルで入力されてもよい。
【００６３】
図3は、本開示で説明される少なくとも1つの実施形態により構成される会話モジュールが含まれる情報処理システム例300を示すブロック図である。会話モジュール302は、図1A-1Dの会話モジュール102を含む又はそれに対応する。情報処理システム300は、コンピューティングシステム304、1つ以上のセンサー306、ユーザーインターフェース307、及び、通信モジュール308を含んでよい。上述したように、センサー306は、気象センサー、位置センサー、スケジュールセンサー、心拍センサー、モーションセンサー、睡眠センサー、及び、時間センサー等のうちの1つ以上を含んでよい。ユーザーインターフェース307は、キーボード、スタイラス、タッチスクリーン、スマートフォン、音声入力部、音声認識部、マイクロフォン、マウス等のうちの1つ以上を含んでよい。
【００６４】
コンピューティングシステム304は、会話モジュール302を利用して、ユーザーと仮想エージェントとの間の会話を生成するように構成される適切な任意のシステム、装置又はデバイスを含んでよい。コンピューティングシステム304は、メモリ212に通信可能に結合されるプロセッサ310を含んでよい。一実施形態において、会話モジュール302は、プロセッサ310による実行のために、データストレージ314内に常駐する論理装置(命令、コンピュータプログラム、ソフトウェア等と言及されてもよい)として組み込まれてもよい。追加的又は代替的に、1つ以上のセンサー306のうちの1つ以上のモジュールは、プロセッサ310による実行のために、データストレージ314に常駐する論理装置又は命令に組み込まれてもよい。追加的又は代替的に、1つ以上のユーザーインターフェース307のうちの1つ以上のモジュールは、プロセッサ310による実行のために、データストレージ314に常駐する論理装置又は命令に組み込まれてよい。
【００６５】
プロセッサ310は、特定用途又は汎用のコンピュータ、コンピューティングエンティティ又はプロセシングデバイス等のような適切な任意のものであってよく、そのコンピュータ等は様々なコンピュータハードウェア又はソフトウェアモジュールを含み、プロセッサ310は適用可能な任意のコンピュータ読み取り可能なストレージ媒体に保存される命令を実行するように構成されてよい。例えば、プロセッサ310は、マイクロプロセッサ、マイクロコントローラ、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、或いは、プログラム命令を解釈及び/又は実行する及び/又はデータを処理するように構成される他の任意のディジタル又はアナログ回路を含んでよい。図3では単独のプロセッサとして示されているが、プロセッサ310は、本願で説明される任意の数の動作を個別的又は集合的に実行するように構成される任意の数のプロセッサを含んでよいことが、理解されるであろう。更に、1つ以上のプロセッサは、1つ又は複数の異なる電子デバイス上に存在してもよい。一実施形態において、プロセッサ310は、データストレージ314に保存されるプログラム命令を解釈及び/又は実行し及び/又はデータを処理する。
【００６６】
メモリ312は、そこに保存されるコンピュータ実行可能な命令又はデータ構造を搬送する又は有するコンピュータ読み取り可能なストレージ媒体を含む。そのようなコンピュータ読み取り可能なストレージ媒体は、プロセッサ301のような汎用又は専用コンピュータによりアクセスされる利用可能な任意の媒体であってよい。限定ではない具体例として、そのようなコンピュータ読み取り可能な媒体は、有形の又は非一時的なコンピュータ読み取り可能な記憶媒体を含み、その記憶媒体は、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的に消去可能プログラム可能なリードオンリメモリ(EEPROM)、コンパクトディスクリードオンリメモリ(CD-ROM)又はその他の光ディスクストレージ、磁気ディスクストレージ又はその他の磁気ストレージデバイス、フラッシュメモリデバイス(例えば、ソリッドステートメモリデバイス)であってもよいし、或いは、コンピュータ実行可能な命令又はデータ構造の形式で所望のプログラムコードを搬送又は保存するように使用され且つ汎用又は専用のコンピュータによりアクセスされる他の任意の記憶媒体であってもよい。上記の組み合わせもコンピュータ読み取り可能な記憶媒体の範囲内に含まれてよい。コンピュータ実行可能な命令は、例えば、プロセッサ310に命令を実行させるように構成される命令及びデータを含み、その命令は所定の機能又は一群の機能を実行することをコンピュータシステム304に行わせる。
【００６７】
会話モジュール302は、プロセッサ310に命令を実行させるように構成される命令及びデータを含み、命令は、ユーザーと仮想エージェントとの間の会話を生成することをコンピュータシステム304に行わせる。一実施形態において、コンピューティングシステム304は、図3に示されるようにデータストレージ314に会話モジュール302を組み込んでもよい。本開示において、会話モジュール(例えば、会話モジュール102又は302)による動作の「パフォーマンス」という言い回しは、会話モジュールとして保存される命令又は論理装置に従って対応するプロセッサ又はコンピューティングシステムによる動作のパフォーマンスを含んでよい。
【００６８】
会話モジュール302は、情報処理システム300の会話モジュール302と他のコンポーネントとの間の通信を処理するルーチンを含むソフトウェアを含んでよい。追加的又は代替的に、会話モジュール302は、ネットワークを介して、1つ以上の他のエンティティにオポチュニティデータ(opportunity  data)を含むデータを送信し及びそこからデータを受信するように構成される。一実施形態において、会話モジュール302は、センサー306及び/又はユーザーが回答した質問から進捗データを受信し、進捗データをデータストレージ314に保存する。これら又は他の実施形態において、通信モジュール208は、進捗データを含むデータを、データストレージ314から取り出し、そのデータを会話モジュール302に送信するように構成される。
【００６９】
図4は、アクションに対応する新たなコンテンツ及び/又は新たな会話ツリーを生成する、本開示で説明される少なくとも1つの実施形態に従ってなされる方法例400のフローチャートである。方法400のうちの1つ又は複数の動作は、図1の会話モジュール102、図3のコンピューティングシステム304、或いは、その他の適切なデバイス、サーバー及び/又はシステムにより、全体的又は部分的に及び個別的又は集合的に実行されてよい。例えば、一実施形態において、方法400の全部又は一部は、適切なデバイス、サーバー及び/又はシステムで実行される図3の会話モジュール302により実行されてよい。図4に示されるように、会話は新たな又は追加的な進捗データの受信に基づいて動的に更新されてよい。
【００７０】
ブロック402において、アクションに対応するコンテンツ及び/又は会話ツリーが生成される。会話ツリーは図2の会話ツリーを含む又はそれに対応してもよい。コンテンツは、図1のコンテンツ118を含む又はそれに対応してもよい。会話ツリー及び/又はコンテンツは、ゴール達成に対するユーザーの進捗度、進捗度ラベル、及び、ユーザーの習慣のうちの1つ以上に基づいて生成されてよい。進捗度及び/又はユーザーの習慣は、それぞれ、図1の進捗度116及び/又はユーザーの習慣120を含む又は対応してもよい。ブロック402はブロック404に続く。
【００７１】
ブロック404において、会話ツリー及び/又はコンテンツに基づいて会話が行われる。ブロック404はブロック406に続く。
【００７２】
ブロック406において、追加的な進捗データが受信される。追加的な進捗データは、センサーデータ、アンケート調査データ、及び、ユーザー通信データのうちの1つ以上を含んでよい。ブロック406はブロック408に続く。
【００７３】
ブロック406において、追加的な進捗データ及び/又は新たなコンテキストスコアに基づいて、進捗度が変化したか否かが判断され、追加的な進捗データは達成されているユーザーのゴールに対する新たな定量化を判定するために使用される。ブロック408はブロック410(ブロック408で「Yes」の場合)又はブロック404(ブロック408で「No」の場合)に続く。
【００７４】
ブロック410において、新たな会話ツリー及び/又は新たなコンテンツ(新たなコンテンツは、新たなアクションに対応する)は、新たな進捗度及び/又は進捗度ラベルに基づいて生成される。
【００７５】
本開示の範囲から逸脱することなく、方法400に対して変形、追加又は省略が施されてよい。例えば、方法400で実行される機能は異なる順序で実行されてもよい。更に、説明された処理及び動作は具体例として提供されているに過ぎず、処理及び動作のうちの或るものは選択的であってよいし、より少数の処理及び動作に統合されてもよいし、或いは、追加的な処理及び動作に拡張されてもよく、開示される実施形態の本質から逸脱することなく適宜変形されてよい。
【００７６】
開示される教示内容は具体的に説明される実施形態に限定されない。
【００７７】
図5は、行動推奨のための会話を生成する本開示で説明される少なくとも1つの実施形態に従ってなされる方法例500のフローチャートである。方法500のうちの1つ又は複数の動作は、図1の会話モジュール102、図3のコンピューティングシステム304、或いは、その他の適切なデバイス、サーバー及び/又はシステムにより、全体的又は部分的に及び個別的又は集合的に実行されてよい。例えば、一実施形態において、方法500の全部又は一部は、適切なデバイス、サーバー及び/又はシステムで実行される図3の会話モジュール302により実行されてよい。
【００７８】
方法500はブロック502から始まり、第1ユーザーの第1ゴールが受信される。ブロック502はブロック504に続く。
【００７９】
ブロック504において、第1ユーザーによるゴール達成に関連するデータが受信される。データは進捗データを含んでよい。ブロック504はブロック506に続く。
【００８０】
ブロック506において、第1ユーザーの進捗度がデータに基づいて判定される。ブロック506はブロック508に続く。
【００８１】
ブロック508において、ゴールのパフォーマンスに関連する第2ユーザーのアクションが入力として受信される。ブロック508はブロック510に続く。
【００８２】
ブロック510において、アクションに対応するコンテンツが、判定された進捗度に基づいて選択される。
【００８３】
本開示の範囲から逸脱することなく、方法500に対して変形、追加又は省略が施されてよい。例えば、方法500で実行される機能は異なる順序で実行されてもよい。更に、説明された処理及び動作は具体例として提供されているに過ぎず、処理及び動作のうちの或るものは選択的であってもよいし、より少数の処理及び動作に統合されてもよいし、或いは、追加的な処理及び動作に拡張されてもよく、開示される実施形態の本質から逸脱することなく適宜変形されてよい。
【００８４】
例えば、コンテンツは、閾値を充足しない又は閾値を充足する進捗度に基づいて選択されてもよい。別の例として、方法500は進捗度に対応するレベルを生成することを含んでもよい。コンテンツは他のラベルを含んでもよく、他のラベルは、その進捗度又はその進捗度未満の別の進捗度に対応する。
【００８５】
別の例として、方法500は以下の工程のうちの1つ以上を含んでよい：
・データに基づいて、ユーザーによるゴール達成の程度を示す達成度を判定する工程；
・データに基づいて、第1ユーザーのゴール達成に対する第1ユーザーの状況についてのコンテキスト好都合性又は不都合性を判定する工程；及び
・達成度、及び/又は、第1ユーザーのゴール達成に対する第1ユーザーの状況についての好都合性又は不都合性に基づいて、進捗度を判定する工程。
【００８６】
更に、方法500は、第1ユーザーと仮想エージェントとの間の会話を案内するための会話ツリーを選択することを含んでもよい。一実施形態において、会話ツリーは複数のノードを含んでよい。複数のノードはコンテンツに対応するノードを含んでよい。一実施形態において、会話ツリーは、閾値を充足しない進捗度に基づいて選択されてもよい。一実施形態において、会話ツリーは、閾値を充足する進捗度に基づいて選択されてよい。
【００８７】
また、方法500は、会話ツリー内の所定数のステートメントからステートメントを第1ユーザーが選択したことに基づいて、第1ユーザーと仮想エージェントとの間の会話を決定することを含んでもよい。
【００８８】
更に、方法500は、仮想エージェントが第1ユーザーにコンテンツを提示したことに関して第1ユーザーの進捗度の変化のパターンを決定することを含んでもよい。会話ツリーは変化のパターンに基づいて選択されてもよい。
【００８９】
別の例として、方法500は、第1ゴールの達成に関する第1ユーザーの別の進捗度を示す追加データを受信することを含んでもよい。追加データを受信したことに応じて、方法500は、第1ユーザーの進捗度を別の進捗度に更新し、及び/又は、モバイルコンピューティングデバイスに、ゴールを達成するための新たなアクションに関する新たなコンテンツを送信することを含んでよい。新たなコンテンツは、仮想エージェントが第1ユーザーに提示するように構成されてよい。
【００９０】
図6は、行動推奨のための会話を生成する本開示で説明される少なくとも1つの実施形態に従ってなされる別の方法例600のフローチャートである。方法600のうちの1つ又は複数の動作は、図1の会話モジュール102、図3のコンピューティングシステム304、或いは、その他の適切なデバイス、サーバー及び/又はシステムにより、全体的又は部分的に及び個別的又は集合的に実行されてよい。例えば、一実施形態において、方法600の全部又は一部は、適切なデバイス、サーバー及び/又はシステムで実行される図3の会話モジュール302により実行されてよい。
【００９１】
方法600はブロック602から始まり、ユーザーのゴールが受信される。ブロック602はブロック604に続く。
【００９２】
ブロック604において、ユーザーのゴール達成に関連するデータが受信される。データは進捗データを含んでよい。ブロック604はブロック606に続く。
【００９３】
ブロック606において、進捗度がデータに基づいて判定される。ブロック606はブロック608に続く。
【００９４】
ブロック608において、ユーザーと仮想エージェントとの間の会話が進捗度に基づいて生成される。本開示の範囲から逸脱することなく、方法600に対して変形、追加又は省略が施されてよい。例えば、方法600で実行される機能は異なる順序で実行されてもよい。更に、説明された処理及び動作は具体例として提供されているに過ぎず、処理及び動作のうちの或るものは選択的であってもよいし、より少数の処理及び動作に統合されてもよいし、或いは、追加的な処理及び動作に拡張されてもよく、開示される実施形態の本質から逸脱することなく適宜変形されてよい。例えば、方法600は進捗度に対応するラベルを生成することを含んでもよい。一実施形態では、会話ツリーが別のラベルを含み、別のラベルは、進捗度又はその進捗度未満の別の進捗度に対応する。
【００９５】
別の例として、方法600は、ゴールのパフォーマンスに関連する別のユーザーのアクションを入力として受信し、判定された進捗度に基づいてアクションに対応するコンテンツを選択することを更に含んでもよい。一実施形態において、コンテンツは仮想エージェントによりユーザーに提示するように構成されてよい。当業者は、本願で開示されるこれら及び他のプロセス及び方法に関し、プロセス及び方法で実行される機能が異なる順序で実行されてもよいことを認めるであろう。更に、説明された処理及び動作は具体例として提供されているに過ぎず、処理及び動作のうちの或るものは選択的であってもよいし、より少数の処理及び動作に統合されてもよいし、或いは、追加的な処理及び動作に拡張されてもよく、開示される実施形態の本質から逸脱することなく適宜変形されてよい。
【００９６】
上述したように、本開示で説明される実施形態は、本願で詳細に説明されるように、様々なコンピュータハードウェア又はソフトウェアモジュールを含む専用又は汎用のコンピュータを利用することを含んでよい。更に、上述したように、本開示で説明される実施形態は、コンピュータ読み取り可能な媒体を利用して実現されてもよく、その媒体はそこに保存されるコンピュータ実行可能な命令又はデータ構造を搬送する又は有する。
【００９７】
本開示で使用されているように、「モジュール」又は「コンポーネント」という用語は、モジュール又はコンポーネントのアクションを実行するように構成される特定のハードウェア形態、及び/又は、コンピューティングシステムの汎用ハードウェア(例えば、コンピュータ読み取り可能な媒体、プロセシングデバイス等)により保存及び/又は実行されるソフトウェアオブジェクト又はソフトウェアルーチンを示す。一実施形態では、本開示で説明される様々なコンポーネント、モジュール、エンジン及びサービスは、コンピューティングシステムで実行されるオブジェクト又はプロセスとして(例えば、個別的なスレッドとして)実現されてもよい。本開示で説明される或る種のシステム及び方法は(汎用ハードウェアにより保存及び/又は実行される)ソフトウェアで実現されるように概して説明されているが、特定のハードウェア形態、又は、ソフトウェアと特定のハードウェア形態との組み合わせも可能であり、本願でも想定されている。本説明において、「コンピューティングエンティティ」は、本開示において上述されているような何らかのコンピューティングシステム、或いは、コンピューティングシステムで動作する何らかのモジュール又はモジュールの組み合わせであってもよい。
【００９８】
本開示において、特に、添付の特許請求の範囲(例えば、添付の請求項の本文)において使用される用語は、一般に、「開放的な」用語として意図されている(例えば、「〜を含んでいる」という用語は、「〜を含んでいるがそれに限定されない」ように解釈されるべきであり、「〜を有する」という用語は「少なくとも〜を有する」ように解釈されるべきであり、「〜を含む」は「〜を含むがそれに限定されない」ように解釈されるべきである、等々)。
【００９９】
更に、特定数の導入される請求項の記載が意図される場合、そのような意図は請求項の中で明示的に記載され、そのような記載がない場合、そのような意図は存在しない。例えば、理解を促す説明として、添付の請求項は、請求項の記載を導入するために「少なくとも1つ」及び「1つ又は複数の」という導入語句の使用を含んでいるかもしれない。しかしながら、そのような語句の使用は、「ある」又は「或る」のような不定冠詞的な請求項の記載の導入が、そのような導入的な請求項の記載を含む何らかの特定の請求項を、そのような事項を唯1つしか含まない形態に限定することを意味するように解釈されるべきではなく、たとえ同じ請求項が「1つ又は複数の」或いは「少なくとも1つ」のような導入語句及び「ある」又は「或る」のような不定冠詞的な語句を含む場合も同様である(例えば、「ある」及び/又は「或る」は「少なくとも1つ」又は「1つ又は複数」を意味するように解釈されるべきである)；同じことは、請求項の記載を導入するために定冠詞的な語句を使用する場合にも成立する。
【０１００】
更に、特定数の導入される請求項の記載が明示的に記載されている場合、当業者は、そのような記載は、少なくとも記載された数を意味するように解釈されるべきであることを認識するであろう(例えば、他の修飾を伴わない単なる「2つの〜」という記載は、「少なくとも2つの〜」或いは「2つ以上の〜」を意味する。)。更に、「A，B，及びCのうちの少なくとも1つ」或いは「A，B，及びCのうちの1つ以上」に類似する慣例表現が使用される場合、一般に、そのような構造は、A単独、B単独、C単独、A及びB一緒に、A及びC一緒に、B及びC一緒に、或いは、A、B及びC一緒に等を含むように意図されている。
【０１０１】
更に、2つ以上の代替的な用語を示す何らかの離接的な言葉又は語句は、明細書、特許請求の範囲又は図面の何れにおいても、その用語のうちの1つ、その用語のうちの何れか、その用語の双方を含む可能性を想定するように理解されるべきである。例えば、「A又はB」という語句は、「A」又は「B」又は「A及びB」という可能性を含むように理解されるべきである。
【０１０２】
本開示で説明される全ての具体例及び条件付けの言葉は、技術を進歩させるために発明者が貢献した発明及び概念を読者が理解することを支援するための教育的な目的で意図されており、そのように具体的に記載された具体例や条件に限定することなく解釈されるべきである。本開示の実施形態が詳細に説明されてきたが、本開示の精神及び範囲から逸脱することなく、様々な変更、置換及び代替がそれらに対してなされてよい。
以上の実施の形態に関し、更に以下の付記を開示する。
（付記1）
第1ユーザーのゴールを前記第1ユーザーのモバイルコンピューティングデバイスから受信する工程；
前記第1ユーザーの前記モバイルコンピューティングデバイスのユーザーインターフェース、及び、センサーのうちの1つ以上から、前記第1ユーザーによるゴール達成に対する進捗データを取得する工程；
前記進捗データに基づいて、前記第1ユーザーの進捗度を判定する工程であって、前記進捗度は前記ゴールの達成に対する前記第1ユーザーの進捗に対応する、工程；
前記ゴールのパフォーマンスに関連する第2ユーザーのストーリーを入力として受信する工程；
判定された進捗度に基づいて前記ストーリーに対応するコンテンツを選択する工程であって、前記コンテンツは仮想エージェントが前記第1ユーザーに提示するように構成される、工程；
を有する方法。
（付記2）
前記コンテンツは閾値を充足しない進捗度に基づいて選択される、付記1に記載の方法。
（付記3）
前記コンテンツは閾値を充足する進捗度に基づいて選択される、付記1に記載の方法。
（付記4）
前記方法は進捗度に対応するラベルを生成する工程を更に有し、
前記コンテンツは、前記進捗度又は前記進捗度未満の別の進捗度に対応する別のラベルを含む、付記1に記載の方法。
（付記5）
前記進捗データに基づいて、前記第1ユーザーによるゴール達成の程度を示す達成度を判定する工程；
前記進捗データに基づいて、前記第1ユーザーによるゴール達成に対する第1ユーザーの状況を判定する工程；及び
達成度、及び、前記第1ユーザーによるゴール達成に対する第1ユーザーの状況に基づいて、前記進捗度を判定する工程；
を更に有する付記1に記載の方法。
（付記6）
前記方法は、前記第1ユーザーと前記仮想エージェントとの間の会話を案内するための会話ツリーを選択する工程を更に含み、前記会話ツリーは複数のノードを含み、前記複数のノードは前記コンテンツに対応するノードを含む、付記1に記載の方法。
（付記7）
前記会話ツリーは、閾値を充足しない進捗度に基づいて選択される、付記5に記載の方法。
（付記8）
前記会話ツリーは、閾値を充足する進捗度に基づいて選択される、付記5に記載の方法。
（付記9）
前記会話ツリー内の所定数のステートメントからステートメントを前記第1ユーザーが選択したことに基づいて、前記第1ユーザーと前記仮想エージェントとの間の会話を決定する工程を更に含む付記5に記載の方法。
（付記10）
前記方法は、前記仮想エージェントが前記第1ユーザーに前記コンテンツを提示したことに関連して前記第1ユーザーの進捗度の変化のパターンを判定する工程を更に含み、前記会話ツリーは変化のパターンに基づいて選択される、付記5に記載の方法。
（付記11）
前記センサー及び前記モバイルコンピューティングデバイスの前記ユーザーインターフェースのうちの1つ以上から、前記ゴール達成に関連する前記第1ユーザーの別の進捗レベルを示す追加的な進捗データを取得する工程；
前記追加的な進捗データの受信に応答して、前記第1ユーザーの進捗度を別の進捗度に更新し、及び、前記モバイルコンピューティングデバイスに、前記ゴールを達成するための新たなストーリーに関する新たなコンテンツを送信する工程；
を更に有し、前記新たなコンテンツは、前記仮想エージェントが前記第1ユーザーに提示するように構成される、付記1に記載の方法。
（付記12）
前記進捗データは、前記ユーザーインターフェースにより前記第1ユーザーが質問に対する回答を入力したことに応じて、前記ユーザーインターフェースから取得される、付記1に記載の方法。
（付記13）
ユーザーのゴールを、前記ユーザーのモバイルコンピューティングデバイスから受信する工程；
前記ユーザーによるゴール達成に関する進捗データを、前記ユーザーの前記モバイルコンピューティングデバイスのユーザーインターフェース及びセンサーから取得する工程；
前記進捗データに基づいて、前記ゴール達成に対する前記ユーザーの進捗に対応する進捗度を判定する工程；及び
前記ユーザーと仮想エージェントとの間の会話を、前記進捗度に基づいて生成する工程；
を有する方法。
（付記14）
前記会話は会話ツリーに基づく、付記13に記載の方法。
（付記15）
前記会話を生成することは、前記進捗度に基づいて会話ツリーを選択することを含む、付記14に記載の方法。
（付記16）
前記方法は、前記進捗度に対応するラベルを生成する工程を更に有し、前記会話ツリーは、前記進捗度又は前記進捗度未満の別の進捗度に対応する別のラベルを含む、付記14に記載の方法。
（付記17）
ゴールのパフォーマンスに関連する別のユーザーのストーリーを入力として受信する工程；及び
判定された進捗度に基づいて、前記ストーリーに対応するコンテンツを選択する工程であって、前記コンテンツは、仮想エージェントが前記ユーザーに提示するように構成される、工程；
を更に有する付記13に記載の方法。
（付記18）
システムに動作を実行させるように構成されたコンピュータ実行可能な命令を含むコンピュータ読み取り可能な記憶媒体であって、前記動作は：
ユーザーのゴールを受信する工程；
前記ユーザーによるゴール達成に関連する進捗データをセンサーから取得する工程；
前記ゴール達成に対する前記ユーザーの進捗に対応する進捗度を、前記進捗データに基づいて判定する工程；及び
仮想エージェント及び人間のうちの1つ以上とユーザーとの間でなされる会話を、前記進捗度に基づいて生成する工程；
を有する、記憶媒体。
（付記19）
前記会話は会話ツリーに基づく、付記18に記載のコンピュータ読み取り可能な記憶媒体。
（付記20）
前記動作は前記進捗度に対応するラベルを生成する工程を更に含み、前記会話ツリーは、前記進捗度又は前記進捗度未満の別の進捗度に対応する別のラベルを含む、付記19に記載のコンピュータ読み取り可能な記憶媒体。
【図１Ａ】
2017073125.tif 000003
【図１Ｂ】
2017073125.tif 000004
【図１Ｃ】
2017073125.tif 000005
【図１Ｄ】
2017073125.tif 000006
【図２】
2017073125.tif 000007
【図３】
2017073125.tif 000008
【図４】
2017073125.tif 000009
【図５】
2017073125.tif 000010
【図６】
2017073125.tif 000011