Geocoding using information retrieval
First Claim
1. A computer-implemented geocoding system, comprising:
- a processor;
a triage component executing on the processor and configured to perform steps including;
receiving a query comprising a string and user context information, wherein the user context information includes at least one of market data, culture data, map view data and user location data, wherein the market data indicates a preferred geographical region, the culture data indicates a language setting, the map view data provides a geographic context of a current user view, and the user location data is based on a physical location of user;
parsing the string into a set of data-retrieval requests by extracting geographical information to generate a list of ranked geographical information using a weighting function and validating an address from the geographical information, wherein each data retrieval request comprises user context information and fields of a valid address, and wherein the set of data-retrieval requests comprises more than one data-retrieval request for execution by geocoders;
selecting a plurality of geocoders to which to send the set of data retrieval requests for execution based on specific requirements of each geocoder, wherein the specific requirements of a first geocoder are different from the specific requirements of a second geocoder, and the data retrieval requests sent to the first geocoder are different from the data retrieval requests send to the second geocoder; and
using at least one data retrieval request in the set of data retrieval requests to generate a geocoding command specifically for each of the selected plurality of geocoders to consume, wherein the geocoding command of the first geocoder is different from the geocoding command of the second geocoder;
a geocoding component executing on the processor and configured to perform steps including;
aggregating the set of data-retrieval requests; and
federating the set of data-retrieval requests and generated geocoding commands to the selected plurality of geocoders for parallel execution, wherein the selected plurality of geocoders return responses, wherein the responses comprise a set of results; and
a results component executing on the processor and configured to perform steps including;
processing the responses from the selected geocoders by merging the responses into a ranked list of results using predetermined scoring and ranking rules, and a subset of the results is returned.
2 Assignments
0 Petitions
Accused Products
Abstract
Geocoding architecture based on information retrieval. The geocoding information retrieval system operates on locations and geographic entities. The architecture uses parameters in addition to the query string, if available. The parameters provide contextual information that enables filtering and sorting the results. The additional parameters include market, culture, map view, and user location. A geocoding triage process uses the query and context information provided and output of a machine-learning parser to select the data-lookup geocoders for processing the query. A results processing component collects the results from the underlying data-lookup geocoders, merges the results into a single list after normalizing the scores, and then re-sorts the results list.
37 Citations
13 Claims
-
1. A computer-implemented geocoding system, comprising:
-
a processor; a triage component executing on the processor and configured to perform steps including; receiving a query comprising a string and user context information, wherein the user context information includes at least one of market data, culture data, map view data and user location data, wherein the market data indicates a preferred geographical region, the culture data indicates a language setting, the map view data provides a geographic context of a current user view, and the user location data is based on a physical location of user; parsing the string into a set of data-retrieval requests by extracting geographical information to generate a list of ranked geographical information using a weighting function and validating an address from the geographical information, wherein each data retrieval request comprises user context information and fields of a valid address, and wherein the set of data-retrieval requests comprises more than one data-retrieval request for execution by geocoders; selecting a plurality of geocoders to which to send the set of data retrieval requests for execution based on specific requirements of each geocoder, wherein the specific requirements of a first geocoder are different from the specific requirements of a second geocoder, and the data retrieval requests sent to the first geocoder are different from the data retrieval requests send to the second geocoder; and using at least one data retrieval request in the set of data retrieval requests to generate a geocoding command specifically for each of the selected plurality of geocoders to consume, wherein the geocoding command of the first geocoder is different from the geocoding command of the second geocoder; a geocoding component executing on the processor and configured to perform steps including; aggregating the set of data-retrieval requests; and federating the set of data-retrieval requests and generated geocoding commands to the selected plurality of geocoders for parallel execution, wherein the selected plurality of geocoders return responses, wherein the responses comprise a set of results; and a results component executing on the processor and configured to perform steps including; processing the responses from the selected geocoders by merging the responses into a ranked list of results using predetermined scoring and ranking rules, and a subset of the results is returned. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method of geocoding based on data retrieval, comprising:
-
receiving a query string accompanied by user context information, wherein the user context information includes at least one of;
market data, culture data, map view data or user location data, wherein the market data indicates a preferred geographical region, the culture data indicates a language setting, the map view data provides a geographic context of a current user view, and the user location data is based on a physical location of user;parsing the query string into a set of data-retrieval requests by extracting geographical information to generate a list of ranked geographical information using a weighting function and validating an address from the geographical information, wherein each data retrieval request comprises user context information and fields of a valid address, and wherein the set of data-retrieval requests comprises more than one data-retrieval request for execution by geocoders; selecting a plurality of geocoders to which to send the set of data retrieval requests for execution based on specific requirements of each geocoder, wherein the specific requirements of a first geocoder are different from the specific requirements of a second geocoder, and the data retrieval requests sent to the first geocoder are different from the data retrieval requests send to the second geocoder; and using at least one data retrieval request in the set of data retrieval requests to generate a geocoding command specifically for each of the selected plurality of geocoders to consume, wherein the geocoding command of the first geocoder is different from the geocoding command of the second geocoder; aggregating the set of data-retrieval requests; federating the set of data-retrieval requests and generated geocoding commands to the selected plurality of data geocoders for parallel execution, wherein the selected plurality of geocoders return responses, wherein the responses comprise a set of results; merging the responses from the selected data geocoders into a ranked list of results using predetermined scoring and ranking rules; and selecting a set of results from the ranked list of results and returning the set of results for processing. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer-implemented system, comprising:
-
a processor; computer-implemented means for receiving a query comprising a natural language string of text from a client; computer-implemented means for adding user context information to the query, wherein the user context information includes at least one of;
market data, culture data, map view data or user location data, wherein the market data indicates a preferred geographical region, the culture data indicates a language setting, the map view data provides a geographic context of a current user view, and the user location data is based on a physical location of user;computer-implemented means for parsing the natural language string by the processor into more than one parse result; computer-implemented means for creating a set of data-retrieval requests by extracting geographical information to generate a list of ranked geographical information using a weighting function and validating an address from the geographical information based on the more than one parse result, wherein each data retrieval request comprises the user context information and fields of a valid address, and wherein the set of data-retrieval requests comprising more than one data retrieval request for execution by geocoders; computer-implemented means for selecting a plurality of geocoders to which to send the set of data retrieval requests for execution based on specific requirements of each geocoder, wherein the specific requirements of a first geocoder are different from the specific requirements of a second geocoder, and the data retrieval requests sent to the first geocoder are different from the data retrieval requests send to the second geocoder; computer-implemented means for using at least one data retrieval request in the set of data retrieval requests to generate a geocoding command specifically for each of the selected plurality of geocoders to consume, wherein the geocoding command of the first geocoder is different from the geocoding command of the second geocoder; computer-implemented means for federating the set of data-retrieval requests and generated geocoding commands to the selected plurality of data geocoders for parallel execution, wherein the selected plurality of geocoders return responses, wherein the responses comprise a set of results; computer-implemented means for merging responses from the selected data geocoders into a ranked list of results using predetermined scoring and ranking rules; and computer-implemented means for selecting a set of results from the ranked list of results and returning the set of results to the client.
-
Specification