IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許7427119データソースの高速マージによるクロスメディアレポートのためのシステムおよび方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-25
(45)【発行日】2024-02-02
(54)【発明の名称】データソースの高速マージによるクロスメディアレポートのためのシステムおよび方法
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20240126BHJP
【FI】
G06Q50/10
【請求項の数】 20
(21)【出願番号】P 2022580960
(86)(22)【出願日】2021-09-24
(65)【公表番号】
(43)【公表日】2023-08-07
(86)【国際出願番号】 US2021051873
(87)【国際公開番号】W WO2022066990
(87)【国際公開日】2022-03-31
【審査請求日】2023-01-11
(31)【優先権主張番号】63/082,980
(32)【優先日】2020-09-24
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】シェン-フ・ツァイ
(72)【発明者】
【氏名】エフゲニー・スクヴォルツォフ
【審査官】田川 泰宏
(56)【参考文献】
【文献】特表2017-517778(JP,A)
【文献】特表2013-515322(JP,A)
【文献】特表2019-511787(JP,A)
【文献】米国特許出願公開第2019/0116392(US,A1)
【文献】国際公開第2015/128536(WO,A1)
【文献】米国特許出願公開第2015/0365714(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサとメモリとを備えるデータ処理システムによって、複数のオフラインコンテンツイベント識別子それぞれと関連してそれぞれ記憶された複数のパネリスト識別子を維持するステップと、
前記データ処理システムによって、前記複数のパネリスト識別子から、複数のオフラインコンテンツイベントそれぞれのうち、標的オフラインコンテンツイベントに一致するそれぞれのオフラインコンテンツイベントと共に記憶される、前記複数のパネリスト識別子のサブセットを識別するステップと、
前記データ処理システムによって、前記複数のパネリスト識別子の前記サブセットのそれぞれを、仮想デバイス属性を有する仮想デバイスに対応する複数の固有識別子それぞれにマッピングするステップと、
前記データ処理システムによって、前記複数の固有識別子それぞれに基づいて、前記複数のパネリスト識別子の前記サブセットのそれぞれについてスケッチを生成するステップと、
前記データ処理システムによって、前記複数のパネリスト識別子の前記サブセットのそれぞれの前記スケッチを組み合わせて集約スケッチとするステップと、
前記データ処理システムによって、前記集約スケッチを、オンラインコンテンツイベントを表す集約スケッチと共に、コンピューティングデバイスに送信して分析するステップと
を含む、方法。
【請求項2】
前記複数のパネリスト識別子の前記サブセットのそれぞれについて前記スケッチを生成するステップが、前記データ処理システムによって、前記複数のパネリスト識別子の前記サブセットのそれぞれについて、前記複数の固有識別子それぞれを、サンプリング技法にさらに基づいて前記複数の固有識別子それぞれを表す前記スケッチへと縮小するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記サンプリング技法がディープスケッチサブサンプリングである、請求項2に記載の方法。
【請求項4】
前記データ処理システムによって、前記複数のパネリスト識別子のそれぞれに対する重みを決定するステップをさらに含む、請求項1に記載の方法。
【請求項5】
前記複数のパネリスト識別子の前記サブセットのそれぞれを、前記複数の固有識別子それぞれにマッピングするステップが、前記複数のパネリスト識別子の前記サブセットのそれぞれに対する前記重みにさらに基づく、請求項4に記載の方法。
【請求項6】
前記複数のパネリスト識別子の前記サブセットのそれぞれの前記スケッチを組み合わせて前記集約スケッチとするステップが、前記データ処理システムによって、前記複数のパネリスト識別子の前記サブセットのそれぞれの前記スケッチにわたる最大レジスタ値を決定するステップをさらに含む、請求項1に記載の方法。
【請求項7】
前記複数のパネリスト識別子の前記サブセットのそれぞれの前記スケッチを組み合わせて前記集約スケッチとするステップが、前記データ処理システムによって、前記複数のパネリスト識別子の前記サブセットのそれぞれの前記スケッチにわたる各位置に対する前記最大レジスタ値に対応する位置の値を、前記集約スケッチにおける対応する位置の値として選択するステップをさらに含む、請求項6に記載の方法。
【請求項8】
前記複数のパネリスト識別子の前記サブセットのそれぞれについて前記スケッチを生成するステップが、前記データ処理システムによって、前記複数のパネリスト識別子の前記サブセットのそれぞれについてHyper-Log-Log(HLL)スケッチを生成するステップをさらに含む、請求項1に記載の方法。
【請求項9】
前記複数のパネリスト識別子の前記サブセットの各パネリスト識別子を、前記複数の固有識別子それぞれにマッピングするステップが、前記データ処理システムによって、前記パネリスト識別子の属性データを前記複数の固有識別子それぞれの属性データに一致させるステップにさらに基づく、請求項1に記載の方法。
【請求項10】
前記複数のオフラインコンテンツイベント識別子それぞれと関連してそれぞれ記憶された前記複数のパネリスト識別子を維持するステップが、
前記データ処理システムによって、パネリストコンピューティングデバイスから、前記複数のパネリスト識別子のうちの1つのパネリスト識別子に対応する、それぞれのオフラインイベントを識別するメッセージを受信するステップと、
前記データ処理システムによって、前記パネリスト識別子と関連して前記メッセージにおいて識別された前記それぞれのオフラインイベントの識別子を記憶するステップと
をさらに含む、請求項1に記載の方法。
【請求項11】
メモリに結合された1つまたは複数のプロセッサを備えるデータ処理システムを備え、前記データ処理システムが、
複数のオフラインコンテンツイベント識別子それぞれと関連してそれぞれ記憶された複数のパネリスト識別子を維持し、
前記複数のパネリスト識別子から、複数のオフラインコンテンツイベントそれぞれのうち、標的オフラインコンテンツイベントに一致するそれぞれのオフラインコンテンツイベントと共に記憶される、前記複数のパネリスト識別子のサブセットを識別し、
前記複数のパネリスト識別子の前記サブセットのそれぞれを、仮想デバイス属性を有する仮想デバイスに対応する複数の固有識別子それぞれにマッピングし、
前記複数の固有識別子それぞれに基づいて、前記複数のパネリスト識別子の前記サブセットのそれぞれについてスケッチを生成し、
前記複数のパネリスト識別子の前記サブセットのそれぞれの前記スケッチを組み合わせて集約スケッチとし、
前記集約スケッチを、オンラインコンテンツイベントを表す集約スケッチと共に、コンピューティングデバイスに送信して分析するように構成された、
システム。
【請求項12】
前記複数のパネリスト識別子の前記サブセットのそれぞれについて前記スケッチを生成するため、前記データ処理システムが、前記複数のパネリスト識別子の前記サブセットのそれぞれについて、前記複数の固有識別子それぞれを、サンプリング技法にさらに基づいて前記複数の固有識別子それぞれを表す前記スケッチへと縮小するようにさらに構成される、請求項11に記載のシステム。
【請求項13】
前記サンプリング技法がディープスケッチサブサンプリングである、請求項12に記載のシステム。
【請求項14】
前記データ処理システムが、前記複数のパネリスト識別子のそれぞれに対する重みを決定するようにさらに構成される、請求項11に記載のシステム。
【請求項15】
前記データ処理システムが、前記複数のパネリスト識別子の前記サブセットのそれぞれを、前記複数のパネリスト識別子の前記サブセットのそれぞれに対する前記重みにさらに基づいて、前記複数の固有識別子それぞれにマッピングするようにさらに構成される、請求項14に記載のシステム。
【請求項16】
前記複数のパネリスト識別子の前記サブセットのそれぞれの前記スケッチを組み合わせて前記集約スケッチとするため、前記データ処理システムが、前記複数のパネリスト識別子の前記サブセットのそれぞれの前記スケッチにわたる最大レジスタ値を決定するようにさらに構成される、請求項11に記載のシステム。
【請求項17】
前記複数のパネリスト識別子の前記サブセットのそれぞれの前記スケッチを組み合わせて前記集約スケッチとするため、前記データ処理システムが、前記複数のパネリスト識別子の前記サブセットのそれぞれの前記スケッチにわたる各位置に対する前記最大レジスタ値に対応する位置の値を、前記集約スケッチにおける対応する位置の値として選択するようにさらに構成される、請求項16に記載のシステム。
【請求項18】
前記複数のパネリスト識別子の前記サブセットのそれぞれについて前記スケッチを生成するため、前記データ処理システムが、前記複数のパネリスト識別子の前記サブセットのそれぞれについてHyper-Log-Log(HLL)スケッチを生成するようにさらに構成される、請求項11に記載のシステム。
【請求項19】
前記複数のパネリスト識別子の前記サブセットの各パネリスト識別子を、前記複数の固有識別子それぞれにマッピングするため、前記データ処理システムが、前記パネリスト識別子の属性データを前記複数の固有識別子それぞれの属性データに一致させるようにさらに構成される、請求項11に記載のシステム。
【請求項20】
前記複数のオフラインコンテンツイベント識別子それぞれと関連してそれぞれ記憶された前記複数のパネリスト識別子を維持するため、前記データ処理システムが、
パネリストコンピューティングデバイスから、前記複数のパネリスト識別子のうちの1つのパネリスト識別子に対応する、それぞれのオフラインイベントを識別するメッセージを受信し、
前記パネリスト識別子と関連して前記メッセージにおいて識別された前記それぞれのオフラインイベントの識別子を記憶するように
さらに構成される、請求項11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、2020年9月24日出願の米国仮特許出願第63/082,980号、発明の名称「TVパネリストアクティビティおよびYouTube(登録商標)ログの高速マージによるクロスメディアレポート」の利益および優先権を主張し、その全体を参照により本明細書に組み込む。
【背景技術】
【0002】
多くの例では、コンピューティングおよびデータ分析システムは、多量のデータセットの共通部分、すなわち和集合を、データの分析または処理の一部として決定してもよい。複数のソースにわたって分布する多量のデータセットの集合、共通部分、または度数の計算は、一般的に、複数のソース間で多量のデータに関する情報を共有することを伴う。各ソースからの情報は、秘密情報または保護情報を含むことができ、かかる情報の共有はプライバシーおよびセキュリティに悪影響を与えることがある。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の少なくとも1つの態様は、パネリストアクティビティの高速マージによるクロスメディアレポートのための方法に関する。方法は、1つまたは複数のプロセッサとメモリとを含むデータ処理システムによって、複数のオフラインコンテンツイベントそれぞれと共にそれぞれ記憶された複数のパネリスト識別子を維持することを含んでもよい。方法は、データ処理システムによって、複数のパネリスト識別子から、複数のオフラインコンテンツイベントそれぞれのうち、標的オフラインコンテンツイベントに一致するそれぞれのオフラインコンテンツイベントと共に記憶される、パネリスト識別子のサブセットを識別することを含んでもよい。方法は、データ処理システムによって、パネリスト識別子のサブセットのそれぞれを、仮想デバイス属性を有する仮想デバイスに対応する複数の固有識別子それぞれにマッピングすることを含んでもよい。方法は、データ処理システムによって、パネリスト識別子のサブセットのそれぞれについて、複数の固有識別子それぞれを、複数の固有識別子それぞれを表すスケッチへと縮小することを含んでもよい。方法は、データ処理システムによって、パネリスト識別子のサブセットのそれぞれのスケッチを組み合わせて集約スケッチとすることを含んでもよい。方法は、データ処理システムによって、集約スケッチを、オンラインコンテンツイベントを表す集約スケッチと共に、コンピューティングデバイスに送信して分析することを含んでもよい。
【0004】
いくつかの実現例では、複数のパネリスト識別子のサブセットのそれぞれについてスケッチを生成することは、複数のパネリスト識別子のサブセットのそれぞれについて、複数の固有識別子それぞれを、サンプリング技法にさらに基づいて複数の固有識別子それぞれを表すスケッチへと縮小することを含むことができる。いくつかの実現例では、サンプリング技法はディープスケッチサブサンプリングである。いくつかの実現例では、方法は、複数のパネリスト識別子のそれぞれに対する重みを決定することを含むことができる。
【0005】
いくつかの実現例では、複数のパネリスト識別子のサブセットのそれぞれを、複数の固有識別子それぞれにマッピングすることは、複数のパネリスト識別子のサブセットのそれぞれに対する重みにさらに基づく。いくつかの実現例では、複数のパネリスト識別子のサブセットのそれぞれのスケッチを組み合わせて集約スケッチとすることは、複数のパネリスト識別子のサブセットのそれぞれのスケッチにわたる最大レジスタ値を決定することを含むことができる。いくつかの実現例では、複数のパネリスト識別子のサブセットのそれぞれのスケッチを組み合わせて集約スケッチとすることは、複数のパネリスト識別子のサブセットのそれぞれのスケッチにわたる各位置に対する最大レジスタ値に対応する位置の値を、集約スケッチにおける対応する位置の値として選択することを含むことができる。
【0006】
いくつかの実現例では、複数のパネリスト識別子のサブセットのそれぞれについてスケッチを生成することは、複数のパネリスト識別子のサブセットのそれぞれについてHyper-Log-Log (HLL)スケッチを生成することを含むことができる。いくつかの実現例では、複数のパネリスト識別子のサブセットの各パネリスト識別子を、複数の固有識別子それぞれにマッピングすることは、パネリスト識別子の属性データを複数それぞれの固有識別子のそれぞれの属性データに一致させることにさらに基づく。
【0007】
いくつかの実現例では、複数のオフラインコンテンツイベント識別子それぞれと関連してそれぞれ記憶された複数のパネリスト識別子を維持することは、パネリストコンピューティングデバイスから、複数のパネリスト識別子のうちの1つのパネリスト識別子に対応する、それぞれのオフラインイベントを識別するメッセージを受信することを含むことができる。いくつかの実現例では、複数のオフラインコンテンツイベント識別子それぞれと関連してそれぞれ記憶された複数のパネリスト識別子を維持することは、パネリスト識別子と関連してメッセージにおいて識別されたそれぞれのオフラインイベントの識別子を記憶することを含むことができる。
【0008】
本開示の少なくとも1つの他の態様は、パネリストアクティビティの高速マージによるクロスメディアレポートのために構成されたシステムに関する。システムは、メモリに結合された1つまたは複数のプロセッサを備えるデータ処理システムを含んでもよい。データ処理システムは、1つまたは複数のプロセッサとメモリとを含むデータ処理システムによって、複数のオフラインコンテンツイベント識別子それぞれと共にそれぞれ記憶された複数のパネリスト識別子を維持することができる。データ処理システムは、データ処理システムによって、複数のパネリスト識別子から、複数のオフラインコンテンツイベントそれぞれのうち、標的オフラインコンテンツイベントに一致するそれぞれのオフラインコンテンツイベントと共に記憶される、パネリスト識別子のサブセットを識別することができる。データ処理システムは、データ処理システムによって、パネリスト識別子のサブセットのそれぞれを、仮想デバイス属性を有する仮想デバイスに対応する複数の固有識別子それぞれにマッピングすることができる。データ処理システムは、データ処理システムによって、パネリスト識別子のサブセットそれぞれについて、複数の固有識別子それぞれを、複数の固有識別子それぞれを表すスケッチへと縮小することができる。データ処理システムは、データ処理システムによって、パネリスト識別子のサブセットのそれぞれのスケッチを組み合わせて集約スケッチとすることができる。データ処理システムは、データ処理システムによって、集約スケッチを、オンラインコンテンツイベントを表す集約スケッチと共に、コンピューティングデバイスに送信して分析することができる。
【0009】
いくつかの実現例では、複数のパネリスト識別子のサブセットのそれぞれについてスケッチを生成するため、データ処理システムは、複数のパネリスト識別子のサブセットのそれぞれについて、複数の固有識別子それぞれを、サンプリング技法にさらに基づいて複数の固有識別子それぞれを表すスケッチへと縮小するようにさらに構成される。いくつかの実現例では、サンプリング技法はディープスケッチサブサンプリングである。いくつかの実現例では、データ処理システムは、複数のパネリスト識別子のそれぞれに対する重みを決定するようにさらに構成される。いくつかの実現例では、データ処理システムは、複数のパネリスト識別子のサブセットのそれぞれを、複数のパネリスト識別子のサブセットのそれぞれに対する重みにさらに基づいて、複数の固有識別子それぞれにマッピングするようにさらに構成される。
【0010】
いくつかの実現例では、複数のパネリスト識別子のサブセットのそれぞれのスケッチを組み合わせて集約スケッチとするため、データ処理システムは、複数のパネリスト識別子のサブセットのそれぞれのスケッチにわたる最大レジスタ値を決定するようにさらに構成される。いくつかの実現例では、複数のパネリスト識別子のサブセットのそれぞれのスケッチを組み合わせて集約スケッチとするため、データ処理システムは、複数のパネリスト識別子のサブセットのそれぞれのスケッチにわたる各位置に対する最大レジスタ値に対応する位置の値を、集約スケッチにおける対応する位置の値として選択するようにさらに構成される。
【0011】
いくつかの実現例では、複数のパネリスト識別子のサブセットのそれぞれについてスケッチを生成するため、データ処理システムは、複数のパネリスト識別子のサブセットのそれぞれについてHyper-Log-Log (HLL)スケッチを生成するようにさらに構成される。いくつかの実現例では、複数のパネリスト識別子のサブセットの各パネリスト識別子を、複数の固有識別子それぞれにマッピングするため、データ処理システムは、パネリスト識別子の属性データを複数それぞれの固有識別子のそれぞれの属性データに一致させるようにさらに構成される。いくつかの実現例では、複数のオフラインコンテンツイベント識別子それぞれと関連してそれぞれ記憶された複数のパネリスト識別子を維持するため、データ処理システムは、パネリストコンピューティングデバイスから、複数のパネリスト識別子のうちの1つのパネリスト識別子に対応する、それぞれのオフラインイベントを識別するメッセージを受信するようにさらに構成される。いくつかの実現例では、複数のオフラインコンテンツイベント識別子それぞれと関連してそれぞれ記憶された複数のパネリスト識別子を維持するため、データ処理システムは、パネリスト識別子と関連してメッセージにおいて識別されたそれぞれのオフラインイベントの識別子を記憶するようにさらに構成される。
【0012】
本開示のさらに別の態様は、パネリストアクティビティの高速マージによるクロスメディアレポートのための方法を実施する、1つまたは複数のプロセッサによって実行可能な命令が具体化されている、非一時的コンピュータ可読記憶媒体に関する。方法は、1つまたは複数のプロセッサとメモリとを含むデータ処理システムによって、複数のオフラインコンテンツイベントそれぞれと共にそれぞれ記憶された複数のパネリスト識別子を維持することを含んでもよい。方法は、データ処理システムによって、複数のパネリスト識別子から、複数のオフラインコンテンツイベントそれぞれのうち、標的オフラインコンテンツイベントに一致するそれぞれのオフラインコンテンツイベントと共に記憶される、パネリスト識別子のサブセットを識別することを含んでもよい。方法は、データ処理システムによって、パネリスト識別子のサブセットのそれぞれを、仮想デバイス属性を有する仮想デバイスに対応する複数の固有識別子それぞれにマッピングすることを含んでもよい。方法は、データ処理システムによって、パネリスト識別子のサブセットのそれぞれについて、複数の固有識別子それぞれを、複数の固有識別子それぞれを表すスケッチへと縮小することを含んでもよい。方法は、データ処理システムによって、パネリスト識別子のサブセットのそれぞれのスケッチを組み合わせて集約スケッチとすることを含んでもよい。方法は、データ処理システムによって、集約スケッチを、オンラインコンテンツイベントを表す集約スケッチと共に、コンピューティングデバイスに送信して分析することを含んでもよい。
【0013】
上記および他の態様ならびに実現例について、以下で詳細に考察する。上述の情報および以下で詳述する説明は、様々な態様および実現例の実例を含み、特許請求する態様および実現例の性質ならびに特徴を理解するための概観または枠組みを提供する。図面は、様々な態様および実現例の例示ならびにさらなる理解を提供し、本明細書に組み込まれるとともに本明細書の一部を構成する。態様は組み合わせることができ、本発明の1つの態様の文脈において説明される特徴を他の態様と組み合わせることができることが、容易に認識されるであろう。態様は、任意の便利な形態で実現することができる。例えば、有形キャリア媒体(例えば、ディスク)または無形キャリア媒体(例えば、通信信号)であってもよい、適切なキャリア媒体(コンピュータ可読媒体)で送られてもよい、適切なコンピュータプログラムによって実現することができる。態様はまた、態様を実現するように構成されたコンピュータプログラムを稼働するプログラマブルコンピュータの形態をとってもよい、好適な装置を使用して実現されてもよい。本明細書および特許請求の範囲で使用するとき、単数形「a」、「an」、および「the」は、文脈によって別段の明示がない限り、複数形を含む。
【0014】
添付図面は縮尺通りに描かれることを意図しない。様々な図面における同様の参照番号および記号は同様の要素を示す。明瞭にするため、すべての図面においてすべての構成要素に符号が付され得るわけではない。
【図面の簡単な説明】
【0015】
図1】パネリストアクティビティの高速マージによるクロスメディアレポートのための一例のシステムを示すブロック図である。
図2】パネリスト識別子と仮想識別子との間のマッピングの一例の表現を示すブロック図である。
図3】仮想識別子を使用して生成されたスケッチレジスタ例の一例の表現を示すブロック図である。
図4】スケッチ生成のための仮想識別子のセットの一例のサブセットサンプリングを示すブロック図である。
図5】重み値を使用したスケッチ作成のための仮想識別子のセットの一例のサブセットサンプリングを示すブロック図である。
図6】スケッチ生成のための仮想識別子のセットの一例の修正されたサブセットサンプリングを示すブロック図である。
図7】仮想識別子のセットのサブセットサンプルのための一例の深さ選択を示すブロック図である。
図8】パネリストアクティビティの高速マージによるクロスメディアレポートのための方法を示す一例のフロー図である。
図9】本明細書において考察されているコンピュータのうちのいずれかを実現するために使用することができる例証コンピュータシステムの汎用アーキテクチャを示す図である。
図10A】ある深さの仮想識別子のディープスケッチサブサンプリングからの一例の実験データを示す図である。
図10B】ある深さの仮想識別子のディープスケッチサブサンプリングからの一例の実験データを示す図である。
図11A】仮想識別子の端数を使用したディープスケッチサブサンプリングからの一例の実験データを示す図である。
図11B】仮想識別子の端数を使用したディープスケッチサブサンプリングからの一例の実験データを示す図である。
図12A】指数分布を使用した仮想識別子のディープスケッチサブサンプリングからの一例の実験データを示す図である。
図12B】指数分布を使用した仮想識別子のディープスケッチサブサンプリングからの一例の実験データを示す図である。
図13A】仮想識別子のnaiveディープスケッチサブサンプリングからの一例の実験データを示す図である。
図13B】仮想識別子のnaiveディープスケッチサブサンプリングからの一例の実験データを示す図である。
図14A】様々な数の仮想識別子の通常のスケッチとマージされた様々な深さの仮想識別子のディープスケッチサブサンプリングからの一例の実験データを示す図である。
図14B】様々な数の仮想識別子の通常のスケッチとマージされた様々な深さの仮想識別子のディープスケッチサブサンプリングからの一例の実験データを示す図である。
図15A】仮想識別子の疑似多項サンプリングからの一例の実験データを示す図である。
図15B】仮想識別子の疑似多項サンプリングからの一例の実験データを示す図である。
【発明を実施するための形態】
【0016】
以下、パネリストアクティビティの高速マージによるクロスメディアレポートに関連する様々な概念、ならびにその実現例、そのための技法、方策、方法、装置、およびシステムについて詳述する。様々な概念を上記に紹介し、以下でさらに詳細に考察するが、記載する概念は実現例の任意の特定の方式に限定されないので、多数の手法のいずれかで実現されてもよい。特定の実現および適用の例は、主に例示の目的で提供される。
【0017】
コンテンツプロバイダは、中でも特に、テキスト、画像、ビデオ、ウェブページ、およびアプリケーションなどの様々なオンライン形式でコンテンツを、クライアントデバイスに提供することができる。コンテンツプロバイダはまた、中でも特に、ラジオ放送、ビデオ放送、または他のタイプの一対多の放送形式などのオフライン形式で、コンテンツを提供することができる。オンラインコンテンツは要求に応答して提供されるので、オンラインコンテンツにアクセスするクライアントデバイスの数および属性は、簡単にモニタリングし分析することができる。オンラインコンテンツに対する要求は、要求を行うクライアントデバイスに関する情報を含むことができ、さらなる処理のためにコンテンツプロバイダのデータベースに記録することができる。提供されるコンテンツの量、およびコンテンツが提供されるクライアントデバイスの属性は、記憶されたコンテンツ要求情報を分析することによって集めることができる。
【0018】
対照的に、オフラインコンテンツは、要求に応答して提供されなくてもよく、したがって、オフラインコンテンツにアクセスするデバイスに関する正確な1対1の情報が、コンテンツプロバイダによって維持されなくてもよい。オフラインコンテンツにアクセスするデバイスの数または属性を推定するため、異なる技法を様々な達成度で使用することができる。例えば、コンテンツプロバイダは、オフラインコンテンツにアクセスする他の類似のデバイスを表す、パネリストデバイスを利用する場合が多い。パネリストデバイスは、パネリストコンピューティングデバイスがアクセスするオフラインコンテンツと関連付けられたイベントをモニタリングし、ローカルで記録することができる。イベントは、コンテンツプロバイダコンピューティングデバイスに報告することができ、そのコンピューティングデバイスがそれらのイベントを分析し、デバイスのより大きい母集団に外挿し、例えば、オフラインコンテンツにアクセスし、類似のオフラインコンテンツイベントに関与したパネリストコンピューティングデバイスによって表される数を推定することができる。外挿されたデバイスの属性も同様の方式で推定することができる。
【0019】
しかしながら、外挿技法は、オンラインコンテンツのためにモニタリング技法によって生成されるものと適合性がないデータセットを作成する。コンテンツプロバイダが、ビデオ、テキスト、画像、オーディオストリーム、または他の任意のタイプのコンテンツなどのコンテンツアイテムを、オフラインおよびオンライン両方の形式で提供する場合、コンテンツプロバイダがそれらのデータセットを組み合わせて完全な分析を行うことが難しい場合がある。さらに、非常に大きいデータセットを外挿して分析する際、情報を効率的に記憶し処理して、計算的に実行可能な形で正確な結果を作成するのは困難な場合がある。したがって、システムが、オフラインコンテンツイベントに関して改善されたモニタリングおよび分析技法を提供して、簡単に処理されるデータセットを生成し、それらをオンラインコンテンツのために生成されたデータセットと組み合わせることができるのが有利である。
【0020】
この技術的解決策のシステムおよび方法は、かかる改善を提供する。より具体的には、本明細書に記載するシステムおよび方法は、オフラインコンテンツに関与するパネリストコンピューティングデバイスから受信したイベントメッセージを維持することができる。加えて、本明細書に記載するシステムおよび方法は、パネリストコンピューティングデバイスの識別子と、仮想デバイスを表すことができる対応する固有識別子のリストとの間の関連を維持し更新することができる。固有識別子はそれぞれ、他の属性の中でも特に、性別、位置、興味、および年齢など、仮想でなければ実際のユーザに帰属しているであろう、仮想ユーザの様々な属性を表すことができる。標的オフラインコンテンツイベントと関連付けられた各パネリスト識別子に対して、本明細書に記載するシステムおよび方法は、各パネリストそれぞれと関連付けられる固有識別子のリストを表す圧縮されたデータ構造、すなわちスケッチを生成することができる。
【0021】
各パネリストと関連付けられた固有識別子の圧縮された表現を使用することで、他の分析システムを超える改善が提供される。第1に、各パネリストと関連付けられた固有識別子を表すスケッチは、すべてのパネリストに関して単一の代表データ構造を逐次的に計算し更新する代わりに、並列で計算することができる。各パネリストに関して生成されるスケッチは、例えば、HyperLogLogスケッチ、またはLiquidLegionsスケッチ(エクスポネンシャルブルームフィルタ(exponential bloom filter) (EBF)スケッチ、またはAny Distribution Bloom Filter (ADBF)スケッチと呼ばれる場合がある)であることができる。それらのスケッチ形式が選択されるのは、固有識別子の共通のユニバースを使用して生成される他のスケッチと簡単に組み合わせることができるためである。
【0022】
各パネリストコンピューティングデバイスは、数千またはさらには数百万の固有識別子を表す場合があり、計算的に困難になる。しかしながら、標的(例えば、指定の)オフラインコンテンツに関与したパネリストのみを分析することによって、さらなる計算利得を実現することができる。例えば、パネリストが標的オフラインコンテンツに関するいずれのイベントとも関連付けられていない場合、そのパネリストと関連付けられた固有識別子を除外することができ、計算性能がさらに改善される。代表スケッチが各パネリストコンピューティングデバイスに関して計算されると、代表スケッチを組み合わせて最終代表スケッチとすることができる。最終代表スケッチは、標的オフラインコンテンツと関連付けられたすべての固有識別子を表すことができ、オンラインコンテンツイベント情報から生成されたスケッチなど、他のスケッチと共に分析することができる。したがって、本明細書に記載するシステムおよび方法は、オンラインコンテンツイベントから生成されたスケッチと適合性がある形で、標的オフラインコンテンツイベントに関する代表スケッチを正確に推定し生成することができる。
【0023】
一般に、コンテンツプロバイダ、すなわちコンテンツプロバイダからのデータの集約者は、コンテンツまたはコンテンツチャンネルが「到達」した(例えば、アクセス、閲覧、ダウンロード、対話を行った、または他の任意のタイプの影響を与えた)固有デバイスの数を報告することができる。このデータは、ファーストパーティログに基づいて、様々なデバイス属性(例えば、年齢、性別、時間、位置などの人口統計、デバイスタイプ、ウェブブラウザタイプ、アプリケーションタイプ、日付、デバイス識別子などのデバイス情報など)によって分類することができる。ファーストパーティログは、コンテンツプロバイダまたは他のタイプの第一者の、メモリまたは他のデータストレージにおいて維持することができる。データを匿名化するため、情報報告は「仮想」ベースの報告であることができる。これは、ユーザに関する個人情報または実際の識別情報を明らかにする代わりに、各コンテンツ関連イベント(例えば、アクセスしたコンテンツ、閲覧したコンテンツ、対話したコンテンツなど)が、1つまたは複数の仮想識別子(「VPID」もしくは「VID」と呼ばれることがある)、および対応するイベントタイプと関連付けられることを意味する。したがって、任意のコンテンツプロバイダがVIDを分析して、任意の特定のアイテムへの到達またはコンテンツのグルーピングを見出すことができる。
【0024】
ただし上述したように、この方策は、テレビ(TV)またはラジオなど(例えば、インターネットラジオ、振幅変調(AM)ラジオ、周波数変調(FM)ラジオなど)の従来のオフラインコンテンツには適用されない。他の方策は、仮想識別子を利用しないので、仮想識別子と関連付けられた粒度属性データを含まない。さらに、本明細書に記載する技法は、さらなる分析のため、追加の分析属性(例えば、VIDと関連して記憶された追加の属性の仕様など)を容易に受け入れる。
【0025】
本開示は、中でも特に、少なくとも2つの技法について記載する。第1の技法は、パネリスト識別子を仮想識別子に関連させる、つまりマッピングする技法を含み、第2の技法は、ディープスケッチサンプリングを使用して、パネリスト-VIDのマッピングの分析速度を改善することを含む。本明細書に記載する技法は、コンテンツの実際の視聴者を反映する(例えば、米国の約328.2百万の仮想識別子、何件が男性または女性か、何件がテレビまたはインターネットへのアクセスを有するか、様々な場所に居住しているなど)、様々な属性の仮想識別子を多数含むVIDモデルを利用することができる。
【0026】
VID-パネリストのマッピングを実施するため、本明細書に記載するシステムおよび方法は、パネリストアクティビティをパネリストコンピューティングデバイスから受信することができる。本明細書に記載するシステムおよび方法は、各パネリストコンピューティングデバイスの重み値によって、パネリストコンピューティングデバイスアクティビティ(例えば、パネリストコンピューティングデバイスによって実施された、またはそれと関連付けられたコンテンツイベントなど)を外挿することができる。例えば、第1のパネリストコンピューティングデバイスが重み値10,000を有し、そのパネリストが特定のコンテンツアイテムにアクセスする場合、その情報を外挿して、同じコンテンツにアクセスする可能性が高いであろうユーザデバイスを表す10,000のVID(例えば、類似の属性を有する)を識別することができる。パネリスト-VIDの関連は、(1)すべてのVIDが1つのパネリストコンピューティングデバイスのみと関連付けられるもの、および(2)すべてのパネリストが自身の対応する重み値に比例してVIDと関連付けられるものである。
【0027】
直感的に、システムおよび方法は、類似の位置(例えば、同じ地域からなど)および人口統計バケット(例えば、類似の人口統計情報など)からオフラインコンテンツ媒体へのアクセスを有するか、またはパネリストコンピューティングデバイスとしての属性を有する10KのVIDを見出し、それらを互いに関連付けることができるのみである。しかしながら、同じ地理人口統計(geo-demo)バケットに数百または数千のパネリストコンピューティングデバイスが存在することがあり、いかにしてより系統的に実行するかが課題である。さらに、もし明日パネリストの重みが10Kから9.9Kに低下した場合、コンピューティングリソースを過剰利用しない形でVIDの関連を更新しなければならない。さらに、コンテンツプロバイダは、当日および翌日にわたる報告を実行することがあるので、様々なパネリストと関連付けられたVIDを過度に変更すべきではなく、そうでなければ一貫しない結果が生成されるおそれがある。
【0028】
1つの解決策は、親密度ハッシング(affinity hashing)を使用するものである。本質的に、地理人口統計プール中に、重みw_1、w_2、...、w_Qを有するQ個のパネリストとP個のVIDとがあるものと仮定する。各パネリスト-VID対(q, p) (qは1~Q、pは1~P)に関して、親密度スコアA(q, p)としてレートw_qを有する指数疑似確率変数の負数を生成することができる。次に、各VID pは、互いの親密度スコアが最も高い(例えば、1~Qの他のいずれのq"に対してもA(q', p)がA(q", p)よりも大きい)パネリストq'を選ぶことができる。指数変数の性質は、このように、パネリストがパネリストの重みに比例してVIDと関連付けられる(例えば、重み1000のパネリストは、重み500の別のパネリストの2倍多くのVIDと関連付けるものと予期するなど)ようなものである。言い換えると、地理人口統計バケットの各VIDに関して、個々の重みに比例する確率を有するパネリストをサンプリングすることができる。親密度ハッシングは、サンプリングをいつ行うかに基づくことができる。
【0029】
パネリスト1、2、...、Qに対して関連するVIDの数は、無視できる二項サンプリング変数を法とするそれらの重みw_1、w_2、...、w_Qに比例することができ、関連するVIDの総数は、利用可能なVIDの数Pであることができる。そのため、Pが固定されると、パネリストの重みを相対的に得ることができる(例えば、すべての重みを10倍にした場合、同じ関連がもたらされるなど)。したがって、すべてのパネリストがその重みと同じ数のVIDと関連付けられる場合、Pをパネリストの重みの合計w_1+w_2+...+w_Qに等しくすることができる。
【0030】
各パネリストに関して、様々なコンテンツイベントを報告するとき、パネリストの視聴またはコンテンツアクティビティを関連するVIDに外挿することができ、それを次いで、オンラインコンテンツイベントを用いて重複除去することができる。これにより、オンラインおよびオフラインコンテンツにわたる、仮想識別子と関連付けられたコンテンツイベントの全体像をもたらすことができる。しかしながら、パネリストごとに数千のVID(および、例えば、各VIDの関連付けられた属性など)を記憶するのは、計算上コストが高い場合があり、効率的に増減しないことがある。したがって、本明細書に記載するシステムおよび方法は、近似的な固有オブジェクトの計数に有用なデータ構造であり得る、HyperLogLog (HLL)スケッチを利用することができる。HLLスケッチは、(1)各パネリストの関連するVIDを近似的に符号化することができ、(2)いくつのVIDがパネリストと関連付けられているかにかかわらず、コンピュータメモリの一定の記憶スペースを占めることができ、(3)オンラインおよびオフライン両方のコンテンツイベントにわたる集約到達値(aggregate reach value)に達する、一定時間における他のコンテンツイベント(例えば、オンラインコンテンツイベント、他のコンテンツプロバイダからのコンテンツイベントなど)を表す別のHLLスケッチと簡単にマージすることができる。したがって、本明細書に記載するシステムおよび方法は、各パネリストそれぞれと関連付けられたVID(および、例えば、VIDと関連付けられた属性など)を表す各パネリストコンピューティングデバイスに対して、HLLスケッチ(または本明細書に記載する他の任意のタイプのスケッチなど)を生成することができる。これらのスケッチを続いてマージして、さらに処理することができる。
【0031】
それらのステップの計算効率を改善するため、ディープスケッチサンプリングを利用することができる。上述したように、パネリストおよびVIDを関連付けることは、地理人口統計バケット(例えば、地理的または人口統計的類似性のグルーピングなど)内の各パネリスト-VID対に関する、親密度スコアの計算を含むことができ、これは計算上コストが高い場合がある。本明細書に記載するシステムおよび方法は、HLLスケッチの品質の近似を依然として得ながら、かかる高価な動作を回避することができる。これを行うため、本明細書に記載するシステムおよび方法は、すべてのVIDを集約して初期「ディープ」スケッチとし、続いて、ディープスケッチのレジスタからサンプリングを行って、到達推定の精度を犠牲にすることなく所望のパネリストそれぞれに対するスケッチを得ることができる。
【0032】
かかる解決策を例証する前に、固有VPIDを計数することに関してHLLスケッチがどのように働くかを、最初に上位レベルで説明することが役立ち得る。HLLスケッチは、数千の、一般的に14に対して2のレジスタ、すなわちおよそ16Kのレジスタを含むことができる。しかしながら、他の数のレジスタが使用されてもよい。新しいVPIDがスケッチに含まれる場合、16Kのレジスタのうちの1つに疑似乱数的に移動させ、そこで処理することができる。各レジスタは、空であるか、またはレジスタスケッチを保持し、数値は0~1である。レジスタ内では、入ってくるVPIDをハッシングして、0~1の均一な疑似確率変数にすることができる。ハッシュ値が既存のレジスタスケッチよりも小さい場合、後者を更新して前者と等しくすることができる。換言すれば、レジスタがR個の固有のVPIDを処理した場合、均一な確率変数に対応する最小値Rを保持する。数学的には、この最小値はレートRの指数確率変数に近い分布を有するので、レジスタに寄与する与えられたVPIDの数の近似的な固有の計数を後で提供することができる。最後に、レジスタにわたる固有の計数を集約して、スケッチに移動させたVPIDの総基数推定を得ることができる。
【0033】
HLLスケッチレベルではなく、上述の最適化技法は、レジスタレベルで動作することができる(例えば、HLLスケッチのレジスタのそれぞれで実現されるなど)。したがって、それらの最適化に関して記載する技法は、HLLスケッチにおける単一のレジスタの観点から見たものである。ディープスケッチサブサンプリングに関して本明細書に記載する技法は、例えば、本明細書に記載するシステムおよび方法によって維持されるすべてのVIDを使用して生成される、ディープスケッチからサンプリングすることができる。目標は、最後のセクションに記載した関連付けを実際に行うことなく、すべてのパネリストのためのレジスタスケッチに達することである。プールを、特定のレジスタに対するのと同じ属性を有するVIDのセットとして定義し、ディーププールスケッチを、プール内のすべてのVIDからマッピングされたD個(Dは既定の深さ)の最小の均一な疑似確率変数として定義する。換言すれば、ディーププールスケッチはs_1 <= s_2 <= ... <= s_Dである。s_1を生成するVIDは特定のパネリストと関連付けることができ、s_2を生成するVIDも特定のパネリストと関連付けることができ、以降も同様である。そのため、s_1からs_2、...、s_Dへと、ディーププールスケッチの各要素に関して、親密度ハッシングを使用して、確率が重みに比例するパネリストを選ぶことができる。パネリストスケッチが割り当てられていない場合、要素はパネリストスケッチのレジスタとする。パネリスト3にs_2およびs_4が割り当てられるとすると、s_4が後にくるため、そのパネリストのレジスタスケッチはs_2である。
【0034】
明らかに、深さDが無限である場合、これは通常の関連付けに等価のものであり得、スピードアップはない。しかしながら、Dは10程度の小さいものであり得るので、上述のプロセス後、最大でD個のパネリストにレジスタスケッチが割り当てられ、残りにはレジスタスケッチが与えられないままである。プールはP VIDを有するものと仮定する。ここまでで、Dからのレジスタスケッチのみがパネリストと関連付けられており、残りのP-Dはまだ関連付けられていない。第1に、重みw_1、w_2、...、w_Qに基づいた多項分布からのサンプリングを得て、これらのP-DがQ個のパネリスト間でどのように分布するかを決めることができる。分布がb_1、b_2、...、b_Qであり、これを合計するとP - Dになり得るものとする。次に、レジスタスイッチにまだ割り当てられていない各パネリストqに関して、b_qがゼロの場合、パネリストのレジスタスケッチを空として終了させることができる。それ以外の場合は、レジスタスケッチ自体であるs_Dも0~1であることを思い出して、パネリストのレジスタスケッチを、s_D~1の均一な疑似確率変数b_qの最小値に設定することができる。簡潔に言うと、システムおよび方法は、均一な確率変数b_qの最小値がs_D~1であると識別することができ、適宜サンプリングすることができる。最後のサンプリングは、Inverse Transform Sampling (ITS)を使用して迅速に達成することができ、したがってb_qに比例する時間がかからないことに留意されたい。
【0035】
ディープスケッチの各レジスタに上述の手順を行った後、本明細書に記載するシステムおよび方法は、最終的に、すべてのパネリストおよびすべてのレジスタに対するレジスタスケッチを計算することができる。次に、各パネリストに対するレジスタスケッチを合わせて、パネリストのHLLスケッチを生成してさらに分析することができる。Dの大きい値は正確な結果のために不要なことがあり、1またはさらには0の深さは、所望の成果のためには十分であり得ることを示すことができる。大きい到達値が決定されるべきである場合、オフラインコンテンツイベントを表すHLLスケッチがオンラインコンテンツイベントを表すHLLスケッチと合理的に交差しなければならないという必要性があるため、より大きい深さ値を考慮するのが妥当なことがある。これは、オンラインおよびオフライン両方のコンテンツにアクセスしたVIDを表す集約HLLスケッチに対応することができる。実験によって証明された深さが有限であることにより、合計到達エラーに対して理論的限界が導き出されている。例えば、いくつかの実験、および特定の条件では、深さ10が相対エラー1%を達成することができる。
【0036】
本明細書に記載するシステムおよび方法は、VIDとパネリスト識別子との間で属性の照合を実施することができる。例えば、1つのステップは、同じ属性をともに有するVIDおよびパネリスト識別子をグルーピングすることを含み得る。各VIDは、様々な粒度で位置識別子のセットと関連付けることができ、それを各パネリストの位置識別子に対して一致させることができる。
【0037】
次に、任意の所与のイベント(例えば、コンテンツイベントなど)に関して、各パネリストを重み値と関連付けることができる。いくつかの実現例では、重み値は毎日割り当てることができる。例えば、パネリストの重みは日ごとに変動する場合があり、それにより、パネリストによって表されるVIDの数が毎日異なってくることがある。これによって到達の一貫性を保存することができる。このシナリオでは、パネリスト識別子は別の日には別の人数を表す場合があるが、重み付きの一貫したハッシングを利用することで、パネリスト間でのVIDの入替えを低減することができる。いくつかの実現例では、アクティブなパネリスト(例えば、所定の閾値よりも多数のオフラインコンテンツイベントに関与するパネリスト)などに対する重み値は、VIDの母集団全体に一致するように増減することができ、他のすべてのパネリストの重みをゼロに設定することができる。これは、例えば最大の報告ウィンドウが所定の時間窓(例えば、90日など)である場合、任意の所与のイベントが、すべての時間窓に対応する所定数の重み(例えば、90日の時間窓に対応する重み90など)を有することができる。
【0038】
パネリスト識別子に対するVIDの関連付けは、重みおよびプールサイズに基づいて実施することができる。重みが日ごとに決定される場合、または重みが1日の範囲に対して決定される場合、重みwpを有するパネリストpは、プール内の
【0039】
【数1】
【0040】
のVIDと関連付けることができ、式中、Pはプールサイズであることができる。重みの変更によって生じる関連付けの入替えを低減するため、重みと一貫したハッシング(「親密度ハッシング」と呼ばれることがある)を使用して、関連付けられた
【0041】
【数2】
【0042】
のVIDを選ぶことができる。これは逆方向で働くことができる。各VIDに関して、それらがパネリストpによって選ばれる確率は
【0043】
【数3】
【0044】
であり得る。
【0045】
パネリストの重みは、それらが表す母集団に比例することができる。上述したように、パネリスト対VIDのマッピングを生成する1つのステップは、パネリストの重みに比例してVIDをパネリストに割り当てることを含む。したがって、パネリストの重み値をいつどのように変更するかは、パネリスト対VIDのマッピングに大きく影響する場合がある。いくつかの起こり得る重み変更のシナリオとしては、下記のものが含まれる。
【0046】
1つの方策では、パネリストは、パネリストが関与するオフラインコンテンツイベントがある場合でもそれがどれかにかかわらず、特定の期間(例えば、毎日、毎週など)に応じて決まり得る重み値を有することができる。マッピングは、オフラインで生成することができ、日付によってキーを与える(例えば、インデックスを付けるなど)ことができる。例えば、パネリスト識別子からVIDへ、2 * 365 = 730のマッピングがあり得る。
【0047】
別の方策は、間隔ごとにパネリストを重み付けることを含む。かかるシナリオでは、C(2 * 365, 2)≒266Kのマッピングを生成することができる。例えば、システムおよび方法は、2 * 365 - 1= 729のマッピングを毎日生成し回収することができる。しかしながら、これは一貫性を保証しないことがある。
【0048】
本明細書に記載するように、ディープスケッチサブサンプリングを使用して、到達推定の精度に著しい影響を及ぼすことなく、HLLスケッチ計算プロセスの計算性能を改善することができる。本明細書(例えば、図10A図15Bなど)に含まれる実験データは、ディープスケッチサブサンプリングによって生じる1.5%の相対エラーは妥当であり得ることを示している。互いに素なサブセット、およびオンラインコンテンツイベントを表す別の独立したサブセットの和集合に関して、相対エラーに対する近似的な理論上の上限が導き出され、それによってディープスケッチサブサンプリングの必要な深さを決定することができる。
【0049】
Q個のパネリスト、および|P| VIDを有するプールPを所与として、パネリスト-VIDの関連付けは、各VIDに1つのパネリストが割り当てられたときに、パネリストおよびVIDの外積を作成するO(Q|P|)演算を行うことができる。複雑性O(Q|P|)は一部のシステムにとっては計算的に手ごろであるが、大きいデータセットに対する計算には依然として、一部の実現例(例えば、より小さい時間窓など)にとって許容可能とみなされるよりも長い時間がかかる場合がある。本明細書に記載する技法を使用して、オフラインコンテンツイベントに関与したパネリストに対するHLLスケッチを近似することによって、プロセスを、O(QD + |P|log2D + |P|log2Q)に改善することができる(式中、Dは所定の深さ値である)。
【0050】
以下の記載において、VIDプールのVIDのサブセットはパネリスト(例えば、パネリスト識別子など)に割り当てられるので、パネリスト(「パネリスト識別子」と呼ばれる場合がある)およびサブセットは互換可能であることができる。
【0051】
HLLスケッチでは、スケッチに追加される要素はスケッチのレジスタに無作為に分配することができる。各レジスタにおいて、各要素をハッシングして指数確率変数とすることができる。そのレジスタに対する最小指数確率変数を、そのレジスタ内に記憶することができ、それによって基数に関するロバストな信号を保持することができる。
【0052】
パネリスト-VIDの関連付けのマッピングを近似するスケッチが生成された場合、少なくとも2つの目標を達成することができる。1つの目標は量の目標であり得る。量の目標に関して、スケッチは、関連付けられたVIDの数がパネリストの重みに比例することができるようなものであり得る。別の目標は対話の目標であり得、つまりスケッチを、オンラインコンテンツイベントを表すスケッチとマージして、両方のプラットフォームにわたる重複除去された到達(例えば、異なるスペースからのスケッチが適切に「対話」する)を推定することができる。量の目標を満たす1つの手法はディープスケッチサブサンプリングによるものである。対話の目標を満たす1つの手法は、ディープスケッチサブサンプリングに対する適切な深さ値を導き出す、または決定することによるものである。ディープスケッチサブサンプリングの方策については、図3図7と関連して本明細書で後述する。
【0053】
ここで図1を参照すると、1つまたは複数の実現例による、パネリストアクティビティの高速マージによるクロスメディアレポートのための一例のシステム100のブロック図が示されている。システム100は、少なくとも1つのデータ処理システム105と、少なくとも1つのネットワーク110と、1つまたは複数のパネリストデバイス120A~N (「パネリストデバイス120」と総称されることがある)と、1つまたは複数のコンテンツプロバイダ160A~N (A~Bのみが示されており、「コンテンツプロバイダ160」と総称されることがある)と、少なくとも1つのデータベース115とを含むことができる。データ処理システムは、少なくとも1つの識別子メンテナ130と、少なくとも1つのパネリスト識別子モジュール135と、少なくとも1つのパネリストマッパー150と、少なくとも1つのスケッチ生成器145と、少なくとも1つのスケッチコンバイナ150と、少なくとも1つのスケッチ送信機155とを含むことができる。データベース115は、1つまたは複数のパネリスト識別子165A~N (「パネリスト識別子165」と総称されることがある)と、1つまたは複数のパネリスト属性170A~N (「パネリスト属性170」と総称されることがある)と、1つまたは複数の仮想識別子175A~N (「仮想識別子175」と総称されることがある)と、1つまたは複数の仮想属性180A~N (「仮想属性180」と総称されることがある)とを含むことができる。いくつかの実現例では、データベース115はデータ処理システム105の外部にあることができ、データ処理システム105およびその構成要素は、ネットワーク110を介してデータベース115にクエリを行うことができる。
【0054】
システム100の構成要素(例えば、データ処理システム105、ネットワーク110、パネリストデバイス120A~N、コンテンツプロバイダ160A~N、データベース115、識別子メンテナ130、パネリスト識別子モジュール135、パネリストマッパー150、スケッチ生成器145、スケッチコンバイナ150、スケッチ送信機155、パネリスト識別子165A~N、パネリスト属性170A~N、仮想識別子175A~N、および仮想属性180A~Nなど)はそれぞれ、ハードウェアコンポーネントを使用して、または図9と関連して本明細書に詳述する、ソフトウェアとコンピューティングシステム(例えば、本明細書に記載するコンピューティングシステム900、データ処理システム105、他の任意のコンピューティングシステムなど)のハードウェアコンポーネントとの組合せを使用して実現することができる。データ処理システム105の構成要素はそれぞれ、本明細書に詳述する機能性を実施することができる。
【0055】
データ処理システム105は、少なくとも1つのプロセッサおよびメモリ、例えば処理回路を含むことができる。メモリは、プロセッサによって実行されると、プロセッサに本明細書に記載する動作の1つまたは複数を実施させる、プロセッサ実行可能命令を記憶することができる。プロセッサは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、またはそれらの組合せを含んでもよい。メモリは、電子デバイス、光学デバイス、磁気デバイス、またはプロセッサにプログラム命令を提供することができる他の任意の記憶もしくは送信デバイスを含んでもよいが、それらに限定されない。メモリはさらに、フロッピーディスク、CD-ROM、DVD、磁気ディスク、メモリチップ、ASIC、FPGA、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気消去可能プログラマブルROM(EEPROM)、消去可能プログラマブルROM (EPROM)、フラッシュメモリ、光学媒体、またはプロセッサが命令を読み出すことができる他の任意の好適なメモリを含んでもよい。命令は、任意の好適なコンピュータプログラミング言語によるコードを含んでもよい。データ処理システム105は、本明細書に記載するような様々な機能を実施することができる、1つもしくは複数のコンピューティングデバイスまたはサーバを含むことができる。データ処理システム105は、図9と関連して本明細書に記載するコンピュータシステム900の構成要素のいずれかまたはすべてを含み、その機能のいずれかまたはすべてを実施することができる。
【0056】
ネットワーク110は、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、メトロエリアネットワーク、または他のエリアネットワーク、イントラネット、衛星ネットワーク、音声もしくはデータ移動電話通信ネットワークなどの他のコンピュータネットワーク、およびそれらの組合せなどのコンピュータネットワークを含むことができる。システム100のデータ処理システム105は、ネットワーク110を介して、例えば、少なくとも1つのコンテンツプロバイダ160または少なくとも1つのパネリストデバイス120と通信することができる。ネットワーク110は、中でも特に、パネリストデバイス120、コンテンツプロバイダ160、データ処理システム105、およびウェブサーバなどの1つまたは複数のコンテンツソースの間で情報を中継することができる、任意の形態のコンピュータネットワークであってもよい。いくつかの実現例では、ネットワーク110は、インターネット、および/または他のタイプのデータネットワーク、例えばローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、セルラネットワーク、衛星ネットワーク、もしくは他のタイプのデータネットワークを含んでもよい。ネットワーク110はまた、ネットワーク110内でデータを受信および/または送信するように構成された、任意の数のコンピューティングデバイス(例えば、コンピュータ、サーバ、ルータ、ネットワークスイッチなど)を含んでもよい。ネットワーク110はさらに、任意の数の配線および/または無線接続を含んでもよい。本明細書に記載するコンピューティングデバイスのいずれかまたはすべて(例えば、データ処理システム105、コンピュータシステム900など)は、ネットワーク110の他のコンピューティングデバイスに(例えば、光ファイバーケーブル、CAT5ケーブルなどを介して)配線接続された送受信機と、(例えば、WiFi、セルラ、無線などを介して)無線で通信してもよい。本明細書に記載するコンピューティングデバイスのいずれかまたはすべて(例えば、データ処理システム105、コンピュータシステム900など)はまた、プロキシデバイス(例えば、ルータ、ネットワークスイッチ、またはゲートウェイ)を介して、ネットワーク110のコンピューティングデバイスと無線で通信してもよい。
【0057】
データベース115は、本明細書に記載する情報のいずれかを記憶および/または維持するように構成されたデータベースであることができる。データベース115は、インデックスを包含するか、あるいは本明細書に記載する値、複数性、セット、変数、ベクトル、または閾値のそれぞれを記憶してもよい、1つまたは複数のデータ構造を維持(例えば、記憶など)することができる。データベース115は、データベース115に維持されている任意のアイテム、構造、または領域の1つもしくは複数のメモリアドレス、インデックス値、または識別子を使用してアクセスされ得る。データベース115は、データ処理システム105の構成要素、または本明細書に記載する他の任意のコンピューティングデバイスによって、ネットワーク110を介してアクセスされ得る。いくつかの実現例では、データベース115はデータ処理システム105の内部にあることができる。いくつかの実現例では、データベース115は、データ処理システム105の外部に存在することができ、ネットワーク110を介してアクセスされてもよい。データベース115は、多くの異なるコンピュータシステムまたはストレージ要素にわたって分配することができ、ネットワーク110または好適なコンピュータバスインタフェースを介してアクセスされてもよい。データ処理システム105(またはその任意の構成要素)は、データ処理システム105のメモリの1つもしくは複数の領域、またはデータベース115に、いずれかもしくはすべての計算、決定、選択、識別、生成、構築、または算出の結果を、適切な値によってインデックス付けまたは識別された1つもしくは複数のデータ構造の形で記憶することができる。データベース115に記憶されたいずれかまたはすべての値は、本明細書に記載する機能性または機能のいずれかを実施するため、データ処理システム105など、本明細書に記載する任意のコンピューティングデバイスによってアクセスされてもよい。
【0058】
パネリストデバイス120はそれぞれ、少なくとも1つのプロセッサおよびメモリ、例えば処理回路を含むことができる。メモリは、プロセッサによって実行されると、プロセッサに本明細書に記載する動作の1つまたは複数を実施させる、プロセッサ実行可能命令を記憶することができる。プロセッサは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、またはそれらの組合せを含んでもよい。メモリは、電子デバイス、光学デバイス、磁気デバイス、またはプロセッサにプログラム命令を提供することができる他の任意の記憶もしくは送信デバイスを含んでもよいが、それらに限定されない。メモリはさらに、フロッピーディスク、CD-ROM、DVD、磁気ディスク、メモリチップ、ASIC、FPGA、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気消去可能プログラマブルROM(EEPROM)、消去可能プログラマブルROM(EPROM)、フラッシュメモリ、光学媒体、またはプロセッサが命令を読み出すことができる他の任意の好適なメモリを含んでもよい。命令は、任意の好適なコンピュータプログラミング言語によるコードを含んでもよい。パネリストデバイス120はそれぞれ、本明細書に記載する様々な機能を実施することができる、1つもしくは複数のコンピューティングデバイスまたはサーバを含むことができる。パネリストデバイス120はそれぞれ、図9と関連して本明細書に記載するコンピュータシステム900の構成要素のいずれかまたはすべてを含み、その機能のいずれかまたはすべてを実施することができる。
【0059】
パネリストデバイス120はそれぞれ、ネットワーク110を介して通信して、データ処理システム105またはコンテンツプロバイダ160との間でメッセージを送信または受信するように構成された、コンピューティングデバイスであることができる。パネリストデバイス120は、中でも特に、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、携帯情報端末、移動デバイス、消費者コンピューティングデバイス、サーバ、クライアント、デジタルビデオレコーダ、テレビのセットトップボックス、ビデオゲームコンソール、またはネットワーク110を介して通信するように構成された他の任意のコンピューティングデバイスであることができる。パネリストデバイス120は、コンテンツに対する1つまたは複数の要求を、コンテンツ発行者、コンテンツプロバイダ160、またはデータ処理システム105に送信することができる。パネリストデバイス120は、オンラインコンテンツを、要求が送信された先のデバイスから受信することができ、コンテンツは、要求に関与するクライアントデバイス120に関する、デバイス情報(例えば、デバイスモデル、デバイスタイプ、デバイスのオペレーティングシステム、デバイスのオペレーティングシステムのバージョン、デバイスの時間、デバイスの日にち、本明細書に記載する他の任意のコンテキスト情報など)に基づいて選択される。
【0060】
パネリストデバイス120は、例えば、1つまたは複数のケーブルモデム(例えば、パネリストデバイス120の外部もしくは内部のものなど)、光ファイバーエンドポイント、ラジオ放送(テレビ放送などを含む)から、オフラインコンテンツ190にアクセスすることができる。オフラインコンテンツは、任意の種類のテレビ放送(例えば、ケーブルネットワーク、ファイバーネットワーク、ハイブリッドネットワーク、もしくはラジオ送信を介するものなど)、ラジオ放送(例えば、AMラジオ、FMラジオ、インターネットラジオなど)、または他の任意のタイプのオフライン(例えば、1対1の方式で提供されない)コンテンツ放送(例えば、インターネットライブストリーム、ストリーミングビデオ、ストリーミングオーディオなどを含む)を含むことができる。パネリストデバイス120は、オフラインコンテンツを、例えば、本明細書に上述した手段のいずれかを介してオフラインコンテンツを提供するように構成された、1つまたは複数のコンテンツプロバイダ160から受信することができる。パネリストデバイス120はそれぞれ、パネリストデバイス120に固有であることができる識別子に割り当て、パネリスト識別子165としてデータベース115に記憶することができる。加えて、パネリストデバイス120はそれぞれ、パネリスト属性(例えば、年齢、興味、性別などの人口統計情報、および地域、座標、または他の位置情報などの位置情報、ならびに任意のタイプの興味または他の情報)と関連付けることができる。
【0061】
パネリストデバイス120は、オフラインコンテンツイベントに関する情報をデータ処理システム105に報告することができる。パネリストデバイス120が、オフラインコンテンツの1つまたは複数のアイテム(例えば、テレビプログラム、ラジオプログラム、他の任意のタイプのオフラインコンテンツなど)にアクセスした場合、パネリストデバイス120は、このイベントを、コンテンツイベントとしてパネリストデバイス120のメモリに記録することができる。コンテンツイベントは、パネリストデバイス120がイベントと関連付けられたオフラインコンテンツにアクセスした持続時間、パネリストデバイス120がイベントと関連付けられたオフラインコンテンツにアクセスした時刻、パネリストデバイスが他のオフラインコンテンツにアクセスしたか否か(例えば、オフラインコンテンツの間で切り替えたかなど)、ならびに他のオフラインコンテンツのどれにパネリストデバイス120がアクセスしたかなど、他のかかるイベントに関する情報を含むように記録することができる。各コンテンツイベントは、アクセスされたオフラインコンテンツの1つまたは複数の識別子(例えば、チャンネル識別子、プログラム識別子など)と関連付けることができる。パネリストデバイス120は、すべての識別子および関連付けられた情報を含む、各コンテンツイベントに関する情報を、1つまたは複数のコンテンツイベントメッセージの形でデータ処理システム105に送信することができる。コンテンツイベントメッセージは、本明細書に記載するようなコンテンツイベントと関連付けられた情報のいずれかを含むことができ、パネリストデバイス120の識別子165、およびいくつかの実現例では、パネリストデバイス120の属性を含むことができる。
【0062】
コンテンツプロバイダ160は、少なくとも1つのプロセッサおよびメモリ、例えば処理回路を含むことができる。メモリは、プロセッサによって実行されると、プロセッサに本明細書に記載する動作の1つまたは複数を実施させる、プロセッサ実行可能命令を記憶することができる。プロセッサは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、またはそれらの組合せを含んでもよい。メモリは、電子デバイス、光学デバイス、磁気デバイス、またはプロセッサにプログラム命令を提供することができる他の任意の記憶もしくは送信デバイスを含んでもよいが、それらに限定されない。メモリはさらに、フロッピーディスク、CD-ROM、DVD、磁気ディスク、メモリチップ、ASIC、FPGA、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気消去可能プログラマブルROM (EEPROM)、消去可能プログラマブルROM (EPROM)、フラッシュメモリ、光学媒体、またはプロセッサが命令を読み出すことができる他の任意の好適なメモリを含んでもよい。命令は、任意の好適なコンピュータプログラミング言語によるコードを含んでもよい。コンテンツプロバイダ160は、本明細書に記載する様々な機能を実施することができる、1つもしくは複数のコンピューティングデバイスまたはサーバを含むことができる。コンテンツプロバイダ160は、図10と関連して本明細書に記載するコンピュータシステム1000の構成要素のいずれかまたはすべてを含み、その機能のいずれかまたはすべてを実施することができる。
【0063】
コンテンツプロバイダ160は、オンラインコンテンツを含むか、またはオンラインコンテンツを取得するスクリプトを含むことができる、1つまたは複数の情報リソースを提供することができる。コンテンツプロバイダ160は、オンラインコンテンツにアクセスするクライアントデバイスの時間、識別子、および属性を含めて、どのクライアントデバイスがオンラインコンテンツアイテムにアクセスするかを記録することができる。コンテンツプロバイダ160は、埋め込まれたビデオと共に表示するコンテンツアイテムを提供することができる。コンテンツアイテムは、インラインコンテンツおよびオーバーレイコンテンツを含むことができる。インラインコンテンツは、従来のテレビ放送の間に表示されるニュース速報、緊急放送、またはコマーシャルと類似の方式で、有限の期間の間、ホストされたビデオの代わりに表示することができる。オーバーレイコンテンツは、埋め込まれたビデオの上に表示することができる。オーバーレイコンテンツは、ピクチャインピクチャビデオ、ポップアップ通知、またはバナーなどの任意の好適なコンテンツを含むことができる。コンテンツプロバイダ160は、コンテンツに対するクライアントデバイスからの1つまたは複数の要求に応答して、オンラインコンテンツを提供することができる。したがって、コンテンツプロバイダ160は、要求しているデバイスと1対1で、コンテンツイベントを提供し、記録することができる。この情報をトラッキングし、コンテンツプロバイダ160のメモリに維持することができ、追加の処理を使用して、指定のコンテンツアイテムまたはキャンペーンにアクセスしたクライアントデバイスを表すスケッチを生成することができる。
【0064】
一部のコンテンツプロバイダ(例えば、コンテンツプロバイダ160B)は、オフラインコンテンツ190を提供することができる。かかるコンテンツプロバイダ160は、例えば、ケーブルネットワーク、光ファイバーネットワーク、ハイブリッドネットワーク、またはラジオ送信を介して、コンテンツを放送することができる。オフラインコンテンツ190は、放送することができ、オンラインコンテンツのように1対1で配信されないので、オフラインコンテンツを提供するコンテンツプロバイダ160は、オフラインコンテンツデバイス(例えば、パネリストデバイス120など)によってアクセスされる、オフラインコンテンツに関する情報を維持しない。パネリストデバイス120は、オフラインコンテンツイベントをデータ処理システム105に通信することができるが、パネリストデバイス120は、オフラインコンテンツ190にアクセスするデバイスの数の一部を表す。したがって、オフラインコンテンツ190にアクセスするデバイスの属性は、コンテンツプロバイダ160にはほとんど分かっていない。この課題を解決するため、データ処理システム105は、本明細書に記載する機能性を実施して、オフラインコンテンツにアクセスするパネリストの属性に基づいて、オンラインコンテンツにアクセスするデバイスの属性を正確に推定する。
【0065】
データベース115に維持されているパネリスト識別子165は、リストまたはインデックス付きのルックアップなど、1つもしくは複数のデータ構造に記憶することができる。パネリスト識別子はそれぞれ、特定のパネリストデバイス120を記述した、1つまたは複数のパネリスト属性170と関連付けることができる。したがって、各パネリストデバイス120は、パネリスト識別子165それぞれ、およびパネリスト属性170のグループそれぞれと関連付けられる。データ処理システム105がオフラインコンテンツイベントを記述したメッセージを受信すると決定すると、データ処理システム105は、そのイベントを適切なパネリスト識別子165(例えば、そこからのメッセージが受信されたパネリストデバイスに対応する識別子など)、ならびにそのパネリストデバイスのパネリスト属性170と関連付けることができる。メッセージ、またはオフラインコンテンツイベントを記述したそのコンテンツは、データ処理システム105のメモリに記憶することができる。
【0066】
パネリスト属性170は、パネリストデバイス120それぞれと関連付けられた属性を含むことができ、1つもしくは複数のリストまたはインデックス付きのデータ構造でデータベース115に記憶することができる。パネリスト属性170は、年齢、性別、興味などの人口統計情報、および他の人口統計情報を含むことができ、地域情報、座標情報、または他のタイプの位置情報を含む、様々な粒度の位置情報を含むことができる。パネリスト属性170の各グルーピングは、1つのパネリストデバイス120それぞれおよび1つのパネリスト識別子165それぞれと関連付けることができる。
【0067】
仮想識別子175は、仮想ユーザまたは仮想デバイスの識別子であることができる。仮想デバイスは、ユーザまたはデバイスを表すことができるが、実際の現実世界のデバイスは表さない、一般的属性または特性を有してもよいデバイスである。仮想識別子は、1つまたは複数の仮想属性180それぞれと関連付けて記憶される、固有識別子であることができる。仮想識別子175はそれぞれ、例えばパネリストマッパー140によって、同様または同一の属性を有するパネリスト識別子165にマッピングすることができる。
【0068】
仮想属性180は、1つの仮想識別子175それぞれと関連付けて記憶することができ、仮想識別子が対応する仮想デバイスまたは仮想ユーザの属性を記述することができる。仮想属性180は、年齢、性別、興味などの人口統計情報、および他の人口統計情報を含むことができ、地域情報、座標情報、または他のタイプの位置情報を含む、様々な粒度の位置情報を含むことができる。
【0069】
識別子メンテナ130は、1つまたは複数のオフラインコンテンツイベントそれぞれと関連付けて記憶された、パネリスト識別子165を維持することができる。例えば、識別子メンテナ130は、オフラインコンテンツイベントを記述するメッセージをパネリストデバイス120から受信することができ、メッセージに含まれるオフラインコンテンツイベントを特定のパネリスト識別子165と一致させることができる。パネリスト識別子165は、オフラインコンテンツイベントを報告するメッセージに含めることができる。識別子メンテナ130は、オフラインコンテンツイベントに関する情報(イベントのタイプ、もしくは本明細書に記載する他の任意のオフラインコンテンツイベント情報などを含む)のいずれかまたはすべてを、オフラインコンテンツイベントの対象であったオフラインコンテンツアイテムの識別子、およびオフラインコンテンツイベントを報告したパネリスト識別子165と関連付けて記憶することができる。これらの関連は、1つまたは複数のデータ構造の形で、データ処理システム105のメモリまたはデータベース115に記憶することができる。
【0070】
パネリスト識別子モジュール135は、特定のオフラインコンテンツイベントと関連付けられるパネリスト識別子のサブセットを識別することができる。いくつかの実現例では、パネリスト識別子モジュール135は、オフラインコンテンツのアイテムの仮想視聴者を表すスケッチに対する要求であることができる。要求に応答して、パネリスト識別子モジュール135は、パネリスト識別子165から、要求において指定された標的オフラインコンテンツイベントに一致するオフラインコンテンツイベントそれぞれと共に記憶される、パネリスト識別子のサブセットを識別することができる。それを行うため、パネリスト識別子モジュール135は、パネリスト識別子165のそれぞれを反復して、パネリスト識別子のどれがイベントと関連付けられているか(例えば、指定された期間中の任意の標的オフラインコンテンツに一致するなど)を識別することができる。いくつかの実現例では、パネリスト識別子モジュール135は、スケッチに対する要求において識別された基準を満たす、パネリスト識別子165の識別されたサブセットを含む、リストまたは別のタイプのデータ構造を構築することができる。
【0071】
パネリストマッパー140は、パネリスト識別子のサブセットのそれぞれを1つまたは複数のVID 175にマッピングすることができる。パネリストマッパー140は、多種多様なやり方で識別子をマッピングすることができる。その一部としては、ディープスケッチの生成後または生成中(例えば、スケッチ生成器145がすべてのVID 175を表すスケッチを生成した後など)に行われてもよい、ディープスケッチサブサンプリングを挙げることができる。いくつかの実現例では、パネリストマッパー140は、パネリスト識別子のサブセットのそれぞれと関連付けられた重み値を識別することができる。重み値は、パネリスト識別子をマッピングすることができる、VID 175の数に比例することができる。いくつかの実現例では、重み値はオフラインプロセスで割り当てられる。いくつかの実現例では、重み値は、パネリストデバイス120から、またはパネリストデバイス120と関連付けられた別のコンピューティングデバイスから、ネットワーク110を介して受信される。
【0072】
パネリストマッパー140は、重みおよびプールサイズに基づいて、VID 175をパネリスト識別子165(本明細書では、「パネリスト」と呼ばれることがある)に関連付けることができる。重みが日ごとに決定される場合、または重みが1日の範囲に対して決定される場合、重みwpを有するパネリストpは、プール内の
【0073】
【数4】
【0074】
のVID 175と関連付けることができ、式中、Pはプールサイズであることができる。重みの変更によって生じる関連付けの入替えを低減するため、重みと一貫したハッシング(「親密度ハッシング」と呼ばれることがある)を使用して、関連付けられた
【0075】
【数5】
【0076】
のVIDを選ぶことができる。これは逆方向で働くことができる。各VIDに関して、それらがパネリストpによって選ばれる確率は
【0077】
【数6】
【0078】
であり得る。各パネリスト識別子165を1つまたは複数の仮想識別子175に割り当てることができ、各仮想識別子175を1つのパネリスト識別子165に割り当てることができる。いくつかの実現例では、パネリスト属性170それぞれと仮想属性180との間の一致を識別することによって、パネリスト165がマッピングされるVID 175を決定することができる。
【0079】
次に図2を簡潔に参照すると、パネリスト識別子165(および関連付けられたパネリスト属性170)の、対応する仮想識別子175(および関連付けられた属性180)に対するマッピングの一例が示されている。図2に示されるように、パネリストはそれぞれ1つまたは複数のVID 175と関連付けることができるが、VID 175は1つのパネリスト165としか関連付けることができない。さらに、パネリスト165Aの重み値の例は3、パネリスト165Bの重み値の例は3、パネリスト165Nの重み値の例は2である。
【0080】
次に図1を再度参照すると、パネリストマッパー140は、一致する属性データに基づいて、VID 175に対するパネリスト識別子のマッピングを生成することができる。例えば、パネリストマッパー140は、パネリスト識別子165の属性データを仮想属性180と比較し、マッピングを、一致する属性データを有する対応するVID 175に割り当てることができる。これは、重み値に従って実施することができるので、任意の所与のパネリストと関連付けられたVID 175の数は、そのパネリストの重み値に比例する。パネリストマッパー140は、このマッピングの結果を、隣接リスト、グラフ行列データ構造、または他の任意のタイプのデータ構造として、データ処理システム105のメモリまたはデータベース115に記憶することができる。
【0081】
パネリストマッパー140はまた、本明細書に記載するように、ディープスケッチサブサンプリングを実施することができる。次に図4を簡潔に参照すると、ディープスケッチサブサンプリングを実施して、パネリストのためのHLLスケッチなどのスケッチの1つまたは複数のレジスタを生成することができる、パネリストマッパー140の一例の略図400が示されている。ディープスケッチサブサンプリングを実施するため、スケッチ生成器145は最初に、VIDのすべてを表すディープスケッチを生成することができる。VIDは一般に、頻繁には更新されないので、このプロセスは毎回実施される必要はなく、したがってスケッチは、データ処理システムによって維持し、新しいVID 175が追加または生成されると、スケッチ生成器145によって必要に応じて更新することができる。ディープスケッチサブサンプリングは、プール内のVID 175のすべてを分析することなく、VID 175のプールのランダムサブセット(例えば、ディープスケッチを生成するのに使用されるものなど)を迅速にサンプリングすることができる。目標は、VID 175のプールを、それぞれのパネリスト識別子165にそれぞれ割り振ることができるVIDの互いに素なサブセットへと分割することである。図4に示されるように、略図400は、HLLレジスタに対するVIDのプールのサブセットが、元のVID 175の20%であるようにサンプリングされることを示している。深さ値は、この例では3であることができるが、任意の深さ値を利用できることが理解されるべきである。しかしながら、目標は、パネリスト165に割り振られる互いに素なサブセットをサンプリングすることであり、したがって、ディープスケッチサブサンプリングを複数回実施することでは、その目標は達成されないことがある。
【0082】
次に、図5を簡潔に参照すると、一例の略図500が示されている。パネリストマッパー140は、同様の方策を利用して、VID 175の互いに素なサブセットをサンプリングすることができ、それを次に対応するパネリスト165に割り当てることができる。略図400に示されるように、VIDのセットのサイズ20%、30%、および50%の3つの互いに素なサブセットを、(例えば、HLLスケッチの各レジスタに対してなど)パネリストマッパー140によってサンプリングすることができる。パネリストマッパー140は、以下のアルゴリズムを使用してサンプリングを実施することができる。
入力:合計1になる重みw1、w2、…、wqを有するQ個のパネリスト識別子165。深さDのスケッチ:プールPに対応するS1 < S2 < … < SD。
出力:ランダムの互いに素なスケッチr1、r2、…、rQ
アルゴリズム1
【0083】
【表1】
【0084】
上記のアルゴリズム1を利用して、量の目標を達成することができる。
【0085】
アルゴリズム1の証明は次の通りである。下記の証明は、D = 1の場合の結果を含むが、D > 1に対する証明は同様である。D = 1なので、Sに対する深さインデックスは低下する。
【0086】
各パネリストjに対して、rjは確率wjを有するSであり、それ以外はExp(|P|wj, S)である。これは、1 < Q' < Qの場合に重みw1、w2、…wQを有するパネリストのサブセットに対して、
【0087】
【数7】
【0088】
は確率
【0089】
【数8】
【0090】
を有するSであり、それ以外は、
【0091】
【数9】
【0092】
であることを示すのに十分である。
【0093】
w1、w2、…、wQに基づいてサンプリングされたパネリストが[1,Q']以内の場合のみ、rQ'はSであり、これは、確率
【0094】
【数10】
【0095】
で起こり得ることに留意されたい。それ以外は、rQ'は、1≦q≦Q'に対する独立したExp(|P| wq, S)の最小値である。指数分布の良好な性質により、この場合、rQ'
【0096】
【数11】
【0097】
からサンプリングすることができる。
【0098】
上記のアルゴリズムを実現する場合、パネリストマッパー140は、Exp(|P|wj, SD)からサンプリングすることができる。しかしながら、これには課題があることがある。例えば、|P|wj << 1のとき(例えば、パネリストがレジスタ内に0.5のVIDしか予期できないなど)、パネリストマッパー140は、1よりも大きいExp(|P|wj , SD)のサンプルを描写する可能性が高く、それによって次いで、このレジスタが現在の基数推定によって空として扱われることになる。これは重大な過小計数をもたらすことがある。現在のHLLスケッチは、指数確率変数からではなく、均一な確率変数からサンプリングすることがある。かかる変数は大きい基数と同一になる場合があるが、少量では発散する場合がある。指数確率変数を一様に追加することで分布を変更することができる。パネリストは、レジスタの半分に空ではないスケッチを有するだけであるが、端数によって、潜在的にすべてのレジスタに空ではないスケッチを有することができるので、端数の|P|wj << 1からのサンプリングはまた、同時に過大計数につながる可能性がある。
【0099】
上記の理由により、アルゴリズム1を、これらの課題に対処するように修正することができる。
【0100】
次に図6を簡潔に参照すると、一例の深さ値3を有する、元のセットのサイズ20%、30%、および50%の互いに素なサブセットのサンプリングの一例の略図600が示されている。しかしながら、略図500に示されるように、パネリストマッパー140は、下記に含まれるアルゴリズム2に従って互いに素なサブセットを選択することができる。
アルゴリズム2
【0101】
【表2】
【0102】
アルゴリズム2を利用する一例の実現例の結果として得られる性能を含む実験データを、図10A図15Bと関連して本明細書で後述する。
【0103】
対話の目標を達成するため、パネリストマッパー140は、本明細書で上述したアルゴリズムに対する適切な深さ値を決定することができる。この課題に対する解決策を説明するため、|P|からのD個の最も小さい一様ランダムサンプルS1、S2、…、SDを記憶することができる、単一のレジスタに焦点を当てる。次に図7を簡潔に参照すると、深さ値3でサンプリングされた通常のサブセットおよび別の独立したサブセットのマージの一例の図700が示されている。オンラインコンテンツ視聴者を表す、サイズp1|P|を有するP(例えば、VID 175のプールなど)のランダムサブセットP1について考察する。P1のスケッチを、作成システムを使用して生成されたr1とする。(例えば、r1は|P|のサンプルのランダムサブセットのうち最小のものである)。
【0104】
オフラインコンテンツ視聴者を表す、サイズp2|P|を有するPの別の独立したランダムサブセットP2について考察する。S2のスケッチをr2とし、本発明の提案によって生成される集合は、例えば、確率p2でS1に等しく、それ以外は、確率p2でS2に等しいなどである。r2がS1、S2、…、SDのいずれでもない場合、[SD, 1]からランダムで一様にサンプリングされる。P1∪P2の真に予期されるサイズは、(p1 + p2 - p1p2)|P|である。
【0105】
理想的なスケッチにより、実現される上記P1∪P2の予期されるサイズは、上記から、
|P|((1 - p1)D(1 - p2)D(p1 + p2) + (1 - (1 - p1)D(1 - p2)D)(p1 + p2-p1p2))
によって制限される。
証明
集合のスケッチはr = min(r1,r2)である。(1 - p1)D(1 - p2)Dの確率では、どのスケッチもS1、S2、…、SDのいずれにも等しくない。それ以外では、rは理想的なスケッチであり、真に予期される集合サイズをもたらす。
どちらのスケッチもS1、S2、…、SDのいずれにも等しくない場合、rは、SDの上の独立したスケッチ|P|(p1 + p2)の最小値である。
Q.E.D.
【0106】
理想的なスケッチを仮定すると、上述の集合に対して、相対エラー
【0107】
【数12】
【0108】
は、上記から、
【0109】
【数13】
【0110】
によって制限される。
証明
上記に定義した相対エラーは、
【0111】
【数14】
【0112】
である。p1 + p2が固定である場合、p1 = p2のときに最大であり、したがって
【0113】
【数15】
【0114】
に縮小する。
Q.E.D.
【0115】
【数16】
のとき等式は有効なので、上限は緩いものであり得ることに留意されたい。様々な上限が下記のDに対するTable 1(表3)で評価される。実験データを、図14Aおよび図14Bと関連して本明細書で後述する。
【0116】
【表3】
【0117】
次に図1に戻って参照すると、スケッチ生成器145は、パネリスト識別子165の識別されたサブセットのそれぞれに関して、関連付けられたVID 175を、それぞれのパネリスト識別子と関連付けられたVID 175を表すスケッチへと縮小することができる。したがって、スケッチ生成器145は、パネリスト識別子モジュール135によってパネリストのサブセットの一部として識別される、パネリスト165のそれぞれに対するスケッチを生成することができる。スケッチは、VIDをコンパクトに表す確率的データ構造であることができる。スケッチは、例えばHLLスケッチであることができる。スケッチ生成器145は、数千のレジスタを含むようにスケッチを生成することができる。例えば、HLLスケッチは、14に対して2、すなわちおよそ16Kのレジスタを含むことができる。しかしながら、他の数のレジスタが使用されてもよい。新しいVPIDがスケッチに含まれるとき(例えば、パネリストマッパー140によって生成されたマッピングからアクセスされるなど)、16Kのレジスタのうちの1つに疑似乱数的に移動させることができる。各レジスタは、空であるか、またはレジスタスケッチを保持することができ、0~1の数であることができる。レジスタ内では、スケッチ生成器145は、0~1の均一な疑似確率変数にハッシングされ得る各VPIDをハッシングすることができる。ハッシュ値が既存のレジスタスケッチよりも小さい場合、後者を更新して前者と等しくすることができる。換言すれば、レジスタがR個の固有のVPIDを処理した場合、均一な疑似確率変数に対応する最小値Rを保持する。数学的には、この最小値はレートRの指数確率変数に近い分布を有するので、レジスタに寄与したVPIDの数の近似的な固有の計数を後で提供することができる。スケッチ生成器145は、各HLLスケッチのレジスタをデータ処理システム105のメモリに記憶し更新することができる。スケッチ生成後または生成中、パネリストマッパー140は、本明細書で上述したディープスケッチサブサンプリングを実施して、計算時間を改善することができる。
【0118】
次に図3を簡潔に参照すると、それぞれのレジスタにマッピングされたVIDの一例の表現を示す図300が示されている。図に示されるように、各VIDは1つのレジスタのみに割り当てられる(例えば、VIDを2つ以上のレジスタに割り当てることはできないなど)。すべてのレジスタのレジスタ値(例えば、任意のレジスタの最小値R)は、HLLスケッチに寄与したVIDの基数(例えば、固有の値の数値など)を推定するのに使用することができる。
【0119】
次に図1に戻って参照すると、スケッチコンバイナ150は、パネリスト識別子のサブセットのそれぞれのスケッチを組み合わせて集約スケッチとすることができる。同様のシード(例えば、ハッシュ関数など)を使用して生成されるHLLスケッチは、HLLマージアルゴリズムを使用して共にマージすることができる。結果として得られる集約スケッチは、パネリスト識別子モジュール135によって識別されたパネリスト165のサブセットにおけるパネリスト165のすべてによって表されるVIDのすべてを表すことができる。スケッチをマージするため、スケッチコンバイナ150は、スケッチのすべてにおける各レジスタを反復することができる(例えば、マージされるすべてのスケッチからレジスタ位置ゼロを選択し、選択されたレジスタに対してマージを実施し、次にすべてのスケッチからレジスタ1を選択し、選択されたレジスタに対してマージを実施し、その後も同様に行う、など)。集約スケッチを生成するため、スケッチコンバイナは、特定のマージ位置に関してマージされるすべてのHLLスケッチにわたって最大レジスタ値を識別し、集約スケッチにおけるその位置に対するその値を選択することができる。例えば、3つのスケッチがマージされ、レジスタ位置81の場合、3つのスケッチはそれぞれ8、100、および904の値を有し、集約スケッチは、レジスタ位置81において値904を有することができる。スケッチコンバイナ150は、スケッチにわたるレジスタ位置すべてに対してこのプロセスを繰り返すことができる。結果として得られる集約スケッチは、1つまたは複数のデータ構造の形で、データ処理システム105のメモリに記憶することができる。
【0120】
スケッチ送信機155は、集約スケッチを、オンラインコンテンツイベントを表す集約スケッチと共に、コンピューティングデバイスに送信して分析することができる。オンラインコンテンツイベントは、同じシードを使用して生成されたスケッチを有することができ、したがって、スケッチコンバイナ150によって生成されたスケッチと組み合わせて、オンラインおよびオフライン両方のコンテンツにわたる仮想識別子の完全な分析を行うことができる。スケッチ送信機155は、データ処理システム105のメモリにアクセスして集約スケッチを取り出し、スケッチを1つまたは複数のメッセージの形で別のコンピューティングデバイスに送信してさらに処理することができる。いくつかの実現例では、スケッチは、スケッチを要求したコンピューティングデバイスに送信され、パネリスト165のサブセットを識別する際に使用する標的コンテンツを指定することができる。スケッチ送信機155は、スケッチ表現に対する要求への応答としてスケッチを送信することができ、サブセットの一部として識別されたパネリスト識別子165のリストを含むことができる。いくつかの実現例では、パネリスト識別子のリストは集約スケッチに含まれず、その代わりに集約スケッチはそれ自体で送信される。
【0121】
次に図8を参照すると、パネリストアクティビティの高速マージによるクロスメディアレポートのための方法800の例示的なフロー図が示されている。方法800は、データ処理システム105、図9に関連して本明細書に記載するコンピュータシステム900、または本明細書に記載する他の任意のコンピューティングデバイスによって実行し、実施し、または別の形で実践することができる。方法800の簡潔な概要では、データ処理システム(例えば、データ処理システム105など)は、パネリスト識別子を維持し(ステップ802)、パネリスト識別子のサブセットを識別し(ステップ804)、k番目のパネリスト識別子をサブセットから選択し(ステップ806)、パネリスト識別子をVIDにマッピングし(ステップ808)、VIDをスケッチに縮小し(ステップ810)、カウンタレジスタkがパネリストの数nに等しいか否かを決定し(ステップ812)、カウンタレジスタkを増分し(ステップ814)、スケッチを組み合わせて集約スケッチとし(ステップ816)、集約スケッチを送信する(ステップ818)ことができる。
【0122】
さらに詳細には、データ処理システムはパネリスト識別子を維持することができる(ステップ802)。データ処理システムは、1つまたは複数のオフラインコンテンツイベントそれぞれと関連付けて記憶された、パネリスト識別子(例えば、パネリスト識別子165)を維持することができる。例えば、データ処理システムは、オフラインコンテンツイベントを記述するメッセージをパネリストデバイス(例えば、パネリストデバイス120など)から受信することができ、メッセージに含まれるオフラインコンテンツイベントを特定のパネリスト識別子165と一致させることができる。パネリスト識別子165は、オフラインコンテンツイベントを報告するメッセージに含めることができる。データ処理システムは、オフラインコンテンツイベントに関する情報(イベントのタイプ、もしくは本明細書に記載する他の任意のオフラインコンテンツイベント情報などを含む)のいずれかまたはすべてを、オフラインコンテンツイベントの対象であったオフラインコンテンツアイテムの識別子、およびオフラインコンテンツイベントを報告したパネリスト識別子165と関連付けて記憶することができる。これらの関連は、1つまたは複数のデータ構造の形で、データ処理システムのメモリまたはデータベース(例えば、データベース115など)に記憶することができる。
【0123】
データ処理システムは、パネリスト識別子のサブセットを識別することができる(ステップ804)。データ処理システムは、特定のオフラインコンテンツイベントと関連付けられるパネリスト識別子のサブセットを識別することができる。いくつかの実現例では、データ処理システムは、オフラインコンテンツのアイテムの仮想視聴者を表すスケッチに対する要求であることができる。要求に応答して、データ処理システムは、パネリスト識別子165から、要求において指定された標的オフラインコンテンツイベントに一致するオフラインコンテンツイベントそれぞれと共に記憶される、パネリスト識別子のサブセットを識別することができる。それを行うため、データ処理システムは、パネリスト識別子165のそれぞれを反復して、パネリスト識別子のどれがイベントと関連付けられているか(例えば、指定された期間中の任意の標的オフラインコンテンツに一致するなど)を識別することができる。いくつかの実現例では、データ処理システムは、スケッチに対する要求において識別された基準を満たす、パネリスト識別子165の識別されたサブセットを含む、リストまたは別のタイプのデータ構造を構築することができる。
【0124】
データ処理システムは、k番目のパネリスト識別子をパネリスト識別子のサブセットから選択することができる(ステップ806)。それぞれのパネリストにマッピングされたVIDを表すサブセットにおける各パネリストに対してスケッチを生成するため、データ処理システムは、カウンタレジスタkに基づいてパネリストのサブセットそれぞれを反復的にループすることができる。パネリストのサブセットはそれぞれ、インデックス値(例えば、インデックス0、インデックス1、インデックス2など)によって、データ構造の形で記憶しインデックス付けすることができる。各パネリストに対するスケッチを生成するため、データ処理システムは、カウンタレジスタkに等しいインデックス値と関連付けて記憶された、サブセットのパネリストを選択することができる。ループの最初の反復である場合、カウンタレジスタkは、k番目の分類子を選択する前に、初期値(例えば、k = 0)に初期化されてもよい。パネリストにアクセスすることは、選択されたパネリストと関連付けられたデータをコンピュータメモリの異なる領域に、例えば、データ処理システムのメモリの作業領域にコピーすることを含むことができる。
【0125】
データ処理システムは、選択されたパネリスト識別子を1つまたは複数の対応するVIDにマッピングすることができる(ステップ808)。データ処理システムは、各パネリストの重みおよびVIDのプールサイズに基づいて、VID 175をサブセットのパネリスト識別子165(本明細書では、「パネリスト」と呼ばれることがある)に関連付けることができる。重みが日ごとに決定される場合、または重みが1日の範囲に対して決定される場合、重みwpを有するパネリストpは、プール内の
【0126】
【数17】
【0127】
のVID 175と関連付けることができ、式中、Pはプールサイズであることができる。重みの変更によって生じる関連付けの入替えを低減するため、重みと一貫したハッシング(「親密度ハッシング」と呼ばれることがある)を使用して、関連付けられた
【0128】
【数18】
【0129】
のVIDを選ぶことができる。これは逆方向で働くことができる。各VIDに関して、それらがパネリストpによって選ばれる確率は、
【0130】
【数19】
【0131】
であり得る。各パネリスト識別子165を1つまたは複数の仮想識別子175に割り当てることができ、各仮想識別子175を1つのパネリスト識別子165に割り当てることができる。いくつかの実現例では、パネリスト属性170それぞれと仮想属性180との間の一致を識別することによって、パネリスト165がマッピングされるVID 175を決定することができる。
【0132】
データ処理システムは、一致する属性データに基づいて、VID 175に対するパネリスト識別子のマッピングを生成することができる。例えば、データ処理システムは、パネリスト識別子165の属性データを仮想属性180と比較し、マッピングを、一致する属性データを有する対応するVID 175に割り当てることができる。これは、重み値に従って実施することができるので、任意の所与のパネリストと関連付けられたVID 175の数は、そのパネリストの重み値に比例する。データ処理システムは、このマッピングの結果を、隣接リスト、グラフ行列データ構造、または他の任意のタイプのデータ構造として、データ処理システムのメモリまたはデータベース(例えば、データベース115など)に記憶することができる。データ処理システムはまた、本明細書に記載するように、ディープスケッチサブサンプリングを実施することができる。
【0133】
データ処理システムは、VIDを、VIDを表すスケッチに縮小することができる(ステップ810)。データ処理システムは、パネリスト識別子165の識別されたサブセットのそれぞれに関して、関連付けられたVID 175を、それぞれのパネリスト識別子と関連付けられたVID 175を表すスケッチへと縮小することができる。したがって、データ処理システムは、データ処理システムによってパネリストのサブセットの一部として識別される、パネリスト165のそれぞれに対するスケッチを生成することができる。スケッチは、VIDをコンパクトに表す確率的データ構造であることができる。スケッチは、例えばHLLスケッチであることができる。データ処理システムは、数千のレジスタを含むようにスケッチを生成することができる。例えば、HLLスケッチは、14に対して2、すなわちおよそ16Kのレジスタを含むことができる。しかしながら、他の数のレジスタが使用されてもよい。新しいVPIDがスケッチに含まれるとき(例えば、パネリストマッパー140によって生成されたマッピングからアクセスされるなど)、16Kのレジスタのうちの1つに疑似乱数的に移動させることができる。各レジスタは、空であり得るか、またはレジスタスケッチを保持することができ、0~1の数であることができる。レジスタ内では、データ処理システムは、0~1の均一な疑似確率変数にハッシングされ得る各VPIDをハッシングすることができる。ハッシュ値が既存のレジスタスケッチよりも小さい場合、後者を更新して前者と等しくすることができる。換言すれば、レジスタがR個の固有のVPIDを処理した場合、均一な確率変数に対応する最小値Rを保持する。数学的には、この最小値はレートRの指数確率変数に近い分布を有するので、レジスタに与えられたVPIDの数の近似的な固有の計数を後で提供することができる。データ処理システムは、各HLLスケッチのレジスタをデータ処理システムのメモリに記憶し更新することができる。スケッチ生成後または生成中、データ処理システムは、本明細書で上述したディープスケッチサブサンプリングを実施して、計算時間を改善することができる。
【0134】
データ処理システムは、カウンタレジスタkがサブセットにおけるパネリストの数nに等しいか否かを決定することができる(ステップ812)。データ処理システムが、サブセットのパネリストそれぞれに対して生成されたスケッチを有するか否かを決定するため、データ処理システムは、サブセットの各パネリストを選択するのに使用されたカウンタレジスタを、サブセットにおけるパネリストの総数nと比較することができる。カウンタレジスタkがサブセットにおけるパネリストの総数nと等しくない(例えば、少ない)場合、データ処理システムは(ステップ814)を実行することができる。カウンタレジスタkがサブセットにおけるパネリストの総数nに等しい(例えば、等しいか多い)場合、データ処理システムは(ステップ816)を実行することができる。
【0135】
データ処理システムは、カウンタレジスタkを増分することができる(ステップ818)。サブセットの各パネリストに対してスケッチを生成するため、データ処理システムは、カウンタレジスタkに1を加算して、スケッチを生成するのに使用されたサブセット内のパネリストの数を示すことができる。いくつかの実現例では、データ処理システムは、カウンタレジスタkを、サブセットにおける、例えばデータ構造における、次のパネリストのメモリ内における次の位置のメモリアドレス値(例えば、コンピュータメモリ内の位置)に設定することができる。これがこのループの第1の反復である場合、データ処理システムは、カウンタレジスタを増分する前に、カウンタレジスタkを初期値に、例えばゼロに初期化することができる。カウンタレジスタkの値を増分した後、データ処理システムは方法800の(ステップ806)を実行することができる。
【0136】
データ処理システムは、パネリスト識別子のサブセットのそれぞれのスケッチを組み合わせて集約スケッチとすることができる(ステップ816)。同様または同一のシード(例えば、ハッシュ関数など)を使用して生成されたHLLスケッチは、HLLマージアルゴリズムを使用して共にマージすることができる。結果として得られる集約スケッチは、データ処理システムによって識別されたパネリスト165のサブセットにおけるパネリスト165のすべてによって表されるVIDのすべてを表すことができる。スケッチをマージするため、データ処理システムは、スケッチのすべてにおける各レジスタを反復することができる(例えば、マージされるすべてのスケッチからレジスタ位置ゼロを選択し、選択されたレジスタに対してマージを実施し、次にすべてのスケッチからレジスタ1を選択し、選択されたレジスタに対してマージを実施し、その後も同様に行う、など)。集約スケッチを生成するため、スケッチコンバイナは、特定のマージ位置に関してマージされるすべてのHLLスケッチにわたって最大レジスタ値を識別し、集約スケッチにおけるその位置に対するその値を選択することができる。例えば、3つのスケッチがマージされ、レジスタ位置81の場合、3つのスケッチはそれぞれ8、100、および904の値を有し、集約スケッチは、レジスタ位置81において値904を有することができる。データ処理システムは、スケッチにわたるレジスタ位置すべてに対してこのプロセスを繰り返すことができる。結果として得られる集約スケッチは、1つまたは複数のデータ構造の形で、データ処理システムのメモリまたはデータベース(例えば、データベース115など)に記憶することができる。
【0137】
データ処理システムは、集約スケッチをコンピューティングデバイスに送信することができる(ステップ818)。データ処理システムは、集約スケッチを、オンラインコンテンツイベントを表す集約スケッチと共に、コンピューティングデバイスに送信して分析することができる。オンラインコンテンツイベントは、同じシードを使用して生成されたスケッチを有することができ、したがって、データ処理システムによって生成されたスケッチと組み合わせて、オンラインおよびオフライン両方のコンテンツにわたる仮想識別子の完全な分析を行うことができる。データ処理システムは、データ処理システムのメモリにアクセスして集約スケッチを取り出し、スケッチを1つまたは複数のメッセージの形で別のコンピューティングデバイスに送信してさらに処理することができる。いくつかの実現例では、スケッチは、スケッチを要求したコンピューティングデバイスに送信され、パネリスト165のサブセットを識別する際に使用する標的コンテンツを指定することができる。データ処理システムは、スケッチ表現に対する要求への応答としてスケッチを送信することができ、サブセットの一部として識別されたパネリスト識別子165のリストを含むことができる。いくつかの実現例では、パネリスト識別子のリストは集約スケッチに含まれず、その代わりに集約スケッチはそれ自体で送信される。
【0138】
図9は、いくつかの実施態様による、本明細書において考察されているコンピュータシステムのうちのいずれかを実現するために使用することができる例証コンピュータシステム900の汎用アーキテクチャを示したものである。表示のために、コンピュータシステム900を使用して、ネットワーク110を介して情報を提供することができる。図9のコンピュータシステム900は、メモリ925に通信結合された1つまたは複数のプロセッサ920、1つまたは複数の通信インタフェース905、および1つまたは複数の出力デバイス910(例えば1つまたは複数の表示ユニット)、ならびに1つまたは複数の入力デバイス915を備えている。プロセッサ920は、本明細書において説明されている計算デバイスのうちのいずれかに含めることができる。
【0139】
図9のコンピュータシステム900では、メモリ925は任意のコンピュータ可読記憶媒体を備えることができ、また、メモリ925は、それぞれのシステムに対して本明細書において説明されている様々な機能性を実現するためのプロセッサ実行可能命令などのコンピュータ命令を記憶することができ、さらには、それらのコンピュータ命令に関し、それによって生成され、または通信インタフェースあるいは入力デバイス(存在していれば)を介して受信される任意のデータを記憶することができる。もう一度図9のシステム900を参照すると、コンピュータシステム900は、とりわけ本明細書において説明されている情報、変数、ベクトル、データ構造または他のコンピュータ可読情報のうちのいずれかを記憶するためのメモリ925を含むことができる。図9に示されているプロセッサ920を使用して、メモリ925に記憶されている命令を実行することができ、また、そのためにプロセッサ920は、命令の実行に応じて処理され、および/または生成される様々な情報をメモリから読み出し、またはメモリに書き込むことも可能である。
【0140】
図9に示されているコンピュータシステム900のプロセッサ920は、命令の実行に応じて様々な情報を送信し、または受信するために、通信インタフェース905に通信結合し、または通信インタフェース905を制御することも可能である。例えば通信インタフェース905は、有線または無線ネットワーク、バスまたは他の通信手段に結合することができ、したがって通信インタフェース905は、コンピュータシステム900による他のデバイス(例えば他のコンピュータシステム)への情報の送信を許容し、または他のデバイス(例えば他のコンピュータシステム)からの情報の受信を許容することができる。図9のシステムには明確に示されていないが、1つまたは複数の通信インタフェースは、システム900の構成要素同士の間の情報の流れを容易にしている。いくつかの実施態様では、通信インタフェースは、コンピュータシステム900の少なくともいくつかの態様へのアクセスポータルとしてウェブサイトを提供するように構成することができる(例えば様々なハードウェア構成要素またはソフトウェア構成要素を介して)。通信インタフェース905の例にはユーザインタフェース(例えばウェブページ)があり、ユーザは、このユーザインタフェースを介してコンピュータシステム900と通信することができる。
【0141】
図9に示されているコンピュータシステム900の出力デバイス910は、例えば、命令の実行に関連して、様々な情報を観察したり、別な方法で知覚したりすることができるように提供することができる。入力デバイス915は、例えばユーザによる手動調整の実施、選択の実施、データ入力、または命令実行中におけるプロセッサとの任意の様々な方法での対話を許容するために提供することができる。本明細書において考察されている様々なシステムのために使用することができる汎用コンピュータシステムアーキテクチャに関連する追加情報は、本明細書においてさらに提供される。
【0142】
以下、ランダムサブセットサンプリングに対する様々な実験結果について説明する。
【0143】
セットアップ
【0144】
M=2^14≒16K個のレジスタが使用された。それぞれ平均でM/2≒8K VIDを表す、Q=130人のパネリストを有する典型的なバケットを取り上げ、例えばすべてのパネリストは、レジスタ当たり0.5VIDのみを有している。すべてのレジスタ全体の総プールサイズはQM/2≒1Mである。実際のパネリスト重みはランダムに生成された。Q-1個の一様な確率変数がサンプリングされ、インターバルの長さが重みとしてこれらの数で割られた。
【0145】
結果
【0146】
図10A図10B図11A図11B図12A図12B図13Aおよび図13Bには、第1のサブセットの真の量および誤差、次に最初の2つのサブセットの和集合、最初の3つのサブセットの和集合、等々がプロットされた。したがってそれぞれの線はQ個の点を有している。X軸はサブセットの和集合の真の量であり、Y軸は相対誤差模擬作成カーディナリ推定の絶対値である(例えば1=100%)。
【0147】
図10Aおよび図10Bは、元のスケッチと同等の深さD=1およびD=10であるアルゴリズム2に対する最大1.5%の誤差を示している。これは、ディープスケッチサブサンプリングの別のバージョンであるアルゴリズム1を同じく正当化することができる。
【0148】
図11Aおよび図11Bは、サンプリング公式へのVIDの分数を示しており、これは過大評価の原因になり得る。
【0149】
図12Aおよび図12Bは、スケッチの一様な確率変数の上部の指数確率変数のサンプリングを示したものであり、低濃度のため、合計が容易に1を超える可能性があり、また、レジスタは空きとして取り扱うことができる(例えば過小評価することができる)。
【0150】
図13Aおよび図13Bは、過大評価および過小評価がそれぞれ互いに相殺するかどうかを決定するためのnaiveスケッチサブサンプリングを示したものである。D=1では、あたかもそれらが互いに相殺したように思われ、5%の誤差を達成しているが、D=10に対しては過大評価が優勢であるように思われる。
【0151】
以下、スケッチサブサンプリングのための最適深さ値の決定に対する様々な実験結果について説明する。
【0152】
セットアップ
【0153】
オフラインコンテンツイベントのためのセットアップは上記セットアップと同じである。オンラインコンテンツイベントに対しては、オフラインコンテンツイベントからのランダムサブセットがサンプリングされた(例えば重畳線オンラインコンテンツイベント、等々を模擬するために)。
【0154】
結果
【0155】
相対誤差
【0156】
【数20】
【0157】
に対する誘導された上部限界に対応する追加線が加えられる。図14Aおよび図14Bに示されているそれぞれのグラフに対するタイトルの比率はp1を示しており、また、X軸はp2|P|である。
【0158】
図面に示されているように、黄色い線によって示されている正の誤差符号は、本明細書において上で説明した、導入された過大評価予測と整列している。さらに、紫の線によって示されている誘導された相対誤差限界は、1%レベルを超えて実際の誤差(青い線)と極めて良好に一致している。提案されている深さD=10は1%未満の相対誤差を有することができる。
【0159】
以下、本明細書において、ディープスケッチサブサンプリングのための追加実施態様について詳細に説明する。このような実施態様の1つは多項サンプリング実施態様である。多項サンプリング実施態様は、例えばデータ処理システム105(またはその構成要素)を含む、本明細書において説明されている計算システムのうちのいずれかによって実施することができる。
【0160】
多項サンプリング実施態様では、|P|試行(深さの控除を無視する)および確率を有する多項分布からw1、w2、…、wQまでのb1、b2、…、bQをサンプリングするために、いくつかの異なる実施態様が存在している。|P|は少なくとも600程度であってもよく、また、Qは少なくとも2000程度であってもよいことに留意されたい。しかしながらこれらは例示的な値であり、特許請求される技術を何らかの特定の実施態様に限定するものとして解釈してはならない。
【0161】
O(Q+|P|log2Q)実施態様では、O(Q)を使用してアレイw1、w1+w2、w1+w2+w3、…を構築することができ、次にそれぞれの試行に対して、一様なランダムサンプルuを引き出すことができる。次に、u以上であるそのアレイの中の第1の要素を見出すことができる。この実施態様に対する利点の1つは、必要な計算が潜在的な数値問題を有していないことである。
【0162】
O(Q+|P|)実施態様では、同じアレイ(w1、w1+w2、w1+w2+w3、…)を最初に構築することができる。次に、逆変換サンプリングをO(1)演算に使用して、|P|に無関係の一様なランダム値のうちの最小値を抽出することができる。次に、O(log2Q)演算でパネリストを識別することができ、次に、残りの一様なランダム値のうちの最小を連続的にサンプリングして、線形走査を使用してパネリストを識別することができる。この実施態様に対する利点の1つは、より少ない演算で完了することができることである。
【0163】
疑似多項O(|P|Q)演算では、VIDが何らかの他のパネリストと関連付けられているかどうかに無関係に、それぞれのVIDおよびそれぞれのパネリストjを確率wjと関連付けることができる。この手法に対する利点の1つは、平行化が極めて容易であることである。
【0164】
図15Aおよび図15Bは、互いに素なサブセットの和集合の相対誤差のプロットを示したものである。例示的非制限実施態様では、深さD=1の場合、相対誤差を2%から1%まで小さくすることができる。
【0165】
崩壊ラベル実施態様では、d∈[1,D]のためのスケッチSdが使用される場合、データ処理システムはその崩壊したラベルセットをコピーすることができる。さもなければS1のラベルセットを使用することができる。
【0166】
周波数および挙動
【0167】
周波数は一致したバイトハッシュの上に累積することができる。同様に、データ処理システム105は、そのバイトハッシュ、さらにはd∈[1,D]のためのスケッチSdの挙動をも取ることができる。サンプリングされたバイトハッシュはサンプリングされた仮想スケッチの一部であるため、さもなければサンプリングされたバイトハッシュを使用することができる。
【0168】
本明細書において説明されている主題および操作の実施態様は、デジタル電子回路の中、または本明細書において開示されている構造およびそれらの構造的等価物を含む有形媒体、ファームウェアまたはハードウェアの上に具体化されたコンピュータソフトウェアの中、またはそれらのうちの1つまたは複数の組合せの中で実現することができる。本明細書において説明されている主題の実施態様は、1つまたは複数のコンピュータプログラム、例えばデータ処理装置による実行のために、またはデータ処理装置の操作を制御するためにコンピュータ記憶媒体の上に符号化されたコンピュータプログラム命令の1つまたは複数の構成要素として実現することができる。プログラム命令は、人工的に生成される伝搬信号の上に符号化することができ、例えば情報を符号化して、データ処理装置による実行のために適切な受信機装置に送信するために生成される機械生成電気信号、機械生成光信号または機械生成電磁信号の上に符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムまたはシリアルアクセスメモリアレイまたはデバイス、あるいはそれらのうちの1つまたは複数の組合せであってもよく、またはこれらの中に含めることができる。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成される伝搬信号の中に符号化されるコンピュータプログラム命令の出所または行先を含むことができる。また、コンピュータ記憶媒体は、1つまたは複数の個別の物理的構成要素または媒体(例えば複数のCD、ディスクまたは他の記憶デバイス)であってもよく、またはこれらの中に含めることも可能である。
【0169】
本明細書において開示されている特徴は、より多くの従来のテレビジョンプログラミングソース(例えばケーブル、衛星、無線または他の信号を介して受信される)とのインターネット接続性を統合するように構成された処理モジュールを含むことができるスマートテレビジョンモジュール(または接続されたテレビジョンモジュール、ハイブリッドテレビジョンモジュール、等々)上で実現することができる。スマートテレビジョンモジュールはテレビジョンセットの中に物理的に組み込むことができ、またはセット-トップボックス、Blu-ray(登録商標)または他のデジタルメディアプレイヤー、ゲームコンソール、ホテルテレビジョンシステムおよび他のコンパニオンデバイスなどの個別のデバイスを含むことができる。スマートテレビジョンモジュールは、観察者がビデオ、映画、写真および他のコンテンツをウェブ上で、ローカルケーブルTVチャンネル上で、衛星TVチャンネル上で、または記憶された局所ハードドライブ上で捜し、かつ、見出すことができるように構成することができる。セット-トップボックス(STB)またはセット-トップユニット(STU)は、チューナを含むことができる情報アプライアンスデバイスを含むことができ、また、テレビジョンセットおよび外部信号源に接続して、信号を次にテレビジョンスクリーンまたは他の表示デバイスに表示されるコンテンツに切り替えることができる。スマートテレビジョンモジュールは、ウェブブラウザおよび複数のストリーミング媒体サービス、接続されたケーブルまたは衛星媒体源、他のウェブ「チャンネル」、等々などの複数の異なるアプリケーションのためのアイコンを含むホームスクリーンまたはトップレベルスクリーンを提供するように構成することができる。スマートテレビジョンモジュールは、電子プログラミングガイドをユーザに提供するようにさらに構成することができる。スマートテレビジョンモジュールに対するコンパニオンアプリケーションは、利用可能なプログラムに関する追加情報をユーザに提供し、ユーザによるスマートテレビジョンモジュール、等々の制御を許容するためにモバイル計算デバイス上で動作させることができる。代替実施態様では、これらの特徴は、ラップトップコンピュータまたは他のパーソナルコンピュータ、スマートフォン、他のモバイルフォン、ハンドヘルドコンピュータ、タブレットPCまたは他の計算デバイス上で実現することができる。
【0170】
本明細書において説明されている操作は、1つまたは複数のコンピュータ可読記憶デバイス上に記憶されているデータ、または他のソースから受け取ったデータ上でデータ処理装置によって実施される操作として実現することができる。
【0171】
「データ処理装置」、「データ処理システム」、「クライアントデバイス」、「計算プラットフォーム」、「計算デバイス」または「デバイス」という用語は、一例として上記のプログラマブルプロセッサ、コンピュータ、チップ上システムまたは複数のチップ上システム、あるいはそれらの組合せを含む、データを処理するためのあらゆる種類の装置、デバイスおよび機械を包含している。装置は専用論理回路、例えばFPGA(書替え可能ゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。また、装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を作り出すコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロス-プラットフォームランタイム環境、仮想計算機、またはそれらのうちの1つまたは複数の組合せを構成するコードを含むことも可能である。装置および実行環境は、ウェブサービス、分散計算およびグリッドコンピューティングインフラストラクチャなどの様々な異なる計算モデルインフラストラクチャを実現することができる。
【0172】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプトまたはコードとしても知られている)は、コンパイル済みまたはインタープリタ型言語、宣言形または手続き型言語を含む任意の形態のプログラミング言語で作成することができ、また、コンピュータプログラムは、計算環境で使用するために適した、独立プログラムとしての、またはモジュールとしての構成要素、サブルーチン、オブジェクトまたは他のユニットを含む任意の形態で展開することができる。コンピュータプログラムは、必ずしもその必要はないが、ファイルシステム中のファイルに対応していてもよい。プログラムは、他のプログラムまたはデータ(例えばマーク付け言語文書に記憶されている1つまたは複数のスクリプト)を保持しているファイルの一部、当該プログラム専用の単一ファイル、または複数の調整済みファイル(例えば1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶しているファイル)に記憶することができる。コンピュータプログラムは、1つのコンピュータ上で実行され、または1つのサイトに配置され、あるいは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。
【0173】
本明細書において説明されているプロセスおよび論理フローは、1つまたは複数のコンピュータプログラムを実行し、それにより入力データに対して操作し、また、出力を生成することによってアクションを実施する1つまたは複数のプログラマブルプロセッサによって実施することができる。また、プロセスおよび論理フローは、専用論理回路、例えばFPGA(書替え可能ゲートアレイ)またはASIC(特定用途向け集積回路)によって実施することも可能であり、また、装置は、専用論理回路、例えばFPGA(書替え可能ゲートアレイ)またはASIC(特定用途向け集積回路)として実現することも可能である。
【0174】
コンピュータプログラムを実行するために適したプロセッサには、一例として、汎用および専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサがある。通常、プロセッサは、リードオンリメモリまたはランダムアクセスメモリあるいは両方から命令およびデータを受け取ることになる。コンピュータの要素は、命令に従ってアクションを実施するためのプロセッサ、および命令およびデータを記憶するための1つまたは複数のメモリデバイスを含む。通常、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば磁気ディスク、光磁気ディスクまたは光ディスクを同じく含むか、またはこれらからデータを受け取り、またはこれらにデータを転送し、あるいは両方のために動作結合されることになる。しかしながらコンピュータは必ずしもこのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、例えばモバイル電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオまたはビデオプレイヤー、ゲームコンソール、全地球測位システム(GPS)受信機または携帯型記憶デバイス(例えばユニバーサルシリアルバス(USB)フラッシュドライブ)に埋め込むことも可能である。コンピュータプログラム命令およびデータを記憶するために適したデバイスには、あらゆる形態の不揮発性メモリ、媒体およびメモリデバイスがあり、一例として、半導体メモリデバイス、例えばEPROM、EEPROM、およびフラッシュメモリデバイスや、磁気ディスク、例えば内部ハードディスクまたは取外し可能ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクがある。プロセッサおよびメモリは専用論理回路によって補足することができ、または専用論理回路の中に組み込むことができる。
【0175】
ユーザとの対話を提供するために、本明細書において説明されている主題の実施態様は、ユーザに情報を表示するための表示デバイス、例えばCRT(陰極線管)、プラズマまたはLCD(液晶ディスプレイ)モニタ、およびユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、例えばマウスまたはトラックボールを有するコンピュータ上で実現することができる。他の種類のデバイスを使用してユーザとの対話を提供することも同じく可能であり、例えばユーザに提供されるフィードバックは、任意の形態のセンサフィードバック、例えば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックを含むことができ、また、ユーザからの入力は、音響、音声または触覚入力を含む任意の形態で受け取ることができる。さらに、コンピュータは、ユーザによって使用されているデバイスに文書を送り、また、ユーザによって使用されているデバイスから文書を受け取ることによってユーザと対話することも可能であり、例えばウェブブラウザから受け取った要求に応答して、ユーザのクライアントデバイス上でウェブブラウザにウェブページを送ることによって対話することができる。
【0176】
本明細書において説明されている主題の実施態様は、例えばデータサーバとしてバックエンド構成要素を含むか、またはミドルウェア構成要素、例えばアプリケーションサーバを含むか、あるいはフロントエンド構成要素、例えばユーザが本明細書において説明されている主題の実施態様と対話することができるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータを含む計算システムの中で実現することができ、あるいは1つまたは複数のこのようなバックエンド、ミドルエアまたはフロントエンド構成要素の任意の組合せを含む計算システムの中で実現することができる。システムの構成要素は、任意の形態によって、またはデジタルデータ通信の媒体、例えば通信ネットワークによって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、インタ-ネットワーク(例えばInternet)、およびピアツーピアネットワーク(例えばホックピアツーピアネットワーク)がある。
【0177】
データ処理システム105などの計算システムはクライアントおよびサーバを含むことができる。例えばデータ処理システム105は、1つまたは複数のデータセンタまたはサーバファームに1つまたは複数のサーバを含むことができる。クライアントおよびサーバは、通常、互いに遠隔であり、典型的には通信ネットワークを介して対話している。クライアントとサーバの関係は、コンピュータプログラムがそれぞれのコンピュータ上で走り、また、互いに対するクライアント-サーバ関係を有することによって生じる。いくつかの実施態様では、サーバはデータ(例えばHTMLページ)をクライアントデバイスに送信する(例えばクライアントデバイスと対話しているユーザにデータを表示し、また、このユーザから入力を受け取るために)。クライアントデバイスにおいて生成されたデータ(例えば対話、計算または任意の他の事象あるいは計算の結果)は、クライアントデバイスからサーバで受け取ることができ、その逆についても同様である。
【0178】
本明細書は、多くの特定の実施態様詳細を含んでいるが、何らかの発明の範囲に対する制限、または特許請求され得るものに対する制限としてこれらを解釈してはならず、本明細書において説明されているシステムおよび方法の特定の実施態様に特化された特徴についての説明として解釈すべきである。個別の実施態様の文脈で本明細書において説明されている特定の特徴は、単一の実施態様において組み合わせて実現することも可能である。それとは逆に、単一の実施態様の文脈で説明されている様々な特徴は、個別に、または任意の適切な副組合せで、複数の実施態様の中で実現することも可能である。さらに、特徴は、上では、特定の組合せにおける作用として説明することができ、さらに最初はそのようなものとして特許請求されているが、特許請求される組合せからの1つまたは複数の特徴は、いくつかの事例では組合せから削除することができ、また、特許請求される組合せは、副組合せまたは副組合せの変化を対象にすることができる。
【0179】
同様に、操作は、図面では特定の順序で示されているが、これは、所望の結果を達成するためには、示されている特定の順序または連続的な順序でこのような操作を実施する必要があり、または示されているすべての操作を実施する必要があるものとして理解してはならない。いくつかの事例では、特許請求の範囲に記載されているアクションは異なる順序で実施することができ、依然として所望の結果を達成することができる。さらに、添付の図に示されているプロセスは、所望の結果を達成するために必ずしも示されている特定の順序または連続的な順序を必要としているわけではない。
【0180】
特定の状況では、多重タスキングおよび並列処理が場合によっては有利である。さらに、上で説明した実施態様における様々なシステム構成要素の分離は、すべての実施態様においてこのような分離が必要であるものとして理解してはならず、また、説明されているプログラム構成要素およびシステムは、通常、単一のソフトウェア製品にまとめて統合することができ、または複数のソフトウェア製品にパッケージ化することができることを理解されたい。例えばデータ処理システム105は、単一のモジュール、1つまたは複数の処理モジュールを有する論理デバイス、1つまたは複数のサーバ、または探索エンジンの一部であってもよい。
【0181】
以上、いくつかの例証実施態様および実施態様について説明したが、以上は例証であって、制限するものではなく、一例として示されていることは明らかである。詳細には、本明細書において示されている例の多くは、方法行為またはシステム要素の特定の組合せを含んでいるが、これらの行為およびこれらの要素は、他の方法で組み合わせて同じ目的を達成することができる。単に1つの実施態様に関連して考察されている行為、要素および特徴には、他の実施態様または実施態様における同様の役割から排除されることは意図されていない。
【0182】
本明細書において使用されている語法および専門用語は説明を目的としたものであり、制限するものとみなしてはならない。本明細書における、「含む」、「備える」、「有する」、「含有する」、「包含する」、「によって特性化される」、「ことを特徴とする」およびそれらの変形の使用は、その後に列挙されているアイテム、それらの等価物および追加アイテム、ならびにその後に列挙されているアイテムからなる代替実施態様を排他的に包含することを意味している。一実施態様では、本明細書において説明されているシステムおよび方法は、説明されている要素、行為または構成要素のうちの1つ、それらのうちの2つ以上のそれぞれの組合せ、またはそれらのすべてからなっている。
【0183】
単数形の表現で参照されている、本明細書におけるシステムおよび方法の実施態様または要素あるいは行為に対する何らかの参照は、複数のこれらの要素を含む実施態様を同じく包含することができ、また、本明細書における何らかの実施態様または要素あるいは行為に対する複数形の何らかの参照は、単一の要素のみを含む実施態様を同じく包含することができる。単数形または複数形における参照には、現在開示されているシステムまたは方法、それらの構成要素、行為または要素を単一または複数の構成に限定することは意図されていない。何らかの情報、行為または要素に基づいている何らかの行為または要素に対する参照は、行為または要素が少なくとも部分的に何らかの情報、行為または要素に基づく実施態様を含むことができる。
【0184】
本明細書において開示されている任意の実施態様は任意の他の実施態様と組み合わせることができ、「実施態様」、「いくつかの実施態様」、「代替実施態様」、「様々な実施態様」、「一実施態様」、等々に対する参照は、必ずしも相互に排他的ではなく、実施態様に関連して説明されている特定の特徴、構造または特性は少なくとも1つの実施態様に含めることができることを示すことが意図されている。本明細書において使用されているこのような用語は、必ずしもすべてが同じ実施態様に対する参照ではない。本明細書において開示されている態様および実施態様と無矛盾の任意の方法で、任意の実施態様を包含的または排他的に任意の他の実施態様と組み合わせることができる。
【0185】
「または」に対する参照は、「または」を使用して説明されている何らかの用語が、説明されている用語のうちの単一の用語、2つ以上の用語およびすべての用語のうちのいずれかを示すことができるよう、包含的に解釈することができる。
【0186】
図面における技術的特徴、詳細な説明または何らかの請求項の後に参照符号が続いている場合、参照符号は、図面、詳細な説明および特許請求の範囲の明瞭性を増すための唯一の目的で含まれているにすぎない。したがって参照符号があってもなくても、何らかの特許請求要素の範囲に対する効果を何ら制限することはない。
【0187】
本明細書において説明されているシステムおよび方法は、本明細書の特徴から逸脱することなく、他の特定の形態で具体化することができる。提供されている例は、パネリストアクティビティの高速マージによるクロスメディア報告のために有用であり得るが、本明細書において説明されているシステムおよび方法は他の環境に適用することができる。上記実施態様は、説明されているシステムおよび方法を制限するものではなく、例証的なものである。したがって本明細書において説明されているシステムおよび方法の範囲は、上記の説明によってではなく、添付の特許請求の範囲によって示すことができ、特許請求の範囲と等価の意味および範囲の範疇である変更は本明細書に包含されている。
【符号の説明】
【0188】
100 システム
105 データ処理システム
110 ネットワーク
115 データベース
120A-N パネリストデバイス
130 識別子メンテナ
135 パネリスト識別子モジュール
140 パネリストマッパー
145 スケッチ生成器
150 スケッチコンバイナ
155 スケッチ送信機
160A-N コンテンツプロバイダ
165A-N パネリスト識別子
170A-N パネリスト属性
175A-N 仮想識別子
180A-N 仮想属性
190 オフラインコンテンツ
900 コンピューティングシステム、コンピュータシステム
905 通信インタフェース
910 出力デバイス
915 入力デバイス
920 プロセッサ
925 メモリ
1000 コンピュータシステム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10A
図10B
図11A
図11B
図12A
図12B
図13A
図13B
図14A
図14B
図15A
図15B