【技术实现步骤摘要】
基于分层联合图索引的房屋租赁多度量空间搜索方法
[0001]本专利技术属于多度量空间图索引近似最近邻搜索领域,尤其涉及基于分层联合图索引的房屋租赁多度量空间搜索方法。
技术介绍
[0002]物联网和5G网络的快速发展,使得数据的种类和数量一直在不断增长。为了能够从海量和多样化的数据中创造价值,度量空间越来越受到人们的关注,因为其能够容纳任何数据类型并且支持灵活的距离度量。k
‑
近邻(kNN)搜索作为度量空间中的一种数据分析技术,在现实生活中有着广泛的应用,包括多媒体检索、数据挖掘、模式识别和推荐系统等。同时,由于存在维数灾难,精确算法难以高效地找到多度量空间查询结果。故,本专利技术转向研究近似解,而图方法具有更好的经验搜索性能。因此,设计一种基于图索引的多度量空间近似最近邻搜索方法已经成为学术界和工业界的迫切需要。例如在房屋租赁中,描述一个租赁房屋可能需要多种不同类型的数据指标,如价格、户型、地理位置和评论等。而不同用户对不同房源的评判标准也可能是多种多样的。例如,有些用户可能更关注房屋的价格和评论好坏,而有些用户可能更关注房屋的户型和地理位置,还有些用户可能需要对房屋的价格、户型、地理位置和评论进行综合考虑,但对不同指标有着不同的考量权重。
[0003]在实现本专利技术的过程中,专利技术人发现现有技术中至少存在如下问题:
[0004]在现有房屋租赁的搜索方法中,其无法对房屋的价格、户型、地理位置和评论等不同指标数据同时建模并展开融合查询,导致其无法满足用户对房屋租赁的不同个性化需求 ...
【技术保护点】
【技术特征摘要】
1.一种基于分层联合图索引的房屋租赁多度量空间搜索方法,其特征在于,包括:获取新房屋对象,找到每个度量空间中所述新房屋对象的k个最近邻房屋对象,在各度量空间下,在新房屋对象与其k个最近邻房屋对象中添加无向边,采用基于树的拆分和层次更新策略,动态调整图结构,改善节点分布,从而构建分层联合图索引,其中所述度量空间包括价格度量空间、户型度量空间、地理位置度量空间和评论度量空间;基于最佳优先搜索策略的剪枝技术,利用所述分层联合图索引进行多度量空间近似最近邻搜索,得到给定查询房屋对象的近似k
‑
近邻房屋对象。2.根据权利要求1所述的方法,其特征在于,获取新房屋对象,找到每个度量空间中所述新房屋对象的k个最近邻对象,在各度量空间下,在新房屋对象与其k个最近邻对象中添加无向边,采用基于树的拆分和层次更新策略,动态调整图结构,改善节点分布,从而构建分层联合图索引,包括:S21:获取新房屋对象、当前图、k
‑
近邻参数和最大数量参数;S22:将所述新房屋对象的层级初始化为0,将更新列表初始化为空集;S23:任意选择一个未被访问的度量空间作为当前度量空间进行访问,将所述当前度量空间的权重设为1,其余度量空间的权重设为0;S24:根据由当前所有度量空间的权重构成的当前权重向量和所述k
‑
近邻参数,找到新房屋对象在所述当前度量空间下的k个最近邻房屋对象,并利用这k个最近邻房屋对象初始化当前度量空间下的结果集;S25:任意选择所述当前度量空间的结果集中一个未被访问到的结果对象作为当前结果对象,在所述当前度量空间下添加所述当前结果对象和所述新房屋对象之间的无向边,并更新相应的同层节点数量和下层节点数量;S26:如果所述当前结果对象的同层节点数量数或下层节点数量大于所述最大数量参数,且所述当前结果对象不在所述更新列表中,则将所述当前结果对象加入到更新列表中;S27:重复步骤S25
‑
S26,直至当前度量空间结果集中的所有结果对象都被访问完毕;S28:重复步骤S23
‑
S27,直至所有度量空间均被访问完毕;S29:按照房屋对象所在层级的升序顺序,遍历访问所述更新列表中的每个房屋对象,并依据基于树的拆分和层次更新策略依次更新房屋对象,从而构建分层联合图索引。3.根据权利要求2所述的方法,其特征在于,按照房屋对象所在层级的升序顺序,遍历访问所述更新列表中的每个房屋对象,并依据基于树的拆分和层次更新策略依次更新房屋对象,从而构建分层联合图索引,包括:S31:按照房屋对象所在层级的升序顺序,获取所述更新列表中层级最低的待更新房屋对象;S32:如果所述待更新房屋对象的同层节点数量和下层节点数量均小于等于所述最大数量参数,则不进行更新;如果所述待更新房屋对象的下层节点数量大于最大数量参数,则执行步骤S33
‑
S36,否则转至步骤S37;S33:将更新列表初始化为空集;S34:任意选择一个未被访问的度量空间进行访问,在当前所访问的度量空间下,根据多度量距离找到距离所述待更新房屋对象最近的房屋对象和最远的房屋对象,如果所述最近的房屋对象或最远的房屋对象不在所述更新列表中,则将其加入到所述更新列表中;
S35:重复步骤S34,直至所有度量空间均被访问完毕;S36:依次遍历访问所述更新列表中的所有房屋对象,将所述更新列表中每个房屋对象的层级数均加一,并更新每个房屋对象所相关联的边的层级;S37:将所述待更新房屋对象的层级数加一,将所述更新列表初始化为空集;S38:依次遍历访问所述待更新房屋对象的每个邻居房屋对象,如果存在邻居房屋对象的同层节点数量或下层节点数量大于所述最大数量参数且该邻居房屋对象不在所述更新列表中,则将该邻居房屋对象加入到所述更新列表中;S39:按照房屋对象所在层级的升序顺序,遍历访问所述更新列表中的每个房屋对象作为待更新房屋对象,重复上述步骤S32
‑
S38;S310:依次遍历访问所述更新列表中每个更新房屋对象的每个邻居房屋对象,如果存在某个房屋邻居对象,其层级大于等于更新房屋对象的层级,则结束整个流程;S311:判断更新房屋对象是否能在图中被路由对象路由到,如果不能,则将更新房屋对象添加到路由列表中,得到更新调整后的分层联合图索引。4.根据权利要求1所述方法,其特征在于,利用所述分层联合图索引进行多度量空间近似最近邻搜索的过程中按照自顶层向下层的顺序进行搜索,其中每一层中按照宽度优先的遍历顺序对对象进行遍历,并应用基于最佳优先搜索策略的剪枝技术进行剪枝。5.根据权利要求1所述方法,其特征在于,按照自顶层向下层的顺序进行搜索,包括:S51:获取查询房屋对象、查询权重向量、查询的最近邻房屋个数和路...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。