from fuzzywuzzy import fuzz
from fuzzywuzzy import process
from fuzzyfinder import fuzzyfinder

title_list = [u"數據分析師", u"數據挖掘工程師", u"大數據開發工程師", u"機器學習工程師",
u"演算法工程師", u"資料庫管理", u"商業分析師", u"數據科學家", u"首席數據官",
u"數據產品經理", u"數據運營", u"大數據架構師", "Data Analyst"]
aa = process.extractOne(u"演算法", title_list,scorer=fuzz.UWRatio) # 返回 (演算法工程師, 90)
print(aa)
suggestions = fuzzyfinder(數據分析師, [具有數據類型分析能力的專業工程師,qux])
result = list(suggestions)
print(result)
if len(result)>0:
print(yes)
運行結果:
(演算法工程師, 90)
[具有數據類型分析能力的專業工程師]
yes

我想要查找一個句子的模糊匹配詞,使用了兩種fuzz和fuzzyfinder工具

其中fuzz是編輯距離匹配法則,這裡不考慮了;

我想著重說第二個包 fuzzyfinder:

例如對於一個句子:具有數據類型分析能力的專業工程師

我想看看這個句子裡面 是否有 數據分析師 這個詞對應的每個字,如果有的話我就給出

標籤 數據分析師,這裡需要注意的是,數據分析師 中的每個字與句子中出現的『數』,『據』,『分』,『析』,『師』順序需要一致才能夠匹配出來

我之前也寫了一個類似的代碼,並且代碼裡面還設置了查找窗口,不過可能沒有這個工具好用,這裡直接用這個工具來用了;

推薦閱讀:

相关文章