Trabajo perteneciente a la cátedra "Text Mining" de Laura Alonso Alemany - FaMAF UNC. 2021
- Corpus: compendio de noticias de "La Voz del Interior"
- Referencias:
- Descomprimir el archivo
lavoztextodump.txt.tar.gz
en el mismo directorio del jupyter-notebook. - Ejecutar:
pip install -U pip wheel setuptools jupyter spacy numpy sklearn
python -m spacy download es_core_news_sm
- Abrir jupyter y ejecutar el notebook.
-
Limpieza del dataset:
Se quitan simbolos no alfanumericos mediante regex.
-
Procesamiento con el pipeline de spacy:
El pipeline de spacy ejecuta las siguientes tareas:
- Segmentacion en tokens.
- Vectorizacion.
- Analisis morfologico (genero, numero, etc.).
- Analisis de dependencias.
- Clasificacion por reglas.
- Lematizacion.
- Clasificacion de entidades.
- Conteo de frecuencias de lemas (agregado).
-
Filtrado:
Se busca un subconjunto de tokens que cumplan las siguientes caracteristicas:
- no contiene caracteres no alfabeticos
- no es "stop word"
- no expresa un numero
-
Generacion de features:
Por cada palabra del conjunto procesado en el paso anterior generar un conjunto de features de acuerdo con:
- el tipo de palabra.
- su funcion sintactica.
- su coocurrencia con palabras en su misma oracion (contexto).
- el tipo de entidad que es, en el caso que lo sea.
- la dependencia con su predecesor sintactico en el arbol de dependencias.
-
Separacion de palabras y features.
-
Vectorizacion de features.
-
Normalizacion de features.
- Eleccion del numero de clusters.
- Seleccion del estado aleatorio para obtener resultados deterministicos.
- Instanciacion del algoritmo KMeans para obtener los clusters.
- Conteo de palabras por cluster.
- Listado de clusters con la siguiente informacion:
- Numero de cluster.
- Features mas determinantes para ese cluster.
- Palabras dentro del cluster.