title = "Modelo Jurídico Mexicano" description = """
## 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. """