日期类型值的模糊匹配

时间:2013-01-08 11:38:34

标签: algorithm fuzzy fuzzy-comparison

我没有真正的问题,但我更喜欢寻找问题的创意输入。

我想比较两个(很可能是不相等的)日期值并计算它们的相似性比率。例如,如果我比较08.01.201310.01.2013,我会得到一个相对较高的值,但在08.01.201317.04.1998之间,它会非常低。

但现在我不确定如何准确计算相似度。首先,我考虑将Date值转换为Strings,然后对它们使用EditDistance(单个char操作的数量将一个String转换为另一个)。对于某些情况,这似乎是一个好主意,我肯定会实现它,但我还需要对31.01.201302.02.2013

之类的东西进行适当的计算

2 个答案:

答案 0 :(得分:1)

为什么不以两个日期之间的天数差异作为起点? 相似日期为“低”,不等日期为“高”,然后使用算术获得符合要求的“相似比”。

如果你遇到困难,请考虑过去“足够早”的固定参考日期。

答案 1 :(得分:0)

可以使用Levenshtein距离计算编辑距离。

一年中的变化意味着比一天中的变化更多的“距离”。 比较天数的通常方法是计算以天或小时为单位的距离。为此,您可以转换序列日期中的两个日期。 Microsoft提供DateDiff()函数用于日期比较和距离计算。