【文献】
櫻庭 敦之、成田 龍太、全 員嬉、徳山 豪,ジャストインタイムウェブ広告におけるタクソノミ自動生成手法,FIT2009 第8回情報科学技術フォーラム 講演論文集 第2分冊,日本,社団法人 情報処理学会,2009年 8月20日,pp.185−186
(58)【調査した分野】(Int.Cl.,DB名)
ユーザに適したコンテンツを決定するにあたって、ユーザとコンテンツの関係を示す行列を生成するためにユーザとコンテンツのクラスタを形成するクラスタ形成装置であって、
ユーザ又はコンテンツである要素に対して、その属性に基づいた多次元空間におけるクラスタ間の距離に応じて、そのクラスタを並べる階層型クラスタリング手法によるクラスタリング処理を行い、該クラスタは隣合うクラスタ間において親子関係を有する階層的構成であり、上位のクラスタは下位のクラスタ内の要素を含むように第1のクラスタ群を形成する第1のクラスタリング手段と、
前記第1のクラスタリング手段によって形成された前記第1のクラスタ群内の要素のインプレッション数に基づいて、予め定められた条件に合致するクラスタに対して、該クラスタとしての形態を取り除くことによって第2のクラスタ群を形成する第2のクラスタリング手段
を具備し、
前記第2のクラスタリング手段は、予め定められた条件として、第1のクラスタ群のクラスタ内の要素のインプレッション数が閾値を超えている場合は、該クラスタを第2のクラスタ群のクラスタとして採用し、第1のクラスタ群のクラスタ内の要素のインプレッション数が該閾値を超えていない場合は、該クラスタを削除し、該削除対象のクラスタの要素を親クラスタ内に残すことによって第2のクラスタ群を形成する
ことを特徴とするクラスタ形成装置。
ユーザに適したコンテンツを決定するにあたって、ユーザとコンテンツの関係を示す行列を生成するためにユーザとコンテンツのクラスタを形成するクラスタ形成装置が行うクラスタ形成方法であって、
第1のクラスタリング手段が、ユーザ又はコンテンツである要素に対して、その属性に基づいた多次元空間におけるクラスタ間の距離に応じて、そのクラスタを並べる階層型クラスタリング手法によるクラスタリング処理を行い、該クラスタは隣合うクラスタ間において親子関係を有する階層的構成であり、上位のクラスタは下位のクラスタ内の要素を含むように第1のクラスタ群を形成し、
第2のクラスタリング手段が、前記第1のクラスタリング手段によって形成された前記第1のクラスタ群内の要素のインプレッション数に基づいて、予め定められた条件に合致するクラスタに対して、該クラスタとしての形態を取り除くことによって第2のクラスタ群を形成し、
前記第2のクラスタリング手段は、予め定められた条件として、第1のクラスタ群のクラスタ内の要素のインプレッション数が閾値を超えている場合は、該クラスタを第2のクラスタ群のクラスタとして採用し、第1のクラスタ群のクラスタ内の要素のインプレッション数が該閾値を超えていない場合は、該クラスタを削除し、該削除対象のクラスタの要素を親クラスタ内に残すことによって第2のクラスタ群を形成する
ことを特徴とするクラスタ形成方法。
ユーザに適したコンテンツを決定するにあたって、ユーザとコンテンツの関係を示す行列を生成するためにユーザとコンテンツのクラスタを形成するクラスタ形成プログラムであって、
コンピュータを、
ユーザ又はコンテンツである要素に対して、その属性に基づいた多次元空間におけるクラスタ間の距離に応じて、そのクラスタを並べる階層型クラスタリング手法によるクラスタリング処理を行い、該クラスタは隣合うクラスタ間において親子関係を有する階層的構成であり、上位のクラスタは下位のクラスタ内の要素を含むように第1のクラスタ群を形成する第1のクラスタリング手段と、
前記第1のクラスタリング手段によって形成された前記第1のクラスタ群内の要素のインプレッション数に基づいて、予め定められた条件に合致するクラスタに対して、該クラスタとしての形態を取り除くことによって第2のクラスタ群を形成する第2のクラスタリング手段
として機能させ、
前記第2のクラスタリング手段は、予め定められた条件として、第1のクラスタ群のクラスタ内の要素のインプレッション数が閾値を超えている場合は、該クラスタを第2のクラスタ群のクラスタとして採用し、第1のクラスタ群のクラスタ内の要素のインプレッション数が該閾値を超えていない場合は、該クラスタを削除し、該削除対象のクラスタの要素を親クラスタ内に残すことによって第2のクラスタ群を形成する
ことを特徴とするクラスタ形成プログラム。
【発明を実施するための形態】
【0011】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
【0012】
本実施の形態であるクラスタ形成装置は、ユーザに適したコンテンツを決定するにあたって、ユーザとコンテンツの関係を示す行列を生成するためにユーザとコンテンツのクラスタを形成するものであって、
図1の例に示すように、クラスタリング処理部231は、第1クラスタ形成部2312、及び第2クラスタ形成部2314を有している。インターネットを利用したオンラインショッピング等で行われているターゲティング広告配信を行うために、行列(マトリックス表、以下CTR行列を主に例示する)の縦軸、横軸となるユーザのクラスタとコンテンツのクラスタを生成するものである。実際のユーザ又はコンテンツは、そのクラスタのいずれか1つ又は複数に属することになる。また、ユーザだけを対象としたクラスタを形成してもよいし、コンテンツだけを対象としたクラスタを形成してもよい。
【0013】
第1クラスタ形成部2312は、ユーザ又はコンテンツを、その属性に基づいてクラスタリング処理を行い、クラスタ間に親子関係を有する階層的構成であり、上位のクラスタは下位のクラスタ内の要素を含むように第1のクラスタ群を形成する。また、第1クラスタ形成部2312は、OPTICS−DeliCluによってクラスタリング処理を行いようにしてもよい。OPTICS−DeliCluについては、非特許文献2、非特許文献3等に記載されている。概要としては、対象としているユーザ又はコンテンツの属性を軸とした多次元空間を生成し、ユーザ又はコンテンツをその多次元空間内にプロットし、プロットされた点の密度の濃い領域をクラスタとするものである。
【0014】
また、第1クラスタ形成部2312が行うクラスタリング処理は、多次元空間におけるクラスタ間の距離に応じて、そのクラスタを並べる階層型クラスタリング手法であれば、OPTICS−DeliCluに限る必要はない。第1クラスタ形成部2312が行うクラスタリング処理では、
図3を用いて後述するように、あるクラスタの隣には、そのクラスタに最も近いクラスタが位置することになる。
OPTICS−DeliClu以外の階層型クラスタリング手法として、例えば、ユーザに対しては、予め定められたルール(例えば、国籍、性別、年代等にクラスタを分けるルール)に基づいてクラスタを形成するようにしてもよい。そのルールによって階層構造クラスタになればよい。例えば、国籍のルールの場合は「不明→ヨーロッパ→北欧→フィンランド」という順序の親子関係を形成することによって階層構造クラスタになる。
【0015】
第1クラスタ形成部2312が形成する第1のクラスタ群は、階層構想であり、複数の階層(いわゆる木構造)がある。最高階層には一つのクラスタ(ルート)だけがある。全ての要素はその最高階層クラスタに帰属する。すなわち、全ての要素は少なくとも一つのクラスタ(最高階層クラスタ)に帰属する。
あるクラスタの要素はそのクラスタの親クラスタの要素にもなる。同じく、そのクラスタの親クラスタの親クラスタ(祖父の関係にあるクラスタ)の要素にもなる。つまり、ある要素は複数のクラスタに属することが可能である。また、同様に要素のインプレッションの数もそのクラスタの親クラスタのインプレッションとしても数えられることになる。 なお、後述するように、あるクラスタのインプレッションの数が閾値未満ならば、最終的なクラスタにならない。その場合、そのクラスタの親クラスタは、子クラスタが一つ減ることになる。すなわち、閾値未満の要素を持つクラスタは単にその形態として取り除かれたことになる。しかし、そのクラスタに含まれている全ての要素は、親クラスタの要素になる。したがって、クラスタの形態としては削除されるが、そのクラスタの要素はそのまま親クラスタ内にあることになる。つまり、クラスタが削除される以前と同じ状態である。そして、その要素のインプレッションは、親クラスタのインプレッションの対象となる。
【0016】
第2クラスタ形成部2314は、第1クラスタ形成部2312によって形成された各予め定められた条件に合致するクラスタに対して、クラスタ内の要素のインプレッション数に基づいて、そのクラスタとしての形態を取り除くことによって第2のクラスタ群を形成する。インプレッション数とは、Webサイトに掲載される広告の効果を計る指標の一つで、広告の露出(掲載)回数のことである。Webサイトにユーザが訪れ、広告が1回表示されることを1インプレッションという。
より具体的には、第2クラスタ形成部2314は、予め定められた条件として、第1のクラスタ内の要素のインプレッション数が閾値を超えている場合は、そのクラスタを第2のクラスタ群のクラスタとして採用し、第1のクラスタ群のクラスタ内の要素のインプレッション数がその閾値を超えていない場合は、そのクラスタとしての形態を取り除きその第2のクラスタ群を形成するようにしてもよい。閾値は、予め定められた値(例えば、10万等)であり、高ければ高いほど後述のCTR行列のセルの値は信頼度(質)が高くなるという影響がある。一方、前記の閾値は高ければ高いほどクラスタの要素の類似度が低くなり、あまり似ていない要素を集合する事になるという影響がある。つまり、閾値はこの2つの影響のバランスをとるための数値である。第1のクラスタ群のクラスタ内の要素のインプレッション数が閾値を超えている場合とは、インプレッション数がクラスタを形成するに十分である場合である。第1のクラスタ内の要素のインプレッション数がその閾値を超えていない場合とは、クラスタを形成するのにインプレッション数が不足している状態であり、その第1のクラスタ群のクラスタは、最終的なクラスタとしては採用すべきではないこととなる。そこで、OPTICS−DeliCluによってクラスタリング処理を行った場合の結果を第1のクラス群とする。「クラスタとしての形態を取り除く」(「クラスタを削除する」ともいう)とは、クラスタ内の要素までを削除するわけではなく、クラスタの形態は消去するが、そのクラスタ内の要素は親クラスタに含まれたままである。結果として、階層構造内の1つのクラスタは消去されたことになるが、そのクラスタ内にあった要素は、上位のクラスタ(親クラスタ)に含まれたままである。なお、階層的クラスタであるので、クラスタを削除する前から親のクラスタの要素として、子クラスタの要素は含まれている。したがって、第1のクラスタ群と第2のクラスタ群における全ての要素数は、クラスタを削除した場合であっても変化することはない。さらに、親クラスタ(A)に属する下位のクラスタ(子クラスタ)を全て削除しても、その親クラスタ(A)のインプレッション数が不足している場合は、その上の親クラスタ(B)に属するクラスタ(親クラスタ(A)の兄弟関係にあるクラスタ)に対して、同様の処理を行う。これを第1のクラスタ群に属する全てのクラスタに対して処理する。
このようにクラスタを形成するので、そのクラスタを縦と横(例えば、コンテンツクラスタを縦、ユーザクラスタを横)としたCTR行列を生成し、各セルの実績ログから算出したCTR(Click Through Rate(クリック・スルー・レート))の精度が高くなるため、ターゲティング広告の配信精度が高くなる。なお、CTRは、コンテンツ(広告)がクリックされた割合を示しているが、詳細については次に説明する。
【0017】
次にCTR行列の生成について説明する。
例えば、CTR行列は
図6の例に示すようになる。このCTR行列600は、列(横軸)に各ユーザクラスタ(ユーザの階層構造クラスタ620内の各クラスタ)を並べ、行(縦軸)に各広告クラスタ(広告の階層構造クラスタ610内の各クラスタ)を並べたものである。なお、CTR行列600の(1,1)のセル(
図6では左上のセル)内は、平均CTR650を示している。
全てのインプレッション数(I)と全てのクリック数(C)を集計する。
CTRは単純な(クリック数/インップレション数)を用いるのではなく、スムージングCTRを用いるものとする。つまり、スムージングCTRは(c+k×C)/(i+k×I)によって算出する。そのために、各ユーザクラスタに対して各広告クラスタのクリック数(c)とインプレッションの数(i)を集計する。kはスムージングパラメータであり、0ではないが0に近い値であればよい。スムージングCTRを用いることによって、ゼロで除算することを避けることができる。そして、あるクラスタのペアのインプレッション数が少ない場合に極端な値となることを防止することにもなる。例えば、全てのクリック数(C)を2.3万、全てのインプレッション数(I)を1000万とした場合は、平均CTR=C/I=2.3万/1000万=0.23%である。ここであるクラスタのクリック数が0.4万、インプレッション数が50万である場合は、平均CTR=0.8%となるが、スムージングCTRは、(0.4万+0.001×2.3万)/(50万+0.001×1000万)=4023/51万=0.79%となる。ここで、0.001は、スムージングパラメータkである。
【0018】
次に広告の選択手順について説明する。
a.ユーザの操作によって新しいウェブページが表示される。その際、操作を行ったユーザ(ユーザの属性等)が入力となる。
b.そのユーザが属するユーザクラスタを検索する。なお、そのユーザが属するクラスタは複数となる可能性がある。
c.前述の通り作成したCTR行列を対象として、検索したユーザクラスタに対応する行において、その行(複数の行であってもよい)の中で最も高いCTRのセルを抽出する。(広告選択の第1ステップ)。
【0019】
d.最も高いCTRのセルに対応する広告群が配信対象になる。各広告のスムージングCTRを算出する。同様に、(c+k*C)÷(i+k*I)の式を用いる。なお、ここでcは広告のクリック数、iは広告のインプレッション数、Cはその広告が含まれるセルのクリック数(前述のCTR行列生成時のスムージング処理された後の分子)、Iはその広告が含まれるセルのインプレッション数(前述のCTR行列生成時のスムージング処理された後の分母)、kはスムージングパラメータである。スムージングパラメータkは、前述のCTR行列生成時に用いたスムージングパラメータkとは異なる値である。例えば、そのセルのクリック数(C)が4023(前述のCTR行列生成時のスムージング処理された後の「4023/51万」の分子)、そのセルのインプレッション数(I)が51万(前述のCTR行列生成時のスムージング処理された後の「4023/51万」の分母)、その広告のクリック数が8、その広告のインプレッション数が500である場合(個別の広告であるので、クリック数等が小さい場合がある)、スムージングCTRは、(8+(1/510)×4023)/(500+(1/510)×51万)=1.05%となる。ここで、(1/510)は、スムージングパラメータkである。この値は、予め定められた値(1000)を分子とし、スムージング処理された後のインプレッション数(4023/51万の分母)を分母としたものにしてもよい。
セル内の広告毎に算出したスムージングCTRの順位(昇順)に応じて、広告を選択し、配信する(広告選択の第2ステップ)。
e.なお、セルの広告の数が予め定められた広告の数未満(つまり、広告数不足)であるならば、そのセルを除いて、次の最も高いスムージングCTRのセルを検索する。
【0020】
図2は、本実施の形態による処理例を示すフローチャートである。
ステップS2002では、第1クラスタ形成部2312が、OPTICS−DeliCluを用いたクラスタリングを行う。
図3を用いて説明する。
図3(a)は、ユーザ又はコンテンツをプロットした多次元空間の例を示している。
図3(a)内の1つ1つの点が、多次元空間内におけるユーザ又はコンテンツである。
図3(b)の例に示すように、7つのクラスタ(図ではA〜G)が生成される。
【0021】
クラスタの形成方法
本実施の形態の第1クラスタ形成部2312で用いるクラスタ手法は、非特許文献2に記載されているOPTICS階層型クラスタ手法であるが、以下に概要を説明する。
ReachabilityPlotの作成:
a.最初に任意の点を選び、その点のラベルを(X)変数に保存する。
b.MinPtsというOPTICS手法のパラメターをNとする。
c.ReachabilityPlotに横軸の(x)に(X)を記入して、縦軸(y)に∞(無限な距離)を記入する。(X)点は「処理済」となる。
d.(X)点に最も近いN点を検索し、その点の中で一番遠い点を抽出し、その点への距離を(y0)として保存する。
e.(X)点に一番近いが、処理済ではない点を検索する。その点への距離を(y1)とする。その点のラベルを(X)変数に保存する(変数の値の更新)。
f.ReachabilityPlotの横軸(x)に(X)を記入し、縦軸(y)に(y0)と(y1)の最大値を記入する。(X)点は「処理済」になる。
g.処理済ではない点がなくなるまで、(d.)ステップからの処理を繰り返す。
h.この手順の出力はReachabilityPlotとなる。横軸は点のラベルの並びであり、縦軸はReachabilityDistanceという距離となる。例えば、
図3(b)と
図4(b)のようなグラフとなる。
【0022】
クラスタの階層構造の作成:
a.ReachabilityPlotの点はいくつの種類がある。説明を分かりやすくするために、以下のような用語を定義する。
(a−i)「下がる」:点の(y)の値にξパラメータを乗算し、その値が次の点の(y)の値より高い場合である。ξの値は、例えば0.99のような1未満で1に近い値である。
(a−ii)「上がる」:次の点の(y)の値にξパラメータを乗算し、その値はこの点の(y)の値より高い場合である。
(a−iii)「変更なし」:上がる点でなく、下がる点でもない点である。
(a−iv)「頂点」:条件が2つある。条件は、1)下がる点、2)前の点が下がる点ではないことである。
b.ReachabilityPlotにおいて、クラスタの境界は左端と右端が両方「頂点」となるが、右端はクラスタの要素にはならない。左端と右端のペアの間にどちらの高さより高い頂点があれば、そのペアはクラスタにはならない。クラスタになる場合は、その頂点のペアより高くない頂点は子クラスタの境界になる。
c.なお、「変更なし」の点も複数あることが可能である。隣接する「変更なし」点のインプレッションの数が閾値以上ならクラスタになる。なお、その場合はξパラメータの値を少し増加すれば「変更なし」点は、「上がる」点か「下がる」点になる。したがって、隣接する「変更なし」点のインプレッションの数が閾値未満になり、上記bを適用すればよい。
【0023】
ステップS2004では、第2クラスタ形成部2314が、第1クラスタ内のインプレッション数の合計が閾値を超えているか否かを判断し、超えている場合はステップS2006へ進み、それ以外の場合はステップS2008へ進む。
図4を用いて説明する。閾値を10万とした場合である。クラスタC、F、Gは、それぞれ11万、11.3万、10.4万であるので、閾値を超えている。クラスタA、B、D、Eは、それぞれ4万、6.5万、3.2万、6.9万であるので、閾値を超えていない。
ステップS2006では、第2クラスタ形成部2314が、その第1クラスタを第2クラスタとして採用する。
図4では、クラスタC、F、Gは、それぞれそのままクラスタ2、4、5として最終的なクラスタとする。
【0024】
ステップS2008では、第2クラスタ形成部2314が、第1クラスタのインプレッション数の合計が閾値を超えるまで第1クラスタを削除して第2クラスタを形成する。
ステップS2010では、クラスタリング処理部231が、全ての第1クラスタに対しての処理が終了したか否かを判断し、終了した場合は処理を終了し、それ以外の場合はステップS2004に戻る。
【0025】
ステップS2008の処理について、より詳細に説明する。
インプレッション数によるクラスタの階層構造の変更:
a.前述のように各「頂点」のペアは、一つのクラスタ候補になる。しかし、第2クラスタ形成部2314の処理によって、そのクラスタの要素のインプレッション数が閾値未満ならば、最終的なクラスタにはならない(「クラスタを削除」という意味である)。
b.一つの要素でも、インプレッション数が閾値以上となるならば、最終的なクラスタになる。すなわち、そのクラスタは要素が一つだけある。
c.前述のとおり、隣接する「変更なし」点のインプレッション数が閾値以上ならば、クラスタになる。
d.つまり、クラスタには上記の3つの種類がある。具体的には、(1)「頂点」のペア、(2)一つの要素のクラスタ、(3)隣接する「変更なし」、の3種類のクラスタがある。
【0026】
図5(a)の例に示す階層構造は、第1クラスタ形成部2312によって形成された第1のクラスタ群の例を示すものである。つまり、(AとBの間の頂点の高さ)は(BとCの間の頂点の高さ)より低いと判断したことによって、クラスタAとクラスタBの親としてクラスタ1を有し、クラスタ1とクタスタCの親としてクラスタXを有することになる。
図5(b)の例に示す階層構造は、
図5(a)の例に示す階層構造に対して、第2クラスタ形成部2314が処理を行った結果の第2のクラスタ群の階層構造を示すものである。閾値を10万とした場合の処理結果である。つまり、インプレッション数が10万未満であるクラスタA(4万)とクラスタB(6.5万)を削除し、その親のクラスタ1(10.5万)はそのまま採用されている。また、インプレッション数が10万未満であるクラスタD(3.2万)とクラスタE(6.9万)を削除し、その親のクラスタ3(10.1万)はそのまま採用されている。他のクラスタ(クラスタC、F、G)、もちろんのことながら、その親のクラスタ(クラスタX、Y、All data(ルート))は、そのまま第2のクラスタ群として採用されている。
【0027】
以下、クラスタリング処理部231を利用した広告配信システムについて説明する。本実施の形態において広告とは、Webページにおいてコンテンツの内容等に応じて表示される広告(リスティング広告と呼ばれる。)を想定する。
【0028】
広告配信システムでは、ユーザ及び広告に対してそれぞれクラスタリング処理を行い、ユーザに関するクラスタ(以下、ユーザクラスタという。)と広告に関するクラスタ(以下、広告クラスタという。)とを求め、ユーザクラスタと広告クラスタとの間でのクリック性向を示すCTR行列(例えば、
図6に示すCTR行列600)を作成する。ユーザは複数のユーザクラスタに属することができ、広告も複数の広告クラスタに属することができるものとする。
【0029】
ユーザクラスタの数をN、広告クラスタの数をMとすると、CTR行列はN×Mの行列になる。CTR行列は、ユーザクラスタと広告クラスタの各ペアについて、当該ユーザクラスタに帰属するユーザに対して当該広告クラスタに帰属する広告が表示された回数(インプレッション数と呼ばれる。)と、当該ユーザクラスタに属するユーザが当該広告クラスタに属する広告をクリックしたクリック数とをログから取得して、クリック数とインプレッション数を用いたスムージングCTRを求めるものとする。
【0030】
<<システム構成>>
図7は本実施の形態の広告配信システムの全体構成例を示す図である。本実施の形態の広告配信システムは、ユーザ端末10と通信ネットワーク30を介して通信可能に接続されるWebサーバ20を含んで構成される。
通信ネットワーク30は、例えば公衆電話回線網や専用通信回線網、携帯電話回線網、無線通信網、イーサネット(登録商標)などにより構築される、インターネットやLAN(Local Area Network)である。
Webサーバ20は、画像や動画、テキストなどの各種のコンテンツをHTTP(HyperText Transfer Protocol)に従って提供する、例えばワークステーションやパーソナルコンピュータなどのコンピュータである。ユーザ端末10は、Webサーバ20が提供する各種のWebページを閲覧するブラウザを動作させる、例えばパーソナルコンピュータやタブレットコンピュータ、携帯電話端末、PDA(Personal Digital Assistant)などのコンピュータである。
【0031】
<<Webサーバ20のハードウェア構成>>
図8はWebサーバ20のハードウェア構成例を示す図である。Webサーバ20は、CPU201、メモリ202、記憶装置203、通信インタフェース204、入力装置205、出力装置206を備える。記憶装置203は、各種のデータやプログラムを記憶する、例えばハードディスクドライブやソリッドステートドライブ、フラッシュ・メモリなどである。通信インタフェース204は、通信ネットワーク30に接続するためのインタフェースであり、例えばイーサネット(登録商標)に接続するためのアダプタ、公衆電話回線網に接続するためのモデム、無線通信を行うための無線通信機、シリアル通信のためのUSB(Universal Serial Bus)コネクタやRS232Cコネクタなどである。入力装置205は、データを入力する、例えばキーボードやマウス、タッチパネル、ボタン、マイクロフォンなどである。出力装置206は、データを出力する、例えばディスプレイやプリンタ、スピーカなどである。
【0032】
<<Webサーバ20のソフトウェア構成>>
図9はWebサーバ20のソフトウェア構成例を示す図である。Webサーバ20は、HTTP処理部211、Webページ作成部212、広告選択部213、ログ収集部214及び解析処理部215の機能部と、Web情報データベース251、広告データベース252、ユーザデータベース253、インプレッションログ記憶部255及びクリックログ記憶部256の記憶部とを備えている。
なお、上記各機能部は、Webサーバ20が備えるCPU201が記憶装置203に記憶されているプログラムを実行することにより実現され、上記各記憶部は、Webサーバ20が備えるメモリ202及び記憶装置203が提供する記憶領域の一部として実現される。
【0033】
<<記憶部の説明>>
(1)Web情報データベース251
Web情報データベース251は、Webページを作成するための情報(以下、Web情報という。)を記憶する。Web情報は、例えば、HTMLで記述されたファイルや、CGI(Common Gateway Interface)などの仕組みにより実行されるプログラムを格納したプログラムファイル、画像ファイルなどである。Web情報データベース251は、例えば、Webサーバ20で動作するオペレーティングシステムが提供するファイルシステムのディレクトリやフォルダにより実現することができる。
【0034】
(2)広告データベース252
広告データベース252は、広告を表示するための情報(以下、広告情報という。)を記憶する。
図10は、広告データベース252に記憶される広告情報の構成例を示す図である。広告情報には、広告の識別情報である広告IDに対応付けて、広告のカテゴリ、広告に関するURL(Uniform Resource Locator)、広告のタイトル、入札額、及び実CTR(前述の平均CTR)が含まれる。広告情報のURLが示すWebページはランディングページとも呼ばれ、広告がクリックされるとランディングページにリダイレクトされることになる。
【0035】
入札額は、広告がクリックされた場合に広告主から支払われる最大の単価であり、広告主により決定される。
本実施の形態ではタイトルの文字列をWebページの広告として表示するものとする。広告には広告IDを指定した所定のURL(ホスト名にWebサーバ20が指定されるものとする。以下、リダイレクトURLという。)へのリンクが設定される。Webページにおいて広告がクリックされると、広告IDを含むリクエストがWebサーバ20に送信され、後述するログ収集部214によりクリックされたことのログが収集され、HTTP処理部211により広告IDに対応する広告情報のURLにリダイレクトされる(例えば、当該URLをリダイレクト先として指定した応答が送信される。)。これにより、広告に応じたユーザの行動(クリック)を検知することができる。
【0036】
なお、広告として画像や動画などを表示し、あるいは音声を出力させるようにしてもよく、その場合には、例えば広告情報には、広告として表示する画像や動画のデータを示すURLを追加するようにすることができる。
【0037】
(3)ユーザデータベース253
ユーザデータベース253は、ユーザに関する情報(以下、ユーザ情報という。)を記憶する。
図11はユーザデータベース253に記憶されるユーザ情報の構成例を示す図である。ユーザ情報には、ユーザの識別情報であるユーザIDに対応付けて、ユーザの性別やユーザが現在する都道府県、ユーザの趣味などのユーザの属性とが含まれる。なお、性別、都道府県、趣味以外にも各種のユーザについての属性をユーザ情報に含めることができる。
【0038】
(4)インプレッションログ記憶部255
インプレッションログ記憶部255は、Webページに広告が表示されたこと(インプレッションと呼ばれる。)を示す情報(以下、インプレッションログという。)を記憶する。
図12は、インプレッションログ記憶部255に記憶されるインプレッションログの構成例を示す図である。インプレッションログには、Webページに広告が表示された日時(すなわち、WebページがWebサーバ20から送信された日時である。以下、配信日時という。)、Webページを示すURL、表示された広告を示す広告ID、Webページを閲覧したユーザを示すユーザIDが含まれる。インプレッションログは1つの広告が表示されるにつき1つ登録される。すなわち、例えば1つのWebページに3つの広告が表示された場合には、3つのインプレッションログが登録されることになる。
【0039】
(5)クリックログ記憶部256
クリックログ記憶部256は、Webページに表示された広告がクリックされたことを示す情報(以下、クリックログという。)を記憶する。
図13は、クリックログ記憶部256に記憶されるクリックログの構成例を示す図である。クリックログには、クリックされた広告を示す広告ID、広告をクリックしたユーザを示すユーザID、広告が表示されたWebページを示すURL、及び広告がクリックされた日時(クリック日時)が含まれる。
【0040】
<<機能部の説明>>
(1)HTTP処理部211
HTTP処理部211は、HTTPの処理を行う。HTTP処理部211は、ユーザ端末10から送信されるHTTPのリクエストを受信する。
リクエストにリダイレクトURLが指定されていた場合、HTTP処理部211は、ログ収集部214を呼び出してクリックログを登録させた上で、リクエストに含まれている広告IDに対応する広告情報を広告データベース252から読み出し、読み出した広告情報に含まれているURLをリダイレクト先として指定した応答をユーザ端末10に応答する。
【0041】
リクエストにリダイレクトURL以外の、Webページを示すURLが指定された場合には、HTTP処理部211は、Webページ作成部212を呼び出してWebページを表示するための情報(以下、画面情報という。画面情報は例えばHTMLファイルである。)を作成させ、Webページ作成部212が作成した画像情報をユーザ端末10に応答し、ログ収集部214を呼び出してインプレッションログを登録させる。
【0042】
(2)Webページ作成部212
Webページ作成部212は、Webページを表示するための画面情報を作成する。Webページ作成部212は、広告選択部213を呼び出してWebページに表示させる広告を選択させ、選択された広告がWebページに表示され、広告がクリックされた場合にはリダイレクトURLにアクセスするように、例えばリンクタグを設定した文字列を画面情報に挿入する。なお、Webページ作成部212が、広告以外の各種のコンテンツを作成する処理については、一般的なWebサーバによる処理を用いるものとして、ここでは説明を省略する。
【0043】
(3)広告選択部213
広告選択部213は、Webページに表示する広告を選択する。
広告選択部213は、配信候補抽出部221、広告決定部223を備えている。なお、配信候補抽出部221、広告決定部223も、CPU201が記憶装置203に記憶されているプログラムをメモリ202に読み出して実行することにより実現される。
【0044】
(3−1)配信候補抽出部221
配信候補抽出部221は、広告の候補を決定する。配信候補抽出部221は、前述した広告選択の第1ステップの処理を行う。つまり、クラスタ処理された広告クラスタの中からユーザクラスタに対応する広告クラスタを選択する。
(3−2)広告決定部223
広告決定部223は、配信候補抽出部221が決定した候補の中から表示する広告を、前述した広告選択の第2ステップの処理によって決定する。つまり、広告クラスタ内から個別の広告を選択する。
【0045】
(4)ログ収集部214
ログ収集部214は、インプレッションログ及びクリックログを登録する。ログ収集部214は、HTTPにリダイレクトURLが指定されていた場合には、リダイレクトURLに指定されている広告IDに対応するカテゴリを広告データベース252から読み出し、当該広告ID、読み出したカテゴリ、及び現在の日時を設定したクリックログを作成してクリックログ記憶部256に登録する。HTTPにリダイレクトURL以外のURLが指定されていた場合には、ログ収集部214は、広告選択部213が選択した広告のそれぞれについて、現在日時、広告を示す広告ID、及び当該広告のカテゴリを含むインプレッションログを作成してインプレッションログ記憶部255に登録する。
【0046】
(5)解析処理部215
解析処理部215は、クラスタリング処理部231、及び行列生成部232を備える。なお、クラスタリング処理部231、及び行列生成部232も、CPU201が記憶装置203に記憶されているプログラムをメモリ202に読み出して実行することにより実現される。
【0047】
(5−1)クラスタリング処理部231
クラスタリング処理部231はクラスタリング処理を行い、ユーザをユーザクラスタに分類し、広告を広告クラスタに分類する。
図1〜5を用いて前述した通りの処理を行う。
(5−2)行列生成部232
行列生成部232は、ユーザが広告をクリックしたスムージングCTRからCTR行列を生成する。行列生成部232は、ユーザクラスタと広告クラスタとの全ての組み合わせについて、当該ユーザクラスタに帰属するユーザが、当該広告クラスタに帰属する広告を閲覧したインプレッション数及び当該ユーザが当該広告をクリックしたクリック数を取得して、スムージングCTRを算出する。
【0048】
<<解析処理>>
図14は解析処理部215による解析処理の流れを示す図である。
クラスタリング処理部231は、例えばユーザ情報に含まれている属性、インプレッションログ及びクリックログなどに基づく行動履歴などを用いて、前述したようにユーザのクラスタリングを行い、ユーザクラスタを決定する(S311)。
【0049】
クラスタリング処理部231は、広告についても広告情報に含まれている項目の内容や、広告情報のURLが示すランディングページの内容を用いて、前述したように広告のクラスタリングを行い、広告クラスタを決定する(S312)。
【0050】
行列生成部232は、ユーザクラスタ及び広告クラスタについてのスムージングCTRを要素とするCTR行列を作成する(S313)。
図15はCTR行列の作成処理の一例を示す図である。行列生成部232は、ユーザクラスタ及び各広告クラスタについて、以下の処理を行う。
【0051】
行列生成部232は、インプレッションログ記憶部255に登録されているインプレッションログのうち、ユーザIDが対象とするユーザIDに含まれており、かつ、広告IDが対象とする広告IDに含まれているものをカウントしてインプレッション数i
uaとして算出する(S331)。行列生成部232は、クリックログ記憶部256に登録されているクリックログのうち、ユーザIDが対象とするユーザIDに含まれており、かつ、広告IDが対象とする広告IDに含まれているものをカウントしてクリック数c
uaとして算出する(S332)。
【0052】
<<リクエスト処理>>
図16は、Webサーバ20により行われる処理の流れを示す図である。
HTTP処理部211は、ユーザ端末10からHTTPのリクエストを受信する(S401)。なおリクエストには、URL、ユーザID及び現在日時が設定されているものとする。
【0053】
広告選択部213が選択した広告の広告情報を含む広告リストを作成する(S402)。なお、この広告情報の選択処理については、
図17を用いて後述する。
【0054】
Webページ作成部212は、リクエストに応じて各種のコンテンツを表示するためのHTMLファイルなどの画面情報を作成する(S403)。なお、ステップS403における画面情報の作成処理は、一般的なWebサーバによる処理を採用することができる。
【0055】
Webページ作成部212は、広告リストに含まれる各広告情報について、所定のURLの引数に広告情報に含まれる広告IDを設定したリダイレクトURLを作成する(S404)。リダイレクトURLは、例えば「www.foobar.com/ad?id=xxxx」という形式とすることができる。Webページ作成部212は、広告リストに含まれる各広告情報について、広告情報に含まれるタイトルを内容として含むリダイレクトURLへのリンクタグ(例えば、「<a href="http://www.foobar.com/ad?id=xxxx">タイトル</a>」という形式とすることができる。)を画面情報に挿入する(S405)。
【0056】
HTTP処理部211は、作成された画面情報をリクエストへの応答としてユーザ端末10に送信する(S406)。ログ収集部214は、広告リストに含まれる各広告情報について、広告情報に含まれる広告IDと、リクエストに含まれていたURL、ユーザID及び現在日時とを含むインプレッションログを作成してインプレッションログ記憶部255に登録する(S407)。
【0057】
HTTP処理部211は、リクエストにリダイレクトURLが指定されているか否かにより、広告がクリックされたか否かを判定する(S408)。
広告がクリックされたと判定した場合(S408:YES)、ログ収集部214は、リダイレクトURLに設定されている広告IDに対応する広告情報を広告データベース252から読み出し、リクエストに設定されているユーザID及び現在日時ならびに広告ID、カテゴリを含むクリックログを作成してクリックログ記憶部256に登録する(S409)。HTTP処理部211は、広告情報のURLにリダイレクトするようにHTTPのレスポンスをユーザ端末10に送信する(S410)。
一方、広告がクリックされていないと判断した場合には(S408:NO)、処理の流れは終了となる。
【0058】
<<広告の選択処理>>
図17は、ステップS405における広告の選択処理の流れを示す図である。
配信候補抽出部221は、広告データベース252から前述した広告選択の第1ステップの処理を行う(S421)。つまり、広告クラスタを選択する。
次に、広告決定部223は、広告データベース252から前述した広告選択の第2ステップの処理を行う(S422)。つまり、広告クラスタ内から個別の広告を選択する。
広告決定部223は、CTRの大きい順にn個の広告情報を選択して広告リストとする(S423)。なお、広告決定部223は、CTRに広告情報の入札額を乗じた値の大きい順にn個の広告情報を選択するようにしてもよい。
【0059】
また、本実施の形態の広告配信システムでは、ユーザ及び広告をクラスタに分類した上で関係性(クリック率)を観測しCTR行列で管理しているので、大量のユーザや広告が存在する場合であっても、関係性の管理を容易に行うことが可能となり、観測値や関係性の管理にかかるリソースを低減することができる。
【0060】
また、本実施の形態の広告配信システムでは、配信する広告を決定する際に、期待クリック性向の大きい順に広告を選択しているので、ユーザのニーズに合わせた広告を配信することを可能とするとともに、広告のクリックによる広告収益を向上させることができる。
【0061】
<<他の適用例>>
本実施の形態では広告の配信を想定しているが、広告の配信に限らず、各種のコンテンツの提供を行うシステムに適用してもよい。また、コンテンツとユーザとの関係性もクリック率に限らず、ユーザがコンテンツを嗜好する度合いなど各種の関係性とすることができる。
【0062】
以上、本実施の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【0063】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。