Spaces:
Sleeping
A lógica implementada é a seguinte:
Busca Inicial Rápida: Seu sistema atual (fuzzy, exata, etc.) age como um filtro para encontrar um conjunto de procedimentos candidatos.
Carregamento Local: O servidor app.py carrega o modelo BERTimbau de uma pasta local (./models/) ao iniciar.
Reclassificação Semântica: Os candidatos da busca inicial são passados para o modelo, que calcula um score semântico para cada um em relação à sua busca.
Resultado Final Ordenado: A lista final é reordenada com base nesse score semântico, e o melhor resultado é destacado.
Interface Melhorada: O index.html é atualizado para exibir essa lista final ordenada, destacar a melhor correspondência e mostrar o novo score semântico.
- README_melhorado.md (Atualizado)
Este arquivo agora inclui as novas dependências e as instruções para baixar o modelo localmente.
Generated markdown
Buscador de Procedimentos - RN 465 (Versão Semântica)
Descrição
Este é um buscador de procedimentos médicos que utiliza uma abordagem de duas etapas para máxima precisão:
- Busca Rápida (Filtro): Utiliza busca por código, textual, fuzzy e por palavras-chave para encontrar um conjunto de procedimentos candidatos relevantes.
- Reclassificação Semântica (Precisão): Utiliza o modelo de linguagem BERTimbau para analisar o significado da sua busca e reordenar os candidatos, apresentando o resultado mais relevante semanticamente em primeiro lugar.
Isso combina a velocidade da busca tradicional com a precisão da inteligência artificial para entender a intenção do usuário.
Instalação e Execução
Pré-requisitos
- Python 3.7 ou superior
- Git e Git LFS (para baixar o modelo facilmente)
Passos para Instalação
Clone o projeto ou descompacte o arquivo:
# Se recebeu um zip: unzip buscador_procedimentos.zip cd buscador_procedimentos/Baixe o Modelo de Linguagem (BERTimbau): Este passo precisa ser feito apenas uma vez. Ele irá baixar o modelo (aprox. 400MB) para uma pasta local
models/para que a aplicação funcione 100% offline.# Crie a pasta para os modelos mkdir models cd models # Instale o Git LFS se não tiver # git lfs install # Clone o repositório do modelo git clone https://huggingface.co/neuralmind/bert-base-portuguese-cased # Volte para a pasta principal do projeto cd ..Instale as dependências do Python:
pip install Flask pandas thefuzz python-Levenshtein unidecode sentence-transformers torchExecute o buscador:
python app.pyAguarde a mensagem
[SERVIDOR PRONTO]no terminal. O primeiro carregamento pode ser um pouco mais lento devido ao modelo.Acesse no navegador: Abra seu navegador e acesse:
http://127.0.0.1:5000/
Como Usar
Digite o procedimento desejado. Exemplos:
cirurgia para corrigir miopiaexame de sangue completoressonancia magnetica do joelhotratamento para apendicite
Interpretação dos Resultados
A lista de resultados é ordenada pela relevância semântica.
- Melhor Correspondência: O primeiro resultado, destacado com uma borda verde e um selo, é a recomendação do sistema como o mais provável de ser o que você procura.
- Score Semântico: Uma pontuação de 0 a 100 que indica o quão similar é o significado do procedimento encontrado com o termo que você buscou.
- Score de Busca: A pontuação original do método de busca inicial (fuzzy, etc.).
- Tipo de correspondência: Indica como o resultado foi encontrado na busca inicial (filtro).
Estrutura dos Arquivos
app.py: Aplicação Flask principal, carrega os dados e o modelo.enhanced_search_v2.py: Módulo que executa a busca inicial e a reclassificação semântica.templates/index.html: Interface web (front-end).models/bert-base-portuguese-cased/: (NOVO) Contém os arquivos do modelo de linguagem.- `r