ac_tokenize() recebe um objeto ac_corpus() e retorna um
tibble em formato tidy, com um token por linha, no estilo
usado em analises de texto no ecossistema tidy.
A funcao implementa tokenizacao em palavras (n = 1) ou n-gramas de tamanho arbitrario (n > 1), usando janelas contiguas de tokens dentro de cada documento.
Usage
ac_tokenize(
corpus,
token = c("word"),
n = 1L,
keep_empty = FALSE,
drop_punct = FALSE,
...
)Arguments
- corpus
Objeto de classe
ac_corpus().- token
Tipo de tokenizacao desejada. Atualmente apenas
"word"e suportado (padrao), reservado para futura expansao.- n
Tamanho do n-grama. Deve ser um inteiro maior ou igual a 1. Para
n = 1, o resultado sao tokens individuais; paran = 2, bigramas ("A B"), paran = 3, trigramas etc.- keep_empty
Logico. Se
FALSE(padrao), documentos que resultarem em texto vazio apos a limpeza nao geram linhas na saida. SeTRUE, cada documento vazio gera uma linha comtoken = NAquandon = 1.- drop_punct
Logico. Se
TRUE, remove da sequencia tokens que consistem apenas de pontuacao (por exemplo"!","...") antes de construir n-gramas. Tokens que misturam letras e pontuacao (por exemplo"ola,") sao mantidos.- ...
Ignorado, reservado para argumentos futuros.
Value
Um tibble::tibble() com colunas:
doc_id: identificador do documento (herdado deac_corpus);token_id: posicao (1, 2, 3, ...) do token ou n-grama no documento;token: texto do token ou n-grama.
Examples
df <- data.frame(
id = c("d1", "d2"),
texto = c(
"O deputado do PT falou na CCJ.",
"Votar pra valer, agora!"
)
)
corp <- ac_corpus(df, text = texto, docid = id)
# Tokenizacao simples em palavras
tokens <- ac_tokenize(corp)
tokens
#> # A tibble: 11 × 3
#> doc_id token_id token
#> <chr> <int> <chr>
#> 1 d1 1 O
#> 2 d1 2 deputado
#> 3 d1 3 do
#> 4 d1 4 PT
#> 5 d1 5 falou
#> 6 d1 6 na
#> 7 d1 7 CCJ.
#> 8 d2 1 Votar
#> 9 d2 2 pra
#> 10 d2 3 valer,
#> 11 d2 4 agora!
# Removendo tokens que sao apenas pontuacao
df2 <- data.frame(
id = "d1",
texto = "Ola, mundo ! ..."
)
corp2 <- ac_corpus(df2, text = texto, docid = id)
tokens2 <- ac_tokenize(corp2, drop_punct = TRUE)
tokens2
#> # A tibble: 2 × 3
#> doc_id token_id token
#> <chr> <int> <chr>
#> 1 d1 1 Ola,
#> 2 d1 2 mundo
# Bigramas
ac_tokenize(corp, n = 2)
#> # A tibble: 9 × 3
#> doc_id token_id token
#> <chr> <int> <chr>
#> 1 d1 1 O deputado
#> 2 d1 2 deputado do
#> 3 d1 3 do PT
#> 4 d1 4 PT falou
#> 5 d1 5 falou na
#> 6 d1 6 na CCJ.
#> 7 d2 1 Votar pra
#> 8 d2 2 pra valer,
#> 9 d2 3 valer, agora!
