前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >模糊匹配3.0

模糊匹配3.0

作者头像
btharp
发布2021-12-20 18:28:00
2.8K0
发布2021-12-20 18:28:00
举报
文章被收录于专栏:PowerBI x PythonPowerBI x Python

这是时隔3个月的推文。

这是为感谢大家的支持,对去年发布的【模糊匹配工具】的进一步升级。关于之前的推文可以在点这里查看:

使用场景不变,简单而言,即是匹配两列相似的文本。比如:我们有一份上市公司简称的数据,如下图所示:

我们还有一份公司全称的数据,希望对两者进行匹配。

让简称对应上全称,结果如下:

【更新一】—— 优化使用方法

前两版打开程序后需要输入一组6个参数,如下所示:

代码语言:javascript
复制
G:\Project\匹配表1.xlsx,电视表,频道节目1,G:\Project\匹配表2.xlsx,Sheet1,频道节目2

由于涉及大小写、分隔符、文件路径等各种原因,估计有挺多用户在输入的时候难免出错。出错后,程序就一闪而过,大家可能都不知道发生了什么事情。这次升级,对这个输入过程进行了优化:

  1. 首先选择匹配的计算逻辑:
    1. 直接按下回车,将使用两列字段整体匹配方法,速度较快;
    2. 输入2,按回车,将使用逐行匹配的方法,速度较慢,可能更准。
  1. Excel文档的路径不需要手动输入。当出现如下提示时,按下回车,即会弹出窗口以供选择文件。
  1. 选择完Excel文档之后,程序列出该Excel里所有【未隐藏】的表名,接着我们从中选填表名。如果所填的文字,跟表名不一致,程序会提示填错,让你继续填,直到填对为止才能进入下一步。
  1. 接下来,程序将会列出所选表里所有字段的名称,我们从中选填。这一步同样会对填错的字段进行检查,直到填对位置。
  1. 上述三个步骤重复一次,即完成2组匹配数据6个参数的输入。成功后,自动进入匹配运算。
  1. 另外,程序还增加了一些报错提示,减少由于操作不合规范引起的闪退。
  2. 匹配结果输出到【输出结果】文件夹,以【匹配表-年月日-时分秒】的方式命名,不覆盖旧文件。

【更新二】—— 优化匹配准确度——优化分词

前两版的分词依据是【辅助资料】文件夹里的【dict.txt】。文档共三列:词、词频、词性。程序主要依据这里出现过的词语,对所需匹配的文本进行拆分。

使用统一的分词依据表,在一些特殊场景下,匹配效果不佳。因此本次升级,会对第一个匹配列进行分析,提取出前10%最常出现的字词,添加到分词依据中。

用户也可以自己修改【dict.txt】文档,增加或减少里面的字词,以控制分词效果。文档中三列,填写时,三列用空格隔开。其中只有第一列是必填的。后两列可以省略,建议不熟悉的朋友不填。

【更新三】—— 优化匹配准确度——自定义替代词

还有读者朋友提到,如果我需要匹配的文本具有同义词(或笔误、或别称),比如同义词a出现在A列,同义词b出现在B列,怎么办?由于程序匹配的依据是文本相似度,所以对于文本不一样的同义词,是无法直接识别的。

对于这种情况,本次升级为大家提供了自定义同义替代词的解决办法。在【辅助资料】文件夹中的【对照表.xlsx】中,有两个sheets:【匹配表1】和【匹配表2】,分别用来自定义两个匹配列的同义替代词。如下图所示,表中有两列,左侧列为【原名称】,即原始匹配列中的名称;右侧列为【统一名称】,即多个同义词最后统一含义的名称。

比如,“生抽”和“味极鲜”,两个文本差别极大,当另一个匹配列中只有“酱油”的时候,前两个文本是无法匹配到“酱油”的。通过图中的设置,程序会在匹配过程中,把“生抽”、“味极鲜”替换成“酱油”,那么就可以跟另一列匹配上了。后面的“徐闻”和“上海”同理。

这个【对照表.xlsx】的内容可以为空,但请不要更改文件名、sheets名和列名。

【更新四】—— 解决部分win7系统无法运行的问题

也曾有读者朋友反映win7打开程序后直接闪退。后来找到原因是部分比较老的win7缺少所需的运行库。解决方案是双击安装【辅助资料】里的补丁。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI x Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档