一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

空间数据语义查询方法及装置与流程

2022-05-18 05:38:44 来源:中国专利 TAG:


1.本发明涉及深度学习技术领域,具体涉及一种空间数据语义查询方法及装置。


背景技术:

2.随着基于位置的服务的发展,相对的查询空间数据的需求也日益增多(即查询带有空间位置坐标的数据)。空间数据包含两个部分,空间位置坐标和相关文本数据(如空间对象的名称、关键词等)。根据用户的查询文本信息,向用户提供语义搜索功能,返回与用户查询文本信息语义相近的结果,方便用户可以查询一定空间范围内和查询的文本条件语义上近似的结果,如用户在某地查询附近5公里内的“移动”,通过空间语义查询可以返回给用户5公里内的如“xx移动公司”、“xx电信公司”等,还可以返回给用户在字面上与“移动”无直接关系,但语义层面存在相关性的结果,如“咪咕”等。
3.现有空间数据语义查询主要采用以下方式:
4.(1)空间语义双重索引
5.根据空间数据的空间位置信息建立空间数据索引,在对每个空间索引的数据建立语义索引,用户在查询时,先通过空间索引过滤掉空间位置不符的数据,再查询语义索引,得到语义上相近的空间数据;或者,采用类似倒排索引,先建立空间数据的语义索引,将语义相近的数据存储在一起,然后分别记录每个数据的空间位置坐标,用户在查询时先查询语义上相近的数据再根据空间位置过滤出符合查询条件的数据,得到最终结果。使用双重索引结构无法避免的会产生索引的不平衡,使得有些空间区域包含的数据多,有些空间数据包含的数据少。当查询请求一直集中在数据较多的空间区域会破坏查询系统的负载均衡、增加查询时间从而降低查询效率。当大量语义上相近的数据存储在一起,若这些数据在空间分布上距离很远,也会增加空间过滤的规模,从而降低系统的查询效率。
6.(2)空间语义融合索引
7.借助深度学习模型将数据的空间位置信息和语义信息融合在一起生成一个空间语义向量,再将向量建成索引。用户查询时将查询的空间条件和文本条件转换为空间语义向量后再去查询索引,通过向量间的欧式距离来判别数据是否符合查询条件,最终返回欧式距离近的数据给用户。但这种方式存在查询结果不准确的问题,当前的深度学习模型并不能较好的融合空间位置信息和文本信息,所计算出的空间语义向量可能会产生误差,返回不相关的数据。此外,使用这种方式需要不断更新深度学习模型,不断重构语义索引,实时性较差。


技术实现要素:

8.鉴于上述问题,提出了本发明以便提供一种克服检索时查询效率低、查询请求破坏负载均衡等问题的空间数据语义查询方法及装置。
9.根据本发明的一个方面,提供了一种空间数据语义查询方法,其包括:
10.接收用户输入的查询文本信息,并对查询文本信息进行转化,得到查询词热度-空
间分布特征向量以及查询词空间区域列表;
11.根据查询空间区域列表确定数据库中的第一索引数据,并基于查询词热度-空间分布特征向量与第一索引数据的语义特征向量间距离,确定数据库中与第一索引数据对应的第一空间数据的存储位置;
12.根据第一空间数据的存储位置查询数据库对应的节点,得到并返回包含第一目标空间数据的查询结果。
13.根据本发明的另一方面,提供了一种空间数据语义查询装置,其包括:
14.接收模块,适于接收用户输入的查询文本信息,并对查询文本信息进行转化,得到查询词热度-空间分布特征向量以及查询词空间区域列表;
15.位置确定模块,适于根据查询空间区域列表确定数据库中的第一索引数据,并基于查询词热度-空间分布特征向量与第一索引数据的语义特征向量间距离,确定数据库中与第一索引数据对应的第一空间数据的存储位置;
16.第一查询模块,适于根据第一空间数据的存储位置查询数据库对应的节点,得到并返回包含第一目标空间数据的查询结果。
17.根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
18.所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述空间数据语义查询方法对应的操作。
19.根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述空间数据语义查询方法对应的操作。
20.根据本发明的空间数据语义查询方法及装置,同时实现了空间数据在空间-热度两个维度和空间-语义两个维度的负载均衡,避免了空间、语义、热度任何一个方面出现查询热点,极大地提升了查询效率。
21.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
22.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
23.图1示出了根据本发明一个实施例的空间数据语义查询方法的流程图;
24.图2示出了待训练的网络模型示意图;
25.图3a示出了将待存储的空间数据存储至数据库的流程图;
26.图3b示出了四叉树划分空间区域示意图;
27.图4示出了数据库存储数据示意图;
28.图5示出了根据本发明一个实施例的空间数据语义查询装置的功能框图;
29.图6示出了根据本发明一个实施例的一种电子设备的结构示意图。
具体实施方式
30.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
31.图1示出了根据本发明一个实施例的空间数据语义查询方法的流程图。
32.如图1所示,空间数据语义查询方法具体包括如下步骤:
33.步骤s101,接收用户输入的查询文本信息,并对查询文本信息进行转化,得到查询词热度-空间分布特征向量以及查询词空间区域列表。
34.当用户发出一个空间语义查询请求时,接收用户输入的查询文本信息。对查询文本信息进行转化,方便后续的查询。转化时,基于查询文本信息中所包含的语义,用户当前的位置信息(用户授权许可的情况下获取),从而实现从空间、语义、热度(根据查询文本信息中各词语热度)等三方面来进行转化。
35.可以基于神经网络模型对查询文本信息进行转化,具体的,本实施例基于生成模型,如vae(variational auto-encoder,变分自编码器)模型进行改进,对改进后的预设vae模型来进行训练。此处模型还可以采用任一自编码模型,此处不做限定。以下以vae模型为例进行说明,训练过程包括:收集空间样本数据,对空间样本数据进行预处理,构建空间样本集。空间样本集包括空间位置信息、范围信息、关键词列表以及访问热度信息。对空间样本数据的预处理是将空间样本数据的空间位置和访问热度转换为one-hot向量,并使用如bert模型将空间样本数据中的文本转换为初始的语义向量,如空间样本数据为《(121.456,36.789),5000,《“移动”,“南京”》,15679》。第一个元素是空间位置信息,即经纬度,第二个元素为范围信息,如5000米以内,第三个元素为分词处理后的关键词列表,第四个元素为访问热度信息。经过预处理将这四个元素转换为《s,r,v,h》四个向量组,作为预设vae模型的输入以及输出。预设vae模型采用自动编解码器的结构,如图2所示,包括编码器、与编码器连接的热度-空间分布层和语义-空间分布层、注意力层以及解码层。编码器由二维卷积堆叠而成,每两层有一个池化层,用于提取向量组的信息,进行初步的编码。热度-空间分布层用于提取空间数据的热度与空间位置的关联关系即概率分布,其由前馈网络堆叠而成。利用热度-空间分布层可以提取热度-空间分布特征向量,得到不同文本的热度-空间分布特征向量,通过计算不同特征向量之间的余弦距离可以判断两个特征向量所表示的空间数据在空间上是否接近,且在访问热度上是否也接近,从而可以在存储时将高访问热度且空间位置相近的空间数据聚集存储,减少不必要的数据访问,提升查询效率等。语义-空间分布层也是由前馈网络堆叠而成,用于提取语义-空间分布特征向量。通过计算语义-空间分布特征向量之间的欧式距离将语义相似且空间位置相邻的空间数据聚集存储,提升查询效率。注意力层用于将热度-空间分布层和语义-空间分布层生成的特征向量合并同时提取重点特征,生成融合空间、语义、热度的特征向量,通过该向量可以初步地计算空间数据之间的相似度。解码器也是由卷积和池化层堆叠而成,其作用就是将注意力层生成的向量还原成初始所得到的四个向量即《s’,r’,v’,h’》。在训练过程中,将空间样本集输入至预设vae模型后,计算向量组《s’,r’,v’,h’》相较于向量组《s,r,v,h》的损失,如利用均方差函数分别计算每个向量的损失,最后取平均值作为总的损失,再根据损失进行反向传播调整各个
层的参数,以此不断迭代,直至模型收敛,训练完成。
36.其中,热度-空间分布层与编码器组成热度-空间分布特征网络,用于提取热度-空间分布特征向量;语义-空间分布层与编码器组成语义-空间分布特征网络,用于提取语义-空间分布特征向量;热度-空间分布特征网络、语义-空间分布特征网络与注意力层组成融合特征网络,用于融合空间、语义、热度特征向量。
37.进一步,本实施例还可以利用守护进程定期进行vae模型的更新训练。当vae模型训练完成后,还可以继续接收如空间样本数据,如输入:
38.《(121.559,36.889),5000,《“移动”,“杭州”》》
39.与训练过程不同的是,守护进程的空间样本数据不需要输入访问热度信息,vae模型已经学习到访问热度信息与空间位置的关系,使用热度-空间分布特征网络和融合特征网络输出的特征都已包含了对输入的空间数据的访问热度预测,语义-空间分布特征网络输出的特征向量也不需要包含热度信息。进一步,模型也可以选择除vae模型外的其他模型,此处不做限定。
40.基于以上训练得到的热度-空间分布特征网络、语义-空间分布特征网络、融合特征网络可以既学习到热度-空间、语义-空间的特征表示方法,又能建立空间、语义、热度这三者之间的关联性,从而保证特征向量在计算相似度时的准确性,提升模型的准确度,提升查询时的准确度。现有技术的空间数据语义查询未考虑数据的热度,没有对热点数据做出相应的优化处理,导致用户不能及时获取热点数据,极大降低了查询的反应效率,影响了用户的使用体验。本实施例融合空间位置、语义、热度的特征向量,提供给用户热度高的数据,更能满足用户的需求。
41.对于用户输入的查询文本信息,如包含查询空间范围、查询关键词,以及用户许可获取的用户当前的位置信息(空间坐标),或者指定查询空间坐标,利用训练得到的热度-空间分布特征网络对查询文本信息中如查询关键词进行转化,以得到对应的查询词热度-空间分布特征向量。同时,将空间坐标和空间范围构建出查询区域的最小包围矩形,结合四叉树计算,得到与查询空间位置范围相交的查询词空间区域列表。四叉树可以采用如cif-四叉树特性,计算出与查询空间位置范围相交的cif-四叉树节点如《q1,q2,

,qn》等,将到的查询词热度-空间分布特征向量和查询词空间区域列表《q1,q2,

,qn》作为查询条件来查询数据库。
42.步骤s102,根据查询空间区域列表确定数据库中的第一索引数据,并基于查询词热度-空间分布特征向量与第一索引数据的语义特征向量间距离,确定数据库中与第一索引数据对应的第一空间数据的存储位置。
43.本实施例中数据库采用如redis数据库,以键值对kv方式存储数据。其中,数据库存储有第一索引数据及第一空间数据。第一索引数据的存储位置及第一空间数据的存储位置需要根据第一空间数据的存储词热度-空间分布特征向量、语义-空间特征向量等确定。
44.具体的,考虑到存储时空间区域查询效率低下的问题,本实施例还引入并改造了cif-四叉树索引。cif-四叉树的每个节点都存储与其划分线相交的空间区域,当空间数据分布不均匀即某些子区域的数据较多时,cif-四叉树索引会很不平衡,查询效率很低。针对上述问题,基于热度-空间分布特征网络来改进存储时的空间不平衡。
45.在将待存储的空间数据存储至数据库时,采用如下步骤,如图3a所示:
46.步骤s301,利用四叉树将空间区域划分为至少两层子空间区域,根据各个待存储空间数据的空间坐标信息确定对应的子空间区域。
47.具体的,获取多个待存储空间数据,对多个待存储空间数据进行处理,得到《空间最小包围矩形,空间文本数据》形式的待存储空间数据。空间最小包围矩形根据空间数据的空间坐标信息确定,如图3b所示,图中a、b、c、d、e、f、g、h的矩形为空间最小包围矩形,根据各空间数据的空间坐标信息确定。
48.本实施例利用如cif-四叉树,先将空间区域划分为两层子空间区域,两层子空间区域包括上级节点子空间区域和下级节点子空间区域,方便后续将将本应存储至下级节点子空间区域的空间数据提到上级节点子空间区域来存储,也可以根据待存储数据量的大小将空间区域进一步划分,层次扩展到3层、4层等,此处不做限定。如图3b中先将空间区域划分为四块的第一层子空间区域(上级节点子空间区域),再对右上角的子空间区域进一步划分,得到下级节点子空间区域。
49.如图3b中,根据空间数据的空间最小包围矩形与至少两层子空间区域的相交结果可知,上级节点子空间区域涉及空间数据a、b、c、d、e,右上角的下级节点子空间区域涉及数据f、g、h。根据空间数据的空间最小包围矩形与划分的各子空间区域的相交结果,确定多个待存储空间数据分别对应的各层子空间区域。
50.步骤s302,计算各层子空间区域中待存储空间数据的热度-空间特征向量,并根据特征向量计算得到上级节点子空间区域与下级节点子空间区域中待存储空间数据的欧式距离。
51.图3b中空间数据f、g虽然为下级节点子空间区域的待存储空间数据,当从图中可以看出其距离空间数据e较近,若将其存储在不同层的子空间区域,会导致查询时需要访问不同节点,影响查询效率。
52.利用训练得到的热度-空间分布特征网络可以得到各空间数据的热度-空间特征向量,分别计算上级节点子空间区域中待存储空间数据的热度-空间特征向量与下级节点子空间区域中待存储空间数据的热度-空间特征向量的欧式距离。
53.步骤s303,判断欧式距离是否小于预设距离阈值。
54.判断计算得到的欧式距离是否小于预设距离阈值,预设距离阈值可以根据实施情况设置,当判断欧式距离小于预设距离阈值时,执行步骤s304;若否,执行步骤s305。
55.步骤s304,将下级节点子空间区域中待存储空间数据更新至上级节点子空间区域,存储该上级节点子空间区域内的待存储空间数据。
56.对于欧式距离小于预设距离阈值时,可以将该下级节点子空间区域中待存储空间数据更新至上级节点子空间区域,在上级节点子空间区域存储该待存储空间数据,使得数据存储更均匀分布。
57.如图3b中,通过计算空间数据f、g的热度-空间特征向量与空间数据e的热度-空间特征向量的欧式距离,判断其小于预设距离阈值,将空间数据f、g存储至上级节点子空间区域。
58.步骤s305,判断是否存储完成所有待存储空间数据。
59.对待存储空间数据进行判断,判断是否均已完成存储,若是,则执行结束。若否,则继续执行步骤s306。
60.判断所有待存储空间数据是否均已存储完成,可以通过判断下级子节点空间区域中无待存储空间数据,或者,本实施例中,为避免循环过多影响存储效率,可以设置划分下级节点空间区域的预设层级数量,划分下级节点空间区域的预设层级数量可以根据实施情况设置,当重新划分下级节点空间区域的层级数量达到预设层级数量时,不再重复执行,将下级节点空间区域的待存储空间数据存储至下级节点空间区域等,通过以上判断,可以确定所有待存储空间数据是否均已存储完成。
61.步骤s306,将该下级节点空间区域更新为上级节点子空间区域,将更新后的上级节点子空间区域划分得到新的下级节点空间区域。
62.若判断欧式距离不小于预设距离阈值,则将下级节点子空间区域更新为新的上级节点子空间区域,继续利用cif-四叉树在新的上级节点子空间区域中划分新的下级节点子空间区域。待存储空间数据根据其所位于的新的上级节点子空间区域和新的下级节点子空间区域重复执行步骤s302-s303继续进行计算,确定其存储位置。
63.利用上述步骤可以确定待存储空间数据应存储至子空间区域的编码,即zorder编码。根据待存储空间数据的子空间区域编码结合待存储空间数据将其存储至数据库中对应的存储位置,如利用redis槽号的映射,实现索引数据在redis中均匀存储,同时,待存储空间数据也均衡存储至redis中,从而解决存储的负载均衡。
64.具体的,对于待存储空间数据,需要存储对应的索引数据及空间数据。索引数据是将空间语义进行融合,得到的融合索引。本实施例中数据库以redis为例进行说明,索引数据和空间数据以键值对方式存储,存储时基于确定的存储位置进行存储。索引数据的存储位置的确定具体为:先根据待存储空间数据的子空间区域编码确定数据库中对应的节点,子空间区域与数据库的存储区域对应,根据子空间区域编码可以确定数据库对应的节点。再根据待存储空间数据的子空间区域编码,以及,与该节点对应的各空间数据的热度-空间特征向量计算得到存储待存储空间数据的索引数据的存储位置。计算时可以采用如下公式:
[0065][0066]
ib
id
为索引数据的存储位置,z
value
表示子空间区域zorder编码,以便将空间上相邻的子空间区域映射至redis的不同节点,实现空间上反聚集存储。而后面hi为该节点存储的每个空间数据的热度-空间分布特征向量,h
max
为各空间数据中热度最大的空间数据所对应的热度-空间分布特征向量,此处,8192为redis总槽数的一半(另一半用于存储对应的空间数据),根据具体实施情况设置不同总槽数值。通过计算热度-空间特征向量与最大热度-空间特征向量的余弦距离并求得平均值,使用该数值作为偏移值来区分不同节点的访问热度。由于热度-空间特征向量融合了热度对于空间位置的分布,使得不同的空间区域都可以计算出各自独有的偏移值,防止出现不同空间区域有相同的访问热度导致最终计算的值相同的情况,从而实现不同热度的子空间区域交叉存储,即在一个redis节点上既存储有热点子空间区域的数据也有非热点子空间区域的数据,实现热度和空间位置两个维度的均匀存储。根据计算得到的索引数据的存储位置,对应的存储待存储空间数据的索引数据。索引数据以《子空间区域编码,《该索引数据的存储位置中各空间数据的语义特征向量列表》》键值
对方式存储。如《zorder_id,《data_loc,data_loc,...,data_loc》》。key为子空间区域编码,value为索引数据的存储位置中各空间数据通过语义分布存储所计算得到的语义特征向量列表。
[0067]
空间数据的存储根据索引数据的存储位置,以及利用语义-空间分布特征网络得到的待存储空间数据的语义-空间特征向量,计算得到待存储空间数据的存储位置。计算时可以采用如下公式:
[0068]did
=[dis(tsi,ts
all
) ib
id
]%8192
[0069]did
为待存储空间数据的存储位置,tsi为cif-四叉树中节点所存储的各空间数据的语义-空间分布特征向量,ts
all
为预设特征向量,根据实施情况设置。计算tsi与ts
all
的余弦距离,考虑到语义相似的特征向量和同一个特征向量的距离会相近,从而可以将语义相似的空间数据映射到同一个redis的存储槽中,实现语义的聚集存储。ib
id
为索引数据的存储位置,其作为一个偏移量,让子空间区域相邻的空间数据能够存储到不同的redis节点上,避免子空间区域不同语义相近的空间数据映射到同一个存储槽中,既实现了子空间区域内的局部语义聚集存储,又实现了子空间区域之间整体的语义分散存储。根据待存储空间数据的存储位置对应的存储待存储空间数据,待存储空间数据可以以《空间数据标识,空间数据》方式进行存储,如《id,xxx文本内容》。
[0070]
索引数据和空间数据的存储如图4所示,在对应的节点中分别存储了索引数据和空间数据。进一步,还可以将空间数据对应的存储位置中所有空间数据的语义-空间分布特征向量通过如attention函数转换为一个特征向量,将这个特征向量存入索引数据的value中,方便作为语义查询的条件。
[0071]
通过以上方式完成将待存储空间数据存储至数据库中,在索引存储时将空间相邻且高热度的空间数据存储在一起,同时均匀地分布了高热度和低热度的数据,方便用户查询时,即使某个空间区域的数据成为热点查询数据,也不会产生查询热点,避免负载均衡被破坏。在空间数据存储时,在子空间区域内把语义相近的空间数据存储至一起,利用索引的空间和热度剪枝功能将需要进行语义查询的空间数据限制在几个子空间区域内缩小了查询规模,又通过语义分布存储将空间数据存储到不同的节点上,从而分散了查询请求,也平衡了存储查询时的负载,使查询的精度和效率极大地提升。
[0072]
在数据库中存储了待存储空间数据后,即数据库中存储了第一索引数据以及第一空间数据。当接收用户的查询请求时,根据查询空间区域列表对应的确定各查询空间区域的zorder编码,从而可以查询得到数据库中所需的第一索引数据的存储位置。查询空间区域列表中包含多个查询空间区域时,得到多个第一索引数据的存储位置。
[0073]
根据第一索引数据的存储位置,可以并行的访问数据库中的多个第一索引数据。将查询词热度-空间分布特征向量,与第一索引数据中value值的语义特征向量列表中各特征向量分别计算余弦距离,查找出距离最近,语义最相关的语义特征向量,根据语义特征向量可以确定第一空间数据确定对应的存储位置。
[0074]
步骤s103,根据第一空间数据的存储位置查询数据库对应的节点,得到并返回包含第一目标空间数据的查询结果。
[0075]
根据得到的第一空间数据的存储位置,并行查询数据库中与第一空间数据的存储位置对应的节点,获取各节点中存储的第一空间数据,从而得到并返回给用户第一目标空
间数据。每个存储位置中的第一空间数据只是某个子空间区域中语义相似的数据,因此查询的数据量较少,在redis串行执行的方式下拥有较高的执行效率。
[0076]
进一步,对于新增加的第二空间数据,如实时性的第二空间数据,可以将其先存储在存储队列中,存储队列可以采用如redis队列。当接收到用户查询请求时,除查询数据库中存储的第一空间数据外,还可以根据查询文本信息查询存储队列中存储的第二空间数据,得到符合查询文本信息的第二目标空间数据。查询时,可以直接使用空间、查询文本作为条件一一匹配过滤,即查看存储队列中的第二空间数据的空间位置是否符合查询的空间条件,第二空间数据的文本是否与查询关键词在语义上接近(如使用bert模型来判断语义相似度等),最终得到符合查询文本信息的第二目标空间数据。将第二目标空间数据与数据库得到的第一目标空间数据合并,得到合并后的查询结果。
[0077]
进一步,还可以利用预设进程定期检测存储队列中的第二空间数据的访问热度,判断访问热度是否大于预设热度阈值;若是,则将第二空间数据存储至数据库中,存储时参照待存储空间数据的描述,此处不再赘述。若否,则按照访问热度高低对存储队列中第二空间数据进行排序,计算第二空间数据间特征近似度,基于特征近似度调整排序。具体的,存储队列中存有《a、b、c、d、e》五个第二空间数据,存储队列的优先级根据第二空间数据的语义和热度来确定,优先级从左往右递减。当指定进程检测到c的访问热度变为最高时,先基于访问热度高低对第二空间数据进行排序,c设置为存储队列头部,然后利用融合特征网络计算各第二空间数据的融合特征向量,计算出与c的特征近似度,根据特征近似度进一步调整排序,如计算得到b和e与c的特征近似度更高,调整排序得到《c、b、e、a、d》,使得热度高及与热度高相似的第二空间数据排位在先,用户查询相似数据时可以无需花费过多时间来搜索整个存储队列,从而提升数据查询的效率。
[0078]
根据本发明提供的空间数据语义查询方法,同时实现了空间数据在空间-热度两个维度和空间-语义两个维度的负载均衡,避免了空间、语义、热度任何一个方面出现查询热点,极大地提升了查询效率;通过热度-空间分布特征网络,使空间相邻的热点数据相邻存储,不仅保证了空间剪枝性能,还保证了热点数据能尽可能被访问到,使用户能及时获取热点数据;通过语义-空间分布特征网络,方便语义存储与查询,还实现了空间-语义两个维度的有效结合,同时发挥空间语义剪枝的作用;通过存储队列增加更新空间数据,使新数据加入时不需要改动索引数据已有的结构,具有较高的效率。进一步,并行查询能够更准确更高效地查询出符合用户查询条件的空间数据。
[0079]
图5示出了根据本发明一个实施例的空间数据语义查询装置的功能框图。如图5所示,空间数据语义查询装置包括如下模块:
[0080]
接收模块510,适于接收用户输入的查询文本信息,并对查询文本信息进行转化,得到查询词热度-空间分布特征向量以及查询词空间区域列表;
[0081]
位置确定模块520,适于根据查询空间区域列表确定数据库中的第一索引数据,并基于查询词热度-空间分布特征向量与第一索引数据的语义特征向量间距离,确定数据库中与第一索引数据对应的第一空间数据的存储位置;
[0082]
第一查询模块530,适于根据第一空间数据的存储位置查询数据库对应的节点,得到并返回包含第一目标空间数据的查询结果。
[0083]
可选地,接收模块510进一步适于:
[0084]
接收用户输入的查询文本信息,并基于用户的位置信息,对查询文本信息进行转化,得到查询词热度-空间分布特征向量;其中,热度-空间分布特征向量基于热度-空间分布特征网络获取;热度-空间分布特征网络由生成模型中的热度-空间分布层与编码器组成;根据四叉树计算得到与查询空间位置范围相交的查询词空间区域列表。
[0085]
可选地,装置还包括:第二查询模块540,适于根据查询文本信息查询存储队列中存储的第二空间数据,得到符合查询文本信息的第二目标空间数据;将第二目标空间数据与数据库的第一目标空间数据合并,得到合并后的查询结果。
[0086]
可选地,装置还包括:更新模块550,适于利用预设进程定期检测存储队列中的第二空间数据的访问热度;判断访问热度是否大于预设热度阈值;若是,将第二空间数据存储至数据库中;若否,则按照访问热度高低对存储队列中第二空间数据进行排序,计算第二空间数据间特征近似度,基于特征近似度调整排序。
[0087]
可选地,第一查询模块530进一步适于:
[0088]
根据第一空间数据的存储位置并行查询数据库中与第一空间数据的存储位置对应的节点,获取各节点中存储的第一目标空间数据。
[0089]
可选地,装置还包括:存储模块560;
[0090]
存储模块560包括:
[0091]
数据定位单元561,适于利用四叉树将空间区域划分为至少两层子空间区域,根据各个待存储空间数据的空间坐标信息确定对应的子空间区域;两层子空间区域包括上级节点子空间区域和下级节点子空间区域;
[0092]
调整更新单元562,适于计算得到各级子空间区域中待存储空间数据的热度-空间特征向量,并根据热度-空间特征向量计算得到上级节点子空间区域与下级节点子空间区域中待存储空间数据之间的欧式距离;判断欧式距离是否小于预设距离阈值;若是,将下级节点子空间区域中待存储空间数据更新至上级节点子空间区域,存储该上级节点子空间区域内的待存储空间数据;若否,将该下级节点空间区域更新为上级节点子空间区域,将更新后的上级节点子空间区域划分得到新的下级节点空间区域;重复执行本单元,直至存储完成所有待存储空间数据。
[0093]
可选地,数据库为redis数据库;
[0094]
存储模块560进一步适于:
[0095]
根据待存储空间数据的子空间区域编码确定数据库中对应的节点;
[0096]
根据待存储空间数据的子空间区域编码,以及,与该节点对应的各空间数据的热度-空间特征向量计算得到存储待存储空间数据的索引数据的存储位置;
[0097]
确定待存储空间数据的语义-空间特征向量;其中,语义-空间特征向量基于语义-空间分布特征网络获取;语义-空间分布特征网络由生成模型中的语义-空间分布层与编码器组成;
[0098]
根据待存储空间数据的语义-空间特征向量及预设特征向量、索引数据的存储位置计算得到待存储空间数据的空间数据的存储位置;
[0099]
根据索引数据的存储位置对应的存储待存储空间数据的索引数据,以及,根据空间数据的存储位置对应的存储待存储空间数据。
[0100]
以上各模块的描述参照方法实施例中对应的描述,在此不再赘述。
[0101]
本技术还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的空间数据语义查询方法。
[0102]
图6示出了根据本发明一个实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
[0103]
如图6所示,该电子设备可以包括:处理器(processor)602、通信接口(communications interface)604、存储器(memory)606、以及通信总线608。
[0104]
其中:
[0105]
处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。
[0106]
通信接口604,用于与其它设备比如客户端或其它服务器等的网元通信。
[0107]
处理器602,用于执行程序610,具体可以执行上述空间数据语义查询方法实施例中的相关步骤。
[0108]
具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。
[0109]
处理器602可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
[0110]
存储器606,用于存放程序610。存储器606可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0111]
程序610具体可以用于使得处理器602执行上述任意方法实施例中的空间数据语义查询方法。程序610中各步骤的具体实现可以参见上述空间数据语义查询实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
[0112]
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0113]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0114]
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0115]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0116]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0117]
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的空间数据语义查询装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0118]
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献