Reconhecimento automático de texto

Pessoal,

Alguém conhece alguma biblioteca java que fosse capaz de fazer o reconhecimento de endereços em um texto?
Eu explico: suponha que eu tenha uma string com um texto livre e precise extrair dele um endereço (nome de rua ou de avenida com uma determinada numeração)…Então, só seriam aceitos endereços que contivessem o identificador de rua ou avenida e uma numeração, que poderia ser seguida por vírgula ou não…

Tipo, os endereços abaixo seriam extraídos se tivessem no texto:
Rua da Consolação, 382
Rua da Consolação nº 382
Rua da Consolção 382
Av Paulista 71
Avenida Paulista, 71

E os abaixo não:
Rua da Consolação
av Paulista nº

Alguém conhece alguma biblioteca opensource que ajudasse a fazer isto?

Obrigado.

Acredito que com uma regex você consiga filtrar boa parte dos casos, sem precisar de uma API externa. Eu tentaria isso antes de algo mais complexo.

Note que você pode cair em um monte de casos específicos. A primeira que me vem à cabeça é o caso de o endereço não ter número, vindo com “Sem número” ou “S/N” na string.

Outro caso é identificar os logradouros válidos quando eles estão parcialmente informados, como “av” ao invés de avenida. Você teria que, ao menos, garantir que uma palavra inteira seria detectada ou, se for parcial, é uma alternativa válida (“av” para ‘avenida’, por exemplo). Se você não fizer isso, pode acabar aceitando coisas como “avião caiu há 2 km”.

Por fim, há algum motivo para limitar à rua e Avenida? Pois há bem mais logradouros que estes: https://pt.wikipedia.org/wiki/Logradouro .

Abraço.

1 curtida

Se for optar por alguma API, tem a OCR