由于各种新闻网站发布了大量新故事/类似新闻内容,我无法轻松管理RSS源。对于诸如世界新闻和商业新闻等主题,许多故事都是多余的,给读者增加了负担,使他们能够理清他们已经阅读过的故事。为了解决泛洪和冗余这两个问题,我需要开发一个代码来减少要读取的项目数量,并使用重叠信息来划分有趣的主题。
如果我能够像GOOGLE NEWS / StackOverflow一样将类似的新闻内容组合在一起并将其呈现给用户,那将会更容易。
答案 0 :(得分:9)
这绝对是一个不容易解决的问题,可以通过以下方式解决:
首先,我将不同的新闻来源分组到一些相对广泛的类别。您可以轻松确定Tech新闻来源不会在经济类别下发布新闻。 (或者,那就是问题。)
大部分案例新闻标题都不会被触及,它最多仍保留原始形式。因此,分类,标题和发布日期是将新闻分组为一个的良好起点。
如果您发现上述方法存在问题,则需要进行一些微调。
也许您需要阅读整篇文章并逐个比较两篇(数千篇)文章。
如果新闻的原始文本相似(您可以定义阈值),您可以再次比较其他因素(如上所述)。
一些新闻来源在RSS源中提供了良好的标记,也许你也可以使用它但不依赖它。
请记住,一开始(大约1年)你需要进行大量的微调,然后你会没事的。
答案 1 :(得分:3)
我在某个地方读过 - 但我没有参考 - 谷歌新闻使用MinHash的变体来检测近乎重复的新闻帖子。其中很多几乎都是相同的,来自一家新闻机构,只有报纸的轻微改编。
http://en.wikipedia.org/wiki/MinHash
有一个参考和Google新闻使用LSH和MinHash的变体的声明:
Das,Abhinandan S.等。 (2007年),“谷歌新闻个性化:可扩展的在线协同过滤”,第16届万维网国际会议论文集。 ACM
答案 2 :(得分:2)
我在这里没有看到任何问题,但我首先要开发某种指纹算法,包括文章中的文字,名称,标题,日期等。然后我会检查指纹的相似性,找到相同的文章,可能通过某种MapReduce作业,轻松地将作品传播到集群中的不同服务器。
如果您需要一些灵感,请查看Google Living Stories的源代码: http://code.google.com/p/living-stories/
答案 3 :(得分:0)
通过将所有文章转储到Elsasticsearch中并进行more_like_this查询,我在使用此方法方面取得了成功。这出奇地好。只需进行一些微调即可正确设置某些设置。您还可以在bonsai.io
使用免费的Elasticsearch托管实例。答案 4 :(得分:-1)
您需要进行某种形式的文档群集。这包括:
由于这是新闻并且您有新文章,您可能需要一个“在线”算法而不是批量算法。搜索增量DBSCAN作为示例。