Competencia de Etiquetado de Textos Automático

La competencia ha finalizado el 9 de Septiembre de 2018.

Introducción

El desafío propuesto por los Ministerios nacionales de Justicia y Derechos Humanos y Modernización para esta competencia consiste en sugerir automáticamente múltiples etiquetas para textos legales (clasificación multi-label).

La tarea se enmarca dentro del esfuerzo permanente del Sistema Argentino de Información Jurídica (SAIJ) por mantener una base actualizada, ordenada y accesible para quienes trabajan con textos legales en nuestro país.

Desde el equipo organizador armamos un tutorial en formato de Jupyter Notebook

¡A Meterle:Data que el ganador se lleva una GPU nvidia 1080Ti!

Evaluación

Los participantes deberán proponer 10 etiquetas por cada una de las 10.000 normas del set de evaluación. Estas etiquetas corresponden a los Id's de los términos del tesauro del SAIJ 1. Las etiquetas propuestas por los participantes serán contrastadas con las etiquetas verdaderas del set de evaluación (no accesibles para los participantes).

Aclaración: - Las etiquetas verdaderas del set de evaluación pueden no estar presentes en el set de entrenamiento.

  • La información de todas las 14699 posibles etiquetas se encuentra en el diccionario de términos.

Métrica de evaluación

La métrica de evaluación es el MAP@10 (mean average precision con 10 ejemplos).

Esta métrica no sólo premia a la predicción de etiquetas correctas entre las 10 propuestas sino que considera el orden en las que se las presenta. Identificar etiquetas correctamente dentro de las primeras opciones vale más que detectarlas en las últimas.

El MAP@10 se calcula como el promedio de los AP@10 (average precision con 10 ejemplos) obtenidos en las distintas normas.

El AP@10 se define de la siguiente manera:

Donde n es el número de etiquetas verdaderas de la norma, P(k) es la precisión teniendo en teniendo las k primeras etiquetas predichas y rel(k) es la relevancia de la k-esima etiqueta predicha (1 si la etiqueta es correcta, 0 si no lo es)

Por ejemplo, supongamos el caso de una norma cuyas etiquetas verdaderas son [1,2,3], y se predicen las etiquetas [10,8,2,12,5,6,11,4,1,16]. En este ejemplo, la tercer etiquetas (k=3) y la novena (k=9) resultaron correctas (rel(k)=1 para k=3,9 y rel(k)=0 para los otros k). Luego P(3) = 1/3 y P(9)= 2/9, dado que entre las primeras 3 etiquetas predichas hay 1 correcta y entre las primeras 9 etiquetas predichas hay 2 correctas. obteniendo así un AP@10 = (1/3 +2/9)/3 = 0.185.

En esta competencia se utilizó la implementación del paquete ml_metrics de python

1Un tesauro es una red de términos que permite vincular una palabra con otras según distintos tipos de relaciones: jerárquicas, asociativas, de equivalencia.

Formato de Envío

Se debe enviar un archivo CSV de 11 columnas y 10.000 filas que contengan el id de la norma (primer columna) y 10 descriptores distintos propuestos ordenados por relevancia decreciente (10 columnas siguientes). El CSV debe guardarse con una separación por comas.

269916,3833,2549,1231,16532,3929,9448,3936,20145,1282,9448
269361,1282,9448,6493,19994,20149,93,9448,5624,3929,6493
269568,3833,12291,1282,5626,14785,4924,9448,1282,17056,3929
269572,1756,1282,1229,17217,14950,3833,60,1256,4038,17217
269339,1282,3833,2820,15810,3908,3834,625,3831,9448,1181
269696,9448,4885,2549,3833,2723,2211,1764,9448,17217,3929
...

Observar que el archivo no debe poseer encabezado.

Segundo envío

Al finalizar la competencia, cada participante deberá enviar un reporte del enfoque utilizado en un archivo PDF. El jurado le asignará un puntaje según originalidad, claridad de exposición y elegancia de la solución. El puntaje final se computará ponderando en un 80% por la métrica y un 20% por el reporte.

Bueno, ya ¡dame la data!

Datos de entrenamiento:

Datos de prueba:

Diccionario de términos:

Relaciones entre términos:

Datos extras sin etiquetar:

Ejemplo de respuesta:

Descripción

  • Entrenamiento. Dentro de las bases de SAIJ existen textos que fueron indizados (etiquetados) manualmente. El archivo de entrenamiento, 'CETA_set_de_entrenamiento.zip', contiene estos textos junto a sus etiquetas del tesauro. Este dataset también contiene mas información, como tipo de la norma, fecha de sanción, título de la norma y resumen.

  • Evaluación. El conjunto de prueba ('CETA_test_set_10k.zip') consta de textos legales sin etiquetar y sobre el cual los participantes deben intentar predecir las etiquetas correctas. Es por esto que este dataset no contiene la columna 'etiquetas'. Sobre estos registros es que se deberá predecir el valor de esta columna faltante.

  • Ejemplo de Respuesta. Un ejemplo de archivo de respuesta con valores generados aleatoriamente siguiendo la distribución de etiquetas existentes en el set de entrenamiento.

Este archivos sigue el formato requerido para el envío que consiste de un CSV de 11 columnas y 10.000 filas que contengan el id_norma (primer columna) y las 10 etiquetas propuestas para esa norma, ordenados por relevancia decreciente (10 columnas siguientes).

  • Diccionario de Términos. El archivo 'CETA_tesauro_terminos.csv' contiene el diccionario de los términos asociados a cada una de las 14699 posibles etiquetas (id's del tesauro de SAIJ). Los elementos del diccionario siguen el formato: ['id','uri','termino1','termino2',..]

por ejemplo: ['65', 'http://vocabularios.saij.gob.ar/saij/?tema=65', 'abigeato', 'hurto de ganado', 'cuatrerismo', 'hurto campestre']

La posibilidad de múltiples términos asociados a un mismo Id se debe a la presencia de sinonimia

  • Relaciones entre Términos. El archivo 'CETA_tesauro_relaciones.csv' contiene las relaciones entre términos. Son del tipo : sujeto, predicado, objeto. Sujeto y objeto contienen las uris de los términos vinculados y la columna predicado contiene el tipo de relación, en forma de uri, de acuerdo a las relaciones semánticas definidas por el consorcio W3.