Instructions to use BrazilAI/openmed-br-large-pt with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use BrazilAI/openmed-br-large-pt with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("token-classification", model="BrazilAI/openmed-br-large-pt")# Load model directly from transformers import AutoTokenizer, AutoModelForTokenClassification tokenizer = AutoTokenizer.from_pretrained("BrazilAI/openmed-br-large-pt") model = AutoModelForTokenClassification.from_pretrained("BrazilAI/openmed-br-large-pt") - Notebooks
- Google Colab
- Kaggle
# Load model directly
from transformers import AutoTokenizer, AutoModelForTokenClassification
tokenizer = AutoTokenizer.from_pretrained("BrazilAI/openmed-br-large-pt")
model = AutoModelForTokenClassification.from_pretrained("BrazilAI/openmed-br-large-pt")🇧🇷 OpenMed-BR Clinical NER — Large (PT · cross-lingual PT+ES)
Reconhecimento de entidades clínicas em português, reforçado com corpora clínicos ouro em espanhol (transferência cross-lingual). É o modelo de maior F1 da família OpenMed-BR. Extrai doenças, sinais/sintomas, medicamentos, procedimentos e estruturas anatômicas.
| Tarefa | Token classification / NER (5 tipos) |
| Idioma | Português (BR), com treino cross-lingual PT+ES |
| Base | xlm-roberta-base (MIT, multilíngue) |
| F1 (held-out PT) | 0.674 |
| Licença | CC BY 4.0 |
| Irmão | BrazilAI/openmed-br-clinical-pt (roda em CPU; melhor em medicamento) |
Por que isto importa
O Brasil produz um volume enorme de texto clínico — evoluções, anamneses, laudos — e quase tudo fica em texto livre. Mesmo com 97,6% das UBS em prontuário eletrônico, o conteúdo não é estruturado. Isso trava codificação, faturamento, pesquisa e continuidade do cuidado. No setor privado, glosas somaram R$ 5,8 bi em 2024 (15,9% do faturado, só ~2% justificadas) — em grande parte, problema de documentação.
O primeiro passo para atacar qualquer um desses problemas é transformar texto clínico em entidades estruturadas. Recursos de referência em inglês (ex.: OpenMed) não cobrem NER clínico em português — o OpenMed-BR existe para preencher esse vazio, de forma aberta.
Este modelo Large usa uma ideia-chave: como corpus clínico ouro em português é escasso, ele importa conhecimento de corpora clínicos espanhóis (grandes e abertos) via um encoder multilíngue. Português e espanhol são próximos, e a transferência cross-lingual eleva bastante o desempenho.
O que o modelo reconhece
| Entidade | Exemplos |
|---|---|
DOENCA |
pneumonia, diabetes mellitus, insuficiência cardíaca |
SINAL_SINTOMA |
febre, dor abdominal, dispneia, obnubilação |
MEDICAMENTO |
azitromicina, metformina, omeprazol |
PROCEDIMENTO |
tomografia de tórax, colonoscopia, hemograma |
ANATOMIA |
tórax, abdome, antebraço |
Aplicações
- Assistente de codificação — sugerir CID-10/CIAP-2, TUSS/SIGTAP e OBM/CATMAT a partir da nota clínica (o modelo extrai a entidade; o mapeamento ao código é a camada seguinte), acelerando faturamento e reduzindo glosa.
- Prevenção de glosa — conferir se o que está na evolução foi registrado na guia.
- Estruturação de prontuário — listas de problemas, medicações e procedimentos.
- Pesquisa e vigilância — coortes e indicadores a partir de texto em escala.
- Pipeline de privacidade — combinar com o PII do OpenMed para anonimizar (LGPD).
Como usar
from transformers import pipeline
ner = pipeline("token-classification",
model="BrazilAI/openmed-br-large-pt",
aggregation_strategy="simple")
texto = "Paciente com pneumonia; solicitada tomografia de tórax e avaliada dor abdominal."
for e in ner(texto):
print(e["entity_group"], "->", e["word"], round(e["score"], 2))
Recomenda-se GPU para inferência em lote (é maior que o irmão Efficient).
Como foi treinado
- Base
xlm-roberta-base(multilíngue, tokenizer que lida bem com PT). - Ouro PT — fatia médica do MultiCoNER v2 (anotação humana).
- Prata PT — destilação dos modelos clínicos
pucpr/clinicalnerpt-*(SemClinBr). - Ouro ES (cross-lingual) — corpora clínicos espanhóis abertos: DisTEMIST (doenças), MedProcNER (procedimentos), SympTEMIST (sintomas), projetados para o mesmo esquema de 5 tipos.
Avaliação sempre no mesmo teste PT held-out, para comparabilidade entre modelos.
Resultados (teste PT held-out, seqeval, nível de entidade)
| Tipo | F1 | vs. Efficient |
|---|---|---|
| ANATOMIA | 0.786 | +0.07 |
| DOENCA | 0.744 | +0.18 |
| PROCEDIMENTO | 0.643 | +0.21 |
| SINAL_SINTOMA | 0.526 | +0.11 |
| MEDICAMENTO | 0.537 | −0.13 |
| Geral | 0.674 | +0.08 |
Leitura honesta: o cross-lingual elevou muito DOENÇA, PROCEDIMENTO e
SINAL_SINTOMA. MEDICAMENTO é o ponto fraco — esta versão não inclui corpus
espanhol de fármacos (PharmaCoNER), então para medicamento o irmão
openmed-br-clinical-pt
vai melhor (0.67). Teste held-out pequeno (77 frases) → honesto, porém ruidoso.
Qual modelo escolher
| Precisa de… | Use |
|---|---|
| Maior F1 geral, doença/procedimento/sintoma | este (large-pt, GPU) |
| Rodar em CPU, baixo custo, foco em medicamento | openmed-br-clinical-pt |
Uso responsável (leia antes de aplicar em saúde)
- Não é dispositivo médico. Ferramenta assistiva de documentação/estruturação, com humano no circuito. Uso não-diagnóstico/administrativo fica fora da ANVISA RDC 657/2022; sugestão diagnóstica/terapêutica a paciente entra em regulação (SaMD).
- LGPD — dado de saúde é sensível: contexto de tutela da saúde (Art. 11, II, "f") ou anonimização prévia. Prefira execução local.
- Revisão humana obrigatória — não use para decisão clínica.
Roadmap
- PharmaCoNER (fármacos ES) no mix → fechar o gap de MEDICAMENTO (meta: geral >0.70).
- Ligação das entidades a CID-10 / TUSS / SIGTAP / OBM.
- Treino/avaliação sobre texto clínico real em PT rumo ao SOTA (~0.76).
Atribuição e citação (obrigatória — CC BY 4.0)
- Base:
xlm-roberta-base(MIT). - Ouro PT: MultiCoNER v2 — Fetahu et al., arXiv:2310.13213; SemEval-2023 Task 2, arXiv:2305.06586 (CC BY 4.0).
- Ouro ES (CC BY 4.0): DisTEMIST (Zenodo 7614764), MedProcNER (Zenodo 8224056), SympTEMIST (Zenodo 8223653) — BioASQ/BSC.
- Prata PT (professores): BioBERTpt / clinicalnerpt / SemClinBr — Schneider et al., 2020 (ClinicalNLP@EMNLP); Oliveira et al., J. Biomed. Semantics, 2022; HAILab-PUCPR.
@misc{openmedbr_large_pt,
title = {OpenMed-BR Clinical NER (Large, PT cross-lingual)},
author = {OpenMed-BR / BrazilAI},
year = {2026},
howpublished = {\url{https://huggingface.co/BrazilAI/openmed-br-large-pt}}
}
Licença
CC BY 4.0 — uso livre (inclusive comercial) com atribuição.
- Downloads last month
- 17
Model tree for BrazilAI/openmed-br-large-pt
Base model
FacebookAI/xlm-roberta-baseDatasets used to train BrazilAI/openmed-br-large-pt
IEETA/SPACCC-Spanish-NER
Papers for BrazilAI/openmed-br-large-pt
MultiCoNER v2: a Large Multilingual dataset for Fine-grained and Noisy Named Entity Recognition
SemEval-2023 Task 2: Fine-grained Multilingual Named Entity Recognition (MultiCoNER 2)
Evaluation results
- F1 (entity-level) on MultiCoNER v2 (Portugueseself-reported0.674
- Precision on MultiCoNER v2 (Portugueseself-reported0.636
- Recall on MultiCoNER v2 (Portugueseself-reported0.716
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("token-classification", model="BrazilAI/openmed-br-large-pt")