zoukankan      html  css  js  c++  java
  • python 字符串模糊匹配 Fuzzywuzzy

    Python提供fuzzywuzzy模块,不仅可用于计算两个字符串之间的相似度,而且还提供排序接口能从大量候选集中找到最相似的句子。

    (1)安装

    pip install fuzzywuzzy

    (2)接口说明

    两个模块:fuzz, process,fuzz主要用于两字符串之间匹配,process主要用于搜索排序。

    fuzz.ratio(s1,s2)直接计算s2和s2之间的相似度,返回值为0-100,100表示完全相同;

    fuzz.partial_ratio(S1,S2)部分匹配,如果S1是S2的子串依然返回100;

    fuzz.token_sort_ratio(S1,S2)只比较S1,S2单词是否相同,不考虑词语之间的顺序;

    fuzz.token_set_ratio(S1,S2)相比fuzz.token_sort_ratio不考虑词语出现的次数;

    process.extract(S1, ListS,limit=n),表示从列表ListS中找出Top n与S1最相似的句子;

    process.extractOne(S1,ListS),返回最相似的一个
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    (3)使用

    from fuzzywuzzy import fuzz
    a = 'a b c'
    b = ' a c b '
    c = 'a c'

    fuzz.ratio(a, c)
    >> 75
    fuzz.ratio(b, c)
    >> 60

    fuzz.partial_ratio(a, c)
    >> 67
    fuzz.partial_ratio(b, c)
    >> 100

    fuzz.token_sort_ratio(a, c)
    >> 75
    fuzz.token_sort_ratio(b, c)
    >> 75

    fuzz.token_set_ratio(a, c)
    >> 100
    fuzz.token_set_ratio(b, c)
    >> 100
    --------------------- 

  • 相关阅读:
    Java中的访问控制权限
    [Java IO]05_JSON操作
    redis 系列22 复制Replication (下)
    redis 系列21 复制Replication (上)
    redis 系列20 服务器下
    redis 系列20 服务器上
    redis 系列19 客户端
    redis 系列18 事件
    redis 系列17 持久化 AOF
    redis 系列16 持久化 RDB
  • 原文地址:https://www.cnblogs.com/ly570/p/10935454.html
Copyright © 2011-2022 走看看