Instructions to use leandronunes/distilbert-re-gene with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use leandronunes/distilbert-re-gene with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="leandronunes/distilbert-re-gene")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("leandronunes/distilbert-re-gene") model = AutoModelForSequenceClassification.from_pretrained("leandronunes/distilbert-re-gene", device_map="auto") - Notebooks
- Google Colab
- Kaggle
DistilBERT-RE-Gene: Extração de Relações Causais Gene-Gene
Descrição
Este modelo e um finetune do distilbert-base-uncased para extração de relações causais entre genes em texto biomédico. Foi treinado no dataset GNBR (Gene Network KnowledgeBase and Repository), que contem relações extraídas de literatura científica via análise de dependência sintática.
O objetivo do modelo é servir como extrator causal em pipelines de bioinformática, classificando pares de genes como activates (ativação) ou regulated (regulação) com base no contexto da sentença.
Tarefa
Classificação de sequência (sequence classification) binária:
| Label | ID | Significado |
|---|---|---|
| activates | 0 | Relação de ativação direta (aumento de expressão/atividade) |
| regulated | 1 | Relação de regulação geral (modulação, sem direção explícita) |
O modelo recebe como entrada uma sequência no formato:
GENE1 [SEP] GENE2 [SEP] Sentença contendo ambos os genes
E retorna a probabilidade de a relação entre eles ser activates ou regulated.
Dados de Treino: GNBR
O GNBR (Gene Network KnowledgeBase and Repository) e um dataset de relações gene-gene extraídas de ~2 milhões de artigos do PubMed. Ele foi construído pelo Projeto GNBR (Zenodo 3346007) e contém:
| Componente | Descrição |
|---|---|
| Part I | Matriz de distribuição de temas (theme distributions) por caminho de dependência |
| Part II | Caminhos de dependência sintática entre pares de genes |
Os temas originais foram mapeados para as 2 classes finais:
| Tema Original | Classe Final |
|---|---|
| V+, E+, W | activates |
| E, Rg | regulated |
Apos a filtragem e o cruzamento entre Part I e Part II, o dataset final continha 121.839 amostras.
Procedimento de Treino
Hiperparâmetros
| Parâmetro | Valor |
|---|---|
| Modelo base | distilbert-base-uncased |
| Numero de labels | 2 (activates, regulated) |
| Epochs | 3 |
| Batch size (train) | 32 |
| Batch size (eval) | 32 |
| Learning rate | 3e-5 |
| Max sequence length | 128 |
| Precisao | fp16 (mixed precision) |
| Metrica de selecao | f1_macro |
| Otimizador | AdamW (padrao do Trainer) |
Subamostragem
Para viabilizar o treino no Colab, foi feita uma subamostragem balanceada de 15.000 amostras por classe (30.000 total), divididas em:
| Split | Proporção | Tamanho aproximado |
|---|---|---|
| Treino | 80% | ~24.000 |
| Validação | 10% | ~3.000 |
| Teste | 10% | ~3.000 |
Métricas
Foram utilizadas accuracy e F1-score macro para avaliar o desempenho, com seleção do melhor modelo com base no F1 macro.
Uso
from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline
import torch
model_path = "leandronunes/distilbert-re-gene"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForSequenceClassification.from_pretrained(model_path)
# Opção 1: usar a pipeline
relation_extractor = pipeline(
"text-classification",
model=model_path,
tokenizer=model_path,
device=0 if torch.cuda.is_available() else -1,
)
def extrair_relacao_causal(sentence: str, gene1: str, gene2: str):
formatted_input = f"{gene1} [SEP] {gene2} [SEP] {sentence}"
best_prediction = relation_extractor(formatted_input)[0]
return {
"gene_origem": gene1,
"gene_alvo": gene2,
"relacao_predita": best_prediction['label'],
"confianca": round(best_prediction['score'], 4),
}
# Exemplo
resultado = extrair_relacao_causal(
"We found that PKMYT1 significantly activates CDK1 downstream.",
"PKMYT1",
"CDK1",
)
print(resultado)
# {'gene_origem': 'PKMYT1', 'gene_alvo': 'CDK1', 'relacao_predita': 'activates', 'confianca': 0.98}
Entrada Esperada
O modelo espera que os genes e a sentença sejam concatenados com o token especial [SEP] (que o tokenizer do DistilBERT converte automaticamente para [SEP]). A ordem é:
<GENE_ORIGEM> [SEP] <GENE_ALVO> [SEP] <SENTENCA>
Limitações
- Binário: O modelo só distingue
activatesderegulated. Não cobre outras relações do GNBR (ex:inhibits,binds,upregulates). - Dependência do
[SEP]: O formato de entrada e rígido. Se a ordem dos genes for invertida, a predição pode mudar. - Contexto limitado: Maximo de 128 tokens. Sentenças longas sao truncadas.
- Subamostragem: Treinado em 30.000 amostras (de 121.839 disponíveis). Retreinar com o dataset completo pode melhorar o desempenho.
- Idioma: Treinado predominantemente em inglês científico.
- Espécie-agnóstico: O modelo não distingue genes de diferentes espécies (humano, zebrafish, etc.).
Uso Pretendido
Este modelo é destinado a:
- Extração de relações causais gene-gene em pipelines de NLP biomédico
- Alimentação de grafos de conhecimento e bases de dados de interações gênicas
- Pré-processamento para sistemas de RAG científico
- Validação automática de hipóteses causais geradas por LLMs
Não é destinado a: diagnóstico clínico, decisão terapêutica autônoma ou qualquer aplicação que exija validação por especialista humano.
Modelos Relacionados
leandronunes/bioformer-ner: Extrator ontológico de entidades biomédicas (CellComp, GO, Complex)leandronunes/distilbert-re-gene: Este modelo (extrator de relações causais)
Citação
Se você usar este modelo, por favor cite o dataset GNBR:
@article{percha2018gnbr,
title={A global network of biomedical relationships derived from text},
author={Percha, Bethany and Altman, Russ B},
journal={Bioinformatics},
volume={34},
number={15},
pages={2614--2624},
year={2018},
publisher={Oxford University Press}
}
Licença
Apache 2.0 (herdada do distilbert-base-uncased).
- Downloads last month
- 23
Model tree for leandronunes/distilbert-re-gene
Base model
distilbert/distilbert-base-uncased