(57)【要約】【課題】配信対象となる情報の抽出にかかる時間を削減できる。【解決手段】本願に係る決定装置は、配信先の属性を示す属性情報を含むクエリを受け付けた場合は、所定の情報の配信先の属性を示す複数の条件であって、許容範囲が設定された条件を含む複数の条件がブール演算式で表現された条件情報を参照し、前記属性情報が、前記複数の条件と一致するか否かを判定する第１判定部と、前記属性情報が、前記複数の条件のうち、許容範囲が設定された条件と一致すると判定された場合は、前記属性情報が、当該条件に設定された許容範囲を満たすか否かを判定する第２判定部と、前記第１判定部および前記第２判定部による判定結果に基づいて、前記所定の情報を配信対象とするか否かを決定する決定部とを有することを特徴とする。【選択図】図１
2018097798.tif 000002
【特許請求の範囲】
【請求項１】
配信先の属性を示す属性情報を含むクエリを受け付けた場合は、所定の情報の配信先の属性を示す複数の条件であって、許容範囲が設定された条件を含む複数の条件がブール演算式で表現された条件情報を参照し、前記属性情報が、前記複数の条件と一致するか否かを判定する第１判定部と、
前記属性情報が、前記複数の条件のうち、許容範囲が設定された条件と一致すると判定された場合は、前記属性情報が、当該条件に設定された許容範囲を満たすか否かを判定する第２判定部と、
前記第１判定部および前記第２判定部による判定結果に基づいて、前記所定の情報を配信対象とするか否かを決定する決定部と
を有することを特徴とする決定装置。
【請求項２】
前記決定部は、前記条件情報に含まれる条件のうち前記属性情報と一致した条件が前記ブール演算式を満たし、かつ、前記属性情報が前記条件のうち当該ブール演算式を満たした条件に対して設定される全ての許容範囲を満たすと判定された場合は、前記所定の情報を配信対象に決定する
ことを特徴とする請求項１に記載の決定装置。
【請求項３】
前記第１判定部は、前記条件情報に配信先の属性を示す条件であって、当該属性に関する許容範囲が設定された条件が含まれている場合は、当該条件が示す属性と前記属性情報が示す属性とが一致するか否かを判定し、
前記第２判定部は、前記条件が示す属性と前記属性情報が示す属性とが一致した場合は、前記属性情報が示す前記属性の範囲が、前記条件に設定された許容範囲を満たすか否かを判定する
ことを特徴とする請求項１または２に記載の決定装置。
【請求項４】
前記第１判定部は、前記条件情報に配信先が行った行動を示す条件であって、当該行動を行った日時、頻度、または回数に関する許容範囲が設定された条件が含まれている場合は、当該条件が示す行動と前記属性情報が示す行動とが一致するか否かを判定し、
前記第２判定部は、前記条件が示す行動と前記属性情報が示す行動とが一致した場合は、前記属性情報が示す前記行動を行った日時、頻度、または回数が、前記条件に設定された許容範囲を満たすか否かを判定する
ことを特徴とする請求項１〜３のうちいずれか１つに記載の決定装置。
【請求項５】
前記第１判定部は、前記条件情報に配信先が入力した検索クエリと、当該検索クエリを入力した日時、頻度、または回数に関する許容範囲が設定された条件が含まれている場合は、当該検索クエリと、前記属性情報が示す前記配信先が入力した検索クエリとが一致するか否かを判定し、
前記第２判定部は、前記条件が示す検索クエリと、前記属性情報が示す前記配信先が入力した検索クエリとが一致した場合は、前記属性情報が示す前記検索クエリを入力した日時、頻度、または回数が、前記条件に設定された許容範囲を満たすか否かを判定する
ことを特徴とする請求項１〜３のうちいずれか１つに記載の決定装置。
【請求項６】
前記第１判定部は、前記条件情報に配信先の位置を用いる旨の条件と、当該位置の許容範囲を示す許容範囲情報とが含まれている場合は、前記属性情報に、前記配信先の位置を示す情報が含まれているか否かを判定し、
前記第２判定部は、前記属性情報に前記配信先の位置を示す情報が含まれていると判定された場合は、当該配信先の位置が、前記許容範囲情報が示す範囲に含まれるか否かを判定する
ことを特徴とする請求項１〜５のうちいずれか１つに記載の決定装置。
【請求項７】
決定装置が実行する決定方法であって、
配信先の属性を示す属性情報を含むクエリを受け付けた場合は、所定の情報の配信先の属性を示す複数の条件であって、許容範囲が設定された条件を含む複数の条件がブール演算式で表現された条件情報を参照し、前記属性情報が、前記複数の条件と一致するか否かを判定する第１判定工程と、
前記属性情報が、前記複数の条件のうち、許容範囲が設定された条件と一致すると判定された場合は、前記属性情報が、当該条件に設定された許容範囲を満たすか否かを判定する第２判定工程と、
前記第１判定工程および前記第２判定工程による判定結果に基づいて、前記所定の情報を配信対象とするか否かを決定する決定工程と
を含むことを特徴とする決定方法。
【請求項８】
配信先の属性を示す属性情報を含むクエリを受け付けた場合は、所定の情報の配信先の属性を示す複数の条件であって、許容範囲が設定された条件を含む複数の条件がブール演算式で表現された条件情報を参照し、前記属性情報が、前記複数の条件と一致するか否かを判定する第１判定手順と、
前記属性情報が、前記複数の条件のうち、許容範囲が設定された条件と一致すると判定された場合は、前記属性情報が、当該条件に設定された許容範囲を満たすか否かを判定する第２判定手順と、
前記第１判定手順および前記第２判定手順による判定結果に基づいて、前記所定の情報を配信対象とするか否かを決定する決定手順と
をコンピュータに実行させるための決定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、決定装置、決定方法および決定プログラムに関する。
【背景技術】
【０００２】
近年、インターネットの飛躍的な普及に伴い、ネットワークを介して取得される情報に基づいた情報配信が盛んに行われている。例えば、情報の配信先となる利用者の属性を配信先情報として予め登録しておき、配信先となる利用者の属性と対応する情報を選択的に配信するターゲティング配信が行われている。このような情報配信として、配信対象となる情報自体にboolean（論理値）条件を付与することで、配信先となる利用者の属性に対応する情報を検索する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１５３９７２号公報
【非特許文献】
【０００４】
【非特許文献１】Steven  Euijong  Whang、Hector  GarciaMolina、Chad  Brower、Jayavel  Shanmugasundaram、Sergei  Vassilvitskii、Erik  Vee、“Indexing  Boolean  Expressions”［online］、［２０１６年１１月３０日検索］、インターネット（http://theory.stanford.edu/~sergei/papers/vldb09-indexing.pdf）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、配信対象となる情報を迅速に抽出できるとは言えない場合がある。
【０００６】
例えば、ある検索クエリを利用者が検索した日時や頻度に応じて、情報を配信したいという要望が考えられる。しかしながら、このような要望を実現する場合、従来技術では、情報の配信先となる利用者の属性と設定可能な日時や頻度の組み合わせごとに配信先情報が設定されることとなる。この結果、クエリと比較する配信先情報の数が増大する結果、配信対象となる情報を迅速に抽出できない恐れがある。
【０００７】
本願は、上記に鑑みてなされたものであって、配信対象となる情報の抽出にかかる時間を削減することを目的とする。
【課題を解決するための手段】
【０００８】
本願に係る決定装置は、配信先の属性を示す属性情報を含むクエリを受け付けた場合は、所定の情報の配信先の属性を示す複数の条件であって、許容範囲が設定された条件を含む複数の条件がブール演算式で表現された条件情報を参照し、前記属性情報が、前記複数の条件と一致するか否かを判定する第１判定部と、前記属性情報が、前記複数の条件のうち、許容範囲が設定された条件と一致すると判定された場合は、前記属性情報が、当該条件に設定された許容範囲を満たすか否かを判定する第２判定部と、前記第１判定部および前記第２判定部による判定結果に基づいて、前記所定の情報を配信対象とするか否かを決定する決定部とを有することを特徴とする。
【発明の効果】
【０００９】
実施形態の一態様によれば、配信対象となる情報の抽出にかかる時間を削減できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る情報配信装置が実行する決定処理の一例を示す図である。
【図２】図２は、実施形態に係る情報配信装置の構成例を示す図である。
【図３】図３は、実施形態に係る広告データベースに登録される情報の一例を示す図である。
【図４】図４は、実施形態に係るインデックスデータベースに登録される情報の一例を示す図である。
【図５】図５は、実施形態に係る情報配信装置が実行する決定処理の流れの一例を示すフローチャートである。
【図６】図６は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願に係る決定装置、決定方法および決定プログラムを実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る決定装置、決定方法および決定プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【００１２】
［実施形態］
〔１．情報配信装置の一例〕
まず、図１を用いて、決定装置の一例となる情報配信装置が実行する決定処理の一例について説明する。図１は、実施形態に係る情報配信装置が実行する決定処理の一例を示す図である。
【００１３】
なお、以下の説明では、情報配信装置１０が利用者Ｕ０１が利用する利用者端末２００に広告に係るコンテンツを配信する例について説明するが、実施形態は、これに限定されるものではない。すなわち、情報配信装置１０は、利用者Ｕ０１のデモグラフィック属性やサイコグラフィック属性、利用者Ｕ０１の行動履歴等、利用者Ｕ０１の各種属性に応じたコンテンツを利用者Ｕ０１に配信するのであれば、任意のコンテンツを利用者Ｕ０１に配信してよい。
【００１４】
また、広告に関するコンテンツとは、営利若しくは非営利の広告だけではなく、ボランティアの募集、公共広告、公共に対する通知、その他任意のコンテンツであるものとする。すなわち、コンテンツは、いわゆる広告関連の情報を含むコンテンツのみならず、利用者に興味を抱かせ、コンテンツに含まれる情報、または、コンテンツと関連するコンテンツ（例えば、ランディングページ等）に含まれる情報を広く報知するものであれば、画像、動画像、文字、図形、記号、ハイパーリンク、その他任意のコンテンツがテキストと共に含まれていてよい。また、コンテンツが広告に関するコンテンツである場合、広告の登録を行う情報処理装置（例えば、配信主サーバ３００）は、所謂広告主が使用する情報処理装置のみならず、広告主からの依頼により広告の作成や登録等を行う広告業者が使用する情報処理装置であってもよい。
【００１５】
情報配信装置１０は、インターネット等の所定のネットワークＮを介して、ログサーバ１００、利用者端末２００、および広告の配信を要求する配信主が利用する配信主サーバ３００（例えば、図２を参照）と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報配信装置１０は、ネットワークＮを介して、任意の数のログサーバ１００、利用者端末２００、および配信主サーバ３００と通信可能であってよい。
【００１６】
ログサーバ１００は、利用者Ｕ０１に関する各種のログを収集する。例えば、ログサーバ１００は、利用者Ｕ０１の性別、年代、住所等といったデモグラフィック属性や、趣味趣向等のサイコグラフィック属性、利用者Ｕ０１の現在位置、ウェブコンテンツの視聴履歴、電子商取引の対象を購入した購入履歴、検索クエリの履歴等、利用者Ｕ０１に関する任意の情報を利用者Ｕ０１の属性情報として収集する。なお、このような利用者Ｕ０１の属性情報は、例えば、Ｂｃｏｏｋｉｅ等の技術を用いて取得される。
【００１７】
利用者端末２００は、スマートフォンやタブレット等のスマートデバイスであり、３Ｇ（3rd  Generation）やＬＴＥ（Long  Term  Evolution）等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。なお、利用者端末２００は、スマートデバイスのみならず、デスクトップＰＣやノートＰＣ等の情報処理装置であってもよい。
【００１８】
配信主サーバ３００は、広告の配信主が利用する情報処理装置であり、サーバ装置やＰＣ等により実現される。例えば、配信主サーバ３００は、配信対象となる広告を情報配信装置１０に登録する際、広告の配信先となる利用者の条件を示す条件情報を登録する。より具体的には、配信主サーバ３００は、配信先となる利用者の属性をブール演算式（以下、「論理式」と記載する。）で指定する。例えば、配信主サーバ３００は、「３０代」の「男性」であって「プラモデル」が好きな属性を有する利用者に対して広告＃１を配信したい場合、条件「３０代」、「男性」および「プラモデル」からなる論理式「３０代ａｎｄ男性ａｎｄプラモデル」を、広告＃１の条件情報として登録する。
【００１９】
このような場合、配信主サーバ３００は、広告の配信要求を利用者端末２００から受け付けると、利用者Ｕ０１の属性情報をログサーバ１００から取得する。そして、配信主サーバ３００は、取得した属性情報が、論理式「３０代ａｎｄ男性ａｎｄプラモデル」を満たすか否かを判定し、満たす場合には、広告＃１を利用者端末２００へと配信する。すなわち、情報配信装置１０は、ブール演算式を用いたコンテンツのターゲティング検索を実行する。
【００２０】
なお、以下の説明では、配信対象となる広告に対して予め設定された条件情報に含まれる各属性、すなわち、論理式の各要素となる属性を「条件」と総称する。
【００２１】
〔２．広告の配信について〕
ここで、情報配信装置１０が広告を配信する処理の一例について説明する。例えば、情報配信装置１０は、論理積が成立する場合に広告が配信対象となる複数の条件の組、すなわち、論理積を構成する条件の組（以下、「論理積の組」と総称する。）を複数記憶する場合がある。例えば、情報配信装置１０は、「（ＡａｎｄＢ）ｏｒ（ＣａｎｄＤ）ｏｒ（Ｅ）」というように、論理積が成立する場合に広告が配信対象となる条件「Ａ」と「Ｂ」の組、条件「Ｃ」と「Ｄ」の組、および条件「Ｅ」の組を記憶する。このような場合、情報配信装置１０は、属性情報に、属性「Ａ」と「Ｂ」の組、属性「Ｃ」と「Ｄ」の組、または属性「Ｅ」が含まれている場合は、対応する広告を配信対象として選択する。
【００２２】
なお、情報配信装置１０は、属性情報が条件を満たす広告を検索する手法としては、公知の技術が採用可能である。以下の説明では、インターバルアルゴリズムを用いた論理演算を行うことで、配信先となる利用者の属性条件に適合する条件情報が対応付けられた広告を選択する処理の一例について説明するが、実施形態は、これに限定されるものではない。
【００２３】
ここで、広告の配信先の条件として、日時や頻度に応じた条件を設定したいという要望が考えられる。例えば、所定の検索クエリを、所定の期間内に、所定の回数だけ検索した利用者に対して、広告を配信したいという要望が考えられる。しかしながら、このような要望を実現する場合、従来技術では、許容範囲が設定された条件情報を、情報の配信先となる利用者の属性と設定可能な日時や頻度の組み合わせごとに展開することとなる。この結果、属性情報と比較する条件情報の数が増大する結果、配信対象となる情報を迅速に抽出できない恐れがある。
【００２４】
〔２−１．決定処理について〕
そこで、情報配信装置１０は、以下の決定処理を行う。例えば、情報配信装置１０は、配信先の属性を示す属性情報を含むクエリを受け付けた場合は、所定の情報の配信先の属性を示す複数の条件であって、許容範囲が設定された条件を含む複数の条件がブール演算式で表現された条件情報を参照する。また、情報配信装置１０は、属性情報が、複数の条件と一致するか否かを判定する。そして、情報配信装置１０は、複数の条件のうち許容範囲が設定された条件と属性情報とが一致すると判定された場合は、属性情報が、当該条件に設定された許容範囲を満たすか否かを判定する。また、情報配信装置１０は、各判定結果に基づいて、所定の情報を配信対象とするか否かを決定する。
【００２５】
すなわち、情報配信装置１０は、許容範囲を考慮せずに、属性情報が条件と一致するか否かを判定し、許容範囲が設定された条件と属性情報とが一致すると判定した場合にのみ、その属性情報がその条件に設定された許容範囲を満たすか否かを判定する。例えば、情報配信装置１０は、広告の条件として、所定の検索クエリを「７日」以内に「２回」以上入力したことが設定されている場合、属性情報から、期間や頻度などにかかわらず、利用者が所定の検索クエリを入力したか否かのみを先に判定する。そして、情報配信装置１０は、利用者が所定の検索クエリを入力したと判定した場合にのみ、利用者が所定の検索クエリを入力した期間や頻度を判定する。
【００２６】
以下、決定処理の一例について説明する。例えば、情報配信装置１０は、広告の配信先を示す条件情報として、許容範囲が設定されている旨を示す情報が付加された論理式と、許容範囲を示す許容範囲情報とを受け付ける。例えば、許容範囲が設定されている旨を示す情報を、論理式において「※」と記載する。このような場合、情報配信装置１０は、論理式「Ａａｎｄ（ＢｏｒＣ）ａｎｄ※Ｄ」といった条件情報を受け付けるとともに、許容範囲情報「ｒｅｃｅｎｃｙ＝７、ｆｒｅｑｕｅｎｃｙ＝２」を受け付ける。
【００２７】
ここで、論理式「Ａａｎｄ（ＢｏｒＣ）ａｎｄ※Ｄ」は、配信先の属性情報が属性「Ａ」を含み、かつ、属性「Ｂ」または属性「Ｃ」を含み、かつ、属性「Ｄ」が所定の許容範囲内である場合に、広告を配信対象とするといった条件を示す。また、許容範囲情報「ｒｅｃｅｎｃｙ＝７、ｆｒｅｑｕｅｎｃｙ＝２」は、配信先が、許容範囲情報に対応する条件を、「７」日以内に、「２」回以上満たした旨を示す。例えば、属性「Ｄ」が「ドーナツ」という検索クエリを入力した旨を示す場合、上述した論理式と許容範囲情報とは、配信先が、検索クエリ「ドーナツ」を「７」日以内に、「２」回以上検索したという条件を示す。このように、情報配信装置１０は、条件情報と、条件情報に含まれる条件に対して設定された許容範囲を示す許容範囲情報との登録を個別に受け付ける。
【００２８】
一方、情報配信装置１０は、属性情報として、配信先の属性とその属性に関する数値との組を受けつける。例えば、情報配信装置１０は、属性情報として「Ａ、Ｃ、Ｄ（ｒｅｃｅｎｃｙ＝３、ｆｒｅｑｕｅｎｃｙ＝３）」といった情報を受け付ける。かかる属性情報は、配信先が属性「Ａ」、属性「Ｃ」、および属性「Ｄ」であり、属性「Ｄ」を「３」日以内に、「３」回以上満たした旨を示す。
【００２９】
そして、情報配信装置１０は、属性情報をクエリとして受け付けた場合、インターバルアルゴリズムを用いて、論理式に含まれる各条件が属性情報と一致するか否かを判定する。すなわち、情報配信装置１０は、許容範囲情報が設定されていないものとして、論理式に含まれる各条件が属性情報と一致するか否かを判定する。そして、情報配信装置１０は、許容範囲が設定されている条件が属性情報と一致した場合は、属性情報が許容範囲を満たすか否かを判定するサブルーチンを実行し、属性情報が許容範囲を満たすか否かを判定する。その後、情報配信装置１０は、属性情報を満たす条件が論理式を満たし、かつ、属性情報が条件のうち論理式を満たした条件に対して設定される全ての許容範囲を満たすと判定された場合は、所定の情報を配信対象に決定する。
【００３０】
例えば、情報配信装置１０は、属性情報に含まれる属性「Ａ」、「Ｃ」、「Ｄ」が条件情報に含まれる条件「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」と一致するか否かを判定する。また、情報配信装置１０は、許容範囲が設定された条件「Ｄ」が属性「Ｄ」と一致した場合は、属性「Ｄ」に設定されていた数値「ｒｅｃｅｎｃｙ＝３、ｆｒｅｑｕｅｎｃｙ＝３」が、条件「Ｄ」に設定されていた許容範囲情報「ｒｅｃｅｎｃｙ＝７、ｆｒｅｑｕｅｎｃｙ＝２」を満たすか否かを判定する。
【００３１】
例えば、情報配信装置１０は、属性に設定されていた「ｒｅｃｅｎｃｙ」の値が、条件に設定されていた「ｒｅｃｅｎｃｙ」の値以下となり、かつ、属性に設定されていた「ｆｒｅｑｕｅｎｃｙ」の値が、条件に設定されていた「ｆｒｅｑｕｅｎｃｙ」の値以上となるか否かを判定する。そして、情報配信装置１０は、属性に設定されていた「ｒｅｃｅｎｃｙ」の値が、条件に設定されていた「ｒｅｃｅｎｃｙ」の値以下となり、かつ、属性に設定されていた「ｆｒｅｑｕｅｎｃｙ」の値が、条件に設定されていた「ｆｒｅｑｕｅｎｃｙ」の値以上となる場合は、属性情報に設定された数値が条件に設定された許容範囲を満たすと判定する。
【００３２】
この結果、上述した例では、論理式「Ａａｎｄ（ＢｏｒＣ）ａｎｄ※Ｄ」に含まれる条件のうち、条件「Ａ」、条件「Ｃ」、および条件「Ｄ」が属性情報と一致するため、クエリとして受け付けた属性情報は、論理式を満たすこととなる。また、上述した例では、論理式「Ａａｎｄ（ＢｏｒＣ）ａｎｄ※Ｄ」に含まれる条件のうち、論理式を満たす要因となった条件「Ａ」、条件「Ｃ」、および条件「Ｄ」に対して設定される全ての許容範囲、すなわち、条件「Ｄ」に対して設定された許容範囲を属性情報が満たすこととなる。この結果、情報配信装置１０は、上述した論理式が条件情報として設定された広告を配信対象とする。
【００３３】
〔２−２．複数の設定について〕
なお、情報配信装置１０は、許容範囲を設定された複数の条件を含む条件情報を受け付けてもよい。例えば、情報配信装置１０は、論理式「Ａａｎｄ（Ｂｏｒ※Ｃ）ａｎｄ※Ｄ」といった条件情報と、条件「Ｂ」に対応する許容範囲情報と、条件「Ｄ」に対応する許容範囲情報とを受け付けてもよい。
【００３４】
このような場合、情報配信装置１０は、属性情報に含まれる属性と、条件「Ａ」、条件「Ｂ」、条件「Ｃ」、条件「Ｄ」が一致するか否かを判定し、属性情報に条件「Ｃ」と一致する属性「Ｃ」が含まれる場合は、属性「Ｃ」に対して設定されていた数値が条件「Ｃ」に対応する許容範囲情報を満たすか否かを判定する。また、情報配信装置１０は、属性情報に条件「Ｄ」と一致する属性「Ｄ」が含まれる場合は、属性「Ｄ」に対して設定されていた数値が条件「Ｄ」に対応する許容範囲情報を満たすか否かを判定する。
【００３５】
また、例えば、情報配信装置１０は、条件「Ａ」、条件「Ｃ」、および条件「Ｄ」が属性情報と一致した場合は、属性「Ｃ」に対して設定されていた数値が条件「Ｃ」に対応する許容範囲情報を満たし、かつ、属性「Ｄ」に対して設定されていた数値が条件「Ｄ」に対応する許容範囲情報を満たすか否かを判定する。すなわち、情報配信装置１０は、論理式「Ａａｎｄ（Ｂｏｒ※Ｃ）ａｎｄ※Ｄ」を満たす要因となった条件「Ａ」、条件「Ｃ」、および条件「Ｄ」のうち、許容範囲が設定された条件「Ｃ」および条件「Ｄ」に対して設定される許容範囲を属性条件が満たすか否かを判定する。そして、情報配信装置１０は、属性「Ｃ」に対して設定されていた数値が条件「Ｃ」に対応する許容範囲情報を満たし、かつ、属性「Ｄ」に対して設定されていた数値が条件「Ｄ」に対応する許容範囲情報を満たす場合は、条件情報に対する広告を配信対象とする。
【００３６】
また、例えば、情報配信装置１０は、条件「Ａ」、条件「Ｂ」、および条件「Ｄ」が属性情報と一致した場合は、属性「Ｄ」に対して設定されていた数値が条件「Ｄ」に対応する許容範囲情報を満たすか否かを判定する。すなわち、情報配信装置１０は、論理式「Ａａｎｄ（Ｂｏｒ※Ｃ）ａｎｄ※Ｄ」を満たす要因となった条件「Ａ」、条件「Ｂ」、および条件「Ｄ」のうち、許容範囲が設定された条件「Ｄ」に対して設定される許容範囲を属性条件が満たすか否かを判定する。そして、情報配信装置１０は、属性「Ｄ」に対して設定されていた数値が条件「Ｄ」に対応する許容範囲情報を満たす場合は、条件情報に対する広告を配信対象とする。
【００３７】
このように、情報配信装置１０は、条件に許容範囲が設定されている場合は、条件が属性情報と一致するか否かを判定し、条件が属性情報と一致した場合にのみ、属性情報が許容範囲を満たすか否かを判定する。そして、情報配信装置１０は、判定結果に基づいて、広告を配信対象とするか否かを決定する。この結果、情報配信装置１０は、許容範囲が含まれている場合に、条件情報を、許容範囲を満たす複数の条件情報に展開せずとも、条件情報と属性情報とが一致するか否かを判定できるので、配信対象となる広告を迅速に抽出できる。
【００３８】
例えば、従来技術では、条件情報に許容範囲が設定される度に、展開後の条件情報の数が指数関数的に増大するため、条件情報と属性情報との比較におけるレイテンシもそれに従って増加する。しかしながら、情報配信装置１０は、条件情報に許容範囲が設定されたとしても、条件情報と属性情報との比較におけるレイテンシは、１つの属性情報と１つの条件情報との比較におけるレイテンシと、属性情報の数値が設定された許容範囲を満たすか否かを判定するレイテンシとなる。ここで、属性情報の数値が設定された許容範囲を満たすか否かを判定するレイテンシは、許容範囲の数に対して線形的（例えば、整数倍）に増加するに過ぎない。このため、情報配信装置１０は、条件情報に許容範囲が設定されたとしても、条件情報と属性情報との比較におけるレイテンシを抑えることができる。
【００３９】
〔２−３．許容範囲が設定される条件や属性について〕
ここで、上述した例では、許容範囲が設定される条件として、条件「Ｄ」といった概念的な条件について説明した。ここで、許容範囲が設定される条件には、任意の条件が採用可能である。
【００４０】
例えば、情報配信装置１０は、配信先の年代が所定の許容範囲に収まるか否か、配信先の所在地が所定の領域内に収まるか否か、配信先が所定の行動を所定の期間内に行ったか否か、配信先が所定の行動を所定の頻度で行ったか否か等、任意の条件について任意の許容範囲の設定を受け付けてよい。例えば、情報配信装置１０は、配信先の行動を示す条件と、その行動を行った期間や頻度を示す許容範囲情報とを受け付けた場合、配信先がその行動を行ったか否か（すなわち、条件が属性と一致するか否か）のみを判定し、行動を行ったと判定された場合にのみ、その行動を行った日時や頻度が許容範囲内であるか否かを判定すればよい。すなわち、情報配信装置１０は、広告を配信する条件と、その条件に対して設定された許容範囲とを、属性情報と個別に比較するのであれば、任意の条件と任意の許容範囲とが設定可能である。
【００４１】
例えば、情報配信装置１０は、属性情報として、配信先が行った行動を示す行動情報とその行動を行った日時、頻度、または回数との組を受け付けた場合は、その組に含まれる行動情報が示す行動が、条件が示す行動と一致するか否かを判定する。そして、情報配信装置１０は、行動情報が示す行動が、条件が示す行動と一致すると判定された場合は、その組に含まれる日時、頻度、または回数が、条件に設定された許容範囲を満たすか否かを判定すればよい。例えば、情報配信装置１０は、配信先が入力した検索クエリを行動情報として受け付けるとともに、その検索クエリを入力した日時、頻度、または回数を受け付けてもよい。
【００４２】
〔２−４．決定処理の一例〕
以下、情報配信装置１０が実行する決定処理の具体的な例について説明する。なお、図１に示す例では、属性情報「Ａ」〜「Ｅ」や条件「Ａ」〜「Ｅ」を「属性Ａ」〜「属性Ｅ」と記載した。まず、情報配信装置１０は、配信対象となる広告と条件情報と係数との登録を受け付ける。このような場合、情報配信装置１０は、インターバルアルゴリズムを用いてインデックスを生成しておく（ステップＳ１）。
【００４３】
例えば、情報配信装置１０は、広告のデータと、論理式「Ａａｎｄ（ＢｏｒＣ）ａｎｄ※Ｄ」と、条件「Ｄ」に対応する許容範囲情報「※Ｄ［ｒｅｃｅｎｃｙ＝７、ｆｒｅｑｕｅｎｃｙ＝２］」を受け付ける。このような場合、情報配信装置１０は、論理和を構成する複数の特徴に対して、１〜４０９５の連続値のうち同じ範囲を割り当て、論理積を構成する１つまたは複数の特徴に対して、１〜４０９５の連続値を割り当てる。例えば、情報配信装置１０は、条件「Ａ」に対して初値「１」と終値「１」とを連続値として割り当て、条件「Ｂ」に対して初値「２」と終値「２」とを連続値として割り当てる。また、情報配信装置１０は、条件「Ｃ」に対して初値「２」と終値「２」とを連続値として割り当て、条件「Ｄ」に対して初値「３」と終値「４０９５」とを連続値として割り当る。そして、情報配信装置１０は、受け付けた広告を識別する広告ＩＤ「広告＃１」を生成し、広告ＩＤ、初値、終値を含むインデックスを生成し、生成したインデックスを記憶する。
【００４４】
一方、ログサーバ１００は、所定のタイミングで、利用者Ｕ０１の属性情報を収集する（ステップＳ２）。例えば、ログサーバ１００は、利用者Ｕ０１の性別、年代、居住地域、検索クエリの履歴、興味や関心を有する事象等を属性情報として収集する。なお、ログサーバ１００は、利用者Ｕ０１の操作や閲覧等に関する各種ログを収集し、収集したログを解析することで、利用者Ｕ０１の属性情報を取得してもよい。
【００４５】
ここで、利用者端末２００は、利用者Ｕ０１の操作に応じて、各種のウェブコンテンツをウェブサーバ（図示は、省略）から取得したものとする（ステップＳ３）。このようなウェブコンテンツには、所定の広告領域が配置されており、かかる広告領域に配置して表示する広告を取得する旨の指示が含まれている。そこで、利用者端末２００は、広告リクエストを情報配信装置１０に対して送信する（ステップＳ４）。
【００４６】
このような場合、情報配信装置１０は、利用者Ｕ０１の属性情報をログサーバ１００に要求する（ステップＳ５）。この結果、ログサーバ１００は、利用者Ｕ０１の属性情報を情報配信装置１０へと提供する（ステップＳ６）。例えば、ログサーバ１００は、利用者Ｕ０１の属性情報として、属性「Ａ」、属性「Ｃ」、および属性「Ｄ（ｒｅｃｅｎｃｙ＝３、ｆｒｅｑｕｅｎｃｙ＝３）」を提供する。そして、情報配信装置１０は、論理式に含まれる条件のみを、属性情報と比較して一致するかを判定する（ステップＳ７）。すなわち、情報配信装置１０は、許容範囲情報を考慮せずに、インターバルアルゴリズムを用いて、属性情報が条件情報を満たすか否かを判定する。
【００４７】
例えば、情報配信装置１０は、属性「Ａ」、属性「Ｃ」、および属性「Ｄ」を属性情報とし、広告ＩＤ（Identity）「広告＃１」および広告ＩＤ「広告＃２」が示す広告の論理式に含まれる条件とクエリの属性情報とが一致するか否かを判定する。また、情報配信装置１０は、条件が属性情報と一致した場合は、その条件と対応付けられた連続値のうち、初値と終値とを所定の判定行列に格納し、所定の値まで達したか否かを判定する。
【００４８】
例えば、情報配信装置１０は、論理式「Ａａｎｄ（ＢｏｒＣ）ａｎｄ※Ｄ」に含まれる条件のうち、条件「Ａ」、条件「Ｃ」、および条件「Ｄ」が属性情報の属性「Ａ」、属性「Ｃ」、および属性「Ｄ」と一致すると判定する。このような場合、情報配信装置１０は、判定行列を用いて、条件「Ａ」、条件「Ｃ」、および条件「Ｄ」に割り当てられた連続値が「１」から「４０９５」まで連続しているか否かを判定する。ここで、条件「Ａ」に対しては、初値「１」と終値「１」とが連続値として割り当てられており、条件「Ｃ」に対しては、初値「２」と終値「２」とが連続値として割り当てられており、条件「Ｄ」に対しては、初値「３」と終値「４０９５」とが連続値として割り当てられている。このため、情報配信装置１０は、連続値が「４０９５」まで連続すると判定し、属性情報が広告ＩＤ「広告＃１」の論理式を満たすと判定する。
【００４９】
このようなインターバルアルゴリズムを用いた処理と並行して、情報配信装置１０は、属性情報と一致した条件に許容範囲が設定されているか否かを判定し、設定されている場合は、属性情報が許容範囲を満たすか否かを判定する（ステップＳ８）。例えば、図１に示す例では、条件「Ｄ」に許容範囲が設定されている。このような場合、情報配信装置１０は、属性情報の属性「Ｄ」に設定されている数値「（ｒｅｃｅｎｃｙ＝３、ｆｒｅｑｕｅｎｃｙ＝３）」が、許容範囲情報「※Ｄ［ｒｅｃｅｎｃｙ＝７、ｆｒｅｑｕｅｎｃｙ＝２］」を満たすか否かを判定する。より具体的には、情報配信装置１０は、属性情報の「ｒｅｃｅｎｃｙ」の値が許容範囲情報に含まれる「ｒｅｃｅｎｃｙ」の値以下となり、かつ、属性情報の「ｆｒｅｑｕｅｎｃｙ」の値が許容範囲情報に含まれる「ｆｒｅｑｕｅｎｃｙ」の値以上となるか否かを判定する。そして、情報配信装置１０は、属性情報の「ｒｅｃｅｎｃｙ」の値が許容範囲情報に含まれる「ｒｅｃｅｎｃｙ」の値以下となり、かつ、属性情報の「ｆｒｅｑｕｅｎｃｙ」の値が許容範囲情報に含まれる「ｆｒｅｑｕｅｎｃｙ」の値以上となる場合は、属性情報の数値が許容範囲情報を満たすと判定する。
【００５０】
また、情報配信装置１０は、論理式と属性情報の一致結果と、許容範囲情報と数値との比較結果とに応じて、配信対象となる広告を決定する。例えば、情報配信装置１０は、条件「Ａ」、条件「Ｂ」、および条件「Ｄ」が属性情報と一致し、かつ、論理式を満たす要因となった条件「Ａ」、条件「Ｂ」、および条件「Ｄ」のうち、許容範囲が設定された条件「Ｄ」に対して設定される許容範囲を属性条件が満たした場合は、広告ＩＤ「広告＃１」の広告を配信対象とする。そして、情報配信装置１０は、配信対象とした広告、すなわち、属性情報がヒットした広告を利用者端末２００に配信する（ステップＳ９）。
【００５１】
〔３．情報配信装置の構成〕
以下、上記した情報配信装置１０が有する機能構成の一例について説明する。図２は、実施形態に係る情報配信装置の構成例を示す図である。図２に示すように、情報配信装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００５２】
通信部２０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部２０は、ネットワークＮと有線または無線で接続され、情報配信装置１０や利用者端末２００との間で情報の送受信を行う。
【００５３】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部３０は、広告データベース３１およびインデックスデータベース３２を記憶する。
【００５４】
広告データベース３１には、配信対象となる広告が登録されている。例えば、図３は、実施形態に係る広告データベースに登録される情報の一例を示す図である。図３に示す例では、広告データベース３１には、「広告ＩＤ」、「コンテンツデータ」、「論理式」、および「許容範囲情報」といった情報が登録されている。なお、広告データベース３１には、図３に示す情報以外にも、例えば、ＣＴＲ（Click  Through  Rate）やＣＰＭ（Cost  Per  Mille）等、広告に関する任意の情報が登録されていてもよい。
【００５５】
ここで、「広告ＩＤ」とは、広告を識別する識別子である。また、「コンテンツデータ」とは、対応付けられた「広告ＩＤ」が示す広告の画像や文章等、広告として表示するコンテンツのデータである。また、「論理式」とは、対応付けられた「広告ＩＤ」が示す広告の配信先となる利用者の属性を示す論理式、すなわち、配信先の属性の条件を示す論理式である。また、「許容範囲情報」とは、対応付けられた論理式に含まれる条件に対して設定された許容範囲情報である。
【００５６】
例えば、図３に示す例では、広告データベース３１には、広告ＩＤ「広告＃１」、コンテンツデータ「コンテンツ＃１」、論理式「Ａａｎｄ（ＢｏｒＣ）ａｎｄ※Ｄ」、および許容範囲情報「※Ｄ［ｒｅｃｅｎｃｙ＝７、ｆｒｅｑｕｅｎｃｙ＝２］」が登録されている。このような情報は、広告ＩＤ「広告＃１」が示す広告として表示されるコンテンツのデータが、コンテンツデータ「コンテンツ＃１」であり、論理式「Ａａｎｄ（ＢｏｒＣ）ａｎｄ※Ｄ」が示す属性の配信先をターゲットとし、条件Ｄに許容範囲情報「※Ｄ［ｒｅｃｅｎｃｙ＝７、ｆｒｅｑｕｅｎｃｙ＝２］」が示す許容範囲が設定されている旨を示す。
【００５７】
なお、図３に示す例では、「広告＃１」、「コンテンツ＃１」等という概念的な値を記載したが、実際には、広告データベース３１には、広告を識別する数値や文字列、コンテンツを構成する文字や画像のデータ等が登録されることとなる。
【００５８】
図２に戻り、説明を続ける。インデックスデータベース３２には、各広告のインデックスが登録される。例えば、図４は、実施形態に係るインデックスデータベースに登録される情報の一例を示す図である。図４に示す例では、インデックスデータベース３２には、「条件」、「広告ＩＤ（３２ビット）」、「初値（１２ビット）」および「終値（１２ビット）」といった項目が登録されている。なお、各項目の括弧内に記載したビット数は、各項目のデータ長を示す情報であり、以下の記載を省略する。
【００５９】
ここで「条件」とは、各項目の論理式に含まれる条件であり、広告の配信先となる利用者の属性を示す情報である。また、「初値」とは、連続値の初値である。また、「終値」とは、連続値の終値である。例えば、図４に示す例では、条件「属性Ａ」、広告ＩＤ「広告＃１」、初値「１」および終値「１」が対応付けて登録されている。このような情報は、広告ＩＤ「広告＃１」が示す広告について、条件「属性Ａ」（すなわち、条件「Ａ」）に対し、連続値の初値「１」および連続値の終値「１」が設定されている旨を示す。なお、図４に示す情報のうち、「条件」は、インデックス本体とは異なる情報であり、インデックスには、「広告ＩＤ」、「初値」および「終値」からなる情報が含まれるものとする。なお、インデックスデータベース３２におけるデータ構造は、図４に示す構造に限定されるものではい。例えば、インデックスデータベース３２は、設定可能な条件ごとに異なるページを有し、各ページに対応するインデックスが登録されてもよい。
【００６０】
図２に戻り、説明を続ける。制御部４０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、情報配信装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。なお、制御部４０は、インデックスの読み込みを行う演算処理装置となる。
【００６１】
図２に示すように、制御部４０は、登録受付部４１、インデックス生成部４２、要求受付部４３、第１判定部４４、第２判定部４５、決定部４６、および配信部４７を有する。登録受付部４１は、広告の登録を受け付ける。例えば、登録受付部４１は、配信主サーバ３００から、配信対象となる広告のコンテンツデータと、配信先の条件を含む論理式と、許容範囲情報との登録を受け付ける。このような場合、登録受付部４１は、広告ＩＤを生成し、広告ＩＤと受け付けた各種のデータとをインデックス生成部４２に提供する。
【００６２】
インデックス生成部４２は、広告のインデックスを生成する。例えば、インデックス生成部４２は、受け付けた論理式を解析し、論理和を構成する複数の特徴に対して、１〜４０９５の連続値のうち同じ範囲を割り当て、論理積を構成する１つまたは複数の特徴に対して、１〜４０９５の連続値を割り当てることで、各条件に連続値を割り当てる。また、インデックス生成部４２は、条件式が複数の論理積の論理和となる場合、各論理積に含まれる条件に対しては、終値の値が重複しないように連続値を割り当てる。そして、インデックス生成部４２は、広告ＩＤ、連続値の初値および連続値の終値を対応付けたインデックスを条件ごとに生成し、インデックスデータベース３２に登録する。また、インデックス生成部４２は、広告ＩＤ、コンテンツデータ、論理式および許容範囲情報を広告データベース３１に登録する。
【００６３】
要求受付部４３は、利用者端末２００から広告リクエストを受け付ける。このような場合、要求受付部４３は、利用者端末２００を利用する利用者Ｕ０１の情報をログサーバ１００へと送信し、利用者Ｕ０１の属性情報を取得する。例えば、要求受付部４３は、利用者端末２００を識別する端末識別子を利用者Ｕ０１を示す情報として送信し、利用者Ｕ０１の属性情報を取得する。そして、要求受付部４３は、受け付けた属性情報をクエリとして第１判定部４４に提供する。
【００６４】
第１判定部４４は、配信先の属性を示す属性情報を含むクエリを受け付けた場合は、広告の配信先の属性を示す複数の条件であって、許容範囲が設定された条件を含む複数の条件がブール演算式で表現された条件情報を参照し、属性情報が、複数の条件と一致するか否かを判定する。より具体的には、第１判定部４４は、条件情報に配信先の属性を示す条件であって、属性に関する許容範囲が設定された条件が含まれている場合は、条件が示す属性と属性情報が示す属性とが一致するか否かを判定する。
【００６５】
また、第１判定部４４は、条件情報に配信先が行った行動を示す条件であって、行動を行った日時、頻度、または回数に関する許容範囲が設定された条件が含まれている場合は、条件が示す行動と属性情報が示す行動とが一致するか否かを判定する。具体的な例を挙げると、第１判定部４４は、条件情報に配信先が入力した検索クエリと、検索クエリを入力した日時、頻度、または回数に関する許容範囲が設定された条件が含まれている場合は、その検索クエリと、属性情報が示す検索クエリとが一致するか否かを判定する。
【００６６】
より具体的な例を説明する。なお、以下の説明では、図３、図４に示す情報が各データベース３１、３２に登録されているものとする。例えば、情報配信装置１０は、属性「Ａ」、属性「Ｃ」、および属性「Ｄ（ｒｅｃｅｎｃｙ＝３、ｆｒｅｑｕｅｎｃｙ＝３）」をクエリとして受け付ける。
【００６７】
このような場合、例えば、第１判定部４４は、広告ＩＤ「広告＃１」を含むインデックスの終値を参照し、終値の値が最も小さいインデックスと対応する条件「Ａ」を選択する。ここで、クエリに属性「Ａ」が含まれているので、第１判定部４４は、判定行列に条件「Ａ」の初値「１」および終値「１」に対応する要素に「１」を格納する。続いて、第１判定部４４は、広告ＩＤ「広告＃１」を含むインデックスの終値を参照し、終値の値が最も小さいインデックスと対応する条件「Ｂ」を選択する。ここで、クエリに属性「Ｂ」が含まれていないので、第１判定部４４は、広告ＩＤ「広告＃１」を含むインデックスの終値を参照し、終値の値が最も小さいインデックスと対応する他の条件「Ｃ」を選択する。ここで、クエリに属性「Ｃ」が含まれているので、第１判定部４４は、判定行列に条件「Ｃ」の初値「２」および終値「２」に対応する要素に「１」を格納する。
【００６８】
続いて、第１判定部４４は、広告ＩＤ「広告＃１」を含むインデックスの終値を参照し、終値の値が最も小さいインデックスと対応する条件「Ｄ」を選択する。ここで、クエリに属性「Ｄ」が含まれているので、第１判定部４４は、判定行列に条件「Ｄ」の初値「３」および終値「４０９５」に対応する要素に「１」を格納する。この結果、判定行列の先頭から終端まで値「１」が連続して格納されることとなるので、第１判定部４４は、属性情報が広告ＩＤ「広告＃１」の論理式を満たすと判定することができる。このような処理を再帰的に行うことで、第１判定部４４は、属性情報が条件情報を満たすか否かを判定する。
【００６９】
第２判定部４５は、属性情報が、複数の条件のうち、許容範囲が設定された条件と一致すると判定された場合は、属性情報が、条件に設定された許容範囲を満たすか否かを判定する。より具体的には、第２判定部４５は、属性情報に含まれる属性が条件が示す属性と一致した場合は、属性情報に含まれる数値が条件に含まれる許容範囲を満たすか否かを判定する。例えば、第２判定部４５は、行動情報が示す行動が、条件が示す行動と一致すると判定された場合は、行動情報の組に含まれる日時、頻度、または回数が、条件に設定された許容範囲を満たすか否かを判定する。
【００７０】
例えば、第２判定部４５は、許容範囲が設定されている条件「Ｄ」と属性情報の属性「Ｄ」とが一致したと第１判定部４４により判定された場合は、条件「Ｄ」の許容範囲情報「※Ｄ［ｒｅｃｅｎｃｙ＝７、ｆｒｅｑｕｅｎｃｙ＝２］」を広告データベース３１から読み出す。そして、第２判定部４５は、属性「Ｄ」に設定されていた数値「（ｒｅｃｅｎｃｙ＝３、ｆｒｅｑｕｅｎｃｙ＝３）」が、許容範囲情報「※Ｄ［ｒｅｃｅｎｃｙ＝７、ｆｒｅｑｕｅｎｃｙ＝２］」を満たすか否かを判定する。そして、情報配信装置１０は、属性情報の「ｒｅｃｅｎｃｙ」の値が許容範囲情報に含まれる「ｒｅｃｅｎｃｙ」の値以下となり、かつ、属性情報の「ｆｒｅｑｕｅｎｃｙ」の値が許容範囲情報に含まれる「ｆｒｅｑｕｅｎｃｙ」の値以上となる場合は、属性情報の数値が許容範囲情報を満たすと判定する。
【００７１】
決定部４６は、第１判定部４４および第２判定部４５による判定結果に基づいて、広告を配信対象とするか否かを決定する。より具体的には、決定部４６は、条件情報に含まれる条件のうち属性情報と一致した条件がブール演算式を満たし、かつ、属性情報がブール演算式を満たした条件に対して設定される全ての許容範囲を満たすと判定された場合は、条件情報に対応する広告を配信対象とする。
【００７２】
例えば、決定部４６は、論理式「Ａａｎｄ（ＢｏｒＣ）ａｎｄ※Ｄ」に含まれる条件のうち、条件「Ａ」、条件「Ｃ」、および条件「Ｄ」が属性情報と一致した場合は、属性情報と一致した条件が論理式を満たすと判定する。また、決定部４６は、論理式を満たす要因となった条件「Ａ」、条件「Ｃ」、および条件「Ｄ」に対して設定される全ての許容範囲、すなわち、条件「Ｄ」に対して設定された許容範囲を属性情報が満たした場合は、属性情報が条件情報の許容範囲を満たすと判定する。この結果、決定部４６は、対応する広告、すなわち、広告ＩＤ「広告＃１」が示す広告を配信対象とする。
【００７３】
配信部４７は、配信対象に決定された広告を利用者端末２００へと配信する。例えば、配信部４７は、配信対象に決定された広告の中から、あらかじめ設定された入札スコアの値など、所定の条件に応じて配信対象となる広告をさらに選択し、選択した広告を配信する。
【００７４】
〔４．情報配信装置が実行する処理の流れの一例〕
続いて、図５を用いて、情報配信装置１０が実行する決定処理の流れについて説明する。図５は、実施形態に係る情報配信装置が実行する決定処理の流れの一例を示すフローチャートである。なお、情報配信装置１０は、図５に示す処理を、各広告ごとに並列して実行可能である。
【００７５】
例えば、情報配信装置１０は、クエリとなる属性情報をログサーバ１００から受け付ける（ステップＳ１０１）。このような場合、情報配信装置１０は、条件情報のうち、数値以外の範囲を参照し（ステップＳ１０２）、条件情報を参照する（ステップＳ１０３）。そして、情報配信装置１０は、属性情報に含まれる属性が、条件情報に含まれる条件が示す属性と一致するか否かを判定し（ステップＳ１０４）、一致すると判定した場合は（ステップＳ１０４：Ｙｅｓ）、許容範囲情報が設定されているか否かを判定する（ステップＳ１０５）。また、情報配信装置１０は、許容範囲情報が設定されている場合は（ステップＳ１０５：Ｙｅｓ）、許容範囲情報と属性情報に設定されていた数値とを比較し、属性情報に設定されていた数値が許容範囲情報を満たすか否かを判定する（ステップＳ１０６）。
【００７６】
そして、情報配信装置１０は、許容範囲情報が満たされた場合は（ステップＳ１０６：Ｙｅｓ）、広告を配信対象とし（ステップＳ１０７）、処理を終了する。一方、情報配信装置１０は、条件情報が属性情報と一致しなかった場合や（ステップＳ１０４：Ｎｏ）、許容範囲情報が満たさなれなかった場合は（ステップＳ１０６：Ｎｏ）、広告を配信対象から除外し（ステップＳ１０８）、処理を終了する。また、情報配信装置１０は、許容範囲情報が設定されていなかった場合は（ステップＳ１０５：Ｎｏ）、ステップＳ１０７を実行する。
【００７７】
〔５．変形例〕
上記では、情報配信装置１０による決定処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報配信装置１０が実行する決定処理のバリエーションについて説明する。
【００７８】
〔５−１．処理の目的について〕
上述した例では、情報配信装置１０は、配信対象として広告を配信した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報配信装置１０は、画像コンテンツ、音声コンテンツ、動画像コンテンツ、電子書籍、ニュースフィード、マイクロブログの記事等、配信先の属性に応じて配信対象を変更するものであれば、任意の情報を配信対象としてよい。また、情報配信装置１０は、配信先の属性に応じたコンテンツのみならず、例えば、配信先が所望する条件と合致するコンテンツを配信してもよい。
【００７９】
また、情報配信装置１０は、利用者Ｕ０１に対してコンテンツを配信する必要はなく、各種サーバ等に対して配信を行ってもよい。すなわち、上述した決定処理は、配信先の属性や所望等、配信先に応じた条件に基づいて、配信対象とするコンテンツを選択する際に用いる優先度を算出するのであれば、任意の配信先に対し任意の条件に基づいて配信対象となる任意のコンテンツを選択する際に用いる優先度を算出してよい。
【００８０】
〔５−２．許容範囲について〕
上述した例では、情報配信装置１０は、行動を行った日時の期間を示す「ｒｅｃｅｎｃｙ」や、行動を行った回数や頻度を示す「ｆｒｅｑｕｅｎｃｙ」の値を、属性情報の数値や、許容範囲情報とした。しかしながら、実施形態は、これに限定されるものではない。すなわち、情報配信装置１０は、これらの情報のみならず、配信先の属性に関連する許容範囲を示す数値であれば、任意の値を許容範囲情報としてもよい。
【００８１】
例えば、情報配信装置１０は、条件として配信先の位置を用いる条件「位置」に対し、許容範囲情報「位置［ｄｉｓｔａｎｃｅ＝５００メートルｆｒｏｍ東京駅］」を対応付けて記憶する。また、情報配信装置１０は、配信先の属性情報に配信先の現在位置を示す属性が含まれる場合は、その位置にかかわらず条件と属性とが一致したと判定する。そして、情報配信装置１０は、条件と属性とが一致した場合にのみ、配信先の現在位置が、許容範囲情報「［ｄｉｓｔａｎｃｅ＝５００メートルｆｒｏｍ東京駅］」を満たす位置、すなわち、東京駅から５００メートル以内であるか否かを判定する。その後、情報配信装置１０は、配信先の現在位置が、許容範囲情報「［ｄｉｓｔａｎｃｅ＝５００メートルｆｒｏｍ東京駅］」を満たす位置である場合は、条件情報が許容範囲情報を満たすと判定してもよい。
【００８２】
〔５−３．装置構成〕
情報配信装置１０は、任意の数の利用者端末２００と通信可能に接続されていてもよい。また、情報配信装置１０は、利用者端末２００や配信主サーバ３００と情報のやり取りを行うフロントエンドサーバと、決定処理を実行するバックエンドサーバとで実現されてもよい。このような場合、フロントエンドサーバには、図２に示す登録受付部４１および配信部４７が配置され、バックエンドサーバには、インデックス生成部４２、要求受付部４３、第１判定部４４、第２判定部４５、および決定部４６を有することとなる。また、記憶部３０に登録された各データベース３１、３２は、外部のストレージサーバに保持されていてもよい。
【００８３】
〔５−４．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【００８４】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００８５】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００８６】
〔５−５．プログラム〕
また、上述した実施形態に係る情報配信装置１０は、例えば図６に示すような構成のコンピュータ１０００によって実現される。図６は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【００８７】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ(Read  Only  Memory)、ＨＤＤ（Hard  Disk  Drive）、フラッシュメモリ等により実現される。
【００８８】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【００８９】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【００９０】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【００９１】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【００９２】
例えば、コンピュータ１０００が情報配信装置１０として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムを実行することにより、制御部４０の機能を実現する。
【００９３】
〔６．効果〕
上述したように、情報配信装置１０は、配信先の属性を示す属性情報を含むクエリを受け付けた場合は、所定の情報の配信先の属性を示す複数の条件であって、許容範囲が設定された条件を含む複数の条件がブール演算式で表現された条件情報を参照し、属性情報が、複数の条件と一致するか否かを判定する。そして、情報配信装置１０は、属性情報が、複数の条件のうち許容範囲が設定された条件と一致すると判定された場合は、その属性情報が、その条件に設定された許容範囲を満たすか否かを判定する。そして、情報配信装置１０は、各判定結果に基づいて、所定の情報を配信対象とするか否かを決定する。この結果、情報配信装置１０は、許容範囲を満たす複数の条件情報を展開せずとも、条件情報と属性情報とが一致するか否かを判定できるので、配信対象となる広告を迅速に抽出できる。
【００９４】
また、情報配信装置１０は、条件情報に含まれる条件のうち属性情報と一致した条件がブール演算式である論理式を満たし、かつ、属性情報が条件のうちブール演算式を満たした条件に対して設定される全ての許容範囲を満たすと判定された場合は、所定の情報を配信対象に決定する。このため、情報配信装置１０は、１つまたは複数の許容範囲が設定されている場合にも、配信対象となる広告を迅速に抽出できる。
【００９５】
また、情報配信装置１０は、条件情報に配信先の属性を示す条件であって、属性に関する許容範囲が設定された条件が含まれている場合は、その条件が示す属性と属性情報が示す属性とが一致するか否かを判定する。そして、情報配信装置１０は、条件が示す属性と属性情報が示す属性とが一致した場合は、属性情報が示す属性の範囲が、条件に設定された許容範囲を満たすか否かを判定する。このため、情報配信装置１０は、条件が示す属性であって、許容範囲が設定された属性を配信先が満たすか否かを迅速に判定できる。
【００９６】
また、情報配信装置１０は、条件情報に配信先が行った行動を示す条件であって、その行動を行った日時、頻度、または回数に関する許容範囲が設定された条件が含まれている場合は、その条件が示す行動と属性情報が示す行動とが一致するか否かを判定する。そして、情報配信装置１０は、条件が示す行動と属性情報が示す行動とが一致した場合は、属性情報が示す行動を行った日時、頻度、または回数が、条件に設定された許容範囲を満たすか否かを判定する。このため、情報配信装置１０は、条件が示す行動であって、その行動を行った日時、頻度、または回数が設定された行動を配信先が行ったか否かを迅速に判定できる。
【００９７】
また、情報配信装置１０は、条件情報に配信先が入力した検索クエリと、検索クエリを入力した日時、頻度、または回数に関する許容範囲が設定された条件が含まれている場合は、その検索クエリと、属性情報が示す配信先が入力した検索クエリとが一致するか否かを判定する。そして、情報配信装置１０は、条件が示す検索クエリと、属性情報が示す検索クエリとが一致した場合は、属性情報が示す検索クエリを入力した日時、頻度、または回数が、条件に設定された許容範囲を満たすか否かを判定する。このため、情報配信装置１０は、配信先が、所定の検索クエリを所定の日時、所定の頻度、または所定の回数入力したか否かを迅速に判定できる。
【００９８】
また、情報配信装置１０は、条件情報に配信先の位置を用いる旨の条件と、位置の許容範囲を示す許容範囲情報とが含まれている場合は、属性情報に、配信先の位置を示す情報が含まれているか否かを判定する。そして、情報配信装置１０は、属性情報に配信先の位置を示す情報が含まれていると判定された場合は、配信先の位置が、許容範囲情報が示す範囲に含まれるか否かを判定する。このため、情報配信装置１０は、配信先が所定の範囲内にいるか否かを迅速に判定できる。
【００９９】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１００】
また、上記してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、配信部は、配信手段や配信回路に読み替えることができる。
【符号の説明】
【０１０１】
１０  情報配信装置
２０  通信部
３０  記憶部
３１  広告データベース
３２  インデックスデータベース
４０  制御部
４１  登録受付部
４２  インデックス生成部
４３  要求受付部
４４  第１判定部
４５  第２判定部
４６  決定部
４７  配信部
１００  ログサーバ
２００  利用者端末
３００  配信主サーバ
【図１】
2018097798.tif 000003
【図２】
2018097798.tif 000004
【図３】
2018097798.tif 000005
【図４】
2018097798.tif 000006
【図５】
2018097798.tif 000007
【図６】
2018097798.tif 000008