Method and device for extracting points of interest

Through the method of intercepting and iterative judgment from the distribution address library, the points of interest (POI) are automatically identified and extracted, and the problem of inefficient manual addition and maintenance of POIs in the prior art is solved, and efficient POI recognition and learning is achieved.

CN110851696BActive Publication Date: 2025-02-21BEIJING JINGDONG SHANGKE INFORMATION TECH CO LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN201810865133.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2018-08-01
Publication Date
2025-02-21
Estimated Expiration
2038-08-01

AI Technical Summary

Technical Problem

In the prior art, business personnel need to manually add and maintain thousands of points of interest (POIs), which are inefficient and unable to actively explore and learn new POIs.

Method used

Provide a point of interest extraction method and device, by intercepting address strings from the detailed address of the delivery address library, and iteratively determine whether other substrings are included, automatically identify and extract POIs, which is efficient and can actively explore and learn new POIs. .

Benefits of technology

It realizes the efficiency of automatically identifying and extracting POIs, reduces the need for manual maintenance, can actively explore and learn new POIs, and improves the efficiency of business operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN110851696B_ABST
    Figure CN110851696B_ABST
Patent Text Reader

Abstract

The present invention discloses a method and device for extracting points of interest, and relates to the field of computer technology. A specific implementation of the method includes: intercepting an address string from each detailed address in a delivery address library; looping and iterating each address string according to the following steps: taking the address string as a parent string and all other address strings as substrings, judging whether the parent string contains other substrings; if so, deleting the parent string, otherwise taking the parent string as an alternative point of interest; determining the point of interest based on the alternative point of interest. This implementation can automatically identify and extract POI identification and extraction, with high efficiency, and can actively detect and learn new POIs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a method and device for extracting points of interest. Background Art

[0002] In the Geographic Information System (GIS) system of the e-commerce industry and the electronic map industry, Point of Interest (POI) is a very important concept. For example, searching for "Starbucks at Chaolin Square" on an e-commerce platform or an electronic map is a POI. In the logistics and distribution industry, POI also has very important applications. For example, a logistics and distribution POI can be located based on the delivery address on the logistics package. The mapping relationship between the logistics and distribution POI and the distribution site can determine the distribution site of the package and even the relevant delivery personnel. In the prior art, business personnel actively add and maintain POIs based on experience.

[0003] In the process of implementing the present invention, the inventors found that there are at least the following problems in the prior art:

[0004] There may be tens of thousands of POIs in the area that a business person is responsible for. Judging POIs based on the business person's experience is inefficient; it is impossible to proactively discover and learn new POIs. Summary of the invention

[0005] In view of this, an embodiment of the present invention provides a method and device for extracting points of interest, which can automatically identify and extract POIs with high efficiency and can actively detect and learn new POIs.

[0006] According to one aspect of an embodiment of the present invention, a method for extracting points of interest is provided.

[0007] A method for extracting points of interest according to an embodiment of the present invention includes:

[0008] Extract the address string from each detailed address in the delivery address database;

[0009] Iterate each address string in a loop according to the following steps: take the address string as the main string and all other address strings as substrings, and determine whether the main string contains other substrings; if so, delete the main string, otherwise take the main string as an alternative point of interest;

[0010] The points of interest are determined based on the candidate points of interest.

[0011] Optionally, determining whether the mother string contains other substrings includes:

[0012] Step A: intercepting the character string from the head pointer to the tail pointer from the mother string; wherein the head pointer points to the first character of the mother string, and the tail pointer points to the second to last character of the mother string;

[0013] Step B: Determine whether there is a substring identical to the intercepted string; if so, move the head pointer to the position after the tail pointer and point the tail pointer to the second to last character of the mother string; if not, move the tail pointer forward one position;

[0014] Step C: Loop through step B until the tail pointer is moved to a position only away from the head pointer and there is still no substring identical to the intercepted string, then jump to step D;

[0015] Step D: Move the head pointer backward by one position and point the tail pointer to the second to last character of the mother string, and repeat steps B and C until the tail pointer has been moved to a position only away from the head pointer and there is still no substring identical to the intercepted string.

[0016] Optionally, each detailed address in the delivery address database corresponds to a delivery site;

[0017] Before deleting the mother string, the method further includes: counting the total frequency of each intercepted address string appearing in the delivery address library, and the site frequency of each delivery site corresponding to the address string; and respectively adding the total frequency and site frequency of the mother string to the total frequency and site frequency of each corresponding substring;

[0018] Determining the interest points according to the candidate interest points includes: filtering the candidate interest points according to the total frequency of the candidate interest points, or the total frequency and the site frequency, and taking the candidate interest points remaining after filtering as the interest points.

[0019] Optionally, filtering the candidate points of interest according to the total frequency of the candidate points of interest, or the total frequency and the site frequency, includes at least one of the following:

[0020] Determine the Gini impurity of each candidate interest point according to the total frequency and the site frequency of each candidate interest point, and filter out the candidate interest points whose Gini impurity is greater than a first threshold;

[0021] Determine the information entropy of each candidate point of interest according to the total frequency and the site frequency of each candidate point of interest, and filter out the candidate points of interest whose information entropy is greater than a second threshold;

[0022] The candidate interest points whose total frequency is less than or equal to the third threshold are filtered out.

[0023] Optionally, an address string is extracted from each detailed address in the delivery address library, including:

[0024] Remove the administrative area prefix in each detailed address, and / or remove the house number in each detailed address; determine whether there is a preset splitting identifier in the remaining detailed addresses; if so, split the remaining detailed addresses according to the preset splitting identifier, and use each address obtained by the split as the intercepted address string; otherwise, use the remaining addresses as the intercepted address string.

[0025] Optionally, after intercepting the address string from each detailed address in the delivery address library, it also includes: counting the total frequency of each intercepted address string appearing in the delivery address library, and the site frequency of each delivery site corresponding to the address string; filtering each address string according to the total frequency of each address string, or the total frequency and the site frequency.

[0026] Optionally, filtering each address string according to the total frequency of each address string, or the total frequency and the site frequency, includes at least one of the following:

[0027] Determine the Gini impurity of each address string according to the total frequency and site frequency of each address string, and filter out the address strings whose Gini impurity is greater than a fourth threshold;

[0028] Determine the information entropy of each address string according to the total frequency and site frequency of each address string, and filter out the address strings whose information entropy is greater than a fifth threshold;

[0029] The address character strings whose total frequency is less than or equal to the sixth threshold are filtered out.

[0030] According to yet another aspect of an embodiment of the present invention, a device for extracting points of interest is provided.

[0031] The device for extracting points of interest according to an embodiment of the present invention includes:

[0032] The interception module intercepts the address string from each detailed address in the delivery address library;

[0033] The iteration module loops through each address string in the following steps: taking the address string as the main string and all other address strings as substrings, determining whether the main string contains other substrings; if so, deleting the main string, otherwise taking the main string as an alternative point of interest;

[0034] The determination module determines the points of interest based on the candidate points of interest.

[0035] Optionally, the iteration module determines whether the mother string contains other substrings, including:

[0036] Step A: intercepting the character string from the head pointer to the tail pointer from the mother string; wherein the head pointer points to the first character of the mother string, and the tail pointer points to the second to last character of the mother string;

[0037] Step B: Determine whether there is a substring identical to the intercepted string; if so, move the head pointer to the position after the tail pointer and point the tail pointer to the second to last character of the mother string; if not, move the tail pointer forward one position;

[0038] Step C: loop through step B until the tail pointer is moved to a position only away from the head pointer and there is still no substring identical to the intercepted string, then jump to step D;

[0039] Step D: Move the head pointer backward by one position and point the tail pointer to the second to last character of the mother string, and repeat steps B and C until the tail pointer has been moved to a position only away from the head pointer and there is still no substring identical to the intercepted string.

[0040] Optionally, each detailed address in the delivery address database corresponds to a delivery site;

[0041] The iteration module is also used for: before deleting the mother string, counting the total frequency of each intercepted address string appearing in the delivery address library, and the site frequency of each delivery site corresponding to the address string; respectively adding the total frequency and site frequency of the mother string to the total frequency and site frequency of each corresponding substring;

[0042] The determination module is further used to filter the candidate points of interest according to the total frequency of the candidate points of interest, or the total frequency and the site frequency, and use the remaining candidate points of interest after filtering as the points of interest.

[0043] Optionally, the determining module filters each candidate point of interest according to the total frequency of each candidate point of interest, or the total frequency and the site frequency, including at least one of the following:

[0044] Determine the Gini impurity of each candidate interest point according to the total frequency and the site frequency of each candidate interest point, and filter out the candidate interest points whose Gini impurity is greater than a first threshold;

[0045] Determine the information entropy of each candidate point of interest according to the total frequency and the site frequency of each candidate point of interest, and filter out the candidate points of interest whose information entropy is greater than a second threshold;

[0046] The candidate interest points whose total frequency is less than or equal to the third threshold are filtered out.

[0047] Optionally, the interception module is also used to: remove the administrative area prefix in each detailed address, and / or remove the house number in each detailed address; determine whether there is a preset splitting identifier in the remaining detailed address; if so, split the remaining detailed address according to the preset splitting identifier, and use each address obtained by the split as the intercepted address string; otherwise, use the remaining address as the intercepted address string.

[0048] Optionally, the interception module is also used to: after intercepting the address string from each detailed address in the delivery address library, count the total frequency of each intercepted address string appearing in the delivery address library, and the site frequency of each delivery site corresponding to the address string; filter each address string according to the total frequency of each address string, or the total frequency and the site frequency.

[0049] Optionally, the interception module filters each address string according to the total frequency of each address string, or the total frequency and the site frequency, including at least one of the following:

[0050] Determine the Gini impurity of each address string according to the total frequency and site frequency of each address string, and filter out the address strings whose Gini impurity is greater than a fourth threshold;

[0051] Determine the information entropy of each address string according to the total frequency and site frequency of each address string, and filter out the address strings whose information entropy is greater than a fifth threshold;

[0052] The address character strings whose total frequency is less than or equal to the sixth threshold are filtered out.

[0053] According to another aspect of an embodiment of the present invention, an electronic device for extracting points of interest is provided.

[0054] An electronic device for extracting points of interest according to an embodiment of the present invention includes:

[0055] one or more processors;

[0056] a storage device for storing one or more programs,

[0057] When the one or more programs are executed by the one or more processors, the one or more processors implement the interest point extraction method provided by the first aspect of the embodiment of the present invention.

[0058] According to yet another aspect of an embodiment of the present invention, a computer readable medium is provided.

[0059] The computer-readable medium according to the embodiment of the present invention stores a computer program, which, when executed by a processor, implements the method for extracting points of interest provided in the first aspect of the embodiment of the present invention.

[0060] One embodiment of the above invention has the following advantages or beneficial effects: the detailed addresses in the e-commerce address database are highly timely, and by using the e-commerce address database as basic data for POI identification and extraction, new logistics distribution POIs can be automatically identified and detected to the greatest extent with high efficiency.

[0061] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with the specific implementation manner. BRIEF DESCRIPTION OF THE DRAWINGS

[0062] The accompanying drawings are used to better understand the present invention and do not constitute an improper limitation of the present invention.

[0063] Figure 1 is a schematic diagram of the main process of the interest point extraction method according to an embodiment of the present invention;

[0064] FIG. 2 is a schematic diagram of the main process of looping and iterating each address string in some embodiments of the present invention, including Figure 2a , 2b and 2c;

[0065] FIG. 3 is a schematic diagram of the main process of looping and iterating each address string in some other embodiments of the present invention, including Figure 3a and 3b ;

[0066] Figure 4 is a schematic diagram of the main components of an interest point extraction device according to an embodiment of the present invention;

[0067] Figure 5 is an exemplary system architecture diagram to which embodiments of the present invention may be applied;

[0068] Figure 6 It is a schematic diagram of the structure of a computer system of a terminal device or a server suitable for implementing an embodiment of the present invention. DETAILED DESCRIPTION

[0069] The following is a description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, the description of well-known functions and structures is omitted in the following description.

[0070] According to one aspect of an embodiment of the present invention, a method for extracting points of interest is provided.

[0071] Figure 1 FIG. 1 is a schematic diagram of the main process of the interest point extraction method according to an embodiment of the present invention. Figure 1As shown, the interest point extraction method according to the embodiment of the present invention includes: step S101, step S102 and step S103.

[0072] Step S101, extracting an address character string from each detailed address in the delivery address library.

[0073] The delivery address database is a mapping relationship between a detailed address and a delivery station. For example, "Zhaolin Plaza, Block A, Yizhuang Town, Daxing District, Beijing" corresponds to a delivery station of a certain company, and the delivery station is responsible for delivering the order package of "Zhaolin Plaza, Block A, Yizhuang Town, Daxing District, Beijing". The delivery address database is generally updated or added by the delivery personnel of the delivery station after the delivery of the previous order package with the same address is delivered successfully, and the mapping relationship between the delivered delivery station and the detailed address is updated or added through the system's write-back message.

[0074] The detailed addresses in the delivery address library generally include: province identification ID, city identification ID, district and county identification ID, township identification ID, specific address, etc., and the corresponding delivery sites are generally identified by site coding. Point of Interest (POI) refers to an address or location that a user is interested in, which can specifically represent a building, a scenic spot, a community, etc. Extracting the address string from each detailed address in the delivery address library can include: removing the administrative area prefix in each detailed address, and / or removing the house number in each detailed address. Removing the administrative area prefix and house number in each detailed address can reduce the number of characters in the point of interest and improve the effectiveness of the point of interest. In addition, it can also reduce the tediousness of subsequent steps and improve the efficiency of point of interest extraction.

[0075] Taking the detailed address "1103, Building 7, Mingzhu Garden, Intersection of Fujian Road and Yingkou Road, Tanggu District, Tianjin" as an example, the removal of the administrative region prefix in each detailed address is explained. Table 1 shows the corresponding relationship between the detailed address and its delivery station in the delivery address database.

[0076] Table 1 Detailed address

[0077]

[0078] According to the four-level administrative division method, the first-level address province ID is 3, which corresponds to the name "Tianjin", the second-level address city ID is 51044, which corresponds to the name "Tanggu District", and the third-level address district and county ID is 25708, which corresponds to the name "entire territory". According to the correspondence between the administrative region ID and name, the detailed address "Tianjin Tanggu District, entire territory, Mingzhu Garden, Building 7, Door 1, 1103, at the intersection of Fujian Road and Yingkou Road" can be removed from the address. The result after removal is "Mingzhu Garden, Building 7, Door 1, 1103, at the intersection of Fujian Road and Yingkou Road", which can be regarded as the fourth-level administrative region.

[0079] For address data such as residential areas and shopping malls, since different house numbers of the same residential area or shopping mall can be used as the same POI, the house number in each detailed address can be removed to prevent interference with the extraction work. The address house number has typical feature words, including but not limited to "room", "building", "floor", "door", "unit", "building", "number building", "building", "building", "building", "seat", "-", etc. The detailed addresses in the delivery address library may cross-combine these feature words with numbers or letters to form address house numbers such as: Mingzhu Garden, Building 7, Door 1, Room 1103, Yixin Garden, Yixin Garden, Building 8, Room 502, Chong'anli, Building 15, Unit 5, Room 501, Petroleum Building, Building B, Room 803, International Building, Building C, Room 2301. The result after removing the feature words of the address house number is: Mingzhu Garden, Yixin Garden, Yixin Garden, Chong'anli, Petroleum Building, International Building.

[0080] After removing the administrative area prefix in each detailed address and / or removing the house number in each detailed address, it can be further determined whether there is a preset splitting identifier in the remaining detailed address; if so, the remaining detailed address is split according to the preset splitting identifier, and each address obtained by splitting is used as the intercepted address string; otherwise, the remaining address is used as the intercepted address string.

[0081] Among the large number of detailed addresses in the delivery address database, based on the user's input habits, some addresses with obvious splitting features can be obtained, including but not limited to spaces, punctuation, brackets, square brackets, etc. These points can be used as splitting marks, and each detailed address is split through these splitting marks. Table 2 shows the address string before and after the split.

[0082] Table 2 Address strings before and after splitting

[0083]

[0084] After intercepting the address string from each detailed address in the delivery address library, the following may be further included: counting the total frequency of each intercepted address string appearing in the delivery address library, and the site frequency of each delivery site corresponding to the address string; filtering each address string according to the total frequency of each address string, or the total frequency and the site frequency. Table 3 shows the statistical results after counting some address strings in Table 2.

[0085] Table 3 Statistical results

[0086]

[0087] Filtering each address string according to the total frequency of each address string, or the total frequency and the site frequency, may include at least one of the following:

[0088] (1) determining the Gini impurity of each address string according to the total frequency and site frequency of each address string, and filtering out the address strings whose Gini impurity is greater than a fourth threshold;

[0089] Gini impurity: Indicates the probability that a randomly selected sample is misclassified in a subset. Gini impurity is the probability of the sample being selected multiplied by the probability that it is misclassified. When all samples in a node are of the same class, Gini impurity is zero. The calculation formula is as follows:

[0090]

[0091] In the formula, I G (f) represents the Gini impurity; m represents the number of distribution stations; f i It represents the ratio of the site frequency of the i-th distribution site to the total frequency.

[0092] The above formula is used to calculate the Gini impurity of each address string in Table 3, and the results are shown in Table 3.

[0093] Table 4 Gini impurity of each address string

[0094]

[0095] Gini impurity can be used to determine the validity of an address string, and each valid string may be a POI. If the Gini impurity of an address string is very low, it means that a large number of station frequencies only appear at a certain distribution station, and this data is valid data. Conversely, if the Gini impurity is very high, it means invalid data. The value of the fourth threshold can be selectively set according to actual conditions. For example, the fourth threshold is set to 0.01, which means that the probability that the address string is a valid string or POI is 99%; for another example, the fourth threshold is set to 0.02, which means that the probability that the address string is a valid string or POI is 98%. Taking the fourth threshold as 0.01 as an example, the address string "Development Zone Economic and Technical" in Table 4

[0096] Development Zone" and "South of 13th Street" are obviously invalid address strings, that is, invalid POIs.

[0097] (2) determining the information entropy of each address string according to the total frequency and site frequency of each address string, and filtering out the address strings whose information entropy is greater than a fifth threshold;

[0098] The calculation formula of information entropy is as follows:

[0099]

[0100] Where Entropy(t) represents information entropy; m represents the number of distribution sites; j represents the site frequency of the i-th distribution site; t represents the total frequency of the address string; and p(j|t) represents the proportion of the site frequency of the i-th distribution site corresponding to the address string to the total frequency.

[0101] Information entropy represents the degree of confusion of the address string corresponding to the delivery station. For information entropy, the most ideal result is that the information entropy of the address string is 0, which means that the address string is "pure" and only corresponds to one delivery station. The higher the degree of confusion, the greater the information entropy value. The value of the fifth threshold can be selectively set according to the actual situation to determine whether a certain address string is a valid address string, that is, whether it can be used to determine the final POI.

[0102] (3) filtering out address strings whose total frequency is less than or equal to a sixth threshold;

[0103] The total frequency reflects the probability of the address string appearing in the delivery address database. The larger the value, the greater the probability that the address string is a valid string, and the more likely it is to be used to determine the final POI. The value of the sixth threshold can be selectively set according to actual conditions, such as 10 times, 20 times, etc.

[0104] Filtering each address string according to the total frequency, or the total frequency and the site frequency can reduce the complexity of loop iterations and improve the efficiency of extracting points of interest.

[0105] Step S102, loop and iterate each address string according to the following steps: take the address string as the main string and all other address strings as substrings, and determine whether the main string contains other substrings; if so, delete the main string, otherwise take the main string as an alternative interest point.

[0106] When the mother string contains other substrings, it indicates that the mother string is repeated with the substring. Since this step iterates each address string intercepted in step S101, the inclusion of other substrings in the mother string will delete the mother string, which will not cause the address string that may be a POI to be deleted, that is, it will not affect the accuracy of the result of extracting points of interest.

[0107] When the character length of a string is too small, it is not suitable as a POI. In view of this, before the loop iteration, the address strings whose character length is less than a preset length threshold can be filtered out. For example, the address strings whose character length is less than 2 are filtered out.

[0108] Optionally, determining whether the mother string contains other substrings includes:

[0109] Step A: intercepting the character string from the head pointer to the tail pointer from the mother string; wherein the head pointer points to the first character of the mother string, and the tail pointer points to the second to last character of the mother string;

[0110] Step B: Determine whether there is a substring identical to the intercepted string; if so, move the head pointer to the position after the tail pointer and point the tail pointer to the second to last character of the mother string; if not, move the tail pointer forward one position;

[0111] Step C: Loop through step B until the tail pointer is moved to a position only away from the head pointer and there is still no substring identical to the intercepted string, then jump to step D;

[0112] Step D: Move the head pointer backward by one position and point the tail pointer to the second to last character of the mother string, and repeat steps B and C until the tail pointer has been moved to a position only away from the head pointer and there is still no substring identical to the intercepted string.

[0113] Optionally, each detailed address in the delivery address database corresponds to a delivery site;

[0114] Before deleting the mother string, it also includes: counting the total frequency of each intercepted address string appearing in the delivery address library, and the site frequency of each delivery site corresponding to the address string; and adding the total frequency and site frequency of the mother string to the total frequency and site frequency of each corresponding sub-string.

[0115] Counting the total frequency and site frequency of each address string makes it easier to understand the distribution of the number of occurrences of each address string, and is also beneficial for subsequent analysis and processing.

[0116] FIG. 2 is a schematic diagram of the main process of looping and iterating each address string in some embodiments of the present invention, including Figure 2a , 2b and 2c; FIG. 3 is a schematic diagram of the main process of looping and iterating each address string in other embodiments of the present invention, including Figure 3a and 3b The following takes the address string "Tianqi Building, No. 1288 Yingbin Avenue, Xiangluowan Business District" as an example, and combines FIG. 2 and FIG. 3 to illustrate the process of looping and iterating each address string in the embodiment of the present invention:

[0117] (1) Sort the address strings obtained in step S101 in descending order of character length to obtain a list, and filter out address strings with a length less than 2;

[0118] (2) Take the first data in the list as the parent string, and all the remaining data as substrings that may be split, and search according to the following steps. After completion, continue to take out the next data in the list and iterate until the traversal of the list is completed:

[0119] 1. Define two pointers, the head pointer and the tail pointer. The head pointer points to the first character of the address string, and the tail pointer points to the second to last character of the address string. The address string data between the two pointers is intercepted. The positions of the head pointer and the tail pointer are as follows: Figure 2a As shown;

[0120] 2. Use the intercepted address string data to search the original list. If it is found, add the statistics of the parent string (total frequency and site frequency) to the substring. If not, continue to move the tail pointer to the left until the substring that is the same as the address string intercepted by the head and tail pointers is found (hereinafter referred to as: finding the substring). Figure 2b In the example, the substring "No. 1288 Yingbin Avenue, Xiangluowan Business District" is found. At this time, the head pointer is moved to the position after the tail pointer, and the tail pointer is pointed to the second to last character of the address string again, such as Figure 2c As shown, continue to use the head pointer and tail pointer to search for the substring;

[0121] 3. If the tail pointer has been moved to only one position away from the head pointer in the second step above, the substring cannot be found, such as Figure 3a As shown, at this time, the head pointer is moved back one position, that is, to the second character of the mother string, and the tail pointer points to the second to last character of the mother string, such as Figure 3b As shown, continue the second step iteration;

[0122] 4. Repeat the above three steps, and you can also iterate the found substring as the mother string again, such as: No. 1288 Yingbin Avenue, Xiangluowan Business District, which can be iterated as the mother string to find: Xiangluowan Business District, No. 1288 Yingbin Avenue;

[0123] 5. Accumulate statistical information. The frequency of the mother string is accumulated to the substring it finds. The site frequency information of the mother string is also accumulated to the substring it finds. Then the mother string is deleted from the list.

[0124] 6. Use each character string in the list obtained after the above five steps as a candidate point of interest.

[0125] Step S103: determining points of interest based on the candidate points of interest.

[0126] The detailed addresses in the e-commerce address database are highly time-sensitive. By using the e-commerce address database as basic data for POI identification and extraction, new logistics distribution POIs can be automatically identified and detected to the greatest extent with high efficiency.

[0127] Each detailed address in the delivery address library corresponds to a delivery site. Before deleting the mother string, it may also include: counting the total frequency of each intercepted address string appearing in the delivery address library, and the site frequency of each delivery site corresponding to the address string; adding the total frequency and site frequency of the mother string to the total frequency and site frequency of each corresponding substring. Determining the points of interest based on the alternative points of interest may include: filtering the alternative points of interest based on the total frequency of the alternative points of interest, or the total frequency and the site frequency, and taking the remaining alternative points of interest after filtering as the points of interest. Filtering the alternative points of interest based on the total frequency, or the total frequency and the site frequency, can improve the effectiveness of the points of interest.

[0128] The method of filtering each candidate point of interest according to the total frequency of each candidate point of interest, or the total frequency and the site frequency, can be selectively set according to actual conditions. In some embodiments, filtering each candidate point of interest according to the total frequency of each candidate point of interest, or the total frequency and the site frequency, includes at least one of the following:

[0129] (1) determining the Gini impurity of each candidate point of interest according to the total frequency and site frequency of each candidate point of interest, and filtering out the candidate points of interest whose Gini impurity is greater than a first threshold;

[0130] Gini impurity can be used to determine whether an address string is a POI. If the Gini impurity of an address string is very low, it means that a large number of station frequencies only appear at a certain distribution station, and this data is valid data. On the contrary, if the Gini impurity is very high, it means invalid data. The value of the first threshold can be selectively set according to actual conditions. For example, the first threshold is set to 0.01, which means that the probability that the address string is a POI is 99%; for another example, the first threshold is set to 0.02, which means that the probability that the address string is a POI is 98%.

[0131] (2) determining the information entropy of each candidate point of interest according to the total frequency and the site frequency of each candidate point of interest, and filtering out the candidate points of interest whose information entropy is greater than a second threshold;

[0132] Information entropy represents the degree of confusion of the address string corresponding to the distribution site. For information entropy, the most ideal result is that the information entropy of the address string is 0, which means that the address string is "pure" and only corresponds to one distribution site. The higher the degree of confusion, the greater the information entropy value. The value of the second threshold can be selectively set according to the actual situation to determine whether a certain address string is a POI.

[0133] (3) filtering out address strings whose total frequency is less than or equal to a third threshold;

[0134] The total frequency reflects the possibility of the address string appearing in the delivery address database. The larger the value, the greater the possibility that the address string is a POI. The value of the third threshold can be selectively set according to actual conditions, such as 10 times, 20 times, etc.

[0135] According to yet another aspect of an embodiment of the present invention, a device for extracting points of interest is provided.

[0136] Figure 4 Schematic diagram of the main components of the interest point extraction device according to an embodiment of the present invention. Figure 4 As shown, the interest point extraction device 400 according to an embodiment of the present invention includes:

[0137] The interception module 401 intercepts the address character string from each detailed address in the delivery address library;

[0138] The iteration module 402 loops through each address string according to the following steps: taking the address string as a mother string and all other address strings as substrings, determining whether the mother string contains other substrings; if so, deleting the mother string, otherwise taking the mother string as a candidate point of interest;

[0139] The determination module 403 determines the interest point according to the candidate interest points.

[0140] Optionally, the iteration module determines whether the mother string contains other substrings, including:

[0141] Step A: intercepting the character string from the head pointer to the tail pointer from the mother string; wherein the head pointer points to the first character of the mother string, and the tail pointer points to the second to last character of the mother string;

[0142] Step B: Determine whether there is a substring identical to the intercepted string; if so, move the head pointer to the position after the tail pointer and point the tail pointer to the second to last character of the mother string; if not, move the tail pointer forward one position;

[0143] Step C: Loop through step B until the tail pointer is moved to a position only away from the head pointer and there is still no substring identical to the intercepted string, then jump to step D;

[0144] Step D: Move the head pointer backward by one position and point the tail pointer to the second to last character of the mother string, and repeat steps B and C until the tail pointer has been moved to a position only away from the head pointer and there is still no substring identical to the intercepted string.

[0145] Optionally, each detailed address in the delivery address database corresponds to a delivery site;

[0146] The iteration module is also used for: before deleting the mother string, counting the total frequency of each intercepted address string appearing in the delivery address library, and the site frequency of each delivery site corresponding to the address string; respectively adding the total frequency and site frequency of the mother string to the total frequency and site frequency of each corresponding substring;

[0147] The determination module is further used to filter the candidate points of interest according to the total frequency of the candidate points of interest, or the total frequency and the site frequency, and use the remaining candidate points of interest after filtering as the points of interest.

[0148] Optionally, the determining module filters each candidate point of interest according to the total frequency of each candidate point of interest, or the total frequency and the site frequency, including at least one of the following:

[0149] Determine the Gini impurity of each candidate interest point according to the total frequency and the site frequency of each candidate interest point, and filter out the candidate interest points whose Gini impurity is greater than a first threshold;

[0150] Determine the information entropy of each candidate point of interest according to the total frequency and the site frequency of each candidate point of interest, and filter out the candidate points of interest whose information entropy is greater than a second threshold;

[0151] The candidate interest points whose total frequency is less than or equal to the third threshold are filtered out.

[0152] Optionally, the interception module is also used to: remove the administrative area prefix in each detailed address, and / or remove the house number in each detailed address; determine whether there is a preset splitting identifier in the remaining detailed address; if so, split the remaining detailed address according to the preset splitting identifier, and use each address obtained by the split as the intercepted address string; otherwise, use the remaining address as the intercepted address string.

[0153] Optionally, the interception module is also used to: after intercepting the address string from each detailed address in the delivery address library, count the total frequency of each intercepted address string appearing in the delivery address library, and the site frequency of each delivery site corresponding to the address string; filter each address string according to the total frequency of each address string, or the total frequency and the site frequency.

[0154] Optionally, the interception module filters each address string according to the total frequency of each address string, or the total frequency and the site frequency, including at least one of the following:

[0155] Determine the Gini impurity of each address string according to the total frequency and site frequency of each address string, and filter out the address strings whose Gini impurity is greater than a fourth threshold;

[0156] Determine the information entropy of each address string according to the total frequency and site frequency of each address string, and filter out the address strings whose information entropy is greater than a fifth threshold;

[0157] The address character strings whose total frequency is less than or equal to the sixth threshold are filtered out.

[0158] According to another aspect of an embodiment of the present invention, an electronic device for extracting points of interest is provided.

[0159] An electronic device for extracting points of interest according to an embodiment of the present invention includes:

[0160] one or more processors;

[0161] a storage device for storing one or more programs,

[0162] When the one or more programs are executed by the one or more processors, the one or more processors implement the interest point extraction method provided by the first aspect of the embodiment of the present invention.

[0163] Figure 5 An exemplary system architecture 500 is shown to which the method or apparatus for extracting points of interest according to the embodiments of the present invention can be applied.

[0164] like Figure 5 As shown, system architecture 500 may include terminal devices 501, 502, 503, a network 504 and a server 505. Network 504 is used to provide a medium for communication links between terminal devices 501, 502, 503 and server 505. Network 504 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.

[0165] Users can use terminal devices 501, 502, 503 to interact with server 505 through network 504 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 501, 502, 503, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only as examples).

[0166] The terminal devices 501 , 502 , and 503 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, and the like.

[0167] The server 505 may be a server that provides various services, such as a backend management server (only an example) that provides support for shopping websites browsed by users using the terminal devices 501, 502, and 503. The backend management server may analyze and process the received data such as product information query requests, and feed back the processing results (such as target push information, product information - only an example) to the terminal device.

[0168] It should be noted that the interest point extraction method provided in the embodiment of the present invention is generally executed by the server 505 , and accordingly, the interest point extraction device is generally disposed in the server 505 .

[0169] It should be understood that Figure 5 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.

[0170] Reference below Figure 6 , which shows a schematic diagram of the structure of a computer system 600 of a terminal device suitable for implementing an embodiment of the present invention. Figure 6 The terminal device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0171] like Figure 6 As shown, the computer system 600 includes a central processing unit (CPU) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage part 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the system 600 are also stored. The CPU 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0172] The following components are connected to the I / O interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, a modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I / O interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage section 608 as needed.

[0173] In particular, according to the embodiments disclosed in the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present invention include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 609, and / or installed from the removable medium 611. When the computer program is executed by the central processing unit (CPU) 601, the above-mentioned functions defined in the system of the present invention are executed.

[0174] It should be noted that the computer-readable medium shown in the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.

[0175] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0176] The modules involved in the embodiments of the present invention may be implemented in software or hardware. The modules described may also be set in a processor, for example, they may be described as: a processor comprising: an interception module, which intercepts an address string from each detailed address in a delivery address library; an iteration module, which loops through each address string in accordance with the following steps: using the address string as a parent string and all other address strings as substrings, and determining whether the parent string contains other substrings; if so, deleting the parent string, otherwise using the parent string as an alternative point of interest; a determination module, which determines the point of interest based on the alternative points of interest. Among them, the names of these modules do not constitute a limitation on the modules themselves in some cases. For example, the determination module may also be described as a "module that loops through each address string".

[0177] As another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiment; or it may exist independently and not be assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by a device, the device includes: intercepting an address string from each detailed address in the delivery address library; looping through each address string according to the following steps: using the address string as the mother string and all other address strings as substrings, and determining whether the mother string contains other substrings; if so, deleting the mother string, otherwise using the mother string as an alternative point of interest; determining the point of interest based on the alternative point of interest.

[0178] The technical solution according to the embodiment of the present invention has the following advantages or beneficial effects: the detailed addresses in the e-commerce address database are highly timely, and by using the e-commerce address database as basic data for POI identification and extraction, new logistics distribution POIs can be automatically identified and detected to the greatest extent with high efficiency.

[0179] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A method for extracting points of interest, characterized in that: include: Extract the address string from each detailed address in the delivery address database; Iterate each address string in the order of character length from long to short and in the following steps: take the address string as the main string and all other address strings as substrings, and determine whether the main string contains other substrings; if so, delete the main string, otherwise take the main string as an alternative point of interest; Determining points of interest based on candidate points of interest; Extracting an address string from each detailed address in the delivery address library includes: removing the administrative region prefix in each detailed address, and / or removing the house number in each detailed address; determining whether a preset splitting identifier exists in the remaining detailed addresses; if so, splitting the remaining detailed addresses according to the preset splitting identifier, and using each address obtained by the splitting as the extracted address string; otherwise, using the remaining addresses as the extracted address string; the preset splitting identifiers include: spaces, brackets, and square brackets.

2. The method according to claim 1, characterized in that Determine whether the parent string contains other substrings, including: Step A: intercepting the character string from the head pointer to the tail pointer from the mother string; wherein the head pointer points to the first character of the mother string, and the tail pointer points to the second to last character of the mother string; Step B: Determine whether there is a substring identical to the intercepted string; if so, move the head pointer to the position after the tail pointer and point the tail pointer to the second to last character of the mother string; if not, move the tail pointer forward one position; Step C: Loop through step B until the tail pointer is moved to a position only away from the head pointer and there is still no substring identical to the intercepted string, then jump to step D; Step D: Move the head pointer backward by one position and point the tail pointer to the second to last character of the mother string, and repeat steps B and C until the tail pointer has been moved to a position only away from the head pointer and there is still no substring identical to the intercepted string.

3. The method according to claim 2, characterized in that Each detailed address in the delivery address database corresponds to a delivery site; Before deleting the mother string, the method further includes: counting the total frequency of each intercepted address string appearing in the delivery address library, and the site frequency of each delivery site corresponding to the address string; and respectively adding the total frequency and site frequency of the mother string to the total frequency and site frequency of each corresponding substring; Determining the interest points according to the candidate interest points includes: filtering the candidate interest points according to the total frequency of the candidate interest points, or the total frequency and the site frequency, and taking the candidate interest points remaining after filtering as the interest points.

4. The method according to claim 3, characterized in that Filtering the candidate points of interest according to the total frequency of the candidate points of interest, or the total frequency and the site frequency, includes at least one of the following: Determine the Gini impurity of each candidate interest point according to the total frequency and the site frequency of each candidate interest point, and filter out the candidate interest points whose Gini impurity is greater than a first threshold; Determine the information entropy of each candidate point of interest according to the total frequency and the site frequency of each candidate point of interest, and filter out the candidate points of interest whose information entropy is greater than a second threshold; The candidate interest points whose total frequency is less than or equal to the third threshold are filtered out.

5. The method according to claim 1, characterized in that After extracting the address string from each detailed address in the delivery address library, it also includes: The total frequency of each intercepted address string in the delivery address database and the site frequency of each delivery site corresponding to the address string are counted; each address string is filtered according to the total frequency of each address string, or the total frequency and the site frequency.

6. The method according to claim 5, characterized in that Filtering each address string according to the total frequency of each address string, or the total frequency and the site frequency, includes at least one of the following: Determine the Gini impurity of each address string according to the total frequency and site frequency of each address string, and filter out the address strings whose Gini impurity is greater than a fourth threshold; Determine the information entropy of each address string according to the total frequency and site frequency of each address string, and filter out the address strings whose information entropy is greater than a fifth threshold; The address character strings whose total frequency is less than or equal to the sixth threshold are filtered out.

7. A device for extracting points of interest, characterized in that: include: The interception module intercepts the address string from each detailed address in the delivery address library; The iteration module iterates each address string in the order of character length from long to short and in the following steps: taking the address string as the mother string and all other address strings as substrings, determining whether the mother string contains other substrings; if so, deleting the mother string, otherwise taking the mother string as an alternative point of interest; A determination module, determining points of interest based on candidate points of interest; The interception module is also used to: remove the administrative area prefix in each detailed address, and / or remove the house number in each detailed address; determine whether there is a preset split mark in the remaining detailed address; If it exists, the remaining detailed address is split according to the preset splitting identifier, and each address obtained by the splitting is used as the intercepted address string; Otherwise, the remaining address is used as the intercepted address string; The preset split markers include: space, brackets, and square brackets.

8. The device according to claim 7, characterized in that The iteration module determines whether the mother string contains other substrings, including: Step A: intercepting the character string from the head pointer to the tail pointer from the mother string; wherein the head pointer points to the first character of the mother string, and the tail pointer points to the second to last character of the mother string; Step B: Determine whether there is a substring identical to the intercepted string; if so, move the head pointer to the position after the tail pointer and point the tail pointer to the second to last character of the mother string; if not, move the tail pointer forward one position; Step C: Loop through step B until the tail pointer is moved to a position only away from the head pointer and there is still no substring identical to the intercepted string, then jump to step D; Step D: Move the head pointer backward by one position and point the tail pointer to the second to last character of the mother string, and repeat steps B and C until the tail pointer has been moved to a position only away from the head pointer and there is still no substring identical to the intercepted string.

9. The device according to claim 8, characterized in that Each detailed address in the delivery address database corresponds to a delivery site; The iteration module is also used for: before deleting the mother string, counting the total frequency of each intercepted address string appearing in the delivery address library, and the site frequency of each delivery site corresponding to the address string; respectively adding the total frequency and site frequency of the mother string to the total frequency and site frequency of each corresponding substring; The determination module is further used to filter the candidate points of interest according to the total frequency of the candidate points of interest, or the total frequency and the site frequency, and use the remaining candidate points of interest after filtering as the points of interest.

10. The device according to claim 9, characterized in that The determination module filters each candidate point of interest according to the total frequency of each candidate point of interest, or the total frequency and the site frequency, including at least one of the following: Determine the Gini impurity of each candidate interest point according to the total frequency and the site frequency of each candidate interest point, and filter out the candidate interest points whose Gini impurity is greater than a first threshold; Determine the information entropy of each candidate point of interest according to the total frequency and the site frequency of each candidate point of interest, and filter out the candidate points of interest whose information entropy is greater than a second threshold; The candidate interest points whose total frequency is less than or equal to the third threshold are filtered out.

11. The device according to claim 7, characterized in that The interception module is also used to: after intercepting the address string from each detailed address in the delivery address library, count the total frequency of each intercepted address string appearing in the delivery address library, and the site frequency of each delivery site corresponding to the address string; filter each address string according to the total frequency of each address string, or the total frequency and the site frequency.

12. The device according to claim 11, characterized in that The interception module filters each address string according to the total frequency of each address string, or the total frequency and the site frequency, including at least one of the following: Determine the Gini impurity of each address string according to the total frequency and site frequency of each address string, and filter out the address strings whose Gini impurity is greater than a fourth threshold; Determine the information entropy of each address string according to the total frequency and site frequency of each address string, and filter out the address strings whose information entropy is greater than a fifth threshold; The address character strings whose total frequency is less than or equal to the sixth threshold are filtered out.

13. An electronic device for extracting points of interest, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.

14. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Dictionary updating method and apparatus

    CN105389349A

  • Place name address identifying method

    CN105630765A

  • Map interest point address extraction method and device, server and storage medium

    CN107656913A