Automatically creating a hierarchical storyline from mobile device data
First Claim
1. A method of automatically creating a hierarchical storyline, the method comprising:
- receiving a plurality of labelled contextual slices derived from contextual data of a user, each labelled contextual slice comprising a time range, a location, and a contextual label indicating a semantic description of the labelled contextual slice, wherein receiving the plurality of labelled contextual slices comprises;
receiving a plurality of contextual slices derived from associated context data collected from a plurality of observation sources, each contextual slice is bound by the time range at the location; and
for each of the plurality of contextual slices;
identifying a set of candidate labels based on context data associated with the contextual slice, the candidate labels each comprising semantic data describing context data associated with the contextual slice, the semantic data selected from a group consisting of venue geography boundary, venue name, venue type, and venue activity name, venue activity location, venue activity popularity and calendar event;
ranking the set of candidate labels by likelihood based on a proximity threshold to the venue geography boundary and ordered by the venue activity popularity, the proximity threshold from the centroid location of the venue geography boundary; and
applying one or more of the candidate labels to the contextual slice to make one of the plurality of labelled contextual slices;
retrieving, from a storage, a contextual pattern specifying a sequence of contextual labels, wherein the sequence includes a plurality of contextual labels with semantic descriptions that when aggregated correspond to a common semantic description;
searching the received labelled contextual slices for a temporally contiguous group of contextual slices having the sequence of contextual labels specified by the pattern;
identifying, by a processor, the temporally contiguous group of contextual slices as a matching group responsive to the temporally contiguous group of contextual slices having the sequence of contextual labels specified by the pattern and rank;
ordering the matching group of labelled contextual slices by rank;
grouping the matching group of labelled contextual slices having at least a minimum threshold rank based on visit year; and
applying the common semantic description to the ranked matching group of labelled contextual slices as the user'"'"'s storyline.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments create and label contextual slices from observation data and aggregate slices into a hierarchical storyline for a user. A context is a (possibly partial) specification of what a user was doing in the dimensions of time, place, and activity. A storyline is composed of a time-ordered sequence of contexts that partition a given span of time that are arranged in groups at one or more hierarchical levels. A storyline is created through a process of data collection, slicing, labeling, and aggregating. Raw context data can be collected from a variety of observation sources with various error characteristics. Slicing refines the raw context data into a consistent storyline composed of a sequence of contexts representing homogeneous time intervals. Labeling adds more specific and semantically meaningful data (e.g., geography, venue, activity) to the slices. Aggregation identifies groups of slices that correspond to a single semantic concept.
38 Citations
23 Claims
-
1. A method of automatically creating a hierarchical storyline, the method comprising:
-
receiving a plurality of labelled contextual slices derived from contextual data of a user, each labelled contextual slice comprising a time range, a location, and a contextual label indicating a semantic description of the labelled contextual slice, wherein receiving the plurality of labelled contextual slices comprises; receiving a plurality of contextual slices derived from associated context data collected from a plurality of observation sources, each contextual slice is bound by the time range at the location; and for each of the plurality of contextual slices; identifying a set of candidate labels based on context data associated with the contextual slice, the candidate labels each comprising semantic data describing context data associated with the contextual slice, the semantic data selected from a group consisting of venue geography boundary, venue name, venue type, and venue activity name, venue activity location, venue activity popularity and calendar event; ranking the set of candidate labels by likelihood based on a proximity threshold to the venue geography boundary and ordered by the venue activity popularity, the proximity threshold from the centroid location of the venue geography boundary; and applying one or more of the candidate labels to the contextual slice to make one of the plurality of labelled contextual slices; retrieving, from a storage, a contextual pattern specifying a sequence of contextual labels, wherein the sequence includes a plurality of contextual labels with semantic descriptions that when aggregated correspond to a common semantic description; searching the received labelled contextual slices for a temporally contiguous group of contextual slices having the sequence of contextual labels specified by the pattern; identifying, by a processor, the temporally contiguous group of contextual slices as a matching group responsive to the temporally contiguous group of contextual slices having the sequence of contextual labels specified by the pattern and rank; ordering the matching group of labelled contextual slices by rank; grouping the matching group of labelled contextual slices having at least a minimum threshold rank based on visit year; and applying the common semantic description to the ranked matching group of labelled contextual slices as the user'"'"'s storyline. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable medium comprising instructions executable by a processor, the instructions for:
-
receiving a plurality of labelled contextual slices derived from contextual data of a user, each labelled contextual slice comprising a time range, a location, and a contextual label indicating a semantic description of the labelled contextual slice, wherein receiving the plurality of labelled contextual slices comprises; receiving a plurality of contextual slices derived from associated context data collected from a plurality of observation sources, each contextual slice is bound by the time range at the location; and
for each of the plurality of contextual slices;identifying a set of candidate labels based on context data associated with the contextual slice, the candidate labels each comprising semantic data describing context data associated with the contextual slice, the semantic data selected from a group consisting of venue geography boundary, venue name, venue type, and venue activity name, venue activity location, venue activity popularity and calendar event; ranking the set of candidate labels by likelihood based on a proximity threshold to the venue geography boundary and ordered by the venue activity popularity, the proximity threshold from the centroid location of the venue geography boundary; and applying one or more of the candidate labels to the contextual slice to make one of the plurality of labelled contextual slices; retrieving, from a storage, a contextual pattern specifying a sequence of contextual labels, wherein the sequence includes a plurality of contextual labels with semantic descriptions that when aggregated correspond to a common semantic description; searching the received labelled contextual slices for a temporally contiguous group of contextual slices having the sequence of contextual labels specified by the pattern; identifying, by a processor, the temporally contiguous group of contextual slices as a matching group responsive to the temporally contiguous group of contextual slices having the sequence of contextual labels specified by the pattern and rank; ordering the matching group of labelled contextual slices by rank; grouping the matching group of labelled contextual slices having at least a minimum threshold rank based on visit year; and applying the common semantic description to the ranked matching group of labelled contextual slices as the user'"'"'s storyline. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system for organizing contextual data, the system comprising:
-
a processor; and a non-transitory computer-readable medium comprising instructions executable by the processor, the instructions for; receiving a plurality of labelled contextual slices derived from contextual data of a user, each labelled contextual slice comprising a time range, a location, and a contextual label indicating a semantic description of the labelled contextual slice, wherein receiving the plurality of labelled contextual slices comprises; receiving a plurality of contextual slices derived from associated context data collected from a plurality of observation sources, each contextual slice is bound by the time range at the location; and
for each of the plurality of contextual slices;identifying a set of candidate labels based on context data associated with the contextual slice, the candidate labels each comprising semantic data describing context data associated with the contextual slice, the semantic data selected from a group consisting of venue geography boundary, venue name, venue type, and venue activity name, venue activity location, venue activity popularity and calendar event; ranking the set of candidate labels by likelihood based on a proximity threshold to the venue geography boundary and ordered by the venue activity popularity, the proximity threshold from the centroid location of the venue geography boundary; and applying one or more of the candidate labels to the contextual slice to make one of the plurality of labelled contextual slices; retrieving, from a storage, a contextual pattern specifying a sequence of contextual labels, wherein the sequence includes a plurality of contextual labels with semantic descriptions that when aggregated correspond to a common semantic description; searching the received labelled contextual slices for a temporally contiguous group of contextual slices having the sequence of contextual labels specified by the pattern; identifying, by a processor, the temporally contiguous group of contextual slices as a matching group responsive to the temporally contiguous group of contextual slices having the sequence of contextual labels specified by the pattern; ordering the matching group of labelled contextual slices by rank; grouping the matching group of labelled contextual slices having at least a minimum threshold rank based on visit year; and applying the common semantic description to the ranked matching group of labelled contextual slices as the user'"'"'s storyline.
-
Specification