美文网首页
宏观指标挖掘:去重与聚簇

宏观指标挖掘:去重与聚簇

作者: 李小宝宝宝 | 来源:发表于2016-09-07 14:18 被阅读0次

金融投研领域,宏观指标是一个重要的参考数据,发布来源往往集中在各式各样的政府网站,包括行业协会。有些提供了api接口,比如国家统计局,有一些则是嵌在网页中;可能是文本比如:“本月,固定电话用户减少94.0万户,移动电话用户净增910.6万户”,或者是table的形式;这些数据以比较固定的格式,定期发布;对于分析师而言,处理这些数据有两个基本需求

1)想要的宏观指标,到底在哪个网站的哪个频道?

2)如果这个数据,定期发布,能否机器帮忙全部整理出来?

第一个是权威性判断、去重以及检索问题;使用百度检索这些指标,往往展现的是新闻网站的转载,而非政府网站的原始网页,且数据可能是非常陈旧的;考虑几个点: 1)网站权重的排序 2)新闻网站的转载,一定不像官方发布那样,定期都会转载 3)Simhash去重、聚簇

Simhash将文本映射到long int,不同于hash,两段文本内容近似,则他们的simhash(汉明距离)也接近;输入是一个字典,key是word,value是这个词的权重(可以用idf),所以和词序没有关系;直接上代码:

#finger_len代表要映射的指纹长度

masks = [1 << i for i in xrange(finger_len)]

for word, value in feature_dict.iteritems():

        h = hash_func(word)

        for i in xrange(finger_len):

                v[i] += value if h&masks[i] else -value

ans = 0

for i in range(finger_len):

        if v[i]  >=  0:

                ans |= masks[i]

如何去重呢? 给一个新的指纹,如何判断库里已经有相近的指纹呢?建立索引:指纹有小于等于k位代表接近,假设指纹长度设为64位,拆分成m个block,m一定要大于k;如果A和B最多有k位不同,那么最少有m-k个block是相同的;

63------53|52------42|41-----32|31------21|20------10|09------0|

|    A      |     B      |      C      |       D       |       E       |       F     |

If m = 6, k = 3, 排列组合一共有:

- A B C D E F

- A B D C E F

- A B E C D F

...

- C D F A B E

- C E F A B D

- D E F A B C

对库里的文本按照上面的前m-k建立索引即可~

对于宏观指标而言,每期发布的数据本身不同,但是句法模板是接近的;抽取网页中每句文本,将时间和数字用标签替代,然后生成指纹;如何聚簇?我们当前有所有的指纹,可以快速比较A和B的区别,通过索引,可以快速获取A的紧邻指纹,通过BFS遍历全部指纹,是一个简单靠谱的方式,这个过程中,需要注意避免传递的扩散;比如A和B接近,B和C接近,但是A和C可能没有那么接近,设计中需要考虑。

参考:

https://github.com/seomoz/simhash-py

https://github.com/leonsim/simhash

相关文章

  • 宏观指标挖掘:去重与聚簇

    金融投研领域,宏观指标是一个重要的参考数据,发布来源往往集中在各式各样的政府网站,包括行业协会。有些提供了api接...

  • 聚簇索引与非聚簇索引

    刚开始学数据库SQL的时候,就知道有主键啊(Primary-key),外键啊(Foreign-key)啥的,连个表...

  • 聚簇索引与非聚簇索引

    InnoDB 聚簇索引 InnoDB使用的是聚簇索引,将主键组织到一棵B+树中,而行数据就储存在叶子节点上,若使用...

  • 聚簇索引与非聚簇索引

    聚簇索引:将数据与索引存放到一起,索引结构的叶子结点保存了行数据(索引临近的记录在物理存储上也是临近的)非聚簇索引...

  • 聚簇索引与非聚簇索引

    聚簇索引 在聚簇索引的叶子节点直接存储用户信息的内存地址,我们使用内存地址可以直接找到相应的行数据。 非聚簇索引 ...

  • Mysql索引:图文并茂,深入探究索引的原理和使用

    目录 前言 1 索引原理探究 1.1 B树与B+树1.2 聚簇索引与非聚簇索引1.3 索引原理图示1.3.1 聚簇...

  • MySql数据库相关

    聚簇索引与非聚簇索引(也叫二级索引) 通俗点讲 聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据 非聚...

  • MySQL:聚簇索引

    什么是聚簇索引?什么时候使用聚簇索引和非聚簇索引? 聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据非...

  • MySQL索引

    聚簇索引和非聚簇索引 只有Innodb有聚簇索引,MyISAM引擎没有聚簇索引。 主键一定是聚簇索引,MySQL的...

  • 聚簇索引非聚簇索引

    从数据结构角度1、B+树索引2、hash索引3、FULLTEXT索引(InnoDB引擎5.7以后支持)4、R-Tr...

网友评论

      本文标题:宏观指标挖掘:去重与聚簇

      本文链接:https://www.haomeiwen.com/subject/ngbhettx.html