4 ms·
BTW, I'm a guy who has been building address parsing software since 2005. ( geocoder.ca, geocode.xyz ) It is HARD. Currently I'm using machine learning similar
by eruci 8y ago
BTW, I'm a guy who has been building address parsing software since 2005. ( geocoder.ca, geocode.xyz ) It is HARD.
Currently I'm using machine learning similarly to libpostal to improve my software.
It works better than libpostal in some cases (for eg:
USA:
Start libpostal: 751 FAiR OKS AVENUE PASADNA CA
road => fair oks avenue pasadna
state => ca
house_number => 751
Geocoder.ca 751 FAiR OKS AVENUE PASADNA CA
https://geocoder.ca/?locate=751+FAiR+OKS+AVENUE+++PASADNA+CA&geoit=x https://geocoder.ca/?locate=751+FAiR+OKS+AVENUE+++PASADNA+CA...
stnumber: 751
staddress: N Fair Oaks Ave
city: Pasadena
prov: CA
postal: 91103-3069
libpostal from Little Plate Shop 9 11 Deodar Drive Burliegh Heads QLD 4220
house => LITTLE PLATE SHOP
city => HEADS
postcode => 4220
road => DEODAR DRIVE BURLIEGH
state => QLD
house_number => 9 11
Geocode.xyz Little Plate Shop 9 11 Deodar Drive Burliegh Heads QLD 4220
addresst: DEODAR DR
region: QLD
postal: 4220
stnumber: 11
prov: AU
city: BURLEIGH HEADS
countryname: Australia
confidence: 0.7
And it works worse in some other cases...
Anyways, good luck to this developer. I don't think anyone will ever produce a solution that works better than all others, but it is better if more of us try.
- microcolonel 8y agoI think that there is a good solution: supervised learning/segmentation with direct user verification. You have the user enter a free form address, and then translate it into a structured address. If they correct any fields, you look at those and try to figure out if the final result is correct or not, and integrate that. Maybe this could be done as a service with iframes (like ReCaptcha); and since the information in a full address is basically entirely public knowledge (at least in the U.S.), you can keep all of it around in full detail.