现在,在使用R和packageededa的文本处理中,我需要执行两个步骤:
一方面,我针对诸如citiziens之类的单个单词计算目标单词的出现频率。 另一方面,我计算ngram的频率。
txt<- "for this purpose citizens and sydney siders are the same"
tok_single<- tokens_select(tokens(txt), pattern = "citizens", padding = TRUE)
textstat_frequency(dfm(tok_single))
####bigrams
toks_bigram <- tokens_select(tokens_ngrams(tokens(txt),n=2:3), pattern = c("sydney_siders"), padding = TRUE)
textstat_frequency(dfm(toks_bigram))
最后,我遇到了一个问题,就是字典中的关键字由单个单词(例如市民)和多个单词(如悉尼Siders)组成。现在,我的计算分两步完成。分别计算1克和n克的令牌。有组合ngram和1-gram的功能吗?
例如,我想一步计算字典项的频率。
mydic<-dictionary(list(citizen=c("citizen*","sydney siders","public")))