Location-sensitive ranking for search and related techniques
AssigneeOath Inc.
InventorsChangsung Kang, Yuening Hu, Dawei Yin, Yi Chang
Life of this patent
Estimating the term…
Abstract
A location prediction framework is described for applying location labels or tags to target documents and/or identifying location-sensitive queries. Terms in content and queries are represented by corresponding term locations vectors (TLVs) in which the term is represented as a weighted distribution across locations. Each element of a TLV represents a probability that the term corresponding to the TLV relates to a particular location. Predicted locations may be introduced as features to a ranking framework to improve the identification and ranking of search results for a given query.
Claims25
A computer-implemented method, comprising:
- receiving a first query from one or more users;
- identifying a first location in the first query;
- providing one or more search results, comprising a first search result, to the one or more users responsive to the first query;
- responsive to determining that the one or more users selected the first search result, determining that a first uniform resource locator (URL) associated with the first search result is connected to the first location;
- constructing a location-URL click graph based, at least in part, on the determination that the first URL is connected to the first location;
- constructing a term-location graph based, at least in part, on the location-URL click graph, wherein the term-location graph comprises one or more terms connected to the first URL;
- constructing a plurality of term-location vectors based, at least in part, on the term-location graph;
- identifying one or more terms in an incoming query;
- retrieving a term-location vector for each term of the one or more terms in the incoming query from the plurality of term-location vectors such that one or more term-location vectors are retrieved, each term-location vector of the plurality of term-location vectors including one or more values that each represent a likelihood that a term of the term-location vector relates to a location of locations;
- processing the one or more term-location vectors to generate a plurality of scores for the incoming query, each score of the plurality of scores representing a likelihood that the incoming query relates to a corresponding location of the locations;
- associating the incoming query with at least one location of the locations based, at least in part, on the plurality of scores;
- identifying search results based, at least in part, on the incoming query and the at least one location associated with the incoming query, each search result of the search results having one or more locations associated therewith;
- calculating a plurality of distances, wherein calculating the plurality of distances includes calculating a distance between a second location associated with a second search result and each location of the at least one location associated with the incoming query;
- and
- ranking the search results by modifying a base ranking function in accordance with the plurality of distances.
A system, comprising one or more computing devices configured to:
- receive a first query from one or more users;
- identify a first location in the first query;
- provide one or more search results, comprising a first search result, to the one or more users responsive to the first query;
- responsive to determining that the one or more users selected the first search result, determine that a first uniform resource locator (URL) associated with the first search result is connected to the first location;
- construct a location-URL click graph based, at least in part, on the determination that the first URL is connected to the first location;
- construct a plurality of term-location vectors based, at least in part, on the location-URL click graph;
- identify one or more terms included in an incoming query;
- retrieve a term-location vector for each term of the one or more terms in the incoming query from the plurality of term-location vectors such that one or more term-location vectors are retrieved, each term-location vector of the plurality of term-location vectors including one or more values that each represent a likelihood that a term of the term-location vector relates to a location of locations;
- process the one or more term-location vectors to generate a plurality of scores for the incoming query, each score of the plurality of scores representing a likelihood that the incoming query relates to a corresponding location of the locations;
- associating the incoming query with at least one location of the locations based, at least in part, on the plurality of scores;
- identify search results based, at least in part, on the incoming query and the at least one location associated with the incoming query, each search result of the search results having one or more locations associated therewith;
- calculate a plurality of distances, wherein calculating the plurality of distances includes calculating a distance between a second location associated with a second search result and each location of the at least one location associated with the incoming query;
- and
- rank the search results by modifying a base ranking function in accordance with the plurality of distances.
A computer program product comprising one or more non-transitory computer-readable media having computer program instructions stored therein, the computer program instructions being configured such that, when executed by one or more computing devices, the computer program instructions cause the one or more computing devices to:
- receive a first query from one or more users;
- identify a first location in the first query;
- provide one or more search results, comprising a first search result, to the one or more users responsive to the first query;
- responsive to determining that the one or more users selected the first search result, determine that a first uniform resource locator (URL) associated with the first search result is connected to the first location;
- construct a term-location graph based, at least in part, on the determination that the first URL is connected to the first location, wherein the term-location graph comprises one or more terms connected to the first URL;
- construct a plurality of term-location vectors based, at least in part, on the term-location graph;
- identify one or more terms in an incoming query;
- retrieve a term-location vector for each term of the one or more terms in the incoming query from the plurality of term-location vectors such that one or more term-location vectors are retrieved, each term-location vector of the plurality of term-location vectors including one or more values that each represent a likelihood that a term of the term-location vector relates to a location of locations;
- process the one or more term-location vectors to generate a plurality of scores for the incoming query, each score of the plurality of scores representing a likelihood that the incoming query relates to a corresponding location of the locations;
- associate the incoming query with at least one location of the locations based, at least in part, on the plurality of scores;
- identify search results based, at least in part, on the incoming query and the at least one location associated with the incoming query, each search result of the search results having one or more locations associated therewith;
- calculate a plurality of distances, wherein calculating the plurality of distances includes calculating a distance between a second location associated with a second search result and each location of the at least one location associated with the incoming query;
- and
- rank the search results by modifying a base ranking function in accordance with the plurality of distances.
Dependencies are inferred from the claim text.