CN104424254A - 获取相似对象集合、提供相似对象信息的方法及装置 - Google Patents
获取相似对象集合、提供相似对象信息的方法及装置 Download PDFInfo
- Publication number
- CN104424254A CN104424254A CN201310381991.8A CN201310381991A CN104424254A CN 104424254 A CN104424254 A CN 104424254A CN 201310381991 A CN201310381991 A CN 201310381991A CN 104424254 A CN104424254 A CN 104424254A
- Authority
- CN
- China
- Prior art keywords
- minhash
- attribute
- value
- similar
- primary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000004364 calculation method Methods 0.000 claims description 45
- 238000013507 mapping Methods 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 14
- 239000011159 matrix material Substances 0.000 description 16
- 230000008707 rearrangement Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 239000003999 initiator Substances 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了获取相似对象集合、提供相似对象信息的方法及装置,其中,所述方法包括:获取输入文件,包括M个对象,N个属性,每个属性对应的属性值;将各个属性输入到预先建立的一级最小哈希minhash函数中,得到各个属性的一级minhash返回值;根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,得到各个属性的二级minhash返回值;计算出各个属性分别在各个对象中的组合minhash值;将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;将各个对象的K个minhash值输入到LSH计算框架中。通过本申请,能够提高运行效率,并提高相似对象信息的有效性及准确度。
Description
技术领域
本申请涉及对象相似性计算技术领域,特别是涉及获取相似对象集合、提供相似对象信息的方法及装置。
背景技术
在互联网产业中,有许多应用都需要面对如下的核心问题:给定一个对象的集合T={t1,t2,...,tM},对于集合中的任意元素ti,计算集合T中与ti的距离小于某一阈值的所有元素。在计算两个对象之间的距离时,一般要根据对象的属性信息来计算,例如,对于商品这种对象而言,其属性可以包括类目、颜色、款式等等,丰富的属性信息一般需要用高维向量表示。
衡量距离尺度的定义有很多,常用的有Jaccard距离,扩展Jaccard距离,Cosine距离,Euclidean距离,Hamming距离,等等。解决上述问题的统一的技术框架为Local Similarity Hash(LSH)算法,该算法框架针对不同的距离定义有不同的实现版本。其中,Jaccard距离是用来比较样本集中的相似性和分散性的一个度量。Jaccard系数等于样本集交集与样本集并集的比值。例如,对于某对象集合而言,假设所有可能的属性的全集为I={i1,i2,...,iN},每一个对象t表示为属性全集I的一个子集:则,对象ti,tj之间的Jaccard距离定义为, 例如,假设ti={i1,i2,i3,i4},ti={i1,i2,i5,i6},则|ti∩tj|=2,|ti∪tj|=6,因此,
例如,在计算两个文档1、2之间的距离时,两个文档中的属性信息一般是由各自提取出的关键词来表示,则所有可能的属性的全集为I,就由从这两个文档中提取出的关键词组成。例如,假设从文档1中提取出的关键词有A、B、C、D,从文档2中提取出的关键词有C、D、E、F,则属性全集I={A,B,C,D,E,F},这样,文档1就可以由属性集合{1,1,1,1,0,0}来表示,文档2可以由属性集合{0,0,1,1,1,1}来表示,也就是说,文档中出现某关键词,则对应的位置上就用1来表示,没有出现某关键词,对应位置上就用0来表示。最终再根据两个属性集合的交集及并集来计算两个文档之间的距离。
可见,基于Jaccard距离的LSH完全忽视了属性集合内不同属性之间的权重,具体对象的属性集合中各元素的取值,仅取决于对象中是否存在对应的属 性,而不考虑各个属性在体现对象间区分度上的重要性的不同,这会导致计算结果的偏差。例如,同样对于比较两个文档之间的距离,不仅能够从各个文档中提取出关键词,还可以通过TF/IDF等方法计算出文本中每一个关键词的重要性,属性集合中元素的权重往往带有非常重要的无法忽略的信息。例如,在上述电子商务商品聚类的应用中,一个具体的品牌词,例如“阿迪达斯”,要比一个信息量较少的词,例如“8折”的权重要高很多。如果忽略了权重信息,应用的效果会大幅的下降。
为了在计算两个对象间的距离时,体现出不同属性权重的高低,现有技术中提取出了扩展Jaccard距离的概念。在基于扩展Jaccard距离的LSH算法中,对于带有权重的对象集合T,做如下转换:
1)将属性权重做归一化,将每个属性的权重值限制在[0~1]的区间内。确定允许的误差范围,并将允许的误差项设为小数位,不允许的误差项设为整数位。例如,若允许的误差项为0.01,则对所有属性的权重取值都乘以100。
2)找到所有对象T中的最大权重值,记为C。例如,若允许的误差项为0.01,则C=100。
3)对于任意对象t={x1,x2,...,xN},其中xi是第i个属性的权重,将它转换为bitmap的形式:U(t)={U(x1),U(x2),...,U(xN)}。其中,U(xi)是一个长度为C的bitmap,它由个1后面跟随着个0组成。称U(t)为t的一元表示形式。
4)通过上述转换,将扩展Jaccard距离转换为原始Jaccard距离进行处理。
例如,在计算两个文档1、2之间的距离时,假设文档1中提取出的关键词包括“游泳”以及“今天”,其中,“游泳”的权重为0.6,“今天”的权重为0.2;文档2中提取出的关键词也包括“游泳”以及“今天”,其中,“游泳”的权重为0.3,“今天”的权重为0.7。则属性全集为{游泳,今天},文档1对应的属性集合为{0.6,0.2},文档2对应的属性集合为{0.3,0.7}。同时,假设允许的误差为0.1,则首先将各个属性的权重乘以10,文档1对应的属性集合为{6,2},文档2对应的属性集合为{3,7}。在转换成bitmap形式时,就可以将其中的“6”转换为{1,1,1,1,1,1,0,0,0,0},也即,前6位为1,后4位为0,“2”转换为{1,1,0,0,0,0,0,0,0,0},也即,前2位为1,后8位为0,这样,文档1就可以用集合属性U(t)={1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0}来表示。类似的,文档2也可以转换为只包含0、1这两种元素的属性集合。这样,仍然可以通过两个属性集合的交集及并集中分别包含的元素数量计算出两者之间的距离。
可见,假设属性集合中包括的属性数量为N个,每个属性转换为长度为 N的bitmap,则一个对象将会由一个长度为N×C的bitmap来表示。之后,需要采用hash函数的方式将U(t)中的每一位进行重排列,计算出每一位在新的排列中的序号,并将重排列之后,第一个非0元素的序号,输入到LSH计算框架中进行计算。也即对于同一个对象而言,需要进行N×C次遍历,计算复杂度较高,特别是在高维空间中,其性能损耗可能是无法承受的。
发明内容
本申请提供了获取相似对象集合的方法及装置,能够在得到与传统的基于扩展Jaccard距离的LSH一致甚至更优的结果的同时,运行效率得到提高。
本申请提供了如下方案:
一种获取相似对象集合的方法,包括:
获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;
分别针对各个对象以下操作:
将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合,以便在收到查询与指定对象相似的其他对象的请求后,根据所述相似对象集合返回响应消息。
一种提供相似商品信息的方法,包括:
获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括电子商务应用中的商品;
分别针对各个对象以下操作:
将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
接收到查询与指定商品相似的其他商品的请求时,根据所述相似对象集合返回响应消息。
一种提供相似网页信息的方法,包括:
获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括网页搜索应用中的网页;
分别针对各个对象以下操作:
将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
接收到查询与指定网页相似的其他网页的请求时,根据所述相似对象集合返回响应消息。
一种提供相似用户信息的方法,包括:
获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括关联推荐应用中的用户;
分别针对各个对象以下操作:
将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
接收到查询与指定用户相似的其他用户的请求时,根据所述相似对象集合 返回响应消息。
一种获取相似对象集合的装置,包括:
输入文件获取单元,用于获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;
一级minhash单元,用于将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
二级minhash单元,用于根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
组合minhash单元,用于根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
Minhash确定单元,用于将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行单元,用于循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
输出单元,用于将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合,以便在收到查询与指定对象相似的其他对象的请求后,根据所述相似对象集合返回响应消息。
一种提供相似商品信息的装置,包括:
输入文件获取单元,用于获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括电子商务应用中的商品;
一级minhash单元,用于将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
二级minhash单元,用于根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二 区间内,得到各个属性的二级minhash返回值;
组合minhash单元,用于根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
Minhash确定单元,用于将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行单元,用于循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
输出单元,用于将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
相似商品返回单元,用于接收到查询与指定商品相似的其他商品的请求时,根据所述相似对象集合返回响应消息。
一种提供相似网页信息的装置,包括:
输入文件获取单元,用于获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括网页搜索应用中的网页;
一级minhash单元,用于将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
二级minhash单元,用于根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
组合minhash单元,用于根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
Minhash确定单元,用于将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行单元,用于循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
输出单元,用于将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
相似网页返回单元,用于接收到查询与指定网页相似的其他网页的请求时,根据所述相似对象集合返回响应消息。
一种提供相似用户信息的装置,包括:
输入文件获取单元,用于获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括关联推荐应用中的用户;
一级minhash单元,用于将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
二级minhash单元,用于根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
组合minhash单元,用于根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
Minhash确定单元,用于将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行单元,用于循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
输出单元,用于将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
相似用户返回单元,用于接收到查询与指定用户相似的其他用户的请求时,根据所述相似对象集合返回响应消息。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
通过本申请实施例,在基于扩展jaccard距离的LSH中,不需要再将对象的原始数据扩展到为长度为N×C的bitmap,而是通过两级minhash计算出具体对象的各个属性对应的组合minhash,并将其中最小的一个确定为对象的minhash值。这种方式与传统的基于扩展Jaccard距离的LSH的碰撞率是一致的,能得到与传统的基于扩展Jaccard距离的LSH一致甚至更优的结果,同时,运行效率却能达到传统的基于扩展Jaccard距离的LSH的C倍。
另外,本申请实施例还提供了各种提供相似对象信息的装置,包括相似商品、相似网页、相似用户等等,可以使得提供的相似对象信息的有效性及准确度得到提高。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的获取相似对象集合的方法的流程图;
图2是本申请实施例提供的相似商品信息提供方法的流程图;
图3是本申请实施例提供的相似商品信息提供方法的流程图;
图4是本申请实施例提供的相似商品信息提供方法的流程图;
图5是本申请实施例提供的获取相似对象集合的装置的示意图;
图6是本申请实施例提供的相似商品信息提供装置的示意图;
图7是本申请实施例提供的相似商品信息提供装置的示意图;
图8是本申请实施例提供的相似商品信息提供装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解本申请实施例,首先需要说明的是,在基于扩展Jaccard距离的LSH中,在根据各个属性在对象中的权重值拆分得到长度为N×C的bitmap之后,如果严格按照Jaccard距离来比较两个对象之间的相似性,则在任意两个对象之间都要进行交集、并集的计算,这样会耗费非常多的计算资源。 因此,实际在比较两个对象的相似性时,采用的方法是:首先将各个对象的长度为N×C的bitmap中各个位的顺序进行打乱(minhash),也即进行重排列,然后,获取到各个对象在重排之后,第一个非0元素出现的位置。这样,对于任意两个对象而言,重排列之后第一个非0元素出现的位置相同的概率,恰好等于两者之间的jaccard距离。这样,就将计算两个对象之间的jaccard距离的问题,转化为计算重排之后第一个非0元素出现的位置相同的概率的问题。因此,在传统的基于扩展jaccard距离的LSH中,就是首先将各个对象扩展为长度为N×C的bitmap,然后对该bitmap中的每一位进行重排序,得到重排列之后的序号,然后取出第一个非0元素的序号。这样重复进行K次,每次使用不同的minhash函数进行重排序,因此每次都可以得到新的第一个非0元素的序号,最后就可以用这K个序号来表示这个对象。然后就可以将这些序号输入到LSH计算框架中,LSH计算框架给出最后的相似对象集合计算结果。
本申请实施例就是在上述基于扩展jaccard距离的LSH基础上进行的改进。在本申请实施例中,首先,将对象t中的每一个属性xi通过一级minhash,映射到某整数空间中,然后,将逻辑上的N×C的bitmap U(xi)(并未实际得到该U(xi))中的每一个非0bit通过二级minhash,映射到另一个整数空间中,再根据两级minhash的返回值,计算出属性xi的组合minhash。因此,不再需要显式的将各个对象拆分成长度为N×C的bitmap,再进行minhash等运算,从而提高运行效率。下面对具体的实现方式进行详细地介绍。
参见图1,本申请实施例提供的获取相似对象集合的方法可以包括以下步骤:
S101:获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;
读取输入文件,将其在内存中复原为对象集合T={t1,t2,...,tM}的形式,其中每一个对象表达为hashmap的形式:ti={x1:w1,x2:w2,...,xn:wn},其中xi∈I是属性,wi∈[0,1],是各个属性的权重值。例如,需要重众多商品中找出哪些商品能够归为一类,则每个商品就对应着一个对象ti,商品的类目、 颜色、尺寸等就是对象的属性xi。其中,关于各个对象分别具有哪些属性以及各个属性具有怎样的权重,可以是预先获取到的,这里不再详述。
也就是说,在读取到输入文件之后,相当于得到了一个M行、N列的矩阵,其中,每行代表一个对象,每一列代表一个属性,该矩阵的第i行第j列的元素代表属性xi在对象ti中的权重。为了便于后续的计算,还可以进行倒排索引,也即对该矩阵进行转置,建立以属性值为Key的Hashmap。这样,给定任意的xi∈I,可以在O(1)时间复杂度内找到所有包含xi的对象,以及在各个对象中的权重:V={v1,v2,...,vN},其中,vi={y1:w1,y2:w2,...,ym:wm},其中,yi∈T,wi∈[0,1]。
之后就可以分别针对各个对象进行以下步骤S102到S105的操作:
S102:将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性的序号映射到预置的第一区间内,得到各个属性的一级minhash返回值;
在该步骤中,对于任意的xi∈I,用传统的hash方法计算其hash值, 该函数接收属性值xi作为输入,并将其映射到[1,N]的整数区间内,其中,k∈[1,r×b](其中,r、b是LSH计算框架中涉及到的具体数值,下文中对此会有介绍)。也就是说,在具体实现时,系统中可以存在一个一级minhash组件,只要向该一级minhash组件中输入一个属性xi,就可以将其映射为一个取值位于[1,N]区间内的一个整数,该整数就代表在一级minhash组件内进行了一次重排列之后,属性xi在新的排列中的序号。例如,对于x1,其在初始序列中位于第一位,但将x1输入到一级minhash组件之后,映射得到的整数可能是5,也就是说,在新的排列中,该属性x1排在第5位。
需要说明的是,在一级minhash组件内,各个属性对应的一级minhash返回值与具体的对象是无关的,但是与k相关。这里,k表示映射的次数,也就是说,这种映射需要循环执行k次,在同一次循环过程中,对于对象集合T中的各个对象而言,相同的属性使用相同的重排方式(也即使用的一级minhash函数是相同的),得到的一级minhash返回值也是相同的。因此,在同一次循环过程中,可以不必对每个对象都重复计算各个属性的一级minhash返回值,同一个属性只需要计算一次即可。当然,在同一次循环过程中,不同的属性应 使用不同的重排方式。另外,对于不同的循环过程,即使是相同的属性,也应该使用不同的重排方式。当然,关于一级minhash函数的具体形式这里不做限定。
S103:根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性的序号映射到预置的第二区间内,得到各个属性的二级minhash返回值;
对于任意的xi∈I,计算得到其hash值(为了获得更好的效果,可以用无放回采样的方式),该函数接收两个参数:xi,wi,其中,xi决定了采样种子(seed)的设置,相同的xi有相同的seed,即,产生了相同的随机序列。该随机序列的长度为C,取值范围为[1,C]。wi决定了在由xi产生的随机序列中的下标(也即在新的序列中的序号)。通过上述方式,二级minhash组件将xi,wi映射到[1,C]的空间中。也就是说,在具体实现时,系统中可以存在一个二级minhash组件,只要向该二级minhash组件中输入一个属性xi以及对应的权重值wi,就可以将其映射为一个取值位于[1,C]区间内的一个整数,该整数就代表在二级minhash组件内进行了一次重排列之后,属性xi在新的排列中的序号。
可见,与一级minhash不同,在进行二级minhash时,是与具体的对象相关的。也就是说,需要在具体的对象中计算各个属性的二级minhash返回值。当然,与一级minhash类似的是,在同一次循环的过程中,也即k值确定的情况下,相同的属性使用相同的二级minhash函数,不同的属性使用不同的二级minhash函数。当然,在不同的对象中,相同属性由于权重值的不同,得到的二级minhash返回值也可能是不同的。在不同的循环过程中,即使是相同的属性,也应该使用不同的二级minhash函数。
需要说明的是,在本申请实施例中,虽然不会显式地得到长度为N×C的bitmap U(xi),但实际上,相当于隐式地计算U(xi)中所有取值为1的元素的minhash,该minhash就可以用来体现。也就是说,假设某属性xi的权重值wi=5(5是在允许误差下乘以C之后的值),则wq=1,2,3,4,5,接下来就可以分别将(xi,1)、(xi,2)、(xi,3)、(xi,4)、(xi,5)带入到二级minhash函数中,也即,针对属性xi,可以得到wi=5个二级minhash返 回值,从这5个返回值中取出其中最小的一个,就代表U(xi)中所有取值为1的元素的minhash。也就是说,在本申请实施例中,虽然不需要实际将属性拆分为长度为C的bitmap,但依然能够通过其他方式得到该属性在进行拆分后所有取值为1的元素的minhash。
在实际应用中,为了避免在每个对象中,针对xi的不同权重值,都重新分别计算各个,可以在一次循环过程开始并确定了各个属性对应的二级minhash函数之后,对属性在所有可能权重值下的二级minhash返回值都进行计算。例如,C=10时,所有可能的权重就是1、2、3、……、10,因此,可以预先将(xi,1)、(xi,2)、……、(xi,10)带入到xi对应的二级minhash函数中,分别得到二级minhash返回值,然后计算[1~wi]中取值最小的minhash值,并进行保存: 这样,到了具体的对象中时,对于其中的属性xi,如果其权重是5,则可以从预先计算的Dict中,根据xi查询得到Dict(wi),即:(xi,1)、(xi,2)、……、(xi,5),这5个返回值中的最小值。同样的,如果在另一个对象中,该属性xi的权重是4,则可以从预先计算的Dict中,根据xi查询得到Dict(wi),即:(xi,1)、(xi,2)、……、(xi,5)4个返回值中的最小值,以此类推。这样可以进一步提高运行效率。
S104:根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
在得到了属性xi的一级minhash返回值以及二级minhash返回值之后,就可以根据这两种返回值,计算出一个组合minhash值。例如,具体的计算公式可以是:
其中,就是xi在一级minhash组件中得到的返回值, 也根据根据xi在二级minhash组件中得到的返回值确定出来,因此,就可以得到一个新的整数,可以看到,即,组合minhash在逻辑上将xi,wi映射到了[1,C×N]的整数空间中。并且,通 过运算,组合minhash组件隐式地计算了U(xi)中所有取值为1的元素的minhash。
S105:将同一对象的各个属性对应的组合minhash值中的最小值,确定为该对象的minhash值;
通过步骤S102至S104,对于同一个对象而言,其每个属性都可以计算出一个组合minhash值,然后,可以将同一对象的各个属性对应的组合minhash值中的最小值,确定为该对象的minhash值。例如,对于某对象t,其每个属性xi都能计算出一个组合minhash值,也即能得到N个组合minhash值,这样就可以从这N个组合minhash值中取出其中最小的一个,作为这个对象的minhash值。该值就相当于是传统的基于扩展jaccard距离的LSH算法中,对长度为N×C的bitmap进行重排之后,第一个非0元素所在的位置。
换言之,在本申请实施例中,相当于对逻辑上的N个长度为C的bitmap进行重排,然后再从各自得到的组合minhash值中取最小值,而不是显式的获取到长度为N×C的bitmap进行minhash,但是可以获得与后者相同甚至更优的minhash结果。
经过步骤S102到S105就完成了一次循环,完成这次循环之后,每个对象都可以分别映射为一个minhash值。
S106:循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
由于已经将计算两个对象的距离的问题转化为计算两者被扩展并重排后第一个非0元素所在位置相同的概率的问题,而概率的问题一般需要对多个实验数据进行统计获得,因此,在完成一次循环过程之后,就可以进入下一循环过程。在新的循环过程中,每个属性取新的一级minhash函数以及二级minhash函数,重新将每个对象分别映射为一个minhash值。也就是说,k=1时,可以为每个对象获取到一个minhash值,k=2时,又可以重新分别为各个对象获取到minhash值,一直到k=r×b时结束。这样,经过K次循环之后,每个对象就可以得到K个minhash值。进而就可以得到一个M行、K列的矩阵,在该矩阵中,每一行对应一个对象,每一列对应各个对象在各次循环过程中分别得到的minhash值。这样,相当于由K次循环过程中得分的K个minhash值组成 的向量来表示各个对象。
其中,之所以k=r×b是因为,LSH计算框架在接收到上述M行、K列的矩阵之后,会将该矩阵沿纵向切割为b个小矩阵,每个小矩阵为M行、r列,然后基于各个小的矩阵对各个对象进行比对。具体实现时,LSH算法框架确定之后,r与b的值是确定的,因此,就需要按照LSH算法框架的需求,执行r×b次循环,这样才能使得最终得到的M行、K列的矩阵,能够被切割为b个M行、r列的小矩阵,以满足LSH算法框架的计算要求。
S107:将各个对象的K个minhash值输入到LSH计算框架中获取计算结果,以便在收到查询所述输入文件中相似对象集合的请求后,根据所述LSH计算框架的计算结果返回响应消息。
在获得了上述M行、K列的矩阵之后,就可以将该矩阵输入到LSH计算框架。接下来,在LSH计算框架内的计算过程,就与传统的基于扩展Jaccard距离的LSH计算过程相同了,这里不再详述。总之,LSH计算框架在收到上述矩阵之后,可以根据其内部的运算逻辑,将符合相似条件的对象放入同一个哈希桶中,也即对各个对象进行分桶,分入同一个哈希桶的对象之间就具有相似性,也即形成一个相似对象集合,相当于将对象划分为多个类别,每个类别中包含由一个或多个对象组成的相似对象集合。
在实际应用中,完成对各个对象的分桶之后,就可以接收外部应用程序等的查询请求,该查询请求中一般是用于查询与某指定对象距离最近的X个其他对象;因此,在接收到某查询请求时,首先可以找出请求中携带的指定对象所在的哈希桶,然后将该哈希桶中的各个对象组成的集合作为候选集,之后可以从该候选集中选出X个与指定对象距离最近的对象并返回。
总之,在本申请实施例中,用组合minhash的方式在逻辑上构造了一个与对象t的一元表达U(t)={U(x1),U(x2),...,U(xn)}等价的长度为C×N的bitmap,与传统的扩展Jaccard距离的碰撞率是一致的。并且,由于二级minhash组件可以采用无放回采用的随机序列,这可以使得同一个属性xi的一元表达U(xi)的不同bit被映射到同一个函数值的概率为0。因此,本申请实施例中的层级minhash算法能得到与传统的基于扩展Jaccard距离的LSH一致甚至更优的结果。下面对此进行验证。
首先,传统的基于扩展Jaccard距离的LSH是显式的生成U(t),然后采用minhash函数的方式将U(t)中的每一位进行重排列,并取最小值。采用minhash方式进行重排列其实是将原始输入均匀分布在[1,C×N]的整数空间内。因此,两个不同的输入被映射到同一个函数值的概率为
而本申请实施例中,是首先将对象t中的每一个属性xi通过一级minhash,映射到[1,N]的整数空间中,在这个阶段,两个不同的属性xi,xj被映射到同一个函数值的概率为然后,将逻辑上U(xi)中的每一个非0bit通过二级minhash映射到[1,C]的整数空间中,在这个阶段,两个不同的U(xi)中的bit被映射到同一个函数值的概率为综上,两个不同的属性xi,xj的一元表达U(xi)中的不同bit被映射到同一个函数值的概率为
这也就证明了本申请实施例的方法与传统的基于扩展Jaccard距离的LSH的碰撞率是一致的。
但是,相对于传统的基于扩展Jaccard距离的LSH,本申请实施例的方法可以获得更高的运行效率。为了便于进行比对,下面首先将传统的基于扩展Jaccard距离的LSH以及本申请实施例的方法分别抽象为三个层次的循环,然后计算各自的时间复杂度。
首先,对于传统的基于扩展Jaccard距离的LSH,可以抽象为以下三层循环:
第一层循环:遍历每一个要求计算的minhash函数,该层循环需要遍历r×b次;
第二层循环:遍历bitmap中的每一位,该层循环需要遍历N×C次;
第三层循环:遍历每一个对象,该层循环需要遍历M次。
因此,传统的基于扩展Jaccard距离的LSH的时间复杂度为O(r×b×N×C×M)。由于可以忽略所有权重为0的元素,因此O(N×M)可以优化为O(D),其中D为数据集中,权重不为0的所有属性的总数。因此,优化的时间复杂度为O(r×b×C×D)。
而本申请实施例提供的方法可以抽象为以下三个层次的循环:
第一层循环:遍历每一个要求计算的组合minhash函数:该层循环需要遍历r×b次;
第二层循环:遍历每一个可能的属性值:x∈I;在该循环中,计算一级minhash组件,并计算所有可能的C个U(x)的二级minhash值,该层循环需要遍历(N+C)次;
第三层循环:遍历每一个包含属性x的对象,(k,w)∈vj;该层循环需要遍历M次。
因此本申请实施例的时间复杂度为O(r×b×(N+C)×M)。由于在现实应用中,C往往远小于N,因此,上述时间复杂度近似于O(r×b×N×M)。又由于可以忽略所有权重为0的元素,因此O(N×M)可以优化为O(D),其中D为数据集中,权重不为0的所有属性的总数。因此,优化的时间复杂度为O(r×b×D)。
可见,本申请实施例的时间复杂度相比较传统算法而言降低了C倍,相应的,相当于将运行效率提高了C倍。其中,由于允许的误差一般是0.01或者0.001,因此,C的数量级通常为百或千,也就是说,相当于传统的算法,能够将允许效率提高百倍甚至千倍。
需要说明的是,在实际应用中,本申请实施例提供的上述获取相似对象集合的方法可以有多种具体的应用。例如,在电子商务平台的商品聚类应用中,对象集合T就是所有商品的集合,M个商品就有M个对象,每个商品有N个属性,例如颜色、尺寸等,每个属性对于各个商品具有不同的权重值,因此,如果需要计算与任意给定商品ti的距离小于g的所有商品,就可以按照图1中的各个步骤,获取各个商品的组合minhash值,将得到的M行、K列的矩阵输入到LSH计算框架中,就可以得到多个哈希桶,每个哈希桶中包含一个或多个商品组成的相似商品集合。在查询与任意指定商品ti的距离小于g的所有商品时,就可以首先找到该指定商品ti所在的哈希桶,并从该哈希桶中找到与该指定商品ti的距离小于g的商品。
相应的,参见图2,本申请实施例还提供了一种提供相似商品信息的方法, 该方法可以包括:
S201:获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括电子商务应用中的商品;
分别针对各个对象以下操作:
S202:将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
S203:根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
S204:根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
S205:将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
S206:循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
S207:将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
以上步骤S201至S207与步骤S101至S107相同,各步骤中的实现细节也与前文所述相同,这里不再赘述。
S208:接收到查询与指定商品相似的其他商品的请求时,根据所述相似对象集合返回响应消息。
其中,请求的发起方可能是当前用于获取相似对象集合的平台之外的其他应用平台,或者也可能是用户等。
类似的,还可以在网页搜索的相似网页检测应用中,给定所有网页的集合的情况下,计算与任意给定网页ti的距离小于g的所有网页。其中,对象集合T就是所有网页组成的集合,有M个网页就有M个对象,每个网页有N个属性,主要可以由从各个网页中提取出的关键词等来表示,每个关键词在体现网页区分度方面具有不同的权重值。因此,如果需要计算与任意给定网页ti的距离小 于g的所有网页,就可以按照图1中的各个步骤,获取各个网页的组合minhash值,将得到的M行、K列的矩阵输入到LSH计算框架中,就可以得到多个哈希桶,每个哈希桶中包含一个或多个网页组成的相似网页集合。在查询与任意指定网页ti的距离小于g的所有网页时,就可以首先找到该指定网页ti所在的哈希桶,并从该哈希桶中找到与该指定网页ti的距离小于g的网页。
相应的,参见图3,本申请实施例还提供了一种提供相似网页信息的方法,该方法可以包括:
S301:获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括网页搜索应用中的网页;
分别针对各个对象以下操作:
S302:将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
S303:根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
S304:根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
S305:将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
S306:循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
S307:将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
以上步骤S301至S307与步骤S101至S107相同,各步骤中的实现细节也与前文所述相同,这里不再赘述。
S308:接收到查询与指定网页相似的其他网页的请求时,根据所述相似对象集合返回响应消息。
同样,请求的发起方可能是当前用于获取相似对象集合的平台之外的其他 应用平台,或者也可能是用户等。
另外,在关联推荐的应用中,给定所有用户的集合,计算与任意给定用户ti的距离小于g的所有用户。其中,对象集合T就是所有用户组成的集合,有M个用户就有M个对象,每个用户有N个属性,例如,年龄、性别、在系统中的操作行为记录等等,同样,每个属性在体现用户区分度方面具有不同的权重值。因此,如果需要计算与任意给定用户ti的距离小于g的所有用户,就可以按照图1中的各个步骤,获取各个用户的组合minhash值,将得到的M行、K列的矩阵输入到LSH计算框架中,就可以得到多个哈希桶,每个哈希桶中包含一个或多个用户组成的相似用户集合。在查询与任意指定用户ti的距离小于g的所有用户时,就可以首先找到该指定用户ti所在的哈希桶,并从该哈希桶中找到与该指定用户ti的距离小于g的用户。
相应的,参见图4,本申请实施例还提供了一种提供相似用户信息的方法,该方法可以包括:
S401:获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括关联推荐应用中的用户;
分别针对各个对象以下操作:
S402:将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
S403:根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
S404:根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
S405:将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
S406:循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
S407:将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
以上步骤S401至S407与步骤S101至S107相同,各步骤中的实现细节也与前文所述相同,这里不再赘述。
S408:接收到查询与指定用户相似的其他用户的请求时,根据所述相似对象集合返回响应消息。
同样,请求的发起方可能是当前用于获取相似对象集合的平台之外的其他应用平台,或者也可能是用户等。
当然,还可以有其他方面的应用,这里不再一一列举。
总之,在本申请实施例中,在基于扩展jaccard距离的LSH中,不需要再将对象的原始数据扩展到为长度为N×C的bitmap,而是通过两级minhash计算出具体对象的各个属性对应的组合minhash,并将其中最小的一个确定为对象的minhash值。这种方式与传统的基于扩展Jaccard距离的LSH的碰撞率是一致的,能得到与传统的基于扩展Jaccard距离的LSH一致甚至更优的结果,同时,运行效率却能达到传统的基于扩展Jaccard距离的LSH的C倍。
与本申请实施例提供的获取相似对象集合的方法相对应,本申请实施例还提供了一种获取相似对象集合的装置,参见图5,该装置可以包括:
输入文件获取单元501,用于获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;
一级minhash单元502,用于将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
二级minhash单元503,用于根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
组合minhash单元504,用于根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
Minhash确定单元505,用于将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行单元506,用于循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
输出单元507,用于将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合,以便在收到查询与指定对象相似的其他对象的请求后,根据所述相似对象集合返回响应消息。
在实际应用中,为了便于后续的计算,还可以包括一个倒排索引单元,也即将输入文件对应的M行、N列的矩阵进行转置,建立以属性值为Key的Hashmap。这样,给定任意的xi∈I,可以在O(1)时间复杂度内找到所有包含xi的对象,以及在各个对象中的权重。
其中,在同一个对象中,一个属性对应wi个二级minhash返回值,每个二级minhash返回值对应的输入分别为(xi,wq),其中,xi为属性,wq∈[1,wi],wi为该属性在当前对象中的权重值;
所述组合minhash单元204具体用于:
根据属性的一级minhash返回值以及该属性的各个二级minhash返回值中的最小值,计算出该属性的组合minhash值。
具体实现时,可以通过以下方式计算属性的组合minhash值:
其中,在第k次循环过程中,xi的一级minhash返回值;
在第k次循环过程中,xi的权重值为wi时,xi的wi个二级minhash返回值;
在第k次循环过程中,xi的组合minhash值。
为了进一步提高运行效率,该装置还可以包括:
预先计算单元,用于预先根据二级minhash函数计算出针对同一个属性,当wq取各种可能的值时,该属性分别对应的各个二级minhash返回值,并进行保存;
所述二级minhash单元203具体可以用于:
根据属性以及属性在对象中对应的权重值,通过查询预先保存的信息获得该属性在该权重值下各个二级minhash返回值中的最小值。
其中,在同一次计算各个对象的minhash值的过程中,计算一级minhash值的函数形式是一致的。相同的属性对应相同的二级minhash函数形式,不同的属性对应不同的二级minhash函数形式。在不同次的计算各个对象的minhash值的过程中,相同的属性对应不同的一级minhash函数形式以及二级minhash函数形式。
为了进一步提高minhash的效果,在二级minhash函数中,可以采用无放回采样的方式计算哈希值。
其中,为了在收到查询与指定对象相似的其他对象的请求后,根据所述相似对象集合返回响应消息,具体可以包括:
目标集合确定单元,用于在收到查询与指定对象相似的符合指定条件的其他对象的请求后,确定所述指定对象所在的目标相似对象集合;
候选集确定单元,用于从所述目标相似对象集合中取出所述指定对象之外的其他对象组成候选集;
返回单元,用于从所述候选集中选出与所述指定对象距离符合请求中指定条件的其他对象并返回。
总之,在本申请实施例提供的上述装置中,在基于扩展jaccard距离的LSH中,不需要再将对象的原始数据扩展到为长度为N×C的bitmap,而是通过两级minhash计算出具体对象的各个属性对应的组合minhash,并将其中最小的一个确定为对象的minhash值。这种方式与传统的基于扩展Jaccard距离的LSH的碰撞率是一致的,能得到与传统的基于扩展Jaccard距离的LSH一致甚至更优的结果,同时,运行效率却能达到传统的基于扩展Jaccard距离的LSH的C倍。
与本申请实施例提供的提供相似商品信息的方法相对应,本申请实施例还提供了一种提供相似商品信息的装置,参见图6,该装置可以包括:
输入文件获取单元601,用于获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应 的属性值;其中,M、N均为正整数;其中,所述对象包括电子商务应用中的商品;
一级minhash单元602,用于将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
二级minhash单元603,用于根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
组合minhash单元604,用于根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
Minhash确定单元605,用于将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行单元606,用于循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
输出单元607,用于将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
相似商品返回单元608,用于接收到查询与指定商品相似的其他商品的请求时,根据所述相似对象集合返回响应消息。
与本申请实施例提供的提供相似网页信息的方法相对应,本申请实施例还提供了一种提供相似网页信息的装置,参见图7,该装置可以包括:
输入文件获取单元701,用于获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括网页搜索应用中的网页;
一级minhash单元702,用于将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
二级minhash单元703,用于根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的 第二区间内,得到各个属性的二级minhash返回值;
组合minhash单元704,用于根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
Minhash确定单元705,用于将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行单元706,用于循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
输出单元707,用于将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
相似网页返回单元708,用于接收到查询与指定网页相似的其他网页的请求时,根据所述相似对象集合返回响应消息。
与本申请实施例提供的提供相似用户信息的方法相对应,本申请实施例还提供了一种提供相似用户信息的装置,参见图8,该装置可以包括:
输入文件获取单元801,用于获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括关联推荐应用中的用户;
一级minhash单元802,用于将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
二级minhash单元803,用于根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
组合minhash单元804,用于根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
Minhash确定单元805,用于将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行单元806,用于循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
输出单元807,用于将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
相似用户返回单元808,用于接收到查询与指定用户相似的其他用户的请求时,根据所述相似对象集合返回响应消息。
通过以上各种提供相似对象信息的装置,可以使得提供的相似对象信息的有效性及准确度得到提高。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的获取相似对象集合、提供相似对象信息的方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (15)
1.一种获取相似对象集合的方法,其特征在于,包括:
获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;
分别针对各个对象以下操作:
将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合,以便在收到查询与指定对象相似的其他对象的请求后,根据所述相似对象集合返回响应消息。
2.根据权利要求1所述的方法,其特征在于,在同一个对象中,一个属性对应wi个二级minhash返回值,每个二级minhash返回值对应的输入分别为(xi,wq),其中,xi为属性,wq∈[1,wi],wi为该属性在当前对象中的权重值;
所述根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性的组合minhash值,包括:
根据属性的一级minhash返回值以及该属性的各个二级minhash返回值中的最小值,计算出该属性的组合minhash值。
3.根据权利要求2所述的方法,其特征在于,通过以下方式计算属性的组合minhash值:
其中,在第k次循环过程中,xi的一级minhash返回值;
在第k次循环过程中,xi的权重值为wi时,xi的wi个二级minhash返回值;
在第k次循环过程中,xi的组合minhash值。
4.根据权利要求2所述的方法,其特征在于,还包括:
预先根据二级minhash函数计算出针对同一个属性,当wq取各种可能的值时,该属性分别对应的各个二级minhash返回值,并进行保存;
所述根据各个属性、属性在对象中对应的权重值以及预先建立的二级minhash函数,将对象的各个属性的序号映射到预置的第二区间内,得到各个属性的二级minhash返回值,包括:
根据属性以及属性在对象中对应的权重值,通过查询预先保存的信息获得该属性在该权重值下各个二级minhash返回值中的最小值。
5.根据权利要求1所述的方法,其特征在于,在同一次计算各个对象的minhash值的过程中,计算一级minhash值的函数形式是一致的,相同的属性对应相同的二级minhash函数形式,不同的属性对应不同的二级minhash函数形式。
6.根据权利要求1所述的方法,其特征在于,在不同次的计算各个对象的minhash值的过程中,相同的属性对应不同的一级minhash函数形式以及二级minhash函数形式。
7.根据权利要求1所述的方法,其特征在于,在二级minhash函数中,采用无放回采样的方式计算哈希值。
8.根据权利要求1所述的方法,其特征在于,所述在收到查询与指定对象相似的其他对象的请求后,根据所述相似对象集合返回响应消息,包括:
在收到查询与指定对象相似的符合指定条件的其他对象的请求后,确定所述指定对象所在的目标相似对象集合;
从所述目标相似对象集合中取出所述指定对象之外的其他对象组成候选集;
从所述候选集中选出与所述指定对象距离符合请求中指定条件的其他对象并返回。
9.一种提供相似商品信息的方法,其特征在于,包括:
获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括电子商务应用中的商品;
分别针对各个对象以下操作:
将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
接收到查询与指定商品相似的其他商品的请求时,根据所述相似对象集合返回响应消息。
10.一种提供相似网页信息的方法,其特征在于,包括:
获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括网页搜索应用中的网页;
分别针对各个对象以下操作:
将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
接收到查询与指定网页相似的其他网页的请求时,根据所述相似对象集合返回响应消息。
11.一种提供相似用户信息的方法,其特征在于,包括:
获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括关联推荐应用中的用户;
分别针对各个对象以下操作:
将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
接收到查询与指定用户相似的其他用户的请求时,根据所述相似对象集合返回响应消息。
12.一种获取相似对象集合的装置,其特征在于,包括:
输入文件获取单元,用于获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;
一级minhash单元,用于将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
二级minhash单元,用于根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
组合minhash单元,用于根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
Minhash确定单元,用于将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行单元,用于循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
输出单元,用于将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合,以便在收到查询与指定对象相似的其他对象的请求后,根据所述相似对象集合返回响应消息。
13.一种提供相似商品信息的装置,其特征在于,包括:
输入文件获取单元,用于获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括电子商务应用中的商品;
一级minhash单元,用于将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
二级minhash单元,用于根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
组合minhash单元,用于根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
Minhash确定单元,用于将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行单元,用于循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
输出单元,用于将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
相似商品返回单元,用于接收到查询与指定商品相似的其他商品的请求时,根据所述相似对象集合返回响应消息。
14.一种提供相似网页信息的装置,其特征在于,包括:
输入文件获取单元,用于获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括网页搜索应用中的网页;
一级minhash单元,用于将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
二级minhash单元,用于根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
组合minhash单元,用于根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
Minhash确定单元,用于将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行单元,用于循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
输出单元,用于将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
相似网页返回单元,用于接收到查询与指定网页相似的其他网页的请求时,根据所述相似对象集合返回响应消息。
15.一种提供相似用户信息的装置,其特征在于,包括:
输入文件获取单元,用于获取输入文件,所述输入文件中包括M个对象,对象的属性全集中存在N个属性,每个属性在各个对象中分别具有对应的属性值;其中,M、N均为正整数;其中,所述对象包括关联推荐应用中的用户;
一级minhash单元,用于将各个属性输入到预先建立的一级最小哈希minhash函数中,以便将各个属性映射到预置的第一区间内,得到各个属性的一级minhash返回值;
二级minhash单元,用于根据各个属性、属性在当前对象中对应的权重值以及预先建立的二级minhash函数,将当前对象的各个属性映射到预置的第二区间内,得到各个属性的二级minhash返回值;
组合minhash单元,用于根据所述一级minhash返回值以及二级minhash返回值,计算出各个属性分别在各个对象中的组合minhash值;
Minhash确定单元,用于将同一对象的各个属性对应的组合minhash值的最小值,确定为该对象的minhash值;
循环执行单元,用于循环执行K次上述对各个对象的操作,以便针对每个对象分别得到K个minhash值;K为正整数;
输出单元,用于将各个对象的K个minhash值输入到LSH计算框架中获取一个或多个相似对象集合;
相似用户返回单元,用于接收到查询与指定用户相似的其他用户的请求时,根据所述相似对象集合返回响应消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310381991.8A CN104424254B (zh) | 2013-08-28 | 2013-08-28 | 获取相似对象集合、提供相似对象信息的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310381991.8A CN104424254B (zh) | 2013-08-28 | 2013-08-28 | 获取相似对象集合、提供相似对象信息的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104424254A true CN104424254A (zh) | 2015-03-18 |
CN104424254B CN104424254B (zh) | 2018-05-22 |
Family
ID=52973240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310381991.8A Active CN104424254B (zh) | 2013-08-28 | 2013-08-28 | 获取相似对象集合、提供相似对象信息的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104424254B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156154A (zh) * | 2015-04-14 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 相似文本的检索方法及其装置 |
CN106407207A (zh) * | 2015-07-29 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种实时新增数据更新方法和装置 |
CN106599227A (zh) * | 2016-12-19 | 2017-04-26 | 北京天广汇通科技有限公司 | 用于获取基于属性值的对象之间的相似度的方法与装置 |
CN107168975A (zh) * | 2016-03-08 | 2017-09-15 | 阿里巴巴集团控股有限公司 | 一种对象匹配方法及装置 |
CN107885705A (zh) * | 2017-10-09 | 2018-04-06 | 中国科学院信息工程研究所 | 一种高效可扩展的安全的文档相似性计算方法和装置 |
CN108280208A (zh) * | 2018-01-30 | 2018-07-13 | 深圳市茁壮网络股份有限公司 | 一种样本查找方法及装置 |
CN109934629A (zh) * | 2019-03-12 | 2019-06-25 | 重庆金窝窝网络科技有限公司 | 一种信息推送方法及装置 |
CN110019531A (zh) * | 2017-12-29 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种获取相似对象集合的方法和装置 |
CN111027994A (zh) * | 2018-10-09 | 2020-04-17 | 百度在线网络技术(北京)有限公司 | 相似对象确定方法、装置、设备和介质 |
CN111898462A (zh) * | 2020-07-08 | 2020-11-06 | 浙江大华技术股份有限公司 | 对象属性的处理方法、装置、存储介质以及电子装置 |
CN112700296A (zh) * | 2019-10-23 | 2021-04-23 | 阿里巴巴集团控股有限公司 | 业务对象搜索/属性确定方法、装置、系统及设备 |
CN113743304A (zh) * | 2021-09-06 | 2021-12-03 | 北京神星科技有限公司 | 一种用于视频监控的运动目标检测和识别方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102646097A (zh) * | 2011-02-18 | 2012-08-22 | 腾讯科技(深圳)有限公司 | 一种聚类方法及装置 |
US8447032B1 (en) * | 2007-08-22 | 2013-05-21 | Google Inc. | Generation of min-hash signatures |
-
2013
- 2013-08-28 CN CN201310381991.8A patent/CN104424254B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8447032B1 (en) * | 2007-08-22 | 2013-05-21 | Google Inc. | Generation of min-hash signatures |
CN102646097A (zh) * | 2011-02-18 | 2012-08-22 | 腾讯科技(深圳)有限公司 | 一种聚类方法及装置 |
Non-Patent Citations (1)
Title |
---|
袁培森: ""基于LSH的Web数据相似性查询研究"", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156154A (zh) * | 2015-04-14 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 相似文本的检索方法及其装置 |
CN106407207A (zh) * | 2015-07-29 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种实时新增数据更新方法和装置 |
CN106407207B (zh) * | 2015-07-29 | 2020-06-16 | 阿里巴巴集团控股有限公司 | 一种实时新增数据更新方法和装置 |
CN107168975B (zh) * | 2016-03-08 | 2020-11-27 | 创新先进技术有限公司 | 一种对象匹配方法及装置 |
CN107168975A (zh) * | 2016-03-08 | 2017-09-15 | 阿里巴巴集团控股有限公司 | 一种对象匹配方法及装置 |
CN106599227B (zh) * | 2016-12-19 | 2020-04-17 | 北京天广汇通科技有限公司 | 用于获取基于属性值的对象之间的相似度的方法与装置 |
CN106599227A (zh) * | 2016-12-19 | 2017-04-26 | 北京天广汇通科技有限公司 | 用于获取基于属性值的对象之间的相似度的方法与装置 |
CN107885705A (zh) * | 2017-10-09 | 2018-04-06 | 中国科学院信息工程研究所 | 一种高效可扩展的安全的文档相似性计算方法和装置 |
CN107885705B (zh) * | 2017-10-09 | 2020-12-15 | 中国科学院信息工程研究所 | 一种高效可扩展的安全的文档相似性计算方法和装置 |
CN110019531B (zh) * | 2017-12-29 | 2021-11-02 | 北京京东尚科信息技术有限公司 | 一种获取相似对象集合的方法和装置 |
CN110019531A (zh) * | 2017-12-29 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种获取相似对象集合的方法和装置 |
CN108280208A (zh) * | 2018-01-30 | 2018-07-13 | 深圳市茁壮网络股份有限公司 | 一种样本查找方法及装置 |
CN108280208B (zh) * | 2018-01-30 | 2022-05-13 | 深圳市茁壮网络股份有限公司 | 一种样本查找方法及装置 |
CN111027994A (zh) * | 2018-10-09 | 2020-04-17 | 百度在线网络技术(北京)有限公司 | 相似对象确定方法、装置、设备和介质 |
CN109934629A (zh) * | 2019-03-12 | 2019-06-25 | 重庆金窝窝网络科技有限公司 | 一种信息推送方法及装置 |
CN112700296A (zh) * | 2019-10-23 | 2021-04-23 | 阿里巴巴集团控股有限公司 | 业务对象搜索/属性确定方法、装置、系统及设备 |
CN111898462A (zh) * | 2020-07-08 | 2020-11-06 | 浙江大华技术股份有限公司 | 对象属性的处理方法、装置、存储介质以及电子装置 |
CN111898462B (zh) * | 2020-07-08 | 2023-04-07 | 浙江大华技术股份有限公司 | 对象属性的处理方法、装置、存储介质以及电子装置 |
CN113743304A (zh) * | 2021-09-06 | 2021-12-03 | 北京神星科技有限公司 | 一种用于视频监控的运动目标检测和识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104424254B (zh) | 2018-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104424254B (zh) | 获取相似对象集合、提供相似对象信息的方法及装置 | |
Ahmadian et al. | Clustering without over-representation | |
Wu et al. | Finch: Evaluating reverse k-nearest-neighbor queries on location data | |
Fujiwara et al. | Efficient search algorithm for SimRank | |
CN108710662B (zh) | 语言转换方法和装置、存储介质、数据查询系统和方法 | |
US20150310644A1 (en) | Efficient representations of graphs with multiple edge types | |
Azimov et al. | Context-free path querying by matrix multiplication | |
US20140236960A1 (en) | System and Method for Database Searching | |
US11288318B2 (en) | Obtaining dynamic embedding vectors of nodes in relationship graphs | |
EP3929763B1 (en) | Database access methods and apparatuses | |
Cormode et al. | L p samplers and their applications: A survey | |
CN112883030A (zh) | 数据收集方法、装置、计算机设备和存储介质 | |
Drakopoulos et al. | Higher order graph centrality measures for Neo4j | |
KR101116663B1 (ko) | 고차원 데이터의 유사도 검색을 위한 데이터 분할방법 | |
Zhou et al. | Summarisation of weighted networks | |
Diao et al. | Efficient exploration of interesting aggregates in RDF graphs | |
Romero et al. | Bolt: Fast inference for random forests | |
CN113918807A (zh) | 数据推荐方法、装置、计算设备及计算机可读存储介质 | |
CN116383412B (zh) | 基于知识图谱的功能点扩增方法和系统 | |
CN110210691B (zh) | 资源推荐方法、装置、存储介质及设备 | |
US9830355B2 (en) | Computer-implemented method of performing a search using signatures | |
Bueno et al. | Genetic algorithms for approximate similarity queries | |
CN107944045A (zh) | 基于t分布哈希的图像检索方法及系统 | |
Sharma et al. | A probabilistic approach to apriori algorithm | |
CN108984615B (zh) | 一种数据查询方法和系统、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |