(57)【要約】【課題】複数サーバに渡るユーザの行動を解析するために、トラフィックデータから、ユーザによるサイトへの書込み行為に関するデータを解析できるように分離する。【解決手段】トラフィックデータ抽出装置１は、トラフィックデータからHTTP POSTメッセージおよびそれに対するレスポンスメッセージを抽出し、リクエストヘッダ及びレスポンスヘッダの値が数値で表されていない場合に、当該質的データを変換規則３６により数値データに変換するデータ変換手段２３と、変換された数値データからなるベクトルを、SVMのモデルから予め求められた識別関数ｆに入力して演算し、その演算結果により、抽出されたHTTP POSTメッセージを、書込みとそれ以外とに分類する書込行為分類手段２４とを備える。【選択図】図２
2011175326.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上のアプリケーションを提供するサーバと、ユーザの操作により前記サーバにアクセスするクライアントと、ネットワークからデータを抽出するトラフィックデータ抽出装置とを備え、ネットワークにおける前記ユーザの行動を推測するユーザ行動推測システムにおける前記トラフィックデータ抽出装置であって、
ユーザによるネットワーク上の情報入力行為を、ユーザの嗜好、感情または意見を表すものとして入力するサイトへの書込み行為と、前記書込み行為以外で形式的に入力するサイトへの単純入力行為とに分類するために、予め定められたSVM（Support vector machine）のモデルから予め求められた前記書込み行為と前記単純入力行為とを識別する識別関数と、
HTTP POSTメッセージ及びそのレスポンスメッセージにおいてヘッダの値が数値で表されていない場合の当該ヘッダの値を示す質的データを前記識別関数へ入力可能な数値データに変換する変換規則とを記憶する記憶手段と、
前記ネットワークからトラフィックデータとしてパケットを抽出するパケット抽出手段と、
前記抽出されたトラフィックデータからHTTP POSTメッセージ及び当該HTTP POSTメッセージに対するレスポンスメッセージを抽出するメッセージ抽出手段と、
前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれのヘッダの内容を解析し、ヘッダの値が数値で表されていない場合に、当該質的データを前記変換規則により数値データに変換するデータ変換手段と、
前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれの予め定められたヘッダについての数値データ及び前記質的データから変換された数値データからなるベクトルを前記識別関数に入力して演算し、その演算結果により、当該抽出されたHTTP POSTメッセージを、前記書込み行為と前記単純入力行為とに分類する書込行為分類手段と、
を備えることを特徴とするトラフィックデータ抽出装置。
【請求項２】
ネットワーク上のアプリケーションを提供するサーバと、ユーザの操作により前記サーバにアクセスするクライアントと、ネットワークからデータを抽出するトラフィックデータ抽出装置とを備え、ネットワークにおける前記ユーザの行動を推測するユーザ行動推測システムにおける前記トラフィックデータ抽出装置が抽出したデータからサイトへの書込み行為に関するデータを分離するトラフィックデータ分離方法であって、
前記トラフィックデータ抽出装置は、通信手段と、演算手段と、記憶手段とを備え、
前記記憶手段は、ユーザによるネットワーク上の情報入力行為を、ユーザの嗜好、感情または意見を表すものとして入力するサイトへの書込み行為と、前記書込み行為以外で形式的に入力するサイトへの単純入力行為とに分類するために、予め定められたSVMのモデルから予め求められた前記書込み行為と前記単純入力行為とを識別する識別関数と、HTTP POSTメッセージ及びそのレスポンスメッセージにおいてヘッダの値が数値で表されていない場合の当該ヘッダの値を示す質的データを前記識別関数へ入力可能な数値データに変換する変換規則とを記憶し、
前記演算手段は、
前記ネットワークからトラフィックデータを抽出するステップと、
前記抽出されたトラフィックデータからHTTP POSTメッセージ及び当該HTTP POSTメッセージに対するレスポンスメッセージを抽出するメッセージ抽出ステップと、
前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれのヘッダの内容を解析し、ヘッダ情報の値が数値で表されていない場合に、当該質的データを前記変換規則により数値データに変換するデータ変換ステップと、
前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれの予め定められたヘッダについての数値データ及び前記質的データから変換された数値データからなるベクトルを前記識別関数に入力して演算するステップと、
その演算結果により、当該抽出されたHTTP POSTメッセージを、前記書込み行為と前記単純入力行為とに分類する分類ステップと、
を含んで実行することを特徴とするトラフィックデータ分離方法。
【請求項３】
ネットワーク上のアプリケーションを提供するサーバと、ユーザの操作により前記サーバにアクセスするクライアントと、ネットワークからデータを抽出するトラフィックデータ抽出装置とを備え、ネットワークにおける前記ユーザの行動を推測するユーザ行動推測システムにおける前記トラフィックデータ抽出装置であって、
ユーザによるネットワーク上の情報入力行為を、ユーザの嗜好、感情または意見を表すものとして入力するサイトへの書込み行為と、前記書込み行為以外で形式的に入力するサイトへの単純入力行為とに分類するために、HTTP POSTメッセージのリクエストヘッダの内容と、前記HTTP POSTメッセージに対するレスポンスメッセージのレスポンスヘッダの内容とに基づいてSVMのモデルから予め求められた前記書込み行為と前記単純入力行為とを識別する式（１）の識別関数ｆ（ｘ）と、
前記HTTP POSTメッセージ及びそのレスポンスメッセージにおいてヘッダの値が数値で表されていない場合の当該ヘッダの値を示す質的データを前記識別関数ｆ（ｘ）へ入力可能な数値データに変換する変換規則とを記憶する記憶手段と、
前記ネットワークからトラフィックデータとしてパケットを抽出するパケット抽出手段と、
前記抽出されたトラフィックデータからHTTP POSTメッセージ及び当該HTTP POSTメッセージに対するレスポンスメッセージを抽出するメッセージ抽出手段と、
前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれのヘッダの内容を解析し、ヘッダの値が数値で表されていない場合に、当該質的データを前記変換規則により数値データに変換するデータ変換手段と、
前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれの予め定められたヘッダについての数値データ及び前記質的データから変換された数値データからなるベクトルｘを前記識別関数ｆ（ｘ）に入力して演算し、その演算結果により、当該抽出されたHTTP POSTメッセージを、前記書込み行為と前記単純入力行為とに分類する書込行為分類手段と、
を備えることを特徴とするトラフィックデータ抽出装置。
【数１】
2011175326.tif 000011
ここで、ｗ及びｂは識別関数を決定する予め求められたパラメータ、ｔは転置をそれぞれ表す。
【請求項４】
ネットワーク上のアプリケーションを提供するサーバと、ユーザの操作により前記サーバにアクセスするクライアントと、ネットワークからデータを抽出するトラフィックデータ抽出装置とを備え、ネットワークにおける前記ユーザの行動を推測するユーザ行動推測システムにおける前記トラフィックデータ抽出装置が抽出したデータからサイトへの書込み行為に関するデータを分離するトラフィックデータ分離方法であって、
前記トラフィックデータ抽出装置は、通信手段と、演算手段と、記憶手段とを備え、
前記記憶手段は、ユーザによるネットワーク上の情報入力行為を、ユーザの嗜好、感情または意見を表すものとして入力するサイトへの書込み行為と、前記書込み行為以外で形式的に入力するサイトへの単純入力行為とに分類するために、HTTP POSTメッセージのリクエストヘッダの内容と、前記HTTP POSTメッセージに対するレスポンスメッセージのレスポンスヘッダの内容とに基づいてSVMのモデルから予め求められた前記書込み行為と前記単純入力行為とを識別する式（１）の識別関数ｆ（ｘ）と、前記HTTP POSTメッセージ及びそのレスポンスメッセージにおいてヘッダの値が数値で表されていない場合の当該ヘッダの値を示す質的データを前記識別関数ｆ（ｘ）へ入力可能な数値データに変換する変換規則とを記憶し、
前記演算手段は、
前記ネットワークからトラフィックデータを抽出するステップと、
前記抽出されたトラフィックデータからHTTP POSTメッセージ及び当該HTTP POSTメッセージに対するレスポンスメッセージを抽出するメッセージ抽出ステップと、
前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれのヘッダの内容を解析し、ヘッダ情報の値が数値で表されていない場合に、当該質的データを前記変換規則により数値データに変換するデータ変換ステップと、
前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれの予め定められたヘッダについての数値データ及び前記質的データから変換された数値データからなるベクトルｘを前記識別関数ｆ（ｘ）に入力して演算するステップと、
その演算結果により、当該抽出されたHTTP POSTメッセージを、前記書込み行為と前記単純入力行為とに分類する分類ステップと、
を含んで実行することを特徴とするトラフィックデータ分離方法。
【数２】
2011175326.tif 000012
ここで、ｗ及びｂは識別関数を決定する予め求められたパラメータ、ｔは転置をそれぞれ表す。
【請求項５】
請求項３に記載のトラフィックデータ抽出装置で利用する識別関数を作成する識別関数作成装置であって、
HTTP POSTメッセージが前記書込み行為（ｙi＝１）に予め分類された成功データと、HTTP POSTメッセージが前記単純入力行為（ｙi＝−１）に予め分類された失敗データｘiとして与えられた合計ｎ個の学習用の正解データを記憶する記憶手段と、
前記ｎ個の学習用の正解データとラグランジュ未定乗数ベクトルλとを使用して、式（２）により前記パラメータｗを算出すると共に、式（３）により前記パラメータｂを算出し、前記算出したパラメータｗ，ｂと前記各正解データとを用いて前記式（１）により識別関数ｆ（ｘ）を算出する処理を、前記ベクトルλを予め定められた初期値から徐々に更新する学習計算として実行し、Δλが最小になって学習計算が収束したときに、前記識別関数ｆ（ｘ）を決定する演算手段と、
を備えることを特徴とする識別関数作成装置。
【数３】
2011175326.tif 000013
ここで、ｘSはλ＞0となる学習データを示し、ｙS＝１を示す。
【請求項６】
請求項３に記載のトラフィックデータ抽出装置で利用する識別関数を作成する識別関数作成装置による識別関数作成方法であって、
前記識別関数作成装置の記憶手段は、HTTP POSTメッセージが前記書込み行為（ｙi＝１）に予め分類された成功データと、HTTP POSTメッセージが前記単純入力行為（ｙi＝−１）に予め分類された失敗データｘiとして与えられた合計ｎ個の学習用の正解データを記憶し、
前記識別関数作成装置の演算手段は、
前記ｎ個の学習用の正解データを入力するステップと、
前記各正解データとラグランジュ未定乗数ベクトルλとを使用して、式（２）により前記パラメータｗを算出すると共に、式（３）により前記パラメータｂを算出するステップと、
前記算出したパラメータｗ，ｂと前記各正解データとを用いて前記式（１）により識別関数ｆ（ｘ）を算出する処理とを、
前記ベクトルλを予め定められた初期値から徐々に更新する学習計算として実行し、
Δλが最小になって学習計算が収束したときに、前記識別関数ｆ（ｘ）を決定するステップと、
を実行することを特徴とするトラフィックデータ分離方法。
【数４】
2011175326.tif 000014
ここで、ｘSはλ＞0となる学習データを示し、ｙS＝１を示す。
【請求項７】
請求項１または請求項３に記載のトラフィックデータ抽出装置を構成する各手段としてコンピュータを機能させるためのプログラム。
【請求項８】
請求項５に記載の識別関数作成装置を構成する各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上のトラフィックからデータを抽出し、ユーザの振る舞い（行動）を推測する技術に関する。
【背景技術】
【０００２】
従来、サーバに蓄積されたアクセスログ等をサーバで解析したり、クライアント側に専用ソフトをインストールしたりすることで、ユーザの行動履歴を推測するシステムが知られている（例えば、特許文献１参照）。
従来のユーザ行動推測システムには、例えば、ユーザがＰＣ上で行ったWebやSNS（Social Network Service）の閲覧行動の記録（閲覧履歴）から、閲覧行動をカテゴリに分類するというものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１２８９３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のユーザ行動推測システムにおいて、ユーザの行動解析は、サーバ側またはクライアント側で行われていた。そのため、例えばサーバ側での行動解析結果は、その単一サーバにおけるユーザの行動解析であるという問題があった。また、ユーザの行動をクライアント側で解析するには、クライアントに専用ソフトをインストールする必要があった。
【０００５】
また、従来のユーザ行動推測システムは、主としてユーザのWeb等の閲覧履歴をもとにしたユーザの行動解析において、HTTP GETリクエストのリクエスト行のURLからリクエストパラメータを取得していた。このHTTP GETメッセージから得られるデータは、主として、ユーザの閲覧したページのURLであった。したがって、従来の閲覧履歴をもとにユーザの行動履歴を推測するシステムは、ユーザの書込み行動を推測することができないという問題があった。
【０００６】
本発明は、前記した問題を解決するために成されたものであり、複数のサーバに渡るユーザの行動を解析するために、ネットワークより抽出したトラフィックデータの中から、ユーザによるサイトへの書込み行為に関するデータを解析できるように分離することを課題とする。
【課題を解決するための手段】
【０００７】
前記目的を達成するために、本発明の第１の観点に係るトラフィックデータ抽出装置は、ネットワーク上のアプリケーションを提供するサーバと、ユーザの操作により前記サーバにアクセスするクライアントと、ネットワークからデータを抽出するトラフィックデータ抽出装置とを備え、ネットワークにおける前記ユーザの行動を推測するユーザ行動推測システムにおける前記トラフィックデータ抽出装置であって、ユーザによるネットワーク上の情報入力行為を、ユーザの嗜好、感情または意見を表すものとして入力するサイトへの書込み行為と、前記書込み行為以外で形式的に入力するサイトへの単純入力行為とに分類するために、予め定められたSVM（Support vector machine）のモデルから予め求められた前記書込み行為と前記単純入力行為とを識別する識別関数と、HTTP POSTメッセージ及びそのレスポンスメッセージにおいてヘッダの値が数値で表されていない場合の当該ヘッダの値を示す質的データを前記識別関数へ入力可能な数値データに変換する変換規則とを記憶する記憶手段と、前記ネットワークからトラフィックデータとしてパケットを抽出するパケット抽出手段と、前記抽出されたトラフィックデータからHTTP POSTメッセージ及び当該HTTP POSTメッセージに対するレスポンスメッセージを抽出するメッセージ抽出手段と、前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれのヘッダの内容を解析し、ヘッダの値が数値で表されていない場合に、当該質的データを前記変換規則により数値データに変換するデータ変換手段と、前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれの予め定められたヘッダについての数値データ及び前記質的データから変換された数値データからなるベクトルを前記識別関数に入力して演算し、その演算結果により、当該抽出されたHTTP POSTメッセージを、前記書込み行為と前記単純入力行為とに分類する書込行為分類手段とを備えることを特徴とする。
【０００８】
また、本発明の第１の観点に係るトラフィックデータ分離方法は、ネットワーク上のアプリケーションを提供するサーバと、ユーザの操作により前記サーバにアクセスするクライアントと、ネットワークからデータを抽出するトラフィックデータ抽出装置とを備え、ネットワークにおける前記ユーザの行動を推測するユーザ行動推測システムにおける前記トラフィックデータ抽出装置が抽出したデータからサイトへの書込み行為に関するデータを分離するトラフィックデータ分離方法であって、前記トラフィックデータ抽出装置が、通信手段と、演算手段と、記憶手段とを備え、前記記憶手段が、ユーザによるネットワーク上の情報入力行為を、ユーザの嗜好、感情または意見を表すものとして入力するサイトへの書込み行為と、前記書込み行為以外で形式的に入力するサイトへの単純入力行為とに分類するために、予め定められたSVMのモデルから予め求められた前記書込み行為と前記単純入力行為とを識別する識別関数と、HTTP POSTメッセージ及びそのレスポンスメッセージにおいてヘッダの値が数値で表されていない場合の当該ヘッダの値を示す質的データを前記識別関数へ入力可能な数値データに変換する変換規則とを記憶し、前記演算手段が、前記ネットワークからトラフィックデータを抽出するステップと、前記抽出されたトラフィックデータからHTTP POSTメッセージ及び当該HTTP POSTメッセージに対するレスポンスメッセージを抽出するメッセージ抽出ステップと、前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれのヘッダの内容を解析し、ヘッダ情報の値が数値で表されていない場合に、当該質的データを前記変換規則により数値データに変換するデータ変換ステップと、前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれの予め定められたヘッダについての数値データ及び前記質的データから変換された数値データからなるベクトルを前記識別関数に入力して演算するステップと、その演算結果により、当該抽出されたHTTP POSTメッセージを、前記書込み行為と前記単純入力行為とに分類する分類ステップと、を含んで実行することを特徴とする。
【０００９】
かかる構成の第１の観点に係るトラフィックデータ抽出装置、または、かかる手順の第１の観点に係るトラフィックデータ分離方法によれば、トラフィックデータ抽出装置は、予め作成された情報として、書込み行為と書込み行為以外の単純入力行為とを識別する予め定められたSVMのモデルから求められた識別関数と、ヘッダの値を示す質的データを数値データに変換する変換規則とを記憶手段に記憶している。そして、トラフィックデータ抽出装置は、トラフィックデータから抽出したHTTP POSTメッセージおよびそのレスポンスメッセージのヘッダ情報を解析して変換規則により、識別関数に入力可能な数値データに変換する。これにより、トラフィックデータ抽出装置は、抽出したHTTP POSTメッセージを、書込み行為と単純入力行為とに分類することができる。また、トラフィックデータ抽出装置は、リクエストヘッダ情報およびレスポンスヘッダ情報を解析するので、メッセージボディを解析する場合に比べて高速に判別して、トラフィックデータから書込みを示すメッセージを高速に分離することができる。
【００１０】
また、前記目的を達成するために、本発明の第２の観点に係るトラフィックデータ抽出装置は、ネットワーク上のアプリケーションを提供するサーバと、ユーザの操作により前記サーバにアクセスするクライアントと、ネットワークからデータを抽出するトラフィックデータ抽出装置とを備え、ネットワークにおける前記ユーザの行動を推測するユーザ行動推測システムにおける前記トラフィックデータ抽出装置であって、ユーザによるネットワーク上の情報入力行為を、ユーザの嗜好、感情または意見を表すものとして入力するサイトへの書込み行為と、前記書込み行為以外で形式的に入力するサイトへの単純入力行為とに分類するために、HTTP POSTメッセージのリクエストヘッダの内容と、前記HTTP POSTメッセージに対するレスポンスメッセージのレスポンスヘッダの内容とに基づいてSVMのモデルから予め求められた前記書込み行為と前記単純入力行為とを識別する式（１）の識別関数ｆ（ｘ）と、前記HTTP POSTメッセージ及びそのレスポンスメッセージにおいてヘッダの値が数値で表されていない場合の当該ヘッダの値を示す質的データを前記識別関数ｆ（ｘ）へ入力可能な数値データに変換する変換規則とを記憶する記憶手段と、前記ネットワークからトラフィックデータとしてパケットを抽出するパケット抽出手段と、前記抽出されたトラフィックデータからHTTP POSTメッセージ及び当該HTTP POSTメッセージに対するレスポンスメッセージを抽出するメッセージ抽出手段と、前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれのヘッダの内容を解析し、ヘッダの値が数値で表されていない場合に、当該質的データを前記変換規則により数値データに変換するデータ変換手段と、前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれの予め定められたヘッダについての数値データ及び前記質的データから変換された数値データからなるベクトルｘを前記識別関数ｆ（ｘ）に入力して演算し、その演算結果により、当該抽出されたHTTP POSTメッセージを、前記書込み行為と前記単純入力行為とに分類する書込行為分類手段とを備えることを特徴とする。
【数１】
2011175326.tif 000003
ここで、ｗ及びｂは識別関数を決定する予め求められたパラメータ、ｔは転置をそれぞれ表す。
【００１１】
また、本発明の第２の観点に係るトラフィックデータ分離方法は、ネットワーク上のアプリケーションを提供するサーバと、ユーザの操作により前記サーバにアクセスするクライアントと、ネットワークからデータを抽出するトラフィックデータ抽出装置とを備え、ネットワークにおける前記ユーザの行動を推測するユーザ行動推測システムにおける前記トラフィックデータ抽出装置が抽出したデータからサイトへの書込み行為に関するデータを分離するトラフィックデータ分離方法であって、前記トラフィックデータ抽出装置が、通信手段と、演算手段と、記憶手段とを備え、前記記憶手段が、ユーザによるネットワーク上の情報入力行為を、ユーザの嗜好、感情または意見を表すものとして入力するサイトへの書込み行為と、前記書込み行為以外で形式的に入力するサイトへの単純入力行為とに分類するために、HTTP POSTメッセージのリクエストヘッダの内容と、前記HTTP POSTメッセージに対するレスポンスメッセージのレスポンスヘッダの内容とに基づいてSVMのモデルから予め求められた前記書込み行為と前記単純入力行為とを識別する式（１）の識別関数ｆ（ｘ）と、前記HTTP POSTメッセージ及びそのレスポンスメッセージにおいてヘッダの値が数値で表されていない場合の当該ヘッダの値を示す質的データを前記識別関数ｆ（ｘ）へ入力可能な数値データに変換する変換規則とを記憶し、前記演算手段が、前記ネットワークからトラフィックデータを抽出するステップと、前記抽出されたトラフィックデータからHTTP POSTメッセージ及び当該HTTP POSTメッセージに対するレスポンスメッセージを抽出するメッセージ抽出ステップと、前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれのヘッダの内容を解析し、ヘッダ情報の値が数値で表されていない場合に、当該質的データを前記変換規則により数値データに変換するデータ変換ステップと、前記抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれの予め定められたヘッダについての数値データ及び前記質的データから変換された数値データからなるベクトルｘを前記識別関数ｆ（ｘ）に入力して演算するステップと、その演算結果により、当該抽出されたHTTP POSTメッセージを、前記書込み行為と前記単純入力行為とに分類する分類ステップと、を含んで実行することを特徴とする。
【数２】
2011175326.tif 000004
ここで、ｗ及びｂは識別関数を決定する予め求められたパラメータ、ｔは転置をそれぞれ表す。
【００１２】
かかる構成の第２の観点に係るトラフィックデータ抽出装置、または、かかる手順の第２の観点に係るトラフィックデータ分離方法によれば、第１の観点に係るトラフィックデータ抽出装置、または、第１の観点に係るトラフィックデータ分離方法と同様な作用により同様な効果を奏することができる。また、トラフィックデータ抽出装置は、予め作成された情報として、書込み行為と書込み行為以外の単純入力行為とを識別する式（１）の識別関数ｆ（ｘ）を記憶手段に記憶している。ここで、式（１）の識別関数ｆ（ｘ）は、HTTP POSTメッセージのリクエストヘッダの内容と、前記HTTP POSTメッセージに対するレスポンスメッセージのレスポンスヘッダの内容とに基づいて、SVMのモデルから予め求められているので、HTTP POSTメッセージを、書込み行為と単純入力行為とに対応した２値に正確に識別することができる。
【００１３】
また、本発明に係る識別関数作成装置は、前記第２の観点に係るトラフィックデータ抽出装置で利用する識別関数を作成する識別関数作成装置であって、HTTP POSTメッセージが前記書込み行為（ｙi＝１）に予め分類された成功データと、HTTP POSTメッセージが前記単純入力行為（ｙi＝−１）に予め分類された失敗データｘiとして与えられた合計ｎ個の学習用の正解データを記憶する記憶手段と、前記ｎ個の学習用の正解データとラグランジュ未定乗数ベクトルλとを使用して、式（２）により前記パラメータｗを算出すると共に、式（３）により前記パラメータｂを算出し、前記算出したパラメータｗ，ｂと前記各正解データとを用いて前記式（１）により識別関数ｆ（ｘ）を算出する処理を、前記ベクトルλを予め定められた初期値から徐々に更新する学習計算として実行し、Δλが最小になって学習計算が収束したときに、前記識別関数ｆ（ｘ）を決定する演算手段とを備えることを特徴とする。
【数３】
2011175326.tif 000005
ここで、ｘSはλ＞0となる学習データを示し、ｙS＝１を示す。
【００１４】
また、本発明に係る識別関数作成方法は、前記第２の観点に係るトラフィックデータ抽出装置で利用する識別関数を作成する識別関数作成装置による識別関数作成方法であって、前記識別関数作成装置の記憶手段が、HTTP POSTメッセージが前記書込み行為（ｙi＝１）に予め分類された成功データと、HTTP POSTメッセージが前記単純入力行為（ｙi＝−１）に予め分類された失敗データｘiとして与えられた合計ｎ個の学習用の正解データを記憶し、前記識別関数作成装置の演算手段が、前記ｎ個の学習用の正解データを入力するステップと、前記各正解データとラグランジュ未定乗数ベクトルλとを使用して、式（２）により前記パラメータｗを算出すると共に、式（３）により前記パラメータｂを算出するステップと、前記算出したパラメータｗ，ｂと前記各正解データとを用いて前記式（１）により識別関数ｆ（ｘ）を算出する処理とを、前記ベクトルλを予め定められた初期値から徐々に更新する学習計算として実行し、Δλが最小になって学習計算が収束したときに、前記識別関数ｆ（ｘ）を決定するステップとを実行することを特徴とする。
【数４】
2011175326.tif 000006
ここで、ｘSはλ＞0となる学習データを示し、ｙS＝１を示す。
【００１５】
かかる構成の識別関数作成装置、または、かかる手順の識別関数作成方法によれば、識別関数作成装置は、予め分類された情報として、HTTP POSTメッセージが書込み行為に予め分類された成功データと、書込み行為以外の単純入力行為に予め分類された失敗データとして学習用の正解データを記憶手段に記憶している。そして、識別関数作成装置は、この学習用の正解データとラグランジュ未定乗数ベクトルλとを使用してパラメータｗ，ｂを算出する処理と、パラメータｗ，ｂと各正解データとを用いて識別関数ｆ（ｘ）を算出する処理とを、ベクトルλを更新しながら学習してSVMのモデルとして識別関数ｆ（ｘ）を決定する。したがって、トラフィックデータ抽出装置が、この識別関数ｆ（ｘ）を用いることで、HTTP POSTメッセージを、書込み行為と単純入力行為とに対応した２値に正確に識別することができる。
【００１６】
また、本発明に係るプログラムは、前記トラフィックデータ抽出装置を構成する各手段、または、前記識別関数作成装置を構成する各手段として、コンピュータを機能させるためのプログラムである。このように構成されることにより、このプログラムをインストールされたコンピュータは、このプログラムに基づいた各機能を実現することができる。
【発明の効果】
【００１７】
本発明によれば、トラフィックデータから抽出したHTTP POSTメッセージのボディを解析することなく、SVMのモデルから求められた識別関数を利用してヘッダ情報を解析することで、書込みを示すメッセージを抽出することができる。その結果、本発明によれば、トラフィックデータから、書込みを示すメッセージを高速に分離することができる。また、本発明によれば、ネットワークから抽出したトラフィックデータを用いて、書込みを含むユーザの行動を推定することができる。また、本発明によれば、ネットワーク上のトラフィックデータ抽出装置の処理によりユーザの行動を解析することができるので、複数のサーバにおけるユーザの行動を解析することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係るユーザ行動推測システムの一例を示す構成図である。
【図２】本発明の実施形態に係るトラフィックデータ抽出装置の一例を示すブロック図である。
【図３】本発明の実施形態に係るトラフィックデータ抽出装置の全体動作を示すフローチャートである。
【図４】図３に示すHTTP POST分類処理を示すフローチャートである。
【図５】図３に示す変換規則、入力用ベクトル及び学習用データを説明するための図である。
【図６】図３に示すパラメータ及び識別関数を算出する処理を示すフローチャートである。
【発明を実施するための形態】
【００１９】
図面を参照して本発明のトラフィックデータ抽出装置及びその方法、並びに識別関数作成装置及びその方法を実施するための形態について詳細に説明する。以下では、説明の都合上、１．ユーザ行動推定システムの構成、２．トラフィックデータ分離方法の概要、３．トラフィックデータ抽出装置の構成、４．トラフィックデータ抽出装置の動作、５．識別関数作成装置の各章に分けて順次説明することとする。
【００２０】
［１．ユーザ行動推定システムの構成］
ユーザ行動推定システムの構成について図１を参照して説明する。
ユーザ行動推定システム１０は、図１に示すように、ネットワークＮ（インターネット）上に、トラフィックデータ抽出装置１を備えている。また、ユーザ行動推定システム１０は、ユーザ側に、複数のクライアント１１（１１Ａ，１１Ｂ，１１Ｃ）を備え、サーバ側に、複数のサーバ１２（１２Ａ、１２Ｂ，１２Ｃ）を備えることとした。
【００２１】
クライアント１１は、ユーザによって使用され、例えば、インターネット接続機能を有したパーソナルコンピュータや携帯情報端末等から構成される。
サーバ１２は、例えば、インターネット上のＷｅｂサーバやアプリケーションサーバ等から構成される。
サーバ１２Ａは、音楽情報提供事業者が運営する音楽情報サイトとして機能する。
サーバ１２Ｂは、ニュース提供事業者が運営するニュースサイトとして機能する。
サーバ１２Ｃは、商品やサービスの販売者が運営するＥＣ（Electronic Commerce）サイトとして機能する。なお、クライアント１１及びサーバ１２の台数や、サイトの種類は一例であって、この限りではない。
【００２２】
通常、ユーザは、まずネットワーク（インターネット）Ｎに接続されているサーバ上のアプリケーションにHTTP（Hypertext Transfer Protocol）リクエスト（以下、単にリクエストともいう）をして、アクセスする。これに対してアプリケーションからのレスポンス（HTTPレスポンス）がユーザに返る。そこで、トラフィックデータ抽出装置１は、ネットワークＮ上のデータトラフィック１３から、ユーザのHTTPリクエストやそのレスポンスを抽出する。トラフィックデータ抽出装置１は、この抽出したHTTPリクエストやレスポンスを解析することで、ユーザの行動を推定する。そして、トラフィックデータ抽出装置１は、特にユーザの書込行動を推定する。そのために、トラフィックデータ抽出装置１は、抽出したデータからサイトへの書込み行為に関するデータを分離する。なお、トラフィックデータ抽出装置１が抽出したデータのことをトラフィックデータと呼び、ネットワークＮ上のデータのことをデータトラフィック１３と呼ぶ。
【００２３】
［２．トラフィックデータ分離方法の概要］
ここでは、トラフィックデータ分離方法の概要として、２−１．ユーザによる情報入力行為の分類例、２−２．ヘッダ情報の具体例、２−３．識別関数、２−４．変換規則の各節について説明する。
【００２４】
＜２−１．ユーザによる情報入力行為の分類例＞
トラフィックデータ抽出装置１が抽出したデータ中に、HTTP POSTがあった場合、ユーザによるサイトへの書込み行為（情報入力行為）には以下の（Ｗ１）〜（Ｗ６）が考えられる。トラフィックデータ抽出装置１は、このうち（Ｗ２）サーバへの書込み、のみを識別して抽出する。
【００２５】
（Ｗ１）サーバへのログイン
（Ｗ２）サーバへの書込み（投稿、コメント、口コミ、アンケートなど）
（Ｗ３）Web APIの利用
（Ｗ４）ブログ内検索
（Ｗ５）翻訳サイト等の利用
（Ｗ６）旅行検索等の利用
【００２６】
（Ｗ２）のサーバへの書込みとは、ユーザの嗜好、感情または意見を表すものとしてユーザが入力するものであり、ユーザによるサイトへの書込み行為を示す。
ここで、投稿とは、ユーザが、ブログ等自らのサイトへ書込みを行うことを示す。
また、コメントとは、ユーザが、他者のブログ等へコメントを書き込むことを示す。
口コミとは、ユーザが、口コミサイトや掲示板等の複数人（不特定多数）によって構成されるサイトへ書き込むことを示す。
アンケートとは、ユーザが、アンケートや質問への回答を書き込むことを示す。
【００２７】
以下では、サーバへの書込みのことを、書込み行為または書込みという。これに対して、前記した（Ｗ１）及び（Ｗ３）〜（Ｗ６）は、書込み行為以外にユーザがネットワークＮ上のサーバに形式的に入力する行為等を示す。したがって、以下では、これらを総称して単純入力行為と呼ぶ。
【００２８】
（Ｗ１）は、例えば、サーバで提供するサイトへの入り口のログインの入力フォームに合わせたユーザIDやパスワード等の入力を示す。一般的に、リクエスト（ユーザID等）のデータ長は書込みのデータ長よりも小さい。
【００２９】
（Ｗ３）は、例えば、Web APIの利用申込書の入力フォームに合わせた個人情報等の入力や、Web APIの利用時のユーザIDやパスワード等の入力を示す。一般的に、そのレスポンス（登録内容確認結果やAPI利用画面）のデータ長は、リクエスト（入力個人情報やユーザID等）のデータ長よりも格段に大きい。
【００３０】
（Ｗ４）は、例えば、Web上の検索入力フォームや検索式に合わせた検索キーワード等の入力を示す。一般的に、検索結果候補は多数あるのでレスポンス（検索結果）のデータ長はリクエスト（検索キーワード等）のデータ長よりも大きく、リクエスト（検索キーワード等）のデータ長はいわゆる書込みのデータ長よりも小さい。
【００３１】
（Ｗ５）は、例えば、翻訳サイトの翻訳元原稿の入力フォームに合わせた文章等の入力を示す。翻訳はほぼ一対一に対応させるものなので、一般に、そのレスポンス（翻訳結果）のデータ長は、リクエスト（翻訳元原稿）のデータ長と同等とみなすことができる。
【００３２】
（Ｗ６）は、例えば、旅行検索サイトの旅行プランの条件入力フォームに合わせたキーワードや数値等の入力を示す。一般に、そのレスポンス（条件一致プラン検索結果）のデータ長は、リクエスト（条件のキーワードや数値等）よりも大きい。特に、レスポンスに旅行先の見所の風景や宿泊施設等の画像データが含まれると、そのレスポンスのデータ長は、リクエストよりも格段に大きくなる。
【００３３】
前記のように、書込み行為はユーザの嗜好等を表すものとしてユーザが入力するものであり、単純入力行為とは、ユーザの入力目的が全く異なる。また、サイトの種類によって、ユーザによる入力情報のデータ長とそのレスポンスのデータ長との関係は異なっている。本実施形態に係るトラフィックデータ分離方法は、ユーザによるネットワーク上の情報入力行為を、ユーザの入力目的またはサイトの種類に応じて、書込み行為と単純入力行為とに分類するために予め作成された識別関数を用いることとした。また、本実施形態に係るトラフィックデータ抽出装置１は、このトラフィックデータ分離方法を実現する装置である。
【００３４】
＜２−２．ヘッダ情報の具体例＞
本実施形態に係るトラフィックデータ分離方法は、トラフィックデータ中の前記した（Ｗ１）〜（Ｗ６）に係るHTTP POSTメッセージを利用するユーザの情報入力行為の中から、（Ｗ２）の書込み行為を抽出するために、リクエストヘッダ情報及びレスポンスヘッダ情報を利用する。ヘッダ情報には、リクエスト専用のヘッダ情報、レスポンス専用のヘッダ情報、リクエストとレスポンスに共通に用いる汎用のヘッダ情報等がある。ヘッダ情報の一例を以下の（Ｈ１）〜（Ｈ５）に示す。
【００３５】
（Ｈ１）Content-lengthは、ボディの長さを示す汎用のヘッダである。
（Ｈ２）Content-typeは、コンテンツの種類を示す汎用のヘッダである。
（Ｈ３）Cache-Controlは、キャッシュへの保存／非保存設定の制御を示す汎用のヘッダである。Cache-Controlは、例えば以下（Ｖ１）〜（Ｖ５）の値を有する。
【００３６】
（Ｖ１）private：Webサーバから返されるコンテンツがただ一人のユーザのためのものであることを示す。Cache-Controlにて、この値が指定されると、共有(プロキシサーバ)キャッシュには保存されない。
（Ｖ２）no-store：Webサーバから返されてくるコンテンツをキャッシュに記録してはならないことを示す。
（Ｖ３）no-cache：一度キャッシュに記録されたコンテンツは、現在でも有効か否かを本来のWebサーバに問い合わせて確認がとれない限り再利用してはならないことを示す。
（Ｖ４）must-revalidate：キャッシュに記録されているコンテンツが現在も有効であるか否かをWebサーバに必ず問い合わすように強制することを示す。
（Ｖ５）public：Cache-Controlにて、この値が指定されると、応答をクライアントのキャッシュと共有（プロキシサーバ）キャッシュに保存することができる。
【００３７】
（Ｈ４）Set-Cookieは、クッキーの付与を示すレスポンス専用のヘッダである。
（Ｈ５）Locationは、リクエストによって作られた新しいリソースの場所（URI：Uniform Resource Identifier）を示すレスポンス専用のヘッダである。
【００３８】
［２−３．識別関数］
本実施形態に係るトラフィックデータ分離方法で利用する識別関数は、ユーザによるネットワークＮ上の情報入力行為を、書込み行為と、書込み行為以外の単純入力行為とに分類するために、予め定められたSVM（Support vector machine）のモデルから予め求められたものである。この識別関数により、本実施形態に係るトラフィックデータ分離方法は、前記した（Ｗ１）〜（Ｗ６）に係るHTTP POSTメッセージの中から（Ｗ２）の書込み行為を抽出する。
【００３９】
SVMとは、分離超平面と２種類のデータとの間の距離（これをマージンと呼ぶ）が、最大になるような「分離超平面」が、最も汎化能力の高い超平面になる、ということを利用した識別手法である。なお、本実施形態では、トラフィックデータ抽出装置１にSVMによる識別関数の作成機能を備えることとした。その詳細は、後記する。
【００４０】
本実施形態では、識別関数のリクエストヘッダ情報及びレスポンスヘッダ情報に係るサイト毎の特徴を反映して作成したものを利用することとした。このような識別関数の一例として、式（１）に示す識別関数ｆ（ｘ）を用いることとした。本発明において、SVMのモデルから求められた識別関数は、式（１）に限定されるものではない。なお、記憶手段３に記憶された識別関数については、識別関数ｆと表記する。
【００４１】
【数５】
2011175326.tif 000007
【００４２】
ここで、ｗおよびｂは識別関数を決定する予め求められたパラメータ、ｔは転置をそれぞれ表す。識別関数ｆ（ｘ）の入力ｘとｗは、行ベクトルを示す。なお、本実施形態では、SVMによる識別関数の作成機能によって、パラメータｗおよびｂを予め求めることとした。その詳細は、後記する。
【００４３】
識別関数ｆ（ｘ）の入力を示すベクトルｘは、HTTP POSTメッセージおよびそのレスポンスメッセージにおいて予め定められた複数のヘッダ情報の値を、識別関数ｆ（ｘ）に入力可能な数値にそれぞれ変換したベクトルを示す。ここで、ヘッダ情報の種類によっては、その値が数値で表されていない場合がある。このように数値以外のもので表現されるデータのことを質的データと呼ぶ。一方、ヘッダ情報の値が数値で表されている場合、これを量的データと呼ぶ。SVMは、データを、量的データか質的データのどちらかに統一させて利用する必要があるために、ここでは、予め定めた変換規則によって、質的データを数値に変換させることとした。
【００４４】
［２−４．変換規則］
変換規則は、HTTP POSTメッセージおよびそのレスポンスメッセージにおいてヘッダの値が数値で表されていない場合の当該ヘッダの値を示す質的データを識別関数ｆ（ｘ）へ入力可能な数値データに変換するものである。変換規則の具体例を表１に示す。なお、ここの表１に例示した変換規則は、記憶手段３に変換規則３６として記憶されていることとした。
【００４５】
【表１】
2011175326.tif 000008
【００４６】
表１において、No.R1〜R3は、リクエストヘッダに関する規則を示す。No.R1〜R3に示すように、HTTP POSTメッセージのヘッダに関しては、一例として、「Content-length」及び「Content-Type」に着目して変換する。なお、No.R1の規則は、例外であって、「Content-length」に関しては、ヘッダの値が数値で表されているので、変換しないことを示す。
【００４７】
また、No.R2,R3の規則のペアは、ヘッダ「Content-Type」の値として取り得る２つの値に関する変換規則である。この規則のペアは、HTTP POSTメッセージにおいて、ヘッダ「Content-Type」の値が「application/x-www-form-urlencoded」であって、「multipart/form-dat」ではない場合、「application/x-www-form-urlencoded」の値を「１」にすると共に、「multipart/form-dat」の値を「０」にする。また、この規則のペアは、逆に、ヘッダ「Content-Type」の値が「application/x-www-form-urlencoded」ではなく「multipart/form-dat」である場合、「application/x-www-form-urlencoded」の値を「０」にすると共に、「multipart/form-dat」の値を「１」にする。
【００４８】
表１において、No.R4〜R12は、レスポンスヘッダに関する規則を示す。つまり、HTTP POSTメッセージに対するレスポンスメッセージのヘッダに関しては、「Content-length」、「Cache-Control」、「Set-Cookie」、「Location」、「Connection」、「Pragma」、「P3p」に着目して変換する。
【００４９】
なお、No.R4の規則は、例外であって、変換しないことを示す。また、No.R5,R6の規則のペアや、No.R9,R10の規則のペアは、リクエスト側のNo.R2,R3の規則のペアと同様な規則である。また、No.R11の規則は、レスポンスメッセージにおいて、ヘッダ「Pragma」の値が「no-cache」である場合、その値を「１」とし、ヘッダ「Pragma」の値が「no-cache」ではない場合、その値を「０」とする。このNo.R11の規則は、No.R6の「no-cache」に関する規則と同じ値に変換されることになる。
【００５０】
また、No.R7,R8,R12の規則はそれぞれ、サイト毎やユーザ毎にヘッダの値が無数に存在するので、ヘッダの値の有無ではなく、そのヘッダ自体の有無に応じた値に変換するものである。ここでは、例えば、レスポンンス内に該当するヘッダがあれば「１」とし、なければ「０」とすることとした。
【００５１】
［３．トラフィックデータ抽出装置の構成］
次に、トラフィックデータ抽出装置１の構成について図２を参照（適宜図１参照）して説明する。トラフィックデータ抽出装置１は、図２に示すように、バスライン７で接続された演算手段２と、記憶手段３と、通信手段４と、入力手段５と、出力手段６とを備えている。
【００５２】
演算手段２は、例えば、ＣＰＵ（Central Processing Unit）及びＲＡＭ（Random Access Memory）から構成される主制御装置である。この演算手段２は、図２に示すように、パケット抽出手段２１と、メッセージ判別手段２２と、データ変換手段２３と、書込行為分類手段２４と、識別関数作成手段２５と、メモリ２６とを備える。
【００５３】
演算手段２は、記憶手段３から、トラフィックキャプチャプログラム３１を読み込み、メモリ２６に格納し、実行することで、前記したパケット抽出手段２１と、メッセージ判別手段２２とを実現する。また、演算手段２は、記憶手段３から、データ変換プログラム３２及び書込行為分類プログラム３３をそれぞれ読み込み、メモリ２６に格納し、実行することで、前記したデータ変換手段２３と書込行為分類手段２４とをそれぞれ実現する。また、演算手段２は、記憶手段３から、識別関数作成プログラム３４を読み込み、メモリ２６に格納し、実行することで、前記した識別関数作成手段２５を実現する。
【００５４】
パケット抽出手段２１は、ネットワークＮからトラフィックデータとしてパケットを抽出する。
メッセージ判別手段（メッセージ抽出手段）２２は、パケット抽出手段２１で抽出されたトラフィックデータからHTTP POSTメッセージおよび当該HTTP POSTメッセージに対するレスポンスメッセージを抽出する。
【００５５】
データ変換手段２３は、メッセージ判別手段２２で抽出したHTTP POSTメッセージおよびそのレスポンスメッセージのそれぞれのヘッダの内容を解析し、ヘッダの値が数値で表されていない場合に、記憶手段３に記憶された変換規則３６によって、当該質的データを数値データに変換するものである。
【００５６】
書込行為分類手段２４は、抽出したHTTP POSTメッセージおよびそのレスポンスメッセージのそれぞれの予め定められたヘッダについての数値データおよび質的データから変換された数値データからなるベクトルｘを、記憶手段３に記憶された識別関数ｆ（例えば、式（１）の識別関数ｆ（ｘ））に入力して演算し、その演算結果により、当該抽出されたHTTP POSTメッセージを、書込み行為と単純入力行為とに分類するものである。
なお、識別関数作成手段２５については、後記する。
【００５７】
記憶手段３は、例えば、一般的なハードディスク装置等から構成される。
記憶手段３には、演算手段２で用いられるプログラムとして、トラフィックキャプチャプログラム３１、データ変換プログラム３２、書込行為分類プログラム３３及び識別関数作成プログラム３４を記憶させておくことが可能である。また、記憶手段３には、演算手段２で用いられる各種データとして、URLリスト３５と、識別関数ｆとを記憶する。また、記憶手段３には、演算手段２のデータ変換手段２３で用いられる変換規則３６を記憶し、このデータ変換手段２３の演算処理結果を示すデータである入力用ベクトル３７を記憶する。なお、学習用データ３８およびパラメータ３９については後記する。
【００５８】
URLリスト３５は、ユーザによる書込みがなされるサイト（サーバ）のURLのリストである。URLリスト３５には、例えば、有名なサイトのURLや、ユーザが自らのブログに投稿するためのURL（ブログ投稿URL）のユーザ毎のリストや、ユーザが他者のブログにコメントをするためのURL（コメント用URL）のブログ毎のリスト等が含まれる。URLリスト３５は、例えば、トラフィックデータ抽出装置１の利用者が推測したいユーザの行動に応じて予め作成され、登録されている。登録されたURLは、設定ファイルによって変更が可能である。URLリスト３５は、ユーザによるサイトへの書込み行為を特定するために、書込行為分類手段２４によって利用される。このURLリスト３５は入力手段５を介して入力され、記憶手段３に記憶される構成とすることが可能である。
【００５９】
識別関数ｆは、例えば、トラフィックデータ抽出装置１の利用者が推測したいユーザの行動に応じて予め作成され、登録されている。識別関数ｆは、ユーザによるサイトへの書込み行為を抽出するために、書込行為分類手段２４によって利用される。この識別関数ｆは入力手段５を介して入力され、記憶手段３に記憶される構成とすることが可能である。
【００６０】
変換規則３６は、HTTP POSTメッセージおよびそのレスポンスメッセージにおいてヘッダの値が数値で表されていない場合の当該ヘッダの値を示す質的データを識別関数ｆへ入力可能な数値データに変換するものである。変換規則３６は、例えば、表１に示す１２の規則からなる。
【００６１】
入力用ベクトル３７は、HTTP POSTメッセージおよびそのレスポンスメッセージに対してデータ変換手段２３が変換規則３６を用いて演算処理した結果を示すデータである。
例えば、HTTP POSTメッセージのリクエストヘッダが、表１に示すNo.R1〜R3により（480，1，0）に変換され、そのレスポンスメッセージのレスポンスヘッダが、表１に示すNo.R4〜R12により（257，1，0，0，1，1，0，0，0）に変換された場合には、これらのデータを連結したベクトル（480，1，0，257，1，0，0，1，1，0，0，0）が、当該HTTP POSTメッセージに対応して識別関数ｆ（ｘ）に入力される入力用ベクトルｘとなる。
【００６２】
通信手段４は、ネットワークＮ（インターネット）上のデータトラフィック１３（図１参照）から、ユーザのリクエストやそのレスポンスを抽出する通信インタフェースである。入力手段５は、例えば、キーボード、マウス、ディスクドライブ装置等から構成される。出力手段６は、例えば、グラフィックボード（出力インタフェース）及びそれに接続されたモニタから構成される。モニタは、例えば、液晶ディスプレイ等から構成され、処理結果等を表示する。
【００６３】
［４．トラフィックデータ抽出装置の動作］
＜４−１．全体動作＞
次に、トラフィックデータ抽出装置１の全体動作について、図３を参照（適宜図１及び図２参照）して説明する。まず、トラフィックデータ抽出装置１は、パケット抽出手段２１によって、ネットワークＮ上を流れるデータトラフィック１３からトラフィックデータとしてHTTPメッセージ（パケット）を抽出する（ステップＳ１）。そして、トラフィックデータ抽出装置１は、メッセージ判別手段２２によって、メッセージの種別を判別して、HTTPリクエスト（リクエスト・メッセージ）を抽出し（ステップＳ２：メッセージ抽出ステップ）、書込行為分類手段２４によって、HTTP POST分類処理を実行する（ステップＳ３：分類ステップ）。なお、ステップＳ２にて、メッセージ判別手段２２がHTTP POSTメッセージを抽出した場合、当該HTTP POSTメッセージに対するレスポンスメッセージも抽出する。
【００６４】
ステップＳ３のHTTP POST分類処理は、詳細は後記するが、書込行為分類手段２４が、抽出メッセージのヘッダの内容に基づいて、当該メッセージを「書込み」、「単純入力行為」、「その他」に分類する処理である。ここで、「その他」とは、例えば、HTTP GET等の非POSTメッセージや、SSL（Secure Sockets Layer）で暗号化されたメッセージを示す。HTTP POSTメッセージであってもSSLで暗号化されている場合、公開鍵を持たない限り5層（プレゼンテーション層）以上を判読することはできないからである。
【００６５】
ステップＳ３において、トラフィックデータ抽出装置１は、書込行為分類手段２４によって、抽出メッセージを「書込み」であると判定した場合に、図示しない書込内容抽出手段によって、メッセージボディに記載された内容を解析する（ステップＳ４）。ここで、メッセージボディに記載された内容を解析する方法は、従来公知のパケットキャプチャーによる内容解析法を用いることができる。
【００６６】
また、ステップＳ３において、トラフィックデータ抽出装置１は、書込行為分類手段２４によって、抽出メッセージを「単純入力行為」であると判定した場合に、抽出メッセージを消去する（ステップＳ５）。
また、ステップＳ３において、トラフィックデータ抽出装置１は、書込行為分類手段２４によって、抽出メッセージを「その他」であると判定した場合に、そのまま処理を終了する。
【００６７】
＜４−２．HTTP POST分類処理＞
次に、HTTP POST分類処理について図４を参照（適宜図２及び図３参照）して説明する。図４に示す処理の概要は、次の通りである。すなわち、分類対象のHTTP POSTのURLが登録されていない場合に、そのリクエストヘッダおよびレスポンスヘッダに基づいて書込みを抽出する。なお、URLが登録されていれば、書込みであると判定することができる。以下、その詳細を説明する。
【００６８】
図４に示すように、このHTTP POST分類処理（ステップＳ３）では、書込行為分類手段２４は、まず、POST判別処理として、抽出メッセージにHTTP POSTメッセージがあるか否かを判別する（ステップＳ１１）。抽出メッセージにHTTP POSTメッセージがある場合（ステップＳ１１：Ｙｅｓ）、書込行為分類手段２４は、URLリスト登録判別処理として、HTTP POSTメッセージの宛先のURLがURLリスト３５に登録済みであるか否かを判別する（ステップＳ１２）。
【００６９】
ステップＳ１２において、HTTP POSTメッセージの宛先のURLがURLリスト３５に登録されていない場合（ステップＳ１２：Ｎｏ）、データ変換手段２３は、抽出したHTTP POSTメッセージ及びそのレスポンスメッセージのそれぞれのヘッダの内容を解析し、リクエストヘッダ及びレスポンスヘッダの値が数値で表されていない場合に、そのヘッダ情報（質的データ）の値を変換規則３６により数値データに変換する（ステップＳ１３：データ変換ステップ）。そして、書込行為分類手段２４は、リクエストヘッダ及びレスポンスヘッダの変換値を合わせたベクトルｘを識別関数ｆ（ｘ）に入力し、演算する（ステップＳ１４）。
【００７０】
そして、書込行為分類手段２４は、その演算結果の符号がプラスであると判別した場合（ステップＳ１５：プラス）、当該抽出されたHTTP POSTメッセージを、書込み行為を示すメッセージであると判定する（ステップＳ１６）。
一方、書込行為分類手段２４は、その演算結果の符号がマイナスであると判別した場合（ステップＳ１５：マイナス）、当該抽出されたHTTP POSTメッセージを、単純入力行為を示すメッセージであると判定する（ステップＳ１７）。
【００７１】
前記URLリスト登録判別処理（ステップＳ１２）において、HTTP POSTメッセージの宛先のURLがURLリスト３５に登録済みである場合（ステップＳ１２：Ｙｅｓ）、ステップＳ１６に進み、抽出されたHTTP POSTメッセージを、書込み行為を示すメッセージであると判定する。
【００７２】
前記POST判別処理（ステップＳ１１）において、抽出メッセージにHTTP POSTメッセージがない場合（ステップＳ１１：Ｎｏ）、書込行為分類手段２４は、抽出メッセージを「その他」であると判定する（ステップＳ１８）。
【００７３】
［５．識別関数作成装置］
ここでは、５−１．識別関数作成装置の概要、５−２．識別関数作成装置の構成、５−３．識別関数作成処理の流れ、の各節に分けて識別関数作成装置について説明する。
【００７４】
＜５−１．識別関数作成装置の概要＞
本実施形態では、識別関数作成装置（識別関数作成手段２５）を、トラフィックデータ抽出装置１が内蔵するものとして説明する。また、識別関数作成装置は、前記した式（１）の識別関数を作成するものとして説明するが、本発明において、書込みとそれ以外とを分類するための識別関数は、式（１）の識別関数に限定されるものではない。SVMを利用した識別関数の作成においては、前提として、予め書込みであると分かっているトラヒックと、予めその他（書込み以外）であると分かっているトラヒックと、をそれぞれキャプチャして、生のトラヒックデータｘを多数集める。ここで、例えば、書込み等のリクエストメッセージのトラヒックをキャプチャするときには、そのレスポンスメッセージもキャプチャし、生のトラヒックデータｘは、リクエストとレスポンスのセットで集める。生のトラヒックデータｘは、例えば、トラフィックデータ抽出装置１により集めることができる。
【００７５】
そして、この生のトラヒックデータｘのそれぞれに、「書込み」または「書込み以外」との識別結果ｙを付加して、多数の正解データ（ｘ，ｙ）を用意する。ここで、識別結果ｙは、人手により、書込みかその他かを判断したものである。生のトラヒックデータｘのそれぞれに、識別結果ｙを割り当てる工程は、人手で行う。例えば、正解データ（ｘ，ｙ）として、書込みを示すHTTP POSTデータ（成功データ）と、その他のケースのHTTP POSTデータ（失敗データ）を多数用意する。
【００７６】
ここで、正解データ（ｘ，ｙ）の一例を図５に示す。図５に示すテーブルには、13行に亘って、13個のデータ（ｉ＝１〜13）が示されている。各行は、１つの正解データ（ｘ，ｙ）を示している。つまり、各行は、１サイトへのHTTP POSTリクエストと、そのレスポンスの送受信の結果を示している。ただし、各正解データ（ｘ，ｙ）は、生のトラヒックデータｘのリクエスト側及びレスポンス側の予め定めたヘッダに係る情報を抽出して必要に応じてデータ変換してベクトル化している。ここでは、各ヘッダ情報を前記した表１の変換規則で図５に示すテーブルのようにベクトル化した。このテーブルの左から数えた12個の列名は、表１のNo.R1〜R12にそれぞれ対応している。図５に示すテーブルは、リクエスト側及びレスポンス側のヘッダに質的データがある場合には、そのヘッダの値になり得る値を列名とした。
【００７７】
そのため、各行において、符号５０１で示すように、左から１列目〜３列目までは、生のトラヒックデータｘにおいてリクエスト側メッセージのリクエストヘッダの値を変換した数値データを示す。また、各行において、符号５０２で示すように、左から４列目〜12列目までは、そのレスポンス側メッセージのレスポンスヘッダの値を変換した数値データを示す。
【００７８】
さらに、各行において、符号５０３で示すように、右端の１列は、そのトラヒックデータｘに付加された識別結果ｙiを示す。ここでは、書込みを示すHTTP POSTデータ（成功データ）の識別結果ｙを、一例として「posting」で示し、その他のケースのHTTP POSTデータ（失敗データ）の識別結果ｙiを「others」で示した。例えば、ｙ1＝「posting」、ｙ2＝「others」なので、１行目の正解データ（ｘ，ｙ）は「書込み」を示し、２行目の正解データ（ｘ，ｙ）は「その他」を示す。ここで、成功データと失敗データの識別結果ｙiの表現方法はこれに限られるものではない。以下では、それらの相違を明示的に分かるようにするために、成功データの識別結果ｙ1を「１（またはプラス）」で示し、失敗データの識別結果ｙiを「−１（またはマイナス）」で示すこととする。
【００７９】
この正解データ（ｘ，ｙ）の一部は、学習段階において学習データとして用いられ、この正解データ（ｘ，ｙ）の残りの一部は、その後のモデル精度を向上させる段階において、テストデータとして用いられる。なお、テストデータは、正解データ（ｘ，ｙ）の中から、ランダムサンプリングにより作成する。
【００８０】
学習段階において識別関数は、学習データと、パラメータｗ、ｂを定める関数とを用いて作成される。これにより、書込みかその他かの分類が最も上手くいくモデル（SVM）が作成される。その後、モデル精度を向上させる段階において、テストデータの識別結果を、評価関数Ｆを用いて評価し、パラメータ等の調整を行うことで、モデルの精度を高め、モデルを完成させる。この完成させたモデルが識別関数ｆ（ｘ）となる。これら学習段階及びモデル精度を向上させる段階は、例えば、トラフィックデータ抽出装置１により行うことができる。
【００８１】
モデル精度を向上させる段階では、SVMを作成した後、テストデータを用いて、作成されたSVMがどれだけ判別可能かテストを行う。テスト結果の指標として、例えば、式（４）のF値を利用することができる。
【００８２】
【数６】
2011175326.tif 000009
【００８３】
ここで、Rは“真の書込み”が「書込み」と判定された回数、Nは「書込み」と判定された回数、Cは“真の書込み”の個数である。つまり、F値が高ければ、識別性能が良いことを意味する。そのため、F値が高くなるように、利用する属性データの重みを変えて最適なモデルを作成し、これを識別関数ｆ（ｘ）とする。
【００８４】
そして、最適なモデルが完成した後は、トラフィックデータ抽出装置１が、そのモデルを用いることで、未知のトラフィックデータを書込みかその他か自動的に分類することができるようになる。例えば、図５のテーブルを、事前に作成した正解データであるものとして説明したが、この図５のテーブルを、最適なモデルが完成した後の自動分類結果として用いることもできる。この場合には、本実施形態のトラフィックデータ抽出装置１によれば、符号５０１，５０２で示す12列目までの数値データが、未知のトラフィックデータのヘッダ情報が前記したデータ変換手段２３により変換された入力用ベクトル３７に対応する。そして、各行に対応した13個の未知のトラフィックデータの入力用ベクトルは、前記した書込行為分類手段２４によって、サイトの構造分析に係る識別関数ｆ（ｘ）に入力され、演算の結果がプラスであれば、最右端の列にその判別結果「posting」が書き込まれ、演算の結果がマイナスであれば、最右端の列にその判別結果「others」が書き込まれることとなる。
【００８５】
＜５−２．識別関数作成装置の構成＞
トラフィックデータ抽出装置１は、図２に示すように、記憶手段３に学習用データ３８及びパラメータ３９を記憶し、演算手段２に識別関数作成手段２５を備える。
【００８６】
学習用データ３８は、予め作成された正解データ（ｘ，ｙ）の集合を示す。正解データ（ｘ，ｙ）の集合は、HTTP POSTメッセージが書込み行為（ｙi＝１）に予め分類された成功データと、HTTP POSTメッセージがその他の単純入力行為（ｙi＝−１）に予め分類された失敗データとを含んでいる。また、この正解データ（ｘ，ｙ）の集合は、学習段階において用いられる学習データと、モデル精度を向上させる段階において用いられるテストデータとを含んでいる。学習データの集合は、成功データと失敗データとを合計ｎ個含むこととした。
【００８７】
パラメータ３９は、前記した式（１）中のパラメータｗ，ｂを示す。パラメータ３９は、識別関数作成手段２５の演算処理結果を示す。パラメータｗは、ｎ個の正解データ（ｘ，ｙ）を用いた学習段階に用いられるラグランジュ未定乗数ベクトルλを用いて、式（２）で表すことができる。同様に、パラメータｂは、この学習段階に用いられるパラメータｗと、サポートベクトルｘSとを用いて、式（３）で表すことができる。式（３）において、サポートベクトルｘSはλ＞0となる学習データを示す。なお、プラスを示すサポートベクトルｘSに対応する予め分かっている識別結果ｙSは「１」となる。
【００８８】
【数７】
2011175326.tif 000010
【００８９】
識別関数作成手段２５は、予め定められたｎ個の学習用の正解データの集合を学習用データ３８から読み出して、各学習データとラグランジュ未定乗数ベクトルλとを使用して、式（２）によりパラメータｗを算出すると共に、式（３）によりパラメータｂを算出し、この算出したパラメータｗ，ｂと各正解データとを用いて前記式（１）により識別関数ｆ（ｘ）を算出する処理を学習計算として実行し、識別関数ｆ（ｘ）を作成するものである。識別関数作成手段２５は、ベクトルλを予め定められた初期値から徐々に更新しながら前記式（２）、式（３）及び式（１）の計算を実行する学習計算を行い、Δλが最小になって学習計算が収束したときに、識別関数ｆ（ｘ）をモデルとして決定する。
【００９０】
＜５−３．識別関数作成処理の流れ＞
次に、識別関数作成処理の流れについて図６を参照（適宜図２参照）して説明する。この識別関数作成処理は、演算手段２の識別関数作成手段２５が、トラフィックデータの抽出に用いる識別関数ｆ（ｘ）を作成する処理であって、トラフィックデータの識別処理の前に行う処理である。
【００９１】
まず、識別関数作成手段２５は、ラグランジュ未定乗数ベクトルλの初期値を設定する（ステップＳ２１）。そして、識別関数作成手段２５は、記憶手段３に格納された学習用データ３８から、ｎ個の各学習用データｘi（ｉ＝１，…，ｎ）と、その分類結果書込み行為ｙi（ｉ＝１，…，ｎ）との組を入力する（ステップＳ２２）。
【００９２】
そして、識別関数作成手段２５は、現在のλの値を用いてパラメータｗを前記した式（２）で算出すると共に、パラメータｂを前記した式（３）で算出する（ステップＳ２３）。そして、識別関数作成手段２５は、算出したパラメータｗ，ｂを用いて、前記した式（１）で識別関数ｆ（ｘ）を算出する（ステップＳ２４）。さらに、識別関数作成手段２５は、未定乗数ベクトルλが最小になったか否かを判別する（ステップＳ２５）。未定乗数ベクトルλが最小になっていない場合（ステップＳ２５：Ｎｏ）、識別関数作成手段２５は、λを更新し（ステップＳ２６）、ステップＳ２３に戻る。一方、未定乗数ベクトルλが最小になった場合（ステップＳ２５：Ｙｅｓ）、識別関数作成手段２５は、その時点のλの値によりSVMのモデルとしてｆ（ｘ）を決定する（ステップＳ２７）。なお、SVMのモデルの精度を向上させる段階は、必要に応じて、適宜実施することができる。
【００９３】
本実施形態に係るユーザ行動推定システムは、トラフィックデータ抽出装置１を設置することで、複数サーバにおけるユーザの行動解析を行うことができる。また、本実施形態に係るトラフィックデータ抽出装置１は、従来からユーザの行動解析で使用していたHTTP GETだけでなく、HTTP POSTも行動解析に使用することで、これまでの「閲覧」という行為に加えて、「書込み」というユーザのより積極的な行為を取得することができる。
【００９４】
また、本実施形態に係るトラフィックデータ分離方法によれば、トラフィックデータから書込み行為を示すメッセージを抽出する際に、HTTP POSTのボディを解析することなく、ヘッダ情報を解析してヘッダ情報の質的データを変換して識別関数に入力することで、書込みを示すメッセージを抽出することができる。そのため、トラフィックデータ分離方法は、メッセージボディを解析する場合に比べて高速に判別して、トラフィックデータから書込みを示すメッセージを高速に分離することができる。
【００９５】
また、本実施形態に係る識別関数作成装置は、SVMのモデルとして識別関数ｆ（ｘ）を決定するので、トラフィックデータ抽出装置が、この識別関数ｆ（ｘ）を用いることで、HTTP POSTメッセージを、書込み行為と単純入力行為とに対応した２値に正確に識別することができる。
【００９６】
ユーザの書込み行為が取得できれば、以下のようなサービスに利用ができる。すなわち、例えば、書込みの多いユーザに、無料サンプルや映画の試写会の情報を配信し、ユーザがそれを使用すれば、ブログや口コミサイトで商品を宣伝してくれることが期待できる。また、Ｑ＆Ａサイト等で、ユーザに対して質問を出題する際に、書込みの多いユーザに対して質問を出題することで、積極的な回答が得られることが期待できる。
【００９７】
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、本発明において、書込みとそれ以外とを分類するための識別関数は、前記した式（１）の識別関数に限定されるものではない。また、本実施形態のトラフィックデータ抽出装置１は、演算手段２に識別関数作成手段２５を備え、記憶手段３に学習用データ３８を記憶する構成として、装置内部で識別関数ｆを作成することとしたが、トラフィックデータ抽出装置１に、外部で作成された識別関数ｆを入力して用いることとしてもよい。この場合には、トラフィックデータ抽出装置１の外部の識別関数作成装置は、識別関数作成手段２５と同等の機能を有した演算手段と、学習用データ３８、パラメータ３９及び識別関数ｆを記憶する記憶手段とを備え、同様なSVMのアルゴリズムにより識別関数ｆ（ｘ）を決定することができる。
【００９８】
また、本実施形態のトラフィックデータ抽出装置１は、記憶手段３にURLリスト３５を記憶し、URLリスト３５に登録されていない場合に、HTTP POSTメッセージのリクエストヘッダ及びレスポンスヘッダの質的データを数値データに変換することとしたが、URLリスト３５による判定は必須ではなく、抽出したすべてのHTTP POSTメッセージのヘッダを変換するようにしてもよい。
【００９９】
また、トラフィックデータ抽出装置１に、書込み行為を示すHTTP POSTメッセージの内容の解析処理を行う書込内容抽出手段を設けるようにしてもよい。この場合、書込みの内容を解析する処理は、書込み行為を示すHTTP POSTメッセージを抽出後に逐一行う必要はなく、予め定めた期間蓄積した後、別のタイミングで解析すればよい。
【０１００】
また、トラフィックデータ抽出装置１に、ユーザによるサイトの閲覧行動を推測する閲覧行動推測処理部を設けた場合、ステップＳ３のHTTP POST分類処理にて「その他」であると判定したメッセージが、例えば、HTTP GETメッセージであれば、閲覧履歴をもとにユーザの行動履歴を推測する処理を行うようにしてもよい。また、トラフィックデータ抽出装置１は、ステップＳ３にて「その他」であると判定したメッセージを消去するようにしてもよいし、蓄積するようにしてもよい。
【符号の説明】
【０１０１】
１０    ユーザ行動推定システム
１１（１１Ａ、１１Ｂ、１１Ｃ）  クライアント
１２（１２Ａ、１２Ｂ、１２Ｃ）  サーバ
１      トラフィックデータ抽出装置
２      演算手段
２１    パケット抽出手段
２２    メッセージ判別手段（メッセージ抽出手段）
２３    データ変換手段
２４    書込行為分類手段
２５    識別関数作成手段
２６    メモリ
３      記憶手段
３１    トラフィックキャプチャプログラム
３２    データ変換プログラム
３３    書込行為分類プログラム
３４    識別関数作成プログラム
３５    URLリスト
３６    変換規則
３７    入力用ベクトル
３８    学習用データ
３９    パラメータ
４      通信手段
５      入力手段
６      出力手段
７      バスライン
ｆ      識別関数
Ｎ      ネットワーク
【図１】
2011175326.tif 000015
【図２】
2011175326.tif 000016
【図３】
2011175326.tif 000017
【図４】
2011175326.tif 000018
【図５】
2011175326.tif 000019
【図６】
2011175326.tif 000020