【问题标题】:Name Matching in pythonpython中的名称匹配
【发布时间】:2019-05-27 13:31:48
【问题描述】:

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

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

matches = process.extractBests(
    name, 
    choices, 
    score_cutoff=50, 
    scorer=fuzz.token_sort_ratio,
    limit=1 
);

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

在互联网上进一步搜索后,我了解到进一步细化需要实施机器学习。我是机器学习领域的新手 - 因此寻求一些建议,以了解我下一步应该在哪里尝试以进一步优化代码。

谢谢!

【问题讨论】:

标签: python fuzzywuzzy name-matching


【解决方案1】:

看看这个包。它是为名称匹配量身定制的 HMNI Package

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 问题中提到的fuzzywuzzy库使用Levenshtein相似度
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    相关资源
    最近更新 更多