为什么 textstat_simil() 方法 "cosine" returns NA
Why does textstat_simil() with method "cosine" returns NA
我正在计算两个 dfm
对象的余弦相似度。一个是我的参考对象,尺寸为 5 x 4,728,而第二个 dfm
是我的目标对象,尺寸为 2,325,329 x 40,595。
我不明白的是为什么 textstat_simil()
returns NA。我尝试重现 "issue" 但到目前为止运气不好。您可以在以下 Dropbox 链接中找到数据。请注意,目标 dfm
仅包含第一个文档。
这是我正在使用的代码。 dfm_match()
扩充我的参考 dfm
以匹配目标对象的特征数量。
library(quanteda)
# make sure you load the two required dfms
reference_dfm = dfm_match(reference_dfm, featnames(target_dfm))
textstat_simil( target_dfm, reference_dfm, method = "cosine")
#> textstat_simil object; method = "cosine"
#> negative slightly_negative neutral slightly_positive positive
#> text1.1 NA NA NA NA NA
有什么想法吗?
您的 target_dfm
完全是稀疏的(全为 0),因此您无法计算余弦相似度。
target_df <- convert(target_dfm, "data.frame")
sum(target_df[,2:ncol(target_df)] > 0)
#> 0
您还可以注意到,当您打印 dfm
以进行控制台时,它表示它是“100.0% 稀疏”。这是远离稀疏的 dfm
1 个值,并且计算有效。
test_dfm <- dfm(corpus("adds"))
test_dfm <- dfm_match(test_dfm, featnames(target_dfm))
textstat_simil(test_dfm, reference_dfm2, method = "cosine")
#> textstat_simil object; method = "cosine"
#> negative slightly_negative neutral slightly_positive positive
#> text1.1 0 0 0 0 0
我正在计算两个 dfm
对象的余弦相似度。一个是我的参考对象,尺寸为 5 x 4,728,而第二个 dfm
是我的目标对象,尺寸为 2,325,329 x 40,595。
我不明白的是为什么 textstat_simil()
returns NA。我尝试重现 "issue" 但到目前为止运气不好。您可以在以下 Dropbox 链接中找到数据。请注意,目标 dfm
仅包含第一个文档。
这是我正在使用的代码。 dfm_match()
扩充我的参考 dfm
以匹配目标对象的特征数量。
library(quanteda)
# make sure you load the two required dfms
reference_dfm = dfm_match(reference_dfm, featnames(target_dfm))
textstat_simil( target_dfm, reference_dfm, method = "cosine")
#> textstat_simil object; method = "cosine"
#> negative slightly_negative neutral slightly_positive positive
#> text1.1 NA NA NA NA NA
有什么想法吗?
您的 target_dfm
完全是稀疏的(全为 0),因此您无法计算余弦相似度。
target_df <- convert(target_dfm, "data.frame")
sum(target_df[,2:ncol(target_df)] > 0)
#> 0
您还可以注意到,当您打印 dfm
以进行控制台时,它表示它是“100.0% 稀疏”。这是远离稀疏的 dfm
1 个值,并且计算有效。
test_dfm <- dfm(corpus("adds"))
test_dfm <- dfm_match(test_dfm, featnames(target_dfm))
textstat_simil(test_dfm, reference_dfm2, method = "cosine")
#> textstat_simil object; method = "cosine"
#> negative slightly_negative neutral slightly_positive positive
#> text1.1 0 0 0 0 0