python 字符串模糊匹配 Fuzzywuzzy
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),返回最相似的一个
1
2
3
4
5
6
7
8
9
10
11
(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
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
---------------------
python 字符串模糊匹配 Fuzzywuzzy的更多相关文章
- 简单易用的字符串模糊匹配库Fuzzywuzzy
简单易用的字符串模糊匹配库Fuzzywuzzy 阅读目录 FuzzyWuzzy 简介 安装 用法 已知移植 FuzzyWuzzy 简介 FuzzyWuzzy 是一个简单易用的模糊字符串匹配工具包.它依 ...
- C++实现的字符串模糊匹配
C++基本没有正则表达式功能,当然像Boost里提供了正则.本文来源于博客园园友的一篇文章,请看: C/C++ 字符串模糊匹配 很早之前就看过这篇文章,原作者的需求很明确.代码实现也很好. 之所以又写 ...
- 流动python - 字符串KMP匹配
首先我们看一下简单的字符串匹配. 你可以把文本字符串s固定,模式字符串p从s对齐的左边缘,作为承担部分完全一致,匹配成功,失败将是模式字符串p整体向右1地点,继续检查对齐部分,重复. #朴素匹配 de ...
- mybatis字符串模糊匹配
1. 参数中直接加入%%,注意不需要加两个单引号,加了就会出错,因为系统会自动为字符串类型加上两个单引号 <select id="selectPersons" result ...
- .NET ->> 分享一个字符串模糊匹配指数的方法
链接: http://www.tsjensen.com/blog/post/2011/05/27/Four+Functions+For+Finding+Fuzzy+String+Matches+In+ ...
- python模糊匹配之fuzzywuzzy
fuzzywyzzy 是python下一个模糊匹配的模块.首先要安装fuzzywuzzy 示例: from fuzzywuzzy import fuzz from fuzzywuzzy import ...
- python中RabbitMQ的使用(路由键模糊匹配)
路由键模糊匹配 使用正则表达式进行匹配.其中“#”表示所有.全部的意思:“*”只匹配到一个词. 匹配规则: 路由键:routings = [ 'happy.work', 'happy.life' , ...
- HDU 2585 Hotel(字符串的模糊匹配+递归)
Problem Description Last year summer Max traveled to California for his vacation. He had a great tim ...
- mysql 两张表字段模糊匹配--字符串拼接函数
concat(A,B,C,...) 拼接字符串 例如concat('123','***','345') =>123***345 SELECT concat( substr(t1.CODE, ...
随机推荐
- 64位CentOS6.5下Eclipse用Java连接mysql
1.到官网上下载jdbc驱动,我下载的是mysql-connector-java-5.0.8.tar.gz 2.解压下载到的文件 tar -zxvf mysql-connector-java-5.0. ...
- 温故之--Linux 初始化 init 系统
参选URL: http://www.ibm.com/developerworks/cn/linux/1407_liuming_init1/index.html 本系列一共三篇,看完记住,那水平就不一样 ...
- Servlet中使用getInputStream进行文件上传
据说古老了点,所以代码比较繁琐,主要用于处理文件的地方太多. 下节用SERVLET3.0的Part进行操作一下. form.html: <!DOCTYPE html> <html&g ...
- nyoj_187_快速查找素数_201312042102
快速查找素数 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 现在给你一个正整数N,要你快速的找出在2.....N这些数里面所有的素数. 输入 ...
- ubuntu 配置静态路由
原文:http://blog.sina.com.cn/s/blog_6fd8d5d90101f1xy.html -------------------------------------------- ...
- Bitcask存储模型
----<大规模分布式存储系统:原理解析与架构实战>读书笔记 近期一直在分析OceanBase的源代码,恰巧碰到了OceanBase的核心开发人员的新作<大规模分布式存储系统:原理解 ...
- UVA 12683 Odd and Even Zeroes(数学—找规律)
Time Limit: 1000 MS In mathematics, the factorial of a positive integer number n is written as n! an ...
- mysql高可用架构方案之中的一个(keepalived+主主双活)
Mysql双主双活+keepalived实现高可用 文件夹 1.前言... 4 2.方案... 4 2.1.环境及软件... 4 2.2.IP规划... 4 2.3.架构图... ...
- DBI(i80)/DPI(RGB)/DSI【转】
本文转载自:http://blog.csdn.net/liuxd3000/article/details/17437317 (1)DBI接口 A,也就是通常所讲的MCU借口,俗称80 system接口 ...
- spring:使用<prop>标签为Java持久属性集注入值
spring:使用<prop>标签为Java持久属性集注入值 使用 spring 提供的<prop>为Java持久属性集注入值,也就是向 java.util.Propertie ...