使用" textstat_keyness"如下:
textstat_keyness(x, target = 1L, measure = c("chi2", "exact", "lr", "pmi"), sort = TRUE, correction = c("default", "yates", "williams", "none"))
"目标"是"文件索引(数字,字符或逻辑)标识形成"目标"用于计算密钥;所有其他文件'特征频率将被组合起来用作参考" ([https://rdrr.io/cran/quanteda/man/textstat_keyness.html])
从文档中提供的示例中,我了解textstat_keyness只能应用于单个语料库的子部分(即单个文件),而我需要在两个单独的语料库(即两个文件)中测量关键性。
基本上,我想测量参考语料库(" x")和专门语料库(" target")之间的关键性。参考语料库和专用语料库是两个不同的物理实体(两个文件具有相同的格式)。是否可以将textstat_keyness应用于此任务?
提前感谢您的回答。 亲切的问候, 玛丽娜
答案 0 :(得分:0)
textstat_keyness()
比较语料库的两个分区,以确定两个分区之间“关键”或差异出现的单词。因此,为了将任何目标语料库与基线语料库进行比较,您需要将两者合并为一个dfm,然后适当地指定目标。
如果没有您的问题更具体,我将尝试提供一个我认为可以提供您想要的示例。在这里,我将爱尔兰预算2010语料库中的单词的关键性与美国总统的就职演说语料库(均建于 quanteda )进行比较。
library("quanteda")
# Package version: 1.1.1
combinedcorp <-
corpus(c(texts(data_corpus_irishbudget2010), texts(data_corpus_inaugural)),
docvars = data.frame(source = c(rep("irishbudget", ndoc(data_corpus_irishbudget2010)),
rep("inaugural", ndoc(data_corpus_inaugural)))))
combinedcorp
# Corpus consisting of 72 documents and 1 docvar.
combineddfm <- dfm(combinedcorp, remove = stopwords("english"), remove_punct = TRUE)
在下一步中,我在调用dfm_group()
之前使用textstat_keyness()
将文档合并为两个“文档”分组的dfm。这不是必需的,因为textstat_keyness()
也可以自动组合目标索引的文档(并将所有其他文档组合起来作为参考),但如果您想从中选择单个文档,这将为您提供更多控制。目标类别。 (您可以通过在dfm上使用矩阵索引[
或dfm_select()
等来实现此目的。)
keyn <- dfm_group(combineddfm, groups = "source") %>%
textstat_keyness(target = "irishbudget")
然后我们可以清楚地看到哪些单词与预算演讲相关联,哪些单词与就职演说相关联。
rbind(head(keyn), tail(keyn))
# feature chi2 p n_target n_reference
# 1 budget 647.57319 0 260 6
# 2 minister 427.03308 0 170 3
# 3 tax 341.44085 0 163 20
# 4 billion 303.65819 0 119 1
# 5 jobs 264.91216 0 120 11
# 6 economy 236.90627 0 160 53
# 11377 nation -89.30903 0 11 293
# 11378 peace -93.77363 0 2 254
# 11379 great -103.21197 0 13 340
# 11380 states -113.18403 0 7 333
# 11381 shall -121.82532 0 0 314
# 11382 upon -136.96721 0 3 371