Apparatuses, methods and systems for a smart address parser
First Claim
1. An address-parsing processor-implemented method, comprising:
- reading a list of states, including corresponding state variants, from a state database into a cached state array;
receiving an input address string;
trimming spaces from ends of the input address string;
replacing each instance of punctuation in the input address string with a space;
replacing each instance of multiple adjacent spaces in the input address string with a single space;
splitting the input address string by the single space delimiters into a plurality of address components;
associating each of the plurality of address components with an element of an input address array;
locating at least one input address array state element corresponding to a matching state from the cached state array by a serially telescoping state search;
recording the matching state;
dropping the at least one input address array state element from the input address array;
reading a list of cities associated with the matching state, including corresponding city variants, into a cached city array;
locating at least one input address array city element corresponding to a matching city from the cached city array by a serially telescoping city search;
recording the matching city;
dropping the at least one input address array city element from the input address array;
reading a list of streets associated with the matching city and the matching state, including corresponding street variants, into a cached street array;
locating at least one input address array street element corresponding to a matching street from the cached street array by a serially telescoping street search;
recording the matching street;
dropping the at least one input address array street element from the input address array;
reading a list of street prefixes and street suffixes associated with the matching street into the cache;
comparing the list of street prefixes and street suffixes with the input address array to identify any matching street prefixes and street suffixes;
searching the input address array for a numerical element;
recording the numerical element as a house address;
dropping the numerical element from the input address array; and
providing the matching state, matching city, matching street, and the house address.
1 Assignment
0 Petitions
Accused Products
Abstract
The apparatus, methods and systems for a smart address parser (hereinafter, “SAP”) described herein implement a text parser whereby users may enter a text string, such as manually via an input field. The SAP processes the input address string to extract address elements for storage, display, reporting, and/or use in a wide variety of back-end applications. In various embodiments and implementations, the SAP may facilitate: separation and identification of address components regardless of the order in which they are supplied in the input address string; supplementation of missing address information; correction and/or recognition of misspelled terms, abbreviations, alternate names, and/or the like variants of address elements; recognition of unique addresses based on minimal but sufficient input identifiers; and/or the like.
16 Citations
3 Claims
-
1. An address-parsing processor-implemented method, comprising:
-
reading a list of states, including corresponding state variants, from a state database into a cached state array; receiving an input address string; trimming spaces from ends of the input address string; replacing each instance of punctuation in the input address string with a space; replacing each instance of multiple adjacent spaces in the input address string with a single space; splitting the input address string by the single space delimiters into a plurality of address components; associating each of the plurality of address components with an element of an input address array; locating at least one input address array state element corresponding to a matching state from the cached state array by a serially telescoping state search; recording the matching state; dropping the at least one input address array state element from the input address array; reading a list of cities associated with the matching state, including corresponding city variants, into a cached city array; locating at least one input address array city element corresponding to a matching city from the cached city array by a serially telescoping city search; recording the matching city; dropping the at least one input address array city element from the input address array; reading a list of streets associated with the matching city and the matching state, including corresponding street variants, into a cached street array; locating at least one input address array street element corresponding to a matching street from the cached street array by a serially telescoping street search; recording the matching street; dropping the at least one input address array street element from the input address array; reading a list of street prefixes and street suffixes associated with the matching street into the cache; comparing the list of street prefixes and street suffixes with the input address array to identify any matching street prefixes and street suffixes; searching the input address array for a numerical element; recording the numerical element as a house address; dropping the numerical element from the input address array; and providing the matching state, matching city, matching street, and the house address.
-
-
2. An address-parsing apparatus, comprising:
-
a memory; a processor disposed in communication with the memory, and configured to issue a plurality of processing instructions stored in the memory, wherein the instructions include; read a list of states, including corresponding state variants, from a state database into a cached state array; receive an input address string; trim spaces from ends of the input address string; replace each instance of punctuation in the input address string with a space; replace each instance of multiple adjacent spaces in the input address string with a single space; split the input address string by the single space delimiters into a plurality of address components; associate each of the plurality of address components with an element of an input address array; locate at least one input address array state element corresponding to a matching state from the cached state array by a serially telescoping state search; record the matching state; drop the at least one input address array state element from the input address array; read list of cities associated with the matching state, including corresponding city variants, into a cached city array; locate at least one input address array city element corresponding to a matching city from the cached city array by a serially telescoping city search; record the matching city; drop the at least one input address array city element from the input address array; read a list of streets associated with the matching city and the matching state, including corresponding street variants, into a cached street array; locate at least one input address array street element corresponding to a matching street from the cached street array by a serially telescoping street search; record the matching street; drop the at least one input address array street element from the input address array; read a list of street prefixes and street suffixes associated with the matching street into the cache; compare the list of street prefixes and street suffixes with the input address array to identify any matching street prefixes and street suffixes; search the input address array for a numerical element; record the numerical element as a house address; drop the numerical element from the input address array; and provide the matching state, matching city, matching street, and the house address.
-
-
3. An address-parsing processor-accessible non-transitory medium, comprising:
a plurality of processor-issuable instructions, wherein the instructions include; read a list of states, including corresponding state variants, from a state database into a cached state array; receive an input address string; trim spaces from ends of the input address string; replace each instance of punctuation in the input address string with a space; replace each instance of multiple adjacent spaces in the input address string with a single space; split the input address string by the single space delimiters into a plurality of address components; associate each of the plurality of address components with an element of an input address array; locate at least one input address array state element corresponding to a matching state from the cached state array by a serially telescoping state search; record the matching state; drop the at least one input address array state element from the input address array; read list of cities associated with the matching state, including corresponding city variants, into a cached city array; locate at least one input address array city element corresponding to a matching city from the cached city array by a serially telescoping city search; record the matching city; drop the at least one input address array city element from the input address array; read a list of streets associated with the matching city and the matching state, including corresponding street variants, into a cached street array; locate at least one input address array street element corresponding to a matching street from the cached street array by a serially telescoping street search; record the matching street; drop the at least one input address array street element from the input address array; read a list of street prefixes and street suffixes associated with the matching street into the cache; compare the list of street prefixes and street suffixes with the input address array to identify any matching street prefixes and street suffixes; search the input address array for a numerical element; record the numerical element as a house address; drop the numerical element from the input address array; and provide the matching state, matching city, matching street, and the house address.
Specification