JP6423529B2 - ユーザ推定装置、ユーザ推定方法、および、ユーザ推定プログラム - Google Patents

ユーザ推定装置、ユーザ推定方法、および、ユーザ推定プログラム Download PDF

Info

Publication number
JP6423529B2
JP6423529B2 JP2017522234A JP2017522234A JP6423529B2 JP 6423529 B2 JP6423529 B2 JP 6423529B2 JP 2017522234 A JP2017522234 A JP 2017522234A JP 2017522234 A JP2017522234 A JP 2017522234A JP 6423529 B2 JP6423529 B2 JP 6423529B2
Authority
JP
Japan
Prior art keywords
user
page
request
data representing
feature amount
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.)
Active
Application number
JP2017522234A
Other languages
English (en)
Other versions
JPWO2016194996A1 (ja
Inventor
慎吾 折原
慎吾 折原
嘉人 大嶋
嘉人 大嶋
浩志 朝倉
浩志 朝倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2016194996A1 publication Critical patent/JPWO2016194996A1/ja
Application granted granted Critical
Publication of JP6423529B2 publication Critical patent/JP6423529B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、ユーザ推定装置、ユーザ推定方法、および、ユーザ推定プログラムに関する。
従来、ユーザが閲覧したページを元に、閲覧したページの機能(例えば、検索、商品一覧、購入等)からなる遷移情報の組合せを特徴量としてユーザをクラスタリング・学習し、ユーザの閲覧行動パターンを予測したり、閲覧行動パターンが類似するユーザを提示したりする技術がある(特許文献1参照)。このような技術を適用することで、ユーザのサイトの閲覧行動パターンから、当該ユーザが過去に訪問したどのユーザかを推測することができる。
特開2014−106661号公報
しかし、上記の技術では、ユーザが閲覧したページ数が少なかったり、閲覧したページに含まれるリンクの数が少なかったりすると、閲覧したページの遷移情報にユーザごとの差異が出にくい。その結果、実際には当該ページを閲覧したユーザが別々のユーザであっても類似するユーザとして提示してしまうことがあった。つまり、従来技術では、ユーザが閲覧したページ数が少なかったり、閲覧したページに含まれるリンクの数が少なかったりすると、ユーザのサイトの閲覧行動パターンから当該ユーザが過去に訪問したどのユーザかを推定しようとしても、推定精度が低いという問題があった。
そこで、本発明は、前記した問題を解決し、ユーザの閲覧したページの数やページに含まれるリンクが少ない場合であっても、当該ユーザが過去に訪問したどのユーザかを精度よく推定することを課題とする。
前記した課題を解決するため、本発明は、学習対象となる、ユーザのウェブサイトへのリクエストを表すデータから、前記ユーザのページ閲覧の特徴量として、前記ユーザのウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出し、また、推定対象となる、いずれかのユーザによるウェブサイトへのリクエストを表すデータから、当該ユーザのページ閲覧の特徴量として、前記ウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出する抽出部と、前記抽出部により抽出された、学習対象となる、ユーザそれぞれのページ閲覧の特徴量を学習することにより、前記ユーザごとのページ閲覧の特徴を示すモデルを作成する学習部と、前記抽出部により抽出された、推定対象となる、前記ユーザのページ閲覧の特徴量と、前記モデルとを参照して、前記ユーザがどのユーザかを推定する推定部とを備えることを特徴とする。
本発明によれば、ユーザの閲覧したページの数やページに含まれるリンクが少ない場合であっても、当該ユーザが過去に訪問したどのユーザかを精度よく推定することができる。
図1は、ユーザ推定装置の機能ブロック図である。 図2は、入力部が受け付けるデータの例を示す図である。 図3は、セッション情報構築部が構築するセッション情報の例を示す図である。 図4は、特徴量抽出部が用いる変換表の例を示す図である。 図5は、特徴量抽出部が抽出するユーザのページ閲覧の特徴量の例を示す図である。 図6は、ユーザ推定装置がモデルを作成するときの処理手順を示すフローチャートである。 図7は、ユーザ推定装置がユーザを推定するときの処理手順を示すフローチャートである。 図8は、入力部における階層による打ち切りを説明するための図である。 図9は、入力部における正規表現による置換を説明するための図である。 図10は、ユーザ推定プログラムを実行するコンピュータを示す図である。
以下、図面を参照しながら、本発明を実施するための形態(実施形態)を、第1の実施形態〜第4の実施形態に分けて説明する。
まず、各実施形態のユーザ推定装置10の概要を説明する。各実施形態のユーザ推定装置10は、ウェブサイトへのリクエストを表すデータ(例えば、アクセスログ等)から、当該ウェブサイト上での各ユーザのページ閲覧の特徴量(例えば、ページの遷移順序および各ページへの遷移に要した時間)を抽出し、ユーザそれぞれのページ閲覧の特徴を示すプロファイル(モデル)を作成する。そして、ユーザ推定装置10は、推定対象のデータ(いずれかのユーザのウェブサイトへのリクエストを表すデータ)を受け付けると、そのデータに示される当該ユーザの振る舞いの特徴量と、上記のモデルとを参照して、当該ユーザがどのユーザであるかを推定する。
(第1の実施形態)
第1の実施形態のユーザ推定装置10は、図1に示すように、抽出部11と、学習部12と、モデル記憶部13と、推定部14と、出力部15とを備える。
抽出部11は、ユーザによるウェブサイトへのリクエストを表すデータを受け付けると、このデータに示されるリクエスト先のURL(Uniform Resource Locator)に基づき、当該ユーザのページ閲覧の特徴量を抽出する。具体的には、抽出部11は、当該ユーザのページ閲覧の特徴量として、当該ユーザのウェブサイト上におけるページの遷移順序および各ページへの遷移に要した時間を抽出する。なお、抽出部11は、モデルの作成のためのユーザのページ閲覧の特徴量と、ユーザの推定のためのユーザのページ閲覧の特徴量と両方の特徴量の抽出を行う。抽出部11は、モデルの作成のためのデータを受け付けた場合、抽出した特徴量を学習部12へ出力し、ユーザの推定対象のデータを受け付けた場合、抽出した特徴量を推定部14へ出力する。なお、抽出部11における出力先の切り替えは、入力されるデータに、当該データがモデルの作成のためのデータ(学習対象となるデータ)か、ユーザの推定対象のデータかを示すフラグを付加し、当該フラグによって判断してもよいし、ユーザ推定装置10に学習モードと推定モードの2つの状態を持たせ、手動もしくは時間帯等による自動でのモードの切り替えを行い、学習モードのときに入力されたデータはモデル作成のためのデータ、推定モードのときに入力されたデータは推定対象のデータと判断してもよい。
また、抽出部11への入力データの与え方は複数行のデータをまとめて渡すバッチ処理でも、1行ずつデータを渡して都度処理を行うリアルタイム処理でも、どちらでもよい。以下ではバッチ処理を例に説明するが、リアルタイム処理で処理することも可能である。
抽出部11は、入力部111と、セッション情報構築部112と、特徴量抽出部113とを備える。
入力部111は、ユーザによるウェブサイトへのリクエストを表すデータを受け付ける。このリクエストを表すデータは、例えば、ユーザの端末装置(図示省略)とサーバ(上記のウェブサイトを提供するサーバ)との通信内容のパケットをキャプチャしたものや、サーバのアクセスログ等(図2参照)である。このリクエストを表すデータは、後記するユーザのセッション情報を構築するために必要な、時刻、リクエスト先のURLのパス、セッションIDまたは発IPアドレス等の情報が含まれていれば、形式は問わない。
セッション情報構築部112は、入力部111で得られたデータからセッションを構成するリクエストをピックアップしてセッション情報を構築する。ピックアップの判断基準は後記する。ここで、セッション情報はウェブサイトのセッションごとに、当該セッションにおいてアクセスしているユーザ名(ユーザID)、当該セッションに含まれるリクエスト先のURLのパスおよび時刻を時系列で並べた情報である(図3参照)。なお、セッション情報に含むURLのパスに、HTTP(HyperText Transfer Protocol)のメソッド(GETやPOST等)を含めてもよいし、URL全体(http://ドメイン/パス/)を含めてもよい。
なお、セッションとはウェブサイトにおいて、ユーザ(ユーザの端末)がログインしてからログアウトするまで、同じユーザによって行われるリクエストのシーケンスである。なお、ウェブサイトへのログイン前あるいはログイン後に、同じユーザによって行われたリクエストを、上記のセッションに加えたものをセッションとしてもよい。また、ユーザのログインがない場合でも、例えば、直前のリクエストとの時間間隔がある閾値以下であり、かつ、同じ発IPアドレスからの一連のリクエストをセッションとしてもよい。
図3に例示するセッション情報は、1つのセッション情報を表(テーブル)の1行として表したものである。このセッション情報の表現方式は、上記の表(テーブル)に限らず、JSON(JavaScript(登録商標) Object Notation)等でもよい。
また、セッションを構成するリクエストをピックアップする判断基準であるが、ウェブアプリケーションで用いられるcookieに含まれるセッションIDが同一のものをピックアップするという基準が考えられる。また、同一の発IPアドレスから来たリクエストのうち、直前のリクエストとの時間間隔が所定の閾値以下のものをピックアップするという基準であってもよい。また、セッション情報に含まれるユーザ名の特定方法であるが、一般的なウェブプリケーションで用いられているような、ログインページでユーザが入力したパラメータから取得する方法の他、発IPアドレスとユーザが紐付けられる環境であれば、発IPアドレスをユーザ名の代わりに用いてもよい。
特徴量抽出部113は、個々のセッション情報(図3参照)から、ユーザのページ閲覧の特徴量として、ウェブサイトのページの遷移順序(ページ遷移順序)および各ページへの遷移に要した時間(ページ遷移時間間隔)を抽出する。
例えば、特徴量抽出部113は、以下のようにしてページ遷移順序を抽出する。まず、特徴量抽出部113は、セッション情報(図3参照)に含まれるリクエスト先のURLのパスを、変換表(図4参照)により、番号と1対1で対応させる。なお、この変換表(図4参照)は、予め用意してもよいし、処理対象のリクエスト先のURLのパスが変換表(図4参照)になければ、新たに番号を払い出して追加する等都度更新される変換表であってもよい。
その後、特徴量抽出部113は、セッション情報(図3参照)に含まれるリクエスト先のURLのパスからなるシーケンスを番号の文字列に置き換える。例えば、特徴量抽出部113は、図3に示す項番1のセッション情報に対応する文字列として「#1#2#3…」を得る。また、特徴量抽出部113は、図3に示す項番2のセッション情報に対応する文字列として「#4#1#5…」を得る。なお、特徴量抽出部113は、上記のようにして得られた文字列をそのままページ遷移順序として抽出してもよいし、セッション情報において隣接するリクエストのペア(例えば、「#1#2#3…」からは「#1#2,#2#3,…」)を抽出する等、n個(nは2以上)の隣接するリクエストの組をページ遷移順序として抽出してもよい。つまり、特徴量抽出部113は、文字列処理におけるn-gramと呼ばれる特徴量の抽出方法を適用して、ページ遷移順序を抽出してもよい。
また、例えば、特徴量抽出部113は、セッション情報(図3参照)におけるリクエストそれぞれの時刻から、ページ遷移時間間隔を抽出する。例えば、特徴量抽出部113は、セッション情報(図3参照)を参照して、#1と#2のリクエストの時間間隔が3秒であることが分かると、「#1#2:3」という特徴量を得る。ここでのページ遷移時間間隔は、ページ遷移順序に示される各リクエストの時間間隔をそのまま用いてもよいし、例えば、同じページ遷移が同一セッション中に複数存在した場合、これらのページ遷移の時間間隔の平均値を用いてもよい。
例えば、特徴量抽出部113は、ページ遷移時間間隔として、ページ遷移順序に示される各リクエストの時間間隔をそのまま用いる場合、図5の「そのまま用いる場合」に示すように、{ユーザ:user,特徴量:#1#2:3,#2#3:4,#3#1:3,#1#2:5,…}というデータをユーザのページ閲覧の特徴量として抽出する。
なお、特徴量抽出部113が、ページ遷移時間間隔として、同じページ遷移の時間間隔の平均値を用いる場合、図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というページ遷移が2つあるので、1#2:3(3秒)と#1#2:5(5秒)の平均値(4秒)をとったものである。
また、特徴量抽出部113は、遷移元のページからいずれかのページへ遷移した時間を特徴量として抽出してもよい。例えば、#1のリクエストと#2のリクエストの時間間隔が3秒である場合、特徴量抽出部113は、遷移先である#2は無視して、「#1:3」という特徴量を抽出する。これは「#1のページからいずれかのページへ3秒で遷移した」という特徴量を表す。例えば、特徴量抽出部113は{ユーザ:user,特徴量:#1:3,#2:4,#3:3,#1:5,…}というデータを、ユーザのページ閲覧の特徴量として抽出する。また、この場合も、特徴量として、遷移元のページからいずれかのページへ遷移した時間をそのまま用いてもよいし、同じページ遷移が同一セッション中に複数存在した場合、これらのページ遷移の時間間隔の平均値を用いてもよい。
また、特徴量抽出部113は、いずれかのページから遷移先のページへ遷移した時間を特徴量として抽出してもよい。例えば、#1のリクエストと#2のリクエストの時間間隔が3秒である場合、特徴量抽出部113は、遷移元である#1は無視して、「#2:3」という特徴量を抽出する。これは「いずれかのページから#2のページへ3秒で遷移した」という特徴量を表す。例えば、特徴量抽出部113は{ユーザ:user,特徴量:#2:3,#3:4,#1:3,#2:5,…}というデータを、ユーザのページ閲覧の特徴量として抽出する。また、この場合も、特徴量として、いずれかのページから遷移先のページへ遷移した時間をそのまま用いてもよいし、同じページ遷移が同一セッション中に複数存在した場合、これらのページ遷移の時間間隔の平均値を用いてもよい。
なお、入力部111で受け付けたデータが前記したモデルの作成のためのデータである場合、特徴量抽出部113は抽出したユーザのページ閲覧の特徴量を学習部12へ出力する。また、入力部111で受け付けたデータがユーザの推定対象のデータである場合、特徴量抽出部113は、抽出したユーザのページ閲覧の特徴量を推定部14へ出力する。
特徴量抽出部113による、特徴量の出力およびタイミングは、ユーザのログアウト等でウェブサイトへのセッションが終了した時点で、当該セッション全体から得られた特徴量をすべて出力してもよいし、ユーザのページ遷移が発生し、ページ閲覧の特徴量が増えるたびに1つずつ出力してもよい。また、タイマーや、抽出した特徴量の個数またはデータ量等によって特徴量を出力するタイミングを決めてもよい。
学習部12は、特徴量抽出部113から出力されたユーザのページ閲覧の特徴量を得ると、機械学習のアルゴリズムに従い、ユーザそれぞれのページ閲覧の特徴を示すプロファイル(モデル)を作成し、モデル記憶部13に記憶する。この学習部12が使用する機械学習のアルゴリズムは、Jubatus(http://jubat.us/)やscikit-learn(http://scikit-learn.org/)のような既存の機械学習ライブラリによる実装を用いてもよく、その方式は問わない。
例えば、学習部12は、ある特徴量が複数のユーザの内、どのユーザのものかをラベリングする多クラス分類器を用いてもよいし、ラベリングの際、複数のラベルを許容するマルチラベル分類器を用いてもよい。また、二値分類器を複数並べて多クラス分類器やマルチラベル分類器を構成してもよい。さらに、分類器ではなく異常検知器を用いてもよい。異常検知器を用いる場合、異常と判定されなかったユーザにラベリングされたと解釈する。
モデル記憶部13は、学習部12により作成されたモデルを記憶する。
推定部14は、特徴量抽出部113から出力されたユーザのページ閲覧の特徴量(つまり推定対象の特徴量)を得ると、機械学習のアルゴリズムに従い、モデル記憶部13に記憶されたモデルを用いて、当該特徴量のユーザを推定する。推定部14はユーザの推定結果を出力部15へ出力する。
出力部15は、推定部14から出力されたユーザの推定結果を外部装置等に出力する。
このようなユーザ推定装置10によれば、ユーザの閲覧したページの数やページに含まれるリンクが少ない場合であっても、当該ユーザが過去に訪問したどのユーザかを精度よく推定することができる。
次に、ユーザ推定装置10の処理手順を説明する。まず、図6を用いて、ユーザ推定装置10が、モデルを作成する手順を説明する。
図6に示すように、まず、入力部111がユーザによるウェブサイトへのリクエストを表すデータの入力を受け付けると(S1)、セッション情報構築部112は、セッション情報(図3参照)を構築する(S2)。次に、特徴量抽出部113は、S2で構築されたセッション情報(図3参照)から、ユーザのページ閲覧の特徴量を抽出する(S3)。その後、学習部12は、S3で抽出されたユーザのページ閲覧の特徴量を用いて、ユーザそれぞれのページ閲覧の特徴を示すプロファイル(モデル)を作成する(S4:モデル作成)。そして、学習部12は作成したモデルをモデル記憶部13に記憶する。
次に、図7を用いて、ユーザ推定装置10が、ユーザの推定をする手順を説明する。
まず、入力部111が推定対象のデータ(ユーザによるウェブサイトへのリクエストを表すデータ)の入力を受け付けると(S11)、セッション情報構築部112は、セッション情報(図3参照)を構築し(S12)、特徴量抽出部113は、S12で構築されたセッション情報(図3参照)から、ユーザのページ閲覧の特徴量を抽出する(S13)。その後、推定部14は、S13で抽出したユーザのページ閲覧の特徴量と、モデル記憶部13に記憶されたモデルとを参照して、ユーザを推定する(S14)。そして、推定部14は、出力部15経由で、ユーザの推定結果を出力する(S15)。
このようなユーザ推定装置10によれば、ユーザの閲覧したページの数やページに含まれるリンクが少ない場合であっても、当該ユーザが過去に訪問したどのユーザかを精度よく推定することができる。なお、ユーザ推定装置10は、ユーザのページ閲覧の特徴量として、ユーザのウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔を抽出することとしたが、ユーザのウェブサイト上におけるページの遷移順序および各ページへの遷移時間間隔のいずれかを抽出することとしてもよい。
(第2の実施形態)
次に、第2の実施形態のユーザ推定装置10を説明する。前記した実施形態と同じ構成は、同じ符号を付して説明を省略する。第2の実施形態のユーザ推定装置10は、モデルの作成時およびユーザの推定時に、特徴量抽出部113において、セッションの開始ページ、セッションに含まれるユニークページ数、および、セッション長の少なくともいずれか1つ以上をユーザのページ閲覧の特徴量として抽出する。
なお、セッションの開始ページとは、セッション情報の最初に含まれるリクエスト先URLのパスを指す。例えば、図3に示した項番1のセッション情報の場合、特徴量抽出部113は、リクエスト1の「開始ページ:/index.html」、または変換表(図4参照)による変換後の値(開始ページ:#1)を特徴量として抽出する。
また、セッションに含まれるユニークページ数とは、セッション情報に含まれるユニークリクエストURLのパスの数を指す。例えば、変換表(図4参照)により、番号の文字列に置き換えられたリクエストのシーケンスが「#1#2#1#3#2」だった場合、含まれるユニークリクエストは#1,#2,#3の3つなので、「ユニークページ数:3」を特徴量として抽出する。
また、セッション長とは、セッション情報(図3参照)に含まれるリクエストの数を指す。例えば、変換表(図4参照)により、番号の文字列に置き換えられたリクエストのシーケンスが「#1#2#3#4」だった場合、リクエストは4つ含まれるので、特徴量抽出部113は「セッション長:4」を特徴量として抽出する。
ユーザ推定装置10が上記のようにセッションの開始ページ、セッションに含まれるユニークページ数、セッション長等をユーザのページ閲覧の特徴量として抽出し、モデルの作成およびユーザの推定を行うことで、ユーザの推定をより精度よく行うことができる。
(第3の実施形態)
次に、第3の実施形態のユーザ推定装置10を説明する。前記した実施形態と同じ構成は、同じ符号を付して説明を省略する。第3の実施形態のユーザ推定装置10は、入力部111において、入力データから有意なものを選別してセッション情報構築部112に渡すことを特徴とする。
一般に、サーバのアクセスログにはページのリクエストに加え、そのページに含まれる画像やJavaScript(登録商標)の取得のためのリクエストも含まれる。これらのリクエストはブラウザが自動的に行うものであり、ユーザの行動を直接反映したものではない。そこで、第3の実施形態のユーザ推定装置10の入力部111は、入力されたウェブサイトへのリクエストを表すデータから、予め指定されたパターンに該当するリクエストを取り除き、セッション情報構築部112に渡す。
パターンの指定方法は、例えば、正規表現による指定があげられるが、他の手法によってもよい。
例えば、除外対象として、正規表現によって画像(JPEG,PNG,GIF)、JavaScript(登録商標)、CSSの取得リクエストを指定する場合は、以下の正規表現となる。
\.jpg$|\.png$|\.gif$|\.js$|\.css$
これは、リクエストに含まれるURLの文字列の末尾が「.jpg」、「.png」、「.gif」、「.js」、「.css」のいずれかであるものを表している。
また、入力部111はパターンによる指定に代わり、同じセッションにおいて直前のリクエストとの時間間隔が所定閾値以下であるリクエストを取り除き、セッション情報構築部112に渡してもよい。
このように、入力部111が、図(JPEG,PNG,GIF)、JavaScript(登録商標)、CSSの取得リクエストや、同じセッションにおいて直前のリクエストとの時間間隔が所定閾値以下であるリクエストを除外したリクエストをセッション情報構築部112に渡す。これにより、特徴量抽出部113は、リクエスト先のページに含まれる画像、JavaScript(登録商標)、CSSを取得するリクエストや、同じセッションにおいて直前のリクエストとの時間間隔が所定閾値以下であるリクエストを除外したリクエストに基づき、ユーザのページ閲覧の特徴量を抽出する。
このようにすることでユーザ推定装置10は、ブラウザにより自動的に行われた可能性の高いリクエストを除外したリクエスト(つまり、ユーザの直接的な振る舞いを表している可能性の高いリクエスト)に基づき、ユーザのページ閲覧の特徴量を抽出し、ユーザを推定するので、ユーザの推定精度をさらに向上させることができる。
(第4の実施形態)
次に、第4の実施形態のユーザ推定装置10を説明する。前記した実施形態と同じ構成は、同じ符号を付して説明を省略する。第4の実施形態のユーザ推定装置10は、入力部111において、入力データのリクエスト先のURLのパスを抽象化してセッション情報構築部112に渡すことを特徴とする。
この抽象化には、例えば、以下の(1)階層による打ち切り、(2)正規表現による置換、の2つの方法があり、これらのいずれかを用いてもよいし、両方を組み合わせて用いてもよい。
(1)階層による打ち切り
入力部111は、入力データのリクエスト先のURLのパスの「/」で区切られた階層を予め定めた階層で打ち切る。例えば、入力部111は、図8に示すようにURLのパスの3階層目より後ろ(図8の下線部)を削除する。そして、入力部111は、入力データのリクエスト先のURLのパスの「/」で区切られた階層を、予め定めた階層で打ち切ったリクエストをセッション情報構築部112に渡す。これにより、特徴量抽出部113は、リクエスト先のURLのパスの「/」で区切られた階層のうち、予め定めた階層までのパスに基づき、ユーザのページ閲覧の特徴量を抽出する。
このようにすることでユーザ推定装置10は、ウェブサイトのコンテンツのうち、ユーザ推定装置10の使用者の所望する階層(ディレクトリ)におけるユーザのページ閲覧の特徴量に基づき、ユーザを推定することができる。
例えば、ウェブサイトがニュースサイトであり、このウェブサイトのURLのパスが「/カテゴリ/日時/記事」のように構成されている場合を考える。この場合、ユーザ推定装置10がリクエスト先のURLの1階層目の「/カテゴリ/」で打ち切ることで、カテゴリに着目したユーザのページ閲覧の特徴量に基づき、ユーザを推定することができる。
(2)正規表現による置換
入力部111は、入力データのリクエスト先のURLを予め指定した正規表現のパターンで置換する。例えば、入力部111が、リクエスト先のURLに3桁以上の数字が含まれていた場合、当該数字を「%NUM」に置換する。この場合、入力部111は、「置換前:”[0-9]{3,}”置換後:”%NUM”」のように指定し、図9に示すように、リクエスト先のURLの3桁以上の数字の部分(図9の下線部)を「%NUM」に置換する。そして、入力部111は、上記のようにして置換したリクエストをセッション情報構築部112に渡す。これにより、特徴量抽出部113は、リクエスト先のURLにセッションごとに固有のIDが付与されている場合、このID部分を「%NUM」等の正規表現に置換したURLに基づき、ユーザのページ閲覧の特徴量を抽出する。
このようにすることで、URLにセッションごとに固有のIDがURLに付与されるようなウェブサイトへのリクエストであっても、ユーザ推定装置10が、アクセス先のURLでIDのみが異なるURLを同じURLとして扱い、ユーザのページ閲覧の特徴量を抽出することができる。その結果、ユーザ推定装置10は、ユーザの推定精度をさらに向上させることができる。
(プログラム)
また、上記実施形態に係るユーザ推定装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成し、実行することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータに読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、システムと同様の機能を実現するユーザ推定プログラムを実行するコンピュータの一例を説明する。
図10は、ユーザ推定プログラムを実行するコンピュータを示す図である。図10に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
ここで、図10に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した情報等は、例えばハードディスクドライブ1090やメモリ1010に記憶される。
また、ユーザ推定プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ1090に記憶される。具体的には、上記実施形態で説明したシステムが実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ1090に記憶される。
また、ユーザ推定プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ1090に記憶される。そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、ユーザ推定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、ユーザ推定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 ユーザ推定装置
11 抽出部
12 学習部
13 モデル記憶部
14 推定部
15 出力部
111 入力部
112 セッション情報構築部
113 特徴量抽出部

Claims (6)

  1. 学習対象となる、ユーザのウェブサイトへのリクエストを表すデータから、前記ユーザのページ閲覧の特徴量として、前記リクエストを表すデータにおけるリクエスト先のURL(Uniform Resource Locator)のうち、所定階層までのURLにおける前記ユーザのページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出し、また、推定対象となる、いずれかのユーザによるウェブサイトへのリクエストを表すデータから、当該ユーザのページ閲覧の特徴量として、前記リクエストを表すデータにおけるリクエスト先のURLのうち、前記所定階層までのURLにおける当該ユーザのページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出する抽出部と、
    前記抽出部により抽出された、学習対象となる、ユーザそれぞれのページ閲覧の特徴量を学習することにより、前記ユーザごとのページ閲覧の特徴を示すモデルを作成する学習部と、
    前記抽出部により抽出された、推定対象となる、前記ユーザのページ閲覧の特徴量と、前記モデルとを参照して、前記ユーザがどのユーザかを推定する推定部とを備えることを特徴とするユーザ推定装置。
  2. 前記抽出部は、前記ユーザのページ閲覧の特徴量として、さらに、前記リクエストを表すデータにおけるリクエスト先のURLのうち、前記所定階層までのURLにおける当該ユーザの閲覧の開始ページ、前記閲覧のユニークページ数、および、前記ウェブサイトの閲覧に要したセッション長の少なくともいずれか1つ以上を抽出することを特徴とする請求項1に記載のユーザ推定装置。
  3. 前記抽出部は、前記ウェブサイトへのリクエストを表すデータに、画像、JavaScript(登録商標)、または、CSS(Cascading Style Sheets)を取得するリクエストを表す第2のデータが含まれていた場合、前記第2のデータを除外したデータから、前記ユーザのページ閲覧の特徴量を抽出することを特徴とする請求項1に記載のユーザ推定装置。
  4. 前記抽出部は、前記リクエストを表すデータにおけるリクエスト先のURLにセッションごとに固有のIDが含まれている場合、前記ID部分以外のURLに基づき、前記ユーザのページ閲覧の特徴量を抽出することを特徴とする請求項1に記載のユーザ推定装置。
  5. 学習対象となる、ユーザのウェブサイトへのリクエストを表すデータから、前記ユーザのページ閲覧の特徴量として、前記リクエストを表すデータにおけるリクエスト先のURL(Uniform Resource Locator)のうち、所定階層までのURLにおける前記ユーザのページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出する第1の抽出ステップと、
    前記第1の抽出ステップにより抽出されたユーザそれぞれのページ閲覧の特徴量を学習することにより、前記ユーザごとのページ閲覧の特徴を示すモデルを作成する学習ステップと、
    推定対象となる、いずれかのユーザによる前記ウェブサイトへのリクエストを表すデータから、当該ユーザのページ閲覧の特徴量として、前記リクエストを表すデータにおけるリクエスト先のURLのうち、前記所定階層までのURLにおける当該ユーザのページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出する第2の抽出ステップと、
    前記第2の抽出ステップにより抽出された前記ユーザのページ閲覧の特徴量と、前記モデルとを参照して、前記ユーザがどのユーザかを推定する推定ステップとを含んだことを特徴とするユーザ推定方法。
  6. 学習対象となる、ユーザのウェブサイトへのリクエストを表すデータから、前記ユーザのページ閲覧の特徴量として、前記リクエストを表すデータにおけるリクエスト先のURL(Uniform Resource Locator)のうち、所定階層までのURLにおける前記ユーザのページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出する第1の抽出ステップと、
    前記第1の抽出ステップにより抽出されたユーザそれぞれのページ閲覧の特徴量を学習することにより、前記ユーザごとのページ閲覧の特徴を示すモデルを作成する学習ステップと、
    推定対象となる、いずれかのユーザによる前記ウェブサイトへのリクエストを表すデータから、当該ユーザのページ閲覧の特徴量として、前記リクエストを表すデータにおけるリクエスト先のURLのうち、前記所定階層までのURLにおける当該ユーザのページの遷移順序および各ページへの遷移時間間隔の少なくともいずれかを抽出する第2の抽出ステップと、
    前記第2の抽出ステップにより抽出された前記ユーザのページ閲覧の特徴量と、前記モデルとを参照して、前記ユーザがどのユーザかを推定する推定ステップとをコンピュータに実行させることを特徴とするユーザ推定プログラム。
JP2017522234A 2015-06-05 2016-06-02 ユーザ推定装置、ユーザ推定方法、および、ユーザ推定プログラム Active JP6423529B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015114983 2015-06-05
JP2015114983 2015-06-05
PCT/JP2016/066344 WO2016194996A1 (ja) 2015-06-05 2016-06-02 ユーザ推定装置、ユーザ推定方法、および、ユーザ推定プログラム

Publications (2)

Publication Number Publication Date
JPWO2016194996A1 JPWO2016194996A1 (ja) 2017-11-09
JP6423529B2 true JP6423529B2 (ja) 2018-11-14

Family

ID=57441270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017522234A Active JP6423529B2 (ja) 2015-06-05 2016-06-02 ユーザ推定装置、ユーザ推定方法、および、ユーザ推定プログラム

Country Status (3)

Country Link
US (1) US10860669B2 (ja)
JP (1) JP6423529B2 (ja)
WO (1) WO2016194996A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6915487B2 (ja) * 2017-09-29 2021-08-04 富士通株式会社 メッセージ出力制御方法、メッセージ出力制御プログラム、およびメッセージ出力制御装置
JP6706701B1 (ja) * 2019-02-06 2020-06-10 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
US11961235B2 (en) 2019-03-25 2024-04-16 Bonewise Inc. Apparatus, method and recording medium storing instructions for determining bone age of teeth
JP7145901B2 (ja) * 2020-02-13 2022-10-03 ヤフー株式会社 情報処理装置、情報処理方法および情報処理プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8756342B1 (en) * 2000-02-07 2014-06-17 Parallel Networks, Llc Method and apparatus for content synchronization
JP2006127321A (ja) 2004-10-29 2006-05-18 Solid Technology Kk 端末属性後付装置および端末属性後付方法
US7698422B2 (en) * 2007-09-10 2010-04-13 Specific Media, Inc. System and method of determining user demographic profiles of anonymous users
US8255384B2 (en) * 2009-09-30 2012-08-28 Fujitsu Limited Client-tier validation of dynamic web applications
US8635334B2 (en) * 2009-12-10 2014-01-21 Riverbed Technology, Inc. Web transaction analysis
US20110191664A1 (en) * 2010-02-04 2011-08-04 At&T Intellectual Property I, L.P. Systems for and methods for detecting url web tracking and consumer opt-out cookies
US9665703B2 (en) * 2010-11-29 2017-05-30 Biocatch Ltd. Device, system, and method of detecting user identity based on inter-page and intra-page navigation patterns
US8566866B1 (en) * 2012-05-09 2013-10-22 Bluefin Labs, Inc. Web identity to social media identity correlation
JP2014106661A (ja) 2012-11-27 2014-06-09 Nippon Telegr & Teleph Corp <Ntt> ユーザ状態予測装置及び方法及びプログラム
JP5906176B2 (ja) * 2012-12-12 2016-04-20 日本電信電話株式会社 興味分野比較分析装置及び方法及びプログラム

Also Published As

Publication number Publication date
US10860669B2 (en) 2020-12-08
JPWO2016194996A1 (ja) 2017-11-09
WO2016194996A1 (ja) 2016-12-08
US20180165369A1 (en) 2018-06-14

Similar Documents

Publication Publication Date Title
JP6423529B2 (ja) ユーザ推定装置、ユーザ推定方法、および、ユーザ推定プログラム
US8429177B2 (en) Using exceptional changes in webgraph snapshots over time for internet entity marking
CN102597993B (zh) 利用统一资源标识符管理应用状态信息
CN105446973B (zh) 社交网络中用户推荐模型的建立及应用方法和装置
JP5989919B2 (ja) Urlマッチング装置、urlマッチング方法、および、urlマッチングプログラム
US20090193044A1 (en) Web graph compression through scalable pattern mining
CN103761279B (zh) 一种基于关键词检索的网络爬虫调度方法及系统
CN104899219B (zh) 伪静态url的筛除方法、系统及网页爬取方法、系统
CN102436564A (zh) 一种识别被篡改网页的方法及装置
US10073886B2 (en) Search results based on a search history
JP5178219B2 (ja) アクセス解析装置及びアクセス解析方法及びアクセス解析プログラム
JP2011022705A (ja) 証跡管理方法、システム、及びプログラム
JP2011138248A (ja) 検索支援プログラム、検索支援装置、及び検索支援方法
CN105302815B (zh) 网页的统一资源定位符url的过滤方法和装置
CN108874870A (zh) 一种数据抽取方法、设备及计算机可存储介质
US9336316B2 (en) Image URL-based junk detection
JP5159451B2 (ja) ネットワーク行動を分析する情報処理装置、分析システム、ネットワーク行動の分析方法およびプログラム
Bhat et al. Browser simulation-based crawler for online social network profile extraction
CN108280102A (zh) 上网行为记录方法、装置及用户终端
JP5216654B2 (ja) 重要度判定装置、重要度判定方法、およびプログラム
CN104008190B (zh) 一种爬虫系统及其方法
US20170177590A1 (en) Natural classification of content using unsupervised learning
JP6749865B2 (ja) 情報収集装置、および、情報収集方法
JP5430128B2 (ja) URL変換装置、URL変換方法、URL変換プログラム及びWeb情報収集システム
JP5394512B2 (ja) 教師データ生成装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181016

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181018

R150 Certificate of patent or registration of utility model

Ref document number: 6423529

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150