Del curso: Python para data scientist avanzado
Stemming: procesamiento textual - Tutorial de Python
Del curso: Python para data scientist avanzado
Stemming: procesamiento textual
Una vez ya sepas cómo eliminar todo el ruido más superficial de un texto como, por ejemplo, las "stop words", aquellas palabras que sencillamente no aportan información porque son conjunciones o preposiciones, y todos los signos de puntuación, el siguiente paso normalmente en un análisis de texto es utilizar un "stemmer". ¿Qué es exactamente un "stemmer"? Aquí te propongo usar este, que forma parte del NLTK. Y lo que estamos haciendo cuando usamos una función de este estilo es reducir las palabras a la raíz. Vamos a ver qué es lo que estamos haciendo. Aquí tenemos las palabras sin procesar, y una de las cosas que podemos hacer es reducir todas las conjugaciones del verbo "llegar" a su raíz. Es decir, llevar todas las palabras que sean "llegaba", "llegaban", etc., a "llegar". Esto es lo que hace una función de este estilo. Tenemos que inicializar 'stemmer' en el idioma que lo queremos. Hay bastantes más. El tema es que muchos de ellos no aceptan el español, así que yo recomiendo este si estás trabajando con texto en castellano, pero sabed que existe, por ejemplo, también el PorterStemmer, que también es muy potente. Aquí creamos el objeto. Y lo que vamos a hacer es, usando este "loop", coger cada una de las palabras que tengamos en la lista y vamos a extraer su raíz. He creado una lista de raíces, de momento vacía. Y vamos a extraer la raíz de cada una de ellas. Como puedes ver, es inmediato. Tenemos exactamente el mismo texto, pero hemos despojado a todas las palabras de sus sufijos, es decir, tenemos la raíz. Antes he hablado de "llegar" y ahora solo tenemos la raíz. Esto lo que permite es que, cuando hagamos un recuento de frecuencias, no nos veamos afectados por qué conjugación o qué variante de la palabra estemos usando. Si lo que queremos es usar la función 'FreqDist', de las raíces, cogemos, por ejemplo, las 20 primeras. Vemos efectivamente que no son las palabras en realidad, aunque hay algunas que sí. Señor, por ejemplo, tiene el mismo formato. Pero si este objeto encuentra "señora", también lo va a reducir a "señor". Este es el punto. Y comparamos esto con... Y podemos ver, por ejemplo, que "caballero" ahora es la palabra que más aparece, o la raíz asociada a "caballero", y aquí no lo era, estaba empatada con "nombre". Este proceso que, como has visto, es increíblemente sencillo, consta de crear un objeto y recorrer mediante un bucle todas las palabras que tenemos en nuestra lista. Recomiendo que primero lo limpies con una instrucción de este tipo. Y creamos una transformación de nuestras palabras que permite realizar un análisis mucho más específico que no dependa tanto de las circunstancias concretas.
Practica mientras aprendes con los archivos de ejercicios.
Descarga los archivos que el instructor utiliza para enseñar el curso. Sigue las instrucciones y aprende viendo, escuchando y practicando.
Contenido
-
-
-
-
-
(Bloqueado)
Introducción al Text Mining2 min 52 s
-
(Bloqueado)
Primeros pasos: bag of words6 min 20 s
-
Stemming: procesamiento textual3 min 34 s
-
(Bloqueado)
Análisis posicional del texto3 min 31 s
-
(Bloqueado)
Traducción de variables textuales4 min 21 s
-
(Bloqueado)
Sentiment analysis4 min 11 s
-
(Bloqueado)
Clasificación automática de textos3 min 27 s
-
(Bloqueado)
Topic Modeling en Python4 min 35 s
-
(Bloqueado)
-
-