(57)【要約】【課題】端末を操作しているユーザの状態を判定するための条件をユーザ毎に特定し、当該条件に従ってユーザの端末操作時の状態を判定し、ユーザの状態に応じて端末において実行する処理を制御する。【解決手段】端末装置は、ユーザ入力を検出する検出手段と、前記端末装置における所定の動作の開始の後に前記検出手段が検出した前記ユーザ入力を、前記所定の動作と関連づけて記憶部に記憶させる記憶制御手段と、前記端末装置の前記所定の動作を開始した場合に、前記所定の動作と関連づけて前記記憶部に記憶されたいずれかのユーザ入力が発生したか否かを判定する判定手段と、前記判定手段が前記いずれかのユーザ入力が発生したと判定したかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御手段とを備える。【選択図】図１
2018124648.tif 000002
【特許請求の範囲】
【請求項１】
端末装置であって、
ユーザ入力を検出する検出手段と、
前記端末装置における所定の動作の開始の後に前記検出手段が検出した前記ユーザ入力を、前記所定の動作と関連づけて記憶部に記憶させる記憶制御手段と、
前記端末装置の前記所定の動作を開始した場合に、前記所定の動作と関連づけて前記記憶部に記憶されたいずれかのユーザ入力が発生したか否かを判定する判定手段と、
前記判定手段が前記いずれかのユーザ入力が発生したと判定したかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御手段と
を備えることを特徴とする端末装置。
【請求項２】
前記記憶制御手段は、前記所定の動作を開始した後の所定期間内に検出された同種または異種の複数のユーザ入力を、前記所定の動作と関連づけて前記記憶部に記憶させることを特徴とする請求項１に記載の端末装置。
【請求項３】
前記記憶制御手段は、前記所定期間内に検出された複数のユーザ入力の組み合わせに基づくジェスチャ入力を前記所定の動作と関連づけて前記記憶部に記憶させ、
前記判定手段は、前記ジェスチャ入力が行なわれたか否かを判定することを特徴とする請求項２に記載の端末装置。
【請求項４】
前記記憶制御手段は、
前記所定期間内に検出されたユーザ入力を仮登録として前記所定の動作と関連づけて前記記憶部に記憶させ、
前記仮登録されたユーザ入力のうち、前記所定の動作と関連づけて所定回数以上、仮登録されたユーザ入力を、前記所定の動作と関連づけて本登録として前記記憶部に記憶させ、
前記判定手段は、前記本登録されたいずれかのユーザ入力が発生したか否かを判定する
ことを特徴とする請求項２または３に記載の端末装置。
【請求項５】
前記記憶制御手段は、前記所定期間内に検出されたユーザ入力のうち、該ユーザ入力の平均的な入力とは異なるユーザ入力を、前記所定の動作と関連づけて前記記憶部に記憶させることを特徴とする請求項２から４のいずれか１項に記載の端末装置。
【請求項６】
端末装置であって、
ユーザ入力を検出する検出手段と、
前記検出手段が、前記ユーザの平均的な入力とは異なるユーザ入力を所定期間内に複数検出した場合に、該複数のユーザ入力をユーザ入力セットとして記憶部に記憶させる記憶制御手段と、
前記端末装置が所定の動作を実行している間に、前記記憶部に記憶されたいずれかのユーザ入力セットが発生したか否かを判定する判定手段と、
前記判定手段が前記いずれかのユーザ入力セットが発生したと判定したかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御手段と
を備えることを特徴とする端末装置。
【請求項７】
前記所定期間は、前記検出手段が前記ユーザの平均的な入力とは異なるユーザ入力を最初に検出してからの経過期間であることを特徴とする請求項６に記載の端末装置。
【請求項８】
前記複数のユーザ入力は、同種または異種の複数のユーザ入力を含み、
前記記憶制御手段は、前記所定期間内に検出された前記複数のユーザ入力の組み合わせに基づくジェスチャ入力を前記ユーザ入力セットとして前記記憶部に記憶させることを特徴とする請求項６または７に記載の端末装置。
【請求項９】
前記記憶制御手段は、
前記所定期間内に検出された複数のユーザ入力を仮登録として互いに関連づけて前記記憶部に記憶させ、
前記仮登録された複数のユーザ入力のうち、所定回数以上、仮登録された複数のユーザ入力を前記ユーザ入力セットの本登録として前記記憶部に記憶させ、
前記判定手段は、前記本登録されたいずれかの前記ユーザ入力セットが発生したか否かを判定する
ことを特徴とする請求項６から８のいずれか１項に記載の端末装置。
【請求項１０】
前記平均的な入力は、前記端末装置の周囲の環境、または、前記端末装置を利用する時間帯に応じて、ユーザ入力の種別ごとに定められることを特徴とする請求項５から９のいずれか１項に記載の端末装置。
【請求項１１】
前記所定の動作は前記ユーザからの指示に応じて開始され、前記指示を受け付けると、前記端末装置が前記所定の動作に対応する処理の実行の要求をサーバに送信する場合に、
前記制御手段は、前記判定手段が発生したと判定した場合に、前記サーバに実行要求を送信した処理をより高速化するための要求を前記サーバに送信するように制御することを特徴とする請求項１から１０のいずれか１項に記載の端末装置。
【請求項１２】
前記所定の動作は前記ユーザからの指示に応じて開始され、前記指示を受け付けると、前記端末装置が前記端末装置内において前記所定の動作に対応する処理を実行する場合に、
前記制御手段は、前記判定手段が発生したと判定した場合に、前記所定の動作に対応する処理の実行の要求をサーバに送信するように制御することを特徴とする請求項１から１１のいずれか１項に記載の端末装置。
【請求項１３】
前記処理の実行の要求のサーバへの送信は、前記サーバが提供するＷｅｂ ＡＰＩの利用に基づくものであることを特徴とする請求項１１または１２に記載の端末装置。
【請求項１４】
前記所定の動作が表示手段に表示された情報を操作する動作である場合に、
前記制御手段は、前記判定手段が発生したと判定した場合に、前記表示手段における前記情報の表示形態を変更するために、前記情報に含まれるＣＳＳの記述を編集するように制御することを特徴とする請求項１から１３のいずれか１項に記載の端末装置。
【請求項１５】
前記所定の動作を実行した結果に、複数の項目の表示が含まれる場合に、
前記制御手段は、前記判定手段が発生したと判定した場合に、表示する項目の数を少なくする、または、項目の品質を下げるように制御することを特徴とする請求項１から１４のいずれか１項に記載の端末装置。
【請求項１６】
ユーザ入力を検出する検出手段を備える端末装置の制御方法であって、
前記端末装置における所定の動作の開始の後に検出された前記ユーザ入力を、前記所定の動作と関連づけて記憶部に記憶させる記憶制御工程と、
前記端末装置が前記所定の動作を開始した場合に、前記所定の動作と関連づけて前記記憶部に記憶されたいずれかのユーザ入力が発生したか否かを判定する判定工程と、
前記判定工程において前記いずれかのユーザ入力かが発生したと判定されたかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御工程と
を含むことを特徴とする端末装置の制御方法。
【請求項１７】
ユーザ入力を検出する検出手段を備える端末装置の制御方法であって、
前記検出手段が前記ユーザの平均的な入力とは異なるユーザ入力を所定期間内に複数検出した場合に、該複数のユーザ入力をユーザ入力セットとして記憶部に記憶させる記憶制御工程と、
前記端末装置が所定の動作を実行している間に、前記記憶部に記憶されたいずれかのユーザ入力セットが発生したか否かを判定する判定工程と、
前記判定工程において前記いずれかのユーザ入力セットが発生したと判定されたかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御工程と
を含むことを特徴とする端末装置の制御方法。
【請求項１８】
コンピュータを、請求項１から１５のいずれか１項に記載の端末装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、端末装置、端末装置の制御方法、及び、コンピュータプログラムに関する。
【背景技術】
【０００２】
ユーザの操作速度を測定し、平均値よりも速い場合には表示速度を従来よりも速くする技術が提案されている（特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２２４８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、提案技術では、操作単位に平均値からのずれを検知しているだけで、操作を行なっているユーザの状態とは無関係に、操作が平均値からずれれば常に表示速度が変わることになってしまう。
【０００５】
そこで、本願発明では、端末を操作しているユーザの状態を判定するための条件をユーザ毎に特定し、当該条件に従ってユーザの端末操作時の状態を判定し、ユーザの状態に応じて端末において実行する処理を制御する技術を提供する。
【課題を解決するための手段】
【０００６】
上記課題を解決するための発明の実施形態の一つに対応する端末装置は、
ユーザ入力を検出する検出手段と、
前記端末装置における所定の動作の開始の後に前記検出手段が検出した前記ユーザ入力を、前記所定の動作と関連づけて記憶部に記憶させる記憶制御手段と、
前記端末装置の前記所定の動作を開始した場合に、前記所定の動作と関連づけて前記記憶部に記憶されたいずれかのユーザ入力が発生したか否かを判定する判定手段と、
前記判定手段が前記いずれかのユーザ入力が発生したと判定したかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御手段と
を備えることを特徴とする。
【０００７】
上記課題を解決するための発明の実施形態の他に対応する端末装置は、
ユーザ入力を検出する検出手段と、
前記検出手段が、前記ユーザの平均的な入力とは異なるユーザ入力を所定期間内に複数検出した場合に、該複数のユーザ入力をユーザ入力セットとして記憶部に記憶させる記憶制御手段と、
前記端末装置が所定の動作を実行している間に、前記記憶部に記憶されたいずれかのユーザ入力セットが発生したか否かを判定する判定手段と、
前記判定手段が前記いずれかのユーザ入力セットが発生したと判定したかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御手段と
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、端末を操作しているユーザの状態を判定するための条件をユーザ毎に特定し、当該条件に従ってユーザの端末操作時の状態を判定し、ユーザの状態に応じて端末において実行する処理を制御する技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】発明の実施形態に対応する、クライアント・サーバ・システム全体の構成例を示す図。
【図２】発明の実施形態に対応する、クライアント１０１のハードウェア構成の一例を示すブロック図。
【図３】発明の実施形態に対応する、サーバ１０３のハードウェア構成の一例を示すブロック図。
【図４】発明の実施形態１に対応する、ユーザ特性テーブル生成処理の流れの一例を示すフローチャート。
【図５】発明の実施形態に対応する、ユーザ特性テーブルの一例を示す図。
【図６】発明の実施形態に対応する、クライアント１０１における処理の流れの一例を示すフローチャート。
【図７】発明の実施形態に対応する、クライアント１０１におけるフラストレーション解消処理の流れの一例を示すフローチャート。
【図８】発明の実施形態に対応する、クライアント１０１における処理結果の出力処理の流れの一例を示すフローチャート。
【図９】発明の実施形態２に対応する、ユーザ特性テーブル生成処理の流れの一例を示すフローチャート。
【図１０】発明の実施形態３に対応する、平均値テーブルの一例を示す図。
【発明を実施するための形態】
【００１０】
以下、図面を用いて、本願発明に係る実施形態について説明する。なお、以下に示す実施形態は一例であり、これに限定するものではない。そのため、本願発明の特徴的構成を適用できれば他の構成であってもよい。
【００１１】
［実施形態１］
以下に、添付する図面を参照して本発明の第１の実施形態を説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１２】
＜システム構成＞
以下、本実施形態に対応するクライアント・サーバ・システムの構成について説明する。図１は、オンラインショッピングサイトとしてシステムを構築した場合の、本実施形態に対応するシステム全体構成の一例を示すブロック図である。当該システムは、ユーザ端末、サーバがネットワークに接続されて構成されている。サーバは、オンラインショッピングサイトを管理し、サイトで販売される商品の画像情報の他に、店舗及び顧客の各ユーザ情報を管理する。
【００１３】
クライアント１０１ａ、１０１ｂ、１０１ｃ（以下、これらを総称して「クライアント１０１」という。）は、ユーザが操作し、サーバによりユーザ認証を受けた後、サーバからサービスの提供を受けることができるユーザ端末である。本実施形態では、当該サービスには、オンラインショッピングサイトで提供されている情報の閲覧を含むことができる。
【００１４】
サーバ１０３は、クライアント１０１のユーザを認証し、認証されたユーザが使用するクライアント１０１に対して上記サービスを提供する装置である。クライアント１０１及びサーバ１０３はそれぞれネットワーク１０２に接続され、相互通信が可能となっている。ネットワーク１０２は例えばインターネット、ローカル・エリア・ネットワーク（ＬＡＮ）、或いは、ワイド・エリア・ネットワーク（ＷＡＮ）として構築することができる。インターネットは世界中のネットワークが互いに接続されたネットワークであるが、ネットワーク１０２は、これ以外にもイントラネットのように特定の組織内においてのみ接続可能なネットワークであってもよい。サーバ１０３には、ユーザ情報データベース１０４とコンテンツデータベース１０５とが接続されている。
【００１５】
クライアント１０１は、ユーザが操作することで、サーバ１０３が提供するサービスを利用することができる。当該サービスには、例えばサーバ１０３が提供するページ情報の閲覧、情報の検索、絞り込み、並び替え、その他の情報の取得、情報のアップロード等が含まれる。クライアント１０１は、ユーザ端末、端末装置、情報処理装置、或いは、通信装置であって、例えば、スマートフォン、タブレット端末、ノートパソコン、デスクトップパソコン、携帯情報端末、携帯電話等を含む。クライアント１０１は、ユーザの状態を検出するための各種センサを搭載しているものとする。当該センサには、映像、触覚、振動、音声等を検出する機能を有するものを含む。クライアント１０１は、無線ＬＡＮ、ＬＴＥ等の無線データ通信手段によってネットワーク１０２に接続されている。尚、イーサネット（登録商標）等のネットワークケーブルを含むＬＡＮにより、ネットワーク１０２へアクセス可能に更に構成されていてもよい。
【００１６】
サーバ１０３は、ユーザ情報データベース１０４を管理し、クライアント１０１の各ユーザの登録情報を保持しておき、各ユーザが特定のサービスの提供を受けようとする場合に、当該ユーザが当該サービス提供を受ける権限を有しているか否かを判定するために用いることができる。サーバ１０３は、また、コンテンツデータベース１０５に格納されているデータを管理し、クライアント１０１からの要求に応じて当該データをクライアント１０１に提供することができる。サーバ１０３は、例えば、ＬＡＮによってユーザ情報データベース１０４やコンテンツデータベース１０５と接続される。ユーザ情報データベース１０４及びコンテンツデータベース１０５は、それぞれ所定のデータベース・ソフトウェアがインストールされた情報処理装置であり、各種データの管理を行う。
【００１７】
ユーザ情報データベース１０４は、ユーザごとの登録情報を管理する。具体的に、ユーザを一意に識別するためのユーザ識別子（ユーザＩＤ）、登録ユーザであるか否かを判定するためのユーザ登録情報（例えば、ユーザ名とパスワードのセット等）等を関連づけて格納する。
【００１８】
コンテンツデータベース１０５は、サーバ１０３からクライアント１０１に提供されるコンテンツデータを格納し管理する。また、クライアント１０１がアップロードしたコンテンツを格納し、管理することもできる。コンテンツデータには、テキスト、画像、動画、音声等のデータが含まれる。これらのコンテンツデータには、当該コンテンツデータを一意に識別するためのコンテンツＩＤが割当てられている。
【００１９】
尚、本明細書では、便宜上、サーバ１０３、ユーザ情報データベース１０４、及びコンテンツデータベース１０５は、それぞれ物理的に独立した情報処理装置によって実現されるものとして説明するが、本発明の実施形態はこれに限られるものではない。例えば、これらが単一の情報処理装置によって実現されてもよい。その一方で、サーバ１０３等の各装置が複数台の情報処理装置により冗長構成、或いは分散構成されても良い。また、ユーザ情報データベース１０４は、サーバ１０３とＬＡＮ等によって接続されているものとして説明するが、例えば、ネットワーク１０２や非図示のイントラネット経由でサーバ１０３と通信可能な形態をとってもよい。サーバ１０３とコンテンツデータベース１０５との関係についても同様である。また、ユーザ情報データベース１０４が管理するユーザ情報と、とコンテンツデータベース１０５が管理するコンテンツ関連のデータとは一体的に管理されていてもよい。
【００２０】
＜クライアント１０１の構成＞
図２は、クライアント１０１のハードウェア構成の一例を示すブロック図である。本実施形態に対応するクライアント１０１は、例えば、携帯電話、スマートフォン、タブレット端末として構成することができる。以下では、図２を参照して本実施形態に対応するクライアント１０１を説明するが、図２は、クライアント１０１をスマートフォンとして構成する例を示している。
【００２１】
図２において、ＣＰＵ２００は、ハードディスク装置（以下、ＨＤと呼ぶ）２０５に格納されているアプリケーションプログラム（本実施形態に対応する処理を実行するためのアプリケーションプログラムを含む）、オペレーティングシステム（ＯＳ）や制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。インターフェイス２０８を介した外部装置とのデータ送受信を制御するとともに、外部装置から受信したデータの分析・処理を実行し、また外部装置へ送信するデータ（処理要求やデータ要求を含む）の生成を行う。
【００２２】
ＲＯＭ２０１は、内部に基本Ｉ／Ｏプログラム、本実施形態に対応する処理を実行するためのアプリケーションプログラム等の各種データを記憶する。ＲＡＭ２０２は各種データを一時記憶し、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００２３】
外部記憶ドライブ２０３は、記録媒体へのアクセスを実現するための外部記憶ドライブであり、メディア（記録媒体）２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。尚、メディア２０４は、例えば、ＳＤカード等のフラッシュ（登録商標）メモリ等を利用することができる。
【００２４】
外部記憶装置２０５は、本実施形態では大容量メモリとして機能するＨＤ（ハードディスク）を用いている。ＨＤ２０５には、アプリケーションプログラム、ＯＳ、制御プログラム、関連プログラム等が格納される。なお、ハードディスクの代わりに、フラッシュメモリ等の不揮発性記憶装置を用いても良い。
【００２５】
指示入力装置２０６は、ボタン、キーボード、マウス、タッチパネル等がこれに相当する。出力装置２０７は、指示入力装置２０６から入力したコマンドや、それに対するクライアント１０１の応答出力等を出力する。出力装置２０７にはディスプレイ、スピーカ、ヘッドフォン端子等が含まれる。システムバス２０９は、端末理装置内のデータの流れを司る。
【００２６】
インターフェイス（以下、Ｉ／Ｆという）２０８は、外部装置とのデータのやり取りを仲介する送信装置、受信装置、或いは、通信装置としての役割を果たす。具体的に、Ｉ／Ｆ２０８は、無線通信モジュールを含むことができ、当該モジュールはアンテナシステム、ＲＦ送受信器、１つ以上の増幅器、同調器、１つ以上の発振器、デジタル信号プロセッサ、ＣＯＤＥＣチップセット、加入者識別モジュールカード、メモリなどを含む、周知の回路機構を含むことができる。また、有線接続のための有線通信モジュールを含むことができる。有線通信モジュールは１つ以上の外部ポートを介して他のデバイスとの通信を可能とする。また、データを処理する様々なソフトウェアコンポーネントを含むことができる。外部ポートは、イーサーネット、ＵＳＢやＩＥＥＥ１３９４等を介して、直接的に、又はネットワークを介して間接的に他のデバイスと結合する。尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
【００２７】
撮像部２１０は、撮影光学系、撮像素子（ＣＭＯＳセンサ等）、Ａ／Ｄ変換部などを含むことができる。撮像部２１０から出力された画像信号は、ＲＡＭ２０２に格納され、ＣＰＵ２００による圧縮・符号化処理により例えばＪＰＥＧ画像に変換され、メディア２０４やＨＤ２０５に格納されてもよい。また、ＣＰＵ２００が、ユーザの表情からユーザの状態を判定するために撮影画像の解析を行なってもよい。
【００２８】
音声入力部２１１は、内蔵された無指向性のマイクにより、クライアント１０１の周囲の音声を集音（収音）し、アナログデジタル変換をしてＣＰＵ２００に送信する。ＣＰＵ２００は、入力されたデジタル音声信号の処理を行い、必要に応じてメディア２０４やＨＤ２０５に格納してもよい。また、ＣＰＵ２００が、ユーザ状態を判定するためにユーザの発生音声の解析を行なってもよいし、クライアント１０１の周囲環境を判定するための音声解析を行なうこともできる。
【００２９】
振動検出部２１２は、角速度センサや加速度センサによりクライアント１０１の振動を検出し、ＣＰＵ２００に通知することができる。ＣＰＵ２００は、クライアント１０１の設置環境や利用状況を判定するために振動情報を解析することができる。
【００３０】
クライアント１０１は、本実施形態に対応する処理を実行するために対応するプログラムを動作させる度に、既にプログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。また、本実施形態に係るプログラムをＲＯＭ２０１に記録しておき、これをメモリマップの一部をなすように構成し、直接ＣＰＵ２００で実行することも可能である。さらに、メディア２０４から対応プログラム及び関連データを直接ＲＡＭ２０２にロードして実行させることもできる。
【００３１】
また、上述した情報処理装置としてのユーザ情報データベース１０４及びコンテンツデータベース１０５も、図２のＣＰＵ２００からシステムバス２０９までと同様或いは同等のハードウェア構成を有するように構成しても良い。
【００３２】
＜サーバ１０３の構成＞
図３は、サーバ１０３のハードウェア構成の一例を示すブロック図である。ＣＰＵ３００、ＲＯＭ３０１、ＲＡＭ３０２、外部記憶ドライブ３０３、メディア３０４、ＨＤ３０５、指示入力装置３０６、出力装置３０７、Ｉ／Ｆ３０８、システムバス３０９の機能及び用途、更には、これらの関係は、図２を用いて同一名称の要素について説明したものと同様或いは同等である。
【００３３】
サーバ１０３はデータベース３１０を更に備えることができる。データベース３１０はシステムバス３０９に接続され、ＣＰＵ３００の制御下において所定のデータを保存、管理する。所定のデータには、クライアント１０１に提供するコンテンツデータを含むことができる。データベース３１０は、図１のユーザ情報データベース１０４及びコンテンツデータベース１０５を含むことができる。
【００３４】
以下、本実施形態に対応するクライアント・サーバ・システムにおいて実行される、ユーザの操作特性に基づくクライアント１０１の動作制御について説明する。クライアント１０１を使用しているユーザは、その時々の精神状態・心理状態によって、操作の仕方が変わることがある。例えば、苛立ったときや、ストレスを感じているときには、操作回数が増加したり、操作速度が速くなったりする。また、クライアント１０１がタッチパネルを有する場合には、タッチパネルに対する操作圧力が高くなることもある。ユーザがこのような状態にある場合、ユーザは自身が操作する端末が操作に迅速に応答することを要求していると推測される。
【００３５】
そこで、本実施形態では、このようなユーザの精神状態・心理状態を示す兆候を検知して、表示処理を切替える制御を実行する。その際、精神状態や心理状態の変化の出方はユーザによって異なるため、複数のパラメータのうち、ユーザの精神状態の変化が出やすいパラメータを特定し、当該パラメータの変化に基づいてユーザの現在の状態を判定する。本実施形態では、まずユーザからの操作を継続的に監視しておき、装置がどのような動作を行なったときにユーザがどのように反応するのかを観察し、ユーザの精神状態の変化が出やすいパラメータをテーブル化し、ユーザ特性テーブルを作成する。
【００３６】
テーブル化の対象となり得るパラメータは、クライアント１０１がユーザとの関連において検出可能な任意のパラメータを含む。例えば、クライアント１０１がスマートフォンであって、タッチパネルを有する場合に、タッチパネル上で受け付ける各種操作（タップ圧力、スワイプ速度、タップ回数、タップ位置、ピンチジェスチャ回数等）による入力は全てテーブル登録の対象となり得る。また、音声入力部２１１により検出されたユーザによる特定の音声入力（舌打ち、発言等）や、振動検出部２１２により検出されたクライアント１０１の振動（ユーザが装置を振るなどした場合に発生する振動等）を含むこともできる。
【００３７】
以下、図４のフローチャートを参照して、本実施形態に対応するクライアント１０１において実行される、ユーザ特性テーブルの生成処理を説明する。当該フローチャートに対応する処理は、例えば、ＣＰＵ２００が対応するプログラム（ＲＯＭ１０２やＨＤ１０５等に格納）を実行することにより実現できる。
【００３８】
まず、Ｓ４０１において、ＣＰＵ２００は、所定の動作指示（或いは、所定の操作入力）を検出したか否かを判定する。検出対象には、例えば、情報の検索、絞り込み、並べ替え、その他の情報の取得、情報のアップロード、新たなリンク先の表示、ウェブページのページ切替え、ウェブページの更新等の動作指示（或いは、当該動作の実行を指示するための操作入力）が含まれる。例えば、情報の検索であれば、検索ボタンに対する操作を検出した場合に、所定の動作指示を検出したと判定できる。新たなリンク先の表示であれば、ページ中に表示されているＵＲＬへのタップ操作を検出した場合に、所定の動作指示を検出したと判定できる。同様にしてページ切替えや更新も対応するタップ操作を検出した場合に、所定の動作指示を検出したと判定することができる。
【００３９】
このようにしてＣＰＵ２００が当該動作指示を検出すると、処理はＳ４０２に進み、ＣＰＵ２００は、指示された動作の実行を遅延させる。例えば、新たなリンク先の表示の場合には、ＵＲＬに基づいてリンク先のページ情報を、外部のウェブサーバ等から取得してもよいが、ページ情報を取得できた場合であっても、クライアント１０１の出力装置１０７のディスプレイには表示しないように動作を制御する。
【００４０】
動作の遅延には、例えば以下のものも含まれる。ユーザ操作に対して反応しない（例えば、スワイプに対し画面が動かない）、ウェブサイトの表示切替の速度を低下させる、ページのスクロール速度を低下させる、ページの表示を停止する、画面を急に暗くする、起動中のアプリを突然終了する、端末の動作と無関係なコメントを表示する、等である。
【００４１】
次に、処理はＳ４０３に進み、ＣＰＵ２００は、所定の動作指示を検出してからの経過時間ＴｐがＴ１以上となったか否かを判定する。経過時間ＴｐがＴ１に満たない場合は、処理はＳ４０４に進み、経過時間ＴｐがＴ１以上となった場合は、処理はＳ４０６に進む。Ｓ４０４においてＣＰＵ２００は、入力を検出したか否かを判定する。当該入力は、ユーザがＳ４０１において所定の動作指示を行なうための操作を行なった後、当該動作に対応する処理が実行されずにいる間に検出される、タッチパネル入力、音声入力、振動、画像を含むこともできる。これらの入力は、ユーザがフラストレーションを感じていることを表す入力であって、例えば、画面を叩く操作入力や、画面を強く押す入力、素早いスワイプ入力、舌打ちや特定の言葉の発声等の音声入力、画像解析により得られるユーザの不満を表す表情が含まれる。また、ユーザが行なうことが可能な入力の平均値を保持しておき、平均値を比較することにより、ユーザの平均的な入力とは異なるユーザ入力を検出したかどうかを判定することができる。例えば、フリック入力について、指の移動速度の平均値を保持しておき、平均値よりも早い場合には、入力を検出したと判定してもよい。
【００４２】
このようにして入力が検出された場合には、処理はＳ４０５に進む。一方、入力が検出されない場合、Ｓ４０３に戻って経過時間を監視する。Ｓ４０５においてＣＰＵは、Ｓ４０４で検出した入力の種別を判定して、Ｓ４０１で検出した動作と関連づけてテーブルに仮登録し、Ｓ４０３に戻る。
【００４３】
Ｓ４０６において、ＣＰＵ２００はＳ４０２で遅延させていた処理を実行する。続くＳ４０７において、テーブルの登録内容を参照し、仮登録されている検出動作と検出入力の組み合わせのうち、同一の組み合わせで所定登録回数（例えば５回）以上登録されているものがあるか否かを判定する。もし、所定登録回数以上登録されている同一の組み合わせが存在する場合は、処理はＳ４０８に進む。所定登録回数以上登録されている同一の組み合わせが存在しない場合は、処理はＳ４０１に戻って、以上の処理を繰り返す。
【００４４】
ＣＰＵ２００は、Ｓ４０８において所定登録回数以上登録されていると判定された同一の組み合わせについて、ユーザ特性テーブルに本登録を行なう。その後、Ｓ４０１に戻って以上の処理を繰り返す。その際、Ｓ４０８において本登録された組み合わせに関する動作については、Ｓ４０１における検出対象の動作から除外してもよい。例えば、新たなリンク先の表示のための動作について本登録された場合、その後の処理では、新たなリンク先の表示のための動作が検出された場合であっても、Ｓ４０２における処理の遅延も行なわず、リンク先のページが受信できれば直ぐに表示を行なってよい。或いは、一定期間経過後に検出対象の動作に含めるようにしてもよい。また、検索対象の動作から除外しない場合には、同一の動作について複数のユーザ入力の組み合わせが登録されても良い。
【００４５】
以上により、ユーザのフラストレーションを表す入力と、装置の動作とを関連づけて登録することが可能となる。なお、当該本登録されたユーザ特性テーブルのデータは、クライアント１０１内のＨＤ２０５内に保存すると共に、サーバ１０３内、或いは、ユーザ情報データベース１０４内に保存してもよい。
【００４６】
また、Ｓ４０２では、動作の実行を意図的に遅延させていたが、通常の動作において偶発的に遅延が生じた場合にも同様の処理を実行しても良い。例えば、Ｓ４０１において動作指示を検出した後、Ｓ４０２は実行せず、Ｓ４０６において処理が実行できる状態になれば処理を実行する。その際、動作指示の検出から処理の実行までの経過時間を測定しておき、一定の経過時間が過ぎても処理の実行ができない場合にＳ４０４で検出した入力をＳ４０５で仮登録しておく。これにより、偶発的に発生した遅延についても、ユーザのフラストレーションを表す入力と、装置の動作とを関連づけて登録することが可能となる。
【００４７】
図５は、ユーザ特性テーブルの一例を示す。ユーザ特性テーブル５００には、登録種別５０１、検出動作５０２、検出入力５０３、検出日時５０４を含む情報が登録される。図５では、省略しているが、ユーザ特性テーブル５００は、ユーザを識別するためのユーザ識別子と関連づけておくことができる。
【００４８】
登録種別５０１には、仮登録と本登録との２種類があり、それぞれについて検出動作５０２、検出入力５０３が登録される。仮登録について、検出動作５０２には、図４のＳ４０１において検出された動作が登録される。また、検出入力５０３には、Ｓ４０４において検出された入力が登録され、経過時間ＴｐがＴ１に達するまでに検出された入力を登録することができる。検出日時５０４には、Ｓ４０４において入力を検出した日時が登録され、これは経過時間がＴ１に達した日時とすることができる。検出日時５０４が現在の日時と比較して一定期間以上経過している場合、有効な情報ではないとして、ユーザ特性テーブル５００から削除してもよい。
【００４９】
本登録には、仮登録で登録された動作のうち、所定登録回数以上登録された検出動作と検出入力との同一の組み合わせについて、検出動作５０２、検出入力５０３、検出日時５０４とが登録される。例えば、図５の場合、動作Ａについて検出された入力１と入力２とが本登録されている。これらは、仮登録において、例えば５回以上登録されていたために本登録されたものである。検出日時５０４は、本登録された日時を登録することができる。
【００５０】
ユーザ特性テーブル５００に本登録された組み合わせは、仮登録の領域からは削除され、それ以降同一の動作については仮登録を行なわなくてもよい。或いは、登録日時から一定期間以上経過した場合には、同一の動作について仮登録を再開し、関連づけられる検出入力の組み合わせが異なる場合には、本登録時に既に登録されている内容を上書きするか、新たに登録してもよい。これは時間の経過と共にユーザの反応が異なってくる場合に対応するためである。
【００５１】
仮登録から本登録へ移す場合、同一の検出動作について仮登録されている検出入力５０３が複数あり、かつ、全てが一致しない場合がある。例えば、図５で仮登録されている動作Ｂに着目すると、既に５つの仮登録がなされているので、本登録が可能である。仮登録内容の検出入力５０３のうち、入力３と入力１とは全てに共通しているが、入力２は一度しか検出されていない。したがって、このような場合には入力２は無視して、入力３と入力１のみを動作Ｂと関連づけて本登録することができる。なお、入力２が所定登録回数の過半数以上であった場合には、本登録の対象としてもよい、或いは、所定登録回数以上となった入力３と入力１のみを本登録した後、引き続き動作Ｂについて仮登録を継続し、入力２について所定登録回数以上が登録された後に、本登録の対象とすることができる。
【００５２】
ここで、所定登録回数をより大きい値にすることにより、ある動作に対してユーザが確実に実行する操作を統計的に絞り込むことが可能となる。これにより、例えば、ある条件下において偶々検出された入力は統計的に除外されることになるので、平均値との比較を行なわずとも、ユーザのフラストレーションを反映する入力を特定することが可能となる。また、図５では、検出入力５０３として複数の入力を登録しているが、検出入力が複数である必要はなく単数であってもよい。その場合、関連づけられる検出動作５０２について最も高い頻度で検出された入力を検出入力として登録することができる。
【００５３】
また、テーブルに登録する入力は、一定時間Ｔ１内に検出された入力であるが、検出された複数の同種（又は異種）の入力をまとめて扱うことによりジェスチャ入力として登録してもよい。例えば、一定の間隔を置いてタップを行ない、画面を叩くユーザがいる一方で、一定方向のスワイプを繰り返すユーザもいる。この場合、単体のタップやスワイプ自体を入力として登録することもできるが、一定時間内に入力された複数のタップをまとめて連続タップジェスチャとして、また、繰り返し行なわれたスワイプをまとめて連続スワイプジェスチャとして登録してもよく、この場合はユーザが実行するジェスチャによりユーザの状態を判定することが可能となる。例えば、単にスワイプを単発で行なっている場合は、フラストレーションを感じていないと判定できる一方、連続してタップを繰り返している場合はユーザがフラストレーションを感じている状態にあると判定することができる。
【００５４】
次に、図６を参照して、クライアント１０１で行なわれる、本実施形態に対応する処理の流れを説明する。図６は、クライアント１０１で実行される処理のフローチャートの一例を示す。当該フローチャートに対応する処理は、例えば、クライアント１０１のＣＰＵ２００が対応するプログラムを実行し、各機能ブロックの動作を制御することにより実現できる。
【００５５】
まず、Ｓ６０１では、クライアント１０１においてユーザからの操作を受付ける。ここで受付ける操作には、例えば、情報検索、絞り込み、並べ替え、その他の情報の取得、情報のアップロード、ページの表示、更新、リンク先の情報の提示、ズームイン、ズームアウトなどを要求するための操作が含まれる。ＣＰＵ２００はユーザからの操作を受付けると、Ｓ６０２において受付けた操作に対応する処理を開始する。クライアント１０１がサーバ１０３から情報の取得を要求する操作を受付けた場合には、当該情報の取得のためのＷｅｂ ＡＰＩ（以下、単にＡＰＩと略す。）を利用して、情報の取得要求を送信する。例えば、情報検索の場合には、サーバ１０３に対し検索の実行を要求するためのＡＰＩを利用し、検索要求を送信する。このとき、使用可能なＡＰＩが複数ある場合、クライアント１０１においてデフォルトとして指定されているＡＰＩを利用する。また、クライアント１０１側で実行可能な処理については、ＣＰＵ２００が当該処理を開始する。例えば、表示されているページのズームインの動作を受付けた場合には、ユーザから受付けた操作量に応じたズームイン動作を実行することができる。
【００５６】
クライアント１０１がＡＰＩを利用してサーバ１０３に所定の処理の実行を要求した場合、サーバ１０３側では、クライアント１０１から要求を受信すると、要求に対応する処理を実行し、処理が完了すると処理結果をクライアント１０１に要求に対する応答として送信する。
【００５７】
Ｓ６０２における処理の実行中において、クライアント１０１のユーザは処理の完了を待つ待機状態に置かれるが、処理が完了せず、ユーザ操作に対する応答ができない場合に待機中のユーザはフラストレーションを感じることになる。そこで、続くＳ６０３においてＣＰＵ２００は、ユーザがフラストレーションを感じているかどうかを判定する。当該判定は、Ｓ６０１で受付けた操作（所定の処理）と関連づけて、ユーザ特性テーブル５００に本登録された検出入力５０３に該当する入力が検出されたか否かに基づき行なうことができる。このとき、検出された入力のうち、各入力について与えられる平均値からのずれが認められる入力のみについて、本登録された検出入力５０３に該当する入力かどうかを判定してもよい。また、所定の処理と関連づけて複数の入力がユーザ特性テーブル５００登録されている場合、所定の処理との関連で、いずれか１つ以上の入力を検出した場合にフラストレーションを感じていると判定しても良い。或いは、複数の入力が登録されている場合、所定の時間内に複数の入力の少なくとも２つ以上、または、全てが検出された場合にフラストレーションを感じていると判定しても良い。
【００５８】
クライアント１０１のＣＰＵ２００が、ユーザのフラストレーションを検出した場合、処理はＳ６０４に移行して、クライアント１０１では、当該フラストレーションを解消するための処理を行なう。例えば、待機時間が長いためにユーザがフラストレーションを感じている場合には処理の高速化を行なう。当該フラストレーション解消処理の詳細は、図７を参照して後述する。続くＳ６０５において、処理が完了すると、処理結果を出力する。例えば、Ｓ６０１における操作が、情報検索を要求する操作であった場合に、サーバ１０３から受信した検索結果をディスプレイに表示する。このとき、ユーザのフラストレーションを解消するように出力処理を実行することができる。詳細は、図８を参照して後述する。
【００５９】
次に、図７を参照して、Ｓ６０４におけるクライアント１０１におけるフラストレーション解消処理について、より詳細に説明する。ここではＡＰＩを利用する場合に、サーバ１０３との連携において実行可能な処理を含む。
【００６０】
まず、Ｓ７０１において、ＣＰＵ２００は、Ｓ６０１で受付けた操作に対応する処理を実行するためのＡＰＩについて、選択済みのデフォルトのＡＰＩよりもサーバ１０３側でより高速にレスポンスが可能なＡＰＩがあるか否かを判定する。高速にレスポンスが可能なＡＰＩとは、例えば、サーバ側の処理速度を上げることによって高速にサーバ１０３がレスポンスが可能となるＡＰＩであってもよい。また、例えば、クライアント１０１から検索を要求する場合に、検索結果に含める情報をより少なくして（例えば、画像を省略する、検索対象に関する説明情報を省略する等）、サーバ１０３が高速にレスポンスすることを可能とするＡＰＩであってもよい。このような、より高速なレスポンスが可能なＡＰＩがある場合には、Ｓ７０２において当該高速のＡＰＩを利用して要求をサーバ１０３に対して再度送信する。この時、当該要求が、ユーザ特性テーブル５００における、どの動作に基づくものかを示す情報を含めてもよい。より高速なレスポンスが可能なＡＰＩがない場合には、Ｓ７０３に進む。
【００６１】
Ｓ７０３では、ＣＰＵ２００は、Ｓ６０１で受付けた操作に対応するＡＰＩがあるか否かを判定する。対応ＡＰＩがある場合にはＳ７０４に進み、対応ＡＰＩが無い場合にはＳ７０５に進む。例えば、ある動作をクライアント１０１側のアプリケーションの機能を用いて実行することができるが、当該ローカルの機能の実行によりユーザがフラストレーションを感ずる場合に、サーバ１０３側の処理に切り替えることができる。このとき、受付けたユーザ操作に対応するＡＰＩが用意されている場合には、Ｓ７０４で当該ＡＰＩを利用してサーバ１０３に処理の実行要求を送信してもよい。これにより、ユーザがフラストレーションを感じていたクライアント１０１側での処理そのものを、サーバ１０３側の処理により置き換えることで、フラストレーションを解消することが可能となる。
【００６２】
また、ユーザが表示形態そのものや、それを変更する過程においてフラストレーションを感じている（例えば、画像表示後の拡大、縮小動作が上手くできないためにフラストレーションを感じている場合等）と推測できる場合には、ＣＳＳ（Cascading Style Sheets）を切替えることにより、表示画面のレイアウトを変更し、フラストレーションを解消できる可能性がある。そこで、Ｓ７０５では、ＣＳＳの変更が可能な状況であるか否かを判定し、変更が可能である場合には、Ｓ７０６においてユーザのフラストレーションを解消する方向にＣＳＳを変更する。例えば、表示が小さいためにユーザがズームイン操作を繰り返している場合や、逆に表示が大きいためにユーザがスクロールを頻繁に繰り返している場合は、ユーザがフラストレーションを感じていると推測できる。このような場合には、ＣＳＳの変更が可能な状況と判定し、ページの表示が拡大されるようなレイアウトのＣＳＳに変更する。一方、検索結果の受信に時間がかかっているような場合には、ＣＳＳの変更はフラストレーションを解消することに直接関係がないので、ＣＳＳの変更が可能な状況には該当しない。
【００６３】
以上の図７の処理によりサーバ１０３が新たなＡＰＩに基づく要求を受信すると、サーバ１０３は対応する処理を実行する。サーバ１０３側での処理が完了すると、サーバ１０３から処理結果が要求に対する応答として送信される。
【００６４】
次に、図８を参照して、Ｓ６０５におけるクライアント１０１における処理結果の出力について、より詳細に説明する。まず、Ｓ８０１において、サーバ１０３からの送信結果に画像が含まれているか否かを判定する。ＡＰＩに対する応答結果は、例えば、ＪＳＯＮやＸＭＬ形式で提供され、クライアント１０１が受信した応答結果に基づきディスプレイに表示する情報を生成する。例えば、応答結果に表示用画像を取得するためのリンク（ＵＲＬ）が含まれている場合、画像のサイズが大きければ、画像の画質（解像度）が高く、データサイズが大きいためにクライアント１０１における表示が遅延し、ユーザのフラストレーションを解消できない可能性がある。そこで、画像用のリンクが含まれている場合にはＳ８０２に進み、画像用のリンクが含まれない場合にはＳ８０３に進む。Ｓ８０２において画像用リンクに含まれる画像のサイズを小さい値に変更し、Ｓ８０３に進む。例えば、１２８×１２８の画像サイズを取得するＵＲＬが応答結果に記述されていた場合には、これを６４×６４に変更してもよい。
【００６５】
次に、Ｓ８０３において、表示項目の数が所定数以上であるか否かを判定する。もし、項目が多くある場合、全ての項目について表示情報を取得・生成するまでに時間を要し、クライアント１０１における表示が完了しないため、遅延が発生し、ユーザのフラストレーションを解消できない可能性がある。例えば、検索結果に含まれる項目及び画像の数が所定数以上の場合には、各項目及び画像を受信するまで表示が完了しない。また、表示使用とするページが複数のＡＰＩから取得したデータをマッシュアップしたページであった場合、ページの表示完了は最も反応が遅かったＡＰＩに依存することになる。このような場合には、応答の遅いＡＰＩに対応する項目は削除して、応答の早かったＡＰＩからの応答結果に対応する項目のみを表示してもよい。
【００６６】
なお上記では、ユーザに問い合わせを行なうことなく、クライアント１０１側で、フラストレーションを解消するために処理の高速化や、情報量の削減を行なった。しかし、ユーザによっては、フラストレーションを感じつつも、速度よりも情報量や品質を優先したい場合もあると考えられる。そこで、Ｓ６０３においてユーザのフラストレーションを検出した場合に、ユーザにＳ６０４の処理を実行するか否かの問い合わせを行なってもよい。そして、問い合せに対し、ユーザがＳ６０４の処理の実行を希望する場合には、Ｓ６０４以降の処理を実行し、ユーザが当該処理の実行を希望しない場合にはＳ６０４以降の処理を行なわず、Ｓ６０２において開始した処理をそのまま継続することができる。
【００６７】
以上のように本実施形態では、クライアント１０１の特定の動作との関連で発生した入力を監視するので、動作との関連で発生した所定のユーザ入力に基づきユーザがフラストレーションを感じているかどうかを判定し、クライアント１０１における表示を効率よく制御することができる。
【００６８】
例えば、表示が切り替るタイミングにおける遅延に対するタップ入力は、端末に対する指示操作ではなくユーザが表示の高速化を催促する合図とみなすことができる。従って、そのような動作とタップ入力とを関連づけておくことで、表示切り替わりのタイミングでタップが発生した際には、表示速度を変更することができる。このように、端末動作とパラメータとを関連づけて記憶しておくことで、装置の動作とは無関係な操作の変化による誤動作を防止することができる。
【００６９】
また、例えば、舌打ちが癖となっているユーザがいた場合、それは表示コンテンツの内容に対するものであるのか、装置の動作に対するものであるのかが分からない。その場合、舌打ちが発生する度に表示速度を切替えていては、ユーザの意図に反するおそれがある。また、そのたびにＡＰＩを変更してサーバ１０３に要求を再送していては、サーバ１０３側の負荷が大きくなってしまう。そこで、舌打ちと他の条件（装置の動作か、他の操作パラメータ）とを組み合わせることで、装置に対するフラストレーションを的確に判定して処理を実行することができる。
【００７０】
さらに、本実施形態では、タップや、スワイプ等の入力につき、個々の入力ではなく、一定時間内に検出された入力を集合として扱うことにより、ジェスチャを特定することが可能となる。これにより、フラストレーションを感じた際に、特定の入力の組み合わせたジェスチャ入力（例えば、特定のリズムでタップを繰り返したり、数回のタップの後にスワイプを繰り返す等）を行なうユーザについて、当該ジェスチャが発生したか否かによりユーザの状態を判定することが可能となる。
【００７１】
さらに、本実施形態では、ユーザの精神状態を複数の入力の組み合わせや、動作と入力との関連性に基づき判定するため、迅速な表示が必要とされる場合を的確に捉えて表示制御を切替えることができる。よって、単なる入力検出や入力の変化の検出に応じて頻繁に高速ＡＰＩが使用され、結果としてサーバの負荷が高くなってしまうような事態を回避することができるので、システム全体としての処理効率を向上させることができる。
【００７２】
［実施形態２］
上述の実施形態１では、クライアント１０１における所定の動作との関連において行なわれるユーザ入力を検出し、ユーザ特性として利用した。これに対し本実施形態では、所定の動作との関連づけを行なうことなく、複数の入力の組み合わせ（ユーザ入力セット）により、ユーザのフラストレーション状態を判定することを可能とする。
【００７３】
本実施形態では、ユーザ入力を監視して、同時期に検出された入力の変化を関連づけ、それ以外と区別することができる。例えば、表示切替に時間がかかったためにユーザがフラストレーションを感じ、スワイプ操作と、タップ操作とが行なわれた場合、それらのパラメータの組み合わせについて変化を監視する。もし、パラメータがセットで変化した場合、ユーザの精神状態に変化があったとみなして、表示速度を変更する。これにより、たまたまスワイプ速度が速かった、というだけで常に表示解像度が低下してしまうような事態を回避できる。また、特定の装置動作との関連で記憶しておく場合は、動作毎に関連づける必要があるが、パラメータのセットを記憶しておけば、一部の動作との関連で発生する操作の変化に限定されず、広く対応が可能となる。
【００７４】
以下、図９のフローチャートを参照して、本実施形態に対応するクライアント１０１において実行される、ユーザ特性テーブルの生成処理を説明する。当該フローチャートに対応する処理は、例えば、ＣＰＵ２００が対応するプログラム（ＲＯＭ１０２やＨＤ１０５等に格納）を実行することにより実現できる。
【００７５】
まず、Ｓ９０１において、ＣＰＵ２００は、ユーザ入力を検出したか否かを判定する。ユーザ入力は、指示入力装置２０８、音声入力部２１１、振動検出部２１２、撮像部２１０で取得可能な任意の入力を含むことができる。ユーザ入力が検出されると、処理はＳ８０２に進み、ＣＰＵ２００は、検出したユーザ入力が、当該ユーザ入力の平均値からずれた入力であるかを判定する。例えば、クライアント１０１は、タップ入力について、単位時間当たりの操作回数、タップ時の押圧力等について平均値を保持しておくことができる。そして、Ｓ９０１でユーザ入力としてタップ入力が検出された場合であれば、検出されたタップの回数や押圧力の当該平均値からのずれが所定よりも大きいか否かを判定し、ずれが所定よりも大きい場合には、平均からのずれがあると判定できる。平均からのずれがあると判定されると、処理はＳ９０３に進み、ＣＰＵ２００は、検出したユーザ入力をユーザ特性テーブルに仮登録する。本実施形態におけるユーザ特性テーブルは、図５に示したユーザ特性テーブル５００を転用することができる。但し、本実施形態では検出動作５０２の項目はブランクとし、検出入力５０３と検出日時５０４を登録すればよい。
【００７６】
次に、処理はＳ９０４に進み、ＣＰＵ２００は、平均からのずれがあると判定されたユーザ入力を検出してからの経過時間Ｔｐ'がＴ２以上となったか否かを判定する。ここで、Ｔ２の値は、検出されたユーザ入力の内容に応じて変更してもよい。経過時間Ｔｐ'がＴ２に満たない場合は、処理はＳ９０１に戻り、処理を繰り返す。この時、経過時間Ｔｐ'の計測を開始した後、経過時間Ｔ２以内に検出され、平均からずれていると判定された入力は、Ｓ９０３において互いに関連づけて仮登録される。経過時間Ｔｐ'がＴ２以上となった場合は、処理はＳ９０５に進む。Ｓ９０５において、テーブルの登録内容を参照し、仮登録されている、互いに関連づけられた検出入力の組み合わせのうち、同一の組み合わせで所定登録回数（例えば５回）以上登録されているものがあるか否かを判定する。もし、所定登録回数以上登録されている同一の組み合わせが存在する場合は、処理はＳ９０６に進む。所定登録回数以上登録されている同一の組み合わせが存在しない場合は、処理はＳ９０１に戻って、以上の処理を繰り返す。
【００７７】
Ｓ９０６において、ＣＰＵ２００は所定登録回数以上登録されていると判定された同一の組み合わせについて、ユーザ特性テーブル５００に本登録を行なう。その後、Ｓ９０１に戻って以上の処理を繰り返す。その際、Ｓ９０６において本登録された組み合わせに関する動作については、Ｓ９０１における検出対象の動作から除外してもよい。例えば、ピンチ入力と、舌打ちの音声入力が本登録された場合、同一の組み合わせについては、仮登録しなくてもよい。或いは、本登録から一定期間経過後に仮登録の対象としてもよい。ここで、本実施形態でも実施形態１と同様に、単体の入力（タップやスワイプ等）を入力として登録することもできるが、一定時間内に入力された複数の入力をまとめてジェスチャ入力として登録してもよい。
【００７８】
以上により、ユーザのフラストレーションを表すユーザ入力セットをユーザ特性テーブル５００に登録することが可能となる。本実施形態においても、図６から図８に対応する処理を実行することで、ユーザ特性テーブル５００に登録されたユーザ特性に基づき、ユーザのフラストレーションを検出して、これを効果的に解消することができる。但し、本実施形態では、フラストレーション状態か否かの判定は、Ｓ６０１で受付けた操作と関連づけて実行する必要はなく、処理が開始された後のユーザ入力に基づいて行なうことができる。フラストレーションが検出されれば、そのときに実行している処理についてＳ６０４やＳ６０５の処理を実行すればよい。
【００７９】
［実施形態３］
実施形態１及び実施形態２では、検出したユーザ入力を、当該ユーザ入力の平均値と比較して用いる場合について記載した。そして、これらの実施形態では、ユーザ入力の種類に応じた平均値を使うものの、ユーザがクライアント１０１を使用している際の使用状況や、使用時間帯に関わらず、一律の平均値を使っていた。しかし、同一のユーザであっても、使用する時間帯によって、或いは、周囲の環境によって、ユーザ入力の態様が異なる可能性があるため、本実施形態では、使用時間帯やクライアント１０１の周辺環境等の外部情報を考慮して判定を行なう場合について記載する。
【００８０】
図１０は、ユーザ入力と、周辺環境や使用時間帯といった条件との関連づけにおいて、各ユーザ入力の平均値を管理する平均値テーブル１０００の一例を示す。平均値テーブル１０００には、検出対象のユーザ入力１００１が登録されており、各ユーザ入力に対し条件１００２として、複数の条件が登録されている。条件１００２には、例えば、ユーザがクライアント１０１を使用する時間帯に関する条件（例えば、出金時間帯の、朝７時から９時、帰宅時間帯の夕方６時以降等）、或いは、クライアント１０１の周辺環境に関する条件（電車に乗っている、或いは、周辺が騒がしい環境にいる等）を登録することができる。
【００８１】
ユーザによるクライアント１０１の使用がいずれかの条件に一致するか否かは、例えば、ＣＰＵ２００、撮像部２１０、音声入力部２１１、振動検出部２１２からの出力がいずれかの条件を満たしているかにより判定することができる。例えば、ＣＰＵ２００は、クライアント１０１内部の時計に基づき、時刻を判定して条件に一致するかを判定することができる。また、音声入力部２１１により検出される音声や振動検出部２１２により検出される振動パターンにより、ユーザが電車に乗っているかどうかを判定することができる。また、音声入力部２１１により検出される音声のレベルにより、クライアント１０１の周辺環境の騒音の度合いを判定することができる。
【００８２】
このようにして、条件１００２のいずれかの条件に合致すると判定された場合には、Ｓ６０３の判定において用いる検出されたユーザ入力と比較される平均値に、当該条件と関連づけて平均値テーブル１０００に登録されている値を用いる。
【００８３】
これにより、ユーザがフラストレーションを感じているかどうかについて、ユーザの使用環境に応じた判定が可能となる。例えば、通勤時に使用している場合には、それ以外の時よりも操作圧力が強くなってしまうユーザについては、通勤時間帯であると判定されるか、或いは、電車に乗っていると判定された場合に、平均値を高くして判定の精度を損なわないようにすることができる。このように平均値を適切に設定することにより、クライアント１０１からサーバ１０３への不必要なＡＰＩリクエストを制限することが可能となるので、サーバ１０３側の処理負担を軽減することも可能となる。
【００８４】
［その他の実施形態］
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。また本発明に係る情報処理装置は、１以上のコンピュータを該情報処理装置として機能させるコンピュータプログラムによっても実現可能である。該コンピュータプログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供／配布することができる。
【図１】
2018124648.tif 000003
【図２】
2018124648.tif 000004
【図３】
2018124648.tif 000005
【図４】
2018124648.tif 000006
【図５】
2018124648.tif 000007
【図６】
2018124648.tif 000008
【図７】
2018124648.tif 000009
【図８】
2018124648.tif 000010
【図９】
2018124648.tif 000011
【図１０】
2018124648.tif 000012
【手続補正書】
【提出日】平成29年11月6日(2017.11.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
端末装置であって、
ユーザ入力を検出する検出手段と、
前記端末装置における所定の動作の開始の後に前記検出手段が検出した前記ユーザ入力を、前記所定の動作と関連づけて記憶部に記憶させる記憶制御手段と、
前記端末装置の前記所定の動作の間に、前記所定の動作と関連づけて前記記憶部に記憶されたいずれかのユーザ入力が発生したか否かを判定する判定手段と、
前記判定手段が前記いずれかのユーザ入力が発生したと判定したかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御手段と
を備えることを特徴とする端末装置。
【請求項２】
前記記憶制御手段は、前記所定の動作を開始した後の所定期間内に検出された同種または異種の複数のユーザ入力を、前記所定の動作と関連づけて前記記憶部に記憶させることを特徴とする請求項１に記載の端末装置。
【請求項３】
前記記憶制御手段は、前記所定期間内に検出された複数のユーザ入力の組み合わせに基づくジェスチャ入力を前記所定の動作と関連づけて前記記憶部に記憶させ、
前記判定手段は、前記ジェスチャ入力が行なわれたか否かを判定することを特徴とする請求項２に記載の端末装置。
【請求項４】
前記記憶制御手段は、
前記所定期間内に検出されたユーザ入力を仮登録として前記所定の動作と関連づけて前記記憶部に記憶させ、
前記仮登録されたユーザ入力のうち、前記所定の動作と関連づけて所定回数以上、仮登録されたユーザ入力を、前記所定の動作と関連づけて本登録として前記記憶部に記憶させ、
前記判定手段は、前記本登録されたいずれかのユーザ入力が発生したか否かを判定することを特徴とする請求項２または３に記載の端末装置。
【請求項５】
前記記憶制御手段は、前記所定期間内に検出されたユーザ入力のうち、該ユーザ入力の平均的な入力とは異なるユーザ入力を、前記所定の動作と関連づけて前記記憶部に記憶させることを特徴とする請求項２から４のいずれか１項に記載の端末装置。
【請求項６】
前記所定の動作は前記ユーザからの指示に応じて開始され、前記指示を受け付けると、前記端末装置が前記所定の動作に対応する処理の実行の要求をサーバに送信する場合に、
前記制御手段は、前記判定手段が発生したと判定した場合に、前記サーバに実行要求を送信した処理をより高速化するための要求を前記サーバに送信するように制御することを特徴とする請求項１から５のいずれか１項に記載の端末装置。
【請求項７】
端末装置であって、
ユーザ入力を検出する検出手段と、
前記検出手段が、前記ユーザの平均的な入力とは異なるユーザ入力を所定期間内に複数検出した場合に、該複数のユーザ入力をユーザ入力セットとして記憶部に記憶させる記憶制御手段と、
前記端末装置が所定の動作を実行している間に、前記記憶部に記憶されたいずれかのユーザ入力セットが発生したか否かを判定する判定手段と、
前記判定手段が前記いずれかのユーザ入力セットが発生したと判定したかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御手段と
を備え、
前記記憶制御手段は、
前記所定期間内に検出された複数のユーザ入力を仮登録として互いに関連づけて前記記憶部に記憶させ、
前記仮登録された複数のユーザ入力のうち、所定回数以上、仮登録された複数のユーザ入力を前記ユーザ入力セットの本登録として前記記憶部に記憶させ、
前記判定手段は、前記本登録されたいずれかの前記ユーザ入力セットが発生したか否かを判定する、
ことを特徴とする端末装置。
【請求項８】
端末装置であって、
ユーザ入力を検出する検出手段と、
前記検出手段が、前記ユーザの平均的な入力とは異なるユーザ入力を所定期間内に複数検出した場合に、該複数のユーザ入力をユーザ入力セットとして記憶部に記憶させる記憶制御手段と、
前記端末装置が所定の動作を実行している間に、前記記憶部に記憶されたいずれかのユーザ入力セットが発生したか否かを判定する判定手段と、
前記判定手段が前記いずれかのユーザ入力セットが発生したと判定したかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御手段と
を備え、
前記所定の動作は前記ユーザからの指示に応じて開始され、前記指示を受け付けると、前記端末装置が前記所定の動作に対応する処理の実行の要求をサーバに送信する場合に、
前記制御手段は、前記判定手段が発生したと判定した場合に、前記サーバに実行要求を送信した処理をより高速化するための要求を前記サーバに送信するように制御する、
ことを特徴とする端末装置。
【請求項９】
前記所定期間は、前記検出手段が前記ユーザの平均的な入力とは異なるユーザ入力を最初に検出してからの経過期間であることを特徴とする請求項７または８に記載の端末装置。
【請求項１０】
前記複数のユーザ入力は、同種または異種の複数のユーザ入力を含み、
前記記憶制御手段は、前記所定期間内に検出された前記複数のユーザ入力の組み合わせに基づくジェスチャ入力を前記ユーザ入力セットとして前記記憶部に記憶させることを特徴とする請求項７から９のいずれか１項に記載の端末装置。
【請求項１１】
前記平均的な入力は、前記端末装置の周囲の環境、または、前記端末装置を利用する時帯に応じて、ユーザ入力の種別ごとに定められることを特徴とする請求項５から１０のいずれか１項に記載の端末装置。
【請求項１２】
前記所定の動作は前記ユーザからの指示に応じて開始され、前記指示を受け付けると、前記端末装置が前記端末装置内において前記所定の動作に対応する処理を実行する場合に、
前記制御手段は、前記判定手段が発生したと判定した場合に、前記所定の動作に対応する処理の実行の要求をサーバに送信するように制御することを特徴とする請求項１から１１のいずれか１項に記載の端末装置。
【請求項１３】
前記処理の実行の要求のサーバへの送信は、前記サーバが提供するＷｅｂ ＡＰＩの利用に基づくものであることを特徴とする請求項７から１２のいずれか１項に記載の端末装置。
【請求項１４】
前記所定の動作が表示手段に表示された情報を操作する動作である場合に、
前記制御手段は、前記判定手段が発生したと判定した場合に、前記表示手段における前記情報の表示形態を変更するために、前記情報に含まれるＣＳＳの記述を編集するように制御することを特徴とする請求項１から１３のいずれか１項に記載の端末装置。
【請求項１５】
前記所定の動作を実行した結果に、複数の項目の表示が含まれる場合に、
前記制御手段は、前記判定手段が発生したと判定した場合に、表示する項目の数を少なくする、または、項目の品質を下げるように制御することを特徴とする請求項１から１４のいずれか１項に記載の端末装置。
【請求項１６】
ユーザ入力を検出する検出手段を備える端末装置の制御方法であって、
前記端末装置における所定の動作の開始の後に検出された前記ユーザ入力を、前記所定の動作と関連づけて記憶部に記憶させる記憶制御工程と、
前記端末装置が前記所定の動作の間に、前記所定の動作と関連づけて前記記憶部に記憶されたいずれかのユーザ入力が発生したか否かを判定する判定工程と、
前記判定工程において前記いずれかのユーザ入力かが発生したと判定されたかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御工程と
を含むことを特徴とする端末装置の制御方法。
【請求項１７】
ユーザ入力を検出する検出手段を備える端末装置の制御方法であって、
前記検出手段が前記ユーザの平均的な入力とは異なるユーザ入力を所定期間内に複数検出した場合に、該複数のユーザ入力をユーザ入力セットとして記憶部に記憶させる記憶制御工程と、
前記端末装置が所定の動作を実行している間に、前記記憶部に記憶されたいずれかのユーザ入力セットが発生したか否かを判定する判定工程と、
前記判定工程において前記いずれかのユーザ入力セットが発生したと判定されたかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御工程と
を含み、
前記記憶制御工程では、
前記所定期間内に検出された複数のユーザ入力を仮登録として互いに関連づけて前記記憶部に記憶させ、
前記仮登録された複数のユーザ入力のうち、所定回数以上、仮登録された複数のユーザ入力を前記ユーザ入力セットの本登録として前記記憶部に記憶させ、
前記判定工程では、前記本登録されたいずれかの前記ユーザ入力セットが発生したか否かを判定する、
ことを特徴とする端末装置の制御方法。
【請求項１８】
ユーザ入力を検出する検出手段を備える端末装置の制御方法であって、
前記検出手段が前記ユーザの平均的な入力とは異なるユーザ入力を所定期間内に複数検出した場合に、該複数のユーザ入力をユーザ入力セットとして記憶部に記憶させる記憶制御工程と、
前記端末装置が所定の動作を実行している間に、前記記憶部に記憶されたいずれかのユーザ入力セットが発生したか否かを判定する判定工程と、
前記判定工程において前記いずれかのユーザ入力セットが発生したと判定されたかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御工程と
を含み、
前記所定の動作は前記ユーザからの指示に応じて開始され、前記指示を受け付けると、前記端末装置が前記所定の動作に対応する処理の実行の要求をサーバに送信する場合に、
前記制御工程では、前記判定工程で発生したと判定された場合に、前記サーバに実行要求を送信した処理をより高速化するための要求を前記サーバに送信するように制御する、
ことを特徴とする端末装置の制御方法。
【請求項１９】
コンピュータを、請求項１から１５のいずれか１項に記載の端末装置の各手段として機能させるためのコンピュータプログラム。
【手続補正書】
【提出日】平成30年6月4日(2018.6.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
端末装置であって、
ユーザ入力を検出する検出手段と、
前記端末装置における所定の動作を開始した後の所定期間内に前記検出手段により検出された同種または異種の複数の前記ユーザ入力を、仮登録として前記所定の動作と関連づけて記憶部に記憶させ、前記仮登録された前記ユーザ入力のうち、所定回数以上前記仮登録されたものを、本登録として前記記憶部に記憶させる記憶制御手段と、
前記端末装置の前記所定の動作の間に、前記所定の動作と関連づけて前記本登録として前記記憶部に記憶されたいずれかのユーザ入力が発生したか否かを判定する判定手段と、
前記判定手段が前記いずれかのユーザ入力が発生したと判定したかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御手段と、
を備えることを特徴とする端末装置。
【請求項２】
前記記憶制御手段は、前記所定期間内に検出された前記複数の前記ユーザ入力の組み合わせに基づくジェスチャ入力を、仮登録として前記所定の動作と関連づけて前記記憶部に記憶させ、前記仮登録された前記ジェスチャ入力のうち、所定回数以上前記仮登録されたものを、本登録として前記記憶部に記憶させ、
前記判定手段は、前記ジェスチャ入力が行なわれたか否かを判定することを特徴とする請求項１に記載の端末装置。
【請求項３】
前記記憶制御手段は、前記所定期間内に検出された前記ユーザ入力のうち、該ユーザ入力の平均的な入力とは異なるユーザ入力を、仮登録として前記所定の動作と関連づけて前記記憶部に記憶させ、前記仮登録された前記ユーザ入力のうち、所定回数以上前記仮登録されたものを、本登録として前記記憶部に記憶させることを特徴とする請求項１または２に記載の端末装置。
【請求項４】
前記所定の動作は前記ユーザからの指示に応じて開始され、前記指示を受け付けると、前記端末装置が前記所定の動作に対応する処理の実行の要求をサーバに送信する場合に、
前記制御手段は、前記判定手段が発生したと判定した場合に、前記サーバに実行要求を送信した処理をより高速化するための要求を前記サーバに送信するように制御することを特徴とする請求項１から３のいずれか１項に記載の端末装置。
【請求項５】
端末装置であって、
ユーザ入力を検出する検出手段と、
前記検出手段が、前記ユーザの平均的な入力とは異なるユーザ入力を所定期間内に複数検出した場合に、該複数のユーザ入力をユーザ入力セットとして記憶部に記憶させる記憶制御手段と、
前記端末装置が所定の動作を実行している間に、前記記憶部に記憶されたいずれかのユーザ入力セットが発生したか否かを判定する判定手段と、
前記判定手段が前記いずれかのユーザ入力セットが発生したと判定したかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御手段と
を備え、
前記記憶制御手段は、
前記所定期間内に検出された複数のユーザ入力を仮登録として互いに関連づけて前記記憶部に記憶させ、
前記仮登録された複数のユーザ入力のうち、所定回数以上、仮登録された複数のユーザ入力を前記ユーザ入力セットの本登録として前記記憶部に記憶させ、
前記判定手段は、前記本登録されたいずれかの前記ユーザ入力セットが発生したか否かを判定する、
ことを特徴とする端末装置。
【請求項６】
前記所定期間は、前記検出手段が前記ユーザの平均的な入力とは異なるユーザ入力を最初に検出してからの経過期間であることを特徴とする請求項５に記載の端末装置。
【請求項７】
前記複数のユーザ入力は、同種または異種の複数のユーザ入力を含み、
前記記憶制御手段は、前記所定期間内に検出された前記複数のユーザ入力の組み合わせに基づくジェスチャ入力を前記ユーザ入力セットとして前記記憶部に記憶させることを特徴とする請求項５または６に記載の端末装置。
【請求項８】
前記平均的な入力は、前記端末装置の周囲の環境、または、前記端末装置を利用する時帯に応じて、ユーザ入力の種別ごとに定められることを特徴とする請求項３から７のいずれか１項に記載の端末装置。
【請求項９】
前記所定の動作は前記ユーザからの指示に応じて開始され、前記指示を受け付けると、前記端末装置が前記端末装置内において前記所定の動作に対応する処理を実行する場合に、
前記制御手段は、前記判定手段が発生したと判定した場合に、前記所定の動作に対応する処理の実行の要求をサーバに送信するように制御することを特徴とする請求項１から８のいずれか１項に記載の端末装置。
【請求項１０】
前記処理の実行の要求のサーバへの送信は、前記サーバが提供するＷｅｂ ＡＰＩの利用に基づくものであることを特徴とする請求項５から９のいずれか１項に記載の端末装置。
【請求項１１】
前記所定の動作が表示手段に表示された情報を操作する動作である場合に、
前記制御手段は、前記判定手段が発生したと判定した場合に、前記表示手段における前記情報の表示形態を変更するために、前記情報に含まれるＣＳＳの記述を編集するように制御することを特徴とする請求項１から１０のいずれか１項に記載の端末装置。
【請求項１２】
前記所定の動作を実行した結果に、複数の項目の表示が含まれる場合に、
前記制御手段は、前記判定手段が発生したと判定した場合に、表示する項目の数を少なくする、または、項目の品質を下げるように制御することを特徴とする請求項１から１１のいずれか１項に記載の端末装置。
【請求項１３】
ユーザ入力を検出する検出手段を備える端末装置の制御方法であって、
前記端末装置における所定の動作を開始した後の所定期間内に検出された同種または異種の複数の前記ユーザ入力を、仮登録として前記所定の動作と関連づけて記憶部に記憶させ、前記仮登録された前記ユーザ入力のうち、所定回数以上前記仮登録されたものを、本登録として前記記憶部に記憶させる記憶制御工程と、
前記端末装置が前記所定の動作の間に、前記所定の動作と関連づけて前記本登録として前記記憶部に記憶されたいずれかのユーザ入力が発生したか否かを判定する判定工程と、
前記判定工程において前記いずれかのユーザ入力かが発生したと判定されたかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御工程と
を含むことを特徴とする端末装置の制御方法。
【請求項１４】
ユーザ入力を検出する検出手段を備える端末装置の制御方法であって、
前記検出手段が前記ユーザの平均的な入力とは異なるユーザ入力を所定期間内に複数検出した場合に、該複数のユーザ入力をユーザ入力セットとして記憶部に記憶させる記憶制御工程と、
前記端末装置が所定の動作を実行している間に、前記記憶部に記憶されたいずれかのユーザ入力セットが発生したか否かを判定する判定工程と、
前記判定工程において前記いずれかのユーザ入力セットが発生したと判定されたかに応じて、前記所定の動作のために前記端末装置が実行する処理を制御する制御工程と
を含み、
前記記憶制御工程では、
前記所定期間内に検出された複数のユーザ入力を仮登録として互いに関連づけて前記記憶部に記憶させ、
前記仮登録された複数のユーザ入力のうち、所定回数以上、仮登録された複数のユーザ入力を前記ユーザ入力セットの本登録として前記記憶部に記憶させ、
前記判定工程では、前記本登録されたいずれかの前記ユーザ入力セットが発生したか否かを判定する、
ことを特徴とする端末装置の制御方法。
【請求項１５】
コンピュータを、請求項１から１２のいずれか１項に記載の端末装置の各手段として機能させるためのコンピュータプログラム。