【Python】模糊匹配搜索

本文介绍了Python中的模糊匹配,主要涉及fuzzywuzzy库和difflib模块。fuzzywuzzy库提供了ratio(), partial_ratio(), token_set_ratio()等方法进行不同级别的模糊匹配。difflib则用于序列差异化比较,如get_close_matches(),Differ和HtmlDiff类,适用于文本差异比较和生成HTML差异报告。虽然difflib在模糊匹配精度上不足,但fuzzywuzzy适合词的模糊匹配。" 80257045,7669366,HBase配置详解与最佳实践,"['大数据开发', 'Hadoop', '数据库理论', '存储系统']
摘要由CSDN通过智能技术生成

1. 概述

利用python库:fuzzywuzzydifflib,两个库均可实现词粒度的模糊匹配,同时可设定模糊阈值,实现关键词的提取、地址匹配、语法检查等

2. fuzzywuzzy

pip install fuzzywuzzy

from fuzzywuzzy import process
from fuzzywuzzy import fuzz

2.1 fuzzy模块

(1)模糊匹配方法

  1. ratio()——简单匹配,使用纯Levenshtein Distance进行匹配。
  2. partial_ratio()——非完全匹配,基于最佳的子串(substrings)进行匹配
  3. token_set_ratio——忽略顺序匹配,对字符串进行标记(tokenizes)并在匹配之前按字母顺序对它们进行排序 
  4. 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() 忽略顺序匹配

 

Deblurganv2 的代码详解可以参考 NVIDIA 在 GitHub 上的开源实现。以下是对其主要代码部分的简要解释: 1. 数据准备: - 在 `data` 目录中,你可以找到数据集的处理代码和相关工具。 - `data` 目录中的 `data_utils.py` 文件包含了数据加载、预处理和数据增强的函数。 - `data` 目录中的 `data_loader.py` 文件定义了数据集的加载器和数据预处理流程。 2. 模型架构: - 在 `model` 目录中,你可以找到 Deblurganv2 的模型架构定义。 - `model` 目录中的 `network.py` 文件包含了生成器和判别器网络的实现。 - 生成器网络由多个卷积层、反卷积层和残差块组成,用于将模糊图像转换为清晰图像。 - 判别器网络由多个卷积层和全连接层组成,用于评估生成器输出的真实度。 3. 训练过程: - 在 `train.py` 文件中定义了 Deblurganv2 的训练流程。 - 首先,指定训练参数和超参数,例如学习率、批量大小等。 - 然后,加载数据集并创建生成器和判别器模型的实例。 - 在每个训练迭代中,将模糊图像和清晰图像输入生成器模型,生成清晰图像的预测结果。 - 使用判别器对生成器的输出进行评估,并计算生成器和判别器的损失函数。 - 通过反向传播和优化算法更新生成器和判别器的权重。 4. 预测过程: - 在 `test.py` 文件中定义了 Deblurganv2 的预测流程。 - 首先,加载预训练的生成器模型。 - 然后,将模糊图像输入生成器模型,生成清晰图像的预测结果。 - 最后,保存预测结果或进行后续处理。 这只是对 Deblurganv2 代码的简要概述,实际代码可能还包含其他辅助函数和模块。你可以在 NVIDIA 的 GitHub 存储库中查看完整的代码和更详细的实现说明。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值