Como manter os marcadores de início e fim de frase com quanteda
Estou tentando criar 3 gramas usando R'squanteda
pacote.
Estou lutando para encontrar uma maneira de manter os marcadores de começo e fim de frase em n gramas, o<s>
e</s>
como no código abaixo.
Eu pensei que usando okeptFeatures
com uma expressão regular que corresponda àqueles deve mantê-los, mas os marcadores de divisa são sempre removidos.
Como impedir que os marcadores chevron sejam removidos ou qual é a melhor maneira de delimitar o início e o final da frase comquanteda
?
Como uma questão bônus, qual é a vantagem dedocfreq(mydfm)
sobrecolSums(mydfm)
, o resultado de str (colSums (mydfm)) e str (docfreq (mydfm)) é quase idêntico (Named num [1:n]
o antigo,Named int [1:n]
o último)?
library(quanteda)
text <- "<s>I'm a sentence and I'd better be formatted properly!</s><s>I'm a second sentence</s>"
qc <- corpus(text)
mydfm <- dfm(qc, ngram=3, removeNumbers = F, stem=T, keptFeatures="\\</?s\\>")
names(colSums(mydfm))
# Output:
# [1] "s_i'm_a" "i'm_a_sentenc" "a_sentenc_and" "sentenc_and_i'd"
# [2] "and_i'd_better" "i'd_better_be" "better_be_format"
# [3] "be_format_proper" "format_proper_s" "proper_s_s" "s_s_i'm"
# [4] "i'm_a_second" "a_second_sentenc" "second_sentenc_s"
EDITAR:
Corrigido keepFeatures para keepFeatures no snippet de código.