¡Hola a todos! En este tutorial les mostraremos cómo detectar la coherencia en los textos utilizando Python y la librería Pattern.
¿Qué es la coherencia textual?
Antes de empezar, es importante entender qué es la coherencia textual. Básicamente, se refiere a la capacidad de un texto para ser coherente, es decir, que todas las ideas deben estar relacionadas entre sí y seguir una secuencia lógica que permita una comprensión clara del mensaje.
¿Por qué es importante la coherencia textual?
La coherencia textual es de gran importancia en diversos ámbitos, como la literatura, la comunicación empresarial, la política, entre otros. En la literatura, un texto coherente garantiza que el mensaje se transmita de manera clara y efectiva al lector. En la comunicación empresarial y política, la coherencia textual es vital para persuadir y convencer al receptor de la información.
Librería Pattern
Pattern es una librería creada en Python para el procesamiento de lenguaje natural. Se enfoca principalmente en la extracción de información, el análisis semántico, la tokenización y el análisis de sentimientos. Además, tiene una función específica para detectar la coherencia textual, la cual usaremos en este tutorial.
Instalación de Pattern
Para utilizar Pattern en nuestro código de Python, necesitamos instalarla primero. Podemos hacerlo fácilmente usando la siguiente línea de comando en nuestra terminal:
!pip install pattern
Ejemplo de detección de la coherencia textual
Una vez que ya hemos instalado Pattern, podemos empezar a utilizar la función de detección de la coherencia textual. Para este ejemplo, vamos a utilizar un texto de muestra:
texto_ejemplo = "El clima estaba soleado. Decidimos ir al parque. Allí jugamos al fútbol."
Ahora, utilizando Pattern, podemos detectar la coherencia textual de este texto utilizando la función coherence().
from pattern.es import coherence
print(coherence(texto_ejemplo))
El resultado debería ser 0.92, lo que indica que el texto es coherente. Ahora, si cambiamos el orden de las oraciones del texto, deberíamos obtener una puntuación menor:
texto_ejemplo2 = "Decidimos ir al parque. Allí jugamos al fútbol. El clima estaba soleado."
print(coherence(texto_ejemplo2))
En este caso, el resultado debería ser 0.52, lo que indica que el texto es menos coherente.
Función coherence()
La función coherence() de Pattern utiliza un modelo de lenguaje para calcular la probabilidad de que el texto sea coherente. El modelo de lenguaje se entrena utilizando un corpus de texto, lo que permite que la función detecte la coherencia incluso en textos con estructuras gramaticales complejas.
Parámetros de la función coherence()
La función coherence() tiene varios parámetros que podemos utilizar para ajustar la detección de la coherencia. Los más importantes son:
- threshold: el umbral de coherencia para determinar si el texto es coherente o no. El valor por defecto es de 0.7.
- ngrams: el tamaño de los n-gramas utilizados para entrenar el modelo de lenguaje. El valor por defecto es de 5.
- word_filter: una lista de palabras que se deben excluir del cálculo de la coherencia. El valor por defecto es una lista vacía.
Ejemplo de uso de parámetros
Para usar un parámetro diferente al valor por defecto, simplemente debemos especificarlo en la llamada de la función coherence(). En este ejemplo, vamos a cambiar el umbral de coherencia a 0.5:
from pattern.es import coherence
print(coherence(texto_ejemplo, threshold=0.5))
El resultado será 0.92 nuevamente, ya que el texto es coherente y el nuevo umbral también lo considera coherente.
La detección de la coherencia textual es una tarea importante en el procesamiento de lenguaje natural. Con la librería Pattern y la función coherence(), podemos detectar fácilmente la coherencia de un texto en Python.