|
--- |
|
license: openrail |
|
datasets: |
|
- ncbi_disease |
|
language: |
|
- en |
|
tags: |
|
- disease |
|
- biology |
|
- medical |
|
widget: |
|
- text: "The patient was diagnosed with lung cancer and started chemotherapy." |
|
- text: "The patient has a history of heart disease and high blood pressure." |
|
- text: "The patient was diagnosed with diabetes and prescribed insulin therapy." |
|
--- |
|
|
|
# Model Description |
|
This model is a fine-tuned version of BioBERT on the NCBI disease dataset for named entity recognition (NER) of diseases. It can be used to extract disease mentions from unstructured text in the medical and biological domains. |
|
|
|
# Intended Use |
|
This model is intended for use in extracting disease mentions from unstructured text in the medical and biological domains. It can be used to improve information retrieval and knowledge extraction in these fields. |
|
|
|
# Training Data |
|
This model was trained on the [NCBI disease dataset](https://huggingface.co/datasets/ncbi_disease), which consists of 793 PubMed abstracts with 6892 disease mentions. |
|
|
|
# How to use |
|
You can use this model with the Hugging Face Transformers library. Here’s an example of how to load the model and use it to extract disease mentions from text: |
|
|
|
```python |
|
from transformers import AutoTokenizer, AutoModelForTokenClassification |
|
from transformers import pipeline |
|
|
|
tokenizer = AutoTokenizer.from_pretrained("ugaray96/biobert_ncbi_disease_ner") |
|
model = AutoModelForTokenClassification.from_pretrained( |
|
"ugaray96/biobert_ncbi_disease_ner" |
|
) |
|
|
|
ner_pipeline = pipeline("ner", model=model, tokenizer=tokenizer) |
|
|
|
text = "The patient was diagnosed with lung cancer and started chemotherapy. They also have a history of diabetes and heart disease." |
|
result = ner_pipeline(text) |
|
|
|
diseases = [] |
|
for entity in result: |
|
if entity["entity"] == "Disease": |
|
diseases.append(entity["word"]) |
|
elif entity["entity"] == "Disease Continuation" and diseases: |
|
diseases[-1] += f" {entity['word']}" |
|
|
|
print(f"Diseases: {', '.join(diseases)}") |
|
``` |
|
|
|
This should output: `Diseases: lung cancer, diabetes, heart disease` |