Downloads · 30 days
84
44% of all-time downloads
leandronunes/bioformer-ner
bioformer-ner is a token classification model from leandronunes. Use it when you need labels on individual words, such as names. It is set up for transformers. The card lists the license as apache-2.0.
Este modelo e um finetune do bioformers/bioformer-8L para Named Entity Recognition (NER) em texto biomédico. Foi treinado para identificar entidades relacionadas a Componentes Celulares (CellComp), Complexos, Termos d…
Downloads · 30 days
84
44% of all-time downloads
All-time downloads
189
Public
Parameters
42.3M
169 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors169 MB · 100%
From the Hugging Face model README
Este modelo e um finetune do bioformers/bioformer-8L para Named Entity Recognition (NER) em texto biomédico. Foi treinado para identificar entidades relacionadas a Componentes Celulares (CellComp), Complexos, Termos da Gene Ontology (GO) e Processos Biologicos (BioProc) em abstracts científicos.
O objetivo do modelo e servir como extrator ontologico em pipelines de bioinformática e descoberta científica, alimentando bases de conhecimento e auxiliando na construção de grafos causais.
O modelo usa o formato IOBES (Inside, Outside, Beginning, End, Single) para marcar as entidades. Os labels foram normalizados a partir dos datasets originais para as seguintes categorias:
| Categoria | Significado | Exemplo |
|---|---|---|
| CellComp | Componente celular (GO:0005575) | nucleus, mitochondrion, cytoplasm |
| Complex | Complexos proteicos | ribosome, proteasome, spliceosome |
| GO | Termos da Gene Ontology | apoptotic process, signal transduction |
| BioProc | Processos biologicos | cell proliferation, DNA repair |
| O | Token fora de qualquer entidade | (tokens comuns) |
Cada categoria e subdividida em quatro prefixos IOBES:
| Prefixo | Significado |
|---|---|
| B- | Inicio de uma entidade |
| I- | Continucao (dentro) de uma entidade |
| E- | Fim de uma entidade |
| S- | Entidade de token unico |
O modelo foi treinado em uma mistura de cinco datasets biomédicos públicos, todos convertidos para o formato IOBES:
| Dataset | Descrição |
|---|---|
| BioNLP13CG-cc | Cancer Genetics - Componentes Celulares |
| BioNLP13PC | Pathway Curation - Processos Biologicos |
| BioNLP13PC-cc | Pathway Curation - Componentes Celulares |
| CRAFT-cc | CRAFT - Componentes Celulares |
| CRAFT | Colorado Richly Annotated Full-Text |
| Parâmetro | Valor |
|---|---|
| Modelo base | bioformers/bioformer-8L |
| Epochs | 5 |
| Batch size (train) | 16 |
| Batch size (eval) | 16 |
| Learning rate | 5e-5 |
| Weight decay | 0.01 |
| Max sequence length | 512 |
from transformers import AutoTokenizer, AutoModelForTokenClassification
import torch
model_path = "leandronunes/bioformer-ner"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForTokenClassification.from_pretrained(model_path)
model.eval()
model.to("cuda" if torch.cuda.is_available() else "cpu")
def predict_ner(tokens):
inputs = tokenizer(tokens, is_split_into_words=True, truncation=True,
max_length=512, return_tensors="pt")
device = next(model.parameters()).device
for key in inputs:
inputs[key] = inputs[key].to(device)
with torch.no_grad():
outputs = model(**inputs)
preds = outputs.logits.argmax(dim=-1).squeeze().tolist()
word_ids = inputs.word_ids(batch_index=0)
aligned, prev = [], None
for i, word_idx in enumerate(word_ids):
if word_idx is None: continue
if word_idx != prev:
label_id = preds[i] if i < len(preds) else 0
aligned.append(model.config.id2label[label_id])
prev = word_idx
return aligned
tokens = ["The", "mitochondrial", "ribosome", "is", "involved", "in", "protein", "synthesis"]
labels = predict_ner(tokens)
for token, label in zip(tokens, labels):
print(f"{token:20s} -> {label}")
Extração de entidades biomédicas, alimentação de bases de conhecimento, RAG científico e auxílio em revisão de literatura.
Não e destinado a: diagnóstico clínico ou decisão médica autônoma.
@article{bioformer2022,
title={Bioformer: A Compact BERT Model for Biomedical Text Mining},
author={Luo, Ling and others},
journal={arXiv preprint},
year={2022}
}
Apache 2.0 (herdada do bioformers/bioformer-8L).