「イントラネット」なんて言葉も死後になりつつある昨今だが、それも、わざわざ言う必要もないほど「業務へのWeb技術の活用」が当たり前になったということなのだろう。ことに、近ごろ巷では「Web 2.0」とか「Ajax」といったキーワードが大流行で、我々の仕事や生活がますますWebに依存しつつあるのは間違いない。さて、そんなWebを支える要素として重要なのは、やはりなんといってもサービスを提供するWebサーバだろう。そこで、今回からはWebサーバの定量評価をテーマに、いろいろ考えてみよう。

Webサーバを評価する際も、その切り口はさまざまである。「性能」や「稼働率」も評価軸のひとつだし、「ページビュー」や「検索語」などの、アクセスログから得られるデータをもとにした分析も大切だ。とはいえ、稼働率はほかのサーバシステムと同じように計算すればよいし、性能に関しても、ちょっと検索すればベンチマークテストの方法やツールの情報をたくさん見つけることができる。アクセスログの解析だって、単純にページビューの推移を見るだけとか、検索語のランキングをチェックするだけならば、たいていのサイトではGoogle Analysticsで事足りるだろう。そこで、もうちょっと進んだ話として、今回はアクセスログの「より高度な分析」に関する話題を紹介しよう。

ちょっと古い話(今年3月26日)で恐縮だが、経営科学系研究部会連合協議会が主催するイベント「データ解析コンペティション」の成果報告会を取材してきた。このイベントは、産学から参加する各チームが1つのテーマに沿ってデータの解析を行い、新たなモデルの構築や知識の発見を競うことで学術および実務研究の発展に寄与することを目的とするものである。今年のテーマは、都合良く「ウェブ・アクセス・ログの解析」だった。さすがにデータ解析の専門家が集まるだけあって、どのチームの研究も興味深いものだった。中でも、社会人部門最優秀賞を受賞した関西学院大学チーム(チーム名:Crescent)の発表は、研究の新規性、実用可能性ともに優れていた。

Crescentの発表者は、オープンソースのデータマイニングソフトウェア「MUSASHI」の開発者としても知られる羽室行信氏だった。研究の内容は、アクセスログを「Emerging Sequence Pattern」というモデリング手法を用いて分析し、「ワンクリックだけして帰る人」「長くサイトに滞在する人」「有料サービスに申し込む人」といったユーザの傾向予測を行うというものである。

さて、この「Emerging Sequence Pattern」というモデリング手法は、「アイテム集合」や「シーケンス」といった要素から構築されている。まずアイテム集合というのは、検索語やリファラ、曜日や時刻など、ログに記録されている個別のデータの集まりである。また、シーケンスはログに記録されたURLの、時間軸に沿った並びを指すと考えればよい。

分析は、まずアクセスログ全体から、出現頻度の高いアイテム集合やシーケンスを抽出することからはじまる。ただ、生のログではアイテムやシーケンスのばらつきが大きくなるため、あらかじめ「タクソノミー」を導入して似たもの同士を分類、一般化しておく必要がある。例えば大文字と小文字、カタカナと平仮名の違いなどをまとめて、同じ意味なのに異なるアイテムとして扱われないようにしておくわけだ。

また、シーケンスに関しては、Webサーバへの各リクエストの時間間隔をもとに、「タイムギャップ」「ウィンドウサイズ」といった制約も設定しておく。同じユーザが初回アクセスから3日経って再度アクセスしてきても、それはサイトへの連続したアクセスとは見なさないのが当然だし、「申し込みフォーム」に名前や住所を入力することを考えると、表示から送信まで1秒しかかからないといったことは有り得ない。シーケンスの抽出に時間の制約を適切にかけることで、分析結果の精度を高めようというわけだ。

抽出したアイテム集合とシーケンスをもとに分析を行うと、「頻出する特徴的なパターン(Emerging Pattern)」が発見できる。例えば、「キーワード●●で検索してサイトにたどり着いたユーザは、長期滞在する率が1クリックで帰ってしまう率より○○倍高い」とか、「この順序でページを移動したユーザは有料サービスに申し込む確率が高い」といったパターンだ。つまり、アクセスログを細かく分析することで、Webサイトを訪れるユーザの動向をかなり高い精度で予測できる可能性がある。

きちんとアクセスログを残し、かつデータマイニングの技術を用いて分析を行えば、気付かなかったWebサイトの欠点を見つけられることも多いはずだ。また、ECサイトなどでは、導線の改善から大幅な販売数増加に結び付けることも考えられるだろう。なお、「Emerging Sequence Pattern」は既にプログラムも実装されており、現場でも実際に運用可能な分析手法であるとのことだ。