<div dir="ltr">Sugiro dividir o valor da distância pelo número de caracteres de um dos operandos. Em ambos os exemplos a distância é 1. Mas se relativizar, fica 25% para o primeiro exemplo e 3% para o segundo.</div><div class="gmail_extra">
<br><br><div class="gmail_quote">Em 23 de março de 2014 16:01, Hermann Peifer <span dir="ltr"><<a href="mailto:peifer@gmx.eu" target="_blank">peifer@gmx.eu</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Nossa! Isso foi rápido. Nem tive tempo para olhar os detalhes dos resultados, mas vou fazer logo.<br>
<br>
A distäncia Levenshtein é absoluta, não é? Digamos: estes dois exemplos tem ambos uma distância de 1:<br>
<br>
'RUA A' <-> 'RUA B'<br>
'RUA MARECHAL ARTHUR COSTA E SILVA' <-> 'RUA MARECHAL ARTUR COSTA E SILVA'<br>
<br>
No primeiro exemplo, um dos dois nomes seria completamente errado e no segundo exemplo falta só uma letra no meio de um nome comprido. Vou pensar no assunto.<br>
<br>
Abçs, Hermann<br>
<br>
PS:<br>
<br>
Agora tambem coloquei os nomes dos municípios na minha pasta:<br>
MUE250GC_SIR.txt, baseado no shapefile 43MUE250GC_SIR.shp do IBGE<br>
496 municípios com código e nome, 10 kb, texto UTF-8, sep = tab<br>
<a href="http://ubuntuone.com/1uCkqoBdecUmXgsMw8lSQC" target="_blank">http://ubuntuone.com/<u></u>1uCkqoBdecUmXgsMw8lSQC</a><br>
<br>
Minha NORMALIZACAO does nomes das ruas do OSM era asim:<br>
<br>
$ cat scripts/translit.awk<br>
<br>
{<br>
$0 = toupper($0)<br>
gsub(/[ÀÁÂÃĪ]/, "A")<br>
gsub(/Ç/, "C")<br>
gsub(/[ÈÉÊ]/, "E")<br>
gsub(/Í/, "I")<br>
gsub(/Ñ/, "N")<br>
gsub(/[ÓÔÕÖ°º]/, "O")<br>
gsub(/[ÚÜ]/, "U")<br>
gsub(/ß/, "SS")<br>
<br>
print<div class="HOEnZb"><div class="h5"><br>
}<br>
<br>
On 2014-03-23 18:31, Fernando Trebien wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Tentei, acho que os resultados são interessantes. Por isso, acabei<br>
postando no fórum:<br>
<a href="http://forum.openstreetmap.org/viewtopic.php?pid=408015#p408015" target="_blank">http://forum.openstreetmap.<u></u>org/viewtopic.php?pid=408015#<u></u>p408015</a><br>
<br>
2014-03-23 12:01 GMT-03:00 Hermann Peifer <<a href="mailto:peifer@gmx.eu" target="_blank">peifer@gmx.eu</a>>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Olá,<br>
<br>
Fiz algumas pesquisas provisórias, pegando os dados do RS:<br>
<br>
O CNEFE tem ~130 000 nomes para avenidas, ruas e estradas gaúchas. Entre<br>
eles tem uma boa quantidade de varias formas de ruas sem nome, veja o anexo.<br>
<br>
Nos dados OSM do RS tem 23 679 nomes de ruas. Eu carreguei 2 listas no<br>
<a href="http://ubuntu.com" target="_blank">ubuntu.com</a>:<br>
<br>
1) municipio_cep_RUA_CNEFE.txt<br>
Código do municipio, CEP e NOME DA RUA, segundo o CNEFE<br>
130175 linhas, 4.7 MB, texto UTF-8, sep = tecla de tabulação<br>
<a href="http://ubuntuone.com/3yVwVRtk5bob8UcPL4EEjs" target="_blank">http://ubuntuone.com/<u></u>3yVwVRtk5bob8UcPL4EEjs</a><br>
<br>
<br>
2) municipio_rua_RUA_OSM.txt<br>
Código do municipio, nome da rua, NOME NORMALIZADO DA RUA, segundo OSM<br>
23679 linhas, 1.1 MB, texto UTF-8, sep = tecla de tabulação<br>
<a href="http://ubuntuone.com/4LFzmNYhB8zanUN0gjh7l9" target="_blank">http://ubuntuone.com/<u></u>4LFzmNYhB8zanUN0gjh7l9</a><br>
<br>
Eu inventei aqueles NOMES NORMALIZADOS, baseado nos nomes do OSM para<br>
facilitar a comparação, colocando tudo em maiúsculos e sem acentos (fiz<br>
dessa forma para evitar de mexer com as duas listas).<br>
<br>
Ainda tenho duvidas si vale a pena de fazer uma comparação, usando o a<br>
distância Levenshtein, ou algo semelhante.<br>
<br>
Alguem quer tentar ?<br>
<br>
Abçs, Hermann<br>
<br>
<br>
Anexo<br>
<br>
Casos Nome<br>
215 RUA SEM DENOMINACAO<br>
163 RUA SEM NOME<br>
91 RUA SEM NOME 2<br>
88 BECO SEM NOME<br>
84 RUA SEM NOME 1<br>
77 BECO SEM DENOMINACAO<br>
68 RUA SEM NOME 3<br>
67 ESTRADA SEM DENOMINACAO<br>
66 RUA SEM DENOMINACAO 2<br>
60 TRAVESSA SEM NOME<br>
57 RUA SEM DENOMINACAO 1<br>
57 ESTRADA SEM NOME<br>
54 RUA SEM NOME 4<br>
45 RUA SEM DENOMINACAO 3<br>
43 RUA SEM NOME 5<br>
38 BECO SEM NOME 2<br>
37 RUA SEM DENOMINACAO 4<br>
36 TRAVESSA SEM DENOMINACAO<br>
36 BECO SEM NOME 1<br>
33 RUA SEM NOME 6<br>
28 ESTRADA SEM NOME 2<br>
27 ESTRADA SEM NOME 1<br>
26 RUA SEM DENOMINACAO 5<br>
25 RUA CASEMIRO DE ABREU<br>
23 BECO SEM NOME 3<br>
22 RUA SEM NOME 8<br>
22 RUA SEM NOME 7<br>
21 BECO SEM NOME 4<br>
20 ESTRADA SEM DENOMINACAO 2<br>
<br>
<br>
<br>
On 2014-03-23 14:24, Thiago Marcos P. Santos wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
2014-03-23 14:53 GMT+02:00 Fernando Trebien <<a href="mailto:fernando.trebien@gmail.com" target="_blank">fernando.trebien@gmail.com</a>>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Pelo que entendi é no processamento, pra poder comparar as duas bases<br>
tendo menos falsas diferenças.<br>
<br>
</blockquote>
<br>
Eh.... a qualidade dos dados está realmente bastante questionável....<br>
<br>
Peguei um arquivo aleatório para testar (31235280500.TXT) e veja as<br>
pérolas que encontrei:<br>
<br>
RUA SEMINTERIO<br>
RUA DO CEMINTERIO<br>
RUA CEMINTERIO<br>
<br>
</blockquote>
<br>
<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
Talk-br mailing list<br>
<a href="mailto:Talk-br@openstreetmap.org" target="_blank">Talk-br@openstreetmap.org</a><br>
<a href="https://lists.openstreetmap.org/listinfo/talk-br" target="_blank">https://lists.openstreetmap.<u></u>org/listinfo/talk-br</a><br>
</blockquote>
<br>
<br>
<br>
</blockquote>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
Talk-br mailing list<br>
<a href="mailto:Talk-br@openstreetmap.org" target="_blank">Talk-br@openstreetmap.org</a><br>
<a href="https://lists.openstreetmap.org/listinfo/talk-br" target="_blank">https://lists.openstreetmap.<u></u>org/listinfo/talk-br</a><br>
</div></div></blockquote></div><br></div>