以下に、本願に係る判定プログラム、判定方法、端末装置、学習データ、及びモデルを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る判定プログラム、判定方法、端末装置、学習データ、及びモデルが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(実施形態)
〔1.判定処理〕
図1を用いて、実施形態に係る判定処理の一例について説明する。図1は、実施形態に係る判定処理の一例を示す図である。図1では、端末装置10は、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報に基づいて、所定の操作に続けて次の操作が行われるかを判定する。具体的には、端末装置10は、ユーザのタップ操作に関するセンサ情報と、ユーザの操作を判定する判定モデル(以下、単に「モデル」ともいう)とを用いて、ユーザのタップ操作がシングルタップの操作であるか、ダブルタップにおける1回目の操作であるかを判定する。なお、モデルの生成に関する生成処理については、図2で説明する。
また、ここでいうタップ操作(タップ)とは、スマートフォン等のタッチパネルを有する装置に対するタップ操作である。例えば、タップ操作(タップ)とは、ユーザが端末装置10の画面に指先や専用のペン等で短く接触(タッチ)する操作である。また、シングルタップは、ユーザが1回タップを行う操作に対応する。また、ダブルタップは、ユーザが2回連続してタップを行う操作に対応する。例えば、ダブルタップは、ユーザが所定の期間内に2回タップする操作である。例えば、ダブルタップは、あるタップ(1回目のタップ)を行った時点から所定の期間(以下では、「待機期間TM」とする場合がある)の間に続けて、次のタップ(2回目のタップ)を行う操作である。なお、待機期間TMは、操作の種類やユーザに応じて、例えば1秒や0.5秒等、種々の値に設定可能であってもよい。
図1の例では、端末装置10にサーバ装置50(図3参照)が提供するコンテンツ(電子書籍)を表示するためのアプリケーション(以下、「電子書籍アプリ」ともいう)がインストール済みであるものとする。図1の例では、端末装置10にインストールされた電子書籍アプリが起動されており、端末装置10が電子書籍アプリによりコンテンツを表示する場合を示す。
また、図1の例では、ユーザが行ったタップ操作の後に続けて次のタップ操作が行われるかを判定対象とする場合を示す。すなわち、図1の例では、判定対象が、ユーザが行った最初のタップ操作の後に続けて2回目のタップ操作が行われるかである場合を示す。例えば、図1の判定対象は、ユーザの操作がシングルタップであるか、ダブルタップの1回目のタップ操作であるかを判定する場合を示す。なお、判定対象は、上記に限らず、種々の対象(操作)であってもよい。
〔判定システムの構成〕
まず、図1の説明に先立って、図3に示すように、判定システム1は、端末装置10と、サーバ装置50とが含まれる。端末装置10と、サーバ装置50とは所定のネットワークNを介して、有線または無線により通信可能に接続される。図3は、実施形態に係る判定システムの構成例を示す図である。なお、図3に示した判定システム1には、複数台の端末装置10や、複数台のサーバ装置50が含まれてもよい。
端末装置10は、ユーザによって利用される情報処理装置(コンピュータ)である。端末装置10は、タッチパネルの機能を有する。端末装置10は、ユーザによる画面の接触をユーザの操作として受け付ける。端末装置10は、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報に基づいて、所定の操作に続けて次の操作が行われるかを判定する判定処理を行う。例えば、端末装置10は、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報に基づく判定を行う判定装置である。
また、端末装置10は、電子書籍等の種々のコンテンツを画面に表示する表示装置である。例えば、端末装置10は、判定した結果(判定結果)に応じて画面の表示を変更する表示処理を行う。なお、端末装置10が行う表示処理は、端末装置10が行う判定処理に含まれてもよい。また、例えば、端末装置10は、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報に基づいてモデルを生成する生成処理を行ってもよい。
端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。例えば、図1では、端末装置10がユーザU1が利用するスマートフォンである場合を示す。なお、上記のように、「ユーザU*(*は任意の数値)」と記載した場合、そのユーザはユーザID「U*」により識別されるユーザであることを示す。例えば、「ユーザU1」と記載した場合、そのユーザはユーザID「U1」により識別されるユーザである。
また、端末装置10は、後述するセンサ部16を有する。例えば、端末装置10は、圧力センサやタッチパネルの機能を実現するためにセンサやGPS(Global Positioning System)センサ等の各種センサにより、各種センサ情報を検知してもよい。また、端末装置10は、加速度センサの機能を有し、ユーザの端末装置10の加速度情報(センサ情報)を検知し、取得する。例えば、端末装置10は、ジャイロセンサ(角速度センサ)を有してもよい。また、端末装置10は、温度センサや気圧センサ等の種々の機能を有し、温度や気圧等のユーザの置かれている環境情報を検知し、取得可能であってもよい。また、端末装置10は、心拍センサ等の種々の機能を有し、ユーザの生体情報を検知し、取得可能であってもよい。例えば、端末装置10を利用するユーザは、端末装置10と通信可能なウェアラブルデバイスを身に付けることにより、端末装置10によりユーザ自身のコンテキスト情報を取得可能としてもよい。例えば、端末装置10を利用するユーザは、端末装置10と通信可能なリストバンド型のウェアラブルデバイスを身に付けることにより、ユーザ自身の心拍(脈拍)に関する情報を端末装置10が取得可能としてもよい。
サーバ装置50は、端末装置10を利用するユーザに各種サービスを提供する情報処理装置である。例えば、サーバ装置50は、ユーザにコンテンツを提供するサービス(コンテンツ提供サービス)を行う。例えば、サーバ装置50は、ユーザが利用する端末装置10に、電子書籍等のコンテンツ情報(電子データ)を提供する。サーバ装置50は、端末装置10からの要求に応じて、端末装置10において表示されるコンテンツを配信する。
また、サーバ装置50は、端末装置10にモデル情報を提供してもよい。例えば、サーバ装置50は、端末装置10にユーザの操作に関する判定に用いるモデルを提供してもよい。例えば、サーバ装置50は、端末装置10に所定の操作に続けて次の操作が行われるかを判定するモデルM1等のモデル情報を提供してもよい。
図1に戻って、ここから判定処理ついて説明する。図1や図2の例では、端末装置10は、シングルタップを端末装置10に表示される電子書籍のページを変更する操作として受け付ける。例えば、端末装置10は、ユーザが端末装置10の画面の中心よりも左側をシングルタップした場合、端末装置10に表示される電子書籍のページを1ページ進める操作として受け付ける。例えば、端末装置10は、ユーザが端末装置10の画面の中心よりも右側をシングルタップした場合、端末装置10に表示される電子書籍のページを1ページ戻る操作として受け付ける。
また、例えば、端末装置10は、ユーザが端末装置10の画面をダブルタップした場合、ユーザがダブルタップした位置を中心として拡大表示する操作として受け付ける。また、図1及び図2の例では、端末装置10は、1回目のタップの画面における位置と2回目のタップの画面における位置とが所定の範囲(例えば数ミリメートル等)内である場合に、ユーザの操作がダブルタップであるとして受け付けるものとする。例えば、端末装置10は、1回目のタップにおいてセンサにより検知された画面中の座標と、2回のタップにおいてセンサにより検知された画面中の座標とが所定の範囲内である場合に、ユーザの操作がダブルタップであるとして受け付けるものとする。
例えば、端末装置10は、1回目のタップの画面における位置と2回目のタップの画面における位置とが所定の範囲外である場合に、ユーザの操作が2回のシングルタップであるとして受け付けるものとする。また、例えば、端末装置10は、あるタップ(1回目のタップ)を行った時点から待機期間TM経過後に次のタップ(2回目のタップ)が行われた場合、ユーザの操作が2回のシングルタップであるとして受け付けるものとする。
なお、上記の操作は一例であり、種々のユーザ操作に、画面表示の変更等の端末装置10の処理(挙動)が対応付けられてもよい。また、図1や図2においては、日時を「dt11」等の抽象的な符号で図示するが、各日時「dt*(*は任意の数値)」は、具体的な日時であるものとする。例えば、日時dt11は、「2017年9月26日23時28分47秒」等の具体的な日時であってもよい。また、図1及び図2においては、端末装置10の表示やユーザの操作の受け付けに応じて、端末装置10−11、10−12、10−21〜10−23等として説明するが、特に区別して説明を行う場合以外は、単に「端末装置10」とする。
まず、端末装置10−11は、日時dt11において、ユーザU1のタップ操作を受け付ける(ステップS10)。図1の例では、ページPG1を表示している端末装置10は、ユーザU1が指F1により画面の左側を1回タップする操作を受け付ける。なお、図1に示すページPG1やページPG2は、コンテンツCT1(図7参照)に含まれるページであるものとする。
これにより、端末装置10−11は、ユーザU1のタップ操作に関するセンサ情報SDT11を取得する。例えば、端末装置10−11は、センサ部16(図4参照)に含まれる各種のセンサにより検知されたセンサ情報を含むセンサ情報SDT11を取得する。
例えば、端末装置10は、圧力センサにより検知された圧力を示す圧力情報を含むセンサ情報SDT11を取得する。例えば、端末装置10は、ユーザU1が画面に接触する圧力を示す圧力情報を含むセンサ情報SDT11を取得する。
例えば、端末装置10は、画面におけるユーザの接触範囲(座標)を検知するセンサにより検知されたユーザが接触する面積(接触面積)を示す面積情報を含むセンサ情報SDT11を取得する。例えば、端末装置10は、ユーザU1による画面の接触面積を示す面積情報を含むセンサ情報SDT11を取得する。
例えば、端末装置10は、端末装置10の画面への接触を検知するセンサや計時機能(タイマー)等により検知されたユーザの接触時間を示す時間情報を含むセンサ情報SDT11を取得する。例えば、端末装置10は、ユーザU1が端末装置10の画面への接触から、接触の解除までの時間を示す時間情報を含むセンサ情報SDT11を取得する。
例えば、端末装置10は、上記に限らず、加速度センサ等の種々のセンサにより検知されたセンサ情報を含むセンサ情報SDT11を取得してもよい。
センサ情報SDT11を取得した端末装置10−11は、センサ情報SDT11をモデルに入力する。例えば、端末装置10は、センサ情報SDT11を、モデルM1に入力する。なお、図1に示すモデルM1は、ユーザが行ったタップ操作の後に続けて次のタップ操作が行われるかを判定対象とするモデルである。すなわち、モデルM1は、ユーザが行ったタップ操作に関するセンサ情報が入力されると、そのセンサ情報に対応するユーザのタップ操作の後に続けて次のタップ操作が行われるかの判定に用いられるモデルである。
また、モデルM1が出力するスコアが高い程、センサ情報に対応するユーザのタップ操作の後に続けて次のタップ操作が行われる可能性が高いことを示す。すなわち、モデルM1が出力するスコアが高い程、センサ情報に対応するユーザのタップ操作がダブルタップの1回目のタップである可能性が高いことを示す。また、モデルM1が出力するスコアが低い程、センサ情報に対応するユーザのタップ操作がシングルタップである可能性が高いことを示す。図1の例では、閾値を「0.6」である場合を示し、端末装置10は、モデルM1が出力するスコアが閾値「0.6」以上である場合、センサ情報に対応するユーザのタップ操作がダブルタップの1回目のタップであると判定する。また、端末装置10は、モデルM1が出力するスコアが閾値「0.6」未満である場合、センサ情報に対応するユーザのタップ操作がシングルタップであると判定する。
図1の例では、端末装置10は、処理群PS11に示すような処理により、日時dt11にユーザU1により行われたタップ操作がシングルタップかダブルタップの1回目のタップであるかの可能性を示すスコアを算出する。端末装置10は、センサ情報SDT11をモデルM1に入力する(ステップS11)。具体的には、端末装置10は、日時dt11にユーザU1により行われたタップ操作に関する圧力情報や面積情報や時間情報等を含むセンサ情報SDT11をモデルM1に入力する。ユーザ情報UDT1が入力されたモデルM1は、スコアを出力する(ステップS12)。図1の例では、センサ情報SDT11が入力されたモデルM1は、スコアSC11に示すようなスコア「0.2」を出力する。
そして、端末装置10は、センサ情報SDT11が入力されたモデルM1が出力したスコアに基づいて、センサ情報SDT11に対応するユーザのタップ操作の後に続けて次のタップ操作が行われるかを判定する(ステップS13)。図1の例では、端末装置10は、センサ情報SDT11が入力されたモデルM1が出力したスコア「0.2」に基づいて、結果情報RS11に示すように判定する。具体的には、端末装置10は、モデルM1が出力したスコア「0.2」であり閾値「0.6」未満であるため、日時dt11におけるユーザのタップ操作の後に続けて次のタップは無いと判定する。すなわち、端末装置10は、モデルM1が出力したスコア「0.2」であり閾値「0.6」未満であるため、日時dt11におけるユーザのタップ操作はシングルタップであると判定する。
そして、端末装置10は、判定結果に応じて画面の表示を変更する(ステップS14)。図1の例では、端末装置10は、日時dt11におけるユーザのタップ操作はシングルタップであると判定したため、画面の表示をページPG1の次にページPG2を表示するように変更する。これにより、端末装置10は、日時dt12において、端末装置10−12に示すように、画面にページPG2を表示する。
このように、端末装置10は、センサ情報SDT11に対応するタップ操作が行われた日時dt11の時点で、そのタップ操作の後に続けて次のタップ操作が行われるかを判定する。すなわち、端末装置10は、センサ情報SDT11に対応するタップ操作が行われたタイミングで、そのタップ操作の後に続けて次のタップ操作が行われるかを判定する。このように、端末装置10は、センサ情報SDT11に対応するタップ操作が行われたタイミングで、そのタップ操作が完結した操作(シングルタップ)であるか、次の操作が行われる操作なのかを判定する。そのため、端末装置10は、ユーザの操作がシングルタップであると判定した場合、待機期間TMの経過を待つことなく、ユーザのシングルタップの操作に応じて画面の表示を変更する。図1の例では、端末装置10は、日時dt11から待機期間TMが経過した日時dt15よりも前の日時dt12において、端末装置10−12に示すように、画面にページPG2を表示することができる。これにより、端末装置10は、シングルタップの操作を行ったユーザU1に、待機期間TMの経過を待つことを強いることなく、ユーザU1が望むページの表示を行うことができる。また、端末装置10は、ユーザが待機期間TM内に連続してシングルタップの操作を行った場合であっても、センサ情報に基づいて判定することにより、各タップ(シングルタップ)の操作をシングルタップの操作として、対応する処理を行うことができる。したがって、端末装置10は、ユーザが連続でシングルタップしたい場合に、判定システム1(端末装置10)側でダブルタップだと判定することによる、誤判定を抑制することができる。これにより、端末装置10は、ユーザの操作性の向上を可能にすることができる。すなわち、端末装置10は、ユーザビリティの向上を可能にすることができる。
また、端末装置10−21は、日時dt21において、ユーザU1のタップ操作を受け付ける(ステップS20)。図1の例では、ページPG1を表示している端末装置10−21は、ユーザU1が指F1により画面の左側を1回タップする操作を受け付ける。
これにより、端末装置10−21は、ユーザU1のタップ操作に関するセンサ情報SDT21を取得する。例えば、端末装置10は、センサ部16(図4参照)に含まれる各種のセンサにより検知されたセンサ情報を含むセンサ情報SDT21を取得する。例えば、端末装置10は、圧力情報や面積情報や時間情報を含むセンサ情報SDT21を取得する。
センサ情報SDT21を取得した端末装置10−21は、センサ情報SDT21をモデルに入力する。例えば、端末装置10は、センサ情報SDT21を、モデルM1に入力する。
図1の例では、端末装置10は、処理群PS21に示すような処理により、日時dt21にユーザU1により行われたタップ操作がシングルタップかダブルタップの1回目のタップであるかの可能性を示すスコアを算出する。端末装置10は、センサ情報SDT21をモデルM1に入力する(ステップS21)。具体的には、端末装置10は、日時dt21にユーザU1により行われたタップ操作に関する圧力情報や面積情報や時間情報等を含むセンサ情報SDT21をモデルM1に入力する。ユーザ情報UDT1が入力されたモデルM1は、スコアを出力する(ステップS22)。図1の例では、センサ情報SDT21が入力されたモデルM1は、スコアSC11に示すようなスコア「0.7」を出力する。
そして、端末装置10は、センサ情報SDT21が入力されたモデルM1が出力したスコアに基づいて、センサ情報SDT21に対応するユーザのタップ操作の後に続けて次のタップ操作が行われるかを判定する(ステップS23)。図1の例では、端末装置10は、センサ情報SDT21が入力されたモデルM1が出力したスコア「0.7」に基づいて、結果情報RS21に示すように判定する。具体的には、端末装置10は、モデルM1が出力したスコア「0.7」であり閾値「0.6」以上であるため、日時dt21におけるユーザのタップ操作の後に続けて次のタップが有ると判定する。すなわち、端末装置10は、モデルM1が出力したスコア「0.7」であり閾値「0.6」以上であるため、日時dt21におけるユーザのタップ操作はダブルタップの1回目のタップである可能性が高いと判定する。
そのため、端末装置10は、日時dt21から待機期間TMが経過するまで、ダブルタップの2回目のタップが行われるのを待つ。図1の例では、端末装置10は、日時dt21から日時dt25までの間、ダブルタップの2回目のタップが行われるのを待つ。
そして、端末装置10−22は、日時dt21よりも後であり日時dt25よりも前の日時dt22において、ユーザU1のタップ操作を受け付ける(ステップS24)。図1の例では、ページPG1を表示している端末装置10−22は、ユーザU1が指F1により画面の左側を再度1回タップする操作を受け付ける。図1の例では、端末装置10−22は、日時dt21においてタップした位置から所定の範囲内の位置をユーザU1が1回タップする操作を受け付ける。そのため、端末装置10は、日時dt21のタップ操作と、日時dt22のタップ操作とにより、ユーザU1によるダブルタップが行われたと判定する。
そして、端末装置10は、判定結果に応じて画面の表示を変更する(ステップS25)。図1の例では、端末装置10は、日時dt21のタップ操作と、日時dt22のタップ操作とは、ダブルタップであると判定したため、画面の表示をページPG1において、ユーザU1がダブルタップした位置を中心として拡大表示するように変更する。これにより、端末装置10は、日時dt23において、端末装置10−23に示すように、ユーザU1がダブルタップした位置付近(ページPG1の左下側)を拡大表示する。
このように、端末装置10は、ユーザの操作がダブルタップの1回目である可能性が高いと判定した場合、ダブルタップの2回目のタップ操作を待機期間TMの間を待つ。そして、端末装置10は、待機期間TM内にユーザの操作が2回目のタップ操作を行った場合、ダブルタップに対応する画面の表示に変更する。これにより、端末装置10は、ユーザの操作がダブルタップである可能性が高い場合、待機期間TMの間、次のタップ操作を待つことにより、ユーザによるダブルタップの操作を適切に受け付けることができる。
また、端末装置10は、待機期間TM内にユーザの操作が2回目のタップ操作が行われなかった場合、ユーザのタップ操作をシングルタップとして、シングルタップに対応する画面の表示に変更する。このように、端末装置10は、待機期間TMを待つ場合であっても、待機期間TM内にユーザの操作が2回目のタップ操作が行われなかった場合、ユーザのタップ操作をシングルタップとして、シングルタップに対応する画面の表示に変更する。このように、端末装置10は、誤操作としてユーザの操作に対応する処理を行わないのではなく、シングルタップかダブルタップのいずれかとして処理を行うことが可能となる。これにより、端末装置10は、ユーザに何度も操作を行わせることを抑制することが可能となる。したがって、端末装置10は、ユーザの操作性の向上を可能にすることができる。
〔1−1.生成処理〕
次に、図2を用いて、実施形態に係る生成処理の一例について説明する。図2は、実施形態に係る生成処理の一例を示す図である。図2では、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報と正解情報とを含む学習データに基づいてモデルの生成を行う場合を示す。図2の例では、端末装置10は、端末装置10の画面に対するユーザのタップ操作に関するセンサ情報と、そのタップ操作がシングルタップかダブルタップの1回目のタップであったかを示す正解情報とを含む学習データに基づいてモデルの生成を行う場合を示す。このように、正解情報が対応付けられたセンサ情報を「学習データ」ともいう。
まず、図2の示す例において、モデルの生成に用いるデータ(学習データ)を収集する場合を説明する。まず、端末装置10−31は、日時dt31において、ユーザU1のタップ操作を受け付ける(ステップS30)。図2の例では、ページPG31を表示している端末装置10は、ユーザU1が指F1により画面の左側を1回タップする操作を受け付ける。そして、端末装置10−31は、ユーザU1のタップ操作に関するセンサ情報SDT101を取得する。例えば、端末装置10−31は、センサ部16(図4参照)に含まれる各種のセンサにより検知されたセンサ情報を含むセンサ情報SDT101を取得する。
例えば、端末装置10は、圧力センサにより検知された圧力を示す圧力情報を含むセンサ情報SDT101を取得する。例えば、端末装置10は、ユーザU1が画面に接触する圧力を示す圧力情報を含むセンサ情報SDT101を取得する。
例えば、端末装置10は、画面におけるユーザの接触範囲(座標)を検知するセンサにより検知されたユーザが接触する面積(接触面積)を示す面積情報を含むセンサ情報SDT101を取得する。例えば、端末装置10は、ユーザU1による画面の接触面積を示す面積情報を含むセンサ情報SDT101を取得する。
例えば、端末装置10は、端末装置10の画面への接触を検知するセンサや計時機能(タイマー)等により検知されたユーザの接触時間を示す時間情報を含むセンサ情報SDT101を取得する。例えば、端末装置10は、ユーザU1が端末装置10の画面への接触から、接触の解除までの時間を示す時間情報を含むセンサ情報SDT101を取得する。
例えば、端末装置10は、上記に限らず、加速度センサ等の種々のセンサにより検知されたセンサ情報を含むセンサ情報SDT101を取得してもよい。
そして、図2の例では、端末装置10は、日時dt31から待機期間TMが経過した日時dt35までの間において、2回目のタップ操作を受付けていない(ステップS31)。そのため、端末装置10は、センサ情報SDT101に対応するユーザU1のタップ操作をシングルタップと判定する。そして、端末装置10は、センサ情報SDT101に対応するタップ操作がシングルタップであることを示す正解情報RDT101を、センサ情報SDT101に対応づける。すなわち、端末装置10は、センサ情報SDT101に対応するタップ操作には次のタップ操作が無いことを示す正解情報RDT101を、センサ情報SDT101に対応づける。
また、端末装置10−41は、日時dt41において、ユーザU1のタップ操作を受け付ける(ステップS40)。図2の例では、ページPG41を表示している端末装置10は、ユーザU1が指F1により画面の右側を1回タップする操作を受け付ける。そして、端末装置10−41は、ユーザU1のタップ操作に関するセンサ情報SDT102を取得する。例えば、端末装置10−41は、センサ部16(図4参照)に含まれる各種のセンサにより検知されたセンサ情報を含むセンサ情報SDT102を取得する。例えば、端末装置10は、圧力情報や面積情報や時間情報を含むセンサ情報SDT102を取得する。
そして、端末装置10−42は、日時dt41よりも後であり日時dt45よりも前の日時dt42において、ユーザU1のタップ操作を受け付ける(ステップS41)。図2の例では、端末装置10−42は、ユーザU1が指F1により日時dt41においてタップした位置の近傍を再度1回タップする操作を受け付ける。図1の例では、端末装置10−42は、日時dt41においてタップした位置から所定の範囲内の位置をユーザU1が1回タップする操作を受け付ける。そのため、端末装置10は、日時dt41のタップ操作と、日時dt42のタップ操作とにより、ユーザU1によるダブルタップが行われたと判定する。
そのため、端末装置10は、センサ情報SDT102に対応するユーザU1のタップ操作をダブルタップの1回目のタップであると判定する。そして、端末装置10は、センサ情報SDT102に対応するタップ操作がダブルタップの1回目のタップであることを示す正解情報RDT102を、センサ情報SDT102に対応づける。すなわち、端末装置10は、センサ情報SDT102に対応するタップ操作には次のタップ操作が有ることを示す正解情報RDT102を、センサ情報SDT102に対応づける。
また、端末装置10−51は、日時dt51において、ユーザU1のタップ操作を受け付ける(ステップS50)。図2の例では、ページPG51を表示している端末装置10は、ユーザU1が指F1により画面の右側を1回タップする操作を受け付ける。そして、端末装置10−51は、ユーザU1のタップ操作に関するセンサ情報SDT103を取得する。例えば、端末装置10−51は、センサ部16(図4参照)に含まれる各種のセンサにより検知されたセンサ情報を含むセンサ情報SDT103を取得する。例えば、端末装置10は、圧力情報や面積情報や時間情報を含むセンサ情報SDT103を取得する。
そして、端末装置10−52は、日時dt51よりも後であり日時dt55よりも前の日時dt52において、ユーザU1のタップ操作を受け付ける(ステップS51)。図2の例では、端末装置10−52は、ユーザU1が指F1により日時dt51においてタップした位置の遠隔を1回タップする操作を受け付ける。図1の例では、端末装置10−52は、日時dt51においてタップした位置から所定の範囲外の位置をユーザU1が1回タップする操作を受け付ける。そのため、端末装置10は、日時dt51のタップ操作と、日時dt52のタップ操作とを、各々異なるユーザU1によるシングルタップと判定する。
そのため、端末装置10は、センサ情報SDT103に対応するユーザU1のタップ操作をシングルタップであると判定する。そして、端末装置10は、センサ情報SDT103に対応するタップ操作がシングルタップであることを示す正解情報RDT103を、センサ情報SDT103に対応づける。すなわち、端末装置10は、センサ情報SDT103に対応するタップ操作には次のタップ操作が無いことを示す正解情報RDT103を、センサ情報SDT103に対応づける。なお、端末装置10は、日時dt52におけるタップ操作に関するセンサ情報もシングルに対応するセンサ情報として、学習データに追加してもよい。
また、端末装置10は、学習データLD1を取得する(ステップS61)。例えば、端末装置10は、データDT101〜DT104等を含む学習データLD1を取得する。例えば、端末装置10は、センサ情報SDT101に正解情報RDT101が対応付けられたデータDT101を取得する。例えば、端末装置10は、センサ情報SDT102に正解情報RDT102が対応付けられたデータDT102を取得する。なお、図2の例では、端末装置10は、上記のような学習データLD1を所定の外部情報処理装置から取得してもよい。なお、上記のように、「データDT*(*は任意の数値)」と記載した場合、そのデータはデータID「DT*」により識別されるデータであることを示す。例えば、「データDT1」と記載した場合、そのデータはデータID「DT1」により識別されるデータである。
そして、端末装置10は、ステップS21で取得した学習データLD1に含まれる正解情報とユーザ情報との組み合わせを学習データとして追加する(ステップS62)。具体的には、端末装置10は、学習データLD1を学習データ記憶部141に追加する。図2の例では、端末装置10は、ユーザU1がタップ操作を行った際のセンサ情報SDT101と、そのセンサ情報SDT101に対応するタップ操作がシングルタップであることを示す正解情報RDT101を含むデータDT101等を学習データ記憶部141に追加する。
そして、端末装置10は、学習データに基づいてモデルを生成する(ステップS63)。図2の例では、端末装置10は、モデル情報記憶部142に示すように、モデルM1〜M3等を生成する。上記のように、「モデルM*(*は任意の数値)」と記載した場合、そのモデルはモデルID「M*」により識別されるモデルであることを示す。例えば、「モデルM1」と記載した場合、そのモデルはモデルID「M1」により識別されるモデルである。
図2中のモデル情報記憶部142に示すように、モデルM1は対象となる判定対象が「次のタップ(2回目のタップ)」であることを示す。すなわち、モデルM1は、端末装置10の画面に対するユーザのタップ操作に関するセンサ情報が入力された場合に、そのタップ操作に続けて次のタップ操作が行われるかの判定に用いられることを示す。また、モデルM1のモデルデータは、モデルデータMDT1であることを示す。
例えば、端末装置10は、学習データ記憶部141中のデータDT101〜DT104等を学習データ(教師データ)として、学習を行なうことにより、モデルを生成する。例えば、端末装置10は、ユーザのタップ操作に対応するセンサ情報に関する特徴量を用いて、モデルを生成する。例えば、端末装置10は、圧力情報や面積情報や時間情報に関する特徴量を用いて、モデルを生成する。このように、端末装置10は、ユーザのタップ操作に対応する特徴を学習し、そのタップ操作に続けて次のタップ操作が行われるかを判定するモデルを生成する。図2の例では、端末装置10は、ユーザのタップ操作での圧力情報や面積情報や時間情報等に関する特徴を学習し、そのタップ操作に続けて次のタップ操作が行われるかを判定するモデルを生成する。なお、端末装置10が学習するユーザに対応する特徴は、端末装置10の管理者等の人間が端末装置10に入力してもよいし、端末装置10に自動的に学習(抽出)させてもよい。
例えば、端末装置10は、学習データLD1を用いてモデルM1を生成する。例えば、端末装置10は、正解情報RDT101が次のタップ操作が無いこと、すなわちタップ操作がシングルタップであることを示す場合、モデルM1にデータDT101に含まれるセンサ情報が入力された場合に、モデルM1が出力するスコアが「0」に近づくように、学習処理を行う。例えば、端末装置10は、データDT101のセンサ情報SDT101がモデルM1に入力された場合に、モデルM1が出力するスコアが「0」に近づくように、学習処理を行う。
また、例えば、端末装置10は、正解情報RDT102が次のタップ操作が有ること、すなわちタップ操作がダブルタップの1回目のタップであることを示す場合、モデルM1にデータDT102に含まれるセンサ情報が入力された場合に、モデルM1が出力するスコアが「1」に近づくように、学習処理を行う。例えば、端末装置10は、データDT102のセンサ情報SDT102がモデルM1に入力された場合に、モデルM1が出力するスコアが「1」に近づくように、学習処理を行う。
なお、モデルの学習手法については、上述した手法に限定されるものではなく、任意の公知技術が適用可能である。なお、各モデルの生成は、機械学習に関する種々の従来技術を適宜用いて行われてもよい。例えば、モデルの生成は、SVM(Support Vector Machine)等の教師あり学習の機械学習に関する技術を用いて行われてもよい。また、例えば、モデルの生成は、教師なし学習の機械学習に関する技術を用いて行われてもよい。例えば、モデルの生成は、深層学習(ディープラーニング)の技術を用いて行われてもよい。例えば、モデルの生成は、DNN(Deep Neural Network)やRNN(Recurrent Neural Network)やCNN(Convolutional Neural Network)等の種々のディープラーニングの技術を適宜用いて行われてもよい。なお、上記モデルの生成に関する記載は例示であり、モデルの生成は、取得可能な情報等に応じて適宜選択された学習手法により行われてもよい。すなわち、端末装置10は、学習データに含まれるセンサ情報が入力された場合に、正解情報に対応するスコアを出力するようにモデルM1を学習可能であれば、どのような手法によりモデルM1の生成を行ってもよい。
上記のような処理により、端末装置10は、ユーザの操作がシングルタップであるかダブルタップであるかの判定に用いるモデルM1を生成する。例えば、端末装置10は、モデルM1にセンサ情報を入力することにより、入力したセンサ情報に対応するタップ操作の後に次のタップ操作が行われる可能性を示すスコアを、モデルM1に出力させる。そして、端末装置10は、モデルM1が出力するスコアに基づいて、入力したセンサ情報に対応するタップ操作がシングルタップであるか、ダブルタップの1回目のタップ操作であるかを判定する。
上述したように、端末装置10は、ユーザ情報と、シングルタップであるかダブルタップの1回目のタップであるかを示す正解情報とセンサ情報とが対応付けられた学習データを用いて学習することにより、あるタップ操作がシングルタップであるかダブルタップの1回目のタップであるかを適切に判定可能にするモデルを生成することができる。したがって、端末装置10は、上述のように生成したモデルを用いることにより、例えば、あるユーザの操作がシングルタップであるかダブルタップであるかを精度よく判定することができ、ユーザの操作性の向上を可能にすることができる。
〔1−2.モデル〕
図2の例では、端末装置10がユーザU1のタップ操作に関するセンサ情報を用いて、タップ操作に続けて次のタップ操作が行われるかを判定するモデルM1を生成する場合を一例として説明したが、モデルの生成については上記に限らず、種々の態様であってもよい。
〔1−2−1.複数ユーザ〕
例えば、判定システム1においては、サーバ装置50が複数の端末装置10から収集したセンサ情報に基づく学習データを用いてモデルを生成してもよい。そして、サーバ装置50は、複数の端末装置10から収集したセンサ情報に基づく学習データを用いて生成したモデルを、各端末装置10へ提供してもよい。例えば、サーバ装置50は、複数の端末装置10から収集したセンサ情報に基づく学習データを用いて、ユーザ属性ごとのモデルを生成してもよい。
例えば、サーバ装置50は、男性のユーザの操作に関するセンサ情報を用いて、男性用のモデルを生成してもよい。そして、サーバ装置50は、男性が利用する端末装置10に高齢者用のモデルを提供してもよい。例えば、サーバ装置50は、女性のユーザの操作に関するセンサ情報を用いて、女性用のモデルを生成してもよい。そして、サーバ装置50は、女性が利用する端末装置10に高齢者用のモデルを提供してもよい。
例えば、サーバ装置50は、高齢者(例えば50代以上等)のユーザの操作に関するセンサ情報を用いて、高齢者用のモデルを生成してもよい。そして、サーバ装置50は、高齢者が利用する端末装置10に高齢者用のモデルを提供してもよい。
〔1−2−2.トリプルタップ等〕
また、端末装置10は、シングルタップかダブルタップの1回目のタップであるかの判定に限らず、ダブルタップかトリプルタップ(3回連続タップ)の2回目のタップであるかの判定するモデルM2を生成してもよい。そして、端末装置10は、モデルM2を用いて、ユーザのタップ操作がダブルタップかトリプルタップの2回目のタップであるかを判定してもよい。また、端末装置10は、トリプルタップか4回連続タップの3回目のタップであるかの判定するモデルを生成してもよい。
〔1−2−3.タップ操作以外〕
例えば、端末装置10は、タップ操作に限らず、ユーザの操作であればどのような操作を対象にモデルを生成してもよい。例えば、端末装置10は、ユーザの所定の操作の後に、ユーザのスワイプ操作が行われるかを判定するモデルM3を生成してもよい。そして、端末装置10は、モデルM3を用いて、ユーザの所定の操作の後に、ユーザのスワイプ操作が行われるかを判定してもよい。
〔1−3.モデル以外での判定〕
図1の例では、端末装置10がモデルを用いて判定する場合を示したが、端末装置10は、モデルを用いることなく、判定処理を行ってもよい。例えば、端末装置10は、センサ情報に含まれる各種別のセンサ値と、各種別に対応する閾値とを比較することにより、ユーザのタップ操作に続けて、次のタップ操作が行われるかを判定してもよい。なお、ここでいう種別とは、圧力や接触面積や接触時間等のセンサ情報に含まれる情報の種別であるものとする。また、ここでいうセンサ値とは、圧力や接触面積や接触時間等の具体的な数値であるものとする。例えば、圧力のセンサ値はニュートン毎平方メートル(N/m2)やパスカル(Pa)を単位とする値であり、接触面積のセンサ値は平方メートル(m2)を単位とする値であり、接触時間のセンサ値は秒(s)を単位とする値であってもよい。
例えば、端末装置10は、センサ情報に含まれる各種別のセンサ値と、各種別に対応する閾値とを比較することにより、ユーザのタップ操作に続けて、次のタップ操作が行われるかを判定してもよい。例えば、端末装置10は、センサ値のうち、対応する閾値との比較が所定の条件を満たすセンサ値の数が所定数(例えば2や4等)以上である場合、ユーザのタップ操作に続けて、次のタップ操作が行われないと判定してもよい。
例えば、端末装置10は、センサ値のうち、対応する閾値との比較が所定の条件を満たすセンサ値の数が2以上である場合、ユーザのタップ操作に続けて、次のタップ操作が行われないと判定してもよい。例えば、端末装置10は、種別「圧力」のセンサ値(圧力値)が種別「圧力」の閾値以上であり、種別「接触時間」のセンサ値(時間)が種別「接触時間」の閾値以上である場合、ユーザのタップ操作に続けて、次のタップ操作が行われないと判定してもよい。例えば、端末装置10は、種別「圧力」のセンサ値(圧力値)が種別「圧力」の閾値以上であり、種別「接触時間」のセンサ値(時間)が種別「接触時間」の閾値以上である場合、ユーザの操作がシングルタップであると判定してもよい。
例えば、端末装置10は、センサ値のうち、対応する閾値との比較が所定の条件を満たすセンサ値の数が2未満である場合、ユーザのタップ操作に続けて、次のタップ操作が行われると判定してもよい。例えば、端末装置10は、1つのセンサ値のみが対応する閾値未満である場合、ユーザのタップ操作に続けて、次のタップ操作が行われると判定する。例えば、端末装置10は、種別「圧力」のセンサ値(圧力値)が種別「圧力」の閾値以上である場合、ユーザの操作がシングルタップではないと判定してもよい。
なお、各センサ値の種別に対応する閾値は、種々の情報を適宜用いて設定されてもよい。例えば、各センサ値の種別に対応する閾値は、ユーザと属性が類似するユーザ群の平均等であってもよい。例えば、各センサ値の種別に対応する閾値は、ユーザに複数回操作を行わせ、その複数回の操作に関するセンサ情報における各センサ値の平均を閾値としてもよい。
例えば、端末装置10は、画面に「ダブルタップしてください」と表示し、ユーザに数回所定の操作を試行させ、その操作のセンサ情報に基づいて閾値を調整(キャリブレーション)してもよい。また、端末装置10は、ユーザによる閾値の設定を受け付けてもよい。
〔3.端末装置の構成〕
次に、図4を用いて、実施形態に係る端末装置10の構成について説明する。図4は、実施形態に係る端末装置の構成例を示す図である。図4に示すように、端末装置10は、通信部11と、入力部12と、出力部13と、記憶部14と、制御部15と、センサ部16とを有する。
(通信部11)
通信部11は、例えば、通信回路等によって実現される。そして、通信部11は、図示しない所定の通信網と有線または無線で接続され、外部の情報処理装置との間で情報の送受信を行う。例えば、通信部11は、図示しない所定の通信網と有線または無線で接続され、サーバ装置50との間で情報の送受信を行う。
(入力部12)
入力部12は、ユーザから各種操作が入力される。例えば、入力部12は、タッチパネル機能により表示面(例えば出力部13)を介してユーザからの各種操作を受け付けてもよい。また、入力部12は、端末装置10に設けられたボタンや、端末装置10に接続されたキーボードやマウスからの各種操作を受け付けてもよい。
入力部12は、センサ部16に含まれる各種センサにより実現されるタッチパネルの機能によりタブレット端末等の表示画面を介してユーザから各種操作を受け付ける。すなわち、入力部12は、端末装置10の出力部13を介してユーザから各種操作を受け付ける。例えば、入力部12は、端末装置10の出力部13を介してユーザの指定操作等の操作を受け付ける。言い換えると、入力部12は、タッチパネルの機能によりユーザの操作を受け付ける受付部として機能する。なお、入力部12によるユーザの操作の検知方式には、タブレット端末では主に静電容量方式が採用されるが、他の検知方式である抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式など、ユーザの操作を検知できタッチパネルの機能が実現できればどのような方式を採用してもよい。また、端末装置10は、端末装置10にボタンが設けられたり、キーボードやマウスが接続されていたりする場合、ボタン等による操作も受け付ける入力部を有してもよい。
(出力部13)
出力部13は、例えば液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等によって実現されるタブレット端末等の表示画面であり、各種情報を表示するための表示装置である。つまり、端末装置10は、出力部13である表示画面によりユーザの入力を受け付け、ユーザへの出力も行う。
(記憶部14)
記憶部14は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部14は、例えば、端末装置10にインストールされているアプリケーション(例えば電子書籍アプリ)に関する情報、例えばプログラム等を記憶する。また、実施形態に係る記憶部14は、図4に示すように、学習データ記憶部141と、モデル情報記憶部142と、コンテンツ情報記憶部143とを有する。
(学習データ記憶部141)
実施形態に係る学習データ記憶部141は、学習データに関する各種情報を記憶する。図5は、実施形態に係る学習データ記憶部の一例を示す図である。例えば、学習データ記憶部141は、モデルの生成に用いる教師データを記憶する。図5に示す学習データ記憶部141には、「データID」、「正解情報」、「センサ情報」といった項目が含まれる。「センサ情報」には、ユーザの端末装置10の画面に対する接触の圧力や面積や時間等の種々の情報が含まれる。なお、「センサ情報」には、ユーザの端末装置10の画面に対する接触の圧力や面積や時間等に限らず、センサが検知した情報であればどのような情報が記憶されてもよい。
「データID」は、データを識別するための識別情報を示す。例えば、「データID」は、学習データ(教師データ)として用いられる端末装置10の画面に対するユーザの所定の操作に関するセンサ情報と正解情報との組合せを識別するための識別情報を示す。例えば、データID「DT101」により識別されるデータは、図2の例に示した、データDT101に対応する。
「正解情報」は、データIDにより識別されるデータに対応する正解情報を示す。例えば、「正解情報」は、データIDにより識別されるデータに対応するユーザの実際の行動の種別を示す。例えば、「正解情報」は、データIDにより識別されるデータに対応する操作の後に続けてユーザが次のタップ操作を行ったか否かを示す。図5では「正解情報」に「RDT101」といった概念的な情報が格納される例を示したが、実際には、データIDにより識別されるデータに対応する操作の後に続けてユーザが次のタップ操作を行ったか否かを示す情報などが格納される。
「センサ情報」は、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報を示す。図5では「センサ情報」に「SDT101」といった概念的な情報が格納される例を示したが、実際には、対応するユーザの端末装置10の画面に対する接触の圧力や面積や時間等の種々の情報等、または、その格納場所を示すファイルパス名などが格納される。
例えば、図5に示す例において、データID「DT101」により識別されるデータ(データDT101)は、正解情報RDT101やセンサ情報SDT101を含むことを示す。データDT101の正解情報RDT101は、センサ情報SDT101に対応するユーザのタップ操作の後に続けて、次のタップ操作が行われなかったことを示す。すなわち、データDT101の正解情報RDT101は、センサ情報SDT101に対応するユーザのタップ操作が、シングルタップであったことを示す。
なお、学習データ記憶部141は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、学習データ記憶部141は、学習データが追加された日時に関する情報を記憶してもよい。また、例えば、学習データ記憶部141は、モデルの生成にセンサ情報以外にユーザの属性情報を用いる場合、ユーザの属性等のユーザ情報を記憶してもよい。例えば、学習データ記憶部141は、ユーザ情報として、デモグラフィック属性情報やサイコグラフィック属性情報を記憶してもよい。例えば、学習データ記憶部141は、氏名、年齢、性別、自宅、勤務地、興味、家族構成、収入、ライフスタイル等の情報を記憶してもよい。例えば、学習データ記憶部141は、ユーザ情報として、ユーザのインターネット(ウェブ)上における行動情報を記憶してもよい。例えば、学習データ記憶部141は、ユーザ情報として、ユーザがどのような商品を購入したかを示す購入履歴等を記憶してもよい。また、例えば、学習データ記憶部141は、ユーザ情報として、ユーザがどのようなコンテンツを閲覧したかを示す閲覧履歴等を記憶してもよい。
また、例えば、学習データ記憶部141は、学習用データをユーザ毎に記憶する場合、ユーザを識別するための識別情報を記憶してもよい。
(モデル情報記憶部142)
実施形態に係るモデル情報記憶部142は、モデルに関する情報を記憶する。例えば、モデル情報記憶部142は、生成処理により生成されたモデル情報(モデルデータ)を記憶する。図6は、実施形態に係るモデル情報記憶部の一例を示す図である。図6に示すモデル情報記憶部142は、「モデルID」、「判定対象」、「モデルデータ」といった項目が含まれる。なお、図6では、モデルM1、M2、M3のみを図示するが、M4、M5等、各判定対象(フラグ付与の対象となる物事)に応じて多数のモデル情報が記憶されてもよい。
「モデルID」は、モデルを識別するための識別情報を示す。例えば、モデルID「M1」により識別されるモデルは、図1や図2の例に示したモデルM1に対応する。「判定対象」は、次の操作である2回目のタップが行われるかの判定に用いられるそのフラグの対象を示す。また、「モデルデータ」は、対応付けられた対応するモデルのデータを示す。例えば、「モデルデータ」には、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報が含まれる。
例えば、図6に示す例において、モデルID「M1」により識別されるモデル(モデルM1)は、対象となる判定対象が「次のタップ(2回目のタップ)」であることを示す。すなわち、モデルM1は、端末装置10の画面に対するユーザのタップ操作に関するセンサ情報が入力された場合に、そのタップ操作に続けて次のタップ操作が行われるかの判定に用いられることを示す。また、モデルM1のモデルデータは、モデルデータMDT1であることを示す。
モデルM1(モデルデータMDT1)は、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力されたセンサ情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、ユーザが所定の操作に続けて次の操作を行うかの判定に用いられるスコアの値を出力層から出力するよう、コンピュータを機能させるためのモデルである。
ここで、モデルM1、M2、M3等が「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、例えば、モデルM1が含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。
また、モデルM1、M2、M3等がDNN等、1つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、例えば、モデルM1が含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
なお、モデル情報記憶部142は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。
(コンテンツ情報記憶部143)
実施形態に係るコンテンツ情報記憶部143は、コンテンツに関する情報を記憶する。例えば、コンテンツ情報記憶部143は、電子書籍に関する情報(電子データ)を記憶する。図7は、実施形態に係るコンテンツ情報記憶部の一例を示す図である。図7に示すコンテンツ情報記憶部143は、「コンテンツID」、「内容」、「コンテンツデータ」といった項目が含まれる。なお、図7では、コンテンツCT1、CT2のみを図示するが、CT3、CT4、CT5等、ユーザがダウンロード等により取得したマンガや雑誌等の多数の電子データ(コンテンツ情報)が記憶されてもよい。
「コンテンツID」は、コンテンツを識別するための識別情報を示す。例えば、コンテンツID「CT1」により識別されるコンテンツは、図1の例に示したページPG1やページPG2等を含むコンテンツ(電子データ)であってもよい。「内容」は、対応するコンテンツの内容を示す。また、「コンテンツデータ」は、対応するコンテンツのデータを示す。図7では「コンテンツデータ」に「コンテンツデータCDT1」といった概念的な情報が格納される例を示したが、実際には、電子書籍(電子データ)、または、その格納場所を示すファイルパス名などが格納される。
例えば、図7に示す例において、コンテンツID「CT1」により識別されるコンテンツ(コンテンツCT1)は、内容が「マンガX」であることを示す。すなわち、コンテンツCT1は、電子書籍「マンガX」であることを示す。また、コンテンツCT1のコンテンツデータは、コンテンツデータCDT1であることを示す。
なお、コンテンツ情報記憶部143は、上記に限らず、目的に応じて種々のコンテンツに関する情報を記憶してもよい。
(制御部15)
制御部15は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、端末装置10内部の記憶部14などの記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。例えば、この各種プログラムは、判定処理を行うアプリケーション(例えば電子書籍アプリ)のプログラムが含まれる。また、制御部15は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。制御部15は、モデル情報記憶部142に記憶されているモデルM1等に従った情報処理により、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力されたセンサ情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、ユーザが所定の操作に続けて次の操作を行うかの判定に用いられるスコアの値を出力層から出力する。
例えば、端末装置10は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、ユーザが所定の操作に続けて次の操作を行うかの判定に用いられるスコアの算出を行う。具体的には、モデルM1、M2、M3等は、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報(すなわち、上述したスコアの算出に用いられる各要素)が入力された場合に、ユーザが所定の操作に続けて次の操作を行うかの判定に用いられるスコア(すなわち、ユーザがフラグに対応する対象と関連する可能性がどの程度であるかを示唆するスコア)を出力するように係数が設定される。情報提供装置10は、このようなモデルM1、M2、M3等を用いて、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報のスコアを算出する。
なお、上記例では、モデルM1、M2、M3等が、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報が入力された場合に、ユーザが所定の操作に続けて次の操作を行うかの判定に用いられるスコアを出力するモデルである例を示した。しかし、実施形態に係るモデルM1、M2、M3等は、データの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルは、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報を入力とし、モデルM1が出力するスコアを出力とするよう学習されたモデル(モデルM1b)であってもよい。または、モデルは、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報を入力とし、モデルM1bの出力値を出力とするよう学習されたモデルであってもよい。
また、端末装置10がGAN(Generative Adversarial Networks)を用いた判定処理(判定処理)を行う場合、モデルM1、M2、M3等は、GANの一部を構成するモデルであってもよい。
図4に示すように、制御部15は、取得部151と、生成部152と、判定部153と、送信部154と、表示部155とを有し、以下に説明する判定処理の機能や作用を実現または実行する。なお、制御部15の内部構成は、図4に示した構成に限られず、後述する判定処理を行う構成であれば他の構成であってもよい。また、制御部15が有する各処理部の接続関係は、図4に示した接続関係に限られず、他の接続関係であってもよい。
(取得部151)
取得部151は、各種情報を取得する。例えば、取得部151は、外部の情報処理装置から各種情報を取得する。例えば、取得部151は、記憶部14から各種情報を取得する。取得部151は、学習データ記憶部141やモデル情報記憶部142やコンテンツ情報記憶部143から各種情報を取得する。例えば、取得部151は、センサ部16により検知されたセンサ情報を取得する。
取得部151は、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報を取得する。例えば、取得部151は、ユーザが画面に接触する圧力を示す圧力情報を含むセンサ情報を取得する。例えば、取得部151は、画面においてユーザが接触する面積を示す面積情報を含むセンサ情報を取得する。例えば、取得部151は、画面においてユーザが接触する位置を示す位置情報を含むセンサ情報を取得する。例えば、取得部151は、ユーザによる所定の操作の際の端末装置の加速度情報を含むセンサ情報を取得する。例えば、取得部151は、ユーザによる画面への接触から、接触の解除までの時間を示す時間情報を含むセンサ情報を取得する。
例えば、取得部151は、一の種別の所定の操作に関するセンサ情報を取得する。例えば、取得部151は、端末装置10の画面に対するユーザのタップ操作に関するセンサ情報を取得する。例えば、取得部151は、端末装置10の画面に対するユーザのタップ操作に関するセンサ情報を取得する。
図1の例では、取得部151は、ユーザU1のタップ操作に関するセンサ情報SDT11を取得する。例えば、取得部151は、センサ部16に含まれる各種のセンサにより検知されたセンサ情報を含むセンサ情報SDT11を取得する。
例えば、取得部151は、圧力センサにより検知された圧力を示す圧力情報を含むセンサ情報SDT11を取得する。例えば、取得部151は、ユーザU1が画面に接触する圧力を示す圧力情報を含むセンサ情報SDT11を取得する。
例えば、取得部151は、画面におけるユーザの接触範囲(座標)を検知するセンサにより検知されたユーザが接触する面積(接触面積)を示す面積情報を含むセンサ情報SDT11を取得する。例えば、取得部151は、ユーザU1による画面の接触面積を示す面積情報を含むセンサ情報SDT11を取得する。
例えば、取得部151は、端末装置10の画面への接触を検知するセンサや計時機能(タイマー)等により検知されたユーザの接触時間を示す時間情報を含むセンサ情報SDT11を取得する。例えば、取得部151は、ユーザU1が端末装置10の画面への接触から、接触の解除までの時間を示す時間情報を含むセンサ情報SDT11を取得する。
例えば、取得部151は、上記に限らず、加速度センサ等の種々のセンサにより検知されたセンサ情報を含むセンサ情報SDT11を取得してもよい。
図2の例では、取得部151は、ユーザU1のタップ操作に関するセンサ情報SDT101を取得する。例えば、取得部151は、センサ部16に含まれる各種のセンサにより検知されたセンサ情報を含むセンサ情報SDT101を取得する。
また、取得部151は、学習データLD1を取得する。例えば、取得部151は、データDT101〜DT104等を含む学習データLD1を取得する。例えば、取得部151は、センサ情報SDT101に正解情報RDT101が対応付けられたデータDT101を取得する。例えば、取得部151は、センサ情報SDT102に正解情報RDT102が対応付けられたデータDT102を取得する。
(生成部152)
生成部152は、種々の生成を行なう。生成部152は、各種モデルを生成する。生成部152は、種々の学習を行なう。生成部152は、学習により判定処理に用いるモデルを生成する。例えば、生成部152は、学習データ記憶部141に記憶された学習データを用いて、モデル情報記憶部142に示すようなモデルを生成する。例えば、生成部152は、取得部131により取得された学習データに基づいて、所定の操作に続けて次の操作が行われるかの判定に用いられるモデルを生成する。例えば、生成部152は、端末装置の画面に対するユーザの所定の操作に関するセンサ情報と、所定の操作に続けて次の操作が行われたかを示す正解情報とを含む学習データに基づいて、所定の操作に続けて次の操作が行われるかの判定用いられるモデルを生成する。
例えば、生成部152は、モデルM1、M2、M3等を生成し、生成したモデルM1、M2、M3等をモデル情報記憶部142に格納する。なお、生成部152は、いかなる学習アルゴリズムを用いてモデルM1、M2、M3等を生成してもよい。例えば、生成部152は、ニューラルネットワーク(neural network)、サポートベクターマシン(SVM)、クラスタリング、強化学習等の学習アルゴリズムを用いてモデルM1、M2、M3等を生成する。一例として、生成部152がニューラルネットワークを用いてモデルM1、M2、M3等を生成する場合、モデルM1、M2、M3等は、一以上のニューロンを含む入力層と、一以上のニューロンを含む中間層と、一以上のニューロンを含む出力層とを有する。
生成部152は、モデルを生成し、生成したモデルをモデル情報記憶部142に格納する。具体的には、生成部152は、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力されたセンサ情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、ユーザが所定の操作に続けて次の操作を行うかの判定に用いられるスコアの値を出力層から出力するモデルを生成する。
図2の例では、生成部152は、モデル情報記憶部142に示すように、モデルM1等を生成する。例えば、生成部152は、学習データ記憶部141中のデータDT101〜DT104等を学習データ(教師データ)として、学習を行なうことにより、モデルを生成する。例えば、生成部152は、ユーザのタップ操作に対応するセンサ情報に関する特徴量を用いて、モデルを生成する。例えば、生成部152は、圧力情報や面積情報や時間情報に関する特徴量を用いて、モデルを生成する。このように、生成部152は、ユーザのタップ操作に対応する特徴を学習し、そのタップ操作に続けて次のタップ操作が行われるかを判定するモデルを生成する。図2の例では、生成部152は、ユーザのタップ操作での圧力情報や面積情報や時間情報等に関する特徴を学習し、そのタップ操作に続けて次のタップ操作が行われるかを判定するモデルを生成する。
例えば、生成部152は、学習データLD1を用いてモデルM1を生成する。例えば、生成部152は、正解情報RDT101が次のタップ操作が無いこと、すなわちタップ操作がシングルタップであることを示す場合、モデルM1にデータDT101に含まれるセンサ情報が入力された場合に、モデルM1が出力するスコアが「0」に近づくように、学習処理を行う。例えば、生成部152は、データDT101のセンサ情報SDT101がモデルM1に入力された場合に、モデルM1が出力するスコアが「0」に近づくように、学習処理を行う。
また、例えば、生成部152は、正解情報RDT102が次のタップ操作が有ること、すなわちタップ操作がダブルタップの1回目のタップであることを示す場合、モデルM1にデータDT102に含まれるセンサ情報が入力された場合に、モデルM1が出力するスコアが「1」に近づくように、学習処理を行う。例えば、生成部152は、データDT102のセンサ情報SDT102がモデルM1に入力された場合に、モデルM1が出力するスコアが「1」に近づくように、学習処理を行う。
なお、取得部151によりモデル情報が外部の情報処理装置から取得される場合、制御部15は、生成部152を有しなくてもよい。
(判定部153)
判定部153は、種々の情報を判定する。例えば、判定部153は、記憶部14に記憶された各種情報を用いて種々の情報を判定する。判定部153は、学習データ記憶部141やモデル情報記憶部142やコンテンツ情報記憶部143に記憶された各種情報を用いて種々の情報を判定する。例えば、判定部153は、取得部151により取得された各種情報を用いて種々の情報を判定する。
また、判定部153は、取得部151により取得されたセンサ情報に基づいて、所定の操作に続けて次の操作が行われるかを判定する。例えば、判定部153は、センサ情報を入力とするモデルを用いて、所定の操作に続けて次の操作が行われるかを判定する。例えば、判定部153は、センサ情報の入力によりモデルが出力するスコアに基づいて、所定の操作に続けて次の操作が行われるかを判定する。例えば、判定部153は、センサ情報と所定の閾値との比較に基づいて、所定の操作に続けて次の操作が行われるかを判定する。
例えば、判定部153は、センサ情報に基づいて、所定の操作に続けて、一の種別の次の操作が行われるかを判定する。判定部153は、センサ情報に基づいて、タップ操作に続けて、端末装置10の画面に対するユーザの次のタップ操作が行われるかを判定する。判定部153は、センサ情報に基づいて、タップ操作によりユーザにタッチされた画面の位置から所定の範囲内において、タップ操作に続けて、次のタップ操作が行われるかを判定する。例えば、判定部153は、センサ情報に基づいて、タップ操作がシングルタップの操作であるか、ダブルタップにおける1回目の操作であるかを判定する。
図1の例では、判定部153は、センサ情報SDT11が入力されたモデルM1が出力したスコアに基づいて、センサ情報SDT11に対応するユーザのタップ操作の後に続けて次のタップ操作が行われるかを判定する。判定部153は、センサ情報SDT11が入力されたモデルM1が出力したスコア「0.2」に基づいて、結果情報RS11に示すように判定する。判定部153は、モデルM1が出力したスコア「0.2」であり閾値「0.6」未満であるため、日時dt11におけるユーザのタップ操作の後に続けて次のタップは無いと判定する。判定部153は、モデルM1が出力したスコア「0.2」であり閾値「0.6」未満であるため、日時dt11におけるユーザのタップ操作はシングルタップであると判定する。
図1の例では、判定部153は、センサ情報SDT21が入力されたモデルM1が出力したスコアに基づいて、センサ情報SDT21に対応するユーザのタップ操作の後に続けて次のタップ操作が行われるかを判定する。判定部153は、センサ情報SDT21が入力されたモデルM1が出力したスコア「0.7」に基づいて、結果情報RS11に示すように判定する。判定部153は、モデルM1が出力したスコア「0.7」であり閾値「0.6」以上であるため、日時dt21におけるユーザのタップ操作の後に続けて次のタップが有ると判定する。判定部153は、モデルM1が出力したスコア「0.7」であり閾値「0.6」以上であるため、日時dt21におけるユーザのタップ操作はダブルタップの1回目のタップである可能性が高いと判定する。
(送信部154)
送信部154は、外部の情報処理装置へ種々の情報を送信する。送信部154は、各種情報を端末装置10へ送信する。送信部154は、記憶部14に記憶された各種情報を外部の情報処理装置へ送信する。送信部154は、各種情報を端末装置10へ送信する。送信部154は、取得部151により取得された各種情報を外部の情報処理装置へ送信する。送信部154は、判定部153により判定された各種情報を外部の情報処理装置へ送信する。送信部154は、サーバ装置50へ各種情報を送信する。送信部154は、学習データ記憶部141やモデル情報記憶部142やコンテンツ情報記憶部143に記憶された各種情報をサーバ装置50へ送信してもよい。
(表示部155)
表示部155は、出力部13を介して各種情報を表示する。例えば、表示部155は、電子書籍等のコンテンツを画面に表示する。また、表示部155は、判定部153による判定結果に応じて、画面の表示を変更する
図1の例では、表示部155は、判定結果に応じて画面の表示を変更する。表示部155は、日時dt11におけるユーザのタップ操作はシングルタップであると判定したため、画面の表示をページPG1の次にページPG2を表示するように変更する。これにより、表示部155は、日時dt12において、端末装置10−12に示すように、画面にページPG2を表示する。
図1の例では、表示部155は、判定結果に応じて画面の表示を変更する。表示部155は、日時dt21のタップ操作と、日時dt22のタップ操作とは、ダブルタップであると判定したため、画面の表示をページPG1において、ユーザU1がダブルタップした位置を中心として拡大表示するように変更する。これにより、表示部155は、日時dt23において、端末装置10−23に示すように、ユーザU1がダブルタップした位置付近(ページPG1の左下側)を拡大表示する。
なお、上述した制御部15による判定処理等の処理は、所定のアプリケーションにより行われる場合、制御部15の各部は、例えば、所定のアプリケーションにより実現されてもよい。例えば、制御部15による判定処理等の処理は、外部の情報処理装置から受信した制御情報により実現されてもよい。
(センサ部16)
センサ部16は、所定の情報を検知する。例えば、センサ部16は、端末装置10に対するユーザの操作に関する種々の情報を検知するセンサを含む。例えば、センサ部16は、圧力センサを含む。例えば、センサ部16は、ユーザが画面に接触する圧力を示す圧力情報を検知するセンサを含む。例えば、センサ部16は、画面におけるユーザの接触範囲(座標)を検知するセンサを含む。例えば、センサ部16は、画面においてユーザが接触する位置を示す位置情報を検知するセンサを含む。例えば、センサ部16は、画面においてユーザが接触する面積を示す面積情報を検知するセンサを含む。
例えば、センサ部16は、加速度センサを含む。例えば、センサ部16は、ユーザによる所定の操作の際の端末装置10の加速度情報を検知するセンサを含む。例えば、センサ部16は、ユーザによる端末装置10の画面への接触を検知するセンサやタイマー等を含む。例えば、センサ部16は、ユーザによる端末装置10の画面への接触から、接触の解除までの時間を示す時間情報を検知するために用いるセンサを含む。
また、センサ部16には、上記に限らず、種々のセンサが含まれてもよい。例えば、センサ部16は、端末装置10外の情報を検知するセンサを含んでもよい。例えば、センサ部16は、GPSセンサによって実現される。なお、センサ部16は、複数であってもよい。なお、センサ部16は、判定処理に用いる情報を検知可能であれば、どのようなセンサであってもよい。例えば、端末装置10は、カメラ機能により撮像された画像情報を判定処理に用いる場合、センサ部16としてカメラを有してもよい。また、端末装置10の位置情報をセンサ情報として取得する場合、通信を行っている基地局の位置情報や、WiFi(登録商標)(Wireless Fidelity)の電波を用いて推定された端末装置10の位置情報を取得してもよい。
なお、センサ部16における上記の各種情報を検知するセンサは共通のセンサであってもよいし、各々異なるセンサにより実現されてもよい。
〔4.判定処理のフロー〕
次に、図8を用いて、実施形態に係る判定処理の手順について説明する。図8は、実施形態に係る判定処理の一例を示すフローチャートである。
図8に示すように、端末装置10は、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報を取得する(ステップS101)。図1の例では、端末装置10は、ユーザU1のタップ操作に関するセンサ情報SDT11やセンサ情報SDT21を取得する。
そして、端末装置10は、センサ情報に基づいて、所定の操作に続けて次の操作が行われるかを判定する(ステップS102)。例えば、端末装置10は、センサ情報に含まれる各種別のセンサ値と、各種別に対応する閾値とを比較することにより、ユーザのタップ操作に続けて、次のタップ操作が行われるかを判定する。例えば、端末装置10は、センサ値のうち、対応する閾値との比較が所定の条件を満たすセンサ値の数が所定数(例えば1や3等)以上である場合、ユーザのタップ操作に続けて、次のタップ操作が行われないと判定する。
例えば、端末装置10は、センサ値のうち、対応する閾値との比較が所定の条件を満たすセンサ値の数が2以上である場合、ユーザのタップ操作に続けて、次のタップ操作が行われないと判定してもよい。例えば、端末装置10は、種別「圧力」のセンサ値(圧力値)が種別「圧力」の閾値以上であり、種別「接触時間」のセンサ値(時間)が種別「接触時間」の閾値以上である場合、ユーザのタップ操作に続けて、次のタップ操作が行われないと判定する。例えば、端末装置10は、種別「圧力」のセンサ値(圧力値)が種別「圧力」の閾値以上であり、種別「接触時間」のセンサ値(時間)が種別「接触時間」の閾値以上である場合、ユーザの操作がシングルタップであると判定する。
例えば、端末装置10は、センサ値のうち、対応する閾値との比較が所定の条件を満たすセンサ値の数が2未満である場合、ユーザのタップ操作に続けて、次のタップ操作が行われると判定してもよい。例えば、端末装置10は、1つのセンサ値のみが対応する閾値未満である場合、ユーザのタップ操作に続けて、次のタップ操作が行われると判定する。例えば、端末装置10は、種別「圧力」のセンサ値(圧力値)が種別「圧力」の閾値以上である場合、ユーザの操作がシングルタップではないと判定する。
そして、端末装置10は、判定結果に応じて、画面の表示を変更する(ステップS103)。例えば、端末装置10は、ユーザU1の操作がシングルタップであると判定した場合、シングルタップの操作に対応する画面の表示に変更する。
また、例えば、端末装置10は、ユーザU1の操作がシングルタップではないと判定した場合、所定の待機期間内におけるユーザの操作有無に応じて画面の表示に変更する。例えば、端末装置10は、ユーザU1の操作がシングルタップではないと判定し、所定の待機期間TM内にユーザが2回目のタップ操作を行った場合、ダブルタップの操作に対応する画面の表示に変更する。例えば、端末装置10は、ユーザU1の操作がシングルタップではないと判定したが、所定の待機期間TM内にユーザが2回目のタップ操作を行わなかった場合、シングルタップの操作に対応する画面の表示に変更する。
〔5.生成処理のフロー〕
次に、図9を用いて、実施形態に係る判定システム1による生成処理の手順について説明する。図9は、実施形態に係る生成処理の一例を示すフローチャートである。
図9に示すように、端末装置10は、学習データを取得する(ステップS201)。例えば、端末装置10は、学習データ記憶部141から学習データを取得する。
その後、端末装置10は、学習データに基づきモデルを生成する(ステップS202)。図2の例では、端末装置10は、学習データ記憶部141から学習データを用いてモデルM1を生成する。
〔6.モデルを用いた判定処理のフロー〕
次に、図10を用いて、実施形態に係る判定システム1による判定処理の手順について説明する。図10は、実施形態に係る判定処理の一例を示すフローチャートである。具体的には、図10は、モデルを用いた判定処理の一例を示すフローチャートである。
図10に示すように、端末装置10は、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報を取得する(ステップS301)。図1の例では、端末装置10は、ユーザU1のタップ操作に関するセンサ情報SDT11やセンサ情報SDT21を取得する。
そして、端末装置10は、センサ情報とモデルを用いて、所定の操作に続けて次の操作が行われるかを判定する(ステップS302)。例えば、端末装置10は、学習データ記憶部141に記憶されたモデルM1を用いて、ユーザU1のタップ操作に続けて、次のタップ操作が行われるかを判定する。図1の例では、端末装置10は、センサ情報SDT11をモデルM1に入力し、モデルM1が出力したスコアが所定の閾値未満である場合、ユーザU1のタップ操作に続けて、次のタップ操作が行われないと判定する。例えば、端末装置10は、センサ情報SDT11をモデルM1に入力し、モデルM1が出力したスコアが所定の閾値未満である場合、ユーザU1の操作がシングルタップであると判定する。
また、図1の例では、端末装置10は、センサ情報SDT21をモデルM1に入力し、モデルM1が出力したスコアが所定の閾値以上である場合、ユーザU1のタップ操作に続けて、次のタップ操作が行われると判定する。例えば、端末装置10は、センサ情報SDT21をモデルM1に入力し、モデルM1が出力したスコアが所定の閾値以上である場合、ユーザU1の操作がシングルタップではないと判定する。すなわち、端末装置10は、センサ情報SDT21をモデルM1に入力し、モデルM1が出力したスコアが所定の閾値以上である場合、ユーザU1の操作がダブルタップの可能性があると判定する。
そして、端末装置10は、判定結果に応じて、画面の表示を変更する(ステップS303)。例えば、端末装置10は、ユーザU1の操作がシングルタップであると判定した場合、シングルタップの操作に対応する画面の表示に変更する。
また、例えば、端末装置10は、ユーザU1の操作がシングルタップではないと判定した場合、所定の期間(待機期間TM)内におけるユーザの操作有無に応じて画面の表示に変更する。例えば、端末装置10は、ユーザU1の操作がシングルタップではないと判定し、待機期間TM内にユーザが2回目のタップ操作を行った場合、ダブルタップの操作に対応する画面の表示に変更する。例えば、端末装置10は、ユーザU1の操作がシングルタップではないと判定したが、待機期間TM内にユーザが2回目のタップ操作を行わなかった場合、シングルタップの操作に対応する画面の表示に変更する。
〔7.シングルタップとダブルタップの判定処理のフロー〕
次に、図11を用いて、実施形態に係る判定システム1による判定処理の手順について説明する。図11は、実施形態に係る判定処理の一例を示すフローチャートである。具体的には、図11は、シングルタップとダブルタップの判定処理の一例を示すフローチャートである。
図11に示すように、端末装置10は、ユーザの一のタップ操作に関するセンサ情報を取得する(ステップS401)。
そして、端末装置10は、センサ情報が条件を満たすかを判定する(ステップS402)。例えば、端末装置10は、センサ情報に含まれる各種別のセンサ値と、各種別に対応する閾値とを比較することにより、センサ情報が条件を満たすかを判定する。例えば、端末装置10は、センサ値のうち、対応する閾値との比較が所定の条件を満たすセンサ値の数が所定数(例えば1や3等)以上である場合、センサ情報が条件を満たすと判定する。
図11の例では、センサ情報が条件を満たすかを判定に用いる所定数が「2」である場合を一例に説明する。この場合、例えば、端末装置10は、センサ値のうち、対応する閾値との比較が所定の条件を満たすセンサ値の数が2以上である場合、センサ情報が条件を満たすと判定してもよい。例えば、端末装置10は、種別「圧力」のセンサ値(圧力値)が種別「圧力」の閾値以上であり、種別「接触面積」のセンサ値が種別「接触面積」の閾値以上である場合、センサ情報が条件を満たすと判定する。
端末装置10は、センサ情報が条件を満たすと判定した場合(ステップS402:Yes)、後述するステップS407、S408の処理を行う。
また、例えば、端末装置10は、センサ値のうち、対応する閾値との比較が所定の条件を満たすセンサ値の数が2未満である場合、センサ情報が条件を満たさないと判定してもよい。例えば、端末装置10は、1つのセンサ値のみが対応する閾値未満である場合、ユーザのタップ操作に続けて、センサ情報が条件を満たさないと判定する。例えば、端末装置10は、種別「接触面積」のセンサ値が種別「接触面積」の閾値以上である場合、センサ情報が条件を満たさないと判定する。
端末装置10は、センサ情報が条件を満たさないと判定した場合(ステップS402:No)、端末装置10は、所定の時間(待機時間)内に次のタップ操作が有るかどうかを判定する(ステップS403)。
また、所定の時間(待機時間)内に次のタップ操作が有った場合(ステップS403:Yes)、端末装置10は、ダブルタップの操作が行われたと判定する(ステップS404)。そして、端末装置10は、ダブルタップの操作に対応する画面の表示に変更する(ステップS405)。例えば、端末装置10は、所定の待機期間TM内にユーザが2回目のタップ操作を行った場合、ダブルタップの操作に対応する画面の表示に変更する。
また、次のタップ操作が無い場合(ステップS403:No)、端末装置10は、一のタップ操作から所定の期間が経過したかどうかを判定する(ステップS406)。例えば、端末装置10は、一のタップ操作が行われた時点から待機期間TMの間、次のタップ操作が行われたかを判定する。一のタップ操作から所定の期間が経過していない場合(ステップS406:No)、端末装置10は、ステップS403に戻って処理を繰りかえす。
また、一のタップ操作から所定の期間が経過した場合(ステップS406:Yes)、端末装置10は、ステップS407の処理を行う。端末装置10は、ユーザが一のタップ操作を行った時点から次のタップが行われずに、所定の期間が経過した場合、シングルタップの操作が行われたと判定する(ステップS407)。そして、端末装置10は、シンブルタップの操作に対応する画面の表示に変更する(ステップS408)。
例えば、端末装置10は、センサ情報が条件を満たすと判定した場合(ステップS402:Yes)や、一のタップ操作から所定の期間が経過した場合(ステップS406:Yes)、シンブルタップの操作に対応する画面の表示に変更する。
〔8.効果〕
上述してきたように、実施形態に係る端末装置10は、取得部151と、判定部153とを有する。取得部151は、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報を取得する。また、判定部153は、取得部151により取得されたセンサ情報に基づいて、所定の操作に続けて次の操作が行われるかを判定する。
このように、実施形態に係る端末装置10は、端末装置10の画面に対するユーザの所定の操作に関するセンサ情報に基づいて、所定の操作に続けて次の操作が行われるかを判定することにより、ユーザの操作性の向上を可能にすることができる。例えば、端末装置10は、所定の操作が行われたタイミングで、その所定の操作が完結した操作であるか、次の操作が行われる操作なのかを判定する。そのため、端末装置10は、ユーザの所定の操作に続けて次の操作が行われないと判定した場合、待機期間の経過を待つことなく、ユーザの操作に応じて所定の処理(例えば、画面の表示変更等)を行う。このように、端末装置10は、待機時間を経過する前に判定することができるため、ユーザビリティが向上させることができる。また、端末装置10は、ユーザが待機期間内に連続して所定の操作を行った場合であっても、センサ情報に基づいて判定することにより、各所定の操作を個別の完結した操作として、対応する処理を行うことができる。したがって、端末装置10は、ユーザが連続で所定の操作をしたい場合に、他の操作だと判定することによる、誤判定を抑制することができる。
また、実施形態に係る端末装置10において、取得部151は、ユーザが画面に接触する圧力を示す圧力情報を含むセンサ情報を取得する。
このように、実施形態に係る端末装置10は、ユーザが画面に接触する圧力を示す圧力情報を含むセンサ情報を取得することにより、ユーザの操作性の向上を可能にすることができる。
また、実施形態に係る端末装置10において、取得部151は、画面においてユーザが接触する面積を示す面積情報を含むセンサ情報を取得する。
このように、実施形態に係る端末装置10は、画面においてユーザが接触する面積を示す面積情報を含むセンサ情報を取得することにより、ユーザの操作性の向上を可能にすることができる。
また、実施形態に係る端末装置10において、取得部151は、画面においてユーザが接触する位置を示す位置情報を含むセンサ情報を取得する。
このように、実施形態に係る端末装置10は、画面においてユーザが接触する位置を示す位置情報を含むセンサ情報を取得することにより、ユーザの操作性の向上を可能にすることができる。
また、実施形態に係る端末装置10において、取得部151は、ユーザによる所定の操作の際の端末装置の加速度情報を含むセンサ情報を取得する。
このように、実施形態に係る端末装置10は、ユーザによる所定の操作の際の端末装置の加速度情報を含むセンサ情報を取得することにより、ユーザの操作性の向上を可能にすることができる。
また、実施形態に係る端末装置10において、取得部151は、ユーザによる画面への接触から、接触の解除までの時間を示す時間情報を含むセンサ情報を取得する。
このように、実施形態に係る端末装置10は、ユーザによる画面への接触から、接触の解除までの時間を示す時間情報を含むセンサ情報を取得することにより、ユーザの操作性の向上を可能にすることができる。
また、実施形態に係る端末装置10において、判定部153は、センサ情報を入力とするモデルを用いて、所定の操作に続けて次の操作が行われるかを判定する。
このように、実施形態に係る端末装置10は、センサ情報を入力とするモデルを用いて、所定の操作に続けて次の操作が行われるかを判定することにより、ユーザの操作性の向上を可能にすることができる。
また、実施形態に係る端末装置10において、判定部153は、センサ情報の入力によりモデルが出力するスコアに基づいて、所定の操作に続けて次の操作が行われるかを判定する。
このように、実施形態に係る端末装置10は、センサ情報の入力によりモデルが出力するスコアに基づいて、所定の操作に続けて次の操作が行われるかを判定することにより、ユーザの操作性の向上を可能にすることができる。
また、実施形態に係る端末装置10において、判定部153は、センサ情報と所定の閾値との比較に基づいて、所定の操作に続けて次の操作が行われるかを判定する。
このように、実施形態に係る端末装置10は、センサ情報と所定の閾値との比較に基づいて、所定の操作に続けて次の操作が行われるかを判定することにより、ユーザの操作性の向上を可能にすることができる。
また、実施形態に係る端末装置10は、表示部155を有する。表示部155は、判定部153による判定結果に応じて、画面の表示を変更する。
このように、実施形態に係る端末装置10は、判定結果に応じて、画面の表示を変更することにより、ユーザの操作性の向上を可能にすることができる。
また、実施形態に係る端末装置10において、取得部151は、一の種別の所定の操作に関するセンサ情報を取得する。判定部153は、センサ情報に基づいて、所定の操作に続けて、一の種別の次の操作が行われるかを判定する。
このように、実施形態に係る端末装置10は、センサ情報に基づいて、所定の操作に続けて、一の種別の次の操作が行われるかを判定することにより、ユーザの操作性の向上を可能にすることができる。例えば、端末装置10は、一の種別の操作が行われたタイミングで、その操作が完結した操作であるか、次に同種別の操作が行われる操作なのかを判定する。そのため、端末装置10は、その操作が完結した操作であるか、続けて同種別の操作が行われる操作なのかを判定する。そのため、端末装置10は、ユーザの一の種別の操作に続けて同種別の操作が行われないと判定した場合、待機期間の経過を待つことなく、ユーザの操作に応じて所定の処理(例えば、画面の表示変更等)を行う。このように、端末装置10は、待機時間を経過する前に判定することができるため、ユーザビリティが向上させることができる。また、端末装置10は、ユーザが待機期間内に連続して同種別の操作を行った場合であっても、センサ情報に基づいて判定することにより、各同種別の操作を個別の完結した操作として、対応する処理を行うことができる。したがって、端末装置10は、ユーザが連続で同種別の操作をしたい場合に、他の操作だと判定することによる、誤判定を抑制することができる。
また、実施形態に係る端末装置10において、取得部151は、端末装置10の画面に対するユーザのタップ操作に関するセンサ情報を取得する。判定部153は、センサ情報に基づいて、タップ操作に続けて、端末装置10の画面に対するユーザの次のタップ操作が行われるかを判定する。
このように、実施形態に係る端末装置10は、センサ情報に基づいて、タップ操作に続けて、端末装置10の画面に対するユーザの次のタップ操作が行われるかを判定することにより、ユーザの操作性の向上を可能にすることができる。例えば、端末装置10は、タップ操作が行われたタイミングで、その操作が完結した操作であるか、次にタップ操作が行われる操作なのかを判定する。そのため、端末装置10は、その操作が完結した操作であるか、続けてタップ操作が行われる操作なのかを判定する。そのため、端末装置10は、ユーザのタップ操作に続けてタップ操作が行われないと判定した場合、待機期間の経過を待つことなく、ユーザの操作に応じて所定の処理(例えば、画面の表示変更等)を行う。このように、端末装置10は、待機時間を経過する前に判定することができるため、ユーザビリティが向上させることができる。また、端末装置10は、ユーザが待機期間内に連続してタップ操作を行った場合であっても、センサ情報に基づいて判定することにより、各タップ操作を個別の完結した操作として、対応する処理を行うことができる。したがって、端末装置10は、ユーザが連続でタップ操作をしたい場合に、他の操作だと判定することによる、誤判定を抑制することができる。
また、実施形態に係る端末装置10において、取得部151は、端末装置10の画面に対するユーザのタップ操作に関するセンサ情報を取得する。判定部153は、センサ情報に基づいて、タップ操作によりユーザにタッチされた画面の位置から所定の範囲内において、タップ操作に続けて、次のタップ操作が行われるかを判定する。
このように、実施形態に係る端末装置10は、センサ情報に基づいて、タップ操作によりユーザにタッチされた画面の位置から所定の範囲内において、タップ操作に続けて、次のタップ操作が行われるかを判定することにより、ユーザの操作性の向上を可能にすることができる。
また、実施形態に係る端末装置10において、判定部153は、センサ情報に基づいて、タップ操作がシングルタップの操作であるか、ダブルタップにおける1回目の操作であるかを判定する。
このように、実施形態に係る端末装置10は、センサ情報に基づいて、タップ操作がシングルタップの操作であるか、ダブルタップにおける1回目の操作であるかを判定することにより、ユーザの操作性の向上を可能にすることができる。例えば、端末装置10は、1回目のタップ操作が行われたタイミングで、そのタップ操作が完結した操作(シングルタップ)であるか、次の操作が行われる操作なのかを判定する。そのため、端末装置10は、ユーザの操作がシングルタップであると判定した場合、待機期間の経過を待つことなく、ユーザのシングルタップの操作に応じて所定の処理(例えば、画面の表示変更等)を行う。このように、端末装置10は、待機時間を経過する前に判定することができるため、ユーザビリティが向上させることができる。また、端末装置10は、ユーザが待機期間内に連続してシングルタップの操作を行った場合であっても、センサ情報に基づいて判定することにより、各シングルタップの操作をシングルタップの操作として、対応する処理を行うことができる。したがって、端末装置10は、ユーザが連続でシングルタップしたい場合に、ダブルタップだと判定することによる、誤判定を抑制することができる。
〔9.プログラム〕
上述してきた端末装置10による処理は、本願に係る判定プログラムにより実現される。例えば、端末装置10に係る判定部153は、端末装置10が有するCPUやMPU等によって、判定プログラムがRAMを作業領域として、判定プログラムに係る判定手順が実行されることにより実現される。例えば、端末装置10に係る判定部153は、端末装置10が有するCPUやMPU等によって、判定プログラムがRAMを作業領域として、判定プログラムに係る付与手順が実行されることにより実現される。端末装置10に係る他の処理部も同様に、判定プログラムによる各手順が実行されることにより実現される。例えば、判定プログラムは電子書籍アプリに含まれてもよい。
なお、本願に係る端末装置10が実行する処理は、必ずしも全てが判定プログラムによって実現されるものでなくてもよい。例えば、センサ部16は、端末装置10における各種のセンサ情報を検知する。このとき、端末装置10における各種のセンサ情報等は、端末装置10が有するOS(Operating System)によって検知されてもよい。すなわち、判定プログラム自体が、上述してきたような端末装置10で実行される処理を実行するのではなく、OSによって取得されたデータ(例えば、端末装置10が有するセンサや回路等を利用して取得されるデータ)を受け取ったり、検知したりすることにより、上述してきた端末装置10の処理を実現するようにしてもよい。また、端末装置10が有するOSに判定プログラムが含まれてもよい。
〔10.ハードウェア構成〕
上述してきた実施形態に係る端末装置10は、例えば図12に示すような構成のコンピュータ1000によって実現される。図12は、端末装置及びサーバ装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定のネットワーク(例えば図3中のネットワークN)を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定のネットワークNを介して他の機器へ送信する。
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係る端末装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムまたはデータ(例えば、モデルM1、M2、M3等)を実行することにより、制御部15の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムまたはデータ(例えば、モデルM1、M2、M3等)を記録媒体1800から読み取って実行するが、他の例として、他の装置から所定のネットワークを介してこれらのプログラムを取得してもよい。
以上、本願の実施形態および変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔11.その他〕
また、上記各実施形態および変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた各実施形態および変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。