GithubHelp home page GithubHelp logo

clustering's Introduction

Clustering

Trabajo perteneciente a la cátedra "Text Mining" de Laura Alonso Alemany - FaMAF UNC. 2021

Configuracion:

  1. Descomprimir el archivo lavoztextodump.txt.tar.gz en el mismo directorio del jupyter-notebook.
  2. Ejecutar:
pip install -U pip wheel setuptools jupyter spacy numpy sklearn
python -m spacy download es_core_news_sm
  1. Abrir jupyter y ejecutar el notebook.

Etapas:

1. Preprocesamiento:

  1. Limpieza del dataset:

    Se quitan simbolos no alfanumericos mediante regex.

  2. 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).
  3. 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
  4. 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.
  5. Separacion de palabras y features.

  6. Vectorizacion de features.

  7. Normalizacion de features.

2. Clusterizacion:

  1. Eleccion del numero de clusters.
  2. Seleccion del estado aleatorio para obtener resultados deterministicos.
  3. Instanciacion del algoritmo KMeans para obtener los clusters.

3. Resultados:

  1. Conteo de palabras por cluster.
  2. Listado de clusters con la siguiente informacion:
    • Numero de cluster.
    • Features mas determinantes para ese cluster.
    • Palabras dentro del cluster.

clustering's People

Contributors

csralvall avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.