使用PHP在RSS源中查找“类似”文章

时间:2012-04-02 04:05:34

标签: php mysql algorithm rss

虽然我不确定从哪里开始,但我想要完成一些事情。

我目前有一个带有文章列表的MySql数据库。数据库包含文章标题,内容和其他一些信息,如日期等。

我们会监控新文章的RSS Feed,它是一个Google Alert Feed,其中只包含某些主题的最新新闻。我希望能够自动监控此Feed并记录与我们数据库中当前故事类似的所有Feed项。

我知道如何设置脚本自动运行,我知道如何使用SimplePie解析RSS源。

我需要弄清楚的是如何获取rss feed项的描述,对我们的数据库运行检查以查看feed项是否与我们在DB中的内容类似,并返回一些数字得分排序,有点像“相似性评级”或其他什么。

之后,如果“相似性评级”高于设定的限制,我可以将我需要的信息记录到数据库中,我知道该怎么做。

所以我唯一的问题是如何将每个Feed项目与我们当前的文章进行比较,并根据它的相似程度返回一个分数。

1 个答案:

答案 0 :(得分:1)

Levenshtein函数(适用于PHP和MySQL)是处理此问题的好方法。它基本上根据将一个字符串转换为另一个字符串所需的排列(替换,移动等)的数量来计算一个值。该分数将是您的“相似度”。

编辑:Levenshtein函数在MySQL本身不可用,但是你可以使用它的SQL实现,例如:http://kristiannissen.wordpress.com/2010/07/08/mysql-levenshtein/