2

我有 500 多篇文章的数据库,每 5 分钟 php 脚本检查带有新闻的 XML 文件。我需要忽略我已经拥有的文章。我需要检查新闻的相似性,因为有些人只是重写它。例如:

一个人会写:“你好,我叫约翰!你好吗?”
第二个会写:“你好!你好吗?我叫约翰!”

这不是一个很好的例子,但我有这个问题。为了比较文本,我将使用 shingles 算法。但是怎么做更好呢?我认为每次使用数据库检查 xml 中的每篇文章都不好。

4

1 回答 1

2

由于您只有 500 多篇文章,因此每 5 分钟检查一次应该不成问题。

如果您无论如何都想改进这一点,您可以添加另一个表(md5 或 sha1 哈希,文本源)并存储您检索文本的源以及一些哈希。当您查看新文章时,您可以改为与哈希值进行比较,看看您是否已经看过这篇文章。

于 2012-12-29T13:14:05.620 回答