Description
Pretrained named entity recognition (NER) deep learning model for extracting clinical entities from Basque texts. The SparkNLP deep learning model (MedicalNerModel) is inspired by a former state of the art model for NER: Chiu & Nicols, Named Entity Recognition with Bidirectional LSTM-CNN.
The corpus used for model training is provided by European Clinical Case Corpus (E3C), a project aimed at offering a freely available multilingual corpus of semantically annotated clinical narratives.
Predicted Entities
clinical_event
, bodypart
, clinical_condition
, units_measurements
, patient
, date_time
How to use
document_assembler = DocumentAssembler()\
.setInputCol("text")\
.setOutputCol("document")
sentenceDetectorDL = SentenceDetectorDLModel.pretrained("sentence_detector_dl", "xx")\
.setInputCols(["document"])\
.setOutputCol("sentence")
tokenizer = Tokenizer()\
.setInputCols(["sentence"])\
.setOutputCol("token")
word_embeddings = WordEmbeddingsModel.pretrained("w2v_cc_300d","eu")\
.setInputCols(["sentence","token"])\
.setOutputCol("embeddings")
ner = MedicalNerModel.pretrained('ner_eu_clinical_case', "eu", "clinical/models") \
.setInputCols(["sentence", "token", "embeddings"]) \
.setOutputCol("ner")
ner_converter = NerConverterInternal()\
.setInputCols(["sentence", "token", "ner"])\
.setOutputCol("ner_chunk")
pipeline = pipeline(stages=[
document_assembler,
sentenceDetectorDL,
tokenizer,
word_embeddings,
ner,
ner_converter])
data = spark.createDataFrame([["""3 urteko mutiko bat nahasmendu autistarekin unibertsitateko ospitaleko A pediatriako ospitalean. Ez du autismoaren espektroaren nahaste edo gaixotasun familiaren aurrekaririk. Mutilari komunikazio-nahaste larria diagnostikatu zioten, elkarrekintza sozialeko zailtasunak eta prozesamendu sentsorial atzeratua. Odol-analisiak normalak izan ziren (tiroidearen hormona estimulatzailea (TSH), hemoglobina, batez besteko bolumen corpuskularra (MCV) eta ferritina). Goiko endoskopiak mukosaren azpiko tumore bat ere erakutsi zuen, urdail-irteeren guztizko oztopoa eragiten zuena. Estroma gastrointestinalaren tumore baten susmoa ikusita, distaleko gastrektomia egin zen. Azterketa histopatologikoak agerian utzi zuen mukosaren azpiko zelulen ugaltzea."""]]).toDF("text")
result = pipeline.fit(data).transform(data)
val documenter = new DocumentAssembler()
.setInputCol("text")
.setOutputCol("document")
val sentenceDetector = SentenceDetectorDLModel.pretrained("sentence_detector_dl", "xx")
.setInputCols("document")
.setOutputCol("sentence")
val tokenizer = new Tokenizer()
.setInputCols("sentence")
.setOutputCol("token")
val word_embeddings = WordEmbeddingsModel.pretrained("w2v_cc_300d","eu")
.setInputCols(Array("sentence","token"))
.setOutputCol("embeddings")
val ner_model = MedicalNerModel.pretrained("ner_eu_clinical_case", "eu", "clinical/models")
.setInputCols(Array("sentence", "token", "embeddings"))
.setOutputCol("ner")
val ner_converter = new NerConverterInternal()
.setInputCols(Array("sentence", "token", "ner"))
.setOutputCol("ner_chunk")
val pipeline = new Pipeline().setStages(Array(documenter, sentenceDetector, tokenizer, word_embeddings, ner_model, ner_converter))
val data = Seq(Array("""3 urteko mutiko bat nahasmendu autistarekin unibertsitateko ospitaleko A pediatriako ospitalean. Ez du autismoaren espektroaren nahaste edo gaixotasun familiaren aurrekaririk. Mutilari komunikazio-nahaste larria diagnostikatu zioten, elkarrekintza sozialeko zailtasunak eta prozesamendu sentsorial atzeratua. Odol-analisiak normalak izan ziren (tiroidearen hormona estimulatzailea (TSH), hemoglobina, batez besteko bolumen corpuskularra (MCV) eta ferritina). Goiko endoskopiak mukosaren azpiko tumore bat ere erakutsi zuen, urdail-irteeren guztizko oztopoa eragiten zuena. Estroma gastrointestinalaren tumore baten susmoa ikusita, distaleko gastrektomia egin zen. Azterketa histopatologikoak agerian utzi zuen mukosaren azpiko zelulen ugaltzea.""")).toDS().toDF("text")
val result = pipeline.fit(data).transform(data)
Results
+----------------------------+------------------+
|chunk |ner_label |
+----------------------------+------------------+
|3 urteko mutiko bat |patient |
|nahasmendu |clinical_event |
|autismoaren espektroaren |clinical_condition|
|nahaste |clinical_event |
|gaixotasun |clinical_event |
|familiaren |patient |
|aurrekaririk |clinical_event |
|Mutilari |patient |
|komunikazio-nahaste |clinical_event |
|diagnostikatu |clinical_event |
|elkarrekintza |clinical_event |
|zailtasunak |clinical_event |
|prozesamendu sentsorial |clinical_event |
|Odol-analisiak |clinical_event |
|normalak |units_measurements|
|tiroidearen |bodypart |
|hormona estimulatzailea |clinical_event |
|TSH |clinical_event |
|hemoglobina |clinical_event |
|bolumen |clinical_event |
|MCV |clinical_event |
|ferritina |clinical_event |
|Goiko |bodypart |
|endoskopiak |clinical_event |
|mukosaren azpiko |bodypart |
|tumore |clinical_event |
|erakutsi |clinical_event |
|oztopoa |clinical_event |
|Estroma gastrointestinalaren|clinical_event |
|tumore |clinical_event |
|ikusita |clinical_event |
|distaleko |bodypart |
|gastrektomia |clinical_event |
|Azterketa |clinical_event |
|agerian |clinical_event |
|utzi |clinical_event |
|mukosaren azpiko zelulen |bodypart |
|ugaltzea |clinical_event |
+----------------------------+------------------+
Model Information
Model Name: | ner_eu_clinical_case |
Compatibility: | Healthcare NLP 4.2.8+ |
License: | Licensed |
Edition: | Official |
Input Labels: | [sentence, token, embeddings] |
Output Labels: | [ner] |
Language: | eu |
Size: | 896.1 KB |
References
The corpus used for model training is provided by European Clinical Case Corpus (E3C), a project aimed at offering a freely available multilingual corpus of semantically annotated clinical narratives.
Sample text from the training dataset
3 urteko mutiko bat nahasmendu autistarekin unibertsitateko ospitaleko A pediatriako ospitalean. Ez du autismoaren espektroaren nahaste edo gaixotasun familiaren aurrekaririk. Mutilari komunikazio-nahaste larria diagnostikatu zioten, elkarrekintza sozialeko zailtasunak eta prozesamendu sentsorial atzeratua. Odol-analisiak normalak izan ziren (tiroidearen hormona estimulatzailea (TSH), hemoglobina, batez besteko bolumen corpuskularra (MCV) eta ferritina). Goiko endoskopiak mukosaren azpiko tumore bat ere erakutsi zuen, urdail-irteeren guztizko oztopoa eragiten zuena. Estroma gastrointestinalaren tumore baten susmoa ikusita, distaleko gastrektomia egin zen. Azterketa histopatologikoak agerian utzi zuen mukosaren azpiko zelulen ugaltzea.
Benchmarking
label tp fp fn total precision recall f1
date_time 103.0 13.0 26.0 129.0 0.8879 0.7984 0.8408
units_measurements 257.0 37.0 9.0 266.0 0.8741 0.9662 0.9179
clinical_condition 20.0 22.0 33.0 53.0 0.4782 0.3774 0.4211
patient 69.0 3.0 8.0 77.0 0.9583 0.8961 0.9262
clinical_event 712.0 121.0 95.0 807.0 0.8547 0.8823 0.8683
bodypart 182.0 33.0 15.0 197.0 0.8465 0.9239 0.8835
macro - - - - - - 0.8096
micro - - - - - - 0.8640