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
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