JP6695268B2 - 算出装置、インデックス情報、算出方法および算出プログラム - Google Patents

算出装置、インデックス情報、算出方法および算出プログラム Download PDF

Info

Publication number
JP6695268B2
JP6695268B2 JP2016246629A JP2016246629A JP6695268B2 JP 6695268 B2 JP6695268 B2 JP 6695268B2 JP 2016246629 A JP2016246629 A JP 2016246629A JP 2016246629 A JP2016246629 A JP 2016246629A JP 6695268 B2 JP6695268 B2 JP 6695268B2
Authority
JP
Japan
Prior art keywords
condition
information
value
coefficient
attribute information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016246629A
Other languages
English (en)
Other versions
JP2018101261A (ja
Inventor
洋平 森下
洋平 森下
将之 矢野
将之 矢野
石川 直樹
直樹 石川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2016246629A priority Critical patent/JP6695268B2/ja
Priority to US15/694,123 priority patent/US20180174183A1/en
Publication of JP2018101261A publication Critical patent/JP2018101261A/ja
Application granted granted Critical
Publication of JP6695268B2 publication Critical patent/JP6695268B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0273Determination of fees for advertising
    • G06Q30/0275Auctions

Landscapes

  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、算出装置、インデックス情報、算出方法および算出プログラムに関する。
近年、インターネットの飛躍的な普及に伴い、ネットワークを介して取得される情報に基づいた情報配信が盛んに行われている。例えば、情報の配信先となる利用者の属性を配信先情報として予め登録しておき、配信先となる利用者の属性と対応する情報を選択的に配信するターゲティング配信が行われている。このような情報配信として、配信対象となる情報自体にboolean(論理値)条件を付与することで、配信先となる利用者の属性に対応する情報を検索する技術が知られている。また、配信対象となる情報に予め入札額が設定され、配信先となる利用者の属性に対応する情報を入札額に応じた優先度で配信する入札型の情報配信が知られている。
特開2016−153972号公報
Steven Euijong Whang、Hector GarciaMolina、Chad Brower、Jayavel Shanmugasundaram、Sergei Vassilvitskii、Erik Vee、"Indexing Boolean Expressions"[online]、[2016年11月30日検索]、インターネット(http://theory.stanford.edu/~sergei/papers/vldb09-indexing.pdf)
しかしながら、上記の従来技術では、配信対象となる情報を迅速に抽出できるとは言えない場合がある。
例えば、ある1つの情報について、配信先となる利用者の属性ごとに異なる入札額を設定したいという要望が考えられる。しかしながら、このような要望を実現する場合、従来技術では、属性と入札額との組ごとに配信先情報が設定されることとなる。この結果、クエリと比較する配信先情報の数が増大する結果、配信対象となる情報を迅速に抽出できない恐れがある。
本願は、上記に鑑みてなされたものであって、配信対象となる情報の抽出にかかる時間を削減することを目的とする。
本願に係る算出装置は、配信先の属性を示す複数の属性情報を受付けた場合は、属性を示す複数の条件であって、論理積が成立する場合に所定の情報が配信対象となる複数の条件のそれぞれに対し、結合した際に所定の値まで連続する値を構成する連続値と係数とを含むインデックス情報を対応づけて記憶する記憶装置を参照し、各属性情報と各条件とが一致するか否かを判定する判定部と、前記属性情報に一致すると判定された条件に対応付けられたインデックス情報に含まれる連続値が前記所定の値まで連続するか否かに基づいて、前記所定の情報を配信対象とするか否かを決定する決定部と、前記属性情報と前記条件とが一致すると判定される度に、当該属性情報と一致すると判定された条件に対応付けられたインデックス情報に含まれる係数を用いて、前記所定の情報を配信する際の優先度を算出する算出部とを有することを特徴とする。
実施形態の一態様によれば、配信対象となる情報の抽出にかかる時間を削減できる。
図1は、実施形態に係る情報配信装置が実行する算出処理の一例を示す図である。 図2は、実施形態に係る情報配信装置の構成例を示す図である。 図3は、実施形態に係る広告データベースに登録される情報の一例を示す図である。 図4は、実施形態に係るインデックスデータベースに登録される情報の一例を示す図である。 図5は、実施形態に係る情報配信装置が係数積を算出する処理の一例を示す図である。 図6は、実施形態に係る情報配信装置が実行する算出処理の流れの一例を示すフローチャートである。 図7は、ハードウェア構成の一例を示す図である。
以下に、本願に係る算出装置、インデックス情報、算出方法および算出プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る算出装置、インデックス情報、算出方法および算出プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
[実施形態]
〔1.情報配信装置の一例〕
まず、図1を用いて、算出処理の一例となる情報配信装置が実行する算出処理の一例について説明する。図1は、実施形態に係る情報配信装置が実行する算出処理の一例を示す図である。
なお、以下の説明では、情報配信装置10が利用者U01が利用する利用者端末200に広告に係るコンテンツを配信する例について説明するが、実施形態は、これに限定されるものではない。すなわち、情報配信装置10は、利用者U01のデモグラフィック属性やサイコグラフィック属性、利用者U01の行動履歴等、利用者U01の各種属性に応じたコンテンツを利用者U01に配信するのであれば、任意のコンテンツを利用者U01に配信してよい。
また、広告に関するコンテンツとは、営利若しくは非営利の広告だけではなく、ボランティアの募集、公共広告、公共に対する通知、その他任意のコンテンツであるものとする。すなわち、コンテンツは、いわゆる広告関連の情報を含むコンテンツのみならず、利用者に興味を抱かせ、コンテンツに含まれる情報、または、コンテンツと関連するコンテンツ(例えば、ランディングページ等)に含まれる情報を広く報知するものであれば、画像、動画像、文字、図形、記号、ハイパーリンク、その他任意のコンテンツがテキストと共に含まれていてよい。また、コンテンツが広告に関するコンテンツである場合、広告の登録を行う情報処理装置(例えば、配信主サーバ300)は、所謂広告主が使用する情報処理装置のみならず、広告主からの依頼により広告の作成や登録等を行う広告業者が使用する情報処理装置であってもよい。
情報配信装置10は、インターネット等の所定のネットワークNを介して、ログサーバ100、利用者端末200、および広告の配信を要求する配信主が利用する配信主サーバ300(例えば、図2を参照)と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報配信装置10は、ネットワークNを介して、任意の数のログサーバ100、利用者端末200、および配信主サーバ300と通信可能であってよい。
ログサーバ100は、利用者U01に関する各種のログを収集する。例えば、ログサーバ100は、利用者U01の性別、年代、住所等といったデモグラフィック属性や、趣味趣向等のサイコグラフィック属性、利用者U01の現在位置、ウェブコンテンツの視聴履歴、電子商取引の対象を購入した購入履歴、検索クエリの履歴等、利用者U01に関する任意の情報を利用者U01の属性情報として収集する。なお、このような利用者U01の属性情報は、例えば、Bcookie等の技術を用いて取得される。
利用者端末200は、スマートフォンやタブレット等のスマートデバイスであり、3G(3rd Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。なお、利用者端末200は、スマートデバイスのみならず、デスクトップPCやノートPC等の情報処理装置であってもよい。
配信主サーバ300は、広告の配信主が利用する情報処理装置であり、サーバ装置やPC等により実現される。例えば、配信主サーバ300は、配信対象となる広告を情報配信装置10に登録する際、広告の配信先となる利用者の条件を示す条件情報を登録する。より具体的には、配信主サーバ300は、配信先となる利用者の属性をブール演算式で指定する。例えば、配信主サーバ300は、「30代」の「男性」であって「プラモデル」が好きな属性を有する利用者に対して広告#1を配信したい場合、条件「30代」、「男性」および「プラモデル」からなるブール演算式「30代and男性andプラモデル」を、広告#1の条件情報として登録する。
このような場合、配信主サーバ300は、広告の配信要求を利用者端末200から受付けると、利用者U01の属性情報をログサーバ100から取得する。そして、配信主サーバ300は、取得した属性情報が、条件情報「30代and男性andプラモデル」を満たすか否かを判定し、満たす場合には、広告#1を利用者端末200へと配信する。すなわち、情報配信装置10は、ブール演算式を用いたコンテンツのターゲティング検索を実行する。
なお、以下の説明では、配信対象となる広告に対して予め設定された条件情報に含まれる各属性、すなわち、ブール演算式の各要素となる属性を「条件」と総称する。
〔2.広告の配信について〕
ここで、広告に対してあらかじめ設定された入札スコアに基づいて、配信対象となる広告を選択する入札方式の配信技術が知られている。このような入札方式においては、広告に予め入札スコアが設定されており、広告の配信先となる利用者の属性情報に基づいて選択された広告のうち、入札スコアが高い広告が優先的に配信される。
ここで、配信先となる利用者の属性ごとに入札スコアを設定したいという要望が予測される。しかしながら、配信先となる利用者の属性ごとに入札スコアを設定するのは手間がかかる。そこで、入札スコアを広告ごとに設定するとともに、属性ごとに係数を設定するといった技術が考えられる。
例えば、情報配信装置10では、広告#1に対し、条件情報「30代orプラモデル」、入札スコア「100」、属性「30代」と係数「1.5」の組、および属性「プラモデル」と係数「0.8」の組の設定を受付ける。そして、情報配信装置10は、配信先となる利用者の属性が属性「30代」である場合は、属性「30代」に対応付けられた係数「1.5」と入札スコア「100」との積の値「150」を入札スコアの値として、広告#1を配信する。一方、情報配信装置10は、配信先となる利用者の属性が属性「プラモデル」である場合は、属性「プラモデル」に対応付けられた係数「0.8」と入札スコア「100」との積の値「80」を入札スコアの値として、広告#1を配信する。
しかしながら、このような技術では、迅速に配信対象となる広告を抽出できない恐れがある。例えば、情報配信装置10は、広告#1のインデックスとして、条件情報「30代」と入札スコア「150」との組、および、条件情報「プラモデル」と入札スコア「80」との組を生成することで、上述した処理を実現可能である。しかしながら、このような手法では、条件情報と係数との組合せごとにインデックスを生成することとなるので、配信先となる利用者の属性と比較するインデックスの数が増大し、配信対象となる広告の検索パフォーマンスが低下する恐れがある。また、条件情報が「(30代and男性)or(プラモデルand30代)」というように、複数の条件の論理積や、複数の条件の論理和を含む場合は、条件の組み合わせがさらに増大する恐れがある。
〔2−1.算出処理について〕
そこで、情報配信装置10は、インターバルアルゴリズムを用いた論理演算を行うことで、配信先となる利用者の属性条件に適合する条件情報が対応付けられた広告を選択する。このような論理演算を行う際、情報配信装置10は、配信先となる利用者の属性を示す複数の条件であって、論理積が成立する場合に広告が配信対象となる複数の条件のそれぞれに対し、結合した際に所定の値まで連続する値を構成する連続値を含むインデックスを生成する。そして、情報配信装置10は、配信先となる利用者の属性と一致する条件のインデックスに含まれる連続値が所定の閾値まで連続するか否かに基づいて、条件の論理積が成立するか否かを判定する。
さらに、情報配信装置10は、以下の算出処理を行う。まず、情報配信装置10は、条件と対応するインデックスとして、インターバルアルゴリズムに用いる連続値だけではなく、条件に対して設定された係数を含むインデックスを生成する。そして、情報配信装置10は、クエリとして、配信先の属性を示す複数の属性情報を受付けた場合は、クエリに含まれる属性情報と、インデックスと対応する各条件とが一致するか否かを判定する。また、情報配信装置10は、クエリに含まれる属性情報に一致すると判定された条件に対応付けられたインデックスの連続値が、所定の値まで連続するか否かに基づいて、広告を配信対象とするか否かを判定する。ここで、情報配信装置10は、クエリに含まれる属性情報と条件とが一致すると判定される度に、属性情報と一致すると判定された条件に対応するインデックスに含まれた係数を用いて、広告を配信する際の優先度、すなわち入札スコアを算出する。
より具体的には、情報配信装置10は、論理積が成立する場合に広告が配信対象となる複数の条件の組、すなわち、論理積を構成する条件の組(以下、「論理積の組」と総称する。)を複数記憶する場合がある。例えば、情報配信装置10は、「(AandB)or(CandD)or(E)」というように、論理積が成立する場合に広告が配信対象となる条件「A」と「B」の組、条件「C」と「D」の組、および条件「E」の組を記憶する。このような場合、情報配信装置10は、論理積の組ごとに、属性情報と一致すると判定された条件に対応付けられたインデックスに含まれる係数の積の値(以下、「係数積」と総称する。)を算出する。
例えば、情報配信装置10は、条件情報「(AandB)or(CandD)or(E)」である広告について、条件「A」〜「E」の全てが属性情報と一致する場合、属性「A」の係数と属性「B」の係数との積、属性「C」の係数と属性「D」の係数との積、および属性「E」の係数のうち最も大きい値を広告の入札スコアとする。また、例えば、情報配信装置10は、クエリの属性情報と条件「A」、「B」、「C」、「E」が一致する場合は、条件「A」の係数と、条件「B」の係数との係数積、および条件「E」の係数のうち、いずれか大きい値を入札スコアとする。
また、情報配信装置10は、それぞれが複数の条件を含む複数の組を含み、各組に含まれる条件の論理和がそれぞれ成立する場合に、広告が配信対象となる条件情報を記憶する場合がある。例えば、情報配信装置10は、条件情報「(AorB)and(CorD)and(E)」というように、条件「A」または「B」が属性情報と一致し、かつ、条件「C」または「D」が属性情報と一致し、かつ、条件「E」が属性情報と一致する場合に、広告を配信する旨を示す属性情報を記憶する場合がある。このような条件情報に対し、情報配信装置10は、属性「A」〜「E」の全てが属性情報と一致した場合は、属性「A」、「C」、「E」の係数積、属性「A」、「D」、「E」の係数積、属性「B」、「C」、「E」の係数積、および属性「B」、「D」、「E」の係数積のうち最も大きい値を広告の入札スコアとする。
すなわち、情報配信装置10は、「and」や「or」で接続される条件や論理積の組、若しくは論理和の組を「特徴」と記載すると、「and」で接続された2つの特徴が属性情報と一致する場合は、属性情報と一致する2つの特徴の係数同士の積を保持する。一方、情報配信装置10は、「or」で接続された2つの特徴が属性情報と一致する場合は、属性情報と一致する2つの特徴の係数のうち、いずれか大きい値の係数を保持する。
〔2−2.動的計画法について〕
ここで、情報配信装置10は、動的計画法に基づく順番で、属性情報と条件情報に含まれる条件とが一致するか否かを判定する。より具体的には、情報配信装置10は、論理積の組のうち、属性情報と一致すると判定された条件と対応する連続値の終端の値が最も小さい組に含まれる条件と、属性情報とが一致するか否かを判定する。
例えば、インターバルアルゴリズムにおいては、論理積の組に含まれる複数の条件に対し、所定の値を上限とする連続値が振り分けられている。例えば、情報配信装置10は、ある広告の条件情報「(AandB)or(CandD)or(E)」を記憶する。このような場合、情報配信装置10は、連続値の条件を「4095」とすると、条件「A」に対して初値「1」と終値「1」とを連続値として割り当て、条件「B」に対して初値「2」と終値「4095」とを連続値として割り当てる。また、情報配信装置10は、条件「C」に対して初値「1」と終値「2」とを連続値として割り当て、条件「D」に対して初値「3」と終値「4095」とを連続値として割り当てる。また、また、情報配信装置10は、条件「E」に対して初値「1」と終値「4095」とを連続値として割り当てる。
このような連続値を割り当てた場合、情報配信装置10は、属性情報と一致する条件の連続値が「1」から「4095」まで連続しているか否かに応じて、論理積が成立しているか否かを判定することができる。例えば、情報配信装置10は、条件「A」、「C」、「D」が属性情報と一致した場合、条件「C」の初値「1」と終値「2」、および条件「D」の初値「3」と終値「4095」を結合した際に、連続値が「1」から「4095」まで連続することとなるので、条件「C」と条件「D」との論理積が成立し、広告が配信対象である旨を特定することができる。
このようなインターバルアルゴリズムを実行する際、情報配信装置10は、条件情報に含まれる論理積の組ごとに、属性情報と一致した条件の連続値の終端の値を参照し、参照した値が最も少ない論理積の組を選択する。そして、情報配信装置10は、選択した論理積の組に含まれる条件のうち、属性情報と比較していない条件を選択し、選択した条件が属性情報と一致するか否かを判定する。このような処理を継続して実行することで、情報配信装置10は、各論理積の組に含まれる全ての条件がクエリの属性情報と一致するか否かを判定する。
〔2−3.係数計算の具体的な処理について〕
ここで、動的計画法に基づく順番で、条件が属性情報と一致するかを判定する場合、情報配信装置10は、論理積の組ごとに、それまでに属性情報と一致した条件の係数積の履歴を保持し、属性情報と条件とが一致する度に、その条件のインデックスに含まれる係数を、その条件を含む論理積の組の係数積の履歴に積算することとなる。すなわち、情報配信装置10は、属性情報と条件とが一致した場合は、その条件と対応する係数の値とその条件を含む論理積の組の係数積の履歴との積を算出する。
例えば、情報配信装置10は、属性情報と条件とが一致した場合は、その条件と対応する係数の値と、その条件を含む論理積の組に含まれる条件のうち属性情報と一致した条件と対応する係数との積を算出する。そして、情報配信装置10は、算出した積の値が、他の論理積の組に含まれる条件のうち属性情報と一致した条件と対応する係数の積の値よりも大きい場合は、算出した積の値を属性情報と一致した条件を含む論理積の組と対応付けて保持する。一方、情報配信装置10は、算出した積の値が、他の論理積の組に含まれる条件のうち属性情報と一致した条件と対応する係数の積の値以下となる場合は、算出した積の値を破棄する。
また、情報配信装置10は、それぞれが複数の条件を含む複数の論理和の組を含み、各組に含まれる条件の論理和がそれぞれ成立する場合に、広告が配信対象となる条件情報を記憶する場合がある。このような条件情報について、情報配信装置10は、属性情報と条件とが一致した場合は、その条件と対応する係数の値と、その条件を含む論理和の組以外の論理和の組に含まれる条件のうち属性情報と一致した条件と対応する係数との積を算出し、算出した積の値が、それまでに算出された積の値よりも大きい場合は、算出した積の値を属性情報と一致した条件を含む組と対応付けて保持する。一方、情報配信装置10は、算出した積の値が、それまでに算出された積の値以下となる場合は、算出した積の値を破棄する。
なお、数値を用いた係数計算の具体例については、後述する。
〔2−4.notについて〕
ここで、条件情報には、配信先から除外する利用者の属性が条件として含まれる場合がある。例えば、条件情報には、利用者U01の属性情報に、属性情報「A」が含まれる場合には、広告を配信しない旨を示す条件情報「notA」が含まれる場合がある。このように、情報配信装置10は、広告の配信先とはならない配信先の属性を示す条件と属性情報とが一致した場合は、その条件と対応する係数の値の正負を反転させて、入札スコアを算出する。例えば、情報配信装置10は、条件情報が「Aand(notB)」であり、条件「A」および条件「B」について係数「2」が設定されており、クエリの属性情報が「A」、「B」である場合は、条件「A」の係数「2」と、条件「B」の係数「2」の正負を判定させた係数「−2」との係数積「−4」を入札スコアとする。
また、情報配信装置10は、論理積の組に含まれる条件のうち、論理積を構成する条件の組に含まれる全ての条件が、所定の情報の配信先とはならない配信先の属性を示す条件であり、全ての条件と属性情報とが一致した場合は、所定の情報を配信対象から除外する旨のフラグを設定してもよい。
〔2−5.データサイズについて〕
ここで、インデックスを用いた情報検索のレイテンシにおいては、演算処理装置がインデックスを読み込む際に生じるレイテンシの影響が含まれる。このため、インデックスは、演算処理装置が読みやすいデータサイズであることが望ましい。そこで、情報配信装置10は、インデックスとして、対応する広告を示す識別子である広告ID(Identifier)と、連続値と、係数とを含む情報であって、演算処理装置が一度のアクセスで読取可能なビット数以下のデータ長を有する情報を記憶する。
例えば、情報配信装置10は、演算処理装置のコアが一度の処理で64ビットのデータを読み取り可能な場合、32ビットの広告IDと、12ビットの初値と、12ビットの終値と、8ビットの係数とを含む計64ビットのインデックスを生成し、記憶してもよい。なお、このようなインデックスのビット数は、演算処理装置のコアが一度の処理で読取可能なデータのビット数に応じて、任意の値が採用可能である。また、インデックスに含まれる各情報のビット数は、広告IDに用いる値の最大値や、連続値の最大値、係数の最大値等に応じて、任意の値が採用可能である。
〔2−6.情報配信装置が実行する算出処理の一例について〕
以下、情報配信装置10が実行する算出処理の具体的な例について説明する。なお、図1に示す例では、属性情報「A」〜「E」や条件「A」〜「E」を「属性A」〜「属性E」と記載した。まず、情報配信装置10は、配信対象となる広告と条件情報と係数との登録を受付ける。このような場合、情報配信装置10は、インターバルアルゴリズムを用いてインデックスを生成するとともに、インデックス内に各条件に対応する係数を登録する(ステップS1)。
例えば、情報配信装置10は、広告のデータと、条件情報「(AandB)or(CandD)or(E)」とを受付ける。また、情報配信装置10は、条件「A」に対する係数「2」、条件「B」に対する係数「3」、条件「C」に対する係数「1」、条件「D」に対する係数「4」、条件「E」に対する係数「5」を受付ける。
このような場合、情報配信装置10は、論理和を構成する複数の特徴に対して、1〜4095の連続値のうち同じ範囲を割り当て、論理積を構成する1つまたは複数の特徴に対して、1〜4095の連続値を割り当てる。例えば、情報配信装置10は、条件「A」に対して初値「1」と終値「1」とを連続値として割り当て、条件「B」に対して初値「2」と終値「4095」とを連続値として割り当てる。また、情報配信装置10は、条件「C」に対して初値「1」と終値「2」とを連続値として割り当て、条件「D」に対して初値「3」と終値「4095」とを連続値として割り当て、条件「E」に対して初値「1」と終値「4095」とを連続値として割り当てる。そして、情報配信装置10は、受付けた広告を識別する広告ID「広告#1」を生成し、広告ID、初値、終値、および係数を含む64ビットのインデックスを生成し、生成したインデックスを記憶する。
一方、ログサーバ100は、所定のタイミングで、利用者U01の属性情報を収集する(ステップS2)。例えば、ログサーバ100は、利用者U01の性別、年代、居住地域、検索クエリの履歴、興味や関心を有する事象等を属性情報として収集する。なお、ログサーバ100は、利用者U01の操作や閲覧等に関する各種ログを収集し、収集したログを解析することで、利用者U01の属性情報を取得してもよい。
ここで、利用者端末200は、利用者U01の操作に応じて、各種のウェブコンテンツをウェブサーバ(図示は、省略)から取得したものとする(ステップS3)。このようなウェブコンテンツには、所定の広告領域が配置されており、かかる広告領域に配置して表示する広告を取得する旨の指示が含まれている。そこで、利用者端末200は、広告リクエストを情報配信装置10に対して送信する(ステップS4)。
このような場合、情報配信装置10は、利用者U01の属性情報をログサーバ100に要求する(ステップS5)。この結果、ログサーバ100は、利用者U01の属性情報を情報配信装置10へと提供する(ステップS6)。そして、情報配信装置10は、インターバルアルゴリズムを用いて広告の条件情報と利用者U01の属性情報とのマッチングを行うとともに、条件が属性情報と一致する度に、係数積を論理積ごとに算出し、論理積の最大値のみを順次登録する(ステップS7)。
例えば、情報配信装置10は、ログサーバ100から利用者U01の属性情報「A」、「C」、「D」、「E」を受付ける。このような場合、情報配信装置10は、図1中(A)に示すように、属性情報「A」、「C」、「D」、「E」をクエリとする。そして、情報配信装置10は、図1中(B)に示すように、4095個の要素を含む判定行列を用いて、広告ID「広告#1」が示す広告の条件が属性情報にマッチするか否かを判定する。また、情報配信装置10は、図1中(C)に示すように、広告の条件が属性情報と一致する度に、属性情報と一致した条件の係数積を、論理積ごとに算出する。
例えば、図1に示す例では、情報配信装置10は、各条件の終値を参照し、終値の値が最も小さい条件「A」を選択する。ここで、クエリには、属性「A」が含まれているため、情報配信装置10は、判定行列に条件「A」の初値「1」および終値「1」に対応する要素に「1」を格納する。また、情報配信装置10は、図1中(C)に示すように、条件「A」が含まれる論理積「(AandB)」と対応する配列に、条件「A」の係数「2」を格納する。
続いて、情報配信装置10は、各条件のうちクエリと比較していない条件の終値を参照し、終値の値が最も小さい条件「C」を選択する。ここで、クエリには、属性「C」が含まれているため、情報配信装置10は、判定行列に条件「C」の初値「1」と対応する要素と終値「2」に対応する要素とに「1」を格納する。また、情報配信装置10は、条件「C」が含まれる論理積「(CandD)」と対応する配列に、条件「C」の係数「1」を格納する。
続いて、情報配信装置10は、各条件のうちクエリと比較していない条件の終値を参照し、終値の値が最も小さい条件「E」を選択する。ここで、クエリには、属性「E」が含まれているため、情報配信装置10は、判定行列に条件「E」の初値「1」と対応する要素と終値「4095」に対応する要素とに「1」を格納する。この結果、判定行列の末尾に「1」が格納されるため、情報配信装置10は、広告ID「広告#1」の条件情報とクエリとが一致したと判定する。また、情報配信装置10は、条件「E」と対応する配列に、条件「E」の係数「5」を格納する。
続いて、情報配信装置10は、各条件のうちクエリと比較していない条件の終値を参照し、終値の値が最も小さい条件「B」を選択する。しかしながら、情報配信装置10は、クエリに属性「B」が含まれていないため、次に終値の値が最も小さい条件「D」を選択する。ここで、クエリには、属性「D」が含まれているため、情報配信装置10は、判定行列に条件「D」の初値「3」と対応する要素と終値「4095」に対応する要素とに「1」を格納する。この結果、判定行列の末尾に「1」が格納されるため、情報配信装置10は、広告ID「広告#1」の条件情報とクエリとが一致したと判定する。
ここで、条件「D」と対応する論理積の配列には、係数「1」が登録されている。そこで、情報配信装置10は、係数「1」と条件「D」の係数「4」の係数積「4」を算出し、各配列に格納された値よりも大きいか否かを判定する。ここで、図1に示す例では、条件「E」と対応する配列に係数「5」が登録されている。このため、情報配信装置10は、係数積「4」を配列に登録せずに破棄する。
そして、情報配信装置10は、各条件が属性情報と一致するか否かを判定した後に、各配列に登録された値、すなわち、係数積を参照し、最も大きい値を取得する。そして、情報配信装置10は、取得した値に基づいて、広告ID「広告#1」が示す広告の入札スコアを算出する。その後、情報配信装置10は、算出した入札スコアに応じて、配信対象となる広告を選択し、選択された広告を利用者端末200へと配信する(ステップS8)。
〔3.情報配信装置の構成〕
以下、上記した情報配信装置10が有する機能構成の一例について説明する。図2は、実施形態に係る情報配信装置の構成例を示す図である。図2に示すように、情報配信装置10は、通信部20、記憶部30、および制御部40を有する。
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、情報配信装置10や利用者端末200との間で情報の送受信を行う。
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、広告データベース31およびインデックスデータベース32を記憶する。
広告データベース31には、配信対象となる広告が登録されている。例えば、図3は、実施形態に係る広告データベースに登録される情報の一例を示す図である。図3に示す例では、広告データベース31には、「広告ID」、「コンテンツデータ」、「論理式」、および「入札スコア」といった情報が登録されている。なお、広告データベース31には、図3に示す情報以外にも、例えば、CTR(Click Through Rate)やCPM(Cost Per Mille)等、広告に関する任意の情報が登録されていてもよい。
ここで、「広告ID」とは、広告を識別する識別子である。また、「コンテンツデータ」とは、対応付けられた「広告ID」が示す広告の画像や文章等、広告として表示するコンテンツのデータである。また、「論理式」とは、対応付けられた「広告ID」が示す広告の配信先となる利用者の属性を示す論理式、すなわち、配信先の属性の条件を示す論理式である。また、「入札スコア」とは、対応付けられた「広告ID」が示す広告の入札スコアの値である。
例えば、図3に示す例では、広告データベース31には、広告ID「広告#1」、コンテンツデータ「コンテンツ#1」、論理式「(AandB)or(CandD)orE」、および入札スコア「100」が登録されている。このような情報は、広告ID「広告#1」が示す広告として表示されるコンテンツのデータが、コンテンツデータ「コンテンツ#1」であり、論理式「(AandB)or(CandD)orE」が示す属性の配信先をターゲットとし、条件がヒットした際の入札スコアが入札スコア「100」である旨を示す。
なお、図3に示す例では、「広告#1」、「コンテンツ#1」等という概念的な値を記載したが、実際には、広告データベース31には、広告を識別する数値や文字列、コンテンツを構成する文字や画像のデータ等が登録されることとなる。
図2に戻り、説明を続ける。インデックスデータベース32には、各広告のインデックスが登録される。例えば、図4は、実施形態に係るインデックスデータベースに登録される情報の一例を示す図である。図4に示す例では、インデックスデータベース32には、「条件」、「広告ID(32ビット)」、「初値(12ビット)」、「終値(12ビット)」および「係数(8ビット)」といった項目が登録されている。なお、各項目の括弧内に記載したビット数は、各項目のデータ長を示す情報であり、以下の記載を省略する。
ここで「条件」とは、各項目の論理式に含まれる条件であり、広告の配信先となる利用者の属性を示す情報である。また、「初値」とは、連続値の初値である。また、「終値」とは、連続値の終値である。また、「係数」とは、対応付けられた「広告ID」が示す広告について、対応付けられた「条件」に対して設定された係数を示す。
例えば、図4に示す例では、条件「属性A」、広告ID「広告#1」、初値「1」、終値「1」および係数「2」が対応付けて登録されている。このような情報は、広告ID「広告#1」が示す広告について、条件「属性A」(すなわち、条件「A」)に対し、連続値の初値「1」および連続値の終値「1」が設定されており、係数「2」が設定されている旨を示す。
なお、図4に示す情報のうち、「条件」は、インデックス本体とは異なる情報であり、インデックスには、「広告ID」、「初値」、「終値」、および「係数」からなる64ビットの情報が含まれる。すなわち、インデックスは、情報配信装置10において演算処理を行う演算処理装置のコアが、一度のアクセスで読み取り可能なデータ長の情報である。
なお、インデックスデータベース32におけるデータ構造は、図4に示す構造に限定されるものではない。例えば、インデックスデータベース32は、設定可能な条件ごとに異なるページを有し、各ページに対応するインデックスが登録されていてもよい。また、図4には、論理式「(AandB)or(CandD)orE」が設定された広告と、論理式「(AorB)and(CorD)andE」が設定された広告とのインデックスの一例について記載した。
このように、インデックスデータベース32は、配信先の属性を示す複数の条件であって、論理積が成立する場合に広告が配信対象となる複数の条件のそれぞれに対し、結合した際に所定の値まで連続する値を構成する連続値と係数とを含むインデックスを対応づけて記憶する。すなわち、インデックスデータベース32は、ある広告について、論理積が成立する場合に広告が配信対象となる複数の条件の組を複数記憶する。また、インデックスデータベース32は、それぞれが複数の条件を含む複数の組を含み、各組に含まれる条件の論理和がそれぞれ成立する場合に、広告が配信対象となる複数の条件のそれぞれに対して、インデックスを対応づけて記憶する。
図2に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報配信装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。なお、制御部40は、インデックスの読み込みを行う演算処理装置となる。
図2に示すように、制御部40は、登録受付部41、インデックス生成部42、要求受付部43、判定部44、決定部45、算出部46、および配信部47を有する。登録受付部41は、広告の登録を受付ける。例えば、登録受付部41は、配信主サーバ300から、配信対象となる広告のコンテンツデータと、配信先の条件を含む論理式と、入札スコアと、各条件ごとの係数との登録を受付ける。このような場合、登録受付部41は、広告IDを生成し、広告IDと受付けた各種のデータとをインデックス生成部42に提供する。
インデックス生成部42は、広告のインデックスを生成する。例えば、インデックス生成部42は、受付けた論理式を解析し、論理和を構成する複数の特徴に対して、1〜4095の連続値のうち同じ範囲を割り当て、論理積を構成する1つまたは複数の特徴に対して、1〜4095の連続値を割り当てることで、各条件に連続値を割り当てる。また、インデックス生成部42は、条件式が複数の論理積の論理和となる場合、各論理積に含まれる条件に対しては、終値の値が重複しないように連続値を割り当てる。そして、インデックス生成部42は、広告ID、連続値の初値、連続値の終値、および係数を対応付けたインデックスを条件ごとに生成し、インデックスデータベース32に登録する。また、インデックス生成部42は、広告ID、コンテンツデータ、論理式および入札スコアを広告データベース31に登録する。
要求受付部43は、利用者端末200から広告リクエストを受付ける。このような場合、要求受付部43は、利用者端末200を利用する利用者U01の情報をログサーバ100へと送信し、利用者U01の属性情報を取得する。例えば、要求受付部43は、利用者端末200を識別する端末識別子を利用者U01を示す情報として送信し、利用者U01の属性情報を取得する。そして、要求受付部43は、受付けた属性情報をクエリとして判定部44に提供する。
判定部44は、配信先の属性を示す複数の属性情報を受付けた場合は、各属性情報と各条件とが一致するか否かを判定する。例えば、判定部44は、動的計画法に基づいて、論理積の組のうち、属性情報と一致すると判定された条件と対応する連続値の終端の値が最も小さい組に含まれる条件と、属性情報とが一致するか否かを判定する。
より具体的な例を説明する。なお、以下の説明では、図3、図4に示す情報が各データベース31、32に登録されているものとする。例えば、判定部44は、広告ID「広告#1」を含むインデックスの終値を参照し、終値の値が最も小さいインデックスと対応する条件「A」を選択する。ここで、クエリに属性「A」が含まれている場合、判定部44は、判定行列に条件「A」の初値「1」および終値「1」に対応する要素に「1」を格納する。続いて、判定部44は、広告ID「広告#1」を含むインデックスの終値を参照し、終値の値が最も小さいインデックスと対応する条件「C」を選択する。ここで、クエリに属性「C」が含まれている場合、判定部44は、判定行列に条件「C」の初値「1」および終値「2」に対応する要素に「1」を格納する。このような処理を再帰的に行うことで、判定部44は、各広告の各条件がクエリの属性情報と一致するか否かを判定する。
決定部45は、属性情報に一致すると判定された条件に対応付けられたインデックスに含まれる連続値が所定の値まで連続するか否かに基づいて、広告を配信対象とするか否かを決定する。例えば、決定部45は、判定部44によって初値および終値の値が判定行列に登録された結果、判定行列の終端に「1」が登録された場合、すなわち、属性情報と一致した条件に対して、1から所定の値まで連続する連続値が振り分けられていた場合は、対応する広告を配信対象とする。
算出部46は、属性情報と条件とが一致すると判定される度に、属性情報と一致すると判定された条件に対応付けられたインデックスに含まれる係数を用いて、広告を配信する際の入札スコアを算出する。より具体的には、算出部46は、論理積の組ごとに、属性情報と一致すると判定された条件に対応付けられたインデックスに含まれる係数の係数積を算出し、算出した係数積を入札スコアとする。
例えば、算出部46は、属性情報と条件とが一致した場合は、その条件と対応する係数の値と、その条件を含む論理積の組に含まれる条件のうち属性情報と一致した条件と対応する係数との係数積を算出する。そして、算出部46は、算出した積の値が、他の論理積の組に含まれる条件のうち属性情報と一致した条件と対応する係数の積の値よりも大きい場合は、算出した論理積の値を属性情報と一致した条件を含む論理積の組と対応付けて保持する。一方、算出部46は、算出した積の値が、他の論理積の組に含まれる条件のうち属性情報と一致した条件と対応する係数の係数積の値以下となる場合は、算出した係数積の値を破棄する。
例えば、算出部46は、論理積の組ごとに配列を用意し、条件が属性情報と一致した場合は、その条件を含む論理積の組と対応する配列を特定し、特定した配列に値が格納されていない場合は、属性情報と一致した条件の係数を格納する。一方、算出部46は、属性情報と一致した条件を含む論理積の組と対応する配列を特定し、特定した配列に値が格納されている場合は、かかる値と属性情報と一致した条件の係数との係数積を算出する。そして、算出部46は、算出した係数積の値が、各配列に格納された値よりも大きいか否かを判定し、大きいと判定した場合にのみ、算出した係数積を特定した配列に登録する。
また、算出部46は、属性情報と条件とが一致した場合は、その条件と対応する係数の値と、その条件を含む論理和の組以外の論理和の組であって、その条件を含む論理和の組と論理積を構成する論理和の組に含まれる条件のうち、属性情報と一致した条件と対応する係数との積を算出する。そして、算出部46は、算出した積の値が、それまでに算出された積の値よりも大きい場合は、算出した積の値を属性情報と一致した条件を含む組と対応付けて保持し、算出した積の値が、それまでに算出された積の値以下となる場合は、算出した積の値を破棄する。
例えば、図5は、実施形態に係る情報配信装置が係数積を算出する処理の一例を示す図である。なお、図5に示す例では、クエリとなる属性情報が属性「A」、「C」、「D」、「E」であり、広告の配信先を示す論理式が「(AorB)and(CorD)andE」である例について記載した。また、図5に示す例では、情報配信装置10は、条件「A」に対する係数「2」、条件「B」に対する係数「3」、条件「C」に対する係数「1」、条件「D」に対する係数「4」、条件「E」に対する係数「5」を受付けたものとする。
このような場合、例えば、インデックス生成部42は、条件「A」に対して初値「1」と終値「1」とを連続値として割り当て、条件「B」に対して初値「1」と終値「1」とを連続値として割り当てる。また、インデックス生成部42は、条件「C」に対して初値「2」と終値「2」とを連続値として割り当て、条件「D」に対して初値「2」と終値「2」とを連続値として割り当て、条件「E」に対して初値「3」と終値「4095」とを連続値として割り当てる。この結果、判定部44は、条件「A」、「B」、「C」、「D」、「E」の順で属性情報と一致するか否かを判定する。
ここで、条件「A」は、クエリの属性「A」と一致する。そこで、算出部46は、条件「A」の係数「2」を、条件「A」を含む論理和の組と対応する配列に格納する。続いて、条件「B」は、クエリの属性と一致しないため、算出部46は、処理を待機する。続いて、条件「C」は、クエリの属性「C」と一致する。そこで、算出部46は、条件「C」の係数「1」と、条件「C」を含む論理和の組以外の論理和の組において属性情報と一致した条件の係数との積を算出する。例えば、算出部46は、配列に格納されている条件「A」の係数「2」と、条件「C」の係数「1」との積「2」を算出し、算出した値「2」を、条件「C」を含む論理和の組と対応する配列に格納する。
続いて、条件「D」は、クエリの属性「D」と一致する。そこで、算出部46は、条件「D」の係数「4」と、条件「D」を含む論理和の組以外の論理和の組において属性情報と一致した条件の係数との積を算出する。例えば、算出部46は、配列に格納されている条件「A」の係数「2」と、条件「D」の係数「4」との積「8」を算出し、算出した値「8」が、条件「C」を含む論理和の組と対応する配列に格納済みの値よりも大きいか否かを判定する。そして、算出部46は、条件「A」の係数「2」と、条件「D」の係数「4」との積「8」の方が大きいと判定し、積「8」の値を、条件「D」と対応する論理和の組と対応する配列に格納する。
続いて、条件「E」は、クエリの属性「E」と一致する。そこで、算出部46は、条件「E」の係数「5」と、条件「E」を含む論理和の組以外の論理和の組において属性情報と一致した条件の係数との積を算出する。例えば、算出部46は、配列に格納されている係数のうち、最も大きい値「8」と条件「E」の係数「5」との積「40」を算出する。すなわち、算出部46は、条件「A」の係数と、条件「D」の係数と、条件「E」の係数との積を算出する。そして、算出部46は、積「40」の値を、条件「E」と対応する論理和の組と対応する配列に格納する。この結果、算出部46は、論理式が成立する際における係数積の値の最大値を配列に格納することができる。
また、算出部46は、上述した各種の処理によって算出した係数積の最大値を用いて、入札スコアを算出する。例えば、算出部46は、配信対象として決定した広告の入札スコアの値と、係数積の最大値との積を算出する。すなわち、算出部46は、配信対象となる広告を配信先となる利用者に提供する際の入札スコアを算出する。なお、算出部46は、入札スコアを算出する各種の公知技術を組み合わせて、入札スコアの算出を行ってもよい。
なお、算出部46は、広告の配信先とはならない利用者の属性を示す条件と属性情報とが一致した場合は、その条件と対応する係数の値の正負を反転させて、入札スコアを算出してもよい。例えば、算出部46は、条件「A」を含む論理式「notA」において、クエリが属性「A」であった場合は、条件「A」の係数の正負を反転させて、入札スコアの算出を行ってもよい。
また、算出部46は、広告の配信先とはならない利用者の属性を示す複数の条件と属性情報とが一致した場合は、その広告を配信対象から除外する旨のフラグを設定してもよい。例えば、算出部46は、条件「A」、「B」を含む論理式「(notA)and(notB)」において、クエリが属性「A」、「B」であった場合は、その広告を配信対象から除外する旨のフラグを設定することで、その広告を配信対象から除外してもよい。
配信部47は、クエリとなる属性情報が論理式を満たした広告の中から、入札スコアの値に応じて配信対象となる広告を選択し、選択した広告を配信する。例えば、配信部47は、クエリとなる属性情報が論理式を満たした広告のうち、算出部46によって算出された入札スコアの値が高い方から順に所定の数の広告を選択する。そして、配信部47は、選択した広告のコンテンツデータを、利用者端末200へと配信する。
〔4.情報配信装置が実行する処理の流れの一例〕
続いて、図6を用いて、情報配信装置10が実行する算出処理の流れについて説明する。説明する。図6は、実施形態に係る情報配信装置が実行する算出処理の流れの一例を示すフローチャートである。なお、情報配信装置10は、図6に示す処理を、各広告ごとに並列して実行可能である。
例えば、情報配信装置10は、クエリとなる属性情報をログサーバ100から受付ける(ステップS101)。このような場合、情報配信装置10は、条件が属性情報と一致するか否かを判定し(ステップS102)、一致すると判定した場合は(ステップS102:Yes)、判定行列にその条件の初値と終値とを格納する(ステップS103)。また、情報配信装置10は、各論理積に対応する配列に、一致した条件の係数の積の最大値を格納する(ステップS104)。そして、情報配信装置10は、判定行列が終端まで到達したか否かを判定し(ステップS105)、到達した場合は(ステップS105:Yes)、算出された論理積の最大値に基づき、優先度となる入札スコアを算出する(ステップS106)。そして、情報配信装置10は、優先度に応じて広告を配信し(ステップS107)、処理を終了する。
一方、情報配信装置10は、判定行列が終端に到達していない場合は(ステップS105:No)、次の条件を参照し(ステップS108)、条件が属性情報と一致するかを判定する(ステップS102)。また、情報配信装置10は、条件が属性情報と一致しなかった場合も(ステップS102:No)、ステップS107を実行する。
〔5.変形例〕
上記では、情報配信装置10による算出処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報配信装置10が実行する算出処理のバリエーションについて説明する。
〔5−1.処理の目的について〕
上述した例では、情報配信装置10は、配信対象として広告を配信した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報配信装置10は、画像コンテンツ、音声コンテンツ、動画像コンテンツ、電子書籍、ニュースフィード、マイクロブログの記事等、配信先の属性に応じて配信対象を変更するものであれば、任意の情報を配信対象としてよい。また、情報配信装置10は、配信先の属性に応じたコンテンツのみならず、例えば、配信先が所望する条件と合致するコンテンツを配信してもよい。
また、情報配信装置10は、利用者U01に対してコンテンツを配信する必要はなく、各種サーバ等に対して配信を行ってもよい。すなわち、上述した算出処理は、配信先の属性や所望等、配信先に応じた条件に基づいて、配信対象とするコンテンツを選択する際に用いる優先度を算出するのであれば、任意の配信先に対し任意の条件に基づいて配信対象となる任意のコンテンツを選択する際に用いる優先度を算出してよい。
〔5−2.係数について〕
上述した例では、情報配信装置10は、整数の値を有する係数を受付けたが、実施形態は、これに限定されるものではない。例えば、情報配信装置10は、係数として、「0.0」から「2.0」までの値を「0.1」刻みで受付けてもよい。このような場合、情報配信装置10は、論理式に含まれる要素の数を「n」とすると、係数積の最大値として、2のn乗までの値を受付けることとなる。
ここで、インデックスのデータサイズを考慮すると、係数積の最大値が浮動小数点におけるdouble型の最大値を超えない値であれば、オーバーフローの対応を不要とすることができる。このため、例えば、論理式に含まれる要素の最大値が「18」であれば、係数の最大値が「131072」となるので、double型の最大値を超えることはない。
〔5−3.装置構成〕
情報配信装置10は、任意の数の利用者端末200と通信可能に接続されていてもよい。また、情報配信装置10は、利用者端末200や配信主サーバ300と情報のやり取りを行うフロントエンドサーバと、算出処理を実行するバックエンドサーバとで実現されてもよい。このような場合、フロントエンドサーバには、図2に示す登録受付部41および配信部47が配置され、バックエンドサーバには、インデックス生成部42、要求受付部43、判定部44、決定部45、および算出部46を有することとなる。また、記憶部30に登録された各データベース31、32は、外部のストレージサーバに保持されていてもよい。
〔5−4.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔5−5.プログラム〕
また、上述した実施形態に係る情報配信装置10は、例えば図7に示すような構成のコンピュータ1000によって実現される。図7は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000が情報配信装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
〔6.効果〕
上述したように、情報配信装置10は、配信先の属性を示す複数の属性情報を受付けた場合は、属性を示す複数の条件であって、論理積が成立する場合に広告等の所定の情報が配信対象となる複数の条件のそれぞれに対し、結合した際に所定の値まで連続する値を構成する連続値と係数とを含むインデックスを対応づけて記憶するインデックスデータベース32を参照する。そして、情報配信装置10は、各属性情報と各条件とが一致するか否かを判定する。また、情報配信装置10は、属性情報に一致すると判定された条件に対応付けられたインデックスに含まれる連続値が所定の値まで連続するか否かに基づいて、所定の情報を配信対象とするか否かを決定する。そして、情報配信装置10は、属性情報と条件とが一致すると判定される度に、その属性情報と一致すると判定された条件に対応付けられたインデックスに含まれる係数を用いて、所定の情報を配信する際の入札スコアといった優先度を算出する。
このように、情報配信装置10は、インターバルアルゴリズムにおける連続値を含み、各条件ごとに設定されるインデックスであって、属性ごとの係数を含むインデックスを参照し、条件と属性情報とが一致する度に、係数を用いた優先度の算出を行う。この結果、情報配信装置10は、条件と属性情報とが一致するか否かという判定処理と、係数計算とを平行して実効できるので、配信対象となる情報の抽出にかかる時間を削減できる。
また、情報配信装置10は、論理積が成立する場合に所定の情報が配信対象となる複数の条件の組である論理積の組ごとに、属性情報と一致すると判定された条件に対応付けられたインデックスに含まれる係数を用いて、所定の情報を配信する際の優先度を算出する。例えば、情報配信装置10は、論理積の組ごとに、属性情報と一致すると判定された条件に対応付けられたインデックスに含まれる係数の積を優先度として算出する。このため、情報配信装置10は、属性情報が論理式を満たす場合における優先度を適切に算出することができる。
また、情報配信装置10は、論理積の組のうち、属性情報と一致すると判定された条件と対応する連続値の終端の値が最も小さい組に含まれる条件と、属性情報とが一致するか否かを判定する。すなわち、情報配信装置10は、動的計画法に基づく順番で、各条件と属性情報とが一致するか否かを判定する。このため、情報配信装置10は、効率的に属性情報が条件を満たすか否かを判定できる。
また、情報配信装置10は、属性情報と条件とが一致した場合は、その条件と対応する係数の値と、その条件を含む論理積の組に含まれる条件のうち属性情報と一致した条件と対応する係数との積を算出する。そして、情報配信装置10は、算出した積の値が、他の論理積の組に含まれる条件のうち属性情報と一致した条件と対応する係数の積の値よりも大きい場合は、算出した積の値を属性情報と一致した条件を含む論理積の組と対応付けて保持する。一方、情報配信装置10は、算出した積の値が、他の論理積の組に含まれる条件のうち属性情報と一致した条件と対応する係数の積の値以下となる場合は、算出した積の値を破棄する。そして、例えば、情報配信装置10は、属性情報と条件とが一致した場合は、その条件と対応する係数の値とその条件を含む論理積の組と対応付けられた積の値との積を算出する。このため、情報配信装置10は、例えば、配列の初期化の回数を最初の1回に収めることができるので、論理和を構成する複数の論理積の組が存在する場合に、優先度の値を効率良く算出することができる。
また、情報配信装置10は、それぞれが複数の条件を含む複数の論理和の組を含み、各の論理和の組に含まれる条件の論理和がそれぞれ成立する場合に、所定の情報が配信対象となる複数の条件のそれぞれに対して、インデックスを対応づけて記憶する。そして、情報配信装置10は、属性情報と条件とが一致した場合は、その条件と対応する係数の値と、その条件を含む論理和の組以外の論理和の組に含まれる条件のうち属性情報と一致した条件と対応する係数との積を算出し、算出した積の値が、それまでに算出された積の値よりも大きい場合は、算出した積の値を属性情報と一致した条件を含む論理和の組と対応付けて保持する。一方、情報配信装置10は、算出した積の値が、それまでに算出された積の値以下となる場合は、算出した積の値を破棄する。このため、情報配信装置10は、論理積を構成する複数の論理和の組が存在する場合にも、優先度の値を効率良く算出することができる。
また、情報配信装置10は、所定の情報の配信先とはならない配信先の属性を示す条件と属性情報とが一致した場合は、その条件と対応する係数の値の正負を反転させて、優先度を算出する。また、情報配信装置10は、論理積を構成する条件の組に含まれる全ての条件が、所定の情報の配信先とはならない配信先の属性を示す条件であり、全ての条件と属性情報とが一致した場合は、所定の情報を配信対象から除外する旨のフラグを設定する。このため、情報配信装置10は、否定論理を含む論理式が設定されている場合にも、適切に優先度の値を算出できる。
また、情報配信装置10は、インデックスとして、所定の情報を識別するための識別子と、連続値と、係数とを含む情報であって、演算処理装置が一度のアクセスで読取可能なビット数以下のデータ長を有する情報を記憶するインデックスデータベース32を参照する。このため、情報配信装置10は、係数の読み込みに伴うレイテンシを、インデックスの読み込みにおけるレイテンシに含めることができるので、配信対象となる情報の抽出にかかる時間を削減できる。
また、上述した情報配信装置10が用いるインデックスは、配信先の属性を示す複数の条件であって、論理積が成立する場合に所定の情報が配信対象となる複数の条件のそれぞれに対し、結合した際に所定の値まで連続する値を構成する連続値と係数と所定の情報を示す識別子とを含む。このため、インデックスは、情報配信装置10が配信対象となる情報を抽出際に要する時間を削減できる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、配信部は、配信手段や配信回路に読み替えることができる。
10 情報配信装置
20 通信部
30 記憶部
31 広告データベース
32 インデックスデータベース
40 制御部
41 登録受付部
42 インデックス生成部
43 要求受付部
44 判定部
45 決定部
46 算出部
47 配信部
100 ログサーバ
200 利用者端末
300 配信主サーバ

Claims (13)

  1. 配信先の属性を示す複数の属性情報を受付けた場合は、属性を示す複数の条件であって、論理積が成立する場合に所定の情報が配信対象となる複数の条件のそれぞれに対し、結合した際に所定の値まで連続する値を構成する連続値と係数とを含むインデックス情報を対応づけて記憶する記憶装置を参照し、各属性情報と各条件とが一致するか否かを判定する判定部と、
    前記属性情報に一致すると判定された条件に対応付けられたインデックス情報に含まれる連続値が前記所定の値まで連続するか否かに基づいて、前記所定の情報を配信対象とするか否かを決定する決定部と、
    前記属性情報と前記条件とが一致すると判定される度に、当該属性情報と一致すると判定された条件に対応付けられたインデックス情報に含まれる係数を用いて、前記所定の情報を配信する際の優先度を算出する算出部と
    を有することを特徴とする算出装置。
  2. 前記判定部は、論理積が成立する場合に前記所定の情報が配信対象となる複数の条件の組を複数記憶する記憶装置を参照し、
    前記算出部は、前記組ごとに、前記属性情報と一致すると判定された条件に対応付けられたインデックス情報に含まれる係数を用いて、前記所定の情報を配信する際の優先度を算出する
    ことを特徴とする請求項1に記載の算出装置。
  3. 前記判定部は、前記組のうち、前記属性情報と一致すると判定された条件と対応する連続値の終端の値が最も小さい組に含まれる条件と、前記属性情報とが一致するか否かを判定する
    ことを特徴とする請求項2に記載の算出装置。
  4. 前記算出部は、前記組ごとに、前記属性情報と一致すると判定された条件に対応付けられたインデックス情報に含まれる係数の積を前記優先度として算出する
    ことを特徴とする請求項2または3に記載の算出装置。
  5. 前記算出部は、前記属性情報と前記条件とが一致した場合は、当該条件と対応する係数の値と、当該条件を含む組に含まれる条件のうち前記属性情報と一致した条件と対応する係数との積を算出し、算出した積の値が、他の組に含まれる条件のうち前記属性情報と一致した条件と対応する係数の積の値よりも大きい場合は、算出した積の値を前記属性情報と一致した条件を含む組と対応付けて保持し、算出した積の値が、他の組に含まれる条件のうち前記属性情報と一致した条件と対応する係数の積の値以下となる場合は、算出した積の値を破棄する
    ことを特徴とする請求項2〜4のうちいずれか1つに記載の算出装置。
  6. 前記算出部は、前記属性情報と前記条件とが一致した場合は、当該条件と対応する係数の値と当該条件を含む組と対応付けられた積の値との積を算出する
    ことを特徴とする請求項5に記載の算出装置。
  7. 前記判定部は、それぞれが複数の条件を含む複数の組を含み、各組に含まれる条件の論理和がそれぞれ成立する場合に、前記所定の情報が配信対象となる複数の条件のそれぞれに対して、前記インデックス情報を対応づけて記憶する記憶装置を参照し、
    前記算出部は、前記属性情報と前記条件とが一致した場合は、当該条件と対応する係数の値と、当該条件を含む組以外の組に含まれる条件のうち前記属性情報と一致した条件と対応する係数との積を算出し、算出した積の値が、それまでに算出された積の値よりも大きい場合は、算出した積の値を前記属性情報と一致した条件を含む組と対応付けて保持し、算出した積の値が、それまでに算出された積の値以下となる場合は、算出した積の値を破棄する
    ことを特徴とする請求項1〜6のうちいずれか1つに記載の算出装置。
  8. 前記算出部は、所定の情報の配信先とはならない配信先の属性を示す条件と前記属性情報とが一致した場合は、当該条件と対応する係数の値の正負を反転させて、前記優先度を算出する
    ことを特徴とする請求項1〜7のうちいずれか1つに記載の算出装置。
  9. 前記算出部は、論理積を構成する条件の組に含まれる全ての条件が、所定の情報の配信先とはならない配信先の属性を示す条件であり、全ての条件と前記属性情報とが一致した場合は、前記所定の情報を配信対象から除外する旨のフラグを設定する
    ことを特徴とする請求項8に記載の算出装置。
  10. 前記判定部は、前記インデックス情報として、前記所定の情報を識別するための識別子と、前記連続値と、前記係数とを含む情報であって、演算処理装置が一度のアクセスで読取可能なビット数以下のデータ長を有する情報を記憶する記憶装置を参照する
    ことを特徴とする請求項1〜9のうちいずれか1つに記載の算出装置。
  11. 請求項1〜10のうちいずれか1つに記載の算出装置が用いるインデックス情報であって、
    配信先の属性を示す複数の条件であって、論理積が成立する場合に所定の情報が配信対象となる複数の条件のそれぞれに対し、結合した際に所定の値まで連続する値を構成する連続値と係数と前記所定の情報を示す識別子とを含む
    ことを特徴とするインデックス情報。
  12. 算出装置が実行する算出方法であって、
    配信先の属性を示す複数の属性情報を受付けた場合は、配信先の属性を示す複数の条件であって、論理積が成立する場合に所定の情報が配信対象となる複数の条件のそれぞれに対し、結合した際に所定の値まで連続する値を構成する連続値と係数とを含むインデックス情報を対応づけて記憶する記憶装置を参照し、各属性情報と各条件とが一致するか否かを判定する判定工程と、
    前記属性情報に一致すると判定された条件に対応付けられたインデックス情報に含まれる連続値が前記所定の値まで連続するか否かに基づいて、前記所定の情報を配信対象とするか否かを決定する決定工程と、
    前記属性情報と前記条件とが一致すると判定される度に、当該属性情報と一致すると判定された条件に対応付けられたインデックス情報に含まれる係数を用いて、前記所定の情報を配信する際の優先度を算出する算出工程と
    を含むことを特徴とする算出方法。
  13. 配信先の属性を示す複数の属性情報を受付けた場合は、配信先の属性を示す複数の条件であって、論理積が成立する場合に所定の情報が配信対象となる複数の条件のそれぞれに対し、結合した際に所定の値まで連続する値を構成する連続値と係数とを含むインデックス情報を対応づけて記憶する記憶装置を参照し、各属性情報と各条件とが一致するか否かを判定する判定手順と、
    前記属性情報に一致すると判定された条件に対応付けられたインデックス情報に含まれる連続値が前記所定の値まで連続するか否かに基づいて、前記所定の情報を配信対象とするか否かを決定する決定手順と、
    前記属性情報と前記条件とが一致すると判定される度に、当該属性情報と一致すると判定された条件に対応付けられたインデックス情報に含まれる係数を用いて、前記所定の情報を配信する際の優先度を算出する算出手順と
    をコンピュータに実行させることを特徴とする算出プログラム。
JP2016246629A 2016-12-20 2016-12-20 算出装置、インデックス情報、算出方法および算出プログラム Active JP6695268B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016246629A JP6695268B2 (ja) 2016-12-20 2016-12-20 算出装置、インデックス情報、算出方法および算出プログラム
US15/694,123 US20180174183A1 (en) 2016-12-20 2017-09-01 Calculation device, index information, calculation method, and non-transitory computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016246629A JP6695268B2 (ja) 2016-12-20 2016-12-20 算出装置、インデックス情報、算出方法および算出プログラム

Publications (2)

Publication Number Publication Date
JP2018101261A JP2018101261A (ja) 2018-06-28
JP6695268B2 true JP6695268B2 (ja) 2020-05-20

Family

ID=62561791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016246629A Active JP6695268B2 (ja) 2016-12-20 2016-12-20 算出装置、インデックス情報、算出方法および算出プログラム

Country Status (2)

Country Link
US (1) US20180174183A1 (ja)
JP (1) JP6695268B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11312190A (ja) * 1998-04-28 1999-11-09 Hitachi Ltd 商品情報表示方法
US20070157228A1 (en) * 2005-12-30 2007-07-05 Jason Bayer Advertising with video ad creatives
JP2009145549A (ja) * 2007-12-13 2009-07-02 Pioneer Electronic Corp 広告情報提供装置、広告情報提供方法及び広告情報提供プログラム
US20120130805A1 (en) * 2010-11-18 2012-05-24 Google Inc. Selecting media advertisements for presentation based on their predicted playtimes
JP5693630B2 (ja) * 2013-03-18 2015-04-01 ヤフー株式会社 広告抽出装置、広告抽出方法及び広告抽出プログラム
JP6667061B2 (ja) * 2015-02-20 2020-03-18 ヤフー株式会社 抽出装置、抽出方法及び抽出プログラム
JP2016059028A (ja) * 2015-03-31 2016-04-21 株式会社電通 テレビ番組関連コンテンツ提供方法

Also Published As

Publication number Publication date
US20180174183A1 (en) 2018-06-21
JP2018101261A (ja) 2018-06-28

Similar Documents

Publication Publication Date Title
JP6334696B2 (ja) ハッシュタグおよびコンテンツ提示
US9183259B1 (en) Selecting content based on social significance
JP5693630B2 (ja) 広告抽出装置、広告抽出方法及び広告抽出プログラム
JP6027039B2 (ja) 抽出装置、抽出方法および抽出プログラム
JP5955286B2 (ja) 評価算出装置、評価算出方法及び評価算出プログラム
US11164214B2 (en) Structured informational link annotations
US20100306049A1 (en) Method and system for matching advertisements to web feeds
JP6872851B2 (ja) 情報選択装置、情報選択方法および情報選択プログラム
JP6254733B1 (ja) 算出装置、算出方法および算出プログラム
JP2015529884A (ja) セット内のコンテンツ項目間のナビゲーション
JP6679451B2 (ja) 選択装置、選択方法および選択プログラム
US11107130B1 (en) Content offers based on social influences
JP6900158B2 (ja) 分類装置、分類方法および分類プログラム
JP6667061B2 (ja) 抽出装置、抽出方法及び抽出プログラム
AU2017301075B2 (en) Optimized digital component analysis system
JP6434954B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US20140129350A1 (en) Advertisement distribution apparatus and advertisement distribution method
JP6695268B2 (ja) 算出装置、インデックス情報、算出方法および算出プログラム
JP6695267B2 (ja) 決定装置、決定方法および決定プログラム
JP6100741B2 (ja) 抽出装置、抽出方法および抽出プログラム
JP5642220B2 (ja) 広告抽出装置、広告抽出方法及び広告抽出プログラム
US10832276B2 (en) Systems and methods for ad placement in content streams
JP7335405B1 (ja) 抽出装置、抽出方法及び抽出プログラム
JP7164683B1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP6664600B2 (ja) 提供装置、提供方法および提供プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190325

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200421

R150 Certificate of patent or registration of utility model

Ref document number: 6695268

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350