Geocoding matching method and device, equipment and medium

By generating word frequency vectors using the IK word segmenter and employing the cosine similarity algorithm, combined with high-speed caching technology, the problem of inaccurate matching in traditional geocoding systems when dealing with fuzzy and variant addresses is solved, thus achieving efficient and accurate address matching and location services.

CN121681850APending Publication Date: 2026-03-17TUS CLOUD CONTROL (BEIJING) TECH LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511859621.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-10
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

Traditional geocoding techniques are inaccurate in matching when dealing with ambiguous and variant addresses, especially in cases of synonyms and spelling differences.

Method used

The IK word segmenter is used for address word segmentation to generate word frequency vectors, and the cosine similarity algorithm is used to calculate address similarity. Combined with high-speed caching technology, the matching efficiency is improved.

Benefits of technology

This improves the accuracy and efficiency of geocoding systems in handling synonyms and variant addresses, ensuring efficient address matching and location services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121681850A_ABST
    Figure CN121681850A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to the technical field of geocoding, and discloses a geocoding matching method and device, equipment and a medium. Loading a road name address, and performing word segmentation processing on the road name address by using an IK word segmentation device; calculating the word segmentation word frequency of the road name address, forming a word frequency vector, and storing the word frequency vector of the road name address in a cache; obtaining a to-be-matched geographic address, and performing word segmentation processing on the to-be-matched geographic address by using an IK word segmentation device; calculating word segmentation word frequencies of the geographic addresses to be matched and forming word frequency vectors; traversing the word frequency vector of the road name address in the cache, and calculating a similarity value between the word frequency vector of the geographic address to be matched and the word frequency vector of the road name address by using a cosine similarity algorithm; and according to the similarity value, determining a road name address having the highest similarity with the geographic address to be matched, and outputting corresponding geographic coordinates. The technical problem of inaccurate geocoded word matching can be at least solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of geocoding technology, and in particular, to a geocoding matching method, apparatus, device, and medium. Background Art

[0002] Geocoding is the process of mapping an address name (such as a street name, building name, landmark, etc.) to a geographic coordinate (such as longitude and latitude). Geocoding technology has a wide range of applications in many fields, especially playing a crucial role in Geographic Information System (GIS), map services, location services, navigation systems, etc. Through geocoding, users can conveniently query the geographic location corresponding to an address and obtain more geographic information or perform subsequent analysis and operations based on this location.

[0003] Traditional geocoding systems rely on exact matching of addresses. For example, by entering the complete address name "Yingu Building, No. 9, Beisihuan West Road, Haidian District, Beijing", the system can return its corresponding geographic coordinates: longitude 116.32827, latitude 39.98532 This process is called forward geocoding. Reverse geocoding refers to finding the corresponding address name through geographic coordinates, that is, mapping longitude and latitude back to a specific place name address.

[0004] In modern geographic information systems, geocoding, as a basic capability, is widely used in various services, such as map navigation, traffic flow analysis, traffic signal control, etc. However, traditional geocoding technology still has certain limitations, especially in the case of name expression differences and fuzzy matching. For example, although "KFC" and "肯德基" may be different expressions in different cultural or language environments, they refer to the same brand of fast food restaurant. If geocoding is performed by exact matching, the system is likely to make misjudgments and cannot accurately identify such synonyms or variants. Summary of the Invention

[0005] An object of this application is to provide a geocoding matching method, apparatus, device, and medium, at least to solve the technical problem of inaccurate matching of geocoding terms.

[0006] To achieve the above object, some embodiments of this application provide the following aspects:

[0007] In a first aspect, some embodiments of this application also provide a geocoding matching method, including loading a road name address, performing word segmentation processing on the road name address using an IK word segmenter; calculating the word frequency of the road name address and forming a word frequency vector, storing the word frequency vector of the road name address in a cache; obtaining a geolocation address to be matched, performing word segmentation processing on the geolocation address to be matched using an IK word segmenter; calculating the word frequency of the geolocation address to be matched and forming a word frequency vector; traversing the word frequency vectors of the road name address in the cache, calculating the similarity value between the word frequency vector of the geolocation address to be matched and the word frequency vector of the road name address using a cosine similarity algorithm; determining the road name address with the highest similarity to the geolocation address to be matched based on the similarity value, and outputting the corresponding geolocation coordinates.

[0008] Secondly, some embodiments of this application also provide a geocoding matching device, including an IK word segmentation module for segmenting road name addresses and geographic addresses to be matched; a word frequency calculation module for calculating the word frequencies of the road name address and the geographic address to be matched, and forming a word frequency vector based on the word frequencies; a similarity calculation module for calculating the similarity value between the word frequency vector of the geographic address to be matched and the word frequency vector of the road name address using a cosine similarity algorithm; and a caching module for caching the processed word frequency vector of the road name address.

[0009] Thirdly, some embodiments of this application also provide an electronic device, the electronic device comprising: one or more processors; and a memory storing computer program instructions, which, when executed, cause the processor to perform the steps of the method described above.

[0010] Fourthly, some embodiments of this application also provide a computer-readable medium having computer program instructions stored thereon, which can be executed by a processor to implement the method described above.

[0011] Compared with related technologies, the solution provided in this application addresses the problems of traditional geocoding technology in the address matching process by optimizing word segmentation technology and similarity calculation algorithm, especially when dealing with fuzzy and variant addresses, providing a more efficient and accurate solution. By constructing a professional lexicon and combining it with the cosine similarity algorithm, the geocoding system can not only accurately match common addresses, but also handle addresses containing synonyms, abbreviations, and complex variations, greatly improving the practicality and adaptability of the geocoding system. Attached Figure Description

[0012] One or more embodiments are illustrated by way of example with reference numerals in the accompanying drawings. These illustrations do not constitute a limitation on the embodiments. Elements with the same reference numerals in the drawings are denoted as similar elements. Unless otherwise stated, the figures in the drawings are not to be limited by scale.

[0013] Figure 1 This is a flowchart illustrating a geocoding matching method provided according to an embodiment of this application;

[0014] Figure 2 This is a schematic diagram of a data loading process according to an embodiment of this application;

[0015] Figure 3 This is a schematic diagram of a matching degree calculation process provided according to an embodiment of this application;

[0016] Figure 4 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation

[0017] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0018] First Embodiment

[0019] The first embodiment of this application relates to a geocoding matching method. For example... Figure 1 As shown, the method may include the following steps:

[0020] S101, Load the road name address, use the IK word segmenter to perform word segmentation on the road name address; calculate the word frequency of the road name address and form a word frequency vector, and store the word frequency vector of the road name address in the cache.

[0021] By loading road name addresses and using an IK word segmenter to segment the addresses, the address names are converted into terms with clear semantics, and the frequency of each term in the address is calculated to generate a term frequency vector. This process helps to provide a structured representation of road name addresses and provides basic data for subsequent similarity calculations. Storing the term frequency vectors in a high-speed cache effectively reduces the computational burden of each match, improving the response speed and processing efficiency of subsequent queries. By optimizing data storage methods, the efficiency of the geocoding matching process and the ability to process large-scale data are improved.

[0022] S102, obtain the geographic address to be matched, use the IK word segmenter to perform word segmentation on the geographic address to be matched; calculate the word frequency of the geographic address to be matched and form a word frequency vector.

[0023] The geographic addresses to be matched are segmented into words, breaking them down into meaningful terms and calculating their frequencies. Using the same IK segmenter as the road name addresses ensures consistency and matching accuracy. Furthermore, a word frequency vector is generated for the address to be matched, allowing it to be compared with cached road name addresses in subsequent similarity calculations, providing necessary support for efficient matching. The technical benefit of this step is that it provides standardized and comparable word frequency vector data for subsequent similarity calculations.

[0024] S103, traverse the word frequency vectors of the road name addresses in the cache, and use the cosine similarity algorithm to calculate the similarity value between the word frequency vector of the geographic address to be matched and the word frequency vector of the road name address.

[0025] Using cosine similarity algorithm for similarity calculation can accurately measure the similarity between the address to be matched and each street name address. Cosine similarity is a commonly used vector comparison method that can effectively evaluate the similarity of two addresses in terms of word frequency distribution, avoiding the problems that traditional string matching methods cannot handle, such as synonyms and spelling variations. By traversing the cached street name addresses and calculating the similarity with the address to be matched one by one, the system can quickly identify the street name address most similar to the address to be matched, providing efficient matching results. The technical advantage of this step lies in the quantitative evaluation of addresses through mathematical methods, thereby improving the accuracy and robustness of address matching.

[0026] S104. Based on the similarity value, determine the road name address with the highest similarity to the geographic address to be matched, and output the corresponding geographic coordinates.

[0027] Based on the similarity value calculated using the cosine similarity algorithm, the system can determine the street name address most similar to the address to be matched and return its corresponding geographic coordinates. Since geographic coordinates are the most fundamental location information in a geographic information system, accurately matching addresses and returning coordinates provides users with precise geographic location services. The technical advantage of this step lies in ensuring high accuracy of the matching results through accurate similarity calculation, avoiding misjudgments caused by differences in address representation (such as synonyms, abbreviations, etc.).

[0028] It is not difficult to find that, compared with the related technologies, in the solution provided by the embodiments of the present application, through the combination of word segmentation technology, word frequency vector calculation, cosine similarity algorithm and cache technology, the matching problem of geographical addresses can be efficiently processed. Compared with the traditional geocoding method based on exact matching, this solution can perform effective matching in the case of incomplete or different address name expressions, improving the accuracy and fault tolerance of geocoding. In addition, the use of cache improves the query efficiency and can also maintain high performance in a large-scale geographical address data environment, with good practicability and scalability.

[0029] Second Embodiment

[0030] The second embodiment of the present application relates to a geocoding matching method. The second implementation is an improvement based on the first embodiment. The specific improvement lies in:

[0031] Further, the IK word segmenter adopts fine-grained word segmentation and coarse-grained word segmentation, and the coarse-grained word segmentation is used to perform word segmentation processing on the address to be matched.

[0032] The IK word segmenter is used to perform word segmentation on the address name. Word segmentation is to divide a sentence or an address into keywords and key phrases, and each word or phrase has a complete meaning. According to different word segmentation rules, different granularities of word segmentation can be selected. The IK word segmenter provides two word segmentation algorithms, namely fine-grained and coarse-grained. For example, for "Jinghai 7th Road - Southwest Gate of Dinghaiyuan 2nd Block", the coarse-grained word segmentation result is "Jing, Hai, 7th Road, Dinghai, Yuan, 2nd Block, West, South Gate", and the fine-grained word segmentation result is "Jing, Hai, 7, Road, 7th Road, Dinghai, Yuan, 2nd Block, 2, Block, Southwest, South Gate". To avoid repetition and ambiguity, coarse-grained word segmentation can be used.

[0033] Further, the method further includes: when using the IK word segmenter for word segmentation processing, according to the non-splittable address words defined in the extended word library, perform word segmentation processing on the road name address and the address to be matched.

[0034] For complete names, a custom extended word library is defined. The names defined in the extended word library are non-splittable. For example, for "Jiuzhong Road and Beijing-Lanzhou Line", where "Jiuzhong Road" and "Beijing-Lanzhou Line" are complete road names and are included in the extended word library. In this way, "Jiuzhong Road" and "Beijing-Lanzhou Line" will exist as a whole during word segmentation, and the word segmentation result is "Jiuzhong Road, and, Beijing-Lanzhou Line", otherwise it will be split into "Ji, Zhong, Road, and, Jing, Lan, Line".

[0035] When the service starts, load all road names and address data, and cache the word segmentation results in the cache for convenient call at any time. During the service startup process, the data loading process is as Figure 2As shown, after the system service starts, it enters the data loading process to prepare for processing the road name and address data. It loads the full amount of road name and address data from the data source to provide input data for subsequent word segmentation and word frequency calculation.

[0036] The IK word segmenter is used to segment the loaded road name and address data. The IK word segmenter can segment address names into meaningful word groups based on a pre-defined dictionary. During segmentation, an external dictionary is queried to ensure accurate segmentation of technical terms or special address names, avoiding missegmentation. The segmentation results are then processed to calculate word frequencies, recording the frequency of each word group and forming a word frequency vector. This word frequency vector serves as a crucial feature representation of the address data, providing a foundation for subsequent similarity matching. The calculated word frequency vectors are stored in a cache, which speeds up data retrieval and improves the efficiency of subsequent geocoding matching. The segmentation process interacts with the dictionary in real time to ensure the accuracy and completeness of the segmentation results. Loading a custom extended dictionary can further enhance the segmentation effect, making it particularly suitable for specialized geographical address scenarios.

[0037] Further, the step of using the cosine similarity algorithm to calculate the similarity value between the word frequency vector of the geographic address to be matched and the word frequency vector of the street name address includes:

[0038] The cosine similarity C between the word frequency vector A of the geographic address to be matched and the word frequency vector B of the street name address is calculated using the following formula:

[0039] C= .

[0040] To calculate the similarity between road names and addresses, the first step is to segment the names of the geographic addresses to be matched (the input parameter of the request) into words and calculate their frequencies. These frequencies are then used to form a frequency vector. Next, all road names and addresses are traversed from the cache, and the address with the highest matching score is retrieved and returned, along with the numerical value of the matching score (between 0 and 1). For calculating address names, cosine similarity is primarily used. Cosine similarity is calculated by dividing the product of vectors A and B by the product of the moduli of vectors A and B.

[0041] like Figure 3 As shown, the system receives a request for a geographic address to be matched and enters the matching process. The IK word segmenter is used to segment the geographic address to be matched into semantically meaningful word groups. Through word segmentation, the textual information of the address to be matched is structured, facilitating subsequent word frequency calculation and similarity analysis.

[0042] Perform word frequency statistics on the word segmentation results to generate a word frequency vector, representing the occurrence frequencies of each phrase in the address to be matched. Meanwhile, obtain the word frequency vector of the stored road name addresses from the cache. Use the cosine similarity algorithm to calculate the similarity between the word frequency vector of the address to be matched and the word frequency vector of the road name addresses in the cache. According to the cosine similarity formula, calculate the cosine value of the angle between the two vectors. The smaller the angle, the higher the similarity. The value range of the similarity is between 0 and 1, where 1 represents a perfect match and 0 represents a complete mismatch. Output the calculated similarity value and determine the road name address with the highest similarity to the address to be matched. The returned result includes the matching degree value and the corresponding geographical coordinates or relevant information.

[0043] Take "Southwest Gate of Dinghaiyuan Second Lane" and "Northeast Gate of Dinghaiyuan First Lane" as examples to introduce the processing logic in detail. First, calculate the word frequencies of the two addresses through the IK word segmenter. The calculation results are [Dinghai: 1, Yuan: 1, Second Lane: 1, West: 1, South Gate: 1], [Dinghai: 1, Yuan: 1, First Lane: 1, East: 1, North Gate], and the two word frequency vectors obtained are: Vector A of Southwest Gate of Dinghaiyuan Second Lane (0: 1, 1: 1, 2: 1, 3: 1, 4: 1), Vector B of Northeast Gate of Dinghaiyuan First Lane (0: 1, 1: 1, 2: 1, 3: 1, 4: 1); Next, calculate the numerator ( Figure 1 The numerator in the formula), that is, A.B. The calculation method of A.B is: the sum of the products of the frequencies of the same phrases in A and B. By comparison, it is found that both vectors of the two word frequencies contain the two phrases "Dinghai" and "Yuan", and the occurrence frequencies are both 1. So A.B = 1 * 1 (Dinghai) + 1 * 1 (Yuan) = 2. Secondly, calculate the denominator. The modulus of A is √(1² + 1² + 1² + 1² + 1²) = √5. Similarly, the modulus of B is √5. The denominator is: ||A||.||B|| = √5.√5 = 5. So the cosine similarity of the two vectors is (A.B) / (||A||.||B||) = 2 / 5 = 0.4, that is, the matching degree is 40%.

[0044] Furthermore, the geocoding section on the cloud control platform plays an important role. Due to the adoption of the similarity algorithm, the address names input by users can achieve fuzzy matching, and finally, filtering is performed through the similarity value. For example, for the intersection positioning function, just input the names of the two roads intersecting at the intersection to quickly locate the intersection.

[0045] It is easy to see that in this embodiment, unstructured geographic address text is converted into structured word frequency vectors through IK segmentation, providing a foundation for similarity calculation. Using the cosine similarity algorithm, the similarity between addresses can be effectively measured, solving the problems of synonyms and spelling differences that traditional string matching struggles to handle. High-speed caching allows for rapid retrieval of stored road name and address word frequency vectors, significantly improving the efficiency of matching calculations. The final output of the matching score helps users intuitively understand the accuracy of the address matching, supporting efficient location and geocoding queries.

[0046] The steps of the various methods described above are only for clarity. In practice, they can be combined into one step or some steps can be split into multiple steps. As long as they include the same logical relationship, they are all within the scope of protection of this patent. Adding insignificant modifications or introducing insignificant designs to the algorithm or process, but without changing the core design of the algorithm and process, are also within the scope of protection of this patent.

[0047] Fourth embodiment

[0048] The fourth embodiment of this application relates to a geocoding matching device / system, including:

[0049] The IK word segmentation module is used to segment road name addresses and geographical addresses to be matched into words.

[0050] The word frequency calculation module is used to calculate the word frequency of the road name address and the geographical address to be matched, and to form a word frequency vector based on the word frequency.

[0051] A similarity calculation module is used to calculate the similarity value between the word frequency vector of the geographic address to be matched and the word frequency vector of the road name address using a cosine similarity algorithm.

[0052] A high-speed cache module is used to cache the word frequency vector of the processed road name address.

[0053] Furthermore, the device also includes: an extended lexicon for defining indivisible address terms; and the IK word segmentation module performs word segmentation processing based on the extended lexicon.

[0054] It is not difficult to see that this embodiment is a system implementation corresponding to the first embodiment, and this embodiment can be implemented in conjunction with the first embodiment. The relevant technical details mentioned in the first embodiment are still valid in this embodiment, and will not be repeated here to reduce repetition. Accordingly, the relevant technical details mentioned in this embodiment can also be applied to the first embodiment.

[0055] It is worth mentioning that all modules involved in this embodiment are logical modules. In practical applications, a logical unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. Furthermore, to highlight the innovative aspects of this application, this embodiment does not introduce units that are not closely related to solving the technical problem proposed in this application; however, this does not mean that other units are absent from this embodiment.

[0056] Furthermore, some embodiments of this application also provide an electronic device. The electronic device can be various forms of digital computer, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, etc. The electronic device can also be various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices.

[0057] The electronic device includes: one or more processors; and a memory storing computer program instructions that, when executed, cause the processor to perform the steps of the methods provided in any one or more of the above embodiments. Figure 4 An exemplary structural diagram of the electronic device is disclosed. For example... Figure 4 As shown, the electronic device includes one or more processors 1101, a memory 1102, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components are interconnected via different buses and can be mounted on a common motherboard or otherwise as required. The processors can process instructions executed within the electronic device, including instructions stored in or on memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In some other embodiments, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple electronic devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). The components, their connections and relationships, and their functions shown herein are merely examples and are not intended to limit the implementation of the present application described and / or claimed herein.

[0058] The electronic device may further include an input device 1103 and an output device 1104. The processor 1101, memory 1102, input device 1103, and output device 1104 may be connected via a bus or other means. Figure 4 Taking the example of a connection between China and Israel via a bus.

[0059] Input device 1103 can receive input numerical or character information, and generate key signal inputs related to user settings and function control of the electronic device, such as a touch screen, keypad, mouse, trackpad, touchpad, joystick, one or more mouse buttons, trackball, joystick, etc. Output device 1104 may include a display device, auxiliary lighting device (e.g., LED), and haptic feedback device (e.g., vibration motor). The display device may include, but is not limited to, a liquid crystal display (LCD), a light-emitting diode (LED) display, and a plasma display. In some embodiments, the display device may be a touch screen.

[0060] To provide interaction with the user, the electronic device can be a computer. The computer has: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0061] In this embodiment, a computer-readable medium stores a computer program / instructions that, when executed by a processor, implement the steps of the methods provided in any one or more of the above embodiments. This computer-readable medium may be included in the electronic device described in the above embodiments; or it may exist independently and not assembled into that device. The aforementioned computer-readable medium carries one or more computer-readable instructions.

[0062] The memory 1102 can serve as a non-transitory computer-readable storage medium, used to store non-transitory software programs, non-transitory computer-executable programs, and modules. The processor 1101 executes various functional applications and data processing of the server by running the non-transitory software programs, instructions, and modules stored in the memory 1102, thereby implementing the program instructions / modules corresponding to the methods provided in any one or more of the embodiments described above in this application.

[0063] The memory 1102 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the electronic device. Furthermore, the memory 1102 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 1102 may optionally include memory remotely located relative to the processor 1101, and these remote memories can be connected to the electronic device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0064] It should be noted that the computer-readable medium described in this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0065] Computer-readable media include permanent and non-permanent, removable and non-removable media, which can store information by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, read-only optical disc (CD-ROM), digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.

[0066] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0067] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. For example, it can be implemented using an application-specific integrated circuit (ASIC), a general-purpose computer, or any other similar hardware device. In some embodiments, the software program of this application can be executed by a processor to implement the steps or functions described above. Similarly, the software program of this application (including related data structures) can be stored in a computer-readable recording medium, such as RAM memory, magnetic or optical drives, floppy disks, or similar devices. Furthermore, some steps or functions of this application can be implemented in hardware, for example, as circuitry that works with a processor to perform the various steps or functions.

[0068] The computer program product provided in this application includes one or more computer programs / instructions. When executed by a processor, these computer programs / instructions generate, in whole or in part, the processes or functions described in this application. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).

[0069] The flowcharts or block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of devices, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-specific system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0070] The scope of this application is defined by the appended claims rather than the foregoing description, and is therefore intended to encompass all variations falling within the meaning and scope of equivalents of the claims. No reference numerals in the claims should be construed as limiting the scope of the claims. Furthermore, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices recited in a device claim may also be implemented by a single unit or device in software or hardware. Terms such as "first," "second," etc., are used only for distinguishing descriptions and do not indicate any particular order, nor should they be construed as indicating or implying relative importance.

[0071] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily made by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims, and the above embodiments should be regarded as exemplary and non-limiting.

Claims

1. A geocode matching method, characterized by, The method comprises: loading a road name address, using an IK segmenter to perform segmenting processing on the road name address; calculating the segmenting word frequency of the road name address and forming a word frequency vector, and storing the word frequency vector of the road name address to a cache; obtaining a to-be-matched geographic address, using the IK segmenter to perform segmenting processing on the to-be-matched geographic address; calculating the segmenting word frequency of the to-be-matched geographic address and forming a word frequency vector; iterating the word frequency vector of the road name address in the cache, and using a cosine similarity algorithm to calculate the similarity value of the word frequency vector of the to-be-matched geographic address and the word frequency vector of the road name address; according to the similarity value, determining the road name address with the highest similarity to the to-be-matched geographic address, and outputting the corresponding geographic coordinates.

2. The method of claim 1, wherein, The IK segmenter adopts fine-grained segmenting and coarse-grained segmenting, and the coarse-grained segmenting is used for segmenting processing on the to-be-matched address.

3. The method of claim 2, wherein, The method further comprises: when using the IK segmenter to perform segmenting processing, according to the address words defined in the extended word library and which cannot be split, performing segmenting processing on the road name address and the to-be-matched geographic address.

4. The method of claim 3, wherein, The use of the cosine similarity algorithm to calculate the similarity value of the word frequency vector of the to-be-matched geographic address and the word frequency vector of the road name address comprises: the cosine similarity C of the word frequency vector A of the to-be-matched geographic address and the word frequency vector B of the road name address is calculated according to the following formula: C= 。 5. A geocode matching apparatus, comprising: The device comprises: an IK segmenting module, which is used for performing segmenting processing on a road name address and a to-be-matched geographic address; a word frequency calculating module, which is used for calculating the segmenting word frequency of the road name address and the to-be-matched geographic address, and forming a word frequency vector according to the segmenting word frequency; a similarity calculating module, which is used for using a cosine similarity algorithm to calculate the similarity value of the word frequency vector of the to-be-matched geographic address and the word frequency vector of the road name address; a cache module, which is used for caching the processed word frequency vector of the road name address.

6. The apparatus of claim 5, wherein, The device further comprises: an extended word library, which is used for defining address words which cannot be split; the IK segmenting module performs segmenting processing according to the extended word library.

7. An electronic device, comprising: The electronic device comprises: one or more processors; and a memory storing computer program instructions which, when executed, cause the processor to perform the steps of the method of any one of claims 1 to 4.

8. A computer readable medium having stored thereon computer programs / instructions, characterized in that, The computer program / instructions, when executed by the processor, implement the steps of the method of any one of claims 1 to 4.