(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-23
(45)【発行日】2023-03-31
(54)【発明の名称】情報処理装置、情報処理方法および情報処理プログラム
(51)【国際特許分類】
G06Q 30/0241 20230101AFI20230324BHJP
H04L 67/02 20220101ALI20230324BHJP
【FI】
G06Q30/0241 446
H04L67/02
(21)【出願番号】P 2021134888
(22)【出願日】2021-08-20
【審査請求日】2021-12-17
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】村上 龍希
(72)【発明者】
【氏名】酒井 一輝
(72)【発明者】
【氏名】山下 拓真
【審査官】野口 俊明
(56)【参考文献】
【文献】特開2001-142826(JP,A)
【文献】特開2015-153042(JP,A)
【文献】特開2001-076001(JP,A)
【文献】特開2019-133607(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
H04L 67/02
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
リソースに対する供給条件毎の需要を予測した需要予測情報と、前記リソースに関する供給目標である供給目標情報を取得する取得部と、
前記取得部によって取得された前記需要予測情報と、前記供給目標情報とに基づいて、前記リソースの前記供給条件と、前記供給条件それぞれで供給可能な前記リソースとの組み合わせを設定する設定部と、
前記設定部によって設定された前記組み合わせ毎に対応する所定単位当たりの需要の予測値と前記所定単位当たりの供給目標値との関係性を特定する特定部と、
前記特定部によって特定された前記関係性から前記リソースそれぞれを供給すべき相対的な優先度である相対優先度を算出する算出部と
を備えることを特徴とする情報処理装置。
【請求項2】
前記取得部は、
広告を配信する広告枠に関する前記需要予測情報と、前記広告枠に配信する前記広告に関する前記供給目標情報とを取得し、
前記算出部は、
前記広告枠に対して供給する前記広告の前記相対優先度を算出すること
を特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記算出部は、
前記特定部によって特定された前記関係性を用いた数理計画法によって前記相対優先度を算出すること
を特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記リソースに対するリクエストを受け付ける受付部と、
前記受付部によって受け付けられた前記リクエストに対応する前記供給条件で供給可能な前記リソースそれぞれの前記相対優先度を前記リクエストに対する実際の優先度である供給優先度へ補正する補正部と
を備えることを特徴とする請求項1,2または3に記載の情報処理装置。
【請求項5】
前記補正部は、
前記リクエストに対応する前記供給条件で供給可能な前記リソースそれぞれの前記相対優先度から同数を減算して総和が1となるように前記供給優先度を算出すること
を特徴とする請求項4に記載の情報処理装置。
【請求項6】
コンピュータが実行する情報処理方法であって、
リソースに対する供給条件毎の需要を予測した需要予測情報と、前記リソースに関する供給目標である供給目標情報を取得する取得工程と、
前記取得工程によって取得された前記需要予測情報と、前記供給目標情報とに基づいて、前記リソースの前記供給条件と、前記供給条件それぞれで供給可能な前記リソースとの組み合わせを設定する設定工程と、
前記設定工程によって設定された前記組み合わせ毎に対応する所定単位当たりの需要の予測値と前記所定単位当たりの供給目標値との関係性を特定する特定工程と、
前記特定工程によって特定された前記関係性から前記リソースそれぞれを供給すべき相対的な優先度である相対優先度を算出する算出工程と
を含むことを特徴とする情報処理方法。
【請求項7】
リソースに対する供給条件毎の需要を予測した需要予測情報と、前記リソースに関する供給目標である供給目標情報を取得する取得手順と、
前記取得手順によって取得された前記需要予測情報と、前記供給目標情報とに基づいて、前記リソースの前記供給条件と、前記供給条件それぞれで供給可能な前記リソースとの組み合わせを設定する設定手順と、
前記設定手順によって設定された前記組み合わせ毎に対応する所定単位当たりの需要の予測値と前記所定単位当たりの供給目標値との関係性を特定する特定手順と、
前記特定手順によって特定された前記関係性から前記リソースそれぞれを供給すべき相対的な優先度である相対優先度を算出する算出手順と
をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【0002】
近年、インターネットの飛躍的な普及に伴い、インターネットを介した広告配信が盛んに行われている。広告配信では、端末装置の表示画面に連動した広告を配信するリスティング広告がある。
【0003】
リスティング広告に関する技術として、たとえば、予め設定した配信計画に沿って、広告を配信することで広告の予算消化ペースを制御する技術がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、たとえば、広告それぞれの配信回数を担保することについては考慮されておらず、広告それぞれの配信ペースを適切に制御することができなかった。
【0006】
本発明は、上記に鑑みてなされたものであって、広告それぞれの配信ペースを適切に制御することができる情報処理装置、情報処理方法および情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明に係る情報処理装置は、広リソースに対する供給条件毎の需要を予測した需要予測情報と、前記供給条件毎の供給目標に関する供給目標情報を取得する取得部と、前記取得部によって取得された前記需要予測情報と、前記供給目標情報とに基づいて、前記リソースの前記供給条件と、前記供給条件それぞれで供給可能な前記リソースとの組み合わせを設定する設定部と、前記設定部によって設定された前記組み合わせ毎に対応する所定単位当たりの需要の予測値と前記所定単位当たりの供給目標値との関係性を特定する特定部と、前記特定部によって特定された前記関係性から前記リソースそれぞれを供給すべき相対的な優先度である相対優先度を算出する算出部とを備える。
【発明の効果】
【0008】
本発明によれば、広告それぞれの配信ペースを適切に制御することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る情報処理の一例を示す図である。
【
図2】
図2は、実施形態に係る情報処理装置の構成例を示すブロック図である。
【
図3】
図3は、実施形態に係る広告情報記憶部に記憶する情報の一例を示す図である。
【
図4】
図4は、実施形態に係る在庫予測情報記憶部に記憶する情報の一例を示す図である。
【
図5】
図5は、実施形態に係る相対優先度記憶部に記憶する情報の一例を示す図である。
【
図6】
図6は、実施形態に係る生成部による処理の一例を示す図である。
【
図7】
図7は、施形態に係る相対優先度と配信優先度との関係性を示す図である。
【
図8】
図8は、実施形態に係る配信優先度の一例を示す模式図である。
【
図9】
図9は、実施形態に係る相対優先度の算出処理の一例を示すフローチャートである。
【
図10】
図10は、実施形態に係る配信処理の一例を示すフローチャートである。
【
図11】
図11は、実施形態に係る情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る情報処理装置、情報処理方法および情報処理プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法および情報処理プログラムが限定されるものではない。
【0011】
[実施形態]
〔1-1.情報処理〕
まず、
図1を用いて、実施形態に係る情報処理の一例について説明する。
図1は、実施形態に係る情報処理の一例を示す図である。なお、かかる情報処理方法は、たとえば、
図1に示す情報処理装置10によって実行される。
【0012】
また、実施形態に係る情報処理方法は、広告配信のみならず、種々の在庫管理に適用することが可能であるが、本実施形態では、リソースが広告枠である場合を例に挙げて説明する。
【0013】
図1に示すように、実施形態に係る情報処理装置10は、たとえば、ユーザ端末50から広告の配信リクエストを受け付けるとともに、受け付けた配信リクエストとの配信条件に対応する広告を選択したうえでユーザ端末50へ配信する処理装置である。なお、以下では、配信条件が広告の配信先となるユーザのユーザ属性を指定するものである場合について説明するが、これに限定されるものではなく、たとえば、検索システム上で利用される検索クエリを指定するものであってもよい。
【0014】
たとえば、情報処理装置10は、ユーザ端末50に表示されるウェブページ上の広告枠200に対して表示する広告を配信する。なお、情報処理装置10は、たとえば、サーバ装置やクラウドシステム等によって実現される。
【0015】
ユーザ端末50は、ユーザが所有する端末装置であり、情報処理装置10とのデータ通信によって、情報処理装置10から配信される広告をウェブページ上に設定された広告枠200に表示する端末である。ユーザ端末50として、たとえば、スマートフォン、タブレット端末、パソコン、ウェアラブル端末などが挙げられる。
【0016】
ここで、たとえば、情報処理装置10の事業者(以下、単に事業者)は、未来に発生する広告枠を在庫(以下、単に在庫とも記載)とみなし、広告主との間で広告枠の売買契約を行う。たとえば、広告主は、配信期間と配信条件および配信回数を指定して未来の広告枠に対する購入申請を事業者に対して行う。
【0017】
これに対して、事業者は、購入申請によって提示された広告枠に在庫があれば、当該購入申請に応じて契約を締結し、在庫が不足する場合には契約を行わない。なお、通常、1キャンペーン単位で広告枠に関する契約が行われることから、以下では、1つの契約に関する広告をキャンペーンとも記載する。また、同一の広告であっても、それぞれ異なる契約が締結された場合は、別々のキャンペーンとして取り扱われるものとする。また、広告枠とキャンペーンとの需要供給に関する関係性は、広告枠が需要であり、キャンペーンが供給となる。
【0018】
このような契約の上では、広告の配信回数を担保する必要がある。そのため、キャンペーンそれぞれの広告枠の購入数を配信目標数として設定し、配信目標数に対して広告枠の在庫の割合を算出することで、各広告を配信すべき配信割合を算出する手法が考えられる。
【0019】
しかしながら、たとえば、受け付けた配信リクエスト毎に、配信割合を算出すると、処理負荷が高く、たとえば、配信リクエストに対して遅延が生じる恐れがある。
【0020】
そこで、実施形態に係る情報処理装置10では、キャンペーンそれぞれの相対的な優先度である相対優先度を予め算出したうえで、配信リクエストを受け付けた場合に、相対優先度から当該配信リクエストに対する優先度である配信優先度を算出して広告を配信する。すなわち、実施形態に係る情報処理装置10では、予め相対優先度を算出しておくことで、簡易的な計算によって上述の配信確率に対応する配信優先度を算出する。
【0021】
たとえば、
図1に示すように、まず、実施形態に係る情報処理装置10は、広告枠の表示媒体となるウェブページを提供するウェブサーバ100から在庫予測情報を取得する(ステップS01)。
【0022】
たとえば、在庫予測情報は、ウェブサーバ100が提供するウェブページ上で、未来に発生する広告枠200に関する情報であり、たとえば、単位時間当たりに発生する広告枠200に関する情報である。より詳しくは、たとえば、在庫予測情報は、単位時間当たりに、属性毎の広告枠200が何件発生するといった予測値に関する情報である。
【0023】
つづいて、情報処理装置10は、各広告の相対優先度を算出する(ステップS02)。情報処理装置10は、たとえば、第1層~第3層を用いた数理計画法によって、各キャンペーンの相対優先度を算出する。
【0024】
ここで、相対優先度とは、所定の配信リクエストが発生した場合に、キャンペーン全体で、どのキャンペーンをそれぞれどれくらいの比率で配信すべきかといったキャンペーンそれぞれの配信割合を相対的に数値化したものである。なお、ここでの数理計画法には、たとえば、線形計画法、非線形計画法、動的計画法、離散的計画法などといった各種手法が含まれる。
【0025】
たとえば、第1層に示すノード(S1~S3・・・)は、在庫それぞれの配信条件に対応する。たとえば、在庫の配信条件毎に1つのノードが生成され、かかるノードは、たとえば、日時毎の在庫の数に対応する行列である。
【0026】
また、第3層に示すノード(D1~D3・・・)は、それぞれのキャンペーンに対応する。たとえば、キャンペーンの追加毎に新たなノードが生成され、かかるノードは、キャンペーン期間全体の目標配信数に対応する行列である。
【0027】
ここで、たとえば、第1層および第3層を用いた線形計画法によって相対優先度を算出することも可能である。しかしながら、第1層および第3層を用いた線形計画法では、広告の配信候補となるキャンペーン全体の組み合わせ毎に、相対優先度を用意する必要があり、配信候補となるキャンペーンが増えるにつれて、その組み合わせが膨大になる。そのため、この場合には、組み合わせの数に対応する相対優先度を格納するとともに、瞬時に引き出せるようなデータベースを配信システムに組み込む必要があり、配信システムのスケールの観点から好ましくない。
【0028】
そこで、実施形態に係る情報処理装置10では、第1層と第3層との間に中間層として第2層を設定することとした。たとえば、第2層に示すノード(P1~P3・・・)は、第3層のノードそれぞれを単位時間当たりの配信目標数に細分化して表現した行列である。すなわち、第2層のノードは、たとえば、第3層のノードそれぞれの目標配信数を配信期間で割った値に対応する行列である。
【0029】
すなわち、第2層を追加することで、予め用意する相対優先度の個数を時間帯×キャンペーン数まで削減することができる。より詳しくは、第3層においては、たとえば、N個のキャンペーンが重複する配信条件を有する場合、キャンペーンそれぞれの組み合わせの個数に対応する2の(N-1)条個の相対優先度を予め用意する必要があるのに対して、第2層を追加することによって、それぞれの時間毎にキャンペーンの個数に対応するN個の相対優先度を予め用意すればよく、予め用意する相対優先度の個数を削減することができる。
【0030】
そして、実施形態に係る情報処理装置10では、単位時間毎に、第1層のノードそれぞれの配信条件で配信可能な第2層のノードを互いに対応付けたうえで、数理計画法を用いることで相対優先度を算出する。
【0031】
たとえば、算出した相対優先度は、相対優先度記憶部に格納される。なお、相対優先度は、キャンペーン毎の相対的な指標を示すものであればよく、相対優先度の算出方法は、ステップS02の例に限定されるものではない。
【0032】
その後、情報処理装置10は、たとえば、ユーザ端末50から広告枠200に表示する広告リクエストを受け付ける(ステップS03)。たとえば、広告リクエストは、広告の配信条件に関する情報が含まれており、情報処理装置10は、配信条件に関する情報に対応する広告を特定したうえで広告を配信する。
【0033】
この際、情報処理装置10では、配信条件に対応する広告が複数ある場合には、相対優先度記憶部に記憶した相対優先度から広告リクエストに対する優先度である配信優先度を算出する(ステップS04)。
【0034】
たとえば、情報処理装置10は、L1-Ball Projectionと称される正規化の手法を用いることで、配信優先度を算出する。たとえば、情報処理装置10は、広告リクエストに対して競合する複数の広告それぞれの配信優先度の総和が1となるように、各相対優先度から同数を引いた値を広告それぞれの配信優先度として算出する。たとえば、広告Aおよび広告Bの相対優先度が「0.8」、「0.6」であった場合、総和は「1.4」となる。このとき、配信優先度は「0.8-0.2=0.6」、「0.6-0.2=0.4」として算出される。
【0035】
そして、情報処理装置10は、算出した配信優先度に応じて配信リクエストに対して
広告を配信する(ステップS05)。すなわち、上記の例では、同一属性の配信リクエストに対して広告Aと広告Bとが0.6対0.4の割合で配信されるように広告を配信することになる。なお、たとえば、広告Aおよび広告Bの相対優先度の和が1に満たない場合には、それぞれの相対優先度がそのまま配信優先度となる。
【0036】
このように、実施形態に係る情報処理装置10では、広告リクエストに対して配信可能な広告が複数ある場合に、予め算出した相対優先度を用いて広告リクエストに対する配信優先度を算出する。
【0037】
これにより、実施形態に係る情報処理装置10では、配信優先度を適切に算出することができるので、広告それぞれの配信ペースを適切に制御することができる。また、実施形態に係る情報処理装置10は、第1層、第3層に第2層を加えた計3層の線形計画法によって相対優先度を算出する。これにより、実施形態に係る情報処理装置10では、第1層および第3層の計2層の線形計画法を用いて相対優先を算出する場合に比べて、処理負荷の軽減を図ることができる。
【0038】
〔1-2.算出処理〕
つづいて、相対優先度の具体的な算出手順について説明しておく。まず、第1層および第3層の2層から相対優先度を算出する場合について説明する。第1層に示す各ノードを在庫s_i、第3に示す各ノードをd_jとしたときの配信優先度p_ijとする。なお、iは在庫のインデックスであり、jは案件(キャンペーン)のインデックスとなる。
【0039】
案件jの集合をA、案件jに属する在庫iの集合をΓ(j)、在庫iに属する案件jの集合をΓ(i)、案件jの総在庫をS_jとし、通期予定配信確率(Σs_i p_ij/S_j)と、目標配信確率(d_j/S_j)とを一致させる配信優先度p_ijに関する最適化は下記式(1)に示す評価関数によって算出することができる。なお、通期予定配信確率は、たとえば、在庫側からみた相対優先度であり、目標配信確率は、案件側からみた相対優先度を示す。
【0040】
【0041】
なお、上記式(1)では、後々の微分を考えて評価関数に1/2を乗算している。上記式(1)によってキャンペーン毎の相対優先度を算出し、実際には、相対優先度に対してL1―Ball Projectionによって正規化することで配信優先度p_ijが算出される。
【0042】
具体的には、在庫iに属する時間帯tをB(i)とした場合に、下記式(2)によって各案件の相対優先度x_tjから配信優先度p_ijを導出するための調整項δ_iを算出することになる。なお、相対優先度x_tjの初期値としてはd_j/S_jが採用されてもよい。
【0043】
【0044】
一方、第1層および第3層に対して、さらに第2層を追加した場合、配信優先度p_ijは、時間帯tにおける案件jの相対優先度x_tjと上記式(2)に示す調整項δ_iを用いて下記式(3)によって表現することができ、これを最適化式にあてはめると式(4)となる。
【0045】
【0046】
式(4)について、max関数を消すため、要素iの条件にx_tj>δ_iを追加し、Lとすると、最終的に式(5)によって表現し、相対優先度x_tjに関する最適化を行う。
【0047】
【0048】
ついで、上記式(2)による調整項δ_iの導出と、時間帯tの案件jの相対優先度x_tjの更新を上記式(5)を用いて交互に繰り返すことで、各時間帯における各案件の相対優先度x_tjの最適化を行う。
【0049】
〔2.情報処理装置の構成例〕
次に、
図2を用いて、情報処理装置10の構成例について説明する。
図2は、実施形態に係る情報処理装置10の構成例を示すブロック図である。
図2に示すように、情報処理装置10は、通信部110と、制御部120と、記憶部130とを有する。
【0050】
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、4G(Generation)、5G、LTE(Long Term Evolution)、WiFi(登録商標)若しくは無線LAN(Local Area Network)等といった各種の無線通信網若しくは各種の有線通信網といったネットワークを介して、外部装置との間で情報の送受信を行う。
【0051】
記憶部130は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部130は、広告情報記憶部131、在庫予測情報記憶部132および相対優先度記憶部133を有する。
【0052】
広告情報記憶部131は、広告枠を購入したキャンペーンの広告に関する情報を記憶する。
図3は、実施形態に係る広告情報記憶部131に記憶する情報の一例を示す図である。
図3に示すように、広告情報記憶部131は、たとえば、「キャンペーンID」、「広告主ID」、「配信条件」、「配信期間」および「配信目標数」といった項目の情報を互いに対応付けて記憶する。
【0053】
「キャンペーンID」は、広告枠を購入したキャンペーンの識別子であり、換言すれば、配信する広告の識別子である。「広告主ID」は、広告枠を購入した広告主の識別子である。「配信条件」は、広告の配信条件を示す。なお、配信条件をターゲティングと読み替えることにしてもよい。
【0054】
「配信期間」は、対応する広告の配信期間であり、広告のキャンペーン期間を示す。「配信目標数」は、キャンペーンで購入した広告枠の個数を示す。
【0055】
図2の説明に戻り、在庫予測情報記憶部132について説明する。在庫予測情報記憶部132は、広告枠200の在庫に関する情報を記憶する。広告枠200の在庫数を予測した情報を記憶する。たとえば、在庫予測情報は、広告枠の表示媒体に対する過去のアクセスの実績値に基づいて予測された情報である。
【0056】
図4は、実施形態に係る在庫予測情報記憶部132に記憶する情報の一例を示す図である。
図4に示すように、在庫予測情報記憶部132は、「ユ―ザ属性」、「日時」、「在庫数」といった項目の情報を互いに対応付けて記憶する。
【0057】
「ユ―ザ属性」は、たとえば、広告リクエストを行うユーザの属性を示す。「日時」および「在庫数」は、対応する日時に対応する在庫数が発生することを示す。すなわち、
図4の例では、13時にユーザ属性「T1」のユーザ群に対する在庫が「3000」個発生することを示す。なお、ここでの在庫数は、予測値である。
【0058】
図2の説明に戻り、相対優先度記憶部133について説明する。相対優先度記憶部133は、相対優先度に関する情報を記憶する。
図5は、実施形態に係る相対優先度記憶部133に記憶する情報の一例を示す図である。
【0059】
図5に示すように、相対優先度記憶部133は、「キャンペーンID」、「日時」および「相対優先度」といった項目の情報を互いに対応付けて記憶する。「キャンペーンID」は、広告枠を購入したキャンペーンの識別子である。
【0060】
「日時」および「相対優先度」は、それぞれ対応する日時における相対優先度を示す。なお、相対優先度は、たとえば、在庫と、キャンペーン全体の配信目標数との関係性からキャンペーンそれぞれの配信比率を相対的に数値化したものである。たとえば、キャンペーンの配信目標数が大きいほど、相対優先度は大きな値となり、キャンペーンに対応する在庫(配信リクエスト数)が多いほど、相対優先度は大きな値となる。
【0061】
図2の説明に戻り、制御部120について説明する。制御部120は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置10内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。
【0062】
図2に示すように、制御部120は、取得部121、生成部122、事前算出部123、受付部124、特定部125、算出部126および配信部127を有する。
【0063】
取得部121は、在庫予測情報および広告情報を取得する。取得部121は、たとえば、在庫予測情報をウェブサーバ100から取得し、広告情報を事業者から取得する。
【0064】
取得部121によって取得された在庫予測情報は在庫予測情報記憶部132に格納され、広告情報は広告情報記憶部131に格納される。なお、情報処理装置10は、在庫予測情報を取得する代わりに、広告の配信履歴から在庫予測情報に対応する情報を独自に算出することにしてもよい。
【0065】
なお、取得部121は、リソースに対する供給条件毎の需要を予測した需要予測情報と、供給条件毎の供給目標に関する供給目標情報を取得する取得部としても機能する。ここでのリソースの一例がキャンペーンに対応し、需要予測情報の一例が在庫予測情報に対応する。また、供給目標情報の一例が広告情報に対応する。
【0066】
生成部122は、相対優先度を算出するための数式(第1層、第2層および第3層)を生成する。
図6は、実施形態に係る生成部122による処理の一例を示す図である。たとえ、
図6に示す第1層の各ノードは、在庫それぞれの配信条件に対応し、単位時間当たりに発生する在庫数に関する行列である。
【0067】
また、
図6に示す第3層の各ノードは、それぞれのキャンペーンに対応し、キャンペーン期間全体の配信目標数に関する行列である。たとえば、生成部122は、在庫予測情報記憶部132を参照し、在庫予測情報に基づいて第1層を生成し、広告情報記憶部131を参照し、広告情報に基づいて第3層を生成する。
【0068】
また、第2層の各ノードは、第3層の各ノードが示すキャンペーンに対応し、第3層の各ノードが示すキャンペーン期間全体の配信目標数に関する行列を単位時間当たりの配信目標数に変換した行列である。
【0069】
生成部122は、第2層の各ノードを生成すると、第1層の各ノードに対応する第2層の各ノードの組み合わせを特定する。たとえば、配信条件Aに対してキャンペーンAの広告を配信可能である場合、配信条件Aに対応する第1層のノードと、キャンペーンAに対応する第2層のノードとを1個の組み合わせとして特定し、対応するノードを繋いでいく。
【0070】
また、配信条件AorBに対して、キャンペーンAまたはキャンペーンBの広告を配信可能である場合、配信条件Aの第1層のノードと、キャンペーンAおよびキャンペーンBそれぞれに対応する第2層のノードとを1つの組み合わせとして特定し、対応するノードを繋いでいく。
【0071】
これらの処理を順次行うことで、単位時間当たりに発生する在庫と、在庫それぞれに対して配信可能なキャンペーンとの組み合わせを対応付けるこることとなる。
【0072】
なお、たとえば、広告枠に対して広告が配信される毎に在庫数および配信目標数が変化するので、生成部122は、広告の配信毎に第1層から第3層を更新する。これにより、在庫数と配信目標数との関係性を適切に保つことができる。なお、たとえば、在庫数と配信目標数の更新は、所定の時間周期で行うことにしてもよいし、所定の配信数周期で行うことにしてもよい。
【0073】
なお、生成部122は、需要予測情報と、供給目標情報とに基づいて、リソースの供給条件と、供給条件それぞれで供給可能なリソースとの組み合わせを設定する設定部と、設定部によって設定された組み合わせ毎に対応する所定単位当たりの需要の予測値と所定単位当たりの供給目標値との関係性を特定する特定部としても機能する。
【0074】
たとえば、生成部122は、ここでの設定部に関する処理として第2層の各ノードを生成するととともに、第2層の各ノードと対応する第1層および第3層のノードを繋ぐ処理を行う。また、生成部122は、ここでの特定部に関する処理として、たとえば、第3層のノードを第2層のノードへ変換する処理を行う。
【0075】
図2の説明に戻り、事前算出部123について説明する。事前算出部123は、配信条件毎の配信リクエストの単位時間当たりの予測取得数と、広告それぞれの単位時間当たりの配信目標数とを用いた線形計画法によって相対優先度を算出する。
【0076】
すなわち、事前算出部123は、生成部122によって生成された第1層から第3層を用いた線形計画法によって相対優先度を算出する。事前算出部123によって算出された相対優先度は、相対優先度記憶部133に格納される。
【0077】
受付部124は、広告枠200に対する広告の配信リクエストを受け付ける。たとえば、受付部124は、広告の配信対象となるユーザに関する情報が紐づいた配信リクエストをユーザ端末50から受け付ける。ここでのユーザに関する情報とは、ユーザを識別するユーザIDや、たとえば、年齢、性別、年収、居住地、職業、趣味嗜好などといった各種パーソナルデータが含まれ得る。
【0078】
受付部124によって受け付けられた配信リクエストに関する情報は、特定部125へ渡される。なお、受付部124は、ユーザ毎のパーソナルデータを記憶するユーザ情報記憶部にアクセスし、ユーザを識別する識別子(たとえば、ユーザID)に基づいて、対応するユーザのユーザ属性に関する情報を取得することにしてもよい。
【0079】
特定部125は、広告の配信条件と、配信条件それぞれで配信対象となる広告との組み合わせのうち、受付部124によって受け付けられた配信リクエストに対応する組み合わせを特定する。
【0080】
すなわち、特定部125は、配信リクエストに対して、配信可能なキャンペーンを特定する。たとえば、特定部125は、各キャンペーンの配信条件を参照し、配信リクエストのユーザ属性にあうキャンペーンを特定する。
【0081】
そして、特定部125は、特定したキャンペーンに関する情報を算出部126へ渡す。なお、たとえば、配信リクエストに対して配信可能なキャンペーンが1つである場合には、そのキャンペーンに対応する広告が配信部127によって配信されることになる。
【0082】
算出部126は、広告それぞれに予め算出された相対的な優先度から特定部125によって特定された組み合わせに含まれる広告それぞれの配信優先度を算出する。すなわち、算出部126は、事前算出部123によって予め算出された相対優先度を用いて、特定部125によって配信対象として特定されたキャンペーンそれぞれの配信優先度を算出する。言い換えれば、算出部126は、相対優先度を配信リクエストに対する配信優先度へ補正する補正部としても機能すると言える。
【0083】
算出部126は、特定部125から配信対象として特定されたキャンペーンに関する情報を受け取ると、相対優先度記憶部133を参照し、キャンペーンそれぞれの相対優先度に関する情報を取得する。
【0084】
つづいて、算出部126は、取得したキャンペーンそれぞれの相対優先度を用いて、配信優先度を算出する。算出部126は、算出した配信優先度に関する情報を配信部127へ渡す。
【0085】
配信部127は、算出部126によって算出された配信優先度に応じて配信リクエストに対して広告を配信する。たとえば、配信部127は、配信リクエストに対して配信対象となるキャンペーンが複数ある場合に、配信優先度に応じた配信割合となるようにキャンペーンをユーザ端末50に対して配信する。
【0086】
次に、
図7および
図8を用いて、相対優先度の具体例について説明する。
図7は、実施形態に係る相対優先度と配信優先度との関係性を示す図である。
図8は、実施形態に係る配信優先度の一例を示す模式図である。
【0087】
たとえば、
図7の左に示すように、キャンペーンA~D・・・には、それぞれ0.2、0.8、0.6、0.3の相対優先度を有するものとする。たとえば、特定部125は、配信リクエストに対して配信可能なキャンペーンの絞り込みを行い(ステップS11)、結果として、キャンペーンA、B、Cの計3つに絞り込まれたとする。
【0088】
つづいて、算出部126は、キャンペーンA、B、Cのそれぞれの相対優先度から同数を引いて総和が1になるように配信優先度を算出する(ステップS12)。たとえば、この場合、キャンペーンA、B、Cのそれぞれの相対優先度の総和は「0.2+0.8+0.6=1.6」となる。
【0089】
そのため、算出部126は、キャンペーンA、B、Cそれぞれの相対優先度から0.2を引いた値をキャンペーンA、B、Cそれぞれの配信優先度として算出する。すなわち、この場合、キャンペーンA、B、Cそれぞれの配信優先度は、0、0.6、0.4となる。
【0090】
すなわち、この場合、
図8に示すように、同一属性の配信リクエストに対して、キャンペーンAを配信せず、キャンペーンB、Cを0.6対0.4の割合で配信すれば、キャンペーンそれぞれの配信ペースを適切に制御することができる。
【0091】
なお、上記の例では、上記の配信リクエストと同一属性の配信リクエストに対して、キャンペーンAは、一切配信されないことになるが、キャンペーンB,Cと配信条件が重複しない他の属性の配信リクエストに対して配信されるので、キャンペーンAについても配信ペースは適切に制御される。
【0092】
すなわち、たとえば、2つ以上のキャンペーンの配信条件が包含関係にある場合に、部分集合部分に対応する配信リクエストがきた場合、部分集合となる配信条件を優先的に配信されるように配信優先度が算出される。この場合、部分集合以外に対応する配信リクエストがきた場合には、他方のキャンペーンを配信すれば足りるので、キャンペーンそれぞれの配信ペースを適切に制御することができる。
【0093】
より具体的な例を挙げると、たとえば、キャンペーンAの配信条件が男性、キャンペーンBの配信条件が男性、30代、キャンペーンCの配信条件が男性、東京在住であったとする。
【0094】
この場合、キャンペーンAは、キャンペーンBおよびキャンペーンCと配信条件が競合しない配信リクエストにおいて配信すれば、在庫に対して適切な配信ペースを維持することができる。すなわち、キャンペーンAは、30代の東京在住の男性以外の男性に対して配信することとすればよく、敢えてこの場合に配信する必要は生じない。
【0095】
〔3.処理フロー〕
次に、
図9および
図10を用いて、実施形態に係る情報処理装置10が実行する処理手順について説明する。
図9は、実施形態に係る相対優先度の算出処理の一例を示すフローチャートである。
図10は、実施形態に係る配信処理の一例を示すフローチャートである。
【0096】
図9に示すように、まず、情報処理装置10は、在庫予測情報を取得するとともに(ステップS101)、広告情報を取得する(ステップS102)。つづいて、情報処理装置10は、在庫の配信条件と配信条件毎に配信可能な広告(キャンペーン)との組み合わせを設定する(ステップS103)。
【0097】
つづいて、情報処理装置10は、組み合わせ毎に単位時間当たりの在庫数および目標配信回数の関係性を特定する(ステップS104)。なお、ステップS104までの処理によって、第1層から第3層のそれぞれのノードが生成される。
【0098】
つづいて、情報処理装置10は、キャンペーン毎の相対的な優先度を算出して(ステップS105)、相対優先度の算出処理を終了する。
【0099】
図10に示すように、配信処理において、情報処理装置10は、まず、配信リクエストを受け付けると(ステップS201)、配信リクエストに対して配信可能なキャンペーンを特定する(ステップS202)。
【0100】
つづいて、情報処理装置10は、配信可能なキャンペーンのそれぞれの相対優先度から配信優先度を算出し(ステップS203)、当該配信優先度に応じて広告を配信して(ステップS204)、配信処理を終了する。
【0101】
〔4.変形例〕
ところで、上述した実施形態では、広告に関する需要予測と、配信目標とに基づいて広告の配信ペースを制御する場合について説明したが、これに限定されるものではない。すなわち、リソースは、広告に限定されるものでなく、たとえば、商品の配達に関するリソースであってもよく、商品自体をリソースと見做すことにしてもよい。
【0102】
すなわち、種々の在庫管理に本願発明を適用することにしてもよい。この場合、上述の在庫予測情報を対象とする需要予測情報に置き換えるとともに、広告情報を対象とする供給目標情報に置き換えることで、本願発明の適用が可能となる。
【0103】
また、上述した実施形態では、第2層において、第1層と第3層の時間単位を揃える場合について説明したが、これに限定されるものではない。すなわち、第2層において、たとえば、時間単位以外の任意のパラメータを揃えることにしてもよい。その一例として、たとえば、広告配信の地域に関するパラメータを揃えることにしてもよい。
【0104】
〔5.効果〕
上述した実施形態に係る情報処理装置10は、リソースに対する供給条件毎の需要を予測した在庫予測情報(需要予測情報の一例)と、リソースに関する供給目標である広告情報(供給目標情報の一例)を取得する取得部121と、取得部121によって取得された需要予測情報と、供給目標情報とに基づいて、リソースの供給条件と、供給条件それぞれで供給可能なリソースとの組み合わせを設定する生成部122(設定部の一例)と、設定部によって設定された組み合わせ毎に対応する所定単位当たりの需要の予測値と所定単位当たりの供給目標値との関係性を特定する生成部122(特定部の一例)と、特定部によって特定された関係性からリソースそれぞれを供給すべき相対的な優先度である相対優先度を算出する事前算出部123(算出部の一例)とを備える。したがって、実施形態に係る情報処理情報処理装置10によれば、相対優先度を適切に算出することができるので、たとえば、広告配信システムに適用した場合には、広告それぞれの配信ペースを適切に制御することができる。
【0105】
また、実施形態に係る取得部121は、広告を配信する広告枠に関する需要予測情報と、広告枠に配信する前記広告に関する供給目標情報とを取得し、事前算出部123は、広告枠に対して供給する広告の相対優先度を算出する。したがって、実施形態に係る情報処理装置10によれば、広告それぞれの配信ペースを適切に制御することができる。
【0106】
また、実施形態に係る事前算出部123は、特定部によって特定された関係性を用いた数理計画法によって相対優先度を算出する。したがって、実施形態に係る情報処理装置10によれば、相対優先度の最適化を図ることができる。
【0107】
また、実施形態に係る情報処理装置10は、リソースに対するリクエストを受け付ける受付部124と、受付部124によって受け付けられたリクエストに対応する供給条件で供給可能なリソースそれぞれの相対優先度をリクエストに対する実際の優先度である供給優先度へ補正する算出部126(補正部の一例)とを備える。したがって、実施形態に係る情報処理装置10によれば、リクエストに対する配信優先度を適切に求めることができる。
【0108】
また、実施形態に係る算出部126は、リクエストに対応する供給条件で供給可能なリソースそれぞれの相対優先度から同数を減算して総和が1となるように供給優先度を算出する。したがって、実施形態に係る情報処理装置10によれば、リクエストに対する優先度を適切な値に算出することができる。
【0109】
また、実施形態に係る情報処理方法は、コンピュータが実行する情報処理方法であって、リソースに対する供給条件毎の需要を予測した需要予測情報と、リソースに関する供給目標である供給目標情報を取得する取得工程と、取得工程によって取得された需要予測情報と、供給目標情報とに基づいて、リソースの供給条件と、供給条件それぞれで供給可能なリソースとの組み合わせを設定する設定工程と、設定工程によって設定され組み合わせ毎に対応する所定単位当たりの需要の予測値と所定単位当たりの供給目標値との関係性を特定する特定工程と、特定工程によって特定された関係性からリソースそれぞれを供給すべき相対的な優先度である相対優先度を算出する算出工程とを含む。したがって、実施形態に係る情報処理情報処理方法によれば、たとえば、広告それぞれの配信ペースを適切に制御することができる。
【0110】
また、実施形態に係る情報処理プログラムは、リソースに対する供給条件毎の需要を予測した需要予測情報と、リソースに関する供給目標である供給目標情報を取得する取得手順と、取得手順によって取得された需要予測情報と、供給目標情報とに基づいて、リソースの供給条件と、供給条件それぞれで供給可能なリソースとの組み合わせを設定する設定手順と、設定手順によって設定された組み合わせ毎に対応する所定単位当たりの需要の予測値と所定単位当たりの供給目標値との関係性を特定する特定手順と、特定手順によって特定された関係性からリソースそれぞれを供給すべき相対的な優先度である相対優先度を算出する算出手順とをコンピュータに実行させる。したがって、実施形態に係る情報処理情報処理プログラムによれば、たとえば、広告それぞれの配信ペースを適切に制御することができる。
【0111】
〔6.ハードウェア構成〕
また、上述してきた実施形態に係る情報処理装置10は、例えば
図11に示すような構成のコンピュータ1000によって実現される。
図11は、実施形態に係る情報処理装置10の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0112】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0113】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワーク(通信ネットワーク)Nを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
【0114】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置(
図11では、出力装置および入力装置を総称して「入出力装置」と記載する)を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0115】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0116】
例えば、コンピュータ1000が実施形態に係る情報処理装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部120の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
【0117】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0118】
〔7.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0119】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0120】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0121】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部121は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0122】
10 情報処理装置
50 ユーザ端末
100 ウェブサーバ
121 取得部
122 生成部
123 事前算出部
124 受付部
125 特定部
126 算出部
127 配信部
131 広告情報記憶部
132 在庫予測情報記憶部
133 相対優先度記憶部