(57)【要約】【課題】ユーザが関わるアクティビティによって凝視を分類及びグループ化する。【解決手段】インターフェイスデバイスを用いてコンピュータとインタラクションしているユーザのアイトラッキングデータを受信する。インターフェイスデバイスからユーザインタラクションデータを受信する。シーケンスの凝視の各々について、凝視の１つもしくは複数の特性及び１つもしくは複数の受信したユーザインタラクションデータに基づくユーザインタラクション特徴を含む、凝視の複数の特徴を判定し、ユーザアクティビティラベルと凝視とを複数の特徴に従って関連付ける。ユーザアクティビティラベルはユーザアクティビティラベルの所定のセットから選択される。【選択図】図５
2015095260.tif 000002
【特許請求の範囲】
【請求項１】
１つもしくは複数のプロセッサ及びメモリを有するコンピュータが、
１つもしくは複数のユーザインターフェイスデバイスを用いてコンピュータとインタラクションしているユーザのアイトラッキングデータを受信し、
前記アイトラッキングデータは時間順に並んだ凝視シーケンスを含み、
凝視の各々は複数の連続する計測された注視点に対応し、
凝視の各々は対応する計測された注視点の各々に基づく継続時間及び位置を有し、
前記１つもしくは複数のユーザインターフェイスデバイスからユーザインタラクションデータを受信し、
前記シーケンスの凝視の各々について、
前記凝視の１つもしくは複数の特性及び１つもしくは複数の受信した前記ユーザインタラクションデータに基づくユーザインタラクション特徴を含む、前記凝視の複数の特徴を判定し、
ユーザアクティビティラベルと凝視とを前記複数の特徴に従って関連付け、
前記ユーザアクティビティラベルはユーザアクティビティラベルの所定のセットから選択される、
ユーザアクティビティラベルと凝視とを関連付ける方法。
【請求項２】
前記凝視の１つもしくは複数の特性は、
前記凝視の継続時間、
前記凝視に対応する前記連続する計測された注視点の間の距離の変動、
前記凝視の間に計測される前記ユーザの瞳孔サイズの変動、
の少なくとも１つを含む、
請求項１に記載の方法。
【請求項３】
前記複数の特徴は、
前記凝視の位置と前記凝視の直前の凝視の位置との間の距離、
前記凝視の位置と前記凝視の直後の凝視の位置との間の距離、
前記凝視の直前の凝視の継続時間、
前記凝視の直後の凝視の継続時間、
の１つもしくは複数のコンテキスト特徴を含む、
請求項１または２に記載の方法。
【請求項４】
前記１つもしくは複数のユーザインタラクション特徴は、
前記凝視の間のマウスカーソルの平均速度、
前記凝視の間の前記凝視の位置からマウスカーソルの位置までの平均距離、
前記凝視の間の１つもしくは複数のマウスボタンの状態、
前記凝視の間のマウスボタンが押下されている場合の前記凝視の位置とマウスカーソルの位置との間の距離、
の少なくとも１つを含む、
請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記ユーザアクティビティラベルの所定のセットは、調べる、読む、ナビゲート、選択、入力、の少なくとも１つを含む、
請求項１〜４のいずれか１項に記載の方法。
【請求項６】
ユーザアクティビティラベルと凝視とは、機械学習を用いて関連付けられる、
請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記ユーザインターフェイスデバイスはキーボード及びマウスを含み、
前記ユーザインタラクション特徴は、キーボードアクティビティに基づく特徴及びマウスアクティビティに基づく特徴を含む、
請求項１〜３のいずれか１項に記載の方法。
【請求項８】
コンピュータユーザインターフェイスを修正するための１つもしくは複数の推奨を生成するための前記凝視及び関連付けられたユーザアクティビティラベルを分析することをさらに含む、
請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記コンピュータは、複数の別個の隣接する領域を有するページを表示し、
前記凝視を複数のクラスタに分割し、
クラスタの各々は時間順に並んだ前記凝視の連続するサブシーケンスを含み、
前記凝視を複数のグループに分割するために、同一のユーザアクティビティラベルを割り当てられた連続する凝視をグループ化し、
クラスタの各々に適合するグループの各々について、グループの各々の凝視の各々に割り当てられた最終ユーザアクティビティラベルとして割り当てられたユーザアクティビティラベルを維持し、
前記領域を用いて、不適合グループの凝視を含む非重畳改変グループのセットを形成するために、不適合グループと不適合クラスタとを調整し、
改変グループの凝視の各々はユーザアクティビティラベルの所定のセットから選択された同一の最終ユーザアクティビティラベルを割り当てられる、
請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
前記凝視を複数のクラスタに分割することは、前記クラスタを構築するために、時間順で最初の凝視を含む最初のクラスタから開始し、時間順に並んだ前記凝視を処理することを含み、
前記最初の凝視の後、凝視の各々について、
前記凝視から直前の凝視までの距離が第１の所定距離より短い場合、直前の凝視を含むクラスタに凝視を追加し、
前記凝視から直前の凝視を含むクラスタの凝視のいずれかまでの距離が第２の所定距離より短い場合、前記凝視を前記クラスタに追加し、
前記凝視から直前の凝視までの距離が第１の所定距離以上であり、前記凝視から直前の凝視を含むクラスタの凝視のいずれかまでの距離が第２の所定距離以上である場合、前記凝視を含む新しいクラスタを生成する、
請求項９に記載の方法。
【請求項１１】
不適合グループと不適合クラスタとを調整することは、
不適合境界のセットを識別し、
不適合境界のセットの境界の各々はグループの各々の境界であるがいずれかのクラスタの境界ではないか、もしくは、クラスタの各々の境界であるがいずれかのグループの境界ではなく、
不適合境界のセットの境界の各々について、
前記境界を維持するための維持コストの各々を計算し、
前記境界を除去するための除去コストの各々を計算し、
最も低いコストを選択することに基づいて、前記境界を維持するか、もしくは、除去し、
不適合境界のセットで維持された境界に基づいて改変グループのセットを識別し、
改変グループの各々の凝視の各々に割り当てられた最も優勢なユーザアクティビティラベルに基づいて改変グループの各々の凝視に最終ユーザアクティビティラベルを割り当てる、
請求項９または１０に記載の方法。
【請求項１２】
境界の前記維持コスト及び除去コストは、
改変グループのサイズ、
改変グループの凝視の継続時間、
境界の両側の凝視に割り当てられたユーザアクティビティラベル、
境界の両側の凝視に対応する領域、
領域のサイズ、
の少なくとも１つに基づく、
請求項１１に記載の方法。
【請求項１３】
１つもしくは複数のプロセッサと、
メモリと、
前記メモリに記憶された１つもしくは複数のプログラムと、
を含み、
前記１つもしくは複数のプログラムは、
１つもしくは複数のユーザインターフェイスデバイスを用いてコンピュータとインタラクションするユーザのアイトラッキングデータを受信し、
前記アイトラッキングデータは時間順に並んだ凝視のシーケンスを含み、
凝視の各々は連続する計測された複数の注視点の各々に対応し、
凝視の各々は、対応する計測された注視点の各々に基づく継続時間及び位置を有し、
１つもしくは複数のユーザインターフェイスデバイスからユーザインタラクションデータを受信し、
シーケンスの各々の凝視について、
１つもしくは複数の凝視の特性及び受信したユーザインタラクションデータに基づく１つもしくは複数のユーザインタラクション特徴を含む凝視の複数の特徴を判定し、
複数の特徴に従ってユーザアクティビティラベルと凝視とを関連付け、
前記ユーザアクティビティラベルはユーザアクティビティラベルの所定のセットから選択される、
ユーザアクティビティラベルと凝視とを関連付けるコンピュータシステム。
【請求項１４】
前記凝視の１つもしくは複数の特性は、
前記凝視の継続時間、
前記凝視に対応する連続する計測された注視点の間の距離の変動、
前記凝視の間に計測された前記ユーザの瞳孔サイズの変動、
の少なくとも１つを含む、
請求項１３に記載のコンピュータシステム。
【請求項１５】
前記複数の特徴は、
前記凝視の位置と直前の凝視の位置との間の距離、
前記凝視の位置と直後の凝視の位置との間の距離、
直前の凝視の継続時間、
直後の凝視の継続時間、
の１つもしくは複数であるコンテキスト特徴を含む、
請求項１３または１４に記載のコンピュータシステム。
【請求項１６】
前記１つもしくは複数のユーザインタラクション特徴は、
前記凝視の間のマウスカーソルの平均速度、
前記凝視の間の前記凝視の位置からマウスカーソルまでの平均距離、
前記凝視の間の１つもしくは複数のマウスボタンの状態、
前記凝視の間、マウスボタンが押下されている場合の前記凝視の位置とマウスカーソルの位置との間の距離、
の少なくとも１つを含む、
請求項１３〜１５のいずれか１項に記載のコンピュータシステム。
【請求項１７】
ユーザアクティビティラベルの所定のセットは、調べる、読む、ナビゲート、選択及び入力の少なくとも１つを含む、
請求項１３〜１６のいずれか１項に記載のコンピュータシステム。
【請求項１８】
前記ユーザインターフェイスデバイスはキーボード及びマウスを含み、
前記ユーザインタラクション特徴はキーボードアクティビティに基づく特徴及びマウスアクティビティに基づく特徴を含む、
請求項１３〜１５のいずれか１項に記載のコンピュータシステム。
【請求項１９】
前記コンピュータシステムは別個の隣接する複数の領域を有するページを表示し、
前記１つもしくは複数のプログラムは、さらに、
複数のクラスタに前記凝視を分割し、
クラスタの各々は時間順に並んだ前記凝視の連続するサブシーケンスを含み、
前記凝視を複数のグループに分割するために同一のユーザアクティビティラベルを割り当てられた連続する凝視をグループ化し、
クラスタの各々と適合するグループの各々について、グループの各々の凝視の各々に割り当てられた最終ユーザアクティビティラベルとして割り当てられたユーザアクティビティラベルを維持し、
不適合グループの凝視を含む非重畳改変グループのセットを形成するために、領域を用いて、不適合クラスタと不適合グループとを調整し、
改変グループの凝視の各々はユーザアクティビティラベルの所定のセットから選択された同一の最終ユーザアクティビティラベルを割り当てられる、
請求項１３〜１８のいずれか１項に記載のコンピュータシステム。
【請求項２０】
１つもしくは複数のユーザインターフェイスデバイスを用いてコンピュータとインタラクションするユーザのアイトラッキングデータを受信し、
前記アイトラッキングデータは時間順に並んだ凝視のシーケンスを含み、
凝視の各々は複数の連続する継続された注視点の各々に対応し、
凝視の各々は対応する計測された注視点の各々に基づく継続時間及び位置を有し、
１つもしくは複数のユーザインターフェイスデバイスからユーザインタラクションを受信し、
前記シーケンスの凝視の各々について、
前記凝視の１つもしくは複数の特性及び受信したユーザインタラクションデータに基づく１つもしくは複数のユーザインタラクション特徴を含む前記凝視の複数の特徴を判定し、
前記複数の特徴に従って、ユーザアクティビティラベルと前記凝視とを関連付け、
前記ユーザアクティビティラベルはユーザアクティビティラベルの所定のセットから選択される、
ことをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、ユーザアクティビティラベルと凝視とを関連付ける方法、コンピュータシステム、及びプログラムに関する。
【背景技術】
【０００２】
ユーザがユーザインターフェイスとインタラクションし、もしくは、印刷されたページを読む場合、ユーザは、読むこと、選択すること、画像の複数の部分を調べること、などを含む一連のアクティビティに関わっている。アイトラッキング技術のいくつかは、ユーザが注意を払うものをキャプチャすることが可能である。すなわち、ユーザがテキストを読んでいるか否か識別することが可能である。しかしながら、この識別プロセスはテキストに限定され、目の動きだけに依存する。より詳細にユーザのアクティビティを理解するためには、より詳細な分析が必要である。アイトラッキングデータが有する問題の１つは、ランダムな変動（すなわち、雑音）を多く含むことである。このため、現在のアイトラッキング技術から正確なデータを取得することは不可能である。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ビエデルト（BIEDERT）、「ロバストリアルタイムリーディング−スキミング分類子（A Robust Realtime Reading-Skimming Classifier）」、ドイツ人工知能研究センター（German Research Center for Artificial Intelligence）、２０１２年３月２８日〜３０日、頁８
【非特許文献２】ブリング（BULLING）、「アイコンテキスト：人間の視覚的な振る舞いからの高レベルコンテキストキューの認識（EyeContext: Recognition of High-Level Contextual Cues from Human Visual Behavior）」、２０１３年４月２７日〜５月２日、頁４
【非特許文献３】ブリング（BULLING）、「電気眼球図記録を用いたアクティビティ認識のための目の動きの分析（Eye Movement Analysis for Activity Recognition Using Electrooculography）」、パターン分析及び機械知能に関するＩＥＥＥ議事録（IEEE Transactions on Pattern Analysis and Machine Intelligence）、Vol.33 No.4 ２０１１年４月、頁１３
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、現在のアイトラッキング技術は、人が見ているもの、もしくは、人が行っていること、の検出に十分な信頼性を有していない。
開示の技術は、テキストを読む、画像を見る、キーボードから文字を入力する、もしくは、ユーザインターフェイスコンポーネントとインタラクションする、などのユーザが関わるアクティビティによって凝視を分類及びグループ化するシステム及び方法について記載する。
【課題を解決するための手段】
【０００５】
本発明の第１の態様は、ユーザアクティビティラベルと凝視とを関連付ける方法であって、１つもしくは複数のプロセッサ及びメモリを有するコンピュータが、１つもしくは複数のユーザインターフェイスデバイスを用いてコンピュータとインタラクションしているユーザのアイトラッキングデータを受信し、前記アイトラッキングデータは時間順に並んだ凝視シーケンスを含み、凝視の各々は複数の連続する計測された注視点に対応し、凝視の各々は対応する計測された注視点の各々に基づく継続時間及び位置を有し、前記１つもしくは複数のユーザインターフェイスデバイスからユーザインタラクションデータを受信し、前記シーケンスの凝視の各々について、前記凝視の１つもしくは複数の特性及び１つもしくは複数の受信した前記ユーザインタラクションデータに基づくユーザインタラクション特徴を含む、前記凝視の複数の特徴を判定し、ユーザアクティビティラベルと凝視とを前記複数の特徴に従って関連付け、前記ユーザアクティビティラベルはユーザアクティビティラベルの所定のセットから選択される。
【０００６】
本発明の第２の態様は、第１の態様の方法であって、前記凝視の１つもしくは複数の特性は、前記凝視の継続時間、前記凝視に対応する前記連続する計測された注視点の間の距離の変動、前記凝視の間に計測される前記ユーザの瞳孔サイズの変動、の少なくとも１つを含む。
【０００７】
本発明の第３の態様は、第１または第２の態様の方法であって、前記複数の特徴は、前記凝視の位置と前記凝視の直前の凝視の位置との間の距離、前記凝視の位置と前記凝視の直後の凝視の位置との間の距離、前記凝視の直前の凝視の継続時間、前記凝視の直後の凝視の継続時間、の１つもしくは複数のコンテキスト特徴を含む。
【０００８】
本発明の第４の態様は、第１〜第３の態様のいずれかの方法であって、前記１つもしくは複数のユーザインタラクション特徴は、前記凝視の間のマウスカーソルの平均速度、前記凝視の間の前記凝視の位置からマウスカーソルの位置までの平均距離、前記凝視の間の１つもしくは複数のマウスボタンの状態、前記凝視の間のマウスボタンが押下されている場合の前記凝視の位置とマウスカーソルの位置との間の距離、の少なくとも１つを含む。
【０００９】
本発明の第５の態様は、第１〜第４の態様のいずれかの方法であって、前記ユーザアクティビティラベルの所定のセットは、調べる、読む、ナビゲート、選択、入力、の少なくとも１つを含む。
【００１０】
本発明の第６の態様は、第１〜第５の態様のいずれかの方法であって、ユーザアクティビティラベルと凝視とは、機械学習を用いて関連付けられる。
【００１１】
本発明の第７の態様は、第１〜第３の態様のいずれかの方法であって、前記ユーザインターフェイスデバイスはキーボード及びマウスを含み、前記ユーザインタラクション特徴は、キーボードアクティビティに基づく特徴及びマウスアクティビティに基づく特徴を含む。
【００１２】
本発明の第８の態様は、第１〜第７の態様のいずれかの方法であって、コンピュータユーザインターフェイスを修正するための１つもしくは複数の推奨を生成するための前記凝視及び関連付けられたユーザアクティビティラベルを分析することをさらに含む。
【００１３】
本発明の第９の態様は、第１〜第８の態様のいずれかの方法であって、前記コンピュータは、複数の別個の隣接する領域を有するページを表示し、前記凝視を複数のクラスタに分割し、クラスタの各々は時間順に並んだ前記凝視の連続するサブシーケンスを含み、前記凝視を複数のグループに分割するために、同一のユーザアクティビティラベルを割り当てられた連続する凝視をグループ化し、クラスタの各々に適合するグループの各々について、グループの各々の凝視の各々に割り当てられた最終ユーザアクティビティラベルとして割り当てられたユーザアクティビティラベルを維持し、前記領域を用いて、不適合グループの凝視を含む非重畳改変グループのセットを形成するために、不適合グループと不適合クラスタとを調整し、改変グループの凝視の各々はユーザアクティビティラベルの所定のセットから選択された同一の最終ユーザアクティビティラベルを割り当てられる。
【００１４】
本発明の第１０の態様は、第９の態様の方法であって、前記凝視を複数のクラスタに分割することは、前記クラスタを構築するために、時間順で最初の凝視を含む最初のクラスタから開始し、時間順に並んだ前記凝視を処理することを含み、前記最初の凝視の後、凝視の各々について、前記凝視から直前の凝視までの距離が第１の所定距離より短い場合、直前の凝視を含むクラスタに凝視を追加し、前記凝視から直前の凝視を含むクラスタの凝視のいずれかまでの距離が第２の所定距離より短い場合、前記凝視を前記クラスタに追加し、前記凝視から直前の凝視までの距離が第１の所定距離以上であり、前記凝視から直前の凝視を含むクラスタの凝視のいずれかまでの距離が第２の所定距離以上である場合、前記凝視を含む新しいクラスタを生成する。
【００１５】
本発明の第１１の態様は、第９または第１０の態様の方法であって、不適合グループと不適合クラスタとを調整することは、不適合境界のセットを識別し、不適合境界のセットの境界の各々はグループの各々の境界であるがいずれかのクラスタの境界ではないか、もしくは、クラスタの各々の境界であるがいずれかのグループの境界ではなく、不適合境界のセットの境界の各々について、前記境界を維持するための維持コストの各々を計算し、前記境界を除去するための除去コストの各々を計算し、最も低いコストを選択することに基づいて、前記境界を維持するか、もしくは、除去し、不適合境界のセットで維持された境界に基づいて改変グループのセットを識別し、改変グループの各々の凝視の各々に割り当てられた最も優勢なユーザアクティビティラベルに基づいて改変グループの各々の凝視に最終ユーザアクティビティラベルを割り当てる。
【００１６】
本発明の第１２の態様は、第１１の態様の方法であって、境界の前記維持コスト及び除去コストは、改変グループのサイズ、改変グループの凝視の継続時間、境界の両側の凝視に割り当てられたユーザアクティビティラベル、境界の両側の凝視に対応する領域、領域のサイズ、の少なくとも１つに基づく。
【００１７】
本発明の第１３の態様は、ユーザアクティビティラベルと凝視とを関連付けるコンピュータシステムであって、１つもしくは複数のプロセッサと、メモリと、前記メモリに記憶された１つもしくは複数のプログラムと、を含み、前記１つもしくは複数のプログラムは、１つもしくは複数のユーザインターフェイスデバイスを用いてコンピュータとインタラクションするユーザのアイトラッキングデータを受信し、前記アイトラッキングデータは時間順に並んだ凝視のシーケンスを含み、凝視の各々は連続する計測された複数の注視点の各々に対応し、凝視の各々は、対応する計測された注視点の各々に基づく継続時間及び位置を有し、１つもしくは複数のユーザインターフェイスデバイスからユーザインタラクションデータを受信し、シーケンスの各々の凝視について、１つもしくは複数の凝視の特性及び受信したユーザインタラクションデータに基づく１つもしくは複数のユーザインタラクション特徴を含む凝視の複数の特徴を判定し、複数の特徴に従ってユーザアクティビティラベルと凝視とを関連付け、前記ユーザアクティビティラベルはユーザアクティビティラベルの所定のセットから選択される。
【００１８】
本発明の第１４の態様は、第１３の態様のコンピュータシステムであって、前記凝視の１つもしくは複数の特性は、前記凝視の継続時間、前記凝視に対応する連続する計測された注視点の間の距離の変動、前記凝視の間に計測された前記ユーザの瞳孔サイズの変動、の少なくとも１つを含む。
【００１９】
本発明の第１５の態様は、第１３または第１４の態様のコンピュータシステムであって、前記複数の特徴は、前記凝視の位置と直前の凝視の位置との間の距離、前記凝視の位置と直後の凝視の位置との間の距離、直前の凝視の継続時間、直後の凝視の継続時間、の１つもしくは複数であるコンテキスト特徴を含む。
【００２０】
本発明の第１６の態様は、第１３〜第１５の態様のいずれかのコンピュータシステムであって、前記１つもしくは複数のユーザインタラクション特徴は、前記凝視の間のマウスカーソルの平均速度、前記凝視の間の前記凝視の位置からマウスカーソルまでの平均距離、前記凝視の間の１つもしくは複数のマウスボタンの状態、前記凝視の間、マウスボタンが押下されている場合の前記凝視の位置とマウスカーソルの位置との間の距離、の少なくとも１つを含む。
【００２１】
本発明の第１７の態様は、第１３〜第１６の態様のいずれかのコンピュータシステムであって、ユーザアクティビティラベルの所定のセットは、調べる、読む、ナビゲート、選択及び入力の少なくとも１つを含む。
【００２２】
本発明の第１８の態様は、第１３〜第１５の態様のいずれかのコンピュータシステムであって、前記ユーザインターフェイスデバイスはキーボード及びマウスを含み、前記ユーザインタラクション特徴はキーボードアクティビティに基づく特徴及びマウスアクティビティに基づく特徴を含む。
【００２３】
本発明の第１９の態様は、第１３〜第１８の態様のいずれかのコンピュータシステムであって、前記コンピュータシステムは別個の隣接する複数の領域を有するページを表示し、前記１つもしくは複数のプログラムは、さらに、複数のクラスタに前記凝視を分割し、クラスタの各々は時間順に並んだ前記凝視の連続するサブシーケンスを含み、前記凝視を複数のグループに分割するために同一のユーザアクティビティラベルを割り当てられた連続する凝視をグループ化し、クラスタの各々と適合するグループの各々について、グループの各々の凝視の各々に割り当てられた最終ユーザアクティビティラベルとして割り当てられたユーザアクティビティラベルを維持し、不適合グループの凝視を含む非重畳改変グループのセットを形成するために、領域を用いて、不適合クラスタと不適合グループとを調整し、改変グループの凝視の各々はユーザアクティビティラベルの所定のセットから選択された同一の最終ユーザアクティビティラベルを割り当てられる。
【００２４】
本発明の第２０の態様は、プログラムであって、１つもしくは複数のユーザインターフェイスデバイスを用いてコンピュータとインタラクションするユーザのアイトラッキングデータを受信し、前記アイトラッキングデータは時間順に並んだ凝視のシーケンスを含み、凝視の各々は複数の連続する継続された注視点の各々に対応し、凝視の各々は対応する計測された注視点の各々に基づく継続時間及び位置を有し、１つもしくは複数のユーザインターフェイスデバイスからユーザインタラクションを受信し、前記シーケンスの凝視の各々について、前記凝視の１つもしくは複数の特性及び受信したユーザインタラクションデータに基づく１つもしくは複数のユーザインタラクション特徴を含む前記凝視の複数の特徴を判定し、前記複数の特徴に従って、ユーザアクティビティラベルと前記凝視とを関連付け、前記ユーザアクティビティラベルはユーザアクティビティラベルの所定のセットから選択される。
【発明の効果】
【００２５】
開示の技術は、テキストを読む、画像を見る、キーボードから文字を入力する、もしくは、ユーザインターフェイスコンポーネントとインタラクションする、などのユーザが関わるアクティビティによって凝視を分類及びグループ化するシステム及び方法を提供することが可能である。
【図面の簡単な説明】
【００２６】
【図１Ａ】本発明の実装のいくつかが動作する環境を例示する。
【図１Ｂ】本発明の実装のいくつかが動作する環境を例示する。
【図２Ａ】本発明の実装のいくつかによって使用される凝視を判定するための方法を例示する。
【図２Ｂ】本発明の実装のいくつかによって使用される凝視を判定するための方法を例示する。
【図２Ｃ】本発明の実装のいくつかによる凝視を検出するプロセスを例示する。
【図２Ｄ】本発明の実装のいくつかによって使用される凝視を判定するための方法を例示する。
【図３】本発明の実装のいくつかによるコンピュータユーザインターフェイスの領域を例示する。
【図４】本発明の実装のいくつかによるコンピュータを例示するブロック図である。
【図５】本発明の実装のいくつかによって凝視を分類する方法を例示するフローチャートである。
【図６】本発明の実装のいくつかによって凝視を分類しグループ化するプロセスを例示する。
【図７Ａ】本発明の実装のいくつかによって凝視のクラスタと凝視のグループとが調整される方法を例示する。
【図７Ｂ】本発明の実装のいくつかによって凝視のクラスタと凝視のグループとが調整される方法を例示する。
【図７Ｃ】本発明の実装のいくつかによって凝視のクラスタと凝視のグループとが調整される方法を例示する。
【図７Ｄ】本発明の実装のいくつかによって凝視のクラスタと凝視のグループとが調整される方法を例示する。
【図８Ａ】本発明の実装のいくつかによって凝視を分類するプロセスを例示する。
【図８Ｂ】本発明の実装のいくつかによって凝視を分類するプロセスを例示する。
【図８Ｃ】本発明の実装のいくつかによって凝視を分類するプロセスを例示する。
【図８Ｄ】本発明の実装のいくつかによって凝視を分類するプロセスを例示する。
【発明を実施するための形態】
【００２７】
実装のいくつかにおいて、開示の技術は、コンピュータインターフェイスとインタラクションする間のユーザのアクティビティに関する詳細な情報を提供する。実装のいくつかにおいて、開示の技術は、ユーザリサーチのために、もしくはユーザインターフェイスデザインフィードバックのためにアイトラッキングデータを分析し、もしくは、ユーザの注目に関する情報を用いたインテリジェントユーザインターフェイスシステムを提供する。
【００２８】
実装のいくつかは、マーケティング資料などの印刷マテリアルの効果を評価するための開示された技術を使用する。これは、ユーザインターフェイスとインタラクションする場合にユーザが関わるアクティビティを理解するために有用である。この応用は、アイトラッキングデータ及びユーザ入力デバイス（例えば、マウス及びキーボード）から収集された情報を利用するユーザアクティビティを分類するためのシステム及び方法を記載する。
【００２９】
分類技術は、直接、ユーザリサーチのアイトラッキングデータを分析するソフトウェアに組み込まれ、あるいは、インテリジェントユーザインターフェイスシステムに組み込まれて、使用され得る。印刷マテリアル及びユーザインターフェイスは、テキスト、図、ユーザインターフェイスコントロールなど、異なる種類の情報を含むことがよくある。これらの異なる種類の情報を調べる場合、ユーザの注視は異なる注視パターンを示す。これらのパターンは識別され、分類され得る。
【００３０】
異なる情報コンテンツによって生成された領域と結合される場合、ユーザの注目及びアクティビティのより精細な評価が達成され得る。
【００３１】
情報が豊富なビジュアルコンテンツ（ユーザインターフェイス、ウェブページ及び電子ドキュメントなど）を評価する場合、関心領域が生成されることがよくある。関心領域は、予測されるアイトラッキングエラー内でユーザの注目をロバストに計測することが可能な程度に十分大きい。
【００３２】
アイトラッキングデータが、ユーザの注視と領域とを適切に関連付けることがたいへん困難となるため、小さい領域は避けられることがよくある。
【００３３】
既存のシステムのいくつかでは、関心領域（ＲＯＩ）は手によって生成されるが、表示されているコンテンツから（例えば、領域間のホワイトスペースの行及び列を用いて、）自動的に導出されてもよい。これらの領域は、異なる注視パターンを導き出すことを期待される異なる種類の情報を含んでもよい。ＲＯＩが自動的に生成されると、より大きくより一般的な領域がより小さくより詳細な領域を含むように、階層的に入れ子にされ得る。
【００３４】
単独で使用される場合、キーストローク及びマウスイベントはユーザが注目しているものを適切に示さない。いくつかの場合、キーストローク及びマウスイベントはユーザの注目と同期しない。例えば、ユーザはマウスを位置付けし、テキストのピースを読み続け、次に、選択するボタンを見ずに、マウスをクリックするかもしれない。
【００３５】
他の例では、ユーザはテキストを読んでいる間、もしくはページを検査している間、マウスを「停めて」いるかもしれない。従って、マウスに関する情報はユーザのアクティビティに関する情報を何ら提供しない。注視データはユーザが見ている場所を直接的に識別するので、注視データは、一般的に、キーストローク及びマウスイベントより、ユーザアクティビティの分類に適している。
【００３６】
実装のいくつかにおいて、６０以上の注視点が毎秒収集される。キーストローク及びマウスイベントによる補足的に注視データを補う開示の実装はよりよいデータを提供し得る。開示の技術は、印刷マテリアルもしくはウェブサイトの効果の評価など、ユーザリサーチのアイトラッキングデータを分析するソフトウェアにおいて使用され得る。これは、ユーザアクティビティ及び注目に関する詳細な情報を提供する。
【００３７】
例えば、開示の実装は、ユーザが重要な情報のピースを読んでいるのか、読まずに情報の位置を単に見ているのか、判定し得る。開示の技術は、ユーザアクティビティ及び注目に関して、デザイナ及びユーザビリティエキスパートに貴重なフィードバックを提供する。
【００３８】
実装のいくつかにおいて、アクティビティ分類はユーザアクティビティに関する詳細な情報を有するインテリジェントユーザインターフェイス（ＩＵＩ）を提供する。分類は適切なアクションもしくは情報に関する推奨を生成するか、もしくは、タスク効率が向上するようにユーザインタラクションをカスタマイズし得る。例えば、ユーザが重要な指示を読んでいないことをシステムが検出すると、システムはユーザに指示を読むように警告し得る。もしくは、製品Ｘの販売プロジェクトに関連するテキストを読み、画像を調べているユーザを検出すると、システムはこのトピックに関連する同様のドキュメント及びテキストのセグメントを示唆することが可能である。
【００３９】
実装のいくつかは、非効率的な振る舞いのパターンを検出し、特定のタスクを解決するより効率的な方法にユーザを導こうとするチューターシステムに開示の技術を使用する。
【００４０】
目が比較的静止している場合及び脳が情報を処理している場合、目の動きは凝視に分類され、目が凝視点から移動する場合、サッカードに分類され得る。サッカードの継続時間は短く（例えば、８０ｍ秒より短い）、凝視はより長い（一般的に、２５０ｍ秒程度であるが、８０ｍ秒〜１００ｍ秒程度に短い場合もある）。凝視識別アルゴリズムは注視データ点（例えば、毎秒６０個収集される）を凝視及びサッカードにグループ化する。
【００４１】
凝視の各々は継続時間及び位置（例えば、凝視の注視点の重心）を有する。凝視はグループ化され、凝視の位置、凝視と関連するユーザアクティビティ及び領域のコンテンツタイプによって領域と適合することが可能である。これにより、アイトラッキングデータのみを使用する場合よりもより詳細な分析が可能となる。
【００４２】
本発明の実装は、任意の標準的な凝視識別アルゴリズムを使用可能である。２つの一般的な凝視検出アルゴリズムのカテゴリはばらつきベースアルゴリズム（凝視における注視点の広がりを計測する）及び速度ベースアルゴリズム（注視点間の速度を計測する）である。アルゴリズムの両方のタイプにおいて、凝視が検出されたか否か判定する閾値がある（例えば、ばらつき閾値より小さいもしくは速度閾値より小さい）。
【００４３】
凝視の各々について、検出アルゴリズムは凝視の各々について位置及び継続時間を提供する。凝視に属さない注視データのサンプルは一般的に凝視検出アルゴリズムによって廃棄される。
【００４４】
本発明の実装のいくつかは、標準アルゴリズムの下で凝視とみなされないであろう注視点セグメントを考慮するように、標準凝視検出アルゴリズムを拡張する。疑似凝視は凝視検出アルゴリズムの基準に適合せず、継続時間がサッカードとしては長い、連続的な注視データ点のグループとして定義され得る。多くの疑似凝視は、標準的な凝視アルゴリズムにとって許容可能であるより多いノイズを含む。しかしながら、擬似凝視はスムースな追跡（例えば、ディスプレイ上の移動するドットなどの動きに目が追随する場合）もしくは他の有益なイベント（ユーザがマウスを移動するもしくはタイピングする場合に加わるノイズなど）を説明してもよい。
【００４５】
擬似凝視を維持する実装のいくつかは、注視点セグメントの各々に「有効性」を割り当てる。例えば、凝視の各々は有効性１を有し、擬似凝視は有効性０を有する。実装のいくつかにおいて、有効性は０（確実に無効）から１（確実に有効）までの連続する範囲に割り当てられる。実装のいくつかにおいて、たいへん低い見積もられた有効性（例えば、有効性が０．１より小さいもしくは０．２５より小さい）を有する凝視は廃棄される。これらの実装において、拡張されたアルゴリズムは標準的なアルゴリズムよりも多くの凝視を維持するが、あるレベルではやはり廃棄される。
【００４６】
説明を単純化するために、真の凝視のみを使用する実装について、用語「凝視」は真の凝視のみを示す。擬似凝視を含む実装について、用語「凝視」はより広く、真の凝視もしくは擬似凝視である注視点セグメントを含む。
【００４７】
いくつかの例において、用語「無効凝視」は擬似凝視を識別するために使用される。実装は、凝視の際に、実行されているアクティビティに基づいて凝視の各々を分類する。この分類は、ヒューリスティックに行われてもよいし、もしくは、機械学習技術を用いることによって行われてもよい。いずれの場合でも、システムは凝視アクティビティクラスのモデルを利用する。凝視の各々について、凝視特徴の対応するセットが決定され、特徴はモデルと比較される。
【００４８】
特徴のセットは凝視自身の特性（例えば、継続時間もしくは推定有効性）、凝視コンテキスト（例えば、前後の凝視からの距離）及びユーザインターフェイスデバイスによって提供される情報（例えば、凝視の間のもしくは付近のキーボード及びマウスイベント）を含むことが可能である。最も適切な適合アクティビティラベルが凝視に割り当てられる。
【００４９】
実装のいくつかはアクティビティラベル「調べる」（理解するために意図的にコンテンツを見る）、「読む」、［ナビゲート」（マウスの移動を含み、要約するために情報の次のピースを探すもしくはＵＩの異なる部分に注意を移動する）、「パスに沿ってナビゲート」（新しい位置を示すグラフィックエレメントに追随する）、「選択」、［入力」を利用する。アクティビティ分類は、一般的に、注視から推測され得るアクティビティを含む。例えば、ページのどこかにある情報のピースを調べながらユーザがボタンをクリックすると、アクティビティラベルは「調べる」となる。
【００５０】
実装のいくつかは、ユーザのウィンドウ内での（スクロールボックスをドラッグする、もしくは、スクロールホイールを回転することによる）スクロールに対応するアクティビティラベル「スクロール」を含む。実装のいくつかは、アクションを実行するかしないかについてユーザが判定していることを示す「ジャッジ」を含む。実装のいくつかにおいて、アクティビティ分類は、サポートベクターマシン（ＳＶＭ）もしくはニューラルネットワークなどの標準機械学習方法を利用する。
【００５１】
アクティビティ分類の後、同一のアクティビティに関わる連続的な凝視のグループが生成される。これらのグループは２つの連続する凝視の分類されたアクティビティをチェックすることにより生成される。アクティビティが同一であれば、凝視は同一のグループに入る。連続的に進行し、次の凝視のアクティビティラベルが同一である限り、凝視は同一のグループに入る。アクティビティラベルが同一でなければ、新しいグループが生成され、処理は継続される。
【００５２】
ユーザが特定のアクティビティに関わっている場合、グループは期間を識別する。生成されるアクティビティグループはユーザインターフェイスの領域もしくは印刷ページに適切に適合しないかもしれないし、アクティビティの分類に誤りが生じるかもしれない。
【００５３】
実装のいくつかは、位置及び時間順だけに基づく凝視をクラスタ化する並行ステップを含む。後のステップにおいて、クラスタ及びグループが比較され、調整される。実装のいくつかは凝視クラスタを求める。クラスタは近くに位置する連続する凝視を含む。一般的に、実装は、凝視の時間順が維持されることを要求する。
【００５４】
実装のいくつかは、凝視パターンにおける「ドリフト」を許容する。例えば、ユーザが読む場合、凝視は明確に定義された中心点を有さず、左から右への短い距離を移動する。実装のいくつかは時間順に凝視を連続的に処理することによって凝視クラスタを構築する。
【００５５】
最初のステップにおいて、まず、最初の凝視を含むクラスタが形成される。続くステップの各々で、新しい凝視が検討され、検討された最後の凝視及び最後の凝視を含むクラスタと比較される。新しい凝視は最後の凝視を含むクラスタに含められるか、もしくは新しい凝視が新しい凝視を開始させる。
【００５６】
例えば、ユーザがページのテキストの部分を読んでいて、ページの他の領域に移動し、テキストの最初の部分に戻る場合、例えページの同一の位置であっても、後の凝視は最初の凝視と同一のクラスタに含まれない。新しい凝視が最後の凝視と第１の距離閾値内にある場合、新しい凝視はクラスタに追加される。
【００５７】
新しい凝視が最後の凝視と第１の距離閾値内にない場合、新しい凝視からクラスタの凝視の各々までの距離が計算され、新しい凝視からクラスタの凝視までの最短距離が第２の距離閾値より短い場合、新しい凝視はクラスタに追加される。新しい凝視からクラスタの凝視までの最短距離が第２の距離閾値より短くない場合、新しい凝視は新しいクラスタを開始する。実装のいくつかにおいて、第１の距離閾値及び第２の距離閾値は等しい。
【００５８】
実装のいくつかは併合及び調整ステップを含む。当該ステップにおいて、アクティビティグループ及び凝視クラスタは比較され調整される。アクティビティグループ及び凝視クラスタはセグメントタイプとみなされる。２つのセグメントタイプの境界は比較され、境界の各々を維持し、置き換え、除去することとコストとが関連付けられる。コストは、ヒューリスティックモデルに基づいて、もしくは、機械学習アルゴリズムから導出されるモデルに基づいて構築され得る。コストは、セグメントサイズ、セグメント数、セグメント内の凝視継続時間、セグメント周囲のアクティビティタイプ、ページ上の領域とセグメントの相対的位置、関連領域のサイズなどを含む多くのファクタに基づいてもよい。コストを最小化する構成が維持される。これにより、クラスタもしくはアクティビティグループへの調整が行われる。
【００５９】
実装のいくつかにおいて、グループ及びクラスタの全体構成が共に評価される。全体的に最も適切な結果（例えば、コストが最も低い）を有する構成が選択される。他の実装において、境界一つ毎に調整が連続的に実行される。境界の各々は、コストファンクションもしくは他の経験則によって維持もしくは廃棄され、アルゴリズムは次の境界に移動する。
【００６０】
実装のいくつかは境界を２つ以上ずつ処理するが、全ての境界を一度に処理しない。例えば、実装のいくつかはクラスタとアクティビティグループとが適合している境界の全てを識別する。次に、適合する境界の最も近いペアの間の全ての不適合の境界に調整処理が行われる。アクティビティのシーケンスのいくつかは、単一の凝視を見る場合、認識可能ではない高レベルアクティビティのサインであってよい。
【００６１】
実装のいくつかにおいて、アクティビティのシーケンスは、より高いレベルのアクティビティを示すパターンを見つけるために分析され、より高いレベルのアクティビティに結合され得る。例えば、短期間（例えば、３〜４の凝視）リーディングを含む、テキストをスキミングするアクティビティには、テキストの新しい部分へナビゲートするための凝視及び他の短期間リーディングが続く。
【００６２】
実装のいくつかは可能なより高いレベルのアクティビティを識別するためにストリングマイニング技術を利用する。アクティビティのモデルは保存され、以前求められ割り当てられたユーザアクティビティラベルと突き合わされる。アクティビティセグメントを解析することにより、突合せが行われる。この分析は、保存されたスキミングのサンプルもしくは他のより高いレベルのアクティビティを用いて効率的に実行され得る。
【００６３】
実装のいくつかは、アクティビティのシーケンスを用いるだけでなく、継続時間などのアクティビティの特性（もしくは凝視の特徴）を用いて、適合を判定する。予め計算されたアクティビティシーケンスに加えて、実装のいくつかは自動的によく生じるシーケンスを識別する。
【００６４】
実装のいくつかによれば、方法は１つもしくは複数のユーザインターフェイスデバイス（例えば、キーボード及びマウス）を用いてコンピュータユーザインターフェイスとインタラクションするユーザのユーザアクティビティを分類する。
【００６５】
方法は、１つもしくは複数のプロセッサ及びメモリを有するコンピュータシステムで実行される。コンピュータシステムはユーザのアイトラッキングデータを受信する。アイトラッキングデータは時間順に並んだ凝視のシーケンスを含む。凝視の各々は複数の連続する計測された注視点の各々に対応する。凝視は、凝視検出アルゴリズムを用いて、未処理注視点データから識別される。凝視の各々は、対応する計測された注視点の各々に基づく継続時間及び位置を有する。
【００６６】
シーケンスの凝視の各々について、コンピュータシステムは凝視の複数の特徴を判定する。特徴は１つもしくは複数の凝視の特性、前後の凝視に基づく１つもしくは複数のコンテキスト特徴、及び凝視の間もしくは凝視に近接する時間のユーザインターフェイスデバイスからの情報に基づく１つもしくは複数のユーザインタラクション特徴を含む。コンピュータシステムは複数の特徴によって凝視へのユーザアクティビティラベルを割り当てる。ユーザアクティビティラベルはユーザアクティビティラベルのセット（例えば、調べる、読む、ナビゲート、選択及び入力）から選択される。
【００６７】
実装のいくつかは割り当てを実行するために機械学習を利用する（例えば、サポートベクターマシン（ＳＶＭ）もしくはニューラルネットワーク）。コンピュータシステムは、次に、１つもしくは複数の推奨を行うために、凝視及び割り当てられたユーザアクティビティラベルを分析する。
【００６８】
実装のいくつかによれば、方法は複数の別個の隣接する領域を含むページ（例えば、複数の領域を有する印刷ページもしくは複数の領域を有するユーザインターフェイスウィンドウ）を見るユーザのユーザアクティビティを分類する。方法は１つもしくは複数のプロセッサ及びメモリを有するコンピュータシステムで実行される。コンピュータシステムはユーザの（例えば、注視点の形態の）アイトラッキングデータを受信する。アイトラッキングデータから時間順に並んだ凝視のシーケンスを検出し得る。凝視は凝視検出アルゴリズムを用いて未処理注視点データから識別される。凝視の各々は対応する注視点の各々に基づく継続時間及び位置を有する。
【００６９】
コンピュータシステムは複数のクラスタに凝視を分割する。クラスタの各々は時間順に並んだ凝視の連続するサブシーケンスを含む。加えて、コンピュータシステムは凝視の特徴もしくは特性（例えば、凝視自身の特性、凝視の各々のコンテキストを記述する特徴、及び凝視の間の１つもしくは複数のユーザインターフェイスデバイスの状態を示す特徴）のセットに基づいて凝視の各々に仮のユーザアクティビティラベルを割り当てる。ユーザアクティビティラベルはユーザアクティビティラベルの所定のセット（例えば、調べる、読む、選択、入力、ナビゲート、パスナビゲート）から選択される。
【００７０】
コンピュータシステムは、凝視を複数のグループに分割するために同一の仮のユーザアクティビティラベルを割り当てられた連続する凝視をグループ化する。クラスタの各々に適合するグループの各々について、コンピュータシステムはグループの各々の凝視の各々に割り当てられた最終ユーザアクティビティラベルとして仮のユーザアクティビティラベルを維持する。
【００７１】
コンピュータシステムは、不適合グループの凝視を含む非重畳改変グループセットを形成するために、領域を用いて、不適合グループと不適合クラスタとを調整する。改変グループの凝視の各々はユーザアクティビティラベルの所定のセットから選択される同一の最終ユーザアクティビティラベルを割り当てられる。コンピュータシステムは、１つもしくは複数の推奨を行うために凝視及び割り当てられた最終ユーザアクティビティラベルを分析する。
【００７２】
同様の参照符号は図面全体に亘って対応する要素を参照する。
【００７３】
図１Ａは、本発明の実装のいくつかが動作する環境を例示する。図１Ａにおいて、ユーザ１０２は、コンピュータモニタ１０８に表示されているコンピュータユーザインターフェイス１１２とインタラクションしている。ユーザ１０２はユーザの目１０４でユーザインターフェイス１１２を見て、キーボード１１４及びマウス１１６などの１つもしくは複数のユーザインターフェイスデバイスを用いて、ユーザインターフェイスとインタラクションする。ユーザ１０２の目の動きを追跡するために、様々なアイトラッキングデバイスを使用することが可能である。例えば、実装のいくつかは、コンピュータモニタ１０８に装着可能な赤外線カメラ１０６及び赤外線光の組み合わせを含む。
【００７４】
実装のいくつかは、赤外線光を利用しないカメラを使用する。一般的に、カメラは、最も適切に目を含むビューを取得するために、モニタの下方に装着されている。実装のいくつかは、カメラ１０６と別個の赤外線光とを利用するが、アイトラッキングの正確さを最高にするために、一般的に、カメラ１０６と赤外線光とは近接させられる。
【００７５】
図１Ｂは、本発明の実装のいくつかが動作する図１Ａとは異なる環境を例示する。この実装において、ユーザ１０２は、コンピュータモニタ１０８に表示されているのではない印刷ページ１２０を見ている。この実装では、ユーザは、目の動きを追跡するための１つもしくは複数のデジタルイメージセンサを含む、特殊な眼鏡１１８を装着している。
【００７６】
実装のいくつかにおいて、眼鏡１１８は、後述する分類タスクを実行するコンピューティングデバイスである。他の実装では、眼鏡１１８はデータを収集し、収集したデータを別個のコンピューティングデバイスに（例えば、ＷｉＦｉ接続を介して）転送する。実装のいくつかにおいて、眼鏡１１８は、目の動きを追跡するために使用される赤外線光を含む。アイトラッキング眼鏡の例は、トビーテクノロジー社のトビーグラスアイトラッカー（登録商標）を含む。
【００７７】
印刷ページ１２０は、テキスト領域１３０−１及び１３０−３、及び画像領域１３０−２及び１３０−４を含む、複数の別個の領域１３０を含む。アイトラッキングには多くの異なる技術が使用されており、ここで開示される技術はいずれか特定のアイトラッキング技術に依存しない。
【００７８】
アイトラッキングの技術の一つは、図２Ａ、図２Ｂ及び図２Ｄに例示する赤外線光の角膜反射を利用する。図２Ａ及び図２Ｂは、グリント（明るい領域）２０４及び瞳孔２０２を含む同一の目１０４を例示する。図２Ａで、アイトラッキングデバイスは水平グリント位置２０６及び水平瞳孔位置２０８Ａを識別し、瞳孔オフセット２１０Ａを計算する。
【００７９】
図２Ｂで、グリント２０４は同一の水平グリント位置２０６を有し、水平瞳孔位置２０８Ｂは変化している。新しい瞳孔オフセット２１０Ｂは図２Ａのオフセット２１０Ａよりも長い。デバイスは、目１０４が見ている位置を追跡することが可能である。同様の技術を（図示しない）垂直方向のオフセットにも適用することが可能である。
【００８０】
図２Ｄは、実際の人の同じ目１０４、瞳孔２０２及びグリント２０４を示す。図２Ｃの上図は、アイトラッキングデバイスによって収集された未処理データを例示する。ユーザ１０２は、印刷ページ１２０上のもしくはユーザインターフェイスページ１１２上の領域４４２の部分２１０のテキストを読んでいる。
【００８１】
アイトラッキングデバイスは、一般的に、一定頻度（例えば、６０注視点毎秒）で計測値を収集し、瞬間的な注視点２１２を識別する。人の注視は、目が比較的静止している期間である凝視と、目がより早く動いている凝視と凝視との間の期間であるサッカードと、に分離することが可能である。経験的なデータに基づけば、凝視は、一般的にサッカードよりも長い。凝視は、最短継続時間が８０ミリ秒〜１００ミリ秒、一般的には、約２５０ミリ秒であり、サッカードは、一般的に８０ミリ秒より短い。
【００８２】
図２Ｃの下図に例示するように、凝視検出アルゴリズムは注視点２１２を採取し、凝視２１４を決定する。図２Ｃの下図において、凝視２１４−１、２１４−２、２１４−３、２１４−４、及び２１４−５の５個がラベル付けされる。注視点２１２の全てが凝視２１４に割り当てられるのではない。例えば、図２Ｃの下図の注視点２１２−１はいずれの凝視にも割り当てられない。
【００８３】
凝視の注視点は時間的に連続している。凝視を識別するアルゴリズムは、一般的に、ばらつきベース（すなわち、凝視の注視点のばらつきはあまり大きくなり得ない）もしくは速度ベース（すなわち、連続する注視点の間の速度はあまり速くなり得ない）である。これらの技術の双方は、注視点がばらつきもしくは速度に使用される閾値に適合しない場合、いくつかのデータを廃棄するように導き得る。
【００８４】
図３は、ユーザインターフェイスウィンドウもしくはウェブページ１１２の領域３０２を例示する。このウィンドウ１１２において、メニューバー３０２−１及びツールバー３０２−２があり、これらのバーは、一般的に、所定のタスクを実行するための小さいグラフィックアイコン（例えば、「保存」アイコンもしくは「印刷」アイコン）を含む。さらに、タイトル領域３０２−３、複数のボタン領域３０２−６、３０２−７、３０２−８、３０２−９を含む。ウィンドウの多くは、領域３０２−４、３０２−５、３０２−１０、３０２−１２などのテキスト領域を含む。ユーザインターフェイスウィンドウ１１２は、一般的に、領域３０２−１１、３０２−１３、３０２−１４などのような画像領域を含む。領域３０２は、手動で識別されてもよいし、コンピュータアルゴリズムを用いて識別されてもよい。
【００８５】
図４は、実装のいくつかによる、コンピュータデバイス４００を例示するブロック図である。コンピューティングデバイス４００は、デジタル画像センサ４１６を含むデスクトップコンピュータ、ラップトップコンピュータ、モバイルデバイス、もしくは、リモートセンサによって収集された凝視データ（もしくは未処理注視データ）へアクセス可能なサーバコンピュータであってよい。コンピューティングデバイス４００は、一般的に、１つもしくは複数の処理ユニット（ＣＰＵ）４０２、１つもしくは複数のネットワークもしくは他の通信インターフェイス４０４、メモリ４１８、及びこれらの構成要素を相互に接続する１つもしくは複数の通信バス４１２を含む。通信バス４１２はシステム構成要素間の通信を相互に接続し制御する回路（チップセットともいう）を含んでいてもよい。
【００８６】
コンピューティングデバイス４００は、ディスプレイデバイス４０８（例えば、ディスプレイスクリーン１０８）を含むユーザインターフェイス４０６及び入力デバイス／機構４１０（例えば、キーボード１１４、マウス１１６、タッチスクリーン、物理的ボタンなど）を含むユーザインターフェイス４０６を含んでもよい。
【００８７】
実装のいくつかにおいて、コンピューティングデバイス４００は、目の動きを追跡するために使用される赤外線光４１４を含む。コンピューティングデバイス４００は、ユーザの目１０４の画像をキャプチャするために使用されるデジタル画像センサ４１６を含む。
【００８８】
実装のいくつかにおいて、デジタル画像センサ４１６は赤外範囲の画像を撮影するが、他の実装では、デジタル画像センサ４１６はスペクトルの可視部分の画像を撮影する。実装のいくつかにおいて、赤外線光４１４及び／もしくはデジタル画像センサ４１６はコンピューティングデバイス４００から離隔して配置されている。
【００８９】
メモリ４１８は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭもしくは他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含む。また、メモリ４１８は、１つもしくは複数の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイスもしくは他の不揮発性ソリッドステートストレージデバイスなどの不揮発性メモリを含んでもよい。メモリ４１８は、ＣＰＵ４０２から離隔して配置される１つもしくは複数のストレージデバイスを含んでいてもよいが、必須ではない。メモリ４１８、もしくは、代替的に、メモリ４１８の不揮発性メモリデバイスは、コンピュータ可読記録媒体を含む。
【００９０】
実装のいくつかにおいて、メモリ４１８は以下のプログラム、モジュール及びデータ構造もしくはプログラム、モジュール及びデータ構造のサブセットを記憶する。
●オペレーティングシステム４２０。オペレーティングシステム４２０は、様々な基本システムサービスを扱うためのプロシージャ及びハードウェア依存タスクを実行するためのプロシージャを含む。
【００９１】
●通信モジュール４２２。通信モジュール４２２は、（有線もしくは無線の）１つもしくは複数の通信インターフェイス４０４及びインターネット、他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンネットワークなどの１つもしくは複数の通信ネットワークを介して他のコンピュータシステムとコンピューティングデバイス４００とを接続するために使用される。
【００９２】
●ユーザインターフェイスモジュール４２４。ユーザインターフェイスモジュール４２４は入力デバイス４１０を介してユーザからコマンドを受信し、ディスプレイデバイス４０８のユーザインターフェイスオブジェクトを生成する。
【００９３】
●ウェブブラウザ４２６。ウェブブラウザ４２６は、リソース、ウェブページ及びウェブアプリケーションへの通信ネットワークを介したユーザのアクセスを可能とする。
【００９４】
●凝視検出モジュール４２８。凝視検出モジュール４２８は、注視点２１２を収集し（図２Ｃの上図）、凝視２１４のセットを識別する（図２Ｃの下図）。凝視検出モジュールは、一般的に、ばらつきアルゴリズムもしくは速度アルゴリズムを使用する。実装のいくつかにおいて、基本凝視検出アルゴリズムは凝視の各々に関連する有効性計測値を出力するように拡張される。実装のいくつかにおいて、拡張凝視検出アルゴリズムはより多くの「凝視」を出力する。擬似凝視が真の凝視と共に含まれるためである。
【００９５】
●凝視分類モジュール４３０。凝視分類モジュール４３０については、図５、図８Ａ〜８Ｄに関連して以下で詳述する。
【００９６】
●凝視クラスタ化モジュール４３２。凝視クラスタ化モジュール４３２は、図６、図８Ａ〜８Ｄに関連して以下で詳述する。
【００９７】
●併合・適合モジュール４３４。併合・適合モジュール４３４は、凝視分類モジュール４３０によって決定される凝視グループ４５２と、凝視クラスタ化モジュール４３２によって決定されるクラスタ４５４と、を結合する。併合・適合モジュール４３４は、凝視クラスタ４５４及び凝視グループ４５２の間の不適合の調整を支援するために領域４４２を利用する。併合・適合モジュール４３４については、図６、図７Ａ〜７Ｄ、図８Ａ〜８Ｄに関連して以下で詳述する。
【００９８】
●アクティビティシーケンスモジュール４３６。アクティビティシーケンスモジュール４３６は、調整されたアクティビティ分類を利用し、より低いレベルのユーザアクティビティのより長いパターンに基づいて、より高いレベルのアクティビティを識別する（例えば、領域のテキストの他の部分への動きがところどころにあるリーディングの短いスティント（割り当てられた仕事）に基づいて領域４４２のテキストのユーザによるスキミングを識別する）。アクティビティシーケンスモジュール４３６は、図６、図８Ａ〜８Ｄに関連して、以下で詳述する。
【００９９】
●１つもしくは複数のデータベース４３８。データベース４３８は、ソフトウェアモジュール４２８、４３０、４３２、４３４及び４３６によって利用されるデータを保存する。データベース４３８は、ユーザ１０２によって閲覧される印刷ページ１２０、ウェブページ１１２、ユーザインターフェイスウィンドウ１１２、もしくは他のページを含む１つもしくは複数のページ４４０に関する情報を保存する。ページ４４０の各々は、１つもしくは複数の領域４４２を含み、領域４４２に関する情報はデータベース４３８に保存される。領域４４２は、ページ４４０の論理的な区画である。論理的な区画は、（図１Ｂに例示する）印刷ページ１２０の領域１３０もしくは（図３に例示する）ユーザインターフェイスウィンドウ１１２の領域３０２などのような、隣接し重畳しないページ４４０の部分である。領域４４２は、一般的に矩形であるが、矩形に限定されない。領域４４２は対象領域すなわちＲＯＩともいわれる。データベース４３８は、ユーザアクティビティラベル４４４の所定セット及びラベル４４４に関連する情報を保存する。
【０１００】
実装のいくつかにおいて、ユーザアクティビティラベル４４４の所定セットは「調べる」、「読む」、「ナビゲート」、「入力」、「選択」を含む。これらは、低レベルアクティビティともいわれる。これらは、個別の凝視の間に生じることを記述しているからである。（アクティビティシーケンスモジュール４３６は、凝視のシーケンスに高レベルユーザアクティビティを割り当てる。）個別の凝視へのユーザアクティビティラベル４４４の割り当ては、図５、図８Ａ〜８Ｄに関連して、以下で詳述する。
【０１０１】
データベース４３８は、凝視２１４を識別するために凝視検出モジュール４２８によって使用される注視点２１２を保存する。データベース４３８は、凝視検出モジュール４２８によって決定された凝視２１４を保存する。データベース４３８は、凝視の継続時間、凝視の位置（例えば、凝視を構成する注視点の重心）、及び凝視の有効性を含む凝視２１４の各々に関連する基本凝視特性４４６のいくつかを保存する。
【０１０２】
データベース４３８は、凝視２１４の各々に対応する凝視特徴４４８のセットを保存する。図５、図８Ａ〜８Ｄに関連して詳述するように、凝視特徴は、凝視２１４の特性（例えば、継続時間）に固有であってよく、先行のもしくは後続の他の凝視（例えば、最近の凝視もしくは後続の凝視の継続時間）に基づいて求められてもよく、凝視に関連するユーザのインタラクション（例えば、凝視の間にマウスボタンが押された）を識別してもよい。図５及び図８Ａ〜８Ｄは、凝視２１４にユーザアクティビティラベル４４４を割り当てるために特徴をどのように使用するかを示す。
【０１０３】
データベース４３８は、凝視分類モジュール４３０によって決定されたように、凝視２１４の各々に割り当てられたユーザアクティビティラベル４５０を保存する。データベース４３８は割り当てられたユーザアクティビティラベル４５０に基づく凝視グループ４５２を保存する。
【０１０４】
凝視グループ４５２の決定は、図６及び図８Ａ〜８Ｄに関連して、以下で詳述される。データベース４３８は、凝視クラスタ化モジュール４３２によって決定される凝視クラスタ４５４を保存する。凝視クラスタは、図６、図８Ａ〜８Ｄに関連して、以下で詳述される。
【０１０５】
上記識別された構成要素の各々は、１つもしくは複数の上記メモリデバイスに保存されてもよい。また、上記識別された構成要素の各々は、上記機能を実行するための命令セットに対応してもよい。命令セットは、１つもしくは複数のプロセッサによって実行され得る（例えば、ＣＰＵ４０２）。上記識別されたモジュールもしくはプログラム（すなわち、命令セット）は別個のソフトウェアプログラム、プロシージャ、もしくはモジュールとして実装されなくてもよい。これらのモジュールの様々なサブセットが結合されてもよいし、様々な実装において再構成されてもよい。
【０１０６】
実装のいくつかにおいて、メモリ４１８は上記識別されたモジュール及びデータ構造のサブセットを保存する。さらに、メモリ４１８は、さらに、上記されていないモジュール及びデータ構造を保存してもよい。
【０１０７】
図４はコンピューティングデバイス４００を示しているが、図４は、ここで記述される実装の構造的な概要とういうよりは、１つもしくは複数のコンピューティングデバイスに存在してよい様々な特徴の機能的な記述を意図している。実用的には、また、当業者によって認識されるであろうように、別個に示されるアイテムは結合されてもよいし、アイテムのいくつかは別個にされてもよい。
【０１０８】
例えば、データ及びプロセスの全ては単一のデバイス４００（例えば、ユーザのコンピュータ）に存在してもよいし、プロセスは２つ以上のコンピューティングデバイス４００（例えば、未処理データを収集するために主に動作するユーザデバイス及び凝視の分析を行うバックエンドサーバ）に別個に存在してもよい。ここで記述される方法の各々は、コンピュータ可読記憶媒体に保存され、コンピューティングデバイス４００の１つもしくは複数のプロセッサによって実行される命令によって制御されてもよい。図（図５、図６、図７Ａ〜７Ｄ、図８Ａ〜８Ｄ）に示される動作の各々は、コンピュータメモリもしくはコンピュータ可読記録媒体に保存されている命令に対応していてもよい。
【０１０９】
図５は、実装のいくつかに関連して個別の凝視２１４を分類するための凝視分類モジュール４３０によって実行されるプロセスを例示する。プロセスは開始され（５０２）、凝視２１４を検出する（５０４）。
【０１１０】
凝視は、位置及び継続時間を含む凝視基本特性４４６のいくつかを有する。位置は、一般的に、ユーザ１０２が閲覧しているページ４４０と相対的に特定される（例えば、ページ４４０の座標ｘ及びｙ）。
【０１１１】
実装のいくつかにおいて、凝視基本特性４４６は有効性測定値を含む。実装のいくつかにおいて、有効性測定値は２値であることが適切であり、１は真の凝視を識別するために使用され、０は擬似凝視を示すために使用される。実装のいくつかにおいて、真の凝視である尤度を示す有効性測定値は連続的な範囲（例えば、０〜１）を有する。実装のいくつかにおいて、有効性は確率として特定される。
【０１１２】
凝視２１４の各々について、凝視２１４に関連する計測量もしくは計算量である凝視特徴４４８のセットが存在する。
【０１１３】
実装のいくつかにおいて、凝視特徴４４８の各々は３つのタイプの１つに分類される。凝視そのものの特性、凝視の周辺に基づく環境のいくつかを示す値、凝視の間の様々なユーザインターフェイスデバイスの状態を示す値、の３つである。第３のカテゴリは、一般的に、閲覧されているページ４４０が印刷ページ１２０である場合、関係ない。
【０１１４】
図５で、これら３つのタイプから特徴４４８を収集／計算することが並列的に示されている（５０６、５０８、５１０）が、これらは直列的に収集／計算されてもよい。凝視分類モジュール４３０は、凝視２１４自体に対応する特徴４４８である凝視特性セットを識別する（５０６）。
【０１１５】
これらの特性のいくつかは、凝視２１４の継続時間もしくは凝視２１４の有効性などのような凝視基本特性である。他の凝視特性は、凝視２１４に対応する注視点２１２間の平均距離を含む。一般的に、注視点の間の距離は直列的に連続する注視点間のみが計測される。
【０１１６】
実装のいくつかは、注視点の間の距離の分散を含む。他の凝視特性は、凝視の間計測された瞳孔サイズの分散である。実装のいくつかは、これらの特性のサブセットもしくは凝視の幅もしくは広がりなどの他の凝視特性による補足を利用する。
【０１１７】
凝視分類モジュール４３０は、以下のいずれかもしくは以下の変形を含む複数の凝視環境特徴を判定する（５０８）。
●凝視２１４から直後の凝視への距離
●凝視２１４から直前の凝視への距離
●直後の凝視の継続時間
●直前の凝視の継続時間
●先行する５個の凝視の連続する凝視間の平均距離
●先行する５個の凝視の連続する凝視間の距離の分散
●後続する５個の凝視の連続する凝視間の平均距離
●後続する５個の凝視の連続する凝視間の距離の分散
●先行する５個の凝視の連続する凝視間の最短距離
●先行する５個の凝視の連続する凝視間の最長距離
●後続する５個の凝視の連続する凝視間の最短距離
●後続する５個の凝視の連続する凝視間の最長距離
【０１１８】
これらの特徴４４８は、凝視２１４を分類する際に支援することが可能な先行する、もしくは、後続する凝視に関する様々な計測可能なファクタを例示する。凝視分類モジュール４３０は、凝視２１４の間の、もしくは、凝視２１４に近接する時刻のユーザインターフェイスデバイスの状態に基づいてユーザインタラクション特徴のセットを決定する（５１０）。ユーザインターフェイスデバイスは、一般的に、キーボード及びマウスなどのコンピューティングデバイス４００の入力デバイス４１０を含む。
【０１１９】
以下の様々なサブセットを含む、ユーザインタラクション特徴が利用され得る。
●凝視の間のマウスカーソルの速度
●凝視の間の凝視へのマウスカーソルの平均距離
●凝視の間の凝視へのマウスカーソルからの距離の分散
●凝視の間のマウスカーソルと凝視との間の最短距離
●凝視の間のマウスカーソルと凝視との最長距離
●凝視の注視点の各々へのマウスカーソルからの平均距離（カーソルの位置は注視点の各々の計測と同一時点で識別される。）
●凝視の前の時間的に最も近いマウスイベントの際のマウスカーソルの位置と凝視の位置との間の距離
●凝視の後の時間的に最も近いマウスイベントの際のマウスカーソル位置と凝視の位置との間の距離
●凝視の間にマウスボタンが押されたか否か
●凝視の間にマウスボタンが押し下げられたか否か（すなわち、凝視の前にボタンが押され、凝視の少なくとも部分の間押し下げられていたか否か）
●凝視の間、マウスボタンが離されたか否か
●最近のマウスイベントと凝視の開始との間の時間長
●凝視の最後と凝視の後最も時間的に近いマウスイベントとの間の時間長
●最近のマウスイベントの際のマウスカーソルと凝視の位置との間の距離
●凝視の位置と凝視の後の次のマウスイベントの位置との間の距離
●凝視（中心）の位置と凝視の間マウスボタンが押されたときのマウスカーソルとの間の距離
●凝視の間のタイピング速度
●凝視の間にタイプされた文字数
●すぐ先行する５個の凝視の間の平均タイピング速度
●すぐ後続する５個の凝視の間の平均タイピング速度
【０１２０】
ユーザインタラクション特徴の上記リストは全てを網羅することを意図していない。上記リストは、凝視２１４を分類することに関連する可能性があるユーザインタラクションを計測する様々な特徴を例示している。クリック、マウスダウン、マウスアップなどの多岐に亘るマウスイベントがある。
【０１２１】
また、コンピュータマウスのいくつかは左及び右ボタンを含むため、特徴は２つのタイプのボタンの押下の間で区別され得る。さらに、コンピュータマウスの多くがスクロールホイールを含む。従って、特徴は、凝視の間にスクロールホイールが使用されたか否か、スクロールの長さなどを計測するために利用され得る。
【０１２２】
さらに、コンピューティングデバイスのいくつかはジョイスティックもしくは他の入力デバイスを利用する。例えば、アイトラッキングによるジョイスティックイベントの追跡は、ビデオゲームを評価するために有用であり得る。ビデオゲームを評価することは、静的な（もしくはほぼ静的な）領域を有するユーザインターフェイスを評価することよりも複雑である。ユーザインタラクション特徴は、ビデオストリームから検出されるジェスチャから導出され得る。
【０１２３】
実装は、特徴４４８の３つのカテゴリにおいて上記識別される特徴の全てまたはいずれかのサブセットを利用し得る。さらに、実装のいくつかは特徴４４８の全てもしくはサブセット、及び、明示的に上記されていないさらなる特徴４４８による補足を選択する。凝視特徴４４８の指定されたセットが識別され／決定されると、凝視分類モジュール４３０は凝視２１４にユーザアクティビティラベル４４４を割り当てる（５１２）。
【０１２４】
割り当てられたユーザアクティビティラベル４５０はユーザアクティビティラベル４４４の所定セットから選択される。実装のいくつかにおいて、凝視へのユーザアクティビティラベル４４４の割り当ては、機械学習アルゴリズムを利用する。入力特徴が既知であり、特徴の分類が既知である以前のデータのトレーニングセットを用いて、機械は比較的高精度に凝視を分類するためにトレーニングされ得る。
【０１２５】
実装のいくつかにおいて、機械学習はサポートベクターマシン（ＳＶＭ）を利用する。実装のいくつかにおいて、機械学習はニューラルネットワークを利用する。実装のいくつかにおいて、ユーザアクティビティラベルは、機械学習ではなく、決定的アルゴリズムを用いて、凝視へ割り当てられる。機械学習を使用しない実装のいくつかは、より少ない凝視特徴４４８を使用する。
【０１２６】
図５に示すプロセスフローは、単一の凝視２１４の分類を例示する。ユーザアクティビティラベル４４４が凝視２１４に割り当てられると（５１２）、プロセスは終了する（５１４）。図５に例示する基本プロセスは、以下で図６に例示されるように、一般的に、多くの凝視に適用される。凝視特徴に基づく分類プロセスの詳細は繰り返されない。
【０１２７】
図６は、凝視２１４を分類するプロセスを例示する。図６のプロセスは、２つに枝分かれするアプローチに図５の方法を拡張する。プロセスが開始すると（６０２）、凝視のシーケンスを検出する（６０２）。
【０１２８】
上記したように、凝視を検出するプロセスは多くの既知アルゴリズムを利用することが可能である。実装のいくつかにおいて、既知のアルゴリズムは凝視の各々による有効性計測値を提供することにまで拡張される。
【０１２９】
図５に例示されるように、凝視分類モジュール４３０は、凝視２１４の各々に関連付けられている凝視特徴４４８を用いて、凝視２１４の各々にユーザアクティビティラベルを割り当てる（６０８）。ユーザアクティビティラベル４４４が凝視２１４の各々に割り当てられると、凝視分類モジュール４３０は、割り当てられたユーザアクティビティラベル４５０に基づいて重畳しないグループシーケンスに凝視２１４をグループ化する（６１０）。
【０１３０】
実装のいくつかにおいて、グループ化は、連続する凝視が同一のユーザアクティビティラベル４５０を有するか否かのみに基づいている。同一のユーザアクティビティラベルを有する場合、凝視２１４は同一のグループに含まれる。異なるユーザアクティビティラベルを有する場合、凝視２１４は異なるグループに含まれる。このプロセスは、凝視の区画を生成する。区画では、凝視の各々が必ず１つのグループに入りグループの各々の凝視は時間的に連続している。
【０１３１】
実装のいくつかにおいて、グループ化は、凝視が閲覧されているページ４４０の同一の領域４４２に位置しているか否かを考慮する。これらの実装において、割り当てられたユーザアクティビティラベルが同一であり、２つの凝視が同一の領域４４２に存在する場合のみ、２つの連続する凝視が同一のグループに配置される。条件に合致しない場合、凝視は異なるグループに配置される。このプロセスによって、凝視は分割される。凝視をグループ化する場合、領域を考慮しない実装よりもグループ数は大きくなる可能性がある。
【０１３２】
別個の独立したステップとして、凝視クラスタ化モジュール４３２は凝視セット２１４をクラスタ４５４に分割する（６０６）。実装のいくつかにおいて、クラスタ４５４は時間順に凝視を順次処理することによって形成される。まず、最初の凝視２１４が最初のクラスタ４５４であるとみなす。後続の凝視２１４の各々は、先行する凝視２１４を含む先行するクラスタ４５４に追加されるか、もしくは、新しいクラスタ４５４を開始する。
【０１３３】
実装のいくつかにおいて、後続の凝視２１４から直前の凝視までの距離が閾値より短い場合、次の凝視２１４は先行するクラスタ４５４に追加される。これは、一般的に左から右に読まれ、テキストの１つのセグメントを読む間の全ての凝視は共にクラスタ化されるべきである、ことによって説明される。その他の実装において、後続の凝視２１４が先行のクラスタ４５４の凝視のいずれかの距離の閾値より小さい場合、後続の凝視２１４は先行のクラスタ４５４に追加される。
【０１３４】
実装のいくつかは、先行するクラスタ４５４に後続の凝視２１４を追加するか否か判定するために２つのアイデアを結合する。まず、後続の凝視２１４が直後の凝視から第１の閾値距離範囲内であれば、後続の凝視は先行するクラスタ４５４に追加される。
【０１３５】
最初の計算に基づいて先行するクラスタに追加されないならば、凝視クラスタ化モジュール４３２は、後続の凝視２１４及び先行するクラスタ４５４の凝視のいずれかの間の最短距離を計算する。最短距離が第２の閾値距離よりも短い場合、後続の凝視２１４は先行するクラスタ４５４に追加される。後続の凝視２１４が２つのステップのいずれかに基づいて先行するクラスタ４５４に追加されない場合、新しいクラスタが開始される。新しいクラスタは、最初、後続の凝視のみを含む。
【０１３６】
このプロセスは、凝視セット全体にわたって順に継続される。凝視の各々について、１つのクラスタのみがあるものとみなされる。クラスタは時間的に連続する凝視を含む。従って、凝視の各々は、直前のクラスタに追加されるか、もしくは、新しいクラスタを開始する。このプロセスは、凝視の各々を１つのクラスタだけに含める。従って、クラスタは凝視の区画を形成する。
【０１３７】
凝視グループ４５２及び凝視クラスタ４５４が判定された後、併合・適合モジュール４３４はクラスタ４５４と領域４４３の環境におけるグループ４５２とを比較し、グループの最終セットを形成する。クラスタ４５４がグループ４５２と完全に適合する場合、グループは変更されない。また、グループの凝視の各々は、その割り当てられたユーザアクティビティラベル４５０を維持する。適合しないグループ及び適合しないクラスタについては、併合・適合モジュール４３４は差異に折り合いをつける。
【０１３８】
図７Ａ及び図７Ｂは、このプロセスの２つの例を示す。図７Ａにおいて、クラスタ数１３は、テキスト１−１のラベルを付された単一の領域と一致する。しかしながら、行７０２と対応する凝視については、凝視は、元々ユーザアクティビティラベル「ナビゲート（navigating）」７０４に割り当てられていた。
【０１３９】
割り当てられたユーザアクティビティラベル７０４が正しくないと結論付ける複数の理由がある。クラスタが領域と一致しないだけでなく、行７０２の前及び後の割り当てられたユーザアクティビティラベルは「読む（reading）」と識別される。さらに、「ナビゲート」ラベルを有する凝視は１つだけである。従って、併合・適合モジュール４３４は、行７０２に対応する凝視を「読む」７０６と再分類する。
【０１４０】
図７Ｂにおいて、長いクラスタ番号２３がある。クラスタ（テキスト（Text）１−５、リンク（Link）１−５、及びテキスト１−６）に関連する領域に割り当てられたユーザアクティビティラベル（領域テキスト１−５は「読む」、領域リンク１−５は「選択（selecting）」、領域テキスト１−６は「ナビゲート」）に基づいて、併合・適合モジュール４３４は領域及び割り当てられたユーザアクティビティラベルに対応する３つのクラスタにクラスタ番号２３を分割する。
【０１４１】
行７３０及び７３２について、併合・適合モジュール４３４はクラスタ割り当て７１０（クラスタナンバー２３）を新しいクラスタ７１２（クラスタナンバー２３．１）に変更する。さらに、行７３４について、併合・適合モジュール４３４はクラスタ割り当て７１４（クラスタナンバー２３）を新しいクラスタ７１６（クラスタナンバー２３．２）に変更する。この例は、クラスタが、単一の凝視（例えば、行７３４に対応する凝視）を含むことが可能であることを示す。
【０１４２】
実装のいくつかにおいて、併合・適合モジュール４３４は凝視グループ４５２及び凝視クラスタ４５４の適合しない境界を処理する。これは、図７Ｃ及び７Ｄに例示される。図７Ｃ及び図７Ｄは、図７Ａ及び図７Ｂに示される同一の凝視クラスタ及び凝視グループを示す。例えば、図７Ｃにおいて、クラスタ及びグループは、クラスタ及びグループが異なるとしても、７５０及び７５６に境界があることに合意する。問題は、グループの境界ではあるがクラスタの境界ではない、適合しない境界７５２及び７５４を維持するか、除去するかである。
【０１４３】
実装のいくつかにおいて、適合しない境界（例えば、７５２及び／もしくは７５４）の１つを維持するか除去するか決定するために、複数のファクタに基づくコスト／利益関数を使用する。境界７５２について、求められたグループを維持することは、利益である。しかしながら、境界を維持することがクラスタの分割及び領域の分割の双方を要求するかもしれない。コスト／利益分析においては、図７Ａに関連して上記したように、境界７５２及び７５４を廃棄することが適切である。
【０１４４】
図７Ｄにおいて、クラスタ及びグループは境界７６０及び７６６には合意するが、境界７６２及び７６４は適合しない。この場合、図７Ｂに関連して上記したように、凝視が検出された領域は、境界７６２及び７６４の維持に有利に働く。含まれる領域の近接性、適合しない境界を維持するか廃棄するかに基づくグループの各々に含まれる凝視の数（例えば、大き過ぎず小さ過ぎないグループのプリファランス）及び境界の近傍で識別されたユーザアクティビティラベルなどの追加的なファクタがコスト／利益分析に含まれても良い。
【０１４５】
調整プロセスにおいて、割り当てられたユーザアクティビティラベルのいくつかは変更されてもよい。凝視グループが併合・適合モジュール４３４によって変更されない場合、グループの凝視の各々に割り当てられたユーザアクティビティラベルは維持される。例えば、図７Ｂにおいて、クラスタは凝視グループに適合するように変更される。凝視グループは何れも変更されないので、割り当てられたユーザアクティビティラベルは全てそのまま残る。
【０１４６】
凝視グループが変更された場合、凝視のいくつかの割り当てられたユーザアクティビティラベルを変更してもよい。これは図７Ａに例示されている。行７０２の凝視に割り当てられたラベルは「ナビゲート」７０４から「読む」７０６に変更される。
【０１４７】
実装のいくつかにおいて、変更されたグループのユーザアクティビティラベルの割り当ては、以前割り当てられたユーザアクティビティラベルの「多数決」に基づく。例えば、図７Ａにおいて、変更されたグループは７つの凝視を有し、７つの凝視の内、６個がユーザアクティビティラベル「読む」を割り当てられている。この場合、行７０２の７番目の凝視には、「読む」７０６ユーザアクティビティラベルが割り当てられる。
【０１４８】
図６に戻ると、併合・適合モジュール４３４がグループ４５２とクラスタ４５４とを調整した後、凝視及び凝視に割り当てられたユーザアクティビティラベルが分析され推奨が生成される（６１４）。実装のいくつかにおいて、推奨はページのレイアウトに関連する（６１４）。
【０１４９】
実装のいくつかにおいて、推奨は、ユーザのために、リアルタイムに近い時間で提供される。例えば、アイトラッキング分析はユーザがコンピュータユーザインターフェイスを最適に使用していないことを示し、ユーザが行うべきことを指示する。
【０１５０】
実装のいくつかにおいて、併合・適合モジュール４３４はグループ４５２とクラスタ４５４とを調整した後、アクティビティシーケンスモジュール４３６はより高いレベルのアクティビティにユーザアクティビティを分類する（６１６）。凝視分類モジュール４３０は凝視の各々に個別にユーザアクティビティラベル４４４を割り当て、アクティビティシーケンスモジュール４３６はより高いレベルで分類されることが可能なより低いレベルのアクティビティのパターンを識別する。例えば、実装のいくつかは、目の動きの異なるパターンに基づいて、ユーザがコンテンツを読んでいるのか、目を通しているだけなのかを区別することが可能である。
【０１５１】
実装のいくつかにおいて、アクティビティ分類モジュール４３６は分析の凝視特徴４４６の１つもしくは複数を利用する。実装のいくつかにおいて、アクティビティシーケンスモジュール４３６は、分析において領域４４２を利用する。実装のいくつかにおいて、データベース４３８は、アクティビティシーケンスモジュール４３６がユーザアクティビティと比較するユーザアクティビティパターンのセットを保存する。実装のいくつかにおいて、以前のアクティビティパターンは、機械学習アルゴリズムへの入力として使用され、アクティビティシーケンスモジュール４３６は、トレーニングされた機械を高レベルアクティビティを分類するために使用する。
【０１５２】
図８Ａ〜図８Ｄは、実装のいくつかによる凝視を分類する（８０２）ためのフローチャート８００である。処理は、１つもしくは複数のプロセッサ及びメモリを有するコンピューティングデバイス４００によって実行される（８０４）。
【０１５３】
コンピューティングデバイス４００は、１つもしくは複数のユーザインターフェイスデバイス（例えば、入力デバイス４１０）を用いて、コンピューティングデバイス４００とインタラクションするユーザのアイトラッキングデータを受信する（８０６）。アイトラッキングデータは、時系列に並んだ凝視のシーケンスである。凝視２１４は、図２Ｃ及び図４に関連して上記したように、凝視検出モジュール４２８を用いて、未処理注視点２１２のシーケンスから判定される。
【０１５４】
実装のいくつかにおいて、ユーザインターフェイスデバイスはキーボード及びマウスを含む（８０８）。実装のいくつかにおいて、コンピューティングデバイス４００は、図３に例示したように、複数の別個の隣接する領域を有するページを表示する。
【０１５５】
図２Ｃ及び図４に関連して上記したように、凝視の各々は、複数の隣接する測定された注視点の各々に対応する（８１２）。凝視検出モジュール４２８は、対応する測定された注視点２１２の各々に基づいて、継続期間及び位置の各々を凝視２１４に割り当てる（８１４）。凝視の注視点は時間的に連続しているため、実装のいくつかは、凝視の最初及び最後の注視点の間の時間差として継続時間を決定する。実装のいくつかにおいて、凝視の位置は重心である。
【０１５６】
コンピューティングデバイス４００は、１つもしくは複数のユーザインターフェイスデバイスからユーザインタラクションデータ（８１６）も受信する。ユーザインターフェイスデバイスイベントについてのユーザインタラクションは、一般的に、イベントの時間及びイベントが何であるか（例えば、マウスの移動）の双方を含む。継続時間（例えば、マウス移動もしくはマウススクロール）を有するイベントについて、継続時間も、一般的に、インタラクションデータに含まれる。
【０１５７】
シーケンスの凝視の各々について（８１８）、凝視分類モジュール４３０は、複数の凝視の特徴を判定する（８２０）。ここで、「特徴」とは、凝視に対応する適切に定義された特性であり、量的に計測可能であってよい。図５に関連して上記されたように、特徴は、凝視の直接的な特性である特徴、凝視のコンテキストに関する情報を提供する特徴、コンピューティングデバイスとのユーザインタラクションに基づく特徴、の３つのカテゴリに分類される。
【０１５８】
凝視の複数の特徴は、凝視の１つもしくは複数の特性を含む（８２２）。実装のいくつかにおいて、凝視の１つもしくは複数の特性は、凝視の継続時間、凝視に対応する連続計測注視点間の距離の変動、凝視の間に測定される人の瞳孔サイズの変動から選択される少なくとも１つの特性を含む（８２４）。凝視についての複数の特徴は、受信したユーザインタラクションデータに基づく１つもしくは複数のユーザインタラクション特徴も含む（８２６）。
【０１５９】
実装のいくつかにおいて、１つもしくは複数のユーザインタラクション特徴は、凝視の間のマウスカーソルの平均速度、凝視の間のマウスカーソル位置への凝視位置からの平均距離、凝視の間のマウスボタンの状態、及び、凝視の間にマウスボタンが押された場合の凝視位置とマウスカーソル位置との間の距離から選択される少なくとも１つのユーザインタラクション特徴を含む（８２８）。これについては、実装のいくつかが使用するユーザインタラクション特徴のより大きいリストを含む図５に関連してより詳細に上記した。
【０１６０】
実装のいくつかにおいて、ユーザインタラクション特徴は、キーボードアクティビティに基づく特徴及びマウスアクティビティに基づく特徴の双方を含む（８３０）。実装のいくつかにおいて、複数の特徴は、凝視位置と直前の凝視位置との間の距離、凝視位置と直後の凝視位置との間の距離、直前の凝視の継続時間、及び、直後の凝視の継続時間から選択される１つもしくは複数のコンテキスト特徴を含む（８３２）。
【０１６１】
コンテキスト特徴のより拡張した例示的なリストは図５に関連して提供される。凝視分類モジュール４３０は、複数の特徴を用いて、ユーザアクティビティラベルと凝視とを関連付ける（８３４）。ユーザアクティビティラベルは、ユーザアクティビティラベルの所定セットから選択される（８３６）。ラベルは、ユーザがコンピュータ画面（もしくは、他の実装では、印刷ページ）とインタラクションする一般的な方法で定義されるため、リストは一般的に小さい（例えば、９以下のラベルを含む）。例えば、実装のいくつかにおいて、ユーザアクティビティラベルの所定のセットは、調べる、読む、ナビゲート、選択、及び、入力、を含む。
【０１６２】
実装のいくつかにおいて、ユーザアクティビティラベルと凝視とを関連付けることは、サポートベクタマシンもしくはニューラルネットワークなどの機械学習を使用する（８４０）。これらの実装は、特徴セット（例えば、上記で識別された３つのタイプの４０の特徴）を選択する。特徴の各々が、特徴ベクトルの成分（例えば、４０の成分）に対応する。特徴及びユーザアクティビティの双方が既知であるトレーニングセットに基づいて、機械は、特徴と特定のユーザアクティビティとを相互に関連付ける方法を学習する。
【０１６３】
実施形態のいくつかにおいて、同じ割り当てられたユーザアクティビティラベルを有する連続する凝視はグループ化される（８４２）。従って、凝視は複数のグループに分割される。実装のいくつかにおいて、凝視は、第２の別個の技術を用いて、複数のクラスタにも分割される（８４４）。詳細は、図６に関連して上記した。
【０１６４】
クラスタの各々は、時間順の凝視の連続的なサブシーケンスを含む（８４４）。実装のいくつかにおいて、複数のクラスタに凝視を分割することは、クラスタを構築するために時間順に凝視を処理することを含む（８４６）。処理は、時間順で最初の凝視を含む最初のクラスタから開始される。クラスタ化アルゴリズムは、一般的に、ユーザアクティビティラベルもしくはユーザアクティビティラベルを割り当てるために使用された特徴を利用しない。
【０１６５】
実装のいくつかにおいて、最初の凝視後の凝視の各々について（８４８）、３つのルールセットに基づいて、凝視前のクラスタに付加されるか、もしくは、新しいクラスタが開始される。凝視から直前の凝視までの距離が第１の所定距離より短い場合、直前の凝視を含むクラスタに凝視を付加する（８５０）。凝視から直前の凝視を含むクラスタのいずれかの凝視までの距離が第２の所定距離より短い場合、クラスタに凝視を付加する（８５２）。先の２つの状態のいずれも該当しない場合、凝視を含む新しいクラスタが生成される（８５４）。
【０１６６】
実装のいくつかにおいて、第１及び第２の所定距離が同じであり、その場合、２番目までのルールは単一のルールに纏められる。しかしながら、凝視が直前の凝視に近い可能性がより高いので、クラスタ化アルゴリズムは、実行効率を向上するために（距離のいずれかが閾値よりも短い場合、他の距離については計算する必要がない）、一般的に、直前の凝視までの距離をまず検討する。
【０１６７】
ユーザアクティビティラベルに基づいた凝視のグループ化及び凝視の近さに基づいたクラスタ化は、２つの別個の凝視の区画を形成する。多くの例において、グループ及びクラスタは相互に適合する。これにより、分類が適切である可能性が上昇する。しかしながら、グループ及びクラスタが適合しない場合、併合・適合モジュール４３４によって調整処理が実行される。詳細は、図６、図７Ａ〜図７Ｄに関連して上記した。
【０１６８】
実装のいくつかにおいて、クラスタの各々に適合するグループの各々について、グループの各々へのユーザアクティビティラベル割り当ては、グループの各々の凝視の各々に割り当てられた最終のユーザアクティビティラベルのまま、保持される（８５６）。実装のいくつかは、不適合グループからの凝視を含む非重畳改変グループセットを形成するために、領域を用いて、不適合グループと不適合クラスタとを調整する（８５８）。実装のいくつかにおいて、改変グループの凝視の各々は、同一の最終的なユーザアクティビティラベルを割り当てられる（８６０）（すなわち、改変グループの凝視の全ては互いに同一のラベルを有する）。
【０１６９】
ユーザアクティビティラベルはユーザアクティビティラベルの所定のセットから選択される（８６０）。（すなわち、所定のラベルセットが１つあり、所定のセットは凝視分類モジュール４３０及び併合・適合モジュール４３４の双方によって使用される。）実装のいくつかにおいて、不適合グループと不適合クラスタとを調整することは（８５８）、不適合境界セットを識別すること（８６４）を含む（８６２）。不適合境界セットの境界の各々は、グループ各々の境界ではあるがクラスタ各々のいずれかの境界ではないか、クラスタ各々の境界ではあるがグループ各々のいずれかの境界ではない（８６６）。不適合境界セットの境界の各々について、併合・適合モジュール４３４は、境界を維持するための維持コストの各々を計算し（８７０）、境界を除去するための除去コストの各々を計算する（８７０）。
【０１７０】
実装のいくつかにおいて、境界維持コスト及び境界除去コストは、改変グループのサイズ、改変グループの凝視継続時間、境界の両側の凝視に割り当てられたユーザアクティビティラベル、境界の両側の凝視に対応する領域、及び、領域のサイズ、から選択される複数のファクタに基づく（８７２）。併合・適合モジュール４３４は、次に、最も低いコストに基づいて境界を維持するか（８７４）除去する（８７４）。このプロセスは、図６及び図７Ａ〜７Ｄに関して詳細に上記されている。
【０１７１】
不適合境界の全てが処理されると、併合・適合モジュール４３４は、不適合境界セットから維持される境界に基づいて改変グループのセットを識別する（８７６）。実装のいくつかにおいて、最終的なユーザアクティビティラベルは、改変グループの各々の凝視に以前割り当てられた最も優勢なユーザアクティビティラベルに基づいて改変グループの各々の凝視に割り当てられる（８７８）。（すなわち、多数決ルールアルゴリズム。）
【０１７２】
実装のいくつかにおいて、凝視及び関連付けられているユーザアクティビティラベルは、コンピュータユーザインターフェイスを修正するために１つもしくは複数の推奨を行うために分析される（８８０）。開示のクラスタ化及びグループ化技術は独立に適用され、その後、図６、７Ａ〜７Ｄ及び８Ａ〜８Ｄに関連して上記されたように調整されているが、２つの技術は他の方法において、統合され得る。例えば、開示のクラスタ化アルゴリズムは、次の凝視を既存のクラスタに加えるか否か判定する場合に、領域及びユーザアクティビティラベルを利用するために、修正され得る。他の例として、クラスタ化アルゴリズムがまず適用され、クラスタ化及び領域情報が、凝視の各々を分類するために使用される特徴セットに含まれ得る。
【０１７３】
実装のいくつかにおいて、ユーザアクティビティを分類する代替的な方法は、１つもしくは複数のプロセッサ及びメモリを有するコンピュータシステムで、複数の別個の隣接する領域を有するページを見ているユーザのアイトラッキングデータを受信し、アイトラッキングデータは、時間順凝視シーケンスを含み、凝視の各々は計測された複数の注視点に対応し、凝視の各々は対応する計測された注視点の各々に基づく継続時間及び位置の各々を有し、凝視を複数のクラスタに分割し、クラスタの各々は凝視の連続するサブシーケンスを時間順に含み、凝視の特性セットに基づいて凝視の各々に仮のユーザアクティビティラベルを割り当て、ユーザアクティビティラベルはユーザアクティビティラベルの所定のセットから選択され、凝視を複数のグループに分割するために割り当てられた仮のユーザアクティビティラベルが同一である連続する凝視をグループ化し、クラスタの各々に適合するグループの各々について、グループの各々において凝視の各々に割り当てられた最終ユーザアクティビティラベルとして割り当てられた仮のユーザアクティビティラベルを維持し、領域を用いて、不適合グループからの凝視を含む非重畳改変グループのセットを形成するために、不適合グループと不適合クラスタとを調整し、改変グループの凝視の各々はユーザアクティビティラベルの所定のセットから選択される同一の最終ユーザアクティビティラベルを割り当てられる。
【０１７４】
実装のいくつかにおいて、複数のクラスタに凝視を分割することは、時間順に最初の凝視を含む最初のクラスタから開始して、クラスタを構築するために時間順に凝視を処理し、最初の凝視の後、凝視の各々について、凝視から直前の凝視までの距離が第１の所定距離よりも短い場合、直前の凝視を含むクラスタに凝視を追加し、凝視から直前の凝視を含むクラスタの凝視のいずれかまでの距離が第２の所定距離よりも短い場合、クラスタに凝視を追加し、２つの条件のいずれにも合致しない場合、凝視を含む新しいクラスタを生成する。実装のいくつかにおいて、仮のユーザアクティビティラベルを凝視の各々に割り当てるために機械学習を利用する。
【０１７５】
実装のいくつかにおいて、不適合グループと不適合クラスタとを調整することは、不適合境界セットを識別し、不適合境界セットの境界の各々はグループの各々の境界であるがいずれかのクラスタの境界ではないか、クラスタの各々の境界ではあるがいずれかのグループの境界ではなく、不適合境界セットの境界の各々について、境界を維持する維持コストの各々を計算し、境界を除去する除去コストの各々を計算し、もっとも低いコストを選択することに基づいて境界を維持するか除去し、不適合境界から維持された境界に基づいて改変グループのセットを識別し、改変グループの凝視に割り当てられた最も優勢な仮のユーザアクティビティラベルに基づいて改変グループの各々の凝視に最終的なユーザアクティビティラベルを割り当てる、ことを含む。
【０１７６】
実装のいくつかにおいて、境界維持コスト及び境界除去コストは、改変グループのサイズ、改変グループの凝視継続時間、境界の両側で凝視に割り当てられたユーザアクティビティラベル、境界の両側の凝視に対応する領域、領域のサイズを含むグループから選択される複数のファクタに基づく。実装のいくつかにおいて、ページは印刷ページである。実装のいくつかにおいて、ページはコンピュータユーザインターフェイスのウィンドウである。実装のいくつかにおいて、ユーザアクティビティを分類する方法は、ページのコンテンツを修正する１つもしくは複数の推奨を行うために凝視及び関連付けられているユーザアクティビティラベルを分析する、ことをさらに含む。
【０１７７】
上記は、説明を目的とし、特定の実装を参照して記述されている。しかしながら、上記の例示的な説明は網羅的であること、開示の精密な形態に発明を限定すること、を意図していない。多くの修正及び変更が、上記教示を鑑みて、可能である。実装は、発明の原理及び実際的な応用をもっとも適切に説明し、これにより、当業者が、発明及び考えられる特定の使用に適するように、様々な変更がされた様々な実装をもっとも適切に利用することを可能とするために、選択され、記述されている。
【符号の説明】
【０１７８】
４０２  ＣＰＵ
４２８  凝視検出モジュール
４３０  凝視分類モジュール
４３２  凝視クラスタ化モジュール
４３４  併合・適合モジュール
４３６  アクティビティシーケンスモジュール
【図１Ａ】
2015095260.tif 000003
【図１Ｂ】
2015095260.tif 000004
【図２Ａ】
2015095260.tif 000005
【図２Ｂ】
2015095260.tif 000006
【図２Ｃ】
2015095260.tif 000007
【図２Ｄ】
2015095260.tif 000008
【図３】
2015095260.tif 000009
【図４】
2015095260.tif 000010
【図５】
2015095260.tif 000011
【図６】
2015095260.tif 000012
【図７Ａ】
2015095260.tif 000013
【図７Ｂ】
2015095260.tif 000014
【図７Ｃ】
2015095260.tif 000015
【図７Ｄ】
2015095260.tif 000016
【図８Ａ】
2015095260.tif 000017
【図８Ｂ】
2015095260.tif 000018
【図８Ｃ】
2015095260.tif 000019
【図８Ｄ】
2015095260.tif 000020