【文献】
田頭幸浩、外4名,オンライン広告におけるCTR予測モデルの素性評価,第5回データ工学と情報マネジメントに関するフォーラム (第11回日本データベース学会年次大会) [ONLINE],日本,電子情報通信学会データ工学研究専門委員会 日本デー,2013年 5月31日,p.1−6(B9−2),<URL:http://db-event.jpn.org/deim2013/proceedings/pdf/b9-2.pdf>
【文献】
Haibin Cheng、外6名,Multimedia Features for Click Prediction of New Ads in Display Advertising,KDD'12 Proceedings of the 18th ACM SIGKDD international conference o Knowledge discovery and data miming [ONLINE],米国,ACM,2012年 8月12日,p.777−785,[DL from the ACM Digital Library]
【文献】
Javad Azimi、外5名,The Impact of Visual Appearance on User Response in Online Display Advertising,WWW'12 Companion Proceedings of the 21st International Conference on World Wide Web [ONLINE],米国,ACM,2012年 4月16日,p.547,458,[DL from the ACM Digital Library]
(58)【調査した分野】(Int.Cl.,DB名)
前記確率算出部は、画像の特徴量と当該画像を選択した利用者の属性情報との関係性に基づいて、配信先利用者により選択された画像の特徴量から、当該配信先利用者の属性情報を推定し、配信対象画像の特徴量と当該配信対象画像を選択した利用者の属性情報との関係性に基づいて、前記配信先利用者の属性情報から、前記配信対象画像が当該配信先利用者により選択される確率を算出する
ことを特徴とする請求項1に記載の算出装置。
前記確率算出部は、画像の特徴量と当該画像を選択した利用者の属性情報との関係性を学習したモデルを用いて、配信先利用者により選択された画像の特徴量から、当該配信先利用者の属性情報を推定する
ことを特徴とする請求項2に記載の算出装置。
前記確率算出部は、配信対象画像の特徴量と当該配信対象画像を選択した利用者の属性情報との関係性を学習したモデルを用いて、配信先利用者により選択された画像の特徴量から、当該配信先利用者の属性情報を推定する
ことを特徴とする請求項2または3に記載の算出装置。
前記確率算出部は、前記配信先利用者が選択した画像の特徴量から、当該画像が選択される確率を算出し、算出した確率と、前記配信先利用者の属性情報とを用いて、前記配信対象画像が当該配信先利用者により選択される確率を算出する
ことを特徴とする請求項2〜4のうちいずれか1つに記載の算出装置。
【発明を実施するための形態】
【0010】
以下に、本願に係る
算出装置、算出方法および
算出プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る
算出装置、算出方法および
算出プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
〔1.配信サーバの一例〕
まず、
図1を用いて、実施形態においてモデル生成装置および情報配信装置の一例として動作する配信サーバの一例について説明する。
図1は、実施形態に係る配信サーバの一例を示す図である。なお、以下の説明では、配信サーバ10が、利用者の属性等を示す属性情報を推定するユーザー推定モデルを生成する生成処理と、生成処理で生成されたユーザー推定モデルを用いて、利用者の属性情報を推定し、推定された属性情報に基づいて広告を配信する配信処理とを実行する例について説明する。
【0012】
また、以下の説明では広告に係る画像である広告画像を用いて生成処理と配信処理とを実行する例について説明するが、かかる画像は、広告だけではなく、ボランティアの募集、公共広告、公共に対する通知、商品画像、商品説明、その他任意の情報に係る画像あってもよい。すなわち、以下で説明する画像とは、利用者に興味を抱かせ、かかる画像に含まれる情報またはかかる画像と関連する情報(例えば、画像が配置されたウェブページ上の情報やランディングページの情報)を広く知らせるものであれば、文字、図形、記号、音声、動画、ゲーム、その他任意のコンテンツを適用可能である。
【0013】
配信サーバ10は、利用者が使用する端末装置100とデータ通信を行うウェブサーバ等の情報処理装置である。例えば、配信サーバ10は、端末装置100から広告の配信を要求する広告配信要求を受信すると、端末装置100を使用する利用者の属性情報に基づいて、配信対象となる広告画像を選択し、選択した広告画像を端末装置100へ送信する。ここで、利用者の属性情報とは、利用者の性別、年齢、住所、趣味、興味の対象、ウェブページや広告の閲覧履歴等、利用者のプロファイルや素性を示す種々の情報である。
【0014】
端末装置100は、スマートフォンやタブレット等のスマートデバイスであり、3G(Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、端末装置100は、タッチパネルを指や専用ペンでタッチすることにより画像の選択等、各種操作を行う。
【0015】
なお、端末装置100は、デスクトップ型のPC(Personal Computer)やノート型のPC、ネットブック、サーバ装置などの情報処理装置であってもよい。かかる場合、端末装置100は、マウスやキーボードなどの情報入力装置を介して各種操作を受け付けてもよい。
【0016】
ここで、端末装置100は、利用者の操作によりウェブページなどのウェブコンテンツを表示する場合は、ウェブコンテンツの配信を行うウェブサーバに対してウェブコンテンツの配信要求を送信する。かかる場合、端末装置100は、ウェブコンテンツの配信を受け付けると、ウェブコンテンツ内に配置される広告の配信要求を配信サーバ10に送信する。
【0017】
かかる場合、配信サーバ10は広告画像を端末装置100に配信する。そして、端末装置100は、配信サーバ10から受け付けた広告画像をウェブページ内に配置して表示する。また、端末装置100は、広告画像を利用者がタップしたり、カーソルを広告画像とあわせてクリックした場合等、広告画像を選択する操作が行われた場合は、広告画像と対応するランディングページの表示を行うとともに、かかる広告画像が選択された旨の通知を配信サーバ10に送信する。
【0018】
また、配信サーバ10は、広告画像が選択された旨の通知を受付けると、広告主に対する課金処理を実行する。すなわち、配信サーバ10は、端末装置100に対し、クリック課金型の広告配信を行う。
【0019】
〔2−1.配信サーバ10が実行する処理〕
ここで、配信サーバ10は、クリック課金型で広告を配信する場合、広告主が設定した入札額に基づいて、配信対象となる広告画像が選択される。具体的には、配信サーバ10は、各広告画像について設定された入札額と、各広告画像がクリックされる確率であるクリック率とに基づいて、期待収益を算出し、算出した期待収益が最も高い広告画像を優先的に配信する。
【0020】
ここで、クリック率とは、広告配信対象となる利用者の属性情報や、配信対象となる広告画像の内容に基づいて推定されるクリック率である。例えば、従来技術では、配信対象となる広告画像を抽象化した際の特徴と、配信先となる利用者の属性情報との対応関係に応じて、クリック率の値が推定される。より具体的な例を挙げると、従来技術では、配信対象となる広告画像がゲーム画面、車両、男性用の商品等、男性が選択しそうな画像であり、配信先となる利用者の性別が男性である場合は、配信対象となる広告画像のクリック率を増加させる。
【0021】
また、他の従来技術では、配信対象となる広告画像が他の広告画像と類似する場合は、かかる他の広告画像を選択した利用者の属性情報を取得し、取得した利用者の属性情報と、配信先となる利用者の属性情報との関係に応じて、クリック率の値が推定される。より具体的な例を挙げると、従来技術では、配信対象となる利用者が男性である場合は、多くの男性が選択した広告画像と類似する広告画像のクリック率を増加させる。
【0022】
しかしながら、新規に登録された広告画像等には、広告画像を選択した利用者の属性情報や、広告画像の構成等、広告画像のログが存在しない場合がある。かかる場合、従来技術では、配信対象となる広告画像を選択しうる利用者を推定できないので、クリック率の推定精度が悪化する。また、十分な数のログが取得されていない場合にも、クリック率の推定精度は悪化する。
【0023】
また、新規な利用者から広告配信要求を受信した場合や、B−クッキー等などが消去され、利用者を識別するためのID(Identifier)が不明になった場合等、利用者の属性情報が不明となる場合がある。かかる場合、従来技術では、配信対象となる広告画像の予測クリック率を算出することができない。
【0024】
このように、従来技術では、画像のログが存在しない場合や、利用者の属性情報が不明となる場合等、いわゆるコールドスタート状態においては、クリック率を精度良く推定できないため、適切な期待収益を算出することができない。この結果、従来技術では、コールドスタート状態において、配信対象となる広告画像を適切に選択することができない。
【0025】
そこで、配信サーバ10は、画像から画像の特徴を示す特徴量を算出する学習器を用いて、利用者により選択された履歴を有する広告画像の特徴量を算出する。そして、配信サーバ10は、算出した特徴量と、広告画像を選択した利用者の属性情報とに基づいて、画像の特徴量から利用者の属性情報を推定するユーザー推定モデルを生成する生成処理を実行する。
【0026】
例えば、配信サーバ10は、学習器を用いて、利用者により選択された履歴を有する画像の特徴量を算出し、履歴中の利用者の属性を示す属性情報と、算出した特徴量とに基づいて、属性情報の推定対象となる利用者が選択した画像の特徴量から、属性情報の推定対象となる利用者の属性情報を推定するモデルを生成する。ここで、履歴中の利用者と、属性対象の推定対象となる利用者とは、同一の利用者であってもよく、異なる利用者であってもよい。
【0027】
また、配信サーバ10は、属性情報が不明である利用者が広告画像を選択した場合は、学習器を用いて、かかる広告画像の特徴量を算出する。また、配信サーバ10は、ユーザー推定モデルを用いて、算出した特徴量から利用者の属性情報を推定する。そして、配信サーバ10は、推定した属性情報を用いて、広告画像を利用者が選択するクリック率を算出し、算出したクリック率に基づいて、配信対象となる広告画像を選択し、配信を行う配信処理を実行する。
【0028】
〔2−2.学習器〕
ここで、配信サーバ10が広告画像の特徴量を算出する際に用いる学習器について説明する。学習器とは、例えば、入力されたデータに対する演算結果を出力する複数のノードを多層に接続した学習器であって、教師なし学習により抽象化された画像の特徴を学習する学習器である。より具体的には、学習器とは、複数のノードを有する層を多段に接続したニューラルネットワークであり、いわゆるディープラーニングの技術により実現されるDNN(Deep Neural Network)である。また、画像の特徴とは、画像に含まれる文字の有無、色、構成等、画像内に現れる具体的な特徴のみならず、撮像されている物体が何であるか、画像がどのような利用者に好かれるか、画像の雰囲気等、抽象化(メタ化)された画像の特徴をも含む概念である。
【0029】
かかるディープラーニングの技術を用いた場合、学習器は、例えば、以下の学習手法により生成される。例えば、学習器は、各ノードの間の接続係数が初期化され、様々な特徴を有する画像が入力される。そして、学習器の出力と、入力した画像との誤差が少なくなるように接続係数を補正するバックプロパゲーションが行われる。かかる処理を繰り替えすことで、学習器は、入力された画像をより良く再現できる出力、すなわち入力された画像の特徴を出力することができる。
【0030】
なお、学習器の学習手法については、上述した手法に限定されるものではなく、任意の公知技術が適用可能である。また、学習器の学習を行う際に用いられる画像は、配信対象となる広告画像が用いられてもよく、一般的な画像のデータセットを利用してもよい。また、学習器に対する画像の入力方法、学習器が出力するデータの形式、学習器に対して明示的に学習させる特徴の内容等は、任意の手法が適用できる。すなわち、配信サーバ10は、画像から抽象化された特徴を示す特徴量を算出できるのであれば、任意の学習器を用いることができる。
【0031】
以下の説明では、配信サーバ10は、入力画像の局所領域の畳み込みとプーリングとを繰り返す学習器、いわゆるCNN(Convolutional Neural Network)を用いて、広告画像の特徴量を算出するものとする。かかるCNNは、画像から特徴を抽出して出力する機能に加え、画像内に含まれる文字や撮像対象等の位置的変異に対し、出力の不変性を有する。このため、配信サーバ10は、広告画像の抽象化された特徴を精度良く算出することができる。
【0032】
〔2−3.生成処理〕
続いて、
図1を用いて、配信サーバ10が実行する生成処理について説明する。まず、配信サーバ10は、配信処理に先がけて、ユーザー推定モデルを生成する生成処理を実行する(ステップS10)。具体的には、配信サーバ10は、属性情報が特定可能な利用者により選択された広告画像C10〜C13(以下、選択画像C10〜C13と記載する場合がある)を学習器に入力し(ステップS11)、各選択画像C10〜C13の特徴量を算出する(ステップS12)。そして、配信サーバ10は、算出された特徴量と、各選択画像C10〜C13を選択した利用者U10〜U13の属性情報とを用いて、画像の特徴量からかかる画像を選択した利用者の属性情報を推定するユーザー推定モデルを生成する(ステップS13)。
【0033】
例えば、配信サーバ10は、広告画像の配信ログや、配信先となる利用者の属性情報のログ等から、配信された広告画像と配信先である利用者の属性情報とを収集する。
図1に示す例では、属性情報が「男性」の利用者U10がPCの広告画像C10を選択し、属性情報が「女性」の利用者U11が靴の広告画像C11を選択している。また、
図1に示す例では、属性情報が「30代」の利用者U12がアクセサリーの広告画像C12を選択し、属性情報が「10代」の利用者U13がゲーム機の広告画像C13を選択している。
【0034】
ここで、同様の属性情報を有する利用者は、同様の特徴を有する広告画像を選択する可能性が高い。例えば、男性の利用者は、ゲーム機や男性用のファッションに係る広告画像を選択する傾向があり、女性の利用者は、アクセサリーや女性用のファッションに係る広告画像を選択する傾向がある。このため、利用者U10以外の利用者であっても、利用者U10と同様に、属性情報が「男性」である場合は、広告画像C10や広告画像C10と同様の特徴を有する他の広告画像を選択する可能性が高い。
【0035】
そこで、配信サーバ10は、広告画像C10を学習器に入力することで、広告画像C10の抽象化された特徴を示す特徴量Aを算出する。より具体的には、配信サーバ10は、広告画像C10を学習器に入力した際の出力、すなわち広告画像C10の抽象化された特徴を示す多次元量を広告画像C10の特徴量Aとして取得する。そして、配信サーバ10は、ユーザー推定モデルとして、広告画像C10の特徴量Aとの差分が所定の閾値よりも小さい特徴量から、広告画像C10を選択した利用者U10と同じ属性情報「男性」を推定するユーザー推定モデルを生成する。
【0036】
同様に、配信サーバ10は、ユーザー推定モデルとして、広告画像C11の特徴量Bとの差分が所定の閾値よりも小さい特徴量から、広告画像C11を選択した利用者U11と同じ属性情報「女性」を推定するユーザー推定モデルを生成する。また、配信サーバ10は、ユーザー推定モデルとして、広告画像C12の特徴量Cとの差分が所定の閾値よりも小さい特徴量から、広告画像C12を選択した利用者U12と同じ属性情報「30代」を推定するユーザー推定モデルを生成する。また、配信サーバ10は、ユーザー推定モデルとして、広告画像C13の特徴量Dとの差分が所定の閾値よりも小さい特徴量から、広告画像C13を選択した利用者U13と同じ属性情報「10代」を推定するユーザー推定モデルを生成する。
【0037】
例えば、
図1に示す例では、配信サーバ10は、広告画像C10の特徴量Aと属性情報「男性」とを対応付け、広告画像C11の特徴量Bと属性情報「女性」とを対応付け、広告画像C12の特徴量Cと属性情報「30代」とを対応付け、広告画像C13の特徴量Dと属性情報「10代」とを対応付けたユーザー推定モデル17を生成する。
【0038】
〔2−4.配信処理〕
続いて、
図1を用いて、配信サーバ10が実行する配信処理について説明する。まず、配信サーバ10は、属性情報が不明な利用者U20により、ログが無い広告画像C14が選択された場合は(ステップS20)、利用者U20が選択した広告画像C14を取得する(ステップS21)。また、配信サーバ10は、取得した広告画像C14を学習器に入力し(ステップS22)、かかる広告画像C14の抽象化した特徴を示す特徴量Eを算出する(ステップS23)。
【0039】
そして、配信サーバ10は、特徴量Eとユーザー推定モデル17とを用いて、利用者U20の属性情報を推定する(ステップS24)。例えば、配信サーバ10は、特徴量Bと特徴量Eの差分、および、特徴量Cと特徴量Eの差分が所定の閾値よりも大きく、特徴量Aと特徴量Eの差分、および、特徴量Dと特徴量Eの差分が所定の閾値よりも小さい場合は、利用者U20の属性情報として「男性」および「10代」を推定する(ステップS25)。
【0040】
また、配信サーバ10は、特徴量Eから広告画像C14の予測クリック率(pCTR:Predicted Click Through Rate)を算出する(ステップS26)。例えば、配信サーバ10は、予め定義された所定の線形関数f(x)に多次元量で表される特徴量「x」を入力し、1/(1+exp(−f(x)))の値をpCTRとして算出する。そして、配信サーバ10は、推定した属性情報と、算出した予測クリック率とを用いて、配信対象となる広告画像のクリック率をそれぞれ推定する(ステップS27)。
【0041】
その後、配信サーバ10は、推定した各広告画像のクリック率と各広告画像の入札額とを用いて、期待収益を算出し、算出した期待収益の値が最も高い広告画像を、利用者U20が使用する端末装置100に配信する(ステップS28)。
【0042】
このように、配信サーバ10は、画像の特徴量を算出する学習器を用いて、利用者U10〜U13が選択した選択画像C10〜C13の特徴量を算出し、算出した特徴量と利用者U10〜U13の属性情報とに基づいて、広告画像C14の特徴量から係る画像C14を選択した利用者U20の属性情報を推定するユーザー推定モデルを生成する。
【0043】
また、配信サーバ10は、ユーザー推定モデルを用いて、広告画像C14を選択した利用者U20の属性情報を推定し、推定した属性情報を用いて、利用者U20が広告画像を選択する確率であるクリック率を算出する。そして、配信サーバ10は、算出したクリック率に基づいて、配信対象となる広告画像を選択する。
【0044】
このため、配信サーバ10は、コールドスタート状態においても、利用者の属性情報を推定することができるので、配信対象となる広告画像を適切に選択することができる。
【0045】
なお、
図1に示すユーザー推定モデル17は、あくまで一例であり、配信サーバ10は、他にも任意の形式のモデルを生成することができる。例えば、配信サーバ10は、多次元量である特徴量の各次元の値を独立した変数として入力すると、各属性情報がどれくらいの確かさで推定されるかを解として出力する関数をモデルとして生成してもよい。
【0046】
以下、上記した選定処理を実現する配信サーバ10の機能構成の一例について説明する。
【0047】
〔3.配信サーバの構成〕
次に、
図2を用いて、実施形態に係る配信サーバ10の構成について説明する。
図2は、実施形態に係る配信サーバの構成例を示す図である。
図2に示すように、配信サーバ10は、ネットワークNを介して、端末装置100およびウェブサーバ200と有線または無線により通信可能に接続される。なお、配信サーバ10は、他にも複数台の端末装置100や、複数台のウェブサーバ200と接続されてもよい。
【0048】
端末装置100は、利用者による操作にしたがって、ウェブサーバ200からウェブページを取得し、取得したウェブページを表示する。また、端末装置100は、ウェブページに広告画像の取得命令が含まれる場合には、配信サーバ10に広告画像の配信要求とともに利用者の属性情報を送信し、広告画像を取得する。そして、端末装置100は、取得した広告画像を表示する。また、端末装置100は、利用者が広告画像を選択した場合は、選択した広告画像を示す情報と、利用者の属性情報とを配信サーバ10に送信する。
【0049】
一方、配信サーバ10は、
図2に示すように、通信部11、記憶部12、制御部13を有する。なお、配信サーバ10の内部構成は、
図2に示した構成に限られず、上述した選定処理を行う構成であれば他の構成であってもよい。
【0050】
通信部11は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部11は、ネットワークNと有線または無線で接続され、端末装置100、との間で情報の送受信を行う。
【0051】
記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部12は、学習用画像データベース14、接続係数記憶部15、モデル生成用画像データベース16、ユーザー推定モデル17、広告データベース18を記憶する。
【0052】
制御部13は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、配信サーバ10内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部13は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0053】
また、制御部13は、配信サーバ10内部の記憶装置に記憶されている学習プログラム、モデル生成プログラム、および配信プログラムがRAMを作業領域として実行されることにより、学習部19、生成部20、配信部30として動作する。ここで、生成部20は、特徴量算出部21、ユーザー情報取得部22、モデル生成部23を有する。また、配信部30は、選択画像取得部31、ユーザー情報推定部32、クリック率算出部33、広告選択部34を有する。
【0054】
〔4−1.学習用画像データベース〕
続いて、記憶部12が記憶する情報の一例について説明する。学習用画像データベース14は、学習器に抽象化された画像の特徴量を学習させる際に用いられる学習用の画像が登録される。例えば、学習用画像データベース14には、DNNやCNNの学習時に用いられる画像のデータセットが登録される。
【0055】
〔4−2.接続係数記憶部〕
接続係数記憶部15には、学習器が有する各ノード間の接続係数が登録される。例えば、
図3は、実施形態に係る接続係数記憶部の一例を示す図である。
図3に示すように、接続係数記憶部15には、「ニューロンID」、「結合先ニューロンID」、「接続係数」といった項目を有する。「ニューロンID」は、DNNやCNNに含まれるノードであるニューロンを識別するための識別情報を示す。「結合先ニューロンID」は、「ニューロンID」に対応するニューロンと結合するニューロンを識別するための識別情報を示す。「接続係数」は、ニューロン間の接続係数を示す。
【0056】
例えば、ニューロンID「N
11」に対応するニューロンは、ニューロンID「N
21」に対応するニューロンと接続係数「W
A」で接続されている。このため、ニューロンID「N
21」に対応するニューロンには、ニューロンID「N
11」の出力に接続係数「W
A」を積算した値が入力として伝達される。
【0057】
〔4−3.モデル生成用画像データベース〕
図2に戻り、モデル生成用画像データベース16には、ユーザー推定モデル17を生成する際に用いられる画像が登録されている。例えば、
図4は、実施形態に係るモデル生成用画像データベースの一例を示す図である。
図4に示すように、モデル生成用画像データベース16には、属性情報が取得可能な利用者により選択された広告画像と、かかる広告画像を選択した利用者の属性情報とが対応付けて登録される。
【0058】
例えば、
図4に示す例では、モデル生成用画像データベース16には、属性情報が「男性」、「10代」である利用者が選択した広告画像C30と、かかる利用者の属性情報「男性」、「10代」とが対応付けて登録されている。同様に、モデル生成用画像データベース16には、広告画像C31と属性情報「男性」、「20代」とが対応付けて登録されており、広告画像C32と属性情報「女性」、「10代」とが対応付けて登録されている。また、モデル生成用画像データベース16には、広告画像C33と属性情報「女性」、「20代」とが対応付けて登録されており、広告画像C34と属性情報「10代」とが対応付けて登録されており、広告画像C35と属性情報「20代」とが対応付けて登録されている。
【0059】
〔4−4.ユーザー推定モデル〕
図2に戻り、ユーザー推定モデル17は、属性情報が取得可能な利用者により選択された画像の特徴量と、かかる利用者の属性情報とから生成されたモデルであって、画像の特徴量からかかる画像を選択した利用者の属性情報を推定するモデルである。例えば、
図5は、実施形態にかかるユーザー推定モデルの一例を示す図である。
図5に示す例では、ユーザー推定モデル17には、画像の特徴量と、係る特徴量と類似する特徴量の画像を選択した利用者について推定される属性情報とが対応付けて登録されている。
【0060】
例えば、
図4に示す例では、ユーザー推定モデル17には、特徴量Eと属性情報「男性」、「10代」とが対応付けて登録されている。すなわち、ユーザー推定モデル17は、特徴量Eと一致もしくは類似する特徴量の画像を選択した利用者の属性情報が「男性」、「10代」である旨を示す。同様に、ユーザー推定モデル17には、特徴量Fと属性情報「男性」、「20代」、特徴量Gと属性情報「女性」、「10代」、特徴量Hと「女性」、「20代」、特徴量Iと属性情報「10代」、特徴量Jと属性情報「20代」が対応付けて登録されている。
【0061】
〔4−5.広告データベース〕
図2に戻り、広告データベース18には、配信対象となる広告画像が登録されている。例えば、
図6は、実施形態に係る広告データベースの一例を示す図である。
図6に示す例では、広告データベース18には、「広告主ID」、「広告コンテンツ」、「入札価格」、「CTR」、「属性情報」といった項目が対応付けて登録される。
【0062】
「広告主ID」は、広告主を識別するための識別情報を示す。「広告コンテンツ」は、広告主が入稿した広告コンテンツ、例えば広告画像を示す。
図4では「広告コンテンツ」に「C11」といった概念的な情報が格納される例を示したが、実際には、静止画像や動画像やテキストデータやURL、又は、これらの格納場所を示すファイルパス名などが格納される。
【0063】
「入札価格」は、広告主が広告コンテンツを入稿する際に指定する広告料金を示す。例えば、「入札価格」は、広告コンテンツがユーザーに1回クリックされた際に広告主から広告配信者(例えば、配信サーバ10の管理者)に支払われる単価に該当する。また、例えば、「入札価格」は、広告コンテンツが表示された際に広告主から広告配信者に支払われる単価であってもよい。
【0064】
「CTR」は、広告コンテンツがクリックされた回数を広告コンテンツの表示回数によって除算した値を示す。なお、端末装置100に配信されたことがない広告コンテンツのCTRには、予め決められている固定値や、全ての広告コンテンツにおけるCTRの平均値や、同一の広告カテゴリ(例えば、車、旅行)に属する全ての広告コンテンツにおけるCTRの平均値などが記憶される。また、「属性情報」とは、広告コンテンツの配信対象となる利用者の属性情報を示す。
【0065】
例えば、
図4では、広告主ID「B10」によって識別される広告主が、入札価格「100」を指定するとともに、広告コンテンツ「C11」を入稿した例を示している。また、
図4では、広告コンテンツ「C11」のCTRが「0.02」であり、配信対象となる利用者の属性情報が「男性」である例を示している。
【0066】
なお、「CTR」には、CTRの予測モデル等から予測される予測CTRが記憶されてもよい。このような予測CTRは、例えば、広告コンテンツの種別や、広告コンテンツが表示されるウェブページの種別等によって予測される。
【0067】
〔4−6.制御部が実行する処理の一例〕
図3に戻り、制御部13が有する学習部19、生成部20、配信部30が実行する処理の内容について説明する。
【0068】
〔4−6−1.学習部が実行する処理の一例〕
学習部19は、学習器の学習を行う。例えば、学習部19は、ニューロンを多段に接続した学習器であって、教師なし学習により抽象化された画像の特徴を学習した学習器、すなわちDNNの学習を行う。また、学習部19は、学習器として、局所領域の畳み込みとプーリングとを繰り返すことで、画像の変異に対する出力の普遍性をさらに学習した学習器、すなわちCNNの学習を行う。
【0069】
例えば、学習部19は、ニューロン同士に所定の接続関係を設定した学習器を構築する。また、学習部19は、学習用画像データベース14に登録された学習用画像を用いて、学習器に抽象化された画像の特徴を学習させる。より具体的には、学習部19は、バックプロパゲーション等の公知の手法を用いて、学習用画像から抽象化された特徴が精度良く抽出されるように接続係数を補正する。そして、学習部19は、ニューロン同士の接続関係と、接続係数とを接続係数記憶部15に登録する。
【0070】
なお、学習部19が実行する具体的な学習手法については、DNNやCNNを学習する際に用いられる公知の学習手法が採用可能である。
【0071】
〔4−6−2.生成部が実行する処理の一例〕
生成部20は、特徴量算出部21、ユーザー情報取得部22、モデル生成部23が実行する処理により、生成処理を実行する。具体的には、特徴量算出部21は、画像から特徴量を算出する学習器を用いて、属性情報を取得可能な利用者により選択された履歴を有する広告画像の特徴量を算出する。
【0072】
例えば、特徴量算出部21は、接続係数記憶部15からニューロンIDと接続係数とを取得し、学習器を構成する。また、特徴量算出部21は、モデル生成用画像データベース16から、広告画像C30を取得する。そして、特徴量算出部21は、学習器に広告画像C30を入力し、学習器の出力を特徴量Eとして取得する。
【0073】
ユーザー情報取得部22は、特徴量を算出した広告画像を選択した利用者の属性情報を取得する。例えば、ユーザー情報取得部22は、特徴量算出部21が広告画像C30の特徴量Eを算出した場合は、かかる広告画像C30と対応付けられた属性情報「男性」、「10代」をモデル生成用画像データベース16から取得する。
【0074】
モデル生成部23は、特徴量算出部21が算出した特徴量と、ユーザー情報取得部22が取得した属性情報とに基づいて、ユーザー推定モデルを生成する。例えば、モデル生成部23は、特徴量算出部21が算出した広告画像C30の特徴量Eと、ユーザー情報取得部22が取得した属性情報とを対応付けてユーザー推定モデル17に登録する。
【0075】
なお、モデル生成部23は、より複雑な手法によりユーザー推定モデル17を生成してもよい。例えば、モデル生成部23は、特徴量算出部21が特徴量Eと特徴量Iとを算出し、ユーザー情報取得部22が属性情報「男性」、「10代」および属性情報「10代」を取得した場合、特徴量Eと特徴量Iとの差分を属性情報「男性」に対応する特徴量としてユーザー推定モデル17に追加してもよい。すなわち、モデル生成部23は、複数の特徴量を比較し、差分や共通部分に基づくユーザー推定モデル17を生成してもよい。また、モデル生成部23は、特徴量を変数として入力すると、属性情報に対応する値を出力する関数をモデルとして生成してもよい。
【0076】
〔4−6−3.配信部が実行する処理の一例〕
配信部30は、選択画像取得部31、ユーザー情報推定部32、クリック率算出部33、広告選択部34が実行する処理により、配信処理を実行する。具体的には、選択画像取得部31は、属性情報が不明な利用者が選択した広告画像を取得する。
【0077】
例えば、選択画像取得部31は、利用者が選択した広告画像の通知を受信した場合は、かかる利用者の属性情報を特定できるか否かを判定する。具体的には、選択画像取得部31は、Bクッキーが無い場合や、利用者のIDが無い場合等、利用者の属性情報を特定できない場合や、利用者の属性情報を管理する管理システム等に利用者の属性情報が登録されていない場合には、利用者の属性情報が不明であると判定する。
【0078】
そして、選択画像取得部31は、利用者の属性情報が不明であると判定した場合には、通知された広告画像を広告データベース18から特定し、特定した広告画像をユーザー情報推定部32に出力する。なお、選択画像取得部31は、利用者の属性情報を特定できた場合は、通知された広告画像と特定した属性情報とを対応付けて、モデル生成用画像データベース16に登録する。
【0079】
ユーザー情報推定部32は、ユーザー推定モデル17を用いて、属性情報が不明である利用者が選択した広告画像から、かかる利用者の属性情報を推定する。例えば、ユーザー情報推定部32は、接続係数記憶部15に登録された情報を用いて、抽象化された画像の特徴を示す特徴量を算出する学習器を構築する。
【0080】
また、ユーザー情報推定部32は、広告画像を選択画像取得部31から受信すると、受信した広告画像を学習器に入力し、かかる広告画像の特徴量を算出する。そして、ユーザー情報推定部32は、ユーザー推定モデル17を用いて、算出した特徴量から属性情報を推定する。例えば、ユーザー情報推定部32は、
図5に示すユーザー推定モデル17が登録されている際に、特徴量と特徴量Eとの差分が所定の閾値よりも小さい場合は、広告画像を選択した利用者の属性情報「男性」、「10代」を推定する。そして、ユーザー情報推定部32は、算出した特徴量と、推定した属性情報「男性」、「10代」とをクリック率算出部33に出力する。
【0081】
クリック率算出部33は、ユーザー情報推定部32が推定した属性情報を用いて、配信対象となる広告画像を利用者が選択するクリック率を算出する。例えば、クリック率算出部33は、ユーザー情報推定部32が算出した特徴量から、属性情報を推定した利用者により選択された広告画像を、かかる利用者が選択する確率である予測クリック率を算出する。そして、クリック率算出部33は、算出した予測クリック率と、ユーザー情報推定部32が推定した属性情報とをパラメータとする所定のモデルを用いて、広告データベース18に登録された各広告画像を、属性情報を推定した利用者が選択するクリック率を算出する。
【0082】
例えば、クリック率算出部33は、推定された属性情報が「男性」である場合は、属性情報「男性」が対応付けられた広告画像のクリック率を増加させ、属性情報「女性」が対応付けられた広告画像のクリック率を減少させる等の処理を実行する。なお、クリック率算出部33が各広告画像のクリック率を算出する処理については、公知のクリック率算出モデルが適用可能である。
【0083】
広告選択部34は、クリック率算出部33が算出したクリック率に基づいて、利用者に配信する広告画像を選択する。例えば、広告選択部34は、クリック率算出部33が算出したクリック率と、各広告画像の入札額との値を積算し、積算した値が最も高い広告画像を選択する。そして、広告選択部34は、属性情報が推定された利用者が使用する端末装置100から配信要求を受信した場合は、選択した広告画像を配信する。
【0084】
なお、クリック率算出部33は、属性情報が不明ではない利用者から配信要求を受信した場合は、かかる利用者の属性情報を用いてクリック率を算出する。そして、広告選択部34は、クリック率算出部33が算出したクリック率を用いて、広告画像を選択し、選択した広告画像の配信を行う。
【0085】
〔5.特徴量の算出について〕
ここで、上述した配信サーバ10は、CNNを用いて広告画像の特徴量を算出することにより、抽象化された画像の特徴量を適切に算出することができる。例えば、
図7は、CNNを用いた効果の一例を説明する図である。
図7には、各種の手法により抽出された特徴量をモデルの素性として、広告画像ごとの実績クリック率にリッジ回帰させた平均絶対誤差(MAE: Mean Absolute Error)を、手法ごとにプロットした。
【0086】
図7に示す例では、特徴量の抽出手法として、Gist、SIFT(Scale-Invariant Feature Transform)、C−SIFT(Colored-SIFT)、Opponent SIFT、RGB−SIFT(Red Green Blue-SIFT)、CNNを採用した。また、広告主ID、広告ID、広告画像IDといったID素性を用いずに特徴を推定する抽出方法との比較対象として、ID素性のみを用いて特徴量を特定するBaselineの結果をプロットした。
【0087】
ここで、Gistとは、画像のシーン情報を記述する際に用いられる大域画像特徴量であり、960の次元数を有する特徴量である。また、SIFT、C−SIFT、Opponent SIFT、RGB−SIFTとは、局所特徴量を算出する手法である。
図7に示す例では、SIFT、C−SIFT、Opponent SIFT、RGB−SIFTにより算出された局所特徴量の分布を混合ガウス分布で表現した2048次元のFisher vectorを、Bag−of−Visual−Wordsベースの帯域特徴量として採用した。
【0088】
また、
図7に示す例では、CNNとして、CaffeのImagenetプレインモデルを採用し、CNNの最終層が出力する4096次元の情報を特徴量とした。また、
図7に示す例では、Baselineとして、広告主ID、広告ID、広告画像IDといったID素性から、Feature hashingを用いた20ビットの特徴量を用いた。
【0089】
上述した各手法により得られた特徴量を比較すると、画像内の局所的な形状の情報ではなく、撮像対象を特徴量の一部として表現できるか否かが重要であるため、Baselineを除くと、CNNにより抽出された特徴量の平均絶対誤差が最も低い値となる。しかしながら、コールドスタート状態においては、各種のID素性を得ることができないため、Baselineを用いるのは困難である。このため、配信サーバ10は、CNNを用いることで、コールドスタート状態においても画像の特徴量を適切に算出することができる。
【0090】
〔6.属性情報の推定について〕
また、上述した配信サーバ10は、広告画像を選択した利用者の属性情報を推定し、推定した属性情報を用いることで、精度良くクリック率を算出することができる。例えば、
図8は、属性情報を用いた効果の一例を説明する図である。
図8には、クリックを「1」、インプレッションのみを「−1」としてロジスティック回帰させ、クリック率の算出手法ごとに、AUC(area under the curve)と重複率との対応をプロットした。また、
図8に示す例では、Baselineを用いたクリック率の予測、Baselineに属性情報を付加してクリック率を予測するUser_add、User_addにCNNによる特徴量を付加してクリック率を予測するCNN_addを採用した。
【0091】
図8に示す例では、全体的に、属性情報を考慮してクリック率を予測するUser_addの手法がBaselineを用いた手法よりも予測性能が良い事が解る。このため、配信サーバ10は、コールドスタート時において、利用者の属性情報を推定し、推定した属性情報を用いることで、精度良くクリック率を算出することができる。
【0092】
〔7.配信サーバ10の処理フロー〕
次に、
図9、
図10を用いて、配信サーバ10が実行する生成処理および配信処理の流れの一例について説明する。まず、
図9を用いて、配信サーバ10が実行する生成処理の一例を説明する。
図9は、実施形態にかかる配信サーバが実行する生成処理の一例を示すフローチャートである。
【0093】
図9に示すように、配信サーバ10は、属性情報を取得できる利用者により選択された広告画像であるモデル生成用画像をCNNに入力し、最終層の出力を特徴量として取得する(ステップS101)。続いて、配信サーバ10は、モデル生成画像を選択した利用者の属性情報を取得する(ステップS102)。そして、配信サーバ10は、特徴量と属性情報とに基づいて、画像の特徴量から属性情報を推定するユーザー推定モデルを生成し(ステップS103)、処理を終了する。
【0094】
なお、配信サーバ10は、
図9に示す生成処理を任意のタイミングで実行することができる。例えば、配信サーバ10は、モデル生成用画像がモデル生成用画像データベース16に登録される度に実行してもよく、所定の時間間隔あるいは利用者からの指示に従って実行してもよい。すなわち、配信サーバ10は、利用者の属性情報を推定する処理に先駆けてモデルを生成するのであれば、任意のタイミングで生成処理を実行してもよい。
【0095】
次に、
図10を用いて、配信サーバ10が実行する配信処理の一例を説明する。
図10は、実施形態にかかる配信サーバが実行する配信処理の一例を示すフローチャートである。まず、配信サーバ10は、利用者が選択した広告画像の情報を受信したか否かを判定する(ステップS201)。そして、配信サーバ10は、利用者が選択した広告画像の情報を受信していない場合は(ステップS201:No)、再度ステップS201を実行する。
【0096】
一方、配信サーバ10は、利用者が選択した広告画像の情報を受信した場合は(ステップS201:Yes)、選択された広告画像をCNNに入力し、特徴量を取得する(ステップS202)。そして、配信サーバ10は、ユーザー推定モデル17を用いて、取得した特徴量から属性情報を推定する(ステップS203)。また、配信サーバ10は、特徴量を用いて、予測クリック率を算出し(ステップS204)、算出した予測クリック率と、推定された属性情報とを用いて、広告画像のクリック率を推定する(ステップS205)。また、配信サーバ10は、推定したクリック率に基づいて、期待収益を算出し(ステップS206)、配信要求を受信した際に、期待収益が最大となる広告画像を配信し(ステップS207)、処理を終了する。
【0097】
なお、配信サーバ10は、
図10に示す配信処理を広告画像の配信タイミングに先駆けて行ってもよい。例えば、配信サーバ10は、広告画像を選択した利用者のログを取り、属性情報が不明な利用者から配信要求を受信した際に、ログから係る利用者が選択した広告画像を特定し、特定した広告画像の特徴量から係る利用者の属性情報を推定してもよい。
【0098】
また、配信サーバ10は、属性情報が不明であり、かつ、広告画像を選択したログが無い利用者から配信要求を受信した場合は、任意の手法で選択された広告画像を配信する。また、配信サーバ10は、かかる広告画像が選択された場合は、かかる広告画像から利用者の属性情報を予め推定する。そして、配信サーバ10は、かかる利用者から新たな配信要求を受信した際に、あらかじめ推定した属性情報を用いて広告画像を選択し、選択した広告画像を配信してもよい。
【0099】
〔8.変形例〕
上記した実施形態に係る配信サーバ10は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、配信サーバ10の他の実施形態について説明する。なお、以下に説明する配信サーバ10が実行する処理のうち、生成処理に対応する処理は、生成部20によって実行され、配信処理に対応する処理は、配信部30によって実行されるものとする。
【0100】
〔8−1.推定される属性情報のバリエーション〕
例えば、配信サーバ10は、利用者の属性情報を推定する際、ユーザー推定モデル17に登録された特徴量と、選択された画像の特徴量との一致率を算出し、算出した一致率を考慮した属性情報の推定を行ってもよい。例えば、
図11は、実施形態に係る配信サーバが推定する属性情報の他の例を説明する図である。なお、
図11に示す例では、各画像C10〜C13の特徴量として、各次元の値が「0」または「1」である多次元量のベクトルを記載した。
【0101】
まず、配信サーバ10は、
図11中(A)に示すように、学習器を用いて、利用者により選択された広告画像C10〜C13の特徴量を算出する。また、配信サーバ10は、
図11中(B)に示すように、各広告画像C10〜C13を選択した利用者の属性情報を特定する。そして、配信サーバ10は、
図11中(C)に示すように、各広告画像C10の特徴量と属性情報とを対応付けたユーザー推定モデル17を生成する。
【0102】
続いて、配信サーバ10は、属性情報が取得できない利用者が選択した広告画像C14を取得する。かかる場合、配信サーバ10は、
図11中(D)に示すように、学習器を用いて、広告画像C14の特徴量を算出する。また、配信サーバ10は、算出された特徴量と、ユーザー推定モデル17に登録された特徴量との類似度を算出し、算出した類似度を属性情報の確かさを示す値としてクリック率の推定を行う。具体的な例を挙げると、配信サーバ10は、算出された特徴量と、ユーザー推定モデル17に登録された特徴量とを次元ごとに比較し、値が一致する次元の数を、特徴量の次元数で除算した値を類似度とする。
【0103】
例えば、配信サーバ10は、
図11中(E)に示すように、広告画像C10の特徴量と広告画像C14の特徴量との類似度が「0.6」である場合は、広告画像C10と対応する属性情報「男性」の確かさが「60パーセント」であると推定する。同様に、配信サーバ10は、広告画像C11の特徴量と広告画像C14の特徴量との類似度が「0.4」である場合は、広告画像C11と対応する属性情報「女性」の確かさが「40パーセント」であると推定する。
【0104】
また、配信サーバ10は、広告画像C12の特徴量と広告画像C14の特徴量との類似度が「0.1」である場合は、広告画像C12と対応する属性情報「30代」の確かさが「10パーセント」であると推定する。同様に、配信サーバ10は、広告画像C13の特徴量と広告画像C14の特徴量との類似度が「0.7」である場合は、広告画像C13と対応する属性情報「10代」の確かさが「70パーセント」であると推定する。
【0105】
かかる推定を行った場合、配信サーバ10は、利用者がが「60パーセント」の確率で「男性」であり、「40パーセント」の確率で「女性」であるものとして、クリック率の算出を行う。例えば、配信サーバ10は、クリック率を算出する際に用いられるモデルのパラメータのうち、推定された属性情報が「男性」である場合に考慮されるパラメータに「0.6」を積算し、推定された属性情報が「女性」である場合に考慮されるパラメータに「0.4」を積算する。
【0106】
このように、配信サーバ10は、特徴量の一致率を考慮した属性情報を算出することで、利用者の属性をより詳細に推定することができるので、クリック率をより適切に算出することができる。例えば、配信サーバ10は、70パーセントの確率で男性向けの広告画像を選択し、30パーセントの確率で女性向けの広告画像を選択するといった予測に基づいて、クリック率を算出することができる。
【0107】
〔8−2.配信サーバ10が用いる学習用画像について〕
上述した例では、配信サーバ10は、学習用画像データベース14に登録された画像を用いて、抽象化された画像の特徴を学習器に学習させた。しかしながら、実施形態は、これに限定されるものではない。例えば、配信サーバ10は、学習処理を行わず、外部のサーバ等によって任意の学習が行われた学習器を取得し、取得した学習器を用いて生成処理や配信処理を実行してもよい。また、配信サーバ10は、生成処理と配信処理とで異なる学習器を用いてもよい。例えば、配信サーバ10は、生成処理に最適化した学習器と配信処理に最適化した学習器とを利用してもよい。
【0108】
また、学習処理を行う場合は、学習器に学習させたい特徴がより現れた画像を入力することで、学習用画像の数や学習回数を削減でき、あるいは、精度良く特徴を学習させることができる。そこで、配信サーバ10は、広告データベース18に登録された広告画像を学習用画像として採用してもよい。
【0109】
また、配信サーバ10は、所定の属性情報を有する利用者により選択された割合が所定の閾値よりも多い画像を学習用画像として採用し、学習器の学習を行ってもよい。例えば、配信サーバ10は、属性情報が「男性」である利用者により選択された割合が閾値「80パーセント」以上となる広告画像を学習用画像として採用してもよい。かかる処理を行うことで、配信サーバ10は、学習器に特徴を精度良く学習させることができるので、属性情報の予測精度を向上させることができる。
【0110】
また、配信サーバ10は、様々な広告画像の特徴量を精度良く算出するため、特徴がそれぞれ異なる画像を学習用画像として採用してもよい。
【0111】
〔8−3.クリック率の算出〕
上述した例では、配信サーバ10は、特徴量から予測クリック率と属性情報とを推定し、推定した予測クリック率と属性情報とを用いて、各広告画像のクリック率を算出した。しかしながら、実施形態はこれに限定されるものではない。例えば、配信サーバ10は、予測クリック率の算出を行わず、特徴量から属性情報を推定し、推定した属性情報に基づいて、各広告画像のクリック率を算出してもよい。
【0112】
ここで、
図8に示すように、コールドスタート状態においては、特徴量そのものを用いてクリック率を推定するよりも、属性情報を用いてクリック率を推定した方が、クリック率の推定精度を大幅に向上させることができる。このため、配信サーバ10は、予測クリック率を用いずとも、属性情報に基づいてクリック率を推定することで、クリック率の予測精度の悪化を防ぎつつ、配信処理に伴う計算資源を削減することができる。
【0113】
また、配信サーバ10は、利用者が選択した広告画像の実績クリック率と、かかる広告画像の特徴量とを用いて、かかる広告画像の予測クリック率を算出してもよい。また、配信サーバ10は、各広告画像の実績クリック率と、推定された属性情報と、予測クリック率とに基づいて、各広告画像のクリック率を予測してもよい。
【0114】
〔8−4.属性情報の推定に用いられる広告画像について〕
例えば、利用者は、ウェブページ等に配置される広告以外の画像と比較して、広告画像をより能動的に選択すると予測される。このため、配信サーバ10は、利用者が選択した広告画像の特徴量を用いてかかる利用者の属性情報を推定することで、かかる利用者の属性情報を精度良く推定した。しかしながら、実施形態は、これに限定されるものではない。例えば、配信サーバ10は、利用者が選択した広告画像以外の画像の特徴量を用いて、利用者の属性情報を推定してもよい。また、配信サーバ10は、利用者が選択した広告画像の特徴量と、かかる利用者が選択した広告画像以外の画像の特徴量とを用いて、属性情報を推定してもよい。かかる場合、配信サーバ10は、広告画像の特徴量を優先する重みづけを行ってもよい。
【0115】
〔8−5.動画像を用いた属性情報の推定について〕
また、配信サーバ10は、利用者が閲覧した動画像を用いて、かかる利用者の属性情報を推定してもよい。例えば、配信サーバ10は、利用者が再生中の動画一時停止させた場合や、カーソルを再生中の動画に合わせた場合等、利用者が興味を持ったと予測されるフレームの画像を利用者が選択した画像として取得する。そして、配信サーバ10は、取得した画像の特徴量から利用者の属性情報を推定してもよい。
【0116】
例えば、
図12は、実施形態にかかる配信サーバが動画像から選択された画像に基づいて属性情報を推定する処理の一例を示す図である。例えば、
図12に示す例では、端末装置100は、動画像C20の再生を行うとともに、動画像C20の再生を制御する制御バーT10を表示する。また、制御バーT10には、広告が挿入されるタイミングT11、T12が表示されており、かかるタイミングT11、T12において、所定の広告動画が再生される。
【0117】
ここで、端末装置100は、利用者の操作によりカーソルC21が動画像C20の再生を一時停止した場合は、一時停止時に表示されたフレームを選択された画像C22として配信サーバ10に送信する。かかる場合、配信サーバ10は、
図12中(A)に示すように、画像C22の特徴量を算出し、算出した特徴量から利用者の属性情報を推定する。例えば、配信サーバ10は、画像C22の特徴量と予め生成したユーザー推定モデル17とを用いて、
図12中(B)に示すように、利用者の属性情報「10代」、「男性」を推定する。
【0118】
また、配信サーバ10は、推定した属性情報に基づいて、タイミングT11、T12で挿入される広告の切り替えを行う。例えば、
図12中(C)に示す例では、タイミングT11で挿入される広告として、20代の女性に向けた広告Aが選択され、タイミングT12で挿入される広告として、30代の女性に向けた広告Bが選択されていた。しかしながら、推定される利用者の属性情報は「10代」、「男性」である。そこで、配信サーバ10は、
図12中(D)に示すように、タイミングT11、T12で挿入される広告を推定された属性情報に基づいて切替える。
【0119】
例えば、配信サーバ10は、
図12中(E)に示すように、タイミングT11で挿入される広告として、10代の男性に向けた広告Cを新たに選択し、タイミングT12で挿入される広告として、10代の男性に向けた広告Dを新たに選択する。この結果、配信サーバ10は、利用者の属性情報が不明である場合にも、利用者が興味を有すると推定される広告を配信することができる。
【0120】
なお、配信サーバ10は、動画像のうち、利用者が選択した画像が含まれる位置を考慮して、利用者の属性情報を推定してもよい。また、配信サーバ10は、利用者が複数の画像を選択した場合、各画像を選択した順序や、動画像において各画像が表示される時系列等を考慮して、利用者の属性情報を推定するユーザー推定モデル17を生成してもよい。
【0121】
〔8−6.複数の画像を用いた属性情報の推定について〕
上述した例では、配信サーバ10は、利用者が選択した画像の特徴量からかかる利用者の属性情報を推定した。しかしながら、実施形態は、これに限定されるものではない。例えば、配信サーバ10は、利用者が選択した複数の画像の特徴量から利用者の属性情報を推定してもよい。
【0122】
具体例を説明すると、配信サーバ10は、利用者が選択した複数の広告画像の特徴量をそれぞれ算出し、ユーザー推定モデル17を用いて、算出した各特徴量から推定される利用者の属性情報をすべて特定する。そして、配信サーバ10は、特定した属性情報のうち共通する属性情報を利用者の属性情報としてもよい。
【0123】
また、配信サーバ10は、利用者が選択した複数の画像の並びに基づいて、利用者の属性情報を推定してもよい。例えば、配信サーバ10は、属性情報が取得可能な利用者が選択した複数の広告画像の特徴量と、各広告画像を選択した順序とに基づいて、選択された複数の画像と選択された順序とから利用者の属性情報を推定するユーザー推定モデル17を生成する。そして、配信サーバ10は、利用者が選択した広告画像の特徴量と、利用者が広告画像を選択した順序とから、ユーザー推定モデル17を用いて、かかる利用者の属性情報を推定してもよい。例えば、配信サーバ10は、属性情報が「男性」である利用者が選択画像C10を選択し、その後、選択画像C13を選択した場合、特徴量が選択画像C10の特徴量と類似する広告画像を選択し、その後、特徴量が選択画像C13の特徴量と類似する広告画像を選択した利用者の属性情報を「男性」であると推定してもよい。
【0124】
〔8−7.推定方法の入替について〕
また、配信サーバ10は、取得済みの属性情報が所定の閾値よりも少ない利用者の属性情報を推定してもよい。例えば、
図13は、推定方法の入替を説明する図である。
図13には、広告画像の選択があったセッションを抽出し、抽出したセッションにおいて選択を行ったのが男性であるか女性であるかを教師ラベルとし、ロジスティック回帰で広告画像から選択した利用者の性別を推定した際のAUCと重複率との対応を、Baselineを用いた推定手法とCNNを用いた推定手法とについてプロットした。
【0125】
例えば、
図13に示すように、Baselineを用いた推定手法では、利用者のログが多くなるにつれて精度が向上する。一方で、CNNを用いた推定手法では、利用者のログが少ない場合にBaselineを用いた推定手法よりも精度良く推定を行える。
【0126】
そこで、配信サーバ10は、広告画像を選択した利用者について取得済みの属性情報が所定の閾値よりも少ない場合は、かかる利用者の属性情報を、かかる利用者が選択した広告画像の特徴量から推定し、広告画像を選択した利用者について取得済みの属性情報が所定の閾値よりも多い場合は、ID素性等、利用者が選択した画像の特徴量以外の情報を用いて、かかる利用者の属性情報を推定してもよい。このような処理を実行することで、配信サーバ10は、コールドスタート状態以外の場合にも、利用者の属性情報を精度良く推定することができる。
【0127】
〔8−8.モデルについて〕
なお、配信サーバ10は、生成処理の実行時に、上述した各種処理を実現するモデルを生成してよい。例えば、配信サーバ10は、利用者が選択した複数の広告画像の特徴量に応じて、かかる利用者の属性情報を推定するユーザー推定モデル17を生成してもよい。例えば、配信サーバ10は、利用者が選択した複数の広告画像の特徴量をそれぞれ入力とし、かかる特徴量から推定される利用者の属性情報を出力とする関数形式のユーザー推定モデル17を生成してもよい。
【0128】
また、配信サーバ10は、広告画像の特徴量から、属性情報と予測クリック率とを推定し、推定した属性情報と予測クリック率とを用いて、各広告画像が選択されるクリック率を算出するユーザー推定モデル17を生成してもよい。また、配信サーバ10は、広告画像を選択した利用者について取得済みの属性情報が所定の閾値よりも少ない場合は、かかる利用者の属性情報を、かかる利用者が選択した広告画像の特徴量から推定し、広告画像を選択した利用者について取得済みの属性情報が所定の閾値よりも多い場合は、ID素性等、利用者が選択した画像の特徴量以外の情報を用いて、かかる利用者の属性情報を推定するユーザー推定モデル17を生成してもよい。すなわち、配信サーバ10は、利用者が選択した広告画像の特徴量から、配信処理における任意の一部もしくは全てを実現するモデルを生成して良い。
【0129】
〔8−9.属性情報推定後の処理について〕
上述した配信サーバ10は、推定した属性情報を用いて、広告画像の配信を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、配信サーバ10は、推定した属性情報を用いて、各種情報のリコメンドや、配信対象となるコンテンツの切り替え等を行ってもよい。また、配信サーバ10は、ユーザー推定モデル17を用いて推定された属性情報と、あらかじめ登録された利用者の属性情報とを比較することで、利用者の素性を推定してもよい。また、配信サーバ10は、推定した利用者の素性に基づいて、消去されたBクッキー等のコネクションを復活させてもよい。すなわち、配信サーバ10は、ユーザー推定モデル17を用いて推定された利用者の属性情報に基づいて、任意の処理を実現することができる。
【0130】
〔8−10.属性情報推定のタイミングについて〕
また、配信サーバ10は、利用者の属性情報等のログが十分に溜まるまで、かかる利用者が選択した画像の特徴量から属性情報を随時推定してもよい。また、配信サーバ10は、推定された属性情報の遍歴に基づいて、推定される属性情報を随時更新してもよい。また、配信サーバ10は、かかる処理を実現するユーザー推定モデル17を生成してもよい。
【0131】
〔8−11.動作主体について〕
上述した実施形態では、配信サーバ10が学習処理、生成処理、配信処理を実行する例について記載した。しかしながら、実施形態は、これに限定されるものではない。例えば、配信サーバ10が実行する処理は、学習処理を実行する学習装置と、生成処理を行うモデル生成装置と、モデル生成装置が生成したユーザー推定モデル17を用いて利用者の属性情報を推定し、推定した属性情報を用いて広告画像を配信する配信装置とによって実現されてもよい。
【0132】
〔8−12.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0133】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0134】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0135】
〔8−13.プログラム〕
また、上記してきた実施形態に係る配信サーバ10は、例えば
図14に示すような構成のコンピュータ1000によって実現される。以下、配信サーバ10を例に挙げて説明する。
図14は、配信サーバの機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、およびメディアインターフェイス(I/F)1700を有する。
【0136】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0137】
HDD1400は、CPU1100によって実行されるプログラム、および、係るプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを他の機器へ送信する。
【0138】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0139】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、係るプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0140】
例えば、コンピュータ1000が実施形態に係る配信サーバ10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部13の機能を実現する。また、HDD1400には、記憶部12内のデータ、すなわち学習用画像データベース14、接続係数記憶部15、モデル生成用画像データベース16、ユーザー推定モデル17、広告データベース18が格納される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からこれらのプログラムを取得してもよい。
【0141】
〔9.効果〕
上述したように、配信サーバ10は、画像から特徴量を算出する学習器を用いて、利用者により選択された履歴を有する画像の特徴量を算出する。そして、配信サーバ10は、算出した特徴量と、画像を選択した利用者の属性を示す属性情報とに基づいて、画像の特徴量からかかる画像を選択した利用者の属性情報を推定するユーザー推定モデル17を生成する。
【0142】
このため、配信サーバ10は、利用者の属性情報を推定することができる。特に、配信サーバ10は、コールドスタート状態等、広告の配信先となる利用者の属性情報が不明な場合にも、かかる利用者の属性情報を精度良く推定できるので、クリック率の推定精度を向上させ、配信対象となる広告を適切に選択できる。
【0143】
ここで、各利用者が選択した画像の特徴量を算出し、算出した特徴量を比較することで、利用者の属性情報を推定する手法も考えられるが、かかる処理を実行する場合は、大量のセッションログを参照する必要があるため、計算コストが増大する。しかしながら、配信サーバ10は、ユーザー推定モデル17を生成することで、属性情報を推定する利用者が選択した画像の特徴量を算出するだけでよいので、属性情報の推定に要する計算コストを削減することができる。
【0144】
また、配信サーバ10は、学習器として、入力データに対する演算結果を出力する複数のノードを多層に接続した学習器であって、教師なし学習により抽象化された画像の特徴を学習した学習器を用いる。このため、配信サーバ10は、利用者の属性情報を精度良く推定することができる。
【0145】
また、配信サーバ10は、学習器として、局所領域の畳み込みとプーリングを繰り返すことで、画像の変異に対する出力の普遍性をさらに学習した学習器、いわゆるCNNを用いる。このため、配信サーバ10は、画像における撮像対象の位置によらず、撮像対象の区別に応じた特徴量を算出できるので、利用者の属性情報をさらに精度良く推定することができる。
【0146】
また、配信サーバ10は、学習器として、所定の属性を有する利用者により選択された割合が、所定の閾値よりも多い画像を用いて、抽象化された画像の特徴を学習した学習器を用いる。この結果、配信サーバ10は、抽象化された画像の特徴を精度良く抽出できる学習器を用いて、選択された画像の特徴量を算出するので、利用者の属性情報をさらに精度良く推定することができる。
【0147】
また、配信サーバ10は、ユーザー推定モデル17として、画像を選択した利用者の属性情報を画像の特徴量から推定し、推定された属性情報を用いて、利用者が他の画像を選択するクリック率を算出するモデルを生成する。このため、配信サーバ10は、コールドスタート状態においても、クリック率を精度良く推定することができる。
【0148】
また、配信サーバ10は、ユーザー推定モデル17として、画像を選択した利用者の属性情報と利用者が画像を選択する予測クリック率とを画像の特徴量から推定し、推定された属性情報と予測クリック率とを用いて、かかる利用者が他の画像を選択するクリック率を算出するモデルを生成する。このため、配信サーバ10は、コールドスタート状態においても、クリック率をさらに精度良く推定することができる。
【0149】
また、配信サーバ10は、ユーザー推定モデル17として、動画像を選択した利用者の属性情報を、動画像に含まれる画像のうち、利用者が選択した際に表示されていた画像の特徴量から推定するモデルを生成する。このため、配信サーバ10は、動画像を閲覧する利用者の属性情報を推定することができる。
【0150】
また、配信サーバ10は、ユーザー推定モデル17として、利用者が選択した複数の画像の特徴量からかかる利用者の属性情報を推定するモデルを生成する。このため、配信サーバ10は、利用者の属性情報をさらに精度良く推定することができる。
【0151】
また、配信サーバ10は、ユーザー推定モデル17として、利用者が選択した複数の画像の特徴量と、利用者が各画像を選択した順序とから、かかる利用者の属性情報を推定するモデルを生成する。このため、配信サーバ10は、利用者の属性情報をさらに精度良く推定することができる。
【0152】
また、配信サーバ10は、ユーザー推定モデル17として、広告画像の特徴量からかかる広告画像を選択した利用者の属性情報を推定するモデルを生成する。すなわち、配信サーバ10は、利用者が能動的に選択した画像の特徴量からかかる利用者の属性情報を推定するので、利用者の属性情報をより精度良く推定することができる。
【0153】
また、配信サーバ10は、ユーザー推定モデル17として、取得済みの属性情報が所定の閾値よりも少ない利用者の属性情報を、かかる利用者が選択した画像の特徴量から推定するモデルを生成する。このため、配信サーバ10は、コールドスタート状態以外の場合にも、利用者の属性情報を精度良く推定することができる。
【0154】
また、配信サーバ10は、生成したユーザー推定モデル17を用いて、利用者が選択した画像の特徴量から、かかる利用者の属性情報を推定し、推定した属性情報を用いて、配信対象となる画像のクリック率を算出し、算出したクリック率に基づいて、配信する画像を選択する。このため、配信サーバ10は、コールドスタート状態においても、利用者が興味を有すると推定される画像を選択できるので、画像配信に対する報酬を増加させることができる。
【0155】
また、配信サーバ10は、画像を選択した利用者がかかる画像を選択する予測クリック率をかかる画像の特徴量を用いて推定し、推定された属性情報と予測クリック率とを用いて、かかる利用者が他の画像を選択するクリック率を算出する。このため、配信サーバ10は、コールドスタート状態においても、利用者が興味を有すると推定される画像を選択できるので、画像配信に対する報酬を増加させることができる。
【0156】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0157】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、生成部20は、生成手段や生成回路に読み替えることができる。