Method and System for Correcting Error Addresses Based on Seed Addresses
Through the matching of seed addresses with the address library and the comparison of geographical location and longitude, the wrong addresses can be quickly identified and corrected, which solves the efficient repair of wrong addresses in the address library and ensures the accuracy of address resolution.
Patent Information
- Application Number
- CN202111130623.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-26
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2041-09-26
AI Technical Summary
There are a large number of wrong addresses in the existing address library, resulting in address resolution errors. The repair process of traditional methods is slow and difficult to ensure efficient accuracy.
By matching the seed address with the address in the address library, using the preset word segmentation structure to split administrative divisions and door address fields, combining geographical location and latitude and longitude comparison, we can identify and correct the wrong address.
It realizes the rapid and accurate identification and correction of error addresses in massive address databases, improves the data accuracy of address databases, and is efficient and fast in correction process.
Smart Images

Figure CN113987093B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and particularly to a method and system for correcting incorrect addresses based on seed addresses. Background Art
[0002] With the rapid development of the Internet, the application of address longitude and latitude parsing has penetrated into various industries such as military, economy, ecology, planning, transportation, electric power, water conservancy, and logistics. The accuracy requirements for address parsing longitude and latitude are also getting higher and higher. Currently, the main parsing means rely on a huge address database. However, due to the complexity of place names and address systems in each province and city, and the existence of reasons such as users filling in addresses irregularly, the address database will store multiple address data with similar writing styles for the same address. As a result, if the point of interest (POI) corresponding to the address changes, or the longitude and latitude corresponding to the address itself are incorrect, a batch of addresses will be incorrect at the same time. If all are corrected manually, the amount of data to be processed is too large, and it is also easy to cause omissions or errors, resulting in the situation of address parsing errors caused by some incorrect data.
[0003] For the above problems, the traditional method is to continuously add new correct addresses to the address database, thereby reducing the proportion of incorrect addresses in the address database and gradually improving the correct rate of address parsing. However, the disadvantage is that the repair process is very slow. Before the proportion of correct addresses reaches a certain proportion, parsing errors will continue to occur. Secondly, even when the correct rate is high enough, there will still be a small probability of parsing errors.
[0004] Therefore, there is an urgent need for a method to correct incorrect addresses. Summary of the Invention
[0005] The present invention provides a method and system for correcting incorrect addresses based on seed addresses, and its main purpose is to quickly and accurately identify incorrect addresses in the address database and correct the incorrect addresses.
[0006] In a first aspect, an embodiment of the present invention provides a method for correcting incorrect addresses based on seed addresses, including:
[0007] Matching the seed address with addresses in the address database to obtain at least one target address;
[0008] Comparing the geographical location and longitude and latitude between the target address and the seed address, determining whether the target address is incorrect, and correcting the incorrect address according to the seed address.
[0009] Preferably, the matching the seed address with addresses in the address database includes:
[0010] Splitting the seed address according to a preset word segmentation structure to obtain an administrative division field and a door address field;
[0011] Match the addresses in the address library with the administrative division fields to obtain a number of candidate addresses, and then match the candidate addresses with the door address fields.
[0012] Preferably, the matching of the addresses in the address library with the administrative division fields to obtain a number of candidate addresses includes:
[0013] Match the addresses in the address library that have at least two levels of fields the same as the administrative division fields;
[0014] Score the administrative division fields contained in the matched addresses, and select the addresses with scores greater than the first preset threshold as the candidate addresses.
[0015] Preferably, the scoring of the administrative division fields contained in the matched addresses includes:
[0016] Perform weighted scoring according to the integrity of each level of the administrative division, the integrity of the administrative division suffix, the uniqueness of the administrative division fields, and the text distance between each level of the administrative division.
[0017] Preferably, before scoring the administrative division fields contained in the matched addresses, it further includes:
[0018] Judge whether there is an upper level in the last level of the administrative division of the matched addresses. If not, delete the administrative division field of this last level in the address.
[0019] Preferably, after matching the candidate addresses with the door address fields, it further includes:
[0020] For the candidate addresses with successful matching, perform weighted scoring on the integrity of the door address fields they contain, and select the candidate addresses with scores greater than the second preset threshold as the target addresses.
[0021] Preferably, the comparison of the geographical location and longitude and latitude between the target address and the seed address to determine whether the target address is incorrect includes:
[0022] Compare the distance between the geographical locations of the corresponding levels of the door address fields in the seed address and the target address, and whether it matches the distance between the longitudes and latitudes of the two addresses. If not, it is determined as an incorrect address.
[0023] In a second aspect, an embodiment of the present invention provides a system for correcting incorrect addresses based on a seed address, including:
[0024] A matching module, configured to match the seed address with the addresses in the address library to obtain at least one target address;
[0025] A correction module is used to compare the geographical location and longitude and latitude between the target address and the seed address, determine whether the target address is incorrect, and correct the incorrect address according to the seed address.
[0026] In a third aspect, an embodiment of the present invention provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the method for correcting an incorrect address based on a seed address are implemented.
[0027] In a fourth aspect, an embodiment of the present invention provides a computer storage medium. The computer storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method for correcting an incorrect address based on a seed address are implemented.
[0028] The method and system for correcting an incorrect address based on a seed address proposed by the present invention use the seed address as a reference benchmark to search for addresses in the address library, search for target addresses in the address library that represent the same location as the seed address, and then determine whether the target address is incorrect according to the deviation between the geographical location and longitude and latitude of the target address and the seed address. If it is incorrect, the target address is corrected. Embodiments of the present invention can quickly and accurately identify incorrect addresses in a large-scale address library and automatically correct the incorrect addresses. Compared with traditional methods, it is easier to ensure the accuracy of address data in the address library, and the correction process is fast and efficient, and it is very suitable even for an address library with a large amount of data. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Figure 1 FIG. is an application scenario diagram of a method for correcting an incorrect address based on a seed address provided by an embodiment of the present invention;
[0030] Figure 2 FIG. is a flowchart of a method for correcting an incorrect address based on a seed address provided by an embodiment of the present invention;
[0031] Figure 3 FIG. is a schematic structural diagram of a system for correcting an incorrect address based on a seed address provided by an embodiment of the present invention;
[0032] Figure 4 FIG. is a schematic structural diagram of a computer device provided in an embodiment of the present invention;
[0033] The implementation, functional features, and advantages of the object of the present invention will be further described with reference to the embodiments and the accompanying drawings. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0034] It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0035] Figure 1 This is a scenario diagram of a method for correcting an incorrect address based on a seed address provided by an embodiment of the present invention. As Figure 1 shown, the user enters the seed address in the client, and the client sends the seed address to the server. After receiving the seed address, the server executes the method for correcting an incorrect address based on the seed address to correct the incorrect address in the address library.
[0036] It should be noted that the server can be implemented by an independent server or a server cluster composed of multiple servers. The client can be a smart phone, a tablet computer, a notebook computer, a desktop computer, etc., but is not limited thereto. The client and the server can be connected through Bluetooth, USB (Universal Serial Bus), or other communication connection methods, and the embodiments of the present invention do not limit this here.
[0037] Figure 2 This is a flowchart of a method for correcting an incorrect address based on a seed address provided by an embodiment of the present invention. As Figure 2 shown, the method includes:
[0038] S1. Match the seed address with the addresses in the address library to obtain at least one target address;
[0039] In an embodiment of the present invention, the seed address is an address corrected manually, that is, an address with complete and correct administrative division, door address information, and longitude and latitude information. In an embodiment of the present invention, taking this seed address as a reference benchmark, search and match in the address library to find a target address whose text description is the same destination as the seed address.
[0040] The address library is a database storing a large number of addresses. Some of the addresses in the address library are correct and some are incorrect. The purpose of the embodiments of the present invention is to quickly and accurately find the incorrect addresses in the address library and correct the incorrect addresses.
[0041] Specifically, the process of matching the seed address with the addresses in the address library specifically includes, that is, step S1 specifically includes:
[0042] S11. Split the seed address according to a preset word segmentation structure to obtain an administrative division segment field and a door address field;
[0043] Specifically, in order to quickly match the seed address with the addresses in the address library, it is necessary to split the seed address to obtain the administrative division field and the door address field.
[0044] First, perform administrative division splitting and parsing on the seed address. In this embodiment, the preset word segmentation structure used for administrative division parsing and splitting is an administrative division table constructed according to the standards of the National Bureau of Statistics, which includes the administrative division structures at all levels of provinces, municipalities, districts, and towns across the country. Through this preset word segmentation structure, the full names of administrative divisions at all levels in the address and the main name after removing the administrative division suffix are split. The so-called administrative division suffix refers to the fields such as "province", "municipality", "district", "county", "street", and "town". For example, for an address "Hongyuan Building, Jiuxianqiao Street, Chaoyang District, Beijing", for the administrative division field of "Beijing", the full name of the administrative division "Beijing" and the main name after removing the administrative division suffix "Beijing" will be split; for the administrative division field of "Chaoyang District", the full name of the administrative division "Chaoyang District" and the main name after removing the administrative division suffix "Chaoyang" will be split; for the administrative division field of "Jiuxianqiao Street", the full name of the administrative division "Jiuxianqiao Street" and the main name after removing the administrative division suffix "Jiuxianqiao" will be split. The purpose of adopting such a splitting method in the embodiment of the present invention is that there may be differences between the suffix names of the provincial, municipal, district, and town names written by users during the address writing process and the suffix names of the national standards. For example, for a county-level city, users often write XX County, which is equivalent to XX City in this solution, or XX Street, and users write XX Town. Therefore, both the full names of administrative divisions at all levels in the address (main name + administrative division suffix) and the main name (after removing the administrative division suffix) are split to identify whether the user's suffix is miswritten, and it can also avoid information omission.
[0045] In addition, when the administrative division parsing and splitting adopt the above preset word segmentation structure, some interference factors will also be filtered according to the administrative division suffix. For example, if a seed address contains the field "Chaoyang Garden", during the splitting process, since the "Chaoyang" field in it is the same as the main name part in the administrative division level of "Chaoyang District", however, by judging that the suffix of "Chaoyang" in "Chaoyang Garden" is "Garden", not the administrative division suffix of "district", so this field is filtered and not used as an administrative division field.
[0046] Secondly, after the seed address is subjected to administrative division splitting and parsing, the field information remaining outside the administrative division fields at all levels of the seed address is the door address field. Among them, the administrative division field refers to the address corresponding to the four parts of province, municipality, district, and town, and the door address field refers to the detailed address such as road number, house number, or building number.
[0047] S12. Match the addresses in the address library with the administrative division fields to obtain a number of candidate addresses;
[0048] When performing matching, the addresses in the address library are matched with the administrative division fields. In the embodiments of the present invention, the KMP algorithm is used for matching to obtain several matching addresses. The administrative division fields of the matched addresses and the seed address are the same in at least two hierarchical fields. That is to say, at least two of the hierarchical addresses corresponding to the "province", "city", "district", and "town" of the matched address and the seed address are the same. It can be the same province and the same city, or the same province and the same district, or the same city and the same district. As long as at least two administrative division hierarchical fields are the same, then it can be used as a matching address. For example, a seed address "Hongyuan Building, Jiuxianqiao Street, Chaoyang District, Beijing", by matching it with the addresses in the address library, the following will be matched: a. Building A, Hongyuan Building, Jiuxianqiao Street, Chaoyang District, Beijing; b. Jialin Garden, Jiuxianqiao Street, Beijing; c. Side Park, Jiuxianqiao Street, Chaoyang District, Beijing. Each of the three addresses a, b, and c has at least two administrative division hierarchical fields the same as the seed address.
[0049] In this matching step, only the part of the province, city, district, and town levels will be matched, and the address content after the town, that is, the door address field, will not be matched. And it is not necessarily required that all levels of the province, city, district, and town are successfully matched, but at least two levels of content should be included.
[0050] After obtaining the matching addresses, further, the candidate addresses obtained by matching are corrected. Specifically, when in the matched address, there is no upper level in the last level of the administrative division, then the administrative division field of the last level in the address is deleted.
[0051] For example, if an address matched from the address library is "Xixiang Street, Jiuxianqiao Street, Chaoyang District, Beijing", the administrative division field of the last level in this address is "Xixiang Street", but "Xixiang Street" and the upper level "Jiuxianqiao Street" are not in a hierarchical relationship. Therefore, the superior relationship of Xixiang Street cannot be found in this address, and then the field "Xixiang Street" in this address is deleted and the address is still retained.
[0052] Furthermore, after matching the addresses from the address library with at least two hierarchical fields of the administrative division fields of the seed address, the administrative division fields of the matched addresses are scored, and the addresses with scores greater than the first preset threshold are selected as candidate addresses. The scoring basis is specifically: gradually perform weighted scoring according to the integrity of each level of the administrative division, the integrity of the administrative division suffix, the uniqueness of the administrative division field, and the text distance between each level of the administrative division.
[0053] Among them, the scoring rules for the integrity of each level of administrative divisions are as follows: The weight scores are gradually increased according to the completeness of the fields at each level of province, city, district, and town. If the fields at each level of province, city, district, and town in the matched address are more complete, the corresponding score is higher. In the embodiments of the present invention, the weight corresponding to the province is 1000 points, the weight corresponding to the city is 1000 points, the weight corresponding to the district is 800 points, the weight corresponding to the town is 500 points, and the weight corresponding to the municipality directly under the Central Government is 800 points. For example, for an address containing administrative division fields "Beijing City, Chaoyang District, Jiuxianqiao Street", since all levels of fields of province, city, district, and town are included in this address, the integrity weight score corresponding to this address is 1000 + 1000 + 800 + 500.
[0054] In addition, the scoring rules for the integrity of administrative division suffixes are as follows: The presence or absence of province, city, district, and town suffixes and whether they are aliases are weighted. Among them, when the administrative division suffix names of province, city, district, and town are complete, the weighting coefficient is 1; when there is no administrative division suffix name of province, city, district, and town, the weighting coefficient is 0.6; when there is an alias of the administrative division suffix name of province, city, district, and town, the weighting coefficient is 0.75.
[0055] For example, for "Beijing City", since the suffix name "City" is complete, its weighting coefficient is 1; for "Beijing", since there is no corresponding suffix name for "City", its weighting coefficient is 0.6; for "Jiuxianqiao Street" written as "Jiuxianqiao Town", "Jiuxianqiao Town" is an alias of "Jiuxianqiao Street", and its corresponding weighting coefficient is 0.75.
[0056] Furthermore, the scoring rules for the uniqueness of administrative division fields are as follows: When there is a unique name in the country in the name of the main administrative division, the weight coefficient can be increased because it is a unique name in the country and has a high recognition degree. Among them, for the unique administrative division field corresponding to "City", the weight coefficient is 3; for the unique administrative division field corresponding to "District", the weight coefficient is 2; for the unique administrative division field corresponding to "Town", the weight coefficient is 2.
[0057] When there are multiple identical administrative division names in the country in the name of the main administrative division, the weight scores will be set according to the corresponding number of repetitions, that is: For the "City" level administrative division, the calculation formula for its weight coefficient is (10 - the number of city name repetitions - the number of district name repetitions) / 10; for the "District" level administrative division, the calculation formula for its weight coefficient is (10 - the number of district name repetitions) / 10; for the "Town" level administrative division, the calculation formula for its weight coefficient is (10 - the number of town name repetitions) / 10. The more the number of name repetitions, the lower the weight, until the minimum of 0 points.
[0058] For example, an address includes "Datong District, Daqing City, Heilongjiang Province". The district-level administrative division "Datong District" has the same main name as "Datong City" in "Datong City, Shanxi Province". Then, the number of duplicate names at the city level is 1. Therefore, the weight score of this address at the district level is calculated as (10 - 1) / 10.
[0059] Finally, the scoring rules for the text distance between each level of the administrative division are as follows: Calculate the number of characters between the administrative name at the current level and the administrative name at the previous level to perform weight scoring. When the distance is 0, the weight coefficient is 1.2; when the distance is greater than or equal to 1, the weight coefficient is: - the number of characters in the distance interval * 10.
[0060] For example, an address includes "Chaoyang District, Beijing". The number of characters between the "Chaoyang District" level and the "Beijing" level is 0. Then the weight coefficient of this address is 1.2; an address is written as "Beijing aaaaaa Chaoyang District". The number of characters between the "Chaoyang District" level and "Beijing" is 4, and its corresponding weight coefficient is -4 * 10.
[0061] Weighted scoring is performed on the matched addresses according to the above aspects, and the addresses with scores greater than the first preset threshold are selected as candidate addresses. Specifically, the first preset threshold can be determined according to the actual situation, and no specific limitation is made in the embodiments of the present invention.
[0062] S13. After obtaining the candidate addresses, match the candidate addresses with the door address fields in the seed addresses;
[0063] Specifically, first use the Boolean model to calculate the similarity match between the candidate addresses and the door address fields in the seed addresses.
[0064] The specific calculation formula is as follows:
[0065] score(q,d)=coord(q,d)·queryNorm(q)·∑(tf(t in d)·idf(t) 2 ·t.qetBoost().norm(t,d)),
[0066] Among them, coord(q, d) represents the scoring factor, and the matching degree of the document is calculated based on the number of query items appearing in the document. Among them, the query items are the keyword of each level of the address;
[0067] queryNorm(q) represents the standard query;
[0068] tf(tind) refers to the number of times the item t appears in the document d, and the specific value is the square root of the number of times;
[0069] idf(t) represents the inverse document frequency, that is, the number of documents in which the item t appears;
[0070] t.getBoost represents the weighting of query terms during querying;
[0071] norm(t,d) is a length-related weighting factor.
[0072] After calculation through this Boolean model, candidate addresses with a relatively high similarity to the door address field in the seed address can be obtained.
[0073] Furthermore, in order to make the matching degree between the candidate addresses that match successfully and the seed address more accurate, based on the candidate addresses that match successfully, the integrity in the door address fields they contain is weighted and scored, and the candidate addresses with a score greater than the second threshold are selected as the target addresses.
[0074] Specifically, first, specific feature words such as the road number, house number, and road name in the door address field of the candidate address are extracted, and then weighted according to the feature words. In this embodiment, the weighting rules are specifically as follows: the road number is 15 points, the road name is 6 points, POI + house number is 8 points, the pure POI name is 7 points, and road + road is 15 points.
[0075] After matching with the administrative division field and the door address field of the seed address and screening to obtain the target address, step S2 is executed to judge and process whether there is an error in the target address.
[0076] S2. Compare the geographical location and longitude and latitude between the target address and the seed address, determine whether the target address is incorrect, and correct the incorrect address according to the seed address.
[0077] Specifically, the actual geographical location of the seed address or the target address is obtained respectively according to the road number or house number of the seed address or the target address, etc., and then the difference between the actual geographical location of the seed address and the actual geographical location of the target address, as well as the difference between the longitude and latitude of the seed address and the longitude and latitude of the target address, are judged doubly to determine whether the target address is incorrect. If so, the target address is corrected referring to the seed address.
[0078] For example, the road number in the door address field of the seed address is "No. 15 Renmin Road", and the longitude and latitude is A. Among them, the road number in the door address field of the target address is "No. 16 Renmin Road", and the longitude and latitude is B. The difference in the geographical location located by the road numbers of the two can be judged to be in the same area, and the difference in their actual geographical locations is 30 meters, but the difference in their longitude and latitude is 500 meters, which indicates that the longitude and latitude of the target address need to be corrected. The judgment of the specific interval distance is calculated based on the average interval distance of detailed address information such as road numbers or house numbers.
[0079] The method for correcting incorrect addresses based on a seed address proposed by the present invention uses the seed address as a reference benchmark to search for addresses in an address database, and finds target addresses in the address database that represent the same location as the seed address. Then, based on the deviation between the geographical locations and latitudes and longitudes of the target address and the seed address, it is determined whether the target address is incorrect. If it is incorrect, the target address is corrected. Embodiments of the present invention can quickly and accurately identify incorrect addresses in a massive address database, and automatically correct the incorrect addresses. Compared with traditional methods, it is easier to ensure the accuracy of the address data in the address database, and the correction process is fast and efficient, and it is very applicable even for an address database with massive data.
[0080] Figure 3 FIG. is a schematic structural diagram of a system for correcting incorrect addresses based on a seed address provided by an embodiment of the present invention. As Figure 3 shown, the system includes a matching module 310 and a correction module 320, where:
[0081] The matching module 310 is used to match the seed address with the addresses in the address database to obtain at least one target address;
[0082] The correction module 320 is used to compare the geographical location and latitude and longitude between the target address and the seed address, determine whether the target address is incorrect, and correct the incorrect address according to the seed address.
[0083] Based on the above embodiments, preferably, the matching module includes a splitting unit and a matching unit, where:
[0084] The splitting unit is used to split the seed address according to a preset word segmentation structure to obtain an administrative division field and a door address field;
[0085] The matching unit is used to match the addresses in the address database with the administrative division field to obtain several candidate addresses, and then match the candidate addresses with the door address field.
[0086] Based on the above embodiments, preferably, the matching unit includes a hierarchical matching subunit and a scoring subunit, where:
[0087] The hierarchical matching subunit is used to match addresses in the address database that have at least two levels of fields the same as the administrative division field;
[0088] The scoring subunit is used to score the administrative division fields contained in the matched addresses, and select the addresses with a score greater than a first preset threshold as the candidate addresses.
[0089] Based on the above embodiments, preferably, in the scoring sub-unit, scoring the administrative division fields included in the matched address includes:
[0090] Performing weighted scoring according to the integrity of each level of the administrative division, the integrity of the administrative division suffix, the uniqueness of the administrative division field, and the text distance between each level of the administrative division.
[0091] Based on the above embodiments, preferably, the matching module further includes a pre-judgment unit, wherein the pre-judgment unit is further configured to determine whether there is an upper level in the last level of the administrative division of the matched address. If not, the administrative division field of the last level in the address is deleted.
[0092] Based on the above embodiments, preferably, the matching unit further includes a candidate sub-unit, wherein the candidate sub-unit is configured to perform weighted scoring on the integrity of the door address fields included in the candidate addresses that match successfully, and select the candidate addresses with a score greater than the second preset threshold as the target addresses.
[0093] Based on the above embodiments, preferably, in the correction module, comparing the geographical location and longitude and latitude between the target address and the seed address to determine whether the target address is incorrect includes:
[0094] Comparing the distance between the geographical locations of the corresponding-level door address fields in the seed address and the target address, and whether it matches the distance between the longitudes and latitudes of the two addresses. If they do not match, it is determined as an incorrect address.
[0095] Each module in the above system for correcting incorrect addresses based on seed addresses can be implemented in whole or in part by software, hardware, and their combination. The above modules can be embedded in the processor of the computer device in hardware form or independent of it, or stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to the above modules.
[0096] This embodiment is a system embodiment corresponding to the above method embodiment. The specific implementation process is the same as that of the above method embodiment. For details, please refer to the above method embodiment. This system embodiment will not be elaborated here.
[0097] Figure 4 It is a schematic structural diagram of a computer device provided in an embodiment of the present invention. The computer device can be a server, and its internal structure diagram can be as Figure 4As shown. The computer device includes a processor, a memory, a network interface, and a database connected via a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a computer storage medium and an internal memory. The computer storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the computer storage medium. The database of the computer device is used to store the data generated or obtained during the process of executing the method for correcting an incorrect address based on a seed address, such as a seed address, an address library, a target address, etc. The network interface of the computer device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, it implements a method for correcting an incorrect address based on a seed address.
[0098] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, it implements the steps of the method for correcting an incorrect address based on a seed address in the above embodiment. Alternatively, when the processor executes the computer program, it implements the functions of each module / unit in the embodiment of the system for correcting an incorrect address based on a seed address.
[0099] In one embodiment, a computer storage medium is provided. A computer program is stored on the computer storage medium. When the computer program is executed by the processor, it implements the steps of the method for correcting an incorrect address based on a seed address in the above embodiment. Alternatively, when the computer program is executed by the processor, it implements the functions of each module / unit in the above embodiment of the system for correcting an incorrect address based on a seed address.
[0100] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, storage, database, or other medium used in the various embodiments provided in this application can include non-volatile and / or volatile memories. Non-volatile memories can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memories can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM), etc.
[0101] Those skilled in the art can clearly understand that, for the convenience and simplicity of description, only the above division of each functional unit and module is used as an example. In actual applications, the above functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.
[0102] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be included in the protection scope of the present invention.
Claims
1. A method for correcting an erroneous address based on a seed address, characterized in that: include: Match the seed address with the addresses in the address database to obtain at least one target address; The matching of the seed address with the address in the address database includes splitting the seed address according to a preset word segmentation structure to obtain an administrative division field and a gate address field; matching the address in the address database with the administrative division field to obtain a plurality of candidate addresses; and then matching the candidate addresses with the gate address field; Compare the geographical location and longitude and latitude between the target address and the seed address to determine whether the target address is wrong, and correct the longitude and latitude of the wrong address according to the seed address; the comparison of the geographical location and longitude and latitude between the target address and the seed address to determine whether the target address is wrong includes comparing the actual geographical location difference between the geographical location of the gate address field of the corresponding level in the seed address and the target address, and whether it matches the distance between the longitude and latitude of the two addresses. If they do not match, it is determined to be an wrong address, and the actual geographical location difference is calculated based on the average interval distance of the road number or house number in the address information.
2. The method for correcting an erroneous address based on a seed address according to claim 1, characterized in that: The address in the address database is matched with the administrative division field to obtain several candidate addresses, including: Matching an address from the address database that is identical to at least two levels of the administrative division field; The administrative division fields contained in the matched addresses are scored, and addresses with scores greater than a first preset threshold are selected as the candidate addresses.
3. The method for correcting an erroneous address based on a seed address according to claim 2, wherein: The scoring of the administrative division field contained in the matched address includes: Weighted scoring is performed based on the completeness of each level of administrative divisions, the completeness of the administrative division suffixes, the uniqueness of the administrative division fields, and the text distance between each level of administrative divisions.
4. The method for correcting an erroneous address based on a seed address according to claim 2, wherein: Before scoring the administrative division field contained in the matched address, the following steps are also included: Determine whether the last level of the administrative division in the matched address has a previous level. If not, delete the last level administrative division field in the address.
5. The method for correcting an erroneous address based on a seed address according to claim 1, wherein: After matching the candidate address with the gate address field, the method further includes: For the successfully matched candidate addresses, a weighted score is performed on the integrity of the portal address field contained therein, and the candidate address with a score greater than a second preset threshold is selected as the target address.
6. A system for correcting an erroneous address based on a seed address, the system being used to implement the steps of the method for correcting an erroneous address based on a seed address according to any one of claims 1 to 5, characterized in that: include: A matching module, used to match the seed address with the addresses in the address library to obtain at least one target address; The correction module is used to compare the geographical location and longitude and latitude between the target address and the seed address, determine whether the target address is wrong, and correct the wrong address according to the seed address.
7. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the method for correcting an erroneous address based on a seed address according to any one of claims 1 to 5 are implemented.
8. A computer storage medium storing a computer program, wherein: When the computer program is executed by a processor, the steps of the method for correcting an erroneous address based on a seed address as claimed in any one of claims 1 to 5 are implemented.
Citation Information
Patent Citations
Point-of-interest data error type positioning and repeated recognition method and device
CN107368480A
Address matching method and device
CN111950280A