查找搜索列表"best topic"的算法 - Python



我正在尝试根据您的搜索历史记录来定制广告。

因此,我需要一个算法/脚本,该算法会根据搜索中的单词频率以及从该搜索中经过的时间来调整将调整为特定人员的AD的最佳关键字。

例如,

如果我的搜索列表是:

  1. 如何找到句子的主要单词-2018-03-31 15:16:04.752350

  2. 句子的主词-Python -2018-03-28 15:16:04.752350

  3. 狗的食物 - 2016 -03-28 15:16:04.752350

  4. 狗及其食物 - 2016 -03-25 15:16:04.752350
  5. 狗的食物 - 2016 -03-23 15:16:04.752350

因此,即使狗,食物是3次,句子的主要单词只有2个,因为自从用户搜索狗的食物以来已经经过了时间,但会选择的话题是 - 主要单词句子。

到目前为止,我已经完成了一些算法,这些算法找到了句子的主要主题,而无需交流时间。但是,正如我所说,我需要根据时间的时间进行算法。我借鉴了简单的想法,例如最近通过Constand搜索"良好"的搜索评分,但我想要更好的算法。

谢谢,

omer

您可以计算每个单词的频率,对旧单词的某种惩罚。

  • 例如,如果上个月存在一个单词,则很重要" 1"。

  • 如果它比一个月大,但比一年早,请计算" 0.5"

  • 如果它大于一年,则将其计算为" 0.1"

这是一种简化,但是您可以使用这个想法更加重视最近的单词。

与此相关的略有进步可能会使用"正常分布"。这是一个很好的示例,如何绘制正态分布:Python Pylab图正态分布

在您的情况下,而不是在图上绘制它,而是要将y轴值乘以频率。

最新更新