python 中的名称匹配

Sou*_*mya 7 python name-matching fuzzywuzzy

我们有一个第三方“工具”,可以查找相似的名称并在两个名称之间分配相似度分数。

我应该尽可能地模仿该工具的行为。在网上搜索后,尝试了距离方法。使用fuzzywuzzy进行同样的操作。

matches = process.extractBests(
    name, 
    choices, 
    score_cutoff=50, 
    scorer=fuzz.token_sort_ratio,
    limit=1 
);
Run Code Online (Sandbox Code Playgroud)

它给出的结果接近工具结果。但是,很少有异常值 - 如下所示。

在此输入图像描述

经过互联网上的进一步搜索,我了解到进一步的细化需要实施某种机器学习。我是机器学习领域的新手 - 因此寻求一些关于我下一步应该尝试进一步改进代码的建议。

谢谢!

Mic*_*oni 0

查看用于模糊字符串匹配的 Jaccard 和 Levenshtein 算法。两者都比较简单,大约 40 或 50 行代码即可实现。