maria-quiteria
maria-quiteria copied to clipboard
Indexar registros do banco por bairro
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.
Talvez um plot num mapa quando possível? Ou é exigir muito de dados pouco estruturados em termos de georeferenciamento?
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.
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
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.
Massa! Qual é o dataset? São todos que tão lá no Kaggle?
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.