《去重处理方法及装置.pdf》由会员分享,可在线阅读,更多相关《去重处理方法及装置.pdf(10页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103106283 A(43)申请公布日 2013.05.15CN103106283A*CN103106283A*(21)申请号 201310063918.6(22)申请日 2013.02.28G06F 17/30(2006.01)(71)申请人北京奇虎科技有限公司地址 100088 北京市西城区新街口外大街28号D座112室(德胜园区)申请人奇智软件(北京)有限公司(72)发明人齐路 何锐邦 唐会军(74)专利代理机构北京市浩天知识产权代理事务所 11276代理人宋菲 刘云贵(54) 发明名称去重处理方法及装置(57) 摘要本发明公开了一种去重处理方法及装置。其中,。
2、去重处理方法包括:分别计算所述至少两个类的中心向量;分别计算所述待处理向量到所述至少两个类的中心向量的距离;根据所述待处理向量到所述至少两个类的中心向量的距离,确定所述待处理向量的归属类,将不是所述归属类的类所包含的待处理向量删除,得到去重处理后的至少两个类。通过本发明提供的技术方案,实现了一个向量只出现在一个类中。经过本发明的处理保证多个类之间没有共同向量,避免了后续的重复计算过程,减小了计算复杂度。(51)Int.Cl.权利要求书2页 说明书6页 附图1页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书6页 附图1页(10)申请公布号 CN 103106283。
3、 ACN 103106283 A1/2页21.一种去重处理方法,所述方法适用于对分别包含多个向量的至少两个类进行处理,所述至少两个类都包含同一个待处理向量,所述方法包括:分别计算所述至少两个类的中心向量;分别计算所述待处理向量到所述至少两个类的中心向量的距离;根据所述待处理向量到所述至少两个类的中心向量的距离,确定所述待处理向量的归属类,将不是所述归属类的类所包含的待处理向量删除,得到去重处理后的至少两个类。2.根据权利要求1所述的方法,所述包含同一个待处理向量的至少两个类是对多个向量进行MinHash算法处理而得到的。3.根据权利要求1或2所述的方法,所述分别计算所述待处理向量到所述至少两个。
4、类的中心向量的距离具体为:分别计算所述待处理向量到所述至少两个类的中心向量的余弦距离;所述根据所述待处理向量到所述至少两个类的中心向量的距离,确定所述待处理向量的归属类具体为:确定余弦距离最大的类作为所述待处理向量的归属类。4.根据权利要求1或2所述的方法,所述分别计算所述待处理向量到所述至少两个类的中心向量的距离具体为:分别计算所述待处理向量到所述至少两个类的中心向量的欧式距离;所述根据所述待处理向量到所述至少两个类的中心向量的距离,确定所述待处理向量的归属类具体为:确定欧式距离最小的类作为所述待处理向量的归属类。5.根据权利要求1或2所述的方法,所述分别计算所述待处理向量到所述至少两个类的。
5、中心向量的距离具体为:分别计算所述待处理向量到所述至少两个类的中心向量的杰卡德距离;所述根据所述待处理向量到所述至少两个类的中心向量的距离,确定所述待处理向量的归属类具体为:确定杰卡德距离最大的类作为所述待处理向量的归属类。6.一种去重处理装置,所述装置适用于对分别包含多个向量的至少两个类进行处理,所述至少两个类都包含同一个待处理向量,所述装置包括:第一计算模块,用于分别计算所述至少两个类的中心向量;第二计算模块,用于分别计算所述待处理向量到所述至少两个类的中心向量的距离;去重模块,用于根据所述待处理向量到所述至少两个类的中心向量的距离,确定所述待处理向量的归属类,将不是所述归属类的类所包含的。
6、待处理向量删除,得到去重处理后的至少两个类。7.根据权利要求6所述的装置,所述包含同一个待处理向量的至少两个类是对多个向量进行MinHash算法处理而得到的。8.根据权利要求6或7所述的装置,所述第二计算模块具体用于分别计算所述待处理向量到所述至少两个类的中心向量的余弦距离;所述去重模块具体用于确定余弦距离最大的类作为所述待处理向量的归属类。9.根据权利要求6或7所述的装置,所述第二计算模块具体用于分别计算所述待处理向量到所述至少两个类的中心向量的欧式距离;权 利 要 求 书CN 103106283 A2/2页3所述去重模块具体用于确定欧式距离最小的类作为所述待处理向量的归属类。10.根据权利。
7、要求6或7所述的装置,所述第二计算模块具体用于分别计算所述待处理向量到所述至少两个类的中心向量的杰卡德距离;所述去重模块具体用于确定杰卡德距离最大的类作为所述待处理向量的归属类。权 利 要 求 书CN 103106283 A1/6页4去重处理方法及装置技术领域0001 本发明涉及计算机处理技术领域,具体涉及一种去重处理方法及装置。背景技术0002 俗话说:“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。所谓类,通俗地说,就是指相似元素的集合。聚类分析又称群分析,它是研究样品或指标分类问题的一种统计分析方法。聚类分析起源于分类学,在古老的分类学中,人们主要依靠经验和专业知识。
8、来实现分类,很少利用数学工具进行定量的分类。随着人类科学技术的发展,对分类的要求越来越高,以致有时仅凭经验和专业知识难以确切地进行分类,于是人们逐渐地把数学工具引用到了分类学中,形成了数值分类学,之后又将多元分析的技术引入到数值分类学形成了聚类分析。聚类分析方法非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。聚类算法还常作为一些大规模数据分析的预处理算法,通过聚类处理使得后续算法在一个较小的数据集合上进行运算,减小了计算复杂度。0003 在聚类算法中,最小哈希算法(MinHash)是一种快速有效地检测向量是否相似的技术,它是由安德烈布罗德在1997年提。
9、出,最初用于在搜索引擎中检测重复网页,它也可以应用于大规模聚类问题。0004 在介绍MinHash之前,首先介绍群落系数(Jaccard coefficient)的概念。群落系数表示两个向量的相似性。假如有两个向量A和B,那么这两个向量的群落系数为:0005 0006 在MinHash算法中,假设H(s)是将元素s映射成一个整数的哈希函数,hmin(S)是向量S中的元素经过哈希函数H(s)处理后所得到的最小哈希值。那么对于向量A和B,hmin(A)=hmin(B)成立的条件是AB中具有最小哈希值的元素也在AB中。这里假设的前提是,H(s)是一个良好的哈希函数,它具有很好的均匀性,能够把不同元素。
10、映射成不同的整数。所以就有:0007 Pr(hmin(A)=hmin(B)=J(A,B)0008 即两个向量最小哈希值相等的概率等于两个向量的群落系数。0009 根据上面的结论,就可以根据哈希函数H(s)来计算向量的相似度了,将最小哈希值相同的向量聚为一类。0010 由于MinHash是基于概率的,为了增加准确率,往往选取一组哈希函数进行多次计算。在使用多个哈希函数的情况下,每个哈希函数都会对应得到一个聚类结果,这些聚类结果不会是完全一样的,会出现一个向量用某一个哈希函数计算被聚到类X中,用另一个哈希函数计算被聚到类Y中。0011 基于上述MinHash算法,可以保证两个相似的向量有较大的概率。
11、聚到一个或多个类中,即:越是相似的两个向量,被聚到一起的可能性就越大。由于采用多个哈希函数,所以说 明 书CN 103106283 A2/6页5一个向量可能被聚到多个类中,造成重复的聚类。如果使用MinHash算法作为后续算法的预处理,重复的聚类会造成重复的计算。例如根据聚类结果,将同一类中的向量做某些复杂的计算,如果多个类中都有相同的几个向量,那么这几个类之间的后续计算就要重复多次,增加了计算复杂度。发明内容0012 鉴于上述问题,提出了本发明的去重处理方法及相应的去重处理装置,用以解决一个向量被聚到多个类中导致这几个类之间的后续计算重复多次,增加计算复杂度的技术问题。0013 根据本发明的。
12、一个方面,提供了一种去重处理方法,该方法适用于对分别包含多个向量的至少两个类进行处理,其中至少两个类都包含同一个待处理向量,该方法包括:分别计算至少两个类的中心向量;分别计算待处理向量到至少两个类的中心向量的距离;根据待处理向量到至少两个类的中心向量的距离,确定待处理向量的归属类,将不是归属类的类所包含的待处理向量删除,得到去重处理后的至少两个类。0014 根据本发明的另一方面,提供了一种去重处理装置,该装置适用于对分别包含多个向量的至少两个类进行处理,其中至少两个类都包含同一个待处理向量,该装置包括:第一计算模块,用于分别计算至少两个类的中心向量;第二计算模块,用于分别计算待处理向量到至少两。
13、个类的中心向量的距离;去重模块,用于根据待处理向量到至少两个类的中心向量的距离,确定待处理向量的归属类,将不是归属类的类所包含的待处理向量删除,得到去重处理后的至少两个类。0015 根据本发明提供的去重处理方法及装置,在获得包含同一向量的多个类之后,计算该向量到多个类的中心向量的距离,根据距离确定该向量的归属类。经过这样的处理保证多个类之间没有共同向量,避免了后续的重复计算过程,减小了计算复杂度。0016 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。。
14、附图说明0017 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:0018 图1示出了根据本发明的一个实施例的去重处理方法的流程图;0019 图2示出了根据本发明的一个实施例的去重处理装置的结构框图。具体实施方式0020 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且。
15、能够将本公开的范围完整的传达给本领域的技术人员。说 明 书CN 103106283 A3/6页60021 图1示出了根据本发明的一个实施例的去重处理方法100的流程图。如图1所示,方法100始于步骤S101,在步骤S101中首先获得包含多个向量的至少两个类,该至少两个类都包含同一个待处理向量。可选地,方法100是针对MinHash算法的后续处理方法。在该步骤中,利用MinHash算法对多个向量进行聚类处理,得到包含同一待处理向量的至少两个类。假设经过MinHash聚类算法处理后,得到l个包含同一待处理向量的类C1,C2,.,Cl。0022 随后,方法100进入步骤S102,在步骤S102中分别。
16、计算l个类的中心向量。以第i个类Ci为例,设Ci=v1,v2,.,vm,v1,v2,.,vm是Ci所包含的向量,通过下式计算Ci的中心向量ci:0023 0024 通过公式(1)计算得到l个类的中心向量,分别为c1,c2,.,cl。0025 随后,方法100进入步骤S103,其中分别计算l个类所包含的共同向量到l个类的中心向量的余弦距离。假设l个类都包含向量v,该向量v就是待处理向量。通过下式计算向量v到第k个类的中心向量ck的余弦距离D(ck,v):0026 0027 其中,cki是向量ck中的第i个元素,vi是向量v中的第i个元素。0028 通过公式(2)计算得到向量v到l个类中每个类的中。
17、心向量的余弦距离,分别为D(c1,v),D(c2,v),.,D(cl,v)。0029 随后,方法100进入步骤S104,其中查找余弦距离的最大值,确定余弦距离最大的类作为待处理向量的归属类,将不是归属类的类所包含的待处理向量删除,得到去重处理后的至少两个类。设通过比较查找到D(cx,v)为最大值,即:0030 D(cx,v)=MAX(D(c1,v),D(c2,v),.,D(cl,v) (3)0031 由此可确定l个类中的第x个类为向量v的归属类。将除了第x个类以外的其它l-1个类中的向量v从其中删除,由此得到的l个类就是经过去重处理后的类。0032 作为另一种实施方式,在上述步骤S103中,分。
18、别计算l个类所包含的共同向量到l个类的中心向量的欧式距离。假设l个类都包含向量v,该向量v就是待处理向量。通过下式计算向量v到第k个类的中心向量ck的欧式距离D1(ck,v):0033 0034 其中,cki是向量ck中的第i个元素,vi是向量v中的第i个元素。0035 通过公式(4)计算得到向量v到l个类中每个类的中心向量的欧式距离,分别为D1(c1,v),D1(c2,v),.,D1(cl,v)。0036 在上述步骤S104中,查找欧式距离的最小值,确定欧式距离最小的类作为待处理向量的归属类,将不是归属类的类所包含的待处理向量删除,得到去重处理后的至少两个说 明 书CN 103106283 。
19、A4/6页7类。0037 作为又一种实施方式,在上述步骤S103中,分别计算l个类所包含的共同向量到l个类的中心向量的杰卡德(Jaccard)距离。假设l个类都包含向量v,该向量v就是待处理向量。通过下式计算向量v到第k个类的中心向量ck的Jaccard距离D2(ck,v):0038 0039 通过公式(5)计算得到向量v到l个类中每个类的中心向量的Jaccard距离,分别为D2(c1,v),D2(c2,v),.,D2(cl,v)。0040 在上述步骤S104中,查找Jaccard距离的最大值,确定Jaccard距离最大的类作为待处理向量的归属类,将不是归属类的类所包含的待处理向量删除,得到去。
20、重处理后的至少两个类。0041 根据本发明提供的去重处理方法,在获得包含同一待处理向量的多个类之后,计算该待处理向量到多个类的中心向量的距离,根据距离确定该向量的归属类,将不是归属类的类所包含的待处理向量删除,得到去重处理后的多个类。经过这样的处理保证多个类之间没有相同的向量,避免了后续的重复计算过程,减小了计算复杂度。0042 图2示出了根据本发明的一个实施例的去重处理装置200的结构框图,该装置适用于对分别包含多个向量的至少两个类进行处理,该至少两个类都包含同一个待处理向量。如图2所示,去重处理装置200包括:第一计算模块210、第二计算模块220和去重模块230。0043 可选地,包含同。
21、一个待处理向量的至少两个类是对多个向量进行MinHash算法处理而得到的。利用MinHash算法对多个向量进行聚类处理,得到包含同一个待处理向量的至少两个类。假设经过MinHash聚类算法处理后,得到l个包含同一个待处理向量的类C1,C2,.,Cl。0044 第一计算模块210用于分别计算至少两个类的中心向量。第一计算模块210分别计算l个类的中心向量。以第i个类Ci为例,设Ci=v1,v2,.,vm,v1,v2,.,vm是Ci所包含的向量,通过上述公式(1)计算Ci的中心向量ci。依此类推,计算得到l个类的中心向量,分别为c1,c2,.,cl。0045 第二计算模块220用于分别计算待处理向。
22、量到至少两个类的中心向量的距离。可选地,第二计算模块220具体用于分别计算待处理向量到至少两个类的中心向量的余弦距离。第二计算模块220分别计算l个类所包含的共同向量(即待处理向量)到l个类的中心向量的余弦距离。假设l个类都包含向量v,通过上述公式(2)计算向量v到第k个类的中心向量ck的余弦距离D(ck,v)。依此类推,计算得到向量v到l个类中每个类的中心向量的余弦距离,分别为D(c1,v),D(c2,v),.,D(cl,v)。可选地,第二计算模块220也可用于分别计算待处理向量到至少两个类的中心向量的欧式距离或Jaccard距离。0046 去重模块230用于根据待处理向量到所述至少两个类的。
23、中心向量的距离,确定待处理向量的归属类,将不是归属类的类所包含的待处理向量删除,得到去重处理后的至少两个类。可选地,去重模块240具体用于确定余弦距离最大的类作为待处理向量的归属类。去重模块240通过比较查找到D(cx,v)为最大值,由此可确定l个类中的第x个类为待处理向量v的归属类,将除了第x个类以外的其它l-1个类中的向量v从其中删除,由此得到说 明 书CN 103106283 A5/6页8的l个类就是经过去重处理后的类。可选地,去重模块240也可用于确定欧式距离最小或Jaccard距离最大的类作为待处理向量的归属类。0047 根据本发明提供的去重处理装置,在获得包含同一个向量的多个类之后。
24、,通过第一计算模块和第二计算模块计算该向量到多个类的中心向量的距离,去重模块根据距离确定该向量的归属类。经过这样的处理保证多个类之间没有共同向量,避免了后续的重复计算过程,减小了计算复杂度。0048 在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。0049 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明。
25、的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。0050 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都。
26、作为本发明的单独实施例。0051 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。0052 此外,。
27、本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。0053 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的去重处理装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装。
28、置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的说 明 书CN 103106283 A6/6页9信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。0054 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。说 明 书CN 103106283 A1/1页10图1图2说 明 书 附 图CN 103106283 A10。