[发明专利]一种大规模关键词匹配方法无效
申请号: | 200710122231.X | 申请日: | 2007-09-24 |
公开(公告)号: | CN101398820A | 公开(公告)日: | 2009-04-01 |
发明(设计)人: | 叶润国;周涛;华东明;孙海波;骆拥政;焦玉峰 | 申请(专利权)人: | 北京启明星辰信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市商泰律师事务所 | 代理人: | 毛燕生 |
地址: | 100094北京市海淀区东北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 大规模 关键词 匹配 方法 | ||
1.一种大规模关键词匹配方法,包括预处理阶段和模式匹配阶段,其特征在于包括以下步骤:
A)所述预处理阶段包括以下步骤:
A1、根据设定的关键词特征串长度,对关键词集合中各关键词进行特征串抽取,构成关键词特征串集合;
A2、构造多个仅包含一个散列函数且该散列函数支持递归运算的简单布隆过滤器,将步骤A1所得到的关键词特征串集合同时映射到多个简单布隆过滤器中;
A3、构造一个哈希表,将关键词特征串集合映射到哈希表各单元中,对于具有哈希值冲突的元素,用链表方式串接起来;
A4、构建一个包含所有原始关键词的线性表,步骤A3中建立的关键词特征串哈希表项中包含对应原始关键词的索引号;
B)所述模式匹配阶段包括以下步骤:
B1、设置一个与关键词特征串等长度的文本匹配窗口,首先将文本匹配窗口与待匹配文本左对齐;
B2、以当前文本匹配窗口中文本串为输入,依次使用各简单布隆过滤器及其散列函数,实现当前文本串不与任何关键词特征串匹配的快速判定:如果基于某一简单布隆过滤器成功实现对当前文本串的快速排除判定,则直接跳跃到步骤B5执行;如果基于当前简单布隆过滤器的排除判定失败,则继续使用下一个简单布隆过滤器;如果所有简单布隆过滤器都执行排除判定失败,则进入步骤B3;
B3、依据文本匹配窗口中文本串检索关键词特征串哈希表,如果找到匹配的关键词特征串表项,则执行步骤B4;如果未找到任何匹配表项,则直接跳跃到步骤B5执行;
B4、根据关键词特征串表项中的索引号从原始关键词线性表读取对应的原始关键词,并与当前匹配窗口处文本串进行全长度字符串比较,如果匹配成功则报告一个成功的关键词匹配事件;最后,不管匹配成功与失败,都继续执行步骤B5;
B5、将当前文本匹配窗口向右移动1字节,并跳跃到步骤B2继续执行,直至整个文本扫描结束。
2.根据权利要求1所述的大规模关键词匹配方法,其特征在于,所述预处理阶段A的步骤A1为:对于原始关键词集合中各关键词,抽取的关键词特征串为整个关键词集合中出现次数最少的关键词子串。
3.根据权利要求1所述的大规模关键词匹配方法,其特征在于,在步骤A2中构造的简单布隆过滤器只包含一个散列函数,该散列函数基于可递归运算的罗宾指纹多项式模算法构建。
4.根据权利要求1所述的大规模关键词匹配方法,其特征在于,在步骤A3构造关键词特征串哈希表时,选择的哈希表散列函数是步骤A2中构造的多个简单布隆过滤器中最后一个布隆过滤器的散列函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京启明星辰信息技术有限公司,未经北京启明星辰信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710122231.X/1.html,转载请声明来源钻瓜专利网。