查找搜索列表 "best topic" 的算法 - python
algorithm to find the "best topic" of searching list - python
我正在尝试制作一个程序,根据您的搜索历史定制广告。
因此,我需要一个算法/脚本来找到广告的最佳关键词,根据搜索中单词的频率和搜索经过的时间,为特定的人调整。
例如,
如果我的搜索列表是:
如何找到句子的主词 - 2018-03-31 15:16:04.752350
句子主词 - python - 2018-03-28 15:16:04.752350
狗粮 - 2016-03-28 15:16:04.752350
- 狗和它们的食物 - 2016-03-25 15:16:04.752350
- 狗粮-2016-03-2315:16:04.752350
所以即使 dog, food 出现了 3 次并且句子的主词只有 2 个,由于自从用户搜索 dog's food 以来已经过去了一段时间,因此会选择的主题是 - main一句话一句话。
到目前为止,我已经做了一些算法来找到句子的主题,而不考虑经过的时间。但是,正如我所说,我需要一种基于时间的算法。我坚持简单的想法,比如乘法,最近用常数搜索“好”的分数,但我想要更好的算法。
非常感谢,
奥马尔
您可以计算每个单词的频率,对较旧的单词进行某种惩罚。
例如,如果某个词出现在上个月,则它被计为
“1”。
如果超过一个月但不到一年,算作
"0.5"
如果超过一年,算“0.1”
这是一种简化,但您可以使用此想法更加强调最近的单词。
可以使用 "normal distribution" 稍作改进。这是一个如何绘制正态分布的好例子:python pylab plot normal distribution
在您的例子中,您不想将其绘制在图表上,而是希望将 y 轴值乘以频率。
我正在尝试制作一个程序,根据您的搜索历史定制广告。
因此,我需要一个算法/脚本来找到广告的最佳关键词,根据搜索中单词的频率和搜索经过的时间,为特定的人调整。
例如,
如果我的搜索列表是:
如何找到句子的主词 - 2018-03-31 15:16:04.752350
句子主词 - python - 2018-03-28 15:16:04.752350
狗粮 - 2016-03-28 15:16:04.752350
- 狗和它们的食物 - 2016-03-25 15:16:04.752350
- 狗粮-2016-03-2315:16:04.752350
所以即使 dog, food 出现了 3 次并且句子的主词只有 2 个,由于自从用户搜索 dog's food 以来已经过去了一段时间,因此会选择的主题是 - main一句话一句话。
到目前为止,我已经做了一些算法来找到句子的主题,而不考虑经过的时间。但是,正如我所说,我需要一种基于时间的算法。我坚持简单的想法,比如乘法,最近用常数搜索“好”的分数,但我想要更好的算法。
非常感谢,
奥马尔
您可以计算每个单词的频率,对较旧的单词进行某种惩罚。
例如,如果某个词出现在上个月,则它被计为 “1”。
如果超过一个月但不到一年,算作 "0.5"
如果超过一年,算“0.1”
这是一种简化,但您可以使用此想法更加强调最近的单词。
可以使用 "normal distribution" 稍作改进。这是一个如何绘制正态分布的好例子:python pylab plot normal distribution
在您的例子中,您不想将其绘制在图表上,而是希望将 y 轴值乘以频率。