Geocoding multi-entity queries

US2016196349A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016196349-A1
Application numberUS-201514591856-A
CountryUS
Kind codeA1
Filing dateJan 7, 2015
Priority dateJan 7, 2015
Publication dateJul 7, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Aspects of the present invention relate to providing search results on a map view for a multi-entity query. A search query submitted by a user may be received. A tile in a map may be identified based on the search query. Valid query patterns for the search query corresponding to entities on the identified tile may be determined. Potential scores for each of the determined valid query patterns may be calculated. Potential scores for the determined valid query patterns may be ordered. Actual scores for a plurality of the determined valid query patterns may be calculated. Results based on the valid query pattern with the highest actual score are returned

First claim

Opening claim text (preview).

The invention claimed is: 1 . One or more computer-storage media storing computer-executable instructions that, when executed by a computing device having a processor, cause the computing device to perform a method of resolving multi-entity geocoding queries, the method comprising: receiving a search query; identifying a tile in a map based on the search query; determining valid query patterns for the search query in the identified tile; calculating a potential score for each of the determined valid query patterns; ordering the potential scores for the determined valid query patterns; calculating actual scores for a plurality of the determined valid query patterns, the potential score of each of the plurality of the determined valid query patterns being greater than a highest actual score; and returning results based on a valid query pattern corresponding to the highest actual score. 2 . The media of claim 1 , wherein the determining valid query patterns comprises: dividing the search query into segments that resolve to two or more entities, wherein the two or more entities are found on the identified tile; and determining that the two or more entities are found on a common sub-tile of the identified tile. 3 . The media of claim 1 , wherein the calculating a potential score comprises: obtaining a static rank, textual factor, and location factor for each entity of each determined valid query pattern; and calculating a potential score for each determined valid query pattern based on the static rank, textual factor, and location factor for each entity of the determined valid query pattern. 4 . The media of claim 1 , wherein the calculating actual scores comprises: determining that a potential score for a plurality of the determined valid query patterns is greater than the highest actual score; and calculating the actual scores for the plurality of the determined valid query patterns based on a collocation of two or more entities of the determined valid query pattern. 5 . The media of claim 1 , wherein the returning results comprises: identifying two or more entities on the tile matching the valid query pattern corresponding to the highest actual score; and highlighting the two or more entities on the map. 6 . The media of claim 1 , wherein the search query comprises at least two non-intersecting streets. 7 . The media of claim 1 , wherein the search query comprises at least two intersecting streets and a business name. 8 . A method of resolving multi-entity geocoding queries, the method comprising: receiving, at a computing device, a search query; identifying a tile in a map based on the search query; enumerating segments of the search query to populate an ordered tree data structure, a node of the ordered tree data structure comprising one or more segments that form the search query; determining that a node of the ordered tree data structure resolves to a valid query pattern; calculating a potential score for the determined valid query pattern; ranking the potential score for the determined valid query pattern against potential scores of other valid query patterns; calculating an actual score for the determined valid query pattern; and returning results corresponding to a highest actual score among the determined valid query pattern and other valid query patterns. 9 . The method of claim 8 , wherein each segment of the search query comprises one or more contiguous terms of the search query, and a node comprises a combination of segments that represents the search query. 10 . The method of claim 8 , wherein the determining that a node of the tree data structure resolves to a valid query pattern comprises: determining that each segment of the node matches at least one entity on the tile; and determining that the matched entities reside in a common sub-tile of the tile. 11 . The method of claim 10 , wherein a presence of an entity on the tile is determined by matching a segment of a node with an entity in an inverted index corresponding to the identified tile. 12 . The method of claim 8 , wherein the calculating a potential score comprises: determining a static rank, textual factor, and location factor for each entity of the determined valid query pattern; and combining the static rank, textual factor, and location factor for each of the entities to obtain a potential score for the determined valid query pattern. 13 . The method of claim 8 , wherein the calculating an actual score comprises: reducing the potential score by a factor determined by a geo-spatial collocation of entities of the determined valid query pattern. 14 . The method of claim 8 , further comprising pruning children nodes of a node of the ordered tree data structure that resolves to an invalid query pattern. 15 . The method of claim 8 , wherein the nodes on a level of the ordered tree data structure are ranked against other nodes on a same level, and an actual score is calculated for a limited number of nodes of the level. 16 . The method of claim 8 , further comprising eliminating at least one entity in a query pattern wherein the at least one entity is an excluded term. 17 . A system for performing multi-entity searching on a map, comprising: a search engine configured to receive a search query; a tile processor configured to: identify a tile in a map based on the search query; and divide the user query into segments that resolve to one or more entities, each entity being associated with the identified tile via an inverted index; a scorer configured to: determine that the one or more entities resolves to a valid query pattern, the one or more entities of the valid query pattern residing in a common sub-tile of the tile, calculate a potential score for the determined valid query pattern using a static rank, textual factor, and location factor of each of the one or more entities of the determined valid query pattern; order the potential score for the determined valid query pattern against potential scores of other valid query patterns; and calculate an actual score for the determined valid query pattern whose potential score exceeds a highest actual score; and a mapper configured to return results based on a valid query pattern corresponding to the highest actual score. 18 . The system of claim 17 , wherein the static rank is based on a population of a city. 19 . The system of claim 17 , wherein the textual factor is an indication of how closely the segment matches the corresponding entity. 20 . The system of claim 17 , wherein location factor is based on the user location.

Assignees

Inventors

Classifications

  • Indexing; Web crawling techniques · CPC title

  • using ranking · CPC title

  • G06F16/29Primary

    Geographical information databases · CPC title

  • Spatial browsing, e.g. 2D maps, 3D or virtual spaces · CPC title

  • G06F16/909Primary

    using geographical or spatial information, e.g. location (spatiotemporally dependent retrieval from the web G06F16/9537) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016196349A1 cover?
Aspects of the present invention relate to providing search results on a map view for a multi-entity query. A search query submitted by a user may be received. A tile in a map may be identified based on the search query. Valid query patterns for the search query corresponding to entities on the identified tile may be determined. Potential scores for each of the determined valid query patterns m…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/29. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jul 07 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).