German DistilBertForSequenceClassification Base Cased model (from ml6team)

Description

Pretrained DistilBertForSequenceClassification model, adapted from Hugging Face and curated to provide scalability and production-readiness using Spark NLP. distilbert-base-german-cased-toxic-comments is a German model originally trained by ml6team.

Predicted Entities

toxic, non_toxic

Download Copy S3 URI

How to use

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

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

sequenceClassifier_loaded = DistilBertForSequenceClassification.pretrained("distilbert_sequence_classifier_distilbert_base_german_cased_toxic_comments","de") \
    .setInputCols(["document", "token"]) \
    .setOutputCol("class")

pipeline = Pipeline(stages=[documentAssembler, tokenizer,sequenceClassifier_loaded])

data = spark.createDataFrame([["Ich liebe Spark NLP"]]).toDF("text")

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

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

val sequenceClassifier_loaded = DistilBertForSequenceClassification.pretrained("distilbert_sequence_classifier_distilbert_base_german_cased_toxic_comments","de") 
    .setInputCols(Array("document", "token")) 
    .setOutputCol("class")

val pipeline = new Pipeline().setStages(Array(documentAssembler, tokenizer,sequenceClassifier_loaded))

val data = Seq("Ich liebe Spark NLP").toDF("text")

val result = pipeline.fit(data).transform(data)
import nlu
nlu.load("de.classify.distil_bert.cased_base").predict("""Ich liebe Spark NLP""")

Model Information

Model Name: distilbert_sequence_classifier_distilbert_base_german_cased_toxic_comments
Compatibility: Spark NLP 4.1.0+
License: Open Source
Edition: Official
Input Labels: [document, token]
Output Labels: [ner]
Language: de
Size: 252.8 MB
Case sensitive: true
Max sentence length: 128

References

  • https://huggingface.co/ml6team/distilbert-base-german-cased-toxic-comments
  • http://ub-web.de/research/
  • https://github.com/uds-lsv/GermEval-2018-Data
  • https://arxiv.org/pdf/1701.08118.pdf
  • https://github.com/UCSM-DUE/IWG_hatespeech_public
  • https://hasocfire.github.io/hasoc/2019/index.html
  • https://github.com/germeval2021toxic/SharedTask/tree/main/Data%20Sets