<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">Or use libpostal as Komяpa suggested and I’m sure there are others also. I’m just familiar with my own code and the fact that I built it to work inside a postgresql database. <br><br><div dir="ltr">Sent from my iPhone</div><div dir="ltr"><br><blockquote type="cite">On Jan 9, 2021, at 10:00 AM, Stephen Woodbridge <stephenwoodbridge37@gmail.com> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><meta http-equiv="content-type" content="text/html; charset=utf-8">David,<div><br></div><div>Yup and this is just one a dozens of cases that you have to deal with. You are dealing with a natural language processing problem. And you have to deal with human input that has typos and abbreviations. </div><div><br></div><div>These issues are what the address standardizer fixes. It tokenized the address and uses the gazette to standardize the terms and then classifies each term and assigns it to part of the address based on a grammar. <div><br></div><div>So there is a simple solution, use my address standardizer, it is free, MIT license, it has a sample lexicon/ gazette and grammar for the UK, it is easy to modify these to fit your needs, and it just works. Oh if you want to do another county it also has sample files for 25 countries.<br><br><div dir="ltr">Sent from my iPhone</div><div dir="ltr"><br><blockquote type="cite">On Jan 9, 2021, at 4:42 AM, Darafei Komяpa Praliaskouski <me@komzpa.net> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div dir="auto">Hello,<div dir="auto"><br></div><div dir="auto">People make neural networks for this kind of task:<br><div dir="auto"><br></div><div dir="auto"><a href="https://github.com/openvenues/libpostal">https://github.com/openvenues/libpostal</a></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">сб, 9 сту 2021, 12:40 карыстальнік Shaozhong SHI <<a href="mailto:shishaozhong@gmail.com">shishaozhong@gmail.com</a>> напісаў:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi, Steve W,<div><br></div><div>it is easy to parse addresses as tokens.  But it is difficult to put tokens in right columns, due to that the same address could be expressed with partial address or full address.</div><div><br></div><div>The same address can be written like,  Flat 1 122 Great Avenue London UK, or Flat 1 122 Greet Avenue Central London London United Kingdom.</div><div><br></div><div>When this happens, each address has different number of tokens, so different numbers of tokens.  Is there a way to deal with this issue so that each token can get into right column?</div><div><br></div><div>Please enlighten me.</div><div><br></div><div>Regards,</div><div><br></div><div>David</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 25 Apr 2020 at 05:09, Stephen Woodbridge <<a href="mailto:stephenwoodbridge37@gmail.com" target="_blank" rel="noreferrer">stephenwoodbridge37@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">And I have create an address-standardizer project here <br>
<a href="https://github.com/woodbri/address-standardizer" rel="noreferrer noreferrer" target="_blank">https://github.com/woodbri/address-standardizer</a> which is user <br>
configurable. I might be over kill is you just want to strip off the <br>
number, in which case you might just use a SQL regexp replace to remove it.<br>
<br>
-Steve W<br>
<br>
On 4/25/2020 12:04 AM, Stephen Woodbridge wrote:<br>
> PostGIS has address_standardizer extension that includes <br>
> parse_address() and standardize_address() functions.<br>
><br>
> -Steve W<br>
><br>
> On 4/24/2020 9:54 PM, Imre Samu wrote:<br>
>> > handle addresses in postgresql<br>
>><br>
>> maybe you can use the <a href="https://github.com/openvenues/libpostal" rel="noreferrer noreferrer" target="_blank">https://github.com/openvenues/libpostal</a> library<br>
>> with your favorite language bindings ( Python / Ruby / Go / PHP / <br>
>> Node / R / Java  ...)<br>
>><br>
>> or as a Postgres database extension:<br>
>> <a href="https://info.crunchydata.com/blog/quick-and-dirty-address-matching-with-libpostal" rel="noreferrer noreferrer" target="_blank">https://info.crunchydata.com/blog/quick-and-dirty-address-matching-with-libpostal</a> <br>
>><br>
>> <a href="https://github.com/pramsey/pgsql-postal" rel="noreferrer noreferrer" target="_blank">https://github.com/pramsey/pgsql-postal</a><br>
>><br>
>> Regards,<br>
>>  Imre<br>
>><br>
>><br>
>><br>
>><br>
>> Shaozhong SHI <<a href="mailto:shishaozhong@gmail.com" target="_blank" rel="noreferrer">shishaozhong@gmail.com</a> <br>
>> <mailto:<a href="mailto:shishaozhong@gmail.com" target="_blank" rel="noreferrer">shishaozhong@gmail.com</a>>> ezt írta (időpont: 2020. ápr. 25., <br>
>> Szo, 2:49):<br>
>><br>
>>     I find this is a simple, but important question.<br>
>><br>
>>     How best to split numbers and the rest of address?<br>
>><br>
>>     For instance, one tricky one is as follows:<br>
>><br>
>>     21-1 Great Avenue, a city, a country, this planet<br>
>><br>
>>     How to turn this into the following:<br>
>><br>
>>     column 1,       column 2<br>
>><br>
>>       21-1              Great Avenue, a city, a country, this planet<br>
>><br>
>>     Note:  there is a hyphen in  21-1<br>
>><br>
>>     Any clue?<br>
>><br>
>>     Regards,<br>
>><br>
>>     Shao<br>
>>     _______________________________________________<br>
>>     postgis-users mailing list<br>
>>     <a href="mailto:postgis-users@lists.osgeo.org" target="_blank" rel="noreferrer">postgis-users@lists.osgeo.org</a> <mailto:<a href="mailto:postgis-users@lists.osgeo.org" target="_blank" rel="noreferrer">postgis-users@lists.osgeo.org</a>><br>
>>     <a href="https://lists.osgeo.org/mailman/listinfo/postgis-users" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/postgis-users</a><br>
>><br>
>><br>
>> _______________________________________________<br>
>> postgis-users mailing list<br>
>> <a href="mailto:postgis-users@lists.osgeo.org" target="_blank" rel="noreferrer">postgis-users@lists.osgeo.org</a><br>
>> <a href="https://lists.osgeo.org/mailman/listinfo/postgis-users" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/postgis-users</a><br>
><br>
<br>
_______________________________________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org" target="_blank" rel="noreferrer">postgis-users@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/postgis-users" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/postgis-users</a></blockquote></div>
_______________________________________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org" target="_blank" rel="noreferrer">postgis-users@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/postgis-users" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/postgis-users</a><br>
</blockquote></div>
<span>_______________________________________________</span><br><span>postgis-users mailing list</span><br><span>postgis-users@lists.osgeo.org</span><br><span>https://lists.osgeo.org/mailman/listinfo/postgis-users</span><br></div></blockquote></div></div></div></blockquote></body></html>