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.