确定文章质量的算法



我正在进行一个项目,该项目要求我解析新闻文章并确定其中最好的。我发现,要确定一篇文章的质量,我需要三个主要参数:文章的长度、脸书的分享/转发次数和文章发布后的时间。

我现在面临的问题是,如何将所有三个参数放在一个数学函数中,并为每一篇文章得出分数?分配给每一篇文章的分数将帮助我对文章进行排名,并将其展示给用户。

此外,请告诉我在确定质量时是否需要考虑任何其他参数。

我不确定你的项目的确切性质,但这项任务很难准确完成。你如何考虑到这样一个事实,即最受分享/点赞的文章往往是最两极分化的。点赞/分享的数量也明显受到新闻网站受欢迎程度的影响。我认为任何类型的自动文本分析都不够准确,很容易被滥用。然后,你最好的选择是寻找指示性代理,如:

  • 通过在谷歌搜索结果中的排名来衡量网站的信誉
  • 以流量衡量的网站人气
  • 你提到的facebook点赞/分享数量
  • 互联网上链接到文章的位置数

由于包含文章等级的数据集很难获得,您可能无法进行任何类型的统计分析。相反,你只需要制定一个公式,并用你的最佳判断来衡量参数。为了支持这一点,也许可以手工评分几篇文章,看看有什么不同的公式。

你想要的东西很容易实现。你必须有你感兴趣的各种数据:增加和减少的数据。增加数据被认为是"好的",只要它增加。数据越接近零,就被认为是"更好"的。

事实证明,所有四个数据集都是简单的整数:

增加数据

  • 共享:正整数s in N_0(从零到无穷大的每个整数)
  • 转发:正整数r in N_0

递减数据

对于递减数据,您希望使用绝对值作为度量:

  • t_0是文章的时间戳(unix左右)
  • T为当前时间戳
  • l_0表示被认为是"最佳"的文章的长度
  • L表示文章的实际长度

然后:

  • 时间:|t_0 - T|越接近零越好
  • 长度:|l_0 - L|越接近零越好

由于绝对值是正整数,因此如下所示:

随着|t_0 - T||l_0 - L|更接近零,|l_0 - L| + |t_0 - T|更接近零。

不断增加的数字也是如此。

因此,一篇文章越有可能是"正确"的长度和新的,这个数字就越接近零。

结论

一个递增数与一个递减数的商本身就是递增的。想想看:分母越小,商就越大。分子越大,商就越大。

这意味着:如果认为商"更好"

(s+r) / (|l_0 - L| + |t_0 - T|)

上升。

这不一定是一个整数。

增强

你可以缓和股票和转发的上涨,所以使用ln得分会变得更加"自然"。

ln(s+r) / (|l_0 - L| + |t_0 - T|)

您可以使用exp来软化分母:

ln(s+r) / exp(-(|l_0 - L| + |t_0 - T|))

最新更新