R 计算文本之间的相似度以查找重复项

R 计算文本之间的相似度以查找重复项,r,duplicates,similarity,R,Duplicates,Similarity,我有一些类似于下面的数据,通过我处理数据的方式,我确实有一些重复/重复的行,这是不可避免的 我想计算文本之间的余弦距离。然后尝试删除重复的值(保留包含最多文本的观察值) 这是在数据中查找重复文本的最佳方法吗?通过删除一些单词,文本可能会略有不同,因此这样做unique(text)只能解决部分问题 数据: text也许您可以使用RecordLink pkg中的jarowinkler 下面是一个示例代码 library(RecordLinkage) m <- lapply(text, func

我有一些类似于下面的数据,通过我处理数据的方式,我确实有一些重复/重复的行,这是不可避免的

我想计算文本之间的余弦距离。然后尝试删除重复的值(保留包含最多文本的观察值)

这是在数据中查找重复文本的最佳方法吗?通过删除一些单词,文本可能会略有不同,因此这样做
unique(text)
只能解决部分问题

数据:


text也许您可以使用RecordLink pkg中的jarowinkler

下面是一个示例代码

library(RecordLinkage)
m <- lapply(text, function(x) jarowinkler(x, text))
m <- do.call(rbind, m)
colnames(m) <- paste0('X', 1:ncol(m))
rownames(m) <- paste0('X', 1:nrow(m))
sim <- apply(m, 1, function(x) {
  names(x)[x >= 0.9]
})
sim <- sapply(sim, function(x) x[1])
dplyr::tibble(ID = sim, text = text)
库(记录链接)
M
library(RecordLinkage)
m <- lapply(text, function(x) jarowinkler(x, text))
m <- do.call(rbind, m)
colnames(m) <- paste0('X', 1:ncol(m))
rownames(m) <- paste0('X', 1:nrow(m))
sim <- apply(m, 1, function(x) {
  names(x)[x >= 0.9]
})
sim <- sapply(sim, function(x) x[1])
dplyr::tibble(ID = sim, text = text)