Description
This model is a Roberta-based Legal Sequence Classifier NLP model to label texts as one of the following categories:
- Convención Internacional sobre la Protección de los Derechos de todos los Trabajadores Migratorios y de sus Familias
- Convención de los Derechos del Niño
- Convención sobre la Eliminación de todas las formas de Discriminación contra la Mujer
- Pacto Internacional de Derechos Civiles y Políticos
- Convención Internacional Sobre la Eliminación de Todas las Formas de Discriminación Racial
- Convención contra la Tortura y otros Tratos o Penas Crueles, Inhumanos o Degradantes
- Convención sobre los Derechos de las Personas con Discapacidad
- Pacto Internacional de Derechos Económicos, Sociales y Culturales
This model was originally trained with 3799 legal texts (see the original work here, and has been finetuned by JSL on more scrapped texts from the internet with weak labelling (as, for example, https://www.un.org/es/events/childrenday/pdf/derechos.pdf for Convencion de los Derechos del Niño
).
Predicted Entities
Convención sobre la Eliminación de todas las formas de Discriminación contra la Mujer
, Convención sobre los Derechos de las Personas con Discapacidad
, Convención Internacional Sobre la Eliminación de Todas las Formas de Discriminación Racial
, Convención contra la Tortura y otros Tratos o Penas Crueles, Inhumanos o Degradantes
, Convención Internacional sobre la Protección de los Derechos de todos los Trabajadores Migratorios y de sus Familias
, Convención de los Derechos del Niño
, Pacto Internacional de Derechos Económicos, Sociales y Culturales
, Pacto Internacional de Derechos Civiles y Políticos
How to use
documentAssembler = nlp.DocumentAssembler() \
.setInputCol("text") \
.setOutputCol("document")
sentenceDetector = nlp.SentenceDetectorDLModel.pretrained("sentence_detector_dl", "xx")\
.setInputCols(["document"])\
.setOutputCol("sentence")
tokenizer = nlp.Tokenizer() \
.setInputCols("sentence") \
.setOutputCol("token")
tokenClassifier = nlp.RoBertaForSequenceClassification.pretrained("legclf_conventions","es", "legal/models") \
.setInputCols(["sentence", "token"]) \
.setOutputCol("class")
pipeline = nlp.Pipeline(stages=[documentAssembler, sentenceDetector, tokenizer, tokenClassifier])
text = """La Convención, a lo largo de sus 54 artículos, reconoce que los niños (seres humanos menores de 18 años) son individuos con derecho de pleno desarrollo físico, mental y social, y con derecho a expresar libremente sus opiniones. Además la Convención es también un modelo para la salud, la supervivencia y el progreso de toda la sociedad humana. """
data = spark.createDataFrame([[text]]).toDF("text")
result = pipeline.fit(data).transform(data)
Results
+--------------------+-------------------------------------+
| text| result|
+--------------------+-------------------------------------+
|La Convención, a ...|[Convención de los Derechos del Niño]|
+--------------------+-------------------------------------+
Model Information
Model Name: | legclf_conventions |
Compatibility: | Legal NLP 1.0.0+ |
License: | Licensed |
Edition: | Official |
Input Labels: | [document, token] |
Output Labels: | [class] |
Language: | es |
Size: | 466.6 MB |
Case sensitive: | true |
Max sentence length: | 128 |
References
This model was originally trained with 3799 legal texts (see the original work here, and has been finetuned by JSL on more scrapped texts from the internet with weak labelling (as, for example, https://www.un.org/es/events/childrenday/pdf/derechos.pdf for Convencion de los Derechos del Niño
).
Benchmarking
label precision recall f1-score support
accuracy - - 0.90 120
macro-avg 0.90 0.91 0.90 120
weighted-avg 0.90 0.90 0.90 120