(57)【要約】【課題】ログデータからアクセス変動異常を抽出し、異常変動の原因となったイベントの種類を推定する。【解決手段】イベント種類推定システム１は、ログデータから、サイトへのアクセス量の変動を表す時系列データを生成するログ集計部２と、時系列データから、異常変動を示す区間を抽出する乖離度テスト部３と、乖離度テスト部３で抽出された区間におけるアクセス量の変動を、波形設定部６で設定された山型波形と、通常波形と、上下波形の合成で近似するために、各波形を最適化する波形分解部７と、波形分解部７で最適化された各波形と、ルール記録部１１のルールとに基づいて、異常変動の原因となったイベントの種類を判定するイベント判定部９とを備える。【選択図】図１
2008134958.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたコンピュータにより提供される少なくとも１つのサイトに対する利用者端末からのアクセスの履歴を示すログデータから、前記サイトへのアクセス量の変動を表す実績時系列データを生成するログ集計部と、
アクセス量の基準変動を記録する基準変動記録部を参照することにより、前記ログ集計部で生成された実績時系列データから、アクセス量の変動が前記基準変動と乖離している異常変動を示す区間を抽出する乖離度テスト部と、
前記乖離度テスト部で抽出された区間の一部または全体において、開始時点から時間経過と共にアクセス量が増加傾向を示し、ピークとなる時点を境に終了時点まで減少傾向を示す変動パターンを表す山型変動時系列データを、前記実績時系列データを基に生成し、変動パターン記録部に記録する山型変動パターン設定部と、
前記乖離度テスト部で抽出された区間におけるアクセス量の変動パターンであって、異常変動を含まない通常時のアクセス量の変動パターンを表す通常変動時系列データを、前記実績時系列データを基に、または、予め記録されたデータを基に生成し、前記変動パターン記録部に記録する通常変動パターン設定部と、
前記乖離度テスト部で抽出された区間内の一部の区間においてアクセス量が上昇または下降する変動パターンを表す上下変動時系列データを、前記実績時系列データを基に生成し、前記変動パターン記録部に記録する上下変動パターン設定部と、
前記変動パターン記録部に記録された前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データが表すそれぞれの変動パターンを合成して合成変動を計算する処理と、前記ログ集計部が生成した前記変動実績データが表すアクセス量の変動のうち前記乖離度テスト部で抽出された区間におけるアクセス量の変動と、前記合成変動とを比較する処理とを、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを、前記合成変動を計算する度に更新して繰り返すことにより、前記合成変動が、前記変動実績データが表すアクセス量の変動を近似するように、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを最適化する波形分解部と、
前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データと、異常変動の原因となるイベントの種類との関係を示すルールを記録するルール記録部と、
前記波形分解部で最適化された前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データと、前記ルール記録部に記録されたルールとに基づいて、前記区間の異常変動の原因となったイベントの種類を判定するイベント判定部とを備える、イベント種類推定システム。
【請求項２】
前記乖離度テスト部で抽出された区間におけるアクセス量の変動であって、異常変動を含まない通常時のアクセス量の変動を表す通常変動データを記録する通常変動記録部と、
前記サイトの一部を構成する少なくとも１のページを複数通り抽出し、前記乖離度テスト部で抽出された区間において、抽出した複数通りのページそれぞれに対するアクセスを含むセッション群のアクセス量の変動を、複数通りのページごとに表したページ変動データを、前記ログデータを基に生成するページログ集計部と、
前記ページログ集計部で生成された前記ページ変動データが示す複数通りのページそれぞれについて、ページに対するアクセスを含むセッション群のアクセス量の変動と前記通常変動記録部に記録された前記通常変動データが示す変動とを合成した変動と、前記ログ集計部が生成した前記実績時系列データが表すアクセス量の変動のうち前記乖離度テスト部で抽出された区間におけるアクセス量の変動との相違度合いを計算し、当該相違度合いに基づいて、前記複数通りのページから対象ページを選択するセッション分離部とをさらに備え、
前記波形分解部は、前記ログ集計部が生成した実績時系列データが表すアクセス量の変動のうち、前記セッション分離部で選択された対象ページに対するアクセスを含むセッション群のアクセス量の変動と、前記合成変動とを比較する処理を繰り返すことにより、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを最適化する、請求項１に記載のイベント種類推定システム。
【請求項３】
前記サイトを構成するページのうち少なくとも一部のページについて、前記乖離度テスト部で抽出された区間における前記ページに対するアクセス量が、前記サイト全体に対するアクセス量に対して占める割合を、前記ログデータを基に、ページごとに計算する区間内構成比算出処理と、
前記乖離度テスト部で抽出された区間より前の所定区間における前記ページに対するアクセス量のサイト全体に対するアクセス量に対して占める割合を、前記ログデータを基に、ページごとに計算する前区間構成比算出処理と、
前記区間内構成比算出処理で計算された割合が、前記前区間構成比算出処理で計算された割合とを、ページごとに比較することにより、前記波形分解部の処理対象となる対象ページを選択する構成比上昇度テスト部とをさらに備え、
前記波形分解部は、前記ログ集計部が生成した実績時系列データが表すアクセス量の変動のうち、前記構成比上昇度テスト部で選択された対象ページに対するアクセスを含むセッション群のアクセス量の変動と、前記合成変動とを比較する処理を繰り返すことにより、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを最適化する、請求項１または２のいずれか1項に記載のイベント種類推定システム。
【請求項４】
山型変動パターン設定部が生成した前記山型変動時系列データが表すアクセス量の変動のピーク時点を境界として、前記乖離度テスト部で抽出された区間を分割した場合に得られる各部分区間それぞれにおいて開始されたアクセスについて、アクセスの継続時間を、前記ログデータを基に計算する滞在時間テスト部をさらに備え、
前記ルール記録部は、前記アクセスの継続時間と、異常変動の原因となるイベントの種類との関係を示す滞在時間ルールをさらに記録し、
前記イベント判定部は、滞在時間ルールと、前記滞在時間テスト部が計算したアクセスの継続時間とをさらに用いて、前記イベントの種類を判定する、請求項１に記載のイベント種類推定システム。
【請求項５】
前記山型変動パターン設定部は、前記乖離度テスト部で抽出された区間内の２つの異なる区間においてそれぞれ、開始時点から時間経過と共にアクセス量が増加傾向を示し、ピークとなる時点を境に終了時点まで減少傾向を示す変動パターンを表す山型変動時系列データを生成し、前記変動パターン記録部に記録する、請求項１に記載のイベント種類推定システム。
【請求項６】
コンピュータが備えるログ集計部が、ネットワークを介して提供される少なくとも１つのサイトに対する利用者端末からのアクセスの履歴を示すログデータから、前記サイトへのアクセス量の変動を表す実績時系列データを生成するログ集計工程と、
前記コンピュータが備える乖離度テスト部が、アクセス量の基準変動を記録する基準変動記録部を参照することにより、前記ログ集計工程で生成された実績時系列データから、アクセス量の変動が前記基準変動と乖離している異常変動を示す区間を抽出する乖離度テスト工程と、
前記コンピュータが備える山型変動パターン設定部が、前記乖離度テスト工程で抽出された区間の一部または全体において、開始時点から時間経過と共にアクセス量が増加傾向を示し、ピークとなる時点を境に終了時点まで減少傾向を示す変動パターンを表す山型変動時系列データを、前記実績時系列データを基に生成し、変動パターン記録部に記録する山型変動パターン設定工程と、
前記コンピュータが備える通常変動パターン設定部が、前記乖離度テスト工程で抽出された区間におけるアクセス量の変動パターンであって、異常変動を含まない通常時のアクセス量の変動パターンを表す通常変動時系列データを、前記実績時系列データを基に、または、予め記録されたデータを基に生成し、前記変動パターン記録部に記録する通常変動パターン設定工程と、
前記コンピュータが備える上下変動パターン設定部が、前記乖離度テスト工程で抽出された区間内の一部の区間においてアクセス量が上昇または下降する変動パターンを表す上下変動時系列データを、前記実績時系列データを基に生成し、前記変動パターン記録部に記録する上下変動パターン設定工程と、
前記コンピュータが備える波形分解部が、前記変動パターン記録部に記録された前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データが表すそれぞれの変動パターンを合成して合成変動を計算する処理と、前記ログ集計工程で生成された前記変動実績データが表すアクセス量の変動のうち前記乖離度テスト工程で抽出された区間におけるアクセス量の変動と、前記合成変動とを比較する処理とを、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを、前記合成変動を計算する度に更新して繰り返すことにより、前記合成変動が、前記変動実績データが表すアクセス量の変動を近似するように、前記前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを最適化する波形分解工程と、
前記コンピュータが備えるイベント判定部が、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データと、異常変動の原因となるイベントの種類との関係を示すルールを記録するルール記録部を参照することにより、前記波形分解工程で最適化された前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データに基づいて、前記区間の異常変動の原因となったイベントの種類を判定するイベント判定工程とを含む、イベント種類推定方法。
【請求項７】
ネットワークに接続されたコンピュータにより提供される少なくとも１つのサイトに対する利用者端末からのアクセスの履歴を示すログデータから、前記サイトへのアクセス量の変動を表す実績時系列データを生成するログ集計処理と、
アクセス量の基準変動を記録する基準変動記録部を参照することにより、前記ログ集計部で生成された実績時系列データから、アクセス量の変動が前記基準変動と乖離している異常変動を示す区間を抽出する乖離度テスト処理と、
前記乖離度テスト処理で抽出された区間の一部または全体において、開始時点から時間経過と共にアクセス量が増加傾向を示し、ピークとなる時点を境に終了時点まで減少傾向を示す変動パターンを表す山型変動時系列データを、前記実績時系列データを基に生成し、変動パターン記録部に記録する山型変動パターン設定処理と、
前記乖離度テスト処理で抽出された区間におけるアクセス量の変動パターンであって、異常変動を含まない通常時のアクセス量の変動パターンを表す通常変動時系列データを、前記実績時系列データを基に、または、予め記録されたデータを基に生成し、前記変動パターン記録部に記録する通常変動パターン設定処理と、
前記乖離度テスト処理で抽出された区間内の一部の区間においてアクセス量が上昇または下降する変動パターンを表す上下変動時系列データを、前記実績時系列データを基に生成し、前記変動パターン記録部に記録する上下変動パターン設定処理と、
前記変動パターン記録部に記録された前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データが表すそれぞれの変動パターンを合成して合成変動を計算する処理と、前記ログ集計処理で生成された前記変動実績データが表すアクセス量の変動のうち前記乖離度テスト処理で抽出された区間におけるアクセス量の変動と、前記合成変動とを比較する処理とを、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを、前記合成変動を計算する度に更新して繰り返すことにより、前記合成変動が、前記変動実績データが表すアクセス量の変動を近似するように、前記前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを最適化する波形分解処理と、
前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データと、異常変動の原因となるイベントの種類との関係を示すルールを記録するルール記録部を参照することにより、前記波形分解処理で最適化された前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データに基づいて、前記区間の異常変動の原因となったイベントの種類を判定するイベント判定処理とをコンピュータに実行させるイベント種類推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続されたコンピュータにより提供されるサイトへのアクセス履歴を示すログを解析して、サイトを提供するコンピュータの管理、運営等を支援する情報を生成するシステム、方法およびプログラムに関する。
【背景技術】
【０００２】
例えば、Ｅコマース、Ｅバンク、オンラインショッピング等のＷｅｂサイトへの利用者端末からのアクセス量は、季節変動などの長期変動だけでなく、プロモーションなどビジネス上のイベントによっても変動する。すなわち、何らかのイベントによって利用者の行動が通常時とは変化したことによりＷｅｂサイトへのアクセス量が変動することがある。例えば、企業が、Ｗｅｂサイトで提供するサービスのプロモーションを行った後には、そのＷｅｂサイトへのアクセス量が、急激に増加し、その後、次第に減少していくという現象が起きる場合がある。
【０００３】
この企業のようにＷｅｂサイトを使ってビジネスを行う者は、アクセス量の季節変動等のような長期変動の予測とともに、プロモーションなどビジネス上のイベントに起因するアクセス量の中期変動を予測することで、アクセス量に合わせてＷｅｂサイトを効率よく運営することができる。そのため、アクセス量の変動を予測する技術は非常に有効なものとなる。
【０００４】
一般に、需要予測は、過去のアクセス量変動実績から取り出した規則性や、規則性の変化の規則性を将来に援用することで行われる。イベントによる変動を予測する上では、過去のイベント生起時の事例を分析し、アクセス量変動の特徴を抽出しておくことが必要である。例えば、本出願人による先行発明（特許文献１参照）では、イベント特徴モデルと呼ぶデータベースに、過去のイベントに起因するアクセス量の時間的変動パターンと、過去のイベント情報とを保存し、予測に活用している。一般に、Ｗｅｂサイトへのアクセス量の時間的変動は、Ｗｅｂサイトのアクセスログから得られる。
【０００５】
Ｗｅｂサイトへのアクセス量は、例えば、ページ参照数、セッション数、セッション開始数等で表される。ページ参照数は、Ｗｅｂサイトを構成するページのうち主要なページに対する利用者端末からの参照数である。セッションとは、同一利用者端末（同一ホスト）からの連続したアクセスの系列である。すなわち、同一の利用者端末からの一連のアクセスは１つのセッションとして扱われる。なお、同一利用者端末からのアクセス間隔が一定時間（例えば３０分）以上開いた場合には、その一定時間の前のアクセスと、後のアクセスとは別のセッションとみなされる。
【０００６】
Ｗｅｂサイトのアクセスログとしては、現時点では、ＨＴＴＰ(HyperText Transfer Protocol)による通信のログが保存されることが多い。一般に、ＨＴＴＰログは、１行に１つのアクセスに関する情報が記録される。その場合、各行にそのアクセスのセッションを識別するセッションＩＤが付与されることがある。セッション数とは、所定時間内のユニークなセッションの数である。例えば、ＨＴＴＰログにおける所定時間内のユニークなセッションＩＤの数をカウントすることによりセッション数を取得することができる。これに対して、セッション開始数とは、所定時間内に新たに開始されたセッションの数である。
【０００７】
このようなＷｅｂサイトのアクセスログ自体には、その時にどんなイベントが起きていたかは保存されていない。このため、上記先行発明では、Ｗｅｂサイトに関連するイベント情報は、別途外部から入力される構成となっている。すなわち、ＷｅｂサイトのアクセスログはＷｅｂサーバの機能により簡単に蓄積されるが、Ｗｅｂサイトへのアクセスの特徴的な変動の原因となったイベントの情報について、アクセスログと関連づけて記録するための手段は存在しなかった。また、Ｗｅｂサーバに蓄積されたログからイベントの種類を推定するシステムも従来存在しなかった。このため、Ｗｅｂサイトのアクセスログが入手できても、対応するイベント実施履歴が入手できない場合は、アクセス量の変動実績データを予測に活用することができない場合が少なくなかった。
【０００８】
一方、ログを分析し、アクセス変動の異常を検出する異常検出手法は既に多数存在する（例えば、非特許文献１参照）。非特許文献１には、異常検出手法として３つの手法が記されている。これらの手法は、アクセス数変動の異常を検出するに留まり、その原因の特定を行うものではない。
【０００９】
また、異常検出に加えて、異常値の推移を予測するシステムも開示されている（例えば、特許文献２参照）。特許文献２には、ネットワーク機器等のログから、イベント記録数の異常値を算出し、今後の異常値の推移をベイズ推論に基づき予測する処理が記載されている。特許文献２における「イベント」は、例えば、ＨＴＴＰ  Ｐｏｒｔ  Ｐｒｏｂｅ、Ｓｍｕｒｆ  Ａｔｔａｃｋなどのように、特定の項目が記載されたログ内のパラメタのことである。これは、本発明におけるイベントとは異なる。本発明におけるイベントは、ログデータに表されるアクセス量の特徴的な変動を引き起こす原因となるイベント（例えば、プロモーション、Ｗｅｂサイトによる広告、テレビによるＣＭ、街頭キャンペーン等）を意味する。特許文献２では、同じイベントという言葉が記載されているものの、利用者の行動変化の原因となるイベントの種類を推定する処理は記載されていない。
【００１０】
また、従来から、Ｗｅｂサーバのログを分析する多数の商用製品が存在している（例えば、非特許文献２参照）。非特許文献２には、Urchin、SiteCatalyst などのログ解析ツールが紹介されている。これらのログ解析ツールには、広告による来訪者数の変化、あるページを参照した利用者が購入にいたる確率、アクセス数の時間遷移等を集計、可視化する機能を有する。しかしながら、これらのログ解析ツールは、ログから過去に行われたイベントの種類を抽出する手段は持たない。
【特許文献１】特開２００６−２６８５２９号公報
【特許文献２】特開２００５−１９６６７５号公報
【非特許文献１】山西健司、竹内純一、丸山祐子、「統計的異常検出3手法」、情報処理、情報処理学会、２００５年１月１５日発行、４６巻、１号、ｐ．３４−４０、
【非特許文献２】「アクセスログ解析ツール」、インターネットマガジン, インプレス社、２００５年１２月１日発行、2005年1２月号, p.106
【発明の開示】
【発明が解決しようとする課題】
【００１１】
そこで、本発明は、サイトに対する利用者端末からのアクセス履歴を示すログデータからアクセス変動異常を抽出し、異常変動の原因となったイベントの種類を推定することができるイベント種類推定システム、イベント種類推定方法、イベント種類推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明にかかるイベント種類推定システムは、ネットワークに接続されたコンピュータにより提供される少なくとも１つのサイトに対する利用者端末からのアクセスの履歴を示すログデータから、前記サイトへのアクセス量の変動を表す実績時系列データを生成するログ集計部と、アクセス量の基準変動を記録する基準変動記録部を参照することにより、前記ログ集計部で生成された実績時系列データから、アクセス量の変動が前記基準変動と乖離している異常変動を示す区間を抽出する乖離度テスト部と、前記乖離度テスト部で抽出された区間の一部または全体において、開始時点から時間経過と共にアクセス量が増加傾向を示し、ピークとなる時点を境に終了時点まで減少傾向を示す変動パターンを表す山型変動時系列データを、前記実績時系列データを基に生成し、変動パターン記録部に記録する山型変動パターン設定部と、前記乖離度テスト部で抽出された区間におけるアクセス量の変動パターンであって、異常変動を含まない通常時のアクセス量の変動パターンを表す通常変動時系列データを、前記実績時系列データを基に、または、予め記録されたデータを基に生成し、前記変動パターン記録部に記録する通常変動パターン設定部と、前記乖離度テスト部で抽出された区間内の一部の区間においてアクセス量が上昇または下降する変動パターンを表す上下変動時系列データを、前記実績時系列データを基に生成し、前記変動パターン記録部に記録する上下変動パターン設定部と、前記変動パターン記録部に記録された前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データが表すそれぞれの変動パターンを合成して合成変動を計算する処理と、前記ログ集計部が生成した前記変動実績データが表すアクセス量の変動のうち前記乖離度テスト部で抽出された区間におけるアクセス量の変動と、前記合成変動とを比較する処理とを、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを、前記合成変動を計算する度に更新して繰り返すことにより、前記合成変動が、前記変動実績データが表すアクセス量の変動を近似するように、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを最適化する波形分解部と、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データと、異常変動の原因となるイベントの種類との関係を示すルールを記録するルール記録部と、前記波形分解部で最適化された前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データと、前記ルール記録部に記録されたルールとに基づいて、前記区間の異常変動の原因となったイベントの種類を判定するイベント判定部とを備える。
【００１３】
ログ集計部は、ログデータからサイトに対するアクセス量の変動を表す実績時系列データを生成する。サイトに対するアクセス量の変動は、例えば、そのサイトで提供されるコンテンツに関する広告、ＣＭ、キャンペーン等のイベントによって影響を受ける。乖離度テスト部は、実績時系列データが示すアクセス量の変動が所定の基準変動から乖離している異常変動を示す区間を抽出することにより、アクセス量の変動がイベントにより影響を受けている可能性が高い区間を抽出することができる。山型変動パターン設定部は、乖離度テスト部で抽出された区間における実績時系列データが示すアクセス量の変動のうち、１つのピークを持つ山型に変動するアクセス量の成分を表す山型変動時系列データを変動パターン記録部に記録する。通常変動パターン設定部は、乖離度テスト部で抽出された区間における、通常時の変動パターンを表す通常変動時系列データを生成して記録する。上下変動パターン設定部は、乖離度テスト部で抽出された区間内の一部の区間においてアクセス量が上昇または下降する変動パターンを表す上下変動時系列データを生成して記録する。波形分解部は、これらの山型変動時系列データ、通常変動時系列データ、上下変動時系列データが示すそれぞれの変動パターンを合成した合成変動が、実績時系列データが示すアクセス量の変動を近似するように、山型変動時系列データ、通常変動時系列データ、上下変動時系列データを最適化する。これにより、実績時系列データが示すアクセス量の変動を、上記の山型変動時系列データ、通常変動時系列データ、上下変動時系列データで表すことができる。すなわち、実績時系列データが示すアクセス量の変動の特徴が、上記の各時系列データにより表される。アクセス量の変動の特徴は、その原因となるイベントの種類によって異なる傾向にあるので、イベント判定部は、波形分解部で最適化された前記各時系列データと、ルール記録部に記録されたルールとに基づいて、区間の異常変動の原因となったイベントの種類を判定することができる。その結果、ログデータから、アクセス変動異常を抽出し、異常変動の原因となったイベントの種類を推定することが可能となる。
【００１４】
本発明にかかるイベント種類推定システムは、前記乖離度テスト部で抽出された区間におけるアクセス量の変動であって、異常変動を含まない通常時のアクセス量の変動を表す通常変動データを記録する通常変動記録部と、前記サイトの一部を構成する少なくとも１のページを複数通り抽出し、前記乖離度テスト部で抽出された区間において、抽出した複数通りのページそれぞれに対するアクセスを含むセッション群のアクセス量の変動であるページ変動データを、前記ログデータを基に生成するページログ集計部と、前記ページログ集計部で生成された前記ページ変動データが示す複数通りのページそれぞれについて、ページに対するアクセスを含むセッション群のアクセス量の変動と、前記通常変動記録部に記録された前記通常変動データが示す変動とを合成した変動を、前記ログ集計部が生成した前記実績時系列データが表すアクセス量の変動のうち前記乖離度テスト部で抽出された区間におけるアクセス量の変動との相違度合いを計算し、当該相違度合いに基づいて、前記複数通りのページから対象ページを選択するセッション分離部とをさらに備えることが好ましい。前記波形分解部は、前記ログ集計部が生成した実績時系列データが表すアクセス量の変動のうち、前記セッション分離部で選択された対象ページに対するアクセスを含むセッション群のアクセス量の変動と、前記合成変動とを比較する処理を繰り返すことにより、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを最適化することが好ましい。
【００１５】
上記構成において、セッション分離部は、複数通りのページそれぞれに対するアクセスを含むセッション群のアクセス量の変動および通常変動記録部の通常変動データが表す変動を合成した変動と、実績時系列データが示すアクセス量の変動との相違度合いを計算し、当該相違度合いに基づいて、対象ページを選択する。実績時系列データが示すアクセス量の実際の変動は、通常時の変動の成分に、アクセス量が異常変動の成分を加えたものと考えられるので、ページに対するアクセスを含むセッション群のアクセス量の変動に、通常時の変動とは異なる異常変動の成分が含まれる度合いが大きくなればなるほど、前記相違度合いが小さくなる。前記相違度合いは、ページの異常変動への寄与度合いに関連する。そのため、セッション分離部は、前記相違度合いに基づいて対象ページを選択するので、アクセス量の変動が異常変動の成分に応じて対象ページとして選択される。実績時系列データが示すアクセス量の異常変動に寄与しているページが対象ページとして選択することが可能になる。波形分解部は、異常変動へ寄与している対象ページに対するアクセス量の変動を、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データの合成変動で近似するように、これらの時系列データを最適化する。イベント判定部は、このように、異常変動に寄与している対象ページに対するアクセス量の変動を近似するために最適化された各時系列データを用いて、イベントの種類を判定するので、判定精度が向上する。
【００１６】
本発明にかかるイベント種類推定システムは、前記サイトを構成するページのうち少なくとも一部のページについて、前記乖離度テスト部で抽出された区間における前記ページに対するアクセス量が、前記サイト全体に対するアクセス量に対して占める割合を、前記ログデータを基に、ページごとに計算する区間内構成比算出処理と、前記乖離度テスト部で抽出された区間より前の所定区間における前記ページに対するアクセス量のサイト全体に対するアクセス量に対して占める割合を、前記ログデータを基に、ページごとに計算する前区間構成比算出処理と、前記区間内構成比算出処理で計算された割合が、前記前区間構成比算出処理で計算された割合とを、ページごとに比較することにより、前記波形分解部の処理対象となる対象ページを選択する構成比上昇度テスト部とをさらに備えることが好ましい。前記波形分解部は、前記ログ集計部が生成した実績時系列データが表すアクセス量の変動のうち、前記構成比上昇度テスト部で選択された対象ページに対するアクセスを含むセッション群のアクセス量の変動と、前記合成変動とを比較する処理を繰り返すことにより、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを最適化することが好ましい。
【００１７】
上記構成により、構成比上昇度テスト部は、乖離度テスト部が抽出した区間におけるページに対するアクセス量のサイト全体に対するアクセス量の割合が、その区間の前の所定区間における割合に対してどの程度変化しているかによって、対象ページを選択することができる。そのため、構成比上昇度テスト部は、特にアクセスが際立って増加しているページを対象ページとして抽出することが可能になる。波形分解部は、このような特にアクセスが際立って増加しているページに対するアクセス量の変動を、前記合成変動と比較することにより、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを計算する。イベント判定部は、このような前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを基に、イベントの種類を判定するので、判定精度が向上する。
【００１８】
本発明にかかるイベント種類推定システムは、山型変動パターン設定部が生成した前記山型変動時系列データが表すアクセス量の変動のピーク時点を境界として、前記乖離度テスト部で抽出された区間を分割した場合に得られる各部分区間それぞれにおいて開始されたアクセスについて、アクセスの継続時間を、前記ログデータを基に計算する滞在時間テスト部をさらに備え、前記ルール記録部は、前記アクセスの継続時間と、異常変動の原因となるイベントの種類との関係を示す滞在時間ルールをさらに記録し、前記イベント判定部は、滞在時間ルールと、前記滞在時間テスト部が計算したアクセスの継続時間とをさらに用いて、前記イベントの種類を判定することが好ましい。
【００１９】
何らかのイベントによるアクセス量の変動がピークを持つ山型の変動を示す場合、アクセスの継続時間が、ピークの前後で異なる傾向を示す場合が多い。その異なり具合は、イベントの種類によって影響を受けやすい。滞在時間テスト部は、ピークを境に分割した各部分区間それぞれにおいて開始されたアクセスの継続時間をそれぞれ計算し、イベント判定部は、滞在時間ルールと、計算されたアクセスの継続時間をさらに用いて異常変動の原因となるイベントの種類を判定する。そのため、イベント判定部は、ピークの前後におけるアクセス継続時間の違いを考慮して、イベントの種類を判定することができる。その結果、セッション滞在時間の特徴を利用した、より精度のよいイベント種類の判定が可能になる。
【００２０】
本発明にかかるイベント種類推定システムにおいて、前記山型変動パターン設定部は、前記乖離度テスト部で抽出された区間内の２つの異なる区間においてそれぞれ、開始時点から時間経過と共にアクセス量が増加傾向を示し、ピークとなる時点を境に終了時点まで減少傾向を示す変動パターンを表す山型変動時系列データを生成し、前記変動パターン記録部に記録することが好ましい。
【００２１】
例えば、イベントの開始時および終了時にアクセス量がピークになる場合等のように、１つのイベントによってアクセス量の変動に複数のピークが生じる場合がある。上記構成において、山型変動パターン設定部は、前記乖離度テスト部で抽出された区間内の２つの異なる区間においてそれぞれ、開始時点から時間経過と共にアクセス量が増加傾向を示し、ピークとなる時点を境に終了時点まで減少傾向を示す変動パターンを表す山型変動時系列データを生成し、波形記録部に記録する。これにより、波形分解部は、２つの山型の変動が含まれる山型変動時系列データを用いて合成変動を計算する。そのため、アクセス量の変動に複数のピークが生じる変動により近い合成変動が計算される。そのため、実績時系列データが１つのイベントによってアクセス量の変動に複数のピークが生じるような変動を示す場合において、精度よくイベントの種類の判定をすることができる。
【００２２】
本発明にかかるイベント種類推定方法は、コンピュータが備えるログ集計部が、ネットワークを介して提供される少なくとも１つのサイトに対する利用者端末からのアクセスの履歴を示すログデータから、前記サイトへのアクセス量の変動を表す実績時系列データを生成するログ集計工程と、前記コンピュータが備える乖離度テスト部が、アクセス量の基準変動を記録する基準変動記録部を参照することにより、前記ログ集計工程で生成された実績時系列データから、アクセス量の変動が前記基準変動と乖離している異常変動を示す区間を抽出する乖離度テスト工程と、前記コンピュータが備える山型変動パターン設定部が、前記乖離度テスト工程で抽出された区間の一部または全体において、開始時点から時間経過と共にアクセス量が増加傾向を示し、ピークとなる時点を境に終了時点まで減少傾向を示す変動パターンを表す山型変動時系列データを、前記実績時系列データを基に生成し、変動パターン記録部に記録する山型変動パターン設定工程と、前記コンピュータが備える通常変動パターン設定部が、前記乖離度テスト工程で抽出された区間におけるアクセス量の変動パターンであって、異常変動を含まない通常時のアクセス量の変動パターンを表す通常変動時系列データを、前記実績時系列データを基に、または、予め記録されたデータを基に生成し、前記変動パターン記録部に記録する通常変動パターン設定工程と、前記コンピュータが備える上下変動パターン設定部が、前記乖離度テスト工程で抽出された区間内の一部の区間においてアクセス量が上昇または下降する変動パターンを表す上下変動時系列データを、前記実績時系列データを基に生成し、前記変動パターン記録部に記録する上下変動パターン設定工程と、前記コンピュータが備える波形分解部が、前記変動パターン記録部に記録された前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データが表すそれぞれの変動パターンを合成して合成変動を計算する処理と、前記ログ集計工程で生成された前記変動実績データが表すアクセス量の変動のうち前記乖離度テスト工程で抽出された区間におけるアクセス量の変動と、前記合成変動とを比較する処理とを、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを、前記合成変動を計算する度に更新して繰り返すことにより、前記合成変動が、前記変動実績データが表すアクセス量の変動を近似するように、前記前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを最適化する波形分解工程と、前記コンピュータが備えるイベント判定部が、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データと、異常変動の原因となるイベントの種類との関係を示すルールを記録するルール記録部を参照することにより、前記波形分解工程で最適化された前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データに基づいて、前記区間の異常変動の原因となったイベントの種類を判定するイベント判定工程とを含む。
【００２３】
本発明にかかるイベント種類推定プログラムは、ネットワークに接続されたコンピュータにより提供される少なくとも１つのサイトに対する利用者端末からのアクセスの履歴を示すログデータから、前記サイトへのアクセス量の変動を表す実績時系列データを生成するログ集計処理と、アクセス量の基準変動を記録する基準変動記録部を参照することにより、前記ログ集計部で生成された実績時系列データから、アクセス量の変動が前記基準変動と乖離している異常変動を示す区間を抽出する乖離度テスト処理と、前記乖離度テスト処理で抽出された区間の一部または全体において、開始時点から時間経過と共にアクセス量が増加傾向を示し、ピークとなる時点を境に終了時点まで減少傾向を示す変動パターンを表す山型変動時系列データを、前記実績時系列データを基に生成し、変動パターン記録部に記録する山型変動パターン設定処理と、前記乖離度テスト処理で抽出された区間におけるアクセス量の変動パターンであって、異常変動を含まない通常時のアクセス量の変動パターンを表す通常変動時系列データを、前記実績時系列データを基に、または、予め記録されたデータを基に生成し、前記変動パターン記録部に記録する通常変動パターン設定処理と、前記乖離度テスト処理で抽出された区間内の一部の区間においてアクセス量が上昇または下降する変動パターンを表す上下変動時系列データを、前記実績時系列データを基に生成し、前記変動パターン記録部に記録する上下変動パターン設定処理と、前記変動パターン記録部に記録された前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データが表すそれぞれの変動パターンを合成して合成変動を計算する処理と、前記ログ集計処理で生成された前記変動実績データが表すアクセス量の変動のうち前記乖離度テスト処理で抽出された区間におけるアクセス量の変動と、前記合成変動とを比較する処理とを、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを、前記合成変動を計算する度に更新して繰り返すことにより、前記合成変動が、前記変動実績データが表すアクセス量の変動を近似するように、前記前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データを最適化する波形分解処理と、前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データと、異常変動の原因となるイベントの種類との関係を示すルールを記録するルール記録部を参照することにより、前記波形分解処理で最適化された前記山型変動時系列データ、前記通常変動時系列データおよび上下変動時系列データに基づいて、前記区間の異常変動の原因となったイベントの種類を判定するイベント判定処理とをコンピュータに実行させる。
【発明の効果】
【００２４】
本発明によれば、サイトに対する利用者端末からのアクセス履歴を示すログデータからアクセス変動異常を抽出し、異常変動の原因となったイベントの種類を推定することができるイベント種類推定システム、イベント種類推定方法、イベント種類推定プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２５】
（第１の実施形態）
図１は、本実施形態にかかるイベント種類推定システム１の構成を示す機能ブロック図である。図１に示すイベント種類推定システム１は、Ｗｅｂサイトへのアクセス履歴を示すログデータを記録するＷｅｂアクセスログ記録部１０に接続されている。イベント種類推定システム１は、Ｗｅｂアクセスログ記録部１０から読み込んだログデータからアクセス変動異常を抽出し、異常変動の原因となったイベントの種類を推定するシステムである。
【００２６】
図１に示すイベント種類推定システム１は、ログ集計部２、乖離度テスト部３、構成比上昇度テスト部４、セッション分離部５、波形設定部６、波形分解部７、滞在時間テスト部８、イベント判定部９、通常変動生成部１４、基準変動生成部１５、ルール記録部１１、波形記録部１２、通常変動記録部１３、基準変動記録部１６を備える。ログ集計部２には、ページログ集計部２１が含まれる。波形設定部６には、上下波形設定部６１、通常波形設定部６２、山型波形設定部６３が含まれる。
【００２７】
ログ集計部２は、Ｗｅｂアクセスログ記録部１０に記録されたＷｅｂサイトへのアクセス履歴を示すログデータを読み込み、Ｗｅｂサイトへのアクセス量の変動を表す実績時系列データを生成する。
【００２８】
乖離度テスト部３は、ログ集計部２が生成した実績時系列データから、異常変動を示す区間（以下、異常変動区間と称する）を抽出する。乖離度テスト部３は、異常変動を抽出する際、基準変動記録部１６に記録された基準変動を参照する。ここで、基準変動として、例えば、アクセス量の平均的な変動を表すデータが採用される。この基準変動は、基準変動生成部１５が、Ｗｅｂアクセスログ記録部１０のログデータを基に計算して、基準変動記録部１６へ記録する。なお、基準変動は、必ずしもログデータを基に計算されたものである場合に限られない。例えば、予め記録された固定値が基準変動として、基準変動記録部１６に記録されていてもよいし、ログ集計部２が生成した実績時系列データから基準変動生成部１５が平均的な変動を示すデータを生成して基準変動記録部１６に記録してもよい。
【００２９】
構成比上昇度テスト部４は、特にアクセスが際立って増加している少なくとも１つのページのＵＲＬを抽出する。このとき、構成比上昇度テスト部４は、Ｗｅｂアクセスログ記録部１０のログデータを、ログ集計部２を介して受け取り、ＵＲＬの抽出処理に用いる。
【００３０】
セッション分離部５は、構成比上昇度テスト部４で抽出されたＵＲＬから、さらに、実績時系列データが示す異常変動区間におけるアクセス量の異常変動に最も寄与しているページまたはページの集合のＵＲＬをセッション群の変動を基に抽出する。この抽出を行うために、セッション分離部５は、ログ集計部２からＷｅｂサイト内の特定のページへのアクセスを含むセッション群のアクセス量変動をページごとに表したページ変動データを受け取って使用する。ページ変動データは、ページログ集計部２１が生成する。
【００３１】
また、上記抽出にあたって、セッション分離部５は、通常変動記録部１３に記録された通常変動を参照する。通常変動は、異常変動を含まない通常時のアクセス量の変動である。通常変動生成部１４が、ログ集計部２が生成した実績時系列データを基に、通常変動を生成し、通常変動記録部１３へ記録する。通常変動は、例えば、実績時系列データから、乖離度テスト部３が日単位で抽出した異常変動区間（すなわち、「異常日」）を除外し、平均をとることで得られる。なお、通常変動は、必ずしも実績時系列データを基に計算されたものである場合に限られない。例えば、予め記録された固定値が通常変動として、通常変動記録部１３に記録されていてもよい
波形設定部６は、ログ集計部２で生成された実績時系列データが示す異常変動区間におけるアクセス量の変動を近似するためのアクセス量の変動パターンを複数設定する。設定されるアクセス量の変動パターンには、山型変動パターン、通常変動パターン、上下変動パターンが含まれる。これらの変動パターンは、アクセス量の時系列データで表される。以下では、変動パターンを「波形」と称して説明する。すなわち、山型の変動パターンを山型波形、通常変動パターンを通常変動波形、上下変動パターンを上下変動波形と称する。
【００３２】
山型波形設定部６３は、実績時系列データを基に山型波形を生成し波形記録部１２に記録する。通常波形設定部６２は、実績時系列データおよび通常変動記録部１３に記録された通常変動に基づいて、通常波形を生成し、波形記録部１２へ記録する。上下波形設定部６１は、実績時系列データを基に上下波形を生成し、波形記録部１２へ記録する。
【００３３】
波形分解部７は、波形記録部１２に記録された山型波形、通常波形、上下波形を合成した変動パターン（すなわち合成波形）で、実績時系列データで示される異常変動区間における変動を近似するように、山型波形、通常波形、上下波形を最適化する。すなわち、実績時系列データを精度よく近似するように、波形記録部１２の山型波形、通常波形、上下波形が更新される。その際、波形分解部７は、セッション分離部５で抽出されたＵＲＬへの異常変動区間におけるアクセス量変動の実績時系列データを、ログ集計部２から受け取り、その実績時系列データが示すアクセス量の変動を、上記合成波形で近似する。
【００３４】
滞在時間テスト部８は、異常変動区間を分割して得られる各部分区間について、それぞれの区間で開始されたアクセスの継続時間を、Ｗｅｂアクセスログ記録部１０のログデータを基に計算する。滞在時間テスト部８は、例えば、山型波形設定部６３によって設定された山型波形のピークを境界として分割して得られる各部分区間について、アクセス継続時間を計算する。滞在時間テスト部８は、計算したアクセスの継続時間を、イベント判定部９へ通知する。
【００３５】
イベント判定部９は、波形記録部１２に記録された山型波形、通常波形および上下波形と、滞在時間テスト部８が計算したアクセス継続時間と、ルール記録部１１に予め記録されたルールに基づいて、異常変動区間における異常変動の原因となったイベントの種類を判定する。ルール記録部１１に予め記録されるルールには、例えば、山型波形、通常波形および上下波形の構成とイベントの種類との関係、および滞在時間とイベントの種類との関係等を示すデータが含まれる。イベント判定部９が判定したイベントの種類は、処理結果として出力される。また、イベント判定部９は、例えば、乖離度テスト部３で抽出された異常変動区間や、セッション分離部５で抽出されたＵＲＬ等を処理結果に含めて出力してもよい。処理結果の出力先には、例えば、ファイル、ディスプレイ、プリンタ等（図示せず）が含まれる。
【００３６】
イベント種類推定システム１は、サーバマシン、パーソナルコンピュータ、ワークステーションなどのコンピュータ上に構築される。イベント種類推定システム１のログ集計部２、乖離度テスト部３、構成比上昇度テスト部４、セッション分離部５、波形設定部６、波形分解部７、滞在時間テスト部８、イベント判定部９、通常変動生成部１４および基準変動生成部１５のそれぞれは、１台のコンピュータ上に構成されてもよいし、複数のコンピュータに分散して構成されてもよい。また、ログ集計部２、乖離度テスト部３、構成比上昇度テスト部４、セッション分離部５、波形設定部６、波形分解部７、滞在時間テスト部８、イベント判定部９、通常変動生成部１４、基準変動生成部１５のそれぞれ機能は、コンピュータのＣＰＵが所定のプログラムを実行することによって実現される。したがって、上記各機能を実行するためのプログラムおよびプログラムを記録した記録媒体も本発明の一実施形態である。また、ルール記録部１１、波形記録部１２、通常変動記録部１３および基準変動記録部１６は、コンピュータが備えるメモリ、ハードディスク等の記録媒体により具現化される。
【００３７】
次に、イベント種類推定システム１の動作例について説明する。図２は、イベント種類推定システムの動作例を示すフローチャートである。以下、図２に示す各ステップについて詳細に説明する。
【００３８】
（Ｏｐ１：ログ集計部２の処理）
図２に示すように、まず、ログ集計部２が、Ｗｅｂアクセスログ記録部１０に記録されたログデータを読み込み、Ｗｅｂサイトへのアクセス量の変動を表す実績時系列データを生成する（Ｏｐ１）。Ｗｅｂアクセスログ記録部１０には、例えば、Ｗｅｂサーバ等により提供される少なくとも１つのＷｅｂサイトに対する利用者端末からのアクセス履歴を示すログデータが記録される。ここでは一例としてログデータがＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）ログである場合について説明する。ＷｅｂサイトのＨＴＴＰログは、通常、Ｗｅｂサイトを提供するＷｅｂサーバでログファイルとして生成される。ＨＴＴＰログには、複数のＷｅｂサイトに対するアクセス履歴が記録されてもよい。なお、１つのＷｅｂサイトは、通常、複数のサービスで構成されるので、１つのＷｅｂサイトについて、複数のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）が存在することになる。
【００３９】
ログ集計部２は、読み込んだＨＴＴＰログから、Ｗｅｂサイトへのアクセス量の変動を表す時系列データを生成する。Ｗｅｂサイトへのアクセス量は、例えば、ページ参照数、セッション数、セッション開始数等で表される。ページ参照数は、Ｗｅｂサイトを構成するページのうち主要なページに対する利用者端末からの参照数である。セッションとは、同一利用者端末（同一ホスト）からの連続したアクセスの系列である。すなわち、同一の利用者端末からの一連のアクセスは１つのセッションとして扱われる。なお、同一利用者端末からのアクセス間隔が一定時間（例えば３０分）以上開いた場合には、その一定時間の前のアクセスと、後のアクセスとは別のセッションとみなされる。一般に、ＨＴＴＰログは、１行に１つのアクセスに関する情報が記録される。その場合、各行にそのアクセスのセッションを識別するセッションＩＤが付与されることがある。セッション数とは、所定時間内のユニークなセッションの数である。例えば、ＨＴＴＰログにおける所定時間内のユニークなセッションＩＤの数をカウントすることによりセッション数を取得することができる。セッション開始数とは、所定時間内に新たに開始されたセッションの数である。なお、ページ参照数、セッション数、セッション開始数はアクセス量を表すデータの一例であり、アクセス量を表すデータは、これらに限られない。
【００４０】
ログ集計部２は、例えば、１０分間隔で、ページ参照数、セッション数、セッション開始数それぞれをＨＴＴＰログのログ行数を基に集計し、時系列に並べたデータを時系列データとして生成する。この場合、時系列データには、ページ参照数、セッション数、セッション開始数それぞれの時系列変動を表すデータが含まれる。なお、時系列データはこれに限られず、例えば、ページ参照数、セッション数、セッション開始数の合計値または平均値の時系列変動を時系列データとすることもできる。
【００４１】
図３は、ログ集計部２が生成した時系列データが示すセッション数の変動の例を３次元座標で表した図である。図３に示す３次元座標において、ｘ軸は時間（０時〜２３時）、ｙ軸は日にち（２００４／１／１〜２００４／１２／３１）、ｚ軸はセッション数を表す。図３に示す例では、０時〜２３時までのセッション数の変動を表す線が、２００４／１／１〜２００４／１２／３１の期間におけるそれぞれの日について表示されている。なお、セッション数の他、ページ参照数、セッション開始数等のアクセス量の変動の時系列データも図３と同様に３次元座標で表すことができる。
【００４２】
（Ｏｐ２：乖離度テスト部３の処理）
次に、乖離度テスト部３は、実績時系列データから、基準変動との乖離が大きい異常変動を示す区間（異常変動区間）を抽出する（図２のＯｐ２）。異常変動を示す区間は、イベントによるＷｅｂサイトへのアクセス量の変動が現れている区間である可能性が高い区間であり、例えば、Ｗｅｂサイトへのアクセス量が急増している区間等である。異常変動を示す区間は日単位で抽出されてもよいし、時間または分単位で抽出されてもよい。この異常変動区間を抽出する単位は、例えば、予め基準変動記録部１６等に記録されてもよい。以下に、一例として異常変動区間が日単位で抽出される場合の処理（すなわち、異常変動区間として、「異常日」が抽出される場合）について説明する。
【００４３】
まず、基準変動生成部１５が、基準変動を計算し、基準変動記録部１６に記録する。基準変動生成部１５は、まず、ページ参照数、セッション数、セッション開始数の３種の時系列変動に対し、１日２４時間内の１時間ごとにそれぞれの平均μ1、μ2、μ3と分散σ12、σ22、σ32を求める。１日のうちのある時間帯（例えば、１時〜２時）について、ページ参照数の平均μ1を求める場合、基準変動生成部１５は、例えば、ログデータを参照して、過去数ヶ月におけるその時間帯（１時〜２時）のページ参照数の平均を計算し、その値を平均μ1とすることができる。セッション数、セッション開始数の平均μ2、μ3も同様に計算できる。また、長期的な傾向変動や季節変動を加味した値を用いても良い。
【００４４】
次に、乖離度テスト部３は、μ1±２σ1、μ2±２σ2、μ3±２σ3を基準値とし、基準以上のページ参照数λ1、セッション数λ2、セッション開始数λ3があった時間帯をそれぞれ異常時間帯としてマークする。以下に図４を参照して、異常時間帯をマークする処理の具体例を示す。
【００４５】
図４は、ページ参照数の平均μ1およびμ1±２σ1の一例を表すグラフである。図４に示すグラフにおいて、横軸は時間、縦軸はページ参照数を表している。また線ｇは、ログ集計部２で生成された時系列データが示すページ参照数λ1の時系列変動の一例を示す。図４に示す例では、乖離度テスト部３は、この線ｇが示すページ参照数の変動が、μ1＋２σ1とμ1−２σ1とで挟まれる領域の外に出ている時間帯Ａ１、Ａ２をページ参照数の異常時間帯としてマークする。
【００４６】
次に、乖離度テスト部３は、ページ参照数、セッション数、セッション開始数それぞれについて、マークした異常時間帯における(λ1-μ1)/ σ1、(λ2-μ2)/ σ2、(λ3-μ3)/ σ3をそれぞれ算出し、これらにそれぞれ重み付け係数を掛けた値を、例えば２４時間分集計する。このようにして、ページ参照数、セッション数、セッション開始数それぞれについて集計された値を乖離度α１、α２、α３とする。乖離度テスト部３は、この乖離度の計算を時系列データが示す区間の各日について繰り返すことで、ページ参照数、セッション数、セッション開始数の３点それぞれについて、各日の乖離度α１、α２、α３を算出することができる。そして、乖離度テスト部３は、α１、α２、α３のうちいずれかの乖離度が所定の閾値(例えば０．１５)を超えた日を異常日（すなわち異常変動を示す区間）として抽出する。
【００４７】
なお、異常変動区間を抽出する処理は、上記例に限られない。乖離度テスト部３は、例えば、ある日のアクセス量を、直前７日間の平均アクセス量と比較し、差が所定値より大きい場合にその日を異常日として抽出してもよいし、１日のうちある時間帯のアクセス量の変動を、例えば、直前７日間の同一時間帯の平均アクセス量の変動と比較することにより、異常変動を示す時間帯を抽出してもよい。また、他の例として、上記非特許文献１に記載されている異常検出手法を用いて、異常変動を示す区間を抽出することもできる。
【００４８】
（Ｏｐ３：構成比上昇度テスト部４の処理）
異常変動を示す区間が抽出されると、構成比上昇度テスト部４は、実績時系列データで示されるアクセス量の変動のうち、異常変動区間において、特にアクセス量が際立って増えているページまたはページの集合のＵＲＬを、異常原因ＵＲＬ候補として抽出する（図２のＯｐ３）。構成比上昇度テスト部４は、例えば、異常変動区間におけるアクセス量と、その前の一定期間におけるアクセス量とを比較することにより、異常原因ＵＲＬ候補を抽出することができる。以下に、乖離度テスト部３で異常変動区間として異常日が抽出された場合に、その異常日において、特にアクセス量の増加が際立っている異常原因ＵＲＬ候補を抽出する処理の具体例を説明する。
【００４９】
構成比上昇度テスト部４は、乖離度テスト部３が抽出した異常日のＨＴＴＰログを参照し、出現頻度の高いＵＲＬを上位Ｎ個抽出する。構成比上昇度テスト部４は、Ｎ個のＵＲＬそれぞれについて、各ＵＲＬに対するアクセス量が、その異常日全体のアクセス量に占める割合（構成比Ａとする）を算出する。さらに、構成比上昇度テスト部４は、異常日の前日より遡り一週間分のＨＴＴＰログを参照し、前記Ｎ個のＵＲＬそれぞれの一週間分のアクセス量を計算する。異常日の前日より遡る一週間の間に異常日がある場合、その異常日は除いて一週間分（７日分）遡った分のアクセス量を計算することが好ましい。そして、構成比上昇度テスト部４は、この１週間におけるＮ個のＵＲＬそれぞれに対するアクセス量が、一週間全体のアクセス量に占める割合（構成比Ｂとする）を算出する。
【００５０】
その後、構成比上昇度テスト部４は、構成比Ａと構成比Ｂから、Ｎ個のＵＲＬそれぞれについて、構成比の上昇度合いを表す構成比上昇度Ｊを算出する。例えば、構成比上昇度Ｊ＝構成比Ａ／構成比Ｂとすることができる。Ｎ個のＵＲＬのうち、構成比上昇度Ｊが閾値より高いＵＲＬ群が、構成比上昇度テスト部４によって異常原因ＵＲＬ候補として抽出される。または、Ｎ個のＵＲＬのうち、構成比上昇度Ｊが高い上位Ｍ個分のＵＲＬ群が異常原因ＵＲＬ候補として抽出されてもよい。なお、異常原因ＵＲＬ候補を抽出する処理は、上記例に限られない。また、アクセス量として、例えば、上記のページ参照数、セッション数、セッション開始数のうちすくなくとも１つを用いることができる。
【００５１】
（Ｏｐ４：セッション分離部５の処理）
構成比上昇度テスト部４が抽出する異常原因ＵＲＬ候補には、単に利用者がサイトのトップページを参照したときにページのフレーム内に同時に表示されるＵＲＬが単に新しくなった場合等も含まれる。こういったＵＲＬは、真に来訪者を増やし異常変動に寄与しているわけではない。そこで、セッション分離部５は、イベントに特徴的なページへのアクセスを含むセッションのアクセス量を分離して解析することで、イベントによる実質的な来訪者による異常変動成分に寄与するページのＵＲＬを抽出する。
【００５２】
構成比上昇度テスト部４によって異常原因ＵＲＬ候補が抽出されると、セッション分離部５は、異常原因ＵＲＬ候補のうち、アクセス量の異常変動に寄与している可能性の高いＵＲＬ集合を異常原因ＵＲＬとして特定する（図２のＯｐ４）。この特定を行うために、セッション分離部５は、ログ集計部２のページログ集計部２１からＷｅｂサイト内のある特定のページへの前記区間におけるアクセスを含むセッション群のアクセス量変動を示すページ変動データを受け取る。アクセス量は、例えば、セッション開始数、セッション数、ページ参照数などで表される。セッション分離部５は、受け取ったページ変動データが示す前記特定のページへのアクセスを含むセッション群のアクセス量変動に、異常変動区間における通常時のアクセス量変動を重ね合わせた合成変動と、Ｗｅｂサイト全体のアクセス量変動を示す実績時系列データと比較し、誤差を計算する。
【００５３】
ここで、通常時のアクセス量変動は、イベントによる影響等がない場合の通常時の変動であり、通常変動記録部１３に記録されている。通常変動生成部１４は、ログ集計部２を介して取得したログデータを用いて、通常時のアクセス量変動を生成し、通常変動記録部１３に記録する。例えば、通常変動生成部１４は、過去１年間分の各日についてアクセス量の変動を表す時系列データを取得し、それらの各日の時系列データを平均した時系列データを１日の通常時のアクセス量変動とすることができる。なお、通常時のアクセス量変動は、必ずしもログデータを基に計算されたものである場合に限られない。例えば、予め記録された固定値が通常時のアクセス量変動として、通常変動記録部１３に記録されていてもよいし、ログ集計部２が生成した実績時系列データから通常変動生成部１４が平均的な変動を示すデータを生成して通常変動記録部１３に記録してもよい。
【００５４】
セッション分離部５は、Ｗｅｂサイト内の様々なページまたはページの集合について、ページまたはページの集合へのアクセスを含むセッション群のアクセス量変動に通常時のアクセス量変動を重ね合わせた合成変動と、Ｗｅｂサイト全体のアクセス量変動を示す実績時系列データとの誤差を計算する。セッション分離部５は、このような誤差が最も小さくページまたはページの集合のＵＲＬを異常原因ＵＲＬに特定する。これにより、アクセス量の異常変動に寄与している可能性の高いＵＲＬが異常原因ＵＲＬに特定される。その結果、イベントとは無関係に定常的に変動するアクセス量の成分を、後述する波形分解部７による処理対象から除外することができる。以下に、セッション分離部５が、異常原因ＵＲＬを特定する処理の具体例を説明する。
【００５５】
まず、セッション分離部５は、構成比上昇度テスト部４が抽出した異常原因ＵＲＬ候補であるＵＲＬの集合Ｓallから、部分集合Ｓを選択する。例えば、セッション分離部５は、集合ＳallにはＵＲＬが１０含まれている場合、その中からＬ個（Ｌは１以上１０以下の整数）のＵＲＬをランダムに選択して部分集合Ｓとする。
【００５６】
そして、セッション分離部５は、乖離度テスト部３が抽出した異常日における上記Ｌ個のＵＲＬに対するアクセスを含むセッション群のセッション数変動ａＳを、上記Ｌ個のＵＲＬに対するアクセスを含まないセッション群のセッション数変動とは分離して集計するように、ページログ集計部２１に依頼する。ページログ集計部２１は、セッション数変動ａＳをログデータを基に集計し、セッション分離部５へ通知する。
【００５７】
また、通常変動生成部１４は、ログ集計部２が通常時における１日のセッション数の変動を、ログ集計部２が集計した実績時系列データを基に生成し、通常変動記録部１３に記録する。
【００５８】
セッション分離部５は、異常日におけるＷｅｂサイト全体のセッション数変動の実績値ｙを、上記ａＳ、通常時における１日のセッション数の変動ｍ、定数ｋおよび誤差系列ｅを用いて、下記（式１）に表すことができる。なお、aS、ｍ、ｅは、例えば、ベクトルで表される。
（式１）
ｙ＝ａＳ＋ｋ・ｍ＋ｅ
【００５９】
上記（式１）は、もし、Ｌ個のＵＲＬに対するアクセスを含むセッション群のセッション数変動ａＳが、イベントによる異常変動を表すものであるとすれば、Ｗｅｂサイト全体のセッション数変動の実績ｙから、ａＳを差し引けば、通常時のセッション数変動ｍに比例した変動ｋ・ｍが残るはずであるという考えに基づいている。すなわち、ａＳがイベントによる異常変動の成分を多く含むと、Ｙ＝ａＳ＋ｋ・ｍで表されるセッション数変動のモデルＹが、実績値ｙに近づくはずである。
【００６０】
図５は、Ｙ、ａＳ、ｋ・ｍおよび実績値ｙの例を表すグラフである。図５に示すグラフにおいて、縦軸はセッション数、横軸は時間を表す。○印は実績値ｙをプロットしたものであり、グラフには、Ｙ、ａＳ、ｋ・ｍそれぞれを表す線が描かれている。図５に示すグラフは、ａＳがイベントによる異常変動の成分を多く含んでおり、セッション数変動のモデルＹ＝ａＳ＋ｋ・ｍが、実績値ｙに近くなっている状態の例である。
【００６１】
セッション分離部５は、集合ＳallからＬ個のＵＲＬの部分集合Ｓを選択する処理を、様々なＬ個のＵＲＬの組み合わせについて行い、それぞれの組み合わせてについて、上記（式１）の誤差ｅの二乗和を計算する。そして、セッション分離部５は、誤差ｅの二乗和が最小となる部分集合Ｓ*を、異常原因ＵＲＬとして特定する。すなわち、セッション分離部５は、ＵＲＬの集合Ｓallの部分集合の中から、上記（式１）の誤差ｅの二乗和が最小となる部分集合Ｓ*を抽出し、部分集合Ｓ*に含まれるＬ個のＵＲＬを異常原因ＵＲＬと特定する。これにより、セッション分離部は、通常の変動を明確に分離された、イベントによる異常変動の成分を抽出することが可能になる。なお、上記（式１）は一種の回帰モデルである。
【００６２】
なお、セッション分離部５が、異常変動ＵＲＬを特定する処理は、上記例に限られない。例えば、上記例におけるセッション数の代わりに、ページ参照数、セッション開始数等が用いられてもよい。
【００６３】
上記のＯｐ３の構成比上昇度テスト部４による処理および、Ｏｐ４のセッション分離部５による処理は、後述する波形分解部７での処理対象となるデータを絞りこむための前段階の処理である。
必要に応じてＯｐ３を省略して、すべてのＵＲＬをＳallとしてＯｐ４の処理を行ってもよい。また、必要に応じてＯｐ３とＯｐ４の双方を省略して、すべてのＵＲＬを異常原因ＵＲＬとみなしてＯｐ５の処理を行ってもよい。
【００６４】
なお、本実施形態のように構成比上昇度テスト部４を、セッション分離部５と併用し、セッション分離部５の前段階で用いた場合には、セッション分離部５は、特にアクセスが際立って増加しているページを対象に、ページの異常変動への寄与度合いを求めることになる。これにより、セッション分離部５においては、Ｗｅｂサイトに含まれるページ全てに対するアクセス量の変動について処理する場合に比べて計算量が軽減する。
【００６５】
（Ｏｐ５：波形設定部６の処理）
セッション分離部５で、異常原因ＵＲＬ  Ｓ*が特定されると、波形設定部６が、異常原因ＵＲＬ  Ｓ*に対するアクセスを含むセッション群のアクセス量変動を集計するように、ページログ集計部２１に依頼する。ページログ集計部２１は、異常原因ＵＲＬ  Ｓ*に対するアクセスを含むセッション群のアクセス量変動を、ログデータを基に集計し、実績時系列データとして、波形設定部６へ通知する。アクセス量は、例えば、セッション開始数、セッション数、ページ参照数などで表される。
波形設定部６は、異常原因ＵＲＬに対するアクセスを含むセッション群のアクセス量の変動を近似するための複数の波形を設定する（図２のＯｐ５）。複数の波形には、山型波形、通常波形、上下波形が含まれる。
【００６６】
山型波形は、異常変動区間の一部または全体において、開始時点から時間経過と共にアクセス量が増加傾向を示し、ピークとなる時点を境に終了時点まで減少傾向を示す変動パターンの時系列データで表される。なお、山型波形において、ピークまでの増加区間では、必ずしも単調増加である必要はなく、局所的に減少する区間があってもよい。ピーク後の減少区間でも同様に、局所的に増加する区間があってもよい。
【００６７】
通常波形は、異常変動区間におけるアクセス量の変動パターンであって、異常変動を含まない通常時のアクセス量の変動パターンの時系列データで表される。
【００６８】
上下波形は、異常変動区間内の一部の区間においてアクセス量が上昇または下降する変動パターンの時系列データで表される。上下波形には、上昇波形と下降波形とが含まれる。上昇波形は、例えば、ある時点において階段状に上昇する変動パターンである。下降波形は、例えば、ある時点において階段状に下降する変動パターンである。
【００６９】
以下に、波形分解部７の処理の具体例を説明する。下記の具体例は、乖離度テスト部３が異常変動を示す区間として異常日を抽出した場合（日単位で抽出した場合）の例とする。図６は、山型波形と、定常的な変動を表す通常波形と、ある時点を境に階段状に上昇する上昇波形の例を示す図である。図６に示す上段、中段、下段のグラフそれぞれにおいて、横軸は１日分（０時０分から２３時５９分）までの時間、縦軸はアクセス量を表す。図６の上段のグラフは、山型波形設定部６３が設定する山型波形の例を示すグラフである。線ｗは、Ｔｐにピークを持つ山型波形を表す。本実施形態では、一例として、山型波形を、ロジスティック分布の密度関数ｌｏｇｉｓ（ｔ）で表す場合について説明する。ロジスティック分布の密度関数ｌｏｇｉｓ（ｔ）は、下記（数１）で表される関数である。
【００７０】
【数１】
2008134958.tif 000003
【００７１】
上記（数１）において、ｓは急峻度であり、Ｔｐはピークに達する時点Ｔｐである。また、上記（数１）に示すロジスティック分布の密度関数は、−∞〜＋∞における積分値が１になる関数である。ロジスティック分布の密度関数において、ｓを小さくする、すなわち、ロジスティック分布の密度関数が表す曲線を、急峻なピークを有する形にすると、面積を１に保つためにピークの高さが高くなる。逆に、ｓを大きくする、すなわち、ロジスティック分布の密度関数が表す曲線を、なだらかなピークを有する形にすると、面積を１に保つためにピークの高さが低くなる。図６の上段のグラフにおいて、線ｗａ、線ｗｂは、線ｗが示すロジスティック分布の密度関数ｌｏｇｉｓ（ｔ）の急峻度ｓをそれぞれ異なる値に変えた場合の山型波形を示している。
【００７２】
山型波形設定部６３は、ロジスティック分布の密度関数のピークの時点Ｔｐおよび、急峻度ｓを、実績時系列データを基に決定する。例えば、山型波形設定部６３は、実績時系列データが示す異常変動区間におけるアクセス量の変動において、現れる山型の変動パターンに応じて、ピークの時点Ｔｐおよび急峻度ｓを計算する。以下に山型波形のピークの位置を計算する処理の一例を説明する。
【００７３】
実績時系列データで示されるアクセス量の変動であって、セッション分離部５で特定された異常原因ＵＲＬへのアクセスを含むセッション群のアクセス量の異常日における変動を表す実績時系列をｅｖｅｎｔ（ｔ）とし、１日のアクセス量変動の年平均を取った平均時系列をａｖｅ（ｔ）とする。山型波形設定部６３は、実績時系列を平均時系列で割った実質時系列[ｅｖｅｎｔ（ｔ）／ａｖｅ（ｔ）]を計算する。山型波形設定部６３は、この実質時系列において、アクセス量が最も多い時点をピーク時点Ｔｐに決定することができる。あるいは、山型波形設定部６３は、この実質時系列において、アクセス量の多い上位Ｎ時点を、ピーク時点Ｔｐとして、Ｎ通りのピーク時点を設定してもよい。
【００７４】
ピーク時点が決定すると、山型波形設定部６３は、上記実質時系列においてピーク時点Ｔｐの前におけるアクセス量の増加度合い、およびピーク時点Ｔｐの後におけるアクセス量の減少度合いに基づいて、急峻度ｓを決定してもよい。急峻度ｓも、ピーク時点と同様にＭ通り設定してもよい。なお、ピーク時点ＴｐがＮ通り、急峻度ｓがＭ通り設定されると、山型波形を表すｌｏｇｉｓ（ｔ）は、Ｎ×Ｍ通り設定されることになる。この場合、波形分解部７は、Ｎ×Ｍ通りの山型波形それぞれについて、後述する最適化処理を行い、最もよい結果が得られた山型波形のピーク時点と急峻度を求めることができる。
【００７５】
なお、山型波形のピーク時点および急峻度を決定する方法は、上記の例に限られない。また、ロジスティック分布の密度関数は、山型波形を表す関数の一例であり、山型波形は、ロジスティック分布の密度関数に限られない。例えば、正規分布の密度関数を用いてもよい。
【００７６】
図６の中段のグラフは、通常時のアクセス量の変動を表す通常波形の例を示すグラフである。線ａｖが通常波形を表す。通常波形設定部６２は、通常変動記録部１３に記録された通常時のアクセス量変動を基に、通常波形を生成することができる。通常波形設定部６２は、例えば、１日分のアクセス量変動を、１年分の日について平均した時系列を、合計が１になるように正規化した時系列関数 ａｖｅｒａｇｅ（ｔ）を、通常波形として生成する。
【００７７】
図６の下段のグラフは、上昇波形の例を示すグラフである。線ｋが上昇波形を表す。上下波形設定部６１は、線ｋのように、例えば、線ａｖで示されるａｖｅｒａｇｅ（ｔ）において、線ｗで示される山型波形のピークの時点Ｔｐより後を０とした時系列関数ｐａｒｔ（ｔ）を、上昇波形として設定することができる。
【００７８】
なお、下降波形は、通常波形を表す関数ａｖｅｒａｇｅ（ｔ）と上昇波形を表す関数ｐａｒｔ（ｔ）との差分｛ａｖｅｒａｇｅ（ｔ）―ｐａｒｔ（ｔ）｝により表すことができる。以下では、上昇波形のみを用いる場合について説明する。
【００７９】
上昇波形および下降波形の設定方法は、上記例に限られない。例えば、上下波形設定部６１は、実績時系列データが表す異常日のアクセス量の変動に応じて、上昇波形または下降波形を生成してもよい。例えば、上下波形設定部６１は、実績時系列データが表す異常日のアクセス量の変動において、一定値より大きな傾きで増加している区間を抽出し、その区間の傾きに応じた上昇波形を生成してもよい。
【００８０】
また、上昇波形および下降波形において、階段状に上昇または下降する箇所は、線ｋのように、必ずしも、垂直に変化する必要はない。例えば、ある程度傾きを持って上昇または下降する形でもよいし、複数の段差を有する階段状に上昇または下降する形でもよい。      
【００８１】
（Ｏｐ６：波形分解部７の処理）
波形設定部６によって、山型波形、通常波形、上下波形が生成され、波形記録部１２に記録されると、波形分解部７は、これらの波形それぞれに係数を掛けた波形を重ね合わせた合成波形を生成し、その合成波形と、実績時系列データが示す、異常原因ＵＲＬへのアクセスを含むセッション群のアクセス量の変動との二乗誤差を計算する。波形分解部７は、二乗誤差が最小となるような各波形の係数を計算する。これにより、合成波形が、実績時系列データが示すアクセス量の変動を近似するように、山型波形、通常波形、上下波形が最適化される（図２のＯｐ６）。本実施形態では、波形分解部７は、異常原因ＵＲＬへのアクセスを含むセッション群のアクセス量の変動を近似するため山型波形、通常波形、上下波形の各成分の最適値を計算する。以下、その具体例を説明する。
【００８２】
実績時系列データが示すアクセス量の変動であって、セッション分離部５で特定された異常原因ＵＲＬへのアクセスを含むセッション群のアクセス量の異常日における変動を実績値ｙ（ｔ）とする。波形分解部７は、上記の関数ｌｏｇｉｓ（ｔ）、ａｖｅｒａｇｅ（ｔ）およびｐａｒｔ（ｔ）で表される波形を合成した合成波形で、実績値ｙ（ｔ）を近似する。合成波形をＹ（ｔ）とすると、波形分解部７は、例えば、下記（式２）のように係数ａ、ｂ、ｃ、ｄを用いて、関数ｌｏｇｉｓ（ｔ）、ａｖｅｒａｇｅ（ｔ）、ｐａｒｔ（ｔ）を合成した合成波形Ｙ（ｔ）を計算することができる。
（式２）
Y(t) = a * logis(t) + b * average(t) + c * part(t) + d
上記（式２）において、係数ａ、ｂ、ｃは、それぞれ山型波形、通常波形、上昇波形の成分を表す値である。波形分解部７は、実績値ｙ（ｔ）を用いて、上記（式２）で表されるＹ（ｔ）に対して回帰分析を行い、実績値ｙ（ｔ）とＹ（ｔ）の二乗誤差が最小になる係数ａ、ｂ、ｃ、ｄを計算する。これにより、山型波形、通常波形、上昇波形の各波形の成分が計算される。波形分解部７は、計算したａ、ｂ、ｃ、ｄの値をイベント判定部９へ通知する。
【００８３】
図７は、山型波形、通常波形、および上昇波形を合成した合成波形と、実績値との例を示すグラフである。図７に示すグラフにおいて、横軸は時間、縦軸はアクセス量を表す。○印は、実績値ｙ（ｔ）をプロットしたものである。線ｗ、線ａｖ、線ｋはそれぞれ、図６に示す関数ｌｏｇｉｓ（ｔ）、ａｖｅｒａｇｅ（ｔ）およびｐａｒｔ（ｔ）で表される波形を示す。線ｈは、これらの３つの関数で表される波形を合成した合成波形（Ｙ（ｔ））を示す。
【００８４】
なお、山型波形設定部６３が、例えば、Ｎ通りのピーク時点、およびＭ通りの急峻度を組み合わせたＮ×Ｍ通りの山型波形の関数ｌｏｇｉｓ（ｔ）を設定していた場合、波形分解部７は、Ｎ×Ｍ通りの関数ｌｏｇｉｓ（ｔ）それぞれについて、上記（式２）を用いた回帰分析を行い、最適な関数ｌｏｇｉｓ（ｔ）を選んでもよい。その場合、波形分解部７は、最適な山型波形の関数ｌｏｇｉｓ（ｔ）におけるピーク時点Ｔｐおよび急峻度ｓも、各波形の成分を表す値（上記係数ａ、ｂ、ｃ、ｄ）とともに、イベント判定部９へ通知する。  なお、山型波形、通常波形、および上昇波形の最適化の処理は、上記例に限られない。上記例では、回帰分析が用いられているが、その他に例えば、遺伝アルゴリズム、モンテカルロ法等を用いて、山型波形、通常波形、および上昇波形を最適化することもできる。
【００８５】
（Ｏｐ７：滞在時間テスト部８の処理）
滞在時間テスト部８は、波形分解部７が計算した山型波形のうち、ピーク位置より前の部分、（以下、前半部分と称する）およびピーク位置より後の部分（以下、後半部分）のそれぞれの時間帯について、セッション滞在時間の分布を計算する（図２のＯｐ７）。セッション滞在時間とは、同一利用者端末からの一連のアクセスであるセッションの開始から終了までの時間である。
【００８６】
滞在時間テスト部８は、前半部分で開始された全てのセッションの滞在時間を示すデータと、後半部分で開始された全てのセッションの滞在時間を示すデータとを、ログ集計部２を通じて別々に取得する。取得した滞在時間を示すデータは、イベント判定部９へ通知される。なお、滞在時間テスト部８は、山型波形の開始時点前の時間帯と、山型波形の終了時点の後の時間帯についても、それぞれ滞在時間の分布を計算してもよい。
【００８７】
（Ｏｐ８：イベント判定部９の処理）
イベント判定部９は、波形分解部７が計算した山型波形、通常波形、上下波形の各成分を示す値と、ルール記録部１１に記録されたルールとに基づいて、以上変動区間において見られる異常変動の原因となったイベントの種類を特定する（図２のＯｐ８）。ルール記録部１１に記録されるルールは、例えば、各成分の構成とイベント種類との関係を表すデータである。
【００８８】
ルール内容の一例として、「上昇波形が顕著に見られれば、サイト内部のイベントである。」、「上昇波形が見られなければサイト外部のイベントである。」、「上昇波形があり、かつ山型波形があれば、予告されたイベントである。」「上昇波形があり、山型波形がなければ、予告されていないイベントである。」といった内容が挙げられる。これらのルールの内容は、経験則に基づいて導き出すことができる。例えば、サイト内でＷｅｂキャンペーン等のイベントが行われた場合、イベント開始時間以降の上昇波形が見られるはずであり、一方、街頭広告やコンサート等の外部のイベントが起きた場合に、上昇波形が起きることは考えにくいといった経験則から上記のルールを導き出すことができる。
【００８９】
図８は、ルール記録部１１に記録されるルールを表すデータの一例を示す図である。図８に示す例では、ルールとして、山型波形、通常波形、上下波形の各成分の構成の条件を示すデータと、その条件を満たす場合に特定されるイベントの種類とを対応付けて記録される。山型波形、通常波形、上下波形の各成分の構成は、例えば、上記（式２）における係数ａ、ｂ、ｃを用いて表すことができる。
【００９０】
図８に示す例では、「上昇波形が見られない」という条件は、上記（式２）における、上昇波形の関数ｐａｒｔ（ｔ）の係数ｃと、通常波形の関数ａｖｅｒａｇｅ（ｔ）の係数ｂと閾値を表す定数Ｃmaxとを用いて、（ｃ／ｂ）＞Ｃmaxという式で表される。同様に、「上昇波形があり、かつ山型波形がある」という条件は、上記（式２）における係数ａ、ｂ、ｃと、閾値を表す定数Ｃave、Ａaveとを用いて、「（ｃ／ｂ）＞Ｃaveかつ（ａ／ｂ）＞Ａave」で表される。なお、ルールを表すデータは、図８に示すデータに限られない。
【００９１】
イベント判定部９は、波形分解部７から通知された係数ａ、ｂ、ｃ、ｄが、ルール記録部１１に記録されたルールの条件を満たすか否かを判定することにより、イベントの種類を特定することができる。例えば、イベント判定部９は、図８に示すルールを参照して、波形分解部７から通知された係数ｂ、ｃが、（ｃ／ｂ）＞Ｃmaxの関係を満たす場合、イベント判定部９が、イベントの種類は内部イベントであると判定する。さらに、係数ａ、ｂ、ｃが、（ｃ／ｂ）＞Ｃaveかつ（ａ／ｂ）＞Ａaveを満たす場合は、イベント判定部９は、イベントの種類は、予告されたイベントであると判定する。この場合、イベント判定部９により特定されるイベントの種類は、「内部イベントであり、かつ、予告されたイベント」となる。
【００９２】
このように、イベント判定部９は、波形分解部７で計算された上昇波形を基に、乖離度テスト部３で抽出された区間において見られる異常変動の原因となったイベントの種類が内部イベントであるか外部イベントであるかを判断できる。また、波形分解部７で計算された山型波形と上昇波形を基に、異常変動の原因となったイベントの種類が予告されたイベントであるか否かを判断することができる。従来のＷｅｂログ解析ツールでは、異常変動を検出しても、その異常変動の原因が内部イベントか外部イベントか、または予告されたものか否か等を特定できなかった。イベント種類推定システム１においては、イベント判定部９が波形分解部７の結果を用いて行う上記の処理により、それが可能になる。
【００９３】
また、ルール記録部１１に記録されるルール内容の他の例として、「山型波形の前半部分で開始されたセッションの滞在時間の平均値が、山型波形の後半部分で開始されたセッションの滞在時間の平均値より所定時間以上長ければ、ＢＢＳ等の人が集うサービスへのアクセス集中であり、そうでなければ、情報提供系サービスへの集中である」といった内容が挙げられる。
【００９４】
イベント判定部９は、滞在時間テスト部８で計算された滞在時間を、このようなルールに適用することにより、イベントの種類を特定することができる。すなわち、イベント判定部９は、山型波形設定部６３で計算された山型波形のピーク時点を境として分割された時間帯ごとの滞在時間分布の特徴を比較することにより、滞在時間の特徴を利用したイベントの推定が可能になる。なお、従来技術では、滞在時間の分布を集計することはできても、山型波形の前半部分と後半部分のセッションの滞在時間の長さの違いを利用したイベントの推定ができなかった。
【００９５】
なお、図８に示したルールおよび上記のイベントの種類の判定方法は、一例であって、ルールおよびイベント種類の判定方法は、これに限られない。例えば、ルールに、山型波形のピーク時点、急峻度等が含まれてもよい。
【００９６】
（第２の実施形態）
本実施形態は、上記第１の実施形態における波形分解部７が、さらに機能を備える形態である。本実施形態にかかる波形分解部７は、上記第１の実施形態におけるＯｐ５に相当する処理を行った後、よい結果が得られない場合に、新たな処理をさらに行う形態である。波形分解部７の他の機能ブロックの処理は、第１の実施形態と同様である。
【００９７】
例えば、イベントの開始時および終了時に対応してアクセス量がピークになる場合等のように、１回のイベントによってアクセス量の変動に複数のピークが生じる場合がある。このようなアクセス量の変動が、波形分解部７の処理で扱われる実績値ｙ（ｔ）になった場合、波形分解部７が、上記（式２）で計算する合成波形Ｙ（ｔ）と実績値ｙ（ｔ）との二乗誤差が最小になるような係数ａ、ｂ、ｃ、ｄを計算したとしても、その二乗誤差は一定値より小さくならない場合がある。
【００９８】
そこで、本実施形態における波形分解部７は、上記（式２）で示される合成波形Ｙ（ｔ）と、実績値ｙ（ｔ）との誤差が所定値以上である場合には、合成波形Ｙ（ｔ）を構成する複数の波形を変えて、異なる合成波形により実績値ｙ（ｔ）を近似する計算を行う。すなわち、山型波形設定部６３は、異常変動区間内の２つの異なる区間においてそれぞれ、山型の変動パターンを表す山型波形を生成する。これにより、第１の山型波形と第２の山型波形が波形記録部１２に記録される。波形分解部７は、第１の山型波形、第２の山型波形、通常波形、上下波形の合成波形で、実績値ｙ（ｔ）を近似するように、第１の山型波形、第２の山型波形、通常波形、上下波形を最適化する。
【００９９】
波形分解部７は、このように、山型波形を２つ用いた合成波形により実績値ｙ（ｔ）を近似することにより、異常変動を示す区間として抽出された区間において、アクセス量のピークが２つの時点で現れるような変動を示す場合に、より精度よく実績値ｙ（ｔ）を近似することができる。
【０１００】
図９は、第１の山型波形と、第２の山型波形と、定常的な変動を表す通常波形と、第１のピークの時点において階段状に上昇し、第２のピークの時点において階段状に下降する上下波形の例を示す図である。図９に示す上段、中段、下段のグラフそれぞれにおいて、横軸は時間、縦軸はアクセス量を表す。図９の上段のグラフは、第１の山型波形の例を示すグラフである。線ｗ−１は、Ｔｐ１にピークを持つ山型波形を表す。図９の上から２つ目のグラフは、第２の山型波形の例を示すグラフである。線ｗ−２は、Ｔｐ２にピークを持つ山型波形を表す。第１の山型波形および第２の山型波形はいずれも第１の実施形態と同様に、ロジスティック分布の密度関数で表され、それぞれｌｏｇｉｓ１（ｔ）、ｌｏｇｉｓ２（ｔ）とする。図９の上から３つ目のグラフは、図６の中段のグラフと同じであり、線ａｖは、関数ａｖｅｒａｇｅ（ｔ）で表される通常波形を示す。図９の上から４つ目のグラフは、第１のピークの時点において階段状に上昇し、第２のピークの時点において階段状に下降する上下波形の例を示すグラフである。この上下波形は、線ｋｋのように、線ａｖで示されるａｖｅｒａｇｅ（ｔ）において、第１のピーク時点Ｔｐ１より前と第２のピーク時点Ｔｐ２より後とを０とした時系列関数ｐａｒｔ２（ｔ）で表すことができる。
【０１０１】
波形分解部７は、波形分解部７は、上記（式２）により計算したＹ（ｔ）と実績値ｙ（ｔ）との誤差が所定の閾値より大きい場合に、上記の関数ｌｏｇｉｓ１（ｔ）、ｌｏｇｉｓ２（ｔ）、ａｖｅｒａｇｅ（ｔ）およびｐａｒｔ２（ｔ）で表される波形を合成した合成波形で、再度、実績値ｙ（ｔ）を近似する。このとき合成波形Ｙ２（ｔ）は、例えば、下記（式３）により計算される。
（式３）
Y2(t) = a1 * logis1(t) + a2* logis2(t)+ b * average(t)  + c * part2(t) + d
上記（式３）において、係数ａ１、ａ２、ｂ、ｃは、それぞれ第１の山型波形、第２の山型波形、通常波形、上下波形の成分を表す値である。波形分解部７は、実績値ｙ（ｔ）を用いて、上記（式３）で表されるＹ（ｔ）に対して回帰分析を行い、実績値ｙ（ｔ）とＹ（ｔ）の二乗誤差が最小になる係数ａ１、ａ２、ｂ、ｃ、ｄを計算する。これにより、実績値ｙ（ｔ）の示すアクセス量の変動において、２つのアクセス量のピークがある場合には、精度よく実績値ｙ（ｔ）をＹ２（ｔ）で近似することができる。なお、Ｙ２（ｔ）を最適化してもなお、実績値ｙ（ｔ）とＹ２（ｔ）との二乗誤差が所定の閾値を下回らない場合には、波形分解部７は、山型波形の数を１つ増やして同様の計算を繰り返してもよい。
【０１０２】
以上、本発明の実施形態について、上記第１の実施形態および第２の実施形態において説明したが、本発明は上記実施形態に限定されない。例えば、イベント種類推定システム１が読み込むログデータは、上記実施形態のようにＷｅｂサイトへのアクセス履歴を示すログデータに限られない。例えば、イベント種類推定システム１は、イントラネット等の限られた範囲のネットワークにおいて提供された利用者端末からサーバのデータベースを直接参照するサービスにおけるデータベースへのアクセス履歴を示すログデータを読み込んでもよい。
【０１０３】
本実施形態によれば、新たにイベント情報とログデータとを関連付けるための手段を設けなくても、Ｗｅｂサーバに蓄積されたログデータのみを用いて、過去の変動パターンの特徴を分析し、そのとき起きていたイベントの種類を推定することが可能になる。例えば、過去のＨＴＴＰログを基に、アクセス変動がサイト内で実施されている予定されたイベントなのか、それともサイト外で起きたイベントの影響なのかを判定することが可能になる。さらに、過去のアクセス量の変動を表すデータをイベントの種類ごとに分類して蓄積しておくことも可能になる。これにより、例えば、ある種類のイベントを予定するときには、過去のアクセス量の変動の事例の中から、その予定している種類のイベントによる変動の事例のみを予測のベースとして用いることができる。
【産業上の利用可能性】
【０１０４】
本発明は、サイトのログデータからアクセス変動異常を抽出し、異常変動の原因となったイベントの種類を推定することができるシステムとして有用である。
【図面の簡単な説明】
【０１０５】
【図１】イベント種類推定システムの構成を示す機能ブロック図
【図２】イベント種類推定システムの動作例を示すフローチャート
【図３】ログ集計部が生成した時系列データの内容を３次元座標で表した図
【図４】ページ参照数の平均μ1およびμ1±２σ1の一例を表すグラフ
【図５】アクセス変動のモデルＹ、特定ＵＲＬのセッション数変動ａＳ、定常的な変動ｋ・ｍおよび実績値ｙの例を表すグラフ
【図６】山型波形と、定常的な変動を表す通常波形と、ある時点を境に階段状に上昇する上昇波形の例を示す図
【図７】山型波形、通常波形、および上昇波形を合成した合成波形と、実績値との例を示すグラフ
【図８】ルール記録部１１に記録されるルールを表すデータの一例を示す図
【図９】第２の実施形態における第１の山型波形と、第２の山型波形と、通常波形と、上下波形の例を示す図
【符号の説明】
【０１０６】
１      イベント種類推定システム
２      ログ集計部
３      乖離度テスト部
４      構成比上昇度テスト部
５      セッション分離部
６      波形設定部
７      波形分解部
８      滞在時間テスト部
９      イベント判定部
１０    アクセスログ記録部
１１    ルール記録部
１２    波形記録部
１３    通常変動記録部
１４    通常変動生成部
１５    基準変動生成部
１６    基準変動記録部
２１    ページログ集計部
６１    上下波形設定部
６２    通常波形設定部
６３    山型波形設定部
【図１】
2008134958.tif 000004
【図２】
2008134958.tif 000005
【図３】
2008134958.tif 000006
【図４】
2008134958.tif 000007
【図５】
2008134958.tif 000008
【図６】
2008134958.tif 000009
【図７】
2008134958.tif 000010
【図８】
2008134958.tif 000011
【図９】
2008134958.tif 000012