在 agrep() 之外改进 R 中的模糊匹配

问题描述

我需要通过将名称略有不同的重复客户分组来减少大量客户。我在 this post 的帮助下开始了我的模糊匹配解决方案。

修改代码以创建一个有用的数据框,其中一列包含客户,另一列显示所有匹配的客户。

list <- sapply(customer_data$End_Customer,agrep,customer_data$End_Customer,ignore.case = TRUE,value = TRUE,max.distance = 0.01)
result <- data.frame(stack(list))
register("result")

## filter and sort the dataset
result <- result %>%
  filter(values != ind) %>%
  arrange(desc(values)) %>%
  select(values:ind)

既然我有了这个数据集,我该如何将它们归为一个客户?我可以将所有匹配的客户分组,但单独的 agrep() 并不完美,一些“匹配”的客户实际上并不匹配。例如,客户“WAE”与大约 600 个客户相匹配。我不希望 WAE 被归入所有 600 个客户。我只希望 WAE 匹配最适合的一位客户。

我读过 Rosette Text Analytics,它使用了一种结合了多种不同技术的混合方法。是否有其他 R 包可以与 agrep() 结合使用来改进我的模糊匹配?

在创建这篇文章时,我开始研究fuzzyjoin(),所以也许这是一种可能性。非常感谢任何人的专家建议。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)