【问题标题】:quanteda textstat_simil for text matchingquanteda textstat_simil 用于文本匹配
【发布时间】:2017-11-14 13:46:49
【问题描述】:

你好,文本矿工,

我对该领域相当陌生,我正在尝试使用 quanteda 的 textstat_simil(R 包)来评估短语之间的相似性。这些步骤非常前期 - 因此我相信我遗漏了一些明显的东西,但我仍然无法让功能选择工作:

    #1 Create Corpus
myCorpus <- corpus(c("Anna, Maria, Luisa"))
checkWords <- c('Luisianna', 'anneta')
summary(myCorpus)

myDfm <- dfm(myCorpus)
myDfm # checking that features are there.
#removing stopwords & punctuation/ keep the stem 
myDfmNoStop <- dfm(myCorpus, remove = stopwords("english"), stem = TRUE, remove_punct = TRUE)

sim <- textstat_simil(myDfmNoStop , checkWords, method = "cosine", margin = "features")

返回错误:

“textstat_simil.dfm(myDfm, checkWords, method = "cosine", margin = "features") 中的错误:'selection' 指定的特征不存在。”

那么,我不清楚如何指定我的 coprus 的正确特征/单词?

不用说 - 任何反馈都非常受欢迎:)

干杯,

乔治

【问题讨论】:

  • 这里的问题正是它所说的:您的语料库或 dfm 中没有特征“Luisianna”或“anneta”。因此,您无法查看这些不存在的术语与确实出现的三个术语的相似性。请注意,作为可重复的示例,这不是一个很好的示例,因为语料库由三个单字文档组成。即使对于此类 dfm 中包含的术语,您也无法构建相似度矩阵。
  • 谢谢肯,我确实尝试使用现有的令牌也得到了相同的响应:> sim

标签: r text matching similarity quanteda


【解决方案1】:

试试这个:

myCorpus <- corpus(c(check = "Luisianna, anneta", 
                     target1 = "Anna, Maria, Luisa",
                     target2 = "Anna, anneta"))

myDfmNoStop <- dfm(myCorpus, remove = stopwords("english"), stem = TRUE, remove_punct = TRUE)

sim <- textstat_simil(myDfmNoStop , myDfmNoStop['check',], method = "cosine", margin = "documents")

【讨论】:

  • - 除非我很傻,否则现在无法重现,您可以更新它吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
相关资源
最近更新 更多