1. En un corpus de texto general en castellano, encontrar grupos de palabras que puedan ser usados como clases de equivalencia, al estilo de los Brown Clusters.
2. En el corpus de InfoLeg etiquetado, encontrar grupos de entidades nombradas de dominio legal con semánticas equiparables.
Soluciones de ejemplo de text mining 2017
clustering de palabras de Dani Bosch (con Spacy)
clustering de palabras de Facu Molina (con gensim)
Fecha de entrega:
- 18 de septiembre primera discusión en clase
- 25 de septiembre segunda discusión en clase
- 2 de octubre presentación del informe (github)
Material a entregar (digital, no papel): Una página web (tipo github) con:
- descripción del preproceso aplicado al corpus
- descripción de la herramienta de clustering utilizada
- listado de los parámetros usados en la(s) solucion(es) de clustering que se presentan, y lo que se esperaba a priori de cada configuración de parámetros
- discusión de la(s) solucion(es) de clustering elegidas: descripción global de la solución (número de clusters, cantidad de elementos por cluster, distribución de características, algunas métricas) y descripción cualitativa de algunos clusters
Procedimiento (independiente para cada uno de los objetivos)
- Obtener un corpus de la lengua española (por ejemplo, alguno del SBWCE de Cristian Cardellino, o, a falta de mejores opciones, se pueden usar los que hay en mi directorio de corpus). También tienen disponible todo el InfoLeg por si quieren hacer embeddings de dominio legal específicamente.
- Preprocesarlo para normalizar las palabras, con SpaCy, NLTK o Freeling. Se pueden realizar análisis morfosintáctico o sintáctico, de forma de enriquecer la información asociada a palabras, por ejemplo, con triplas de dependencias.
- Vectorizar las palabras (para el objetivo 1) o las entidades nombradas (para el objetivo 2) (quizás usando el vectorizador de scikitlearn o una heurística propia). Al momento de vectorizar las palabras se pueden usar diferentes criterios para reducción de dimensionalidad (por ejemplo, umbral de frecuencia), y también LSA o word embeddings neuronales.
- Obtener clusters de palabras.
- Analizar los clusters, iterar a 3.
- Si se realizan los pasos básicos sin ninguna omisión, 8
- Si se realizan los pasos básicos con algunas omisiones, entre 6 y 7
- Si se usan triplas de dependencias, 9
- Si se usan embeddings (neuronales o LSA), 9
- Si se usan tripas y embeddings, 10