• 一个字符串模式匹配开源库


    1

       

    简介

    theFuzz 是一个用于模糊字符串匹配和相似度计算的强大工具。它可以帮助我们在处理文本数据时进行模糊匹配和字符串比较,例如拼写纠正、字符串相似度计算和模糊搜索等。

    2

       

    基本原理

    theFuzz 库的基本原理是使用不同的算法来计算字符串之间的相似度。其中最常用的算法是 Levenshtein 距离算法,它衡量了两个字符串之间的编辑操作(插入、删除、替换)的最小数量。通过计算两个字符串之间的 Levenshtein 距离,我们可以得到它们的相似度。

    在 TheFuzz 库中,我们可以使用 fuzz.ratio() 函数来计算两个字符串的相似度,它返回一个 0-100 之间的整数,表示两个字符串的相似度百分比。我们还可以使用 fuzz.partial_ratio() 函数来计算两个字符串的部分相似度,它会忽略两个字符串中没有匹配的部分,只计算出现在两个字符串中的相似部分。此外,还有 fuzz.token_sort_ratio() 和 fuzz.token_set_ratio() 函数可以用于计算两个字符串的单词排序相似度和单词集合相似度。

    3

       

    安装

    要安装 theFuzz 库,可以使用 pip 命令。打开终端(命令提示符)并运行以下命令

    pip install fuzzywuzzy python-Levenshtein

    4

       

    基本使用

    安装好后,我们来看几个代码示例

    1. from fuzzywuzzy import fuzz
    2. str1 = "hello world"
    3. str2 = "hello python"
    4. similarity = fuzz.ratio(str1, str2)
    5. print(similarity)

    运行结果是 61,表示 str1 和 str2 相似度为 61%

    c1cc3cc01c44953255b5f51f8975ba85.jpeg

    1. from fuzzywuzzy import fuzz
    2. str1 = "hello world"
    3. str2 = "world hello"
    4. partial_similarity = fuzz.partial_ratio(str1, str2)
    5. print(partial_similarity)

    运行上述代码,输出结果为 45,表示两个字符串的部分相似度为 45%。

    5737007f51e7955050a02ac19d15d3c0.jpeg

    1. from fuzzywuzzy import fuzz
    2. str1 = "hello world"
    3. str2 = "world hello"
    4. token_sort_similarity = fuzz.token_sort_ratio(str1, str2)
    5. token_set_similarity = fuzz.token_set_ratio(str1, str2)
    6. print(token_sort_similarity)
    7. print(token_set_similarity)

    执行上述代码,输出结果分别为 100 和 100,表示两个字符串的单词排序相似度和单词集合相似度都为 100%。

    da03118fa63dae672c19533ce749d785.jpeg

    5

       

    参考资料

    • https://github.com/seatgeek/thefuzz

    • https://github.com/seatgeek/fuzzywuzzy

    4f2be0f85b56f48b7ff6370a9afbd7d3.jpeg

  • 相关阅读:
    精准获得目标企业客户的秘诀-8manage CRM
    PHP+学生成绩管理系统 毕业设计-附源码201829
    GPT引领前沿与应用突破之GPT-4科研实践技术与AI绘图
    汇编 80x86 计算机组织
    解决 @RefreshScope 导致定时任务注解 @Scheduled 失效
    Nginx 学习(十)高可用中间件的配置与实现
    【前端之旅】响应式布局及Bootstrap框架
    UG NX二次开发(C#)-计算直线到各个坐标系轴向的投影角度
    当用Kiel打开代码时,电脑显示只读
    为什么建议你做自动化邮件营销?
  • 原文地址:https://blog.csdn.net/djstavaV/article/details/133875002