US2021006650A1PendingUtilityA1

Computing system that generates a predicted routine of a user

Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Jul 2, 2019Filed: Jul 2, 2019Published: Jan 7, 2021
Est. expiryJul 2, 2039(~12.9 yrs left)· nominal 20-yr term from priority
G06N 3/049G06Q 10/0833G01C 21/3617G06F 16/29G06F 16/9537H04W 4/029H04M 1/72451H04L 51/046G01C 21/3679H04M 1/72566
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Described herein are technologies related to generating a predicted routine of a user of a mobile computing device. Location entries generated by the mobile computing device are processed to generate visit entries, wherein the visit entries are representative of visits made by the user to places over several days. An input sequence of states is constructed based upon the visit entries, wherein each state has a place identifier assigned thereto, and further wherein each state corresponds to a time interval of predefined length. A predicted routine of the user is generated based upon the input sequence of states.

Claims

exact text as granted — not AI-modified
1 . A computing system comprising:
 a processor; and   memory storing instructions that, when executed by the processor, cause the processor to perform acts comprising:
 generating, with respect to a user of a mobile computing device, a plurality of visit entries based upon location data generated by the mobile computing device of the user, wherein each visit entry comprises:
 a date of a visit; 
 an identity of a place of the visit; 
 a start time of the visit, wherein the start time identifies when the location data generated by the mobile computing device indicates that the mobile computing device arrived at the place; and 
 data that is indicative of a duration of the visit, wherein the duration of the visit is an amount of time that the mobile computing device was determined to be at the place from the start time to when the mobile computing device departed the place, wherein the visit entries collectively correspond to a plurality of days; 
 
   based upon the plurality of visit entries, generating a predicted routine of the user, wherein the predicted routine comprises an ordered sequence of places that the user is predicted to visit over a plurality of future time blocks of predefined length over several days, wherein the ordered sequence of places includes a place that the user is predicted to visit during a future time block and a second place that the user is predicted to visit during a second future time block;   transmitting an electronic message to the mobile computing device of the user or to a second computing device based upon the predicted routine of the user; and   transmitting a second electronic message to the mobile computing device of the user or to the second computing device based upon the predicted routine of the user, wherein the second electronic message is a notification that instructs the user to perform an action that corresponds to the second place.   
     
     
         2 . The computing system of  claim 1 , wherein generating the plurality of visit entries comprises clustering location entries in the location data to generate location clusters, wherein each location entry includes a latitude/longitude pair and a timestamp, and further wherein the location entries are clustered as a function of time and space. 
     
     
         3 . The computing system of  claim 1 , wherein the several days comprises seven days. 
     
     
         4 . The computing system of  claim 1 , wherein the several days comprises thirty days. 
     
     
         5 . The computing system of  claim 1 , wherein the predefined length is thirty minutes. 
     
     
         6 . The computing system of  claim 1 , the acts further comprising:
 assigning, to a sequence of time intervals of the predefined length, respective identifiers of places based upon the defined plurality of visits to generate a sequence of labels, wherein the plurality of locations for the user are predicted based upon the sequence of labels.   
     
     
         7 . The computing system of  claim 6 , the acts further comprising:
 assigning, to each of several time intervals in the sequence of time intervals, a plurality of item labels, wherein the plurality of item labels comprise a first item label that is indicative of a day of the week, a second item label that is indicative of a time of day, and a third item label that is indicative of an identity of a place, wherein predicting, for the plurality of future time blocks of predefined length over the several days, the places that will be visited by the user comprises:   computing frequencies of co-occurrences of item labels across the sequence of time intervals, wherein the plurality of different places will be visited by the user are predicted based upon the computed frequencies of co-occurrences of the item labels across the sequence of time intervals.   
     
     
         8 . The computing system of  claim 6 , the acts further comprising:
 providing the sequence of labels to a sequence to sequence model, wherein the sequence to sequence model comprises an encoder and a decoder, wherein the encoder comprises a first plurality of recurrent neural networks (RNNs), the decoder comprises a second plurality of RNNs, and further wherein the decoder outputs the plurality of different places that will be visited by the user.   
     
     
         9 . The computing system of  claim 6 , the acts further comprising:
 providing the sequence of labels to a convolutional network, wherein the convolutional network outputs the plurality of different places that will be visited by the user.   
     
     
         10 . The computing system of  claim 9 , wherein the convolutional network is a time-dilated convolutional network. 
     
     
         11 . The computing system of  claim 10 , wherein the convolutional network is a masked time-dilated convolutional network. 
     
     
         12 . The computing system of  claim 1 , the acts further comprising generating a third electronic message based upon a third place that is predicted to be visited by the user during a third future time block, wherein the third electronic message comprises a notification regarding a time when the user is to leave a current location to reach the third place prior to the third future time block. 
     
     
         13 . (canceled) 
     
     
         14 . A method executed by a computing system, the method comprising:
 retrieving location data generated by a mobile computing device over time, wherein the location data comprises pairs of latitude/longitude coordinates, wherein each pair of latitude/longitude coordinates has a respective timestamp assigned thereto;   defining visits over a plurality of days based upon the location data, wherein a visit comprises:
 an identity of a place visited by the user; 
 a date when the user visited the place; 
 a time when the visit started; and 
 a duration of the visit; 
   based upon the defined visits, generating a predicted routine of the user, wherein the predicted routine of the user comprises an ordered sequence of places that the user is predicted to visit over several time intervals of predefined length, wherein the ordered sequence of places includes a place that the user is predicted to visit during a future time interval and a second place that the user is predicted to visit during a second time interval;   transmitting an electronic message to the mobile computing device of the user based upon the predicted routine of the user; and   transmitting a second electronic message to the mobile computing device of the user based upon the predicted routine of the user, wherein the second electronic message is a notification that instructs the user to perform an action at the second place based upon the predicted routine of the user.   
     
     
         15 - 16 . (canceled) 
     
     
         17 . The method of  claim 14 , further comprising:
 assigning, to a sequence of time intervals of the predefined length, respective labels based upon the defined plurality of visits to generate a sequence of labels, wherein the labels are indicative of places previously visited by the user, wherein the predicted routine of the user is generated based upon the respective labels assigned to the sequence of time intervals.   
     
     
         18 . The method of  claim 17 , further comprising:
 assigning, to each of several time intervals in the sequence of time intervals, a plurality of item labels, wherein the plurality of item labels comprise a first item label that is indicative of a day of the week, a second item label that is indicative of a time of day, and a third item label that is indicative of a place visited by the user during the time interval, wherein predicting the routine comprises:   computing frequencies of co-occurrences of item labels across the sequence of time intervals, wherein the predicted routine is generated based upon the computed frequencies of co-occurrences of the item labels across the sequence of time intervals.   
     
     
         19 . The method of  claim 17 , further comprising:
 providing the sequence of labels to a convolutional network, wherein the convolutional network outputs the predicted routine of the user.   
     
     
         20 . A computer-readable storage medium comprising instructions that, when executed by a processor, cause the processor to perform acts comprising:
 retrieving location data generated by a mobile computing device over time, wherein the location data comprises pairs of latitude/longitude coordinates, wherein each pair of latitude/longitude coordinates has a respective timestamp assigned thereto;   defining visits over a plurality of days based upon the location data, wherein a visit comprises:
 an identity of a place visited by the user; 
 a date when the user visited the place; 
 a time when the visit started; and 
 a duration of the visit; 
   generating a predicted routine of a user based upon the visits, wherein the predicted routine of the user comprises a sequence of places that the user is predicted to visit over time intervals of predefined length for at least one week, wherein the sequence of places comprises a first place that the user is predicted to visit during a first time interval and a second place that the user is predicted to visit during a second time interval;   transmitting an electronic message to the mobile computing device of the user based upon the predicted routine of the user, wherein the electronic message comprises one of a notification that is based upon a place that the user is predicted to visit in the predicted routine or a recommendation that is based upon the place that the user is predicted to visit in the predicted routine; and   transmitting a second electronic message to the mobile computing device of the user based upon the predicted routine of the user, wherein the second electronic message is a notification that instructs the user to perform an action at the second place based upon the predicted routine of the user.   
     
     
         21 . The method of  claim 14 , wherein generating the predicted routine of the user comprises:
 providing the defined visits as input to a sequence to sequence model, wherein the sequence to sequence model outputs the predicted routine of the user based upon the defined visits.   
     
     
         22 . The method of  claim 19 , wherein the convolutional network is a masked time-dilated convolutional network. 
     
     
         23 . The computer-readable storage medium of  claim 20 , wherein a masked time-dilated convolutional network is employed to generate the predicted routine of the user.

Join the waitlist — get patent alerts

Track US2021006650A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.