--- language: - pt - en license: apache-2.0 tags: - sentence-transformers - feature-extraction - sentence-similarity - biomedical - hpo - phenotype - rare-disease - portuguese - brazilian-portuguese - medical - clinical - sus - biolord base_model: FremyCompany/BioLORD-2023 pipeline_tag: sentence-similarity library_name: sentence-transformers --- # araras-biolord-cultural-pt-v9 **Primeiro encoder aberto de fenótipos HPO que entende português coloquial brasileiro** — linguagem de paciente, cuidador, agente comunitário de saúde (ACS) e gíria regional. Derivado de [FremyCompany/BioLORD-2023](https://huggingface.co/FremyCompany/BioLORD-2023) via fine-tuning multi-fase (cultural rehearsal + hard negatives + balanced formal/cultural). ## ⚡ TL;DR | Benchmark | Base BioLORD-2023 | **Este modelo (v9)** | Ganho | |---|---|---|---| | **Cultural BR-PT** (24 queries coloquiais) | 4.17% / 4.17% | **91.67%** / **95.83%** | **+87.5pp** | | **Formal PT** (Babelon full 7,142) | 17.22% / 21.53% | **49.90%** / 54.42% | +32.7pp | | **RareBench** (Nature 2024, 13,763 fenótipos) | 95.01% / 95.07% | **94.16%** / 94.85% | -0.85pp (preservado) | Modelo entende "água na cabeça", "corcunda", "esparro", "não vinga" **sem perder** capacidade clínica em inglês. ## 🎯 Casos de uso - **HPO normalization em português**: mapear texto clínico PT (prontuário, evolução, anamnese) pra HPO IDs - **SUS / ACS / TeleSUS**: agente comunitário de saúde digita queixa em linguagem popular, modelo devolve fenótipo HPO padronizado - **Triagem de doenças raras**: RAG sobre fenótipos descritos por paciente/família - **Pesquisa clínica BR**: harmonização de descrições em PT pra ontologia internacional ## 🔧 Uso ```python from sentence_transformers import SentenceTransformer model = SentenceTransformer("timmers/araras-biolord-cultural-pt-v9") queries = [ "água na cabeça", # → Hydrocephalus "corcunda", # → Kyphosis "não vinga", # → Failure to thrive "fígado inchado", # → Hepatomegaly "esparro", # → Seizure (BR-NE) ] embeddings = model.encode(queries, normalize_embeddings=True) # Shape: (5, 768) ``` ## 📊 Cultural BR-PT samples (Top1) | Query coloquial | HPO gold | ✓ | |---|---|---| | água na cabeça | HP:0000238 Hydrocephalus | ✅ | | corcunda | HP:0002808 Kyphosis | ✅ | | não vinga | HP:0001508 Failure to thrive | ✅ | | esparro (BR-NE) | HP:0001250 Seizure | ✅ | | dança dos olhos | HP:0000639 Nystagmus | ✅ | | fígado inchado | HP:0002240 Hepatomegaly | ✅ | | vesgo | HP:0000486 Strabismus | ✅ | | frouxo | HP:0001252 Muscular hypotonia | ✅ | | amarelão | HP:0000952 Jaundice | ✅ | | cabeção | HP:0000256 Macrocephaly | ✅ | | chiado no peito | HP:0030828 Wheezing | ✅ | | DI | HP:0001249 Intellectual disability | ✅ | | autismo | HP:0000717 Autism | ✅ | | desmaio | HP:0001279 Syncope | ✅ | | falta de ar | HP:0002094 Dyspnea | ✅ | | tremedeira | HP:0001337 Tremor | ✅ | **Top1: 21/24 (87.5%)**, **Top5: 23/24 (95.8%)**. ### Teste PT-BR clínico (5 casos reais, 22 HPOs gold) DMD, Fabry, HAE, PKU, Anemia de Fanconi → **21/22 = 95.5% Acc@1** ## 📚 Dados de treino - 35k pares HPO Neo4j (name, namePt, synonyms) - 23,885 pares oficiais Babelon PT→EN (peso 2x) - 12,346 pares PT Gemini-augmented - **614 pares culturais BR-PT curados (peso 10x oversample pós-dedup)** - 82 hard negatives (anchor, positive, negative) para desambiguação - 131 pares hard clinical BR (peso 10x) - 49,032 hard negative triplets minerados ## 🛠️ Pipeline de treino (5 fases) 1. **Base fine-tune** — BioLORD-2023 → HPO synonyms + PT official (MNR loss, lr=3e-6) 2. **Cultural rehearsal phase 2** — 432 pares curados (lr=5e-5, 5 epochs) 3. **Cultural push phase 3** — lr=1e-4, 12 epochs, batch=16 4. **Balanced phase** — cultural + formal full (23k), lr=1e-5, 2 epochs (restaura formal) 5. **Hard negative phase 5** — 82 triplets explícitos, lr=3e-5, 4 epochs ## ⚠️ Limitações - Cultural coverage: 205 fenótipos curados manualmente (de ~11k HPO). Expandindo. - Formal PT full 7,142: 49.9% Top1 — terminologia rara ainda desafiadora. - 3 falhas Top1 conhecidas no cultural: `olho caído`, `bebê mole`, `costas tortas` (Top5 recupera). - Modelo é **encoder apenas** — não faz diagnóstico de doença. Usar em pipeline com retriever+ranker. ## 🔗 Trabalhos relacionados - **Base:** [BioLORD-2023](https://huggingface.co/FremyCompany/BioLORD-2023) (Remy et al., JBI 2024) - **Benchmark:** [RareBench](https://github.com/chenxz1111/RareBench) (Chen et al., Nature 2024) - **Comparação:** DeepRare (Nature 2026) ## 📝 Citação ```bibtex @misc{araras_biolord_cultural_pt_v9, title = {araras-biolord-cultural-pt-v9: Brazilian Portuguese colloquial HPO encoder}, author = {RarasNet}, year = {2026}, url = {https://huggingface.co/timmers/araras-biolord-cultural-pt-v9} } ``` ## 📄 License Apache 2.0, inherited from BioLORD-2023 base model.