数据处理方法、装置、服务器及计算机可读存储介质与流程

文档序号:29423223发布日期:2022-03-26 14:37阅读:109来源:国知局
数据处理方法、装置、服务器及计算机可读存储介质与流程

1.本公开涉及互联网技术领域,尤其涉及一种数据处理方法、装置、服务器及计算机可读存储介质。


背景技术:

2.随着互联网技术的发展,搜索引擎在人们的日常生活中应用的越来越广泛,每天都有大量的人群通过搜索引擎搜索信息,其中,从用户进入搜索引擎开始搜索,到用户退出搜索引擎,是搜索引擎中用户的一次完整的搜索查询过程,该过程可用来训练词向量模型,以及构建协同过滤的训练样本。
3.但是,用户在进行一次完整的搜索查询过程中,搜索的时间间隔经常存在很大的差别,而且用户每次进行搜索时,所用的时间以及输入搜索文本也不相同,这便造成了搜索过程中无法形成有效准确的搜索信息,进而难以有效训练词向量模型以及协同过滤模型,进一步造成了获取搜索结果准确度低的问题。


技术实现要素:

4.本公开提供一种数据处理方法、装置、服务器及计算机可读存储介质,以至少解决相关技术中获取的搜索信息准确度低的问题。本公开的技术方案如下:
5.根据本公开实施例的第一方面,提供一种数据处理方法,包括:获取目标对象的搜索信息,其中,搜索信息包括至少一个搜索文本以及至少一个搜索文本对应的时间标识;基于时间标识对搜索信息进行聚类,得到第一序列,其中,第一序列由多个元素组成,每个元素包括至少一个搜索文本;获取多个元素中相邻元素之间的关联度,其中,多个元素按照预设的时间顺序排序;对关联度满足预设条件的相邻元素进行连接,得到目标元素;基于目标元素对第一序列进行更新,得到搜索序列,其中,搜索序列用于指示目标对象的搜索行为。
6.进一步地,数据处理方法还包括:获取多个对象在历史预设时长内的第一搜索信息;根据多个对象的对象标识对第一搜索信息进行聚类处理,得到聚类结果;获取目标对象的目标对象标识;将聚类结果中与目标对象标识对应的搜索信息,确定为目标对象的搜索信息。
7.进一步地,数据处理方法还包括:根据至少一个搜索文本对应的时间标识对至少一个搜索文本进行排序,得到排序结果;按照时间顺序对排序结果进行分层聚类,得到第一序列。
8.进一步地,数据处理方法还包括:按照时间顺序从第一元素所包含的至少一个搜索文本中获取第一搜索文本,其中,第一搜索文本为第一元素中的最后一个文本;按照时间顺序从第二元素所包含的至少一个搜索文本中获取第二搜索文本,其中,第一元素和第二元素为第一序列中在时间上相邻的两个元素,第二搜索文本为第二元素中的第一个文本,第一搜索文本对应的时间标识小于第二搜索文本对应的时间标识;计算第一搜索文本与第二搜索文本之间的相似度;根据相似度确定第一元素与第二元素之间的关联度。
9.进一步地,数据处理方法还包括:获取第一搜索文本在预设窗口下滑动所截取到的多个第一字节片段以及第二搜索文本在预设窗口下滑动所截取到的多个第二字节片段;计算多个第一字节片段所对应的第一概率以及多个第二字节片段所对应的第二概率,其中,第一概率表征了多个第一字节片段在第一搜索文本中出现的频率,第二概率表征了多个第二字节片段在第二搜索文本中出现的频率;根据第一概率以及第二概率确定第一搜索文本与第二搜索文本之间的相似度。
10.进一步地,数据处理方法还包括:计算多个第一字节片段的第一概率的乘积,得到第一搜索文本对应的第三概率;计算多个第二字节片段的第二概率的乘积,得到第二搜索文本对应的第四概率;根据第三概率和第四概率,得到第一搜索文本与第二搜索文本之间的相似度。
11.进一步地,数据处理方法还包括:在相似度大于或等于预设相似度时,获取第一元素与第二元素之间的关联度;在第一元素与第二元素之间的关联度大于预设关联度时,获取第一元素中的第三字节片段以及第二元素中的第四字节片段,其中,第三字节片段与第四字节片段为在时间上相邻的字节片段;根据第三字节片段与第四字节片段对第一元素和第二元素进行连接,得到目标元素。
12.进一步地,数据处理方法还包括:从第一序列所包含的多个元素中确定与目标元素对应的元素组合,其中,元素组合由第一元素和第二元素组成;基于目标元素对第一序列中的元素组合进行替换,得到搜索序列。
13.进一步地,数据处理方法还包括:在基于目标元素对第一序列进行更新,得到搜索序列之后,基于搜索序列对协同过滤模型进行训练,得到目标模型,其中,协同过滤模型用于根据目标对象的历史搜索信息推送与目标对象关联的信息。
14.进一步地,数据处理方法还包括:在基于目标元素对第一序列进行更新,得到搜索序列之后,基于搜索序列对词向量模型进行训练,得到目标词向量模型,其中,词向量模型用于对目标对象的搜索信息进行分类处理,并根据分类结果推送与目标对象关联的信息。
15.根据本公开实施例的第二方面,提供一种数据处理装置,包括:第一获取单元,被配置为执行获取目标对象的搜索信息,其中,搜索信息包括至少一个搜索文本以及至少一个搜索文本对应的时间标识;聚类单元,被配置为执行基于时间标识对搜索信息进行聚类,得到第一序列,其中,第一序列由多个元素组成,每个元素包括至少一个搜索文本;第二获取单元,被配置为执行获取多个元素中相邻元素之间的关联度,其中,多个元素按照预设的时间顺序排序;连接单元,被配置为执行对关联度满足预设条件的相邻元素进行连接,得到目标元素;更新单元,被配置为执行基于目标元素对第一序列进行更新,得到搜索序列,其中,搜索序列用于指示目标对象的搜索行为。
16.进一步地,第一获取单元包括:第三获取单元,被配置为执行获取多个对象在历史预设时长内的第一搜索信息;第一聚类单元,被配置为执行根据多个对象的对象标识对第一搜索信息进行聚类处理,得到聚类结果;第四获取单元,被配置为执行获取目标对象的目标对象标识;第一确定单元,被配置为执行将聚类结果中与目标对象标识对应的搜索信息,确定为目标对象的搜索信息。
17.进一步地,聚类单元包括:排序单元,被配置为执行根据至少一个搜索文本对应的时间标识对至少一个搜索文本进行排序,得到排序结果;第二聚类单元,被配置为执行按照
时间顺序对排序结果进行分层聚类,得到第一序列。
18.进一步地,第二获取单元包括:第五获取单元,被配置为执行按照时间顺序从第一元素所包含的至少一个搜索文本中获取第一搜索文本,其中,第一搜索文本为第一元素中的最后一个文本;第六获取单元,被配置为执行按照时间顺序从第二元素所包含的至少一个搜索文本中获取第二搜索文本,其中,第一元素和第二元素为第一序列中在时间上相邻的两个元素,第二搜索文本为第二元素中的第一个文本,第一搜索文本对应的时间标识小于第二搜索文本对应的时间标识;第一计算单元,被配置为执行计算第一搜索文本与第二搜索文本之间的相似度;第二确定单元,被配置为执行根据相似度确定第一元素与第二元素之间的关联度。
19.进一步地,第一计算单元包括:第七获取单元,被配置为执行获取第一搜索文本在预设窗口下滑动所截取到的多个第一字节片段以及第二搜索文本在预设窗口下滑动所截取到的多个第二字节片段;第二计算单元,被配置为执行计算多个第一字节片段所对应的第一概率以及多个第二字节片段所对应的第二概率,其中,第一概率表征多个第一字节片段在第一搜索文本中出现的频率,第二概率表征多个第二字节片段在第二搜索文本中出现的频率;第三确定单元,被配置为执行根据第一概率以及第二概率确定第一搜索文本与第二搜索文本之间的相似度。
20.进一步地,第三确定单元包括:第三计算单元,被配置为执行计算多个第一字节片段的第一概率的乘积,得到第一搜索文本对应的第三概率;第四计算单元,被配置为执行计算多个第二字节片段的第二概率的乘积,得到第二搜索文本对应的第四概率;第五计算单元,被配置为执行根据第三概率和第四概率,得到第一搜索文本与第二搜索文本之间的相似度。
21.进一步地,连接单元包括:第八获取单元,被配置为执行在相似度大于或等于预设相似度时,获取第一元素与第二元素之间的关联度;第九获取单元,被配置为执行在第一元素与第二元素之间的关联度大于预设关联度时,获取第一元素中的第三字节片段以及第二元素中的第四字节片段,其中,第三字节片段与第四字节片段为在时间上相邻的字节片段;第一连接单元,被配置为执行根据第三字节片段与第四字节片段对第一元素和第二元素进行连接,得到目标元素。
22.进一步地,更新单元包括:第四确定单元,被配置为执行从第一序列所包含的多个元素中确定与目标元素对应的元素组合,其中,元素组合由第一元素和第二元素组成;替换单元,被配置为执行基于目标元素对第一序列中的元素组合进行替换,得到搜索序列。
23.进一步地,数据处理装置还包括:第一训练单元,被配置为执行在基于目标元素对第一序列进行更新,得到搜索序列之后,基于搜索序列对协同过滤模型进行训练,得到目标模型,其中,协同过滤模型用于根据目标对象的历史搜索信息推送与目标对象关联的信息。
24.进一步地,数据处理装置还包括:第二训练单元,被配置为执行在基于目标元素对第一序列进行更新,得到搜索序列之后,基于搜索序列对词向量模型进行训练,得到目标词向量模型,其中,词向量模型用于对目标对象的搜索信息进行分类处理,并根据分类结果推送与目标对象关联的信息。
25.根据本公开实施例的第三方面,提供一种服务器,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现上述的数据处
理方法。
26.根据本公开实施例的第四方面,提供一种计算机刻度存储介质,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述的数据处理方法。
27.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现上述的数据处理方法。
28.本公开的实施例提供的技术方案至少带来以下有益效果:
29.在本公开实施例中,采用对目标对象的搜索信息进行分层聚类,并基于聚类结果确定目标对象的搜索信息所对应的搜索行为的方式,在获取到目标对象的搜索信息之后,基于搜索信息所包含的搜索文本的时间标识对搜索信息进行聚类,得到由多个元素组成的第一序列,然后确定多个元素中相邻元素之间的关联度,并对关联度满足预设条件的相邻元素进行连接,得到目标元素,最后,基于目标元素对第一序列进行更新,得到表征目标对象的搜索行为的搜索序列,其中,每个元素包括至少一个搜索文本,多个元素按照预设的时间顺序排序。在上述过程中,在本公开中,在基于时间标识对目标对象的搜索信息进行聚类之后,再计算聚类得到的第一序列所包含的多个元素之间的关联度,进而根据关联度对第一序列中的相邻元素进行连接,从而避免了基于时间标识对搜索信息进行聚类所导致的误分类的问题,从而提高了搜索信息的准确度。由此可见,本公开所提供的方案达到了准确获取搜索信息的目的,解决了相关技术中,由于搜索过程中,搜索时间间隔不同,导致的获取的搜索信息准确度低的问题,实现了提高搜索信息准确的效果。
30.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
31.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
32.图1是根据一示例性实施例示出的一种数据处理方法的流程图。
33.图2是根据一示例性实施例示出的一种聚类树的示意图。
34.图3是根据一示例性实施例示出的一种第一序列的示意图。
35.图4是根据一示例性实施例示出的一种第一序列的示意图。
36.图5是根据一示例性实施例示出的一种目标元素的示意图。
37.图6是根据一示例性实施例示出的一种搜索序列的示意图。
38.图7是根据一示例性实施例示出的一种数据处理装置的框图。
39.图8是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
40.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
41.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用
的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
42.需要说明的是,搜索引擎后台可作为本公开实施例的数据处理方法的执行主体,其中,搜索引擎后台可以为但不限于:物理服务器、云端服务器、台式计算机、笔记本计算机、智能平板以及智能手机等设备。
43.另外,还需要说明的是,本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
44.图1是根据一示例性实施例示出的一种数据处理方法的流程图,如图1所示,数据处理方法用于搜索引擎后台中,包括以下步骤。
45.步骤s11,获取目标对象的搜索信息。
46.在步骤s11中,搜索信息中至少包括至少一个搜索文本以及至少一个搜索文本对应的时间标识,目标对象可以为在搜索引擎上进行搜索信息的用户。另外,搜索文本可以是用户在搜索引擎上搜索的一个词,例如,“中国历史”、“美国历史”以及“英国历史”等;也可以是用户搜索的一个字或者一段话。可选的,搜索文本的形式包括但不限于:中文、英文、其他外语以及符号。搜索文本对应的时间标识可以是用户对搜索文本进行文本搜索时的搜索时刻,该搜索时刻可以以时间戳的形式与搜索文本关联。
47.步骤s12,基于时间标识对搜索信息进行聚类,得到第一序列。
48.在步骤s12中,第一序列由多个元素组成,每个元素包括至少一个搜索文本,每个搜索文本都有对应的时间标识,搜索引擎后台可以基于时间标识对搜索信息进行聚类,得到多个元素,其中,多个元素即为多个子session,每个子session表征一个终端用户与交互系统进行通信的会话过程。
49.在一种可选的实施例中,搜索引擎后台可根据每个搜索文本对应的标识信息对搜索信息所包含的多个搜索文本按照时间的先后顺序进行排序,例如,时间标识早的搜索文本在时间标识晚的搜索文本之前。进一步地,在基于时间标识对搜索信息所包含的搜索文本进行排序完成后,搜索引擎后台可将固定数量的搜索文本组合成为一个元素,例如,将10个搜索文本组成一个元素,依次类推,直至剩余的搜索文本不满足固定数量,则搜索引擎后台自动将剩余的搜索文本组合成为一个元素。
50.在另一种可选的实施例中,在排序完成后,搜索引擎后台还可按照固定时长对搜索文本进行聚类,例如,搜索文本1的时间标识为8:00,搜索文本2的时间标识为8:05,固定时长设置为10分钟,搜索文本2和搜索文本1相差时间为5分钟,小于10分钟,则搜索引擎后台将搜索文本1和搜索文本2组合为一个元素;搜索文本3的时间标识为8:20,则由于搜索文本3与搜索文本2之间的时间差值大于10分钟,则搜索文本3不与搜索文本1、搜索文本2组合为一个元素,而是将搜索文本3单独设置在一个元素中。
51.需要说明的是,目标对象在进行多次文本搜索时,可能两次搜索的间隔时间较长,在步骤s12中,基于时间标识对搜索信息进行聚类,得到由多个元素组成的第一序列,进而对第一序列中的元素进行处理,以确定表征目标对象的搜索行为的搜索序列,从而提高了获取搜索信息准确度。
52.步骤s13,获取多个元素中相邻元素之间的关联度。
53.在步骤s13中,多个元素在第一序列中按照预设的时间顺序排序,例如,多个元素按照目标对象对输入搜索文本的搜索时间进行排序。相邻元素为多个元素在第一序列中相邻的两个元素,例如,第一序列按照元素1、元素2、元素3的顺序排列,则元素1和元素2为相邻元素。
54.可选的,在将搜索信息按照时间标识进行聚类得到多个元素后,搜索引擎后台可对多个元素进行进一步整合,由于多个元素之间可能存在关联关系,例如,用户第一次搜索时,输入搜索文本为“北京”;第二次搜索时,输入的搜索文本为“北平”,则用户两次搜索的搜索文本相关性较强,而由于用户对搜索信息进行搜索时,搜索时间间隔较长,则两个搜索文本可能被聚类至两个不同的元素中,在该场景中,搜索引擎后台可通过计算多个元素中的搜索文本的相似度,并基于相似度来确定多个元素中相邻元素之间的关联度。
55.步骤s14,对关联度满足预设条件的相邻元素进行连接,得到目标元素。
56.在步骤s14中,上述预设条件可以为但不限于关联度大于预设关联度,即在相邻两个元素的关联度大于预设关联度时,将这两个相邻的元素进行连接,得到目标元素,例如,第一元素为“tensorflow”,第二元素为“教程”,两个元素的关联度大于预设关联度,则搜索引擎后台将第一元素和第二元素进行连接,得到目标元素“tensorflow教程”。
57.需要说明的是,上述的预设关联度可以由用户根据搜索经验进行自行设定,也可以由搜索引擎后台根据历史的搜索信息以及搜索结果进行自行调整。
58.步骤s15,基于目标元素对第一序列进行更新,得到搜索序列。
59.在步骤s15中,搜索序列用于指示目标对象的搜索行为。可选的,在获取到目标元素之后,搜索引擎后台将目标元素对第一序列中与目标元素对应的相邻元素进行替换,即可实现对第一序列的更新,从而得到搜索序列,例如,第一序列由元素1、元素2、元素3、元素4组成,其中,元素1为“tensorflow”,元素2为“教程”,目标元素为“tensorflow教程”,则在基于目标元素对第一序列进行更新后,搜索序列为“tensorflow教程”、元素3、元素4。
60.需要说明的是,在步骤s15中,搜索序列中的元素是由相关度较高的元素进行连接而得到的,由于关联度较高的元素已经连接组合成为新元素(即目标元素),而新元素能够更加准确的表征目标对象的搜索行为,因此,基于对第一序列更新后的搜索序列来得到搜索信息所对应的搜索结果更加准确。
61.基于本公开步骤s11至步骤s15所限定的方案,可以获知,在本公开实施例中,采用对目标对象的搜索信息进行分层聚类,并基于聚类结果确定目标对象的搜索信息所对应的搜索行为的方式,在获取到目标对象的搜索信息之后,基于搜索信息所包含的搜索文本的时间标识对搜索信息进行聚类,得到由多个元素组成的第一序列,然后确定多个元素中相邻元素之间的关联度,并对关联度满足预设条件的相邻元素进行连接,得到目标元素,最后,基于目标元素对第一序列进行更新,得到表征目标对象的搜索行为的搜索序列,其中,每个元素包括至少一个搜索文本,多个元素按照预设的时间顺序排序。
62.容易注意到的是,在本公开中,在基于时间标识对目标对象的搜索信息进行聚类之后,再计算聚类得到的第一序列所包含的多个元素之间的关联度,进而根据关联度对第一序列中的相邻元素进行连接,从而避免了基于时间标识对搜索信息进行聚类所导致的误分类的问题,从而提高了搜索信息的准确度。
63.由此可见,本公开所提供的方案达到了准确获取搜索信息的目的,解决了相关技术中,由于搜索过程中,搜索时间间隔不同,导致的获取的搜索信息准确度低的问题,实现了提高搜索信息准确的效果。
64.在一种可选的实施例中,在对搜索信息进行聚类之前,搜索引擎后台需获取目标对象的搜索信息。具体的,搜索引擎后台首先获取多个对象在历史预设时长内的第一搜索信息,然后根据多个对象的对象标识对第一搜索信息进行聚类处理,得到聚类结果,并获取目标对象的目标对象标识,最后将聚类结果中与目标对象标识对应的搜索信息,确定为目标对象的搜索信息。
65.可选的,搜索引擎后台获取多个对象在历史预设时长的第一搜索信息,例如,搜索引擎后台获取多个用户在近期一个月内的搜索信息,其中,上述多个对象为使用搜索引擎进行搜索的用户。然后,搜索引擎后台根据对象标识对第一搜索信息进行聚类处理,即搜索引擎后台将不同对象的搜索信息聚合到一起,例如,搜索引擎后台将对象a的搜索信息进行聚合组成聚类集合1;将对象b的搜索信息进行聚合组成聚类集合b,其中,对象标识用于对不同的对象进行区分。可选的,搜索引擎后台在对多个对象的第一搜索信息进行聚类处理,得到多个聚类集合后,使用对象标识对不同的聚类集合进行区分,例如,使用对象a的对象标识对聚类集合1进行标识,使用对象b的对象标识对聚类集合2进行标识。需要说明的是,上述对象标识可以但不限于对象的用户名、网络地址、用户账号等唯一标识对象的信息。
66.进一步的,在对多个对象的第一搜索信息进行聚类处理之后,搜索引擎后台即可根据目标对象的对象标识来从聚类结果中找出目标对象所对应的搜索信息,例如,目标对象的对象标识为b,则搜索引擎后台从聚类结果中找出对象标识为b的所有的搜索信息,该搜索信息即为目标对象所对应的搜索信息。
67.需要说明的是,在上述过程,根据不同对象的对象标识获取每个对象的历史搜索信息,实现了搜索信息的精细化获取,提高了获取搜索信息的精确度。另外,不同对象之间的搜索信息可能不同,从对象的维度来获取搜索信息,可以便于对不同对象之间的共性信息进行分析,以及对同一对象在不同时间段内的搜索信息进行意向分析,有利于提高后续运营管理效率。
68.在一种可选的实施例中,在获取到目标对象的搜索信息之后,搜索引擎后台可基于时间标识对搜索信息进行聚类,得到第一序列。具体的,搜索引擎后台根据至少一个搜索文本对应的时间标识对至少一个搜索文本进行排序,得到排序结果,并按照时间顺序对排序结果进行分层聚类,得到第一序列。
69.可选的,搜索信息中至少包括至少一个搜索文本以及至少一个搜索文本对应的时间标识,其中,搜索文本对应的时间标识可以是用户进行搜索文本时所对应的时刻,该时刻可以以时间戳的形式表示。当搜索信息中存在多个搜索文本时,搜索引擎后台可根据搜索文本对应的时间戳对搜索文本进行排序,例如,按照时间的先后对搜索文本进行排序,时间戳靠前的搜索文本排在时间戳靠后的搜索文本的前面,从而得到多个搜索文本的排序结果。
70.进一步的,在对搜索文本进行排序之后,搜索引擎后台可以采用分层聚类算法按照时间顺序将搜索信息划分为多个元素,其中,上述的时间顺序可以为多个搜索文本的时间戳的排列顺序。另外,分层聚类算法是聚类算法中的一种,其可通过计算不同类别数据点
间的相似度来创建一棵有层次的嵌套聚类树。在聚类树中,不同类别的原始数据点是树的最底层,树的顶层是一个聚类的根节点。通过分层聚类算法的合并算法,可以通过计算多个搜索文本间的相似性,对所有搜索文本点中最为相似的两个搜索文本进行组合,并且反复迭代这一过程,直到所有搜索文本全部进行组合,则此时搜索信息划分为了多个元素。例如,在图2所示的聚类树中,最底层是原始的搜索信息a、b、c、d、e、f、g的7个搜索文本点,根据7个搜索文本点之间的相似度组合为聚类树的第二层,即(a,f)、(b,c)、(d,e)和g。以此类推,即可生成完整的层次聚类树状图。
71.另外,分层聚类的算法包括但不限于:single linkage、complete linkage以及average linkage。其中,single linkage为简单聚类算法,其可将两个组合数据点中距离最近的两个数据点间的距离作为这两个组合数据点的距离;complete linkage为完全聚类算法,其可将两个组合数据点中距离最远的两个数据点间的距离作为这两个组合数据点的距离;average linkage为平均聚类算法,其可计算两个组合数据点中的每个数据点与其他所有数据点的距离。
72.需要说明的是,搜索引擎后台可以根据实际需求,选择不同的分层聚类的算法进行搜索文本的聚类,在此不做过多的赘述。
73.此外,还需要说明的是,由于用户进行两次文本搜索的时间间隔较长,当使用分层聚类算法对搜索文本进行组合时,可能会对时间间隔较长的文本进行组合,从而导致搜索文本获取不准确。而在本公开中,根据时间戳对搜索文本进行聚类,将搜索信息划分为多个元素,避免了搜索时间间隔对搜索结果的影响,提高了获取搜索信息准确度。
74.在一种可选的实施例中,在对搜素信息进行聚类,得到由多个元素组成的第一序列之后,搜索引擎后台计算多个元素中相邻元素之间的关联度。具体的,搜索引擎后台首先按照时间顺序从第一元素所包含的至少一个搜索文本中获取第一搜索文本,并按照时间顺序从第二元素所包含的至少一个搜索文本中获取第二搜索文本,然后计算第一搜索文本与第二搜索文本之间的相似度,并根据相似度确定第一元素与第二元素之间的关联度。其中,第一搜索文本为第一元素中的最后一个文本;第一元素和第二元素为第一序列中在时间上相邻的两个元素,第二搜索文本为第二元素中的第一个文本,第一搜索文本对应的时间标识小于第二搜索文本对应的时间标识。
75.可选的,上述时间顺序同样可以是多个元素的时间戳的排列顺序,由于多个元素是根据搜索文本的时间戳进行组合得到的,因此可根据每个元素所包含的搜索文本的时间戳来确定该元素所对应的时间戳,例如,可以将每个元素所包含的搜索文本的时间戳的平均时间作为当前元素所对应的时间戳,也可以将每个元素所包含的搜索文本的时间戳的最小值或者最大值作为当前元素所对应的时间戳。在确定了每个元素所对应的时间戳之后,搜索引擎后台按照每个元素所对应的时间戳对搜索信息所对应的多个元素进行排序。例如,在图3所示的第一序列的示意图中,第一序列由第一元素、第二元素、第三元素以及第四元素组成,并且,四个元素根据各自所对应的时间戳按照时间的先后顺序进行排序,例如,在图3中,第一元素所对应的时间早于第二元素所对应的时间,第二元素所对应的时间早于第三元素所对应的时间,第三元素所对应的时间早于第四元素所对应的时间。
76.进一步地,由于元素中可能包含多个搜索文本,搜索引擎后台在获取多个元素之间的关联度的过程中,可分别选取第一元素中的最后一个文本,即第一搜索文本,以及第二
元素中的第一个文本,即第二搜索文本,其中,按照元素的时间戳排序,第一元素在第二元素之前,即第一搜索文本对应的时间标识小于第二搜索文本对应的时间标识。
77.更进一步地,搜索引擎后台可计算第一搜索文本以及第二搜索文本之间的相似度,进而根据第一搜索文本以及第二搜索文本之间的相似度表征第一元素与第二元素之间的关联度。
78.需要注意到的是,在上述过程中,由于元素所包含的搜索文本数量可能数量较大,对每个元素内的每个搜索文本进行相似度比较,将极大的增加搜索引擎后台的负担,并且浪费计算时间,而通过对第一搜索文本以及第二搜索文本进行相似度计算,进而根据相似度确定第一元素与第二元素的之间的关联度,可以有效提高多个元素之间的关联度匹配效率,节省计算资源。
79.在一种可选的实施例中,在获取到第一搜索文本以及第二搜索文本之后,搜索引擎后台即可计算第一搜索文本与第二搜索文本之间的相似度。具体的,搜索引擎后台首先获取第一搜索文本在预设窗口下滑动所截取到的多个第一字节片段以及第二搜索文本在预设窗口下滑动所截取到的多个第二字节片段,并计算多个第一字节片段所对应的第一概率以及多个第二字节片段所对应的第二概率,然后根据第一概率以及第二概率确定第一搜索文本与第二搜索文本之间的相似度。其中,第一概率表征了多个第一字节片段在第一搜索文本中出现的频率,第二概率表征了多个第二字节片段在第二搜索文本中出现的频率。
80.例如,用户在8点2分时在搜索引擎中输入了第一搜索文本“i want to eat chinese food lunch spend”,预设窗口的字节数为2字节(假设每个单词为一个字节),则第一搜索文本所对应的多个第一字节片段为“i want”、“want to”、“to eat”、“eat chinese”、“chinese food”、“food lunch”、“lunch spend”,每个字节片段在预设语料库中出现的数量如表1所示:
81.表1
[0082] iwanttoeatchinesefoodlunchspendi5827090002want2060816651to204686206211eat0020162420chinese100008210food1501501400lunch20000100spend10100000
[0083]
在表1中,第一行,第二列标识前一个词为“i”,当前词为“want”的情况一共出现了827次。
[0084]
每个字节片段所对应的出现概率(即第一概率)可以如表2所示:
[0085]
表2
[0086] iwanttoeatchinesefoodlunchspendi0.0020.3300.00360000.00079want0.002200.660.00110.00650.00650.00540.0011
to0.0008300.00170.280.0008300.00250.087eat000.002700.0210.00270.0560chinese0.006300000.520.00630food0.01400.01400.000920.003700lunch0.005900000.002900spend0.003600.003600000
[0087]
在表2中,第一行,第二列标识前一个词为“i”,当前词为“want”的字节片段所对应的概率为0.33。
[0088]
同样的,第二搜索文本的处理方式与第一搜索文本的处理方式相同,第二概率的计算方式也与第一概率的计算方式相同,在此不再举例说明。
[0089]
需要说明的是,在对搜索信息进行分层聚类的过程中,是基于搜索信息所对应的时间戳来进行聚类的,在用户两次搜索间隔时间较长时,对搜索信息进行分层聚类存在误切分的问题,而对搜索信息进行错误的切分,会降低搜索序列的准确度,进而无法准确地向用户推送信息。在本技术中,在对搜索信息进行分类聚类之后,根据相邻两个搜索文本的字节片段在对应的搜索文本中出现的频率来计算两个搜索文本之间的相似度,进而根据相似度来确定相邻元素之间的关联度,从而根据关联度来对搜索信息所对应的序列进行更新,从而得到准确地搜索序列,保证了向用户推送信息的准确性。
[0090]
可选的,搜索引擎后台计算多个第一字节片段的第一概率的乘积,得到第一搜索文本对应的第三概率,计算多个第二字节片段的第二概率的乘积,得到第二搜索文本对应的第四概率,最后,根据第三概率和第四概率,得到第一搜索文本与第二搜索文本之间的相似度。
[0091]
可选的,搜索引擎后台在计算第一搜索文本与第二搜索文本之间的相似度时,搜索引擎后台可通过n-gram将元素中的搜索文本按照字节大小进行大小为n的滑动窗口操作,从而形成了长度为n的字节片段序列,其中,每一个字节片段可以称为一个gram,预设窗口即为上述大小为n的滑动窗口,n-gram为一种基于统计语言模型的算法。
[0092]
可选的,搜索引擎后台可通过n-gram算法对第一搜索文本以及第二搜索文本的字节片段进行概率计算,例如,搜索引擎后台统计了以下字节片段以及出现的数量:i(2533次)、want(927次)、to(2417次)、eat(746次)、chinese(158次)、food(1093次)、lunch(341次)以及spend(278次)。另外,搜索引擎后台可通过n-gram算法对上述第一字节片段对应的第一概率进行计算,如表2所示出的字节片段的频率分布。
[0093]
由上述表1和表2所知,字节片段“i”一共出现了2533次,而其后出现eat的次数一共有9次,则该字节片段的概率为,
[0094]
p(eat|i)=p(eat,i)/p(i)=count(i,eat)/count(i)=9/2533=0.0036
[0095]
需要注意到的是,字节片段的概率不是固定的,其可能受到字节片段在搜索文本中所处的位置等因素影响,因此,第一字节片段的第一概率与第二字节片段的第二概率也可能是不同的。
[0096]
进一步地,当第一搜索文本为s1“i want english food”,第二搜索文本为s2“want i english food”时,搜索引擎后台可对多个第一字节片段的第一概率进行乘积,得到第三概率,如:
[0097]
p(s1)=p(i|《s》)p(want|i)p(english|want)p(food|english)p(《/s》|food)
[0098]
=0.25
×
0.33
×
0.0011
×
0.5
×
0.68=0.000031
[0099]
并对多个第二字节片段的第二概率进行乘积,得到第四概率,如:
[0100]
p(s2)=p(want|《s》)p(i|want)p(english|want)p(food|english)p(《/s》|food)
[0101]
=0.25*0.0022*0.0011*0.5*0.68=0.00000002057
[0102]
进一步地,搜索引擎后台可对第三概率p(s1)与第四概率p(s2)进行比较,当两个概率值越接近时,对应的第一搜索文本与第二搜索文本越相似。
[0103]
需要说明的是,在上述过程中,由于对多个字节片段分别计算概率,并通过乘积计算得搜索文本对应的概率,因此所得到的概率值精确度很高,从而提高了判断第一搜索文本与第二搜索文本之间的相似度的准确性,进而实现了提高搜索数据获取的准确度的效果。
[0104]
在一种可选的实施例中,在获取到多个元素中相邻元素之间的关联度之后,搜索引擎后台即可对关联度满足预设条件的相邻元素进行连接,得到目标元素。具体的,在相似度大于或等于预设相似度时,获取第一元素与第二元素之间的关联度,在第一元素与第二元素之间的关联度大于预设关联度时,获取第一元素中的第三字节片段以及第二元素中的第四字节片段,并根据第三字节片段与第四字节片段对第一元素和第二元素进行连接,得到目标元素。其中,第三字节片段与第四字节片段为在时间上相邻的字节片段。
[0105]
可选的,预设相似度可以根据统计模型得到,该预设相似度可通过计算所有元素中的第一搜索文本以及第二搜索文本所对应的概率,并对得到概率进行从小到大排序,然后取75分位数作为预设相似度。其中,75分位数只是一种示例,在实际应用中,可根据实际情况对该分位数进行相应的调整。
[0106]
进一步地,当第一搜索文本以及第二搜索文本的相似度大于或等于预设相似度时,如果第一元素对应的时间戳小于第二元素对应的时间戳,则搜索引擎后台可根据第一元素中的最后一个字节片段(即第三字节片段)与第二元素中的第一个字节片段(即第四字节片段)对第一元素和第二元素进行连接,得到目标元素。例如,在图4所示的第一序列的示意图中,第一元素由10、11、12、13四个字节片段组成,第二元素由20、21、22、23四个字节片段组成,其中,第一元素与第二元素之间的关联度大于预设关联度,则对第一元素与第二元素进行连接操作,得到图5所示的目标元素的示意图。由于字节片段13(即第三字节片段)与字节片段20(即第四字节片段)所对应的时间戳在时间上相邻,因此,在对第一元素与第二元素进行连接之后,在目标元素中,字节片段13与字节片段20相邻。
[0107]
需要说明的是,由于第一搜索文本以及第二搜索文本的相似度大于或等于预设相似度,说明对应的第一元素和第二元素关联度较高,因此,对第一元素和第二元素进行连接,可以丰富元素内容并且减少元素数量,提高搜索引擎后台的资源利用率,而且,对关联度高的元素进行连接,可以将相关的搜索信息进行集中,与不相关的搜索信息进行区别,从而实现了提高搜索信息获取准确度的效果。
[0108]
在一种可选的实施例中,在得到目标元素之后,搜索引擎后台基于目标元素对第一序列进行更新,得到搜索序列。具体的,搜索引擎后台从第一序列所包含的多个元素中确定与目标元素对应的元素组合,并基于目标元素对第一序列中的元素组合进行替换,得到搜索序列。其中,元素组合由第一元素和第二元素组成。例如,第一序列由元素1、元素2、元
素3、元素4组成,其中,元素1为“tensorflow”,元素2为“教程”,目标元素为“tensorflow教程”,则元素组合为“元素1,元素2”,在基于目标元素对第一序列进行更新后,搜索序列为“tensorflow教程”、元素3、元素4。又例如,在图6所示的搜索序列的示意图中,目标元素替换掉了第一序列中的第一元素和第二元素,得到图6所示的搜索序列。
[0109]
需要说明的是,第一元素与第二元素为相关度较高的元素,对相关度较高的元素进行组合得到的元素组合,得到目标元素,由于关联度较高的元素已经连接组合成为新元素(即目标元素),而新元素能够更加准确的表征目标对象的搜索行为,因此,基于对第一序列更新后的搜索序列来得到搜索信息所对应的搜索结果更加准确。
[0110]
在一种可选的实施例中,在基于目标元素对第一序列进行更新,得到搜索序列之后,搜索引擎后台可基于搜索序列对协同过滤模型进行训练,得到目标模型,也可基于搜索序列对词向量模型进行训练,得到目标词向量模型,其中,协同过滤模型用于根据目标对象的历史搜索信息推送与目标对象关联的信息,词向量模型用于对目标对象的搜索信息进行分类处理,并根据分类结果推送与目标对象关联的信息。
[0111]
可选的,协同过滤是指利用兴趣相投、拥有共同经验的群体的喜好来推荐用户感兴趣的信息的一种信息推荐方式。其中,在本公开中,搜索引擎后台可基于目标模型对目标对象的历史搜索信息进行处理,并获取目标模型输出的与目标对象关联的推荐信息,并将该推荐信息推送至目标对象。
[0112]
可选的,上述词向量模型可以包括但不限于word2vec等一系列用来产生词向量的相关模型。其中,在本公开中,搜索引擎后台使用词向量模型对目标对象的搜索信息进行分类,并根据分类结果向目标对象推送信息,例如,搜索引擎后台根据目标对象输入的搜索信息确定目标对象输入的搜索信息的类型为“化妆品”,则搜索引擎后台向目标对象推送有关“化妆品”的相关信息,例如,如何选购化妆品的信息、平价化妆品的比较信息等。
[0113]
需要说明的是,由于本公开实施例的搜索序列是根据多个元素之间的关联度连接多个元素所得到的,因此,与相关技术中未对搜索信息进行整理得到的搜索序列相比,本公开实施例所得到的搜索序列的准确度更高,训练词向量模型的效果更好,实现了提高词向量模型训练效率的效果。
[0114]
由上述内容可知,在本公开实施例中,在基于时间标识对目标对象的搜索信息进行聚类之后,再计算聚类得到的第一序列所包含的多个元素之间的关联度,进而根据关联度对第一序列中的相邻元素进行连接,从而避免了基于时间标识对搜索信息进行聚类所导致的误分类的问题,从而提高了搜索信息的准确度。
[0115]
图7是根据一示例性实施例示出的一种数据处理装置的框图,参照图7所示,数据处理装置包括:第一获取单元201、聚类单元202、第二获取单元203、连接单元204以及更新单元205。
[0116]
其中,第一获取单元201,被配置为执行获取目标对象的搜索信息,其中,所述搜索信息包括至少一个搜索文本以及所述至少一个搜索文本对应的时间标识;聚类单元202,被配置为执行基于所述时间标识对所述搜索信息进行聚类,得到第一序列,其中,所述第一序列由多个元素组成,每个元素包括至少一个搜索文本;第二获取单元203,被配置为执行获取所述多个元素中相邻元素之间的关联度,其中,所述多个元素按照预设的时间顺序排序;连接单元204,被配置为执行对所述关联度满足预设条件的相邻元素进行连接,得到目标元
素;更新单元205,被配置为执行基于所述目标元素对所述第一序列进行更新,得到搜索序列,其中,所述搜索序列用于指示所述目标对象的搜索行为。
[0117]
需要说明的是,上述第一获取单元201、聚类单元202、第二获取单元203、连接单元204以及更新单元205对应于上述方法实施例中的步骤s11至步骤s15,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述数据处理方法实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
[0118]
在一种可选的实施例中,第一获取单元包括:第三获取单元、第一聚类单元、第四获取单元以及第一确定单元。其中,第三获取单元,被配置为执行获取多个对象在历史预设时长内的第一搜索信息;第一聚类单元,被配置为执行根据多个对象的对象标识对第一搜索信息进行聚类处理,得到聚类结果;第四获取单元,被配置为执行获取目标对象的目标对象标识;第一确定单元,被配置为执行将聚类结果中与目标对象标识对应的搜索信息,确定为目标对象的搜索信息。
[0119]
在一种可选的实施例中,聚类单元包括:排序单元以及第二聚类单元。其中,排序单元,被配置为执行根据至少一个搜索文本对应的时间标识对至少一个搜索文本进行排序,得到排序结果;第二聚类单元,被配置为执行按照时间顺序对排序结果进行分层聚类,得到第一序列。
[0120]
在一种可选的实施例中,第二获取单元包括:第五获取单元、第六获取单元、第一计算单元以及第二确定单元。其中,第五获取单元,被配置为执行按照时间顺序从第一元素所包含的至少一个搜索文本中获取第一搜索文本,其中,第一搜索文本为第一元素中的最后一个文本;第六获取单元,被配置为执行按照时间顺序从第二元素所包含的至少一个搜索文本中获取第二搜索文本,其中,第一元素和第二元素为第一序列中在时间上相邻的两个元素,第二搜索文本为第二元素中的第一个文本,第一搜索文本对应的时间标识小于第二搜索文本对应的时间标识;第一计算单元,被配置为执行计算第一搜索文本与第二搜索文本之间的相似度;第二确定单元,被配置为执行根据相似度确定第一元素与第二元素之间的关联度。
[0121]
在一种可选的实施例中,第一计算单元包括:第七获取单元、第二计算单元以及第三确定单元。其中,第七获取单元,被配置为执行获取第一搜索文本在预设窗口下滑动所截取到的多个第一字节片段以及第二搜索文本在预设窗口滑动所截取到的多个第二字节片段;第二计算单元,被配置为执行计算多个第一字节片段所对应的第一概率以及多个第二字节片段所对应的第二概率,其中,第一概率表征了多个第一字节片段在第一搜索文本中出现的频率,第二概率表征了多个第二字节片段在第二搜索文本中出现的频率;第三确定单元,被配置为执行根据第一概率以及第二概率确定第一搜索文本与第二搜索文本之间的相似度。
[0122]
在一种可选的实施例中,第三确定单元包括:第三计算单元、第四计算单元以及第五计算单元。其中,第三计算单元,被配置为执行计算多个第一字节片段的第一概率的乘积,得到第一搜索文本对应的第三概率;第四计算单元,被配置为执行计算多个第二字节片段的第二概率的乘积,得到第二搜索文本对应的第四概率;第五计算单元,被配置为执行根据第三概率和第四概率,得到第一搜索文本与第二搜索文本之间的相似度。
[0123]
在一种可选的实施例中,连接单元包括:第八获取单元、第九获取单元以及第一连
接单元。其中,第八获取单元,被配置为执行在相似度大于或等于预设相似度时,获取第一元素与第二元素之间的关联度;第九获取单元,被配置为执行在第一元素与第二元素之间的关联度大于预设关联度时,获取第一元素中的第三字节片段以及第二元素中的第四字节片段,其中,第三字节片段与第四字节片段为在时间上相邻的字节片段;第一连接单元,被配置为执行根据第三字节片段与第四字节片段对第一元素和第二元素进行连接,得到目标元素。
[0124]
在一种可选的实施例中,更新单元包括:第四确定单元以及替换单元。其中,第四确定单元,被配置为执行从第一序列所包含的多个元素中确定与目标元素对应的元素组合,其中,元素组合由第一元素和第二元素组成;替换单元,被配置为执行基于目标元素对第一序列中的元素组合进行替换,得到搜索序列。
[0125]
在一种可选的实施例中,数据处理装置还包括:第一训练单元,被配置为执行在基于目标元素对第一序列进行更新,得到搜索序列之后,基于搜索序列对协同过滤模型进行训练,得到目标模型,其中,协同过滤模型用于根据目标对象的历史搜索信息推送与目标对象关联的信息。
[0126]
在一种可选的实施例中,数据处理装置还包括:第二训练单元,被配置为执行在基于目标元素对第一序列进行更新,得到搜索序列之后,基于搜索序列对词向量模型进行训练,得到目标词向量模型,其中,词向量模型用于对目标对象的搜索信息进行分类处理,并根据分类结果推送与目标对象关联的信息。
[0127]
需要说明的是,关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0128]
根据本公开实施例,还提供一种服务器的实施例,包括:处理器;用于存储上述处理器可执行指令的存储器;其中,上述处理器被配置为执行上述指令,以实现任一项上述的数据处理方法。
[0129]
可选地,图8是根据一示例性实施例示出的一种服务器的框图,参照图8所示,该计算机终端可以包括:至少一个(图中仅示出一个)处理器31、存储器32以及外设接口33,等等。
[0130]
其中,存储器可用于存储软件程序以及模块,如本公开实施例中的数据处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0131]
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行任一项上述的数据处理方法步骤。
[0132]
根据本公开实施例,还提供一种计算机可读存储介质的实施例,当上述计算机可读存储介质中的指令由服务器的处理器执行时,使得服务器能够执行任一项上述的数据处理方法。
[0133]
根据本公开实施例,提供一种计算机程序产品的实施例,当在数据处理设备上执
行时,适于执行初始化有任一项上述的数据处理方法的程序。
[0134]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0135]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0136]
在本公开所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0137]
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0138]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0139]
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的计算机存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0140]
以上上述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
[0141]
另外,本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0142]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1