确定文章质量的算法

时间:2013-07-04 04:25:44

标签: algorithm nlp data-mining data-modeling text-parsing

我正在开展一个项目,要求我解析新闻文章并确定其中最好的文章。我想出要确定文章的质量,我需要三个主要参数:文章的长度,facebook分享/转推以及文章发布以来的时间。

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

另请告知我在确定质量时是否需要考虑其他参数。

2 个答案:

答案 0 :(得分:3)

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

  • 通过Google搜索结果中的排名衡量的网站的可信度
  • 以流量衡量的网站的受欢迎程度
  • 你提到的facebook喜欢/分享的数量
  • 互联网上与文章相关的地方数量。

由于包含文章成绩的数据集很难获得,因此您可能无法进行任何类型的统计分析。相反,你只需要制定一个公式,并用最好的判断权衡参数。为了支持这一点,可以手工评分一些文章,看看有什么不同的公式给你。

答案 1 :(得分:0)

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

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

增加数据

  • shares:正整数s \in N_0(从0到无穷大的每个整数)
  • 转推:正整数r \in N_0

减少数据

对于减少数据,您希望将绝对值用作指标:

  • t_0成为文章的时间戳(unix左右)。
  • T成为当前时间戳。
  • l_0表示被视为“最佳”的文章的长度。
  • L表示文章的实际长度。

然后:

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

因为绝对值是正整数,所以它是:

|l_0 - L| + |t_0 - T|接近零,因为|t_0 - T| |l_0 - L|更接近于零。

越来越多的数字也是如此。

因此,文章越有可能是“正确的”长度和新的,这个数字越接近于零。

<强>结论

越来越多的商数越来越多。想一想:分母越小,商数越大。分子越大,商越大。

这意味着:如果被认为是“更好”的商数

(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|))