Once a user installs iDiary on their iPhone, the application collects GPS-points (traces/signal) and transmits them to the Inventors’ lab server. This is done in the background using location services of the iPhone. Since these services consume large amount of power, the GPS such off when the user is stationary for ten minutes. When the server receives the user’s GPS points, it compresses them for efficient storage and to speed up the text-search algorithm. The linear simplification of the signal is used for constructed its semantic compression (coreset) that consists of the k-segment mean with a “smart” non-uniform sample of weighted representative GPS-points. Coresets are calculated in a streaming setting to result in a constant-sized coreset for a user’s data that is continually updated with new data points.
When the user runs a text query search on their iPhone, the terms in the query are translated into a (sparse) vector of code words. This vector is projected on the semantic space and replaced by its (dense) semantic j-vector of activities. On the semantic space, the application computes the similar documents (closet vectors) to the query and returns them.