以下、図面を参照しながら、本発明に係る実施形態を説明する。可能な場合には、同様の機能を有する部分には適宜同一の符号を付して、重複する説明を省略する。
図1は、本実施形態に係るコンテンツ決定装置を含むコンテンツ決定システムの機能構成を示すブロック図である。図1に示すコンテンツ決定システム1は、ユーザが所有する端末2と、当該端末2と通信ネットワークを介して通信可能とされたサーバ装置であるコンテンツ決定装置3と、を含む。コンテンツ決定装置3は、複数のユーザの各々の端末と接続され、各端末との間で以降に説明する処理を実行するように構成されている。
コンテンツ決定装置3は、予め用意された複数の候補コンテンツの中からユーザに提示するコンテンツを決定し、決定されたコンテンツを端末2に送信する装置である。コンテンツ決定装置3は、例えば、ユーザの端末2からの要求に応じてユーザに提示するコンテンツを決定する。端末2からコンテンツ決定装置3へのコンテンツ要求は、例えば以下のような場面で行われる。
ウェブブラウザ等を介してアクセス可能なインターネット上に公開されているウェブページには、各種情報へのリンクを含むコンテンツ(例えば広告コンテンツ等)を表示するための表示エリアが設けられている場合がある。このような場合、例えば、端末2が当該端末2に搭載されたウェブブラウザ等を介してウェブページにアクセスした際に、当該ウェブページ内の表示エリアに表示するためのコンテンツの取得要求が、当該端末2からコンテンツ決定装置3に送信される。その後、コンテンツ決定装置3において、予め用意された複数の候補コンテンツの中から一のコンテンツがユーザに提示するコンテンツとして決定され、端末2に送信される。その結果、端末2のウェブブラウザに表示されたウェブページの表示エリアに、コンテンツ決定装置3によって決定されたコンテンツが表示されることとなる。
また、スマートフォン等にインストールされる各種アプリケーションの専用画面等においても、各種情報へのリンクを含むコンテンツを表示するための表示エリアが設けられている場合がある。このような場合、例えば、ユーザが端末2にインストールされたアプリケーションを起動して専用画面を開いた際に、当該アプリケーションの機能により、端末2からコンテンツ決定装置3に対して、コンテンツの取得要求が送信される。その後、コンテンツ決定装置3において、予め用意された複数の候補コンテンツの中から一のコンテンツがユーザに提示するコンテンツとして決定され、端末2に送信される。その結果、端末2のアプリケーションの専用画面上の表示エリアに、コンテンツ決定装置3によって決定されたコンテンツが表示されることとなる。
本実施形態における「コンテンツ」とは、上述したように、各種情報へのリンクを含む表示要素を意味する。このようなコンテンツは、端末2の画面上において、文字や画像等の組み合わせによって表示されるのが一般的である。コンテンツの例としては、特定の商品・サービスを購入するためのウェブページや特定の情報(例えばグルメ情報等)が掲載されたウェブページ等へのリンクを含む広告コンテンツ等が挙げられる。このようなコンテンツをユーザに提示するにあたっては、ユーザの利便性や広告主の利益の最大化を図る観点から、ユーザの興味及び関心に合ったコンテンツをユーザに提示することが好ましい。すなわち、ユーザによって選択され、コンテンツに関連付けられたリンク先の情報にアクセスされる可能性の高いコンテンツをユーザに提示することが好ましい。
続いて、図1を用いてコンテンツ決定システム1の構成要素について説明する。
端末2は、ユーザと1対1に対応する装置であり、インターネット等の通信ネットワークを介してコンテンツ決定装置3と通信可能となっている。端末2の具体例としては、携帯電話機、スマートフォン、タブレット、PDA等の携帯端末、デスクトップPC、ノートPC等が挙げられる。ただし、端末2の具体的な形態は、これらに限られない。端末2は、ユーザ情報送信部21と、表示部22と、を備える。
ユーザ情報送信部21は、端末2からコンテンツ決定装置3に対してコンテンツ取得要求が送信される際に、当該端末2のユーザを識別するユーザIDと、当該ユーザの特徴を示す複数の項目からなる第1特徴量とを関連付けたユーザ情報をコンテンツ決定装置3に送信する手段である。第1特徴量は、例えば、性別、年齢、居住エリア、商品(又はサービス)の購入経験の有無、例えばグルメ、スポーツ等のジャンル毎のウェブページ訪問履歴等に関する複数の項目を含む情報である。このような第1特徴量は、例えば端末2に設けられた記憶装置等に予め記憶されている。
ユーザ情報は、端末2からコンテンツ決定装置3に直接送信されてもよいし、端末2とコンテンツ決定装置3との間を仲介する他の装置を介して送信されてもよい。例えば、ユーザが端末2に搭載されたウェブブラウザを介して会員制のウェブサイトにアクセスする場合を考える。この場合、当該ウェブサイトを提供する事業者のサーバ装置に会員ユーザの情報が管理されている場合がある。このような場合、事業者のサーバ装置が、当該事業者が提供するウェブサイトへのユーザからのアクセスを受け付けた際に、当該ユーザのユーザIDと第1特徴量とをコンテンツ決定装置3に送信してもよい。
表示部22は、コンテンツ決定装置3から送信されたコンテンツを上述したウェブページや各種アプリケーションの専用画面等に設けられた表示エリアに表示する手段である。表示部22により表示エリアにコンテンツが表示された後、ユーザは、表示エリアに表示されたコンテンツに対する操作を行うことにより、当該コンテンツに設定されたリンク先の情報(例えば特定の商品・サービスを購入するためのウェブページ等)にアクセスすることができる。ここで、「コンテンツに対する操作」とは、コンテンツに関連付けられたリンク先の情報にアクセスするための操作として予め定められた操作である。コンテンツに対する操作の典型例としては、マウスカーソルの位置を表示エリア上に表示されたコンテンツに合わせた状態でのマウスクリック操作や、端末2のディスプレイがタッチパネルである場合における表示エリア上に表示されたコンテンツに対するタッチ操作等が挙げられる。以降の説明では、上記のような種々の態様のコンテンツに対する操作を総称してクリック操作という。
続いて、コンテンツ決定装置3の構成について説明する。図1に示すように、コンテンツ決定装置3は、ユーザ情報取得部(第1特徴量取得手段)31と、ユーザ情報記憶部(第1特徴量記憶手段)32と、履歴情報記憶部33と、履歴情報取得部34と、分析期間選択部(分析期間選択手段)35と、特徴量変換部(特徴量変換手段)36と、第2特徴量記憶部37と、決定部(決定手段)38と、送信部39と、コンテンツ情報記憶部39aと、を備える。
図2は、コンテンツ決定装置3のハードウェア構成の一例を示すブロック図である。図2に示すように、コンテンツ決定装置3は、物理的には、1又は複数のCPU(Central Processing Unit)301、主記憶装置であるRAM(Random Access Memory)302及びROM(Read Only Memory)303、入力デバイスである入力装置304、ディスプレイ等の出力装置305、データ送受信デバイスである通信モジュール306、ハードディスクドライブ等の補助記憶装置307等を含むコンピュータシステムとして構成されている。図1におけるコンテンツ決定装置3の各機能は、図2に示されるRAM302等のハードウェア上に1又は複数の所定のコンピュータソフトウェアを読み込ませることにより、CPU301の制御のもとで入力装置304、出力装置305、通信モジュール306を動作させるとともに、RAM302や補助記憶装置307におけるデータの読み出し及び書き込みを行うことで実現される。
ユーザ情報取得部31は、端末2からコンテンツの要求を受け付けた際に、当該端末2のユーザ情報送信部21(或いは上述した事業者のサーバ装置等の他の装置)によって送信されたユーザ情報を取得する手段である。すなわち、ユーザ情報取得部31は、端末2からコンテンツの要求を受け付ける度に、当該端末2のユーザの第1特徴量を取得する。ユーザ情報取得部31により取得されたユーザ情報は、ユーザ情報記憶部32に記憶される。
ユーザ情報記憶部32は、ユーザ情報取得部31により取得されたユーザ情報を、コンテンツの提示に対応する提示時点と関連付けて蓄積する手段である。ここで、コンテンツの提示に対応する提示時点は、例えば、端末2からユーザ情報を取得してから当該端末2に対してコンテンツが送信されるまでの間で任意に定められた時点であればよい。本実施形態では一例として、ユーザ情報記憶部32においてユーザ情報と関連付けられる提示時点は、ユーザ情報がユーザ情報取得部31によって取得された取得日時であるものとする。
図3に、ユーザ情報記憶部32に蓄積されるユーザ情報の一例を示す。例えば、図3の1つ目のユーザ情報は、ユーザIDが「user_001」で示されるユーザが、44歳の男性であり、商品A及び商品Bを購入したことがあり、当該ユーザのユーザ情報が2015年9月1日の10時に取得されたことを示している。なお、図3の例に示される性別、年齢、居住エリア、商品A購入有無、及び商品B購入有無は、第1特徴量に含まれる項目である。性別、年齢、及び居住エリアは、ユーザの属性を示す特徴であり、商品A購入有無及び商品B購入有無は、ユーザの行動履歴を示す特徴である。商品購入有無のようなユーザの行動履歴を示す項目数は、管理対象として登録される商品(或いはサービス)の数だけ存在するため、一般に非常に膨大となる。また、行動履歴を示す特徴としては、商品購入有無に関する情報だけでなく、グルメサイトやニュースサイト等のジャンル毎のウェブサイト訪問履歴等も挙げられる。このような訪問履歴に関する特徴量により、ユーザの嗜好・趣味に関する特徴が把握可能となる。
履歴情報記憶部33は、各ユーザの端末2上にコンテンツが表示された際に当該コンテンツに対するクリック操作がされたか否かを示すクリック情報(操作情報)を含む履歴情報を記憶する手段である。図4は、履歴情報の一例を示す図である。図4に示すように、履歴情報記憶部33に記憶される履歴情報は、一例として、提示日時、ユーザID、分析期間、コンテンツID、及びクリック情報が互いに関連付けられた情報である。
「提示日時」は、ユーザに対してコンテンツが提示された日時である。なお、提示日時としては、後述する送信部39によって端末2にコンテンツが送信された日時が格納されてもよい。「ユーザID」は、コンテンツが送信された端末2のユーザを識別するユーザIDである。「分析期間」は、後述する分析期間選択部35によってユーザに対して割り当てられた分析期間である。「コンテンツID」は、コンテンツを識別するIDである。「クリック情報」は、上述の通り、コンテンツに対してクリック操作がされたか否かを示す情報である。例えば、図4の1つ目の履歴情報は、後述する候補期間C1が分析期間として割り当てられたユーザ「user_001」に対して、2015年9月1日10時にコンテンツ「ad_001」が提示され、当該コンテンツが当該ユーザによってクリック操作されたことを示している。
図5は、履歴情報記憶部33に記憶された複数の履歴情報の集計結果の一例を示す。このような集計処理は、例えばデータベース上のクエリ処理等によって容易に行うことができる。従って、履歴情報記憶部33は、図4に示した履歴情報だけでなく、図5に示すように複数の履歴情報を集計することにより得られる各種集計情報を実質的に記憶しているといえる。図5に示す集計結果は、分析期間毎のコンテンツ表示回数、コンテンツクリック数、クリック率(CTR:Click Through Ratio)を集計した結果である。
ここで、分析期間毎のコンテンツ表示回数及びコンテンツクリック数は、同一の候補期間(詳しくは後述)が分析期間として選択されたユーザ群毎に、コンテンツの違いを区別することなく、コンテンツ表示回数及びコンテンツクリック数をそれぞれ集計したものである。分析期間毎のクリック率は、同一の候補期間が分析期間として選択されたユーザ群毎のクリック率(操作率)であり、分析期間毎のコンテンツ表示回数に対するコンテンツクリック数の割合を示す値である。例えば、図5の1つ目のレコードのクリック率は、後述する候補期間C1が分析期間として選択されたユーザ群についてのクリック率である。
履歴情報取得部34は、上述した履歴情報を取得し、履歴情報記憶部33に格納する手段である。履歴情報取得部34は、例えば後述する送信部39によって端末2に対してコンテンツが送信された際に、コンテンツの送信日時を提示日時として取得する。また、履歴情報取得部34は、端末2のユーザのユーザIDと端末2に送信されたコンテンツのコンテンツIDとを関連付けるとともに、後述する第2特徴量記憶部37を参照することにより当該ユーザIDのユーザに割り当てられた分析期間を取得する。また、履歴情報取得部34は、送信部39により端末2に送信されたコンテンツに対して当該端末2のユーザによるクリック操作がされたか否かを示すクリック情報を、端末2からの通知を受けること等により把握することができる。なお、上記の各種情報の取得方法は一例であり、履歴情報取得部34は、上記以外の方法によって履歴情報を取得してもよい。
分析期間選択部35は、コンテンツを新たに要求する端末2のユーザである対象ユーザに対して、予め用意された複数の候補期間の中から一の候補期間を分析期間として確率的に選択する手段である。ここで、分析期間とは、後述する特徴量変換部36によって対象ユーザの第1特徴量を次元削減するために用いる期間である。具体的には、分析期間選択部35は、コンテンツの表示エリアが設けられたウェブページやアプリケーションの専用画面等(以下「特定ページ」という。)に対象ユーザが新たにアクセスする毎に、後述する特徴量変換部36による変換処理を行うための分析期間を複数の候補期間の中から選択する。
図6を用いて分析期間選択部35の処理について説明する。図6の例では、ある基準時刻t0から所定時間間隔(一例として1時間間隔)で基準時刻t1、t2、t3、t4が設定されている。この例において、基準時刻t3と基準時刻t4との間の時刻tに特定ページへの対象ユーザのアクセス(すなわち、対象ユーザの端末2からのコンテンツ取得要求)が発生した場合について説明する。本実施形態では一例として、分析期間選択部35は、上述のように設定された基準時刻tkと基準時刻tk+1との間の期間(1時間)を1単位期間として管理する。また、分析期間選択部35は、対象ユーザの特定ページへのアクセス時刻tよりも過去の直近の基準時刻t3から、互いに異なる単位期間数だけ遡る複数の期間を候補期間として設定する。
図6の例では、分析期間選択部35は、時刻tに特定ページにアクセスした対象ユーザに対する候補期間として、以下の3つの候補期間C1〜C3を用意する。ただし、候補期間の個数は3つに限られず、2つ又は4つ以上であってもよい。候補期間C1は、3つの候補期間のうち最も長い長期期間であり、基準時刻t3を基点として3単位期間だけ遡る期間(すなわち基準時刻t0から基準時刻t3までの3時間)である。候補期間C2は、3つの候補期間のうち2番目に長い中期期間であり、基準時刻t3を基点として2単位期間だけ遡る期間(すなわち基準時刻t1から基準時刻t3までの2時間)である。候補期間C3は、3つの候補期間のうち最も短い短期期間であり、基準時刻t3を基点として1単位期間だけ遡る期間(すなわち基準時刻t2から基準時刻t3までの1時間)である。
分析期間選択部35は、例えば、いわゆるコンテキストなしのバンディットアルゴリズムに分類されるε−Greedy法により、上述した候補期間C1〜C3のうちの一の候補期間を、対象ユーザに割り当てる分析期間として選択する。具体的には、分析期間選択部35は、履歴情報記憶部33に記憶された履歴情報を参照することにより、同一の候補期間が分析期間として選択されたユーザ群毎のクリック率の観点から最も良い候補期間(以下「最良候補期間」)を抽出する。より具体的には、分析期間選択部35は、ユーザ群毎のクリック率が最大となる候補期間を最良候補期間として抽出する。図6の例では、対象ユーザよりも前に候補期間C1〜C3のうち一の候補期間が分析期間として選択されるユーザとは、基準時刻t3から時刻tまでの間に特定ページにアクセスしたユーザ(過去ユーザ)である。基準時刻t3からの時間が経過するほど、過去ユーザのクリック情報が履歴情報として取得され、図5に示す集計数(コンテンツ表示回数、コンテンツクリック数)が増加することとなる。そして、分析期間選択部35は、予め定めた確率で最良候補期間を分析期間として選択し、残りの確率で複数の候補期間C1〜C3のうちからランダムに一の候補期間を分析期間として選択する。
具体的には、分析期間選択部35は、履歴情報記憶部33を参照することにより、ユーザ群毎のクリック率が最大となる候補期間を最良候補期間として抽出する。ここで、図5の例が、時刻tにおける履歴情報(集計結果)を示しているものとする。この場合、分析期間選択部35は、ユーザ群毎のクリック率が最大となる候補期間C3を最良候補期間として特定する。そして、図7に示すように、分析期間選択部35は、最良候補期間として特定された候補期間C3を予め定められた確率1−ε(0<ε<1)で対象ユーザに割り当てる分析期間として選択する。一方、分析期間選択部35は、残りの確率(探索確率)εで複数の候補期間C1〜C3のうちからランダムに抽出される一の候補期間を対象ユーザに割り当てる分析期間として選択する。
このような処理により、現時点で最良の結果(すなわち最大のクリック率)が得られている最良候補期間(候補期間C3)を分析期間として選択する処理(活用)を一定の割合(1−ε)で行いつつ、最良候補期間以外の候補期間C1,C2も含めた全候補期間C1〜C3の中から分析期間を選択する処理(探索)を併せて行うことができる。例えば、探索確率εを0.3とした場合、分析期間選択部35は、0.7の確率で「活用」の処理を実行し、0.3の確率で「探索」の処理を実行する。探索処理では全ての候補期間がランダムに選択されるため、この場合、分析期間選択部35は、0.8の確率で候補期間C3を分析期間として選択し、それぞれ0.1の確率で候補期間C1,C2を分析期間として選択することとなる。「活用」の処理が適用された対象ユーザについては、現時点において当該対象ユーザがクリック操作する可能性の高いコンテンツを提示することができる。また、「探索」の処理が適用されて候補期間C1,C2のいずれかが分析期間として選択された対象ユーザについて得られるクリック情報によって、ユーザ傾向の変動を把握可能となる。具体的には、最良候補期間である候補期間C3以外の候補期間C1,C2が分析期間として選択されたユーザ群のクリック率の変動を把握可能となる。このように、「活用」の処理を全てのユーザに適用するのではなく、一定の割合で「探索」の処理を適用することにより、トレンドの変化(例えば最大のクリック率が得られるユーザ群が、候補期間C3が分析期間として選択されたユーザ群から、候補期間C1が分析期間として選択されたユーザ群に変化すること等)を把握可能となる。
また、分析期間選択部35は、時間の経過に合わせて、一定時間毎に候補期間C1〜C3が示す期間を変化させてもよい。具体的には、現在時刻が基準時刻t4を経過した際に、分析期間選択部35は、候補期間C1〜C3を1時間ずつスライドさせてもよい。すなわち、分析期間選択部35は、基準時刻t1から基準時刻t4までの3時間を新たな候補期間C1とし、基準時刻t2から基準時刻t4までの2時間を新たな候補期間C2とし、基準時刻t3から基準時刻t4までの1時間を新たな候補期間C3とする。このようにすることで、後述する特徴量変換部36によって、現在時刻から比較的直近の時間帯に特定ページにアクセスしたユーザの傾向(特徴)に基づく特徴量の次元削減を行うことが可能となる。
特徴量変換部36は、分析期間選択部35によって選択された分析期間に特定ページにアクセスしたユーザ(分析対象ユーザ)の第1特徴量に基づいて、対象ユーザの第1特徴量を当該第1特徴量よりも項目数(次元数)が少ない第2特徴量に変換する手段である。具体的には、特徴量変換部36は、ユーザ情報記憶部32に蓄積された各ユーザの第1特徴量のうち取得日時が上記分析期間に含まれる第1特徴量に基づく主成分分析を実行し、予め定めた個数の主成分を決定する。ただし、特徴量変換部36は、対象ユーザの第1特徴量の次元を削減して第2特徴量を得る手法として、主成分分析以外の手法を用いてもよい。
このような処理により、分析期間として選択された期間に特定ページにアクセスした分析対象ユーザ群の傾向を反映した主成分分析を実行することが可能となる。例えば、分析期間として選択された期間に特定ページにアクセスした分析対象ユーザ群において、グルメ情報に対する興味が強いユーザ(過去にグルメに関するウェブサイトに訪問している回数が多いユーザ等)の割合が大きい場合、グルメ情報に対する興味に関する特徴量が強調される形で主成分分析が実行されることになる。これにより、後述する決定部38の処理において、グルメ情報に対する興味の強さに着目して適切なコンテンツ(例えばグルメ情報に対する興味が強いユーザがクリックする可能性の高いコンテンツ)を対象ユーザに提示するコンテンツとして決定することが可能となる。このように、選択された分析期間によって主成分分析に用いられる分析対象ユーザ群が変化し、変換後の第2特徴量が異なる。このため、どの候補期間が分析期間として選択されるかによって、後述する決定部38によってどのコンテンツが決定され易くなるかが変化する。
図6の右側部分は、上述の主成分を決定する処理の概要を示す。図6に示すように、特徴量変換部36は、第1特徴量を表現するn次元の項目軸(F1〜Fn)を、分析期間に特定ページにアクセスした分析対象ユーザの第1特徴量に基づく主成分分析を実行することで、n個よりも少ない個数(ここでは一例として3つ)の主成分1〜主成分3に変換する。
以下、特徴量変換部36について詳しく説明する。特徴量変換部36は、まず上記分析期間に特定ページにアクセスした分析対象ユーザの第1特徴量を数値化する。なお、第1特徴量が予め数値化されている場合には、当該数値化処理は省略可能である。特徴量変換部36は、例えば性別について、女性を「0」、男性を「1」といったように数値化する。また、特徴量変換部36は、例えば年齢について、例えば0歳〜9歳を「0」、10歳〜19歳を「1」、20歳〜29歳を「2」といったように年代別にグループ化して数値化する。特徴量変換部36は、第1特徴量に含まれる他の項目についても、予め定めた変換ルールに基づいて数値化する。
続いて、図8に示すように、特徴量変換部36は、分析期間に特定ページにアクセスした分析対象ユーザの第1特徴量(n個の項目x1〜xnの各値)に基づいて、図8に示す変換式のパラメータaij(i=1…n,j=1…k)を決定する。このようなパラメータaijは、分析期間に依存する。例えば、上述のように分析期間に特定ページにアクセスした分析対象ユーザ群の中に例えばグルメ情報に対する興味が強いユーザが多く含まれる場合、グルメ情報に対する興味に関する特徴量が他の特徴量よりも強調されるように、パラメータaijが決定される。
ここで、Z1〜Zkは、第1特徴量として表現される元の情報(項目x1〜xnにより表現される情報)からの情報損失が少ない順に並べられた主成分を示している。特徴量変換部36は、このようにして得られる主成分のうち、元の情報からの情報損失が少ない順に予め定めた個数(本実施形態では一例として3つ)の主成分を利用する。すなわち、特徴量変換部36は、上記処理によって決定されたパラメータaijを用いることで、対象ユーザの第1特徴量(x1〜xnの各値)を当該第1特徴量よりも次元の少ない個数(3つ)の第2特徴量(主成分1〜主成分3)に変換する。なお、パラメータaijについては、対象ユーザの第1特徴量を変換する処理を実行する前に、予め各候補期間C1〜C3について算出しておくことができる。これにより、対象ユーザの第1特徴量を第2特徴量に変換する際には、既に各候補期間C1〜C3について得られているパラメータのうち対象ユーザに割り当てられた分析期間に対応するパラメータを用いて図8に示す変換式の計算を実行するだけでよくなる。このため、変換処理を短時間で実行することができる。
第2特徴量記憶部37は、ユーザ毎に、選択された分析期間と、特徴量変換部36によって得られた第2特徴量(主成分1〜主成分3)とを蓄積する手段である。図9に、第2特徴量記憶部37に蓄積される情報の一例を示す。第2特徴量記憶部37には、対象ユーザがアクセスする毎に、当該対象ユーザについての情報(図9に示すテーブルの1レコード分)が蓄積される。第2特徴量記憶部37に蓄積された情報は、履歴情報取得部34等によって適宜参照される。
決定部38は、特徴量変換部36によって得られた対象ユーザの第2特徴量に基づいて、当該対象ユーザに提示するコンテンツを複数の候補コンテンツの中から決定する手段である。具体的には、決定部38は、対象ユーザによるクリック操作がされる期待値を対象ユーザの第2特徴量から算出するためのパラメータを、複数の候補コンテンツの各々について推定し、複数の候補コンテンツの各々について推定されたパラメータに基づいて対象ユーザに提示するコンテンツを決定する。本実施形態では一例として、決定部38は、上述のパラメータの推定を行うにあたって、特徴量変換部36によって得られた対象ユーザの第2特徴量と、対象ユーザよりも前に対象ユーザと同一の分析期間が選択された過去ユーザの第2特徴量と、当該過去ユーザに提示されたコンテンツ(すなわち、過去に決定部38により決定されたコンテンツ)に対して当該過去ユーザによるクリック操作がされたか否かを示すクリック情報と、を用いて、線形モデルによる計算処理を行う。以下、この線形モデルによる計算処理について説明する。なお、以下に説明する計算過程は、線形モデルを用いた公知の計算アルゴリズムに基づいている。
決定部38は、分析期間と候補コンテンツとの組毎に用意される下記式(1)に示される線形モデルにおいて、対象ユーザによるクリック操作がされる期待値E[ri(t)|bi(t)]を当該対象ユーザの第2特徴量bi(t)から算出するためのパラメータμを推定する。このようなパラメータμを、対象ユーザに割り当てられた分析期間と各候補コンテンツとの組毎の線形モデル(下記式(1))について推定することで、複数の候補コンテンツの各々について対象ユーザによるクリック操作がされる期待値E[ri(t)|bi(t)]を算出することができる。なお、候補コンテンツを種別(例えば「グルメ」、「スポーツ」等のジャンル)毎に予め分類しておくことで、同じ種別の候補コンテンツを1つのグループにまとめて集計してもよい。この場合、下記式(1)に示される線形モデルは、分析期間と候補コンテンツの種別との組毎に用意される。
E[ri(t)|bi(t)]=bi(t)Tμ ・・・(1)
具体的には、期待値E[ri(t)|bi(t)]は、第2特徴量bi(t)を持つ対象ユーザに候補コンテンツを提示した場合に、当該対象ユーザが候補コンテンツに対するクリック操作を行う期待値である。また、bi(t)は、対象ユーザの第2特徴量の各主成分(本実施形態では3つの主成分)を並べたベクトルであり、図8の例の場合、bi(t)=(0.11,0.54,0.35)である。また、パラメータμは、第2特徴量と同次元のベクトルであり、μ=(μ1,μ2,μ3)と表される。決定部38は、上記式(1)を満たすパラメータμ1〜μ3を推定するために、分析期間と候補コンテンツとの組毎に、以下に述べる計算処理を実行する。
以下、特定の分析期間C(C1〜C3のいずれか)が割り当てられた対象ユーザが特定の候補コンテンツTに対するクリック操作を行う期待値を推定するための決定部38の処理について説明する。以下に説明する処理が各候補コンテンツについて同様に実行されることで、対象ユーザによるクリック操作がされる期待値を各候補コンテンツについて推定することが可能となる。
まず、決定部38は、第2特徴量bi(t)の次元をk(本実施形態ではk=3)とすると、決定部38は、初期値がゼロベクトルであるk次元のベクトルfと、初期値が単位行列であるk×kの行列Bと、初期値がゼロベクトルであって上記式(1)のパラメータμの推定値であるk次元のベクトルμ’を予め用意する。
分析期間Cが割り当てられた一の過去ユーザUに提示するコンテンツとして候補コンテンツTが決定された場合、決定部38は、下記の更新式(2−1)〜(2−3)によって、上述したベクトルf、行列B、及びベクトルμ’を更新する。
B=B+bu(t)bu(t)T ・・・(2−1)
f=f+bu(t)ru(t) ・・・(2−2)
μ’=B−1f ・・・(2−3)
上記更新式(2−1)〜(2−3)において、bu(t)は、過去ユーザUの第2特徴量の各主成分を並べたベクトルである。また、ru(t)は、候補コンテンツTに対して過去ユーザUによるクリック操作がされたか否かを示すクリック情報である。候補コンテンツTに対して過去ユーザUによるクリック操作がされている場合にはru(t)は「1」となり、候補コンテンツTに対して過去ユーザUによるクリック操作がされていない場合にはru(t)は「0」となる。なお、決定部38は、履歴情報記憶部33に記憶された履歴情報(図4参照)を参照することにより、候補コンテンツTに対して過去ユーザUによるクリック操作がされたか否かを示すクリック情報を把握することができる。決定部38は、分析期間Cが割り当てられたユーザに提示するコンテンツとして候補コンテンツTが決定される毎に、上述のように各ユーザのクリック情報を取得することで、各パラメータ(ベクトルf、行列B、ベクトルμ’)を上記更新式(2−1)〜(2−3)によって更新する。
以上まとめると、決定部38は、分析期間Cが割り当てられた対象ユーザによって候補コンテンツTがクリックされる期待値E[ri(t)|bi(t)]を時刻tにおいて推定する際には、時刻tにおけるベクトルf及び行列B(初期値である場合もあるし、上記更新式による更新がされている場合もある)を用いて、上記式(2−3)によりベクトルμ’を算出する。決定部38は、このように算出されたベクトルμ’を上記式(1)のパラメータμに代入することにより、対象ユーザによって候補コンテンツTがクリックされる期待値E[ri(t)|bi(t)]を算出(推定)することができる。
決定部38は、以上述べた計算を複数の候補コンテンツの各々について実行することにより、分析期間Cが割り当てられた対象ユーザによって候補コンテンツがクリックされる期待値を各候補コンテンツについて推定することができる。以下、「分析期間Cが割り当てられた対象ユーザによって候補コンテンツがクリックされる期待値」のことを、「クリック期待値」という。
(第1の例)
決定部38は、複数の候補コンテンツのうち上述した計算処理により推定されるクリック期待値が最大となる候補コンテンツを、対象ユーザに提示するコンテンツとして決定してもよい。この場合、対象ユーザの興味関心に合った適切なコンテンツ(すなわち、対象ユーザがクリック操作を行うことが最も期待されるコンテンツ)を対象ユーザに対して表示することが可能となる。
(第2の例)
また、決定部38は、複数の候補コンテンツの各々について推定されたパラメータ(ベクトルμ’)に基づいて、上述した分析期間選択部35と同様にε−Greedy法(バンディットアルゴリズム)を用いた計算を実行することで、対象ユーザに提示するコンテンツを決定してもよい。具体的には、決定部38は、複数の候補コンテンツの各々について、上述した計算処理により推定されたベクトルμ’を用いてクリック期待値を上記式(1)により算出する。そして、決定部38は、複数の候補コンテンツのうちクリック期待値が最大となる候補コンテンツを、予め定めた確率で対象ユーザに提示するコンテンツとして決定し、残りの確率で複数の候補コンテンツのうちからランダムに一の候補コンテンツを対象ユーザに提示するコンテンツとして決定してもよい。
(第3の例)
また、決定部38は、複数の候補コンテンツの各々について算出されたパラメータ(ベクトルμ’)に基づいて、上述したε−Greedy法よりも高度な、いわゆるコンテキスト付きバンディットアルゴリズムを用いた計算を実行することで、対象ユーザに提示するコンテンツを決定してもよい。上述のコンテキスト付きバンディットアルゴリズムによる計算処理自体は、従来公知の計算アルゴリズムであるため、概略のみ述べる。
決定部38は、上記式(2−3)により算出されたベクトルμ’と行列B−1とを用いて、下記式(3)に示す正規分布N(平均μ’、分散v2B−1の多次元正規分布)に従う乱数μ’’を抽出する。下記式(3)において、vはバンディットアルゴリズムにおける探索の度合いを決定する分散パラメータである。vは、任意の実数値であり、例えばコンテンツ決定装置3のオペレータ等によって、所望される探索の度合いに応じて任意に設定される。
μ’’〜N(μ’,v2B−1) ・・・(3)
続いて、決定部38は、抽出された乱数μ’’に基づいて、候補コンテンツについてのスコア値bi(t)Tμ’’を算出する。決定部38は、上述したスコア値の算出処理(一の候補コンテンツに対する上記式(2−1)〜(2−3)及び(3)を用いた一連の算出処理)を各候補コンテンツについて同様に行うことで、候補コンテンツ毎のスコア値を得ることができる。そして、決定部38は、複数の候補コンテンツのうちスコア値が最大の候補コンテンツを対象ユーザに提示するコンテンツとして決定する。
上記の第2の例及び第3の例のように、バンディットアルゴリズムを用いた計算を実行することで対象ユーザに提示するコンテンツを決定した場合、現時点で最良と推定されるコンテンツ(すなわち、上記式(1)で算出される期待値が最大の候補コンテンツ)を対象ユーザに提示するコンテンツとして決定する処理(活用)を実行する割合と、それ以外の候補コンテンツを対象ユーザに提示するコンテンツとして決定する処理(探索)を実行する割合と、を適切に調整することができる。これにより、上述した活用及び探索をバランスよく実行するように、対象ユーザに提示するコンテンツを決定することが可能となる。
送信部39は、決定部38によって決定されたコンテンツを端末2に送信(配信)する手段である。本実施形態では一例として、コンテンツを識別するコンテンツIDを含む各候補コンテンツの情報(コンテンツ情報)は、予めコンテンツ情報記憶部39aに格納されている。送信部39は、決定部38から対象ユーザに提示するコンテンツとして決定された候補コンテンツを識別するコンテンツIDを通知され、当該コンテンツIDをキーとしてコンテンツ情報記憶部39aから該当するコンテンツ情報を取得し、当該コンテンツ情報を端末2に送信する。なお、図10に示すように、コンテンツ情報には、コンテンツIDとコンテンツの内容(情報提示画面に表示される文字や画像、リンク先等)を示す情報以外に、コンテンツに関連付けられる各種情報(ストア種別、ジャンル、広告作成会社)が含まれていてもよい。
次に、図11を用いて、コンテンツ決定装置3の動作について説明する。具体的には、対象ユーザが特定ページにアクセスしてから、当該対象ユーザに提示するコンテンツを決定して送信するまでの動作について説明する。まず、ユーザ情報取得部31が、特定ページにアクセスする対象ユーザのユーザ情報(第1特徴量を含む)を当該対象ユーザの端末2から取得する(ステップS1)。
続いて、分析期間選択部35が、予め用意された複数の候補期間C1〜C3(図6参照)の中から、対象ユーザに割り当てる分析期間を選択する(ステップS2)。例えば、分析期間選択部35は、ε−Greedy法を用いて分析期間を選択する。具体的には、分析期間選択部35は、履歴情報記憶部33を参照することによりユーザ群毎のクリック率が最大の候補期間(図5の例では候補期間C3)を抽出する。そして、分析期間選択部35は、予め定められた確率1−εでクリック率が最大の候補期間を分析期間として選択し、残りの確率εで複数の候補期間のうちからランダムに一の候補期間を分析期間として選択する(図7参照)。
続いて、特徴量変換部36が、分析期間選択部35によって選択された分析期間に基づく主成分分析を実行することにより、対象ユーザの第1特徴量を当該第1特徴量よりも項目数(次元数)の少ない第2特徴量(本実施形態では一例として主成分1〜主成分3)に変換する(ステップS3)。具体的には、特徴量変換部36は、分析期間に特定ページにアクセスした分析対象ユーザの第1特徴量に基づく主成分分析を実行することで、予め定めた個数(一例として3つ)の主成分を決定する。
続いて、決定部38が、特徴量変換部36によって得られた対象ユーザの第2特徴量に基づいて、当該対象ユーザに提示するコンテンツを決定する(ステップS4)。例えば、決定部38は、上述したような線形モデル及びバンディットアルゴリズム等を用いて対象ユーザに提示するコンテンツを決定することができる。
続いて、送信部39が、決定部38によって決定されたコンテンツの情報を対象ユーザの端末2に送信する(ステップS5)。これにより、対象ユーザの端末2の表示部22により、特定ページの表示エリアにコンテンツが表示される。なお、ステップS5で対象ユーザにコンテンツが送信された後、履歴情報取得部34によって、当該対象ユーザによるクリック操作が表示されたコンテンツに対してされたか否かを示すクリック情報が取得され、履歴情報記憶部33に蓄積される。そして、決定部38が、履歴情報記憶部33を参照するとともに上記更新式(2−1)〜(2−3)による計算を実行することで、ベクトルf、行列B、及びベクトルμ’を更新する。
以上述べたコンテンツ決定装置3では、分析期間選択部35により、提示するコンテンツを新たに決定する対象の対象ユーザに対して、予め用意された複数の候補期間C1〜C3の中から一の候補期間が分析期間として確率的に選択される。そして、特徴量変換部36により、分析期間にコンテンツが提示されたユーザの第1特徴量に基づいて次元数(項目数)が削減された第2特徴量が得られる。具体的には、例えば主成分分析により得られる主成分が第2特徴量として得られる。そして、決定部38により、対象ユーザの第2特徴量と、対象ユーザと同一の候補期間が分析期間として選択された過去ユーザの第2特徴量と、過去ユーザのクリック情報と、に基づいて、対象ユーザに提示するコンテンツが決定される。このように、上記コンテンツ決定装置3では、次元数を削減する処理を実行するために用いられる分析期間が全てのユーザに対して一律に決定されるのではなく、複数の候補期間C1〜3のうちの一の候補期間が分析期間として確率的に割り当てられる。これにより、全てのユーザについて、特定の期間にコンテンツを要求したユーザ群の傾向に偏った分析結果(主成分分析の結果)のみに基づいて提示するコンテンツが決定されることを防止できる。その結果、ユーザ群の傾向の変動に応じてユーザに提示するコンテンツを決定することが可能となる。
例えば、ある時点において、図6に示す長期期間である候補期間C1が分析期間として選択されたユーザ群のクリック率が最大である場合について考える。つまり、候補期間C1を分析期間とした主成分分析によって特徴量の次元削減を行い、次元削減後の特徴量(第2特徴量)に基づいて提示するコンテンツを決定した場合に、他の候補期間C2,C3を用いて次元削減した場合よりも良いクリック率が得られている場合について考える。この場合、仮に、当該時点以降に特定ページにアクセスする対象ユーザに対して、当該時点において最良の候補期間C1のみを分析期間として割り当てた場合、それ以降、候補期間C1以外の候補期間C2,C3を分析期間として用いた場合のクリック率の測定が行えなくなる。その結果、特定ページにアクセスする対象ユーザの傾向が変化し、実際には候補期間C3を分析期間として選択されたユーザ群のクリック率が最大となる状況になったとしても、そのような状況の変化を把握することができない。一方、コンテンツ決定装置3では、特徴量の次元削減を行うために用いる分析期間の選択に関して、バンディットアルゴリズム(ε−Greedy法)によって「活用」と「探索」とを所定の割合で実行することで、ある時点において最良と推定される最良候補期間以外の候補期間についても所定の確率で選択されるように構成されている。このため、最良候補期間以外の候補期間を分析期間とした場合のクリック率の測定をある程度の精度(探索の割合に応じた精度)で行うことが可能となる。従って、最良候補期間の変化等の状況の変化を適切に把握することができ、そのような変化に応じて対象ユーザに割り当てる分析期間を選択することができる。
さらに、コンテンツ決定装置3では、決定部38がユーザに提示するコンテンツを決定する段階でも、バンディットアルゴリズムを実行することで、コンテンツに関しても「活用」と「探索」とを所定の割合で実行する。これにより、コンテンツの観点でも、ユーザ群の傾向の変動(例えば、時間変化によるユーザの興味関心の変化)に応じて、対象ユーザに提示するコンテンツを決定することができる。
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。