Divide un vector de texto en tokens individuales de palabras, utilizando reglas adaptadas para texto en español. La función puede, opcionalmente, normalizar el uso de mayúsculas, conservar o eliminar tildes, y decidir cómo tratar guiones, números, puntuación y símbolos.
Usage
tokenize_words(
text,
lowercase = TRUE,
keep_accents = TRUE,
strip_punct = TRUE,
keep_hyphens = TRUE,
remove_numbers = FALSE,
strip_symbols = TRUE,
flatten = FALSE
)
Arguments
- text
Vector de caracteres que contiene el texto a tokenizar.
- lowercase
Lógico; si es
TRUE
, convierte todo el texto a minúsculas antes de tokenizar.- keep_accents
Lógico; si es
FALSE
, se eliminan las tildes de los caracteres.- strip_punct
Lógico; si es
TRUE
, elimina la puntuación (\p{P}
) antes de tokenizar.- keep_hyphens
Lógico; si es
TRUE
, conserva los guiones dentro de las palabras (p. ej., teórico-práctico).- remove_numbers
Lógico; si es
TRUE
, elimina los tokens que son puramente numéricos.- strip_symbols
Lógico; si es
TRUE
, elimina símbolos Unicode (\p{S}
, p. ej., emojis, divisas) antes de tokenizar.- flatten
Lógico; si es
TRUE
ytext
tiene longitud 1, devuelve un vector de caracteres en lugar de una lista.
Value
Si
length(text) > 1
: una lista, donde cada elemento corresponde a los tokens de cada elemento detext
.Si
length(text) == 1
yflatten = TRUE
: un vector de caracteres con los tokens.En cualquier otro caso: una lista de tokens.
Details
La limpieza de puntuación usa la clase Unicode \p{P}
y la de símbolos \p{S}
.
Si strip_punct = TRUE
y keep_hyphens = TRUE
, los guiones se preservan.
Examples
tokenize_words("Este es un texto de prueba, con tildes y números: 123.")
#> [[1]]
#> [1] "este" "es" "un" "texto" "de" "prueba" "con"
#> [8] "tildes" "y" "números" "123"
#>
tokenize_words(c("Primera frase.", "Segunda frase con más palabras."))
#> [[1]]
#> [1] "primera" "frase"
#>
#> [[2]]
#> [1] "segunda" "frase" "con" "más" "palabras"
#>
tokenize_words("Hola :) mundo!", strip_symbols = TRUE, flatten = TRUE)
#> [1] "hola" "mundo"