R:Quanteda的textstat_simil函数

时间:2018-04-25 12:56:19

标签: r quanteda

我正在使用Quanteda的textstat_simil来计算文本语料库中的语义相关性。 此处解释了此功能的使用:https://rdrr.io/cran/quanteda/man/textstat_simil.html

这是一个正在运行的示例,它运行正常:

# compute term similarities
pres_dfm <- dfm(data_corpus_inaugural, remove_punct = TRUE, remove = stopwords("english"))
(s1 <- textstat_simil(pres_dfm, c("fair", "health", "terror"), method = "cosine", margin = "features"))
head(as.matrix(s1, 10)
as.list(s1, n=8)

我有两个问题。

第一个问题:在计算余弦相似度之前,对dfm的频率应用了哪种加权方案?通常,在像这样的分布模型中,相似度量(例如余弦,骰子等)是在加权频率上计算的,而不是在原始频率上计算的。常见的称重方案是:PPMI(正点相互信息,TF / IDF等)。这里采用了哪种称重方案?如果需要,是否可以使用其他方案?

第二个问题:我在哪里可以找到有关如何在Quanteda中实施textstat_simil选项的更多详细信息?即,textstat_simil选项为:"correlation" (default), "cosine", "jaccard", "ejaccard", "dice", "edice", "simple matching", "hamann", and "faith"。 特别是,我想知道如何计算简单匹配 edice ejaccard

提前感谢您的回答。

干杯,玛丽娜

1 个答案:

答案 0 :(得分:1)

1)除非您先使用dfm_weight()对dfm进行加权,否则输入textstat_simil()的dfm将为原始计数。 (对于余弦相似性,这会产生与相对项频率相同的结果,因为它基于矢量之间的角度而不是多维坐标之间的距离。)

2)可以查看方法的源代码here,其中公式在特定功能的注释中以简单的形式呈现。