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
1from sentence_transformers import SentenceTransformer
2
3model = SentenceTransformer("Raras-AI/araras-hpo-brasil")
4
5# Português brasileiro coloquial → normalização HPO
6queries = [
7 "água na cabeça", # Hydrocephalus
8 "corcunda", # Kyphosis
9 "não vinga", # Failure to thrive
10 "fígado inchado", # Hepatomegaly
11 "esparro", # Seizure (regional NE)
12 "amarelão", # Jaundice
13 "cabeção", # Macrocephaly
14 "vesgo", # Strabismus
15]
16embeddings = model.encode(queries, normalize_embeddings=True)
17# 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
1@misc{araras_hpo_brasil_2026,
2 title = {Araras-HPO-Brasil: A Brazilian Portuguese encoder for Human Phenotype Ontology entity linking},
3 author = {{Raras-AI}},
4 year = {2026},
5 url = {https://huggingface.co/Raras-AI/araras-hpo-brasil}
6}
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.