1. 概述
利用python库:fuzzywuzzy及difflib,两个库均可实现词粒度的模糊匹配,同时可设定模糊阈值,实现关键词的提取、地址匹配、语法检查等
2. fuzzywuzzy
pip install fuzzywuzzy
from fuzzywuzzy import process
from fuzzywuzzy import fuzz
2.1 fuzzy模块
(1)模糊匹配方法
- ratio()——简单匹配,使用纯Levenshtein Distance进行匹配。
- partial_ratio()——非完全匹配,基于最佳的子串(substrings)进行匹配
- token_set_ratio——忽略顺序匹配,对字符串进行标记(tokenizes)并在匹配之前按字母顺序对它们进行排序
- token_set_ratio——去重子集匹配,对字符串进行标记(tokenizes)并比较交集和余数
(2)实例
- ratio() 简单匹配
fuzz.ratio("河南省", "河南省")
>>> 100
fuzz.ratio("河南", "河南省")
>>> 80
- partial_ratio() 非完全匹配
fuzz.partial_ratio("河南省", "河南省")
>>> 100
fuzz.partial_ratio("河南", "河南省")
>>> 100
- token_set_ratio() 忽略顺序匹配