我正在制作一个大型的雅虎管道项目,从各种来源获取DJ集,过滤它们,因此输出只包含我过滤的艺术家的dj集,并将它们呈现在RSS源中。
由于许多套装同时在多个网站上发布,但其标题略有不同,我的Feed通常会有重复的内容,尽管使用了独特的过滤器。
我注意到大多数这些集合都以dj名称开头。只有最后的字符串不同(有时会添加国家/地区名称,或者日期以不同的格式显示)
我想做的是,仅在第一个单词的基础上使用唯一过滤器。所以,如果添加了这两组:
戴夫克拉克 - 白噪声#471 - 2014年最佳(电子版) - 2015年1月11日
Dave Clarke - 白噪声471(2014年最佳电子版) - 2015年1月12日
唯一过滤器会根据前两个单词过滤掉其中一个。
如果我只根据前两个名称过滤掉,这意味着唯一过滤器将阻止此dj所有未来的集合。为了避免这种情况发生,我想添加一些公式,以确保公布日期也被考虑在内。我们说我每周只需要每项dj一件物品。
我知道这很复杂,但有可能吗?
谢谢!
答案 0 :(得分:0)
我相信你可以在不考虑单词ngrams的情况下获得相当不错的结果。基本上,不考虑单词,而是考虑n个字符的序列(3可能是一个很好的数字,但它值得测试)。
所以,"戴夫克拉克 - 白噪声#471 - 2014年最佳(电子版) - 2015年1月11日"将成为这样的列表:
["Dav", "ave", "ve ", "v C", " Cl", "Cla", ... "-20", "201" ,"015"]
和"戴夫克拉克 - 白噪声471(2014年最佳电子版) - 2015年1月12日"会给出类似的东西:
["Dav", "ave", "ve ", "v C", " Cl", "Cla", ..., "-20", "201" ,"015"]
一旦你有每个标题的ngrams,你可以很容易地比较他们有多少共同点...而且越大,它们就越有可能是同一个标题。
答案 1 :(得分:0)
有没有办法在管道中实现自动化?我已经有越来越多的1000多个关键字需要处理,而且还有越来越多的500个Feed作为输入。
Ngrams看起来非常好,但如果有某种工具可以让我将链接的标题分解为这些ngrams,那么我会比较它们会很酷:)