GPalomeque commited on
Commit
8a0e22f
1 Parent(s): 6ba88a5

Update app_details.py

Browse files
Files changed (1) hide show
  1. app_details.py +42 -6
app_details.py CHANGED
@@ -29,7 +29,7 @@ entrenados para el hackathon por el equipo compuesto por: gpalomeque, aureliopvs
29
 
30
  ### Como funciona el demo:
31
 
32
- 1. Requiere que se proporciones dos textos (el primero denominada texto a analizar y el segundo texto a comparar), los cuales se pueden selecionar de la lista de ejemplos
33
 
34
  2. Cada uno de estos textos pasa por cada uno de los modelos que conforman el proyecto
35
 
@@ -49,17 +49,53 @@ entrenados para el hackathon por el equipo compuesto por: gpalomeque, aureliopvs
49
 
50
  """
51
 
52
- article='''
53
- El principal problema de entrenar modelos que pretenezcan a un dominio especializado como el **jurídico** que ademas sea en **español** se centra en la construcción de los **datasets** por la practicamente inexistencia de los mismos.
 
 
 
 
54
 
55
  Es por ello que tuvimos que crear dos datasets:
56
 
57
- - [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 epoca; sin embargo, fue necesario realizar procesos de ETL para la limpieza de información no relevante y estructuración de los campos
58
  * `id`: a `string` feature.
59
  * `text`: a `string` features.
60
- - [scjnugacj/scjn_dataset_ner](https://huggingface.co/datasets/scjnugacj/scjn_dataset_ner)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
 
62
  ### Team
63
 
64
  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)
65
- '''
29
 
30
  ### Como funciona el demo:
31
 
32
+ 1. Requiere que se proporciones dos textos (el primero denominada texto a analizar y el segundo texto a comparar), los cuales se pueden seleccionar de la lista de ejemplos
33
 
34
  2. Cada uno de estos textos pasa por cada uno de los modelos que conforman el proyecto
35
 
49
 
50
  """
51
 
52
+ article="""
53
+ ### Retos
54
+
55
+ #### Creación de los datasets
56
+
57
+ 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.
58
 
59
  Es por ello que tuvimos que crear dos datasets:
60
 
61
+ - [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
62
  * `id`: a `string` feature.
63
  * `text`: a `string` features.
64
+ - [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.
65
+
66
+ * `id`: a `string` feature.
67
+ * `tokens`: a `list` of `string` features.
68
+ * `ner_tags`: a `list` of classification labels (`int`). Full tagset with indices: ```python
69
+ {'O': 0, 'B-LEY': 1, 'I-LEY': 2, 'B-TRAT_INTL': 3, 'I-TRAT_INTL': 4}
70
+ ```
71
+
72
+ Afortunadamente, teníamos claro que entidades nos interesaba identificar pero el reto estaba en crear el corpus anotado por la cantidad de ejemplos que teniamos considerando como base los 27913 ejemplos 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.
73
+
74
+
75
+ #### Compartir los datasets en HugginFace
76
+
77
+ Realizar la investigación de como compartir los datasets en HuggingFace represento un tiempo importante y la mejor forma que encontramos para hacerlo fue:
78
+
79
+ - 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**
80
+
81
+ ## Entrenamiento de los modelos
82
+ - Crear la línea base de los modelos
83
+ - **hackathon-pln-es/jurisbert-finetuning-ner**
84
+ * Espacio de almacenamiento para almacenar los checkpoints que requerian 1.4 GB de almacenamiento por lo que no podíamos entrenar de forma continua.
85
+ * Los resultados de F1 eran muy bajos
86
+ * La cantidad de datos en el corpus era tan elevado y disparejo que el tiempo para entrenar una época era muy alto
87
+ * 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:
88
+
89
+ | name |train|validation|test|
90
+ |---------|----:|---------:|---:|
91
+ |SCJNNER|1396|345|0|
92
+
93
+ | annotations|train|validation|test|
94
+ |---------|----:|---------:|---:|
95
+ |LEY|1084|329|0|
96
+ |TRAT_INTL|935|161|0|
97
 
98
  ### Team
99
 
100
  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)
101
+ """