An automated arrangement for parsing location descriptions is provided in which semantic verification is integrated into a parsing process to reduce the generation of false results. The semantic verification involves checking up to three semantic relationships between keywords (i.e., syntactical components) parsed from the location description in a tokenization process to determine if a tokenization result is valid. The semantic relationships include: a) a spatial “part-of” relationship between location keywords; b) a spatial “near-by” relationship; and, c) a spatial “intersect” relationship. The semantic relationships between particular locations may be pre-calculated and stored as extended vocabulary to enable the semantic verification to occur early in the parsing process to thus increase overall parsing efficiency. The results of the parsing are sorted based on a rank score that is derived using the semantic relationships between the locations.
|
1. A method performed on a computing device, the method comprising:
extracting, based on grammatical rules, location keywords from a location description; and
checking for a semantic relationship among the extracted location keywords to derive a valid semantic meaning of the location description, the checking configured for further deriving:
a) a spatial part-of relationship between two locations represented by the location keywords extracted from the location description, where a first of the two locations as indicated by a first of the extracted location keywords is a part of a second of the two locations as indicated by a second of the extracted location keywords,
b) a spatial near-by relationship between the two locations represented by the location keywords extracted from the location description, where the first of the two locations as indicated by the first of the extracted location keywords is located proximate to the second of the two locations as indicated by the second of the extracted location keywords, and
c) a spatial intersects relationship between the two locations represented by the location keywords extracted from the location description, where the first of the two locations as indicated by the first of the extracted location keywords intersects the second of the two locations as indicated by the second of the extracted location keywords.
8. A system comprising at least one computing device and at least one module that are together configured for performing actions comprising:
extracting, based on grammatical rules, location keywords from a location description; and
checking for a semantic relationship among the extracted location keywords to derive a valid semantic meaning of the location description, the checking configured for further deriving:
a) a spatial part-of relationship between two locations represented by the location keywords extracted from the location description, where a first of the two locations as indicated by a first of the extracted location keywords is a part of a second of the two locations as indicated by a second of the extracted location keywords,
b) a spatial near-by relationship between the two locations represented by the location keywords extracted from the location description, where the first of the two locations as indicated by the first of the extracted location keywords is located proximate to the second of the two locations as indicated by the second of the extracted location keywords, and
c) a spatial intersects relationship between the two locations represented by the location keywords extracted from the location description, where the first of the two locations as indicated by the first of the extracted location keywords intersects the second of the two locations as indicated by the second of the extracted location keywords.
15. At least one computer storage device storing modules that, when utilized by a computing device, cause the computing device to perform actions comprising:
extracting, based on grammatical rules, location keywords from a location description; and
checking for a semantic relationship among the extracted location keywords to derive a valid semantic meaning of the location description, the checking configured for further deriving:
a) a spatial part-of relationship between two locations represented by the location keywords extracted from the location description, where a first of the two locations as indicated by a first of the extracted location keywords is a part of a second of the two locations as indicated by a second of the extracted location keywords,
b) a spatial near-by relationship between the two locations represented by the location keywords extracted from the location description, where the first of the two locations as indicated by the first of the extracted location keywords is located proximate to the second of the two locations as indicated by the second of the extracted location keywords, and
c) a spatial intersects relationship between the two locations represented by the location keywords extracted from the location description, where the first of the two locations as indicated by the first of the extracted location keywords intersects the second of the two locations as indicated by the second of the extracted location keywords.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
9. The system of
10. The system of
11. The system of
12. The system of
13. The system of
16. The at least one computer storage device of
17. The at least one computer storage device of
18. The at least one computer storage device of
19. The at least one computer storage device of
20. The at least one computer storage device of
|
Location description parsing means to decompose a location description into several syntactical components and is typically performed by applying the grammatical rules by which such a description is composed. Location description parsing is often a key step for on-line services such as mapping and search tools to understand a user query and deliver relevant results for the query.
Location description parsing can often be very difficult because abbreviations for locations are commonly utilized, but there is not always a standardized way to abbreviate and not all users will use the same abbreviation. A location may also have several commonly used aliases that can be more well-known than the official name of the location. And, many different locations often have the same or similar names.
One major drawback of existing parsing systems is that they may produce too many false results for which no real-world meanings exist. Accordingly, in order to obtain a correct result, additional semantic analysis steps are typically applied after the parsing to improve accuracy and reduce the occurrence of false results. Semantic analysis attempts to figure out a sensible meaning for syntactical components through the application of various techniques. But because they represent additional steps, such analysis may often give rise to an efficiency problem and slow the responsiveness of the on-line service to the user's query. The situation is worse for Chinese and other Asian languages, since these languages do not have natural word boundaries, so there are many more possible ways for parsing systems to group a sequence of characters into a sequence of words in these languages as compared to English.
This Background is provided to introduce a brief context for the Summary and Detailed Description that follow. This Background is not intended to be an aid in determining the scope of the claimed subject matter nor be viewed as limiting the claimed subject matter to implementations that solve any or all of the disadvantages or problems presented above.
An automated arrangement for parsing location descriptions is provided in which semantic verification is integrated into a parsing process to reduce the generation of false results. The semantic verification involves checking up to three semantic relationships between keywords (i.e., syntactical components) parsed from the location description in a tokenization process to determine if a tokenization result is valid. The semantic relationships include: a) a spatial “part-of” relationship between location keywords; b) a spatial “near-by” relationship; and, c) a spatial “intersect” relationship. Thus, for example, if keywords in a location description include a street name and a city name, then the street would be expected to be “part of,” the city for the location description to make reasonable sense. The semantic verification will check a semantic relationship module to determine whether the street is actually within the spatial (e.g., geographic) boundary of the city. Similarly, two streets can be checked to verify whether they intersect, and a point-of-interest can be checked to determine if it is near a landmark, for example.
The semantic relationships between particular locations (such as streets, cities, states, points-of-interest, neighborhoods, landmarks, etc.) may be pre-calculated and then added as attributes to extend the location vocabulary used by the parsing process. The pre-calculation enables the semantic verification to occur early in the parsing process to thus increase overall parsing efficiency. The results of the parsing are sorted based on a rank score that is derived using the semantic relationships between the locations. In various illustrative examples, the present semantic relationship-based location description parsing is utilized in applications respectively involving geocoding, location detection, and local search.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Like reference numerals indicate like elements in the drawings.
The on-line search service 125 includes a search engine 137 with which the users 105 will typically interact using a browser functionality, for example a mobile browser 142 running on the mobile device 1121, or a web browser 146 running on the PC 112N. In alternative implementations, a user 105 may interface with the search engine 137 through, for example, a desktop search application or another application that is configured to interface with a search engine API (application programming interface).
The search engine 137 is typically configured to crawl resources located on the Web such as Web servers 150 in order to compile an ongoing index of Web addresses (i.e., URLs—Uniform Resource Locators) and analyze content contained in the pages at those addresses which it can index and store in a database. When a user 105 submits a query through a browser to the search engine 137, the search engine will typically compare it with the information in its index and report back any matches.
The syntactic process 220 will typically combine several known methods shown in
The location description 211 from a user 105 can be formed irregularly and not always adhere to strict syntactical rules. Therefore, the results 224 are typically subjected to some form of semantic analysis 251 so that the location description makes reasonable sense. Application of the semantic analysis 251 can often reduce false results but involves additional processing and other resources which can make the on-line search inefficient and/or time-consuming which may undesirably reduce the quality of the user experience provided by the service.
By comparison to the parsing system 202, the semantic relationship-based location description parsing system 300 in
The parsing system 300 may be utilized, for example, by the on-line search service 125 to take an arbitrarily formed location description 316 from a user 105 and output results 318 that have real-world meanings.
The parsing system 300 will be further described using a specific illustrative scenario which involves a description from a user 105 of a location in New York City. The user 105 enters the following string in the web browser 146 as a location description:
As shown in
The location vocabulary module 310 (
Semantic verification 332 (
The method 302 continues with tokenization results pruning 340. As shown in
As shown in
Referring again to
WeightofIntersection×B(intersects(‘Lincoln’, ‘NE 30th’))×U(‘Lincoln blvd’)×U(‘NE 30th st’)×U(‘New York City’)
where U( ) returns the linguistic probability of a location keyword when it stands alone (i.e., a “uni-gram”), and B( ) returns the linguistic probability of two location keywords when they stand together (i.e., a “bi-gram”).
Each parsing result produced by the system 300 may then be ranked and sorted, as respectively indicated by reference numerals 353 and 367 according to their semantic score.
Turning now to
The geocoding system 900 receives a geo-query 905 from the user 105 and then typically calculates latitude and longitude coordinates 921 to be able to map a location that is parsed from the geo-query. In some cases, a polygon (e.g., a zip code, lot, census track, tax block, city block, neighborhood, city or state boundary, etc.) may be calculated that is associated with the parsed location.
The present parsing system 300 may be utilized in a geocoding application by parsing the geo-query for location keywords 1020, as shown in the table 1014 in
As the latitude and longitude or polygon semantically related to a location keyword can be pre-calculated and stored as attributes in the vocabulary provided by the semantic relationship module 313, the geocoding system 900 may quickly and efficiently return semantically sensible results responsively to a user's geo-query 905. This feature can be expected to help increase the overall map search query volume in some cases.
In
The parsing system 300 may be utilized in the location detection system 1100 to output the location words 1122 and associated semantic relationship attributes 1130 that can then be used by various content crawling, analysis, and/or data mining tools 1137 when collecting data, for example, from the web-based resources 121. Because the results of the parsing system 300 are semantically sensible, the ability of the tools 1137 to derive more meaning from the parsed results is enhanced to thereby enable richer and more comprehensive location detection services to be provided to the users.
In
The application examples shown in
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Li, Jin, Yang, Guang, Qian, Zhenyu, Peng, Shuang
Patent | Priority | Assignee | Title |
10955255, | Feb 15 2017 | Telenav, Inc. | Navigation system with location based parser mechanism and method of operation thereof |
Patent | Priority | Assignee | Title |
6138085, | Jul 31 1997 | Microsoft Technology Licensing, LLC | Inferring semantic relations |
20020138479, | |||
20030225725, | |||
20030226131, | |||
20040138817, | |||
20050108213, | |||
20060022048, | |||
20070011150, | |||
20070015119, | |||
20090132468, | |||
20090132485, | |||
20090132513, | |||
20090132514, | |||
20090132646, | |||
20090132927, | |||
20090132953, | |||
WO2007027608, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 03 2008 | LI, JIN | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021412 | /0494 | |
Jun 03 2008 | YANG, GUANG | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021412 | /0494 | |
Jun 03 2008 | PENG, SHUANG | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021412 | /0494 | |
Jun 03 2008 | QIAN, ZHENYU | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021412 | /0494 | |
Jun 04 2008 | Microsoft Corporation | (assignment on the face of the patent) | / | |||
Oct 14 2014 | Microsoft Corporation | Microsoft Technology Licensing, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034564 | /0001 |
Date | Maintenance Fee Events |
Sep 14 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jun 23 2021 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Mar 25 2017 | 4 years fee payment window open |
Sep 25 2017 | 6 months grace period start (w surcharge) |
Mar 25 2018 | patent expiry (for year 4) |
Mar 25 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 25 2021 | 8 years fee payment window open |
Sep 25 2021 | 6 months grace period start (w surcharge) |
Mar 25 2022 | patent expiry (for year 8) |
Mar 25 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 25 2025 | 12 years fee payment window open |
Sep 25 2025 | 6 months grace period start (w surcharge) |
Mar 25 2026 | patent expiry (for year 12) |
Mar 25 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |