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