(57)【特許請求の範囲】
【請求項１】
コンテンツターゲティングモジュールによって、複数の構造化データセットを構築する段階であって、各構造化データセットがユーザ装置に関連付けられたユーザに関連付けられ、かつ、1つまたは複数の属性を含む、段階と、
前記コンテンツターゲティングモジュールによって、各構造化データセット内の前記1つまたは複数の属性のうちの少なくとも1つに対応する値を識別する段階と、
前記コンテンツターゲティングモジュールによって、低トラフィックの期間中に、1つまたは複数の条件を、前記識別した値のうちの1つまたは複数と比較する段階と、
前記コンテンツターゲティングモジュールによって、前記比較に基づいて、各構造化データセットに1つまたは複数の条件を満たすとタグ付けする段階と、
前記コンテンツターゲティングモジュールによって、コンテンツプロバイダから、コンテンツプロバイダにより確立された条件を受信する段階と、
前記コンテンツターゲティングモジュールによって、前記タグ付けされた構造化データセットの全体の中から、前記コンテンツプロバイダで確立された前記条件を満たすとタグ付けされた構造化データセットの数を決定する段階と
を含むコンピュータで実施される方法。
【請求項２】
前記コンテンツプロバイダで確立された前記条件を満たすとタグ付けされた構造化データセットの数に基づいて、前記コンテンツプロバイダで確立された前記条件を満たすユーザの数を決定する段階と、
前記ユーザの数を前記コンテンツプロバイダに供給する段階と、
前記コンテンツプロバイダから、ターゲットとするユーザの数を増加または減少させるための改訂された条件を受信する段階と
をさらに含む請求項1に記載の方法。
【請求項３】
前記タグ付けされた構造化データセットの全体の中から、前記コンテンツプロバイダで確立された前記改訂された条件を満たすとタグ付けされた構造化データセットの数を決定する段階をさらに含む請求項2に記載の方法。
【請求項４】
前記コンテンツプロバイダで確立された前記条件を満たすとタグ付けされた構造化データセットに関連するユーザに、1つまたは複数のコンテンツ項目を表示する段階をさらに含む請求項1に記載の方法。
【請求項５】
表示された1つまたは複数のコンテンツ項目に関連するクリックスルー率を識別する段階をさらに含む請求項4に記載の方法。
【請求項６】
前記1つまたは複数の属性が、各構造化データセットに関連する前記ユーザの特徴を表す請求項1に記載の方法。
【請求項７】
前記1つまたは複数の属性が、年齢、性別、友人の数、関心、郵便番号、および前回のログイン以来の時間の長さからなる属性のグループから選択される請求項1に記載の方法。
【請求項８】
前記1つまたは複数の属性が1つまたは複数のパブリック属性を含む請求項1に記載の方法。
【請求項９】
前記1つまたは複数の属性が1つまたは複数のプライベート属性を含む請求項8に記載の方法。
【請求項１０】
前記1つまたは複数のパブリック属性を前記コンテンツプロバイダに対して表示する段階をさらに含む請求項9に記載の方法。
【請求項１１】
コンピュータに、
コンテンツターゲティングモジュールによって、複数の構造化データセットを構築することであって、各構造化データセットがユーザ装置に関連付けられたユーザに関連付けられ、かつ、1つまたは複数の属性を含むこと、
前記コンテンツターゲティングモジュールによって、各構造化データセット内の前記1つまたは複数の属性のうちの少なくとも1つに対応する値を識別すること、
前記コンテンツターゲティングモジュールによって、低トラフィックの期間中に、1つまたは複数の条件を、前記識別した値のうちの1つまたは複数と比較すること、
前記コンテンツターゲティングモジュールによって、前記比較に基づいて、各構造化データセットに1つまたは複数の条件を満たすとタグ付けすることと、
前記コンテンツターゲティングモジュールによって、コンテンツプロバイダから、コンテンツプロバイダにより確立された条件を受信することと、
前記コンテンツターゲティングモジュールによって、前記タグ付けされた構造化データセットの全体の中から、前記コンテンツプロバイダで確立された前記条件を満たすとタグ付けされた構造化データセットの数を決定すること
を含む動作を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１２】
前記コンテンツプロバイダで確立された前記条件を満たすとタグ付けされた構造化データセットの数に基づいて、前記コンテンツプロバイダで確立された前記条件を満たすユーザの数を決定することと、
前記ユーザの数を前記コンテンツプロバイダに供給することと、
前記コンテンツプロバイダから、ターゲットとするユーザの数を増加または減少させるための改訂された条件を受信することと
を含む動作を実行させるためのプログラムを記録した請求項11に記載のコンピュータ読み取り可能な記録媒体。
【請求項１３】
前記タグ付けされた構造化データセットの全体の中から、前記コンテンツプロバイダで確立された前記改訂された条件を満たすとタグ付けされた構造化データセットの数を決定すること
を含む動作を実行させるためのプログラムを記録した請求項12に記載のコンピュータ読み取り可能な記録媒体。
【請求項１４】
前記コンテンツプロバイダで確立された前記条件を満たすとタグ付けされた構造化データセットに関連するユーザに、1つまたは複数のコンテンツ項目を表示すること
を含む動作を実行させるためのプログラムを記録した請求項11に記載のコンピュータ読み取り可能な記録媒体。
【請求項１５】
表示された1つまたは複数のコンテンツ項目に関連するクリックスルー率を識別すること
を含む動作を実行させるためのプログラムを記録した請求項14に記載のコンピュータ読み取り可能な記録媒体。
【請求項１６】
前記1つまたは複数の属性が、各構造化データセットに関連する前記ユーザの特徴を表す請求項11に記載のコンピュータ読み取り可能な記録媒体。
【請求項１７】
前記1つまたは複数の属性が、年齢、性別、友人の数、関心、郵便番号、および前回のログイン以来の時間の長さからなる属性のグループから選択される請求項11に記載のコンピュータ読み取り可能な記録媒体。
【請求項１８】
前記1つまたは複数の属性が1つまたは複数のパブリック属性を含む請求項11に記載のコンピュータ読み取り可能な記録媒体。
【請求項１９】
前記1つまたは複数の属性が1つまたは複数のプライベート属性を含む請求項18に記載のコンピュータ読み取り可能な記録媒体。
【請求項２０】
前記1つまたは複数のパブリック属性を前記コンテンツプロバイダに対して表示すること
を含む動作を実行させるためのプログラムを記録した請求項19に記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の主題は、一般には情報提示に関する。
【背景技術】
【０００２】
本願は、参照により全体が本明細書に組み込まれる2008年2月4日出願の「USER TARGETED ADVERTISING」という名称の米国特許出願第12/025239号の優先権および特典を主張する。
【０００３】
テレビジョン、ラジオ、新聞、雑誌などの従来型メディアを用いる広告は周知である。遺憾ながら、人口統計分析と、様々なメディア手段の典型的なオーディエンスについての完全に妥当な仮定とを準備したとしても、広告主は、その広告予算のかなりの部分が単に浪費されることを認めている。さらに、そのような浪費を識別してなくすことは非常に難しい。最近では、より対話的なメディアを介する広告が普及している。例えば、インターネットを使用する人の数が爆発的に増加するにつれて、広告主は、インターネットを介して提供されるメディアおよびサービスを、潜在的に強力な広告手段と認識するようになっている。
【０００４】
ウェブサイトベースの広告(「アド」。「ウェブアド」とも呼ばれる)は、「バナーアド」、すなわちグラフィック構成要素を含む矩形ボックスの形態でその広告オーディエンスに時折提示される。広告オーディエンスのメンバ(以後、一般性を失うことなく「閲覧者」または「ユーザ」と呼ぶ)がこうしたバナーアドのうちの1つをクリックすることによって選択したとき、通常は、埋め込まれたハイパーテキストリンクが、広告主のウェブサイトにビューアを誘導する。閲覧者がアドを選択するこのプロセスは、一般に「クリックスルー」と呼ばれる(「クリックスルー」は、任意のユーザ選択を包含するものとする)。アドのインプレッション数(すなわち、アドが表示される回数)に対するクリックスルー数の比は一般に、アドの「クリックスルー率」と呼ばれる。
【０００５】
オンラインソーシャルネットワークは、プロフェッショナルネットワーキングおよび/またはソーシャルネットワーキング向けに普及しており、したがって広告を出すための一般的な場所である。一部のオンラインソーシャルネットワークは、ユーザの関心を引く可能性のある他のユーザおよび/またはグループの識別を含む、ユーザの関心を引く可能性のあるコンテンツ項目を提供する。ソーシャルネットワーキングサイトは、多くの異なる関心を持つユーザを有するので、そのようなサイトに広告を出すのは難しい。したがって、多くの広告、例えば特定の製品を対象とする広告は、オンラインソーシャルネットワークの多くのユーザにとって関心のないものである可能性がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願第12/025239号
【発明の概要】
【課題を解決するための手段】
【０００７】
本明細書に記載のシステム、方法、およびコンピュータプログラム製品は、何人かのユーザのそれぞれについて構造化データセットを確立する。コンテンツプロバイダは、構造化データセット内の値と比較される条件を確立し、条件を満たすユーザを識別する。コンテンツプロバイダは、その構造化データセットが条件を満たすユーザのみに対してコンテンツを表示することができる。このことは、本明細書に記載のシステムおよびプロセスで格納され、アクセス可能であるプロファイルを維持するユーザなどのユーザについて多数の特徴が知られている場合に特に有利である。このことは、例えば、オンラインソーシャルネットワークのメンバであるユーザを含むことができる。さらに、コンテンツプロバイダは、条件を満たすユーザ数を識別することができ、その知識を使用して、条件をリアルタイムに(すなわち、初期条件を作成した直後に)さらに修正して、コンテンツを受信することのできるユーザ数を広げ、または制限することができる。対話式プロセスを使用することにより、コンテンツプロバイダが特定のオーディエンスをターゲットとすることが可能となる。この対話式かつリアルタイムのプロセスは、例えば、コンテンツを受信するユーザの適切なサブセットを識別するためにコンテンツプロバイダがその条件を数分で反復的に改良することができる場合の広告活動の作成中に有利であることがある。
【０００８】
一般には、本明細書に記載の主題の一態様は、複数の構造化データセットを識別するアクションであって、各構造化データセットがユーザに関連付けられ、1つまたは複数の属性を含むアクションと、各構造化データセット内の1つまたは複数の属性のうちの少なくとも1つに対応する値を識別するアクションと、コンテンツプロバイダによって確立された条件を、識別した値のうちの1つまたは複数と比較するアクションと、コンテンツプロバイダで確立された条件を満たす、識別した値のうちの1つまたは複数を有するいくつかの構造化データセットを決定するアクションとを含む方法で具体化することができる。
【０００９】
ある特徴によれば、この方法は、コンテンツプロバイダから改訂後条件を受信することを含む。別の特徴によれば、この方法は、改訂後条件を、識別した値のうちの1つまたは複数と比較することを含むことができる。この方法はまた、コンテンツプロバイダで確立された改訂後条件を満たす識別した値のうちの1つまたは複数を有するいくつかの構造化データセットを決定することをも含むことができる。コンテンツプロバイダで確立された条件を満たす識別した値のうちの1つまたは複数を有する構造化データセットに関連するユーザに、1つまたは複数のコンテンツ項目を表示することもできる。
【００１０】
さらに別の特徴によれば、この方法は、表示された1つまたは複数のコンテンツ項目に関連するクリックスルー率を識別することを含むことができる。
【００１１】
別の特徴によれば、1つまたは複数の属性は、各構造化データセットに関連するユーザの特徴を表す。1つまたは複数の属性は、年齢、性別、友人の数、関心、郵便番号、または前回のログイン以来の時間の長さを含むことができる。
【００１２】
さらに追加の特徴によれば、この方法は、コンテンツプロバイダから条件を受信することであって、条件が、1つまたは複数の属性のうちの少なくとも1つに関連する1つまたは複数の必要な値を特定することを含むことができる。1つまたは複数の必要な値を、識別した値と比較することができる。別の特徴では、この方法は、識別した値が条件を満たすときを決定することができる。さらに別の特徴によれば、1つまたは複数の属性は、1つまたは複数のパブリック属性および/または1つまたは複数のプライベート属性を含む。1つまたは複数のパブリック属性をコンテンツプロバイダに対して表示することができる。
【００１３】
この態様の別の実施形態は、対応するシステム、装置、およびコンピュータプログラム製品を含む。
【００１４】
以下の利点のうちの1つまたは複数を達成することができる。広告主などのコンテンツプロバイダが、マーケティングのために一定のマーケットセグメントをターゲットとすることができる。ユーザ母集団全体にコンテンツを表示するのではなく、コンテンツプロバイダは、ユーザの属性、すなわち特徴に基づいてコンテンツプロバイダが識別することのできるユーザの一定のサブセットにコンテンツを制限することができる。ユーザのサブセットにアドを制限することの代替として、コンテンツプロバイダは、ユーザのサブセットに示されるアドに対してより多く支払うことができる。
【図面の簡単な説明】
【００１５】
【図１】構造化データセットに基づいてコンテンツ項目を識別する例示的システムのブロック図である。
【図２】構造化データセットに基づいてコンテンツ項目を識別する例示的システムのより詳細なブロック図である。
【図３】構造化データセットに基づいてコンテンツ項目を識別する例示的プロセスの流れ図である。
【図４】その構造化データセットがコンテンツプロバイダで確立された条件を満たすユーザ数を識別する例示的プロセスの流れ図である。
【図５】コンテンツ項目が表示されるユーザを決定する条件をコンテンツプロバイダが修正することを反復的に可能にする例示的プロセスの流れ図である。
【図６】本明細書に記載のシステムおよび方法を実装するのに使用することのできる例示的コンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１６】
図1は、構造化データセットに基づいて広告などのコンテンツ項目を識別する例示的システム100のブロック図である。いくつかの実装では、各構造化データセットは特定のユーザに対応する。あるいは、構造化データセットは、ユーザのクラスのすべてのメンバに対応することもできる。構造化データセットは構造化データを含み、いくつかの実装では、構造化データは、いくつかの属性-値対を含む。属性は、多くのユーザに対して共通のものでよく、ユーザの特徴(例えば、年齢、性別、体重など)を識別することができるのに対して、各構造化データセット内の各属性に対応する値は、そのユーザの特徴を定義する。例えば、ある個人に関する構造化データセットは、以下の属性-値対を含むことができる。
年齢:35歳
性別:男性
友人の数:72
関心:車、読書
郵便番号:30067
最終ログイン以来の日数:10
ただし、「年齢」、「性別」、「友人の数」、「関心」、「郵便番号」、および「最終ログイン以来の日数」は属性であり、「35歳」、「男性」、「72」、「車」、「読書」、「30067」、および「10」は値である。それぞれに関連付けられる属性および値は、以下でより詳細に説明するように、各ユーザがコンテンツプロバイダで確立された条件を満たすかどうかを決定するのに使用される。
【００１７】
いくつかの実装では、ソーシャルネットワークシステム110で収集および/または格納されたデータから構造化データを識別することができ、ソーシャルネットワークシステム110は、例えば多数のユーザアカウント112をホストすることができる。例示的ソーシャルネットワークシステムは、カリフォルニア州マウンテンビューのGoogle,Inc.によってホストされるOrkutを含むことができる。別のソーシャルネットワークは、例えば学校の同窓生ウェブサイト、内部企業ウェブサイト、デートネットワークなどを含むことができる。各ユーザアカウント112は、例えばユーザプロファイルデータ114、ユーザ知人データ116、ユーザグループデータ118、ユーザメディアデータ120、およびユーザオプションデータ122を含むことができる。ユーザアカウント112内に他のユーザデータを含めることもできる。各ユーザアカウント内のデータを使用して、各ユーザについて構造化データ160、より具体的には属性-値対をポピュレートすることができる。構造データ160をソーシャルネットワークシステム110の内部または(図1に示されるように)外部に格納することができ、あるいはインターネットなどのネットワーク102上のどんな場所でもアクセス可能な場所に格納することができる。あるケースでは、ソーシャルネットワークがコンテンツサーバとは異なる場合、構造化データのコピーをソーシャルネットワークによってコンテンツサーバに供給し、別々に維持し、定期的に更新することができる。
【００１８】
ユーザプロファイルデータ114は、例えば、年齢、性別、居住地、関心などのユーザについての一般人口統計データを含むことができる。いくつかの実装では、ユーザプロファイルデータ114はまた、職業情報、例えば職業、学歴など、および連絡先情報などの他のデータをも含むことができる。いくつかの実装では、ユーザプロファイルデータ114は、オープンプロファイルデータ、例えば、様々な主題、例えば「職務内容説明」、「好きな食べ物」、「趣味」などについてユーザがフィールドにタイプすることのできるフリーフォームテキスト、および条件付きプロファイルデータ、例えばチェックボックス、ラジオボタンなどで選択されるバイナリプロファイルデータ、または定義済み選択可能プロファイルデータ、例えば収入の範囲、郵便番号などを含むことができる。いくつかの実装では、ユーザプロファイルデータ114の一部またはすべてをパブリックプロファイルデータまたはプライベートプロファイルデータ、例えばパブリックに共有することのできるデータ、または選択的に共有することができ、もしくは選択的に共有することのできないデータと分類することができる。いくつかの実装によれば、プライベートデータと分類されないプロファイルデータ114を例えば、パブリックデータ、例えばソーシャルネットワークシステム110にアクセスする任意のユーザが閲覧することのできるデータと分類することができる。
【００１９】
ユーザ知人データ116は、例えば、ユーザアカウント112に関連するユーザ知人117を定義することができる。いくつかの実装では、ユーザ知人117は、例えば、「友人」と分類される他のユーザアカウント112、例えば「友人」リストまたは「バディ」リストで参照されるユーザアカウント112に関連するユーザを含むことができる。他の知人117、例えば職業上の知人、クライアントの知人、家族の知人などを定義することもできる。いくつかの実装では、例えば、各ユーザアカウント112についてのユーザ知人データ116を、各ユーザアカウント112に関連するユーザで指定することができ、したがって各ユーザアカウント112について固有のものとすることができる。
【００２０】
ユーザグループデータ118は、例えば、ユーザアカウント112が関連するユーザグループ119を定義することができる。一実装では、ユーザグループ119は、例えば、関心またはトピック、例えば「ワイン」、「オープンソースチェスプログラミング」、「旅行のヒントおよび助言」などを定義することができる。いくつかの実装では、例えば、ユーザグループ119を分類することができ、例えば、ユーザグループ119の第1セットは「活動」カテゴリに属することができ、ユーザグループ119の第2セットは「同窓生および学校」などに属することができる。
【００２１】
ユーザメディアデータ120は、例えば、ユーザ文書、例えばウェブページなどの1つまたは複数のコンテンツ項目を含むことができる。文書は、例えば、ファイル、ファイルの組合せ、他のファイルなどへの埋め込まれたリンクを有する1つまたは複数のファイルなどを含むことができる。ファイルは、テキスト、オーディオ、イメージ、ビデオ、ハイパーテキストマークアップ言語文書などの任意のタイプでよい。インターネットの状況では、一般的なコンテンツ項目はウェブページである。ユーザメディアデータ120で他のコンテンツ項目を定義することもできる。
【００２２】
ユーザオプションデータ122は、例えば、Eメール設定、知人通知設定、チャット設定、パスワードおよびセキュリティ設定などのユーザオプションを指定するデータを含むことができる。ユーザオプションデータ122内に他のオプションデータを含めることもできる。
【００２３】
いくつかの実装では、コンテンツサービスシステム130は、コンテンツ項目132を直接的または間接的に入力、維持、識別、および追跡することができる。コンテンツ項目132は、例えば、ウェブページまたは他のコンテンツ文書、あるいはテキスト、グラフィックス、ビデオ、オーディオ、混合メディアなどを含むことができる。いくつかの実装では、コンテンツ項目132は広告である。広告は、例えば、バナーアド、テキストのみのアド、イメージアド、オーディオアド、ビデオアド、そのような構成要素などのいずれかのうちの1つまたは複数を組み合わせるアドなどのグラフィカルアドの形態でよい。広告はまた、リンク、メタ情報、および/またはマシン実行可能命令などの埋込み情報をも含むことができる。
【００２４】
いくつかの実装では、ユーザ装置140a、140b、および140cが、インターネットなどのネットワーク102を介してソーシャルネットワークシステム110と通信することができる。ユーザ装置140は、パーソナルコンピュータ、モバイル装置、携帯電話、携帯情報端末(PDA)、テレビジョンシステムなどの、ユーザメディアデータ120を受信することのできる任意の装置でよい。ユーザ装置140をユーザアカウント112と関連付けることができ、例えばユーザ装置140aおよび140bのユーザは、対応するユーザアカウント112aおよび112bを有するソーシャルネットワークシステム110のログインメンバでよい。さらに、ユーザ装置140がユーザアカウント112と関連付けられないことがあり、例えば、ユーザ装置140cのユーザは、ソーシャルネットワークシステム110のメンバではないことがあり、ログインしていないソーシャルネットワークシステム110のメンバであることがある。
【００２５】
いくつかの実装では、ユーザ装置140が、ユーザアカウント112のメディアデータ120を求める要求、または何らかの他のソーシャルネットワークメディアデータを求める要求をソーシャルネットワークシステム110に通信すると、ソーシャルネットワークシステム110は、例えば、ユーザ装置140にユーザメディアデータ120または要求された他のメディアデータを供給することができる。いくつかの実装では、ユーザメディアデータ120または要求された他のメディアデータは、1つまたは複数のJavascript（登録商標）コードスニペットなどの埋込み要求コードを含むことができる。別の実装では、ソーシャルネットワークシステム110は、ユーザメディアデータ120または要求された他のメディアデータがユーザ装置140にサービスされるとき、ユーザメディアデータ120または要求された他のメディアデータに埋込み要求コードを挿入することができる。
【００２６】
ユーザ装置140は、プレゼンテーション環境142内、例えばウェブブラウザアプリケーション内で、要求されたデータ、例えばユーザウェブページまたは何らかの他のソーシャルネットワーク110ページをレンダリングすることができる。要求されたデータをレンダリングするとき、ユーザ装置140は要求コードを実行し、要求コードにより、ユーザ装置140は、コンテンツサービスシステム130に、コンテンツ要求、例えば広告要求を発行する。それに応答して、コンテンツサービスシステム130は、1つまたは複数のコンテンツ項目132をユーザ装置140に供給することができる。例えば、コンテンツ項目132a、132b、および132cをそれぞれユーザ装置140a、140b、および140cに供給することができる。いくつかの実装では、コンテンツ項目132a、132b、および132cが、プレゼンテーション環境142a、142b、および142cで提示される。
【００２７】
ユーザ母集団全体にコンテンツを表示する代わりに、コンテンツプロバイダ150は、ユーザの属性、すなわちユーザ特徴に基づいてコンテンツプロバイダ150が識別することのできるユーザの一定のサブセットにコンテンツを制限することができる。いくつかの実装によれば、コンテンツサービスシステム130は、ユーザアカウント112に関連するユーザなどの、ユーザに関する構造化データセット160に基づいてコンテンツ項目132を受信すべきユーザを識別することのできるコンテンツターゲティングモジュール133を含む。
【００２８】
コンテンツターゲティングモジュール133は、コンテンツプロバイダ150から条件を受信し、こうした条件を各ユーザの構造化データセット内の値と比較して、その属性および値がコンテンツプロバイダ条件を満たすユーザを識別する。一例を挙げると、コンテンツプロバイダ150は、ユーザの構造化データセットが以下の属性-値条件を満たすときにのみ、ユーザがコンテンツ、または特定のタイプのコンテンツを受信する条件を確立することができる。「年齢:25から35の間」、「郵便番号:95051」、および「友人の数>10」。これにより、コンテンツプロバイダ150がユーザの一定のサブセットをターゲットとすることが可能となる。
【００２９】
図1に示される実装ではコンテンツサービスシステム130の一部として表示されているが、コンテンツターゲティングモジュール133をソーシャルネットワークシステム110に統合することができる。別の実装では、コンテンツターゲティングモジュール133は、ソーシャルネットワークシステム110および/またはコンテンツサーバシステム130とデータ通信する別々のシステムでよい。コンテンツターゲティングモジュール133をソフトウェアで実装し、図6のコンピュータシステム600などの処理装置上で実行することができる。例示的ソフトウェア実装は、C、C++、Java（登録商標）、または実行可能命令にコンパイルすることのできるソースコードを生成するのに使用することのできる他の任意の高レベルプログラミング言語を含む。アプレット、またはスクリプトなどのインタプリタ型実装などの他のソフトウェア実装を使用することもできる。あるいは、ハードウェア、またはハードウェアとソフトウェアの組合せでコンテンツターゲティングモジュール133を実装することもできる。
【００３０】
コンテンツプロバイダ150は、識別したユーザ数を使用して、条件をさらに修正し、条件を満たすユーザ数を広げ、または制限することができる。反復プロセスを使用することにより、コンテンツプロバイダ150が特定のオーディエンスをターゲットとすることが可能となる。このことは、ソーシャルネットワーキングシステム110内に格納されたプロファイルおよびデータを維持するユーザなどのユーザについて多数の特徴が知られている場合に特に有利であることがある。
【００３１】
ユーザの所望のサブセットを識別するための条件を修正する反復プロセスは、現在の構造化データおよびパフォーマンス情報に基づいてリアルタイムに行うことができる。例えば、広告主などのコンテンツプロバイダは、コンテンツターゲティングモジュール133のグラフィカルユーザインターフェース(GUI)を使用して条件を調節することができる。広告主は、条件を数分で反復的に改良し、コンテンツを受信するユーザの適切なサブセットを識別することができる。条件が確立されるごとに、コンテンツターゲティングモジュール133によって適切なサブセットが現在格納されている構造化データおよびパフォーマンスデータと比較され、コンテンツプロバイダにリアルタイム結果が提供される。コンテンツプロバイダは、コンテンツプロバイダが入力した条件ごとに、どれほどのユーザがインプレッションを受信するか、そうしたインプレッションの予想されるクリックスルー率などをリアルタイムに閲覧することができる。
【００３２】
いくつかの実装によれば、コンテンツプロバイダの条件を満たすユーザの特定のセットを対象とするコンテンツの配置について、コンテンツプロバイダはより高額なコンテンツ配置料金(例えば広告料金)がコンテンツプロバイダに課金されることがあり、またはコンテンツプロバイダはより高額なコンテンツ配置料金を支払うことをいとわないことがある。したがって、コンテンツプロバイダが正しいターゲットオーディエンスを捕えたと感じる条件をコンテンツプロバイダが確立すると、そうしたターゲットユーザに関するコンテンツ配置についてコンテンツプロバイダに割増金が課金されることがある。広告主はターゲットグループの正面のコンテンツ配置に対してより多く支払うことがあるが、広告主は、コンテンツの配置、例えば広告主の投資に対して高い収益を広告主に与える可能性の高いユーザのグループに提供される広告について、より多くの金額を支払うことがある。
【００３３】
一実装によれば、コンテンツプロバイダが条件を満たす可能性のあるユーザの識別を要求したかどうかに関わらず、低トラフィックの期間中、または他の時間に、コンテンツターゲティングモジュール133によって条件を構造化データセットと比較することができる。これが行われるとき、コンテンツターゲティングモジュール133により、各ユーザの構造化データセットに、1つまたは複数の条件および/または条件の組合せを満たす(または満たすことができない)とタグ付けすることができる。この最適化により、コンテンツターゲティングモジュール133が定期的に構造化データセット内のすべての値を条件とリアルタイムまたはほぼリアルタイムに比較する必要が低減される。
【００３４】
いくつかの実装によれば、コンテンツプロバイダ150は、例えば、ソーシャルネットワーキングシステム110から提供されたページ上に提示される広告132をユーザがクリックする(例えば対話する)ときにユーザが誘導される「ランディングページ」152を有するウェブサイトを含むことができる。例えば、コンテンツプロバイダ150は、広告されるサービスまたは製品に関連するテキスト、グラフィックス、および/またはオーディオ、ならびにウェブサイトに対するリンクを含むことのできる広告である「広告作品」の形態のコンテンツ項目132を提供することができる。
【００３５】
いくつかの実装では、コンテンツサービスシステム130は、コンテンツ項目132に関係するパフォーマンスデータ134を監視および/または評価することができる。例えば、クリックスルー率、変換率などのパフォーマンスメトリック、または何らかの他のパフォーマンスメトリックに基づいて各広告132のパフォーマンスを評価することができる。クリックスルーは、例えば、ユーザ装置、例えばユーザ装置140aのユーザが広告、例えば広告132aを選択し、または「クリック」したときに生じることができる。クリックスルー率は、広告または広告に関連するリンクをクリックしたユーザ数を広告が配信された回数で割ることによって得られるパフォーマンスメトリックとすることができる。例えば、広告が100回配信され、3人が広告をクリックした場合、その広告に関するクリックスルー率は3%である。
【００３６】
「変換」は、ユーザが例えば、以前にサービスされた広告に関する取引を完了したときに生じる。変換を構成するものはケースごとに異なることがあり、様々な方式で決定することができる。例えば、変換は、ユーザ装置140aのユーザが広告132aをクリックし、ランディングページ152のうちの1つなどの広告主のウェブページに差し向けられ、そのウェブページを去る前に購入を完了したときに行うことができる。他の変換タイプを使用することもできる。変換率は、例えば、変換数と広告のインプレッション数(すなわち、広告がレンダリングされる回数)との比、または変換数と選択数との比と定義することができる。他のタイプ変換率を使用することもできる。
【００３７】
他のパフォーマンスメトリックを使用することもできる。パフォーマンスメトリックは、例えば、収益に関連するものまたは収益に関連しないものとすることができる。いくつかの実装では、時間に従ってパフォーマンスメトリックを解析することができ、例えば、特定のコンテンツ項目132のパフォーマンスが、例えば週末に非常に高く、平日の晩には中程度であるが、平日の朝および午後には非常に低いと決定することができる。パフォーマンスデータをコンテンツプロバイダ150に供給して、コンテンツプロバイダが、ユーザに配信される広告などのコンテンツを配信、修正、および決定する際の助けとすることができる。パフォーマンスデータはまた、コンテンツを受信するユーザを識別する条件を修正する際のコンテンツプロバイダ150の助けとすることもできる。
【００３８】
図2は、構造データセットに基づいてコンテンツ項目を識別する例示的システム100のより詳細なブロック図である。図2の例示的システム100では、コンテンツターゲティングモジュール133は、構造化データセットからの属性-値対を使用して、1つまたは複数のコンテンツプロバイダ150によって確立される条件を満たすユーザを決定することができる。
【００３９】
いくつかの実装では、属性およびその対応する値が、ユーザアカウント112a〜112nのユーザプロファイルデータ114a〜114n、ユーザメディアデータ120a〜120n、ユーザ知人データ116a〜116n、ユーザグループデータ118a〜118n、およびユーザオプションデータ122a〜122nから抽出される。属性は、年齢、性別、郵便番号などの特徴を含むことができる。属性はまた、ユーザアカウント112a〜112nに関連するユーザの性格、価値観、性向、関心、ライフスタイルなどの特質をも含むことができる。他のタイプの属性も可能である。
【００４０】
いくつかの実装によれば、ユーザによってフリーフォームテキストフィールドで与えられる情報を自然言語プロセッサ(図示せず)などの他のシステム構成要素で抽出し、属性および/または値を識別することができる。例えば、ユーザは、「趣味」という見出しの下で「私は、ハイキング、特に数日間キャンプに出かけることができるときの長距離ハイキングを本当に楽しんでいます。室内活動は私にとって全く興味がなく、ガーデニングなどの退屈な室外活動はあまり好きではありません。」という文をタイプすることによってテキストフィールドに記入することによって好きな趣味を特定することがある。自然言語プロセッサは、属性を「趣味」と特定し、値を「ハイキング」と特定することができる。上の例からわかるように、ユーザに関連するデータは、ユーザが関心を持たないことを特定することができる。したがって、属性と値の対は、この情報も含むことができる。したがって、上記の例では、属性「趣味」は、値「ガーデニング」を含むことができ、値「ガーデニング」は修正され、またはネガティブインジケータとも対にされ、ユーザが特定の主題に関心がないことが示される。コンテンツプロバイダ150は、例えば、特定の主題に関心のないことを含む一定の指定内に包含されるユーザを特定する条件を確立することができる。
【００４１】
いくつかの実装では、構造化データセットを識別する例示的プロセスフローが、コンテンツターゲティングモジュール133がユーザアカウント112a〜112のユーザプロファイルデータ114a〜114n、ユーザメディアデータ120a〜120n、ユーザ知人データ116a〜116n、ユーザグループデータ118a〜118n、およびユーザオプションデータ122a〜122nを受信するときに始まる。コンテンツサービスシステム130および/またはコンテンツターゲティングモジュール133は、例えば、受信したデータから属性-値対を抽出するように構成することができる。いくつかの実装によれば、コンテンツターゲティングモジュール133は、自然言語プロセッサなどの別の構成要素を使用して属性-値対を抽出することができる。
【００４２】
いくつかの実装では、特定のユーザアカウント、例えばユーザアカウント112aに関連するデータ114、116、118、120、122は、例えば、その特定のユーザアカウント112に関連するユーザ装置140、例えばその特定のユーザアカウント112aに関するログインセッションが確立されているユーザ装置140aによってコンテンツサービスシステム130に供給することができる。例えば、ユーザ装置140aが、コンテンツ項目要求命令を含むソーシャルネットワークシステム110からウェブページをレンダリングする場合、ユーザプロファイルデータ114a〜114n、ユーザメディアデータ120a〜120n、ユーザ知人データ116a〜116n、ユーザグループデータ118a〜118n、および/またはユーザオプションデータ122a〜122nを含む対応するコンテンツ項目要求126aをコンテンツサービスシステム130に供給することができる。
【００４３】
他の方式を使用して構造化データ160をコンテンツサーバシステム130に供給することもできる。例えば、コンテンツサービスシステム130は、対応するコンテンツ要求126a〜126nでユーザアカウント112識別子を受信するソーシャルネットワークシステム110とパートナでよい。ユーザアカウント112識別子を受信したことに応答して、コンテンツサービスシステム130は、対応する構造化データ160を求める要求で、ユーザアカウント112識別子をソーシャルネットワークシステム110に送信することができる。それに応答して、ソーシャルネットワークシステム110は、対応する構造化データ160をコンテンツサービスシステム130に供給する。先に触れたように、いくつかの実装では、ソーシャルネットワークシステム110は、構造化データセットの更新後コピーをコンテンツサービスシステム130に周期的に供給する。
【００４４】
いくつかの実装によれば、コンテンツサービスシステム130および/またはコンテンツターゲティングモジュール133は、コンテンツプロバイダ150から1つまたは複数の条件を受信し、条件を各ユーザに対応する構造化データ(「構造化データセット」とも呼ばれる)と比較する。コンテンツターゲティングモジュール133は、構造化データセット、したがってコンテンツプロバイダ条件を満たすユーザを識別する。コンテンツターゲティングモジュール133は、コンテンツプロバイダ150に対するユーザおよび/またはユーザ数を識別することができ、次いでコンテンツプロバイダ150は、任意選択で条件を改訂し、ターゲットとするユーザのグループを広げ、または狭めることができる。条件を満たすユーザのサブセットをコンテンツプロバイダにリアルタイムに供給することができる。条件が改訂されたとき、コンテンツターゲティングモジュール133は、構造化データセットを改訂後条件と再比較し、改訂後条件を満たすユーザを識別する。次いで、コンテンツサービスシステム130は、条件を満たすユーザに、コンテンツプロバイダ150から供給されるコンテンツをサービスすることができる。
【００４５】
いくつかの実装によれば、構造化データ160を広告主、例えばコンテンツプロバイダ150に供給することができる。いくつかの実装によれば、構造データの一部だけをコンテンツプロバイダ150に供給することができる。したがって、各属性-値対をパブリックまたはプライベートと識別することができ、コンテンツプロバイダ150は、パブリック属性-値対のみを受信することができる。別の実装によれば、一部またはすべての属性だけをコンテンツプロバイダに供給し、値を供給しないことができる。あるいは、一部またはすべての値だけをコンテンツプロバイダに供給し、属性を供給しないことができる。
【００４６】
この情報をコンテンツプロバイダ150に供給することにより、例えば、多くの異なる関心を有するユーザを有するソーシャルネットワーキングサイトに対するコンテンツ項目132、例えば広告のターゲティングを容易にすることができる。例えば、ソーシャルネットワークシステム110に関する構造化データ160は、ソーシャルネットワークシステム110のユーザの多くが強い関心を持つ可能性のある1組の非常に関連のあるマーケティングバーティカルを識別することができる。したがって、1つまたは複数のコンテンツプロバイダ150は、ソーシャルネットワークシステム110のユーザに対するバーティカルに関する広告をターゲットとすることができる。
【００４７】
いくつかの実装では、コンテンツターゲティングモジュール133は、ユーザアカウント112a〜112nを周期的に、例えば月ごとに処理し、構造化データ160を改訂することができる。他の処理トリガ、例えばユーザアカウント112コーパスの変化を使用することもできる。いくつかの実装では、コンテンツターゲティングモジュール133は、オフラインバッチプロセスでユーザアカウント112a〜112nを処理することができる。例えば、処理結果を格納し、コンテンツのサービス中にアクセスすることができる。他の実装では、コンテンツターゲティングモジュール133は、オンラインプロセスで、例えばユーザ装置140がソーシャルネットワークシステム110にコンテンツ要求をサブミットしたことに応答して、ユーザアカウント112a〜112nを処理することができる。
【００４８】
図3は、構造化データセットに基づいてコンテンツ項目を識別する例示的プロセス300の流れ図である。プロセス300は、例えばコンテンツターゲティングモジュール133で実施することができる。いくつかの実装では、コンテンツターゲティングモジュール133はコンテンツサービスシステム130内でよい。しかし他の実装を使用することもできる。例えば、コンテンツターゲティングモジュール133をソーシャルネットワークシステム110に統合することができ、あるいはコンテンツターゲティングモジュール133は、ソーシャルネットワークシステム110および/またはコンテンツサーバシステム130とデータ通信する別々のシステム内でよい。
【００４９】
段階301は、例えばユーザプロファイルデータ114a〜114n、ユーザメディアデータ120a〜120n、ユーザ知人データ116a〜116n、ユーザグループデータ118a〜118n、および/またはユーザオプションデータ122a〜122nを含む各ユーザプロファイルに関連するデータを使用して、構造化データセットを構築する。例えば、コンテンツターゲティングモジュール133は、データのセットのそれぞれから属性および値を識別および抽出することができる。
【００５０】
段階302は、属性に対応する構造化データセット内の値を識別する。例えば、コンテンツターゲティングモジュール133は、データのセットのそれぞれから属性および値を識別および抽出することができる。段階304で、識別された値がコンテンツプロバイダ条件と比較される。例えば、コンテンツターゲティングモジュール133は、構造化データセット内の値と、1つまたは複数のコンテンツプロバイダで確立された条件の中の要求された値との比較を実行することができる。
【００５１】
例えば、コンテンツプロバイダ条件が「年齢:25から35の間」および「郵便番号:95051」を要求する場合、コンテンツターゲティングモジュール133は、属性「年齢」および「郵便番号」を含む構造化データセットからの値を比較して、値が要求された値を満たすかどうかを決定することができる。コンテンツターゲティングモジュール133は比較の結果を格納することができ、それによって、その構造化データセットが条件を満たすユーザをコンテンツプロバイダによってコンテンツ、例えば広告を受信するターゲットとすることができる。
【００５２】
段階306は、その構造化データセットが条件を満たす値を含むユーザに表示する1つまたは複数のコンテンツ項目を識別する。例えば、コンテンツサービスシステム130は、コンテンツプロバイダがユーザに提示することを望むコンテンツ項目132を識別することができる。
【００５３】
構造化データセットに基づいてコンテンツ項目を識別する他のプロセスも使用することができる。
【００５４】
図4は、その構造化データセットがコンテンツプロバイダで確立された条件を満たすユーザ数を識別する例示的プロセス400の流れ図である。
【００５５】
プロセス400は、例えばコンテンツターゲティングモジュール133で実施することができる。いくつかの実装では、コンテンツターゲティングモジュール133はコンテンツサービスシステム130内でよい。しかし、他の実装を使用することもできる。例えば、コンテンツターゲティングモジュール133をソーシャルネットワークシステム110に統合することができ、あるいはコンテンツターゲティングモジュール133は、ソーシャルネットワークシステム110および/またはコンテンツサーバシステム130とデータ通信する別々のシステム内でよい。
【００５６】
段階401は、例えばユーザプロファイルデータ114a〜114n、ユーザメディアデータ120a〜120n、ユーザ知人データ116a〜116n、ユーザグループデータ118a〜118n、および/またはユーザオプションデータ122a〜122nを含む各ユーザプロファイルに関連するデータを使用して、構造化データセットを構築する。例えば、コンテンツターゲティングモジュール133は、データのセットのそれぞれから属性および値を識別および抽出することができる。
【００５７】
段階402は、属性に対応する構造化データセット内の値を識別する。例えば、コンテンツターゲティングモジュール133は、データのセットのそれぞれから属性および値を識別および抽出することができる。段階404で、識別された値がコンテンツプロバイダ条件と比較される。例えば、コンテンツターゲティングモジュール133は、構造化データセット内の値と、1つまたは複数のコンテンツプロバイダで確立された条件の中の要求された値との比較を実行することができる。コンテンツターゲティングモジュール133は、比較の結果を格納することができ、それによって、その構造化データセットが条件を満たすユーザをコンテンツプロバイダによってコンテンツ、例えば広告を受信するターゲットとすることができる。
【００５８】
段階406は、その構造化データセットが条件を満たす値を含むユーザ数を識別する。例えば、コンテンツサービスシステム130は、コンテンツプロバイダの現条件下でコンテンツ項目132をサービスすることのできるユーザ数を識別することができる。いくつかの実装によれば、この情報をコンテンツプロバイダに供給することができ、コンテンツプロバイダは、この情報を使用して、ターゲットとするユーザ数を増加または減少させるように条件を改訂すべきかどうかを決定することができる。
【００５９】
コンテンツプロバイダ条件を満たすユーザ数を識別する他のプロセスを使用することもできる。
【００６０】
図5は、コンテンツ項目が表示されるユーザを決定する条件をコンテンツプロバイダが修正することを反復的に可能にする例示的プロセス500の流れ図である。
【００６１】
プロセス500は、例えばコンテンツターゲティングモジュール133で実施することができる。いくつかの実装では、コンテンツターゲティングモジュール133は、コンテンツサービスシステム130内でよい。しかし他の実装を使用することもできる。例えば、コンテンツターゲティングモジュール133をソーシャルネットワークシステム110に統合することができ、あるいはコンテンツターゲティングモジュール133は、ソーシャルネットワークシステム110および/またはコンテンツサーバシステム130とデータ通信する別々のシステム内でよい。
【００６２】
段階501はコンテンツプロバイダ条件を受信する。条件は、例えば、コンテンツプロバイダからコンテンツサービスシステム130に送信することができ、またはコンテンツサービスシステム130および/またはコンテンツターゲティングモジュール133を使用してコンテンツプロバイダによって入力することができる。例えば、広告主は、コンテンツターゲティングモジュール133のGUIを使用して条件を入力することができる。このことを、例えば、属性を選択することのできる一連のプルダウンメニューと、ブール演算子(例えば「and」、「or」など)とを使用して容易にすることができる。手動で、または範囲、最小値、最大値などを選択する能力をコンテンツプロバイダに与えるプルダウンメニューを介して、などの同様の方式で、コンテンツプロバイダによって値を入力することもできる。
【００６３】
段階502は、段階501で受信した条件を、ユーザのグループに対応する構造化データセット内の識別した値と比較する。例えば、コンテンツターゲティングモジュール133は、構造化データセット内の値と、1つまたは複数のコンテンツプロバイダで確立された条件の中の要求された値との比較を実行することができる。
【００６４】
段階504は、その構造化データセットがコンテンツプロバイダ条件を満たす値を含むユーザ数を決定する。このプロセスは、例えばコンテンツターゲティングモジュール133で実施することができる。段階506で、この情報がコンテンツプロバイダに供給され、その結果、コンテンツプロバイダは、この情報を使用して、ターゲットとするユーザ数を増加または減少させるように条件を改訂すべきかどうかを決定することができる。
【００６５】
段階508で、ユーザ数は適切であるとコンテンツプロバイダが決定した場合、段階510で、コンテンツターゲティングモジュール133は、その構造化データセットが条件を満たす値を含むユーザに表示すべき1つまたは複数のコンテンツ項目を識別することができる。そうでない場合、コンテンツプロバイダは、ターゲットとするユーザ数を増加または減少させるように条件を改訂することができ、プロセスは、段階501から開始して、反復される。
【００６６】
条件を調節すべきかどうかを決定するための情報をコンテンツプロバイダに提供することを反復的に可能にする他のプロセスを使用することもできる。例えば、条件を満たす合計ユーザ数をコンテンツプロバイダに提供するのではなく、変換数、条件で識別されるユーザのサブセットにコンテンツを提示することによって予想されるクリックスルー数などのメトリックをコンテンツプロバイダに提供することができる。
【００６７】
図6は、本明細書に記載のシステムおよび方法を実装するのに使用することのできる例示的コンピュータシステム600のブロック図である。システム600は、プロセッサ610、メモリ620、記憶装置630、および入力/出力装置640を含む。構成要素610、620、630、および640のそれぞれは、例えばシステムバス650を使用して相互接続することができる。プロセッサ610は、システム600内で実行される命令を処理することができる。一実装では、プロセッサ610は単一スレッド化プロセッサである。別の実装では、プロセッサ610はマルチスレッド化プロセッサである。プロセッサ610は、メモリ620内または記憶装置630上に格納された命令を処理することができる。
【００６８】
メモリ620は、システム600内の情報を格納する。一実装では、メモリ620はコンピュータ可読媒体である。一実装では、メモリ620は揮発性メモリユニットである。別の実装では、メモリ620は不揮発性メモリユニットである。
【００６９】
記憶装置630は、システム600用のマスストレージを提供することができる。一実装では、記憶装置630はコンピュータ可読媒体である。様々な異なる実装では、記憶装置630は、例えばハードディスク装置、光ディスク装置、または何らかの他の大容量記憶装置を含むことができる。
【００７０】
入力/出力装置640は、システム600に対する入力/出力操作を提供する。一実装では、入力/出力装置640は、ネットワークインターフェース装置、例えばイーサネット（登録商標）カード、シリアル通信装置、例えばRS-232ポート、および/またはワイヤレスインターフェース装置、例えば802.11カードのうちの1つまたは複数を含むことができる。別の実装では、入力/出力装置は、他の入力/出力装置、例えばキーボード、プリンタ、およびディスプレイ装置660との間で入力データを受信し、出力データを送信するように構成されたドライバ装置を含むことができる。
【００７１】
本特許文書で説明した装置、方法、流れ図、および構造ブロック図は、コンピュータ処理システムで実行可能なプログラム命令を含むプログラムコードを含むコンピュータ処理システムで実装することができる。他の実装を使用することもできる。さらに、段階をサポートする特定の方法および/または対応する動作、ならびに開示の構造的手段をサポートする対応する機能を記述する、本特許文書で説明したフロー図および構造ブロック図を使用して、対応するソフトウェア構造およびアルゴリズム、ならびにそれらの均等物を実装することもできる。
【００７２】
この記載の説明は、本発明の最良の形態を述べており、本発明を説明し、当業者が本発明を作成および使用することを可能にする実施例を与えている。この記載の説明は、本発明を記載の厳密な文言に限定するものではない。したがって、上述の実施例を参照しながら本発明を詳細に説明したが、本発明の範囲から逸脱することなく、実施例に対する変更、修正、および変形を当業者は実施することができる。
【符号の説明】
【００７３】
100  システム
102  ネットワーク
110  ソーシャルネットワークシステム
112  ユーザアカウント
114  ユーザプロファイルデータ
120  ユーザメディアデータ
116  ユーザ知人データ
118  ユーザグループデータ
122  ユーザオプションデータ
126  コンテンツ要求
130  コンテンツサービスシステム、コンテンツサーバシステム
132  コンテンツ項目
133  コンテンツターゲティングモジュール
134  パフォーマンスデータ
140  ユーザ装置
142  プレゼンテーション環境
150  コンテンツプロバイダ
152  ランディングページ
160  構造化データ
600  システム
610  プロセッサ
620  メモリ
630  記憶装置
640  入力/出力装置
650  システムバス
660  ディスプレイ装置
【図１】
0005877644.tif 000002
【図２】
0005877644.tif 000003
【図３】
0005877644.tif 000004
【図４】
0005877644.tif 000005
【図５】
0005877644.tif 000006
【図６】
0005877644.tif 000007