我在数据库中有很多厂商,他们在数据的某些方面都有所不同。我想制作基于以前数据的数据验证规则。如何根据实际数据自动创建模式?
实施例:
A: XZ-4, XZ-23, XZ-217
B: 1276, 1899, 22711
C: 12-4, 12-75, 12
目标:如果用户输入字符串“XZ-217”的供应商B,算法应该比较先前的数据和说:此字符串不类似于供应商B先前的数据。
是否有一些很好的方法/工具来实现这种比较?答案可能是一些通用算法或Perl模块。
编辑: “相似性”很难定义,我同意。但我想赶上算法,它可以分析以前的约100个样本,然后将分析结果与新数据进行比较。相似性可以基于长度,使用字符/数字,字符串创建模式,类似的开始/结束/中间,有一些分隔符。
我觉得这不是一件容易的事,但另一方面,我认为它有使用非常广泛。所以我希望,已经有一些提示。
这真的很含糊。尝试定义一些“类似”的东西。除非你给出精确的规则,否则计算机不能说“呃,看起来够接近”。例如,您可能希望“具有多于X个字符的共同点”或“以相同的Y个字符开始”或“在中间具有相同的符号(例如短划线)”。 – FakeRainBrigand 2012-01-13 14:59:58
除非您能施加一些额外的限制,否则这将会非常困难。考虑一下:如何让你的模式学习算法决定使用'qr /.*/'? – 2012-01-13 15:03:07