Address matching method and related electronic device

By using entity extraction and natural language processing techniques in shipping instructions, combined with logistic regression models, address matching is automatically processed, solving the accuracy and consistency problems of address matching in shipping instructions and achieving more efficient address correction.

CN116171434BActive Publication Date: 2026-04-14MAERSK INC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
MAERSK INC
Filing Date
2021-09-10
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

In the existing technology, address matching in shipping instructions suffers from high error rate, long processing time and poor consistency, and high cost and error-proneness of manual processing.

Method used

By employing electronic devices and methods, address elements are extracted from shipping instructions using entity extraction technology. Natural language processing and logistic regression models are used to calculate similarity scores, and customized weights are combined to determine address matching parameters, thereby achieving automated address recognition and matching.

Benefits of technology

It improves the accuracy and consistency of address matching, reduces processing time, minimizes human intervention, and enables faster and more robust address correction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116171434B_ABST
    Figure CN116171434B_ABST
Patent Text Reader

Abstract

A method for address matching performed by an electronic device is disclosed. The method includes obtaining a first data set indicative of a first address. The method includes determining, based on the first data set, one or more first elements indicative of the first address using an entity extraction technique. The method includes obtaining a second data set based on at least one of the one or more first elements. The method includes that the second data set includes one or more second elements indicative of a second address. The method includes applying a natural language processing (NLP) technique to the first data set and the second data set to obtain one or more similarity scores. The method includes obtaining a set of weights associated with corresponding first elements of the first address.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This disclosure relates to the field of transportation and freight. This disclosure relates to an address matching method and related electronic devices. Background Technology

[0002] During the shipping cycle, once the booking is confirmed, the customer submits Shipping Instructions (SI). The SI can be further used to create a Bill of Lading (B / L). The SI can be considered a key document containing shipping details. The SI includes a section called "Party Information," which includes details of the shipper, consignee, first notify party, and their corresponding postal addresses. The addresses mentioned may already exist in the customer's database. The addresses in the SI can be mapped to addresses in the database.

[0003] However, not all addresses can be successfully mapped. Some addresses have changed (e.g., changes in text arrangement, formatting, errors, spelling mistakes, and / or truncated addresses) and cannot be recognized. Processing such erroneous addresses is time-consuming and can lead to inconsistent handling. Manual processing is error-prone, costly, and time-consuming. Summary of the Invention

[0004] There is a need for technical processes that support the handling of address data. Tools are needed that support address matching and reduce the time spent processing erroneous addresses while maintaining and / or improving accuracy and consistency. For example, the disclosed technology can automatically identify and match addresses between two sources.

[0005] Therefore, there is a need for an electronic device and method for address matching that mitigates, alleviates, or resolves existing drawbacks and provides automated and more time-saving address identification and matching with improved accuracy, coverage, and consistency.

[0006] A method for address matching, performed by an electronic device, is disclosed. The method includes obtaining a first dataset indicating a first address. The method includes using entity extraction techniques based on the first dataset to determine one or more first elements indicating the first address. The method includes obtaining a second dataset based on at least one of the one or more first elements. The method includes the second dataset including one or more second elements indicating a second address. The method includes applying natural language processing (NLP) techniques to the first dataset and the second dataset to obtain one or more similarity scores. The method includes obtaining a set of weights associated with corresponding first elements of the first address. The method includes determining matching parameters based on the set of weights to indicate a match between at least one of the one or more first elements and at least one of the one or more second elements. The method optionally includes outputting the matching parameters.

[0007] An electronic device including memory circuitry, processor circuitry, and interface circuitry is disclosed, wherein the electronic device is configured to perform any of the methods disclosed herein.

[0008] A computer-readable storage medium is disclosed for storing one or more programs, the programs including instructions that, when executed by an electronic device having a display and a touch-sensitive surface, cause the electronic device to perform any of the methods disclosed herein.

[0009] One advantage of this disclosure is that the disclosed electronic devices and methods provide automated and more time-saving address identification and matching with improved accuracy, coverage, and consistency. Therefore, faster address correction can be achieved using the disclosed techniques. This results in more robust handling of address correction in SI and SI.

[0010] In one or more embodiments, this disclosure provides a technique for storing, retrieving, and processing address-related data that improves the storage space used, the accuracy and coverage of address matching, and the speed of processing SI. Attached Figure Description

[0011] The above and other features and advantages of this disclosure will be readily apparent to those skilled in the art from the following detailed description of exemplary embodiments with reference to the accompanying drawings, in which:

[0012] Figures 1A to 1B This is a schematic diagram illustrating the process by which an example electronic device according to this disclosure performs the disclosed technique.

[0013] Figure 2A and Figure 2B This is a flowchart illustrating an exemplary method for address matching performed by an electronic device according to the present disclosure, and

[0014] Figure 3 This is a block diagram illustrating an exemplary electronic device according to the present disclosure. Detailed Implementation

[0015] Various exemplary embodiments and details are described below with reference to the accompanying drawings. It should be noted that the drawings may be drawn to scale or not, and in all drawings, elements having similar structures or functions are indicated by the same reference numerals. It should also be noted that the drawings are intended only to facilitate the description of embodiments. They are not intended as an exhaustive description of this disclosure or as a limitation on the scope of this disclosure. Furthermore, the illustrated embodiments need not possess all the aspects or advantages shown. Aspects or advantages described in connection with a particular embodiment are not necessarily limited to that embodiment and may be practiced in any other embodiment, even if not so shown or so explicitly described.

[0016] For clarity, the accompanying drawings are schematic and simplified, and they show only details that aid in understanding this disclosure, while other details are omitted. Throughout, the same reference numerals are used for the same or corresponding parts.

[0017] Figures 1A to 1B This is a diagram schematically illustrating the process by which an example electronic device according to this disclosure performs the disclosed technology.

[0018] Figure 1A A first dataset 14 indicating the first address 12 is shown. For example, the first dataset 14 indicating the first address 12 can be obtained from shipping instructions. The first address 12 can be considered as an input address. The source and / or structure of the first dataset can be shipping instructions. For example, the first dataset can be obtained based on a customer address, which is free text provided by the customer in shipping instructions as input.

[0019] An example of the first dataset indicating the first address can be in the following form:

[0020]

[0021] Using entity extraction technique 16, one or more first elements 17, 18, 19, 20 indicating the first address 12 are determined based on the first dataset 14.

[0022] A second dataset 24 is obtained based on at least one of the first elements 17, 18, 19, 20 (e.g., by performing search 22). The second dataset 24 includes one or more second elements indicating a second address. The second dataset 24 can be considered to include corresponding database matches (such as database matches corresponding to the first address).

[0023] In other words, the first address, serving as the input address, includes one or more first elements, which can be extracted as entities such as customer transaction name, street name, city, country, phone number, email ID, and tax reference number. These entities are extracted using NLP techniques and used to search for matching addresses in the customer database to generate a second dataset. Different entities are searched in the customer database, and the 50 closest matching addresses are retrieved as first-level search results, for example, and incorporated into the second dataset as the second address.

[0024] Natural Language Processing (NLP) techniques 26 are applied to the first dataset 14 and the second dataset 24 to obtain one or more similarity scores 28. NLP techniques (such as approximate sentence matching techniques) are used to compare the retrieved second addresses from the second dataset with the first addresses to obtain similarity scores.

[0025] A similarity score can be viewed as a parameter indicating the similarity between a first element and a second element, for example, to quantify the similarity between the two elements. The similarity score can be associated, for example, with a second element of a second dataset to indicate how similar the second element is to its corresponding first element. For instance, a similarity score indicating street names can indicate how similar a second element associated with a street name is to its corresponding first element associated with the same street name.

[0026] For example, each word in the first address is assigned the same weight in NLP to achieve a similarity score in the second dataset. However, it can be seen that some words are given more importance than others, such as more weight, when determining the final matching address. For instance, words in the customer transaction name have a greater impact on the results than city or country names.

[0027] The disclosed technique assigns different weights to different words when determining the final match between the first element of the first address and the corresponding second element of the second address, with the matching parameter set as the first element. These weights are obtained through predictive analytics to calculate the influence of different words at the first address on the decision outcome, and this can be accomplished, for example, by analyzing many first addresses (such as thousands of first addresses) and their corresponding second addresses (such as corresponding database matches).

[0028] In operation 30, a set of weights associated with the corresponding first element of the first address is obtained and applied in NLP techniques to determine matching parameters 32 that indicate a match between at least one of one or more first elements and at least one of one or more second elements. In other words, the set of weights is considered as a set of improved weights, such as a set of customized weights tailored to the first address.

[0029] Figure 1B Example embodiments illustrating the processes disclosed according to aspects of this disclosure are shown. Figure 1B In the process, the first dataset indicating the first address was obtained.

[0030] Entity extraction techniques are used to determine one or more primary elements (such as customer transaction name, street name, email ID, phone number) that indicate a primary address based on a primary dataset. For example, the primary address (e.g., from a physical document) is fed into the system via PDF extraction or similar tools. The primary address includes multiple entities such as customer transaction name, street name, email ID, phone number, and tax reference. For instance, the primary address may be free text, may not follow a specific format, and may contain numerous errors or anomalies. Entities are extracted with the aid of a custom address resolution algorithm.

[0031] A second dataset is obtained based on at least one of the first elements (e.g., by performing search 22). For example, to reduce the system's time complexity, similarity scores can be calculated for the most likely addresses (a portion of the second dataset). A search service can be used to extract the most likely set of addresses as the second dataset. A search service can be created using all addresses present in the system. Entities extracted from the first address resolution are used as criteria in the search.

[0032] Natural Language Processing (NLP) techniques (such as cosine similarity) are applied to a first dataset and a second dataset to obtain one or more similarity scores associated with corresponding second elements in the second dataset. The second dataset and the first address returned from a search service are fed into NLP techniques, such as the cosine similarity algorithm. The NLP techniques calculate similarity scores associated with the second elements forming the second dataset, such as the cosine similarity score for each record in the second dataset.

[0033] A set of weights associated with the corresponding first element of the first address is obtained and applied to NLP techniques in a custom machine learning approach to determine, for example, a final matching address with an optional modified similarity score. For instance, the set of weights is generated by processing historical data using a logistic regression model to compute the influence factors of different words of the first address on the outcome.

[0034] It should be noted that cosine similarity measures the similarity between two documents. A document can be defined as an address, sentence, or paragraph. The default cosine similarity algorithm assigns equal weight to all words in the input document to determine the final match. However, in practice, different words in a document have different effects on the decision. This disclosure utilizes regression analysis to propose customized weights for each token or word in the input to achieve the desired result. The disclosed technique results in a 99% accuracy (compared to 95% for conventional cosine similarity) and improves the recall of matching addresses to 80% (compared to 70%).

[0035] In other words, once a normal similarity score is obtained using NLP techniques, the next step is to obtain a refined similarity score for the obtained group output addresses using customized weights. For example, the top address (e.g., the one with the highest refined similarity score) is considered the final output. For a final matching address, if the refined similarity score is equal to or greater than 0.5, the final output is considered a match; otherwise, if the score is less than 0.5, it is declared that no matching address was found.

[0036] Figure 2A and Figure 2BThis illustrates an electronic device (such as the electronic device disclosed herein, such as...) according to this disclosure. Figure 3 The flowchart illustrates an example method 100 for address matching executed by an electronic device 300. The electronic device includes memory circuitry, processor circuitry, and an interface. The disclosed method can be considered as a method for matching text strings. The disclosed techniques are applicable to any type of text string, including text strings that are not addresses.

[0037] Method 100 includes obtaining a first dataset indicating a first address (e.g., via an interface and / or processor circuitry) in S102. For example, the first dataset indicating the first address can be obtained from shipping instructions. The first address can be considered an input address. For example, the first dataset can be extracted from shipping instructions. In one or more example methods, obtaining the first dataset in S102 includes obtaining the first dataset in S102A (e.g., retrieving and / or receiving) (e.g., via an interface and / or processor circuitry) from one or more first systems. In one or more example methods, the one or more first systems are operating systems. In one or more example methods, the one or more operating systems include one or more of the following: a shipping system, an invoice system, and a case management system.

[0038] Method 100 includes using entity extraction techniques to determine one or more first elements indicating a first address in S104 (e.g., via processor circuitry) based on a first dataset. Entity extraction techniques can be considered as information extraction techniques capable of automatically extracting entities from sources of unstructured and / or semi-structured machine-readable text or documents, as well as other electronic representations.

[0039] For example, one or more first elements can be considered as one or more first entities generated by entity extraction techniques. In one or more example methods, entity extraction techniques include one or more of the following: parsing techniques and element extraction techniques. For example, entity extraction techniques may use delimiters, for example, to parse the first dataset. For example, entity extraction techniques may use optical character recognition (OCR). For example, entity extraction techniques may use named entity recognition (NER) (e.g., training a model with an entity dictionary). For example, delimiters may be used to extract distinct entities.

[0040] Method 100 includes obtaining (e.g., retrieving and / or receiving) a second dataset of S105 (e.g., via an interface and / or processor circuitry) based on at least one of one or more first elements. The second dataset includes one or more second elements indicating second addresses. The one or more second elements may indicate one or more second addresses. In one or more example methods, selecting at least one of one or more first elements (e.g., less than all) yields the second dataset. In one or more example methods, obtaining the S105 second dataset based on at least one of one or more first elements includes: searching for one or more second systems of S105A (e.g., via processor circuitry) using one or more search criteria. In one or more example methods, the one or more search criteria are based on one or more first elements. For example, searching for one or more second systems generates the second dataset. For example, the second dataset can be viewed as a set of search results obtained using a search based on selected entities. In other words, addresses of one or more second systems are filtered out to obtain fewer second elements. In one or more example methods, obtaining the S105 second dataset based on at least one of one or more first elements includes: obtaining the S105B (e.g., via an interface and / or processor circuitry) second dataset from one or more second systems based on at least one of one or more first elements. In one or more example methods, one or more second systems include a customer management system and / or a customer database.

[0041] Method 100 includes applying Natural Language Processing (NLP) techniques (S106, e.g., via processor circuitry) to a first dataset and a second dataset to obtain one or more similarity scores. NLP techniques can be considered computational techniques capable of processing and analyzing natural language data in speech, such as speech or text. In this disclosure, NLP techniques are applied to text. In one or more example methods, applying NLP techniques (S106) to the first dataset and the second dataset to obtain one or more similarity scores includes: comparing one or more first elements with one or more second elements of the second dataset using an approximate sentence matching technique (S106A, e.g., via processor circuitry). In other words, for example, obtaining one or more sine and cosine similarity scores for one or more second elements of the second dataset (e.g., a list of addresses obtained from a search).

[0042] Method 100 includes obtaining a set of weights (e.g., via an interface and / or processor circuitry) associated with a corresponding first element of a first address in S108. In one or more example methods, obtaining the set of weights in S108 includes: applying a logistic regression model to one or more similarity scores based on a first dataset and a second dataset, and optionally using historical similarity scores to obtain the set of weights. Historical similarity scores are considered previous similarity scores. LR can be used to model the probability of the existence of a class or event (such as pass / fail, match / no match). LR can be used to model several classes of events (such as determining whether an address contains a certain street name). Each element detected in the address can be assigned a probability between 0 and 1, summing to one.

[0043] In one or more example methods, applying the logistic regression model to one or more similarity scores to obtain the group weights includes: determining the group weights of S108AA (e.g., via processor circuitry) based on a comparison of at least one of the first elements and the corresponding second element.

[0044] In S106, one or more similarity scores are obtained by assigning equal weights to all second elements in the second dataset. In this disclosure, the group weights can be viewed as customized weights for the second elements of the second dataset to obtain refined similarity scores. For example, the group weights are not generated using logistic regression (LR) during runtime (e.g., not performed every other address match). For example, LR is performed occasionally, such as in a one-off event, when training the group weights. The weights can be derived based on the LR model because this will contribute to the weights if a match exists.

[0045] For example, the input to LR includes dependent and independent variables, and the output of LR is a set of weights for the second element of the second dataset (such as all entities in the first and / or second addresses). The independent variables indicate the presence of distinct elements (e.g., entities) in the addresses (e.g., comparing the input and the final match output). The independent variables include similarity scores. The dependent variable indicates the final match status (e.g., match or no match) comparing the first and second addresses, such as the final match output. The final match output can be evaluated through human auditing.

[0046] In some implementations, LR and / or NLP can be trained using artificial intelligence and / or supervised or unsupervised machine learning, and the machine learning program can employ neural networks, which can be convolutional neural networks, deep learning neural networks, or combined learning modules or programs that learn in two or more domains or aspects of interest. Machine learning may involve identifying and discerning patterns in existing data in order to make predictions on subsequent data. Models can be created based on example inputs to make effective and reliable predictions on new inputs.

[0047] Alternatively or concurrently, machine learning programs can be trained by inputting sample datasets or other data, such as image data, text data, report data, and / or numerical analysis. Machine learning programs can utilize deep learning algorithms, which may focus primarily on pattern recognition and can be trained after processing multiple examples. Machine learning programs may include object recognition, optical character recognition, and / or natural language processing, individually or in combination. Machine learning programs may also include natural language processing, semantic analysis, and / or automated reasoning.

[0048] In supervised machine learning, sample inputs and their associated outputs can be provided to a processing element, which can then seek to discover general rules that map the inputs to the outputs, such that when subsequent new inputs are provided, the processing element can accurately predict the correct output based on the discovered rules. In unsupervised machine learning, the processing element may need to find its own structure within unlabeled sample inputs. In some implementations, machine learning techniques can be used to extract data and / or other data about a computer device, its user, the computer network hosting the computer device, services performed on the computer device, etc.

[0049] Based on these analyses, the processing element can learn how to identify features and patterns, which can then be applied to training models, analyzing addresses and text strings, and detecting matches.

[0050] Method 100 includes determining a matching parameter based on the set of weights (e.g., via processor circuitry) indicating a match between at least one of one or more first elements and at least one of one or more second elements in S110. For example, in NLP techniques, the matching parameter can be determined using a set of weights. A set of weights associated with the corresponding first element of a first address is obtained and applied to NLP techniques in custom machine learning to determine the matching parameter. The matching parameter can be considered as a parameter indicating the degree of match between the first element(s) and the corresponding second element(s). The matching parameter can indicate a match or no match. For example, the matching parameter can indicate 1 or 0, where 1 indicates 100% match and 0 indicates no match at all. For example, the matching parameter can indicate a number between 0 and 1 that needs to be compared with a criterion before identifying a match / no match.

[0051] In an illustrative example applying the disclosed technique, logistic regression is run with a dependent variable (e.g., the one to be predicted) and independent variables (e.g., features used for prediction). Based on these features, address matching can be predicted as successful or unsuccessful. In this example, the variables used may include one or more of the following: independent variable = ['namepresent', 'addresspresent', 'emailpresent', 'phone_num_present', 'Cosine_Score', 'Azure_Search_Score', 'Count_of_Matching_numbers']; dependent variable = ['success'].

[0052] In the example described, the following equation can be performed:

[0053]

[0054] Where p represents the probability of matching parameters (when p>=0.5, success = 1; when p<0.5, failure = 0), a is a constant value, X0 is the value of the variable namepresent indicating the existence of a name [0 / 1], X1 is the value of the variable addresspresent indicating the existence of an address [0 / 1], X2 is the value of the variable emailpresent indicating the existence of an email address [0 / 1], X3 is the value of the variable ph_num_present indicating the existence of a phone number [0 / 1], X4 is the value of the cosine similarity score Cosine_Score [varies between 0 and 1], X5 is the value of Azure_Search_Score [numerical], and X6 is the value of Count_of_Matching_numbers [numerical].

[0055] The coefficients can be viewed as a set of weights obtained by applying logistic regression, and can be as follows: B0 = dependency coefficient of X0; B1 = dependency coefficient of X1; B2 = dependency coefficient of X2; B3 = dependency coefficient of X3; B4 = dependency coefficient of X4; B5 = dependency coefficient of X5; and B6 = dependency coefficient of X6. For example, the following coefficients are calculated from logistic regression: a = -6.19; B0 = 2.3697863; B1 = 0.10784766; B2 = 1.49094974; B3 = 0.65098831; B4 = 5.99906035; B5 = 0.6030922; B6 = 0.97430007.

[0056] In one or more example methods, determining the matching parameters of S110, which indicate a match between at least one of one or more first elements and at least one of one or more second elements, using the group weights, includes: calculating an updated similarity score for each second element at a second address of S110A (e.g., via processor circuitry). The updated similarity score can be considered a refined similarity score. In one or more example methods, determining the matching parameters of S110 using the group weights includes: determining whether the updated similarity score of S110B meets a criterion. The criterion can be based on a threshold, wherein the criterion is met when the matching parameters are equal to or higher than the threshold, and wherein the criterion is not met when the matching parameters are lower than the threshold.

[0057] In one or more example methods, using the group weights to determine the S110 matching parameter includes: when the updated similarity score is determined to meet the criteria, determining the S110D (e.g., via processor circuitry) matching parameter as a successful match between the second element of the second address and the corresponding first element of the first address. In one or more example methods, using the group weights to determine the S110 matching parameter includes: when the updated similarity score is determined to not meet the criteria, determining the S110C matching parameter as a failed match between the first address and the second address. For example, when an updated or refined similarity score is calculated using a set of weights (e.g., custom weights), a matching parameter less than 0.5 is considered a mismatch and a matching parameter equal to or greater than 0.5 is considered a match.

[0058] Method 100 includes outputting matching parameters (e.g., via an interface and / or processor circuitry) S111. The output matching parameters can indicate a similarity score that has been updated or refined using the group weights. For example, the matching parameters can be output from one part of the processor circuitry to another, such as from a matching parameter generator circuitry to a correction circuitry of an electronic device, allowing a first address to be corrected based on the matching parameters. The disclosed method allows for results with 99% accuracy and greater coverage (e.g., how many addresses are covered).

[0059] In one or more example methods, the NLP technique includes cosine similarity. In one or more example methods, one or more similarity scores are cosine similarity scores. Cosine similarity can be viewed as a measure of the similarity between two non-zero vectors (the first and second elements in this disclosure) in an inner product space. Cosine similarity can be defined as equal to the cosine of the angle between the two vectors, which is also the same as the inner product of identical vectors normalized to both having a length of 1. For example, each element can be conceptually assigned a different dimension and an address can be represented by a vector, where the value in each dimension corresponds to the number of times the element appears in the address. Cosine similarity then provides a useful measure of how similar two addresses may be in terms of their elements.

[0060] In one or more example methods, applying NLP techniques S106 (e.g., via processor circuitry) to a first dataset and a second dataset to obtain one or more similarity scores includes: generating one or more cosine similarity scores S106B (e.g., via processor circuitry) for each second element of the second dataset.

[0061] In one or more example methods, method 100 includes correcting S112 (e.g., via processor circuitry) a first address according to a matching parameter. In one or more example methods, a second address is the corrected address.

[0062] Figure 3 A block diagram of an exemplary electronic device 300 according to the present disclosure is shown. The electronic device 300 includes memory circuitry 301, processor circuitry 302, and interface 303. The electronic device 300 is configured to perform... Figure 2A and Figure 2B Any method disclosed herein. In other words, electronic device 300 is configured for address matching or matching text strings. For example, the electronic device disclosed herein, such as electronic device 300, could be a shipping information processing device. For example, the electronic device disclosed herein, such as electronic device 300, could be an address correction device. For example, the electronic device disclosed herein, such as electronic device 300, could be an invoice processing device.

[0063] Electronic device 300 is configured to obtain (e.g., via processor circuitry 302) a first dataset indicating a first address.

[0064] Electronic device 300 is configured to use entity extraction techniques to determine (e.g., via processor circuitry 302) one or more first elements indicating a first address based on a first dataset.

[0065] Electronic device 300 is configured to obtain (e.g., via processor circuitry 302 and / or interface 303) a second dataset based on at least one of one or more first elements, wherein the second dataset includes one or more second elements indicating a second address.

[0066] The electronic device 300 is configured to apply natural language processing (NLP) techniques (e.g., via processor circuitry 302) to a first dataset and a second dataset to obtain one or more similarity scores.

[0067] Electronic device 300 is configured to obtain (e.g., via processor circuitry 302 and / or interface 303 and / or from memory circuitry 301) a set of weights associated with a corresponding first element at a first address.

[0068] Electronic device 300 is configured to determine (e.g., via processor circuitry 302) a matching parameter indicating a match between at least one of one or more first elements and at least one of one or more second elements, based on the group weights.

[0069] Optionally, the electronic device 300 is configured to output matching parameters.

[0070] Processor circuit 302 is optionally configured to execute Figure 2A and Figure 2B Any operation disclosed herein (such as any one or more of S102A, S104A, S105A, S105B, S106A, S106B, S108A, S108AA, S110A, S110B, S110C, S110D, S112). The operation of electronic device 300 may be embodied in the form of executable logic routines (e.g., lines of code, software programs, etc.) stored on a non-transitory computer-readable medium (e.g., memory circuitry 301) and executed by processor circuitry 302.

[0071] Furthermore, the operation of electronic device 300 can be considered as a method configured to be performed by electronic device 300. Additionally, while the described functions and operations can be implemented in software, such functions can also be implemented via dedicated hardware or firmware, or some combination of hardware, firmware, and / or software.

[0072] The memory circuit 301 may be one or more of a buffer, flash memory, hard disk drive, removable media, volatile memory, non-volatile memory, random access memory (RAM), or other suitable devices. In a typical arrangement, the memory circuit 301 may include non-volatile memory for long-term data storage and volatile memory used as system memory for the processor circuit 302. The memory circuit 301 may exchange data with the processor circuit 302 via a data bus. Control lines and an address bus may also exist between the memory circuit 301 and the processor circuit 302. Figure 3 (Not shown in the image). Memory circuit 301 is considered a non-transitory computer-readable medium.

[0073] The memory circuit 301 can be configured to store the group weights in a portion of the memory.

[0074] In some implementations, the electronic device 300 can act as a user device.

[0075] In some implementations, electronic device 300 can act as a server device.

[0076] The implementation of the methods and products (electronic devices) according to this disclosure is set forth in the following terms:

[0077] 1. A method for address matching performed by an electronic device, the method comprising:

[0078] - Obtain the first dataset indicating the first address (S102).

[0079] - Based on the first dataset, use entity extraction technology to determine (S104) one or more first elements indicating the first address;

[0080] - Based on at least one of the one or more first elements, obtain (S105) a second dataset, wherein the second dataset includes one or more second elements indicating a second address;

[0081] - Apply Natural Language Processing (NLP) techniques (S106) to the first dataset and the second dataset to obtain one or more similarity scores.

[0082] - Obtain (S108) a set of weights associated with the corresponding first element of the first address;

[0083] - Based on the group weights, determine (S110) matching parameters indicating a match between at least one of the one or more first elements and at least one of the one or more second elements; and

[0084] - Output the matching parameters (S111).

[0085] 2. The method according to Clause 1, wherein the entity extraction technique includes one or more of the following: parsing techniques and element extraction techniques.

[0086] 3. The method according to any one of the preceding clauses, wherein obtaining (S105) the second dataset based on at least one of the one or more first elements comprises: searching (S105A) one or more second systems using one or more search criteria, wherein the one or more search criteria are based on the one or more first elements.

[0087] 4. The method according to any one of the preceding clauses, wherein obtaining the group weights (S108) comprises: applying a logistic regression model (S108A) to the one or more similarity scores based on the first dataset and the second dataset.

[0088] 5. The method according to any one of the preceding clauses, wherein applying the NLP technique (S106) to the first dataset and the second dataset to obtain the one or more similarity scores comprises: using an approximate sentence matching technique to compare (S106A) the one or more first elements with one or more second elements of the second dataset.

[0089] 6. The method according to any one of the preceding clauses, wherein the NLP technique includes cosine similarity technique.

[0090] 7. The method according to Clause 6, wherein the one or more similarity scores are cosine similarity scores.

[0091] 8. The method according to any one of Clauses 6 to 7, wherein applying the NLP technique (S106) to the first dataset and the second dataset to obtain one or more similarity scores comprises: generating (S106B) the one or more cosine similarity scores for each second element of the second dataset.

[0092] 9. The method according to any of the preceding clauses subordinate to Clause 4, wherein applying the logistic regression model (S108A) to the one or more similarity scores to obtain the group weights comprises:

[0093] - The group weight is determined based on a comparison between at least one of the first elements and the corresponding second element (S108AA).

[0094] 10. The method according to any one of the preceding clauses, wherein using the group weight to determine (S110) the matching parameter indicating a match between at least one of the one or more first elements and at least one of the one or more second elements comprises:

[0095] - Calculate (S110A) the updated similarity score for each second element at the second address;

[0096] - Determine whether the updated similarity score described in (S110B) meets the criteria, and

[0097] - When it is determined that the updated similarity score meets the criteria, it is determined (S110D) that the matching parameter is a successful match between the second element of the second address and the corresponding first element of the first address.

[0098] 11. The method according to any one of the preceding clauses, the method comprising correcting (a) the first address according to the matching parameter.

[0099] 12. The method according to any one of the preceding clauses, wherein obtaining (S102) the first dataset includes obtaining (S102A) the first dataset from one or more first systems, wherein the one or more first systems are one or more operating systems, wherein the one or more operating systems include one or more of the following: a shipping system, an invoice system, and a case management system.

[0100] 13. The method according to any one of the preceding clauses, wherein obtaining (S105) a second dataset based on at least one of the one or more first elements comprises: obtaining (S105B) a second dataset from the one or more second systems based on at least one of the one or more first elements, wherein the one or more second systems include a customer management system and / or a customer database.

[0101] 14. The method according to any one of the preceding clauses, wherein the second address is a corrected address.

[0102] 15. An electronic device comprising memory circuitry, processor circuitry, and a wireless interface, wherein the electronic device is configured to perform any one of the methods described in any one of clauses 1 to 14.

[0103] 16. A computer-readable storage medium storing one or more programs, said one or more programs including instructions that, when executed by an electronic device, cause the electronic device to perform any of the methods described in clauses 1 to 14.

[0104] The use of the terms "first," "second," "third," and "fourth," "first level," "second level," and "third level," etc., does not imply any particular order, but is included to identify individual elements. Furthermore, the use of the terms "first," "second," "third," and "fourth," "first level," "second level," and "third level," etc., does not indicate any order or importance, but is used to distinguish one element from another. Note that the words "first," "second," "third," and "fourth," "first level," "second level," and "third level," etc., here and elsewhere, are used solely for labelling purposes and are not intended to indicate any particular spatial or temporal order. Moreover, the labeling of a first element does not imply the existence of a second element, and vice versa.

[0105] Understandable. Figures 1A to 3 This includes some circuits or operations shown in solid lines and some circuits or operations shown in dashed lines. The circuits or operations included in the solid lines are those included in the most broad exemplary embodiments. The circuits or operations included in the dashed lines are exemplary embodiments that may be included in, part of, or be part of, other circuits or operations that may be employed besides the circuits or operations of the exemplary embodiments shown in solid lines. It should be understood that these operations do not need to be performed in the order presented. Furthermore, it should be understood that not all operations need to be performed. The exemplary operations can be performed in any order and in any combination.

[0106] It should be noted that the word "includes" does not necessarily exclude the presence of other elements or steps besides those listed.

[0107] It should be noted that the word "a (or an)" preceding an element does not preclude the existence of multiple such elements.

[0108] It should also be noted that no reference numerals in the drawings limit the scope of the claims, exemplary embodiments can be implemented at least in part by means of both hardware and software, and several “means,” “units,” or “devices” can be represented by the same hardware item.

[0109] The various exemplary methods, apparatuses, nodes, and systems described herein are described in the general context of method steps or processes, which in one aspect may be implemented by a computer program product implemented in a computer-readable medium, including computer-executable instructions, such as program code, executed by a computer in a networked environment. Computer-readable media may include removable and non-removable storage devices, including but not limited to read-only memory (ROM), random access memory (RAM), optical disc (CD), digital versatile optical disc (DVD), etc. Typically, program circuitry may include routines, programs, objects, components, data structures, etc., that perform a particular task or implement a particular abstract data type. Computer-executable instructions, associated data structures, and program circuitry represent examples of program code for performing steps of the methods disclosed herein. Specific sequences of such executable instructions or associated data structures represent examples of corresponding actions for implementing the functionality described in such steps or processes.

[0110] Although features have been shown and described, it should be understood that they are not intended to limit the claimed disclosure, and it will be apparent to those skilled in the art that various changes and modifications can be made without departing from the scope of the claimed disclosure. Accordingly, the specification and drawings are to be considered illustrative rather than restrictive. The claimed disclosure is intended to cover all alternatives, modifications, and equivalents.

Claims

1. A method for address matching performed by an electronic device, the method comprising: - Obtain the first dataset indicating the first address (S102). - Based on the first dataset, use entity extraction technology to determine (S104) one or more first elements indicating the first address; - Based on at least one of the one or more first elements, obtain (S105) a second dataset, wherein the second dataset includes one or more second elements indicating a second address; - Apply Natural Language Processing (NLP) techniques (S106) to the first dataset and the second dataset to obtain one or more similarity scores. - Obtain (S108) a set of weights associated with the corresponding first element of the first address; - Based on the group weights, determine (S110) matching parameters indicating a match between at least one of the one or more first elements and at least one of the one or more second elements; - Output the matching parameters described in (S111); as well as - Correct the first address according to the matching parameters (S112).

2. The method according to claim 1, wherein the entity extraction technique includes one or more of the following: parsing technique and element extraction technique.

3. The method according to any one of the preceding claims, wherein obtaining (S105) the second dataset based on at least one of the one or more first elements comprises: Search one or more second systems using one or more search criteria (S105A), wherein the one or more search criteria are based on the one or more first elements.

4. The method according to any one of claims 1 to 2, wherein obtaining the group weights (S108) comprises: Based on the first dataset and the second dataset, the logistic regression model is applied (S108A) to the one or more similarity scores.

5. The method according to any one of claims 1 to 2, wherein applying the NLP technique (S106) to the first dataset and the second dataset to obtain the one or more similarity scores comprises: An approximate sentence matching technique is used to compare (S106A) one or more first elements with one or more second elements of the second dataset.

6. The method according to claim 1, wherein the NLP technique includes cosine similarity technique.

7. The method of claim 6, wherein the one or more similarity scores are cosine similarity scores.

8. The method according to any one of claims 6 to 7, wherein applying the NLP technique (S106) to the first dataset and the second dataset to obtain one or more similarity scores comprises: Generate one or more cosine similarity scores for each second element of the second dataset (S106B).

9. The method of claim 4, wherein applying the logistic regression model (S108A) to the one or more similarity scores to obtain the group weights comprises: - The group weight is determined based on a comparison between at least one of the first elements and the corresponding second element (S108AA).

10. The method according to any one of claims 1 to 2, wherein using the group weights to determine (S110) the matching parameters indicating a match between at least one of the one or more first elements and at least one of the one or more second elements comprises: - Calculate (S110A) the updated similarity score for each second element at the second address; - Determine whether the updated similarity score described in (S110B) meets the criteria, and - When it is determined that the updated similarity score meets the criteria, it is determined (S110D) that the matching parameter is a successful match between the second element of the second address and the corresponding first element of the first address.

11. The method according to any one of claims 1 to 2, wherein obtaining (S102) the first dataset comprises obtaining (S102A) the first dataset from one or more first systems, wherein the one or more first systems are one or more operating systems, wherein the one or more operating systems include one or more of the following: a shipping system, an invoice system, and a case management system.

12. The method according to any one of claims 1 to 2, wherein obtaining (S105) the second dataset based on at least one of the one or more first elements comprises: A second dataset is obtained from the one or more second systems based on at least one of the one or more first elements (S105B), wherein the one or more second systems include a customer management system and / or a customer database.

13. The method according to any one of claims 1 to 2, wherein the second address is a corrected address.

14. An electronic device comprising memory circuitry, processor circuitry, and a wireless interface, wherein the electronic device is configured to perform any one of the methods of claims 1 to 13.

15. A computer-readable storage medium storing one or more programs, said one or more programs comprising instructions that, when executed by an electronic device, cause the electronic device to perform any one of the methods of claims 1 to 13.

Citation Information

Patent Citations

  • Method and system for matching address

    CN101350012A

  • Identification of textual similarity

    US20180137090A1