Detección de Coherencia en Textos utilizando Python y la Librería SpaCy

La coherencia es un factor fundamental en cualquier tipo de texto, ya sea literario, periodístico, científico, entre otros. Sin una estructura lógica y una conexión adecuada entre las ideas presentadas, el mensaje que se desea transmitir puede perderse o incluso ser malinterpretado. Por esta razón, contar con herramientas que permitan detectar la coherencia en un texto es esencial, y una de las más efectivas es la librería SpaCy de Python.

Instalación de SpaCy

Antes de empezar, debemos asegurarnos de tener instalada la librería SpaCy. Para ello, podemos utilizar el siguiente comando en la terminal:

!pip install spacy

Descarga de Modelos

El siguiente paso es descargar los modelos necesarios para el análisis lingüístico. En este caso, utilizaremos el modelo «en_core_web_sm», el cual contiene un conjunto de reglas y datos sobre la gramática inglesa. Para descargar el modelo, podemos utilizar el siguiente comando:

!python -m spacy download en_core_web_sm

Análisis de Coherencia

Una vez que tenemos instalada la librería SpaCy y descargado el modelo de lenguaje correspondiente, podemos proceder a la detección de coherencia en el texto. En este ejemplo, utilizaremos el siguiente fragmento:

"El clima estaba cálido y soleado. Decidimos ir a la playa. Allí alquilamos sombrillas y sillas playeras. Después de unos minutos, empezó a llover muy fuerte."

Para hacer el análisis, primero importamos la librería e inicializamos el modelo descargado:

import spacy
nlp = spacy.load('en_core_web_sm')

Luego, creamos un objeto Doc con el texto que deseamos analizar:

doc = nlp("El clima estaba cálido y soleado. Decidimos ir a la playa. Allí alquilamos sombrillas y sillas playeras. Después de unos minutos, empezó a llover muy fuerte.")

Finalmente, podemos acceder a la propiedad «sents» del objeto para obtener una lista de las oraciones detectadas en el texto:

sentences = list(doc.sents)

Visualización de Resultados

Para visualizar los resultados de manera más clara, podemos utilizar la librería displacy de SpaCy. Para ello, importamos los módulos necesarios:

from spacy import displacy
from IPython.core.display import HTML
from IPython.core.display import display

Luego, creamos una función para resaltar en verde las oraciones coherentes y en rojo las incoherentes:

def highlight_coherent(doc):
    html = ""
    for sent in doc.sents:
        if sent.similarity(doc) > 0.7:
            html += "" + sent.text + ""
        else:
            html += "" + sent.text + ""
    html = "

Finalmente, llamamos a la función y visualizamos el resultado:

highlight_coherent(doc)

La detección de la coherencia en textos es una tarea importante en cualquier ámbito de la comunicación escrita. La librería SpaCy de Python ofrece una solución efectiva y sencilla para este tipo de análisis lingüístico, permitiendo identificar las oraciones coherentes e incoherentes en un texto de manera rápida y precisa.

No te pierdas los últimos artículos:

Web Scraping con Python y BeautifulSoup para Principiantes

Bienvenido a esta guía sobre Web Scraping con Python y BeautifulSoup, diseñada especialmente para principiantes. Si estás buscando aprender a extraer datos de sitios web de manera eficiente, seguro que ...

Curso de Python Básico Gratis

Módulo 1: Introducción a Python Nuestra meta principal es que, al final de este curso, tengas una sólida comprensión de los fundamentos de Python y estés listo para crear tus ...

Sistemas Expertos: ¿Qué son y para qué sirven?

Los sistemas expertos representan una rama fascinante de la inteligencia artificial, diseñada para emular la toma de decisiones de un humano experto en un campo particular. Estas herramientas avanzadas combinan ...

La Historia de la Inteligencia Artificial contada en Años

¿Cómo comenzó todo? Echemos un ojo a la historia de la IA a lo largo del tiempo. Desde 1950 hasta 2024. El artículo es largo, usa la tabla de contenidos ...

¿Qué es el meta-aprendizaje?

El mundo de la Inteligencia Artificial (IA) está en constante evolución, y una de las áreas más intrigantes y prometedoras es el metaaprendizaje. Pero, ¿qué es exactamente el metaaprendizaje y ...
Cargando...