Preprocesamiento - UTEC-BDII/Lab6.2 GitHub Wiki

El preprocesamiento se da en los siguientes pasos:

Filtrar los stopwords

Para filtrar los stopwords primero se debe leer el archivo de texto stoplists.txt que es el que contiene la lista de las stopwords separados por saltos de línea. Este archivo se lee en la lista stoplist. Asimismo, se añade a esta lista algunos símbolos que no se encontraban originalmente y que pueden afectar la tokenización.

Para eliminar los stopwords de una lista de términos se usa la función clean. Esta función recibe una lista como parámetro y crea una nueva lista con los mismos elementos donde van a estar los términos finales. Luego, se recorre la lista inicial y, por cada término que esté en stoplist, se elimina esté de la lista de palabras limpias, la cual se retorna al final de la ejecución de la función.

Reemplazar palabras con su raíz (Stemming)

Para la reducción de palabras se usa el Snowball Stemmer, un algoritmo de stemming que permite trabajar con palabras en español. La reducción se aplica en la función stem sobre una lista de términos. Esta función crea una lista inicialmente vacía que va a almacenar las palabras reducidas. Luego, se recorre toda la lista que se le pasa como parámetro y a cada término se le aplica la función de reducción del stemmer para luego añadir el término reducido a la lista de palabras reducidas que va a ser retornada al terminar de recorrer la lista.

Procesar la lista de documentos

El procesamiento de los documentos se hace en la función readDocuments. Esta función va a abrir todos los archivos dentro del directorio donde se ubican los documentos, definido al inicio del archivo como docPath, va a leer su contenido en la variable texto, va a aplicar la tokenización propia de la librería nltk para dividir el texto en una lista de términos y, finalmente, va a aplicar sobre esta lista las funciones para el filtrado de stopwords y la reducción. La lista resultante se va a guardar en un diccionario que va a mapear el ID de cada documento con la lista de términos en este. El diccionario se retorna al terminar de analizar todos los documentos.