German Public Health Mention Sequence Classifier (GBERT-base)

Description

This model is a GBERT-base based sequence classification model that can classify public health mentions in German social media text.

Predicted Entities

non-health, health-related

Copy S3 URI

How to use

document_assembler = DocumentAssembler() \
    .setInputCol("text") \
    .setOutputCol("document")

tokenizer = Tokenizer() \
    .setInputCols(["document"]) \
    .setOutputCol("token")

sequenceClassifier = MedicalBertForSequenceClassification.pretrained("bert_sequence_classifier_health_mentions_gbert", "de", "clinical/models")\
    .setInputCols(["document","token"])\
    .setOutputCol("class")

pipeline = Pipeline(stages=[
    document_assembler, 
    tokenizer,
    sequenceClassifier    
])

data = spark.createDataFrame([
      ["bis vor ein paar wochen hatte ich auch manchmal migräne, aber aktuell habe ich keine probleme"],
      ["der spiegelt ist für meine zwecke im badezimmer zu klein, es klappt nichtm harre zu machen"]
    ]).toDF("text")

result = pipeline.fit(data).transform(data)
val documenter = new DocumentAssembler() 
    .setInputCol("text") 
    .setOutputCol("document")

val tokenizer = new Tokenizer()
    .setInputCols(Array("document"))
    .setOutputCol("token")

val sequenceClassifier = MedicalBertForSequenceClassification.pretrained("bert_sequence_classifier_health_mentions_gbert", "de", "clinical/models")
    .setInputCols(Array("document","token"))
    .setOutputCol("class")

val pipeline = new Pipeline().setStages(Array(documenter, tokenizer, sequenceClassifier))

val data = Seq(Array("bis vor ein paar wochen hatte ich auch manchmal migräne, aber aktuell habe ich keine probleme",
                     "der spiegelt ist für meine zwecke im badezimmer zu klein, es klappt nichtm harre zu machen")).toDS().toDF("text")

val result = pipeline.fit(data).transform(data)
import nlu
nlu.load("de.classify.bert_sequence.health_mentions_gbert").predict("""bis vor ein paar wochen hatte ich auch manchmal migräne, aber aktuell habe ich keine probleme""")

Results

+---------------------------------------------------------------------------------------------+----------------+
|text                                                                                         |result          |
+---------------------------------------------------------------------------------------------+----------------+
|bis vor ein paar wochen hatte ich auch manchmal migräne, aber aktuell habe ich keine probleme|[health-related]|
|der spiegelt ist für meine zwecke im badezimmer zu klein, es klappt nichtm harre zu machen   |[non-health]    |
+---------------------------------------------------------------------------------------------+----------------+

Model Information

Model Name: bert_sequence_classifier_health_mentions_gbert
Compatibility: Healthcare NLP 4.0.2+
License: Licensed
Edition: Official
Input Labels: [document, token]
Output Labels: [class]
Language: de
Size: 412.6 MB
Case sensitive: true
Max sentence length: 128

References

Curated from several academic and in-house datasets.

Benchmarking

         label  precision    recall  f1-score   support 
    non-health       0.97      0.91      0.94        82 
health-related       0.91      0.97      0.94        69 
      accuracy         -         -       0.94       151 
     macro-avg       0.94      0.94      0.94       151 
  weighted-avg       0.94      0.94      0.94       151