【问题标题】:Comparing two pieces of information to work out similaririties比较两条信息以找出相似之处
【发布时间】:2013-08-21 16:26:47
【问题描述】:
我有以下困境。我已经将信息存储在数据库中,我将添加到其中。我有以下字段:
Title
Location
Description
我想避免将相同的内容重新添加到数据库中。但是,当前设置似乎发生的事情是我检查它们是否完全相同,但有时可能会出现单个字符,并且它将接受它作为两个不同的值。
是否有可能建立某种“软糖因素”,以允许两者之间存在非常小的差异。我更一般地寻找这项技术,但如果它有所作为,我正在用 python 编码。
【问题讨论】:
标签:
python
performance
algorithm
sorting
logic
【解决方案1】:
这是经典的“脏数据”问题。目标是在您的数据库中只包含干净的数据,并识别重复数据。
该技术取决于您的数据,是否可以轻松清理或是否需要一些编程逻辑。例如,姓氏“van Rossum”与“Vanrossum”相同,还是“Håstad”与“Hasted”相同?最后的实时股价是真实的,还是应该丢弃的峰值?
除了应用于每个字段的规则列表之外,可能没有简单的答案。可能没有一个单一的“捏造因素”可以修复您的所有数据。
您的最佳方法应该与 Title、Location 和 Description 的已知“良好”值相关。也许您的位置已明确定义,您可以轻松检测到不正确的位置 - 然后您需要确定正确的位置应该是什么。
常见的做法包括“剔除”不符合规则的数据,以便人们可以做出决定,或者只是将其标记为脏数据,以便人们在搜索结果中出现时可以应用心理捏造因素。