一种数据过滤、构造数据滤波器的方法及装置的制造方法

文档序号:9471405阅读:379来源:国知局
一种数据过滤、构造数据滤波器的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及通信领域,特别涉及一种数据过滤、构造数据滤波器的方法及装置。
【背景技术】
[0002] 流数据(streamdata)可被视为一个随时间延续而无限增长的动态数据集合。数 据滤波(datafiltering),也称为数据过滤,其目标是根据事先制定的规则,识别出符合要 求的数据并加以拦截或者丢弃。数据过滤是流数据处理中的一种重要操作。例如,对于一些 互联网视频分享网站,用户不断提交的视频,组成了大规模视频流数据。系统需要在极短时 间内完成对视频流数据的分析、过滤、索引和存储等操作,过滤掉不符合规定的数据流。又 例如,对于电子邮件来说,根据实验室数据表明,2012年,垃圾邮件占所有电子邮件平均比 例为72. 1 %,因此,互联网邮件服务提供商为了保证服务质量,需要从邮件流中滤掉垃圾邮 件。
[0003] 针对如何进行数据滤波的问题,现有技术中一般是预先设置多个检测数据,当有 数据需要检测时,按照类似于字符串匹配的方式来确定数据间的相似度,若待检测的数据 与其中一个或多个检测数据之间的相似度较高,则确定需将该待检测的数据进行剔除。
[0004] 该方法的缺点是:该方法仅能够按照类似于字符串匹配的方式来确定数据之间的 相似度,因此无法处理具有复杂语义的数据。

【发明内容】

[0005] 本发明实施例提供一种数据过滤、构造数据滤波器的方法及装置,用于解决现有 技术中尚无较好的数据滤波方法的技术问题。
[0006] 本发明的第一方面,提供一种数据过滤方法,包括:
[0007] 将待测向量进行分段,获得k个待测子向量;
[0008] 将所述k个待测子向量分别与预设的k个检测向量中相应的检测向量进行内积运 算,获得k个第一运算结果;
[0009] 确定其中值最大的第一运算结果,获取该第一运算结果所对应的检测向量的标 识;其中,检测向量与标识为 对应的关系;
[0010] 将所述待测向量按照获取的、与值最大的第一运算结果所对应的检测向量的标识 映射到预设的数据滤波器中,通过所述数据滤波器确定是否将所述待测向量滤除。
[0011] 结合第一方面,在第一方面的第一种可能的实现方式中,在将待测向量进行分段, 获得k个待测子向量之后,所述方法还包括:对所述k个待测子向量分别进行归一化操作;
[0012] 将所述k个待测子向量分别与预设的k个检测向量中相应的检测向量进行内积运 算,获得k个第一运算结果,包括:将归一化操作后的所述k个待测子向量分别与所述k个 检测向量中相应的检测向量进行所述内积运算,获得所述k个第一运算结果。
[0013]结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的 实现方式中,在将待测向量进行分段,获得k个待测子向量之前,所述方法还包括:构造所 述数据滤波器。
[0014] 结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式 中,构造所述数据滤波器,具体包括:
[0015] 取N个样本向量,针对所述N个样本向量中的每个样本向量,执行以下步骤:将样 本向量进行分段,获得k个样本子向量;将所述k个样本子向量分别与预设的所述k个检测 向量中相应的检测向量进行内积运算,获得k个第二运算结果;确定其中值最大的第二运 算结果,获取该第二运算结果所对应的检测向量的标识;将所述样本向量映射到获取的、与 值最大的第二运算结果所对应的检测向量的标识对应的哈希桶中;其中,为每个检测向量 预设有一个哈希桶,共预设有k个哈希桶,且检测向量的标识与哈希桶为一一对应的关系;
[0016] 在将所述N个样本向量映射完毕后,分别获得所述k个哈希桶的值,以根据相应哈 希桶的值确定是否滤除所述待测向量;其中,每个哈希桶的值为映射到该哈希桶中的样本 向量的总数量;
[0017] 确定所述数据滤波器构造完毕;其中,所述数据滤波器中包括所述k个检测向量、 和分别对应有相应哈希桶的值的所述k个哈希桶。
[0018] 结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式 中,将所述待测向量按照获取的、与值最大的第一运算结果所对应的检测向量的标识映射 到预设的数据滤波器中,通过所述数据滤波器确定是否将所述待测向量滤除,包括:
[0019] 将所述待测向量映射到特定的哈希桶中,并判断所述特定的哈希桶的值是否大于 预设阈值;其中,所述特定的哈希桶为:所述数据滤波器中的、与值最大的第一运算结果所 对应的检测向量的标识对应的哈希桶;
[0020] 若大于,确定将所述待测向量滤除。
[0021] 结合第一方面的第三种可能的实现方式或第四种可能的实现方式,在第一方面的 第五种可能的实现方式中,在将样本向量进行分段,获得k个样本子向量之前,还包括:从 特定分布中获得所述k个检测向量,并对所述k个检测向量分别进行归一化操作,使所述k 个检测向量的L2范数为1 ;其中,所述特定分布满足:从所述特定分布中获得的任意向量, 在进行归一化操作后,其L2范数均为1。
[0022] 结合第一方面的第三种可能的实现方式或第四种可能的实现方式或第五种可能 的实现方式,在第一方面的第六种可能的实现方式中,在获得k个样本子向量之后,还包 括:对所述k个样本子向量分别进行归一化操作;
[0023] 将所述k个样本子向量分别与预设的所述k个检测向量中相应的检测向量进行内 积运算,获得k个第二运算结果,包括:将归一化操作后的所述k个样本子向量分别与所述 k个检测向量中相应的检测向量进行所述内积运算,获得所述k个第二运算结果。
[0024] 本发明的第二方面,提供一种构造数据滤波器的方法,包括:
[0025] 取N个样本向量,针对所述N个样本向量中的每个样本向量,执行以下步骤:将样 本向量进行分段,获得k个样本子向量;将所述k个样本子向量分别与预设的所述k个检测 向量中相应的检测向量进行内积运算,获得k个第二运算结果;确定其中值最大的第二运 算结果,获取该第二运算结果所对应的检测向量的标识;将所述样本向量映射到获取的、与 值最大的第二运算结果所对应的检测向量的标识对应的哈希桶中;其中,为每个检测向量 预设有一个哈希桶,共预设有k个哈希桶;每个检测向量对应有一个标识,检测向量与标识 为 对应的关系;检测向量的标识与哈希桶也为 对应的关系;
[0026]在将所述N个样本向量映射完毕后,分别获得所述k个哈希桶的值,以根据相应哈 希桶的值确定是否滤除所述待测向量;其中,每个哈希桶的值为映射到该哈希桶中的样本 向量的总数量;
[0027]确定所述数据滤波器构造完毕;其中,所述数据滤波器中包括所述k个检测向量、 和分别对应有相应哈希桶的值的所述k个哈希桶。
[0028]结合第二方面,在第二方面的第一种可能的实现方式中,在将样本向量进行分段, 获得k个样本子向量之前,还包括:从特定分布中获得所述k个检测向量,并对所述k个检 测向量分别进行归一化操作,使所述k个检测向量的L2范数为1 ;其中,所述特定分布满 足:从所述特定分布中获得的任意向量,在进行归一化操作后,其L2范数均为1。
[0029]结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的 实现方式中,在获得k个样本子向量之后,还包括:对所述k段样本子向量分别进行归一化 操作;
[0030]将所述k段样本子向量分别与预设的所述k个检测向量中相应的检测向量进行特 定运算,获得k个第二运算结果,包括:将归一化操作后的所述k段样本子向量分别与所述 k个检测向量中相应的检测向量进行所述特定运算,获得所述k个第二运算结果。
[0031]本发明的第三方面,提供一种数据过滤装置,包括:
[0032]分段模块,用于将待测向量进行分段,获得k个待测子向量;
[0033]运算模块,用于将所述k个待测子向量分别与预设的k个检测向量中相应的检测 向量进行内积运算,获得k个第一运算结果;
[0034]确定模块,用于确定其中值最大的第一运算结果,获取该第一运算结果所对应的 检测向量的标识;其中,检测向量与标识为一一对应的关系;
[0035]映射模块,用于将所述待测向量按照获取的、与值最大的第一运算结果所对应的 检测向量的标识映射到预设的数据滤波器中,通过所述数据滤波器确定是否将所述待测向 量滤除。
[0036]结合第三方面,在第三方面的第一种可能的实现方式中,所述装置还包括操作模 块,用于:在将待测向量进行分段,获得k个待测子向量之后,对所述k个待测子向量分别进 行归一化操作;
[0037]所述运算模块具体用于:将归一化操作后的所述k个待测子向量分别与所述k个 检测向量中相应的检测向量进行所述内积运算,获得所述k个第一运算结果。
[0038]结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的 实现方式中,所述装置还包括构造模块,用于:构造所述数据滤波器。
[0039]结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式 中,所述构造模块具体用于:取N个样本向量,针对所述N个样本向量中的每个样本向量,执 行以下步骤:将样本向量进行分段,获得k个样本子向量;将所述k个样本子向量分别与预 设的所述k个检测向量中相应的检测向量进行内积运算,获得k个第二运算结果;确定其中 值最大的第二运算结果,获取该第二运算结果所对应的检测向量的标识;将所述样本向量 映射到获取的、与值最大的第二运算结果所对应的检测向量的标识对应的哈希桶中;其中, 为每个检测向量预设有一个哈希桶,共预设有k个哈希桶,且检测向量的标识与哈希桶为 一一对应的关系;在将所述N个样本向量映射完毕后,分别获得所述k个哈希桶的值,以根 据相应哈希桶的值确定是否滤除所述待测向量;其中,每个哈希桶的值为映射到该哈希桶 中的样本向量的总数量;确定所述数据滤波器构造完毕;其中,所述数据滤波器中包括所 述k个检测向量、和分别对应有相应哈希桶的值的所述k个哈希桶。
[0040] 结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式 中,所述映射模块具体用于:将所述待测向量映射到特定的哈希桶中,并判断所述特定的哈 希桶的值是否大于预设阈值;其中,所述特定的哈希桶为:所述数据滤波器中的、与值最大 的第一运算结果所对应的检测向量的标识对应的哈希桶;若大于,确定将所述待测向量滤 除。
[0041] 结合第三方面的第三种可能的实现方式或第三方面的第四种可能的实现方式,在 第三方面的第五种可能的实现方式中,所述装置还包括获取模块,用于:在对样本向量进行 分段,获得k个样本子向量之前,从特定分布中获得所述k个检测向量,并对所述k个检测 向量分别进行归一化操作,使所述k个检测向量的L2范数为1 ;其中,所述特定分布满足: 从所述特定分布中获得的任意向量,在进行归一化操作后,其L2范数均为1。
[0042]结合第三方面的第三种可能的实现方式或第三方面的第四种可能的实现方式或 第三方面的第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述装置还 包括操作模块,用于:在获得k个样本子向量之后,对所述k个样本子向量分别进行归一化 操作;
[0043]所述构造模块用于将所述k个样本子向量分别与预设的k个检测向量中相应的检 测向量进行内积运算,获得k个第二运算结果,具体为:将归一化操作后的所述k个样本子 向量分别与所述k个检测向量中相应的检测向量进行所述内积运算,获得所述k个第二运 算结果。
[0044] 本发明的第四方面,提供一种构造数据滤波器的装置,包括:
[0045] 执行模块,用于取N个样本向量,针对所述N个样本向量中的每个样本向量,执行 以下步骤:将样本向量进行分段,获得k个样本子向量;将所述k个样本子向量分别与预设 的k个检测向量中相应的检测向量进行内积运算,获得k个第二运算结果;确定其中值最大 的第二运算结果,获取该第二运算结果所对应的检测向量的标识;将所述样本向量映射到 获取的、与值最大的第二运算结果所对应的检测向量的标识对应的哈希桶中;其中,为每个 检测向量预设有一个哈希桶,共预设有k个哈希桶;检测向量与标识为一一对应的关系;检 测向量的标识与哈希桶也为一一对应的关系;
[0046] 第一确定模块,用于在将所述N个样本向量映射完毕后,分别获得所述k个哈希桶 的值,以根据相应哈希桶的值确定是否滤除所述待测向量;其中,每个哈希桶的值为映射到 该哈希桶中的样本向量的总数量;
[0047] 第二确定模块,用于确定所述数据滤波器构造完毕;其中,所述数据滤波器中包括 所述k个检测向量、和分别对应有相应哈希桶的值的所述k个哈希桶。
[0048]结合第四方面,在第四方面的第一种可能的实现方式中,所述装置还包括操作模 块,用于:从特定分布中获得所述k个检测向量,并对所述k个检测向
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1