我需要自动匹配来自不同来源的产品名称(相机,笔记本电脑,电视等)到数据库中的规范名称。
例如,佳能PowerShot a20IS,新的powershot A20是从佳能和数码相机佳能PS A20IS应该都匹配佳能PowerShot A20是。我已经使用levenshtein distance添加了一些启发式方法(删除明显的常用词,为数字更改分配更高的成本等),在某种程度上有效,但不幸的是还不够好。
主要的问题是,即使是相关关键字中的单个字母的更改也会产生巨大的差异,但要检测出哪些是相关关键字并不容易。例如,考虑三个产品名称:
联想 T400
联想 R400
全新联想T-400,酷睿2双核
从任何标准来看,前两个字符串都非常相似(好的,soundex在这种情况下可能有助于区分T和R,但名称也可能是400T和400R),第一个和第三个字符串彼此之间相距很远,但它们是同一个产品。
显然,匹配算法不可能达到100%的精确度,我的目标是自动匹配80%左右的名字,并保持较高的置信度。
任何想法或参考资料,我们将不胜感激。
https://stackoverflow.com/questions/595250
复制相似问题