IP Library Granted Patent US 7,194,477
Granted Patent B1
US 7,194,477 · App. 10/187,392 · Granted Mar 20, 2007

Optimized a priori techniques

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 7,194,477
App. No.
10/187,392
Granted
Mar 20, 2007
Kind
B1
Abstract

A facility for identifying groups of items that co-occur in more than a threshold number of instances is described. Each such group of items has a size reflecting the number of items in the group. The facility uses a data structure comprising, for each of a plurality of group sizes, a single map identifying groups of that group size that co-occur in more than a threshold number of instances.

Claims (21)

1. A method in a computing system for modeling co-occurrence between items in a population using occurrence data identifying, for each of a number of instances, a subset of the population of items that occurred in the instance, comprising:

(a) initializing a model tree data structure;

(b) at a first level of the tree data structure, establishing a node for each of the items;

(c) after (b), reading the occurrence data a first time to arrive at a count, stored in each node at the first level of the tree data structure, of the number of instances in which the item corresponding to the node occurred;

(d) reading the occurrence data a second time, and, for each pair of items encountered in an instance while reading the occurrence data a second time that is comprised of items whose counts exceed a threshold number:

(1) if no node has been established at the second level of the tree data structure for the pair of items, establishing a node at the second level of the tree data structure for the pair of items, initializing a count for the established node, and incrementing the count for the node established at the second level of the tree data structure for the pair of items; and

(2) if a node has been established at the second level of the tree data structure for the pair of items, incrementing the count for the node established at the second level of the tree data structure for the pair of items;

(e) at a third level of the tree data structure, establishing a node for each group of three items for which the counts of the pairs that are subsets of the group of three items each have a count that exceeds the threshold number;

(f) after (e), reading the occurrence data a third time to arrive at a count, stored in each node at the third level of the tree data structure, of the number of instances in which the all three of the items corresponding to the node occurred; and

(g) recommending an item based on the count.

2. A method in a computing system for augmenting a tree data structure having a preexisting number of levels greater than zero by appending an additional level, the tree data structure modeling co-occurrence between items in a population by identifying groups containing no more than a ceiling number of items corresponding to the preexisting number of levels of the tree data structure that each occurs in at least a threshold number of instances, comprising:

reading occurrence data identifying, for each of a number of instances, a subset of the population of items that occurred in the instance, and, for each set of items encountered in an instance while reading the occurrence data whose size is one greater than the ceiling number of items where the preexisting levels of the tree data structure indicate that all subsets of the set occur in at least a threshold number of instances:

(1) if no node has been established at the additional level of the tree data structure for the set of items, establishing a node at the additional level of the tree data structure for the set of items, initializing a count for the established node, and incrementing the count for the node established at the additional level of the tree data structure for the set of items; and

(2) if a node has been established at the additional level of the tree data structure for the set of items, incrementing the count for the node established at the additional level of the tree data structure for the set of items; and

recommending an item based on the count.

3. The method of claim 2 wherein the ceiling number of items is one.

4. A computer-readable medium whose contents cause a computing system to augment a tree data structure having a preexisting number of levels by appending an additional level, the tree data structure modeling co-occurrence between items in a population by identifying groups containing no more than a ceiling number of items corresponding to the preexisting number of levels of the tree data structure that each occurs in at least a threshold number instances, by:

reading occurrence data identifying, for each of a number of instances, a subset of the population of items that occurred in the instance, and, for each set of items encountered in an instance while reading the occurrence data whose size is one greater than the ceiling number of items where the preexisting levels of the tree data structure indicate that all subsets of the set occur in at least a threshold number of instances:

(1) if no node has been established at the additional level of the tree data structure for the set of items, establishing a node at the additional level of the tree data structure for the set of items, initializing a count for the established node, and incrementing the count for the node established at the additional level of the tree data structure for the set of items; and

(2) if a node has been established at the additional level of the tree data structure for the set of items, incrementing the count for the node established at the additional level of the tree data structure for the set of items; and

recommending an item based on the count.

Assignments (6)
SECURITY INTEREST Recorded Sep 25, 2015
From: AUDIENCESCIENCE INC.
To: ORIX VENTURES, LLC
Reel/Frame 036654/0640 →
RELEASE OF SECURITY INTEREST Recorded Sep 11, 2015
From: GOLD HILL CAPITAL 2008, LP
To: AUDIENCESCIENCE, INC.
Reel/Frame 036587/0489 →
SECURITY AGREEMENT Recorded Nov 21, 2011
From: AUDIENCESCIENCE INC.
To: SILICON VALLEY BANK
Reel/Frame 027256/0756 →
SECURITY AGREEMENT Recorded Oct 12, 2011
From: AUDIENCESCIENCE, INC.
To: GOLD HILL CAPITAL 2008, LP
Reel/Frame 027047/0780 →
RELEASE OF SECURITY INTEREST Recorded Mar 4, 2010
From: COMERICA BANK
To: AUDIENCESCIENCE, INC. FKA REVENUE SCIENCE, INC. FKA DIGIMINE, INC. FKA MINEPOINT.COM, INC.
Reel/Frame 024023/0574 →
SECURITY AGREEMENT Recorded Mar 2, 2010
From: AUDIENCESCIENCE INC.
To: SILICON VALLEY BANK
Reel/Frame 024096/0172 →