搜索方法及装置和电子设备与流程

摘要: 本说明书实施例涉及计算机,尤其涉及一种搜索方法及装置和电子设备。背景技术:1、当前的搜索系统主要依赖搜索词信息(query)进行搜索召回,这种方式在一些特定场景...
搜索方法及装置和电子设备与流程

本说明书实施例涉及计算机,尤其涉及一种搜索方法及装置和电子设备。

背景技术:

1、当前的搜索系统主要依赖搜索词信息(query)进行搜索召回,这种方式在一些特定场景中存在明显的缺陷:

2、在中长尾query场景下,由于搜索词信息存在稀疏长尾的特点,其历史行为信号弱,从而导致难以召回有效的数据对象;

3、在新用户冷启动场景下,由于搜索方缺乏历史行为数据,从而导致召回结果泛化性强但精准度不足。

4、综上,在上述特定场景中现有依赖搜索词信息的搜索方式,存在无搜索结果或搜索结果不准确而出现搜索失败的问题。

技术实现思路

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、当所述日志池中与所述搜索方信息对应的精排日志的数量大于阈值时,确定搜索意图为个性化搜索意图;

33、当所述搜索方信息表征搜索方为新用户时,确定搜索意图为强搜索意图。

34、可选的,所述精排日志包含搜索方唯一标识、搜索词、数据对象唯一标识、数据对象在精细化排序中的位置和搜索请求的时间戳。

35、可选的,所述方法还包括:

36、构建流式处理通道,基于所述流式处理通道提供的秒级数据处理能力,对所述日志池中的精排日志进行以下处理:

37、聚合精排日志中相同搜索词信息的所有数据对象,形成第一数据对象表;

38、聚合精排日志中相同搜索方信息的所有数据对象,形成第二数据对象表;

39、将所述第一数据对象表和所述第二数据对象表写入图数据库;其中,所述图数据库的数据结构为节点以及节点之间的链接关系,所述节点为数据对象,所述链接关系为所述数据对象之间存在的相同搜索词信息或相同搜索方信息。

40、可选的,所述将所述目标数据对象组成的最终搜索结果返回给搜索方,包括:

41、针对每个目标数据对象,查询以所述目标数据对象为起点的n跳数据对象;其中,所述n为大于或等于2的正整数;

42、将所述目标数据对象和对应的n跳数据对象进行合并和去重,得到最终搜索结果;

43、将所述最终搜索结果返回给搜索方。

44、可选的,所述查询以所述目标数据对象为起点的n跳数据对象,包括:基于swing算法构建的item-to-item关系,查询以所述目标数据对象为起点的n跳数据对象。

45、可选的,所述将所述目标数据对象组成的最终搜索结果返回给搜索方,包括:

46、向搜索方的终端设备输出所述目标数据对象组成的最终搜索结果,以使所述终端设备显示所述最终搜索结果。

47、根据本说明书实施例的第二方面,提供一种搜索系统,所述搜索系统包括:

48、搜索模块,用于基于搜索词信息进行初步搜索;

49、精排模型,用于在初步搜索成功时,对初次搜索结果中的多个数据对象进行精细化排序;

50、精排数据引擎,用于将精细化排序后的每个数据对象转换为对应的精排日志,以及将所述精排日志写入日志池;

51、所述搜索模块,还用于在初步搜索失败时,从所述日志池中搜索与所述搜索方信息和/或搜索词信息相关的目标精排日志,以及所述目标精排日志中记录的目标数据对象;将所述目标数据对象组成的最终搜索结果返回给搜索方。

52、根据本说明书实施例的第三方面,提供一种搜索装置,所述装置包括:

53、获取单元,获取搜索请求中携带的搜索方信息和搜索词信息,并基于所述搜索词信息进行初步搜索;

54、精排单元,如果所述初步搜索成功,则对初次搜索结果中的多个数据对象进行精细化排序,并将精细化排序后的每个数据对象转换为对应的精排日志,以及将所述精排日志写入日志池;

55、搜索单元,如果所述初步搜索失败,则从所述日志池中搜索与所述搜索方信息和/或搜索词信息相关的目标精排日志,以及所述目标精排日志中记录的目标数据对象;

56、返回单元,将所述目标数据对象组成的最终搜索结果返回给搜索方。

57、根据本说明书实施例的第四方面,提供一种电子设备,包括:

58、处理器;

59、用于存储处理器可执行指令的存储器;

60、其中,所述处理器被配置为上述任一项搜索方法。

61、根据本说明书实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如上任一项搜索方法。

62、根据本说明书实施例的第六方面,提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现如上述任一项搜索方法。

63、根据本说明书实施例的第七方面,提供一种精排数据引擎,所述精排数据引擎用于:

64、将精细化排序后的每个数据对象转换为对应的精排日志,并将所述精排日志写入日志池;

65、构建流式处理通道,基于所述流式处理通道提供的秒级数据处理能力,对所述日志池中的精排日志进行以下处理:

66、聚合精排日志中相同搜索词信息的所有数据对象,形成第一数据对象表;

67、聚合精排日志中相同搜索方信息的所有数据对象,形成第二数据对象表;

68、将所述第一数据对象表和所述第二数据对象表写入图数据库;其中,所述图数据库的数据结构为节点以及节点之间的链接关系,所述节点为数据对象,所述链接关系为所述数据对象之间存在的相同搜索词信息或相同搜索方信息。

69、本说明书实施例,提供了一种搜索方案,打破了传统搜索系统中召回结果向精排模型单向流动的壁垒,通过将精排模型输出的精排结果转化为可回流到召回阶段使用的精排日志,从而使得搜索系统在召回阶段,即使依赖搜索词信息无法搜索到相关数据对象时,依然可以复用历史转化的精排日志以查询与当前的搜索方信息和/或搜索词信息相关的目标精排日志,并将目标精排日志中记录的目标数据对象作为最终搜索结果。这种全新的搜索方式,能够充分利用精排模型已验证的历史精排结果包含的高质量搜索结果,以解决特定场景(如中长尾query场景、新用户冷启动场景)存在无搜索结果或搜索结果不准确而出现搜索失败的问题。