JP2016177728A - Data analysis apparatus and data analysis method - Google Patents
Data analysis apparatus and data analysis method Download PDFInfo
- Publication number
- JP2016177728A JP2016177728A JP2015059112A JP2015059112A JP2016177728A JP 2016177728 A JP2016177728 A JP 2016177728A JP 2015059112 A JP2015059112 A JP 2015059112A JP 2015059112 A JP2015059112 A JP 2015059112A JP 2016177728 A JP2016177728 A JP 2016177728A
- Authority
- JP
- Japan
- Prior art keywords
- screen transition
- data
- data analysis
- clustering
- screen
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本発明は、データ分析装置、及びデータ分析方法に関し、例えば、Webサイトのアクセスログを基にユーザの画面遷移パターンを分析するための技術に関する。 The present invention relates to a data analysis apparatus and a data analysis method, for example, a technique for analyzing a user's screen transition pattern based on an access log of a website.
ビッグデータ分析技術が注目を集め、データを分析することでビジネスに役立つ知見を得ることが様々な分野で試みられている。売上拡大に向けた施策や不正ログイン対策の検討においてもデータ分析技術が提案されてきた。特にWebサイトによる製品・サービスの提供においては、顧客の行動がアクセスログとして取得できることから、データ分析技術が多く提案されている。 Big data analysis technology has attracted attention, and in various fields, it has been attempted to obtain knowledge useful for business by analyzing data. Data analysis technology has also been proposed for measures to expand sales and to investigate illegal login measures. In particular, in the provision of products and services through websites, many data analysis techniques have been proposed because customer actions can be acquired as access logs.
非特許文献1及び特許文献1においては、Webサイトのアクセスログからセッション毎の画面遷移(アクセスルート)を導出し、各画面遷移に対してLongest Common Subsequence (LCS)を求める方式が提案されている。LCSとは、リストXの部分系列とリストYの部分系列のなかで両方のリストに共通に含まれるもののなかで、最も長いものを表す。例えば、X=(A, F, B, D, E)とY=(A, B, C, D, E)のLCS(X, Y)は、(A, B, D, E)である。特許文献1では、得られたLCSの中で最も頻度が多いものを頻出アクセスパターンとする方式が提案されている。
Non-Patent
このようにアクセスパターンの傾向(類似性)を分析できると、ログインが必要なWebサイト(例えば、金融関係のWebサイト)におけるユーザのアクセス行動のパターンを抽出することができるようになる。このようなパターンが抽出できればアクセス行動の本人らしさを検知することができ、不正ログインによる不正アクセスを検知することができるようになる。また、このような類似性の情報は、マーケティングにも用いることができる。つまり、ユーザのアクセスパターンからWebページをどのように改良すれば効率よく使うことができるかのヒントとなる。 If the access pattern tendency (similarity) can be analyzed in this way, it becomes possible to extract a user access behavior pattern in a Web site that requires login (for example, a financial Web site). If such a pattern can be extracted, the identity of the access action can be detected, and unauthorized access due to unauthorized login can be detected. Such similarity information can also be used for marketing. In other words, it is a hint of how to improve Web pages based on user access patterns so that they can be used efficiently.
しかしながら、LCSは、例えば画面遷移の最初と最後が一致していれば同一となることから、LCSによってアクセスパターンの傾向を分析する方法は、画面遷移の類似性を適切に表現できない場合がある。例えば、P=(A, S, F)とQ=(A, T, F)のLCS(P, Q)は(A, F)である。一方、P=(A, S, F)とR=(A, V, W, X, Y, Z, F)のLCS(P, R)も(A, F)である。このように、同一のLCSであっても元の画面遷移同士が類似しているとは限らないことが、LCSによるアクセスパターン分析における課題である。 However, since the LCS is the same if, for example, the start and end of the screen transition match, the method of analyzing the tendency of the access pattern by the LCS may not be able to appropriately express the similarity of the screen transition. For example, the LCS (P, Q) of P = (A, S, F) and Q = (A, T, F) is (A, F). On the other hand, LCS (P, R) of P = (A, S, F) and R = (A, V, W, X, Y, Z, F) is also (A, F). In this way, even in the same LCS, the original screen transitions are not always similar, which is a problem in access pattern analysis by LCS.
本発明はこのような状況に鑑みてなされたものであり、Webサイトにおけるユーザの行動パターン分析のため、画面遷移間の類似性を適切に評価することができる技術を提供するものである。 The present invention has been made in view of such a situation, and provides a technique capable of appropriately evaluating the similarity between screen transitions in order to analyze a user's behavior pattern on a Web site.
上記課題を解決するために、本発明では、類似した画面遷移同士が同一のクラスタに属するようにクラスタリングし、各クラスタの頻度を集計することで、Webサイトにおけるユーザの行動パターンを定量的に表す技術を提供する。つまり、本発明では、アクセスログから、セッション毎の画面遷移を表すデータが画面遷移データとして変換される。そして、文字列間距離演算を用いて画面遷移データにおける画面遷移のパターン間の類似度が算出され、当該類似度に基づいて画面遷移のパターンがクラスタリングされる。当該クラスタリングの情報は、記憶装置に格納され、アクセスログの分析に用いられる。 In order to solve the above problems, in the present invention, clustering is performed so that similar screen transitions belong to the same cluster, and the frequency of each cluster is aggregated to quantitatively represent a user's behavior pattern on the website. Provide technology. That is, in the present invention, data representing screen transition for each session is converted as screen transition data from the access log. Then, the similarity between the screen transition patterns in the screen transition data is calculated using the distance calculation between character strings, and the screen transition patterns are clustered based on the similarity. The clustering information is stored in a storage device and used for access log analysis.
本発明によれば、Webサイトにおいて、ユーザのマクロ的な画面遷移パターンを精密かつ定量的に把握することが可能となる。これにより、ユーザの画面遷移パターンに応じたWebサイトの構築や、キャンペーン施策前後のユーザの行動の変化の分析や、正規ユーザになりすましてログインしたユーザの検出などのアクセス解析を効率化することができる。 According to the present invention, it is possible to accurately and quantitatively grasp a user's macro screen transition pattern on a website. This makes it possible to improve the efficiency of access analysis, such as the construction of a website according to the user's screen transition pattern, analysis of changes in user behavior before and after campaign measures, and detection of users who impersonated regular users and logged in it can.
なお、上述した以外の課題、構成及び効果は、以下の本発明を実施するための形態および添付図面によって明らかになるものである。 Problems, configurations, and effects other than those described above will become apparent from the following embodiments for carrying out the present invention and the accompanying drawings.
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。 Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. However, it should be noted that this embodiment is merely an example for realizing the present invention, and does not limit the technical scope of the present invention. In each drawing, the same reference numerals are assigned to common components.
以後の説明では「プログラム」を主語として説明を行うが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御装置)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。 In the following description, “program” will be the subject, but the program is executed by the processor, and processing determined by using the memory and communication port (communication control device) will be performed. It is good. Further, the processing disclosed with the program as the subject may be processing performed by a computer such as a management server or an information processing apparatus. Part or all of the program may be realized by dedicated hardware, or may be modularized. Various programs may be installed in each computer by a program distribution server or a storage medium.
<データ分析装置の構成>
図1は、本発明の実施形態によるデータ分析装置の概略構成を示す機能ブロック図である。このデータ分析装置は、必要な演算処理及び制御処理等を行う中央処理装置(プロセッサ)100と、データの入出力を行うための入出力装置110と、中央処理装置100での処理に必要なプログラムを格納するプログラムメモリ120と、中央処理装置100での処理対象となるデータまたは処理後のデータを格納する記憶装置130を有している。
<Configuration of data analyzer>
FIG. 1 is a functional block diagram showing a schematic configuration of a data analysis apparatus according to an embodiment of the present invention. The data analysis apparatus includes a central processing unit (processor) 100 that performs necessary arithmetic processing and control processing, an input / output device 110 for inputting and outputting data, and a program required for processing in the
入出力装置110は、データを表示するための表示装置111やプリンタ(図示せず)等で構成される出力デバイスと、表示されたデータに対してメニューを選択するなどの操作を行うためのキーボード112、マウスなどのポインティングデバイス113と、を有している。
The input / output device 110 includes a
プログラムメモリ120は、Webサイトにおけるアクセスログを分析し、セッション単位のデータに変換するセッションデータ生成プログラム121と、セッション単位のデータにおける画面遷移のパターンを集計する画面遷移集計プログラム122と、画面遷移のパターンをクラスタリングするクラスタリングプログラム123と、ユーザパターン集計プログラム124と、を格納している。なお、各処理プログラムは、プログラムコードとしてプログラムメモリ120に格納されており、中央処理装置100が各プログラムコードを実行することによって各処理が実現される。
The
記憶装置130は、あらかじめ蓄積されたアクセスログが格納されたアクセスログデータ131と、アクセスログデータから抽出したセッション単位の情報が格納されたセッションデータ132と、セッションデータにおける画面遷移のパターンを格納する画面遷移データ133と、ユーザ毎の画面遷移のクラスタリング結果の比率を格納するユーザパターンデータ134と、を格納している。なお、記憶装置130は、ネットワークを介して遠隔的に配置されていているストレージシステムであってもよい。
The
以上に述べた処理プログラム・データ・各プログラム等は、CD−ROM、DVD−ROM、MO、フロッピー(登録商標)ディスク、USBメモリ等の種々の記録媒体に格納して提供することもできる。 The processing program, data, each program, etc. described above can be provided by being stored in various recording media such as a CD-ROM, DVD-ROM, MO, floppy (registered trademark) disk, USB memory or the like.
<アクセスログデータ>
図2は、記憶装置130内のアクセスログデータ131の一例を示す図である。アクセスログデータは、アクセスログの取得対象のWebサイトにおいてユーザが各画面にアクセスした際の情報が格納されている。セッションID201はセッションを一意に表すIDである。セッションIDは、ユーザがWebサイトにログインしてから別のWebサイトに遷移またはWebブラウザを閉じるまで同一セッションIDが付与される。アクセス日時202は、ユーザが当該画面にアクセスした日時を表す。ユーザID203は、ユーザIDを一意に表すIDであり、当該画面にアクセスしたユーザのユーザIDが格納される。アクセス画面ID204は、ユーザがアクセスした画面のIDを表す。アクセス画面IDは画面ごとに一意に決まっている。
<Access log data>
FIG. 2 is a diagram illustrating an example of the
なお、アクセス対象のWebサイトは、ユーザIDを取得するため、例えばログイン(ユーザ認証)を前提とするものである。 The Web site to be accessed is premised on, for example, login (user authentication) in order to acquire a user ID.
<セッションデータ>
図3は、記憶装置130内のセッションデータ132の一例を示す図である。セッションID301は、アクセスログデータ131におけるセッションID201と同一である。アクセス開始日時302は、同一セッションにおける画面遷移の中で、最初の画面にアクセスした時のアクセス日時である。ユーザID303は、アクセスログデータ131におけるユーザID203と同一である。画面遷移304は、同一セッションにおいて遷移した画面のアクセス画面IDを、アクセス順に列挙したものである。例えば、(A, B, C)であれば、アクセス画面IDが「A」「B」「C」の画面を順にアクセスしたことを表す。
<Session data>
FIG. 3 is a diagram illustrating an example of the
なお、図3において、セッションIDがd00001234での画面遷移が(A, B, C)、d00001236での画面遷移が(E, B, C, D)となっている。アクセス画面IDが同一のもの(例えば、BやC)は同一画面を示しているが、入口となるトップページがAとEで異なるものとなっている。これは、入口となるトップページが複数種類設けられているためである。例えば、画面AがPC用トップページを示し、画面Eがモバイル用トップページを示している。 In FIG. 3, the screen transition when the session ID is d00001234 is (A, B, C), and the screen transition when d00001236 is (E, B, C, D). The same access screen ID (for example, B or C) indicates the same screen, but the top page as the entrance is different between A and E. This is because a plurality of types of top pages serving as entrances are provided. For example, the screen A shows the PC top page, and the screen E shows the mobile top page.
<画面遷移データ>
図4は、記憶装置130内の画面遷移データ133の一例を示す図である。No.401は各レコードすなわち画面遷移を一意に表すIDである。画面遷移402は、セッションデータ132における画面遷移304と同様に、同一セッションにおいて遷移した画面のアクセス画面IDを、アクセス順に列挙したものである。なお、画面遷移データ133においては、同一の画面遷移は1レコードにまとめられる。クラスタID403は、画面遷移をクラスタリングした結果が該当するクラスタを表すIDである。画面遷移データは元の画面遷移と当該画面遷移が属するクラスタとの対応を表す。
<Screen transition data>
FIG. 4 is a diagram illustrating an example of the
<ユーザパターンデータ>
図5は、記憶装置130内のユーザパターンデータ134の一例を示す図である。ユーザID501は、アクセスログデータ131におけるユーザID203と同一である。クラスタID502は、画面遷移データ133におけるクラスタID403と同一であり、当該ユーザの画面遷移を、画面遷移データにおける該当するクラスタIDで置き換えたものである。比率503は、当該ユーザにおける全セッション数に対する当該クラスタIDをもつセッション数の比率を表す。
<User pattern data>
FIG. 5 is a diagram showing an example of
<データ分析装置における処理概要>
上述の構成を有するデータ分析装置において行われる処理について説明する。まず、中央処理装置100は、セッションデータ生成プログラム121を用いて、記憶装置130におけるアクセスログデータ131を読み込み、セッションデータ132を生成する。
<Outline of processing in data analyzer>
Processing performed in the data analysis apparatus having the above-described configuration will be described. First, the
次に、画面遷移集計プログラム122が実行される。記憶装置130からセッションデータ132を読み込み、網羅的かつ重複がない状態で画面遷移を集計し、得られた画面遷移データ133を記憶装置130に格納する。次にクラスタリングプログラム123が実行される。クラスタリングとは、類似の画面遷移パターンを同一のクラスタに分類する処理である。クラスタリング結果を画面遷移データに書込み、記憶装置130に格納する。
Next, the screen
続いて、ユーザパターン集計プログラムが実行される。記憶装置130からセッションデータ132と画面遷移データ133を読み込み、セッションデータをユーザ単位に集計し、各ユーザの画面遷移をクラスタリング結果で置き換え、各ユーザのセッション数に対する各クラスタの比率を計算し、ユーザパターンデータ134として記憶装置130に格納する。それぞれの処理については、以下詳細に説明する。
Subsequently, a user pattern totaling program is executed. The
<セッションデータ生成処理>
図7は、セッションデータ生成プログラム121が実行するセッションデータ生成処理を説明するためのフローチャートである。ここでの動作主体はセッションデータ生成プログラムである。セッションデータ生成処理では、図2のようなアクセスログデータをもとに図3のようなセッションデータを生成する処理を行う。
<Session data generation processing>
FIG. 7 is a flowchart for explaining session data generation processing executed by the session
ステップ701では、アクセスログデータ131を読み込む。
In step 701, the
ステップ702では、未処理のセッションIDを抽出する。すなわち、ステップ703からステップ706ではセッションID単位の処理を行うため、これらの処理をまだ行っていないセッションIDを抽出する。 In step 702, an unprocessed session ID is extracted. In other words, since processing is performed in units of session IDs from step 703 to step 706, session IDs that have not been subjected to these processings are extracted.
ステップ703では、ステップ702で抽出されたセッションIDを持つレコードを抽出する。 In step 703, the record having the session ID extracted in step 702 is extracted.
ステップ704では、ステップ703で抽出されたレコードの中で、最も古いアクセス日時をもつレコードの中からアクセス日時を取得し、これをアクセス開始日時とする。
In
ステップ705では、ステップ703で抽出したレコードから、アクセス日時の昇順にアクセス画面IDを列挙したデータ(画面遷移データ)を生成する。例えば、ステップ703で抽出したレコードにおいて、セッションIDが「d00001234」のレコードが3件あり、アクセス日時が古い順にアクセス画面IDが「A」「B」「C」であった場合の画面遷移データは(A, B, C)となる。 In step 705, data (screen transition data) listing access screen IDs in ascending order of access date and time is generated from the record extracted in step 703. For example, in the record extracted in step 703, there are 3 records with the session ID “d00001234”, and the screen transition data when the access screen IDs are “A”, “B”, and “C” in order from the oldest access date (A, B, C).
ステップ706では、得られた各データ、すなわちセッションID、アクセス開始日時、ユーザID、画面遷移、をセッションデータにおける1レコードとして格納する。このような処理を全セッションIDに対して行う。 In step 706, the obtained data, that is, the session ID, access start date / time, user ID, and screen transition are stored as one record in the session data. Such processing is performed for all session IDs.
ステップ707では、全セッションIDを処理したか否かを判定する。判定結果が真の場合には処理を終了する。偽の場合にはステップ702に戻る。
In
<画面遷移集計処理>
図8は、画面遷移集計プログラム122が実行する画面遷移集計処理を説明するためのフローチャートである。ここでの動作主体は画面遷移集計プログラムである。画面遷移集計処理では、図3のようなセッションデータをもとに図4のような画面遷移データを生成する処理を行う。なお、画面遷移の集計は、所定期間ごと(例えば、3ヶ月単位)に行われる。
<Screen transition aggregation processing>
FIG. 8 is a flowchart for explaining the screen transition totaling process executed by the screen
ステップ801では、セッションデータ132を読み込む。
In step 801, the
ステップ802では、セッションデータにおける未処理のレコードを読み込む。
In
ステップ803では、ステップ802で読み込んだレコードにおける画面遷移が、画面遷移データ133に登録済か否かを判定する。登録済であればステップ805に進み、登録済でなければステップ804に進む。
In step 803, it is determined whether the screen transition in the record read in
ステップ804では、ステップ802で読み込んだレコードにおける画面遷移を画面遷移データ133に登録する。すなわち、画面遷移データ133における1レコードとして、No.、画面遷移を格納する。No.は一意の番号を任意に付与する。この時、クラスタIDにはデータが格納されていない状態(Null値)である。
In
ステップ805では、セッションデータ132における全レコードを処理したか否かを判定する。処理していないならステップ802に戻り、処理していれば処理を終了する。
In
<クラスタリング処理>
図9は、クラスタリングプログラム123が実行するクラスタリング処理を説明するためのフローチャートである。ここでの動作主体はクラスタリングプログラムである。クラスタリング処理では、図4のような画面遷移データにおいて、画面遷移402を基にクラスタリング処理を行い、クラスタID403を求める処理を行う。
<Clustering processing>
FIG. 9 is a flowchart for explaining the clustering process executed by the
図6は、クラスタリング処理を説明するための模式図である。以降、図4、図6の例を使用して図9のフローチャートに沿って説明する。 FIG. 6 is a schematic diagram for explaining the clustering process. Hereinafter, description will be made along the flowchart of FIG. 9 using the examples of FIGS.
ステップ901では、画面遷移データを読み込む。例として図4における(1)から(5)のデータが格納されているものとする。また、このときの画面構造は図6(a)のように定義されているものとする。図6(a)において、各矩形は画面を表し、付与されている文字は画面IDを表す。また、画面間の線はリンクを表す。 In step 901, screen transition data is read. As an example, assume that data (1) to (5) in FIG. 4 are stored. The screen structure at this time is defined as shown in FIG. In FIG. 6A, each rectangle represents a screen, and the attached character represents a screen ID. Moreover, the line between screens represents a link.
ステップ902では、クラスタ間の類似度を求める。初期状態では、全画面遷移がシングルトン、すなわち当該画面遷移のみで構成されるクラスタの状態から開始する。クラスタ間の類似度は、図6(b)に示すように全ペア総当りで求める。この時、類似度は式(1)にしたがって求める。
In
S(a,b) = Len(LCS(a,b)) / Dist(a,b) ・・・ (1) S (a, b) = Len (LCS (a, b)) / Dist (a, b) (1)
式(1)において、S(a,b)は、画面遷移aと画面遷移bの類似度を表す。LCS(a,b)は画面遷移aと画面遷移bのLCSを表す。Len(a)は画面遷移aを構成する画面数を表す。Dist(a,b)は、画面遷移aと画面遷移b間における文字列間距離を表す。文字列間距離とは、2つの文字列がどれだけ異なるかを距離として表した情報である。文字列間距離には、例えば、レーベンシュタイン距離や、ジャロ・ウィンクラー距離等がある。文字列間距離は任意に選択可能であるが、本実施形態ではレーベンシュタイン距離を使用して説明する。レーベンシュタイン距離を求める手法としては、非特許文献2に示すようなDPマッチングと呼ばれる手法がある。非特許文献2に示すように、DPマッチングとは、2つのオブジェクト(文字・DNA・音声等)間で非線形伸縮させ、最も整合した状態をマッチング結果とするマッチング方法である。DPマッチングにおいて、オブジェクト間の不整合の尺度として、ズレに対するペナルティPzと、不一致に対するペナルティPnがある。経験的にペナルティの設定値は、Pz:Pnが1:3となるように設定することが好ましい。画面遷移に適用した場合、例えばPz=1, Pn=3, a=(A,B,C), b=(A,B,D)の時、Dist(a,b)=3となる。また、式(1)を用いて前述したP=(A,S,F), Q=(A,T,F), R=(A,V,W,X,Y,Z,F)の類似度を求めると、Dist(P,Q)=3, Dist(P,R)=19となるため、S(P,Q)=2/3, S(P,R)=2/19となり、LCSのみを用いた場合よりもより精密なマッチングが可能となる。LCSは、画面遷移間で不一致の画面が多数含まれていても不問であることが精密なマッチングの際の問題となるが、文字列間距離を組み合わせて類似度を求めることにより、LCSで不問としていた不一致画面をペナルティとして考慮できるため、より精密なマッチングが可能となる。クラスタに複数の画面遷移が含まれている場合は別処理が必要になるがそれについては後述する。
In equation (1), S (a, b) represents the similarity between screen transition a and screen transition b. LCS (a, b) represents the LCS of screen transition a and screen transition b. Len (a) represents the number of screens constituting the screen transition a. Dist (a, b) represents the distance between character strings between screen transition a and screen transition b. The distance between character strings is information that represents how much two character strings differ as a distance. Examples of the distance between character strings include a Levenshtein distance and a Jaro-Winkler distance. Although the distance between character strings can be arbitrarily selected, in the present embodiment, description will be made using the Levenshtein distance. As a method for obtaining the Levenshtein distance, there is a method called DP matching as shown in
フローチャートに戻り、ステップ903では、求めたクラスタ間類似度の中から最大の類似度Smaxを求める。図6(b)では、クラスタペア(4)-(5)の場合の1.67が最大値となるためこの値をSmaxとする。
Returning to the flowchart, in
ステップ904では、Smaxが類似度閾値ST以上か否かを判定する。STはどのくらいの画面遷移を類似しているとみなすかに応じて変更可能である。本実施形態ではST=0.8として説明する。判定結果が真の場合はステップ905に進み、偽の場合はステップ906に進む。
In
ステップ905では、ステップ903で類似度が最大となったクラスタペアをマージする。すなわち、クラスタペアに含まれる画面遷移を同一クラスタに含め、同一のクラスタIDを付与する。図6の例では、(4)-(5)のペアに対してC1というクラスタIDを付与している。
In
ステップ902に戻り、再度クラスタ間類似度を求める。1回目のループではすべてのクラスタがシングルトンであったが、2回目のループでは複数の画面遷移を含むクラスタがあるため、類似度の求め方が異なる。具体的には、両クラスタに含まれる画面遷移間の総当りで類似度を求め、その最小値を当該クラスタ間の類似度とする。例えば、(1)とC1の類似度を求める場合には、C1に含まれる画面遷移と(1)との総当りで類似度を求め、その最小値を(1)とC1の類似度とする。C1は(4)と(5)を含むため、(1)-(4)と(1)-(5)の類似度を求める。(1)-(4)の類似度は0.06、(1)-(5)の類似度は0.15であり、最小値は0.06であるためこれを(1)とC1の類似度とする。クラスタに含まれる画面遷移における類似度の最小値を採用することにより、クラスタ内の画面遷移すべてが一定以上の類似度を持つことになり精密なクラスタリングが可能となる。このようにして、図6(c)のようにクラスタペアの類似度を求める。 Returning to step 902, the similarity between clusters is obtained again. In the first loop, all clusters were singletons, but in the second loop, there are clusters that contain multiple screen transitions, so the method of obtaining similarity is different. Specifically, the similarity is obtained by brute force between screen transitions included in both clusters, and the minimum value is set as the similarity between the clusters. For example, when calculating the similarity between (1) and C1, calculate the similarity between the screen transitions included in C1 and (1), and set the minimum value as the similarity between (1) and C1. . Since C1 includes (4) and (5), the similarity between (1)-(4) and (1)-(5) is obtained. Since the similarity between (1)-(4) is 0.06, the similarity between (1)-(5) is 0.15, and the minimum value is 0.06, this is the similarity between (1) and C1. By adopting the minimum value of the similarity in the screen transitions included in the cluster, all the screen transitions in the cluster have a certain degree of similarity, and precise clustering is possible. In this way, the cluster pair similarity is obtained as shown in FIG.
ステップ903ではSmaxを求める。図6(c)の場合は(1)-(2)の類似度が1.0であり最大値となる。
In
ステップ904ではSmax=1.0がST=0.8以上であるか判定する。真であるため、(1)と(2)をマージする。すなわち、クラスタを一意に表すクラスタIDを付与する。この例ではC2を付与する。
In
以後、ステップ904が偽、すなわちSmaxがST未満となるまでループを繰り返す。偽の場合、ステップ906に進み、シングルトンの画面遷移にクラスタIDを付与する。すなわち、ステップ902からステップ905までの処理でどの画面遷移とも同一クラスタにならなかった画面遷移に対してクラスタIDを付与する。図6の例では(3)はシングルトンであるため、この処理によってC3というクラスタIDが付与された。
Thereafter,
ステップ907では、このようにして得られたクラスタの情報、すなわち、各画面遷移のクラスタIDを画面遷移データに書き込み、記憶装置130に格納する。図4はこの例における最終的に得られた画面遷移データを示している。
In step 907, the cluster information thus obtained, that is, the cluster ID of each screen transition is written in the screen transition data and stored in the
<ユーザパターン集計処理>
図10は、ユーザパターン集計プログラム124が実行するユーザパターン集計処理を説明するためのフローチャートである。ここでの動作主体はユーザパターン集計プログラムである。ユーザパターン集計処理では、図3のようなセッションデータから、図4のような画面遷移データを用いて、ユーザ毎のクラスタIDの比率を求め、図5のようなユーザパターン集計データを生成する処理を行う。
<User pattern aggregation processing>
FIG. 10 is a flowchart for explaining the user pattern totaling process executed by the user
ステップ1001では 、セッションデータと画面遷移データを読み込む。
In
ステップ1002では、セッションデータをユーザ単位に集計する。すなわち、ユーザIDをキーとしてセッションデータから同一ユーザのレコードを抽出しユーザ単位に集計する処理を行う。 In step 1002, session data is totaled for each user. That is, a process of extracting records of the same user from the session data using the user ID as a key and totaling them for each user.
ステップ1003では、ユーザ単位に集計したセッション群の中から未処理のユーザのセッション群を選択する。
In
ステップ1004では、ステップ1003で選択したセッション群における各セッションの画面遷移に対応するクラスタIDを、画面遷移データを参照することで求め、画面遷移をクラスタIDで置き換える。
In
ステップ1005では、当該セッション群におけるセッション数に対する、各クラスタIDの比率を求め、クラスタID及びその比率をユーザパターンデータに格納する。例えば、当該セッション群におけるセッション数が100でクラスタC1の数12であれば比率は0.12となる。
In
ステップ1006では、全ユーザのセッションデータを処理したか否かを判定する。判定結果が偽であればステップ1003に戻り、真であれば処理を終了する。 In Step 1006, it is determined whether or not all user session data has been processed. If the determination result is false, the process returns to step 1003, and if true, the process ends.
<まとめ>
本発明の実施形態によるデータ分析装置では、Webサイトのアクセスログがあらかじめ取得される。このアクセスログには、ユーザが対象Webサイトにログインした時から対象Webサイト外に離脱するまでの情報が記録される。このアクセスログをもとに、セッション単位のデータ(セッションデータ)に変換する。これには同一セッションにおいてユーザがアクセスした画面の遷移情報が記録される。次に、データ分析装置は、このセッションデータをもとにして、画面遷移の種類を網羅的に求める。さらに、データ分析装置は、セッションデータに基づいて、画面遷移間で類似度を求め、類似度をもとにして画面遷移のクラスタリングを行う。この時、類似度を求める際にLCSだけでなく、文字列間距離演算(一例としてDPマッチング)も使用することで、ユーザのマクロ的な画面遷移傾向をより精密なマッチングが可能となる。そして、データ分析装置は、セッションデータをユーザ単位に分類後、画面遷移データを参照してユーザの各画面遷移をクラスタIDに変換する。そしてユーザのセッション数に対する各クラスタIDの比率を求め、ユーザパターンデータを生成する。得られたユーザパターンは、ユーザがアクセスした画面遷移がクラスタIDに置き換えられた後の比率を保持している。このようにして得られたクラスタリング結果は、細かな画面遷移の違いは吸収され、よりマクロな視点での画面遷移パターンを表している。従って、Webサイトにおいて、ユーザがどのような画面遷移を行ったかをより容易かつ正確に把握することが可能となる。
<Summary>
In the data analysis apparatus according to the embodiment of the present invention, an access log of a website is acquired in advance. In this access log, information from when the user logs in to the target website until it leaves the target website is recorded. Based on the access log, the data is converted into session unit data (session data). In this, the transition information of the screen accessed by the user in the same session is recorded. Next, the data analysis apparatus comprehensively obtains the types of screen transitions based on the session data. Furthermore, the data analysis apparatus obtains a similarity between screen transitions based on the session data, and performs screen transition clustering based on the similarity. At this time, when calculating the similarity, not only LCS but also calculation of distance between character strings (DP matching as an example) enables more precise matching of the user's macro screen transition tendency. The data analysis apparatus classifies the session data in units of users and then converts each screen transition of the user into a cluster ID with reference to the screen transition data. Then, the ratio of each cluster ID to the number of user sessions is obtained, and user pattern data is generated. The obtained user pattern holds the ratio after the screen transition accessed by the user is replaced with the cluster ID. The clustering result obtained in this way represents a screen transition pattern from a more macro viewpoint, with the difference between fine screen transitions absorbed. Therefore, it is possible to more easily and accurately grasp what screen transition the user has performed on the website.
なお、本発明は、実施形態そのままに限定されるものではなく、実施段階では、その要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。 Note that the present invention is not limited to the embodiments as they are, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiments. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.
また、実施形態で示された各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。また、上記各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現しても良い。各機能等を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録或いは記憶装置、またはICカード、SDカード、DVD等の記録或いは記憶媒体に格納することができる。 In addition, each configuration, function, processing unit, processing unit, and the like described in the embodiments may be realized in hardware by designing a part or all of them with, for example, an integrated circuit. Further, each of the above-described configurations, functions, etc. may be realized by software by the processor interpreting and executing a program that realizes each function. Information such as programs, tables, and files for realizing each function is stored in a recording or storage device such as a memory, hard disk, or SSD (Solid State Drive), or in a recording or storage medium such as an IC card, SD card, or DVD. be able to.
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。 Furthermore, in the above-described embodiment, control lines and information lines are those that are considered necessary for explanation, and not all control lines and information lines on the product are necessarily shown. All the components may be connected to each other.
100 中央処理装置(プロセッサ)
110 入出力装置
111 表示装置
112 キーボード
113 マウス
120 プログラムメモリ
121 セッションデータ生成プログラム
122 画面遷移集計プログラム
123 クラスタリングプログラム
124 ユーザパターン集計プログラム
130 記憶装置
131 アクセスログデータ
132 セッションデータ
133 画面遷移データ
134 ユーザパターンデータ
100 Central processing unit (processor)
110 I / O devices
111 Display device
112 keyboard
113 mouse
120 program memory
121 Session data generator
122 Screen transition summary program
123 Clustering program
124 User pattern aggregation program
130 storage devices
131 Access log data
132 Session data
133 Screen transition data
134 User pattern data
Claims (14)
前記アクセスログを分析するプログラムを実行するプロセッサと、
前記アクセスログを分析可能にするための管理情報を格納するための記憶装置と、を有し、
前記プロセッサは、
前記アクセスログから、セッション毎の画面遷移を表すデータを画面遷移データとして変換する処理と、
文字列間距離演算を用いて前記画面遷移データにおける画面遷移のパターン間の類似度を算出し、当該類似度に基づいて前記画面遷移のパターンをクラスタリングする処理と、
前記クラスタリングの情報を前記記憶装置に格納する処理と、
を実行するデータ分析装置。 A data analysis device for analyzing access logs,
A processor that executes a program for analyzing the access log;
A storage device for storing management information for enabling analysis of the access log,
The processor is
From the access log, a process of converting data representing screen transition for each session as screen transition data;
A process of calculating a similarity between screen transition patterns in the screen transition data using a distance calculation between character strings, and clustering the screen transition patterns based on the similarity,
Processing for storing the clustering information in the storage device;
Data analysis device that executes.
前記プロセッサは、さらに、前記クラスタリングする処理の結果をユーザ毎のセッション群における前記画面遷移に適用し、クラスタリング後の画面遷移の比率を集計する処理を実行するデータ分析装置。 In claim 1,
The data analysis apparatus further executes a process of applying a result of the clustering process to the screen transition in a session group for each user and totaling a ratio of screen transitions after clustering.
前記プロセッサは、前記クラスタリングする処理において、ユーザ毎に前記画面遷移のパターンをクラスタリングする、データ分析装置。 In claim 1,
The data analysis apparatus, wherein the processor clusters the screen transition patterns for each user in the clustering process.
前記プロセッサは、前記クラスタリングする処理において、前記画面遷移のパターンのペアについて前記類似度が所定値以上を示す場合に当該ペアを1つのクラスタに分類する、データ分析装置。 In claim 1,
The data analysis apparatus, wherein in the clustering process, the processor classifies the pair into one cluster when the similarity degree of the screen transition pattern pair indicates a predetermined value or more.
前記プロセッサは、前記クラスタリングする処理において、前記画面遷移のパターンのペアについて前記類似度が所定値以上を示すものがなくなった場合には、前記クラスタに分類された前記画面遷移のパターンに含まれるパターン以外の前記画面遷移のパターンのそれぞれを単一のクラスタとして分類する、データ分析装置。 In claim 4,
In the clustering process, the processor includes a pattern included in the screen transition pattern classified into the cluster when there is no similarity between the screen transition pattern pair and the similarity is equal to or greater than a predetermined value. A data analysis apparatus that classifies each of the screen transition patterns other than as a single cluster.
前記画面遷移のパターンは、同一セッション内での画面遷移を含む、データ分析装置。 In claim 1,
The data analysis apparatus, wherein the screen transition pattern includes screen transition in the same session.
前記アクセスログは、ユーザ認証を必要とするWebサイトに対するアクセスログである、データ分析装置。 In claim 1,
The data analysis apparatus, wherein the access log is an access log for a website that requires user authentication.
アクセスログを分析するプログラムを実行するプロセッサが、前記アクセスログから、セッション毎の画面遷移を表すデータを画面遷移データとして変換するステップと、
前記プロセッサが、文字列間距離演算を用いて前記画面遷移データにおける画面遷移のパターン間の類似度を算出し、当該類似度に基づいて前記画面遷移のパターンをクラスタリングするステップと、
前記プロセッサが、前記クラスタリングの情報を、前記アクセスログを分析可能にするための管理情報を格納する記憶装置に格納するステップと、
を含むデータ分析方法。 A data analysis method for analyzing access logs,
A processor that executes a program for analyzing an access log converts data representing a screen transition for each session as screen transition data from the access log;
The processor calculates a similarity between screen transition patterns in the screen transition data using a distance calculation between character strings, and clusters the screen transition patterns based on the similarity;
The processor storing the clustering information in a storage device for storing management information for enabling the access log to be analyzed;
Data analysis method including.
前記プロセッサが、前記クラスタリングする処理の結果をユーザ毎のセッション群における前記画面遷移に適用し、クラスタリング後の画面遷移の比率を集計するステップを含むデータ分析方法。 The claim 8, further comprising:
A data analysis method including a step in which the processor applies a result of the clustering process to the screen transition in a session group for each user, and totals a ratio of screen transitions after clustering.
前記クラスタリングするステップにおいて、前記プロセッサは、ユーザ毎に前記画面遷移のパターンをクラスタリングする、データ分析方法。 In claim 8,
The data analysis method, wherein in the clustering step, the processor clusters the screen transition patterns for each user.
前記クラスタリングするステップにおいて、前記プロセッサは、前記画面遷移のパターンのペアについて前記類似度が所定値以上を示す場合に当該ペアを1つのクラスタに分類する、データ分析方法。 In claim 8,
The data analysis method, wherein in the clustering step, the processor classifies the pair into one cluster when the similarity degree of the screen transition pattern pair indicates a predetermined value or more.
前記クラスタリングするステップにおいて、前記プロセッサは、前記画面遷移のパターンのペアについて前記類似度が所定値以上を示すものがなくなった場合には、前記クラスタに分類された前記画面遷移のパターンに含まれるパターン以外の前記画面遷移のパターンのそれぞれを単一のクラスタとして分類する、データ分析方法。 In claim 11,
In the clustering step, the processor includes a pattern included in the screen transition pattern classified into the cluster when there are no more similarities in the screen transition pattern pair indicating the predetermined value. A data analysis method for classifying each of the screen transition patterns other than as a single cluster.
前記画面遷移のパターンは、同一セッション内での画面遷移を含む、データ分析方法。 In claim 8,
The data analysis method, wherein the screen transition pattern includes screen transition in the same session.
前記アクセスログは、ユーザ認証を必要とするWebサイトに対するアクセスログである、データ分析方法。 In claim 8,
The data analysis method, wherein the access log is an access log for a website that requires user authentication.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015059112A JP2016177728A (en) | 2015-03-23 | 2015-03-23 | Data analysis apparatus and data analysis method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015059112A JP2016177728A (en) | 2015-03-23 | 2015-03-23 | Data analysis apparatus and data analysis method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016177728A true JP2016177728A (en) | 2016-10-06 |
Family
ID=57071210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015059112A Pending JP2016177728A (en) | 2015-03-23 | 2015-03-23 | Data analysis apparatus and data analysis method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016177728A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019219900A (en) * | 2018-06-20 | 2019-12-26 | 株式会社日立製作所 | Screen analysis support device and screen analysis support method |
JP7034459B1 (en) | 2021-06-14 | 2022-03-14 | 株式会社Insight science | Information processing equipment, information processing systems, and programs |
WO2023042592A1 (en) * | 2021-09-14 | 2023-03-23 | Nec Corporation | Method and apparatus for determining abnormal behaviour during cycle |
-
2015
- 2015-03-23 JP JP2015059112A patent/JP2016177728A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019219900A (en) * | 2018-06-20 | 2019-12-26 | 株式会社日立製作所 | Screen analysis support device and screen analysis support method |
JP7001550B2 (en) | 2018-06-20 | 2022-01-19 | 株式会社日立製作所 | Screen analysis support device and screen analysis support method |
JP7034459B1 (en) | 2021-06-14 | 2022-03-14 | 株式会社Insight science | Information processing equipment, information processing systems, and programs |
JP2022190645A (en) * | 2021-06-14 | 2022-12-26 | 株式会社Insight science | Information processing apparatus, information processing system, and program |
WO2023042592A1 (en) * | 2021-09-14 | 2023-03-23 | Nec Corporation | Method and apparatus for determining abnormal behaviour during cycle |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tang et al. | Negative link prediction in social media | |
CN106446228B (en) | Method and device for collecting and analyzing WEB page data | |
Zafarani et al. | Connecting users across social media sites: a behavioral-modeling approach | |
Fronza et al. | Failure prediction based on log files using random indexing and support vector machines | |
Wang et al. | Cooperative coevolution with formula-based variable grouping for large-scale global optimization | |
Ren et al. | Ensemfdet: An ensemble approach to fraud detection based on bipartite graph | |
JP7103496B2 (en) | Related score calculation system, method and program | |
Wang et al. | Time-variant graph classification | |
EP3608802A1 (en) | Model variable candidate generation device and method | |
JP6577914B2 (en) | Business process generation program and business process generation method | |
JP2022037955A (en) | System for selecting learning model | |
Intayoad et al. | Applying process mining in manufacturing and logistic for large transaction data | |
JP2016177728A (en) | Data analysis apparatus and data analysis method | |
Hostiadi et al. | Dataset for Botnet group activity with adaptive generator | |
CN103336800A (en) | Fingerprint storage and comparison method based on behavior analysis | |
Dong et al. | Teledata: data mining, social network analysis and statistics analysis system based on cloud computing in telecommunication industry | |
Dick et al. | An empirical investigation of Web session workloads: Can self-similarity be explained by deterministic chaos? | |
Eken et al. | Predicting defects with latent and semantic features from commit logs in an industrial setting | |
Wu et al. | Event evolution model based on random walk model with hot topic extraction | |
Sangaralingam et al. | Predicting age & gender of mobile users at scale-a distributed machine learning approach | |
Jittawiriyanukoon | Evaluation of a multiple regression model for noisy and missing data | |
JP2011123652A (en) | Data analysis system and method thereof | |
ALI et al. | A Novel Leader Election Algorithm for Honeycomb Mesh Networks | |
JP6496078B2 (en) | Analysis support device, analysis support method, and analysis support program | |
Cui et al. | User Behavior Auditing in Electric Management Information System based on Graph Clustering |