内容相似性短文本查询方法、设备、系统及存储介质与流程

文档序号:17000043发布日期:2019-03-02 01:42阅读:189来源:国知局
内容相似性短文本查询方法、设备、系统及存储介质与流程

本发明涉及内容查询技术领域,尤其涉及一种内容相似性短文本查询方法、设备、系统及存储介质。



背景技术:

随着互联网技术和以及全球定位系统的快速发展,每天互联网上会产生海量带有地理位置标签的短文本信息。人们已经不再仅仅依靠社交圈进行联系,在实际生活中也可根据地理位置进行信息共享。如何在数量庞大的数据中快速找到用户需要的有效信息成为当前急需解决的问题。

传统移动社交网络下短文本内容相似性查询算法只考虑到距离位置和文本内容,忽视时间维度,得到的结果对时间不敏感,且大多数算法只针对小数量数据采用集中式环境下查询用户所需信息。而在现实生活中,用户查询得到的结果不仅需要满足时效性,而且需要在海量数据下得到快速响应,若采用集中式计算海量数据时,计算能力容易受到硬件条件的限制,降低了用户体验满意度。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种内容相似性短文本查询方法、设备、系统及存储介质,旨在解决现有技术中短文本内容相似性查询中,查询结果对时间不敏感及查询速度慢等技术问题。

为实现上述目的,本发明提供一种内容相似性短文本查询方法,所述方法包括以下步骤:

获取多个短文本样本,基于所述短文本样本的时间信息将所述短文本样本划分为多个类别,所述短文本为字符数目未超过预设数目阈值的文本;

分别基于各类别中的短文本样本建立rtree索引;

获取当前文本,基于所述rtree索引,利用map-reduce分布式计算模型在所述短文本样本中查找若干个与所述当前文本内容相似的目标短文本。

优选地,所述获取多个短文本样本,基于所述短文本样本的发布时间将所述短文本样本划分为多个类别,具体包括:

获取多个短文本样本,删除所述时间信息超过预设时间阈值的短文本样本;

将剩余的短文本样本划分为多个类别。

优选地,所述分别基于各类别中的短文本样本建立rtree索引,具体包括:

分别获取所述类别对应的短文本样本的位置信息;

基于所述短文本样本的位置信息,将所述短文本样本展示在一个二维坐标平面内;

获取能够包含所述短文本样本的最小矩形,将所述最小矩形的四个顶点作为初始聚类中心,利用k-means算法对所述短文本样本进行多次迭代聚类,获得所述短文本样本的四个聚类集合;

在所述聚类集合中的短文本样本数目超过预设数目阈值时,对所述聚类集合中的短文本样本执行所述获取能够包含所述短文本样本的最小矩形,将所述最小矩形的四个顶点作为初始聚类中心,利用k-means算法对所述短文本样本进行计算,通过多次迭代聚类,获得所述短文本样本的四个聚类集合的步骤;

在所述聚类集合中的短文本样本数目未超过预设数目阈值时,将所述聚类集合的短文件本样本分别保存在预设树形结构相应的叶子节点中。

优选地,所述获取当前文本,基于所述rtree索引,利用map-reduce分布式计算模型在所述短文本样本中查找若干个与所述当前文本内容相似的目标短文本,具体包括:

获取当前文本的关键字、当前位置信息、当前查询时间及查询的时间范围;

获取满足所述查询的时间范围的目标rtree索引及所述目标rtree中满足预设空间范围的叶子节点中的候选短文本样本;

基于所述当前文本的关键字、当前位置信息及当前查询时间,分别计算所述候选短文本样本与所述当前文本的综合相关性;

基于所述候选短文本样本与所述当前文本的综合相关性,利用map-reduce分布式计算模型中的map函数确定所述目标rtree索引中满足预设条件的目标短文本样本;

利用map-reduce分布式计算模型中的reduce函数对所述目标短文样本进行汇总筛选,获得所述若干个与所述当前文本内容相似的目标短文本。

优选地,所述基于所述候选短文本样本与所述当前文本的综合相关性,利用map-reduce分布式计算模型中的map函数确定所述目标rtree索引中满足预设条件的目标短文本样本,具体包括:

基于与所述当前文本的综合相关性,对所述目标rtree索引的候选短文本样本进行排序;

分别获取所述目标rtree索引的候选短文本样本中满足预设个数的与所述当前文本的综合相关性排名靠前的目标短文本样本。

优选地,所述基于所述当前文本的关键字、当前位置信息及当前查询时间,分别计算所述候选短文本样本与所述当前文本的综合相关性,具体包括:

获取所述候选短文本样本的关键字、位置信息及时间信息;

根据所述当前文本的关键字及所述候选短文本样本的关键字,确定所述当前文本与所述候选短文本样本的文本相关性;

根据所述当前文本的当前位置信息及所述候选短文本样本位置信息,确定所述当前文本与所述候选短文本样本的空间相关性;

根据所述当前文本的当前查询时间及所述候选短文本样本的时间信息,确定所述当前文本与所述候选短文本样本的时间相关性;

基于所述当前文本与所述候选短文本样本的文本相关性、空间相关性及时间相关性,确定所述分别计算所述候选短文本样本与所述当前文本的综合相关性。

优选地,所述分别基于各类别中的短文本样本建立rtree索引之后,所述方法还包括:

每隔预设时间周期,获取新的短文本样本,建立新的rtree索引。

此外,为实现上述目的,本发明还提供一种内容相似性短文本查询设备,所述内容相似性短文本查询设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的内容相似性短文本查询程序,所述内容相似性短文本查询程序配置为实现如上文所述的内容相似性短文本查询方法的步骤。

此外,为实现上述目的,本发明还提供一种内容相似性短文本查询系统,所述内容相似性短文本查询系统包括:

获取模块,用于获取多个短文本样本,基于所述短文本样本的时间信息将所述短文本样本划分为多个类别,所述短文本为字符数目未超过预设数目阈值的文本;

建立模块,用于分别基于各类别中的短文本样本建立rtree索引;

查找模块,用于获取当前文本,基于所述rtree索引,利用map-reduce分布式计算模型在所述短文本样本中查找若干个与所述当前文本内容相似的目标短文本。

此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有内容相似性短文本查询程序,所述内容相似性短文本查询程序被处理器执行时实现如上文所述的内容相似性短文本查询方法的步骤。

本发明通过获取多个短文本样本,基于所述短文本样本的时间信息将所述短文本样本划分为多个类别,所述短文本为字符数目未超过预设数目阈值的文本,分别基于各类别中的短文本样本建立rtree索引,获取当前文本,基于所述rtree索引,利用map-reduce分布式计算模型在所述短文本样本中查找若干个与所述当前文本内容相似的目标短文本,在短文本内容相似性查询中考虑时间维度,利用map-reduce分布式计算模型实现了在大量文本数据下对目标文本进行高效、精确的查找。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的内容相似性短文本查询设备结构示意图;

图2为本发明内容相似性短文本查询方法第一实施例的流程示意图;

图3为本发明预设树形结构的第一示意图;

图4为本发明内容相似性短文本查询系统第一实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的内容相似性短文本查询设备的结构示意图。

如图1所示,该内容相似性短文本查询设备可以包括:处理器1001,例如cpu,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的结构并不构成对内容相似性短文本查询设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及内容相似性短文本查询程序。

图1所示的内容相似性短文本查询设备中,网络接口1004主要用于与外部网络进行数据通信;用户接口1003主要用于接收用户的输入指令;所述内容相似性短文本查询设备通过处理器1001调用存储器1005中存储的内容相似性短文本查询程序,并执行以下操作:

获取多个短文本样本,基于所述短文本样本的时间信息将所述短文本样本划分为多个类别,所述短文本为字符数目未超过预设数目阈值的文本;

分别基于各类别中的短文本样本建立rtree索引;

获取当前文本,基于所述rtree索引,利用map-reduce分布式计算模型在所述短文本样本中查找若干个与所述当前文本内容相似的目标短文本。

进一步地,处理器1001可以调用存储器1005中存储的内容相似性短文本查询程序,还执行以下操作:

获取多个短文本样本,删除所述时间信息超过预设时间阈值的短文本样本;

将剩余的短文本样本划分为多个类别。

进一步地,处理器1001可以调用存储器1005中存储的内容相似性短文本查询程序,还执行以下操作:

分别获取所述类别对应的短文本样本的位置信息;

基于所述短文本样本的位置信息,将所述短文本样本展示在一个二维坐标平面内;

获取能够包含所述短文本样本的最小矩形,将所述最小矩形的四个顶点作为初始聚类中心,利用k-means算法对所述短文本样本进行多次迭代聚类,获得所述短文本样本的四个聚类集合;

在所述聚类集合中的短文本样本数目超过预设数目阈值时,对所述聚类集合中的短文本样本执行所述获取能够包含所述短文本样本的最小矩形,将所述最小矩形的四个顶点作为初始聚类中心,利用k-means算法对所述短文本样本进行计算,通过多次迭代聚类,获得所述短文本样本的四个聚类集合的步骤;

在所述聚类集合中的短文本样本数目未超过预设数目阈值时,将所述聚类集合的短文件本样本分别保存在预设树形结构相应的叶子节点中。

进一步地,处理器1001可以调用存储器1005中存储的内容相似性短文本查询程序,还执行以下操作:

获取当前文本的关键字、当前位置信息、当前查询时间及查询的时间范围;

获取满足所述查询的时间范围的目标rtree索引及所述目标rtree中满足预设空间范围的叶子节点中的候选短文本样本;

基于所述当前文本的关键字、当前位置信息及当前查询时间,分别计算所述候选短文本样本与所述当前文本的综合相关性;

基于所述候选短文本样本与所述当前文本的综合相关性,利用map-reduce分布式计算模型中的map函数确定所述目标rtree索引中满足预设条件的目标短文本样本;

利用map-reduce分布式计算模型中的reduce函数对所述目标短文样本进行汇总筛选,获得所述若干个与所述当前文本内容相似的目标短文本。

进一步地,处理器1001可以调用存储器1005中存储的内容相似性短文本查询程序,还执行以下操作:

基于与所述当前文本的综合相关性,对所述目标rtree索引的候选短文本样本进行排序;

分别获取所述目标rtree索引的候选短文本样本中满足预设个数的与所述当前文本的综合相关性排名靠前的目标短文本样本。

进一步地,处理器1001可以调用存储器1005中存储的内容相似性短文本查询程序,还执行以下操作:

获取所述候选短文本样本的关键字、位置信息及时间信息;

根据所述当前文本的关键字及所述候选短文本样本的关键字,确定所述当前文本与所述候选短文本样本的文本相关性;

根据所述当前文本的当前位置信息及所述候选短文本样本位置信息,确定所述当前文本与所述候选短文本样本的空间相关性;

根据所述当前文本的当前查询时间及所述候选短文本样本的时间信息,确定所述当前文本与所述候选短文本样本的时间相关性;

基于所述当前文本与所述候选短文本样本的文本相关性、空间相关性及时间相关性,确定所述分别计算所述候选短文本样本与所述当前文本的综合相关性。

进一步地,处理器1001可以调用存储器1005中存储的内容相似性短文本查询程序,还执行以下操作:

每隔预设时间周期,获取新的短文本样本,建立新的rtree索引。

本实施例通过上述方案,通过获取多个短文本样本,基于所述短文本样本的时间信息将所述短文本样本划分为多个类别,所述短文本为字符数目未超过预设数目阈值的文本,分别基于各类别中的短文本样本建立rtree索引,获取当前文本,基于所述rtree索引,利用map-reduce分布式计算模型在所述短文本样本中查找若干个与所述当前文本内容相似的目标短文本,在短文本内容相似性查询中考虑时间维度,利用map-reduce分布式计算模型实现了在大量文本数据下对目标文本进行高效、精确的查找。

基于上述硬件结构,提出本发明内容相似性短文本查询方法实施例。

参照图2,图2为本发明内容相似性短文本查询方法第一实施例的流程示意图。

在第一实施例中,所述内容相似性短文本查询方法包括以下步骤:

s10:获取多个短文本样本,基于所述短文本样本的时间信息将所述短文本样本划分为多个类别,所述短文本为字符数目未超过预设数目阈值的文本。

可以理解的是,文本太长,在后期文本匹配查找的过程会变的很长,而且在实际应用中通过大文本来进行位置等信息查询的情况并不多,因此,本发明提供的方法针对的是短文本样本,其中,短文本为文本中字符数目未超过预设数目阈值的文本,具体的数目阈值可以为100字符,也可以为150字符,用户可以根据具体的问题进行设置,本实施例不加以限制。

需要说明的是,所述短文本样本的时间信息为短文本样本的发布时间。可以理解的是,获取的部分短文本样本由于发布的时间比较久,其中所包含的信息参考价值不大,在具体实现中,在获取的多个短文本样本中,可以删除其中时间信息即发布时间超过预设时间阈值的短文本样本,然后将剩余的短文本样本进行类别划分。这里的预设时间阈值,可以是一个月内的,也可以是两个月内的,本实施例不加以限制。

s20:分别基于各类别中的短文本样本建立rtree索引。

本发明是在每个时间窗口内建立传统空间索引rtree索引,将不同时间版本内的数据分别建立rtree索引,共同构成多版本时空索引,融合时间和空间属性,从而提高用户查询结果质量和查询效率。

需要说明的是,本发明在具体实现时是通过滑动窗口来构建索引,滑动窗口是一种常用的数据流模型,多个短文本样本以数据流的形式到来,并且呈现连续性,将一个滑动窗口根据更新间隔划分为多个基本窗口,时间最早的数据存入缓存区,等到设定的更新间隔时将数据放入滑动窗口的第一个基本窗口,并且将基本窗口内的数据建立rtree索引,当第二个时间间隔到来时,将时间间隔内的数据放入第二个基本窗口内,并建立索引,以此类推当滑动窗口内的所有基本窗口都建立了rtree后,索引完成。

在具体实现中,分别获取所述类别对应的短文本样本的位置信息,基于所述短文本样本的位置信息,将所述短文本样本展示在一个二维坐标平面内,获取能够包含所述短文本样本的最小矩形,将所述最小矩形的四个顶点作为初始聚类中心,利用k-means算法对所述短文本样本进行多次迭代聚类,获得所述短文本样本的四个聚类集合,在所述聚类集合中的短文本样本数目超过预设数目阈值时,对所述聚类集合中的短文本样本执行所述获取能够包含所述短文本样本的最小矩形,将所述最小矩形的四个顶点作为初始聚类中心,利用k-means算法对所述短文本样本进行计算,通过多次迭代聚类,获得所述短文本样本的四个聚类集合的步骤,在所述聚类集合中的短文本样本数目未超过预设数目阈值时,将所述聚类集合中的短文本分别保存在预设树形结构相应的叶子节点中。

本实施例中的预设树形结构可参见图3,图3为预设树形结构的第一示意图,如图3所示的预设树形结构中的数字1、2、3等分别代表相应的节点,是为了方便对具体节点进行描述,当然也可以采用字母等其他的表示方式。图3中所展示的节点1包含某一个类别内的所有短文本样本,节点2、节点3、节点4及节点5即为经过k-means算法,对所述短文本样本进行多次迭代聚类,获得的四个聚类集合,然后将所得的各个集合作为一个整体,重复执行k-means算法,获取新的四个聚类集合,即节点6、节点7、节点8及节点9是对节点2中的短文本样本进行聚类,获得的四个聚类集合;节点10、节点11、节点12及节点13是对节点3中的短文本样本进行聚类,获得的四个聚类集合;节点14、节点15、节点16及节点17是对节点4中的短文本样本进行聚类,获得的四个聚类集合;节点18、节点19、节点20及节点21是对节点5中的短文本样本进行聚类,获得的四个聚类集合,在获得的某个集合中的短文本样本数目低于预设数目阈值时,可以认为没有必要再进行进一步的分类,结束k-means算法,得到rtree索引图。

需要说明的是,节点1、节点2、节点3、节点4及节点5为非叶子节点,最终的节点,如节点6、节点7及节点20等为叶子节点,非叶子节点中只是指示包含了哪些短文本样本,具体的短文本样本存储在叶子节点中。

依次对各个类别中的短文样本进行如上操作,直到整个rtree索引构建完成。

在具体实现中,可以进一步将索引文件及索引文件路径存入预设位置,本实施例对具体的文件存储方式及位置不加以限制。

需要说明的是,社交网络数据是不断动态增加和改变的,需要动态维护索引结构,保证查询的数据是对时间敏感的。因此,在建立rtree索引之后,每经过一定的时间周期后,需要获取新的短文本样本数据,生成一版新的rtree索引,同时删除时间过久的索引文件。

s30:获取当前文本,基于所述rtree索引,利用map-reduce分布式计算模型在所述短文本样本中查找若干个与所述当前文本内容相似的目标短文本。

进一步地,获取当前文本的关键字、当前位置信息、当前查询时间及查询的时间范围,获取满足所述查询的时间范围的目标rtree索引及所述目标rtree中满足预设空间范围的叶子节点中的候选短文本样本,基于所述当前文本的关键字、当前位置信息及当前查询时间,分别计算所述候选短文本样本与所述当前文本的综合相关性,基于所述候选短文本样本与所述当前文本的综合相关性,利用map-reduce分布式计算模型中的map函数确定所述目标rtree索引中满足预设条件的目标短文本样本,利用map-reduce分布式计算模型中的reduce函数对所述目标短文样本进行汇总筛选,获得所述若干个与所述当前文本内容相似的目标短文本。

可以理解的是,此处的关键字并不是真的仅仅从当前文本中提取某一个字,代表的是当前文本的关键字及关键词的集合。

在具体实现中,可以获得当前文本即查询对象的关键字、当前位置信息、当前查询时间及查询的时间范围等信息,具体可以表现为q={x,y,time,words,t,r},其中q表示当前文本,(x,y)表示当前文本中的位置信息,具体可以为地理坐标的经纬度,time表示用户当前的查询时间,words表示查询的关键字集合,t表示查询的时间范围,r表示查询的空间距离范围。可以根据用户设定的查询的时间范围,遍历各版本索引,过滤出满足所述查询的时间范围的目标rtree索引,同时基于当前位置信息确定所述目标rtree中满足预设空间范围的叶子节点中的候选短文本样本。

基于所述当前文本的关键字、当前位置信息及当前查询时间,使每个map任务对应一个rtree索引文件作为输入单位,利用mapreduce分布式计算模型对所述目标rtree索引实现并行化计算,分别计算所述目标rtree索引中的候选文本样本与所述当前文本的综合相关性,利用map-reduce分布式计算模型中的map函数确定所述目标rtree索引的候选短文本样本中满足预设条件的目标短文本样本,利用map-reduce分布式计算模型中的reduce函数对所述目标短文样本进行汇总筛选,获得所述若干个与所述当前文本内容相似的目标短文本。

当然,在利用map函数确定各目标rtree索引中满足预设条件的目标短文本样时,可以基于各目标rtree索引中候选短文本样本与当前文本的综合相关性,对所述目标rtree索引中的候选短文本样本进行排序,获取满足预设个数的与所述当前文本的综合相关性排名靠前的目标短文本样本,当然也可以设定一个综合相关性参考值,将综合相关性超过设定的参考值的短文本样本都作为map函数的结果输出。

本实施例中,为了全面考察短文本样本与当前文本的综合相关性,会基于当前文本提供的信息与短文本样本中的信息,确定当前文本与各候选短文本样本的文本相关性、空间相关性及时间相关性,再综合各种相关性确定当前文本与各短文本样本的文本相关性。

可以理解的是,如果将map函数的目标函数表示如下result={p1,p2,…,pk},则result需要满足如下条件:result∈d,其中pi∈result,pj∈(d-result),则rank(q,pi)≥rank(q,pj)。其中rank(q,p)代表短文本样本p与当前样本q的综合相关性,即map函数输出的短文本样本与文本样本具有较高的相关性。

进一步地,获取所述候选短文本样本的关键字、位置信息及时间信息,根据所述当前文本的关键字及所述候选短文本样本的关键字,确定所述当前文本与所述候选短文本样本的文本相关性,根据所述当前文本的当前位置信息及所述候选短文本样本位置信息,确定所述当前文本与所述候选短文本样本的空间相关性,根据所述当前文本的当前查询时间及所述候选短文本样本的时间信息,确定所述当前文本与所述候选短文本样本的时间相关性,基于所述当前文本与所述候选短文本样本的文本相关性、空间相关性及时间相关性,确定所述分别计算所述候选短文本样本与所述当前文本的综合相关性。

本实施例中,通过公式(1)计算各候选短文本样本与当前文本的综合相关性,

rank(q,p)=αsimwords(q,p)+βsimdist(q,p)+(1-α-β)simtime(q,p)(1)

其中,q表示候选短文本样本,p表示当前文本,simwords表示候选短文本样本与当前文本的文本相关性,simdist表示候选短文本样本与当前文本的空间相关性,simtime表示候选短文本样本与当前文本的时间相关性,α表示设置的文本相关性系数,β表示设置的空间相关性系数,α≤1,β≤1。

根据所述当前文本的关键字及所述候选短文本样本的关键字,通过公式(2)确定所述当前文本与所述候选各短文本样本的文本相关性。

其中,q.words表示当前文本的关键字集合,p.words表示短文本样本的关键字集合。

根据所述当前文本的当前位置信息及所述候选短文本样本的位置信息,通过公式(3)确定所述当前文本与所述候选短文本样本的空间相关性。

其中,r表示查询的空间距离范围,(q.x,p.y)表示当前文本中地理位置的经纬度,(q.x,p.y)表示短文本样本中地理位置的经纬度。

可以理解的是,当前文本中地理位置的经纬度可以从当前文本的当前位置信息中获得,短文本样中地理位置的经纬度可以从短文本样本中的位置信息中获得。

根据所述当前文本的当前查询时间及所述候选短文本样本的时间信息,通过公式(4)确定所述当前文本与所述候选短文本样本的时间相关性。

其中,t表示查询的时间范围,t=q.time-p.time,q.time表示当前文本的当前查询时间,q.time表示候选短文本样本的发布时间。

可以理解的是,短文本样本的发布时间可以从短文本样本的时间信息中获得。

在本实施例中,获取多个短文本样本,基于所述短文本样本的时间信息将所述短文本样本划分为多个类别,所述短文本为字符数目未超过预设数目阈值的文本,分别基于各类别中的短文本样本建立rtree索引,获取当前文本,基于所述rtree索引,利用map-reduce分布式计算模型在所述短文本样本中查找若干个与所述当前文本内容相似的目标短文本,在短文本内容相似性查询中考虑时间维度,利用map-reduce分布式计算模型实现了在大量文本数据下对目标文本进行高效、精确的查找。

参照图4,图4为本发明内容相似性短文本系统第一实施例的功能模块图,基于内容相似性短文本方法,提出本发明内容相似性短文本系统的第一实施例。

在本实施例中,所述内容相似性短文本系统包括:

获取模块10,用于获取多个短文本样本,基于所述短文本样本的时间信息将所述短文本样本划分为多个类别,所述短文本为字符数目未超过预设数目阈值的文本。

可以理解的是,文本太长,在后期文本匹配查找的过程会变的很长,而且在实际应用中通过大文本来进行位置等信息查询的情况并不多,因此,本发明提供的方法针对的是短文本样本,其中,短文本为文本中字符数目未超过预设数目阈值的文本,具体的数目阈值可以为100字符,也可以为150字符,用户可以根据具体的问题进行设置,本实施例不加以限制。

需要说明的是,所述短文本样本的时间信息为短文本样本的发布时间。可以理解的是,获取的部分短文本样本由于发布的时间比较久,其中所包含的信息参考价值不大,在具体实现中,在获取的多个短文本样本中,可以删除其中时间信息即发布时间超过预设时间阈值的短文本样本,然后将剩余的短文本样本进行类别划分。这里的预设时间阈值,可以是一个月内的,也可以是两个月内的,本实施例不加以限制。

建立模块20,用于分别基于各类别中的短文本样本建立rtree索引。

本发明是在每个时间窗口内建立传统空间索引rtree索引,将不同时间版本内的数据分别建立rtree索引,共同构成多版本时空索引,融合时间和空间属性,从而提高用户查询结果质量和查询效率。

需要说明的是,本发明在具体实现时是通过滑动窗口来构建索引,滑动窗口是一种常用的数据流模型,多个短文本样本以数据流的形式到来,并且呈现连续性,将一个滑动窗口根据更新间隔划分为多个基本窗口,时间最早的数据存入缓存区,等到设定的更新间隔时将数据放入滑动窗口的第一个基本窗口,并且将基本窗口内的数据建立rtree索引,当第二个时间间隔到来时,将时间间隔内的数据放入第二个基本窗口内,并建立索引,以此类推当滑动窗口内的所有基本窗口都建立了rtree后,索引完成。

在具体实现中,分别获取所述类别对应的短文本样本的位置信息,基于所述短文本样本的位置信息,将所述短文本样本展示在一个二维坐标平面内,获取能够包含所述短文本样本的最小矩形,将所述最小矩形的四个顶点作为初始聚类中心,利用k-means算法对所述短文本样本进行多次迭代聚类,获得所述短文本样本的四个聚类集合,在所述聚类集合中的短文本样本数目超过预设数目阈值时,对所述聚类集合中的短文本样本执行所述获取能够包含所述短文本样本的最小矩形,将所述最小矩形的四个顶点作为初始聚类中心,利用k-means算法对所述短文本样本进行计算,通过多次迭代聚类,获得所述短文本样本的四个聚类集合的步骤,在所述聚类集合中的短文本样本数目未超过预设数目阈值时,将所述聚类集合中的短文本分别保存在预设树形结构相应的叶子节点中。

本实施例中的预设树形结构可参见图3,图3为预设树形结构的第一示意图,如图3所示的预设树形结构中的数字1、2、3等分别代表相应的节点,是为了方便对具体节点进行描述,当然也可以采用字母等其他的表示方式。图3中所展示的节点1包含某一个类别内的所有短文本样本,节点2、节点3、节点4及节点5即为经过k-means算法,对所述短文本样本进行多次迭代聚类,获得的四个聚类集合,然后将所得的各个集合作为一个整体,重复执行k-means算法,获取新的四个聚类集合,即节点6、节点7、节点8及节点9是对节点2中的短文本样本进行聚类,获得的四个聚类集合;节点10、节点11、节点12及节点13是对节点3中的短文本样本进行聚类,获得的四个聚类集合;节点14、节点15、节点16及节点17是对节点4中的短文本样本进行聚类,获得的四个聚类集合;节点18、节点19、节点20及节点21是对节点5中的短文本样本进行聚类,获得的四个聚类集合,在获得的某个集合中的短文本样本数目低于预设数目阈值时,可以认为没有必要再进行进一步的分类,结束k-means算法,得到rtree索引图。

需要说明的是,节点1、节点2、节点3、节点4及节点5为非叶子节点,最终的节点,如节点6、节点7及节点20等为叶子节点,非叶子节点中只是指示包含了哪些短文本样本,具体的短文本样本存储在叶子节点中。

依次对各个类别中的短文样本进行如上操作,直到整个rtree索引构建完成。

在具体实现中,可以进一步将索引文件及索引文件路径存入预设位置,本实施例对具体的文件存储方式及位置不加以限制。

需要说明的是,社交网络数据是不断动态增加和改变的,需要动态维护索引结构,保证查询的数据是对时间敏感的。因此,在建立rtree索引之后,每经过一定的时间周期后,需要获取新的短文本样本数据,生成一版新的rtree索引,同时删除时间过久的索引文件。

查找模块30,用于获取当前文本,基于所述rtree索引,利用map-reduce分布式计算模型在所述短文本样本中查找若干个与所述当前文本内容相似的目标短文本。

进一步地,获取当前文本的关键字、当前位置信息、当前查询时间及查询的时间范围,获取满足所述查询的时间范围的目标rtree索引及所述目标rtree中满足预设空间范围的叶子节点中的候选短文本样本,基于所述当前文本的关键字、当前位置信息及当前查询时间,分别计算所述候选短文本样本与所述当前文本的综合相关性,基于所述候选短文本样本与所述当前文本的综合相关性,利用map-reduce分布式计算模型中的map函数确定所述目标rtree索引中满足预设条件的目标短文本样本,利用map-reduce分布式计算模型中的reduce函数对所述目标短文样本进行汇总筛选,获得所述若干个与所述当前文本内容相似的目标短文本。

可以理解的是,此处的关键字并不是真的仅仅从当前文本中提取某一个字,代表的是当前文本的关键字及关键词的集合。

在具体实现中,可以获得当前文本即查询对象的关键字、当前位置信息、当前查询时间及查询的时间范围等信息,具体可以表现为q={x,y,time,words,t,r},其中q表示当前文本,(x,y)表示当前文本中的位置信息,具体可以为地理坐标的经纬度,time表示用户当前的查询时间,words表示查询的关键字集合,t表示查询的时间范围,r表示查询的空间距离范围。可以根据用户设定的查询的时间范围,遍历各版本索引,过滤出满足所述查询的时间范围的目标rtree索引,同时基于当前位置信息确定所述目标rtree中满足预设空间范围的叶子节点中的候选短文本样本。

基于所述当前文本的关键字、当前位置信息及当前查询时间,使每个map任务对应一个rtree索引文件作为输入单位,利用mapreduce分布式计算模型对所述目标rtree索引实现并行化计算,分别计算所述目标rtree索引中的候选文本样本与所述当前文本的综合相关性,利用map-reduce分布式计算模型中的map函数确定所述目标rtree索引的候选短文本样本中满足预设条件的目标短文本样本,利用map-reduce分布式计算模型中的reduce函数对所述目标短文样本进行汇总筛选,获得所述若干个与所述当前文本内容相似的目标短文本。

当然,在利用map函数确定各目标rtree索引中满足预设条件的目标短文本样时,可以基于各目标rtree索引中候选短文本样本与当前文本的综合相关性,对所述目标rtree索引中的候选短文本样本进行排序,获取满足预设个数的与所述当前文本的综合相关性排名靠前的目标短文本样本,当然也可以设定一个综合相关性参考值,将综合相关性超过设定的参考值的短文本样本都作为map函数的结果输出。

本实施例中,为了全面考察短文本样本与当前文本的综合相关性,会基于当前文本提供的信息与短文本样本中的信息,确定当前文本与各候选短文本样本的文本相关性、空间相关性及时间相关性,再综合各种相关性确定当前文本与各短文本样本的文本相关性。

可以理解的是,如果将map函数的目标函数表示如下result={p1,p2,…,pk},则result需要满足如下条件:result∈d,其中pi∈result,pj∈(d-result),则rank(q,pi)≥rank(q,pj)。其中rank(q,p)代表短文本样本p与当前样本q的综合相关性,即map函数输出的短文本样本与文本样本具有较高的相关性。

进一步地,获取所述候选短文本样本的关键字、位置信息及时间信息,根据所述当前文本的关键字及所述候选短文本样本的关键字,确定所述当前文本与所述候选短文本样本的文本相关性,根据所述当前文本的当前位置信息及所述候选短文本样本位置信息,确定所述当前文本与所述候选短文本样本的空间相关性,根据所述当前文本的当前查询时间及所述候选短文本样本的时间信息,确定所述当前文本与所述候选短文本样本的时间相关性,基于所述当前文本与所述候选短文本样本的文本相关性、空间相关性及时间相关性,确定所述分别计算所述候选短文本样本与所述当前文本的综合相关性。

本实施例中,通过公式(1)计算各候选短文本样本与当前文本的综合相关性,

rank(q,p)=αsimwords(q,p)+βsimdist(q,p)+(1-α-β)simtime(q,p)(1)

其中,q表示候选短文本样本,p表示当前文本,simwords表示候选短文本样本与当前文本的文本相关性,simdist表示候选短文本样本与当前文本的空间相关性,simtime表示候选短文本样本与当前文本的时间相关性,α表示设置的文本相关性系数,β表示设置的空间相关性系数,α≤1,β≤1。

根据所述当前文本的关键字及所述候选短文本样本的关键字,通过公式(2)确定所述当前文本与所述候选各短文本样本的文本相关性。

其中,q.words表示当前文本的关键字集合,p.words表示短文本样本的关键字集合。

根据所述当前文本的当前位置信息及所述候选短文本样本的位置信息,通过公式(3)确定所述当前文本与所述候选短文本样本的空间相关性。

其中,r表示查询的空间距离范围,(q.x,p.y)表示当前文本中地理位置的经纬度,(q.x,p.y)表示短文本样本中地理位置的经纬度。

可以理解的是,当前文本中地理位置的经纬度可以从当前文本的当前位置信息中获得,短文本样中地理位置的经纬度可以从短文本样本中的位置信息中获得。

根据所述当前文本的当前查询时间及所述候选短文本样本的时间信息,通过公式(4)确定所述当前文本与所述候选短文本样本的时间相关性。

其中,t表示查询的时间范围,t=q.time-p.time,q.time表示当前文本的当前查询时间,q.time表示候选短文本样本的发布时间。

可以理解的是,短文本样本的发布时间可以从短文本样本的时间信息中获得。

在本实施例中,获取多个短文本样本,基于所述短文本样本的时间信息将所述短文本样本划分为多个类别,所述短文本为字符数目未超过预设数目阈值的文本,分别基于各类别中的短文本样本建立rtree索引,获取当前文本,基于所述rtree索引,利用map-reduce分布式计算模型在所述短文本样本中查找若干个与所述当前文本内容相似的目标短文本,在短文本内容相似性查询中考虑时间维度,利用map-reduce分布式计算模型实现了在大量文本数据下对目标文本进行高效、精确的查找。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有内容相似性短文本查询程序,所述内容相似性短文本查询程序被处理器执行时实现如下操作:

获取多个短文本样本,基于所述短文本样本的时间信息将所述短文本样本划分为多个类别,所述短文本为字符数目未超过预设数目阈值的文本;

分别基于各类别中的短文本样本建立rtree索引;

获取当前文本,基于所述rtree索引,利用map-reduce分布式计算模型在所述短文本样本中查找若干个与所述当前文本内容相似的目标短文本。

进一步地,所述内容相似性短文本查询程序被处理器执行时还实现如下操作:

获取多个短文本样本,删除所述时间信息超过预设时间阈值的短文本样本;

将剩余的短文本样本划分为多个类别。

进一步地,所述内容相似性短文本查询程序被处理器执行时还实现如下操作:

分别获取所述类别对应的短文本样本的位置信息;

基于所述短文本样本的位置信息,将所述短文本样本展示在一个二维坐标平面内;

获取能够包含所述短文本样本的最小矩形,将所述最小矩形的四个顶点作为初始聚类中心,利用k-means算法对所述短文本样本进行多次迭代聚类,获得所述短文本样本的四个聚类集合;

在所述聚类集合中的短文本样本数目超过预设数目阈值时,对所述聚类集合中的短文本样本执行所述获取能够包含所述短文本样本的最小矩形,将所述最小矩形的四个顶点作为初始聚类中心,利用k-means算法对所述短文本样本进行计算,通过多次迭代聚类,获得所述短文本样本的四个聚类集合的步骤;

在所述聚类集合中的短文本样本数目未超过预设数目阈值时,将所述聚类集合的短文件本样本分别保存在预设树形结构相应的叶子节点中。

进一步地,所述内容相似性短文本查询程序被处理器执行时还实现如下操作:

获取当前文本的关键字、当前位置信息、当前查询时间及查询的时间范围;

获取满足所述查询的时间范围的目标rtree索引及所述目标rtree中满足预设空间范围的叶子节点中的候选短文本样本;

基于所述当前文本的关键字、当前位置信息及当前查询时间,分别计算所述候选短文本样本与所述当前文本的综合相关性;

基于所述候选短文本样本与所述当前文本的综合相关性,利用map-reduce分布式计算模型中的map函数确定所述目标rtree索引中满足预设条件的目标短文本样本;

利用map-reduce分布式计算模型中的reduce函数对所述目标短文样本进行汇总筛选,获得所述若干个与所述当前文本内容相似的目标短文本。

进一步地,所述内容相似性短文本查询程序被处理器执行时还实现如下操作:

基于与所述当前文本的综合相关性,对所述目标rtree索引的候选短文本样本进行排序;

分别获取所述目标rtree索引的候选短文本样本中满足预设个数的与所述当前文本的综合相关性排名靠前的目标短文本样本。

进一步地,所述内容相似性短文本查询程序被处理器执行时还实现如下操作:

获取所述候选短文本样本的关键字、位置信息及时间信息;

根据所述当前文本的关键字及所述候选短文本样本的关键字,确定所述当前文本与所述候选短文本样本的文本相关性;

根据所述当前文本的当前位置信息及所述候选短文本样本位置信息,确定所述当前文本与所述候选短文本样本的空间相关性;

根据所述当前文本的当前查询时间及所述候选短文本样本的时间信息,确定所述当前文本与所述候选短文本样本的时间相关性;

基于所述当前文本与所述候选短文本样本的文本相关性、空间相关性及时间相关性,确定所述分别计算所述候选短文本样本与所述当前文本的综合相关性。

进一步地,所述内容相似性短文本查询程序被处理器执行时还实现如下操作:

每隔预设时间周期,获取新的短文本样本,建立新的rtree索引。

本实施例通过上述方案,获取多个短文本样本,基于所述短文本样本的时间信息将所述短文本样本划分为多个类别,所述短文本为字符数目未超过预设数目阈值的文本,分别基于各类别中的短文本样本建立rtree索引,获取当前文本,基于所述rtree索引,利用map-reduce分布式计算模型在所述短文本样本中查找若干个与所述当前文本内容相似的目标短文本,在短文本内容相似性查询中考虑时间维度,利用map-reduce分布式计算模型实现了在大量文本数据下对目标文本进行高效、精确的查找。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1