我正在标记一个文本语料库,但在删除标点符号时遇到了问题。似乎大多数标点符号都被删除了,但撇号没有。
代码:
all.tokens <-
tokens(
my.corpus,
remove_punct = TRUE,
remove_numbers = TRUE,
remove_symbols = TRUE,
remove_url = TRUE
) %>% tokens_tolower() %>% tokens_select(pattern = stopwords("en"), selection = "remove")
其他人有这个问题吗?有什么变通办法吗?谢谢你,谢谢
1条答案
按热度按时间llycmphe1#
help document for
quanteda
package'stokens()
function解释了函数“tokens()
更像是一个构造函数(来自一个命名列表),而不是一个标记器。这允许用户使用任何其他返回命名列表的tokenizer,并将其用作tokens()的输入,并在构造后应用删除和拆分规则(作为参数传递)。这些删除和拆分规则是保守的,除非用户请求,否则不会删除或拆分任何内容。这意味着默认的分词器(由
tokens()
函数中的word=
参数设置)不会拆分收缩,如can't
,didn't
,I'm
。这是故意的。事实上,tokens()
函数中what
参数的标准标记器选项都不能拆分收缩(选项是“word”, “word1”, “word2”, “word3”, “word4”, “sentence”, “character”, “fasterword”, “fastestword”
)。如果你想把这些单词拆分成单独的单词,那么你需要使用一个自定义的分词器。或者你必须编写自己的函数来拆分收缩,然后应用tokens函数。