1.一种相似性连接查询方法,其特征在于,包括:
获取待查询的原始向量集合、结果向量数量和初始结果向量对集合;其中,所述原始向量集合为进行相似性连接查询的数据集合,所述初始结果向量对集合为相似性连接查询结果的初始数据集合,所述结果向量数量表示相似性连接查询结果的向量对个数;
对所述原始向量集合进行分组处理,得到多个子向量分组集合;
根据所述结果向量数量和多个子向量分组集合构建所述原始向量集合的相似度分布直方图;
根据所述相似度分布直方图和所述结果向量数量,计算向量距离阈值;
根据多个所述子向量分组集合、所述向量距离阈值和所述结果向量数量更新所述初始结果向量对集合,得到用于表示相似性连接查询结果的结果向量对集合。
2.根据权利要求1所述的相似性连接查询方法,其特征在于,根据所述结果向量数量和多个子向量分组集合构建所述原始向量集合的相似度分布直方图,包括;
根据预设区间划分规则和所述原始向量集合,获取多个距离向量区间;
根据多个所述子向量集合计算每个所述距离向量区间对应的总体相似结果估计值;
根据每个所述距离向量区间对应的总体相似结果估计值构建所述原始向量集合的相似度分布直方图。
3.根据权利要求2所述的相似性连接查询方法,其特征在于,所述根据预设区间划分规则和所述原始向量集合,获取多个距离向量区间,包括:将所述原始向量集合中的原始向量进行配对组合处理,得到多个原始向量对;
计算每个原始向量对中两个原始向量之间的向量距离,得到向量距离集合;
在所述向量距离集合中选择出最大的向量距离作为待划分区间的区间上限值;
根据所述区间上限值、预设区间下限值和预设区间划分规则,将所述待划分区间划分为多个子区间,多个所述子区间为多个距离向量区间。
4.根据权利要求2所述的相似性连接查询方法,其特征在于,所述根据多个所述子向量集合计算每个所述距离向量区间对应的总体相似结果估计值,包括:对每个所述子向量集合进行抽样处理,得到与每个所述子向量集合对应的抽样向量集合;
确定每个所述距离向量区间对应的至少一个子向量集合;
根据每个所述距离向量区间对应的至少一个子向量集合计算与每个所述距离向量区间对应的分组内结果数量估计值和分组间结果数量估计值;
根据与每个所述距离向量区间对应的分组内结果数量估计值和与每个所述距离向量区间对应的分组间结果数量估计值,计算与每个所述距离向量区间对应的总体相似结果数量估计值;其中,所述总体相似结果数量估计值为所述距离向量区间对应的所述至少一个子向量集合的总体相似结果数量估计值。
5.根据权利要求1所述的相似性连接查询方法,其特征在于,对所述原始向量集合进行分组处理,得到多个子向量分组集合,包括:获取所述原始向量集合的原始向量维度;
根据所述原始向量维度和预设降维后维度对所述原始向量集合进行降维处理,得到降维向量集合;
对所述降维向量集合进行符号化处理,得到字符串集合;
根据所述字符串集合对所述原始向量集合进行分组处理,得到多个子向量集合;其中,所述字符串集合中的一个字符串对应一个子向量集合。
6.根据权利要求5所述的相似性连接查询方法,其特征在于,所述根据多个所述子向量分组集合、所述向量距离阈值和所述结果向量数量更新所述初始结果向量对集合,得到用于表示相似性连接查询结果的结果向量对集合,包括:判断所述初始结果向量对集合中的向量对个数是否小于所述结果向量数量;
如果所述初始结果向量对集合中的向量对个数不小于所述结果向量数量,则根据所述字符串集合和多个所述子向量集合对所述初始结果向量对集合进行更新处理,直至更新后的初始结果向量对集合中的向量对个数不小于所述结果向量数量为止,得到最终更新的初始结果向量对集合;
从所述最终更新的初始结果向量对集合中提取所述结果向量数量的向量对,组合得到用于表示相似性连接查询结果的结果向量对集合。
7.根据权利要求6所述的相似性连接查询方法,其特征在于,根据所述字符串集合和多个所述子向量集合对所述初始结果向量对集合进行更新处理,直至更新后的初始结果向量对集合中的向量对个数不小于所述结果向量数量为止,得到最终更新的初始结果向量对集合,包括:步骤1、根据所述字符串集合确定符合当前的字符串条件的多个字符串对,得到候选字符串对集合,并根据多个所述子向量集合确定所述候选字符串对集合中每对字符串对对应的子向量集合对;
步骤2、根据所述每对字符串对对应的子向量集合对确定出符合当前的相似向量对条件的至少一个向量对;
步骤3、根据所述至少一个向量对对所述初始结果向量对集合进行更新处理,得到更新的初始结果向量对集合,以及根据所述更新的初始结果向量对集合分别对所述字符串条件和所述相似向量对条件进行更新处理,得到更新的字符串条件和更新的相似向量对条件;
步骤4、重复执行所述步骤1~所述步骤3,直至更新的初始结果向量对集合中的向量对个数不小于所述结果向量数量为止,并将最后一次执行步骤3所得到的更新的初始结果向量对集合作为最终更新的初始结果向量对集合。
8.根据权利要求2所述的相似性连接查询方法,其特征在于,根据所述相似度分布直方图和所述结果向量数量,计算向量距离阈值,包括:从多个所述距离向量区间中确定所述结果向量数量对应的向量区间,作为结果向量区间;
确定所述结果向量区间对应的直线方程,并根据所述直线方程,计算向量距离阈值。
9.根据权利要求8所述的相似性连接查询方法,其特征在于,所述直线方程为:其中,x0,x1,x2,…,xi-1,xi,…,xm为各个所述距离向量区间的区间边界,k为所述结果向量数量,xk为所述向量距离阈值,(xi-1,xi)为所述结果向量区间,(yi-1,yi)为所述结果向量区间对应的相似结果数量区间;
其中,k∈(yi-1,yi)。
10.一种相似性连接查询装置,其特征在于,包括:
第一获取模块,用于获取待查询的原始向量集合、结果向量数量和初始结果向量对集合;其中,所述原始向量集合为进行相似性连接查询的数据集合,所述初始结果向量对集合为相似性连接查询结果的初始数据集合,所述结果向量数量表示相似性连接查询结果的向量对个数;
分组模块,用于对所述原始向量集合进行分组处理,得到多个子向量分组集合;
构建模块,用于根据所述结果向量数量和多个子向量分组集合构建所述原始向量集合的相似度分布直方图;
计算模块,用于根据所述相似度分布直方图和所述结果向量数量,计算向量距离阈值;
第二获取模块,用于根据多个所述子向量分组集合、所述向量距离阈值和所述结果向量数量更新所述初始结果向量对集合,得到用于表示相似性连接查询结果的结果向量对集合。