Legal Swiss Judgements Classification (German)

Description

This model is a Bert-based model that can be used to classify Swiss Judgement documents in German language into the following 6 classes according to their case area. It has been trained with SOTA approach.

Predicted Entities

public law, civil law, insurance law, social law, penal law, other

Copy S3 URI

How to use

document_assembler = nlp.DocumentAssembler() \
    .setInputCol('text') \
    .setOutputCol('document')

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

clf_model = legal.BertForSequenceClassification.pretrained("legclf_bert_swiss_judgements", "de", "legal/models")\
    .setInputCols(['document','token'])\
    .setOutputCol('class')\
    .setCaseSensitive(True)\
    .setMaxSentenceLength(512)

clf_pipeline = nlp.Pipeline(stages=[
    document_assembler, 
    tokenizer,
    clf_model   
])

data = spark.createDataFrame([["""Sachverhalt: A. Mit Strafbefehl vom 30. Juli 2015 sprach die Staatsanwaltschaft Lenzburg-Aarau gegen X._ eine bedingte Geldstrafe von 150 Tagessätzen zu Fr. 150.-- (Probezeit vier Jahre) sowie eine Busse von Fr. 4'500.-- aus wegen Führens eines Motorfahrzeugs in angetrunkenem Zustand sowie wegen mehrfacher Anstiftung zu falschem Zeugnis. Die Staatsanwaltschaft legte X._ unter anderem zur Last, am 5. Juli 2013 nach Aussage von Zeugen sein Auto mit einem Blutalkoholgehalt von mindestens 2,12 Promille bestiegen und von Lenzburg an seinen Wohnort in Z._ gelenkt zu haben. Das nach Einsprache von X._ mit der Sache befasste Bezirksgericht Lenzburg sprach ihn vom Vorwurf der mehrfachen Anstiftung zu falschem Zeugnis frei und verurteilte ihn wegen Führens eines Motorfahrzeugs in angetrunkenem Zustand zu einer bedingten Geldstrafe von 105 Tagessätzen zu Fr. 210.-- (Probezeit zwei Jahre) und zu einer Busse von Fr. 4'400.-- (Urteil vom 15. August 2016). B. X._ erhob Berufung. Das Obergericht des Kantons Aargau wies das Rechtsmittel ab (Urteil vom 3. Juli 2017). C. Mit Beschwerde in Strafsachen beantragt X._, das angefochtene Urteil sei aufzuheben und er von Schuld und Strafe freizusprechen."""]]).toDF("text")

result = clf_pipeline.fit(data).transform(data)

Results

+----------------------------------------------------------------------------------------------------+---------+
|                                                                                            document|    class|
+----------------------------------------------------------------------------------------------------+---------+
|Sachverhalt: A. Mit Strafbefehl vom 30. Juli 2015 sprach die Staatsanwaltschaft Lenzburg-Aarau ge...|penal law|
+----------------------------------------------------------------------------------------------------+---------+

Model Information

Model Name: legclf_bert_swiss_judgements
Compatibility: Legal NLP 1.0.0+
License: Licensed
Edition: Official
Input Labels: [document, token]
Output Labels: [class]
Language: de
Size: 405.9 MB
Case sensitive: true
Max sentence length: 512

References

Training data is available here.

Benchmarking

label          precision  recall  f1-score  support 
civil-law      0.93       0.96    0.94      809     
insurance-law  0.92       0.94    0.93      357     
other          0.76       0.70    0.73      23      
penal-law      0.97       0.95    0.96      913     
public-law     0.94       0.94    0.94      1048    
social-law     0.97       0.95    0.96      719     
accuracy         -          -     0.95      3869    
macro-avg      0.92       0.91    0.91      3869    
weighted-avg   0.95       0.95    0.95      3869