Saltar al contenido

M21- Búsqueda y Recomendación para Textos Legales

Tutor: Jorge. E. Pérez Villella
jperezvillella@gmail.com

Descripción

La idea es poder recomendar a partir de un texto proveniente de un artículo, contrato, etc., sentencias y fallos judiciales, semejantes a dicho texto.

Este tema es interesante porque...

El principal atractivo de un sistema de Recomendación reside en que ofrece información relevante para el usuario en forma activa, acerca de la base de información del dominio en cuestión, sin necesidad de que el mismo tenga conocimientos sobre los artículos recomendados o la consulta a realizar. El valor de esta información proviene del análisis previo de los datos y su relación con los usuarios.
Además, podrás tener una primera aproximación al análisis de texto y el procesamiento del lenguaje natural integrando sobre un mismo dataset los temas vistos en las materias de la Diplomatura.

Trataremos de responder algunas de las siguientes preguntas

– ¿Se puede buscar y recomendar fallos y sentencias judiciales estableciendo automáticamente cuales son en un corpus de datos lo que tienen mayor similitud con el tema buscado?
– ¿Se puede extender la búsqueda a leyes, decretos, resoluciones, etc.?
– ¿Cuáles son los procesos necesarios basados en Procesamiento de Lenguaje Natural (NLP) para buscar y brindar recomendaciones de fallos y sentencias judiciales?
– ¿Se pueden hacer búsquedas y recomendaciones desde distintas fuentes de información, como artículos periodísticos, fragmentos de contratos, textos con sentido legal como tweets u opiniones de profesionales del ámbito legal?

Datos

Si quieres inspeccionar el conjunto de datos, lo encontrarás en https://github.com/jorgeperezv/Busqueda-y-Recomendacion-para-Textos-Legales-Mentoria-2022.
Allí encontrarás 2 carpetas:

– Datos: contiene fallos y sentencias divididos por fuero: Familia, Laboral, Menores y Penal. Son documentos en formato DOC, DOCX y PDF.
– Documentos: son los mismos documentos en formato TXT.

También encontrarás la notebook utilizada para la conversión del formato de los documentos.

Hitos de la Mentoría

Entrega 20/05 – Práctico de análisis y visualización

– Generar un corpus con todos los documentos.
– Dividir el corpus en tokens, graficar el histograma de frecuencia de palabras demostrando la ley Zipf.
– Analizar palabras más frecuentes y menos frecuentes. Seleccionar 5 documentos de cada fuero y realizar el mismo análisis. ¿Se repiten las palabras?
– Hacer lo mismo con n-gramas.
– Visualizar la frecuencia de palabras en una nube de palabras.
– Elaborar una breve conclusión de lo encontrado.

Entrega 17/06 – Práctico de análisis exploratorio y curación de datos
Normalizar el corpus generado en el práctico anterior, teniendo en cuenta los siguientes aspectos:

tokenización,
– pasar a minúsculas,
– separar puntuación,
stemming y lematización,
– eliminar stopwords (o no),
– eliminar las palabras con frecuencia menor a n.

Analizar las palabras más frecuentes de todo el corpus, por fuero y de 5 documentos. Compararlo con el resultado obtenido en el ejercicio anterior. ¿Se observa algún cambio significativo?
Hacer una explicación con ejemplos tomando algunas palabras al azar entre lo que es stemming y lemmatizing para entender que nos da cada uno de estos procesos y cual es conveniente utilizar en cada caso.

Opcional:
– Investigar que es Segmentación y compararlo con Tokenización. Ejemplificar con un documento.
– Investigar NER (Named Entity Recognition – Reconocimiento de Entitades Nombradas). Buscar las Entidadas Nombradas mas frecuentes en todo el corpus y por fuero.

Entrega 24/06 – Video de presentación intermedia del proyecto y dataset.
Entrega 29/07 – Práctico aprendizaje supervisado

– El objetivo de este práctico es probar distintos modelos de clasificación para evaluar la performance y la exactitud de predicción de cada modelo.
– Utilizando el corpus normalizado en el práctico anterior, transformar el texto en vectores numéricos utilizando scikit-learn comparando los 3 modelos de vectorización.
– Clasificar los documentos por fuero. Trabajaremos con los siguientes modelos de clasificación de la librería scikit-learn: Logistic Regresion, Naive Bayes, y SVM. En cada modelo probar distintos hiperparámetros, generar la Matriz de Confusión y la Curva ROC.
– Determinar el modelo con mejor performance.
– Predecir el fuero de un documento utilizando el mejor modelo.
– Opcional: Profundizar el tema de stop words y cómo generar uno propio.

Entrega 26/08 – Práctico aprendizaje no supervisado

– El objetivo de este práctico es encontrar los temas comunes a los documentos, sin tener en cuenta al fuero al que pertenecen.
– Realizar Topic Modeling utilizando LDA (Latent Dirichlet Allocation) y (NMF) Non-negative Matrix Factorization sobre el corpus.
– Evaluar velocidad de proceso para saber cuál de los dos es más rápido y cual tiene la agrupación de tópicos más cercana a lo que podrían ser clases válidas para la agrupación de documentos.
– Opcional: Realizar el proceso utilizando Gensim-Doc2Vec. Generar un input texto y traer los tres documentos con mayor similitud semántica al texto ingresado

Entrega 23/09 – Video de presentación final de mentoría.
Jornadas 11/11 y 12/11 – Presentación de mentorías.

Integrantes del grupo 1
Adrián Zelaya - Fernando Cardellino.