pritamdeka's picture
Update README.md
52f25c5
|
raw
history blame
5.11 kB
metadata
tags:
  - generated_from_trainer
metrics:
  - accuracy
model-index:
  - name: PubMedBERT-MNLI-MedNLI
    results: []

PubMedBERT-MNLI-MedNLI

This model is a fine-tuned version of PubMedBERT on the MNLI dataset first and then on the MedNLI dataset. It achieves the following results on the evaluation set:

  • Loss: 0.9501
  • Accuracy: 0.8667

Model description

More information needed

Intended uses & limitations

The model can be used for NLI tasks related to biomedical data and even be adapted to fact-checking tasks. It can be used from the Huggingface pipeline method as follows:

from transformers import TextClassificationPipeline, AutoModel, AutoTokenizer, AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained("pritamdeka/PubMedBERT-MNLI-MedNLI", num_labels=3, id2label = {1: 'entailment', 0: 'contradiction',2:'neutral'})
tokenizer = AutoTokenizer.from_pretrained("pritamdeka/PubMedBERT-MNLI-MedNLI")
pipe = TextClassificationPipeline(model=model, tokenizer=tokenizer, return_all_scores=True, device=0, batch_size=128)

pipe(['ALDH1 expression is associated with better breast cancer outcomes',
      'In a series of 577 breast carcinomas, expression of ALDH1 detected by immunostaining correlated with poor prognosis.'])

The output for the above will be:

[[{'label': 'contradiction', 'score': 0.10193759202957153},
  {'label': 'entailment', 'score': 0.2933262586593628},
  {'label': 'neutral', 'score': 0.6047361493110657}],
 [{'label': 'contradiction', 'score': 0.21726925671100616},
  {'label': 'entailment', 'score': 0.24485822021961212},
  {'label': 'neutral', 'score': 0.5378724932670593}]]

Training and evaluation data

More information needed

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 2e-05
  • train_batch_size: 32
  • eval_batch_size: 32
  • seed: 42
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • num_epochs: 20.0

Training results

Training Loss Epoch Step Validation Loss Accuracy
0.5673 1.42 500 0.4358 0.8437
0.2898 2.85 1000 0.4845 0.8523
0.1669 4.27 1500 0.6233 0.8573
0.1087 5.7 2000 0.7263 0.8573
0.0728 7.12 2500 0.8841 0.8638
0.0512 8.55 3000 0.9501 0.8667
0.0372 9.97 3500 1.0440 0.8566
0.0262 11.4 4000 1.0770 0.8609
0.0243 12.82 4500 1.0931 0.8616
0.023 14.25 5000 1.1088 0.8631
0.0163 15.67 5500 1.1264 0.8581
0.0111 17.09 6000 1.1541 0.8616
0.0098 18.52 6500 1.1542 0.8631
0.0074 19.94 7000 1.1653 0.8638

Framework versions

  • Transformers 4.22.0.dev0
  • Pytorch 1.12.1+cu113
  • Datasets 2.4.0
  • Tokenizers 0.12.1

Citing & Authors

If you use the model kindly cite the following work

@inproceedings{deka-etal-2023-multiple,
    title = "Multiple Evidence Combination for Fact-Checking of Health-Related Information",
    author = "Deka, Pritam  and
      Jurek-Loughrey, Anna  and
      P, Deepak",
    booktitle = "The 22nd Workshop on Biomedical Natural Language Processing and BioNLP Shared Tasks",
    month = jul,
    year = "2023",
    address = "Toronto, Canada",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2023.bionlp-1.20",
    pages = "237--247",
    abstract = "Fact-checking of health-related claims has become necessary in this digital age, where any information posted online is easily available to everyone. The most effective way to verify such claims is by using evidences obtained from reliable sources of medical knowledge, such as PubMed. Recent advances in the field of NLP have helped automate such fact-checking tasks. In this work, we propose a domain-specific BERT-based model using a transfer learning approach for the task of predicting the veracity of claim-evidence pairs for the verification of health-related facts. We also improvise on a method to combine multiple evidences retrieved for a single claim, taking into consideration conflicting evidences as well. We also show how our model can be exploited when labelled data is available and how back-translation can be used to augment data when there is data scarcity.",
}