Legal Politics And Public Safety Document Classifier (EURLEX)

Description

European Union (EU) legislation is published in the EUR-Lex portal. All EU laws are annotated by the EU’s Publications Office with multiple concepts from the EuroVoc thesaurus, a multilingual thesaurus maintained by the Publications Office.

Given a document, the legclf_politics_and_public_safety_bert model, it is a Bert Sentence Embeddings Document Classifier, classifies if the document belongs to the class Politics_and_Public_Safety or not (Binary Classification) according to EuroVoc labels.

Predicted Entities

Politics_and_Public_Safety, Other

Copy S3 URI

How to use


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

embeddings = nlp.BertSentenceEmbeddings.pretrained("sent_bert_base_cased", "en")\
    .setInputCols("document")\
    .setOutputCol("sentence_embeddings")

doc_classifier = legal.ClassifierDLModel.pretrained("legclf_politics_and_public_safety_bert", "en", "legal/models")\
    .setInputCols(["sentence_embeddings"])\
    .setOutputCol("category")

nlpPipeline = nlp.Pipeline(stages=[
    document_assembler, 
    embeddings,
    doc_classifier])

df = spark.createDataFrame([["YOUR TEXT HERE"]]).toDF("text")

model = nlpPipeline.fit(df)

result = model.transform(df)

Results


+-------+
|result|
+-------+
|[Politics_and_Public_Safety]|
|[Other]|
|[Other]|
|[Politics_and_Public_Safety]|

Model Information

Model Name: legclf_politics_and_public_safety_bert
Compatibility: Legal NLP 1.0.0+
License: Licensed
Edition: Official
Input Labels: [sentence_embeddings]
Output Labels: [class]
Language: en
Size: 21.5 MB

References

Train dataset available here

Benchmarking


                     label precision recall  f1-score  support
                     Other      0.88   0.90      0.89       84
Politics_and_Public_Safety      0.90   0.88      0.89       83
                  accuracy         -      -      0.89      167
                 macro-avg      0.89   0.89      0.89      167
              weighted-avg      0.89   0.89      0.89      167