IP Library Granted Patent US 11,694,093
Granted Patent B2
US 11,694,093 · App. 15/920,934 · Granted Jul 4, 2023

Generation of training data to train a classifier to identify distinct physical user devices in a cross-device context

Inventors: Christian Perez (Cambridge, MA); Eunyee Koh (San Jose, CA); Ashley Rosie Weiling Chen (Providence, RI); Ankita Pannu (San Jose, CA)
Assignee: Adobe Inc.
G06N5/04G06N3/008
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,694,093
App. No.
15/920,934
Granted
Jul 4, 2023
Kind
B2
Abstract

Techniques are disclosed for accurately identifying distinct physical user devices in a cross-device context. An example embodiment applies a multi-phase approach to generate labeled training datasets from a corpus of unlabeled device records. Such labeled training datasets can be used for training machine learning systems to predict the occurrence of device records that have been wrongly (or correctly, as the case may be) attributed to different physical user devices. Such identification of improper attribution can be particularly helpful in web-based analytics. The labeled training datasets include labeled pairs of device records generated using multiple strategies for inferring whether the two device records of a pair of device records represent the same physical user device (or different physical user devices). The labeled pairs of device records can then be used to train classifiers to predict with confidence whether two device records represent or do not represent the same physical user device.

Claims (78)

1. A computer-implemented method to generate training data for training a classifier for identification of physical user devices, the method comprising:

receiving a plurality of browser cookie device records, each of which represents one of a first plurality of user authentications, wherein the browser cookie device records are generated using browser cookie data;

receiving a plurality of persistent identifier device records, each of which represents one of a second plurality of user authentications, wherein the persistent identifier device records are generated using an identifier that is more persistent than the browser cookie data;

identifying a persistent identifier device record pair that includes a first persistent identifier device record having first device information and a second persistent identifier device record having second device information, wherein it is assumed that the first and second device information both identify a single particular device;

identifying a first browser cookie device record pair that includes a first browser cookie device record having the first device information that was included in the first persistent identifier device record and a second browser cookie device record having the second device information that was included in the second persistent identifier device record;

identifying a second browser cookie device record pair that includes two browser cookie device records that, collectively, do not include both the first and second device information;

labeling the first browser cookie device record pair as corresponding to equivalent physical devices;

labeling the second browser cookie device record pair as corresponding to distinct physical devices; and

generating a training dataset that includes the labeled first browser cookie device record pair and the labeled second browser cookie device record pair.

2. The method of claim 1 ,

further comprising preprocessing the plurality of browser cookie device records to filter out a trivial device record pair;

wherein the trivial device record pair includes a third browser cookie device record that identifies a first device hardware type and a fourth browser cookie device record that identifies a second device hardware type; and

wherein the first and second device hardware types are different.

3. The method of claim 1 ,

further comprising preprocessing the plurality of browser cookie device records to filter out a trivial device record pair;

wherein the trivial device record pair includes a third browser cookie device record that identifies a first operating system type and a fourth browser cookie device record that identifies a second operating system type; and

wherein the first and second operating system types are different.

4. The method of claim 1 , further comprising training a classifier using the training dataset.

5. The method of claim 1 , further comprising:

identifying a third browser cookie device record pair that includes two browser cookie device records related by a temporal condition; and

labeling the third browser cookie device record pair as corresponding to distinct physical devices based on the temporal condition.

6. The method of claim 1 , further comprising:

generating an additional browser cookie device record pair that is labeled as corresponding to distinct physical devices, wherein the additional browser cookie device record pair is generated from amongst browser cookie device records which do not form part of the first browser cookie device record pair;

generating an additional training dataset that includes the first browser cookie device record pair and the additional browser cookie device record pair; and

training a classifier using the additional training dataset.

7. The method of claim 1 , further comprising:

training a classifier using the training dataset; and

predicting, by the classifier, whether an unclassified device record pair represents one device.

8. A system to generate training data for training a classifier for identification of physical user devices, the system comprising:

one or more non-transitory machine readable mediums configured to store instructions; and

one or more processors configured to execute the instructions stored on the one or more non-transitory machine readable mediums, wherein execution of the instructions causes the one or more processors to:

receive a plurality of browser cookie device records, each of which represents one of a first plurality of user authentications, wherein the browser cookie device records are generated using browser cookie data;

receive a plurality of persistent identifier device records, each of which represents one of a second plurality of user authentications, wherein the persistent identifier device records are generated using an identifier that is more persistent than the browser cookie data;

identify a persistent identifier device record pair that includes a first persistent identifier device record having first device information and a second persistent identifier device record having second device information, wherein it is assumed that the first and second device information both identify a single particular device;

identify a first browser cookie device record pair that includes a first browser cookie device record having the first device information that was included in the first persistent identifier device record and a second browser cookie device record having the second device information that was included in the second persistent identifier device record;

identify a second browser cookie device record pair that includes two browser cookie device records that, collectively, do not include both the first and second device information;

label the first browser cookie device record pair as corresponding to equivalent physical devices;

label the second browser cookie device record pair as corresponding to distinct physical devices; and

generate a training dataset that includes the labeled first browser cookie device record pair and the labeled second browser cookie device record pair.

9. The system of claim 8 , wherein:

execution of the instructions causes the one or more processors to further preprocess the plurality of browser cookie device records to filter out a trivial device record pair;

the trivial device record pair includes a third browser cookie device record that identifies a first operating system type and a fourth browser cookie device record that identifies a second operating system type; and

the first and second operating system types are different.

10. The system of claim 8 , wherein execution of the instructions causes the one or more processors to further train a classifier using the training dataset.

11. The system of claim 8 , wherein execution of the instructions causes the one or more processors to further:

identify a third browser cookie device record pair that includes two browser cookie device records related by a temporal condition; and

label the third browser cookie device record pair as corresponding to distinct physical devices based on the temporal condition.

12. The system of claim 8 , wherein execution of the instructions causes the one or more processors to further:

generate an additional browser cookie device record pair that is labeled as corresponding to distinct physical devices, wherein the additional browser cookie record pair is generated from amongst browser cookie device records which do not form part of the first browser cookie device record pair; and

generate an additional training dataset that includes the first browser cookie device record pair and the additional browser cookie device record pair.

13. The system of claim 8 , wherein execution of the instructions causes the one or more processors to further:

generate an additional browser cookie device record pair that is labeled as corresponding to distinct physical devices, wherein the additional browser cookie record pair is generated from amongst browser cookie device records which do not form part of the first browser cookie device record pair;

generate an additional training dataset that includes the first browser cookie device record pair and the additional browser cookie device record pair; and

train a classifier using the additional training dataset.

14. A computer program product including one or more non-transitory machine readable mediums encoded with instructions that when executed by one or more processors cause a process to be carried out for generating training data for training a classifier for identification of physical user devices, the process comprising:

receiving a plurality of browser cookie device records, each of which represents one of a first plurality of user authentications, wherein the browser cookie device records are generated using browser cookie data;

receiving a plurality of persistent identifier device records, each of which represents one of a second plurality of user authentications, wherein the persistent identifier device records are generated using an identifier that is more persistent than the browser cookie data;

identifying a persistent identifier device record pair that includes a first persistent identifier device record having first device information and a second persistent identifier device record having second device information, wherein it is assumed that the first and second device information both identify a single particular device;

identifying a first browser cookie device record pair that includes a first browser cookie device record having the first device information that was included in the first persistent identifier device record and a second browser cookie device record having the second device information that was included in the second persistent identifier device record;

identifying a second browser cookie device record pair that includes two browser cookie device records that, collectively, do not include both the first and second device information;

labeling the first browser cookie device record pair as corresponding to equivalent physical devices;

labeling the second browser cookie device record pair as corresponding to distinct physical devices; and

generating a training dataset that includes the labeled first browser cookie device record pair and the labeled second browser cookie device record pair.

15. The computer program product of claim 14 , wherein:

the process further comprises preprocessing the plurality of browser cookie device records to filter out a trivial device record pair;

the trivial device record pair includes a third browser cookie device record that identifies a first operating system type and a fourth browser cookie device record that identifies a second operating system type; and

the first and second operating system types are different.

16. The computer program product of claim 14 , wherein the process further comprises:

identifying a third browser cookie device record pair that includes two browser cookie device records related by a temporal condition; and

labeling the third browser cookie device record pair as corresponding to distinct physical devices based on the temporal condition.

17. The computer program product of claim 16 , wherein the process further comprises:

generating an additional browser cookie device record pair that is labeled as corresponding to distinct physical devices, wherein the additional browser cookie device record pair is generated from amongst browser cookie device records which do not form part of the first browser cookie device record pair; and

generating an additional training dataset that includes the first browser cookie device record pair and the additional browser cookie device record pair.

18. The computer program product of claim 14 , wherein the process further comprises:

generating an additional browser cookie device record pair that is labeled as corresponding to distinct physical devices, wherein the additional browser cookie device record pair is generated from amongst browser cookie device records which do not form part of the first browser cookie device record pair;

generating an additional training dataset that includes the first browser cookie device record pair and the additional browser cookie device record pair; and

training a classifier using the additional training dataset.

19. The computer program product of claim 14 , wherein at least one of the persistent identifier device records is generated using an identifier that is extracted from an Identifier for Advertising (IDFA) log stored on a device used to perform at least one of the second plurality of user authentications.

Assignments (2)
CHANGE OF NAME Recorded Nov 30, 2018
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 047688/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2018
From: PEREZ, CHRISTIAN; KOH, EUNYEE; CHEN, ASHLEY ROSIE WEILING; PANNU, ANKITA
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 045206/0955 →