Creating Context Slices of a Storyline from Mobile Device Data
Embodiments create and label context slices from observation data that together define a storyline of a user's movements. A context is a (possibly partial) specification of what a user was doing in the dimensions of time, place, and activity. Contexts can vary in their specificity, their semantic content, and their likelihood. A storyline is composed of a time-ordered sequence of contexts that partition a given span of time. A storyline is created through a process of data collection, slicing and labeling. Raw context data can be collected from a variety of observation sources with various error characteristics. Slicing refines the chaotic collection of contexts produced by data collection into a single 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 storyline produced by slicing.
1 . A method of creating context slices of a storyline of a user's movements, the method comprising:
collecting context data from a plurality of observation sources in a span of time;
grooming the collected context data to reduce errors; and
segmenting the span of time into a sequence of distinct context slices based on the groomed context data, each distinct context slice associated with one selected from a group consisting of a stay in a location, travel from one location to another, and a gap between contexts.
2 . The method of claim 1 , wherein the plurality of observation sources include a location module, an activity module, and a social module.
3 . The method of claim 1 , wherein grooming further comprises filtering collected context data to eliminate context data that are deemed more inaccurate than a desirable threshold.
4 . The method of claim 3 , wherein the desirable threshold is sensor-specific and depends on expected error characteristics of the respective observation source.
5 . The method of claim 1 , wherein grooming further comprises smoothing sequences of context data from an observation source to limit noise.
6 . The method of claim 1 , wherein grooming further comprises smoothing a sequence of context data from an observation source responsive to conflicting context data from another observation source.
7 . The method of claim 1 , wherein grooming further comprises interpolating context data between sensed context data.
8 . The method of claim 1 , wherein segmenting comprises performing clustering to distinguish a stay in a location from travel from one location to another.
9 . The method of claim 1 , wherein segmenting comprises performing time-series analysis to detect inflection points in a distribution of context data to determine how to segment a span of time into separate context slices.
10 . The method of claim 1 , further comprising removing a short context slice by merging it with an adjacent context slice that is likely to correspond to a same activity as the short context slice.
11 . The method of claim 1 , further comprising reconciling the sequence of distinct context slices with preexisting context slices by comparing type and length.
12 . The method of claim 1 , further comprising reconciling location data from a plurality of sensors into a single sequence of context slices.
13 . The method of claim 12 , further comprising varying a sampling frequency of the plurality of sensors in order to lower energy requirements of collecting context data.
14 . A non-transitory computer-readable storage medium having computer program instructions embodied therein for creating context slices of a storyline of a user's movements, the computer program instructions comprising instructions for:
collecting context data from a plurality of observation sources in a span of time;
grooming the collected context data to reduce errors; and
segmenting the span of time into a sequence of distinct context slices based on the groomed context data, each distinct context slice associated with one selected from a group consisting of a stay in a location, travel from one location to another, and a gap between contexts.
15 . The computer-readable storage medium of claim 14 , wherein the plurality of observation sources include a location module, an activity module, and a social module.
16 . The computer-readable storage medium of claim 14 , wherein the instructions for grooming further comprise instructions for filtering collected context data to eliminate context data that are deemed more inaccurate than a desirable threshold.
17 . The computer-readable storage medium of claim 16 , wherein the desirable threshold is sensor-specific and depends on expected error characteristics of the respective observation source.
18 . The computer-readable storage medium of claim 14 , wherein the instructions for grooming further comprise instructions for smoothing sequences of context data from an observation source to limit noise.
19 . The computer-readable storage medium of claim 14 , wherein the instructions for grooming further comprise instructions for smoothing a sequence of context data from an observation source responsive to conflicting context data from another observation source.
20 . The computer-readable storage medium of claim 14 , wherein the instructions for grooming further comprise instructions for interpolating context data between sensed context data.
21 . The computer-readable storage medium of claim 14 , wherein the instructions for segmenting comprise instructions for performing clustering to distinguish a stay in a location from travel from one location to another.
22 . The computer-readable storage medium of claim 14 , wherein the instructions for segmenting comprise instructions for performing time-series analysis to detect inflection points in a distribution of context data to determine how to segment a span of time into separate context slices.
23 . The computer-readable storage medium of claim 14 , the instructions further comprising instructions for removing a short context slice by merging it with an adjacent context slice that is likely to correspond to a same activity as the short context slice.
24 . The computer-readable storage medium of claim 14 , the instructions further comprising instructions for reconciling the sequence of distinct context slices with preexisting context slices by comparing type and length.
25 . The computer-readable storage medium of claim 14 , the instructions further comprising instructions for reconciling location data from a plurality of sensors into a single sequence of context slices.
26 . The computer-readable storage medium of claim 25 , the instructions further comprising instructions for varying a sampling frequency of the plurality of sensors in order to lower energy requirements of collecting context data.