【发布时间】:2016-09-05 18:02:02
【问题描述】:
我想在 stringdist 函数中使用 Jaccard 相似度来确定词袋的相似度。据我所知,使用 Jaccard 仅匹配字符串中的字母。
c <- c('cat', 'dog', 'person')
d <- c('cat', 'dog', 'ufo')
stringdist(c, d, method='jaccard', q=2)
[1] 0 0 1
所以我们在这里看到它计算'cat'和'cat'、'dog'和'dog'以及'person'和'ufo'的相似度。
我还尝试将单词转换为 1 个长文本字符串。以下方法是我需要的,但它仍在计算 1 -(共享 2-gram 数/唯一 2-gram 总数):
f <- 'cat dog person'
g <- 'cat dog ufo'
stringdist(f, g, method='jaccard', q=2)
[1] 0.5625
如何通过单词计算相似度?
【问题讨论】:
-
请更好地解释您想要的结果。第一个实例按顺序计算每个单词之间的差异。你有兴趣比较两个词袋(无序集)吗?
标签: r text stringdist