Procesamiento de Lenguaje Natural (PNL): resumenes con spaCy

Escrito por jlgranda.com el jueves diciembre 9, 2021

Tutorial rápido, en español, para obtener resumenes de texto con la librería spaCy.

Basado en "Text summarization with spaCy" [Text summarization using spacy]

¿Qué es spaCy?

Una librería open-source para el procesamiento de lenguaje natural escrita en Python y Cython.

Resumenes de texto

Dos grandes categorías:

  1. Resumenes extractivos: Extraer partes del texto (frases, sentencias) para crear un resumen a partir de ellas. El problema aquí es identificar cuales frases o sentencias son las correctas para componer el resumen.
  2. resumenes abstractivos: usan técnicas avanzadas para generar un resumen. Incluso creando nuevo texto que no esta contenido en el original

En el tutorial se aborda los Resumenes extractivos:

Paso 1: Instalar librerias.

Requerimiento: tener instalado Python en un ambiente Linux (yo prefiero Fedora Linux). Para windows la literatura recomienda Anaconda.

Para verificar python

$python --version

Luego instalar la librería spacy

$pip install -U spacy

Instalar el modelo pre entrenado en lenguaje Ingles

$python3 -m spacy download en_core_web_sm

Esto conforme a los pasos del tutorial de referencia, para español instalar un modelo pre entrenado

$python3 -m spacy download es_core_news_sm

También es recomendable usar Spyder un IDE para programación científica.

$dnf install spyder3

En el guión de comandos adjunto documento los pasos en español [descargar aquí]. Abrir el archivo en Spyder3 y ejecutar.

Este es el resultado de la ejecución de spaCy para un texto en español de un contexto turistico gastronómico.

Texto original [http://emporiolojano.com/entry/cecina-lojana-en-el-centro-de-loja] Texto resumido

Dentro de los platos tradicionales y típicos de la deliciosa gastronomía lojana estan la deliciosa Cecina, este es un plato tradicional lojano que consiste en un filete muy muy fino de lomo de cerdo. El proceso de obtener el filete "finitito"  se conoce como cecinar la carne y por eso recibe el nombre de Cecina.

Es un plato muy tradicional en toda la provincia de Loja, y dependiendo del lugar se prepara de forma diferente. La preparación más frecuente es la de secar la cecina al sol y/o aumarla en leña, luego adobar con ajo y sal.

Finalmente se asa al carbón o a la plancha. El sabor se determina por la calidad de la carne y el toque secreto lo agrega el aliño.

Cuando estes en Loja, debes disfrutar una buena Cecina Lojana, mucho mejor si lo haces en el Emporio Lojano.

El edificio emporio lojano, es una de las primeras edificaciones de la ciudad, su decoración simple y elegante, fiel a la Loja de antaño, es el escenario propicio para degustar buena comida en compañia de colegas, amigos y familia.

Dentro de los platos tradicionales y típicos de la deliciosa gastronomía lojana estan la deliciosa Cecina, este es un plato tradicional lojano que consiste en un filete muy muy fino de lomo de cerdo.

El edificio emporio lojano, es una de las primeras edificaciones de la ciudad, su decoración simple y elegante, fiel a la Loja de antaño, es el escenario propicio para degustar buena comida en compañia de colegas, amigos y familia.

Cuando estes en Loja, debes disfrutar una buena Cecina Lojana, mucho mejor si lo haces en el Emporio Lojano.

Palabras: 183 Palabras: 92

En el tutorial se detalla la siguiente secuencia de pasos para el procesamiento de texto:

  1. Construir el modelo y cargar el texto a procesar.
  2. Tokenización (tokens) y Etiquetado (tags). En este punto se obtiene frecuencias de uso de palabras
  3. Normalización: se calcula un valor entre 0 y 1 para cada palabra tomando como referencia la máxima frecuencia.
  4. Pesado de sentencias: se recorre sentencia a sentencia y palabra a palabra en cada una, acumulando el valor normalizado de la frecuencia. El resultado un arreglo con las sentencias y el peso dentro del texto.
  5. spaCy presenta la función nlargest que recibe 3 parámetros: cantidad de sentencias relevantes, la lista de sentencia y sus pesos basados en la frecuencia normalizada y el valor de la clave de la sentencia.
  6. En el código se obtienen 3 sentencias principales que contienen el resumen del texto.

Ya están innovando con nosotros

Imagen: 2021-01/screenshot-2021-01-13-neobanca-de-mutualista-pichincha-neobanca.jpg

Página de aterrizaje NEOBANCA.COM.EC

Innovaciones en el negocio requieren un sitio web de aterrizaje enfocado en el usuario. ¡Clic en la imagen para ver el sitio en producción!

Leer más
Imagen: 2021-05/screenshot-2021-05-29-promociones-mutualista-pichincha-promociones-mutualista-pichincha.jpg

Plataforma de gestión de "Landing pages" para promociones

Convierte a la audiencia en clientes. Para cada promoción un "landing page" o página de aterrizaje con un formulario de registro. Fácil con la Plataforma de gestión de "Landing pages" para …

Leer más
Imagen: 2021-01/screenshot-2021-01-13-inicio-responsabilidad-social-mutualistapichincha.jpg

Mutualista Pichincha: Sitio web de responsabilidad social

Transmitir el como la institución alinea su acción a los Objetivos de Desarrollo Sostenible ODS, fue la meta de este retador proyecto. Mutualista ratifica su confianza al encargarnos esta …

Leer más