学无先后,达者为师

网站首页 编程语言 正文

python 字符串模糊匹配Fuzzywuzzy的实现_python

作者:火星人火星文   更新时间: 2022-09-17 编程语言

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

(1)安装

pip install fuzzywuzzy

(2)接口说明

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

  • fuzz.ratio(s1,s2)直接计算s1和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),返回最相似的一个

(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

原文链接:https://blog.csdn.net/weixin_41413177/article/details/90300139

栏目分类
最近更新