gpt4 book ai didi

regex - 如何衡量字符串之间的相似度?

转载 作者:行者123 更新时间:2023-12-03 09:53:12 24 4
gpt4 key购买 nike

我有一堆名字,我想获得唯一的名字。但是,由于拼写错误和数据不一致,名称可能会写错。如果其中两个是相似的,我正在寻找一种方法来检查字符串向量。

例如:

pres <- c(" Obama, B.","Bush, G.W.","Obama, B.H.","Clinton, W.J.")

我想找到 " Obama, B.""Obama, B.H."非常相似。有没有办法做到这一点?

最佳答案

这可以基于例如Levenshtein 距离来完成。在不同的包中有多种实现方式。在这些问题的答案中可以找到一些解决方案和包:

  • agrep: only return best match(es)
  • In R, how do I replace a string that contains a certain pattern with another string?
  • Fast Levenshtein distance in R?

  • 但最常见的是 agrep会做你想做的:
    > sapply(pres,agrep,pres)
    $` Obama, B.`
    [1] 1 3

    $`Bush, G.W.`
    [1] 2

    $`Obama, B.H.`
    [1] 1 3

    $`Clinton, W.J.`
    [1] 4

    关于regex - 如何衡量字符串之间的相似度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6044112/

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