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
--------------------- 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM