比较大量相似文本的最简单方法是什么?

2024-04-26 13:02:34 发布

您现在位置:Python中文网/ 问答频道 /正文

这里有点开放式的问题,因为我主要是在征求意见。我从craigslist上获取了一些数据,以便在我所在的地区发布apt广告,因为我想搬家。我的目标是能够比较项目,看看什么时候是重复的,这样我就不会花一整天的时间看同样的3个广告。问题是他们改变了一些东西,以通过CL的过滤器。在

我已经有一些正则表达式来查找地址和电话号码进行比较,但这不是最可靠的。有没有人熟悉一种简单的ish方法来比较整个文档,或者显示一些简单的东西,比如“80%相似”?我不能随便想任何事情,所以我想我必须从头开始自己的解决方案,但我认为值得问问stackoverflow的集体天才:)

首选的语言/方法是python/php/perl,但如果这是一个很好的解决方案,我会非常开放。在

更新:有一点值得注意,因为我将把我所在地区(洛杉矶)的apts的rss提要的数据存储在本地数据库中,所以首选的方法是将其与我目前所知道的一切进行比较。这可能有点碍事,因为随着职位数量的增长,这可能会成为一个非常漫长的过程。在


Tags: 数据项目方法过滤器目标cl地址时间
3条回答

你可以计算两个字符串之间的Levenshtein差异-在一些合理的规范化之后,比如最小化重复的空白等等。在你运行了足够多的“重复”之后,你应该知道你的阈值是什么——然后你可以对所有新的传入数据运行Levenshtein,如果它小于你的阈值,你可以认为它是重复的。在

您可以使用xdiff。有一个xdiff PECL extension for PHP可用。在

或者使用^{}来计算两个字符串之间的相似度

很少有相当复杂的项目可以找到文本复制。其中一个是Simian。看看吧。在

相关问题 更多 >