US 11,657,407 B1
Filtering data with probabilistic filters for content selection
Andrew J. Bradley, Edinburgh (GB); Andrew Douglas Birkett, Edinburgh (GB); Anirudh Dastidar, West Midlands (GB); Fred Grossman, Nordrhein Westfalen (DE); Anthony Richard McBryan, West Lothian (GB); and Sebastiano Merlino, Edinburgh (GB)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Mar. 13, 2017, as Appl. No. 15/457,481.
Int. Cl. G06Q 10/00 (2023.01); G06Q 30/0201 (2023.01); G06N 7/01 (2023.01)
CPC G06Q 30/0201 (2013.01) [G06N 7/01 (2023.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by one or more computer processors coupled to at least one memory of a device, a bid request for a content delivery slot at a webpage, the bid request comprising a user identifier;
determining a first user account and a second user account using the user identifier;
determining a set of purchased items using the first user account, wherein the set of purchased items comprises a first product identifier for a first item purchased during a first predetermined time interval;
determining a first product hierarchy for the first item using the first product identifier, the first product hierarchy indicative of items related to the first product identifier;
determining a first product category identifier for the first item using the first product hierarchy, wherein the first product category identifier is related to a plurality of children product identifiers;
generating an array of values indicative of the set of purchased items and the first product category identifier using a bloom filter, wherein the array of values is a probabilistic array;
storing the array of values in a database associated with the first user account;
automatically modifying values in the probabilistic array to map values of characters in certain positions to represent updated user interactions;
determining a set of candidate content for presentation at the content delivery slot, the set of candidate content comprising first content for a second item and second content for a third item;
determining a second product hierarchy for the second item;
determining a second product category identifier for the second item using the second product hierarchy, wherein the second product category identifier is the same as the first product category identifier;
determining that a likelihood the second product category identifier is in the database is greater than 0 using the bloom filter;
determining a third product hierarchy for the third item;
determining a third product category identifier for the third item using the third product hierarchy;
determining that the third product category identifier is not in the database using the bloom filter;
transmitting a response to the bid request, the response comprising a bid amount and a content identifier for the second content;
determining that the second content is eligible for presentation to the second user account, wherein the second user account is associated with the first user account;
selecting a version of the second content for presentation to the second user account based at least in part on a user interaction history associated with the first user account;
determining a time for the presentation of the version of the second content, wherein the time corresponds to a break in streaming audio content;
sending the version of the second content for presentation at the content delivery slot;
and
causing the version of the second content to be presented at the time by a device associated with the second user account.