我在使用 Levenstein 距离算法时遇到了一些问题。
我正在使用 Levensteins 距离算法将产品名称与产品名称列表进行比较,以找到最接近的匹配项。但是,我需要稍微调整一下。我正在使用来自dotnetperls.com的示例。
假设我有一个来自我自己的数据库的 2000 个产品名称的列表 A。我自己销售所有这些产品。
然后突然间,我从我的一个供应商那里得到了一份清单 B,上面有产品名称和每种产品的新价格。这可能每年发生不止一次,所以我想开发软件来手动完成这项工作。
问题是这家供应商不太擅长一致性。所以他时不时地对名称进行一些小改动,这意味着我无法进行简单的字符串比较。
我已经实现了距离算法,但它并不真正适合我的需求。- 然而!
在浏览我的供应商列表时,我遇到了一个名为
American Crew 去屑洗发水 250 毫升
该产品与我自己的产品成功匹配,称为
美国船员去头屑 250 毫升。
距离为 10。
问题
我还遇到了一个产品,叫做
American Crew 三合一洗发水 450 毫升。
哪个被错误地匹配
American Crew 每日洗发水 450 毫升。
而不是我的
American Crew 3 in 1 450 毫升。
我明白为什么!但我不确定我应该如何从这里更改算法。
有任何想法吗?
顺便说一句,我不太擅长算法,但我相信某种称重会对我有所帮助。
编辑:
计算时间并不是一个真正的问题。即使需要十个小时才能完成,它仍然比手动完成要好得多:P