Araras-HPO-Brasil

Encoder bilíngue de estado-da-arte para entity linking sobre a Human Phenotype Ontology (HPO), com cobertura nativa do português brasileiro clínico e coloquial.

Modelo encoder de 110M parâmetros otimizado para retrieval sobre os ~17.000 termos da Human Phenotype Ontology, tanto em texto clínico em inglês quanto em português brasileiro — incluindo registros de paciente, cuidador, agente comunitário de saúde (ACS) e variações regionais. Derivado do BioLORD-2023 via fine-tuning contrastivo multi-fase com pares culturais curados manualmente, hard negatives minerados em escala, e regularização baseada na estrutura ontológica do HPO.

Resultados de benchmark

Benchmark BioLORD-2023 (base) Araras-HPO-Brasil Δ
RareBench (Nature 2024, n=13.763 fenótipos, EN) — Top1 95,01% 97,81% +2,80
RareBench — Top5 95,07% 98,23% +3,16
RareBench pipeline (chunk-level, sem LLM) — Recall@k 97,3%
RareBench pipeline (Gemma 4B + nosso) — Ancestor F1 71,8%
Português brasileiro formal (Babelon, n=7.142) — Top1 17,22% 62,00% +44,78
Português brasileiro formal — Top5 21,53% 63,90% +42,37
BR-PT cultural coloquial (n=24, set de avaliação) — Top1 4,17% 79,17% +75,00
BR-PT cultural coloquial — Top5 4,17% 100,00% +95,83
Narrativas clínicas brasileiras (n=22 HPOs, 5 casos reais) — Acc@1 95,5%

O modelo atinge performance de estado-da-arte no benchmark RareBench em inglês (referência da Nature 2024), enquanto introduz o primeiro encoder aberto com cobertura abrangente do português brasileiro coloquial e regional para fenótipos HPO.

Casos de uso

  • Normalização de fenótipos clínicos em português ou inglês: descrições em texto livre → IDs HPO.
  • Integração com SUS: input de notas de Agente Comunitário de Saúde (ACS) → códigos HPO padronizados; ponte entre narrativa do paciente e ontologia médica estruturada.
  • Pipelines de diagnóstico de doenças raras: componente encoder de fenótipo para retrievers, scorers ou sistemas RAG multi-estágio (combinar com rankers Bayesianos como LIRICAL ou rankers textuais como PubCaseFinder).
  • Busca semântica multilíngue sobre conceitos biomédicos em PT/EN.
  • Linking para grafos de conhecimento: normalização de entidades para construção de grafos sobre literatura anotada com HPO.

Como usar

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("Raras-AI/araras-hpo-brasil")

# Português brasileiro coloquial → normalização HPO
queries = [
    "água na cabeça",     # Hydrocephalus
    "corcunda",           # Kyphosis
    "não vinga",          # Failure to thrive
    "fígado inchado",     # Hepatomegaly
    "esparro",            # Seizure (regional NE)
    "amarelão",           # Jaundice
    "cabeção",            # Macrocephaly
    "vesgo",              # Strabismus
]
embeddings = model.encode(queries, normalize_embeddings=True)
# shape: (n, 768)

Cobertura cultural

O modelo reconhece registros linguísticos médicos formais e populares brasileiros — paciente, cuidador, agente comunitário de saúde, e variações regionais (Nordeste, Sudeste, Sul, Centro-Oeste, Norte):

Português brasileiro (coloquial) Termo canônico HPO (inglês)
água na cabeça Hydrocephalus
corcunda / coluna torta Kyphosis
não vinga / criança mirrada Failure to thrive
esparro (NE) / mal-caduco Seizure
dança dos olhos Nystagmus
fígado inchado Hepatomegaly
frouxo / molinho Muscular hypotonia
amarelão Jaundice
cabeção / cabeçudo Macrocephaly
chiado no peito Wheezing
desmaio / apagão Syncope
dor de cabeça Headache
falta de ar / canseira Dyspnea
tremedeira Tremor
pressão alta / HAS Hypertension
TDAH Attention deficit hyperactivity disorder

Método

O modelo é inicializado a partir do BioLORD-2023 (Remy et al., JBI 2024) e otimizado através de fine-tuning contrastivo em múltiplas fases. Os dados de treino combinam:

  • 35 mil pares canônicos de termos HPO (name, namePt, sinônimos) extraídos do grafo da ontologia
  • 23.885 traduções oficiais para português brasileiro (Babelon HPO-PT)
  • Pares coloquiais brasileiros curados manualmente (~800 pares anchor/positive e ~100 triplets anchor/positive/negative cobrindo registros de paciente/cuidador/ACS/regional)
  • Hard negatives minerados automaticamente sobre o espaço completo de conceitos HPO (~44 mil triplets)
  • Relações IS_A do HPO como pares positivos cross-language (~46 mil)
  • Regularização da hierarquia fenotípica em múltiplos níveis de granularidade

A função objetivo é Multiple Negatives Ranking Loss (similaridade cosseno) com negatives explícitos.

Limitações

  • Modelo encoder-only: produz embeddings; combine com um retriever (e.g. grafo HPO no Neo4j, FAISS) e um ranker opcional para pipelines completos.
  • Comprimento máximo de input: 128 tokens (uso a nível de sentença).
  • Otimizado para conceitos HPO; para ontologias relacionadas mas distintas (Orphanet, OMIM, SNOMED), use um encoder específico do domínio.

Como citar

@misc{araras_hpo_brasil_2026,
  title  = {Araras-HPO-Brasil: A Brazilian Portuguese encoder for Human Phenotype Ontology entity linking},
  author = {{Raras-AI}},
  year   = {2026},
  url    = {https://huggingface.co/Raras-AI/araras-hpo-brasil}
}

Licença

Apache 2.0, herdada do modelo base BioLORD-2023.

Referências

  • Remy, F., Demuynck, K., Demeester, T. BioLORD-2023: semantic textual representations fusing LLMs and clinical knowledge graph insights. Journal of Biomedical Informatics, 2024.
  • Chen et al. RareBench: Can LLMs Serve as Rare Diseases Specialists? Nature, 2024.
  • Köhler et al. The Human Phenotype Ontology in 2024. Nucleic Acids Research, 2024.
Downloads last month
164
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Raras-AI/araras-hpo-brasil

Finetuned
(4)
this model
Quantizations
1 model

Space using Raras-AI/araras-hpo-brasil 1