(57)【要約】      （修正有）【課題】アクティビティに戻る際の準備状況を改善し、機械学習に基づくコンテキストアウェアなリダイレクションを提供するためのシステムおよび方法を提供する。【解決手段】アクティビティに関連する情報を受信し４０１、その情報を分析して第１のパターンおよび第２のパターンを識別し４０３、第１のパターンに基づいて第２のパターンのカスタマイズされた推奨モデルを生成する４０５。第２のパターンへの移行を示す検出されたトリガに応答して４０９ＹＥＳ、コンテキストファクタを評価して、第１のパターンを中断することなく第２のパターンへの移行を確認する４１１。確認に基づいて、推奨事項に基づくリダイレクションを提供するために推奨モデルを適用する４１３。【選択図】図４
2018113014.tif 000002
【特許請求の範囲】
【請求項１】
アクティビティに関する情報を受信するステップと、
前記アクティビティに関する情報を分析して、仕事中であることを示す第１のパターンおよび休憩中であることを示す第２のパターンに識別するステップと、
前記第１のパターンに基づいて、前記第２のパターンである休憩中に行う回復のためのカスタマイズされた推奨モデルを生成するステップと、
前記第２のパターンへの移行を示すトリガが検出されると、コンテキストファクタを評価して、前記第１のパターンである仕事を中断することなく前記第２のパターンの休憩に前記移行したことを確認するステップと、
前記第２のパターンの休憩に移行したことの確認に基づいて、前記推奨モデルに基づく回復のためのリダイレクションを提供するステップと
を含む、方法。
【請求項２】
前記アクティビティに関する情報に基づいて、前記第２のパターンへの移行を示すトリガを識別するステップと、
前記第２のパターンと矛盾する前記第１のパターンに関連するコンテキストファクタを認識した場合、前記トリガをオーバライドするステップと
を更に含む、請求項１に記載の方法。
【請求項３】
前記回復のためのリダイレクションを提供することが、精神的刺激、身体的刺激、および社会的刺激のうちの１つまたは複数のための回復計画を提供することを含む、請求項１に記載の方法。
【請求項４】
前記回復計画を提供することが、設定された場所にユーザを誘導する電子ゲームを表示することを含む、請求項３に記載の方法。
【請求項５】
前記カスタマイズされた推奨モデルが、トレーニングデータ、ユーザ選好、環境制御、臨床ガイドライン、安全規制、およびソーシャルグラフのうちの１つまたは複数と関連する機械学習を使用して生成される、請求項１に記載の方法。
【請求項６】
検出された前記第２のパターンへの移行を示す前記トリガが、ユーザの体の動き、位置、および視線のうちの１つまたは複数の追跡に基づいている、請求項１に記載の方法。
【請求項７】
前記コンテキストファクタを評価して、前記第２のパターンへの前記移行を確認するステップが、前記トリガをオーバライドする前記第１のパターンに関連する検知データ、ピンポイントデータ、および環境データのうちの１つまたは複数を識別するステップを含む、請求項１に記載の方法。
【請求項８】
前記アクティビティに関する情報が、検知データ、ピンポイントデータ、および環境データのうちの１つまたは複数を含む、請求項１に記載の方法。
【請求項９】
前記アクティビティに関する情報が、位置データ、生理データ、コンピュータ使用量、電話使用量、およびセンサデータのうちの１つまたは複数を含む、請求項１に記載の方法。
【請求項１０】
前記第２のパターンに関連するフィードバック情報を受信するステップであって、前記フィードバック情報が、前記第１のパターンに戻るまでの持続時間、追跡している別のユーザの共存、ユーザ位置データ、ユーザ調査、および休憩後のアクティビティのうちの１つまたは複数を含む、ステップと、
前記受信したフィードバック情報に基づいて前記推奨モデルを更新するステップと
を更に含む、請求項１に記載の方法。
【請求項１１】
メモリと、
前記メモリに動作可能に接続されたプロセッサと
を含むリダイレクションを提供するためのシステムであって、
前記プロセッサが、
アクティビティに関する情報を取得し、
前記アクティビティに関する情報を分析して、仕事中であることを示す第１のパターンおよび休憩中であることを示す第２のパターンに識別し、
前記第１のパターンに基づいて、前記第２のパターンである休憩中に行う回復のためのカスタマイズされた推奨モデルを生成し、
前記第２のパターンへの移行を示すトリガが検出されると、コンテキストファクタを評価して、前記第１のパターンである仕事を中断することなく前記第２のパターンの休憩に前記移行したことを確認し、
前記第２のパターンの休憩に移行したことの確認に基づいて、前記推奨モデルに基づく回復のためのリダイレクションを提供する
ように構成されている、システム。
【請求項１２】
前記プロセッサが、
前記アクティビティに関する情報に基づいて、前記第２のパターンへの移行を示すトリガを識別し、
前記第２のパターンと矛盾する前記第１のパターンに関連するコンテキストファクタを認識した場合、前記トリガをオーバライドする
ように更に構成されている、請求項１１に記載のシステム。
【請求項１３】
前記カスタマイズされた推奨モデルが、トレーニングデータ、ユーザ選好、環境制御、臨床ガイドライン、安全規制、およびソーシャルグラフのうちの１つまたは複数と関連する機械学習を使用して生成される、請求項１１に記載のシステム。
【請求項１４】
前記コンテキストファクタを評価して前記第２のパターンへの前記移行を確認するために、前記プロセッサが、
前記トリガをオーバライドする前記第１のパターンに関連する検知データ、ピンポイントデータ、および環境データのうちの１つまたは複数を識別する
ように更に構成されている、請求項１１に記載のシステム。
【請求項１５】
前記プロセッサが、
前記第２のパターンに関連するフィードバック情報を受信し、前記フィードバック情報が、前記第１のパターンに戻るまでの持続時間、追跡している別のユーザの共存、ユーザ位置データ、ユーザ調査、および休憩後のアクティビティのうちの１つまたは複数を含み、
前記フィードバック情報に基づいて前記推奨モデルを更新する
ように更に構成されている、請求項１１に記載のシステム。
【請求項１６】
コンピュータを、
アクティビティに関する情報を取得する手段、
前記アクティビティに関する情報を分析して、仕事中であることを示す第１のパターンおよび休憩中であることを示す第２のパターンに識別する手段、
前記第１のパターンに基づいて、前記第２のパターンである休憩中に行う回復のためのカスタマイズされた推奨モデルを生成する手段、
前記第２のパターンへの移行を示すトリガが検出されると、コンテキストファクタを評価して、前記第１のパターンである仕事を中断することなく前記第２のパターンの休憩に前記移行したことを確認する手段、及び
前記第２のパターンの休憩に移行したことの確認に基づいて、前記推奨モデルに基づく回復のためのリダイレクションを提供するする手段
として機能させるためのリダイレクションの提供プログラム。
【請求項１７】
前記アクティビティに関する情報に基づいて、前記第２のパターンへの移行を示すトリガを識別する手段、及び
前記第２のパターンと矛盾する前記第１のパターンに関連するコンテキストファクタを認識した場合、前記トリガをオーバライドする手段、
を更に含む、請求項１６に記載の提供プログラム。
【請求項１８】
前記カスタマイズされた推奨モデルが、トレーニングデータ、ユーザ選好、環境制御、臨床ガイドライン、安全規制、およびソーシャルグラフのうちの１つまたは複数と関連する機械学習を使用して生成される、請求項１６に記載の提供プログラム。
【請求項１９】
前記コンテキストファクタを評価して前記第２のパターンへの前記移行を確認する手段が、
前記トリガをオーバライドする前記第１のパターンに関連する検知データ、ピンポイントデータ、および環境データのうちの１つまたは複数を識別する手段を含む、
請求項１６に記載の提供プログラム。
【請求項２０】
前記提供プログラムは、前記コンピュータを、
前記第２のパターンに関連するフィードバック情報を受信する手段、及び
前記フィードバック情報に基づいて前記推奨モデルを更新する手段として更に機能させ、
前記フィードバック情報が、前記第１のパターンに戻るまでの持続時間、追跡している別のユーザの共存、ユーザ位置データ、ユーザ調査、および休憩後のアクティビティのうちの１つまたは複数を含む、
請求項１６に記載の提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に機械学習に関し、より具体的には、機械学習に基づくコンテキストアウェア（context aware）なリダイレクション（redirection）を提供するためのシステムおよび方法に関する。
【背景技術】
【０００２】
関連技術の実装形態では、休憩を取るときにユーザに推奨する機械学習アプローチがある。通常、人々は、必要に応じて仕事のアクティビティ（activity）からの休憩を取ったり、仕事に戻る前に休んだりする。一般に、休憩中に人が行う休憩のアクティビティは、仕事のアクティビティに戻った後の人の生産性に大きな影響を与えることができる。
【０００３】
生産性を向上させるために休憩を用いる技術的アプローチは、通常、人に仕事のアクティビティを中断させて休憩を取ることを含む。ただし、生産期間中に仕事のアクティビティを中断させて、休憩を提案するプロンプトを受け、それにより、休憩を取ることで得られる純生産性が低下する可能性がある。したがって、人は休憩を取る準備ができていないかもしれないが、プロンプトに応答して生産性を失うことがある。
【０００４】
関連技術において、「ゲームによる運動（ｅｘｅｒｇａｍｉｎｇ）」は、一般に運動の形態でもあるビデオゲームを指す。通常、ゲームによる運動は、テニスラケットを振ることをシミュレートするために自分の腕を振るような、身体運動の仮想経験またはシミュレートされた経験を提供する運動の形態を組み込んでいる。一部の運動ゲーム（ｅｘｅｒｇａｍｅ）は、ビデオゲーム体験の一部としてトラッキングおよびフィットネスセンサを組み込んでいるが、運動ゲームをプレイする前後のアクティビティを考慮していない。
【０００５】
休憩中に自発的なアクティビティを行うことにより、仕事のアクティビティに戻るときに人の生産性を改善することが示されている。このように、生産的な仕事のアクティビティの期間を中断せずに、アクティビティに戻る人の準備状況を改善するシステムおよび方法を開発することが望ましい場合がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第９２０４２５７号明細書
【特許文献２】米国特許第８９３５１２３号明細書
【非特許文献】
【０００７】
【非特許文献１】ＫＩＲＫＨＡＭ，  Ｒ.,  ＥＴ  ＡＬ.,著、「ＴＨＥ  ＢＲＥＡＫ−ＴＩＭＥ  ＢＡＲＯＭＥＴＥＲ−ＡＮ  ＥＸＰＬＯＲＡＴＯＲＹ  ＳＹＳＴＥＭ  ＦＯＲ  ＷＯＲＫＰＬＡＣＥ  ＢＲＥＡＫ−ＴＩＭＥ  ＳＯＣＩＡＬ  ＡＷＡＲＥＮＥＳＳ」、ＡＣＭ  ＩＮＴＥＲＮＡＴＩＯＮＡＬ  ＪＯＩＮＴ  ＣＯＮＦＥＲＥＮＣＥ  ＯＮ  ＰＥＲＶＡＳＩＶＥ  ＡＮＤ  ＵＢＩＱＵＩＴＯＵＳ  ＣＯＭＰＵＴＩＮＧ  ＵＢＩＣＯＭＰ’１３．  ＳＥＰＴＥＭＢＥＲ  ８−１２，  ２０１３，  ＺＵＲＩＣＨ，  ＳＷＩＴＺＥＲＬＡＮＤ，  １０  ＰＧＳ．
【非特許文献２】ＥＰＳＴＥＩＮ，  Ｄ．Ａ.,  ＥＴ  ＡＬ.,著、「ＴＡＫＩＮＧ  ５：  ＷＯＲＫ−ＢＲＥＡＫＳ，  ＰＲＯＤＵＣＴＩＶＩＴＹ，  ＡＮＤ  ＯＰＰＯＲＴＵＮＩＴＩＥＳ  ＦＯＲ  ＰＥＲＳＯＮＡＬ  ＩＮＦＯＲＭＡＴＩＣＳ  ＦＯＲ  ＫＮＯＷＬＥＤＧＥ  ＷＯＲＫＥＲＳ」、ＣＨＩ’１６  ＰＲＯＣＥＥＤＩＮＧＳ  ＯＦ  ＴＨＥ  ２０１６  ＣＨＩ  ＣＯＮＦＥＲＥＮＣＥ  ＯＮ  ＨＵＭＡＮ  ＦＡＣＴＯＲＳ  ＩＮ  ＣＯＭＰＵＴＩＮＧ  ＳＹＳＴＥＭＳ，  ＳＡＮＴＡ  ＣＬＡＲＡ，  ＣＡ，  ＭＡＹ  ７−１２，  ２０１６，  ＰＧＳ．６７３−６８４
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本開示の技術は、アクティビティに戻る際の準備状況を改善するリダイレクションを提供するための方法及びシステム、リダイレクションの提供プログラムを提供する。
【課題を解決するための手段】
【０００９】
本明細書で説明される例示的実装形態は、ユーザのアクティビティに関する情報を受信すること、そのアクティビティに関する情報を分析して、仕事中であることを示す第１のパターンおよび休憩中であることを示す第２のパターンに識別すること、第１のパターンに基づいて、第２のパターンである休憩中に行う回復のためのカスタマイズされた推奨モデルを生成すること、第２のパターンへの移行を示すトリガが検出されると、コンテキストファクタ(context factors)を評価して、第１のパターンである仕事を中断することなく第２のパターンの休憩に移行したことを確認すること、および、第２のパターンの休憩に移行したことの確認に基づいて、推奨モデルに基づく回復のためのリダイレクションを提供することを含むシステムおよび方法を提供する。情報は、検知データ、ピンポイントデータ、および環境データのうちの１つまたは複数を含むことができる。例えば、情報は、位置データ、生理データ、コンピュータ使用量、電話使用量、センサデータなどの１つまたは複数を含む。
【００１０】
例示的実装形態では、前記アクティビティに関する情報に基づいて、第２のパターンへの移行を示すトリガを識別すること、および、第２のパターンと矛盾する第１のパターンに関連するコンテキストファクタを認識した場合、トリガをオーバライド（override）することを含む。例えば、トリガを検出するために、本方法は、ユーザの体の動き、位置、視線などを追跡するなどして、ユーザに関連する検知データを監視する。検出されたトリガは、第１のパターンから第２のパターンへの移行を示す検出されたトリガが他の情報と矛盾しているかどうかを判定するために、コンテキストファクタを考慮して評価され得る。例えば、第２のパターンへの移行を確認するためにコンテキストファクタを評価することは、トリガをオーバライドする第１のパターンに関連する検知データ、ピンポイントデータ、環境データなどを識別することを含むことができる。
【００１１】
本開示の例示的な態様は、機械学習を使用して、例えば、トレーニングデータ、ユーザ選好、環境制御、臨床ガイドライン、安全規制、ソーシャルグラフなどの１つまたは複数のパラメータに基づいてカスタマイズされた推奨モデルを生成することを含む。更に、本開示の例示的な態様によれば、モデルの出力は、第１のパターンを中断しないように受動的に提供される。
【００１２】
例示的実装形態によれば、この方法は、第２のパターンに関するフィードバック情報を受信すること、および、受信したフィードバック情報に基づいてモデルを更新することを含む。例えば、フィードバック情報は、第１のパターンに戻るまでの持続時間、追跡された別のユーザの共存、ユーザ位置データ、ユーザ調査、休憩後のアクティビティなどのうちの１つまたは複数を含むことができる。例示的実装形態によれば、リダイレクションを提供することは、精神的刺激、身体的刺激、および社会的刺激のうちの１つまたは複数のための回復計画を含む。例えば、回復計画は、職場設定内の場所にユーザを誘導する電子ゲームを表示することを含むことができる。
【００１３】
例示的実装形態はまた、アクティビティに関する情報を受信し、そのアクティビティに関する情報を分析して、仕事中であることを示す第１のパターンおよび休憩中であることを示す第２のパターンに識別し、第１のパターンに基づいて、第２のパターンである休憩中に行う回復のためのカスタマイズされた推奨モデルを生成し、第２のパターンへの移行を示すトリガが検出されると、コンテキストファクタを評価して、第１のパターンである仕事を中断することなく第２のパターンの休憩に移行したことを確認し、第２のパターンの休憩に移行したことの確認に基づいて、推奨モデルに基づくリダイレクションを提供するためのシステムを含む。
【００１４】
また、プロセッサによって実行されたときに、命令がモデルを適用し、推奨事項に基づくリダイレクションを提供する命令を含む非一時的なコンピュータ可読媒体が、例示的実装形態によって提供される。
【００１５】
本発明の概念の他の特徴および利点は、以下の詳細な説明および添付の図面を検討すれば、当業者にはより容易に明らかとされよう。
【００１６】
例示的実装形態の構造および動作は、以下の詳細な説明および添付の図面を検討することにより理解され、図面において同じ参照番号が同じ部分を示す。
【図面の簡単な説明】
【００１７】
【図１】例示的実装形態によるシステムの概要を示した図である。
【図２】例示的実装形態によるアクティビティエンジンの一例を示した図である。
【図３】例示的実装形態によるユーザシーケンスの一例を示した図である。
【図４】例示的実装形態によるカスタマイズされたモデルのサーバフロー（提供プログラム）図である。
【図５】例示的実装形態によるカスタマイズされたモデルのクライアントフロー図である。
【図６Ａ】例示的実装形態による例示的な回復計画のためのインタフェース例を示した図である。
【図６Ｂ】例示的実装形態による例示的な回復計画のためのインタフェース例を示した図である。
【図７Ａ】例示的実装形態による例示的な回復計画に関連するビーコン処理を示した図である。
【図７Ｂ】例示的実装形態による例示的な回復計画に関連するビーコン処理を示した図である。
【図８】例示的実装形態によるカスタマイズされたモデルを実行するためのフロー図である。
【図９】例示的実装形態における使用に適した例示的なコンピュータデバイスを有するサーバコンピューティング環境の一例を示した図である。
【図１０】例示的実装形態における使用に適した例示的なコンピュータデバイスを有するネットワーキング環境の一例を示した図である。
【発明を実施するための形態】
【００１８】
以下の詳細な説明は、本出願の図面および例示的実装形態の更なる詳細を提供する。図面間の重複する要素の参照符号および説明は、明確にするために省略されている。明細書全体を通して使用されている用語は、例として提供されており、限定を意図するものではない。例えば、「自動（ａｕｔｏｍａｔｉｃ）」という用語の使用は、本出願の実装形態を実行する当業者の所望の実装に応じて、実装形態の特定の態様に対するユーザまたはオペレータの制御を含む完全自動または半自動の実装形態を含んでもよい。
【００１９】
例示的な態様は、人のパターンを学習するシステムによって仕事のアクティビティに戻る人の準備状況を改善し、休憩のアクティビティに関連する推奨事項を提供することを容易にする。一例示的実装形態では、職場の人が休憩を取る準備ができているものとして検出されることができ、休憩を強化する可能性がある回復のアクティビティを行うように人をリダイレクトする推奨事項を受けることができる。
【００２０】
したがって、本発明の概念に関連する方法およびシステムの例示的実装形態は、アクティビティに関する情報を分析して、第１のパターンおよび第２のパターンを識別することを目的とする。例えば、ユーザが仕事をしているというアクティビティに関連付けた分類を第１のパターンに分類し、ユーザが休憩をしているというアクティビティに関連付けた分類を第２のパターンに分類することができる。
【００２１】
例示的実装形態は、第１のパターンに基づいて、第２のパターンである休憩中に行う回復のためのカスタマイズされた推奨モデルを生成することを含む。システムがユーザのパターンを学習すると、システムは、第１のパターンと第２のパターンとの間の相関を観測して、各パターン（例えば、フィードバック）中の肯定的なパフォーマンス、効果的な結果に寄与する回復のアクティビティ（すなわち、回復計画）を見分けることができる。カスタマイズされた推奨モデルは、第２のパターン中にユーザをリダイレクトする回復のアクティビティを提供することができる。
【００２２】
以下でより詳細に説明するように、例えば、仕事中であることを示す第１のパターンにおけるアクティビティがいくつかの座って行うアクティビティ（例えば、デスクワーク）を含む場合、第２のパターンのアクティビティである休憩のためのカスタマイズされた推奨モデルは、ユーザが（例えば、休憩のアクティビティ中に）第１のパターンから第２のパターンへ移行するときに、ユーザをリダイレクトするための身体的回復のアクティビティ（例えば、移動経路）を提供することができる。更に、推奨事項の出力は、第１のパターンのアクティビティに関与するユーザを中断することなく受動的に提供される。
【００２３】
一例示的実装形態では、仕事中であるというアクティビティである第１のパターンから休憩中を示すアクティビティである第２のパターンへの移行を示すトリガが検出される。より具体的には、例示的実装形態は、第１のパターンである仕事というアクティビティを中断することなく、第２のパターンである休憩への移行を確認するためにコンテキストファクタを使用することを含む。例えば、自分のオフィスを離れるユーザは、休憩のアクティビティ（例えば、第２のパターン）への移行を示す可能性があるが；ユーザのカレンダデータの検査時に、システムは、ユーザが会議に出席する（例えば、第１のパターン）ために離れていると判断することができ、回復のアクティビティでユーザの生産性を中断しない。別の例では、ストリーミングビデオサービスを開始するなどのユーザのモバイル機器使用状況の検査により、トリガが休憩への移行を示すことを確認することができる。
【００２４】
ユーザが第２のパターンである休憩に移行することに応答して、推奨モデルは、回復のためのアクティビティを実行するようにユーザをリダイレクトする。例えば、推奨モデルは、ストリーミングビデオサービスに対する代替の休憩のアクティビティとして、移動経路などの身体的アクティビティのオプションをユーザに提供することができる。以下でより詳細に説明するように、カスタマイズされた推奨モデルは、例えば、トレーニングデータ、ユーザ選好、環境制御、臨床ガイドライン、安全規制、ソーシャルグラフなどを適用する機械学習を使用して生成される。
【００２５】
例示的実装形態の態様は、検知データ（例えば、ウェアラブルデバイス、カメラなどから検知されるデータ）、ピンポイントデータ（例えば、位置追跡、コンピュータ使用量、カレンダスケジュール、ソーシャルグラフなど）、および環境データ（例えば、地域の天気、建物のレイアウト、室内の雰囲気制御、会議室のスケジュール、企業の方針など）を含む情報の使用を目的とする。ユーザのアクティビティや行動のパターンを検出し、回復計画のコンテキストに応じた推奨モデルを作成するために、この情報を使用することができる。モデルは、第１のパターンに基づいて回復計画を実行するための推奨事項を生成する。更に、例示的実装形態は、フィードバック情報、生産性測定値、および検知データを組み入れて、推奨モデルを改良することを目的とする。
【００２６】
本発明の概念は、第１のパターンに分類される仕事中であり休憩に移行する前の仕事の生産性を中断しないように、ユーザに推奨事項を受動的に提供することを含む。例示的実装形態は、休憩を示すトリガを検出することを目的とし、トリガは、ユーザに関連する検知データに基づいており、また、ピンポイントデータおよび／または環境データなどのコンテキストパラメータに基づいて、仕事（第１のパターンに分類されるアクティビティ）から休憩（第２のパターンに分類されるアクティビティ）への移行に関連していることを確認することを目的とする。トリガが休憩（第２のパターン）への移行を示すと判定したことに応答して、システムは、第２のパターンのための推奨モデルの出力を提供する。
【００２７】
例示的実装形態の態様は、オフィス環境、組立ライン、建設現場、小売りスタンドなどの職場設定を参照して説明される。ただし、例示的実装形態の範囲は特定の環境に限定されず、本発明の範囲から逸脱することなく他の環境に置き換えられてもよい。例えば、限定ではないが、回復のアクティビティが実施され得る他の環境として、ジムのようなオフィスまたは職場以外のレクリエーション環境、ならびに治療環境（例えば、病院、理学療法センタなど）が挙げられるが、これらに限定されるものではない。
【００２８】
図１は、例示的実装形態によるシステム１００の概要を示している。システム１００は、１つまたは複数のクライアントデバイス１０５ａ〜１０５ｎと通信して、コンテキストアウェアな回復推奨事項をユーザに提供するように構成されたアクティビティエンジン１１０を含んでいる。アクティビティエンジン１１０は、クラウドサービス１０５ｎとして、ネットワーク１０２を介して遠隔的に、１つまたは複数のクライアントデバイス１０５ａ〜１０５ｄのような１つまたは複数の処理デバイス上で動作するソフトウェアの形態（例えば、非一時的なコンピュータ可読媒体上の命令）で、または当業者に既知の他の構成で実装されてもよい。
【００２９】
用語「コンピュータ」、「コンピュータプラットフォーム」、「処理デバイス」、および「クライアントデバイス」は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、メインフレームコンピュータ、サーバ、ハンドヘルドデバイス、デジタル信号プロセッサ（ＤＳＰ）、埋め込みプロセッサなどの任意のデータ処理デバイス、またはデータを処理することができる任意の他のデバイスを含むことを意図されている。コンピュータ／コンピュータプラットフォームは、１つまたは複数の非一時的なコンピュータ可読媒体および１つまたは複数のネットワークに通信可能に接続された１つまたは複数のマイクロプロセッサを含むように構成される。
【００３０】
アクティビティエンジン１１０は、１つまたは複数のデータストア１０３（例えば、ＲＡＭ、ＲＯＭ、および／または内部ストレージ、磁気、光学、ソリッドステートストレージ、および／またはオーガニック）などのメモリを直接的または間接的に含み、情報を通信するための通信機構（またはバス）上でそのいずれかを接続することができる。
【００３１】
一例示的実装形態では、アクティビティエンジン１１０を、クラウドサービス１０５ｎによってホストすることができ、データを送受信するために、ネットワーク１０２を介してクライアントデバイス１０５ａ〜１０５ｎに通信可能に接続することができる。「通信可能に接続する」という用語は、データが通信されるかもしれない有線または無線の任意のタイプの接続を含むことを意図している。「通信可能に接続する」という用語は、単一のコンピュータ内のデバイスおよび／またはプログラム間の、あるいはネットワーク１０２を介したデバイスおよび／または個別のコンピュータ間の接続を含むことを意図しているが、これに限定されない。「ネットワーク」という用語は、非限定的に、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ＴＣＰ／ＩＰ（インターネット）などのパケット交換ネットワークを含むことを意図しており、非限定的に、ＷｉＦｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｚｉｇｂｅｅ（登録商標）、シックスロウパン（６ＬｏｗＰＡＮ；Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ  ６  ｏｖｅｒ  Ｌｏｗ  ｐｏｗｅｒ  Ｗｉｒｅｌｅｓｓ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ）、電力線通信（ＰＬＣ）、イーサネット（登録商標）（例えば、１０メガバイト（Ｍｂ）、１００Ｍｂおよび／または１ギガバイト（Ｇｂ）イーサネット（登録商標））、または他の通信プロトコルなどのさまざまな通信手段を使用することができる。
【００３２】
ユーザまたはユーザの環境に関連するデータは、異なるタイプのクライアントデバイス１０５ａ〜１０５ｎから来てもよい。クライアントデバイス１０５ａ〜１０５ｎは、例えば、センサシステム１０５ａ（例えば、フィットネストラッカ、生理センサ、生体センサ、位置センサ、ＧＰＳユニット、Ｂｌｕｅｔｏｏｔｈ（登録商標）ビーコン、カメラなどを含むウェアラブル技術）、モバイルコンピューティングデバイス１０５ｂ（例えば、スマートフォン、ラップトップ、タブレットなど）、コンピューティングデバイス１０５ｃ（例えば、デスクトップ、メインフレーム、ネットワーク機器など）、位置情報システム１０５ｄ（例えば、制御システム、建物環境制御デバイス、セキュリティシステム、企業インフラなど）、ならびにクラウドサービス１０５ｎ（例えば、遠隔的に利用可能なプロプライエタリまたはパブリックコンピューティングリソース）を含むことができる。
【００３３】
クライアントデバイス１０５ａ〜１０５ｎは、例えば、検知データを収集および／または格納し、位置を追跡し、外部デバイスとの通信を管理するなどの機能を備えたクライアントサービスを含むことができる。例えば、モバイルコンピューティングデバイス１０５ｂは、ユーザをカメラで観測し、ウェアラブルセンサシステム１０５ａでユーザの心拍情報を監視し、企業のメインフレームから組織構造を収集するためのクライアントサービスを含むことができる。例示的実装形態では、アクティビティエンジン１１０は、複数のクライアントデバイス１０５ａ〜１０５ｎから情報を受信する。
【００３４】
クライアントデバイス１０５ａ〜１０５ｎはまた、１つまたは複数の他のクライアントデバイス１０５ａ〜１０５ｎから情報を収集し、収集した情報をアクティビティエンジン１１０に提供することが可能である。例えば、クライアントデバイス１０５ａ〜１０５ｎを、ＷｉＦｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｚｉｇｂｅｅ（登録商標）、シックスロウパン（６ＬｏｗＰＡＮ；Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ  ６  ｏｖｅｒ  Ｌｏｗ  ｐｏｗｅｒ  Ｗｉｒｅｌｅｓｓ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ）、電力線通信（ＰＬＣ）、イーサネット（登録商標）（例えば、１０メガバイト（Ｍｂ），１００Ｍｂおよび／または１ギガバイト（Ｇｂ）イーサネット（登録商標））、または他の通信プロトコルを使用して他のクライアントデバイスに通信可能に接続することができる。
【００３５】
一例示的実装形態では、ユーザは、１つまたは複数のクライアントデバイス１０５ａ〜１０５ｎを含むオフィス環境に配置されてもよく、ユーザは、クライアントサービスによって監視される仕事のアクティビティ（例えば、第１のパターン）および休憩のアクティビティ（例えば、第２のパターン）を実行する。ユーザが、デスクでコンピュータのようなデバイスを操作する、または倉庫内のアイテムを動かすなどの仕事のアクティビティを実行している間に、クライアントサービスは、アクティビティエンジン１１０に通信されるユーザに関するさまざまなタイプの情報を収集する。
【００３６】
例えば、位置センサは、オフィスまたは倉庫内のユーザの動きを受信し、スケジューリングアプリケーションはユーザの会議スケジュールを提供し、ウェアラブルデバイスはユーザの心拍数を取得し、情報はアクティビティエンジン１１０に送信される。
【００３７】
ユーザが第１のパターン中に仕事のアクティビティから休憩に入る準備ができたとき、アクティビティエンジン１１０は、情報を使用して第２のパターン（例えば、休憩のアクティビティ）への移行を示すトリガを検出することができる。以下により詳細に説明するように、例示的実装形態では、アクティビティエンジン１１０は、ユーザのアクティビィティまたは行動のパターンを学習することに基づいてカスタマイズされた推奨モデルを生成する。例示的実装形態では、カスタマイズされた推奨モデルは、トレーニングデータ、規則、フィードバックなどを使用して生成される。
【００３８】
アクティビティエンジン１１０は、カスタマイズされた推奨モデルに基づいて、ユーザが第２のパターン（例えば、休憩のアクティビティ）に移行したことが確認されたことに応答して、異なる回復のアクティビティ（例えば、回復計画）を実行するためにユーザに指示を出力することができる。例えば、オフィス内のユーザが休憩を取るために自分のデスクを離れると、ユーザのモバイル機器は、ユーザに、仕事のアクティビティからの回復を助ける身体的な刺激として、オフィス周辺の異なる場所に移動することを推奨し、指示するアプリケーションを起動してもよい。一例示的実装形態では、ユーザは、休憩または報酬プログラムのゲーミフィケーションによって推奨されるアクティビティを実行するようにインセンティブを与えられる。
【００３９】
別の例では、ユーザ（例えば、倉庫内）が休憩を取るために座ったとき、ユーザのモバイル機器は、回復のための行動としてストレッチのアクティビティを実行するようにユーザに推奨し、指示するアプリケーションを起動してもよいし、仕事のアクティビティからの回復を助ける精神的な刺激としてメディアコンテンツを提供してもよい。例では、ユーザは、ゲーム設定においてトークン、ポイント、またはクレジットで報酬を受けてもよいし、報酬プログラムに進んでもよい。
【００４０】
更に、いくつかの例では、モデルへのフィードバックとして第１のパターンおよび第２のパターン中にユーザの心拍数を監視し、その後の回復計画を改善する。例えば、身体障害者の患者が理学療法を行っているとき、アクティビティエンジン１１０は、以前の理学療法セッション中に検知されたユーザの生体データに基づいて、設定された回数の運動を行うように、ユーザに推奨し、指示することができる。
【００４１】
したがって、クライアントサービスによって収集された情報を使用することで、ユーザの休憩のアクティビティが強化される。機械学習を通じて、アクティビティエンジン１１０は、ユーザが休憩のアクティビティをリダイレクトするために行うことができる推奨回復計画を生成し、提供する。提案された回復計画は、ユーザのアクティビティまたは行動パターンが示す精神的、身体的、および社会的刺激の１つまたは複数を含むことができ、リダイレクション後の第１のパターン（例えば、仕事のアクティビティ）に戻るユーザの準備状況を改善する可能性がある。
【００４２】
図２は、例示的実装形態によるアクティビティエンジン２１０を含む例示的なシステム２００を示している。アクティビティエンジン２１０は、１つまたは複数のＩ／Ｏインタフェース２１２、アクティビティ検出器２２０、意思決定支援システム（ＤＳＳ）２３０、およびフィードバックモジュール２４０を含む。アクティビティエンジン２１０は、データ（例えば、情報、モデル、フィードバック、ユーザプロファイルなど）を格納するための１つまたは複数のデータストア２０３に接続される。
【００４３】
一例示的実装形態では、Ｉ／Ｏインタフェース２１２は、アクティビティに関連する情報（例えば、検知データ２０６、ピンポイントデータ２０７、および／または環境データ２０８）を受信するために、直接またはネットワーク２０２を介して異なるタイプのクライアントデバイス２０５（例えば、図１のクライアントデバイス１０５ａ〜１０５ｎ）と通信可能に接続された１つまたは複数の通信インタフェースを含む。
【００４４】
Ｉ／Ｏインタフェース２１２は、異なるタイプのクライアントデバイス２０５（例えば、クライアントデバイス１０５ａ〜１０５ｎ）またはクライアントサービスからデータを受信することができる。更に、各クライアントデバイス２０５は、複数のタイプのデータ、例えば、検知データ２０６、ピンポイントデータ２０７、および／または環境データ２０８を提供することができる。アクティビティエンジン２１０は、Ｉ／Ｏインタフェース２１２を介して、監視データ、アプリケーションデータなどの情報を受信し、ＤＳＳ２３０を通じて情報を分析して、ユーザのパターン（例えば、第１のパターンおよび第２のパターン）を識別する。
【００４５】
検知データ２０６は、ユーザの身体アクティビティに関する情報を含むことができる。例えば、ユーザは、ユーザの動き、睡眠行動、摂食行動などを収集するさまざまなセンサを有するモバイル機器２０５を携行するかもしれない。
【００４６】
ピンポイントデータ２０７は、ユーザの第１のパターンおよび第２のパターンに関する格納された情報を含むことができる。一例示的実装形態では、監視ソフトウェアは、ユーザのデジタルインタラクションに関する情報を収集することができる。例えば、監視ソフトウェアは、ユーザのコンピュータ使用量、マシンインタラクション、通信パターン、スケジューリング情報などを収集することができる。
【００４７】
環境データ２０８（例えば、周囲データ）は、第１のパターンおよび第２のパターンに関連付けられた場所または組織に関する情報を含むことができる。一例示的実装形態では、サービスは、場所の物理的レイアウト、その場所の人物間の関係、気象情報、安全情報、位置情報ポリシーなどに関する環境データを提供することができる。例えば、オフィスでは、環境データは、オフィスレイアウト、労働者の組織構造、施設および指定された休憩所、ならびに雇用者の休憩ポリシーに関する情報を含むことができる。
【００４８】
アクティビティエンジン２１０は、特定のユーザに関連する入力と、共通の環境を共有する複数のユーザに使用され得る入力とを受け取るために、１つまたは複数のクライアントサービスと対話することができる。例えば、クライアントサービスは、例えば、ある場所の複数のユーザの位置情報を含む建物センサシステムから環境データを；例えば、その場所の各ユーザ用の仕事場のコンピュータからピンポイントデータを；および、例えば個人用の健康追跡センサから検知データを、提供することができる。
【００４９】
アクティビティ検出器２２０は、ユーザに関連するアクティビティを監視することができる。いくつかの実装形態では、アクティビティ検出器２２０は、アクティビティエンジン２１０に含まれ、クライアントデバイス１０５ａ〜１０５ｎによってホストされてもよく、ユーザのアクティビティに関連するデータ（例えば、情報）をアクティビティエンジン２１０に通知してもよい。一例示的実装形態では、アクティビティ検出器２２０は、特定のアクティビティレベルにおける変化を識別するためにユーザアクティビティを追跡する。例えば、アクティビティ検出器２２０は、心拍センサからのデータを監視し、ユーザの心拍数データを追跡し、閾値、百分率、偏差などを満たすユーザの心拍数の変化に基づいて、ユーザのアクティビティレベルの変化を識別することができる。
【００５０】
ユーザのアクティビティを監視するアクティビティ検出器２２０を、ユーザのパターンに関連する変化を検出するように構成することができる。例えば、ユーザがパターン間で移行していることを検出するために、ユーザの位置が変化したときに、ユーザの位置を追跡し、アクティビティエンジン２１０に信号を送るように、アクティビティ検出器２２０を構成することができる。
【００５１】
例えば、カメラを使用して、ユーザの視線を測定し、頭部の向き、瞳孔の拡張などを判断することができる。機能的には、カメラは、ユーザが行っているアクティビティを受信し、ディスプレイ上で観測することができ、コンピュータベースのイベントを見ることもできる。一例では、ユーザは、カメラから見えなくてもよく（例えば、マーカ用ボードに書いているユーザ）、異なるタイプのセンサを用いて、骨格追跡によるユーザの動きなどの身体アクティビティを追跡することができる。
【００５２】
ＤＳＳ２３０は、パターンモジュール２３３、コンテキストモジュール２３６、およびモデルモジュール２３９を含むことができる。一例示的実装形態では、ＤＳＳ２３０は、ユーザのアクティビティまたは行動のパターンを学習するトレーニングプロセスを含み、ユーザをリダイレクトするための推奨モデルを生成する。パターンモジュール２３３は、特定のユーザに関連する受信データ（例えば、検知データ、ピンポイントデータ、環境データなど）を分析して、第１のパターン（例えば、仕事のアクティビティ）および第２のパターン（例えば、休憩のアクティビティ）を識別する。コンテキストモジュール２３６は、データからコンテキストファクタを決定して、第２のパターンへの移行を確認する。モデルモジュール２３９は、第１のパターンに基づいて第２のパターンのためのカスタマイズされた推奨モデルを生成する。一例示的実装形態では、ＤＳＳ２３０は、共同環境内のユーザのセットからのデータを分析して、フィードバックモジュール２４０からの入力を介してカスタマイズされたベースラインパターンおよびモジュールを開発することができる。
【００５３】
ユーザに関連する第１のパターンおよび第２のパターンを識別するために、パターンモジュール２３３は、受信したデータ（例えば、アクティビティに関する情報）を分析するように構成される。一例示的実装形態では、パターンモジュール２３３は、第１のパターンおよび第２のパターンに関連付けられたユーザのアクティビティを分類することができる。例えば、パターンモジュール２３３は、異なるイベントをラベル付けして、分類し、アクション、メッセージ、および／またはコマンドを関連付ける。一例示的実装形態では、ＤＳＳ２３０は、パターンモジュール２３３によるパターンの機械学習に基づく検出を使用する。一例示的実装形態では、ユーザは、第１のパターンおよび第２のパターンを示すために、ラベルおよび／または分類によって、アクティビティ、時間帯、場所などをマークすることができる。いくつかの例では、システム２００は、アクティビティを第１のパターンおよび第２のパターンに関連付けられたものとしてマークし、ユーザは、フィードバックまたはエラー訂正を提供するためにシステムのマーキングを修正または変更してもよい。
【００５４】
一例示的実装形態では、デスクから離れていた時間を、休憩または仕事、短時間または非短時間、ソーシャルまたは非ソーシャル、などとして分類することができる。デスクから離れていた時間の大半が会議室で費やされていた場合、またはデスクから離れていた時間がユーザのカレンダのイベントに対応する場合、その時間は第１のパターンに関連付けられた「仕事」として分類されてもよい。デスクから離れていた時間が時間閾値（例えば、２分）を下回る場合、デスクから離れていた時間は「短時間の休憩」として分類されてもよい。情報の分類は、パターンを識別し、推奨事項のタイミングを改善し、仕事を再開するためのユーザの準備状況を改善する推奨事項のタイプを強化するのに役立つことができる。例えば、短時間の休憩を示す要因を特定することが、ユーザのデスクの近くでの簡単な回復のアクティビティを推奨するために使用されてもよい。デスクから離れていた勤務時間が他の同僚と一緒に費やされていた場合、デスクから離れていた時間を、「仕事」および／または「ソーシャル」と分類することができる。ソーシャル要因は、以下で説明されるように、単独の回復のアクティビティを推奨するために用いられてもよい。
【００５５】
一例示的実装形態では、パターンモジュール２３３は、受信データを第１のパターンおよび第２のパターンに関連付けるためにトレーニングデータのセットを使用する。トレーニングデータのセットは、第１のパターンの肯定的な例および否定的な例、ならびに第２のパターンの肯定的な例および否定的な例の集合を含むことができる。肯定的な例はパターンと一致するものとして分類されることができ、否定的な例はパターンと矛盾するものとして分類されることができる。トレーニングデータのセットを、ユーザの環境に基づいて作成することができる。例えば、オフィス環境用のトレーニングデータのセットは、デスクで座ったり、取引先担当者と話したり、ビジネスコンピュータアプリケーションを使用するなどの第１のパターンの肯定的な例を含んでもよい。第１のパターンの否定的な例は、仕事スペースを離れること、個人的なアイテムをピックアップすること、ソーシャルメディアのウェブサイトを起動することなどを含むことができる。更に、オフィス環境用のトレーニングデータのセットは、休憩所にいる、個人的な相手と話しているなどの第２のパターンの肯定的な例を含む。第２のパターンの否定的な例は、会議室への入室、取引先担当者との通話、メモ帳の持ち込み、仕事関連のモバイルアプリケーションの起動などを含んでもよい。
【００５６】
別の例では、建設環境のためのトレーニングデータのセットは、アクティブな作業ゾーンに位置すること、重機を操作すること、標識を保持することなどの、第１のパターンの肯定的な例を含む。第１のパターンの否定的な例は、休憩ゾーンで座ること、個人的なアイテムをピックアップすること、安全装置を取り外すことなどを含むことができる。
【００５７】
パターンモジュール２３３はまた、第１のパターンから第２のパターンへの移行を示すトリガを識別するために情報を分析する。例えば、パターンモジュール２３３は、受信データを分析して、パターン間の変化を示すアクティビティの検出レベルを比較することによって移行を示すトリガを識別することができる。一例では、自分のデスクを離れているとして検出されたユーザは、ユーザが休憩（例えば、第２のパターン）に移行していることを示すトリガに分類されてもよい。パターンモジュール２３３は、アクティビティ検出器２２０がトリガを検出するための命令を生成することができる。
【００５８】
アクティビティ検出器２２０は、検知データ２０６の変化などのトリガを検出するように構成される。パターンモジュール２３３によって識別されたトリガに基づいて、アクティビティ検出器２２０は、第２のパターンへの移行（例えば、ユーザが休憩を開始した）を示すデータの変化を監視する。検出されたトリガデータは、例えば、時刻、デスクを離れること、特定のコンピュータアプリケーションを閉じること、携帯電話のような個人的なアイテムを使用すること、プリンタのような周辺デバイスを使用すること、あくびや眼球運動などの無意識の行動を行うことなどを含んでもよい。第１のパターンのいくつかの否定的な例は、第２のパターンの肯定的な例と一致してもよいし、一致しなくてもよく、逆の場合も同じである。したがって、ＤＳＳ２３０のコンテキストモジュール２３６は、機械学習プロセスによる追加のパラメータに基づいてトリガに重み係数を割り当てることを含むことができる規則を作成する。
【００５９】
コンテキストモジュール２３６は、ＤＳＳ２３０が第２のパターンへの移行が第１のパターンを中断しないことを確認するために使用できるコンテキストファクタを認識するためにデータ（およびフィードバックモジュール２４０からのフィードバック）を使用する。例えば、コンテキストモジュール２３６は、第２のパターンへの移行を誤って識別するトリガをオーバライドする（無効にする）ために、第１のパターンに関連付けられたスケジュールされたアクティビティを示す可能性があるピンポイント情報を認識することができる。この例では、ユーザは自分のデスクを離れる（例えば、第２のパターンを示すトリガ）として検出されるかもしれないが、カレンダシステム（例えば、ピンポイント情報）は、ユーザが会議（例えば、第１のパターン）に向かっていて、休憩中ではない（例えば、第２のパターンに移行していない）ことを示すかもしれない。この状況では、コンテキストモジュール２３６は、第１のパターン中にアクティビティエンジン２１０がユーザを中断させないように、第２のパターンと矛盾する第１のパターンに関連するデータを認識する。
【００６０】
一例示的実装形態では、コンテキストモジュール２３６は、情報が機械学習を通じてトリガをオーバライドするための基準として有用であるかどうかを判断するポリシーのセットを含むことができる。コンテキストモジュール２３６は、統計分析に基づいて情報に重みを割り当てることができる。例えば、コンテキストモジュール２３６は、ユーザの過去の行動パターンを統計的に分析することに基づいて、ファクタのセットを重み付けしてもよい。例えば、昼食を食べた１時間後にオフィス空間を離れる場合、カレンダシステムは会議が予定されていないことを示すかもしれない。ファクタが組み合わせて存在するときにユーザの過去の行動が休憩を取っている場合、コンテキストモジュール２３６は第２のパターンに対応するファクタを重み付けする。コンテキストモジュール２３６は、アクティビティ検出器２２０がトリガをオーバライドするための命令を生成することができる。
【００６１】
モデルモジュール２３９は、図３〜図５を参照して以下でより詳細に説明されるように、第２のパターン（例えば、休憩のアクティビティ）を補うためのリダイレクション（例えば、回復計画）を提供するユーザのためのカスタマイズされた推奨モデルを生成する。いくつかの例示的実装形態では、モデルモジュール２３９は、第１のパターン（例えば、仕事のアクティビティ）に基づいて、第２のパターン（例えば、休憩のアクティビティ）のための推奨モデルを適合させる。一例示的実装形態では、モデルモジュール２３９は、コンテキストモジュール２３６を使用してカスタマイズされた推奨モデルを生成することができる。
【００６２】
例えば、コンテキストモジュール２３６は、スケジュール情報に基づいた推奨事項（例えば、予定される会議スケジュールとぶつからない回復計画を実行する持続時間）を設定するためにモデルモジュール２３９に命令を提供することができる。更に、コンテキストモジュール２３６は、モデルモジュール２３９に推奨事項のタイプを有効または無効にさせることが可能である。例えば、コンテキストモジュール２３６は、環境データ２０８（例えば、テラスの場所、天気予報など）に基づいて、モデルモジュール２３９が推奨事項（例えば、テラスに歩く）を含むことを可能にすることができる。別の例では、コンテキストモジュール２３６は、ピンポイントデータ２０７（例えば、食事の予約）および／または検知データ２０６（例えば、食べる行動など）に基づいて、モデルモジュール２３９が推奨事項（例えば、カフェテリアに歩く）を含むことを無効にすることができる。
【００６３】
モデルモジュール２３９は、少なくとも第１のパターン（例えば、検知データ２０６、ピンポイントデータ２０７、環境データ２０８）に関連するデータを使用して、カスタマイズされた推奨モデルを生成する。例えば、アクティビティ検出器２２０が、第１のパターン（例えば、仕事のアクティビティ）が座っていて動いていない静止中の心拍数などを含むことを検出すると、モデルモジュール２３９は推奨事項を適合させて、第２のパターン（例えば、休憩のアクティビティ）中に、例えば、直接的または間接的にユーザが一定の歩数を歩くことをもたらすアクティビティや、ユーザの心拍数を所望のレベルに上昇させるアクティビティなどを提案する、アクティブな回復計画を実行するようにユーザをリダイレクトする。別の例では、アクティビティ検出器２２０が、第１のパターン（例えば、仕事のアクティビティ）がユーザは身体的にアクティブであった（例えば、ウェアラブルデバイス、カメラ、位置追跡などを介して検知された）ことを示すデータを含むことを検出すると、モデルモジュール２３９は推奨事項を適合させて、第２のパターン（例えば、休憩のアクティビティ）中に、落ち着いた回復計画、例えば、直接的または間接的にストレッチや精神的な刺激などをもたらす提案アクティビティを実行するようにユーザをリダイレクトする。別の例では、第１のパターン（例えば、仕事のアクティビティ）が、ユーザが精神的に要求の厳しいアクティビティに関与した（例えば、瞳孔拡張に基づいて検知された）ことを示す検知データを含むことを、アクティビティ検出器２２０が検出すると、モデルモジュール２３９は推奨事項を適合させて、第２のパターン（例えば、休憩のアクティビティ）中に、低認知性の回復計画、例えば単純なゲームを実行するようにユーザをリダイレクトする。
【００６４】
モデルモジュール２３９は、第１のパターン（例えば、仕事のアクティビティ）と第２のパターン（例えば、休憩のアクティビティ）とのサイクルで学習し、第２のパターンでは、ユーザは推奨事項を拒否するか、または完了しない場合がある。モデルモジュール２３９は、観測された相関からモデルを生成し、これにより、特定のユーザがモデルを反復的に改善し、したがって推奨事項を改善するために積極的に寄与する。
【００６５】
フィードバックモジュール２４０は、ＤＳＳ２３０の機能を改良および改善するために評価情報をＤＳＳ２３０に提供するように構成される。例えば、推奨事項を拒否して第１のパターンを実行するユーザは、アクティビティ検出器２２０によってもっともらしいものを低減するためのパターン（例えば、ユーザが第１のパターンに関与しているときに推奨事項を提供すること）を改良するために使用されることができる。ＤＳＳ２３０は、コンテキストファクタが第２のパターンへの移行と矛盾していることを考慮して、トリガを学習する。フィードバックモジュール２４０はまた、推奨事項が第２のパターン中に受け入れられない場合、収集されたデータと比較したリダイレクションの有効性を示すフィードバック情報を収集することができる。
【００６６】
モデルモジュール２３９は、フィードバックモジュール２４０によって収集されたデータの相関を観測することによって、推奨モデルを更にカスタマイズすることができる。一例示的実装形態では、モデルモジュール２３９は、第２のパターン（例えば、休憩）中に監視されたデータ使用して、第１のパターンに移行して戻った後に測定されたパフォーマンスと積極的に相関させる。すなわち、モデルモジュール２３９は、第２のパターンの前のサイクルからの監視データに基づいて回復のアクティビティを促進する。場合によっては、推奨事項が受け入れられなかった場合（例えば、休憩中にユーザが回復計画を実行しない）、第１のパターンに移行した後に測定された肯定的なパフォーマンスを使用して、新しい回復のアクティビティを含むようにモデルを更新することで、次の推奨事項を改善することができる。
【００６７】
一例示的実装形態では、ユーザのアクティビティレベルが第１のパターンから第２のパターンに変化し、次いで第１のパターン（例えば、仕事、休憩、仕事）に戻るとき、サイクルの生産性測定値を前のサイクル（例えば、第１のパターンおよび第１のパターンへの復帰）と比較することができ、その後、フィードバックモジュール２４０は、各サイクルの推奨事項出力に適用されるファクタを評価することができる。例えば、フィードバックモジュール２４０は、後続のサイクル（例えば、推奨事項を拒否するユーザが行った休憩と、推奨事項を受け入れたユーザが行ったその後の休憩）間のデータ（例えば、休憩中の心拍数）を比較することによって、推奨事項（例えば、回復計画）の有効性を評価することができる。
【００６８】
一例示的実装形態では、フィードバックモジュール２４０は、第１のパターンと第２のパターンとの間のパフォーマンスのレベルを比較する。一例示的実装形態では、フィードバックモジュール２４０は、休憩中の検知データ２０６（例えば、心拍数、発汗）のレベルを観測する。このフィードバックは、ＤＳＳ２３０によって使用されて、推奨される回復計画を適合させることができる。例えば、フィードバックモジュール２４０からのフィードバックに基づいて、アクティビティエンジン２１０は、心拍数の所望の増加に達していないと判断することができ、システムは、より身体的に回復のアクティビティに影響を及ぼすこと（例えば、リダイレクション）を含むように回復計画を適合させてもよい。
【００６９】
スマートフォン２０５上で動作するモバイルアプリケーションなどの回復のアクティビティアプリケーション（例えば、クライアントサービス）を使用して、アクティビティエンジン２１０と対話して、入力を提供し、アクティビティエンジン２１０からの出力を受け取ることができる。回復のアクティビティアプリケーションは、ネットワークなどを介して直接または間接的にアクティビティエンジン２１０と対話することができる。一例示的実装形態では、回復のアクティビティアプリケーションは、第１のパターンを中断することなく、推奨事項に基づく第２のパターンをリダイレクトする命令を受信する。例えば、回復のアクティビティアプリケーションは、図６Ａ〜図６Ｂおよび図７Ａ〜図７Ｂを参照して以下により詳細に説明するように、ユーザに回復計画を実行するように指示するアクティビティエンジン２１０の出力を実行することができる。
【００７０】
図３は、例示的実装形態によるユーザシーケンスの一例を示している。例示的なサイクルでは、ある人が、仕事のアクティビティを行いながら自分のデスクで仕事をし（３１０）、そして、自分のデスクを離れて（３２０）、休憩に入り（３３０）、休憩のアクティビティに関与し（３４０）、その後、自分のデスクに戻って（３５０）仕事に戻るかもしれない。一例示的実装形態では、ユーザの仕事のアクティビティおよび休憩のアクティビティに関連する情報が収集され、分析されて、仕事のアクティビティを行うことに関連する第１のパターンおよび休憩のアクティビティに関連する第２のパターンを識別する。
【００７１】
更に、例示的実装形態は、ユーザが自分のデスクを離れて（３２０）ユーザが休憩中であることを示すような、第２のパターンへの移行を示すトリガを検出する。ただし、トリガは第２のパターンへの移行を単に示すだけであり、移行が発生したことを確認するのには不十分である可能性がある。検出されたトリガは、アクティビティエンジン２１０に、他の検知データ２０６、ピンポイントデータ２０７、環境データ２０８などの追加の情報に基づいてユーザの状態（例えば、第１のパターンまたは第２のパターン）を更に決定させる。例えば、いくつかの行動が第１のパターンと第２のパターンの両方に関連する可能性があるため、トリガはもっともらしいかもしれない。
【００７２】
例えば、ユーザが自分のデスクを離れて（３２０）（例えば、第２のパターンを示すトリガ）、会議に行くか、別の場所で仕事のアクティビティを行う（例えば、第１のパターン）場合、第１のパターンおよび第２のパターンに関連する追加のパラメータが、ユーザの状態にコンテキストを提供することができる。このように、コンテキストファクタを組み合わせて、ユーザが第１のパターンに関連するアクティビティ（例えば、仕事のアクティビティ）または第２のパターンに関連するアクティビティ（例えば、休憩のアクティビティ）を実行しているかどうかを評価する。この例では、自分のデスクを離れる（３２０）ユーザを検出することを、第２のパターン（例えば、休憩中（３３０））と第１のパターン（例えば、自分のデスクから離れて仕事をする（３２５））との両方に関連付けてもよい。一例示的実装形態では、トリガおよびコンテキストファクタは、第１のパターンと第２のパターンを識別するための情報の分析に基づいて重みを割り当てられる。
【００７３】
反復機械学習を通じて、アクティビティエンジン２１０は、第１のパターンから第２のパターンへの移行を示すトリガを識別し、第２のパターンと矛盾する第１のパターンに関連するコンテキストファクタを認識することを反復的に改善することができる。したがって、ユーザがデスクで仕事をする（３１０）ことから切り替えて（例えば、デスクを離れて（３２０））、会議室で仕事をして（３２５）、カフェテリアで仕事をする（３２５）場合、自分のデスクに戻って（３５０）仕事に戻る前に、デスクを離れる（３２０）トリガが検出され、アクティビティエンジン２１０は、第２のパターン（例えば、休憩のアクティビティに関与（３４０））と矛盾するコンテキストファクタ（例えば、時刻、会議スケジュール、会議室の場所、監督者の存在、特定の場所での仕事の履歴など）を学習してもよい。
【００７４】
ユーザが第２のパターン（例えば、休憩のアクティビティに関与（３４０））に移行したかどうかを確認するために、アクティビティエンジン２１０は、機械学習を使用して閾値を計算することができる。一例示的実装形態では、アクティビティエンジン２１０は、トリガおよびコンテキストファクタを重み付けして、コンテキストファクタを考慮したトリガが閾値を満たすかどうかを判定する。コンテキストファクタが第２のパターン（例えば、推奨イベント）への移行を示すことを考慮してトリガを確認することに応答して、アクティビティエンジン２１０は、ユーザにリダイレクションを提供する。
【００７５】
図４〜図５および図８を参照して以下に説明するように、コンテキストファクタが閾値を満足しないことを考慮してトリガを決定することに応答して、アクティビティエンジン２１０は他のトリガのユーザアクティビティを監視することができる。いくつかの例示的実装形態では、コンテキストファクタがトリガをオーバライドすることができる。例えば、トリガを考慮したコンテキストファクタの検査が第２のパターンと矛盾するアクティビティを示す場合、第２のパターンへの移行は確認されない。例えば、アクティビティエンジン２１０は、重み付けされたコンテキストファクタおよび検出されたトリガが閾値を満たさない場合を評価することによって、アクティビティが第２のパターンと矛盾していると判断することができる。したがって、３２０、３２５、３５０のシーケンスは非推奨イベントであり、アクティビティエンジン２１０は、自分のデスクから離れて仕事をするユーザの生産性を妨げることを回避する。
【００７６】
アクティビティエンジン２１０がトリガを確認し、コンテキストファクタが第２のパターン（例えば、休憩時間）の移行に関連付けられると、回復計画を実行するようにユーザをリダイレクトするための推奨事項が提供される。
【００７７】
図４は、例示的実装形態によりカスタマイズされたモデルのための方法４００のサーバフロー図を示している。方法４００は処理ロジックによって実行され、処理ロジックは、ハードウェア（回路、専用ロジックなど）、ソフトウェア（汎用コンピュータシステムまたは専用マシン上で動作するものなど）、またはその両方の組み合わせを含んでもよい。方法４００は、図１のアクティビティエンジン１１０によって実行されてもよい。方法４００は、以下にアクティビティエンジンによって実行されるものとして説明されるが、方法４００は、他の処理ロジックによって実行されてもよい。
【００７８】
４０１において、処理デバイスは、アクティビティに関連する情報を受信する。一例示的実装形態では、情報を、検知データ２０６、ピンポイントデータ２０７、環境データ２０８を含むクライアントサービスによって収集することができる。ユーザに関連する情報を、複数のクライアントサービスから並行して提供することができる。クライアントサービスは、クラウドサービス、データリポジトリ、スケジューリングアプリケーション、ビル管理システム、モバイル機器、スマートフォン、健康追跡センサ、カメラなどの、データを収集するための任意の数のリソースを含むことができる。
【００７９】
４０３において、処理デバイスは、第１のパターンおよび第２のパターンを識別するために情報を分析する。一例示的実装形態では、第１のパターンおよび第２のパターンは、身体位置、場所、心拍数、血糖値、血圧、視線、声のアクティビティ、体温などのユーザの生理データにおける変化を検知することによって示されてもよい。例えば、カメラが、ユーザが位置を変えたとき、または仕事場を離れるとき、または仕事場に訪問者がいるかどうかを監視してもよい。また、ユーザのパターンは、アクティビティの変化を示すピンポイントデータを解釈することによって示されてもよい。例えば、ユーザのパターンは、コンピュータのアクティビティ、ノイズレベル、ソーシャルインタラクション、予定されたアクティビティ、周辺機器の使用量などによって示されてもよい。
【００８０】
ユーザのパターンは、照明システムのアクティビティまたは建物の内部もしくは外部の温度などの環境データを介して更に示されてもよい。例えば、処理デバイスは、ユーザに関連付けられた検知データに基づいて、ユーザが指定された仕事場から遠ざかったことを判断するために位置データを分析することができる。別の例では、処理デバイスは、ユーザの第２のパターン（例えば、休憩中）を暖房または空調システムの起動と相関させ、環境データを他のデータとのファクタとして使用して、ユーザが第２のパターンに移行していることを示すトリガ（または一連のトリガ）を識別してもよい。例示的実装形態では、処理デバイスは、トレーニングデータを使用して、受信した情報を第１のパターンおよび第２のパターンと相関させる。例示的なトレーニングデータのセットでは、ユーザは、第１のパターンおよび／または第２のパターンで情報を分類するための期間をラベル付けするように促されてもよい。
【００８１】
一例示的実装形態では、処理デバイスは、第１のパターンおよび第２のパターンの間でユーザのアクティビティを区別するトリガを識別するために情報を分析する。例えば、ユーザの身体位置、場所、心拍数、血糖値、アドレナリン、血圧、視線などの変化のような検知された行動を分析して、トリガが第１のパターンまたは第２のパターンのいずれかと排他的に相関するかどうかを判定することができる。ただし、上述したように、移行を確認することができるコンテキストファクタが認識される。
【００８２】
４０５において、処理デバイスは、第１のパターンに基づいて第２のパターンのためのカスタマイズされた推奨モデルを生成する。カスタマイズされた推奨モデルは、情報および第１のパターンに基づいて回復のアクティビティを推奨するための命令を含むことができる。カスタマイズされたモデルは、トレーニングデータ、ユーザ選好、環境制御、臨床ガイドライン、安全規制、ソーシャルグラフのセットと関連する１つまたは複数の機械学習技術を使用して生成される。
【００８３】
一例示的実装形態では、処理デバイスは、モデルの階層ライブラリに基づいてカスタマイズされた推奨モデルを生成することができる。処理デバイスは、異なるデータ（例えば、センサデータ、ピンポイントデータなど）に基づいてモデルの階層ライブラリから選択することができる。例えば、カスタマイズされた推奨モデルは、異なる時刻の異なるモデル（例えば、午前と午後で異なるモデル）を含むことができる。モデルの階層ライブラリの各モデルは、回復のアクティビティ（例えば、回復計画）の異なるセットを含むことができ、第１のパターンまたはデータに基づいて設計されることができる。例えば、モデルの階層ライブラリは、異なる空間に対してさまざまなモデル（例えば、オフィスにおける仕事／休憩を識別するため、休憩室における仕事／休憩を識別するためなど）を含むことができる。処理デバイスは、ユーザのパターンに基づいてモデルの階層ライブラリからモデルを組み込むことによって、カスタマイズされた推奨モデルを生成することができる。カスタマイズされた推奨モデルは、異なるワークタイプに対して異なるモデルを含むことができる。例えば、座っている（例えば、デスクで仕事をしている）と分類されたアクティビティを含む第１のパターンを有するユーザのためのカスタマイズされた推奨モデルは、モデルの階層ライブラリからの座っているモデル（例えば、推奨の身体アクティビティ）を含むことができる。例えば、身体的（例えば、建設現場で仕事をしている）と分類されたアクティビティを含む第１のパターンを有するユーザのためのカスタマイズされた推奨モデルは、モデルの階層ライブラリからの身体的モデル（例えば、推奨の座っているアクティビティ）を含むことができる。
【００８４】
４０７において、処理デバイスはユーザアクティビティを監視する。４０９において、処理デバイスは、第２のパターンへの移行を示すトリガを検出する。いくつかの実装形態では、図１〜図３を参照して上述したように、例えば、別の処理デバイスを使用して、４０７でユーザアクティビティを監視し、４０９でトリガを検出することができる。トリガを検出したことに応答して、処理デバイスは４１１に進み、コンテキストファクタを評価して、第１のパターンを中断することなく第２のパターンへの移行を確認する。処理デバイスは、ユーザの第１のパターン（例えば、仕事のアクティビティ）を中断することなく、ユーザに推奨事項を受動的に提供し、第１のパターン（例えば、仕事のアクティビティ）に戻るためのユーザの準備状態に影響を及ぼす（例えば、改善する）。４０９でトリガが検出されなかった場合、またはコンテキストファクタがトリガをオーバライドする場合、処理デバイスは４０７に戻って、移行のためのユーザアクティビティを監視し続けることができる。処理デバイスは、ブロック４０７とは独立して、ユーザ情報、フィードバック、パフォーマンスなどを収集するなど、ユーザアクティビティを引き続き監視することに留意されたい。
【００８５】
４１３において、処理デバイスは、カスタマイズされた推奨モデルを適用して、推奨事項に基づく第２のパターンのリダイレクションを提供する。リダイレクションを、精神的刺激、身体的刺激、または社会的刺激のうちの１つまたは複数を含むことができる回復計画とすることができる。例えば、回復計画は、職場設定内の場所にユーザを誘導する電子ゲームを表示することを含んでもよい。カスタマイズされた推奨モデルを、図２を参照して詳細に上述したように、リアルタイムデータに基づいて動的に適用することができる。例えば、回復計画は、ユーザに、ユーザのソーシャルグラフに基づいてオフィスの異なる場所に歩いて行き、スケジュール内の次の会議または検知された心拍閾値などに基づいて持続時間を個人向けにするように指示することができる。
【００８６】
例示的実装形態では、処理デバイスは、第２のパターンに関連するフィードバック情報を受信する。処理デバイスは、受信したフィードバック情報に基づいてモデルを更に更新することができる。機械学習プロセスは、パターン検出、コンテキストファクタ分析、および回復計画の推奨事項を反復的に改善する。フィードバック情報は、回復計画を実行するための推奨事項のユーザの受け入れ、第１のパターン（例えば、仕事のアクティビティに戻った後のユーザの生産性）および／または第２のパターン（例えば、規則的な休憩のアクティビティおよび／または回復計画中の検知データ）のパフォーマンス中に記録されたフィードバック、推奨事項に対する満足度に関するユーザからのフィードバックなどを示すことができる。
【００８７】
例えば、フィードバック情報は、第１のパターンに移行して戻るための持続時間、追跡している別のユーザの共存、ユーザ位置データ、ユーザ調査、および休憩後のアクティビティを含むことができる。一例示的実装形態では、処理デバイスは、特定の回復のアクティビティで推奨モデルをカスタマイズする（例えば、回復計画をより長く、より短く、多かれ少なかれ影響を及ぼすように適合させる）ためにセンサデータ（例えば、取られたステップの数）に基づくフィードバックを使用する。ユーザが特定の時間に推奨される回復のアクティビティを繰り返し拒否する場合、システムは回復のアクティビティの重みをユーザの推奨事項として低減するようにモデルを適合させてもよい。ユーザが特定のコンテキストにおいて推奨された回復のアクティビティを繰り返し拒絶する場合、処理デバイスは、カスタマイズされた推奨モデルを更新して、コンテキストに基づいて修正されたまたは異なる回復計画（例えば、回復のアクティビティがより短い回復計画）を推奨することができる。
【００８８】
ユーザが第１のパターン（例えば、仕事のアクティビティ）へ移行して戻った後、処理デバイスは、ユーザのアクティビティを追跡して分析し続けて、カスタマイズされた推奨モデルを改善することができる。一例示的実装形態では、生産性ファクタを特定し、測定し、追跡して、推奨事項の有効性を決定することができる。例えば、第１のパターンが、５０個の箱を移動するなど、仕事時間中に測定可能な目標を有する場合、複数の第１のパターンにわたる生産性（例えば、仕事時間）が、カスタマイズされた推奨モデルを改良して、より効果的に目標に到達することができる。ユーザは、推奨事項が第１のパターンに戻る準備状況に及ぼす影響を示すフィードバックを提供することもできる。例えば、ユーザは、選好を調整し、満足度調査を完了することができる。したがって、推奨モデルへのフィードバックは、モデルをカスタマイズして、ユーザが第１のパターン（例えば、仕事のアクティビティ）に戻る準備をする回復のアクティビティ（例えば、リダイレクトされた休憩のアクティビティ）のより効果的な推奨事項を提供する。
【００８９】
いくつかの例示的実装形態では、方法４００は、異なる、より少ない、または、より多いブロックで実施されてもよい。一例示的実装形態では、ブロック４０１〜４０５は、ブロック４０７〜４１３とは独立して実施されてもよい。例えば、ブロック４０１〜４０５を、モデルを生成するデバイスによってトレーニング段階の一部として実施することができ、ブロック４０７〜４１３を、モデルを繰り返し適用するために他のデバイスによってアクティビティ段階の一部として実施することができる。いくつかの例示的実装形態では、図２および図８を参照してより詳細に説明するように、プロセスは、ブロック４０１〜４０５の１つに周期的に戻って、フィードバックを組み込み、モデルを更新することができる。方法４００は、媒体に格納することができ、１つまたは複数のコンピューティングデバイスの１つまたは複数のプロセッサにロードすることができ、コンピュータ実装方法として実行することができるコンピュータ実行可能命令として実施されてもよい。
【００９０】
図５は、例示的実装形態によるカスタマイズされたモデルのための方法５００のクライアントフロー図を示している。方法５００は処理ロジックによって実行され、処理ロジックは、ハードウェア（回路、専用ロジックなど）、ソフトウェア（汎用コンピュータシステムまたは専用マシン上で実行するものなど）、またはその両方の組み合わせを含んでもよい。方法５００は、図１のクライアントデバイス１０５ａ〜１０５ｎ上で動作するクライアントサービスによって実行されてもよい。方法５００は、以下にクライアントサービスによって実行されるものとして説明されるが、方法５００は、他の処理ロジックによって実行されてもよい。
【００９１】
５５１において、クライアントサービスは、ユーザから情報を取得する。５５３において、クライアントサービスは、アクティビティエンジンに情報を提供する。５５５において、クライアントサービスは、アクティビティエンジンから回復計画を受信し、回復計画はユーザのパターンに基づいている。５５７において、クライアントサービスは、回復計画を実行するための推奨事項を、第１のパターン（例えば、仕事のアクティビティ）を中断することなく、ユーザに提供する。５５９において、クライアントサービスは、ユーザとの回復計画を実行し、ユーザのパフォーマンスを記録してもよい。５６１において、クライアントサービスはフィードバックを収集し、更新された情報をアクティビティエンジンに提供する。
【００９２】
図６Ａおよび図６Ｂは、例示的実装形態による例示的な回復計画のためのインタフェース例を示している。スマートフォン上で動作するモバイルアプリケーションなどの回復のアクティビティアプリケーションを、ユーザが回復計画を実行するために使用することができる。図６Ａに示すように、モバイル機器は、回復のアクティビティアプリケーションの例示的なホームインタフェース６１０を提供することができる。ホームインタフェース６１０は、以前の回復計画からのユーザの成果を表示することができ、これにより、ユーザが選好をプログラムし、修正し、回復計画を実行することを可能になる。回復のアクティビティアプリケーションの推奨インタフェース６２０は、図５のブロック５５７のようなアクティビティエンジンから提案された推奨事項を示す。
【００９３】
一例示的実装形態では、ユーザは自分のオフィスに位置し、静止している。システムはユーザの位置を監視し、移動状態への任意の変化を探す。システムは、ユーザの心拍数を記録して、休憩前の静止状態の心拍数を計算することもできる。システムが、ユーザが静止しておらず、自分のデスクから離れたと判断すると、ユーザは、６２０において、自分の電話で、回復のアクティビティが利用可能であるという振動通知を受信する。ユーザは、“Ａｃｃｅｐｔ”をタップするか、（“Ｉｇｎｏｒｅ”をタップして）明示的に拒否することができ、あるいは、何もしないで単に無視することができる。この対話は、ユーザがすでに移動しているとき、または自分のデスクから離れているときに提供され、その結果、仕事（すなわち、第１のパターン）の中断を回避する。更に、ユーザは休憩中でない（例えば、ユーザは会議に行く）場合があるため、または、ユーザが、アプリケーションに関与できないか、関与しないことを望む場合、ユーザは容易に推奨事項（例えば、モバイル機器上の通知）を拒否することができる。
【００９４】
回復計画インタフェース６３０は、ユーザが実行する回復計画の例を示している。この例示的実装形態では、回復計画は、ユーザが仮想の星印を収集するためにオフィス周辺の場所を提供する。回復計画インタフェース６３０は、ユーザの仕事環境のレイアウトを示す。
【００９５】
一例示的実装形態では、ユーザが回復計画を実行するための推奨事項を受け入れる場合、アプリケーションは、モバイル機器上に仕事環境のマップと、移動先のターゲット位置とを表示する。画面上部のラベルには、場所名が表示される。ユーザがターゲットの近くに移動すると、マップ上のターゲットの外観が変化する（例えば、発展する）。ユーザがターゲットに十分に接近すると、マップ上のターゲットの外観が変化し（例えば、大きな星印に変化する）、モバイル機器が振動する。「異なる星印を取得する（“Ｇｅｔ  ａ  Ｄｉｆｆｅｒｅｎｔ  Ｓｔａｒ”）」という機能により、ユーザは別の場所にあるターゲットをリクエストすることが可能である。「私はそこにいる（“Ｉ  ａｍ  Ｔｈｅｒｅ”）」という機能により、例えば、ユーザがシステムによって誤ってローカライズされた場合に、ユーザがターゲット位置にいることをユーザは示すことが可能になる。
【００９６】
アクティビティエンジンは、ユーザの保存可能なパターンによって変更され、ユーザの最新のアクティビティレベルに合わせて調節され、個人の選好やコンテキストファクタを満たすように調整された、選択モデルに基づいてユーザのためにカスタマイズされた個人用の回復計画を決定する。例えば、個人用の回復計画は、ユーザの前回の回復計画のパフォーマンスに基づいて休憩中にユーザが収集する星印の数を設定し、ユーザのソーシャルグラフまたは場所履歴に基づいてユーザが各星印を収集する場所を選択的に選び、仕事の準備ができるとユーザが仕事のアクティビティに戻るように回復計画を調整してもよい。
【００９７】
回復のアクティビティアプリケーションのダッシュボードインタフェース６４０は、回復計画の間のユーザのパターン、行動、およびパフォーマンスに関する情報をユーザに提供することができる。例えば、ユーザが自分のデスクに戻り、静止状態（例えば、第１のパターン）を再開すると、モバイル機器は、振動して、ダッシュボードインタフェース６４０を表示することができる。ダッシュボードインタフェース６４０は、ユーザのデスクから離れた時間（例えば、第２のパターン）をまとめることができる。ダッシュボード情報は、例えば、回復のアクティビティの持続時間、収集された星印の数、歩行した歩数、および第２のパターン（例えば、休憩のアクティビティ）中の記録されたユーザの心拍数と第１のパターン（例えば、休憩前または休憩後のアクティビティ）の静止状態の心拍数との差を含むことができる。図６Ｂに示すように、フィードバックインタフェース６７０は、ユーザ満足度などのフィードバックを収集するために、ユーザからの入力を受け取る。ユーザのフィードバックは、アクティビティエンジンにフィードバックされ、第２のパターンへの次の移行のためのユーザのカスタマイズされた推奨モデル（例えば、回復期間）を改善する。
【００９８】
インタフェース６５０および６６０は、回復計画を実行するためのユーザ対話の例を示している。例えば、ターゲット位置に十分近い場合、ターゲットはマップ上に星印として表示されてもよい。星印が現れた後、ユーザはマップ上の任意の場所をタップし、星印をボックスにドラッグすることによって星印を「収集」し、アプリケーションはランダムな「事実」、ささいな質問、またはビデオなどのメディアコンテンツをユーザに提示する。
【００９９】
図７Ａおよび図７Ｂは、例示的実装形態による例示的な回復計画に関連するビーコン処理を示している。屋内環境では、追加の位置追跡サービスがユーザのアクティビティを検出するのに役立つ場合がある。一般に、壁は信号を送信することを制限し、したがって屋内のモバイル機器によって指示される特定の回復のアクティビティの実施を禁止する。いくつかの実装形態では、ユーザは、第１のパターン（例えば、仕事のアクティビティ）および第２のパターン（例えば、回復計画）の間にユーザを追跡および／または案内するためのデバイス（例えば、図１のクライアントデバイス１０５ａ〜１０５ｂ、図６Ａ〜図６Ｂ）を携行するまたは身に付けることができる。更に、いくつかの環境は、第１のパターンおよび第２のパターン中にユーザを追跡および／または案内することができるインフラストラクチャ（図１のクライアントデバイス１０５ａ〜１０５ｄ、カメラシステム、追跡システム、スマートビルディングセンサシステムなどの）に統合されたクライアントサービスを含んでもよい。
【０１００】
一例示的実装形態では、オフィスには、空間を識別するビーコンを装備することができる。ビーコンを使用して、ユーザの仕事場所を割り当てたり、休憩場所を特定したり、立ち入り禁止場所を指定することができる。例えば、周波数をスキャンする近くのポータブルデバイスに識別子をブロードキャストするための標準化されたプロトコルを使用するＷｉｆｉまたはＢＬＥ（Ｂｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙ）デバイスを使用することができる。次いで、識別子を使用して、ユーザ（例えば、モバイル機器）のコンテキストを識別し、対応する動作をトリガすることができる。例えば、オフィス内のさまざまな場所にユーザを連れ出す借り物競走を含む回復計画では、ビーコンを使用して、モバイル機器または統合クライアントサービスを使用して仮想の星印または報酬を収集するためにユーザをオフィス周辺に誘導することができる。
【０１０１】
環境は、ホームビーコンおよびターゲットビーコンを含むことができる。スマートフォン上で動作するモバイルアプリケーションなどの回復のアクティビティアプリケーションは、部屋名を使用したビーコン識別子のマッピングを含むことができる。環境データを使用して、異なる環境に配置するためのビルディングレイアウトとオフィスディレクトリを収集することができる。更に、ユーザは、ユーザのワークスペースが位置する部屋に対応する「ホーム」ビーコンをスキャンするようにアプリケーションを構成することができる。ホームビーコンから報告された距離に関する閾値を使用して、ユーザが自分のデスクにいるかデスクを離れているかを判断することができる。各ユーザに対して、環境内の他のビーコンは潜在的な「ターゲット」ビーコンである。
【０１０２】
特定の環境が、推奨される回復のアクティビティの実行には適していない場合がある。例えば、空間が同僚によって使用されている場合、または空間が同僚のオフィスのような通常は立ち入り禁止の場所である場合、特定の場所での回復計画（例えば、第２のパターンのリダイレクション）を実行することは望ましくないかもしれない。ビーコンは、アクセス可能またはアクセスできないかもしれない空間内に存在する場合があるので、ビーコンからの閾値距離を使用して、ターゲットビーコンの場所に入ることなく、ユーザが回復のアクティビティを完了する選択を可能にする範囲内にターゲットがあることを決定することができる。
【０１０３】
一例示的実装形態では、ビーコン検出のためのスライディングウィンドウ技術を使用して、回復のアクティビティアプリケーションによる間欠的なビーコン観測の問題および屋内環境における距離精度の高いばらつきに対処することができる。一例示的実装形態では、図７Ａのプロセス７００に示すように、７０５において、デバイス（例えば、モバイル機器の通信センサまたは処理デバイス）がターゲットビーコン識別子を識別することができる。７１０において、デバイスは、ビーコン識別子が最後のＮ回のスキャン中に存在したかどうかを判定する。例えば、特定のＢｌｕｅｔｏｏｔｈ（登録商標）ビーコンの最新のＮ回のスキャンを表すサイズＮのアレイまたはウィンドウは、特定のビーコンを検知するために使用される。スキャンがその特定のビーコン観測を含まない場合、ヌル値がウィンドウ内のプレースホルダとして使用される。デバイスで実行されている回復のアクティビティアプリケーションは、複数のウィンドウを維持することができ、例えば、ユーザのホームビーコンの最新のスキャンを表すものと、現在のターゲットビーコンのものがある。ビーコン識別子が最後のＮ回のスキャンで存在しなかった場合、デバイスは、ターゲットビーコン識別子を検索するために７０５に戻るか、または検索するために新しいビーコン識別子を選択することができる。
【０１０４】
ビーコン識別子が最後のＮ回のスキャンに存在すると判定したことに応答して、プロセスは距離が閾値内にあるかどうかを判定するために７１５に進むことができる。７２０において、距離が閾値内であると判定したことに応答して、ターゲットは取得されたとみなされる。
【０１０５】
図７Ｂに更に示すように、ターゲットビーコンに関する状態を、以下のように記述することができる。
【０１０６】
ビーコンのウィンドウからのすべての値がヌルである場合、ユーザはそのビーコンから「範囲外」とみなされる。
【０１０７】
ビーコンのウィンドウ内に少なくとも１つの非ヌル値がある場合、これらの値の平均がそれぞれの閾値と比較される。
【０１０８】
ウィンドウによって返された距離が閾値より大きい場合、ビーコンは「遠い」とみなされ、そうでない場合は「近く」とみなされる。
【０１０９】
したがって、位置検知は、異なる環境に適応し、回復のアクティビティアプリケーションのパフォーマンスを向上させるために、回復のアクティビティ（例えば、休憩のアクティビティのリダイレクション）を実行するように調整される。図２〜図５を参照してより詳細に上述したように、回復のアクティビティアプリケーションは、モデルを更新するための検知データとともにビーコン距離データをログすることを含むことができるフィードバックデータを収集する。
【０１１０】
図８は、例示的実装形態によるカスタマイズされたモデルを実行するためのフロー図を示している。いくつかの例示的実装形態では、プロセス８００は、異なる、より少ない、または、より多いブロックで実施されてもよい。図４を参照して上述したように、例示的実装形態は、トレーニング段階およびアクティビティ段階を含むことができる。一例示的実装形態では、ブロック８０５および８２０は、ブロック８１０、８１５、８２５〜８４０の順番に実施されてもよい。プロセス８００は、媒体に格納することができ、１つまたは複数のコンピューティングデバイス（例えば、図２のシステム２００）の１つまたは複数のプロセッサにロードすることができ、コンピュータ実装方法として実行することができるコンピュータ実行可能命令として実装されてもよい。
【０１１１】
８０５において、システムはユーザのパターンを学習する。一例示的実装形態では、システムは、機械学習を使用して、アクティビティに関連する受信した情報に基づいてユーザの第１のパターンおよび第２のパターンを識別する。例示的実装形態では、システムは、時間間隔またはトリガリングファクタの階層に基づいて、リアルタイムでユーザアクティビティに関連する情報を能動的に監視することができる。リアルタイムでの監視を、例えば、カメラシステムによって実施することができる。更に、時間間隔は固定されていてもよく、非常に多くの秒、分、または時間ごとにユーザのアクティビティをチェックする（例えば、アクティビティのレベルの変化を検出する）ために予めプログラムされてもよい。
【０１１２】
動的時間間隔を徐々に調整して、ユーザのアクティビティに関連する情報をチェックする間隔を変更してもよい。一例示的実装形態では、システムは、パターンを考慮したカウントダウン間隔に基づいて情報をチェックする。例えば、ユーザが３〜４時間ごとに第１のパターンから第２のパターン（例えば、休憩を取る）へと日常的に移行する場合、システムは、第１のパターンへの前回の移行（例えば、休憩の終了）が３〜４時間の観測間隔へと増加するので、情報をチェックする間隔を短くすることができる。
【０１１３】
８１０において、システムは、図２〜図５を参照して上述したように、第２のパターンへの移行を示すトリガを検出する。更に、トリガリングファクタの階層を使用して、移行を検出してもよいし、および／または情報をチェックするための間隔を調整してもよい。一例示的実装形態では、システムは、第２のパターンへの移行において示される行動（例えば、休憩が近づいていることを示す行動）を検知してもよい。例えば、システムは、あくびを検出し、次いでユーザの視線をチェックする間隔を短くしてもよい。別の例では、特定の連絡先から電話を受けた後に頻繁に休憩することが観測された場合、その連絡先からの電話を検出した後の情報の確認を増やすことができる。１つまたは複数の観測された行動は、ユーザが第２のパターンに移行している（例えば、休憩する準備ができている）ことを示すトリガとして検出されてもよく、コンテキストファクタを評価することによってオーバライドされてもよい。
【０１１４】
第２のパターンへの移行を示すトリガに応答して、８１５において、システムはコンテキストファクタを検査して、トリガを確認するかオーバライドするかを決定する。例えば、コンテキストファクタが、ユーザアクティビティが第２のパターンと矛盾していることを示す場合、システムはトリガをオーバライドして８０５に戻り、ユーザのパターンの学習を更新することができる。したがって、システムは、第１のパターン（例えば、仕事のアクティビティ）中にユーザを中断させることなく、第２のパターン（例えば、休憩を取る）に移行することによって得られる純生産性を高める。コンテキストファクタが、ユーザアクティビティが第２のパターンと一致することを示す場合、システムはトリガを確認して８２０に進むことができる。
【０１１５】
８２０において、システムは、ユーザのパターンに基づいてカスタマイズされた推奨モデルを生成する。８２５において、システムは、モデルに基づいてユーザにリダイレクションを提案する。図２〜図５を参照して上述したように、カスタマイズされた推奨モデルを生成するための例示的実装形態は、トレーニングデータ、コンテキストファクタ、モデルの階層ライブラリなどを含むことができる。更に、提案されたリダイレクションは、第１のパターン（例えば、仕事のアクティビティのタイプ、検知データ、環境、コンテキストファクタなど）に基づいて、第２のパターン（例えば、回復計画）に対する異なるリダイレクションを提案するために、コンテキストファクタ、フィードバック情報、機械学習などを組み込むことができる。
【０１１６】
８３０において、システムは、リダイレクションがユーザによって受け入れられるかどうかを判断する。ユーザがリダイレクションを受け入れることに応答して、８３５において、ユーザはリダイレクションを実行することができ、システムはユーザアクティビティを追跡および記録するためのサービス（例えば、クライアントサービス）を利用する。ユーザがリダイレクションを受け入れるか拒否するかにかかわらず、システムは、第２のパターン（例えば、休憩のアクティビティ）中のユーザアクティビティを追跡して監視し、パターン学習および推奨事項のカスタマイズを改善することができる。したがって、第２のパターンへの移行がパターン認識プロセスによって確認されない限りは、推奨事項を抑制することによって、および、第１のパターンに戻る前にユーザの回復を高める第２のアクティビティをリダイレクトするための提案を反復的に改善することによって、ユーザの生産性を向上させるかもしれない。
【０１１７】
８４０において、システムは、ユーザが第１のパターンにスイッチバックするのを監視することができる。ユーザが第１のパターンにスイッチバックしなかった場合、システムは、リダイレクションが受け入れられたかどうかにかかわらず、第２のパターン中にユーザを監視するために８３０に戻ることができる。ユーザが第１のパターンに移行したと判断したことに応答して、システムは８０５に戻ってユーザの行動をフィードバックして、ユーザのパターンを学習し更新することができる。
【０１１８】
図９は、いくつかの例示的実装形態における使用のための外部ホストに関連付けられた例示的なコンピューティングデバイスを有するコンピューティング環境の例を示している。コンピューティング環境９００内のコンピューティングデバイス９０５は、１つまたは複数の処理ユニット、コア、またはプロセッサ９１０、メモリ９１５（例えば、ＲＡＭ、ＲＯＭなど）、内部ストレージ９２０（例えば、磁気、光学、ソリッドステートストレージ、および／またはオーガニック）、および／またはＩ／Ｏインタフェース９２５を含むことができ、これらのうちの任意のものを、情報を通信するため、またはコンピューティングデバイス９０５に埋め込まれるために通信機構またはバス９３０上で接続することができる。
【０１１９】
コンピューティングデバイス９０５を、入力／ユーザインタフェース９３５および出力デバイス／インタフェース９４０に通信可能に接続することができる。入力／ユーザインタフェース９３５および出力デバイス／インタフェース９４０の一方または両方を、有線または無線インタフェースとすることができ、取り外し可能とすることができる。入力／ユーザインタフェース９３５は、入力（例えば、ボタン、タッチスクリーンインタフェース、キーボード、ポインティング／カーソル制御、マイクロフォン、カメラ、点字、モーションセンサ、光学式リーダなど）を提供するために物理的または仮想的に使用することができる任意のデバイス、コンポーネント、センサ、またはインタフェースを含んでもよい。
【０１２０】
出力デバイス／インタフェース９４０は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字などを含んでもよい。いくつかの例示的実装形態では、入力／ユーザインタフェース９３５および出力デバイス／インタフェース９４０を、コンピューティングデバイス９０５に埋め込むか、または物理的に接続することができる。他の例示的実装形態では、他のコンピューティングデバイスは、コンピューティングデバイス９０５のための入力／ユーザインタフェース９３５および出力デバイス／インタフェース９４０の機能として動作するかまたはその機能を提供してもよい。
【０１２１】
コンピューティングデバイス９０５の例は、高度モバイル機器（例えば、スマートフォン、車両および他のマシンのデバイス、人間および動物が携行するデバイスなど）、モバイル機器（例えば、タブレット、ノートパソコン、ラップトップ、パーソナルコンピュータ、ポータブルテレビ、ラジオなど）、および移動式に設計されていないデバイス（例えば、デスクトップコンピュータ、他のコンピュータ、情報キオスク、１つまたは複数のプロセッサが埋め込まれたテレビ、および／またはそれに接続されたテレビ、ラジオなど）を含んでもよいが、これらに限定されるものではない。
【０１２２】
コンピューティングデバイス９０５は、同じ構成または異なる構成の１つまたは複数のコンピューティングデバイスを含む任意の数のネットワークコンポーネント、デバイス、およびシステムと通信するために、外部ストレージ９４５およびネットワーク９５０に（例えば、Ｉ／Ｏインタフェース９２５を介して）通信可能に接続され得る。コンピューティングデバイス９０５または任意の接続されたコンピューティングデバイスは、サーバ、クライアント、シンサーバ、汎用マシン、専用マシン、または別のラベルとして機能するか、これらのサービスを提供するか、またはこれらを指すことができる。
【０１２３】
Ｉ／Ｏインタフェース９２５は、音声および／またはデータネットワークを介した無線通信を容易にする無線通信コンポーネント（図示せず）を含んでもよい。無線通信コンポーネントは、１つまたは複数のアンテナを有するアンテナシステム、無線システム、ベースバンドシステム、またはそれらの任意の組み合わせを含んでもよい。無線周波数（ＲＦ）信号は、無線システムの管理下で、アンテナシステムによって空気を介して送受信されてもよい。
【０１２４】
Ｉ／Ｏインタフェース９２５は、コンピューティング環境９００内の少なくともすべての接続されたコンポーネント、デバイス、およびネットワークに、および／またはそれらから情報を通信するために、任意の通信またはＩ／Ｏプロトコルもしくは規格（例えば、イーサネット（登録商標）、８０２．１１ｘ、ユニバーサルシステムバス、ＷｉＭａｘ、モデム、セルラネットワークプロトコルなど）を使用した有線および／または無線インタフェースを含むことができるが、これらに限定されるものではない。ネットワーク９５０を、任意のネットワークまたはネットワークの組み合わせ（例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話ネットワーク、セルラネットワーク、衛星ネットワークなど）とすることができる。
【０１２５】
コンピューティングデバイス９０５は、一時的媒体および非一時的媒体を含むコンピュータ使用可能媒体またはコンピュータ可読媒体を使用する、および／またはこれを使用して通信することができる。一時的媒体には、伝送媒体（例えば、金属ケーブル、光ファイバ）、信号、搬送波などが含まれる。非一時的媒体には、磁気媒体（例えば、ディスクおよびテープ）、光媒体（例えば、ＣＤ−ＲＯＭ、デジタルビデオディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク）、固体媒体（例えば、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ソリッドステートストレージ）、および他の不揮発性ストレージまたはメモリが含まれる。
【０１２６】
コンピューティングデバイス９０５を、いくつかの例示的なコンピューティング環境において、技法、方法、アプリケーション、プロセス、またはコンピュータ実行可能命令を実装するために使用することができる。コンピュータ実行可能命令は、一時的媒体から検索され、非一時的媒体に記憶され、そこから検索され得る。実行可能命令を、プログラミング、スクリプティング、および機械語（例えば、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｐｙｔｈｏｎ、Ｐｅｒｌ、ＪａｖａＳｃｒｉｐｔ（登録商標）など）のうちの１つまたは複数から生成することができる。
【０１２７】
１つまたは複数のプロセッサ９１０は、ネイティブ環境または仮想環境において、任意のオペレーティングシステム（ＯＳ）（図示せず）下で実行することができる。論理ユニット９５５、アプリケーションプログラミングインタフェース（ＡＰＩ）ユニット９６０、入力ユニット９６５、出力ユニット９７０、アクティビティエンジン９７５、アクティビティ検出器９８０、意思決定支援システム９８５、およびフィードバックモジュール９９０を含む１つまたは複数のアプリケーションを配備することができる。
【０１２８】
例えば、入力ユニット９６５、アクティビティエンジン９７５、アクティビティ検出器９８０、意思決定支援システム９８５、およびフィードバックモジュール９９０は、図２、図４〜図５、および図８に示す１つまたは複数のプロセスを実施してもよい。説明されたユニットおよび要素は、設計、機能、構成、または実装において変更されることができ、提供される説明に限定されない。
【０１２９】
いくつかの例示的実装形態では、情報または実行命令がＡＰＩユニット９６０によって受信されると、１つまたは複数の他のユニット（例えば、論理ユニット９５５、出力ユニット９７０、入力ユニット９６５、アクティビティエンジン９７５、アクティビティ検出器９８０、意思決定支援システム９８５、およびフィードバックモジュール９９０）に通信されてもよい。
【０１３０】
入力ユニット９６５は、ＡＰＩユニット９６０を介して、アクティビティエンジン９７５およびアクティビティ検出器９８０と対話して、アクティビティに関連する入力情報を提供してもよい。ＡＰＩユニット９６０を使用して、意思決定支援システム９８５は、アクティビティのパターンを識別するために情報を分析し、回復計画を実行するためにリダイレクトするユーザのためのカスタマイズされた推奨モデルを生成することができる。フィードバックモジュール９９０は、例えば、更新された情報でカスタマイズされたモデルを改良してもよい。
【０１３１】
いくつかの例では、論理ユニット９５５は、ユニット間の情報フローを制御し、上述のいくつかの例示的実装形態におけるＡＰＩユニット９６０、入力ユニット９６５、出力ユニット９７０、入力ユニット９６５、アクティビティエンジン９７５、アクティビティ検出器９８０、意思決定支援システム９８５、およびフィードバックモジュール９９０によって提供されるサービスを指示するように構成されてもよい。例えば、１つまたは複数のプロセスまたは実装のフローは、論理ユニット９５５によって単独で、またはＡＰＩユニット９６０と連携して制御されてもよい。
【０１３２】
図１０は、いくつかの例示的実装形態に適した例示的な環境を示している。環境１０００は、デバイス１００５〜１０５０を含み、それぞれは、例えばネットワーク１０６０を介して（例えば、有線および／または無線接続によって）少なくとも１つの他のデバイスに通信可能に接続される。いくつかのデバイスは、１つまたは複数のストレージデバイス１０３０および１０４５に通信可能に接続されてもよい。
【０１３３】
１つまたは複数のデバイス１００５〜１０５０の例は、それぞれ、図９に関して記載されるコンピューティングデバイス９０５であってもよい。デバイス１００５〜１０５０は、ディスプレイと、上述したような関連するウェブカメラとを有するコンピュータ１００５（例えば、ラップトップのコンピューティングデバイス）、モバイル機器１０１０（例えば、スマートフォンまたはタブレット）、テレビ１０１５、車両に関連するデバイス１０２０、サーバコンピュータ１０２５、コンピューティングデバイス１０３５〜１０４０、ストレージデバイス１０３０および１０４５を含んでもよいが、これらに限定されるものではない。上述したように、ユーザの会議環境はさまざまであってもよく、オフィス環境に限定されない。
【０１３４】
いくつかの実装形態では、デバイス１００５〜１０２０、１０５０は、企業のユーザに関連するユーザデバイスとみなされてもよい。デバイス１０２５〜１０５０は、（例えば、ユーザまたは管理者が、図１〜図２に関して上述したようなサービスを提供するのに使用するか、検知データ、ピンポイントデータ、環境データ、ウェブページ、テキスト、テキスト部分、画像、画像部分、オーディオ、オーディオセグメント、ビデオ、ビデオセグメント、および／またはその情報などのデータを格納するのに使用する）クライアントサービスに関連するデバイスであってもよい。
【０１３５】
詳細な説明の一部は、コンピュータ内の動作のアルゴリズムおよび記号表現に関して提示される。これらのアルゴリズム記述および記号表現は、データ処理技術分野の当業者が、技術革新の本質を他の技術分野の当業者に伝えるために使用する手段である。アルゴリズムは、所望の終了状態または結果をもたらす一連の定義操作である。例示的実装形態では、実行される操作は、具体的な結果を達成するための明確な物理的操作を必要とする。
【０１３６】
特に断りのない限り、説明から明らかなように、説明を通じて、「受信する」、「分析する」、「決定する」、「生成する」、「識別する」、「指示する」、「検出する」、「提供する」、「適用する」、「取得する」、「監視する」などの用語を使用した考察が、コンピュータシステムのレジスタおよびメモリ内の物理（電子）量として表されるデータを、コンピュータシステムのメモリもしくはレジスタまたは他の情報記憶、伝送もしくは表示デバイス内の物理量として同様に表される他のデータに操作して変換する、コンピュータシステムまたは他の情報処理デバイスの動作および処理を含むことができることを理解されたい。
【０１３７】
また、例示的実装形態は、本明細書の動作を実行するための装置に関連してもよい。この装置は、必要な目的のために特に構成されてもよく、または１つまたは複数のコンピュータプログラムによって選択的に起動または再構成された１つまたは複数の汎用コンピュータを含んでもよい。このようなコンピュータプログラムは、コンピュータ可読記憶媒体またはコンピュータ可読信号媒体などのコンピュータ可読媒体に格納されてもよい。
【０１３８】
コンピュータ可読記憶媒体は、光ディスク、磁気ディスク、読み出し専用メモリ、ランダムアクセスメモリ、固体デバイスおよびドライブなどの有形媒体、または電子情報を格納するのに適した任意の他のタイプの有形媒体または非一時的媒体を含んでもよいが、これらに限定されるものではない。コンピュータ可読信号媒体は、搬送波などの媒体を含んでもよい。本明細書で提示されたアルゴリズムおよびディスプレイは、任意の特定のコンピュータまたは他の装置に本質的に関連するものではない。コンピュータプログラムは、所望の実装形態の動作を実行する命令を含む純粋なソフトウェア実装を含むことができる。
【０１３９】
さまざまな汎用システムが、本明細書の例に従ってプログラムおよびモジュールと共に使用されてもよく、所望の方法の動作を実行するためにより特化した装置を構築することが好都合であると判明するかもしれない。また、例示的実装形態は、任意の特定のプログラミング言語を参照して説明されていない。本明細書に記載される例示的実装形態の教示を実施するためにさまざまなプログラミング言語が使用されてもよいことが理解されよう。１つまたは複数のプログラミング言語の命令は、１つまたは複数の処理デバイス、例えば、中央処理装置（ＣＰＵ）、プロセッサ、またはコントローラによって実行されてもよい。
【０１４０】
当該技術分野で知られているように、上述の動作を、ハードウェア、ソフトウェア、またはソフトウェアとハードウェアのいくつかの組み合わせによって実行することができる。例示的実装形態のさまざまな態様は、回路および論理デバイス（ハードウェア）を使用して実装されてもよく、他の態様は、機械可読媒体（ソフトウェア）に格納された命令を使用して実装されてもよく、この命令は、プロセッサによって実行された場合、プロセッサに、本出願の実装形態を実行する方法を実施させる。
【０１４１】
また、本出願のいくつかの例示的実装形態は、ハードウェアでのみ実行されてもよく、他の例示的実装形態は、ソフトウェアでのみ実行されてもよい。更に、説明されたさまざまな機能を、単一のユニットで実行することができ、または、任意の数の方法で複数のコンポーネントにわたって分散させることができる。ソフトウェアによって実行される場合、方法は、コンピュータ可読媒体に格納された命令に基づいて、汎用コンピュータなどのプロセッサによって実行されてもよい。必要に応じて、命令を、圧縮されたおよび／または暗号化されたフォーマットで媒体に格納することができる。
【０１４２】
例示的実装形態は、関連技術に対してさまざまな相違点および利点を有するかもしれない。例えば、限定ではないが、関連技術に関して上述したようなＪａｖａＳｃｒｉｐｔ（登録商標）でウェブページを記述することと対照的に、テキストおよびマウス（例えば、ポインティング）動作がビデオ文書で検出され分析されてもよい。
【０１４３】
更に、本出願の他の実装形態は、本明細書の留意事項および本出願の教示の実施から当業者には明らかとされよう。記載された例示的実装形態のさまざまな態様および／または構成要素は、単独で、または任意の組み合わせで使用されてもよい。本明細書および例示的実装形態は、単なる例として考えられ、本出願の真の範囲および趣旨は、添付の特許請求の範囲によって示されることが意図されている。
【符号の説明】
【０１４４】
９１０  プロセッサ
９１５  メモリ
【図１】
2018113014.tif 000003
【図２】
2018113014.tif 000004
【図３】
2018113014.tif 000005
【図４】
2018113014.tif 000006
【図５】
2018113014.tif 000007
【図６Ａ】
2018113014.tif 000008
【図６Ｂ】
2018113014.tif 000009
【図７Ａ】
2018113014.tif 000010
【図７Ｂ】
2018113014.tif 000011
【図８】
2018113014.tif 000012
【図９】
2018113014.tif 000013
【図１０】
2018113014.tif 000014