spacy arxiv:2408.06930 medical token-classification nl license:cc-by-sa-4.0 model-index region:us
---
language:
- nl
license: cc-by-sa-4.0
metrics:
- f1
- precision
- recall
pipeline_tag: token-classification
tags:
- spacy
- arxiv:2408.06930
- medical
model-index:
- name: Echocardiogram_SpanCategorizer_rv_syst_func
  results:
  - task:
      type: token-classification
    dataset:
      name: internal test set
      type: test
    metrics:
    - type: f1
      value: 0.886
      name: Weighted f1
      verified: false
    - type: precision
      value: 0.897
      name: Weighted precision
      verified: false
    - type: recall
      value: 0.875
      name: Weighted recall
      verified: false
---

# Description
This model is a spaCy SpanCategorizer model trained from scratch on Dutch echocardiogram reports sourced from Electronic Health Records. The publication associated with the span classification task can be found at https://arxiv.org/abs/2408.06930. The config file for training the model can be found at https://github.com/umcu/echolabeler.

# Minimum working example
```python
!pip install https://huggingface.co/baukearends/Echocardiogram-SpanCategorizer-rv-syst-func/resolve/main/nl_Echocardiogram_SpanCategorizer_rv_syst_func-any-py3-none-any.whl
```
```python
import spacy
nlp = spacy.load("nl_Echocardiogram_SpanCategorizer_rv_syst_func")
```
```python
prediction = nlp("Op dit echo geen duidelijke WMA te zien, goede systolische L.V. en R.V. functie, wel L.V.H., diastolische dysfunctie graad 1A tot 2. Geringe aortastenose en - matige -insufficientie. Geringe M.I.")
for span, score in zip(prediction.spans['sc'], prediction.spans['sc'].attrs['scores']):
    print(f"Span: {span}, label: {span.label_}, score: {score[0]:.3f}")
```

# Label Scheme

<details>

<summary>View label scheme (4 labels for 1 components)</summary>

| Component | Labels |
| --- | --- |
| **`spancat`** | `rv_sys_func_normal`, `rv_sys_func_mild`, `rv_sys_func_moderate`, `rv_sys_func_severe` |

</details>


# Intended use
The model is developed for span classification on Dutch clinical text. Since it is a domain-specific model trained on medical data, it is meant to be used on medical NLP tasks for Dutch.

# Data
The model was trained on approximately 4,000 manually annotated echocardiogram reports from the University Medical Centre Utrecht. The training data was anonymized before starting the training procedure.

| Feature | Description |
| --- | --- |
| **Name** | `Echocardiogram_SpanCategorizer_rv_syst_func` |
| **Version** | `1.0.0` |
| **spaCy** | `>=3.7.4,<3.8.0` |
| **Default Pipeline** | `tok2vec`, `spancat` |
| **Components** | `tok2vec`, `spancat` |
| **License** | `cc-by-sa-4.0` |
| **Author** | [Bauke Arends]() |

# Contact
If you are having problems with this model please add an issue on our git: https://github.com/umcu/echolabeler/issues

# Usage
If you use the model in your work please use the following referral; https://doi.org/10.48550/arXiv.2408.06930

# References
Paper: Bauke Arends, Melle Vessies, Dirk van Osch, Arco Teske, Pim van der Harst, René van Es, Bram van Es (2024): Diagnosis extraction from unstructured Dutch echocardiogram reports using span- and document-level characteristic classification, Arxiv https://arxiv.org/abs/2408.06930