• 多模式匹配算法,高效解决词典很大的模糊匹配问题


    因为属于公司的数据部门,所以会接到一些产品,或者数据策略组 同事的数据需求,

    其中一个需求如下:为了评估一批词的如果加入黑名单会造成的收入损失,采用模糊匹配参照其过去一段时间的收入来作为考量指标。 

      原始需求:模糊命中 附件中XXX多个词的 关键词的消费数据,取消费数据中过去一周的数据。

      最终输出所有词及其对应的周汇总消费数据。

    那么其实大数据情况下(约每天1亿个关键词),都需要取和词典中的每个词进行一次模糊匹配。

    解决方案一:hive 中写transform,利用自定义map的方式,将每行记录与这批词进行一次 模糊匹配。

    总结:简单、可行,当词典数目不是很大的时候,基本事件耗费在mapreduce,效率不是很低,满足需求。

    优化方案二:当词典很大很大的时候,字符串逐个匹配的性能急剧下降,利用【Wu-Manber 经典多模式匹配算法】,解决该问题。

    算法详情转个介绍连接:http://blog.csdn.net/pi9nc/article/details/9124623

    总结:当需要模糊匹配的字典,特别大的时候,Wu-Manber 算法性能并不会随着 词典数的增加而明显增加,性能nice。

     

  • 相关阅读:
    php和c++自带的排序算法
    谷歌Chrome浏览器离线安装包
    js阻止表单提交
    Sublime text中文乱码解决办法
    不会飞的鸟
    linux命令**50
    linux基础2
    linux基础1
    css3实现单行文本溢出显示省略号
    null和undefined的区别
  • 原文地址:https://www.cnblogs.com/chengyeliang/p/5311178.html
Copyright © 2020-2023  润新知