maria-quiteria icon indicating copy to clipboard operation
maria-quiteria copied to clipboard

Indexar registros do banco por bairro

Open anapaulagomes opened this issue 4 years ago • 6 comments

Através de uma pesquisa com usuários, identificamos que as pessoas estão interessadas em ver informações sobre a sua localidade (bairros e até ruas). Como os dados são nada estruturados, precisamos pensar em maneiras de indexar essas informações por localidade. O ideal seria poder realizar buscas por ruas e bairros.

anapaulagomes avatar May 27 '20 15:05 anapaulagomes

Talvez um plot num mapa quando possível? Ou é exigir muito de dados pouco estruturados em termos de georeferenciamento?

cuducos avatar May 27 '20 17:05 cuducos

Infelizmente a gente não tem nada perto disso ainda. Os dados que poderiam ajudar no georeferenciamento estão em texto. Acho que gente teria que identificar as ruas e bairros e a partir disso tagear os registros... Um exemplo. Tem uma rua chamada Rubens Francisco Dias. Ela é cheia de buracos e TODO dia o povo está no rádio reclamando e nada é feito. :disappointed: Onde podemos encontrar informações sobre a rua: diários oficiais, licitações, contratos e despesas. Futuramente na base de dados de obras. Em todas teríamos que buscar no texto se tem menção a determinado bairro ou não. Faz sentido?

Aqui uma descrição de uma licitação sobre a rua que citei:

Contratação de empresa de engenharia para executar obras de pavimentação em CBUQ da rua Josias, duplicação da rua Rubens Francisco Dias, requalificação da rua Universitária e construção do Parque Linear do Papagaio, no bairro Papagaio.

Repare que aqui temos várias localizações.

anapaulagomes avatar May 27 '20 18:05 anapaulagomes

Tenho uma ideia sobre como fazer, mas não sei depois como colocar em produção:

Remove as stop words do texto; Transforma o texto pra vetores de palavras; Roda um algoritmo de NER (reconhecimento de entidades) em todos os textos (opcional. só se as buscas forem somente por entidades. Se quiser buscar por qualquer coisa, não faz essa parte); Soma os vetores reconhecidos como entidades em todos os textos e armazena esse vetor resultante (vai ser a representação do seu texto no banco de dados); Toda vez que o usuário fizer uma busca, transforma a busca pra vetor (utilizando os mesmos vetores) e retorna os vetores de texto armazenados mais próximos da busca do usuário;

Deve funcionar bem!

Posso fazer o algoritmo, os testes, calibrar etc. Mas depois não sei como é que bota pra rodar ;D

guilhermelowa avatar May 30 '20 18:05 guilhermelowa

Olá, @Jkasnese! Acho que reconhecimento de entidades pode ser uma boa. O que acha de fazer uma exploração dessa ideia em um Jupyter Notebook no repositório de análises? Assim podemos comparar com outras abordagens. O que acha? Aí depois discutimos como colocar isso em produção. :)

Pra reconhecimento de entidades em português tem o Spacy. Parece ser bem interessante.

anapaulagomes avatar May 30 '20 18:05 anapaulagomes

Massa! Qual é o dataset? São todos que tão lá no Kaggle?

guilhermelowa avatar May 30 '20 21:05 guilhermelowa

Qualquer um dos que estão no Kaggle serviria mas eu recomendaria usar o de licitações. As descrições às vezes tem nomes de bairros e os editais, quando estão presentes, devem informar a localização do serviço/obra.

anapaulagomes avatar May 31 '20 13:05 anapaulagomes