(57)【要約】  本発明の一例として、操作に関するログである操作ログと、操作ログの特徴を示す情報である特徴量を端末で生成し、特徴量が所定の条件を満たした場合に、操作ログと特徴量を端末から情報分析装置に送信し、情報分析装置において特徴量と操作ログとを記憶して、情報分析装置が検索要求を受信した場合に特徴量に基づいて操作ログに関する検索を行う。また、本発明の他の例として、端末と情報分析装置の少なくとも何れかが、情報分析装置に記憶されている特徴量の少なくとも一部の特徴量の分布を示す情報を生成する。これにより、操作ログの収集を選択的にして大量の操作ログの収集を不要とし、さらに検索対象となる特定操作を的確かつ効率的に実現できる。
2013105128.tif 000002
【特許請求の範囲】
【請求項１】
互いに接続可能な、ユーザ端末と、情報分析装置と、分析指示端末と、を有し、
前記ユーザ端末は、
前記ユーザ端末でユーザが行った操作に関するログである操作ログを生成し、
前記操作ログの特徴を示す情報である特徴量を生成し、
前記特徴量が所定の条件を満たした場合に、前記操作ログと、前記特徴量と、を前記情報分析装置に送信し、
前記情報分析装置は、
前記ユーザ端末から受信した、前記特徴量と、前記操作ログと、を対応付けて記憶し、
前記分析指示端末から前記操作ログに関する検索要求を受信した場合に、前記特徴量に基づいて前記操作ログを検索する、ことを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記ユーザ端末は、
前記情報分析装置または前記分析指示端末から指定された特徴量である基準特徴量と、前記操作ログに基づいて生成された特徴量と、の間の類似度と乖離度の少なくとも何れか一方に基づいて、前記操作ログと、前記特徴量と、を前記情報分析装置に送信するか否かの判定を行う、ことを特徴とする情報処理システム。
【請求項３】
請求項２に記載の情報処理システムであって、
前記ユーザ端末は、
前記基準特徴量として、前記情報分析装置から指定される特徴量、又は前記分析指示端末から指定される特徴量、を用いる、ことを特徴とする情報処理システム。
【請求項４】
請求項１に記載の情報処理システムであって、
前記分析指示端末は、
前記検索要求において検索対象とする操作のログである対象操作ログを前記検索対象の操作の実行結果に基づいて生成し、前記対象操作ログの特徴量である対象特徴量を生成し、
前記ユーザ端末は、
前記対象特徴量に基づいて前記所定の条件を決定する、ことを特徴とする情報処理システム。
【請求項５】
請求項１に記載の情報処理システムであって、
前記分析指示端末は、
前記検索要求において検索対象とする操作のログである対象操作ログを前記検索対象の操作の実行結果に基づいて生成し、前記対象操作ログの特徴量である対象特徴量を生成し、
前記情報分析装置は、
前記対象特徴量に基づいて前記検索を行う、ことを特徴とする情報処理システム。
【請求項６】
請求項１に記載の情報処理システムであって、
前記ユーザ端末は、前記情報分析装置に記憶された特徴量の少なくとも一部を取得し、前記取得した特徴量の分布を示す情報を生成する、ことを特徴とする情報処理システム。
【請求項７】
請求項６に記載の情報処理システムであって、
前記ユーザ端末は、前記特徴量の分布を示す情報に基づいて前記所定の条件を決定する、ことを特徴とする情報処理システム。
【請求項８】
請求項１に記載の情報処理システムであって、
前記情報分析装置は、前記記憶された特徴量の少なくとも一部の特徴量の分布を示す情報を生成する、ことを特徴とする情報処理システム。
【請求項９】
ユーザが行った操作に関するログである操作ログを生成するログ生成部と、
前記操作ログの特徴を示す情報である特徴量を生成する特徴量生成部と、
前記操作ログの検索処理を行う装置である情報分析装置に対するデータ送信の制御を行う送信制御部と、を備え、
前記送信制御部は、
前記特徴量が所定の条件を満たした場合に、前記操作ログと、前記特徴量と、を前記情報分析装置に送信する、
ことを特徴とする端末装置。
【請求項１０】
請求項９に記載の端末装置であって、
前記送信制御部は、
前記情報分析装置から指定された特徴量である基準特徴量と、前記操作ログに基づいて生成された特徴量と、の間の類似度と乖離度の少なくとも何れか一方に基づいて、前記操作ログと、前記特徴量と、を前記情報分析装置に送信するか否かの判定を行う、ことを特徴とする端末装置。
【請求項１１】
請求項９に記載の端末装置であって、
前記情報分析装置に記憶されている特徴量の少なくとも一部を取得し、前記取得した特徴量の分布を示す情報を生成する分布情報生成部、を更に備えることを特徴とする端末装置。
【請求項１２】
請求項１１に記載の端末装置であって、
前記送信制御部は、
前記特徴量の分布を示す情報に基づいて前記所定の条件を決定する、ことを特徴とする端末装置。
【請求項１３】
ユーザが行った操作に関するログである操作ログと、前記操作ログの特徴を示す情報である特徴量と、を生成するユーザ端末から、前記特徴量と、前記操作ログと、を受信する受信部と、
前記ユーザ端末から受信した、前記特徴量と、前記操作ログと、を対応付けて記憶する記憶部と、
外部装置から前記操作ログに関する検索要求を受信した場合に、前記特徴量に基づいて前記操作ログを検索する検索部と、を備え、
前記受信部は、
前記特徴量が所定の条件を満たした場合に、前記操作ログと、前記特徴量と、を前記ユーザ端末から受信する、
ことを特徴とする情報分析装置。
【請求項１４】
請求項１３に記載の情報分析装置であって、
前記検索要求において検索対象とする操作のログである対象操作ログを前記検索対象の操作の実行結果に基づいて生成し、前記対象操作ログの特徴量である対象特徴量を生成し、前記対象特徴量に基づいて前記所定の条件を前記ユーザ端末に指定する、特徴量指定部を更に備える、ことを特徴とする情報分析装置。
【請求項１５】
請求項１３に記載の情報分析装置であって、
前記情報分析装置に記憶されている特徴量の少なくとも一部の特徴量の分布を示す情報を生成する分布情報生成部、を更に備えることを特徴とする情報分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを処理する方法、及びその方法を実行するデータ処理システム、データ処理装置に係る。特に、ユーザ端末上でのユーザ操作の操作ログを収集し、その操作ログから特定の操作を抽出する等の、ユーザ端末上でなされたユーザ操作に関する検索方法および検索装置に関する。
【背景技術】
【０００２】
近年、さまざまなサービスがネットワークを介して提供されるようになり、サービス提供者は、ネットワークの向こう側のユーザの状況を把握しにくくなっている。また、これらのサービスの中には、業務システムや金融サービスをはじめとして、その利用によって経済に大きな影響を与えるサービスも多く含まれる。【０００３】
そのため、業務やビジネスの状況を把握するためには、ネットワークを介して提供されるサービスのユーザの状況を把握する必要性が高まっている。例えば、業務システムなどでは、従業員の誤操作によって大きな損失や信用の失墜を招くことがあり、このようなオペレーショナルリスクを回避するために、利用状況を監視して、問題行動を把握したいというニーズがある。また、電子商取引のように、ネットワーク化によって従来よりも参入障壁が下がって、類似のサービスを誰でも提供できるようになると、ユーザの状況にあわせたサービスをいかに提供してサービスの優位化を図るかがビジネスで成功するために重要になってくる。これを実現するためには、多数のユーザの状況を瞬時に把握して、適切なサービスを提供することが必要になる。【０００４】
これに対して、特開２０１０−１０８４６９号公報（特許文献１）では、特定ユーザ端末の操作を、他の複数のユーザ端末の操作と比較して特異操作の判定を行うことで、特定操作の検出条件を指定しなくても問題となる可能性のある操作の検出を実現する方法が開示されている。【０００５】
また、特開２０１０−１６０６１３号公報（特許文献２）では、各操作シーケンスに意味情報を与え、例えば電子メールの誤送信時に発生する操作シーケンスに警告情報を与えて、類似操作が発生した際に出力装置に警告を出力する方法が開示されている。【０００６】
また、特開２００５−２５０８０２号公報（特許文献３）では、システムへの不正アクセス検出装置として、アクセスデータの解析により異常データの特徴を示す特徴量データを算出する解析手段と、異常判定を行う統計モデルを用意して、問題の検出を行う手段が開示されている。【０００７】
さらに、特開２００９−２３０６６３号公報（特許文献４）では、不正なウェブページの検出を行うために、ウェブページに含まれるリンク情報を抽出し、リンク先のウェブページを取得して、そのウェブページの特徴量を算出し、特徴量に基づいてウェブページの異常の有無を判定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−１０８４６９号公報
【特許文献２】特開２０１０−１６０６１３号公報
【特許文献３】特開２００５−２５０８０２号公報
【特許文献４】特開２００９−２３０６６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述のように、従来技術において、ユーザの状況を把握するために特定ユーザ端末の操作を他のユーザ端末の操作と比較していたが、この際にユーザ端末で取得した大量の操作ログをサーバ側に収集して解析する必要があり、操作ログを収集する為の収集コストが高くなるという問題があった。【００１０】
また、誤操作の検出のような特定の操作を検出しようとする際に、検出対象の操作時に発生する操作シーケンスに警告情報を与えて類似の操作に対して警告を出すといった操作シーケンスに対する意味情報の付加を利用した処理を行っていたが、意味情報を与える操作シーケンスを適切に指定することが困難であるという問題があった。【００１１】
さらに、特徴量に基づいて異常判定等を行う場合に、実際にどのような操作が行われて異常と判定されたかを知るために必要な操作の再現手段がなく、精度よい判定には特徴量の算出手段と、異常判定を行う統計モデルが正確に設定できることが前提条件となり、これらができないと精度よい判定は困難であるという問題があった。【００１２】
本発明の目的は、上記の課題を解決し、多数のユーザ端末上で行われるユーザ操作から特定の操作を検出すために、大量の操作ログの収集無しに、検索対象となる特定操作を的確に行い、効率的に検索対象操作の検索を実現することにある。
【課題を解決するための手段】
【００１３】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、操作に関するログである操作ログと、操作ログの特徴を示す情報である特徴量を端末で生成し、特徴量が所定の条件を満たした場合に、操作ログと特徴量を端末から情報分析装置に送信し、情報分析装置において特徴量と操作ログとを記憶して、情報分析装置が検索要求を受信した場合に特徴量に基づいて操作ログに関する検索を行う。【００１４】
また、本願において開示される発明の代表的な他の一例を示せば以下の通りである。すなわち、端末と情報分析装置の少なくとも何れかが、情報分析装置に記憶されている特徴量の少なくとも一部の特徴量の分布を示す情報を生成する。
【発明の効果】
【００１５】
操作ログの収集を選択的にして大量の操作ログの収集を不要することができる。さらに、検索対象となる特定操作を的確かつ効率的に実現できる。
【図面の簡単な説明】
【００１６】
【図１】本発明が対象とするアプリケーションを実行するシステム構成の例である。
【図２】本発明によるユーザ操作の記録、検索処理フローの例である。
【図３Ａ】本発明の第１の実施例におけるユーザ操作の例である。
【図３Ｂ】本発明の第１の実施例における操作ログの例である。
【図３Ｃ】本発明の第１の実施例における特徴量の例である。
【図４Ａ】本発明の第１の実施例におけるユーザ端末装置での処理フローの概要の一例である。
【図４Ｂ】本発明の第１の実施例におけるユーザ端末装置での処理フローの概要の一例である。
【図５Ａ】本発明の第１の実施例における操作分析装置での処理フローの概要の一例である。
【図５Ｂ】本発明の第１の実施例における操作分析装置での処理フローの概要の一例である。
【図６】本発明の第１の実施例における分析用端末装置での処理フローの概要の例である。
【図７Ａ】本発明の第１の実施例における特徴量の可視化の例である。
【図７Ｂ】本発明の第１の実施例における操作ログの再現の例である。
【図８】本発明の第１の実施例におけるユーザ操作の検索の処理フローの例である。
【図９】本発明の第１の実施例における特徴量空間での操作間の関係を示す表示例である。
【図１０Ａ】本発明の第１の実施例における条件判定ルールの例である。
【図１０Ｂ】本発明の第１の実施例における条件判定ルールと特徴量の対応関係を示すテーブルの例である。
【図１１】本発明の第２の実施例における特徴量訓間での操作間の関係の例である。
【図１２】本発明の第２の実施例におけるユーザ操作の検索の処理フローの例である。
【図１３】本発明の第３の実施例におけるユーザ操作の検索の処理フローの例である。
【図１４】本発明の第４の実施例におけるシステム構成の例である。
【図１５】本発明の第４の実施例におけるユーザ操作の検索の処理フローの例である。
【図１６】本発明の第５の実施例における特徴量の可視化と調整方法の例である。
【図１７】本発明の第５の実施例におけるユーザ操作の検索の処理フローの例である。
【図１８】本発明の第６の実施例におけるユーザ操作の検索の別の処理フローの例である。
【図１９】本発明の第７の実施例におけるシステム構成の例である。
【図２０】本発明の第７の実施例におけるユーザ操作の記録、検索処理フローの例である。
【図２１】本発明の第７の実施例におけるユーザ操作の検索の処理フローの例である。
【図２２】本発明の第７の実施例におけるユーザ操作の検索の別の処理フローの例である。
【図２３】本発明の第１の実施例における操作ログと特徴量の保存方法の一例を示すテーブルである。
【発明を実施するための形態】
【００１７】
以下、実施例について図面を用いて説明する。
【実施例１】
【００１８】
本発明によるユーザ操作の検索方法を図１から図１０を使って説明する。図１は、本発明が対象とするシステムのハードウェア構成と、ソフトウェア構成の例を示すシステム構成図である。【００１９】
ハードウェアは、ユーザ端末装置１０１、操作分析装置１４１、分析用端末装置１８１と、これらの装置を接続するネットワーク１６１から構成される。なお、各装置のハードウェアは同一のハードウェアで実現されても、複数のハードウェアに分散されて構成されてもよい。また、例えば、操作分析装置１４１のメモリに分析用端末装置１８１の有するプログラムを追加して、操作分析装置１４１が分析用端末装置１８１の有する機能を兼ねて実行する等のように、各ソフトウェアが同一のハードウェアで実行されても、複数のハードウェアで実行されて構成されてもよい。【００２０】
ユーザ端末装置１０１、操作分析装置１４１、分析用端末装置１８１は、すべてプロセッサ（１０３、１４３、１８３）、メモリ（１０８、１４８、１８８）、入出力部（１０２、１４７、１８７）、ネットワークインタフェース（１０７、１４２、１８２）を備え、相互に接続されている。ユーザ端末装置１０１、操作分析装置１４１は、さらにローカルディスク（１０５、１４５）を備える。ただし、一部の装置ではこれらの構成要素の一部が欠けてもよい。入出力部（１０２、１４７、１８７）はモニタを備え、後述する図３Ａ、図７Ａ、図７Ｂ、図９、図１０に示すような画面をモニタに表示し、マウス、キーボード等のインタフェースを用いてこれらの画面に対する操作を行うことができる。また、これらの画像は、入出力部（１０２、１４７、１８７）の先に接続される映像装置(モニタなど)に表示してマウス、キーボード等のインタフェースを用いてこれらの画面に対する操作を行う構成としてもよい。【００２１】
ユーザ端末装置１０１のメモリ１０８には、アプリケーション実行基盤プログラム１１１、アプリケーションプログラム１１２、操作ログ取得・送信プログラム１１３が格納されている。これらのプログラムは、プロセッサ１０３に読み込まれて実行される。アプリケーション実行基盤プログラム１１１は、アプリケーションプログラム１１２や操作ログ取得・送信プログラム１１３などのプログラムの実行を制御し、これらのプログラムとローカルディスクや入出力部、ネットワークなど外部との入出力を制御する機能を持つ。【００２２】
アプリケーションプログラム１１２は、ユーザ端末装置のユーザが操作を行う対象であり、例えば文書作成や表計算、ウェブページ閲覧などの機能を提供する。【００２３】
操作ログ取得・送信プログラム１１３は、アプリケーションプログラム上でのユーザ操作を示す情報を取得して操作ログを生成し、その操作ログの特徴量を計算したり、特徴量や操作ログを保存、送信したりするなどの機能を持つ。【００２４】
入出力部１０２には、キーボードやマウス、モニタなどが接続され、プログラムの実行や停止の指示を行ったり、プログラムの実行結果をモニタに表示したりするのに利用される。プロセッサ１０３は、メモリ１０８からプログラムを読み込んで処理を実行する。ネットワークインタフェース１０７は、ユーザ端末装置１０１と外部の装置との間で、ネットワーク１６１を介して操作ログなどのデータや装置の動作を制御するコマンドの送受信を行う。ローカルディスク１０５には、ログ保存領域１０６があり、操作ログや特徴量などが保存される。【００２５】
操作分析装置１４１のメモリ１４８には、分析プログラム１５１が格納されている。このプログラムは、プロセッサ１４３に読み込まれて実行される。【００２６】
分析プログラム１５１は、ユーザ端末装置１０１から送信された操作ログやその特徴量を受信して保存する機能、特徴量の分析を行い特徴量の分布などを可視化する機能、ユーザ端末装置１０１における特徴量の計算方法を指定する機能などを持つ。【００２７】
入出力部１４７、プロセッサ１４３、ネットワークインタフェース１４２、ローカルディスク１４５は、ユーザ端末装置１０１にある同名の装置である入出力部１０２、プロセッサ１０３、ネットワークインタフェース１０７、ローカルディスク１０５とそれぞれ同じ機能を持つ。【００２８】
分析用端末装置１８１のメモリ１８８には、分析インタフェースプログラム１９１が格納されている。分析インタフェースプログラム１９１は、プロセッサ１８３に読み込まれて実行される。【００２９】
分析インタフェースプログラム１９１は、検索対象とする操作を指定する機能、操作分析装置１４１で分析された特徴量の分析結果を表示する機能、操作分析装置１４１に送信された操作ログからユーザが行った操作を再現する機能、分析結果や再現結果に対する評価を入力する機能を持つ。【００３０】
入出力部１８７、プロセッサ１８３、ネットワークインタフェース１８２は、ユーザ端末装置１０１にある同名の装置である入出力部１０２、プロセッサ１０３、ネットワークインタフェース１０７、ローカルディスク１０５とそれぞれ同じ機能を持つ。【００３１】
本実施例における、ユーザ操作の検索処理フローを図２により説明する。図２以降の図においては、プログラムがプロセッサ上で実行されている状態をモジュールと呼び、例えば、アプリケーションプログラムがプロセッサ上で実行されている場合、アプリケーションモジュールと呼ぶ。つまり、アプリケーション実行基盤プログラム１１１がプロセッサ上で実行されている状態がアプリケーション実行基盤モジュール２１１であり、アプリケーションプログラム１１２がプロセッサ上で実行されている状態がアプリケーションモジュール２１２であり、操作ログ取得・送信プログラム１１３がプロセッサ上で実行されている状態が操作ログ取得・送信モジュール２１３であり、分析プログラム１５１がプロセッサ上で実行されている状態が分析モジュール２５１であり、分析インタフェースプログラム１９１がプロセッサ上で実行されている状態が分析インタフェースモジュール２９１である。【００３２】
図１で説明したように、ユーザ端末装置１０１、操作分析装置１４１、分析用端末装置１８１がネットワーク１６１で接続されたシステムで、ユーザ端末装置１０１上のアプリケーションで操作が行われると、アプリケーションモジュール２１２上で操作に応じたイベントが発生する。例えば、アプリケーション上のボタンをマウスで押下した場合には、クリックイベントが発生する。【００３３】
操作ログ取得・送信モジュール２１３は、操作ログ記録機能２１４と、特徴量計算機能２１５と、を持つ。操作ログ記録機能２１４には、プリケーション上で発生したイベントを捕らえて操作ログを生成する操作ログ生成の他に、ログ保存領域１０６に操作ログを保存したり、ログ保存領域１０６に保存されている操作ログを読み出したり、操作ログを外部に送信したりする機能も持つ。【００３４】
特徴量計算機能２１５は、生成もしくは読み出された操作ログに対して、特徴量を計算する機能を持つ。特徴量には、アプリケーション上でマウスカーソルが動いた距離や、マウスがクリックされた回数など、操作ログから計算できるあらゆるものを含む。【００３５】
さらに、特徴量計算機能２１５には、操作分析装置１４１や分析用端末装置１８１から指定された条件に対して計算された特徴量が条件を満たすか否かを判定する条件判定機能２１６が含まれる。【００３６】
条件判定機能２１６では、例えば条件として「マウスのクリックが累積１０回以上」として与えられ、マウスのクリック回数が累積で１０回を越えると条件を満たしたと判定し、特徴量計算機能２１５に対して条件成立を通知する。特徴量計算機能２１５は、操作ログ記録機能２１４と同様に、特徴量をログ保存領域１０６に保存したり、ログ保存領域１０６に保存されている特徴量を読み出したり、特徴量を外部に送信したりする機能を持つ。さらに、特徴量に該当する操作ログを特定して、操作ログ記録機能２１４から該当する操作ログを取得し、これを外部に送信する機能も含まれる。【００３７】
また、特徴量計算機能２１５には、これらの動作の履歴を記録する履歴管理機能２１７も含まれる。【００３８】
これらの機能により、ユーザ端末装置１０１上で行われた操作が、特定の条件を満たした場合に、該当する操作ログをログ保存領域１０６から読み出して外部に送信したりすることができ、特徴量に基づいた選択的な操作ログの外部への送信が実現できる。【００３９】
本実施例では、特徴量の計算や特徴量、操作ログの保存・送信のタイミングについては限定をしないが、例えば、一定量の操作が行われると特徴量の計算と操作ログの保存が行われ特徴量がネットワーク１６１を介して操作分析装置１４１に送信され、さらに条件判定機能２１６で条件を満たすと判定された場合には、該当する操作ログも操作分析装置１４１に送信される。【００４０】
操作分析装置１４１では、分析モジュール２５１の機能として、ユーザ端末装置１０１から送信されてきた特徴量や操作ログを受信してログ保存領域１４６に保存するログ送受信機能２５２やログ保存機能２５３が含まれる。図２では、ユーザ端末装置１０１は１台のみ記載されているが、複数代のユーザ端末装置１０１からのログの受信も可能である。【００４１】
ログ保存機能２５３には、ログ保存領域１４６から特徴量や操作ログを読み出す機能も含まれる。また、ログ送受信機能２５２には、特徴量や操作ログやそれらから生成されたデータをユーザ端末装置１０１や分析用端末装置１８１へ送信する機能も含まれる。【００４２】
さらに、分析モジュール２５１には、特徴量分析機能２５４が含まれる。特徴量分析機能２５４は、複数の特徴量の統計処理を行ったり、特徴量の分布をグラフなどの形で可視化したりする機能が含まれる。さらに、指定された操作ログの特徴量と、ログ保存領域１４６に保存されている操作ログの特徴量との間の類似の度合いを示す情報である類似度や、乖離の度合いを示す情報である乖離度を計算したり、指定された特徴量に該当する操作ログをログ保存領域１４６から取得したりする機能なども含まれる。特徴量指定機能２５５は、特徴量の分析結果や外部からの入力によって、ユーザ端末装置１０１で計算する特徴量を変更したり、条件判定の条件を変更したりする機能を持つ。【００４３】
これらの機能により、操作分析装置１４１では、複数の特徴量と操作ログの状況を確認したり、特定の特徴量や操作ログを抽出したりする機能を提供することができる。分析用端末装置１８１では、分析インタフェースモジュール２９１の機能として、操作分析装置１４１やユーザ端末装置１０１に保存されている操作ログから抽出したい操作ログを指定する検索操作指定機能２９２と、操作分析装置１４１の特徴量分析機能２５４で分析された結果を表示したり、操作分析装置１４１で抽出した操作ログを基にユーザ操作を再現したりする機能を実現する結果表示／再現機能２９３が含まれる。【００４４】
さらに、分析結果や再現された操作に対して、抽出したい操作ログか否か、抽出したい操作を指定するのに有効な特徴量であるかないかなど、評価を入力する評価入力機能２９４が含まれる。【００４５】
これらの機能により、分析用端末装置１８１では、ユーザ端末装置１０１でのユーザ操作の状況を確認しながら、抽出したい操作を、効率的に指定することができる。【００４６】
次にユーザ操作と操作ログ、特徴量について図３Ａ、図３Ｂ、図３Ｃを用いて説明する。図３Ａでは、アプリケーション画面３０１上でユーザが複数のオブジェクトに対して選択やチェック、クリックなどの操作を行った様子を模式的に示している。例えば、プルダウンメニューのＣＣＣ３０４ではＣＣＣ１を選択し、ラジオボタンＤＤＤ３０５ではＤＤＤ２を選択している。これらの操作によって発生したイベントから、操作ログ記録機能２１４では、図３Ｂの操作ログ３１０の表に示したような操作ログの列を生成する。【００４７】
操作ログ３１０には、例えば、操作を行った場所を示すアプリケーション名やＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒｓ）、時刻、操作対象のオブジェクト名、操作の内容、操作の結果、その他備考として操作者や画面上での座標などが含まれる。【００４８】
図３Ｃに示す操作の特徴量３２０には、操作ログ３１０から計算できるあらゆるものが含まれるが、例を挙げれば、操作発生数、操作対象、時間、座標、環境、コンテンツなどの統計量などがある。【００４９】
続いて、図４〜図６で、各装置の処理フローの詳細を説明する。【００５０】
図４Ａ、図４Ｂに、ユーザ端末装置１０１での処理フローの詳細を示す。先に説明したように、操作ログ取得・送信モジュール２１３では、アプリケーションモジュール２１２上で発生したイベントから操作ログを生成、特徴量を計算するが、その中の、操作ログ生成について図４Ａを用いて説明し、特徴量の計算、条件判定について図４Ｂを用いて説明する。【００５１】
図４Ａを用いて説明する操作ログの生成は、操作ログ記録機能２１４で行われ、アプリケーション情報４０１とイベント情報４０４から操作ログが生成される。ここで、アプリケーション情報４０１は図１に示したアプリケーションプログラム１１２に含まれ、イベント情報４０４は図１に示したアプリケーション実行基盤プログラム１１１に格納もしくは生成される。【００５２】
アプリケーション情報４０１には、オブジェクトに関する情報４０２やアプリコードに関する情報４０３が含まれる。オブジェクトに関する情報４０２とは、アプリケーション画面上に表示されているボタンやフォームなどのオブジェクトの名前や場所、大きさなどの情報である。アプリコードに関する情報４０３とは、ウェブページに含まれるスクリプトコードなどである。【００５３】
イベント情報４０４には、操作イベント４０５、アプリプロパティ４０６、実行環境情報４０７が含まれる。操作イベント４０５には、クリック操作など操作の内容、操作の結果、操作の場所などの情報が含まれる。アプリプロパティ４０６には、アプリケーションの動作状況やステート、例えばウェブページのクッキー情報などが含まれる。実行環境情報４０７には、操作者名や実行されているデバイス情報などが含まれる。【００５４】
操作ログの生成は、操作ログ記録機能２１４に含まれる操作ログ変換機能４１１が、アプリケーション情報４０１とイベント情報４０４を取得し、これらの情報を用いて操作ログ生成ルール４１０に基づき行う。操作ログ生成ルール４１０は操作ログ取得・送信プログラム１１３に含まれる。また、操作ログ生成ルール４１０には、イベントから操作ログの文字列を生成するルールの他に、操作ログを生成するタイミングや、生成された操作ログの保存方法などが含まれても良い。生成された操作ログは、操作ログ記録機能２１４に含まれる操作ログ保存・送信機能４１２によって、ログ保存領域１０６との間で操作ログの保存・読み出しを行う。【００５５】
図４Ｂを用いて説明する特徴量の計算は、特徴量計算機能２１５が、ログ保存領域１０６から操作ログを読み出し、読み出した操作ログを用いて特徴量計算ルール４２０に基づいて計算を行う。ここで、特徴量計算ルール４２０は図１にて示した操作ログ取得・送信プログラム１１３に含まれる。なお、操作ログはログ保存領域１０６を経由せずに、操作ログ変換機能４１１などから直接取得しても良い。特徴量計算ルール４２０には、特徴量の計算方法のほかに、特徴量を計算するタイミングや、計算された特徴量の保存方法などが含まれても良い。続いて、条件判定ルール４２２に基づいて条件判定機能２１６で、計算された特徴量が、操作分析装置１４１や分析用端末装置１８１から指定された条件を満たすか否かの判定を行う。ここで、条件判定ルール４２２は図１にて示した操作ログ取得・送信プログラム１１３に含まれる。また、条件判定ルール４２２としては、特定の特徴量が一定値より大きいかなどの条件の他に、ログ保存領域１０６に保存されている他の特徴量との比較などの条件も含まれる。履歴管理機能２１７は、条件判定結果の他に、操作ログや特徴量の計算結果などの履歴を管理し、履歴をログ保存領域１０６に保存する。【００５６】
図５Ａ、図５Ｂに操作分析装置１４１での処理フローの詳細を示す。先に説明したように、分析モジュール２５１では、ユーザ端末装置１０１から特徴量と操作ログを受信してそれらをログ保存領域１４６に保存したり、分析用端末装置１８１から指定された検索対象の操作の特徴量とログ保存領域１４６に保存されている特徴量との比較や、特徴量の分布などの分析をしたりする。これらの処理の詳細フローの例を以下に説明する。図５Ａ、図５Ｂでは、複数の特徴量をまとめて特徴量ベクトル５０１と呼ぶ。【００５７】
まず、図５Ａを用いて、ログ送受信機能２５２、ログ保存機能２５３、特徴量分析機能２５４が行う処理について説明する。分析モジュール２５１では、特徴量ベクトル５０１と操作ログ５０２をログ送受信機能２５２で受信し、これを、ログ保存機能２５３を介してログ保存領域１４６に保存する。ログ保存領域１４６には、例えば図２３のテーブル２３００に示すように、各操作２３０１について、操作ログ（２３０２、２３０３、２３０４、２３０５、２３０６、２３０７）と特徴量（２３０８、２３０９、２３１０）とが対応付けられて保存される。特徴量の算出方法については後述する。特徴量分析機能２５４は、受信した特徴量やログ保存領域１４６に保存されている特徴量、検索対象として指定された操作の特徴量などから、検索対象の操作を抽出したり、特徴量の分布などの分析をしたりする。特徴量の分析結果５１４もログ保存機能２５３を介してログ保存領域１４６に保存しても良い。【００５８】
次に、図５Ｂを用いて、特徴量指定機能２５５が行う処理について説明する。特徴量指定機能２５５では、分析用端末装置１８１から受信した検索結果評価５２１とログ保存領域１４６に保存されている特徴量分析結果５１４や特徴量から、ユーザ端末装置１０１での特徴量計算ルール４２０や条件判定ルール４２２などの変更・指定を行う特徴量指定５２２を生成する。例えば、特定の特徴量が検索対象の操作を指定するのに役に立たないとの評価が与えられた場合、該当する特徴量の計算そのものを停止するなどの変更を加えることで、特徴量の計算コストや、保存コストの低減を図ることができる。【００５９】
図６に分析用端末装置１８１での処理フローの詳細を示す。先に説明したように、分析インタフェースモジュール２９１では、操作分析装置１４１やユーザ端末装置１０１に保存されている操作ログから抽出したい操作ログを指定したり、操作分析装置１４１の特徴量分析機能２５４で分析された結果をモニタに表示したり、操作分析装置１４１で抽出した操作ログを基にユーザ操作をモニタに再現したりし、分析結果や再現された操作に対して、抽出したい操作ログか否か、抽出したい操作を指定するのに有効な特徴量であるかないかなど、評価を入力する機能を提供する。【００６０】
結果表示／再現機能２９３では、特徴量ベクトル５０１、操作ログ５０２、特徴量分析結果５１４などから、特徴量の分布の表示や特定操作の再現などを行い、検索操作指定機能２９２で指定された検索対象の操作の特徴量を特徴量の分布にあわせてモニタに表示し、ユーザ操作の状況と、指定した操作の関係を可視化することで、検索対象とする操作の指定を修正したり、ユーザ操作の中から検索対象となる操作を選択したりする。また、特徴量の分布の表示や、操作の再現に対して、評価を入力し、操作分析装置１４１に検索結果評価５２１を送信する機能を評価入力機能２９４で提供する。【００６１】
図７Ａは、分析用端末装置１８１での特徴量の分布の表示の一例を示す図であり、図７Ｂは操作の再現のイメージの例を示した図である。これらの画面７０１、７５０は分析用端末装置１８１の入出力部１８７が備えるモニタに表示される。図７Ａの結果表示画面７０１には、表示内容を制御する制御部７０２と、特徴量の分布を表示するグラフ部７０３が含まれ、制御７０２で表示する特徴量の選択を行ったり、該当するログを選択したり、選択した操作の再現を行ったり、選択した操作を検索対象として指定する機能を提供する。【００６２】
グラフ部７０３では、例えば３つの特徴量の分布を３次元グラフで表示する。以下では、この３次元グラフで表現される空間を特徴量空間と呼ぶ。グラフ上で黒丸●７２１は、ログ保存領域１４６に保存されている特徴量であり、中抜き丸◎７２２は、ログ保存領域１４６に保存されている特徴量の中で、さらに操作ログも保存されているものである。星★７２３は、検索対象の操作として指定した操作の特徴量空間での分布を示している。図７から分かるように、検索対象の操作は複数指定しても良い。図７の特徴量空間から、例えば操作の分布が、７０３中の点線で囲まれたいくつかのクラスタ７２４に分かれることや、検索対象の操作と合致する操作はないが、特徴量空間では近傍に位置する操作のクラスタ７２４があること、どのクラスタ７２４にも属さない操作があることなどが読み取れる。図７Ｂは、操作再現画面７５０で、結果表示画面７０１で中抜き丸◎７２２をマウスなどによって選択して、中抜き丸◎７２２の特徴量に対応する操作を再現して確認することができる。【００６３】
以上の説明から図８に本実施例の全体処理フローの例として、指定した操作を検索して操作を再現し、さらに特徴量空間で他の操作の状況を表示して、必要に応じて検索対象の操作を追加する処理のフローを示す。【００６４】
ユーザ端末装置１０１では、アプリケーションモジュール２１２上でユーザ操作などによりイベントが発生すると（ステップ８０３）、操作ログ取得・送信モジュールの操作ログ記録機能がアプリケーションモジュールからイベント情報を取得し（ステップ８０４）、操作ログ記録機能が操作ログ生成ルールに基づき操作ログを生成しログ保存領域に保存する（ステップ８０５）。以降では、ステップ８０３、８０４、８０５をまとめてステップ８０２と呼ぶ。次に、特徴量計算の要否を判定する（ステップ８０７）。この判定は例えば特徴量計算ルールに基づいて行う。特徴量の計算は、特徴量計算機能が特徴量計算ルールに基づき操作ログから特徴量を計算して保存する(ステップ８０８)。続いて、条件判定機能が条件判定ルールに基づき操作ログの送信要否を判定し、履歴管理機能がログ保存領域に保存する（ステップ８０９）。以降では、ステップ８０７、８０８、８０９をまとめてステップ８０６と呼ぶ。計算された特徴量の送信要否を判定し（ステップ８１１）、必要に応じて操作ログ保存・送信機能が特徴量を操作分析装置に送信する（ステップ８１２）。操作ログに比較して特徴量のサイズが十分に小さい場合には、常時特徴量を操作分析装置に送信することで、大量の操作ログを送信せずに、操作分析装置でユーザ操作の全体の状況を把握することが可能になる。続いて、操作ログの送信要否を判定する（ステップ８１３）。この判定は、ステップ８０９の判定結果に基づいて行う。【００６５】
ただし、通信効率などを考慮して、ある程度の量をまとめて送信するなど送信タイミングを調整するために、ステップ８０９の判定結果が要であっても、直後に送信しない方法もある。操作ログの送信は、操作ログ保存・送信機能が行う（ステップ８１４）。以降では、ステップ８１１、８１２、８１３、８１４をまとめてステップ８１０と呼ぶ。ユーザ端末装置では、これらの処理フローをアプリケーション上での操作が終了するまで繰り返す。【００６６】
操作分析装置１４１では、ユーザ端末装置１０１の処理ステップ８１２、８１４で送信された特徴量や操作ログを、ログ送受信機能で受信しログ保存領域に保存する（ステップ８２３）。続いて、特徴量分析機能が分析用端末層で指定された操作の特徴量とログ保存領域に保存されている特徴量を比較する（ステップ８２４）。比較の方法については、図９、図１０で説明をする。ここでは、比較の例として検索対象として指定した操作と、特徴量空間で類似度の高い操作を抽出するための比較操作を例とする。類似操作の有無の判定を行い（ステップ８２５）、類似操作がある場合には該当操作の操作ログが操作分析装置のログ保存領域にあるか否かを判定し（ステップ８２６）、操作ログがある場合には、該当する操作ログを分析用端末装置に送信する（ステップ８２７）。以降では、ステップ８２３、８２４、８２５、８２６、８２７をまとめてステップ８２２と呼ぶ。次に、特徴量ベクトルを分析用端末装置に送信する（ステップ８２８）。検索処理を継続する場合には、以上の処理を繰り返す。【００６７】
分析用端末装置１８１では、検索操作指定機能で検索対象とする操作を指定して操作分析装置に送信する（ステップ８４３）。検索対象とする操作の指定方法はさまざまあるが、例えば、特徴量空間の部分空間を指定する方法や、特定の操作の特徴量を計算して指定する方法などが考えられる。続いて操作分析装置から操作ログの受信を待ち（ステップ８４４）、操作ログを受信したら結果表示／再現機能によって操作ログを再現する（ステップ８４５）。これによって、検索対象とした操作に類似と判定された操作を実際に再現して確認することができる。【００６８】
ステップ８４４における操作ログの受信待ちは、例えば一定時間内に操作ログを受信しなかった場合に受信待ちを中止するタイムアウトなどの方法が考えられる。以降では、ステップ８４３、８４４、８４５をまとめてステップ８４２と呼ぶ。続いて、操作分析装置から特徴量ベクトルの受信待ちを行い（ステップ８４７）、受信したら結果表示／再現機能によって特徴量空間を表示する（ステップ８４８）。例えば図７に示したように特徴量空間の表示により、操作ログが受信されなかった場合、つまり類似操作が発見されなかった場合にも、特徴量空間で近傍の操作を見つけることができる。以上の処理によって検索対象の操作が見つかった場合には処理を終了し、見つからなかった場合には特徴量空間の情報などから、検索対象の再指定を行うために以上の処理を繰り返す（ステップ８４９）。【００６９】
以上の処理フローにより、ユーザ操作端末から大量の操作ログを収集せずに、検索対象の操作を効率的に抽出することができる。【００７０】
図９は、ユーザ操作端末装置１０１や操作分析装置１４１で行われる特徴量の条件判定の方法の例である。図９の例は、特徴量１として操作による選択や入力の結果の状態、特徴量２としてマウスの移動距離、特徴量３としてマウスのＸ方向（左右方向）の移動量を選択した場合に、Ｘ、Ａ、Ｂ、Ｃの操作パターン（９２１，９２２，９２３，９２４）を特徴量空間上にマップした画像であり、ユーザ操作端末装置１０１や操作分析装置１４１の入出力部１０２、１４７が備え、又は接続するモニタに表示される。ここで、Ｘを検索対象として指定した操作とし、Ａ、Ｂ、Ｃがログ保存領域に保存されているユーザ操作とする。この場合、特徴量空間でＸに類似の操作を選択するとしたらＡが選択され、乖離している操作としてはＣが選択される。これは、例えば特徴量空間上でＸの周りに球面を描き、最初に球面９１１に接した点を類似の操作とし、最後に球面に接した点を乖離した操作とする方法で判定が実現できる。【００７１】
さらに、検索対象として、Ｘ２、Ｘ３を追加して、特徴量空間において、Ｘ、Ｘ２、Ｘ３の３つに類似の操作を検索した場合、特徴量１については類似と判定される範囲が広がり、一方特徴量２については、一定の値が類似判定の基準となる。これを模式的に特徴量空間上に表現すると、楕円９１２のような範囲が類似判定に利用される。この場合、類似操作としてはＢが選択される。このように、特徴量空間上に操作の特徴量をマップすることにより、検索対象とする操作との類似・乖離した操作の抽出が効率化できる。【００７２】
図１０Ａは、図９で説明した類似・乖離した操作の判定方法を条件判定ルールとして表現した場合の例である。例えば、条件判定ルールの例（類似１）１００１では、図９で説明したＸと類似した操作としてＡが選択されるルールである。つまり、特徴量空間でのユークリッド距離が小さい場合に、検索対象と類似度が高いと判定する。【００７３】
また、条件判定ルールの例（類似２）１００２では、図９で説明したＸ、Ｘ２、Ｘ３を検索対象として指定した場合に、類似した操作としてＢが選択されるルールである。つまり、特徴量空間でのマハラノビス距離が小さい場合に、検索対象群との類似度が高いと判定する。【００７４】
条件判定ルールの例（乖離）１００３では、操作Ｃが乖離した操作として選択されるルールである。つまり、特徴量空間でのユークリッド距離が大きい場合に、検索対象との乖離度が高いと判定する。【００７５】
図１０Ｂは、類似・乖離した操作を数値計算で決定できる例である。表１０１０は、数値計算によって判定できるルールを例として示している。ここでは、数値計算によって判定できるルールを例として示したが、特徴量や判定方法によっては、数値計算ではなく論理計算などプログラムとしてルールが表現される場合も含まれる。
【実施例２】
【００７６】
別の実施例を、図１１、図１２を用いて説明する。ここでは実施例１との差分についてのみ示し、実施例１で説明した部分については省略する。【００７７】
ユーザ操作の中から所望の操作を検索する最も単純な方法はすべての操作の操作ログを収集して、すべての操作を再現して選択する方法であるが、ユーザ操作が多数になると現実的ではなくなる。そこで、実施例１で示したように、操作の特徴量によって選択的に操作ログを収集し、特徴量空間で検索対象の操作と類似・乖離した操作を抽出して操作の再現を限定的に行うことで、ユーザ操作が多数になった場合にも、効率的にユーザ操作の検索を実現した。【００７８】
しかし、検索対象の操作を的確に指定することができないケースもある。例えば、多数のユーザが行っている代表的な操作を検索したい場合、実施例１の方法では、代表的な操作を想定して、試行錯誤を繰り返す必要がある。【００７９】
そこで、このような場合には、特徴量空間上でユーザ操作の分布を確認し、多数のユーザ操作が集まっている操作のクラスタを抽出して、そのクラスタに含まれる操作を再現して確認することで、効率的にユーザ操作の検索が実現できる。【００８０】
これを実現するには、操作ログが操作分析装置に保存されている操作が特徴量空間において均一に分布するように、操作ログをうまく選択して収集しておく必要がある。例えば、図１１において、特徴量空間で黒丸●で表示されている点は、操作ログが操作分析装置に送信されている操作の特徴量である。この特徴量の分布状態において、黒四角■のＰ１の特徴量１１０２をもつ操作ログがユーザ端末装置で生成された場合に、当該操作ログについて送信済みの操作との距離を計算すると、操作ログ未送信領域１１０３に含まれることが分かり、この操作ログについては、操作分析装置に送信要と判定すべきである。ここで、操作ログ未送信領域１１０３とは、特徴量空間上で送信済みの操作からの距離が一定値より遠い領域を示す。距離の計算方法は、ユークリッド距離、マハラノビス距離など複数の計算方法のいずれを用いてもよい。この領域は、操作ログが生成されたときに、その操作ログと送信済みの操作からの距離を計算して一定値より遠い領域にあることが分かった場合に、操作ログ未送信領域１１０３にいるということを判定するものである。【００８１】
逆に黒四角■のＰ２の特徴量１１０４の場合、特徴量空間で近傍に操作ログを送信済みの点があるため、操作ログの送信は不要と判定すべきである。この際に、操作ログ送信済みの領域を予め生成・管理してそれとの対比で要否判断をしてもよいし、操作ログ生成の都度、送信済みの点が近傍にあるかないかを検索して要否判断をしてもよい。【００８２】
以上の処理フローを図１２に示す。【００８３】
ユーザ端末装置においてステップ８０２で操作ログが生成され、特徴量計算をした後（ステップ１２０８）、該当する操作ログの操作分析装置への送信要否を判定する。この判定において、該当するユーザ端末装置で行われた操作だけでなく、他のユーザ端末装置で行われた操作とその操作ログの操作分析装置での保存状況を考慮すべきか否かを判定し（ステップ１２０９）、必要な場合には、操作分析装置が操作ログを保存している操作の特徴量（送信済み特徴量）を操作分析装置に要求して受信する（ステップ１２１０）。ステップ１２０９で不要と判定した場合には、履歴管理機能により、操作ログを操作分析装置に送信済みの操作を特定して、その操作の特徴量（送信済み特徴量）をログ保存領域から読み出す（ステップ１２１１）。以上の処理の後に、ステップ１２０８で新たに計算した特徴量と送信済み特徴量を比較して、両者に乖離がある場合には、操作ログを送信要と判定して履歴管理機能がログ保存領域に保存する（ステップ１２１２）。その後、ステップ８１０にて操作分析装置に操作ログが送信される。【００８４】
以上の処理により、検索対象の操作を的確に指定することができないケースにおいても、特徴量空間上で操作ログが送信済みで操作の再現が可能な操作を均一に分布させることができ、選択的な操作ログの送信により操作ログの収集コストを低減しつつ、効率的なユーザ操作の検索が実現できる。
【実施例３】
【００８５】
別の実施例を、図１３を用いて説明する。ここでは実施例１、実施例２との差分についてのみ示し、実施例１、実施例２で説明した部分については省略する。【００８６】
ユーザ操作の収集コストを低減するために、ユーザ操作の収集を選択的に行う場合、検索対象とする操作に類似・乖離した操作を特徴量空間上で抽出しても、その操作の操作ログが操作分析装置に保存されておらず、操作の再現ができないために検索結果が適切かどうかの確認がとれない可能性がある。【００８７】
そこで、操作分析装置で検索対象の操作と類似している操作として抽出された操作の操作ログがない場合に、該当する操作ログをユーザ端末装置に要求して受信することで操作の再現を実現する。【００８８】
以上の処理フローを図１３に示す。【００８９】
操作分析装置は、ステップ８２５で類似操作ありと判定した場合に、該当操作ログの有無を判定する（ステップ１３２６）。該当操作のログがないと判定された場合には、該当操作ログをユーザ端末装置に要求し受信する（ステップ１３３１）。ユーザ端末装置では、操作分析装置からの要求に基づきログ保存領域から該当操作ログを操作分析装置に送信する（ステップ１３１７）。【００９０】
操作分析装置とユーザ端末装置間での該当操作の指定方法はさまざま考えられるが、例えば特徴量で指定する方法がある。【００９１】
図１３の処理フローでは、ユーザ端末装置では、操作分析装置からの要求以外では、操作ログを操作分析装置に全く送信しない例を示している。このような処理フローによって、ユーザ端末装置から操作分析装置への操作ログの送信量を最小化することができ、操作ログの収集コストが低減できる。
【実施例４】
【００９２】
別の実施例を、図１４、図１５を用いて説明する。ここでは実施例１、実施例２、実施例３との差分についてのみ示し、実施例１、実施例２、実施例３で説明した部分については省略する。【００９３】
特徴量によって検索対象とする操作を指定する方法では、指定が難しい可能性がある。そこで、検索対象とする操作を実際に行い、特徴量を明示的に指定せずにユーザ操作の検索を行うことで検索対象の操作の指定を容易化する。【００９４】
図１４は、検索対象の操作を、実際に操作を行うことで指定する場合のシステム構成図の例を示した図である。【００９５】
図１４で、分析用端末装置１４８１には、分析インタフェースプログラム１４９１に加えて、ユーザ端末装置１０１のメモリ１０８上に格納されているものと同じ、アプリケーション実行基盤プログラム１４１１、アプリケーションプログラム１４１２、操作ログ取得・送信プログラム１４１３がメモリ１４８８上に格納されている。これにより、分析用端末装置１４８１でも、ユーザ端末装置１０１と同様にアプリケーションを実行し、その上で操作をして操作ログを生成し、その操作ログの特徴量を計算することが可能になる。なお、操作ログや特徴量などを保存するためにローカルディスク１４８５とログ保存領域１４８６が分析用端末装置１４８１に含まれる。これらの利用方法は、ユーザ端末装置１０１と同じである。図１４では、アプリケーションプログラム１４１２などが分析用端末装置１４８１に配備されている状態を例として示したが、ネットワーク１６１を介してユーザ端末装置１０１上のアプリケーションを分析用端末装置１４８１から利用して操作ログの生成や特徴量の計算をする方法や、ユーザ端末装置１０１や分析用端末装置１４８１とは別の装置上にアプリケーションプログラム１４１２などが配備され、それを、ネットワーク１６１を介して利用し、操作ログの生成や特徴量の計算を行う方法も含まれる。【００９６】
以上の処理フローを図１５に示す。図１５においては、プログラムがプロセッサ上で実行されている状態をモジュールと呼ぶ。つまり、アプリケーション実行基盤プログラム１１１がプロセッサ上で実行されている状態がアプリケーション実行基盤モジュール２１１であり、アプリケーションプログラム１１２がプロセッサ上で実行されている状態がアプリケーションモジュール２１２であり、操作ログ取得・送信プログラム１１３がプロセッサ上で実行されている状態が操作ログ取得・送信モジュール２１３であり、分析プログラム１５１がプロセッサ上で実行されている状態が分析モジュール２５１であり、分析インタフェースプログラム１４９１がプロセッサ上で実行されている状態が分析インタフェースモジュール２９１である。さらに、アプリケーション実行基盤プログラム１４１１、アプリケーションプログラム１４１２、操作ログ取得・送信プログラム１４１３がプロセッサ上で実行されることにより、分析用端末装置１４８１においてもアプリケーション実行基盤モジュール２１１、アプリケーションモジュール２１２、操作ログ取得・送信モジュール２１３と同様のモジュールが機能する。【００９７】
分析用端末装置では、アプリケーションモジュール上で検索対象とする操作のイベントが発生し（ステップ１５５２）、操作ログ取得・送信モジュールの操作ログ記録機能がアプリケーションモジュールからイベント情報を取得し（ステップ１５５３）、操作ログ記録機能が操作ログ生成ルールに基づき操作ログを生成しログ保存領域に保存する（ステップ１５５４）。以下では、ステップ１５５２、１５５３、１５５４をまとめてステップ１５５１と呼ぶ。このようにして指定した検索対象の操作を検索操作指定機能で分析用端末装置から操作分析装置に対して送信する(ステップ１５４３)。図１５では、操作の指定は１回のみしか行っていないが、ステップ１５５１を繰り返し行って、複数の操作を検索対象の操作として指定することも含まれる。【００９８】
以上の処理により、特徴量によって検索対象とする操作の指定が難しい場合にも、検索対象とする操作を実際に行い、特徴量を明示的に指定せずにユーザ操作の検索を行うことで検索対象の操作の指定を容易化することができる。
【実施例５】
【００９９】
別の実施例を、図１６、図１７を用いて説明する。ここでは実施例１、実施例２、実施例３、実施例４との差分についてのみ示し、実施例１、実施例２、実施例３、実施例４で説明した部分については省略する。【０１００】
特徴量空間上で検索対象とする操作の指定を行ったり、ユーザ操作の状況を把握したりする場合に、特徴量によっては利用価値の低いもの、高いものがある。どの特徴量をどのように利用するかを適切にしていできる手段を用意することによって、検索対象の操作の指定を効率化することができる。【０１０１】
図１６は、特徴量の利用価値を判定する方法を模式的に示した図である。結果表示画面１６０１において、グラフ部１６０３には、特徴量１のみを選択して、その度数分布が表示されている。度数分布は、ログ保存領域に保存されている複数の特徴量から特徴量１の値のみを抽出して、特徴量１が同じ値を持っているものの数をカウントした分布である。ここでは、特徴量１の度数分布は２つの山を持ち、例えば、実施例４で示した方法によって検索対象として指定した操作の特徴量が星★１６０４で示される値であった場合、検索対象として指定すべき操作が２つの山のどちらに属するかを指定すれば、操作の検索をより的確、効率的に行うことができる。この例では、特徴量調整１６１５によって、検索対象とする操作の特徴量１の条件を、星★１６０４の１点から、左側の山の範囲、つまり矢印１６０５で示される値、もしくは矢印１６０６で示される範囲と指定し直している。【０１０２】
例えば、特徴量２の度数分布１６２１の場合には、ほぼ均一な分布をしており、対象となる操作を絞り込む特徴量としては利用価値が低い可能性がある。このような場合には、特徴量調整１６１５によりこの特徴量の計算を止める、条件判定で利用しないなどの方法をとることが考えられる。【０１０３】
一方、特徴量３の度数分布１６２２の場合には、特徴量３はほぼ２通りの値しかとらず、両者の分離度が高い。よって、検索対象として指定する操作の特徴量３が２通りのどちらであるかを指定できれば、検索対象の操作の指定を効率化することができる。このような特徴量は利用価値が高い可能性がある。【０１０４】
このような特徴量の調整を行う処理フローを図１７に示す。【０１０５】
分析用端末装置では、ステップ８４６にて特徴量空間上での特徴量の分布を表示し、評価入力機能で、特徴量の利用の有無や判定条件を取得してこれを操作分析装置に送信する（ステップ１７５１）。評価入力機能は、例えば、図１６の特徴量調整１６１５で入力する特徴量の利用価値の有無などが挙げられる。操作分析装置では、分析用端末装置から送信された特徴量の利用有無・判定条件に応じて、操作分析装置の特徴量分析機能で実行する特徴量比較方法を変更したり（ステップ１７３２）、特徴量指定機能が特徴量計算ルール・条件判定ルールを変更してユーザ端末装置に送信したりする（ステップ１７３３）。ユーザ端末装置では、特徴量の計算や条件判定に先立って、操作分析装置から受信した特徴量計算ルール・条件判定ルールに従い、特徴量の計算方法や条件判定方法を変更する。【０１０６】
以上の処理により、特徴量の利用方法を適切に調製することができ、検索対象の操作の指定を効率化することができる。
【実施例６】
【０１０７】
別の実施例を、図１８を用いて説明する。ここでは実施例１、実施例２、実施例３、実施例４、実施例５との差分についてのみ示し、実施例１、実施例２、実施例３、実施例４、実施例５で説明した部分については省略する。【０１０８】
検索対象とする操作の指定が困難な場合がある。例えばアプリケーションそのものの使い方が分からないものの、操作に迷っているユーザを抽出したい場合が挙げられる。このような場合、操作の迷いを的確に特徴量空間上で指定できれば該当する操作を検索できるが、的確に該当する特徴量空間を指定することは困難である。そこで、初期値としては仮設により検索対象とする操作の特徴量空間を指定し、その近傍の操作を再現しつつ本来検索対象として指定したい操作を選択していくことで、問題を解決する。【０１０９】
以上の処理フローを図１８に示す。【０１１０】
分析用端末装置では、ステップ８４６で操作分析装置から特徴量の分布を受信し、結果表示／再現機能によって特徴量空間上から操作を選択して操作ログを再現する（ステップ１８５１）。評価入力機能で再現した操作ログを検索対象に該当もしくは非該当として記録し（ステップ１８５２）、これを必要に応じて繰り返す（ステップ１８５３）。このようにして検索対象として指定した操作を、検索操作指定機能で分析用端末装置から操作分析装置に対して送信する(ステップ１８５４)。【０１１１】
以上の処理により、検索対象とする操作の指定が難しい場合にも、検索対象とする操作をユーザ操作から選択して絞り込むことで、検索対象の操作の指定を容易化することができる。
【実施例７】
【０１１２】
別の実施例を、図１９〜図２２を用いて説明する。ここでは実施例１、実施例２、実施例３、実施例４、実施例５、実施例６との差分についてのみ示し、実施例１、実施例２、実施例３、実施例４、実施例５、実施例６で説明した部分については省略する。【０１１３】
検索対象の操作が、ウェブブラウザ上での操作の場合には、ウェブページにユーザ端末装置上での操作ログ取得や送信を実現するプログラムを挿入することで、ユーザ端末装置に予め操作ログの取得や送信を行うプログラムを配備しなくてもユーザ操作の検索が実現できる。これにより、ユーザ端末装置にはユーザ操作の検索を実現するためのプログラムをインストールする必要がなくなる。【０１１４】
図１９は、ウェブブラウザ上での操作に対してユーザ操作の検索を実現するシステムのハードウェア構成と、ソフトウェア構成の例を示すシステム構成図である。ハードウェアは、ユーザ端末装置１９０１、操作分析装置１９４１、分析用端末装置１９８１に加えて、ウェブサーバ装置１９２１がネットワーク１９６１で接続される構成である。なお、各装置のハードウェアは同一のハードウェアで実現されても、複数のハードウェアに分散されて構成されてもよい。【０１１５】
ウェブサーバ装置１９２１は、プロセッサ１９２３、メモリ１９２８、入出力部１９２７、ネットワークインタフェース１９２２、ローカルディスク１９２５をもつ。ただし、一部の装置ではこれらの構成要素の一部が欠けてもよい。【０１１６】
ユーザ端末装置１９０１のメモリ１９０８には、ウェブブラウザプログラム１９１１、スクリプト実行プログラム１９１２が格納されている。これらのプログラムは、プロセッサ１０３に読み込まれて実行される。【０１１７】
ウェブブラウザプログラム１９１１は、ウェブページのリクエストを送信したり、ウェブページを受信して入出力部１０２を介してウェブページを表示したりする機能を持つ。【０１１８】
スクリプト実行プログラム１９１２は、ウェブブラウザプログラム１９１１と連携して動作し、ウェブページに含まれるスクリプトコードを実行して、ウェブページの表示や動作を制御する機能を持つ。【０１１９】
操作分析装置１９４１のメモリ１９４８には、分析プログラム１９５１と挿入プログラム１９５６が格納されている。これらのプログラムは、プロセッサ１４３に読み込まれて実行される。【０１２０】
分析プログラム１９５１は図１の分析プログラム１５１と同等の機能を持つ。【０１２１】
挿入プログラム１９５６は、ウェブサーバ装置１９２１で生成されたウェブページに対して、操作記録プログラムと特徴量計算プログラムを挿入する機能を持つ。操作記録プログラム挿入コード１９５７は、ウェブブラウザ上での操作に伴い発生するイベントを記録したり、ウェブブラウザの実行環境に関する情報などを操作ログとして記録したりする機能をもったスクリプトコードをウェブページに挿入する機能を持つ。特徴量計算プログラム挿入コード１９５８は、操作ログから特徴量を計算したり、特徴量から操作ログの送信要否を条件判定したりする機能などをもったスクリプトコードをウェブページに挿入する機能を持つ。【０１２２】
分析用端末装置１９８１のメモリ１９８８には、分析インタフェースプログラム１９９１が格納されている。分析インタフェースプログラム１９９１は、プロセッサ１８３に読み込まれて実行される。【０１２３】
分析インタフェースプログラム１９９１は、図１の分析インタフェースプログラム１９１と同等の機能を持つ。【０１２４】
ウェブサーバ装置１９２１のメモリ１９２８には、ウェブサーバプログラム１９３１が格納されている。ウェブサーバプログラム１９３１は、プロセッサ１９２３に読み込まれて実行される。【０１２５】
ウェブサーバプログラム１９３１は、ウェブアプリコード１９３２に基づいて、ウェブページを生成し、ネットワーク１６１を介してウェブページを送信する。【０１２６】
本実施例における、ユーザ操作の検索処理フローを図２０により説明する。図２０以降の図においては、プログラムがプロセッサ上で実行されている状態をモジュールと呼ぶ。つまり、ウェブブラウザプログラム１９１１がプロセッサ上で実行されている状態がウェブブラウザモジュール２０１１であり、スクリプト実行プログラム１９１２がプロセッサ上で実行されている状態がスクリプト実行モジュール２０１２であり、分析プログラム１９５１がプロセッサ上で実行されている状態が分析モジュール２０５１であり、挿入プログラム１９５６がプロセッサ上で実行されている状態が挿入モジュール２０５６であり、分析インタフェースプログラム１９９１がプロセッサ上で実行されている状態が分析インタフェースモジュール２０９１であり、ウェブサーバプログラム１９３１がプロセッサ上で実行されている状態がウェブサーバモジュール２０３１である。【０１２７】
ユーザ端末装置１９０１のウェブブラウザモジュール２０１１からウェブページのリクエストがネットワーク１６１を経由して送信されると、ウェブサーバ装置１９２１がリクエストを受信して、ウェブサーバモジュール２０３１がウェブアプリモジュール２０３２に基づいてウェブページを生成し、レスポンスとしてネットワーク１６１を介して操作分析装置１９４１に送信される。操作分析装置１９４１では、挿入モジュール２０５６で、ウェブページに操作ログ記録プログラムと特徴量計算プログラムが挿入され、ユーザ端末装置１９０１に対してネットワーク１６１を介してレスポンスとして送信する。ユーザ端末装置１９０１では、操作分析装置１９４１で挿入された操作ログ記録プログラムがスクリプト実行モジュール２０１２上で操作ログ記録機能２０１４として実行され、同様に特徴量計算プログラムが特徴量計算機能２０１５として実行される。操作ログ記録機能２０１４と特徴量計算機能２０１５は、図２の同名の機能と同等の機能を提供する。【０１２８】
なお、図２０では、ウェブページのリクエストも操作分析装置１９４１を経由しているが、上記の通り経由しなくても良い。また、挿入モジュール２０５６がウェブサーバモジュール２０３１に含まれるなど別の構成でも良い。【０１２９】
図２１に本実施例の全体処理フローの例として、指定したウェブブラウザ上の操作を検索して操作を再現し、さらに特徴量空間で他の操作の状況を表示して、必要に応じて検索対象の操作を追加する処理のフローを示す。【０１３０】
ユーザ端末装置上のウェブブラウザモジュールがウェブページのリクエストをウェブサーバ装置に送信する（ステップ２１０３）。ウェブサーバ装置は、ウェブサーバモジュールがユーザ端末装置からウェブページのリクエストを受けると、ウェブアプリモジュールでウェブページのレスポンスを生成して操作分析装置に送信する（ステップ２１６２）。操作分析装置では、ウェブサーバ装置から受信したウェブページのレスポンスに対して、挿入モジュールが操作ログ記録プログラムと特徴量計算プログラムを挿入してユーザ端末装置に送信する（ステップ２１２２）。ユーザ端末装置では、ウェブブラウザモジュールが操作分析装置からレスポンスを受信し（ステップ２１０４）、スクリプト実行モジュールでユーザ操作などによるイベントが発生する（ステップ２１０５）。スクリプト実行モジュール上で動作している操作ログ記録機能がスクリプト実行モジュールからイベント情報を取得し（ステップ２１０６）、操作ログ生成ルールに基づき操作ログを生成しログ保存領域に保存する（ステップ２１０７）。【０１３１】
以上の処理により、ユーザ端末装置のウェブブラウザ上での操作を、ユーザ端末装置に操作ログを記録するプログラムを事前にインストールせずに操作ログを生成することができる。これによって、ユーザ端末装置からより容易に操作ログを収集することができるようになり、操作ログの検索対象にできるユーザ端末装置を増やすことができる。【０１３２】
さらに、図２２に示すように、操作分析装置の特徴量指定機能において、特徴量計算プログラム挿入機能に対して、ウェブページに挿入する特徴量計算ルール・条件判定ルールを変更する（ステップ２２３１）ことにより、ユーザ端末装置のウェブブラウザ上の操作の特徴量の計算や、操作ログの送信条件などを、ユーザ端末装置と独立して変更することができる。
【符号の説明】
【０１３３】
１０１、１９０１  ユーザ端末装置１０２、１４７、１８７、１４８７、１９２７  入出力部１０３、１４３、１８３、１４８３、１９２３  プロセッサ１０５、１４５、１８５、１４８５、１９２５  ローカルディスク１０６、１４６、１４８６  ログ保存領域１０７、１４２、１８２、１４８２、１９２２  ネットワークインタフェース１０８、１４８、１８８、１４８８、１９２８  メモリ１１１  アプリケーション実行基盤プログラム１１２  アプリケーションプログラム１１３  操作ログ取得・送信プログラム１４１、１９４１  操作分析装置１５１、１９５１  分析プログラム１５２、１９５２  ログ送受信コード１５３、１９５３  ログ保存コード１５４、１９５４  特徴量分析コード１５５、１９５５  特徴量指定コード１８１、１４８１、１９８１  分析用端末装置１９１、１４９１、１９９１  分析インタフェースプログラム１９２、１４９２、１９９２  検索操作指定コード１９３、１４９３、１９９３  結果表示／再現コード１９４、１４９４、１９９４  評価入力コード１６１  ネットワーク２１１  アプリケーション実行基盤モジュール２１２  アプリケーションモジュール２１３  操作ログ取得・送信モジュール２１４、２０１４  操作ログ記録機能２１５、２０１５  特徴量計算機能２１６、２０１６  条件判定機能２１７、２０１７  履歴管理機能２５１、２０５１  分析モジュール２５２、２０５２  ログ送受信機能２５３、２０５３  ログ保存機能２５４、２０５４  特徴量分析機能２５５、２０５５  特徴量指定機能２９１、１４９１、２０９１  分析インタフェースモジュール２９２、１４９２、２０９２  検索操作指定機能２９３、１４９３、２０９３  結果表示／再現機能２９４、１４９４、２０９４  評価入力機能３０１  アプリケーション画面７０１、１６０１  結果表示画面７５０  操作再現画面１９１１  ウェブブラウザプログラム１９１２  スクリプト実行プログラム１９２１  ウェブサーバ装置１９３１  ウェブサーバプログラム１９３２  ウェブアプリコード１９５６  挿入プログラム１９５７  操作記録プログラム挿入コード１９５８  特徴量計算プログラム挿入コード２０１１  ウェブブラウザモジュール２０１２  スクリプト実行モジュール２０３１  ウェブサーバモジュール２０３２  ウェブアプリモジュール２０５６  挿入モジュール２０５７  操作ログ記録プログラム挿入機能２０５８  特徴量計算プログラム挿入機能
【図１】
2013105128.tif 000003
【図２】
2013105128.tif 000004
【図３Ａ】
2013105128.tif 000005
【図３Ｂ】
2013105128.tif 000006
【図３Ｃ】
2013105128.tif 000007
【図４Ａ】
2013105128.tif 000008
【図４Ｂ】
2013105128.tif 000009
【図５Ａ】
2013105128.tif 000010
【図５Ｂ】
2013105128.tif 000011
【図６】
2013105128.tif 000012
【図７Ａ】
2013105128.tif 000013
【図７Ｂ】
2013105128.tif 000014
【図８】
2013105128.tif 000015
【図９】
2013105128.tif 000016
【図１０Ａ】
2013105128.tif 000017
【図１０Ｂ】
2013105128.tif 000018
【図１１】
2013105128.tif 000019
【図１２】
2013105128.tif 000020
【図１３】
2013105128.tif 000021
【図１４】
2013105128.tif 000022
【図１５】
2013105128.tif 000023
【図１６】
2013105128.tif 000024
【図１７】
2013105128.tif 000025
【図１８】
2013105128.tif 000026
【図１９】
2013105128.tif 000027
【図２０】
2013105128.tif 000028
【図２１】
2013105128.tif 000029
【図２２】
2013105128.tif 000030
【図２３】
2013105128.tif 000031
【国際調査報告】
2013105128.tif 000032
2013105128.tif 000033
2013105128.tif 000034
2013105128.tif 000035