(57)【要約】      （修正有）【課題】効果的な機械学習を行うことができる情報分析装置、情報分析方法および情報分析プログラムを提供する。【解決手段】情報分析装置であるサーバ装置２０は、ユーザＩＤで特定されるユーザがユーザ端末を用いてサービス提供サイトにアクセスした際の行動ログを取得するログ取得手段３１と、ログ取得手段３１で取得した行動ログに基づく行動パターンを少なくとも１以上のクラスタに分類するクラスタリング手段３２と、クラスタリング手段３２で分類されたクラスタ情報を含む複数の素性を用いて機械学習を行って識別関数を生成する機械学習手段３４とを備える。【選択図】図２
2016062411.tif 000002
【特許請求の範囲】
【請求項１】
ユーザＩＤで特定されるユーザが端末を用いてサービス提供サイトにアクセスした際の行動ログを取得するログ取得手段と、
前記ログ取得手段で取得した前記行動ログに基づく行動パターンを少なくとも１以上のクラスタに分類するクラスタリング手段と、
前記クラスタリング手段で分類されたクラスタ情報を含む複数の素性を用いて機械学習を行って識別関数を生成する機械学習手段と、を備える
ことを特徴とする情報分析装置。
【請求項２】
請求項１に記載の情報分析装置において、
前記素性は、前記サービス提供サイトで提供されるサービス内容の属性と、前記クラスタ情報とを組み合わせた素性を含む
ことを特徴とする情報分析装置。
【請求項３】
請求項１または請求項２に記載の情報分析装置において、
前記機械学習手段は、前記各素性の重みを算出する
ことを特徴とする情報分析装置。
【請求項４】
請求項１から請求項３のいずれか一項に記載の情報分析装置において、
前記サービス提供サイトで提供されるサービス内容の属性と前記クラスタ情報とを組み合わせた素性の重みに基づいて、前記クラスタの特性を推定するクラスタ特性推定手段を有する
ことを特徴とする情報分析装置。
【請求項５】
請求項１から請求項４のいずれか一項に記載の情報分析装置において、
前記ログ取得手段は、前記ユーザが端末を用いてサービス提供サイトにアクセスした時刻情報を含む行動ログを取得し、
前記クラスタリング手段は、前記行動ログを所定の分析期間毎に抽出し、前記分析期間を特定の時間単位毎に分割し、各時間単位におけるユーザのアクセス状態を示す値に基づいて前記行動パターンを作成し、前記行動パターンの類似度によって前記行動パターンを少なくとも１以上のクラスタに分類する
ことを特徴とする情報分析装置。
【請求項６】
請求項１から請求項５のいずれか一項に記載の情報分析装置において、
前記識別関数を用いて前記ユーザＩＤに対応する評価値を算出する評価値算出手段と、
前記評価値に基づいて選定した配信情報を前記サービス提供サイトに配信する情報配信手段とを備える
ことを特徴とする情報分析装置。
【請求項７】
請求項６に記載の情報分析装置において、
前記サービス提供サイトに配信される前記配信情報は、広告またはコンテンツであり、
前記評価値算出手段は、前記配信情報がクリックされる確率を予測した予測ＣＴＲを算出し、
前記情報配信手段は、前記予測ＣＴＲの高い配信情報を前記サービス提供サイトに配信する
ことを特徴とする情報分析装置。
【請求項８】
請求項７に記載の情報分析装置において、
前記機械学習手段で用いられる前記素性は、
前記配信情報の過去の配信実績に基づく実績ＣＴＲと、
前記サービス提供サイトの属性および前記配信情報の属性の類似度と、
前記ユーザＩＤで特定されるユーザ属性および前記配信情報の属性の類似度と、
前記配信情報の属性と、
前記配信情報の表示位置を示すポジションとを備える
ことを特徴とする情報分析装置。
【請求項９】
コンピュータにより機械学習処理を実施する情報分析方法であって、
前記コンピュータは、
ユーザＩＤで特定されるユーザが端末を用いてサービス提供サイトにアクセスした際の行動ログを取得し、
取得した前記行動ログに基づく行動パターンを少なくとも１以上のクラスタに分類し、
前記分類されたクラスタ情報を含む複数の素性を用いて機械学習を行って識別関数を生成する
ことを特徴とする情報分析方法。
【請求項１０】
コンピュータにより読み込み実行される情報分析プログラムであって、
前記コンピュータを、請求項１から請求項８のいずれか１項に記載の情報分析装置として機能させる
ことを特徴とする情報分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザのアクセスログなどから機械学習を行う情報分析装置、情報分析方法および情報分析プログラムに関する。
【背景技術】
【０００２】
ＷＥＢサイトに掲載される広告の掲載者に対する報酬額などを決定するために、ユーザとサービスの関係を考慮してユーザの価値を評価するＩＤ価値評価装置が知られている（例えば特許文献１参照）。
特許文献１のＩＤ価値評価装置は、予め用意されたユーザ属性情報、サービス属性情報、一般情報、ユーザの行動履歴の組を学習データとする機械学習により評価関数を生成し、この評価関数で評価対象のユーザの価値を示す価値評価値を出力していた。
【０００３】
ここで、前記ユーザ属性情報とは、例えば、ユーザの年齢、性別等の情報であり、サービズ属性情報とは、閲覧サイト種類、人気度、広告商品、価格等の広告掲載サイト属性情報や広告主サイト属性情報である。また、一般情報は、日時、季節、特別なイベント、イベント開催地などのユーザやサービスの属性とは独立の情報である。
また、ユーザの行動履歴は、購入の有無やブログで紹介したか否かであり、定性的に与えられるデータであった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−４８３６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前記特許文献１のような機械学習は、ユーザに対して広告配信やコンテンツ配信を行う際に、そのユーザに対して効果が高い広告やコンテンツ等のサービスを提供するために利用できる。このため、より効果的な機械学習を行うことで各ユーザに対してより効果が高い広告やコンテンツ等のサービスを提供できる情報分析装置および情報分析方法が求められている。
【０００６】
本発明の目的は、効果的な機械学習を行うことができる情報分析装置、情報分析方法および情報分析プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の情報分析装置は、ユーザＩＤで特定されるユーザが端末を用いてサービス提供サイトにアクセスした際の行動ログを取得するログ取得手段と、前記ログ取得手段で取得した前記行動ログに基づく行動パターンを少なくとも１以上のクラスタに分類するクラスタリング手段と、前記クラスタリング手段で分類されたクラスタ情報を含む複数の素性を用いて機械学習を行って識別関数を生成する機械学習手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、クラスタリング手段は、ログ取得手段が取得した行動ログの行動パターンを少なくとも１以上のクラスタに分類する。機械学習手段は、前記クラスタリング手段で分類されたクラスタ情報を素性に用いて識別関数を生成する。このため、機械学習を行う際に、同じような行動パターンを行うユーザの素性を関連づけて学習できるので、効果的な機械学習を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る情報分析システムの構成を示すブロック図である。
【図２】実施形態に係るサーバ装置の構成を示すブロック図である。
【図３】実施形態に係るアクセスログの一例を示す図である。
【図４】実施形態に係る情報分析処理を示すフローチャートである。
【図５】（Ａ）は１時間毎のアクセス回数の推移を示す図、（Ｂ）は１時間毎のアクセスの有無を示す２値化した行動パターンを示す図、（Ｃ）は類似するパターンをグループ化した行動グループを示す図である。
【図６】ユーザＩＤ毎の１時間毎のアクセスの有無を示すログデータを示す図である。
【図７】正規化したログデータを示す図である。
【図８】（Ａ）はユーザＩＤ毎のクラスタリング番号を示す図、（Ｂ）はクラスタリング番号毎の行動パターンを示す図である。
【図９】カテゴリーＩＤとその内容を示す図である。
【図１０】テキスト広告の一例を示す図である。
【図１１】機械学習手段に入力されるＳＶＭ形式のデータを示す図である。
【図１２】ＣＴＲ予測モデルによって広告を配信する処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を図面に基づいて説明する。
［全体構成］
図１は、本実施形態の情報分析システム１の概略構成を示すブロック図である。
図１に示すように、情報分析システム１は、ユーザ端末１０と、本発明の情報分析装置として機能するサーバ装置２０と、を備え、これらのユーザ端末１０及びサーバ装置２０がネットワーク（例えばインターネット等のＷＡＮ（Wide Area Network））５を介して通信可能に接続されている。
【００１１】
［ユーザ端末の構成］
ユーザ端末１０としては、例えば、デスクトップ型パーソナルコンピュータ、ノート側パーソナルコンピュータ、スマートフォン、携帯電話、タブレット端末等の各種デバイスを例示できる。また、図１に示すように、一人のユーザが、デスクトップ型パーソナルコンピュータ（パソコン１０Ａ）、スマートフォン１０Ｂ、タブレット端末１０Ｃの複数のデバイスを所持している場合もある。
【００１２】
一般的なユーザ端末１０の概略構成を、図１に示すユーザ端末１０Ｄの構成を示すブロック図で説明する。
ユーザ端末１０は、図１に示すように、表示部１１と、入力操作部１２と、端末通信部１３と、端末記憶部１４と、端末制御部１５と、を含んで構成される。
【００１３】
表示部１１は、例えば液晶ディスプレイ等により構成され、端末制御部１５の制御の下、所定の画像を表示させる。
入力操作部１２は、ユーザ操作による操作信号を端末制御部１５に出力する。入力操作部１２としては、例えば、表示部１１と一体に設けられたタッチパネルや、キーボード、マウス等の入力装置等を例示できる。
端末通信部１３は、ネットワーク５上の所定の装置と通信する。
【００１４】
端末記憶部１４は、例えばメモリ、ハードディスク等のデータ記録装置により構成されている。端末記憶部１４には、例えば、ユーザを特定するためのユーザＩＤや、ユーザ端末１０のデバイスを判定するためのデバイスデータなどが記憶されている。
ユーザＩＤは、ユーザ端末１０がサーバ装置２０にアクセスした際に、サーバ装置２０から送信されるクッキーに記憶されている番号などが利用できる。
デバイスデータとしては、例えばユーザ端末１０のデバイス製造会社や、デバイスの機種名、通信会社のキャリア名等が記録される。
また、端末記憶部１４には、その他、ユーザ端末を制御するための各種プログラム等が記憶される。
【００１５】
端末制御部１５は、ＣＰＵ（Central Processing Unit）等の演算回路、ＲＡＭ（Random Access Memory）等の記憶回路により構成され、ユーザ端末１０の各部を制御する。端末制御部１５は、端末記憶部１４等に記憶されているプログラムの中から所定のアプリケーション等のプログラム（ソフトウェア）をＲＡＭに展開し、ＲＡＭに展開されたプログラムとの協働で、各種処理を実行する。これにより、端末制御部１５は、サーバ装置２０に対してネットワーク５を介して通信可能になり、例えば、サーバ装置２０が提供する各種サービスを利用することが可能となる。この際、端末制御部１５は、サーバ装置２０に対して、ユーザ端末１０を特定するデバイスデータや、ユーザを特定するためのユーザＩＤ等を同時に送信する。
【００１６】
［サーバ装置の構成］
図２は、サーバ装置２０の概略構成を示すブロック図である。
サーバ装置２０は、コンピュータにより構成され、本発明の情報分析装置として機能するとともに、ユーザ端末１０に対して各種サービスを提供するＷＥＢサーバ等のサービス提供装置としても機能する。このサーバ装置２０は、サーバ通信部２１と、サーバ記憶部２２と、サーバ制御部３０と、入力装置２４と、表示装置２５等を含んで構成されている。
【００１７】
サーバ通信部２１は、ネットワーク５に接続されており、ユーザ端末１０と通信する。
また、入力装置２４は、キーボード、タッチパネル、マウス等で構成される。入力装置２４は、分析条件等を入力する場合等に利用される。例えば、クラスタリングする際のハイパーパラメータα、βやクラスタリング上限数等を入力装置２４で入力することができる。
表示装置２５は、液晶ディスプレイなどで構成され、分析結果等を表示する。なお、サーバ装置２０には、入力装置２４および表示装置２５を設けずに、サーバ装置２０にＬＡＮ等を介して分析用端末を接続し、この分析用端末で分析条件を入力したり、分析結果を表示してもよい。
【００１８】
サーバ記憶部２２は、例えばメモリ、ハードディスク等により構成されたデータ記録装置である。このサーバ記憶部２２は、ユーザ端末１０の行動ログ（行動履歴データ）としてのアクセスログを蓄積し、記憶している。すなわち、サーバ記憶部２２は、行動ログ記憶手段として機能する。また、サーバ記憶部２２には、サーバ装置２０を制御するための各種プログラムが記憶される。
【００１９】
［サーバ制御部の構成］
サーバ制御部３０は、ＣＰＵ等の演算回路、ＲＡＭ等の記憶回路により構成され、サーバ記憶部２２等に記憶されているプログラム（ソフトウェア）をＲＡＭに展開し、ＲＡＭに展開されたプログラムとの協働で、各種処理を実行する。そして、サーバ制御部３０は、上記各種処理を実行することで、図２に示すように、ログ取得手段３１、クラスタリング手段３２、代表パターン生成手段３３、機械学習手段３４、評価値算出手段３５、情報配信手段３６、クラスタ特性推定手段３７及びサービス提供手段４０等として機能する。
【００２０】
［ログ取得手段］
ログ取得手段３１は、ユーザ端末１０からアクセスがあった際に、ユーザＩＤ、アクセス時刻（時刻情報）、ユーザ端末１０のデバイスデータ、アクセス先のサービスである利用サービスデータ等を取得し、これらを関連付けて、図３に示すようなアクセスログとしてサーバ記憶部２２に蓄積する。すなわち、アクセスログは、分析対象であるユーザ（ユーザ端末１０）のアクセス行動が検出された時刻を示す時刻情報と、前記ユーザの状況を特定可能な分類情報（デバイスデータや利用サービスデータ）とを含む行動ログ（行動履歴）データである。従って、ログ取得手段３１は、行動ログデータ（アクセスログ）を取得する行動履歴取得手段として機能する。
【００２１】
ユーザＩＤは、分析対象であるユーザを示す匿名化されたＩＤである。なお、同一ユーザが複数デバイスを所持する場合は、ユーザ毎にユーザＩＤを設定してもよいが、同一ユーザの異なるデバイス毎に異なるユーザＩＤを設定することが好ましい。これにより、使用するデバイス毎に行動ログを蓄積でき、ユーザの行動ログを詳細に取得できる。
アクセス時刻は、ユーザ端末１０がＷＥＢサーバであるサーバ装置２０にアクセスした時刻である。
【００２２】
アクセスログに含まれるデバイスデータは、上述したように、ユーザ端末１０のデバイスの種類である。このデバイスデータは、多値のいずれかが選択可能なデータとされている。つまり、デバイスデータは、例えば、パソコン１０Ａ、スマートフォン１０Ｂ、タブレット端末１０Ｃ、あるいはその他の端末といった４値のいずれかが選択されるパラメータとなる。なお、上記例では、デバイスデータは、４値のいずれかの例を示すが、例えば、ユーザに装着して利用するウェアラブル端末からのアクセスがあった場合の値を追加してもよい。さらに、デバイスがスマートフォンである場合に、さらにその機種や、仕事用かプライベート用か等も分類したデータとしてもよい。
なお、デバイスデータは、必ずしも必須のデータではないが、デバイスデータを備えていれば、アクセス環境の分析を詳細に行うことができる。
【００２３】
アクセスログに含まれる利用サービスデータも、多値のいずれかが選択可能なデータとなる。つまり、利用サービスデータとしては、例えば、サービス提供手段４０が提供するサービスのいずれにアクセスしたかを示すパラメータであり、提供されるサービス数に対応した多値のパラメータとなる。例えば、行動状態を分類したいサービスとして、メール、ヘッドラインニュース、デイリーニュース、オークション、ショッピング、金融、知恵袋、野球、地図、その他の１０種類が設定されている場合、前記利用サービスデータは、前記１０種類のサービスのいずれかにアクセスしたことを示す１０値のいずれかの値に設定される。
【００２４】
なお、アクセスログに含まれる分類情報としては、デバイスデータ、利用サービスデータに限らず、アクセスした場所を示す位置データや、アクセス時の天気、気温、湿度などの気象データなどでもよい。要するに、分類情報の種類は、行動パターンを分析する目的などに応じて設定すればよい。
【００２５】
［クラスタリング手段］
クラスタリング手段３２は、サーバ記憶部２２に記憶、蓄積されたアクセスログに基づいた各ユーザの行動パターンを、ディリクレ過程（Dirichlet process）などを用いて少なくとも１以上つまり複数の行動グループ（クラスタ）に分類（クラスタリング）する。
このため、クラスタリング手段３２は、分析対象設定部３２１と、行動履歴データ抽出手段３２２と、行動パターン作成手段３２３と、グループ化手段３２４とを備える。これらの各手段の詳細は、後述するクラスタリング処理において説明する。
【００２６】
［代表パターン生成手段］
代表パターン生成手段３３は、各行動グループの代表的な行動パターンを生成する。
従って、本実施形態では、クラスタリング手段３２および代表パターン生成手段３３によって、行動パターン分析装置が構成される。
【００２７】
［機械学習手段］
機械学習手段３４は、例えばサポートベクターマシーン（ＳＶＭ）等の手法を利用して識別関数ｆ（ｘ）を生成する。識別関数ｆ（ｘ）は下記の式（１）のように表される。
【００２８】
【数１】
2016062411.tif 000003
【００２９】
ここで、ｘは各素性を示し、ｗは各素性の重みベクトルを示し、ｂはバイアス項であり、ｄは次元数である。ユーザ端末１０でアクセスしたサイトのページ（例えばニュースのページ）が表示された際に、そのページに配信・表示されたテキスト広告に対してＣＴＲを予測するために用いる識別関数ｆ（ｘ）の具体例を式（２）に示す。
【００３０】
【数２】
2016062411.tif 000004
【００３１】
上記式（２）で使用している素性は、実績ＣＴＲと、単語およびカテゴリーＩＤの２種類のコサイン類似度と、ＡＤ（advertisement：広告）の単語の重みと、ＡＤとユーザ属性の両方に出てくるカテゴリーＩＤの重みと、ページのドメイン毎のポジションの重みと、本発明で新たに追加した素性であるクラスタリング結果およびカテゴリーを組み合わせたクロス素性とを用いている。
具体的には、xNCTRおよびwNCTRは実績ＣＴＲの素性および重みである。実績ＣＴＲとは、過去にその広告がクリックされた回数を配信された回数で割った値である。この実績ＣＴＲは様々な粒度で集計することができる。例えば、その広告の単位や、広告主単位、ユーザの性別や年齢の単位、またはそれらを掛け合わせた単位などである。
xcosおよびwcosは単語のコサイン類似度の素性および重みである。単語のコサイン類似度とは、ユーザ端末１０でアクセスしたページと広告の類似度に着目したものであり、前記ページの語句ベクトルと、テキスト広告の語句ベクトルのコサイン類似度を求めたものである。
xbtcosおよびwbtcosはカテゴリーのコサイン類似度の素性および重みである。カテゴリーのコサイン類似度とは、ユーザと広告の関連度に着目したものであり、ユーザおよび広告の双方にカテゴリーを付与し、カテゴリーベクトルのコサイン類似度を求めたものである。
xtermαおよびwtermαは広告（ＡＤ）の単語の素性および重みである。
xfidiおよびwfidiは広告（ＡＤ）とユーザの両方に出てくる（共起する）カテゴリーの素性および重みである。
wrk,dはページのドメイン毎のポジションの重みである。
【００３２】
xnewおよびwnewは本発明の特徴であるクラスタ情報とカテゴリー情報とを掛け合わせた素性および重みである。クラスタ情報は、ページにアクセスしているユーザ端末１０によるアクセス操作の行動パターンが、クラスタリング手段３２でグループ化されて分類されたクラスタ（行動パターン）のいずれに該当するかを表す数字である。例えば、行動パターンのクラスタが８種類に分類された場合、ユーザ端末１０の行動パターンは、クラスタ情報「１」〜「８」のいずれかの数字が設定される。
カテゴリー情報は、配信された各広告のカテゴリーを表すコードである。
そして、xnewには、前記クラスタ情報およびカテゴリー情報を掛け渡したクロス素性が設定される。
機械学習手段３４は、機械学習を行うことで各素性の重みを算出する。
【００３３】
［評価値算出手段］
評価値算出手段３５は、評価値として各テキスト広告がクリックされる確率である予測ＣＴＲを求める。具体的には、評価値算出手段３５は、ロジスティック回帰モデルを用いて構築した次の式（３）のＣＴＲ予測モデルを用いて評価値である予測ＣＴＲを算出する。
【００３４】
【数３】
2016062411.tif 000005
【００３５】
前記式（３）において、ｆは前記機械学習手段３４で求められる式（２）の識別関数であり、Ａ，Ｂは定数である。
【００３６】
［情報配信手段］
情報配信手段３６は、評価値算出手段３５で算出した評価値（予測ＣＴＲ）が高い情報（テキスト広告）をユーザがアクセスしているページに配信する。
情報配信手段３６が、予測ＣＴＲが高い広告を配信するのは、期待収益の高い広告を配信して表示させるためである。すなわち、クリック課金型の広告では、ユーザが広告をクリックした場合のみ広告主はその代金を支払う。したがって、オンライン広告サービスの提供者が得られる収益を最大化するためには、期待収益（ｅＣＰＭ）の高い広告をユーザ端末に配信する必要がある。
そして、正確な期待収益（ｅＣＰＭ）を求めるためには、ＣＴＲの予測が必要となる。期待収益は、広告主が設定した入札額（Bid）と、クリック率（click-through rate;ＣＴＲ）とで求められる（ｅＣＰＭ＝ＣＴＲ×ｂｉｄ）。
ここで、あるユーザが操作するユーザ端末に広告を表示したときに、どのくらいの確率で前記広告がクリックされるのかというクリック率は未知なので、予測する必要がある。このため、式（２）を用いた機械学習によって式（３）のＣＴＲ予測モデルを構築し、情報配信手段３６は予測ＣＴＲの高い広告を優先して配信している。
【００３７】
［クラスタ特性推定手段］
クラスタ特性推定手段３７は、クラスタリング手段３２でグループ化された各クラスタの特性を推定する。すなわち、クラスタリング手段３２は、ディリクレ過程等を用いてクラスタリングするため、グループ化された各クラスタがどのような特性を有するものであるかは不明であった。そこで、クラスタ特性推定手段３７は、後述するように、機械学習手段３４においてクラスタ情報およびカテゴリー情報を掛け渡したクロス素性を用いていることを利用し、重みの高いクロス素性を調べることで、各クラスタの特性を推定する。
【００３８】
［サービス提供手段］
サービス提供手段４０は、ユーザ端末１０からの要求に応じて、ＷＥＢ上で利用可能なサービスをユーザ端末１０に提供する。サービス提供手段４０により提供されるサービスとしては、例えば、ニュース等の情報発信サービス、オンライン上での商取引サービス（例えば株取引やオンライショッピング等）、メールサービス等が含まれる。
【００３９】
［情報分析方法］
次に、上記のようなサーバ装置（情報分析装置）２０における処理方法について図４のフローチャートも参照して説明する。図４のステップＳ１〜Ｓ４は、蓄積されたアクセスログに基づいて、各ユーザの行動パターンをクラスタリングして行動グループを分類するクラスタリング処理であり、ステップＳ５はその代表パターンを生成する代表パターン生成処理である。さらに、ステップＳ６は、クロス素性を作成する処理であり、ステップＳ７は、ペアワイズ法などを用いて機械学習する処理である。
【００４０】
以下、各処理の詳細を説明する。
サーバ装置２０は、ユーザ端末１０から所定のサービス提供サイトに対してアクセスがあった際に、サーバ装置２０は、そのアクセスログ（行動ログ）を検出して蓄積する。
サービス提供サイトが提供するサービスしては、ニュース等の情報発信サービス、オンライン上での商取引サービス（例えば株取引やオンライショッピング等）、メールサービス等が含まれる。これらのサービス提供サイトは、サーバ装置２０で構築することもできるし、図示しない他のサーバ装置で構築することもできる。
さらに、サーバ装置２０は、サービス提供サイト毎にアクセスログを蓄積することもできるし、これらの各種サービスへのアクセスログをまとめて蓄積してもよい。
【００４１】
［クラスタリング処理］
サーバ装置２０のクラスタリング手段３２によるクラスタリング処理について、図面に基づいて説明する。
分析準備として、クラスタリング手段３２の分析対象設定部３２１は、行動パターンを分析する際に、どのようなユーザの行動を分析するかを指定する分析対象条件を設定する（ステップＳ１）。具体的には、分析対象とする行動ログデータを収集する収集期間情報と、行動パターンを分析するための期間を示す分析期間情報と、行動パターンを分析する際の単位期間情報とを設定する。さらに、ハイパーパラメータα、βと、クラスタリング上限数を適切に入力する。例えば、ハイパーパラメータα、βは共に「１」に設定し、クラスタリング上限数は「１０」に設定する。この設定は、分析者が入力装置２４を用いてサーバ装置２０に入力することで設定される。
【００４２】
収集期間情報は、サーバ記憶部２２に記憶されたアクセスログの分析対象期間を設定するものである。例えば、５月１１日から８月１８日など、収集期間の始期と終期とで期間情報を設定する。
分析期間情報は、どの程度の期間の行動パターンを分析対象とするかを設定するものである。例えば、１日毎の行動パターンを分析する場合には、前記分析期間情報は１日（例えば、００：００：００から２３：５９：５９）が設定される。また、１週間毎の行動パターンを分析する場合には、前記分析期間情報は１週間（例えば、日曜日から土曜日）が設定される。さらに、６時間毎の行動パターンを分析する場合には、前記分析期間情報は６時間（例えば、００：００：００から０５：５９：５９、０６：００：００〜１１：５９：５９、１２：００：００から１７：５９：５９、１８：００：００〜２３：５９：５９）が設定される。
単位期間情報は、前記分析期間情報よりも短い時間間隔であり、行動（アクセス）の有無を判定する単位時間を設定するものである。例えば、分析期間情報が１日である場合に、単位期間情報は１時間単位（例えば、００：００：００から００：５９：５９、０１：００：００から０１：５９：５９、…、２３：００：００から２３：５９：５９）に設定される。なお、単位期間情報は、１時間単位に限定されず、３０分単位としてもよいし、２時間単位にしてもよく、行動パターンの分析目的等に応じて設定すればよい。
【００４３】
分類情報は、蓄積されたアクセスログから分析対象とする分類情報、つまりどのような状況でアクセスしたユーザの行動パターンを分析するかを設定するものである。例えば、分類情報として、デバイスデータを指定したり、サービスデータを指定することができる。また、デバイスデータとサービスデータのように複数の分類情報を指定することもできる。したがって、ニュースサイトにアクセスしたアクセスログのみを分析（クラスタリング）の対象とすることもできる。
さらに、分類情報としては、デバイスデータのうちの１つあるいは複数のデバイスを指定することもできる。例えば、パソコン１０Ａのみを指定したり、スマートフォン１０Ｂのみを指定してもよいし、スマートフォン１０Ｂおよびタブレット端末１０Ｃの２つのデバイスを指定してもよい。同様に、サービスデータのうちの１つあるいは複数のサービスを指定してもよい。従って分類情報は、分析者が分析目的に応じて設定する。
【００４４】
次に、行動履歴データ抽出手段３２２は、分析対象設定部３２１で設定された収集期間情報、分析期間情報、単位期間情報に基づいて、アクセスログから分析対象条件に該当する行動履歴データ（行動ログデータ）を抽出する（ステップＳ２）。例えば、収集期間情報が５月１１日から８月１８日であり、分析期間情報が１日毎であり、単位期間情報が１時間であれば、行動履歴データ抽出手段３２２はアクセス時間が上記収集期間内の行動ログデータを取得し、この取得データを１日毎に分割して１日毎の行動ログデータを抽出し、さらに１日毎の行動ログデータを１時間毎に集計する。
図５（Ａ）は、抽出されたユーザの１日分の行動ログデータである。なお、この際、分析対象条件の分類情報には、例えば、利用サービスデータとしてニュースサイトを指定し、デバイスデータは特定していない。また、１時間毎にアクセス回数が集計されている。このため、図５（Ａ）のグラフは、横軸が１日の時間、縦軸がアクセス数とされた時間毎のアクセス数の推移を示すグラフである。
【００４５】
次に、行動パターン作成手段３２３は、抽出された行動ログデータから、単位期間毎（１時間単位）でサーバ装置２０に対してアクセスしたか否かを検出し、アクセスがある場合に「１」、無い場合に「０」を返した２値化データを行動パターンとして作成する（ステップＳ３）。すなわち、行動パターン作成手段３２３は、図５（Ａ）に示す各ユーザの１日の毎のアクセス数の推移を、分類情報毎（図５の例では利用サービスデータがニュースサイトの場合）にベルヌーイ分布に落とし込んで、図５（Ｂ）に示す行動パターンのグラフを作成する。なお、図５（Ｂ）の行動パターンを数値データで表せば、図６に示すようになる。すなわち、ユーザＩＤと、０時から２３時の各時間帯でのアクセスの有無を「１」、「０」で表したログデータとなる。
【００４６】
グループ化手段３２４は、行動パターン作成手段３２３で作成した各ユーザの行動パターンのうち類似パターン同士をグループ化（クラスタリング）するスクリプトを実行する（ステップＳ４）。
なお、グループ化手段３２４に入力される各ユーザの行動ログデータは、「１」、「０」の２値で表せるものに限定されず、例えば、図７に示すように、「０〜１」の間の数値で表すものでもよい。図７に示す行動ログデータは、ユーザＩＤの数が１００万程度のデータを抽出したものである。すなわち、平日５日間にアクセスログが記憶された１００万程度のユーザ端末（ユーザＩＤ）の０時から２３時の各時間帯毎のアクセス数をカウントし、各ユーザＩＤの各時間帯のアクセス数を、そのユーザＩＤの全時間帯の合計アクセス数で割って正規化したものである。このような行動ログデータをグループ化手段３２４に入力してグループ化してもよい。
グループ化手段３２４は、これらの入力データを用いてクラスタリングを実施する。なお、クラスタリングの実施方法は、例えば、多値のパラメータを有する複合ディリクレプロセスモデルを用いて、ノンパラメトリックベイズ法により行うことができる。
グループ化手段３２４は、最適な数の行動グループを算出し、図５（Ｃ）に示すように、行動パターンをクラスタリングした複数個の行動グループを出力する。図５（Ｃ）は、４つの行動グループが出力された例である。
さらに、グループ化手段３２４は、図８（Ａ）に示すように、各ユーザＩＤがどのグループに該当するかを示すラベル（クラスタリング番号、つまりクラスタ情報）を出力する。
【００４７】
次に、代表パターン生成手段３３は、ステップＳ４により生成された各行動グループにおける代表パターンを生成する（ステップＳ５）。
このステップＳ５では、代表パターン生成手段３３は、例えば、各行動グループに含まれる複数の行動パターンの平均値を算出する。図８（Ｂ）には、代表パターンの一例が示されている。
図８（Ｂ）のＴｙｐｅ１は、午前中から夜までアクセス数が低い値で一定しているタイプであり、Ｔｙｐｅ２は午前１２時頃に最もアクセス数が増加するタイプであり、Ｔｙｐｅ３は深夜の時間帯にアクセス数が増加するタイプである。
このように、代表パターン生成手段３３が代表パターンを生成し、表示装置２５等に出力すれば、分析者は各パターンの特徴を容易に把握できる。
【００４８】
前記クラスタリング手段３２の出力結果であるラベル番号（クラスタ情報）は、機械学習手段３４で素性として用いられる。なお、本実施形態の機械学習手段３４は、ペアワイズ法で機械学習を行うため、ユーザＩＤに対応するクラスタ情報を単純に追加すると、ペアワイズ法で差分を取った際に消去されてしまう。
このため、機械学習手段３４は、ラベル番号と広告のカテゴリー情報とをクロスしたクロス素性を作成する（ステップＳ６）。
【００４９】
図９は、広告のカテゴリー情報の一例を示す図である。図９に示す広告のカテゴリー情報を示すカテゴリーＩＤと、カテゴリーの内容とは関連づけられてサーバ記憶部２２に予め記憶されている。
そして、機械学習手段３４は、前記ステップＳ４のクラスタリング処理によって、例えば１０個のクラスタが生成された場合には、１〜１０のラベル番号と、カテゴリーＩＤとのクロス素性として新たな番号を割り振る。
たとえば、カテゴリーＩＤが「1000738796（ファッション・アクセサリー）」とラベル番号１とのクロス素性を「１０５０１」とし、「1000738796（ファッション・アクセサリー）」とラベル番号２とのクロス素性を「１０５０２」とし、「1000738796（ファッション・アクセサリー）」とラベル番号１０とのクロス素性を「１０５１０」とする。
また、カテゴリーＩＤが「1000552812（各種人材サービス）」とラベル番号１とのクロス素性を「１０６２１」とし、「1000552812（各種人材サービス）」とラベル番号１０とのクロス素性を「１０６３０」とする。
このように、機械学習手段３４は、各カテゴリーＩＤとラベル番号とを掛け合わせたクロス素性を作成して新たな番号を割り振る。
【００５０】
次に、機械学習手段３４は、設定された学習期間の行動ログデータを用いて機械学習を行う（ステップＳ７）。
例えば、図１０に示すようなテキスト広告のクリックを予測するためには、機械学習手段３４は、前記学習期間における、各テキスト広告に対するクリックの有無の行動ログデータを図１１に示すようなｓｖｍ形式にして前記式（２）に入力し、機械学習を行う。
図１１は、１行が１つのテキスト広告に対応している。各行の最初の値はクリックの有無を示し、「＋１」はクリック有り、「−１」はクリック無しを示す。したがって、図１１の例では、３行目が「＋１」であるので、図１１の３行目のテキスト広告「《格安》九州旅行なら」がクリックされ、他のテキスト広告はクリックされていないことを示す。
さらに、図１１に示すように、各行には、各テキスト広告に対する行動ログデータが素性のkey：valueという形式で並んでいる。
素性のkeyは、各素性の種類を示す番号であり、例えば、図１１においては、「１」は「実績ＣＴＲ」、「２」は「単語のコサイン類似度」、「３」は「カテゴリーのコサイン類似度」などのように、予め設定された素性を示す。
素性のvalueは、各素性の重みを示す値であり、機械学習を行うことで求められ、これにより識別関数が生成される（ステップＳ８）。
【００５１】
以上の機械学習を行うことで、各素性の重みが算出されるため、クラスタ特性推定手段３７は、重みの高いクロス素性を調べることで、グループ化された各クラスタの特性を推定する（ステップＳ９）。たとえば、ラベル番号２つまりクラスタ番号２のグループと各カテゴリーＩＤとのクロス素性のうち、最も重みが大きいものが、例えばクロス素性「１０５０２」であったとする。このクロス素性「１０５０２」は「1000738796（ファッション・アクセサリー）」とラベル番号２とのクロス素性である。このため、クラスタ特性推定手段３７は、クラスタ番号２のグループは、ファッション・アクセサリーに興味がある特性を有するグループであることを推定できる。クラスタ特性推定手段３７は、クラスタ番号２の代表パターンと、クラスタ番号２の特性（前記カテゴリーＩＤの分野であるファッション・アクセサリー）との関連が高いことを分析できるので、同様の行動パターンのユーザは同じ分野に興味があると推定でき、情報配信手段３６はそのユーザに対して効果的な情報配信を行える。例えば、クラスタ番号２が平日の夜にニュースサイトへのアクセス回数が増える行動パターンであれば、平日の夜にニュースサイトを閲覧するユーザに対しては、ファッション・アクセサリーのカテゴリーの広告を配信することが有効であると推測でき、効果的に広告配信を行うことができる。
【００５２】
次に、上記機械学習で求めた式（２）の識別関数を用いたＣＴＲ予測モデルによって、選別した広告を配信する方法を説明する。
図１２に示すように、ユーザがユーザ端末１０を用いてニュースサイトなどのサービス提供サイトにアクセスすると、サーバ装置２０の評価値算出手段３５は、アクセスしたユーザの情報と、アクセス先のページの情報を用いて配信する広告の候補を検索して抽出する（ステップＳ１１）。
そして、評価値算出手段３５は、候補の広告に対して前記式（３）のＣＴＲ予測モデルを用いて、各広告のＣＴＲを予測する（ステップＳ１２）。
次に、情報配信手段３６は、前記ＣＴＲのスコア順に基づいて配信する広告とその順序を決定し、ユーザ端末１０がアクセスしているページに広告を配信する（ステップＳ１３）。
【００５３】
ユーザがユーザ端末１０を用いて配信された広告をクリックしたか否かの行動ログは、サーバ装置２０のサーバ記憶部２２に蓄積される。機械学習手段３４は、サーバ記憶部２２に新たに蓄積された行動ログを、一定期間毎（例えば１週間毎）にＳＶＭ形式で入力することで、識別関数の機械学習を行い、識別関数の精度を向上させることができる。
また、クラスタリング手段３２も、サーバ記憶部２２に新たに蓄積された行動ログを用いて一定期間毎にクラスタリング処理を行ってもよい。
【００５４】
［作用効果］
本実施形態のサーバ装置２０は、予測モデルの素性として、各ユーザの行動パターンをクラスタリングして分類した番号（クラスタ情報）を追加したので、予測モデルの精度を向上することができる。実際に、過去のログを用いてオフライン評価を行ったところ、AUC（Area Under the Curve）の評価指標が上昇し、クラスタ情報が有効な素性であることを確認できた。したがって、実際にユーザがユーザ端末１０を用いて各種のサービスページにアクセスした場合に、効果的な広告を配信することができ、広告のＣＴＲも向上できて期待収益も向上することができる。
【００５５】
また、クラスタ情報を素性として追加する際に、クラスタ情報単独で追加せずに、カテゴリーＩＤと組み合わせたクロス素性として追加したので、機械学習の際にポイントワイズ法に比べて学習精度の高いペアワイズ法を利用することができる。
【００５６】
さらに、クロス素性を用いて機械学習を行うことで、各クロス素性の重みを判定して各クラスタ情報のグループの特性（意味づけ）を判断することができる。従来、不特定多数のユーザをその行動ログに基づいてクラスタリングしてグループ分けした場合、そのグループがどのような属性でまとまっているかを判断することは困難であったが、本実施形態のようにクラスタ情報にカテゴリーＩＤを組み合わせたクロス素性を用いて機械学習を行うことで、クラスタリング結果のグループに意味づけすることを容易に行うことができ、分析者は様々な視点でクラスタを評価することができる。
【００５７】
クラスタリング手段３２のグループ化手段３２４は、行動パターンをクラスタリングする際に、ノンパラメトリックベイズ法により、行動パターンをクラスタリングしている。このため、クラスタ数の上限値を設定するだけで、行動グループのクラスタ数が自動的に最適値に設定できる。このため、各ユーザの行動パターンを精度よく分類できる。
したがって、例えば、予めグループの数を３個などと設定しておき、ユーザの行動パターンをこれらのグループのいずれかに属するかを判定する場合に比べて、各ユーザの固有の行動パターンに合わせた最適なクラスタリングを実施できる。
【００５８】
さらに、本実施形態では、代表パターン生成手段３３で行動グループの代表パターンを生成しているので、分析者は各ユーザの行動パターンを容易に分析できる。特に、クラスタ特性推定手段３７が重みの高いクロス素性により各グループの特性を推定できるため、分析者はユーザの行動パターンとそのユーザが興味のある分野を関連付けて容易に分析できる。例えば、平日の夜間にニュースサイトにアクセスするユーザのグループは、ファッションへの興味が高い等の分析を容易に行うことができる。
このため、各ユーザの行動パターンを精度良く判定できることで、各ユーザに適したサービスや情報をユーザに対して提供することができ、ユーザの利便性も向上できる。
【００５９】
［変形例］
なお、本発明は、上述した実施形態に限定されるものではなく、本発明の目的を達成できる範囲で、以下に示される変形をも含むものである。
【００６０】
［変形例１］
前記実施形態では、クラスタ情報とカテゴリーＩＤとを組み合わせたクロス素性を用いていたが、クラスタ情報と組み合わせる素性としてはカテゴリーＩＤに限定されない。すなわち、同一のユーザＩＤで同一の値となる素性（例えば年齢、性別等）以外の素性であればよい。換言すれば、ペアワイズ法で差分を取った際に削除されることがない素性であればよい。
さらに、ペアワイズ法以外の手法（例えばポイントワイズ法）で機械学習を行う場合には、前記クラスタ情報を単独の素性として用いてもよい。この場合、識別関数は、例えば、次の式（４）とすればよい。
【００６１】
【数４】
2016062411.tif 000006
【００６２】
［変形例２］
素性としては、アクセス時の現在地を示す位置データや、アクセス時の天気、気温、湿度などを示す気象データ等を利用してもよい。
位置データは、ユーザ端末１０がサーバ装置２０にアクセスした際のユーザ端末１０の現在位置を示すデータであり、アクセスログに記憶すればよい。この位置データとしては、例えば、現在位置の都道府県を示すパラメータ等に設定した場合は、都道府県数に対応した多値のパラメータとなる。
なお、ユーザ端末１０がＧＰＳセンサー等の位置計測手段を備えている場合には、位置計測手段で計測された位置情報（緯度、経度）を前記位置データとして記録すればよい。また、ユーザ端末１０が位置計測手段を備えていない場合には、ユーザ端末１０が通信する基地局の位置情報（緯度および経度または住所データ）を前記位置データとして記録すればよい。
このような位置データを分類情報として用いれば、ユーザのアクセス時のシチュエーションとして、例えば、自宅でのアクセスか、会社でのアクセスか、あるいは通勤中のアクセスであるかなどのアクセス場所による分類情報に基づいて行動パターンを分析できる。従って、各ユーザの行動パターンをより精度よく分類できる。
【００６３】
さらに、気象データは、ユーザ端末１０がアクセスした基地局に設けられた環境センサーのデータ等を用いて記録すればよい。
このような気象データを分類情報として用いれば、ユーザのアクセス時のシチュエーション、例えば、天気が晴れで湿度が６０％以下の場合の行動パターンも分類できる。従って、各ユーザの行動パターンやＣＴＲが天候にどのように影響されるのかなどを高精度に分析することができる。
【００６４】
［変形例３］
評価値算出手段３５は、予測ＣＴＲを算出していたが、広告主が目標とする特定のユーザ行動（例えば、商品の購入行動や資料請求行動など）の確率であるコンバージョン率（conversion rate：ＣＶＲ）を予測してもよいし、他の評価指標を予測してもよい。
【００６５】
［変形例４］
情報配信手段３６が配信する情報はテキスト広告に限定されず、画像、動画、音楽などの各種コンテンツであってもよい。
前記実施形態の代表パターン生成手段３３は、行動グループに含まれる各行動パターンの平均値、つまり各単位期間の「０，１」の値を単位期間毎に平均したもので代表パターンを生成していたが、他の方法で生成してもよい。例えば、単位期間毎に「０，１」のいずれか最頻値によって代表パターンを生成してもよい。さらに、同じグループ内の各行動パターンの類似度を計算して、似通っているものをまとめる再クラスタリングを行い、まとめられた複数の行動パターンの類似度の中間点によって代表パターンを生成してもよい。
【００６６】
その他、本発明の実施の際の具体的な構造および手順は、本発明の目的を達成できる範囲で他の構造などに適宜変更できる。例えば、サーバ装置２０を分散システムで構成し、アクセスログが蓄積されるサーバ記憶部２２を備えるサーバなどのコンピュータと、ログ取得手段３１、クラスタリング手段３２、代表パターン生成手段３３、機械学習手段３４、評価値算出手段３５、情報配信手段３６、サービス提供手段４０等を備えるコンピュータとを別々に設けてもよい。
【符号の説明】
【００６７】
１…情報分析システム分析システム、１０…ユーザ端末、２０…サーバ装置、２１…サーバ通信部、２２…サーバ記憶部、３０…サーバ制御部、２４…入力装置、２５…表示装置、３１…ログ取得手段、３２…クラスタリング手段、３２１…分析対象設定部、３２２…行動履歴データ抽出手段、３２３…行動パターン作成手段、３２４…グループ化手段、３３…代表パターン生成手段、３４…機械学習手段、３５…評価値算出手段、３６…情報配信手段、３７…クラスタ特性推定手段、４０…サービス提供手段。
【図１】
2016062411.tif 000007
【図２】
2016062411.tif 000008
【図３】
2016062411.tif 000009
【図４】
2016062411.tif 000010
【図５】
2016062411.tif 000011
【図６】
2016062411.tif 000012
【図７】
2016062411.tif 000013
【図８】
2016062411.tif 000014
【図９】
2016062411.tif 000015
【図１０】
2016062411.tif 000016
【図１１】
2016062411.tif 000017
【図１２】
2016062411.tif 000018