用Python的fuzzy、wuzzy模塊進行字符串模糊匹配

      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),返回最相似的一個

  (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無錫知名的婦科醫院 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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章