IP Library Granted Patent US 8,489,625
Granted Patent B2
US 8,489,625 · App. 12/955,758 · Granted Jul 16, 2013

Mobile query suggestions with time-location awareness

Inventors: Xiaochuan Ni (Beijing, CN); Jian-Tao Sun (Beijing, CN); Zheng Chen (Beijing, CN)
Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,489,625
App. No.
12/955,758
Granted
Jul 16, 2013
Kind
B2
Abstract

The techniques describe recommending mobile query suggestions by integrating time and location in response to a query input submitted on a mobile computing device. A process constructs a bipartite graph by extracting users that submitted queries from mobile search logs and associating time and location with the submitted queries. The process determines the users are similar having submitted similar queries at similar times and at similar locations. The process receives a query input associated with a current time and a current location of a mobile computing device. Next, the process computes a relatedness of candidate queries to the query input based on a similarity between the user groups having submitted both the candidate queries and the query input, and distances of times and locations at which the user previously issued the query input and the candidate queries.

Claims (55)

1. A method implemented at least partially by a processor, the method comprising:

constructing a graph by extracting queries from mobile search logs and identifying users that sent the queries, times at which the users sent the queries, and locations from which the users sent the queries;

calculating a similarity between the users from the graph based at least in part on similarities between the queries, the times at which the users submitted the queries, and the locations from which the users submitted the queries;

receiving, from a mobile computing device of a particular user, a query input associated with a current time and with a current location of the mobile computing device; and

at least partly in response to the receiving of the query input:

identifying, from the graph, one or more queries previously submitted by users that have previously submitted the query input, the one or more other queries comprising candidate queries; and

computing a relatedness of each of the candidate queries to the received query input based at least in part on: (1) a calculated similarity between a respective user that submitted the candidate query and the particular user, (2) a difference between the current time associated with the received query input and a time when the candidate query was submitted, and (3) a distance between the current location associated with the received query input and a location where the candidate query was submitted; and

removing, from the mobile search logs, one or more submitted queries that are not associated with time and location information.

2. The method of claim 1 , wherein the calculating of the similarities of the users comprises:

using distribution vectors to represent the times of the queries submitted by a first user and a second user;

representing the times of the queries submitted by the first user and the second user based on a 24-dimension vector as a count to identify an hour of a day; and

applying a cosine similarity function to compute a distance of the distribution vectors representing the times of the queries submitted by the first user and the second user to identify an hour between the distribution vectors.

3. The method of claim 1 , further comprising:

ranking the candidate queries based at least in part on the computed relatedness of each of the candidate queries to the received query input; and

suggesting at least a portion of the candidate queries based at least in part on the ranking.

4. The method of claim 1 , further comprising:

ranking the candidate queries based at least in part on the computed relatedness of each of the candidate queries to the received query input; and

recommending at least a portion of the candidate queries based at least in part on the candidate queries and the received query input have many common users, both submitted the received query input about a same time, and both submitted the received query input at about a same location of mobile computing devices.

5. The method of claim 1 , further comprising providing one or more of the candidate queries as query suggestions in a descending order that is based at least in part on the computed relatedness of each of the candidate queries to the query input.

6. The method of claim 1 , wherein the computing the relatedness further comprises:

computing a weight of for a user that previously submitted the received query input based at least in part on measuring distances between (1) a time and a location at which the user has previously submitted the received query input, and (2) the current time and the current location.

7. The method of claim 6 , applying the computed weight to one or more candidate queries, wherein the computed weight is higher based at least in part on being relative close to the current time and to the current location.

8. One or more computer-readable storage media encoded with instructions that, when executed by a processor, perform acts comprising:

receiving, from a mobile computing device of a particular user, a query input associated with a current time and with a current location of the mobile computing device; and

at least partly in response to the receiving of the query input:

accessing a query-user graph constructed from mobile search logs that identifies for, each of multiple queries, a user that sent the query, a time at which the user sent the query, and a location from which the user sent the query; and

identifying candidate queries that are related to the query input based at least in part on: calculating a similarity between the users from the query-user graph based at least in part on similarities between the queries, the times at which the users submitted the queries, and the locations from which the users submitted the queries, and calculating a relatedness of each of the candidate queries to the received query input based at least in part on;

a difference between the current time associated with the received query input and a time when the candidate query was submitted;

a distance between the current location associated with the received query input and the location where the candidate query was sent;

computing a weight of a user based at least in part on measuring distances between a time and a location at which the user has previously submitted the received query input and the current time and the current location; and

applying the computed weight to one or more candidate queries.

9. The computer-readable storage media of claim 8 , wherein the mobile search logs include, for at least a portion of the multiple queries, a location of where the query was submitted as global positioning system (GPS) coordinates in a longitude and a latitude pair.

10. The computer-readable storage media of claim 8 , wherein the candidate queries comprise at least a portion of multiple queries previously submitted by users represented in the query-user graph that have previously submitted the received query input.

11. The computer-readable storage media of claim 8 , wherein the calculating the similarity comprises:

representing the times of queries submitted by a first user and a second user using 24-dimension vectors to identify an hour of a day; and

applying a cosine similarity function to compute a distance of the 24-dimension vectors representing the times of the queries submitted by the first user and the second user to identify an hour between the 24-dimension vectors.

12. The computer-readable storage media of claim 8 , further comprising serving a user interface for display on the mobile computing device, the user interface to access a service application that provides mobile query searches.

13. The computer-readable storage media of claim 8 , further comprising ranking the candidate queries based at least in part on the calculated relatedness of each of the candidate queries to the received query input.

14. A system comprising:

a memory;

a processor coupled to the memory;

a graph module stored in the memory and executable on the processor to;

construct a graph from mobile search logs to identify queries from mobile search logs;

identify, for each of the queries, a user that sent a query, a time at which the user sent the query, and a location from which the user sent the query, the graph representing:

each of the users and the query sent by the user as two nodes; and

the time at which the user sent the query and the location from which the user sent the query as an edge; and

calculate distances between the current time and the current location and the times and the locations with the edges between the two nodes;

a similarity module stored in the memory and executable on the processor to compute a similarity between the users from the graph based at least in part on similarities between: (1) the queries, (2) the times at which the users submitted the queries, and (3) the locations from which the users submitted the queries; and

a time-location awareness application module stored in the memory and executable on the processor to receive, from a mobile computing device of a particular user, a query input associated with a current time and a current location of the mobile computing device.

15. The system of claim 14 , further comprising:

a relatedness module stored in the memory and executable on the processor to compute a relatedness of each of multiple candidate queries to the query input based at least in part on the calculated similarity between the users, calculating a difference between the current time associated with the received query input and a time when the candidate query was submitted, and calculating a distance between the current location associated with the received query input and a location where the candidate query was submitted.

16. The system of claim 14 , wherein the edge represents an issuing action from the user when submitting the query.

17. The system of claim 14 , wherein the similarity module is further executable on the processor to:

represent times of queries submitted by a first user and a second user based on a 24-dimension distribution vector to identify an hour of a day; and

apply a cosine similarity function to compute a distance of the 24-dimension distribution vectors representing the times of the queries submitted by the first user and the second user to identify an hour between the distribution vectors.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2010
From: NI, XIAOCHUAN; SUN, JIAN-TAO; CHEN, ZHENG
To: MICROSOFT CORPORATION
Reel/Frame 025554/0023 →
Continuity (1)
Related Publication 20120136855A1 · May 31, 2012