El poder de las palabras: Aplicaciones de procesamiento de lenguaje natural (NLP)

Carlos Pérez

Carlos Pérez

Desarrollador back-end

Algunas herramientas que hacen más fácil nuestra vida utilizan el procesamiento de lenguaje natural (NLP), operaciones que para el ser humano pueden ser sencillas, para las aplicaciones de software pueden ser algo complejas. En nuestro día a día podemos utilizar aplicaciones que nos ayuden a filtrar correos electrónicos no deseados de acuerdo con el contenido del correo, otras que nos ayuden a corregir o autocompletar el texto, otras que nos ayuden a traducir texto a otro idioma, otras que nos ayuden a analizar las reseñas que colocan de nuestro producto y así muchas otras operaciones que utilicen NLP.  

En DataLab PL, una de las aplicaciones que más utilizamos, es la extracción de palabras clave dentro del texto. Te contaré los aspectos que tomamos en cuenta para poder encontrar esas palabras claves relevantes para nuestros análisis. 

“No supervisado”

Como punto de partida, se utiliza un método no supervisado para la extracción de palabras basándose en el análisis del texto aplicando funciones estadísticas. Cuando decimos que utilizamos un método no supervisado, lo que significa es que este método no necesita que los datos estén clasificados, es decir el texto no necesita que esté clasificado en alguna categoría o tener un valor asociado, el método solo necesita el texto para poder extraer las palabras clave. 

Aunque no necesitamos otro parámetro de entrada aparte del texto para la extracción de palabras clave, es útil configurar correctamente algunos valores para que nuestro método nos devuelva palabras relevantes. El primer valor por configurar es el idioma, nuestro método es óptimo si le indicamos en que idioma está escrito el texto, este valor es opcional ya que nuestro método hará el análisis tratando de detectar el idioma en el que fue escrito el texto. El segundo valor por configurar es la cantidad de palabras que queremos que contengan las secuencias generadas por el método, así el método puede devolver frases compuestas por dos o tres palabras que tengan un significado. 

¡A trabajar!

Teniendo nuestro texto y las configuraciones, el método empieza a hacer su trabajo: 

  1. Preparación del texto. Iniciamos con la preparación del texto para el análisis. Este paso consiste en separar el texto en términos individuales, separando las palabras basándose en los espacios en blanco, en los signos de puntuación o en el fin de una línea. Al final de este paso obtenemos términos individuales. Por ejemplo del texto: “Cada paso que damos está respaldado por datos” obtenemos las palabras “cada”, “paso”, “que”, y así sucesivamente. 
  2. Extracción de características clave. Para cada palabra obtenida en el proceso de preparación, se determinan las siguientes características: 
    1. Mayúsculas: el método toma en cuenta si las palabras están escritas en mayúsculas o minúsculas. Una palabra escrita en mayúsculas puede ser más relevante que si está escrita en minúsculas. 
    2. Posición: se asigna un mayor punteo si la palabra aparece al inicio del texto. 
    3. Frecuencia: una palabra que aparece más veces en el texto se le asigna un mayor punteo. 
    4. Relación con el contexto: se analiza que tantas palabras diferentes aparecen alrededor de una posible palabra clave. 
    5. Palabra en diferentes oraciones: Se realiza un cálculo de qué tan frecuente una palabra aparece en diferentes oraciones del texto. Una palabra que aparece en varias oraciones se considera más relevante que aquella que solo aparecen en una oración. 
  3. Generación de punteo. Con base en los cálculos anteriores para cada término o frase se generan las puntuaciones finales. Este punteo indica que palabras o frases son potencialmente más relevantes. 
  4. Eliminación de duplicados. Finalmente, se eliminan los duplicados y se ordena basándonos en el punteo aplicado para entregar un listado de las palabras o frases más relevantes del texto. 

Conoce Goo y utiliza NLP para generar resultados valiosos para el análisis de tu marca.