Skip to contents

Divide un vector de caracteres en oraciones usando reglas adaptadas para español. La función protege abreviaturas comunes (p. ej., Sr., Dra., etc.), iniciales (J. R. R.), números con separador decimal (punto o coma) y elipsis (...) antes de realizar el corte. También permite agregar abreviaturas propias.

Usage

segment_sentences(
  text,
  extra_abbr = NULL,
  keep_delim = TRUE,
  normalize_spacing = TRUE
)

Arguments

text

Vector de caracteres con el texto a segmentar.

extra_abbr

Vector de caracteres opcional con abreviaturas adicionales (sin el punto final), por ejemplo c("coord", "aprox").

keep_delim

Lógico; si es TRUE, conserva el signo de cierre de oración (., ?, !) al final de cada segmento.

normalize_spacing

Lógico; si es TRUE, normaliza espacios múltiples y recorta espacios en los extremos de cada oración.

Value

Una lista donde cada elemento contiene un vector de oraciones para el elemento correspondiente de text.

Examples

segment_sentences("Hola. ¿Cómo estás? Todo bien, ¡gracias!")
#> [[1]]
#> [1] "Hola."                "¿Cómo estás?"         "Todo bien, ¡gracias!"
#> 
segment_sentences("El Dr. Pérez llegó a las 10.30. Luego se retiró.")
#> [[1]]
#> [1] "El Dr. Pérez llegó a las 10.30." "Luego se retiró."               
#> 
segment_sentences("J. R. R. Tolkien escribió mucho. Etc. fin.")
#> [[1]]
#> [1] "J. R. R. Tolkien escribió mucho." "Etc. fin."                       
#> 
segment_sentences("Ver págs. 12-14, cap. 3. Además, ver apéndices.")
#> [[1]]
#> [1] "Ver págs. 12-14, cap. 3." "Además, ver apéndices."  
#> 
segment_sentences("Aprox. 3,5 km. Luego continuar.")
#> [[1]]
#> [1] "Aprox. 3,5 km."   "Luego continuar."
#> 

# Con abreviaturas personalizadas:
segment_sentences("Coord. Gral. del proyecto. Reunión mañana.",
                  extra_abbr = c("Coord", "Gral"))
#> [[1]]
#> [1] "Coord. Gral. del proyecto." "Reunión mañana."           
#>