我正在尝试删除单字符和双字符令牌。
这是一个示例:
toks <- tokens(c("This is a sentence. This is a second sentence."), remove_punct = TRUE)
toks <- tokens_select(toks, min_nchar=1L, max_nchar=2L, selection = "remove")
toks
结果:
1个文档中的令牌。 文字1:
[1]“是”“ a”“是”“ a”
我希望获得不符合条件的代币,而不是符合条件的代币。
答案 0 :(得分:3)
library(quanteda)
toks <- tokens(c("This is a sentence. This is a second sentence."), remove_punct = TRUE)
tokens_select(toks, min_nchar=3L)
答案 1 :(得分:1)
似乎选择参数被忽略了。
这给出了我想要的结果。
toks <- tokens_select(toks, min_nchar=3L, max_nchar=79L)
答案 2 :(得分:-1)
您需要将给定的句子转换为标记。您可以执行以下操作:
library(quanteda)
# convert to tokens
tokens <- unlist(tokens(sent, remove_punct = T), use.names=F)
# to remove tokens with <= 2 characters
Filter(function(x) nchar(x) > 2, tokens)
[1] "This" "sentence" "This" "second" "sentence"