基于TF-IDF和KNN的模糊字符串匹配优化的实际应用

为了高效完成数据清理中的名称匹配任务,本文介绍了如何利用TF-IDF和KNN实现模糊字符串匹配。相比于FuzzyWuzzy库,这种方法在速度上有显著优势,能在短时间内从大量数据中找出高精度的匹配结果。尽管存在语义匹配的局限性,该方法仍能显著提高工作效率,为数据匹配提供有力支持。

基于TF-IDF和KNN的模糊字符串匹配优化的实际应用

使用背景

由于最近公司数据清理的需求,需要对两组中文名称数据进行匹配,在使用Excel的基本匹配功能之后,在待匹配组大概还有900多条数据没有得到匹配,于是便想用其他方法来匹配,以期望在获得不错准确率的前提下提高效率。

基于TF-IDF和KNN的模糊字符串匹配

基于TF-IDF和KNN的模糊字符串匹配优化具体原理介绍请看这篇文档:
具体效果
在网上寻找方法的过程中,找到了这篇文章《【NLP】基于TF-IDF和KNN的模糊字符串匹配优化》文章中对“乔治·华盛顿和G·华盛顿”的匹配对比,这不就正是我需要的吗,于是便按照教程写了程序方法,实际使用下来,哟嚯,果真不错。
感觉满意的地方有两点:

  1. 速度太快了
    我的待匹配数组有900多条,但匹配组中有四万九千条,也就是从50000条中找出900条匹配上,总用时为:7.16秒,这速度比FuzzyWuzzy快了可能上万倍。

  2. 准确度还可以
    因为是数据匹配,所以对准确度要求很高,匹配错了就会影响后边的工作。所以在匹配完成后还需要手工核验,在抛去ratio50以下的数据,对ratio50以上的匹配进行区间为10的准确度统计,结果如下:

50-60 60-70 70-80 80-90 90-100
0.20 0.18 0.23 0.60 0.79

同时,又对ratio在[90,100]区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值