Legal claims defining the scope of protection, as filed with the USPTO.
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. The method of claim 1 , further comprising: retrieving, from the storage, an additional contextual pattern specifying an additional sequence of contextual labels; searching the received labelled contextual slices for an additional temporally contiguous group of contextual slices having the sequence of contextual labels specified by the pattern; identifying the additional temporally contiguous group of contextual slices as an additional matching group responsive to the additional temporally contiguous group of contextual slices having the additional sequence of contextual labels specified by the additional contextual pattern; determining whether the additional matching group of labelled contextual slices comprises at least a threshold number of contextual slices in common with the matching group of labelled contextual slices; and determining whether to merge the matching group and the additional matching group responsive to determining that the additional matching group comprises at least the threshold number of contextual slices in common with the matching group.
3. The method of claim 2 , wherein determining whether to merge the matching group and the additional matching group comprises: determining to merge the matching group and the additional matching group of labelled contextual slices responsive to determining that the additional matching group encompasses a shorter time duration than the matching group and responsive to determining that the matching group and the additional matching group are associated with group labels containing at least one matching non-temporal context.
4. The method of claim 1 , wherein the contextual pattern further specifies a threshold likelihood for each contextual label in the sequence and identifying the temporally contiguous group of contextual slices as a matching group includes determining that a likelihood of a label of each slice in the temporally contiguous group exceeds the corresponding threshold likelihood.
5. The method of claim 1 , wherein the retrieved contextual pattern was obtained by: receiving additional groups of labelled contextual slices identified by the user; and identifying the contextual pattern from a common temporal sequence of contextual labels identified at least a threshold number of instances among the additional groups of labelled contextual slices.
6. The method of claim 1 , wherein associating the matching group with the group label comprises: obtaining a label template associated with the contextual pattern, the label template specifying one or more contextual categories; identifying, from contextual labels of the matching group of labelled contextual slices, a contextual label describing at least a threshold proportion of the matching group of labelled contextual slices, the identified contextual label in one of the one or more contextual categories in the label template; and generating the group label by using the identified contextual label in the pattern template.
7. The method of claim 1 , wherein associating the matching group with the group label comprises: selecting a contextual category specified by at least a threshold number of contextual labels in the sequence of contextual labels; identifying contextual labels in the selected contextual category, the identified contextual labels describing at least a threshold proportion of contextual slices of the matching group; and selecting the group label from the identified contextual labels, the selected group label having a highest level of specificity among the identified one or more contextual labels.
8. The method of claim 1 , wherein providing the matching group of labelled contextual slices comprises providing a storyline comprising the matching group of labelled contextual slices and an additional group of labelled contextual slices, the matching group and the additional group associated with group labels comprising at least one matching contextual label.
9. The method of claim 8 , wherein the storyline is provided in a user interface displaying a visual representation of the matching group of labelled contextual slices, the user interface configured to display visual representations of the identified contextual slices responsive to a user input directed at the visual representation of the matching group.
10. The method of claim 1 , wherein providing the matching group of labelled contextual slices comprises: receiving, from the user, a correction comprising at least one of a corrected group label and a corrected group of labelled contextual slices; and storing an updated version of at least one of the group label and the group responsive to receiving the correction.
11. The method of claim 1 , wherein the receiving comprises: receiving contextual data of a user; slicing the contextual data into a plurality of non-overlapping contextual slices corresponding to a common semantic description; and applying labels to at least some of the contextual slices, such that each contextual slice comprises a time range, a location, and a contextual label indicating a semantic description of the labelled contextual slice.
12. The method of claim 1 , wherein the plurality of observation sources are of a plurality of types, the method further comprising: identifying an observation source of the plurality of observation sources from which the context data used to generate a given slice originated; identifying a type of the observation source from among the plurality of types; and determining an uncertainty in a location of the given slice based on the type of the observation source, wherein each candidate label matches the location of the given slice within the predetermined uncertainty.
13. The method of claim 1 , wherein the likelihood by which the candidate labels are ranked is a likelihood that the candidate label is correct and applying one or more of the candidate labels comprises applying a first candidate label responsive to the corresponding likelihood exceeding a threshold.
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.
15. The computer-readable medium of claim 14 , further comprising instructions for: retrieving, from the storage, an additional contextual pattern specifying an additional sequence of contextual labels; searching the received labelled contextual slices for an additional temporally contiguous group of contextual slices having the sequence of contextual labels specified by the pattern; identifying the additional temporally contiguous group of contextual slices as an additional matching group responsive to the additional temporally contiguous group of contextual slices having the additional sequence of contextual labels specified by the additional contextual pattern; determining whether the additional matching group of labelled contextual slices comprises at least a threshold number of contextual slices in common with the matching group of labelled contextual slices; and determining whether to merge the matching group and the additional matching group responsive to determining that the additional matching group comprises at least the threshold number of contextual slices in common with the matching group.
16. The computer-readable medium of claim 15 , wherein instructions for determining whether to merge the group and the additional group comprise instructions for: determining to merge the matching group and the additional matching group of labelled contextual slices responsive to determining that the additional matching group encompasses a shorter time duration than the matching group and responsive to determining that the matching group and the additional matching group are associated with group labels containing at least one matching non-temporal context.
17. The computer-readable medium of claim 14 , wherein the contextual pattern further specifies a threshold likelihood for each contextual label in the sequence and the instructions for identifying the temporally contiguous group of contextual slices as a matching group include instructions for determining that a likelihood of a label of each slice in the temporally contiguous group exceeds the corresponding threshold likelihood.
18. The computer-readable medium of claim 14 , wherein the retrieved contextual pattern was obtained by: receiving additional groups of labelled contextual slices identified by the user; and identifying the contextual pattern from a common temporal sequence of contextual labels identified at least a threshold number of instances among the additional groups of labelled contextual slices.
19. The computer-readable medium of claim 14 , wherein instructions for associating the matching group with the group label comprise instructions for: obtaining a label template associated with the contextual pattern, the label template specifying one or more contextual categories; identifying, from contextual labels of the matching group of labelled contextual slices, a contextual label describing at least a threshold proportion of the matching group of labelled contextual slices, the identified contextual label in one of the one or more contextual categories in the label template; and generating the group label by using the identified contextual label in the pattern template.
20. The computer-readable medium of claim 14 , wherein instructions for associating the matching group with the group label comprise instructions for: selecting a contextual category specified by at least a threshold number of contextual labels in the sequence of contextual labels; identifying contextual labels in the selected contextual category, the identified contextual labels describing at least a threshold proportion of contextual slices of the matching group; and selecting the group label from the identified contextual labels, the selected group label having a highest level of specificity among the identified one or more contextual labels.
21. The computer-readable medium of claim 14 , wherein instructions for providing the matching group of labelled contextual slices comprise instructions for providing a storyline comprising the matching group of labelled contextual slices and an additional group of labelled contextual slices, the matching group and the additional group associate with group labels comprising at least one matching contextual label.
22. The computer-readable medium of claim 21 , wherein the storyline is provided in a user interface displaying a visual representation of the matching group of labelled contextual slices, the user interface configured to display visual representations of the identified contextual slices responsive to a user input directed at the visual representation of the matching group.
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.
Unknown
August 14, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.