当前位置:  开发笔记 > 人工智能 > 正文

产品名称的模糊匹配

如何解决《产品名称的模糊匹配》经验,为你挑选了1个好方法。

我需要自动将来自不同来源的产品名称(相机,笔记本电脑,电视等)与数据库中的规范名称相匹配.

例如"Canon PowerShot a20IS","来自佳能的NEW powershot A20 IS""数码相机佳能PS A20IS" 都应该与"佳能PowerShot A20 IS"相匹配.我已经使用了levenshtein距离和一些额外的启发式方法(删除了明显的常用词,为数字更改分配了更高的成本等),这在某种程度上起作用,但遗憾的是不够好.

主要问题是即使相关关键字中的单字母更改也会产生巨大差异,但要检测哪些是相关关键字并不容易.例如,考虑三个产品名称:
联想T400
联想R400
新联想T-400,酷睿2双核
任何标准前两个是可笑的类似字符串(好吧,soundex可能有助于在这种情况下消除T和R,但名称可能同样是400T和400R),第一个和第三个是相互远离的字符串,但是是相同的产品.

显然,匹配算法不能100%精确,我的目标是自动匹配大约80%的名字,具有很高的信心.

非常感谢任何想法或参考



1> Ed Guiness..:

我认为,这可以归结为区分联想等关键词和New等谷歌关键词。

我将对名称数据库进行一些分析以识别关键字。您可以使用类似于生成词云的代码。

然后,我将手动编辑列表以删除任何明显的谷壳,例如,New实际上是常见的,但不是关键。

然后,您将获得可用于帮助识别相似性的关键字列表。您可以将“原始”名称与其关键字相关联,并在比较两个或多个原始名称的相似性(字面意思是共享关键字的百分比)时使用这些关键字。

无论如何,这都不是一个完美的解决方案,但是我不认为您期望得到一个解决方案?

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有