Saltar a contenido

Longitudes de las oraciones

ests.visualizers.sentence_lengths_plot(), ests.visualizers.sentence_lengths()

Descripción

La curva de las longitudes de las oraciones, el ritmo de un texto: la longitud de cada oración en palabras en orden, la media móvil sobre una ventana de window oraciones y un recuadro con el histograma de las longitudes. Oraciones cortas y largas que se alternan son un signo editorial de un texto vivo; una curva plana, de uno monótono. sentence_lengths extrae las longitudes: las oraciones de una cadena salen de SentsExtractor con las mismas reglas - los signos de apertura, las rayas de un diálogo, las abreviaturas - y una palabra pertenece a la oración en la que empieza; las oraciones de un Doc salen de sus límites (sin ellos, de su texto); las longitudes ya hechas - cualquier secuencia de enteros, incluidos un array de numpy y una Series - se usan tal cual; las oraciones sin palabras se omiten. La función recibe los ejes ax y devuelve Axes.

Parámetros

Parámetro Tipo Por defecto Descripción
source str/Doc/Iterable[int] - Texto, objeto Doc o longitudes de las oraciones (una lista, un array de numpy, una Series)
window int 10 Ventana de la media móvil en oraciones
inset bool True Mostrar el recuadro con el histograma
ax Axes None Ejes para el gráfico

Ejemplo de uso

La segunda ventana de 2000 palabras de Niebla de Unamuno de Project Gutenberg.

Ejemplo

Código:

from urllib.request import urlopen

from ests.corpus import split_windows
from ests.visualizers import sentence_lengths, sentence_lengths_plot

url = "https://www.gutenberg.org/cache/epub/49836/pg49836.txt"
text = urlopen(url).read().decode("utf-8")
text = text[text.index("\n", text.index("*** START OF")) : text.index("*** END OF")]
chapter = split_windows(text, 2000)[1]

sentence_lengths(chapter)[:5]
# [54, 43, 26, 30, 41]

sentence_lengths_plot(chapter, window=10)

Resultado:

ests