gpt4 book ai didi

r - 为什么 textstat_simil() 方法为 "cosine"返回 NA

转载 作者:行者123 更新时间:2023-12-04 10:13:15 24 4
gpt4 key购买 nike

我正在计算两个 dfm 的余弦相似度对象。一个是我的引用对象,其尺寸为 5 x 4,728,而第二个 dfm是我的目标对象,尺寸为 2,325,329 x 40,595。

我不明白的是为什么textstat_simil()返回 NA。我尝试重现“问题”,但到目前为止没有运气。您可以在以下 Dropbox 链接中找到数据。请注意,目标 dfm仅包含第一个文档。

  • Reference dfm
  • Target 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

    关于r - 为什么 textstat_simil() 方法为 "cosine"返回 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61210828/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com