zoukankan      html  css  js  c++  java
  • 多模式匹配算法,高效解决词典很大的模糊匹配问题

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

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

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

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

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

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

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

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

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

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

     

  • 相关阅读:
    ajax请求传参数复杂对象list,后端springmvc接收参数
    SpringBoot热部署简介
    lucene 初探
    学生管理系统导包
    tomcat加入系统服务+开机自启
    sql like模糊查询的条件拼接
    SSHDemo
    Spring在web开发中的应用
    Spring的Bean内部方法调用无法使用AOP切面(CacheAble注解失效)
    dwz tree组件 取得所选择的值
  • 原文地址:https://www.cnblogs.com/chengyeliang/p/5311178.html
Copyright © 2011-2022 走看看