我在R
中使用tidytext
包进行n-gram分析。
由于我正在分析推文,我希望保留@和#以捕获提及、转发和标签。然而,unnest_tokens
函数会自动删除所有标点符号并将文本转换为小写。
我发现unnest_tokens
有一个选项可以使用正则表达式来清理文本,即token='regex'
。因此,我可以自定义它清理文本的方式。但是,在n-gram分析中只能定义token='ngrams'
,因此它仅适用于unigram分析,而不适用于n-gram分析。
有没有办法防止unnest_tokens
在n-gram分析中将文本转换为小写?
unnest_tokens
利用 tokenizers 来完成其繁重的工作... 在该项目中,还有 tokenize_tweets.R。 - Shawn Mehantokenize_ngrams <- function(x, lowercase = TRUE, n = 3L, n_min = n, stopwords = character(), ngram_delim = " ", simplify = FALSE)
。在tokenize_ngrams
中肯定有一个选项可以不转换为小写。最坏的情况是打补丁。 - Shawn Mehanunnest_tokens
使用tokenize_words
来清洗文本:tokenize_words <- function(x, lowercase = TRUE, stopwords = NULL, **strip_punct = TRUE**, strip_numeric = FALSE, simplify = FALSE) {...
我将strip_punct = FALSE
进行了更改,但仍然无法工作。 - JungHwan Yang