(57)【要約】      （修正有）【課題】Webサイトのアクセスログ分析によるユーザの変化の検出において、自動的に、定量的かつ小さな違いに影響されずに、ユーザの変化を検出するための技術を提供する。【解決手段】アクセスログを分析するデータ分析装置は、前記アクセスログに含まれるユーザの動線情報を分析するプログラムを実行するプロセッサ１００と、ユーザの過去の動線情報をモデル化したアクセスモデルを格納する記憶装置１３０と、を備える。プロセッサ１００は、ユーザの現時点の動線情報とアクセスモデルとを照合することにより、ユーザの行動の変化の度合いを示す第１の値を算出する。【選択図】図１
2016021132.tif 000002
【特許請求の範囲】
【請求項１】
アクセスログを分析するデータ分析装置であって、
前記アクセスログに含まれるユーザの動線情報を分析するプログラムを実行するプロセッサと、
前記ユーザの過去の動線情報をモデル化したアクセスモデルを格納する記憶装置と、
を備え、
前記プロセッサは、前記ユーザの現時点の動線情報と前記アクセスモデルとを照合することにより、前記ユーザの行動の変化の度合いを示す第１の値を算出することを特徴とするデータ分析装置。
【請求項２】
請求項１に記載のデータ分析装置において、
前記記憶装置は、前記ユーザの現時点から近い過去の動線情報を含む履歴情報をさらに格納しており、
前記プロセッサは、
前記ユーザの現時点の動線情報と前記履歴情報のそれぞれに関して前記第１の値を算出し、
前記ユーザの現時点の動線情報に関する前記第１の値と前記履歴情報に関する前記第１の値とから、前記ユーザの行動の変化の度合いを示す第２の値を算出することを特徴とするデータ分析装置。
【請求項３】
請求項１又は２に記載のデータ分析装置において、
前記記憶装置は、前記動線情報の属性情報を分類値に変換するための分類定義情報をさらに格納しており、
前記アクセスモデルは、前記属性情報の前記分類値の分布を統計的あるいは確率的な観点でモデル化したものであり、
前記プロセッサは、
前記分類定義情報を用いて前記ユーザの現時点の動線情報の属性情報を分類値に変換して、前記分類値を前記ユーザの現時点の動線情報に設定し、
前記ユーザの現時点の動線情報の前記分類値と前記アクセスモデルとを照合することにより、前記第１の値を算出することを特徴とするデータ分析装置。
【請求項４】
請求項３に記載のデータ分析装置において、
前記記憶装置は、前記動線情報の属性情報をクラスタリングするためのクラスタ情報をさらに格納しており、
前記プロセッサは、前記クラスタ情報を用いて前記ユーザの現時点の動線情報の属性情報をクラスタリングして、前記クラスタリングされた属性情報を前記ユーザの現時点の動線情報に設定することを特徴とするデータ分析装置。
【請求項５】
請求項３に記載のデータ分析装置において、
前記記憶装置は、前記ユーザの過去の動線情報を蓄積した蓄積動線情報をさらに格納しており、
前記プロセッサは、
前記分類定義情報を用いて前記ユーザの前記蓄積動線情報の属性情報を分類値に変換して、前記分類値を前記蓄積動線情報に設定し、
前記分類値が設定された前記蓄積動線情報を用いて前記アクセスモデルを作成し、
前記アクセスモデルを前記記憶装置に格納することを特徴とするデータ分析装置。
【請求項６】
請求項５に記載のデータ分析装置において、
前記記憶装置は、前記動線情報の属性情報をクラスタリングするためのクラスタ情報をさらに格納しており、
前記プロセッサは、前記クラスタ情報を用いて前記蓄積動線情報の前記属性情報をクラスタリングして、前記クラスタリングされた属性情報を前記蓄積動線情報に設定することを特徴とするデータ分析装置。
【請求項７】
請求項１〜６のいずれか一項に記載のデータ分析装置において、
前記ユーザの現時点の動線情報と前記第１の値とを表示する表示装置をさらに備えることを特徴とするデータ分析装置。
【請求項８】
請求項１〜７のいずれか一項に記載のデータ分析装置において、
前記プロセッサは、前記第１の値が所定の閾値を超える前記ユーザの前記動線情報を抽出することを特徴とするデータ分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Webサイトのアクセスログを分析し、ビジネス改善に向けた施策を検討するための技術に関する。
【背景技術】
【０００２】
ビッグデータ分析技術が注目を集め、データを分析することでビジネスに役立つ知見を得ることが様々な分野で試みられている。売上拡大に向けた施策や不正ログイン対策の検討においてもデータ分析技術が提案されてきた。特に、Webサイトによる製品・サービスの提供においては、顧客の行動がアクセスログとして取得できることから、データ分析技術が多く提案されている。
【０００３】
非特許文献１においては、キャンペーンなどによる集客、自社Webサイトにおける顧客の回遊行動促進、成約率の改善、既存顧客の深耕などに向けた施策検討のための分析技術が紹介されている。
【０００４】
また、特許文献１においては、時系列データから時系列モデルのパラメータを学習し、入力時系列データに対して異常らしさをスコア計算することで、モデルから外れる急激な変化点をオンラインで検出する手法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−４６５８号公報
【非特許文献】
【０００６】
【非特許文献１】衣袋宏美、「Professionalアクセス分析」、２０１１年４月１３日、技術評論社
【非特許文献２】RFM分析：情報システム用語事典、インターネット「http://www.itmedia.co.jp/im/articles/0308/28/news004.html」
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１における分析は、業務知識と分析スキルを兼ね備えた人物が試行錯誤を繰り返しながら行うことを前提としている。非特許文献２における分析も、Ｒ（recency）とＦ（frequency）とＭ（monetary）のうちどれを重視するべきかは業種によって異なると言われ、業務知識と分析スキルを兼ね備えた人物による試行錯誤が必要であることは同様である。このため、必要なスキルを備えた要員の確保および、分析を行うための作業量が課題となる。
【０００８】
また、特許文献１における分析は、（１）ユーザ行動が過去の行動と比べてどの程度の確率で起きているかを定量的に算出することが困難であること、（２）本質的な行動ではない些細な行動と、本質的な行動である大きな行動との区別が困難であり、小さな違いに影響を受けやすいこと、（３）瞬間的な変化なのか、継続的に変化し続けているのかの判定が困難であることなどの課題があった。このため、既存技術のいずれを用いる場合においても、ユーザの変化を検出する際、自動的にかつどのような変化であるかを容易に検出することが困難であった。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、Webサイトのアクセスログ分析によるユーザの変化の検出において、自動的に、定量的で、かつ小さな違いに影響されずに、ユーザの変化を検出するための技術を提供するものである。
【課題を解決するための手段】
【００１０】
本発明者は、ユーザの動線情報と、事前に取得されたアクセスログに含まれる動線情報に基づいて作成されたユーザのアクセスモデルとを照合してユーザの変化を検出することによって、上記課題が解決できることを見出した。
【００１１】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、アクセスログを分析するデータ分析装置であって、前記アクセスログに含まれるユーザの動線情報を分析するプログラムを実行するプロセッサと、前記ユーザの過去の動線情報をモデル化したアクセスモデルを格納する記憶装置と、を備えるデータ分析装置が提供される。前記プロセッサは、前記ユーザの現時点の動線情報と前記アクセスモデルとを照合することにより、前記ユーザの行動の変化の度合いを示す第１の値を算出する。
【発明の効果】
【００１２】
本発明によれば、Webサイトのアクセスログ分析によるユーザの変化の検出において、分析用の要員の確保や作業が必要なく、自動的にユーザの変化を検出することができる。また、定量的で、かつ小さな違いに影響されずに、ユーザの変化を検出することができる。
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、上記した以外の、課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例に係るデータ分析装置の概略構成を示す図である。
【図２Ａ】蓄積動線データの一例を示す図である。
【図２Ｂ】図２Ａの画面遷移データの一例を示す図である。
【図３Ａ】画面遷移図の一例を示す図である。
【図３Ｂ】図３Ａの画面遷移図をクラスタリングした結果の一例を示す図である。
【図４】画面クラスタデータの一例を示す図である。
【図５】分類定義データの一例を示す図である。
【図６】アクセスモデルデータの一例を示す図である。
【図７Ａ】履歴データの一例を示す図である。
【図７Ｂ】図７Ａのアクセスデータの一例を示す図である。
【図８】スコア表示画面の一例を示す図である。
【図９】動線分析処理を説明するためのフローチャートである。
【図１０】集計処理を説明するためのフローチャートである。
【図１１】照合処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施例について説明する。なお、添付図面は本発明の原理に則った具体的な実施例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。また、各図において共通の構成については同一の参照番号が付されている。
【００１５】
以後の説明では「プログラム」を主語として説明を行うが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信制御装置）を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は、管理サーバ等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【００１６】
本発明によるデータ分析装置は、ユーザが対象Webサイトを閲覧したときのアクセスログをあらかじめ取得しておき、そのアクセスログを利用する。このアクセスログには、ユーザが対象Webサイトにログインした時から対象Webサイト外に離脱するまでの動線情報が記録される。ここで、動線情報は、対象Webサイト上でのユーザの行動を表す属性情報を含む。属性情報には、対象Webサイト上での画面遷移の情報、対象Webサイトを訪れたユーザの時間などの情報、及び、対象Web上でのユーザの行動（コマンド履歴やクリック履歴など）の情報の少なくとも１つが含まれる。
【００１７】
本発明によるデータ分析装置は、記録された動線情報を分析し、これまでのユーザの振る舞いから導かれるアクセスモデルを学習する。ここで、アクセスモデルとは、過去のユーザの動線情報から導かれる本人らしさを示すモデルであり、一例としては、過去のユーザの動線情報を統計的あるいは確率的な観点からモデル化したものである。本発明によるデータ分析装置は、入力された動線情報を上記アクセスモデルと比較することで、これまでのユーザの振る舞いとの変化を検出する。
【００１８】
この際、動線情報における各属性データを、一定の範囲毎のカテゴリに分類することで、細かな行動の違いに影響されにくい、すなわち本質的な行動パターンの違いを把握して、ユーザの変化を定量的に捉えることが可能となる。また、現時点から近い過去の複数の動線情報を考慮した分析も行うことで、瞬間的な変化と継続的な変化を区別することが可能である。以下では、データ分析装置のより詳細な構成について説明する。
【００１９】
＜データ分析装置の構成＞
図１は、本発明の実施例によるデータ分析装置の概略構成を示す機能ブロック図である。データ分析装置は、必要な演算処理及び制御処理等を行う中央処理装置（プロセッサ）100と、データの入出力を行うための入出力装置110と、中央処理装置100での処理に必要なプログラムを格納するプログラムメモリ120と、中央処理装置100での処理対象となるデータまたは処理後のデータを格納する記憶装置130と、プログラムが処理過程で使用するデータあるいは処理過程で生成する中間データを格納するデータメモリ140と、インターネットと接続されたWebサーバ150とを備えている。
【００２０】
入出力装置110は、データを表示するための表示装置111やプリンタ（図示せず）等で構成される出力デバイスと、表示されたデータに対してメニューを選択するなどの操作を行うためのキーボード112と、マウスなどのポインティングデバイス113と、を有している。
【００２１】
プログラムメモリ120は、Webサイトにおけるユーザの動き、すなわち動線情報を分析する動線分析プログラム121と、蓄積された動線情報をもとに各属性情報を集計し、動線パターン（すなわち、アクセスモデル）を生成する集計プログラム122と、入力された動線情報とアクセスモデルとを比較し、ユーザの行動の変化の度合いを計算する照合プログラム123と、を格納している。なお、各処理プログラムは、プログラムコードとしてプログラムメモリ120に格納されており、中央処理装置100が各プログラムコードを実行することによって各処理が実現される。
【００２２】
記憶装置130は、あらかじめ蓄積された動線情報が格納された蓄積動線データ131と、Webサイト上の画面を分類した画面クラスタデータ132と、動線情報内の各属性情報を集計する際の分類基準が格納された分類定義データ133と、蓄積動線データ131を集計して得られたアクセスモデルが格納されたアクセスモデルデータ134と、Webサーバ150から入力された動線情報の履歴が格納された履歴データ135と、を格納している。なお、記憶装置130は、ネットワークを介して遠隔的に配置されていているストレージシステムであってもよい。
【００２３】
データメモリ140は、Webサーバ150から入力される現時点での動線情報である入力動線データ141を格納している。また、データメモリ140には、各種プログラム121,122,123を実行する際に一時的に使用されるデータ（図示せず）あるいは一時的に生成されるデータ（図示せず）が格納される。
【００２４】
以上に述べた処理プログラム、データ等は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＭＯ、フロッピー（登録商標）ディスク、ＵＳＢメモリ等の種々の記録媒体に格納して提供することもできる。
【００２５】
次に、データ分析装置で使用される各種データについて説明する。各種データについて、以後の説明では「テーブル」構造を用いて説明するが、必ずしもテーブルによるデータ構造で表現されていなくても良く、他のデータ構造で表現されていても良い。
【００２６】
＜蓄積動線データ＞
図２Ａは、記憶装置130内の蓄積動線データ131の一例を示す図である。蓄積動線データ131は、ユーザが過去に対象Webサイトにアクセスした際の各セッションの動線情報を格納している。蓄積動線データ131は、動線ID 201と、閲覧開始日時202と、ユーザID 203と、画面遷移204と、平均閲覧時間205と、アクセス時間帯206と、平日アクセス207とを構成項目として含む。
【００２７】
動線ID 201は、ユーザの１つのセッション内での動線を一意に表すIDである。閲覧開始日時202は、セッション開始の日時を表す。ユーザID 203は、ユーザを一意に表すIDである。
【００２８】
画面遷移204は、図２Ｂに示す情報を含む。画面遷移204は、画面ID列208と、閲覧時間列209と、クラスタ画面ID列210と、クラスタ画面閲覧時間列211とから構成される。画面ID列208は、当該動線においてユーザがアクセスした画面のIDを順に列挙したものである。例えば、{p001,p004,p008}であれば、画面IDがp001,p004,p008の画面を順にアクセスした動線であることを示す。ただし、動線において、同じ遷移の部分的な繰り返しは除去してもよい。例えば、{p001,p002,p003,p002,p003,p004}の場合、｛p002,p003｝の部分は繰り返しであるため除去し、｛p001,p002,p003,p004｝としてもよい。本実施例ではこのような繰り返しを除去した遷移、すなわちクリティカルパスを採用する。
【００２９】
閲覧時間列209は、当該動線において各画面の閲覧時間、すなわちユーザが次の画面に遷移するまでの時間を表す。例えば、{35,4,90}であれば、該当する画面それぞれの閲覧時間が35,4,90であったことを示す（単位は任意に設定可能）。なお、途中繰り返しにより省略された画面の分は除外される。
【００３０】
クラスタ画面ID列210は、画面を分類すなわちクラスタ化した際のIDを用いて画面ID列208を表したものである。図３Ａは、あるユーザの動線（画面の遷移）を示す図である。この図において、p001〜p021は、各画面を表すIDであり、c001〜c005は画面をクラスタ化した場合のクラスタIDを示す。図３Ｂは、図３Ａの画面遷移図を任意の手段でクラスタ化した後の画面遷移図であり、c001〜c005のクラスタIDのみで画面遷移を示した図である。クラスタ化の手段には、手作業や、グラフに対する既存のクラスタ化技術がある。元の画面遷移図において、画面はいくつかのまとまり（クラスタ）を持つと考えられ、同一クラスタに属する画面をまとめることにより、画面遷移図の骨子部分を表すことができる。クラスタ化することにより、ユーザの本質的な行動パターン（分類された大きな枠組みでの画面遷移）を捉えることが可能となる。クラスタのまとまりとしては、画面の機能の種類毎にクラスタを分けたり、画面が提供する情報の種類ごとにクラスタに分けたりする方法などがある。なお、本実施例では、クラスタ化は一段階であるが、図３Ｂのクラスタ列をさらにクラスタリングするように二段階のクラスタリングを実施してもよい。
【００３１】
例えば、画面ID列が{p001,p004,p008}であれば、クラスタ画面ID列は{c001,c002}で表される。この時、p001,p004はいずれもc001に属するため、統一して表記される。クラスタ画面閲覧時間列211は、各クラスタ画面の閲覧時間を表す。なお、クラスタ化によってまとめられた画面の閲覧時間は統合される。
【００３２】
平均閲覧時間205は、例えば、図２Ｂの画面遷移データにおける閲覧時間列209の各値を平均した値を、分類定義データ133の分類基準で表した値である。これの代替として、図２Ｂの画面遷移データにおけるクラスタ画面閲覧時間列211の各値を平均した値を分類定義データ133で分類した値を用いてもよい。アクセス時間帯206は、ユーザが対象Webサイトにアクセスした時間帯を、分類定義データ133の分類基準で表した値である。平日アクセス207は、平日にアクセスしたかどうかを示すフラグであり、同様に、分類定義データ133の分類基準で表した値である。
【００３３】
＜画面クラスタデータ＞
図４は、記憶装置130内の画面クラスタデータ132の一例を示す図である。画面クラスタデータ132は、各画面がどのクラスタに属するかを定義したデータである。画面クラスタデータ132には、画面ID 401とクラスタ画面ID 402とが関連付けて格納されている。
【００３４】
＜分類定義データ＞
図５は、記憶装置130内の分類定義データ133の一例を示す図である。分類定義データ133は、動線情報の各属性の値に応じた分類の定義を格納している。分類定義データ133は、動線パターンの分類定義501と、平均閲覧時間の分類定義502と、アクセス時間帯の分類定義503と、平日アクセスの分類定義504とを含む。各属性の分類定義は、任意に設定可能である。
【００３５】
例えば、平均閲覧時間の場合、値が0以上10未満の場合は分類1、10以上20未満の場合は分類2、といった具合に設定する。本実施例では、動線パターンは、クラスタ動線の全遷移パターンで分類する。すなわち、クラスタ動線の遷移パターンが5種類の場合は5分類する。図５の例では、クラスタ画面ID列210が{c001,c002,c003}の場合、分類1に分類され、クラスタ画面ID列210が{c001,c002,c003,c004}の場合、分類2に分類される。
【００３６】
＜アクセスモデルデータ＞
図６は、記憶装置130内のアクセスモデルデータ134の一例を示す図である。アクセスモデルデータ134は、動線情報の属性毎に値を集計し、属性毎に各分類の比率を格納したものである。本実施例では、ユーザ毎に動線情報の各属性の値を分類定義データ133を用いて分類値に変換し、分類値の分布を統計的あるいは確率的な観点でモデル化したアクセスモデルを生成する。
【００３７】
本実施例では、ユーザごとに動線情報集計してアクセスモデルを作成するが、これに限定されない。動線情報を集計する単位は、全ての動線を区別なく集計してもよいし、他の単位で集計してもよい。
【００３８】
アクセスモデルデータ134には、属性601と、その属性601における各分類の比率の情報602とが関連付けて格納されている。図６の例では、あるユーザの動線パターンの分類1は全体の15.2%であり、動線パターンの分類2は全体の12.7%である。同様に、他の属性において、各分類の比率の情報が格納される。なお、アクセスモデルデータ134は、これに限定されず、過去のユーザの動線情報を統計的あるいは確率的な観点からモデル化したものであればよい。
【００３９】
＜履歴データ＞
図７Ａは、記憶装置130内の履歴データ135の一例を示す図である。履歴データ135は、現時点から近い過去の数件の動線情報であり、各属性のデータの分類データをユーザ単位で格納している。図７Ａの履歴データ135の例では、あるユーザの直近3件の動線情報が格納されている。履歴データ135には、現時点を基準としていつのアクセスかを示す情報701と、アクセスデータ702とが関連付けて格納されている。
【００４０】
図７Ｂは、図７Ａのアクセスデータ702の一例である。アクセスデータ702には、属性の種類を示す情報703と、その属性の値の分類データ704とが関連付けて格納されている。アクセスデータ702を用いることにより、ユーザの直近の３件のアクセスにおける各属性の分類データを参照することができる。
【００４１】
＜入力動線データ＞
入力動線データ141はWebサーバ150から逐次入力される動線のデータである。データフォーマットは蓄積動線データ131と同様である。
【００４２】
＜スコア表示画面＞
図８は、Webサーバ150から逐次入力される入力動線データ141のスコアを表示する画面(GUI)の一例を示す図である。図８のように、GUIのウィンドウでは、リアルタイムに入力される動線情報と、その動線情報から算出されたスコアを含む情報が表示される。図８では、各動線情報の、動線ID 801、ユーザID 802、閲覧開始日時803、スコア804が表示されている。スコア804の内容については後述する。各動線情報は新しいものから順に降順に表示され、新しい動線情報が入力されると最上段に表示される。ユーザが図８のスコア表示画面を見ることにより、これまでのユーザの行動（動線情報）と、今回のユーザの行動（動線情報）との間の変化の度合いを容易に判定可能である。なお、画面には、各動線情報のより詳細な内容を表示させてもよい。
【００４３】
＜データ分析装置における処理概要＞
上述の構成を有するデータ分析装置において行われる処理について説明する。データ分析装置において行われる処理は、大きく２つに分けることができる。第１の処理は、記憶装置130における蓄積動線データ131内の未設定のデータを設定し、その後、ユーザ毎にアクセスモデルを作成する処理である。第２の処理は、あらかじめ作成されたアクセスモデルと、今回入力された入力動線データ141とを照合し、さらに、現時点から近い過去の数件の動線データである履歴データ135と、今回入力された入力動線データ141とを照合する処理である。
【００４４】
第１の処理を説明する。まず、中央処理装置100は、動線分析プログラム121を用いて、記憶装置130における蓄積動線データ131、画面クラスタデータ132、及び分類定義データ133を読み込み、蓄積動線データ131内の未設定のデータに値を格納する。次に、中央処理装置100は、集計プログラム122を用いて、記憶装置130から蓄積動線データ131を読み込み、ユーザ毎に属性値の分類結果を集計してアクセスモデルを作成する。中央処理装置100は、作成されたアクセスモデルを、アクセスモデルデータ134として記憶装置130に格納する。
【００４５】
次に、第２の処理を説明する。中央処理装置100は、照合プログラム123を用いて、記憶装置130からアクセスモデルデータ134、履歴データ135を読み込む。Webサーバ150から新たな動線のデータが入力されると、データメモリ140に入力動線データ141として格納される。中央処理装置100は、照合プログラム123を用いて、入力動線データ141とアクセスモデルデータ134とを照合してスコアを算出するとともに、入力動線データ141と履歴データ135とを照合して更なるスコアを算出する。中央処理装置100は、照合プログラム123を用いて、入力動線データ141とともにスコアの算出結果を表示装置111上の画面に出力する。それぞれの処理について、以下詳細に説明する。
【００４６】
＜動線分析処理＞
図９は、動線分析プログラム121が実行する動線分析処理を説明するためのフローチャートである。ここでの動作主体は動線分析プログラム121である。動線分析処理では、図２のような蓄積動線データ131または入力動線データ141における値が未設定の項目（属性データの値）に値を設定する。より詳細には、蓄積動線データ131または入力動線データ141の各属性データの値を分類定義データ133を用いて分類値に変換し、当該分類値を蓄積動線データ131または入力動線データ141に設定する。蓄積動線データ131または入力動線データ141に関して、動線分析処理を行う前の時点では、動線ID201、閲覧開始日時202、ユーザID203、画面ID列208、及び閲覧時間列209が自動的に設定されており、残りの項目は未設定である。
【００４７】
ステップ901では、処理モードの判定を行う。処理モードには、アクセスモデル生成モードと、動線照合モードとがある。アクセスモデル生成モードは、図９の処理の後に、図１０の処理を実行する場合に選択される。動線照合モードは、図１１のステップ1102で実行される場合に選択される。アクセスモデル生成モードの場合にはフラグFをtrueに設定し、動線照合モードの場合にはFをfalseに設定する。以降の処理ではFの値に応じて処理内容を変更する。
【００４８】
ステップ902では、データを読み込む。Fがtrueの時には、蓄積動線データ131、画面クラスタデータ132、及び分類定義データ133を読み込む。Fがfalseの時には、入力動線データ141、画面クラスタデータ132、及び分類定義データ133を読み込む。
【００４９】
ステップ903では、動線データを１つ選択する。具体的には、Fがtrueの時には、蓄積動線データ131から動線データを１つ選択する。Fがfalseの時には、入力動線データ141をそのまま選択する。
【００５０】
ステップ904では、画面遷移データを生成する。すなわち、当該動線データにおける未設定の項目である、クラスタ画面ID列210、クラスタ画面閲覧時間列211を設定する。クラスタ画面ID列210を設定する際には、画面ID列208における各画面IDと対応するクラスタ画面IDを順に設定する。ただし、同一のクラスタ画面IDが連続する場合には、1つにまとめる。例えば、図３Ａのように、クラスタ画面ID c001に対応する画面IDがp001,p002,p003,p004,p005,p006であり、クラスタ画面ID c002に対応する画面IDがp007,p008,p009であるとする。ここで、画面ID列208が{p001,p004,p008}の場合、この画面ID列208に対するクラスタ画面ID列210は、{c001,c002}となる。
【００５１】
クラスタ画面閲覧時間列211を設定する際には、クラスタ画面ID列210に対応する閲覧時間を順に設定する。この時、複数の画面IDをまとめたクラスタ画面IDの閲覧時間は、対応する複数の画面IDの閲覧時間の総和を設定する。例えば、前述と場合と同様の画面IDとクラスタ画面の対応であった場合、図２における閲覧時間列209 {35,4,90}に対応するクラスタ画面閲覧時間列211は、{39,90}となる。
【００５２】
図９のフローチャートに戻り、ステップ905では、平均閲覧時間205を求め、該当する分類値を設定する。平均閲覧時間とは、画面遷移データにおける閲覧時間列209の各値を平均した値である。求めた平均値が、分類定義データ133の平均閲覧時間の分類定義502においてどの分類に属するかを照合する。求めた平均値に対応する分類値を、平均閲覧時間205として格納する。例えば図５の分類条件を用いると、求めた平均閲覧時間が15.5であった場合は、分類2を平均閲覧時間205として格納する。
【００５３】
ステップ906では、アクセス時間帯206を設定する。具体的には、閲覧開始日時202が、分類定義データ133のアクセス時間帯の分類定義503においてどの分類に属するかを照合する。該当する分類値をアクセス時間帯206として設定する。
【００５４】
ステップ907では、平日アクセス207を設定する。具体的には、閲覧開始日時202の情報から曜日を求め、求めた曜日が、分類定義データ133の平日アクセスの分類定義504においてどの分類に属するかを照合する。該当する分類値を平日アクセス207として設定する。
【００５５】
ステップ908では、Fがtrueの時には、蓄積動線データ131の全動線データを処理したか否かを判定する。処理していない動線があればステップ903に戻り、全動線データを処理していれば処理を終了する。Fがfalseの時には、処理するデータが入力動線データ141のみであるため、そのまま終了する。
【００５６】
＜集計処理＞
図１０は、集計プログラム122が実行する集計処理を説明するためのフローチャートである。ここでの動作主体は集計プログラム122である。集計処理では、図９の処理によって全ての項目が設定された蓄積動線データ131をもとに、図６のようなアクセスモデルデータ134を生成する処理を行う。
【００５７】
ステップ1001では、蓄積動線データ131及び分類定義データ133を読み込む。
【００５８】
ステップ1002では、まず、蓄積動線データ131から未処理のユーザの全動線データを抽出する。以後のステップ1003からステップ1006では、ユーザ単位で蓄積動線データ131の動線データの集計処理を行う。
【００５９】
ステップ1003では、動線パターンを集計する。具体的には、まず、蓄積動線データ131における各ユーザの動線データにおけるクラスタ画面ID列210の値が、分類定義データ133の動線パターンの分類定義501においてどの分類に属するかを照合する。次に、求めた分類値での頻度を求める。最終的に、全体に対して各分類値の頻度が占める比率を算出する。
【００６０】
例えば、値が{c001,c002,c003}である画面遷移データを持つ動線データが２つ存在した場合は、まず、分類定義データ133の動線パターンの分類定義501と照合することにより、分類1という分類値が得られる。この分類1の頻度は2となる。頻度の全体の数が10の場合、分類1が占める比率は、20%となる。
【００６１】
この時、{c001,c002,c003}の順序が入れ替わったクラスタ画面ID列を、同一の動線パターンとみなしてもよい。例えば、{c001,c002,c003}と{c002,c001,c003}は同一の動線パターンとみなしてもよい。本実施例では、組合せが同一で順序が異なるパターンは異なるものとみなす。このようにして、当該ユーザのクラスタ画面ID列210の全パターンについて全体に占める比率を求める。各動線パターンの比率を、図６のようなアクセスモデルデータ134の動線パターンの値として格納する。本実施例では、動線パターンをすべて別の分類としてアクセスモデルデータ134を定義するが、任意の方法で複数の動線パターンをひとまとめにして分類してもよい。
【００６２】
ステップ1004では、平均閲覧時間205を集計する。具体的には、動線パターンの場合と同様に、蓄積動線データ131における各ユーザの動線データにおける平均閲覧時間205の値の頻度を集計する。集計後、全体に対して各分類値の頻度が占める比率を算出する。そして、平均閲覧時間205の各分類値の比率を、アクセスモデルデータ134の平均閲覧時間の値として格納する。
【００６３】
ステップ1005では、アクセス時間帯206を集計する。上記と同様に、蓄積動線データ131における各ユーザの動線データにおけるアクセス時間帯206の値の頻度を集計し、全体に対して各分類値の頻度が占める比率を算出する。そして、アクセス時間帯206の各分類値の比率を、アクセスモデルデータ134のアクセス時間帯の値として格納する。
【００６４】
ステップ1006では、平日アクセス207を集計する。上記と同様に、蓄積動線データ131における各ユーザの動線データにおける平日アクセス207の値の頻度を集計し、全体に対して各分類値の頻度が占める比率を算出する。そして、平日アクセス207の各分類値の比率を、アクセスモデルデータ134の平日アクセスの値として格納する。
【００６５】
ステップ1007では、全ユーザの動線データを処理したか否かを判定する。処理していないならステップ1002に戻り、未処理のユーザに対する処理を行う。全ユーザの動線データを処理済であれば処理を終了する。
【００６６】
＜照合処理＞
図１１は、照合プログラム123が実行する照合処理を説明するためのフローチャートである。ここでの動作主体は照合プログラム123である。照合処理では、Webサーバを経由して得られた、あるユーザの入力動線データ141と、当該ユーザのアクセスモデルデータ134とを照合し、かつ、当該ユーザの入力動線データ141と、当該ユーザの履歴データ135とを照合する。照合の結果として、当該ユーザの動きの変化の度合いをスコアとして算出し、図８に示すような画面に出力する。
【００６７】
ステップ1101では、アクセスモデルデータ134、履歴データ135、及び入力動線データ141を読み込む。
【００６８】
ステップ1102では、入力動線データ141に対して、図９の動線分析処理を行い、入力動線データ141における未設定の項目の値を設定する。
【００６９】
ステップ1103では、まず、当該ユーザの入力動線データ141と、アクセスモデルデータ134とを照合する。具体的には、入力動線データ141の各属性の分類値に対応する、当該ユーザのアクセスモデルデータ134の各属性値の比率aiを取得し、比率aiと重みviから構成される式(1),(2)を用いて過去の当該ユーザの行動のパターンの比率に基づいたスコアSを算出する。この時、各属性の重みviは任意に設定してよい。例えば、ユーザの変化をより反映している属性の重みを大きくすると効果的である。
【００７０】
【数１】
2016021132.tif 000003
【００７１】
例えば、入力動線データ141における動線パターン、平均閲覧時間、アクセス時間帯、平日アクセスの分類値が、それぞれ、分類1、分類2、分類1、分類2であったとする。この場合、図６の例において、アクセスモデルデータ134における、これらの分類値に対応する比率（a1, a2, a3, a4）は、それぞれ、15.2, 4.3, 13.3, 80である。また、一例として、動線パターン、平均閲覧時間、アクセス時間帯、平日アクセスの各属性に対する重み（v1, v2, v3, v4）を、それぞれ、0.4, 0.3, 0.2, 0.1とする。この場合、スコアSは以下の通りとなる。
S = 100 − (15.2)0.4 × (4.3)0.3 × (13.3)0.2 × (80)0.1
【００７２】
本実施例では、スコアSが100に近いほど、当該ユーザの過去の行動パターンに比べて、今回の行動パターン（すなわち、今回の動線情報）が大きく変化していることを示す。スコアSは、当該ユーザの過去全体の行動パターンから作成されたアクセスモデルデータ134との比較で得られる数値であるため、瞬間的なユーザの変化を検出するのに参考となる数値である。
【００７３】
さらに、ステップ1103では、当該ユーザの入力動線データ141と当該ユーザの履歴データ135とを照合する。ここでは、当該ユーザの入力動線データ141と当該ユーザの履歴データ135のそれぞれに関してスコアSを算出し、入力動線データ141に関するスコアSと、履歴データ135に関するスコアSとから、当該ユーザの行動の変化の度合いを示すスコアTを算出する。
【００７４】
より具体的には、当該ユーザの入力動線データ141と、アクセスモデルデータ134とを照合してスコアSを算出する。さらに、履歴データ135の各アクセルデータ（図７Ｂ）と、アクセスモデルデータ134とを照合してスコアSを算出する。入力動線データ141から算出されたスコアSと、直近の過去３回のアクセスデータから算出されたスコアSをもとに、式(3),(4)を用いてスコアTを求める。スコアTは、入力動線データ141から算出されたスコアSと、直近の過去３回のアクセスデータから算出されたスコアSとから求める相乗平均である。これにより、直近の行動の変化を数値化することができる。この時の各スコアSの重みwiは任意に設定してよい。例えば、直近のスコアの重みほど大きい値を設定しておけばより直近の変化を反映させることができる。
【００７５】
【数２】
2016021132.tif 000004
【００７６】
スコアTは、直近の数件の行動パターンの中で例えば１回だけ大きく変化した場合では、それほど高くならず、入力動線データ141に関するスコアS、及び、直近の過去３回のアクセスデータに関するスコアSの全体が高い数値であると、高くなる。すなわち、当該ユーザの直近の行動パターンが継続的に変化している場合に、スコアTは高くなる。このように、スコアTは、ユーザの継続的な変化を検出するのに参考となる数値である。
【００７７】
なお、本実施例では相乗平均を用いてスコアS,Tを求めるが、スコアS,Tは任意の計算方法を採用することが可能である。
【００７８】
ステップ1104では、履歴データ135を更新する。図７Ａのように、履歴データ135は過去数回分の履歴をユーザ毎に保持している。本実施例では過去３回のアクセスデータを保持している。履歴データ135における、２回前アクセスの値を３回前アクセスの値として上書きし、１回前アクセスの値を２回前アクセスの値として上書きし、さらに、ステップ1101で読み込んだ入力動線データ141の値を１回前アクセスのアクセスデータの値として格納する。
【００７９】
ステップ1105では、図８のように、求めたスコアS,Tを表示装置111上の画面に表示する。この時、動線ID、ユーザID、閲覧開始日時などの他のデータを表示させてもよい。図８では、スコアは１つしか表示されていないが、スコアS,Tの両方を表示してもよいし、検出したいユーザの変化を考慮して、表示したいスコアを選択して表示させてもよい。このようにスコアS,Tを画面表示することにより、各ユーザの今回の行動パターン（動線）と、過去のユーザの行動パターンとを比較したときの変化の度合いを容易に把握できる。
【００８０】
なお、ステップ1105の後に別のステップを追加してもよい。例えば、スコアS,Tのそれぞれに対して閾値を設定しておいてもよい。閾値を超えたスコアS,Tの動線データを自動的に抽出して、画面に表示させてもよい。対象Webサイトへアクセスするユーザ数が多い場合には、有益である。過去の行動パターンと比べて変化の大きいユーザの動線データを自動的に抽出し、そのユーザのより詳細な動線データを分析して、変化の内容を確認することができる。
【００８１】
また、本実施例では、蓄積動線データ131とアクセスモデルデータ134を静的なデータとして説明したが、ステップ1105の後に、これらのデータを任意のタイミングで更新してもよい。入力動線データ141を蓄積動線データ131に蓄積し、更新された蓄積動線データ131を用いてアクセスモデルデータ134を更新してもよい。
【００８２】
＜まとめ＞
以上説明したように、本実施例によれば、動線データにおける各属性の分類値の分布を統計的あるいは確率的観点でモデル化したユーザのアクセスモデルを定義し、入力された動線データの属性値とアクセルモデルとを比較することにより、当該ユーザの行動パターンの変化を認識することが可能である。分類値の頻度分布を求める際に、クラスタ化された画面を用いることや、ある程度の範囲の値をひとまとめにして求めることで、ユーザの些細な行動の違いに依らずマクロ的な行動の変化を捉えることが可能である。また、動線データの履歴と照合することにより、時間軸を考慮してより詳細に変化を認識することが可能である。
【００８３】
本実施例では、動線情報を４つの属性データで説明したが、他の属性を定義してアクセスモデルデータとして登録してもよい。属性データの例としては、ショッピングサイトの場合では、商品を購入したかのフラグや、商品購入の時間帯などを属性データとしてもよい。また、特定の曜日や時間帯などを属性データとしてもよい。例えば、決済が多いという観点から、五十日（ごとび）であるかのフラグなども考えられる。また、Webサイト上で提供している機能について属性データを設定してもよく、例えば、検索機能を提供している場合は、検索を実行したかのフラグや、検索回数などを属性データとしてもよい。
【００８４】
本発明によれば、Webサイトにおいて、入力された動線情報を過去のユーザの行動パターンと比較した場合の変化の度合いを検出することが可能となる。この構成は、Webサイト上でキャンペーン施策前後のユーザの行動の変化の分析を効率的に行うことが可能である。例えば、キャンペーン施策後に変化の大きいユーザを抽出し、キャンペーンによってユーザがどのような動線パターン（行動パターン）となったかを分析することが可能となる。
【００８５】
また、Webサイトのセキュリティ対策としても適用可能である。例えば、正規ユーザになりすましてログインした不正ユーザは、正規ユーザとは異なる動線データになると考えられる。したがって、ユーザの行動の変化から、不正ユーザのアクセスの検出を行うことができる。
【００８６】
なお、本発明は上述した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることがあり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００８７】
また、上記実施例で示された各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。また、上記各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現しても良い。各機能等を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、ＳＳＤ（Solid State Drive）等の記録或いは記憶装置、またはＩＣカード、ＳＤカード、ＤＶＤ等の記録或いは記憶媒体に格納することができる。
【００８８】
さらに、上述の実施例において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
【符号の説明】
【００８９】
１００…中央処理装置（プロセッサ）
１１０…入出力装置
１１１…表示装置
１１２…キーボード
１１３…マウス
１２０…プログラムメモリ
１２１…動線分析プログラム
１２２…集計プログラム
１２３…照合プログラム
１３０…記憶装置
１３１…蓄積動線データ
１３２…画面クラスタデータ
１３３…分類定義データ
１３４…アクセスモデルデータ
１３５…履歴データ
１４０…データメモリ
１４１…入力動線データ
１５０…Webサーバ
Ｓ…スコア（第１の値）
Ｔ…スコア（第２の値）
【図１】
2016021132.tif 000005
【図２Ａ】
2016021132.tif 000006
【図２Ｂ】
2016021132.tif 000007
【図３Ａ】
2016021132.tif 000008
【図３Ｂ】
2016021132.tif 000009
【図４】
2016021132.tif 000010
【図５】
2016021132.tif 000011
【図６】
2016021132.tif 000012
【図７Ａ】
2016021132.tif 000013
【図７Ｂ】
2016021132.tif 000014
【図８】
2016021132.tif 000015
【図９】
2016021132.tif 000016
【図１０】
2016021132.tif 000017
【図１１】
2016021132.tif 000018