Spaces:
Runtime error
Runtime error
title = "Modelo Jurídico Mexicano" | |
description = """ | |
<div id="content"> | |
<div id="left"> | |
<center> | |
<img src="https://www.pactomundial.org/wp-content/uploads/2021/10/16-paz-justicia-e-instituciones-solidas-3.jpg" width=200px> | |
</center> | |
<ul> | |
<li>16.3 Promover el estado de derecho en los planos nacional e internacional y garantizar la igualdad de acceso a la justicia para todos.</li> | |
<li>16.10 Garantizar el acceso público a la información y proteger las libertades fundamentales, de conformidad con las leyes nacionales y los acuerdos internacionales. </li> | |
</ul> | |
</div> | |
<div id="left"> | |
<center> | |
<img src="https://www.pactomundial.org/wp-content/uploads/2021/10/4-educacion-de-calidad-3.jpg" width=200px> | |
</center> | |
<ul> | |
<li>4.4 De aquí a 2030, aumentar considerablemente el número de jóvenes y adultos que tienen las competencias necesarias, en particular técnicas y profesionales, para acceder al empleo, el trabajo decente y el emprendimiento.</li> | |
<li>4.7 De aquí a 2030, asegurar que todos los alumnos adquieran los conocimientos teóricos y prácticos necesarios para promover el desarrollo sostenible, entre otras cosas mediante la educación para el desarrollo sostenible y los estilos de vida sostenibles, los derechos humanos, la igualdad de género, la promoción de una cultura de paz y no violencia, la ciudadanía mundial y la valoración de la diversidad cultural y la contribución de la cultura al desarrollo sostenible. </li> | |
</ul> | |
</div> | |
<div id="left"> | |
<center> | |
<img src="https://www.pactomundial.org/wp-content/uploads/2021/10/10-reduccion-de-las-desigualdades-3.jpg "ODS 10" width=200px> | |
</center> | |
<ul> | |
<li>10.3 Garantizar la igualdad de oportunidades y reducir la desigualdad de resultados, incluso eliminando las leyes, políticas y prácticas discriminatorias y promoviendo legislaciones, políticas y medidas adecuadas a ese respecto. </li> | |
</ul> | |
</div> | |
</div> | |
## Motivación | |
- El gran esfuerzo y tiempo que se requiere analizar grandes cantidades de información que constantemente se encuentran cambiando. | |
- Buscar información puede llevarte demasiado tiempo no tanto por la acción en si, si no por el tiempo que inviertes en buscar la información necesaria y desechar toda aquella que no te aporta nada relacionado a tu tema de interés. | |
- Aún el cerebro humano con una gran capacidad de almacenamiento no puede competir con la cantidad de información que se genera día con día. | |
- Es difícil exigir algo que desconoces. | |
Por ello decidimos aventurarnos en la creación de modelos que permiten en términos generales: | |
- Extraer y recuperar información. | |
- Clasificar documentos. | |
- Identificar si los documentos son tan parecidos que podrían tartar de un mismo tema o incluso que se traten de los mismos. | |
Estos modelos integrados en diversos sistemas se pueden obtener beneficios como: | |
- Agilizar y facilitar el trabajo de quienes imparten justicia. | |
- Facilitar la búsqueda de los estudiantes e investigadores de derecho. | |
- Ayudar a la ciudadanía permitiéndole identificar si se esta violentando alguno de los Derechos Humanos que protegen el Sistema Universal o la Convención Americana de Derechos Humanos. | |
- Coadyuvar en la generación de indicadores sobre violaciones a los Derechos Humanos. | |
### Este proyecto esta compuesto por los siguientes modelos: | |
- [hackathon-pln-es/jurisbert-finetuning-ner](https://huggingface.co/hackathon-pln-es/jurisbert-finetuning-ner) | |
- [hackathon-pln-es/jurisbert-class-tratados-internacionales-sistema-universal](https://huggingface.co/hackathon-pln-es/jurisbert-class-tratados-internacionales-sistema-universal) | |
- [hackathon-pln-es/jurisbert-clas-art-convencion-americana-dh](https://huggingface.co/hackathon-pln-es/jurisbert-clas-art-convencion-americana-dh) | |
- [hackathon-pln-es/jurisbert-tsdae-sentence-transformer](https://huggingface.co/hackathon-pln-es/jurisbert-tsdae-sentence-transformer) | |
### Como funciona el demo: | |
1. Requiere que se proporcionen dos textos (el primero denominada texto a analizar y el segundo texto a comparar), los cuales se pueden seleccionar de la lista de ejemplos. | |
2. Cada uno de estos textos pasa por cada uno de los modelos que conforman el proyecto. | |
* Primero, se utiliza el modelo de reconocimiento de entidades **jurisbert-finetuning-ner**. El cual, podría encontrar alguna entidad de tipo LEY o TRAT_INTL. | |
* Segundo, se utiliza el modelo de clasificación **jurisbert-class-tratados-internacionales-sistema-universal** acorde al sistema universal de **Derechos Humanos** el cual se fundamenta en convenciones o pactos para identificar si podria existir alguna violación acorde a lo definido por la **ONU**. | |
* Tercero, se utiliza el modelo de clasificación **jurisbert-clas-art-convencion-americana-dh** para identificar cual de los artículos de la **[Convención Americana de Derechos Humanos](https://www.cndh.org.mx/sites/default/files/doc/Programas/TrataPersonas/MarcoNormativoTrata/InsInternacionales/Regionales/Convencion_ADH.pdf)** se podría estar violentando. | |
* Cuarto, para poder ejemplificar el modelo **jurisbert-tsdae-sentence-transformer** se aprovechan el texto a analizar y el texto a comparar para calcular la similitud entre ambos. | |
3. Se presentan los resultados obtenidos en el orden siguiente: | |
* Primero lo obtenido para el texto a analizar. | |
* Segundo, el porcentaje de similitud entre ambos textos. | |
* Tercero, lo obtenido para el texto a comparar. | |
""" | |
article=""" | |
### Retos | |
#### Creación de los datasets | |
El principal problema de entrenar modelos que pertenezcan a un dominio especializado como el **jurídico** que además sea en **español** se centra en la construcción de los **datasets** por la prácticamente inexistencia de los mismos. | |
Es por ello que tuvimos que crear dos datasets: | |
- [scjnugacj/scjn_dataset_corpus_tesis] (https://huggingface.co/datasets/scjnugacj/scjn_dataset_corpus_tesis) la información base fue obtenida del **[Buscador Juridico de la SCJN de México]** (https://bj.scjn.gob.mx/) utilizando como fuente de información: Tesis y filtrando la información por décima y undécima época; sin embargo, fue necesario realizar procesos de ETL para la limpieza de información no relevante y estructuración de los campos: | |
* `id`: a `string` feature. | |
* `text`: a `string` features. | |
- [scjnugacj/scjn_dataset_ner](https://huggingface.co/datasets/scjnugacj/scjn_dataset_ner) el primer reto para este dataset fue entender la estructura que debía tener para ser utilizado la tarea **NER** afortunadamente esto fue relativamente sencillo de encontrar y nos dimos cuenta que no éramos el único equipo con el mismo problema. La estructura del dataset para esta tarea es el siguiente: | |
* `id`: a `string` feature. | |
* `tokens`: a `list` of `string` features. | |
* `ner_tags`: a `list` of classification labels (`int`). Full tagset with indices: {'O': 0, 'B-LEY': 1, 'I-LEY': 2, 'B-TRAT_INTL': 3, 'I-TRAT_INTL': 4} | |
Afortunadamente, teníamos claro que entidades nos interesaba identificar pero el reto estaba en crear el corpus anotado por la cantidad de ejemplos considerando como base los 27913 del dataset **scjn_corpus_tesis** aún utilizando una herramienta para realizar las anotaciones de manualmente el tiempo requerido era elevado es por ello que nos dimos a la rarea de crear un notebook que recibe una lista de los nombres de las leyes y tratados internacionales y realiza el ETL necesario para las anotaciones automáticamente, para asegurarnos de que todo estaba anotado acorde a lo esperado se extrajo una muestra para su verificación manual. | |
#### Compartir los datasets en HugginFace | |
Realizar la investigación de como compartir los datasets en HuggingFace represento un tiempo importante y la mejor forma que encontramos para hacerlo fue: | |
- Crear un script para utilizar la función **load_dataset** que lee desde un repositorio en github los archivos train.txt y dev.txt y los convierte en un **DatasetDict** para finalmente publicarlos con la función **push_to_hub**. | |
## Entrenamiento de los modelos | |
- Crear la línea base de los modelos. | |
- **hackathon-pln-es/jurisbert-finetuning-ner** | |
* Espacio de almacenamiento para almacenar los checkpoints que requerían 1.4 GB de almacenamiento por lo que no podíamos entrenar de forma continua. | |
* Los resultados de **F1** eran muy bajos. | |
* La cantidad de datos en el corpus era tan elevado y disparejo que el tiempo para entrenar una época era muy alto. | |
* Realizar múltiples entrenamientos hasta identificar cual era el mejor para realizar cual sería utilizado como base para el entrenamiento siguiente. | |
* Fue necesario dar un paso atrás y revisar el dataset para realizar un análisis exploratorio e idear estrategias para balancear la muestra por lo que se acoto a: | |
| name |train|validation|test| | |
|---------|----:|---------:|---:| | |
|SCJNNER|1396|345|0| | |
| annotations|train|validation|test| | |
|---------|----:|---------:|---:| | |
|LEY|1084|329|0| | |
|TRAT_INTL|935|161|0| | |
- **jurisbert-class-tratados-internacionales-sistema-unviersal** | |
* Se entrenó con un conjunto de datos que consta de 3,799 textos con su etiquetado a diferentes 8 tipos de convenios. | |
* Los textos se transforman utilizando SimpleTransformers en el que se entrenó tres épocas con modelo base Roberta y modelo especifico Jurisbert el cual es un modelo de enmascaramiento con corpus jurídico en español. | |
* La métrica de evaluación utilizada fue **Accuracy**. | |
- **jurisbert-clas-art-convencion-americana-dh** | |
* Se entrenó con un conjunto de datos que consta de 6,089 textos con su etiquetado a diferentes 30 tipos de artículos. | |
* Los textos se transforman utilizando SimpleTransformers en el que se entrenó tres épocas con modelo base Roberta y modelo especifico Jurisbert el cual es un modelo de enmascaramiento con corpus jurídico en español. | |
* La métrica de evaluación utilizada fue **Accuracy**. | |
- **jurisbert-tsdae-sentence-transformer** | |
* Se entreno utilizando el dataset scjnugacj/scjn_dataset_corpus_tesis del cual se tomo una muestra de 25000 ejemplos. | |
### Team | |
El equipo esta conformado por [gpalomeque](https://huggingface.co/GPalomeque), [aureliopvs](https://huggingface.co/aureliopvs), [ceciliamacias](https://huggingface.co/ceciliamacias), [giomadariaga](https://huggingface.co/giomadariaga) y [cattsytabla](https://huggingface.co/cattsytabla) | |
### Consideraciones generales y futuro | |
Como parte de pilares del Gobierno Abierto mediante el uso de sus ejes de colaboración e innovación se tiene como meta poder continuar con la creación de modelos que permitan crear plataformas de recuperación de información que brinde de manera oportuna y eficiente datos que agilicen tanto el acceso, así como la impartición de justicia. | |
""" | |