(57)【要約】  学習対象となる、ユーザのウェブサイトへのリクエストを表すデータから、ユーザのページ閲覧の特徴量として、ユーザのウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出し、また、推定対象となる、いずれかのユーザによるウェブサイトへのリクエストを表すデータから、ユーザのページ閲覧の特徴量として、ウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出する抽出部（１１）と、抽出された、学習対象となる、ユーザそれぞれのページ閲覧の特徴量を学習することにより、ユーザごとのページ閲覧の特徴を示すモデルを作成する学習部（１２）と、推定対象となるユーザのページ閲覧の特徴量と、モデルとを参照して、ユーザがどのユーザかを推定する推定部（１４）とを備える。
2016194996.tif 000002
【特許請求の範囲】
【請求項１】
学習対象となる、ユーザのウェブサイトへのリクエストを表すデータから、前記ユーザのページ閲覧の特徴量として、前記ユーザのウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出し、また、推定対象となる、いずれかのユーザによるウェブサイトへのリクエストを表すデータから、当該ユーザのページ閲覧の特徴量として、前記ウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出する抽出部と、
前記抽出部により抽出された、学習対象となる、ユーザそれぞれのページ閲覧の特徴量を学習することにより、前記ユーザごとのページ閲覧の特徴を示すモデルを作成する学習部と、
前記抽出部により抽出された、推定対象となる、前記ユーザのページ閲覧の特徴量と、前記モデルとを参照して、前記ユーザがどのユーザかを推定する推定部とを備えることを特徴とするユーザ推定装置。
【請求項２】
前記抽出部は、前記ユーザのページ閲覧の特徴量として、さらに、前記ウェブサイト上での閲覧の開始ページ、前記閲覧のユニークページ数、および、前記ウェブサイトの閲覧に要したセッション長の少なくともいずれか１つ以上を抽出することを特徴とする請求項１に記載のユーザ推定装置。
【請求項３】
前記抽出部は、前記ウェブサイトへのリクエストを表すデータに、画像、JavaScript（登録商標）、または、CSS（Cascading  Style  Sheets）を取得するリクエストを表す第２のデータが含まれていた場合、前記第２のデータを除外したデータから、前記ユーザのページ閲覧の特徴量を抽出することを特徴とする請求項１に記載のユーザ推定装置。
【請求項４】
前記抽出部は、前記リクエストを表すデータにおけるリクエスト先のＵＲＬ（Uniform  Resource  Locator）のうち、所定階層までのＵＲＬに基づき、前記ユーザのページ閲覧の特徴量を抽出することを特徴とする請求項１に記載のユーザ推定装置。
【請求項５】
前記抽出部は、前記リクエストを表すデータにおけるリクエスト先のＵＲＬにセッションごとに固有のＩＤが含まれている場合、前記ＩＤ部分以外のＵＲＬに基づき、前記ユーザのページ閲覧の特徴量を抽出することを特徴とする請求項１に記載のユーザ推定装置。
【請求項６】
学習対象となる、ユーザのウェブサイトへのリクエストを表すデータから、前記ユーザのページ閲覧の特徴量として、前記ユーザのウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出する第１の抽出ステップと、
前記第１の抽出ステップにより抽出されたユーザそれぞれのページ閲覧の特徴量を学習することにより、前記ユーザごとのページ閲覧の特徴を示すモデルを作成する学習ステップと、
推定対象となる、いずれかのユーザによる前記ウェブサイトへのリクエストを表すデータから、当該ユーザのページ閲覧の特徴量として、前記ウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出する第２の抽出ステップと、
前記第２の抽出ステップにより抽出された前記ユーザのページ閲覧の特徴量と、前記モデルとを参照して、前記ユーザがどのユーザかを推定する推定ステップとを含んだことを特徴とするユーザ推定方法。
【請求項７】
学習対象となる、ユーザのウェブサイトへのリクエストを表すデータから、前記ユーザのページ閲覧の特徴量として、前記ユーザのウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出する第１の抽出ステップと、
前記第１の抽出ステップにより抽出されたユーザそれぞれのページ閲覧の特徴量を学習することにより、前記ユーザごとのページ閲覧の特徴を示すモデルを作成する学習ステップと、
推定対象となる、いずれかのユーザによる前記ウェブサイトへのリクエストを表すデータから、当該ユーザのページ閲覧の特徴量として、前記ウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出する第２の抽出ステップと、
前記第２の抽出ステップにより抽出された前記ユーザのページ閲覧の特徴量と、前記モデルとを参照して、前記ユーザがどのユーザかを推定する推定ステップとをコンピュータに実行させることを特徴とするユーザ推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ推定装置、ユーザ推定方法、および、ユーザ推定プログラムに関する。
【背景技術】
【０００２】
従来、ユーザが閲覧したページを元に、閲覧したページの機能（例えば、検索、商品一覧、購入等）からなる遷移情報の組合せを特徴量としてユーザをクラスタリング・学習し、ユーザの閲覧行動パターンを予測したり、閲覧行動パターンが類似するユーザを提示したりする技術がある（特許文献１参照）。このような技術を適用することで、ユーザのサイトの閲覧行動パターンから、当該ユーザが過去に訪問したどのユーザかを推測することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１０６６６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記の技術では、ユーザが閲覧したページ数が少なかったり、閲覧したページに含まれるリンクの数が少なかったりすると、閲覧したページの遷移情報にユーザごとの差異が出にくい。その結果、実際には当該ページを閲覧したユーザが別々のユーザであっても類似するユーザとして提示してしまうことがあった。つまり、従来技術では、ユーザが閲覧したページ数が少なかったり、閲覧したページに含まれるリンクの数が少なかったりすると、ユーザのサイトの閲覧行動パターンから当該ユーザが過去に訪問したどのユーザかを推定しようとしても、推定精度が低いという問題があった。【０００５】
そこで、本発明は、前記した問題を解決し、ユーザの閲覧したページの数やページに含まれるリンクが少ない場合であっても、当該ユーザが過去に訪問したどのユーザかを精度よく推定することを課題とする。
【課題を解決するための手段】
【０００６】
前記した課題を解決するため、本発明は、学習対象となる、ユーザのウェブサイトへのリクエストを表すデータから、前記ユーザのページ閲覧の特徴量として、前記ユーザのウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出し、また、推定対象となる、いずれかのユーザによるウェブサイトへのリクエストを表すデータから、当該ユーザのページ閲覧の特徴量として、前記ウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出する抽出部と、前記抽出部により抽出された、学習対象となる、ユーザそれぞれのページ閲覧の特徴量を学習することにより、前記ユーザごとのページ閲覧の特徴を示すモデルを作成する学習部と、前記抽出部により抽出された、推定対象となる、前記ユーザのページ閲覧の特徴量と、前記モデルとを参照して、前記ユーザがどのユーザかを推定する推定部とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ユーザの閲覧したページの数やページに含まれるリンクが少ない場合であっても、当該ユーザが過去に訪問したどのユーザかを精度よく推定することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、ユーザ推定装置の機能ブロック図である。
【図２】図２は、入力部が受け付けるデータの例を示す図である。
【図３】図３は、セッション情報構築部が構築するセッション情報の例を示す図である。
【図４】図４は、特徴量抽出部が用いる変換表の例を示す図である。
【図５】図５は、特徴量抽出部が抽出するユーザのページ閲覧の特徴量の例を示す図である。
【図６】図６は、ユーザ推定装置がモデルを作成するときの処理手順を示すフローチャートである。
【図７】図７は、ユーザ推定装置がユーザを推定するときの処理手順を示すフローチャートである。
【図８】図８は、入力部における階層による打ち切りを説明するための図である。
【図９】図９は、入力部における正規表現による置換を説明するための図である。
【図１０】図１０は、ユーザ推定プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、本発明を実施するための形態（実施形態）を、第１の実施形態〜第４の実施形態に分けて説明する。
【００１０】
まず、各実施形態のユーザ推定装置１０の概要を説明する。各実施形態のユーザ推定装置１０は、ウェブサイトへのリクエストを表すデータ（例えば、アクセスログ等）から、当該ウェブサイト上での各ユーザのページ閲覧の特徴量（例えば、ページの遷移順序および各ページへの遷移に要した時間）を抽出し、ユーザそれぞれのページ閲覧の特徴を示すプロファイル（モデル）を作成する。そして、ユーザ推定装置１０は、推定対象のデータ（いずれかのユーザのウェブサイトへのリクエストを表すデータ）を受け付けると、そのデータに示される当該ユーザの振る舞いの特徴量と、上記のモデルとを参照して、当該ユーザがどのユーザであるかを推定する。
【００１１】
（第１の実施形態）
第１の実施形態のユーザ推定装置１０は、図１に示すように、抽出部１１と、学習部１２と、モデル記憶部１３と、推定部１４と、出力部１５とを備える。
【００１２】
抽出部１１は、ユーザによるウェブサイトへのリクエストを表すデータを受け付けると、このデータに示されるリクエスト先のＵＲＬ（Uniform  Resource  Locator）に基づき、当該ユーザのページ閲覧の特徴量を抽出する。具体的には、抽出部１１は、当該ユーザのページ閲覧の特徴量として、当該ユーザのウェブサイト上におけるページの遷移順序および各ページへの遷移に要した時間を抽出する。なお、抽出部１１は、モデルの作成のためのユーザのページ閲覧の特徴量と、ユーザの推定のためのユーザのページ閲覧の特徴量と両方の特徴量の抽出を行う。抽出部１１は、モデルの作成のためのデータを受け付けた場合、抽出した特徴量を学習部１２へ出力し、ユーザの推定対象のデータを受け付けた場合、抽出した特徴量を推定部１４へ出力する。なお、抽出部１１における出力先の切り替えは、入力されるデータに、当該データがモデルの作成のためのデータ（学習対象となるデータ）か、ユーザの推定対象のデータかを示すフラグを付加し、当該フラグによって判断してもよいし、ユーザ推定装置１０に学習モードと推定モードの２つの状態を持たせ、手動もしくは時間帯等による自動でのモードの切り替えを行い、学習モードのときに入力されたデータはモデル作成のためのデータ、推定モードのときに入力されたデータは推定対象のデータと判断してもよい。
【００１３】
また、抽出部１１への入力データの与え方は複数行のデータをまとめて渡すバッチ処理でも、１行ずつデータを渡して都度処理を行うリアルタイム処理でも、どちらでもよい。以下ではバッチ処理を例に説明するが、リアルタイム処理で処理することも可能である。
【００１４】
抽出部１１は、入力部１１１と、セッション情報構築部１１２と、特徴量抽出部１１３とを備える。
【００１５】
入力部１１１は、ユーザによるウェブサイトへのリクエストを表すデータを受け付ける。このリクエストを表すデータは、例えば、ユーザの端末装置（図示省略）とサーバ（上記のウェブサイトを提供するサーバ）との通信内容のパケットをキャプチャしたものや、サーバのアクセスログ等（図２参照）である。このリクエストを表すデータは、後記するユーザのセッション情報を構築するために必要な、時刻、リクエスト先のＵＲＬのパス、セッションＩＤまたは発ＩＰアドレス等の情報が含まれていれば、形式は問わない。
【００１６】
セッション情報構築部１１２は、入力部１１１で得られたデータからセッションを構成するリクエストをピックアップしてセッション情報を構築する。ピックアップの判断基準は後記する。ここで、セッション情報はウェブサイトのセッションごとに、当該セッションにおいてアクセスしているユーザ名（ユーザＩＤ）、当該セッションに含まれるリクエスト先のＵＲＬのパスおよび時刻を時系列で並べた情報である（図３参照）。なお、セッション情報に含むＵＲＬのパスに、ＨＴＴＰ（HyperText  Transfer  Protocol）のメソッド（ＧＥＴやＰＯＳＴ等）を含めてもよいし、ＵＲＬ全体（http://ドメイン/パス/）を含めてもよい。
【００１７】
なお、セッションとはウェブサイトにおいて、ユーザ（ユーザの端末）がログインしてからログアウトするまで、同じユーザによって行われるリクエストのシーケンスである。なお、ウェブサイトへのログイン前あるいはログイン後に、同じユーザによって行われたリクエストを、上記のセッションに加えたものをセッションとしてもよい。また、ユーザのログインがない場合でも、例えば、直前のリクエストとの時間間隔がある閾値以下であり、かつ、同じ発ＩＰアドレスからの一連のリクエストをセッションとしてもよい。
【００１８】
図３に例示するセッション情報は、１つのセッション情報を表（テーブル）の１行として表したものである。このセッション情報の表現方式は、上記の表（テーブル）に限らず、ＪＳＯＮ（JavaScript（登録商標）  Object  Notation）等でもよい。
【００１９】
また、セッションを構成するリクエストをピックアップする判断基準であるが、ウェブアプリケーションで用いられるcookieに含まれるセッションＩＤが同一のものをピックアップするという基準が考えられる。また、同一の発ＩＰアドレスから来たリクエストのうち、直前のリクエストとの時間間隔が所定の閾値以下のものをピックアップするという基準であってもよい。また、セッション情報に含まれるユーザ名の特定方法であるが、一般的なウェブプリケーションで用いられているような、ログインページでユーザが入力したパラメータから取得する方法の他、発ＩＰアドレスとユーザが紐付けられる環境であれば、発ＩＰアドレスをユーザ名の代わりに用いてもよい。
【００２０】
特徴量抽出部１１３は、個々のセッション情報（図３参照）から、ユーザのページ閲覧の特徴量として、ウェブサイトのページの遷移順序（ページ遷移順序）および各ページへの遷移に要した時間（ページ遷移時間間隔）を抽出する。
【００２１】
例えば、特徴量抽出部１１３は、以下のようにしてページ遷移順序を抽出する。まず、特徴量抽出部１１３は、セッション情報（図３参照）に含まれるリクエスト先のＵＲＬのパスを、変換表（図４参照）により、番号と１対１で対応させる。なお、この変換表（図４参照）は、予め用意してもよいし、処理対象のリクエスト先のＵＲＬのパスが変換表（図４参照）になければ、新たに番号を払い出して追加する等都度更新される変換表であってもよい。
【００２２】
その後、特徴量抽出部１１３は、セッション情報（図３参照）に含まれるリクエスト先のＵＲＬのパスからなるシーケンスを番号の文字列に置き換える。例えば、特徴量抽出部１１３は、図３に示す項番１のセッション情報に対応する文字列として「#1#2#3…」を得る。また、特徴量抽出部１１３は、図３に示す項番２のセッション情報に対応する文字列として「#4#1#5…」を得る。なお、特徴量抽出部１１３は、上記のようにして得られた文字列をそのままページ遷移順序として抽出してもよいし、セッション情報において隣接するリクエストのペア（例えば、「#1#2#3…」からは「#1#2,#2#3，…」）を抽出する等、ｎ個（ｎは２以上）の隣接するリクエストの組をページ遷移順序として抽出してもよい。つまり、特徴量抽出部１１３は、文字列処理におけるn-gramと呼ばれる特徴量の抽出方法を適用して、ページ遷移順序を抽出してもよい。
【００２３】
また、例えば、特徴量抽出部１１３は、セッション情報（図３参照）におけるリクエストそれぞれの時刻から、ページ遷移時間間隔を抽出する。例えば、特徴量抽出部１１３は、セッション情報（図３参照）を参照して、#1と#2のリクエストの時間間隔が３秒であることが分かると、「#1#2:3」という特徴量を得る。ここでのページ遷移時間間隔は、ページ遷移順序に示される各リクエストの時間間隔をそのまま用いてもよいし、例えば、同じページ遷移が同一セッション中に複数存在した場合、これらのページ遷移の時間間隔の平均値を用いてもよい。
【００２４】
例えば、特徴量抽出部１１３は、ページ遷移時間間隔として、ページ遷移順序に示される各リクエストの時間間隔をそのまま用いる場合、図５の「そのまま用いる場合」に示すように、｛ユーザ：user,特徴量:#1#2:3,#2#3:4,#3#1:3,#1#2:5,…｝というデータをユーザのページ閲覧の特徴量として抽出する。
【００２５】
なお、特徴量抽出部１１３が、ページ遷移時間間隔として、同じページ遷移の時間間隔の平均値を用いる場合、図５の「平均値を用いる場合」に示すように、｛ユーザ：user,特徴量:#1#2:4,#2#3:4,#3#1:3,…｝というデータをユーザのページ閲覧の特徴量として抽出する。これは、上記の「特徴量:#1#2:3,#2#3:4,#3#1:3,#1#2:5,…」に、#1#2というページ遷移が２つあるので、1#2:3（３秒）と#1#2:5（５秒）の平均値（４秒）をとったものである。
【００２６】
また、特徴量抽出部１１３は、遷移元のページからいずれかのページへ遷移した時間を特徴量として抽出してもよい。例えば、#1のリクエストと#2のリクエストの時間間隔が３秒である場合、特徴量抽出部１１３は、遷移先である#2は無視して、「#1:3」という特徴量を抽出する。これは「#1のページからいずれかのページへ３秒で遷移した」という特徴量を表す。例えば、特徴量抽出部１１３は｛ユーザ：user,特徴量：#1:3,#2:4,#3:3,#1:5,…｝というデータを、ユーザのページ閲覧の特徴量として抽出する。また、この場合も、特徴量として、遷移元のページからいずれかのページへ遷移した時間をそのまま用いてもよいし、同じページ遷移が同一セッション中に複数存在した場合、これらのページ遷移の時間間隔の平均値を用いてもよい。
【００２７】
また、特徴量抽出部１１３は、いずれかのページから遷移先のページへ遷移した時間を特徴量として抽出してもよい。例えば、#1のリクエストと#2のリクエストの時間間隔が３秒である場合、特徴量抽出部１１３は、遷移元である#1は無視して、「#2:3」という特徴量を抽出する。これは「いずれかのページから#2のページへ３秒で遷移した」という特徴量を表す。例えば、特徴量抽出部１１３は｛ユーザ：user,特徴量：#2:3,#3:4,#1:3,#2:5,…｝というデータを、ユーザのページ閲覧の特徴量として抽出する。また、この場合も、特徴量として、いずれかのページから遷移先のページへ遷移した時間をそのまま用いてもよいし、同じページ遷移が同一セッション中に複数存在した場合、これらのページ遷移の時間間隔の平均値を用いてもよい。
【００２８】
なお、入力部１１１で受け付けたデータが前記したモデルの作成のためのデータである場合、特徴量抽出部１１３は抽出したユーザのページ閲覧の特徴量を学習部１２へ出力する。また、入力部１１１で受け付けたデータがユーザの推定対象のデータである場合、特徴量抽出部１１３は、抽出したユーザのページ閲覧の特徴量を推定部１４へ出力する。
【００２９】
特徴量抽出部１１３による、特徴量の出力およびタイミングは、ユーザのログアウト等でウェブサイトへのセッションが終了した時点で、当該セッション全体から得られた特徴量をすべて出力してもよいし、ユーザのページ遷移が発生し、ページ閲覧の特徴量が増えるたびに１つずつ出力してもよい。また、タイマーや、抽出した特徴量の個数またはデータ量等によって特徴量を出力するタイミングを決めてもよい。
【００３０】
学習部１２は、特徴量抽出部１１３から出力されたユーザのページ閲覧の特徴量を得ると、機械学習のアルゴリズムに従い、ユーザそれぞれのページ閲覧の特徴を示すプロファイル（モデル）を作成し、モデル記憶部１３に記憶する。この学習部１２が使用する機械学習のアルゴリズムは、Jubatus(http://jubat.us/)やscikit-learn(http://scikit-learn.org/)のような既存の機械学習ライブラリによる実装を用いてもよく、その方式は問わない。
【００３１】
例えば、学習部１２は、ある特徴量が複数のユーザの内、どのユーザのものかをラベリングする多クラス分類器を用いてもよいし、ラベリングの際、複数のラベルを許容するマルチラベル分類器を用いてもよい。また、二値分類器を複数並べて多クラス分類器やマルチラベル分類器を構成してもよい。さらに、分類器ではなく異常検知器を用いてもよい。異常検知器を用いる場合、異常と判定されなかったユーザにラベリングされたと解釈する。
【００３２】
モデル記憶部１３は、学習部１２により作成されたモデルを記憶する。
【００３３】
推定部１４は、特徴量抽出部１１３から出力されたユーザのページ閲覧の特徴量（つまり推定対象の特徴量）を得ると、機械学習のアルゴリズムに従い、モデル記憶部１３に記憶されたモデルを用いて、当該特徴量のユーザを推定する。推定部１４はユーザの推定結果を出力部１５へ出力する。
【００３４】
出力部１５は、推定部１４から出力されたユーザの推定結果を外部装置等に出力する。
【００３５】
このようなユーザ推定装置１０によれば、ユーザの閲覧したページの数やページに含まれるリンクが少ない場合であっても、当該ユーザが過去に訪問したどのユーザかを精度よく推定することができる。
【００３６】
次に、ユーザ推定装置１０の処理手順を説明する。まず、図６を用いて、ユーザ推定装置１０が、モデルを作成する手順を説明する。
【００３７】
図６に示すように、まず、入力部１１１がユーザによるウェブサイトへのリクエストを表すデータの入力を受け付けると（Ｓ１）、セッション情報構築部１１２は、セッション情報（図３参照）を構築する（Ｓ２）。次に、特徴量抽出部１１３は、Ｓ２で構築されたセッション情報（図３参照）から、ユーザのページ閲覧の特徴量を抽出する（Ｓ３）。その後、学習部１２は、Ｓ３で抽出されたユーザのページ閲覧の特徴量を用いて、ユーザそれぞれのページ閲覧の特徴を示すプロファイル（モデル）を作成する（Ｓ４：モデル作成）。そして、学習部１２は作成したモデルをモデル記憶部１３に記憶する。
【００３８】
次に、図７を用いて、ユーザ推定装置１０が、ユーザの推定をする手順を説明する。
【００３９】
まず、入力部１１１が推定対象のデータ（ユーザによるウェブサイトへのリクエストを表すデータ）の入力を受け付けると（Ｓ１１）、セッション情報構築部１１２は、セッション情報（図３参照）を構築し（Ｓ１２）、特徴量抽出部１１３は、Ｓ１２で構築されたセッション情報（図３参照）から、ユーザのページ閲覧の特徴量を抽出する（Ｓ１３）。その後、推定部１４は、Ｓ１３で抽出したユーザのページ閲覧の特徴量と、モデル記憶部１３に記憶されたモデルとを参照して、ユーザを推定する（Ｓ１４）。そして、推定部１４は、出力部１５経由で、ユーザの推定結果を出力する（Ｓ１５）。
【００４０】
このようなユーザ推定装置１０によれば、ユーザの閲覧したページの数やページに含まれるリンクが少ない場合であっても、当該ユーザが過去に訪問したどのユーザかを精度よく推定することができる。なお、ユーザ推定装置１０は、ユーザのページ閲覧の特徴量として、ユーザのウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔を抽出することとしたが、ユーザのウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔のいずれかを抽出することとしてもよい。
【００４１】
（第２の実施形態）
次に、第２の実施形態のユーザ推定装置１０を説明する。前記した実施形態と同じ構成は、同じ符号を付して説明を省略する。第２の実施形態のユーザ推定装置１０は、モデルの作成時およびユーザの推定時に、特徴量抽出部１１３において、セッションの開始ページ、セッションに含まれるユニークページ数、および、セッション長の少なくともいずれか１つ以上をユーザのページ閲覧の特徴量として抽出する。
【００４２】
なお、セッションの開始ページとは、セッション情報の最初に含まれるリクエスト先ＵＲＬのパスを指す。例えば、図３に示した項番１のセッション情報の場合、特徴量抽出部１１３は、リクエスト１の「開始ページ：/index.html」、または変換表（図４参照）による変換後の値（開始ページ：#1）を特徴量として抽出する。
【００４３】
また、セッションに含まれるユニークページ数とは、セッション情報に含まれるユニークリクエストＵＲＬのパスの数を指す。例えば、変換表（図４参照）により、番号の文字列に置き換えられたリクエストのシーケンスが「#1#2#1#3#2」だった場合、含まれるユニークリクエストは#1,#2,#3の３つなので、「ユニークページ数：3」を特徴量として抽出する。
【００４４】
また、セッション長とは、セッション情報（図３参照）に含まれるリクエストの数を指す。例えば、変換表（図４参照）により、番号の文字列に置き換えられたリクエストのシーケンスが「#1#2#3#4」だった場合、リクエストは４つ含まれるので、特徴量抽出部１１３は「セッション長：4」を特徴量として抽出する。
【００４５】
ユーザ推定装置１０が上記のようにセッションの開始ページ、セッションに含まれるユニークページ数、セッション長等をユーザのページ閲覧の特徴量として抽出し、モデルの作成およびユーザの推定を行うことで、ユーザの推定をより精度よく行うことができる。
【００４６】
（第３の実施形態）
次に、第３の実施形態のユーザ推定装置１０を説明する。前記した実施形態と同じ構成は、同じ符号を付して説明を省略する。第３の実施形態のユーザ推定装置１０は、入力部１１１において、入力データから有意なものを選別してセッション情報構築部１１２に渡すことを特徴とする。
【００４７】
一般に、サーバのアクセスログにはページのリクエストに加え、そのページに含まれる画像やJavaScript（登録商標）の取得のためのリクエストも含まれる。これらのリクエストはブラウザが自動的に行うものであり、ユーザの行動を直接反映したものではない。そこで、第３の実施形態のユーザ推定装置１０の入力部１１１は、入力されたウェブサイトへのリクエストを表すデータから、予め指定されたパターンに該当するリクエストを取り除き、セッション情報構築部１１２に渡す。
【００４８】
パターンの指定方法は、例えば、正規表現による指定があげられるが、他の手法によってもよい。
【００４９】
例えば、除外対象として、正規表現によって画像（JPEG,PNG,GIF）、JavaScript（登録商標）、CSSの取得リクエストを指定する場合は、以下の正規表現となる。
【００５０】
\.jpg$|\.png$|\.gif$|\.js$|\.css$
【００５１】
これは、リクエストに含まれるＵＲＬの文字列の末尾が「.jpg」、「.png」、「.gif」、「.js」、「.css」のいずれかであるものを表している。
【００５２】
また、入力部１１１はパターンによる指定に代わり、同じセッションにおいて直前のリクエストとの時間間隔が所定閾値以下であるリクエストを取り除き、セッション情報構築部１１２に渡してもよい。
【００５３】
このように、入力部１１１が、図（JPEG,PNG,GIF）、JavaScript（登録商標）、CSSの取得リクエストや、同じセッションにおいて直前のリクエストとの時間間隔が所定閾値以下であるリクエストを除外したリクエストをセッション情報構築部１１２に渡す。これにより、特徴量抽出部１１３は、リクエスト先のページに含まれる画像、JavaScript（登録商標）、CSSを取得するリクエストや、同じセッションにおいて直前のリクエストとの時間間隔が所定閾値以下であるリクエストを除外したリクエストに基づき、ユーザのページ閲覧の特徴量を抽出する。
【００５４】
このようにすることでユーザ推定装置１０は、ブラウザにより自動的に行われた可能性の高いリクエストを除外したリクエスト（つまり、ユーザの直接的な振る舞いを表している可能性の高いリクエスト）に基づき、ユーザのページ閲覧の特徴量を抽出し、ユーザを推定するので、ユーザの推定精度をさらに向上させることができる。
【００５５】
（第４の実施形態）
次に、第４の実施形態のユーザ推定装置１０を説明する。前記した実施形態と同じ構成は、同じ符号を付して説明を省略する。第４の実施形態のユーザ推定装置１０は、入力部１１１において、入力データのリクエスト先のＵＲＬのパスを抽象化してセッション情報構築部１１２に渡すことを特徴とする。
【００５６】
この抽象化には、例えば、以下の（１）階層による打ち切り、（２）正規表現による置換、の２つの方法があり、これらのいずれかを用いてもよいし、両方を組み合わせて用いてもよい。
【００５７】
（１）階層による打ち切り
入力部１１１は、入力データのリクエスト先のＵＲＬのパスの「/」で区切られた階層を予め定めた階層で打ち切る。例えば、入力部１１１は、図８に示すようにＵＲＬのパスの３階層目より後ろ（図８の下線部）を削除する。そして、入力部１１１は、入力データのリクエスト先のＵＲＬのパスの「/」で区切られた階層を、予め定めた階層で打ち切ったリクエストをセッション情報構築部１１２に渡す。これにより、特徴量抽出部１１３は、リクエスト先のＵＲＬのパスの「/」で区切られた階層のうち、予め定めた階層までのパスに基づき、ユーザのページ閲覧の特徴量を抽出する。
【００５８】
このようにすることでユーザ推定装置１０は、ウェブサイトのコンテンツのうち、ユーザ推定装置１０の使用者の所望する階層（ディレクトリ）におけるユーザのページ閲覧の特徴量に基づき、ユーザを推定することができる。
【００５９】
例えば、ウェブサイトがニュースサイトであり、このウェブサイトのＵＲＬのパスが「/カテゴリ/日時/記事」のように構成されている場合を考える。この場合、ユーザ推定装置１０がリクエスト先のＵＲＬの１階層目の「/カテゴリ/」で打ち切ることで、カテゴリに着目したユーザのページ閲覧の特徴量に基づき、ユーザを推定することができる。
【００６０】
（２）正規表現による置換
入力部１１１は、入力データのリクエスト先のＵＲＬを予め指定した正規表現のパターンで置換する。例えば、入力部１１１が、リクエスト先のＵＲＬに３桁以上の数字が含まれていた場合、当該数字を「%NUM」に置換する。この場合、入力部１１１は、「置換前：”[0-9]{3,}”置換後：”%NUM”」のように指定し、図９に示すように、リクエスト先のＵＲＬの３桁以上の数字の部分（図９の下線部）を「%NUM」に置換する。そして、入力部１１１は、上記のようにして置換したリクエストをセッション情報構築部１１２に渡す。これにより、特徴量抽出部１１３は、リクエスト先のＵＲＬにセッションごとに固有のＩＤが付与されている場合、このＩＤ部分を「%NUM」等の正規表現に置換したＵＲＬに基づき、ユーザのページ閲覧の特徴量を抽出する。
【００６１】
このようにすることで、ＵＲＬにセッションごとに固有のＩＤがＵＲＬに付与されるようなウェブサイトへのリクエストであっても、ユーザ推定装置１０が、アクセス先のＵＲＬでＩＤのみが異なるＵＲＬを同じＵＲＬとして扱い、ユーザのページ閲覧の特徴量を抽出することができる。その結果、ユーザ推定装置１０は、ユーザの推定精度をさらに向上させることができる。
【００６２】
（プログラム）
また、上記実施形態に係るユーザ推定装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成し、実行することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータに読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、システムと同様の機能を実現するユーザ推定プログラムを実行するコンピュータの一例を説明する。
【００６３】
図１０は、ユーザ推定プログラムを実行するコンピュータを示す図である。図１０に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ（Central  Processing  Unit）１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６４】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００６５】
ここで、図１０に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した情報等は、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００６６】
また、ユーザ推定プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ１０９０に記憶される。具体的には、上記実施形態で説明したシステムが実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ１０９０に記憶される。
【００６７】
また、ユーザ推定プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００６８】
なお、ユーザ推定プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、ユーザ推定プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００６９】
１０    ユーザ推定装置
１１    抽出部
１２    学習部
１３    モデル記憶部
１４    推定部
１５    出力部
１１１  入力部
１１２  セッション情報構築部
１１３  特徴量抽出部
【図１】
2016194996.tif 000003
【図２】
2016194996.tif 000004
【図３】
2016194996.tif 000005
【図４】
2016194996.tif 000006
【図５】
2016194996.tif 000007
【図６】
2016194996.tif 000008
【図７】
2016194996.tif 000009
【図８】
2016194996.tif 000010
【図９】
2016194996.tif 000011
【図１０】
2016194996.tif 000012
【国際調査報告】
2016194996.tif 000013
2016194996.tif 000014