以下、本発明によるサーバについて、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1による情報処理システムについて、図面を参照しながら説明する。本実施の形態による情報処理システムは、情報処理装置においてユーザの操作に関する熟練性情報を算出し、サーバにおいて、その熟練性情報をグループごとに管理するものである。
図1は、本実施の形態による情報処理システムの構成を示す図である。図1において、本実施の形態による情報処理システムは、2以上の情報処理装置1と、サーバ2とを備える。2以上の情報処理装置1と、サーバ2とは、有線または無線の通信回線500を介して接続されている。通信回線500は、例えば、インターネットやイントラネット、公衆電話回線網等であってもよい。
図2は、本実施の形態による情報処理装置1の構成を示すブロック図である。図2において、本実施の形態による情報処理装置1は、操作受付部11と、取得部12と、操作情報記憶部13と、アプリケーション対応情報記憶部14と、ページ対応情報記憶部15と、算出部16と、送信部17と、実行部18と、通信部19と、表示部20とを備える。
操作受付部11は、入力デバイスから2種以上の操作を受け付ける。操作受付部11は、2以上の入力デバイスからの操作である2種以上の操作を受け付けてもよい。例えば、操作受付部11は、キーボードと、ポインティングデバイスとからそれぞれ操作を受け付けてもよい。また、操作受付部11は、一の入力デバイスからの2以上の操作方法に応じた2種以上の操作を受け付けてもよい。例えば、操作受付部11は、ポインティングデバイスであるマウスから、クリックボタンの押下操作と、カーソルの移動操作とを受け付けてもよく、あるいは、キーボードから、ボタンの押下操作と、ショートカットキー入力操作とを受け付けてもよい。入力デバイスは、例えば、マウスやキーボード、トラックボール、タッチパネル、電子ペン、トラックパッド、タブレット、ジョイスティック、テンキー等であってもよい。次に、操作受付部11が受け付ける操作について説明する。
操作受付部11は、入力デバイスからのボタンの押下操作を受け付けてもよい。ボタンの押下操作とは、例えば、入力デバイスであるキーボードにおけるキーの押下操作であってもよく、入力デバイスであるマウス等のポインティングデバイスにおけるクリックボタンの押下操作であってもよく、その他の入力デバイスにおけるボタンの押下操作であってもよい。そのボタンは、キーボードのキーやマウスのボタンのようなハードボタンであってもよく、あるいは、タッチパネル上に表示されたボタンのようなソフトボタンであってもよい。
また、操作受付部11は、入力デバイスであるポインティングデバイスからのカーソルの移動操作を受け付けてもよい。ポインティングデバイスは、例えば、マウスやトラックボール、タブレット、ジョイスティック、タッチパネル等である。ポインティングデバイスがマウスの場合には、カーソルがマウスポインタと呼ばれることもある。
また、操作受付部11は、入力デバイスであるキーボードからのショートカットキー入力操作を受け付けてもよい。ショートカットキーは、所定の機能を実行するために押下されるキーであり、例えば、ポインティングデバイスを用いて機能を選択する代わりに押下されるキーである。具体的には、コピー操作の代わりに同時に押下される「コントロール」キーと「C」キーや、すべてを選択する操作の代わりに同時に押下される「コントロール」キーと「A」キーなどがある。
また、操作受付部11は、入力デバイスであるキーボードからの削除キーの押下操作を受け付けてもよい。削除キーは、例えば、デリート(Delete)キーであってもよく、バックスペース(BackSpace)キーであってもよく、その他の削除に割り当てられたキーであってもよい。
また、操作受付部11は、アプリケーションに関する操作を受け付けてもよい。アプリケーションに関する操作とは、アプリケーションを使用するための操作であり、例えば、アプリケーションを起動したり、アプリケーションにおいて情報の入力や指示をしたり、アプリケーションを終了したりする操作である。なお、アプリケーションは、本来であればアプリケーションソフトウェアと記載すべきであるが、便宜上、アプリケーションと記載し、アプリと短縮して記載することもある。
また、操作受付部11は、ネットワーク上のページに関する操作を受け付けてもよい。ネットワークとは、例えば、インターネットやイントラネット等である。ページとは、例えば、ウェブページであってもよく、その他のネットワーク上に存在するページであってもよい。ページに関する操作とは、ページにアクセスするための操作であり、例えば、アクセスするページを選択したり、そのアクセスしたページから、別のページにジャンプしたりする操作であってもよい。
操作受付部11は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された操作を受け付けてもよく、有線もしくは無線の通信回線を介して送信された入力デバイスからの操作を受信してもよい。なお、操作受付部11は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、操作受付部11は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
取得部12は、操作受付部11が受け付けた2種以上の各操作から、操作に関する程度を示す情報である操作情報をそれぞれ取得する。取得部12は、その取得した操作情報を操作情報記憶部13に蓄積する。
取得部12は、例えば、操作受付部11が受け付けたボタンの押下操作に応じたボタン押下回数を示す操作情報を取得してもよい。具体的には、取得部12は、ボタンが押下されるごとにボタン押下回数をインクリメントしてもよい。なお、そのボタン押下回数は、すべてのボタンの押下回数の合計であってもよく、あるいは、入力デバイスごとのボタン押下回数であってもよい。前者の場合には、キーボードのキーの押下回数とマウスのクリックボタンの押下回数との合計が取得されることになる。後者の場合には、キーボードのキーの押下回数と、マウスのクリックボタンの押下回数とが別々に取得されることになる。本実施の形態では、後者の場合について説明する。
また、取得部12は、例えば、操作受付部11が受け付けたボタンの押下操作に応じた単位時間あたりのボタンの押下回数である押下スピードを示す操作情報を取得してもよい。具体的には、取得部12は、連続してボタンが押下された場合に、その連続してボタンが押下された回数と、その時間とを取得してもよい。押下スピードを示す操作情報は、押下スピードそのもの(例えば、100回/分等)であってもよく、そのスピードを算出可能な情報(例えば、10回、6秒のようなボタンの押下回数とその時間、あるいは、0.3秒、0.5秒、0.2秒…のようなボタン押下から次のボタン押下までの時間等)であってもよい。また、そのボタンの押下スピードは、すべてのボタンに関する押下スピードであってもよく、あるいは、入力デバイスごとのボタンの押下スピードであってもよい。前者の場合には、キーボードのキーの押下スピードとマウスのクリックボタンの押下スピードとが一括して取得されることになる。後者の場合には、キーボードのキーの押下スピードと、マウスのクリックボタンの押下スピードとが別々に取得されることになる。本実施の形態では、後者の場合について説明する。また、一のボタン押下から次のボタン押下までの時間間隔を取得する場合には、例えば、タイマやクロックを用いて、一のボタンが押下されてから、次のボタンが押下されるまでの時間間隔を取得してもよい。その場合には、例えば、ボタンが押下されるごとに、新たな時間間隔の測定を開始する(例えば、タイマをリセットする等)ことになる。
また、取得部12は、例えば、操作受付部11が受け付けたカーソルの移動操作に応じたカーソルの移動量を示す操作情報を取得してもよい。具体的には、取得部12は、カーソルの移動に伴って、その移動距離を加算していくことによって、移動量を取得してもよい。例えば、カーソルのそれまでの移動量がAである場合に、カーソルがスクリーン座標系において、(X1,Y1)から(X2,Y2)に移動した場合には、移動量は、
A+((X2−X1)2+(Y2−Y1)2)1/2
となる。なお、この場合の移動量の単位は、スクリーン座標系におけるピクセルとなる。
また、取得部12は、例えば、操作受付部11が受け付けたショートカットキー入力操作に応じたショートカットキーの入力回数を示す操作情報を取得してもよい。具体的には、取得部12は、ショートカットキーにおけるキーの組み合わせに応じたボタンの押下を操作受付部11がキーボードから受け付けた場合に、ショートカットキーの入力回数をインクリメントしてもよい。
また、取得部12は、例えば、操作受付部11が受け付けた削除キーの押下操作に応じた削除キー押下回数を示す操作情報を取得してもよい。具体的には、取得部12は、あらかじめ設定されている削除キー(例えば、デリートキーやバックスペースキー)が押下されるごとに削除キー押下回数をインクリメントしてもよい。削除キーが押下された場合に、例えば、取得部12は、削除キー押下回数をインクリメントすると共に、ボタン押下回数をインクリメントしてもよく、あるいは、ボタン押下回数をインクリメントしなくてもよい。本実施の形態では、前者の場合について説明する。
また、取得部12は、例えば、操作受付部11が受け付けたアプリケーションに関する操作に応じて、アプリケーションの使用状況を示す操作情報を取得してもよい。取得部12は、使用されたアプリケーションを識別するアプリケーション識別情報と、その使用状況とを取得し、操作情報記憶部13に蓄積してもよい。アプリケーションの使用状況は、例えば、アプリケーションの使用時間であってもよく、アプリケーションの使用回数であってもよく、あるいは、アプリケーションの使用頻度であってもよい。アプリケーションの使用時間は、例えば、アプリケーションが実際に使用されているかどうかに関わらず、アプリケーションが起動されてから、アプリケーションが終了されるまでの時間であってもよい。その使用時間は、例えば、OS(オペレーティングシステム)が管理している実行中のアプリケーションに、新たなアプリケーションが登録され、その登録されたアプリケーションが削除されるまでの時間を測定することによってなされてもよい。また、アプリケーションの使用時間は、例えば、そのアプリケーションのウィンドウがアクティブである時間であってもよい。その使用時間は、例えば、OSが管理しているアクティブなウィンドウを特定する情報を用いて、実行中のアプリケーションごとに、ウィンドウがアクティブであった時間を加算することによって取得されてもよい。また、アプリケーションの使用時間は、アプリケーションに対応するプロセスのCPU使用率が所定の値(例えば、1%や0.5%等)以上になった期間の合計であってもよい。また、アプリケーションの使用回数は、例えば、アプリケーションが起動された回数であってもよい。また、アプリケーションの使用頻度は、例えば、アプリケーションが起動された頻度(例えば、1日あたりの起動回数、1週間あたりの起動回数、1か月あたりの起動回数等)であってもよい。また、アプリケーションの使用状況は、例えば、アプリケーションが起動されたことであってもよい。その場合には、アプリケーションの使用状況に関する操作情報は、起動されたアプリケーションのアプリケーション識別情報を有する情報であってもよい。
また、取得部12は、例えば、操作受付部11が受け付けたネットワーク上のページへのアクセスに応じて、ページのアクセス状況を示す操作情報を取得してもよい。取得部12は、アクセスされたページを識別するページ識別情報と、そのアクセス状況とを取得し、操作情報記憶部13に蓄積してもよい。ページへのアクセス状況は、例えば、ページへのアクセス時間であってもよく、ページへのアクセス回数であってもよく、ページへのアクセス頻度であってもよい。ページへのアクセス時間は、例えば、ブラウザで一のページを開いてから次のページを開くまでの時間であってもよい。その場合には、次のページに移動しなかった場合には、アクセス時間を計測することはできないことになる。また、ページへのアクセス時間は、例えば、あるページを表示しているブラウザのウィンドウがアクティブであった時間であってもよい。そのページへのアクセス時間は、例えば、そのページを表示中のブラウザがアクティブである時間であってもよい。なお、ブラウザがタブブラウザである場合には、ブラウザのウィンドウがアクティブであり、かつ、そのページに対応するタブがアクティブである時間を、そのページへのアクセス時間としてもよい。また、ページへのアクセス回数は、例えば、そのページがブラウザで新たに表示された回数であってもよい。また、ページへのアクセス頻度は、例えば、そのページがブラウザで新たに表示された頻度(例えば、1日あたりの表示回数、1週間あたりの表示回数、1か月あたりの表示回数等)であってもよい。また、ページへのアクセス状況は、例えば、ページへのアクセスがなされたことであってもよい。その場合には、ページへのアクセス状況に関する操作情報は、アクセスされたページのページ識別情報を有する情報であってもよい。
また、取得部12は、例えば、操作情報を所定の期間(例えば、1時間や1日、1週間、1か月、1年等)ごとに取得してもよい。具体的には、取得部12は、1日ごとに操作情報を取得してもよい。その場合には、例えば、2010年11月15日の操作情報、2010年11月16日の操作情報等が存在することになる。
操作情報記憶部13では、取得部12が取得して蓄積した2以上の操作情報が記憶されることになる。操作情報記憶部13での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。操作情報記憶部13は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
アプリケーション対応情報記憶部14では、アプリケーション対応情報が記憶される。アプリケーション対応情報は、アプリケーションを識別するアプリケーション識別情報と、そのアプリケーション識別情報で識別されるアプリケーションの難易度とを対応付けて有する情報である。したがって、そのアプリケーション対応情報を用いることによって、アプリケーションに対応する難易度を知ることができる。アプリケーション識別情報は、例えば、アプリケーションの名称であってもよく、アプリケーションのIDであってもよく、あるいは、その他のアプリケーションを識別可能な情報であってもよい。難易度は、例えば、1,2,3などの数値で示されてもよく、あるいは、低、中、高などの文字列で示されてもよい。
アプリケーション対応情報記憶部14にアプリケーション対応情報が記憶される過程は問わない。例えば、記録媒体を介してアプリケーション対応情報がアプリケーション対応情報記憶部14で記憶されるようになってもよく、通信回線等を介して送信されたアプリケーション対応情報がアプリケーション対応情報記憶部14で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたアプリケーション対応情報がアプリケーション対応情報記憶部14で記憶されるようになってもよい。
ページ対応情報記憶部15では、ページ対応情報が記憶される。ページ対応情報は、ネットワーク上のページを識別するページ識別情報と、そのページ識別情報で識別されるページの専門性とを対応付けて有する情報である。ページ識別情報は、例えば、ページのアドレス(URL)であってもよく、その他のページを識別可能な情報であってもよい。専門性は、例えば、1,2,3などの数値で示されてもよく、あるいは、低、中、高などの文字列で示されてもよい。
ページ対応情報記憶部15にページ対応情報が記憶される過程は問わない。例えば、記録媒体を介してページ対応情報がページ対応情報記憶部15で記憶されるようになってもよく、通信回線等を介して送信されたページ対応情報がページ対応情報記憶部15で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたページ対応情報がページ対応情報記憶部15で記憶されるようになってもよい。なお、ページ対応情報は、ユーザがページにアクセスした際に、そのページを識別するページ識別情報と、それに対応した専門性とを用いて生成され、ページ対応情報記憶部15に蓄積されたものであってもよい。
アプリケーション対応情報記憶部14、ページ対応情報記憶部15での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。それらの記憶部は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
なお、アプリケーション対応情報やページ対応情報に含まれる各情報、例えば、アプリケーション識別情報等は、それらの情報そのものであってもよく、あるいは、それらの情報を特定可能な情報であってもよい。後者の場合には、アプリケーション識別情報等は、例えば、アプリケーション識別情報等が格納されている領域を示すポインタやアドレスであってもよい。このことは、他の情報についても同様であるとする。
算出部16は、取得部12が取得した2以上の操作情報を用いて、操作情報によって示される操作の熟練性が高いほど、より高い値となる熟練性情報を算出する。すなわち、算出部16は、複数の操作情報から、一の熟練性情報を算出することになる。その熟練性情報によって、操作に関する熟練性を知ることができるようになる。なお、その操作に関する熟練性とは、入力デバイスの操作そのものの熟練性であってもよく、入力方法の熟練性であってもよく、入力デバイスによる操作対象に対する熟練性であってもよく、それらの組み合わせであってもよい。例えば、入力デバイスのボタンの押下スピード等によって、入力デバイスの操作そのものの熟練性を知ることができうる。また、例えば、ショートカットキーの入力回数等によって、入力方法の熟練性を知ることができうる。また、例えば、アプリケーションの使用状況や、ページへのアクセス状況等によって、操作対象に対する熟練性を知ることができうる。また、算出部16は、2以上の操作情報ごとに重み付けをして熟練性情報を算出してもよい。例えば、熟練性への寄与が大きい操作情報の重みが、熟練性への寄与が小さい操作情報の重みよりも大きくなるように、操作情報ごとの重みを設定してもよい。
なお、操作情報と、熟練性情報との具体的な関係は、例えば、次のようになる。算出部16は、ボタン押下回数が多いほど高い値となる熟練性情報を算出してもよい。また、算出部16は、押下スピードが速いほど高い値となる熟練性情報を算出してもよい。また、算出部16は、カーソルの移動量が多いほど高い値となる熟練性情報を算出してもよい。また、算出部16は、ショートカットキーの入力回数が多いほど高い値となる熟練性情報を算出してもよい。また、算出部16は、削除キー押下回数が多いほど低い値となる熟練性情報を算出してもよい。また、算出部16は、アプリケーション対応情報を用いて、使用状況の示す使用が多いほど高い値となり、使用したアプリケーションの難易度が高いほど高い値となる熟練性情報を算出してもよい。また、算出部16は、ページ対応情報を用いて、アクセス状況の示すアクセスが多いほど高い値となり、アクセス先のページの専門性が高いほど高い値となる熟練性情報を算出してもよい。ここで、Xが多い、速い、または高いほど高い値となる熟練性情報とは、熟練性情報が引数Xの増加関数であることを示している。また、Yが多いほど低い値となる熟練性情報とは、熟練性情報が引数Yの減少関数であることを示している。
送信部17は、ユーザ熟練性情報を有線または無線の通信回線500を介してサーバ2に送信する。ユーザ熟練性情報は、算出部16が算出した熟練性情報と、情報処理装置1を使用しているユーザのユーザ識別子とを少なくとも含む情報である。ユーザ熟練性情報は、それ以外の情報を含んでいてもよい。例えば、ユーザ熟練性情報は、そのユーザ熟練性情報に含まれるユーザ識別子で識別されるユーザが属するグループを識別するグループ識別子を含んでいてもよい。ここで、グループとは、2以上のユーザの集合であり、例えば、会社等の職場でのグループであってもよく、趣味や道楽等の仲間のグループであってもよい。本実施の形態では、一のグループは一の職場(会社等)である場合について説明する。また、ユーザ識別子は、図示しない記録媒体において記憶されており、送信部17は、その記録媒体からユーザ識別子を読み出し、そのユーザ識別子を含むユーザ熟練性情報を構成してもよい。ユーザ熟練性情報にグループ識別子も含まれる場合には、そのグループ識別子についても同様である。
なお、送信部17は、図示しない記録媒体で保持しているアドレスを送信先として送信を行ってもよく、あるいは、送信までに他の構成要素や他のサーバ等から受け取ったアドレスを送信先として送信を行ってもよい。また、送信部17は、ユーザ熟練性情報をサーバ2に直接送信してもよく、あるいは、他のサーバ等を介して間接的に送信してもよい。また、送信部17は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、送信部17は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
実行部18は、操作受付部11が受け付けた操作に応じた処理を実行する。例えば、その処理は、アプリケーションや、OSに関する処理であってもよく、その他の処理であってもよい。また、その処理は、文字入力や、カーソルによる選択対象(例えば、ボタンやチェックボックス、ファイルのアイコン等)の選択(例えば、クリックやダブルクリック等)の処理であってもよい。また、その処理は、ブラウザ等によるメットワーク上のページへのアクセスの処理であってもよい。
通信部19は、実行部18が実行する処理に応じて、通信を行う。その通信は、例えば、ネットワーク上のページへのアクセスに関する通信であってもよい。具体的には、通信部19は、あるページの送信要求を送信し、その送信要求の送信に応じてサーバから送信されてきたページの情報を受信してもよい。なお、通信部19は、通信を行うための有線または無線の通信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、通信部19は、ハードウェアによって実現されてもよく、あるいは通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
表示部20は、実行部18が実行する処理に応じて、表示を行う。その表示は、例えば、実行部18が実行中のアプリケーションに関する表示でもよく、実行部18が実行中のOSに関する表示でもよく、通信部19が受信したページの表示でもよく、その他の表示でもよい。なお、表示部20は、それらの表示を行う表示デバイス(例えば、CRTや液晶ディスプレイなど)を含んでもよく、あるいは含まなくてもよい。また、表示対象の表示は、別の装置においてなされてもよい。その場合には、表示部20は、装置の外部に対して表示対象の情報を送信するものであってもよい。また、表示部20は、ハードウェアによって実現されてもよく、あるいは表示デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
また、操作情報記憶部13と、アプリケーション対応情報記憶部14と、ページ対応情報記憶部15とのうち、任意の2以上の記憶部は、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、操作情報を記憶している領域が操作情報記憶部13となり、アプリケーション対応情報を記憶している領域がアプリケーション対応情報記憶部14となる。
また、算出部16が、アプリケーションの使用状況に応じた熟練性情報の算出を行わない場合には、情報処理装置1は、アプリケーション対応情報記憶部14を備えていなくてもよい。また、算出部16が、ページへのアクセス状況に応じた熟練性情報の算出を行わない場合には、情報処理装置1は、ページ対応情報記憶部15を備えていなくてもよい。
また、送信部17と通信部19とが通信デバイスを有する場合に、両者は物理的に単一の通信デバイスを有してもよく、あるいは、別々の通信デバイスを有してもよい。
図3は、本実施の形態によるサーバ2の構成を示すブロック図である。図3において、本実施の形態によるサーバ2は、受付部21と、ユーザ熟練性情報記憶部22と、算出部23と、一覧情報生成部24と、一覧情報記憶部25と、送信部26とを備える。
受付部21は、複数のユーザ熟練性情報を受け付ける。ユーザ熟練性情報は、前述のように、情報処理装置1において入力デバイスから受け付けたユーザの操作に関する熟練性を示す熟練性情報と、ユーザを識別するユーザ識別子とを含む情報である。ユーザの操作とは、前述のように、例えば、入力デバイスのボタンの押下操作、入力デバイスであるポインティングデバイスによるカーソルの移動操作、入力デバイスであるキーボードによるショートカットキー入力操作、入力デバイスであるキーボードによる削除キーの押下操作、アプリケーションに関する操作、ネットワーク上のページに関する操作から選ばれる1以上の操作であってもよい。受付部21は、受け付けたユーザ熟練性情報をユーザ熟練性情報記憶部22に蓄積する。なお、受付部21がユーザ熟練性情報を蓄積する際に、そのユーザ熟練性情報に含まれるユーザ識別子と同じユーザ識別子を有するユーザ熟練性情報がすでに記憶されている場合には、受付部21は、上書きで蓄積してもよく、最新のユーザ熟練性情報がどれであるのかを分かるようにした上で上書きでなく別途、蓄積してもよい。また、本実施の形態では、受付部21が情報処理装置1から送信されたユーザ熟練性情報を受信する場合について説明する。したがって、受付部21は、有線または無線の通信回線500を介して送信された情報を受信するものとする。なお、受付部21は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、受付部21は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
ユーザ熟練性情報記憶部22では、前述のように、受付部21が受け付けて蓄積した複数のユーザ熟練性情報が記憶される。ユーザ熟練性情報記憶部22での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。ユーザ熟練性情報記憶部22は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
算出部23は、受付部21が受け付けた複数のユーザ熟練性情報を用いて、ユーザのグループごとに、グループに属するユーザを識別するユーザ識別子と同じユーザ熟練性情報に含まれる熟練性情報からグループの熟練性を示すグループ熟練性情報を算出する。算出部23は、例えば、第1のグループに属するすべてのユーザのユーザ識別子を特定する。そして、算出部23は、その特定した各ユーザ識別子を有するユーザ熟練性情報から、それぞれ熟練性情報を取得し、その取得した熟練性情報を用いて、第1のグループのグループ熟練性情報を算出する。算出部23は、この処理をすべてのグループについて行う。なお、ユーザ識別子を有するユーザ熟練性情報から熟練性情報を取得する際に、そのユーザ識別子を有するユーザ熟練性情報が複数存在する場合には、算出部23は、最新のユーザ熟練性情報から熟練性情報を取得してもよい。また、熟練性情報に対応する年月日等を参照可能な場合には、算出部23は、グループ熟練性情報を算出時から所定の期間内(例えば、1週間以内や、1か月以内等)の熟練性情報のみを用いて算出を行うようにしてもよい。古い熟練性情報を用いたグループ熟練性情報の算出を回避するためである。なお、その年月日等は、例えば、情報処理装置1において熟練性情報が算出された年月日(この場合には、その年月日がユーザ熟練性情報に含められてサーバ2に送信されてもよい)であってもよく、サーバ2がユーザ熟練性情報を受信した年月日(この場合には、受付部21がユーザ熟練性情報を蓄積する際に、その時点の年月日を対応付けて蓄積してもよい)であってもよい。
なお、算出部23は、例えば、グループ識別子と、そのグループ識別子で識別されるグループに属するユーザを識別するユーザ識別子とを対応付ける対応情報を用いて、あるグループに属するユーザのユーザ識別子の特定を行ってもよい。その対応情報は、例えば、サーバ2の図示しない記録媒体において記憶されていてもよく、あるいは、前述のように、ユーザ熟練性情報にグループ識別子とユーザ識別子とが含まれている場合には、ユーザ熟練性情報に対応情報が含まれていると考えてもよい。
算出部23が算出するグループ熟練性情報は、例えば、そのグループ熟練性情報に対応するグループに属する各ユーザに対応する各熟練性情報の代表値であってもよい。ユーザに対応する熟練性情報とは、そのユーザを識別するユーザ識別子を含むユーザ熟練性情報に含まれる熟練性情報のことである。また、代表値とは、複数の値を代表する値のことであり、例えば、平均値であってもよく、中間値であってもよい。すなわち、グループ熟練性情報は、そのグループのユーザに対応する熟練性情報の平均値や中間値であってもよい。また、グループ熟練性情報は、代表値以外の値であってもよい。例えば、各グループに含まれるユーザの人数が決まっているような場合には、グループ熟練性情報は、そのグループのユーザに対応する熟練性情報の合計値であってもよい。
また、算出部23は、各グループ熟練性情報に関して、全グループにおける各グループの位置を示す位置情報をも算出してもよい。その位置情報は、例えば、グループ熟練性情報の値に関する順位であってもよく、偏差値であってもよい。本実施の形態では、算出部23が、グループ熟練性情報の値に関する位置情報として順位と偏差値との両方を算出する場合について説明する。
また、算出部23が算出したグループ熟練性情報や位置情報は、そのグループ熟練性情報に対応するグループを識別するグループ識別子に対応付けられて図示しない記録媒体において一時的に記憶されてもよい。
一覧情報生成部24は、グループごとに算出部23が算出したグループ熟練性情報を一覧表示する情報である一覧情報を生成する。この一覧情報は、グループ熟練性情報を一覧表示するものであれば、その内容やデータ構造等は問わない。例えば、一覧情報は、グループ識別子やグループの名称等のグループを特定可能な情報と、グループ熟練性情報とを対応付けて表示する情報であってもよい。また、一覧情報は、グループ熟練性情報の示す熟練性の値でソートされたものであってもよい。そのソートは、例えば、グループ熟練性情報の降順となるソートであってもよい。そのようにすることで、高い熟練性を示すグループ熟練性情報が上位に表示されるようになる。また、一覧情報は、グループごとにグループ熟練性情報と位置情報とを一覧表示するものであってもよい。また、一覧情報は、例えば、HTMLやXML等のマークアップ言語を用いて記述される情報であってもよい。すなわち、一覧情報は、いわゆるウェブサイトの情報であってもよい。なお、一覧情報は、テキストファイルや、PDF等の情報であってもよい。一覧情報生成部24は、図示しない記録媒体において、一覧情報を生成するためのテンプレート等を保持しており、そのテンプレート等にグループ熟練性情報やその他の情報を挿入することによって、一覧情報を生成してもよい。ある情報を一覧表示するための情報を生成する方法はすでに公知であり、その詳細な説明を省略する。一覧情報生成部24は、生成した一覧情報を一覧情報記憶部25に蓄積する。なお、一覧情報生成部24が一覧情報を蓄積する際に、一覧情報がすでに一覧情報記憶部25で記憶されている場合には、一覧情報生成部24は、上書きで蓄積してもよく、最新の一覧情報がどれであるのかを分かるようにした上で上書きでなく別途、蓄積してもよい。
一覧情報記憶部25では、前述のように、一覧情報生成部24が生成し、蓄積した一覧情報が記憶される。一覧情報記憶部25での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。一覧情報記憶部25は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
送信部26は、一覧情報生成部24が生成した一覧情報を送信する。送信部26が一覧情報を送信するタイミングは問わない。送信部26は、例えば、定期的に一覧情報を送信してもよく、あるいは、図示しない受信部が一覧情報を送信する旨の要求を受信した際に、一覧情報を送信してもよい。前者の場合には、送信部26は、例えば、あらかじめ登録されている送信先に一覧情報を送信してもよい。また、後者の場合には、送信部26は、例えば、一覧情報の送信要求の送信元に対して、一覧情報を送信してもよい。
なお、送信部26は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、送信部26は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
また、ユーザ熟練性情報記憶部22と、一覧情報記憶部25とは、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、ユーザ熟練性情報を記憶している領域がユーザ熟練性情報記憶部22となり、一覧情報を記憶している領域が一覧情報記憶部25となる。
次に、情報処理装置1の動作について図4のフローチャートを用いて説明する。
(ステップS101)操作受付部11は、操作を受け付けたかどうか判断する。そして、操作を受け付けた場合には、ステップS102に進み、そうでない場合には、ステップS103に進む。
(ステップS102)取得部12は、操作受付部11が受け付けた操作に応じた操作情報を取得し、その操作情報を操作情報記憶部13に蓄積する。そして、ステップS101に戻る。なお、その操作に応じた操作情報がすでに操作情報記憶部13で記憶されている場合には、取得部12は、受け付けられた操作に応じて、その操作情報を更新してもよい。この処理の詳細については、図3のフローチャートを用いて後述する。
(ステップS103)算出部16は、熟練性情報を算出するかどうか判断する。そして、熟練性情報を算出する場合には、ステップS104に進み、そうでない場合には、ステップS101に戻る。なお、算出部16は、熟練性情報を算出する旨の指示を情報処理装置1が受け付けた場合に、熟練性情報を算出すると判断してもよく、あるいは、その他のタイミングで熟練性情報を算出すると判断してもよい。
(ステップS104)算出部16は、取得部12が取得した2以上の操作情報、すなわち、操作情報記憶部13で記憶されている2以上の操作情報を用いて、熟練性情報を算出する。なお、操作情報に新しいものと古いものとの両方がある場合には、算出部16は、すべての操作情報を用いて熟練性情報を算出してもよく、あるいは、最新の操作情報を用いて熟練性情報を算出してもよい。
(ステップS105)送信部17は、算出部16が算出した熟練性情報と、ユーザ識別子とを含むユーザ熟練性情報をサーバ2に送信する。そして、ステップS101に戻る。
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、図4のフローチャートでは、実行部18や通信部19,表示部20による処理について示していないが、操作受付部11が受け付けた操作等に応じて、それぞれの処理も適宜、実行されるものとする。また、図4のフローチャートには含まれていないが、情報処理装置1は、一覧情報の送信要求をサーバ2に送信し、それに応じてサーバ2から一覧情報を受信し、その受信した一覧情報を表示するようにしてもよい。なお、その一覧情報の送信要求の送信や、一覧情報の受信、表示の処理は、情報処理装置1以外の装置において行われてもよいことは言うまでもない。
図5は、図4のフローチャートにおける操作情報の取得の処理(ステップS102)の詳細を示すフローチャートである。図5のフローチャートにおいて、入力デバイスとしてのポインティングデバイスがマウスである場合について説明する。
(ステップS201)取得部12は、操作受付部11が受け付けた操作が、キーボードにおけるボタン(キー)の押下であるかどうか判断する。取得部12は、例えば、キーボードからの入力がキューイングされるキューを参照することによって、新たなキーの押下が受け付けられたかどうかを判断してもよい。そして、その操作がキーボードのボタンの押下である場合には、ステップS202に進み、そうでない場合には、ステップS208に進む。
(ステップS202)取得部12は、操作情報記憶部13で記憶されているキーボードのボタン押下回数を1だけインクリメントする。
(ステップS203)取得部12は、操作情報記憶部13で記憶されているキーボードの押下スピードに関する情報を更新する。例えば、その押下スピードに関する情報が、あるキーの押下から、次のキーの押下までの時間間隔である場合には、取得部12は、その時間間隔(例えば、0.2秒等)を操作情報記憶部13に蓄積してもよい。
(ステップS204)取得部12は、操作受付部11が受け付けたキーボードの入力がショートカットキーの入力であるかどうか判断する。そして、ショートカットキーの入力である場合には、ステップS205に進み、そうでない場合には、ステップS206に進む。なお、取得部12は、例えば、操作受付部11がショートカットキーに応じた複数のキーの押下を受け付けた場合に、ショートカットキーの入力であると判断してもよい。また、取得部12は、例えば、操作受付部11が受け付けたキーボードにおけるキー入力がキューイングされるキューを参照し、最新のキーの並びが、あらかじめ図示しない記録媒体で記憶されているいずれかのショートカットキーのキーの並びと一致するかどうか判断し、一致する場合には、ショートカットキーの入力であると判断し、そうでない場合には、ショートカットキーの入力でないと判断してもよい。
(ステップS205)取得部12は、操作情報記憶部13で記憶されているショートカットキーの入力回数を1だけインクリメントする。
(ステップS206)取得部12は、操作受付部11が受け付けたキーボードにおけるキーの押下が削除キーの押下であるかどうか判断する。そして、削除キーの押下である場合には、ステップS207に進み、そうでない場合には、ステップS213に進む。なお、取得部12は、あらかじめ定められているキー(例えば、デリートキーやバックスペースキー)が押下された場合に、削除キーの押下であると判断してもよい。
(ステップS207)取得部12は、操作情報記憶部13で記憶されている削除キー押下回数を1だけインクリメントする。そして、ステップS213に進む。
(ステップS208)取得部12は、操作受付部11が受け付けた操作が、マウスにおけるボタンの押下であるかどうか判断する。取得部12は、例えば、マウスからの入力がキューイングされるキューを参照することによって、新たなマウスボタンの押下が受け付けられたかどうかを判断してもよい。そして、その操作がマウスのボタンの押下である場合には、ステップS209に進み、そうでない場合には、ステップS211に進む。
(ステップS209)取得部12は、操作情報記憶部13で記憶されているマウスのボタン押下回数を1だけインクリメントする。
(ステップS210)取得部12は、操作情報記憶部13で記憶されているマウスの押下スピードに関する情報を更新する。例えば、その押下スピードに関する情報が、ボタンの押下から、次のボタンの押下までの時間間隔である場合には、取得部12は、その時間間隔(例えば、0.2秒等)を操作情報記憶部13に蓄積してもよい。そして、ステップS213に進む。
(ステップS211)取得部12は、操作受付部11が受け付けた操作が、マウスの移動であるかどうか判断する。取得部12は、例えば、マウスポインタの位置がキューイングされるキューを参照することによって、新たなマウスの移動が受け付けられたかどうかを判断してもよい。そして、その操作がマウスの移動である場合には、ステップS212に進み、そうでない場合には、ステップS213に進む。
(ステップS212)取得部12は、操作情報記憶部13で記憶されているカーソル(マウスポインタ)の移動量に、新たに受け付けられたカーソルの移動量を加算する。そして、ステップS213に進む。
(ステップS213)取得部12は、操作受付部11が受け付けた操作が、アプリケーションの使用に関する操作であるかどうか判断する。そして、アプリケーションの使用に関する操作である場合には、ステップS214に進み、そうでない場合には、ステップS215に進む。本実施の形態では、取得部12は、アプリケーションが起動された場合に、アプリケーションの使用に関する操作であると判断するものとする。取得部12は、例えば、OSの処理を監視することによって、アプリケーションが起動されたことを検知してもよく、起動中のアプリケーションの一覧を監視し、そこに新たなアプリケーションが追加されたことによって、アプリケーションが起動されたことを検知してもよく、あるいは、その他の方法によってアプリケーションが起動されたことを検知してもよい。
(ステップS214)取得部12は、操作情報記憶部13で記憶されているアプリケーションの使用状況を更新する。具体的には、取得部12は、起動されたアプリケーションを識別するアプリケーション識別情報を、アプリケーションの使用状況に関する操作情報に追加する。なお、その起動されたアプリケーションを識別するアプリケーション識別情報がアプリケーションの使用状況に関する操作情報にすでに登録されている場合には、取得部12は、その追加を行わなくてもよい。そして、図4のフローチャートに戻る。
(ステップS215)取得部12は、操作受付部11が受け付けた操作が、ページへのアクセスに関する操作であるかどうか判断する。そして、ページへのアクセスに関する操作である場合には、ステップS216に進み、そうでない場合には、図4のフローチャートに戻る。本実施の形態では、取得部12は、ページへのアクセスが行われた場合に、ページへのアクセスに関する操作であると判断するものとする。取得部12は、例えば、ブラウザやOSの処理を監視することによって、ページへのアクセスが行われたことを検知してもよく、通信部19がDNSサーバにURLを送信したことを検知することによって、そのURLに対応するページへのアクセスが行われたと判断してもよく、あるいは、その他の方法によって、ページへのアクセスが行われたことを検知してもよい。
(ステップS216)取得部12は、操作情報記憶部13で記憶されているページのアクセス状況を更新する。具体的には、取得部12は、アクセスされたページを識別するページ識別情報を、そのアクセス状況に関する操作情報に追加する。なお、そのアクセスされたページを識別するページ識別情報がページのアクセス状況に関する操作情報にすでに登録されている場合には、取得部12は、その追加を行わなくてもよい。そして、図4のフローチャートに戻る。
なお、図5のフローチャートでは、アプリケーションの使用状況の更新やページへのアクセス状況の更新に関する処理(ステップS213〜S216)を、ステップS201〜S212の処理に続けて行う場合について説明したが、そうでなくてもよい。ステップS206、S207、S210、S212からステップS213に進む代わりに図4のフローチャートに戻り、図4のフローチャートにおいて、ステップS103でNOの場合に、ステップS213に進み、ステップS214、S215、S216から図4のフローチャートに戻る代わりに、ステップS101に戻るようにしてもよい。すなわち、アプリケーションの使用状況やページへのアクセス状況の更新を、操作の受け付けとは関係なく行うようにしてもよい。アプリケーションの使用やページへのアクセスは、操作受付部11が受け付けた操作に応じてなされるものであるが、その操作と、アプリケーションの使用やページへのアクセスの処理との間にタイムラグが存在することもあり、そのタイムラグにおいて新たな操作が受け付けられる場合もあるからである。
次に、サーバ2の動作について図6のフローチャートを用いて説明する。
(ステップS301)受付部21は、ユーザ熟練性情報を受け付けたかどうか判断する。そして、受け付けた場合には、ステップS302に進み、そうでない場合には、ステップS303に進む。
(ステップS302)受付部21は、受け付けたユーザ熟練性情報を、ユーザ熟練性情報記憶部22に蓄積する。そして、ステップS301に戻る。
(ステップS303)一覧情報生成部24は、一覧情報を生成するかどうか判断する。そして、一覧情報を生成する場合には、ステップS304に進み、そうでない場合には、ステップS307に進む。なお、一覧情報生成部24は、例えば、定期的に一覧情報を生成すると判断してもよく、あるいは、その他のタイミングで一覧情報を生成すると判断してもよい。
(ステップS304)算出部23は、ユーザ熟練性情報記憶部22で記憶されているユーザ熟練性情報を用いて、グループごとにグループ熟練性情報や位置情報等を算出する。
(ステップS305)一覧情報生成部24は、算出部23が算出したグループ熟練性情報等を一覧表示するための一覧情報を生成する。
(ステップS306)一覧情報生成部24は、生成した一覧情報を一覧情報記憶部25に蓄積する。そして、ステップS301に戻る。
(ステップS307)送信部26は、一覧情報を送信するかどうか判断する。そして、一覧情報を送信する場合には、ステップS308に進み、そうでない場合には、ステップS301に戻る。なお、送信部26は、例えば、定期的に一覧情報を送信すると判断してもよく、あるいは、サーバ2の図示しない受信部が一覧情報の送信要求を受信した場合に、一覧情報を送信すると判断してもよい。
(ステップS308)送信部26は、一覧情報記憶部25で記憶されている一覧情報を読み出して送信する。そして、ステップS301に戻る。
なお、図6のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態による情報処理システムの動作について、具体例を用いて説明する。この具体例において、情報処理装置1は、パーソナルコンピュータであるとする。また、アプリケーション対応情報記憶部14では、図7で示されるアプリケーション対応情報が記憶されているものとする。図7において、アプリケーション対応情報は、アプリケーションの名称であるアプリケーション識別情報と、難易度とを対応付けている。難易度は、値が大きいほど難易度が高いことを示す情報であり、この具体例では、3が最も難易度が高いことを示し、1が最も難易度が低いことを示すものとする。
また、本実施の形態では、ページ対応情報記憶部15で記憶されているページ対応情報は、通信部19がページにアクセスするごとに生成され、ページ対応情報記憶部15に蓄積されるものとする。そのページ対応情報の生成は、図示しないページ対応情報生成部が行うものとする。ページ対応情報生成部は、図示しない記録媒体で記憶されている専門用語にアクセス可能であり、アクセス先のページに含まれる専門用語の割合に応じて、アクセス先のページに対応する専門性を決定するものとする。この具体例では、アクセス先のページにおける専門性の文字数の割合が20%以上であれば専門性が「3」であるとし、5%以上20%未満であれば専門性が「2」であるとし、5%未満であれば専門性が「1」であるとする。なお、専門性は、値が大きいほど専門性が高いことを示す情報であり、この具体例では、3が最も専門性が高いことを示し、1が最も専門性が低いことを示すものとする。なお、専門用語は、例えば、人手によって収集してもよく、あるいは、文書から専門用語を抽出するソフトウェア(例えば、http://gensen.dl.itc.u−tokyo.ac.jp/などで公開されているソフトウェア等)を使用して収集してもよい。
また、この具体例では、毎日午前2時に、一覧情報生成部24が一覧情報を生成すると判断するものとする。また、この具体例では、グループ熟練性情報は平均であり、位置情報は、順位と偏差値であるものとする。
まず、2010年11月15日に、ユーザ識別子「U001」で識別されるユーザ(このユーザを「ユーザU001」とする。他のユーザや他の情報についても同様であるとする)が情報処理装置1を起動し、その後に、ユーザU001がマウスを操作してアプリケーション「テキストエディタBBB」のアイコンまでマウスポインタを移動させたとする。すると、そのマウスの移動に応じた操作が受け付けられ(ステップS101)、操作情報が取得される(ステップS102)。具体的には、このたびはマウスの移動であるため、その移動に応じたマウスポインタの移動量が取得部12によって取得され、その移動量を示す操作情報が操作情報記憶部13に蓄積される(ステップS201,S208,S211,S212)。また、ユーザU001がアプリケーション「テキストエディタBBB」のアイコンをダブルクリックすると、そのクリックごとに操作が受け付けられ(ステップS101)、それに応じた操作情報が取得される(ステップS102)。具体的には、マウスがクリックされるごとに、マウスのボタン押下回数が1だけインクリメントされると共に、クリックからクリックまでの時間がマウスの押下スピードの情報として蓄積される(ステップS201,S208〜S210)。なお、クリックからクリックまでの時間は、例えば、クリックがなされるごとにタイマを0にリセットして次のクリックがなされたときのタイマの値を読み取ることによって測定してもよい。そのタイマとして、情報処理装置1のシステムクロック等を利用してもよい。なお、ダブルクリックにおける2回目のクリックの後には、アイコンやフォルダ等を管理しているフォルダ管理アプリケーションからOSに対してアプリケーション「テキストエディタBBB」の起動の指示が渡されるため、取得部12は、その指示を検知することによって、アプリケーション「テキストエディタBBB」が起動されたことを知る。したがって、取得部12は、操作受付部11が受け付けた操作が、アプリケーションの使用に関する操作であると判断し、操作情報記憶部13で記憶されているアプリケーションの使用状況に関する操作情報にアプリケーション識別情報「テキストエディタBBB」を追加する(ステップS213,S214)。
その後、ユーザU001がキーボードを操作して、文字入力を開始したとする。すると、それに応じた操作が受け付けられ(ステップS101)、操作情報が取得される(ステップS102)。具体的には、キーボードのキーが押下されるごとに、キーボードのボタン押下回数がインクリメントされる(ステップS201,S202)。また、キーボードのキーが押下されるごとに、前回のキーの押下からの時間がキーボードの押下スピードの情報として蓄積される(ステップS203)。また、押下されたキーが削除キーである場合には、それに応じて、削除キー押下回数がインクリメントされる(ステップS206,S207)。また、「コントロール」キーと「C」キーが同時に押下された場合のように、ショートカットキーが入力された場合には、それに応じて、ショートカットキー入力回数がインクリメントされる(ステップS204,S205)。
ユーザU001がテキストエディタBBBを使用中に、さらに、アプリケーション「ブラウザDDD」を起動したとする。すると、その操作に応じて、マウスの移動量や、マウスボタンの押下回数等が更新されると共に、アプリケーションの使用状況に関する操作情報に新たなアプリケーション識別情報「ブラウザDDD」が追加される(ステップS213,S214)。その後、ユーザU001がブックマークからURL「http://www.abc...com」を選択したとすると、その選択に応じたマウスボタンの押下回数等が更新されると共に、アプリケーション「ブラウザDDD」からOSに渡されるシステムコールが取得部12によって参照され、URL「http://www.abc...com」が取得される。そして、その取得されたURLであるページ識別情報が、操作情報記憶部13で記憶されているページへのアクセス状況に関する操作情報に追加される(ステップS215,S216)。
なお、通信部19を介して、そのURLに対応するページのHTMLデータが取得されると、そのデータが解釈され、表示部20によって表示される。また、図示しないページ対応情報生成部は、そのHTMLデータから表示対象のテキストのみを抽出し、前述のようにして専門性を決定する。この場合には、専門性は「1」であったとする。すると、ページ識別情報「http://www.abc...com」と、それに対応する専門性「1」とを対応付けて有するページ対応情報がページ対応情報記憶部15に蓄積されることになる。なお、ブラウザDDDが新たなページにアクセスするごとに、ページ識別情報が操作情報記憶部13で記憶されている操作情報に蓄積されると共に、そのページに関するページ対応情報がページ対応情報記憶部15に蓄積されることになる。その結果、ページ対応情報記憶部15で記憶されているページ対応情報が、図8で示されるようになったとする。
そのように、ユーザU001の操作に応じて順次、操作情報が更新されていき、2010年11月15日の夕方にユーザU001が情報処理装置1をシャットダウンする際には、操作情報が図9で示されるようになっていたとする。図9で示される操作情報において、例えば、キーボードのボタン押下回数は、「19627」回となっている。また、キーボードの押下スピードは、「…,0.1,0.2,0.2,0.1」となっているが、これは前述のように、キーの押下間の時間(秒)である。マウスの押下スピードについても同様である。
2010年11月16日に情報処理装置1が起動された際に、算出部16は、操作情報記憶部13を参照し、2010年11月15日の操作情報が記憶されているため、その操作情報を用いた熟練性情報の算出を行うと判断する(ステップS103)。そして、図9で示される操作情報を用いた熟練性情報の算出を行う(ステップS104)。具体的には、算出部16は、次式を用いて熟練性情報の算出を行うものとする。
熟練性情報の算出式:
a1×f1(x1)+a2×f2(x2)+a3×f3(x3)+a4×f4(x4)+a5×f5(x5)+a6×f6(x6)+a7×f7(x7)+a8×f8(x8、x9)+a9×f9(x10、x11)
ここで、x1〜x10は、次の通りである。
x1:キーボードのボタン押下回数(回)
x2:キーボードの押下スピード(回/秒)
x3:マウスのボタン押下回数(回)
x4:マウスの押下スピード(回/秒)
x5:ショートカットキーの入力回数(回)
x6:削除キーの押下回数(回)
x7:カーソルの移動量(ピクセル)
x8:使用されたアプリケーション数
x9:使用されたアプリケーションの難易度の平均値
x10:アクセスされたページ数
x11:アクセスされたページの専門性の平均値
また、各関数f1(x)〜f9(x、y)は、平均的な引数に対して「1」を返すように規格化された関数であるとする。例えば、関数f1(x)について、1日のキーボードのボタン押下回数の平均が12000回である場合には、
f1(x)=x/12000
であってもよい。すなわち、関数fn(x)=x/(引数の平均値)となっていてもよい(n=1〜7)。また、f8(x、y)、f9(x、y)については、
f8(x、y)=0.5×x/(1日の平均使用アプリ数)+0.5×y/2
f9(x、y)=0.5×x/(1日の平均アクセスページ数)+0.5×y/2
であってもよい。
また、係数a1〜a9は、それぞれの関数値の重要度に応じて決められる重みであり、例えば、次に示すように決められていてもよい。次に示される係数の場合には、例えば、キーボードの押下回数よりもキーボードの押下スピードの方が重要視されていることになる。マウスについても同様である。また、ショートカットキーの入力回数に関する係数が高いため、ショートカットキーの入力回数が熟練性に大きく寄与すると考えられていることになる。また、削除キー押下回数の係数は負の値であるため、削除キーが押下されるほど、熟練性が低いようになる。なお、削除キー押下回数の係数の絶対値は、キーボードのボタン押下回数の約3倍であるため、削除キーが押下されることによって、その押下回数の約3倍のキーボードのボタン押下回数がキャンセルされることになる。
a1:0.3
a2:2.0
a3:0.1
a4:1.0
a5:3.0
a6:−1.0
a7:0.8
a8:2.0
a9:1.8
ここで、キーボードとマウスの押下スピードの算出方法について簡単に説明しておく。操作情報に含まれる情報は、前述のように、押下間の時間間隔である。その押下間の時間間隔のうち、しきい値よりも大きいものを押下スピードの算出に用いるのは適切ではない。例えば、ユーザがテキストエディタを使用中に10分ほどの休憩を取った場合に、その休憩の時間も押下スピードの算出に考慮されると、押下スピードが非常に遅いものとなってしまう。したがって、算出部16は、しきい値よりも大きい押下間の時間間隔を除去した後に押下スピードの算出を行う。そのしきい値は、例えば、あらかじめ決められた値(例えば、10秒等)であってもよく、最小値にあらかじめ決められた値(例えば、50や100等)を掛けた値であってもよく、あるいは、その他の方法によって決められた、不適切なものを除去するための値であってもよい。そのようにして、しきい値以上の押下間の時間間隔を除去した後の押下間の時間間隔の個数がN個であったとする。また、そのN個の押下間の時間間隔の合計がT(秒)であったとする。すると、押下スピードは、N/T(回/秒)となる。なお、しきい値よりも大きい押下間の時間間隔を取得部12が取得しないようにしてもよい。その場合には、算出部16が、そのしきい値よりも大きい押下間の時間間隔を除去する処理を行わなくてもよいことになる。
その後、算出部16は、図9で示される操作情報と、上述の式と、各係数値とを用いて、熟練性情報を算出し、その値が「15.8」であったとする。各関数は平均的な操作の場合に「1」となるように規格化されており、また、係数a1〜a9の合計が10となるため、平均的なユーザの場合、熟練性情報は「10」となる。したがって、算出された熟練性情報を、その平均的な値と比較することによって、ユーザの熟練性について知ることができることになる。送信部17は、算出された熟練性情報と、図示しない記録媒体で記憶されているユーザU001のユーザ識別子「U001」と、ユーザU001が属するグループ識別子「ABC株式会社」とを含むユーザ熟練性情報を構成し、そのユーザ熟練性情報をサーバ2に送信する(ステップS105)。なお、情報処理装置1において、熟練性情報がディスプレイに表示されてもよい。その場合には、ユーザは、そのディスプレイに表示された熟練性情報を見ることによって、自己の熟練性について知ることができるようになる。また、算出された熟練性情報は、別途、記録媒体に蓄積されてもよい。そして、最新の熟練性情報が表示される際に、比較対象としての過去の熟練性情報と一緒に表示されるようにしてもよい。また、熟練性情報が算出され、送信された後に、操作情報記憶部13で記憶されている2010年11月15日の操作情報が削除されてもよく、あるいは、その操作情報に対して、熟練性情報の算出が終了している旨を示すフラグ等を設定してもよい。
情報処理装置1から送信されたユーザ熟練性情報は、サーバ2の受付部21で受信され、ユーザ熟練性情報記憶部22に蓄積される(ステップS301,S302)。なお、受付部21は、受信したユーザ熟練性情報に含まれるユーザ識別子及びグループ識別子を有するユーザ熟練性情報がすでにユーザ熟練性情報記憶部22で記憶されている場合には、そのユーザ熟練性情報に受信したユーザ熟練性情報を上書きする。その結果、ユーザ熟練性情報記憶部22で記憶されているユーザ熟練性情報は、図10で示されるようになったとする。このようにして、情報処理装置1からユーザ熟練性情報を受信するごとに、ユーザ熟練性情報記憶部22で記憶されているユーザ熟練性情報が更新されることになる。
その後、2010年11月17日の午前2時になったとする。すると、一覧情報生成部24は、一覧情報を生成するタイミングであると判断し(ステップS303)、算出部23にグループ熟練性情報等を算出する旨を指示する。算出部23は、その指示に応じて、その時点のユーザ熟練性情報をユーザ熟練性情報記憶部22から読み出し、グループごとに、まずグループ熟練性情報(平均)を算出する。その後、算出部23は、算出したグループ熟練性情報を用いて、位置情報(順位と偏差値)を算出する(ステップS304)。算出部23は、その算出したグループ熟練性情報等を図示しない記録媒体に蓄積する。この具体例では、そのようにして蓄積されたグループ熟練性情報等は、図11で示されるものであるとする。
一覧情報生成部24は、図11で示されるグループ熟練性情報等を参照し、グループ熟練性情報(平均値)の降順となるように、図11のレコードをソートする。その後、あらかじめ図示しない記録媒体で保持されているテンプレートに、グループ熟練性情報等を挿入することによって、一覧情報を生成し、その一覧情報を一覧情報記憶部25に蓄積する(ステップS305,S306)。
その後、ある情報処理装置1において、一覧情報に対応するURLがブラウザのブックマークを用いて選択されたとする。すると、その情報処理装置1から、一覧情報の送信要求がサーバ2に送信される。そして、サーバ2の図示しない受信部がその送信要求を受信し、送信部26に、送信要求を受信した旨と、その送信要求の送信元のアドレスとを渡す。すると、送信部26は、一覧情報の送信タイミングであると判断し(ステップS307)、一覧情報記憶部25から一覧情報を読み出し、図示しない受信部から受け取ったアドレスを送信先として、その一覧情報を送信する(ステップS308)。その送信された一覧情報は、一覧情報の送信要求を送信した情報処理装置1で受信され、その情報処理装置1において、その一覧情報が解釈・実行されることによって、表示部20に、図12で示される表示がなされる。この表示を見ることによって、ユーザは、自分の所属する職場の順位や、グループ熟練性情報(平均値)、グループ熟練性情報の偏差値を知ることができる。そして、ユーザは、自分の所属する職場の順位を上げることを励みとして、自らの熟練性を向上させるように努力することができる。
なお、この具体例では、1日の操作情報に対して熟練性情報を算出する場合について説明したが、そうでなくてもよい。例えば、1か月分の操作情報に対して熟練性情報を算出してもよく、その他の期間に対して熟練性情報を算出してもよい。
また、この具体例では、各関数の値に係数を掛けて熟練性情報を算出する場合、すなわち、操作情報ごとにも重み付けをして熟練性情報を算出する場合について説明したが、そうでなくてもよい。例えば、操作情報ごとの重み付けを行わず、すべての操作情報を平等に扱ってもよく、あるいは、関数そのものに係数を取り込むようにしてもよい。
以上のように、本実施の形態によるサーバ2によれば、操作の熟練性について、グループ間で比較することができるための情報である一覧情報を生成することができるようになる。その結果、その一覧情報に含まれるグループ熟練性情報をよりよいものにすることが、例えば、会社ごとなどに操作性を向上させるためのインセンティブとなりうる。また、一覧情報に位置情報も含まれることにより、ユーザは、自らの属するグループの全グループにおける位置を、容易に知ることができるようになる。また、情報処理装置1によれば、各操作情報について、平均的な場合に「1」となる関数を用い、さらに、各関数に重み付けをして熟練性情報を算出することによって、熟練性を算出する目的に応じて、各重みを調整することもでき、より適切な熟練性を算出することができるようになる。例えば、間違いを少なくしたい場合には、削除キー押下回数に応じた重みを負の大きい値にしてもよく、キーボードを用いた入力を重視したい場合には、キーボードのボタン押下回数やショートカットキー入力回数等の重みを大きい値にしてもよい。
なお、本実施の形態では、受付部21が情報処理装置1から送信されたユーザ熟練性情報を受信する場合について説明したが、そうでなくてもよい。例えば、受付部21は、複数の情報処理装置1において算出されたユーザ熟練性情報をまとめて送信するユーザ熟練性情報の送信装置等から送信された複数のユーザ熟練性情報を受信してもよい。その送信装置は、例えば、社内に存在する複数の情報処理装置1で算出されたユーザ熟練性情報を、その複数の情報処理装置1から受け付け、まとめてサーバ2に送信する装置であってもよい。また、受付部21は、サーバ2の他の構成要素からユーザ熟練性情報を受け取ってもよい。その場合には、例えば、情報処理装置1等からユーザ識別子と操作情報とがサーバ2に送信され、サーバ2において、ユーザごとの熟練性情報を算出し、その熟練性情報とその熟練性情報に対応するユーザ識別子とを含むユーザ熟練性情報を受付部21に渡すようにしてもよい。
また、本実施の形態による情報処理装置1において、ボタンの押下回数や押下スピード、カーソルの移動量、ショートカットキーの入力回数等を用いた熟練性情報の算出について説明したが、1以上の操作情報を用いた熟練性情報の算出が行われるのであれば、それらのうちの一部の操作情報が熟練性情報の算出に用いられなくてもよい。その場合には、操作受付部11は、1種以上の操作情報を受け付けるものであってもよい。なお、情報処理装置1において、2以上の入力デバイスからの2種以上の操作に対応する2以上の操作情報を用いた熟練性情報の算出や、2以上の操作方法に応じた2種以上の操作に対応する2以上の操作情報を用いた熟練性情報の算出を行うようにしてもよい。その場合には、2以上の操作情報を用いた熟練性情報の算出が行われるため、1個の操作情報のみを用いた場合よりも、より多面的な正確な熟練性の把握が可能になると考えられる。
また、本実施の形態による情報処理装置1において、アプリケーションの使用状況と、ネットワーク上のページへのアクセス状況との少なくとも一方のみを用いて熟練性情報を算出するようにしてもよい。その場合には、操作受付部11は、単に、入力デバイスによる操作を受け付けるものであってもよい。その操作は、例えば、アプリケーションに関する操作や、ネットワーク上のページに関する操作である。また、取得部12は、単に、操作受付部11が受け付けた操作の対象となる操作対象への操作の程度を示す情報である操作情報を取得するものであってもよい。取得部12は、例えば、操作受付部11が受け付けたアプリケーションに関する操作に応じて、アプリケーションの使用状況を示す操作情報を取得してもよく、操作受付部11が受け付けたネットワーク上のページへのアクセスに応じて、ページのアクセス状況を示す操作情報を取得してもよい。また、算出部16は、取得部12が取得した操作情報を用いて、操作情報によって示される操作の熟練性が高いほど、より高い値となる熟練性情報を算出する。その際に、算出部16が、アプリケーション対応情報を用いて、使用状況の示す使用が多いほど高い値となり、使用したアプリケーションの難易度が高いほど高い値となる熟練性情報を算出してもよく、ページ対応情報を用いて、アクセス状況の示すアクセスが多いほど高い値となり、アクセス先のページの専門性が高いほど高い値となる熟練性情報を算出してもよいことは、前述の通りである。この場合においても、熟練性情報の算出にアプリケーションの使用状況を用いない場合には、情報処理装置1は、アプリケーション対応情報記憶部14を備えていなくてもよい。また、熟練性情報の算出にページへのアクセス状況を用いない場合には、情報処理装置1は、ページ対応情報記憶部15を備えていなくてもよい。
また、本実施の形態において、一覧情報に位置情報も含まれる場合について主に説明したが、一覧情報に位置情報が含まれなくてもよいことは言うまでもない。一覧情報に位置情報が含まれない場合には、算出部23は、位置情報を算出しなくてもよい。
また、本実施の形態において、一覧情報生成部24が、グループ熟練性情報の示す熟練正の値でソートした一覧情報を生成する場合について主に説明したが、そうでなくてもよい。一覧情報において、グループ熟練性情報に応じたソートがなされていなくてもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、あるいは、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していない場合であっても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、情報処理装置1やサーバ2に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態におけるサーバ2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、情報処理装置において入力デバイスから受け付けたユーザの操作に関する熟練性を示す熟練性情報と、ユーザを識別するユーザ識別子とを含む情報であるユーザ熟練性情報を複数受け付ける受付部、受付部が受け付けた複数のユーザ熟練性情報を用いて、ユーザのグループごとに、グループに属するユーザを識別するユーザ識別子と同じユーザ熟練性情報に含まれる熟練性情報からグループの熟練性を示すグループ熟練性情報を算出する算出部、グループごとに算出部が算出したグループ熟練性情報を一覧表示する情報である一覧情報を生成する一覧情報生成部、一覧情報生成部が生成した一覧情報を送信する送信部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を受け付ける受付部や、情報を送信する送信部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図13は、上記プログラムを実行して、上記実施の形態による情報処理装置1,サーバ2を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図13において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図14は、コンピュータシステム900の内部構成を示す図である。図14において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANやWANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理装置1,サーバ2の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置1,サーバ2の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。