(57)【特許請求の範囲】
【請求項１】
少なくとも一つのプロセッサを備え、
前記少なくとも一つのプロセッサが、
対象コンテンツを表示する画面上での対象ユーザの視点の動きを示す対象データを取得し、
サンプルコンテンツを視認した複数のサンプルユーザから得られた複数のサンプルデータであって、それぞれのサンプルデータが、該サンプルコンテンツを視認した前記サンプルユーザの視点の動きと、該サンプルコンテンツに対する該サンプルユーザの理解度とのペアを示す、該複数のサンプルデータに対して統計処理を行うことにより得られる、ユーザの視点の動きとコンテンツへの該ユーザの理解度との対応関係を示す対応関係データと、コンテンツへのユーザの理解度に対応付けられたアシスト情報と、を記憶する記憶部を参照し、
前記対象データおよび前記対応関係データに基づいて、前記対象コンテンツへの前記対象ユーザの理解度を推定し、
推定された前記対象ユーザの理解度に対応する前記アシスト情報を出力し、
前記対応関係データが、
前記対象コンテンツと異なるサンプルコンテンツを視認した前記サンプルユーザから得られた前記サンプルデータを含む複数の第１サンプルデータに対して前記統計処理を行うことにより得られる一般化された対応関係データと、
前記対象コンテンツをサンプルコンテンツとして視認した複数のサンプルユーザから得られた複数の第２サンプルデータに対して前記統計処理を行うことにより得られるコンテンツ特有の対応関係データとを含み、
前記少なくとも一つのプロセッサが、
前記対象データおよび前記一般化された対応関係データに基づいて、前記対象コンテンツへの前記対象ユーザの第１理解度を推定し、
推定された前記対象ユーザの第１理解度に対応するアシスト情報を出力し、
前記対象データおよび前記コンテンツ特有の対応関係データに基づいて、前記対象コンテンツへの前記対象ユーザの第２理解度を推定し、
推定された前記対象ユーザの第２理解度に対応するアシスト情報を出力する、
アシストシステム。
【請求項２】
前記少なくとも一つのプロセッサが、前記対象ユーザの前記第１理解度に対応するアシスト情報を出力した後に、前記対象ユーザの前記第２理解度に対応するアシスト情報を出力する、
請求項１に記載のアシストシステム。
【請求項３】
前記統計処理が、前記サンプルユーザの視点の動きと前記サンプルユーザの理解度とに基づいて前記複数のサンプルデータをクラスタリングする処理を含む、
請求項１または２に記載のアシストシステム。
【請求項４】
前記統計処理が、前記複数のサンプルデータに対して回帰分析を行う処理を含む、
請求項１または２に記載のアシストシステム。
【請求項５】
少なくとも一つのプロセッサを備えるアシストシステムによって実行されるアシスト方法であって、
対象コンテンツを表示する画面上での対象ユーザの視点の動きを示す対象データを取得するステップと、
サンプルコンテンツを視認した複数のサンプルユーザから得られた複数のサンプルデータであって、それぞれのサンプルデータが、該サンプルコンテンツを視認した前記サンプルユーザの視点の動きと、該サンプルコンテンツに対する該サンプルユーザの理解度とのペアを示す、該複数のサンプルデータに対して統計処理を行うことにより得られる、ユーザの視点の動きとコンテンツへの該ユーザの理解度との対応関係を示す対応関係データと、コンテンツへのユーザの理解度に対応付けられたアシスト情報と、を記憶する記憶部を参照するステップと、
前記対象データおよび前記対応関係データに基づいて、前記対象コンテンツへの前記対象ユーザの理解度を推定するステップと、
推定された前記対象ユーザの理解度に対応する前記アシスト情報を出力するステップと
を含み、
前記対応関係データが、
前記対象コンテンツと異なるサンプルコンテンツを視認した前記サンプルユーザから得られた前記サンプルデータを含む複数の第１サンプルデータに対して前記統計処理を行うことにより得られる一般化された対応関係データと、
前記対象コンテンツをサンプルコンテンツとして視認した複数のサンプルユーザから得られた複数の第２サンプルデータに対して前記統計処理を行うことにより得られるコンテンツ特有の対応関係データとを含み、
前記アシスト方法が、
前記対象データおよび前記一般化された対応関係データに基づいて、前記対象コンテンツへの前記対象ユーザの第１理解度を推定するステップと、
推定された前記対象ユーザの第１理解度に対応するアシスト情報を出力するステップと、
前記対象データおよび前記コンテンツ特有の対応関係データに基づいて、前記対象コンテンツへの前記対象ユーザの第２理解度を推定するステップと、
推定された前記対象ユーザの第２理解度に対応するアシスト情報を出力するステップと、を含む
アシスト方法。
【請求項６】
対象コンテンツを表示する画面上での対象ユーザの視点の動きを示す対象データを取得するステップと、
サンプルコンテンツを視認した複数のサンプルユーザから得られた複数のサンプルデータであって、それぞれのサンプルデータが、該サンプルコンテンツを視認した前記サンプルユーザの視点の動きと、該サンプルコンテンツに対する該サンプルユーザの理解度とのペアを示す、該複数のサンプルデータに対して統計処理を行うことにより得られる、ユーザの視点の動きとコンテンツへの該ユーザの理解度との対応関係を示す対応関係データと、コンテンツへのユーザの理解度に対応付けられたアシスト情報と、を記憶する記憶部を参照するステップと、
前記対象データおよび前記対応関係データに基づいて、前記対象コンテンツへの前記対象ユーザの理解度を推定するステップと、
推定された前記対象ユーザの理解度に対応する前記アシスト情報を出力するステップと
を含むアシスト方法をコンピュータに実行させ、
前記対応関係データが、
前記対象コンテンツと異なるサンプルコンテンツを視認した前記サンプルユーザから得られた前記サンプルデータを含む複数の第１サンプルデータに対して前記統計処理を行うことにより得られる一般化された対応関係データと、
前記対象コンテンツをサンプルコンテンツとして視認した複数のサンプルユーザから得られた複数の第２サンプルデータに対して前記統計処理を行うことにより得られるコンテンツ特有の対応関係データとを含み、
前記アシスト方法が、
前記対象データおよび前記一般化された対応関係データに基づいて、前記対象コンテンツへの前記対象ユーザの第１理解度を推定するステップと、
推定された前記対象ユーザの第１理解度に対応するアシスト情報を出力するステップと、
前記対象データおよび前記コンテンツ特有の対応関係データに基づいて、前記対象コンテンツへの前記対象ユーザの第２理解度を推定するステップと、
推定された前記対象ユーザの第２理解度に対応するアシスト情報を出力するステップと、を含む、
アシストプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の一側面はアシストシステム、アシスト方法、およびアシストプログラムに関する。
【背景技術】
【０００２】
コンテンツを視認するユーザをアシストする技術が知られている。例えば、特許文献１には、外国語の読解の学習を支援するための学習支援装置が記載されている。この学習支援装置は、学習者が課題外国語文章を読解する際の視線運動を追跡して、読み返し頻度および視線停留を計算し、その読み返し頻度および視線停留に関する情報を指導者に提示する。特許文献２から６にも、ユーザのアシストに関する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３３８１７３号公報
【特許文献２】特開２０１０−０３９６４６号公報
【特許文献３】特開２０１６−１１４６８４号公報
【特許文献４】特開２０１８−０９７２６６号公報
【特許文献５】特許第６６３６６７０号公報
【特許文献６】特開２０１４−１９４６３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コンテンツを視認するユーザを適切にアシストできる手法が望まれている。
【課題を解決するための手段】
【０００５】
本開示の一側面に係るアシストシステムは、少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、対象コンテンツを表示する画面上での対象ユーザの視点の動きを示す対象データを取得し、サンプルコンテンツを視認した複数のサンプルユーザから得られた複数のサンプルデータであって、それぞれのサンプルデータが、該サンプルコンテンツを視認したサンプルユーザの視点の動きと、該サンプルコンテンツに対する該サンプルユーザの理解度とのペアを示す、該複数のサンプルデータに対して統計処理を行うことにより得られる、ユーザの視点の動きとコンテンツへの該ユーザの理解度との対応関係を示す対応関係データと、コンテンツへのユーザの理解度に対応付けられたアシスト情報と、を記憶する記憶部を参照し、対象データおよび対応関係データに基づいて、対象コンテンツへの対象ユーザの理解度を推定し、推定された対象ユーザの理解度に対応するアシスト情報を出力する。
【０００６】
このような側面においては、サンプルユーザから得られたサンプルデータが統計処理されることにより対応関係データが生成され、該対応関係データと、対象コンテンツに対する対象ユーザの視点の動きを示す対象データとに基づいて該対象ユーザの理解度が推定される。統計処理により得られる対応関係データを用いることで、コンテンツを視認するユーザの実際の傾向に即して対象ユーザの理解度が推定される。その推定に基づくアシスト情報を出力することで、対象コンテンツを視認する対象ユーザを適切にアシストできる。
【発明の効果】
【０００７】
本開示の一側面によれば、コンテンツを視認するユーザを適切にアシストできる。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係るアシストシステムの適用の一例を示す図である。
【図２】実施形態に係るアシストシステムに関連するハードウェア構成の一例を示す図である。
【図３】実施形態に係るアシストシステムに関連する機能構成の一例を示す図である。
【図４】実施形態に係るアシストシステムの動作の一例を示すフローチャートである。
【図５】実施形態に係るアイトラッキングシステムの動作の一例を示すフローチャートである。
【図６】第１コンテンツに設定される誘導領域の一例を示す図である。
【図７】第１コンテンツに設定される誘導領域の一例を示す図である。
【図８】実施形態に係るアシストシステムの動作の一例を示すフローチャートである。
【図９】実施形態に係るアシストシステムの動作の一例を示すフローチャートである。
【図１０】アシスト情報の例を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
【００１０】
［システムの概要］
実施形態に係るアシストシステムは、コンテンツを視認するユーザをアシストするコンピュータシステムである。コンテンツとは、コンピュータまたはコンピュータシステムによって提供され、人が認識可能な情報のことをいう。コンテンツを示す電子データのことをコンテンツデータという。コンテンツの表現形式は限定されず、例えば、コンテンツは文書、画像（例えば、写真、映像など）、またはこれらの組合せによって表現されてもよい。コンテンツの目的および利用場面は限定されず、例えば、コンテンツは教育、ニュース、講演、商取引、エンターテインメント、医療、ゲーム、チャットなどの様々な目的で利用され得る。
【００１１】
アシストシステムは、コンテンツデータをユーザ端末に送信することで、コンテンツをユーザに提供する。ユーザとは、アシストシステムから情報を得ようとする人であり、すなわち、コンテンツの視聴者である。ユーザ端末は「視聴者端末」ということもできる。アシストシステムは、ユーザからの要求によりコンテンツデータをユーザ端末に提供してもよいし、ユーザとは別の配信者の指示に基づいてコンテンツデータをユーザ端末に提供してもよい。配信者とは、ユーザ（視聴者）に情報を伝えようとする人であり、すなわち、コンテンツの発信者である。
【００１２】
アシストシステムは、コンテンツのみならず、ユーザの理解度に対応するアシスト情報を必要に応じてユーザに提供する。ユーザの理解度とは、コンテンツに対するユーザの理解の程度を示す指標である。例えば、コンテンツに文章が含まれている場合、ユーザの理解度は、ユーザがその文章をどのくらい理解しているか（例えば、ユーザが、文章に含まれる単語の意味を理解しているか否か、ユーザが文章の文法を理解しているか否かなど）を示す指標であってもよい。アシスト情報とは、コンテンツに対するユーザの理解を促進させるための情報である。例えば、コンテンツに文章が含まれている場合、アシスト情報は、文章に含まれる単語の意味、文章の文法などを示す情報であってもよい。以下の説明では、理解度を推定する対象となるユーザ（言い換えると、必要に応じてアシスト情報が提供される対象となるユーザ）を対象ユーザといい、その対象ユーザによって視認されるコンテンツを対象コンテンツという。
【００１３】
アシスト情報を出力するために、アシストシステムは、対象コンテンツを表示する画面上での対象ユーザの視点の動きに基づいて、対象ユーザの理解度を推定する。具体的には、アシストシステムは、ユーザの視点の動きとユーザの理解度との対応関係を示す対応関係データを参照する。対応関係データは、予め取得されたサンプルデータに対して統計処理が行われることにより生成される電子データである。サンプルデータとは、コンテンツを視認したユーザの視点の動きと、コンテンツに対するユーザの理解度とのペアを示す電子データである。以下の説明では、対応関係データを生成するためのサンプルデータを提供するユーザをサンプルユーザといい、サンプルユーザにより視認されるコンテンツをサンプルコンテンツという。
【００１４】
アシストシステムは、対象ユーザの視点の動きを示すデータを、該対象ユーザのユーザ端末から取得する。視点の動きを示すデータとは、ユーザ端末の画面においてユーザの視点がどのように移動したかを表すデータであり、本開示では視点データともいう。以下、対象ユーザの視点の動きを示すデータ（すなわち、対象ユーザの視点データ）を対象データという。アシストシステムは、対応関係データと対象データとを用いて、対象ユーザの理解度を推定する。その後アシストシステムは、対象ユーザの理解度に対応するアシスト情報を必要に応じて該対象ユーザのユーザ端末に出力する。
【００１５】
本開示において、サンプルユーザと対象ユーザとを区別する必要のない場合には、これらをユーザと総称して説明を行うことがある。
【００１６】
視点データはアイトラッキングシステムにより取得される。アイトラッキングシステムは、ユーザの眼の動きに基づいてユーザの視点座標を所与の時間間隔ごとに特定し、時系列に沿って並ぶ複数の視点座標を示す視点データを取得する。視点座標とは、ユーザ端末の画面における視点の位置を示す座標である。視点座標は、二次元の座標系を用いて表されてもよい。アイトラッキングシステムは、ユーザ端末に搭載されてもよいし、ユーザ端末とは異なる他のコンピュータに搭載されてもよい。あるいは、トラッキングシステムはユーザ端末と他のコンピュータとが協働することにより実現されてもよい。
【００１７】
アイトラッキングシステムは、ユーザの視点座標をより精度よく特定するための処理である較正を行う。一例として、まずアイトラッキングシステムは、ユーザ端末の画面に表示されているコンテンツの部分領域を、ユーザに注視させるための誘導領域として設定する。以下、誘導領域が設定されるコンテンツを第１コンテンツという。そして、アイトラッキングシステムは、ユーザの眼の動きに基づいて、誘導領域を注視するユーザの視点座標を第１視点座標として特定し、その第１視点座標と誘導領域の領域座標との差分を算出する。誘導領域の領域座標とは、ユーザ端末の画面における誘導領域の位置を示す座標である。その後、アイトラッキングシステムは、ユーザ端末の画面に表示されるコンテンツ（第２コンテンツ）をユーザが視認する際に、そのユーザの眼の動きに基づいて、第２コンテンツを見るユーザの視点座標を第２視点座標として特定する。そして、アイトラッキングシステムは、特定した第２視点座標を、予め算出した差分を用いて較正する。第２コンテンツは、第２視点座標が較正される際にユーザが見ているコンテンツである。
【００１８】
上述したようにコンテンツの目的および利用場面は限定されない。本実施形態においては、コンテンツの一例として教育用コンテンツを示し、アシストシステムが教育用コンテンツを視認する生徒をアシストするものとする。したがって、対象コンテンツは「教育用の対象コンテンツ」であり、サンプルコンテンツは「教育用のサンプルコンテンツ」である。教育用コンテンツとは、生徒への教育を行うために用いられるコンテンツであり、例えば、演習問題、試験問題などのようなテストでもよいし、教科書でもよい。教育用コンテンツは、文章、数式、グラフまたは図形などを含んでいてもよい。生徒とは、学業、技芸などの教えを受ける人のことをいう。生徒はユーザ（視聴者）の一例である。上述したように視聴者へのコンテンツの配信は、配信者の指示に基づいて行われてもよい。コンテンツが教育用コンテンツの場合、配信者は教師であってもよい。教師とは生徒に学業、技芸などを教える人のことをいう。教師は教員免許を持つ人であってもよいし、教員免許を持たない人でもよい。教師および生徒のそれぞれについて年齢および所属は限定されず、したがって、教育用コンテンツの目的および利用場面も限定されない。例えば、教育用コンテンツは、保育園、幼稚園、小学校、中学校、高等学校、大学、大学院、専門学校、予備校、オンライン学校などの各種の学校で用いられてよいし、学校以外の場所または場面で用いられてもよい。これに関連して、教育用コンテンツは、幼児教育、義務教育、高等教育、生涯学習などの様々な目的で用いられ得る。また、教育用コンテンツは、学校教育のみならず企業などのセミナーまたは研修の場面で用いられるコンテンツを含む。
【００１９】
［システムの構成］
図１は、実施形態に係るアシストシステム１の適用の一例を示す図である。本実施形態では、アシストシステム１はサーバ１０を備える。サーバ１０は、通信ネットワークＮを介してユーザ端末２０およびデータベース３０と通信可能に接続される。通信ネットワークＮの構成は限定されない。例えば、通信ネットワークＮは、インターネットを含んで構成されてもよいし、イントラネットを含んで構成されてもよい。
【００２０】
サーバ１０は、コンテンツをユーザ端末２０に配信し、必要に応じてアシスト情報をユーザ端末２０に提供するコンピュータである。サーバ１０は、一つまたは複数のコンピュータから構成されてもよい。
【００２１】
ユーザ端末２０は、ユーザによって使用されるコンピュータである。本実施形態においては、ユーザは、教育用のコンテンツを視聴する生徒である。一例では、ユーザ端末２０は、アシストシステム１にアクセスしてコンテンツデータおよびアシスト情報を受信し表示する機能と、視点データをアシストシステム１に送信する機能とを有する。ユーザ端末２０の種類は限定されず、例えば、高機能携帯電話機（スマートフォン）、タブレット端末、ウェアラブル端末（例えば、ヘッドマウントディスプレイ（ＨＭＤ）、スマートグラスなど）、ラップトップ型パーソナルコンピュータ、携帯電話機などの携帯端末でもよい。あるいは、ユーザ端末２０はデスクトップ型パーソナルコンピュータなどの据置型端末でもよい。図１では、３台のユーザ端末２０を示すが、ユーザ端末２０の個数は限定されない。本実施形態においては、サンプルユーザの端末と対象ユーザの端末とを区別して説明する際には、サンプルユーザの端末を「ユーザ端末２０Ａ」と表記し、対象ユーザの端末を「ユーザ端末２０Ｂ」と表記する。ユーザは、ユーザ端末２０を操作してアシストシステム１にログインし、コンテンツを視聴することができる。本実施形態では、アシストシステム１のユーザが既にログインしていることを前提とする。
【００２２】
データベース３０は、アシストシステム１によって用いられるデータを記憶する非一時的な記憶装置である。本実施形態では、データベース３０は、コンテンツデータ、サンプルデータ、対応関係データおよびアシスト情報を記憶する。データベース３０は単一のデータベースとして構築されてもよいし、複数のデータベースの集合であってもよい。
【００２３】
図２は、アシストシステム１に関連するハードウェア構成の一例を示す図である。図２は、サーバ１０として機能するサーバコンピュータ１００と、ユーザ端末２０として機能する端末コンピュータ２００とを示す。
【００２４】
一例として、サーバコンピュータ１００はハードウェア構成要素として、プロセッサ１０１、主記憶部１０２、補助記憶部１０３、および通信部１０４を備える。
【００２５】
プロセッサ１０１は、オペレーティングシステムおよびアプリケーションプログラムを実行する演算装置である。プロセッサの例としてＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）およびＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が挙げられるが、プロセッサ１０１の種類はこれらに限定されない。
【００２６】
主記憶部１０２は、サーバ１０を実現するためのプログラム、プロセッサ１０１から出力された演算結果などを記憶する装置である。主記憶部１０２は例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のうちの少なくとも一つにより構成される。
【００２７】
補助記憶部１０３は、一般に主記憶部１０２よりも大量のデータを記憶することが可能な装置である。補助記憶部１０３は例えばハードディスク、フラッシュメモリなどの不揮発性記憶媒体によって構成される。補助記憶部１０３は、サーバコンピュータ１００をサーバ１０として機能させるためのサーバプログラムＰ１と各種のデータとを記憶する。本実施形態では、アシストプログラムはサーバプログラムＰ１として実装される。
【００２８】
通信部１０４は、通信ネットワークＮを介して他のコンピュータとの間でデータ通信を実行する装置である。通信部１０４は例えばネットワークカードまたは無線通信モジュールにより構成される。
【００２９】
サーバ１０の各機能要素は、プロセッサ１０１または主記憶部１０２の上にサーバプログラムＰ１を読み込ませてプロセッサ１０１にそのプログラムを実行させることで実現される。サーバプログラムＰ１は、サーバ１０の各機能要素を実現するためのコードを含む。プロセッサ１０１はサーバプログラムＰ１に従って通信部１０４を動作させ、主記憶部１０２または補助記憶部１０３におけるデータの読み出しおよび書き込みを実行する。このような処理によりサーバ１０の各機能要素が実現される。
【００３０】
サーバ１０は、一つまたは複数のコンピュータにより構成され得る。複数のコンピュータが用いられる場合には、通信ネットワークＮを介してこれらのコンピュータが互いに接続されることで、論理的に一つのサーバ１０が構成される。
【００３１】
一例として、端末コンピュータ２００はハードウェア構成要素として、プロセッサ２０１、主記憶部２０２、補助記憶部２０３、および通信部２０４、入力インタフェース２０５、出力インタフェース２０６、および撮像部２０７を備える。
【００３２】
プロセッサ２０１は、オペレーティングシステムおよびアプリケーションプログラムを実行する演算装置である。プロセッサ２０１は例えばＣＰＵまたはＧＰＵであり得るが、プロセッサ２０１の種類はこれらに限定されない。
【００３３】
主記憶部２０２は、ユーザ端末２０を実現させるためのプログラム、プロセッサ２０１から出力された演算結果などを記憶する装置である。主記憶部２０２は例えばＲＯＭおよびＲＡＭのうちの少なくとも一つにより構成される。
【００３４】
補助記憶部２０３は、一般に主記憶部２０２よりも大量のデータを記憶することが可能な装置である。補助記憶部２０３は例えばハードディスク、フラッシュメモリなどの不揮発性記憶媒体によって構成される。補助記憶部２０３は、端末コンピュータ２００をユーザ端末２０として機能させるためのクライアントプログラムＰ２と各種のデータとを記憶する。
【００３５】
通信部２０４は、通信ネットワークＮを介して他のコンピュータとの間でデータ通信を実行する装置である。通信部２０４は例えばネットワークカードまたは無線通信モジュールにより構成される。
【００３６】
入力インタフェース２０５は、ユーザの操作または動作に基づいてデータを受け付ける装置である。例えば、入力インタフェース２０５は、キーボード、操作ボタン、ポインティングデバイス、タッチパネル、マイクロフォン、センサ、およびカメラのうちの少なくとも一つによって構成される。
【００３７】
出力インタフェース２０６は、端末コンピュータ２００で処理されたデータを出力する装置である。例えば、出力インタフェース２０６はモニタ、タッチパネル、ＨＭＤおよびスピーカのうちの少なくとも一つによって構成される。
【００３８】
撮像部２０７は、現実世界を写した画像を撮影する装置であり、具体的にはカメラである。撮像部２０７は動画像（映像）を撮影してもよいし静止画（写真）を撮影してもよい。撮像部２０７は入力インタフェース２０５としても機能し得る。
【００３９】
ユーザ端末２０の各機能要素は、対応するクライアントプログラムＰ２をプロセッサ２０１または主記憶部２０２に読み込ませてプロセッサ２０１にそのプログラムを実行させることで実現される。クライアントプログラムＰ２は、ユーザ端末２０の各機能要素を実現するためのコードを含む。プロセッサ２０１はクライアントプログラムＰ２に従って通信部２０４、入力インタフェース２０５、出力インタフェース２０６、または撮像部２０７を動作させ、主記憶部２０２または補助記憶部２０３におけるデータの読み出しおよび書き込みを行う。この処理によりユーザ端末２０の各機能要素が実現される。
【００４０】
サーバプログラムＰ１およびクライアントプログラムＰ２の少なくとも一つは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリなどの有形の記録媒体に非一時的に記録された上で提供されてもよい。あるいは、これらのプログラムの少なくとも一つは、搬送波に重畳されたデータ信号として通信ネットワークＮを介して提供されてもよい。これらのプログラムは別々に提供されてもよいし、一緒に提供されてもよい。
【００４１】
図３は、アシストシステム１に関連する機能構成の一例を示す図である。サーバ１０は、機能要素としてコンテンツ配信部１１、統計処理部１２、推定部１３、およびアシスト部１４を備える。統計処理部１２は、対応関係データを生成する機能要素である。統計処理部１２は、データベース３０に記憶されたサンプルデータに対して統計処理を行うことにより対応関係データを生成し、対応関係データをデータベース３０に格納する。推定部１３は、対象コンテンツへの対象ユーザの理解度を推定する機能要素である。推定部１３は、対象ユーザの視点の動きを示す対象データをユーザ端末２０Ｂから取得し、その対象データと対応関係データとに基づいて対象ユーザの理解度を推定する機能要素である。アシスト部１４は、対象ユーザの理解度に対応するアシスト情報をユーザ端末２０Ｂに送信する機能要素である。
【００４２】
ユーザ端末２０は、機能要素として設定部２１、特定部２２、算出部２３、トラッキング部２４、および表示制御部２５を備える。設定部２１は、ユーザ端末２０の画面に表示された第１コンテンツの部分領域を誘導領域として設定する機能要素である。特定部２２は、誘導領域を注視するユーザの眼の動きに基づいて、ユーザの第１視点座標を特定する機能要素である。算出部２３は、設定部２１によって設定された誘導領域の領域座標と、特定部２２によって特定された第１視点座標との差分を算出する機能要素である。トラッキング部２４は、ユーザ端末２０の画面に表示されたコンテンツを見るユーザの眼の動きを観測して視点データを生成する機能要素である。トラッキング部２４は、第２コンテンツを見るユーザの第２視点座標を、算出された差分を用いて較正して、較正後の第２視点座標を示す視点データを生成する。表示制御部２５は、ユーザ端末２０での画面の表示を制御する機能要素である。本実施形態では、アイトラッキングシステムは設定部２１、特定部２２、算出部２３、トラッキング部２４、および表示制御部２５により構成される。
【００４３】
［システムの動作］
図４は、アシストシステム１の動作を処理フローＳ１として示すフローチャートである。図４を参照して、アシストシステム１による処理の全体像を説明する。
【００４４】
ステップＳ１１では、サーバ１０の統計処理部１２が複数のサンプルデータに対して統計処理を行い、対応関係データを生成する。
【００４５】
ステップＳ１１の前提となる、サンプルデータの収集の一例を説明する。まず、コンテンツ配信部１１が複数のユーザ端末２０Ａのそれぞれにサンプルコンテンツを配信する。それぞれのユーザ端末２０Ａにサンプルコンテンツを配信するタイミングは限定されない。例えば、コンテンツ配信部１１はそれぞれのユーザ端末２０Ａからの要求に応じてサンプルコンテンツをそのユーザ端末２０Ａに配信してもよいし、２以上のユーザ端末２０Ａにサンプルコンテンツを一斉に配信してもよい。それぞれのユーザ端末２０Ａでは表示制御部２５がそのサンプルコンテンツを受信および表示する。その後、ユーザ端末２０Ａのトラッキング部２４がそのサンプルコンテンツを視認したサンプルユーザの視点の動きを示す視点データを生成する。一例では、サンプルユーザはアンケートに回答する形式で、サンプルコンテンツへの理解度をユーザ端末２０Ａに入力し、ユーザ端末２０Ａはその入力データを受け付ける。あるいは、ユーザ端末２０Ａまたはサーバ１０がサンプルコンテンツに対するユーザの解答（例えば、設問に対する解答）に基づいてサンプルユーザの理解度を推定してもよい。入力または推定される理解度は、例えば、文章に含まれる単語の意味を理解できたか否か、文章の文法が理解できたか否かなどを示す。一例では、ユーザ端末２０Ａは、生成された視点データと、入力または推定された理解度とのペアを示すサンプルデータを生成し、そのサンプルデータをサーバ１０に送信する。あるいは、ユーザ端末２０Ａが視点データをサーバ１０に送信し、サーバ１０がその視点データと、推定された理解度とのペアを示すサンプルデータを生成してもよい。いずれにしても、サーバ１０はそのサンプルデータをデータベース３０に格納する。サーバ１０は、或る特定のサンプルコンテンツについて複数のユーザ端末２０Ａから得られた複数のサンプルデータをデータベース３０に格納する。サーバ１０は複数のサンプルコンテンツのそれぞれについて複数のサンプルデータを格納してもよい。アシストシステム１はこの一連の処理によってサンプルデータを収集する。
【００４６】
統計処理部１２は、データベース３０から複数のサンプルデータを読み出し、該複数のサンプルデータに対して統計処理を行い、対応関係データを生成する。統計処理部１２による統計処理の手法および生成される対応関係データの表現形式は限定されない。
【００４７】
一例として、統計処理部１２は、サンプルユーザの視点の動きおよびサンプルコンテンツに対するユーザの理解度に基づいて、複数のサンプルデータをクラスタリングすることにより対応関係データを生成する。統計処理部１２は、視点の移動速度と、視点の反転回数（視点の移動方向が変化した回数）と、視点が移動した領域の面積とのうちの少なくとも一つに基づいて視点の動きの類似性を判断してもよい。統計処理部１２は、単語の意味の理解度と、文章の文法の理解度とのうちの少なくとも一つに基づいてコンテンツの理解度の類似性を判断してもよい。統計処理部１２は、それぞれのサンプルデータについて、視点の動きに関する特徴と理解度に関する特徴とを特徴ベクトルとしてベクトル化し、その特徴ベクトルが共通または類似するサンプルデータ同士を同じクラスタに所属させてもよい。統計処理部１２は、クラスタリングの結果からユーザの視点の動きとユーザの理解度との対応関係を導出する。この対応関係は、より具体的には、ユーザの視点の動きの傾向と、その傾向に対応する理解度とのペアを示すといえる。統計処理部１２はその対応関係を示す対応関係データを生成し、その対応関係データをデータベース３０に格納する。
【００４８】
他の例として、統計処理部１２は、回帰分析を行うことにより対応関係データを生成してもよい。具体的には、統計処理部１２は、サンプルユーザの視点の動きおよびサンプルユーザの理解度のそれぞれを所定の規則に基づいて数値化する。統計処理部１２は、数値化されたデータに対して回帰分析を行い、サンプルユーザの理解度を目的変数とし、サンプルユーザの視点の動きを説明変数とする回帰式を生成する。このとき、統計処理部１２は、サンプルユーザの視点の動きを、視点の移動速度、視点の反転回数などのような複数の要素に分解し、該複数の要素に対応する複数の説明変数を設定してもよい。例えば、統計処理部１２は、視点の移動速度および視点の反転回数をそれぞれ独立した説明変数として数値化し、その複数の説明変数を用いた重回帰分析を行ってもよい。統計処理部１２は回帰分析により生成された回帰式を対応関係データとしてデータベース３０に格納する。統計処理部１２により行われる回帰分析の手法は、部分的最小二乗回帰（ＰＬＳ）またはサポートベクター回帰（ＳＶＲ）であってもよい。いずれにしても、その対応関係データも、ユーザの視点の動きの傾向と、その傾向に対応する理解度とのペアを示す。
【００４９】
さらに他の例として、統計処理部１２は、サンプルユーザの視点の動きとサンプルユーザの理解度との対応関係を機械学習により分析し対応関係データを生成してもよい。機械学習は、ニューラルネットワークを用いたディープラーニングでもよい。統計処理部１２は、ユーザの視点の動きを示すデータを入力層に入力するとユーザの理解度を示すデータを出力するように構成された機械学習モデルを用いて、サンプルデータを学習データとする教師あり学習を行い、その学習モデル内の重み付けパラメータを調整する。統計処理部１２は、重み付けパラメータの調整が行われたモデル（学習済みモデル）を対応関係データとしてデータベース３０に格納する。機械学習を採用する場合、統計処理部１２は、データベース３０に記憶されたサンプルデータを前処理して、機械学習に適した形式のデータに変換してもよい。
【００５０】
統計処理部１２は、統計処理に使用するサンプルデータを適宜選択し、複数種類の対応関係データを生成してもよい。例えば、統計処理部１２は複数のサンプルコンテンツのそれぞれについて、該サンプルコンテンツを視聴する複数のサンプルユーザから取得されたサンプルデータを使用して対応関係データを生成してもよい。この場合には、それぞれのコンテンツについて対応関係データが生成される。以下ではこの対応関係データを「コンテンツ特有の対応関係データ」という。あるいは、統計処理部１２は複数のサンプルコンテンツ（例えば、同じカテゴリに属する複数のサンプルコンテンツ）のサンプルデータを使用して対応関係データを生成してもよい。この場合には、複数のコンテンツ（例えば、同じカテゴリに属する複数のコンテンツ）に共通する対応関係データが生成される。以下ではこの対応関係データを「一般化された対応関係データ」という。
【００５１】
ステップＳ１２では、対象コンテンツを視認している対象ユーザに対して、アシスト部１４が必要に応じてアシスト情報を提供する。アシスト部１４は、対象コンテンツへの対象ユーザの理解度を推定し、その理解度に対応するアシスト情報を必要に応じて提供する。アシスト情報を出力する処理の詳細は後述する。ユーザの理解度とアシスト情報との対応関係は予め定められ、その対応関係を特定することができるようにアシスト情報がデータベース３０に予め記憶される。対象コンテンツへの対象ユーザの理解が不足している部分をアシスト情報によって補えるように、ユーザの理解度とアシスト情報とが対応付けられてもよい。例えば、コンテンツ中の文章に含まれる単語の意味を理解していないことを示すユーザの理解度に対しては、該単語の意味がアシスト情報として対応付けられてもよい。
【００５２】
図５は、アイトラッキングシステムの動作を処理フローＳ２として示すフローチャートである。アイトラッキングシステムによる処理は、視点座標の較正に使用する差分を算出する工程（ステップＳ２１からステップＳ２３）と、算出した差分を用いてユーザの視点座標を較正する工程（ステップＳ２４およびステップＳ２５）とに大別される。
【００５３】
ステップＳ２１では、設定部２１が、ユーザ端末２０の画面上に表示されている第１コンテンツの部分領域を誘導領域として動的に設定する。第１コンテンツは、コンテンツ配信部１１によって配信されて表示制御部２５により表示される任意のコンテンツである。第１コンテンツは教育用コンテンツでもよいし、教育を目的としないコンテンツでもよい。誘導領域とは、ユーザに注視させるための領域であり、連続して並ぶ複数の画素によって構成される。誘導領域を動的に設定するとは、ユーザに注視させるための領域が予め設定されていない第１コンテンツが画面上に表示されることに応答して、該第１コンテンツ中に誘導領域を設定することをいう。一例では、この誘導領域は、第１コンテンツが画面上に表示されている間に限って設定される。画面に表示されている第１コンテンツ中における誘導領域の位置は限定されない。例えば、設定部２１は、第１コンテンツの中央部分、上側部分、下側部分、角の部分などの任意の位置に誘導領域を設定してもよい。一例では、設定部２１が誘導領域を設定した後に、表示制御部２５がその設定に基づいて第１コンテンツ中に誘導領域を表示する。誘導領域の形状および面積（画素数）も限定されない。誘導領域は視点座標を較正するためにユーザに注視させる領域であるので、典型的には、設定部２１は誘導領域の面積を、画面に表示された第１コンテンツの面積（すなわち、表示装置の面積）に比べてかなり小さく設定する。
【００５４】
誘導領域を動的に設定する方法は限定されない。一例では、設定部２１は、誘導領域の表示態様を、誘導領域以外の領域（以下ではこれを非誘導領域ともいう）の表示態様と異ならせることで、誘導領域と非誘導領域とを視覚的に区別させてもよい。表示態様を設定する手法は限定されない。具体例として、設定部２１は、誘導領域の解像度を変えることなく非誘導領域の解像度を低下させて誘導領域の解像度を相対的に高めることにより、誘導領域と非誘導領域とを区別させてもよい。別の具体例として、設定部２１は、誘導領域の表示態様を変えることなく非誘導領域に対してぼかし処理を行うことにより、誘導領域と非誘導領域とを区別させてもよい。例えば、設定部２１は非誘導領域のうち、ある対象画素の色を該対象画素に隣接する複数の画素の色の平均色に設定することにより、ぼかし処理を行ってもよい。設定部２１は非誘導領域の解像度を維持しつつぼかし処理を行ってもよいし、解像度を低下させた上でぼかし処理を行ってもよい。別の具体例として、設定部２１は、誘導領域の外縁を特定色または特定種類の枠線で囲むことにより誘導領域と他の領域とを区別させてもよい。設定部２１は解像度の調整、ぼかし処理および枠線の描画のうち任意の２以上の手法を組み合わせることによって誘導領域を他の領域と区別させてもよい。
【００５５】
あるいは、ユーザによって選択可能な選択オブジェクトが第１コンテンツ中に含まれている場合に、設定部２１は、該選択オブジェクトが表示される領域を誘導領域に設定してもよい。すなわち、設定部２１はその選択オブジェクトを部分領域として特定して、その選択オブジェクトを誘導領域として設定してもよい。典型的には、選択オブジェクトは、アプリケーションプログラムのチュートリアル画面に表示される選択ボタンまたはリンクであってもよい。あるいは、ユーザ端末２０によって問題演習または試験が行われる場合には、選択オブジェクトは問題を選択するためのボタンであってもよいし、演習または試験を開始するためのボタンであってもよい。設定部２１は、誘導領域として設定した選択オブジェクトの解像度を維持しつつ、非誘導領域の解像度を低下させてもよい。この処理に加えてまたは代えて、設定部２１は、非誘導領域に対してぼかし処理を行ってもよいし、誘導領域として設定した選択オブジェクトの外縁を特定色または特定種類の枠線で囲んでもよい。
【００５６】
設定部２１は誘導領域の領域座標を任意の手法により設定する。例えば、設定部２１は誘導領域の中央または重心の座標を領域座標として設定してもよい。あるいは、設定部２１は誘導領域の中の任意の１画素の位置を領域座標として設定してもよい。
【００５７】
ステップＳ２２では、特定部２２が、誘導領域を注視するユーザの視点座標を第１視点座標として特定する。特定部２２はユーザの眼の動きに基づいて視点座標を特定する。その特定方法は限定されない。一例として、特定部２２は、ユーザ端末２０の撮像部２０７によってユーザの眼の周辺画像を撮影し、ユーザの目頭を基準点とした虹彩の位置に基づいて視点座標を特定してもよい。他の例として、特定部２２は角膜反射法（ＰＣＣＲ）を用いてユーザの視点座標を特定してもよい。角膜反射法を採用する場合、ユーザ端末２０はハードウェア構成として赤外線出射装置および赤外線カメラを備えてもよい。
【００５８】
ステップＳ２３では、算出部２３が、特定部２２によって特定された第１視点座標と、設定部２１によって設定された誘導領域の領域座標との差分を算出する。例えば、ユーザ端末２０の画面における位置がＸＹ座標系で表される場合であって、第１視点座標が（１０５，１０５）であり領域座標が（１００，１００）である場合には、差分は（１０５−１００，１０５−１００）＝（５，５）となる。算出部２３は算出された差分を主記憶部２０２、補助記憶部２０３などの任意の記憶装置に格納する。
【００５９】
較正の精度を向上させるために、ユーザ端末２０は誘導領域の位置を変化させながらステップＳ２１からステップＳ２３までの処理を複数回繰り返してもよい。この場合、算出部２３は、算出された複数の差分の統計値（例えば平均値）を、後の較正処理（ステップＳ２５）において使用する差分として設定してもよい。
【００６０】
ステップＳ２４では、トラッキング部２４が第２コンテンツを見るユーザの視点座標を第２視点座標として特定する。第２コンテンツは、コンテンツ配信部１１によって配信されて表示制御部２５により表示される任意のコンテンツである。例えば、第２コンテンツはサンプルコンテンツでもよいし対象コンテンツでもよい。トラッキング部２４は、特定部２２による第１視点座標の特定と同様の方法（すなわち、ステップＳ２２の処理と同様の方法）によって第２視点座標を特定してよい。第２コンテンツは第１コンテンツと異なってもよいし同じでもよい。
【００６１】
ステップＳ２５では、トラッキング部２４が差分を用いて第２視点座標を較正する。例えば、ステップＳ２４において特定された第２視点座標が（１９０，１５５）であり、ステップＳ２３において算出された差分が（５，５）である場合、トラッキング部２４は第２視点座標を（１９０−５，１５５−５）＝（１８５，１５０）というように較正する。
【００６２】
トラッキング部２４は、ステップＳ２４，Ｓ２５の処理を繰り返して、時系列に並ぶ較正後の複数の第２視点座標を取得し、ユーザの視点の動きを示す視点データを生成してもよい。あるいは、トラッキング部２４が較正後の複数の第２視点座標を取得し、サーバ１０がその複数の第２視点座標に基づいて視点データを生成してもよい。
【００６３】
図６および図７を参照し、誘導領域の設定例について説明する。図６および図７はいずれも、設定部２１により第１コンテンツに設定される誘導領域の一例を示す図である。
【００６４】
図６の例では、設定部２１は非誘導領域の解像度を低下させることで誘導領域を設定する。この例では、ユーザ端末２０は、子供、芝生およびボールを含む第１コンテンツＣ１１を表示し、その第１コンテンツＣ１１上で誘導領域の位置を変化させながら差分を算出する。誘導領域の位置の変化に伴って、画面Ｄ１１，Ｄ１２，Ｄ１３の順に表示が変化する。図６では非誘導領域を破線で表す。
【００６５】
まず、設定部２１は子供の顔の部分を誘導領域Ａ１１として設定する。画面Ｄ１１はこの設定に対応する。設定部２１は誘導領域Ａ１１の解像度を変えることなく、誘導領域Ａ１１以外の領域（非誘導領域）の解像度を下げる。一例として、設定部２１は、誘導領域Ａ１１の解像度が非誘導領域の解像度の２倍以上または４倍以上になるように非誘導領域の解像度を下げてもよい。例えば、誘導領域Ａ１１の解像度が３００ｐｐｉであるとき、非誘導領域の解像度は１５０ｐｐｉ以下または７５ｐｐｉ以下であってもよい。このような解像度の設定により、非誘導領域は誘導領域Ａ１１よりもぼやけて表示されるので、ユーザの視線は通常、明瞭に表示された誘導領域Ａ１１に向けられる。これにより、誘導領域Ａ１１を注視するユーザの視点座標（第１視点座標）を特定することが可能となる。画面Ｄ１１が表示されている間に、特定部２２がユーザの第１視点座標を取得し、算出部２３がその第１視点座標と誘導領域Ａ１１の領域座標との差分を算出する。
【００６６】
その後、設定部２１はボールの部分を誘導領域Ａ１２として設定する。画面Ｄ１２はこの設定に対応する。設定部２１は誘導領域Ａ１２の解像度をオリジナル値に戻し、誘導領域Ａ１２以外の領域（非誘導領域）の解像度を下げる。その結果、ユーザの視線は通常、誘導領域Ａ１２に向けられる。画面Ｄ１２が表示されている間に、特定部２２がユーザの第１視点座標を取得し、算出部２３がその第１視点座標と誘導領域Ａ１２の領域座標との差分を算出する。
【００６７】
その後、設定部２１は第１コンテンツＣ１１の右下部分（芝生の部分）を誘導領域Ａ１３として設定する。画面Ｄ１３はこの設定に対応する。設定部２１は誘導領域Ａ１３の解像度をオリジナル値に戻し、誘導領域Ａ１３以外の領域（非誘導領域）の解像度を下げる。その結果、ユーザの視線は通常、誘導領域Ａ１３に向けられる。画面Ｄ１３が表示されている間に、特定部２２がユーザの第１視点座標を取得し、算出部２３がその第１視点座標と誘導領域Ａ１３の領域座標との差分を算出する。算出部２３は算出された複数の差分の統計値を求める。この統計値は、トラッキング部２４による第２視点座標の較正（ステップＳ２５）に用いられる。
【００６８】
図７の例では、設定部２１は第１コンテンツＣ２１内の選択オブジェクトを誘導領域として設定する。この例では、第１コンテンツＣ２１はオンライン学力テストのチュートリアルであり、そのチュートリアルの進行に伴って、画面Ｄ１１，Ｄ１２，Ｄ１３の順に表示が変化する。
【００６９】
画面Ｄ２１は、「国語の問題を出題します。」という文字列と、ＯＫボタンとを含む。ＯＫボタンは選択オブジェクトである。設定部２１は、ＯＫボタンが表示されている領域を誘導領域Ａ２１として設定する。通常、ユーザは選択オブジェクトを操作する際に該選択オブジェクトを注視する。そのため、誘導領域Ａ２１を注視するユーザの視点座標（第１視点座標）を特定することが可能となる。一例では、ＯＫボタンがユーザによって選択されたときに、特定部２２がユーザの第１視点座標を取得し、算出部２３がその第１視点座標と誘導領域Ａ２１の領域座標との差分を算出する。
【００７０】
ユーザがＯＫボタンを操作すると、表示制御部２５が画面Ｄ２１を画面Ｄ２２へと切り替える。画面Ｄ２２は、「問題数を選択してください。」という文字列と、「５問」、「１０問」および「１５問」という三つの選択ボタンとを含む。これらの選択ボタンは選択オブジェクトである。設定部２１は、三つの選択ボタンが表示されている領域をそれぞれ誘導領域Ａ２２、誘導領域Ａ２３、および誘導領域Ａ２４として設定する。一例では、ユーザが三つの選択ボタンのうちいずれか一つを選択したときに、特定部２２がユーザの視点座標（第１視点座標）を特定する。その後、算出部２３が、その第１視点座標と、ユーザによって選択された選択オブジェクトに対応する誘導領域（誘導領域Ａ２２から誘導領域Ａ２４のうちいずれか一つ）の領域座標との差分を算出する。
【００７１】
ユーザが一つの選択ボタンを選択すると、表示制御部２５が画面Ｄ２２を画面Ｄ２３へと切り替える。画面Ｄ２３は、「テストを開始しますか？」という文字列と、開始ボタンとを含む。開始ボタンは選択オブジェクトである。設定部２１は、開始ボタンが表示されている領域を誘導領域Ａ２５として設定する。一例では、開始ボタンがユーザによって選択されたときに、特定部２２がユーザの第１視点座標を取得し、算出部２３がその第１視点座標と誘導領域Ａ２５の領域座標との差分を算出する。算出部２３は算出された複数の差分の統計値を求める。この統計値は、トラッキング部２４による第２視点座標の較正（ステップＳ２５）に用いられる。
【００７２】
図８は、アシストシステム１の動作の一例を処理フローＳ３として示すフローチャートである。処理フローＳ３は、対象コンテンツを視聴する対象ユーザに対してアシスト情報を提供する処理手順を示す。処理フローＳ３は、対象ユーザがアシストシステム１にログインしていることを前提とする。また、アイトラッキングシステムが、視点座標の較正に使用される差分を既に算出していることも前提とする。
【００７３】
ステップＳ３１では、ユーザ端末２０Ｂの表示制御部２５がユーザ端末２０Ｂの画面に対象コンテンツを表示する。表示制御部２５は、例えばコンテンツ配信部１１から配信されたコンテンツデータをサーバ１０から受信し、該コンテンツデータに基づいて対象コンテンツを表示する。
【００７４】
ステップＳ３２では、ユーザ端末２０Ｂのトラッキング部２４が、対象コンテンツを視認する対象ユーザの視点座標（第２視点座標）を取得する。具体的には、トラッキング部２４は、対象コンテンツを見る対象ユーザの眼の動きに基づいて視点座標（較正前の視点座標）を特定し、特定した視点座標を予め算出された差分を用いてその視点座標を較正する。トラッキング部２４は、較正された視点座標を所与の時間間隔ごとに取得し、その複数の視点座標が時系列に沿って並ぶ視点データ（すなわち、対象ユーザの視点の動きを示す対象データ）を生成してもよい。
【００７５】
ステップＳ３３では、推定部１３が対象データを取得する。例えば、推定部１３は、ユーザ端末２０Ｂのトラッキング部２４から対象データを受信してもよい。あるいは、トラッキング部２４が複数の較正された視点座標をサーバ１０に順次送信し、推定部１３は該複数の視点座標が時系列に沿って並ぶ視点データ（対象データ）を生成してもよい。
【００７６】
ステップＳ３４では、推定部１３がデータベース３０を参照して対応関係データを取得し、対象データおよび対応関係データに基づいて対象コンテンツへの対象ユーザの理解度を推定する。一例として、対応関係データがクラスタリングにより生成されている場合には、推定部１３は対象データが属するクラスタにより示される理解度を対象ユーザの理解度として推定する。別の例として、対応関係データが回帰分析によって生成された場合には、推定部１３は回帰式に対象データを適用して対象ユーザの理解度を推定する。さらに別の例として、対応関係データが学習済みモデルである場合には、推定部１３はその学習済みモデルに対象データを入力することで対象ユーザの理解度を推定する。
【００７７】
ステップＳ３５では、アシスト部１４が対象ユーザの理解度に対応するアシスト情報をデータベース３０から取得し、そのアシスト情報をユーザ端末２０Ｂへと送信する。ユーザ端末２０Ｂの表示制御部２５はユーザ端末２０Ｂの画面にアシスト情報を表示する。アシスト情報の出力タイミングは限定されない。例えば、表示制御部２５は対象コンテンツがユーザ端末２０の画面上に表示されたときから所定時間（例えば１５秒）が経過した後にアシスト情報を出力してもよい。あるいは、表示制御部２５はユーザからの要求に応じてアシスト情報を出力してもよい。表示制御部２５はアシスト情報の表示時間をユーザの理解度に応じて調整してもよい。あるいは、表示制御部２５は予めユーザなどにより設定された表示時間の間だけアシスト情報を表示してもよい。あるいは、アシスト部１４は対象コンテンツの表示が切り替わるまでアシスト情報を表示してもよいし、対象コンテンツに対するユーザ入力（例えば、設問に対する解答）が行われるまでアシスト情報を表示してもよい。推定された理解度が、対象コンテンツへの対象ユーザの理解が充分であることを示す場合には、アシスト部１４はアシスト情報を出力することなく処理を終了してもよい。アシスト情報の出力態様は限定されない。アシスト情報が音声データを含む場合にはユーザ端末２０がその音声データをスピーカから出力してもよい。
【００７８】
ステップＳ３６として示すように、アシストシステム１は、ユーザ端末２０Ｂが対象コンテンツを表示している間、ステップＳ３２からステップＳ３５までの処理を繰り返す。一例として、アシストシステム１は対象コンテンツが表示されている間その一連の処理を繰り返す。
【００７９】
図９は、アシストシステム１の動作の例を処理フローＳ４として示すフローチャートである。処理フローＳ４も、対象コンテンツを視聴する対象ユーザに対してアシスト情報を提供する処理に関するが、具体的な手順は処理フローＳ３と異なる。処理フローＳ４も、対象ユーザがアシストシステム１にログインしていることと、アイトラッキングシステムが差分を既に算出していることとを前提とする。
【００８０】
ステップＳ４１では、ユーザ端末２０Ｂの表示制御部２５がユーザ端末２０Ｂの画面に対象コンテンツを表示する。ステップＳ４２では、ユーザ端末２０Ｂのトラッキング部２４が、対象コンテンツを視認する対象ユーザの視点座標（第２視点座標）を取得する。ステップＳ４３では、推定部１３が対象ユーザの視点の動きを示す対象データを取得する。この一連の処理はステップＳ３１〜Ｓ３３と同様である。
【００８１】
ステップＳ４４では、推定部１３がデータベース３０を参照して、一般化された対応関係データを取得し、対象データおよび一般化された対応関係データに基づいて対象コンテンツへの対象ユーザの理解度（第１理解度）を推定する。具体的な推定方法はステップＳ３４と同様である。
【００８２】
ステップＳ４５では、アシスト部１４が対象ユーザの第１理解度に対応するアシスト情報をデータベース３０から取得し、そのアシスト情報をユーザ端末２０Ｂへと送信する。ユーザ端末２０Ｂの表示制御部２５は、ユーザ端末２０Ｂの画面にアシスト情報を出力する。
【００８３】
ステップＳ４６では、アシスト部１４が対象ユーザに対して追加のアシストを行うか否か、すなわち追加のアシスト情報を対象ユーザに提供するか否かを判定する。アシスト部１４が追加のアシストを行わないと判定した場合、処理はステップＳ４９に移る。アシスト部１４が追加のアシストを行うと判定した場合、処理はステップＳ４７に移る。一例として、対象コンテンツに対するユーザ入力（例えば、設問に対する解答）が所定時間内に行われた場合にはアシスト部１４は追加のアシストを行わないと判定し、そのユーザ入力が所定時間内に行われない場合にはアシスト部１４は追加のアシストを行うと判定してもよい。
【００８４】
ステップＳ４７では、推定部１３がデータベース３０を参照して対象コンテンツ特有の対応関係データを取得し、対象データおよびコンテンツ特有の対応関係データに基づいて対象コンテンツへの対象ユーザの理解度（第２理解度）を推定する。この処理は、同じコンテンツがサンプルコンテンツおよび対象コンテンツとして用いられることを前提とする。具体的な推定方法はステップＳ３４と同様である。
【００８５】
ステップＳ４８では、アシスト部１４が対象ユーザの第２理解度に対応する追加のアシスト情報をデータベース３０から取得し、そのアシスト情報をユーザ端末２０Ｂへと送信する。ユーザ端末２０Ｂの表示制御部２５は、ユーザ端末２０Ｂの画面に追加のアシスト情報を出力する。
【００８６】
ステップＳ４９として示すように、アシストシステム１は、ユーザ端末２０Ｂが対象コンテンツを表示している間、ステップＳ４２からステップＳ４８までの処理を繰り返す。一例として、アシストシステム１は対象コンテンツが表示されている間その一連の処理を繰り返す。
【００８７】
図１０はアシスト情報の例を示す図である。この例では、対象コンテンツＱ１１は英語の問題の一部であり、対象ユーザは日本人の生徒であるとする。この例では、アシストシステム１は、「語彙力の不足」を示す理解度Ｒａと、「文法力の不足」を示す理解度Ｒｂと、「文章の背景についての理解不足」を示す理解度Ｒｃとに関する情報を含む対応関係データを参照するものとする。例えば、推定部１３が対象データとその対応関係データとに基づいて、対象ユーザの語彙力が不足していると推定した場合には、アシスト部１４がその理解度に対応するアシスト情報Ｂ１１を出力する。対象ユーザの文法力が不足していると推定部１３が推定した場合には、アシスト部１４はその理解度に対応するアシスト情報Ｂ１２を出力する。対象ユーザが文章の背景を理解していないと推定部１３が推定した場合には、アシスト部１４はその理解度に対応するアシスト情報Ｂ１３を出力する。ユーザ端末２０Ｂの表示制御部２５は出力されたアシスト情報を表示する。対象ユーザはそのアシスト情報を参考にして問題を解くことができる。
【００８８】
［効果］
以上説明したように、本開示の一側面に係るアシストシステムは、少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、対象コンテンツを表示する画面上での対象ユーザの視点の動きを示す対象データを取得し、サンプルコンテンツを視認した複数のサンプルユーザから得られた複数のサンプルデータであって、それぞれのサンプルデータが、該サンプルコンテンツを視認したサンプルユーザの視点の動きと、該サンプルコンテンツに対する該サンプルユーザの理解度とのペアを示す、該複数のサンプルデータに対して統計処理を行うことにより得られる、ユーザの視点の動きとコンテンツへの該ユーザの理解度との対応関係を示す対応関係データと、コンテンツへのユーザの理解度に対応付けられたアシスト情報と、を記憶する記憶部を参照し、対象データおよび対応関係データに基づいて、対象コンテンツへの対象ユーザの理解度を推定し、推定された対象ユーザの理解度に対応するアシスト情報を出力する。
【００８９】
本開示の一側面に係るアシスト方法は、少なくとも一つのプロセッサを備えるアシストシステムによって実行される。アシスト方法は、対象コンテンツを表示する画面上での対象ユーザの視点の動きを示す対象データを取得するステップと、サンプルコンテンツを視認した複数のサンプルユーザから得られた複数のサンプルデータであって、それぞれのサンプルデータが、該サンプルコンテンツを視認したサンプルユーザの視点の動きと、該サンプルコンテンツに対する該サンプルユーザの理解度とのペアを示す、該複数のサンプルデータに対して統計処理を行うことにより得られる、ユーザの視点の動きとコンテンツへの該ユーザの理解度との対応関係を示す対応関係データと、コンテンツへのユーザの理解度に対応付けられたアシスト情報と、を記憶する記憶部を参照するステップと、対象データおよび対応関係データに基づいて、対象コンテンツへの対象ユーザの理解度を推定するステップと、推定された対象ユーザの理解度に対応するアシスト情報を出力するステップとを含む。
【００９０】
本開示の一側面に係るアシストプログラムは、対象コンテンツを表示する画面上での対象ユーザの視点の動きを示す対象データを取得するステップと、サンプルコンテンツを視認した複数のサンプルユーザから得られた複数のサンプルデータであって、それぞれのサンプルデータが、該サンプルコンテンツを視認したサンプルユーザの視点の動きと、該サンプルコンテンツに対する該サンプルユーザの理解度とのペアを示す、該複数のサンプルデータに対して統計処理を行うことにより得られる、ユーザの視点の動きとコンテンツへの該ユーザの理解度との対応関係を示す対応関係データと、コンテンツへのユーザの理解度に対応付けられたアシスト情報と、を記憶する記憶部を参照するステップと、対象データおよび対応関係データに基づいて、対象コンテンツへの対象ユーザの理解度を推定するステップと、推定された対象ユーザの理解度に対応するアシスト情報を出力するステップとをコンピュータに実行させる。
【００９１】
このような側面においては、サンプルユーザから得られたサンプルデータが統計処理されることにより対応関係データが生成され、該対応関係データと、対象コンテンツに対する対象ユーザの視点の動きを示す対象データとに基づいて該対象ユーザの理解度が推定される。統計処理により得られる対応関係データを用いることで、コンテンツを視認するユーザの実際の傾向に即して対象ユーザの理解度が推定される。その推定に基づくアシスト情報を出力することで、対象コンテンツを視認する対象ユーザを適切にアシストできる。ユーザの視点の動きとユーザの理解度との対応関係が統計処理によって導かれるので、その対応関係について予め仮説を設定する必要が無くなる。加えて、統計処理によってその対応関係を精度良く求めることが可能になる（仮説を精度良く設定することは非常に困難である）。したがって、対象ユーザを実状に応じて適切にアシストできる。
【００９２】
他の側面に係るアシストシステムでは、統計処理が、サンプルユーザの視点の動きとサンプルユーザの理解度とに基づいて複数のサンプルデータをクラスタリングする処理を含んでいてもよい。この場合には、ユーザの視点の動きとユーザの理解度との対応関係がクラスタリングによって適切に導出できる。
【００９３】
他の側面に係るアシストシステムでは、統計処理が、複数のサンプルデータに対して回帰分析を行う処理を含んでいてもよい。この場合には、ユーザの視点の動きとユーザの理解度との対応関係が回帰分析によって適切に導出できる。
【００９４】
他の側面に係るアシストシステムでは、少なくとも一つのプロセッサが、対象コンテンツが画面上に表示されたときから所定時間経過後にアシスト情報を出力してもよい。この場合には、アシスト情報を用いずに対象コンテンツについて思考する時間を対象ユーザに対して与えることが可能となり、例えば対象ユーザによる対象コンテンツを用いた学習の自由度を高めることができる。
【００９５】
他の側面に係るアシストシステムでは、対応関係データが、対象コンテンツと異なるサンプルコンテンツを視認したサンプルユーザから得られたサンプルデータを含む複数の第１サンプルデータに対して統計処理を行うことにより得られる一般化された対応関係データと、対象コンテンツをサンプルコンテンツとして視認した複数のサンプルユーザから得られた複数の第２サンプルデータに対して統計処理を行うことにより得られるコンテンツ特有の対応関係データとを含んでもよい。少なくとも一つのプロセッサは、対象データおよび一般化された対応関係データに基づいて、対象コンテンツへの対象ユーザの第１理解度を推定し、推定された対象ユーザの第１理解度に対応するアシスト情報を出力し、対象データおよびコンテンツ特有の対応関係データに基づいて、対象コンテンツへの対象ユーザの第２理解度を推定し、推定された対象ユーザの第２理解度に対応するアシスト情報を出力してもよい。この場合には、一般化された対応関係データに基づくアシスト情報（対象コンテンツに限定されない一般的なアシスト情報）と、コンテンツ特有の対応関係データに基づくアシスト情報（対象コンテンツに特化したアシスト情報）という２種類のアシスト情報によってユーザを効果的にアシストできる。
【００９６】
他の側面に係るアシストシステムでは、少なくとも一つのプロセッサが、対象ユーザの第１理解度に対応するアシスト情報を出力した後に、対象ユーザの第２理解度に対応するアシスト情報を出力してもよい。この場合には、一般化された対応関係データに基づくアシスト情報のみでは対象コンテンツへの理解が不十分である対象ユーザに対して、コンテンツ特有の対応関係データに基づくアシスト情報（すなわち、より具体的なアシスト情報）によってユーザを効果的にアシストできる。
【００９７】
［変形例］
以上、本開示の実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
【００９８】
上記実施形態では、アシストシステム１がサーバ１０を用いて構成されるが、アシストシステム１は、サーバ１０を用いずに構成されてもよい。この場合には、サーバ１０の各機能要素はいずれかのユーザ端末２０に実装されてもよく、例えば、コンテンツの配信者が使用する端末およびコンテンツの視聴者が使用する端末のいずれか一方に実装されてもよい。あるいは、サーバ１０の個々の機能要素は複数のユーザ端末２０に分かれて実装されてもよく、例えば配信者が使用する端末および視聴者が使用する端末に分かれて実装されてもよい。これに関連して、アシストプログラムはクライアントプログラムとして実現されてもよい。ユーザ端末２０がサーバ１０の機能を有することで、サーバ１０の負荷を低減することができる。加えて、生徒などのコンテンツの視聴者に関する情報（例えば、視点の動きを示すデータ）がユーザ端末２０の外部に送信されないので、視聴者の秘密をより確実に守ることが可能になる。
【００９９】
上記実施形態ではアイトラッキングシステムがユーザ端末２０のみから構成されるが、そのシステムはサーバ１０を用いて構成されてもよい。この場合には、ユーザ端末２０のいくつかの機能要素はサーバ１０に実装されてもよい。例えば、算出部２３に相当する機能要素がサーバ１０に実装されてもよい。
【０１００】
上記実施形態ではアシスト情報は対象コンテンツとは別に表示されるが、アシスト情報は対象コンテンツの一部を構成するような態様で表示されてもよい。例えば対象コンテンツが文章を含む場合、アシスト部１４は該文章の一部（例えば文章の理解のために重要である部分）をアシスト情報として強調表示してもよい。すなわち、アシスト情報は対象コンテンツに付加される視覚効果でもよい。このとき、アシスト部１４はアシスト情報の対象となる文章の一部の色またはフォントを他の部分異ならせることによってその強調表示を実行してもよい。
【０１０１】
上記実施形態ではアシストシステム１は対象ユーザの理解度に対応するアシスト情報を出力する。しかし、アシストシステム１はその理解度を用いることなくアシスト情報を出力してもよい。以下にこの変形例について説明する。
【０１０２】
サーバ１０は、サンプルコンテンツを視認したサンプルユーザの視点の動きを示す視点データと、該サンプルユーザに提示されたアシスト情報とを示すサンプルデータをそれぞれのユーザ端末２０Ａから取得し、そのサンプルデータをデータベース３０に格納する。一例では、サンプルユーザに提示されたアシスト情報（すなわち、サンプルユーザに対応するアシスト情報）は、人手による実験または調査、サンプルユーザへのアンケートなどによって特定され、ユーザ端末２０Ａに入力される。統計処理部１２はデータベース３０内のサンプルデータに対して統計処理を行い、ユーザの視点の動きとコンテンツのアシスト情報との対応関係を示す対応関係データを生成し、その対応関係データをデータベース３０に格納する。上記実施形態と同様に、統計処理の手法および生成される対応関係データの表現形式は限定されない。したがって、統計処理部１２はクラスタリング、回帰分析、機械学習などの様々な手法によって対応関係データを生成してよい。
【０１０３】
サーバ１０は、ユーザ端末２０Ｂから受信した対象データとその対応関係データとに基づいて、該対象データに対応するアシスト情報を出力する。一例では、推定部１３がデータベース３０を参照して対応関係データを取得し、対象データに対応するアシスト情報を特定する。対応関係データがクラスタリングにより生成されている場合には、推定部１３は対象データが属するクラスタにより示されるアシスト情報を特定する。別の例として、対応関係データが回帰分析によって生成された場合には、推定部１３は回帰式に対象データを適用してアシスト情報をする。さらに別の例として、対応関係データが学習済みモデルである場合には、推定部１３はその学習済みモデルに対象データを入力することでアシスト情報を特定する。アシスト部１４は特定されたアシスト情報をデータベース３０から取得し、そのアシスト情報をユーザ端末２０Ｂへと送信する。
【０１０４】
すなわち、本開示の一側面に係るアシストシステムは、少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、対象コンテンツを表示する画面上での対象ユーザの視点の動きを示す対象データを取得し、サンプルコンテンツを視認した複数のサンプルユーザから得られた複数のサンプルデータであって、それぞれのサンプルデータが、該サンプルコンテンツを視認したサンプルユーザの視点の動きと、該サンプルユーザに対応するアシスト情報とを示す、該複数のサンプルデータに対して統計処理を行うことにより得られる、ユーザの視点の動きとコンテンツのアシスト情報との対応関係を示す対応関係データを記憶する記憶部を参照し、対象データおよび対応関係データに基づいて、該対象データに対応するアシスト情報を出力する。
【０１０５】
このような側面においては、サンプルユーザから得られたサンプルデータが統計処理されることにより対応関係データが生成され、該対応関係データと、対象コンテンツに対する対象ユーザの視点の動きを示す対象データとに基づいてアシスト情報が出力される。統計処理により得られる対応関係データを用いることで、コンテンツを視認するユーザの実際の傾向に即してアシスト情報を出力できる。したがって、対象コンテンツを視認する対象ユーザを適切にアシストできる。
【０１０６】
本開示において、「少なくとも一つのプロセッサが、第１の処理を実行し、第２の処理を実行し、…第ｎの処理を実行する。」との表現、またはこれに対応する表現は、第１の処理から第ｎの処理までのｎ個の処理の実行主体（すなわちプロセッサ）が途中で変わる場合を含む概念である。すなわち、この表現は、ｎ個の処理のすべてが同じプロセッサで実行される場合と、ｎ個の処理においてプロセッサが任意の方針で変わる場合との双方を含む概念である。
【０１０７】
少なくとも一つのプロセッサにより実行される方法の処理手順は上記実施形態での例に限定されない。例えば、上述したステップ（処理）の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の２以上のステップが組み合わされてもよいし、ステップの一部が修正又は削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
【符号の説明】
【０１０８】
１…アシストシステム、１０…サーバ、１１…コンテンツ配信部、１２…統計処理部、１３…推定部、１４…アシスト部、２０，２０Ａ，２０Ｂ…ユーザ端末、２１…設定部、２２…特定部、２３…算出部、２４…トラッキング部、２５…表示制御部、３０…データベース、１００…サーバコンピュータ、１０１…プロセッサ、１０２…主記憶部、１０３…補助記憶部、１０４…通信部、２００…端末コンピュータ、２０１…プロセッサ、２０２…主記憶部、２０３…補助記憶部、２０４…通信部、２０５…入力インタフェース、２０６…出力インタフェース、２０７…撮像部、Ａ１１，Ａ１２，Ａ１３，Ａ２１，Ａ２２，Ａ２３，Ａ２４，Ａ２５…誘導領域、Ｃ１１，Ｃ２１…第１コンテンツ、Ｄ１１，Ｄ１２，Ｄ１３，Ｄ２１，Ｄ２２，Ｄ２３…画面、Ｎ…通信ネットワーク、Ｐ１…サーバプログラム、Ｐ２…クライアントプログラム。
【要約】
【課題】コンテンツを視認するユーザを適切にアシストすること。
【解決手段】一実施形態に係るアシストシステムは、少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、対象ユーザの視点の動きを示す対象データを取得し、複数のサンプルユーザから得られた複数のサンプルデータであって、それぞれのサンプルデータがサンプルコンテンツを視認したサンプルユーザの視点の動きと、該サンプルコンテンツに対する該サンプルユーザの理解度とのペアを示す、該複数のサンプルデータに統計処理を行うことで得られる、ユーザの視点の動きとコンテンツへの該ユーザの理解度との対応関係を示す対応関係データと、コンテンツへのユーザの理解度に対応付けられたアシスト情報と、を記憶する記憶部を参照し、対象データと対応関係データとに基づいて対象ユーザの理解度を推定し、対象ユーザの理解度に対応するアシスト情報を出力する。
【選択図】図４【図１】
0006980883.tif 000002
【図２】
0006980883.tif 000003
【図３】
0006980883.tif 000004
【図４】
0006980883.tif 000005
【図５】
0006980883.tif 000006
【図６】
0006980883.tif 000007
【図７】
0006980883.tif 000008
【図８】
0006980883.tif 000009
【図９】
0006980883.tif 000010
【図１０】
0006980883.tif 000011