Algorithm 如何注意异常新闻活动
假设你能够跟踪新闻中提到的不同实体,比如说“史蒂夫·乔布斯”和“史蒂夫·鲍尔默” 您可以通过什么方式判断每个实体在给定时间段内的提及次数相对于其正常出现频率是否异常 我想,对于像史蒂夫·乔布斯这样更受欢迎的人来说,增长50%可能是不寻常的(增长1000到1500),而对于一个相对不知名的CEO来说,在某一天增长1000%是可能的(增长2到200)。若你们并没有一种方法来衡量你们的不寻常指数,那个么你们的不寻常指数可能会被闻所未闻的15分钟成名时间所支配 更新:为了更清楚,我们假设您已经能够获得连续的新闻流,识别每个新闻项中的实体,并将所有这些内容存储在关系数据存储中。比简化的方式更简单- 存储人员的姓名以及在过去24小时内创建的文章数量,包括他们的姓名。与历史数据进行比较 现实生活-Algorithm 如何注意异常新闻活动,algorithm,language-agnostic,statistics,Algorithm,Language Agnostic,Statistics,假设你能够跟踪新闻中提到的不同实体,比如说“史蒂夫·乔布斯”和“史蒂夫·鲍尔默” 您可以通过什么方式判断每个实体在给定时间段内的提及次数相对于其正常出现频率是否异常 我想,对于像史蒂夫·乔布斯这样更受欢迎的人来说,增长50%可能是不寻常的(增长1000到1500),而对于一个相对不知名的CEO来说,在某一天增长1000%是可能的(增长2到200)。若你们并没有一种方法来衡量你们的不寻常指数,那个么你们的不寻常指数可能会被闻所未闻的15分钟成名时间所支配 更新:为了更清楚,我们假设您已经能够获得连
如果你试图动态地挑选出人们的名字,你会怎么做呢?在文章中搜索如何获取名称?一旦你取了一个新名字,你会为他搜索所有的文章吗?你如何区分史蒂夫·乔布斯和苹果,以及史蒂夫·乔布斯这个正在撰写大量文章的新星 如果您希望简单,请创建一个表,其中包含50个您实际插入的人名。每天午夜,让你的程序在过去的24小时内运行一个快速的谷歌查询,并存储结果的数量。这里面有很多我们没有考虑的变量。
- 创建一个数据库并保留带有时间戳的故事历史记录。然后,您将拥有一段时间内您所监控的每类新闻的故事历史
- 定期计算每单位时间的故事数(选择单位)
- 测试当前值与历史数据的偏差是否超过X个标准差
在这里,未知的拉里·埃里森(Larry Ellison)的400%变化导致z值为400,更知名的史蒂夫·乔布斯(Steve Jobs)的10%变化是495,而我的20%峰值仍然是10。您可以根据您认为合适的权重调整此算法,或者使用标准偏差或滚动平均值来确定这是否远离他们的“预期”结果。您使用的方法将取决于每个人的计数分布。我的直觉是,它们不会是正态分布的,这意味着一些纵向数据的标准方法可能不合适——特别是对于你提到的那些小人物、不知名的首席执行官,他们的数据非常不连续 我真的不太精通纵向方法,无法在这里给你一个可靠的答案,但如果你现在把我锁在一个房间里实施这一点,我可能会这么做:
Name m m0 δ z
Steve Jobs 4950 4500 .10 495
Steve Ballmer 400 300 .33 132
Larry Ellison 50 10 4.0 400
Andy Nobody 50 40 .20 10