热词的识别与提取算法

 

1.什么是热词

热词特点: 1.某一时间段内起点低,增长迅速 2.具有很强的延续性,和热词相关的其他词也被报道 3.热度随着时间的流逝而改变

2.热词排名计算的两种方法

热词排名方法一:贝叶斯平均法(Bayesian average)

先来理解一下利用贝叶斯统计算法的公式: WR是每个词的加权得分,WR越大表示热度越大 R是该词汇的平均得分(这里设定都为1) v是总词频 m是排名前n的词汇的最低词频(n是自定义的阀值)

热词排名法二:牛顿冷却定律

将热词排名想象成一个即自然冷却的过程。可以利用物理学定律,建立“温度”与“时间”之间的函数关系,构建一个“指数式衰减”的过程。 牛顿冷却定律:物体的冷却速度,与其当前温度与室温之间的温差成正比。 若仅仅使用今天与昨天的搜索量对比,时间差为1,最终的冷却系数可以通过如下公式计算:

为了防止除数为0,将公式改为 若冷却系数越低则说明热度就越大

3.实验设计

3.1 数据获取

3.2 热词的评价标准

(1)统计词语一周内的词频,词频在当天未峰值,并大于某一阀值 (2)该峰值与起始值差值大于某一阀值 (3)热度值大于某一阀值

写成公式,可如下表示:

H(w)为热度 Atp(w)当前词频 all(w)表示以Ayp(w)为中心的前后三天的词频 BeTp(w)为起始词频 c1,c2为阀值。

3.3 实验目的

取出每天排名前五的词汇作为热词

3.4 热词排名的方法步骤

4.实验过程

4.1 贝叶斯平均实验

今天的词频比昨天的词频增长地越多,那么说明这个词今天越热,但是如何表示这个增长呢?首先肯定会想到减法,让今天的词频减去昨天的词频,差越大表示热度越大,但是以下两个词就戳穿了这个逻辑的BUG:

好男儿   0      441
男同志   3410   3925
    1 2

好男儿从0到441,搜索量猛增,男同志虽然也增长了那么多,但他本来基数就大,所以好男儿更应该被选为热词。故光看增长量是有误区的

现在采用贝叶斯平均法,计算词项的热度。

比如计算“俞思远”这个词的热度,套用以上公式

同理,我们可以求出所有词的热度,画成了一个折线图如下:

4.2 牛顿冷却定律实验

利用以上提到的牛顿冷却定律的公式对以上词语进行计算,可以得到每个词的冷却系数。冷却系数越低则说明热度越大,如下表:

进一步对冷却系数取反,代表词的上升趋势,如下图:

牛顿冷却定律相比于贝叶斯平均法的有点在于其热度的变化比较清晰。但是,对于(当前词频)/(历史词频)的比值较大的词估计过高,贝叶斯平均法则没有这个问题

4.3 热词评价值的改进

改进热词评价后,以下是计算出的新热度值

经验分享 程序员 微信小程序 职场和发展