? ? ? Python提供fuzzywuzzy模塊,不僅可用于計算兩個字符串之間的相似度,而且還提供排序接口能從大量候選集中找到最相似的句子。
創(chuàng)新互聯(lián)是一家專業(yè)提供衛(wèi)東企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都做網(wǎng)站、H5頁面制作、小程序制作等業(yè)務。10年已為衛(wèi)東眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。
(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不考慮詞語出現(xiàn)的次數(shù);
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無錫知名的婦科醫(yī)院 http://www.wxbhnkyy39.com/
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