垂类搜索方法及装置与流程-尊龙凯时官方app下载

文档序号:36497280发布日期:2023-12-27 19:39阅读:2来源:国知局
垂类搜索方法及装置与流程
垂类搜索方法及装置、搜索系统、存储介质
技术领域
1.本公开涉及数据搜索技术领域,具体涉及一种垂类搜索方法及装置、搜索系统、存储介质。


背景技术:

2.垂类搜索是指针对特定的垂直领域的信息进行搜索,垂类搜索的能力一般会结合垂直领域的数据特点进行改进,例如针对商品、音乐、影视、游戏等领域进行的搜索均属于垂类搜索。
3.现如今,随着机器学习(ml,machine learning)技术的发展,相关技术中的搜索系统更多利用transformer、bert等深度学习模型实现垂类搜索,但是这种搜索系统泛化能力差,而且针对用户泛意图的搜索语义理解能力差,导致搜索效果不佳。


技术实现要素:

4.为提高搜索系统的泛化能力和语义理解能力,进而提高信息搜索效果,本公开实施方式提供了一种垂类搜索方法及装置、搜索系统、存储介质。
5.第一方面,本公开实施方式提供了一种垂类搜索方法,包括:获取用户查询短语,并基于预设限制文本对所述用户查询短语进行文本改写,得到对话查询文本;将所述对话查询文本输入预先训练得到的对话大模型,得到所述对话大模型输出的响应结果;基于所述响应结果在数据库中的多个实体中匹配得到目标实体;根据所述目标实体确定与所述用户查询短语对应的搜索结果。
6.在一些实施方式中,所述基于所述响应结果在数据库中的多个实体中匹配得到目标实体,包括:基于所述响应结果与所述数据库中包括的每个实体进行文本分匹配,并将文本分最高的实体确定为所述目标实体。
7.在一些实施方式中,所述根据所述目标实体确定与所述用户查询短语对应的搜索结果,包括:基于所述目标实体确定历史时段内所述目标实体对应的搜索日志,所述搜索日志用于记录在用户查询短语为所述目标实体的情况下用户实际点击的实体结果;基于所述搜索日志统计在用户查询短语为所述目标实体的情况下,用户实际点击的各个实体结果的点击次数;根据所述点击次数从高到低对各个实体结果进行排序,并确定前预设数量的实体结果作为所述搜索结果。
8.在一些实施方式中,在所述根据所述目标实体确定与所述用户查询短语对应的搜索结果之后,还包括:
根据所述搜索结果生成结果页,并输出显示所述结果页。
9.在一些实施方式中,所述获取用户查询短语,并基于预设限制文本对所述用户查询短语进行文本改写,得到对话查询文本,包括:对获取到的所述用户查询短语进行文本检测;响应于从所述用户查询短语中检测到预设关键词,基于所述预设限制文本对所述用户查询短语进行文本改写,得到所述对话查询文本。
10.在一些实施方式中,预先训练得到所述对话大模型的过程包括:获取训练数据集,所述训练数据集包括预设垂类领域的实体简介数据、实体标签数据以及搜索点击数据对;根据所述训练数据集生成对话样本数据,并利用所述对话样本数据对预训练的对话大模型进行知识注入,得到训练后的对话大模型。
11.在一些实施方式中,所述获取用户查询短语包括:获取用户输入文本信息,根据所述用户输入文本信息确定所述用户查询短语;或者,获取用户语音信息,对所述用户语音信息进行文本识别得到所述用户查询短语。
12.第二方面,本公开实施方式提供了一种垂类搜索装置,包括:文本改写模块,被配置为获取用户查询短语,并基于预设限制文本对所述用户查询短语进行文本改写,得到对话查询文本;对话模型模块,被配置为将所述对话查询文本输入预先训练得到的对话大模型,得到所述对话大模型输出的响应结果;实体匹配模块,被配置为基于所述响应结果在数据库中的多个实体中匹配得到目标实体;结果确定模块,被配置为根据所述目标实体确定与所述用户查询短语对应的搜索结果。
13.在一些实施方式中,所述实体匹配模块被配置为:基于所述响应结果与所述数据库中包括的每个实体进行文本分匹配,并将文本分最高的实体确定为所述目标实体。
14.在一些实施方式中,所述结果确定模块被配置为:基于所述目标实体确定历史时段内所述目标实体对应的搜索日志,所述搜索日志用于记录在用户查询短语为所述目标实体的情况下用户实际点击的实体结果;基于所述搜索日志统计在用户查询短语为所述目标实体的情况下,用户实际点击的各个实体结果的点击次数;根据所述点击次数从高到低对各个实体结果进行排序,并确定前预设数量的实体结果作为所述搜索结果。
15.在一些实施方式中,本公开所述的垂类搜索装置,还包括结果显示模块,所述结果显示模块被配置为:根据所述搜索结果生成结果页,并输出显示所述结果页。
16.在一些实施方式中,所述文本改写模块被配置为:对获取到的所述用户查询短语进行文本检测;
响应于从所述用户查询短语中检测到预设关键词,基于所述预设限制文本对所述用户查询短语进行文本改写,得到所述对话查询文本。
17.在一些实施方式中,所述对话模型模块被配置为:获取训练数据集,所述训练数据集包括预设垂类领域的实体简介数据、实体标签数据以及搜索点击数据对;根据所述训练数据集生成对话样本数据,并利用所述对话样本数据对预训练的对话大模型进行知识注入,得到训练后的对话大模型。
18.在一些实施方式中,所述文本改写模块被配置为:获取用户输入文本信息,根据所述用户输入文本信息确定所述用户查询短语;或者,获取用户语音信息,对所述用户语音信息进行文本识别得到所述用户查询短语。
19.第三方面,本公开实施方式提供了一种搜索系统,包括:处理器;和存储器,存储有计算机指令,所述计算机指令用于使处理器执行根据第一方面任意实施方式所述的方法。
20.第四方面,本公开实施方式提供了一种存储介质,存储有计算机指令,所述计算机指令用于使计算机执行根据第一方面任意实施方式所述的方法。
21.本公开实施方式的垂类搜索方法,包括基于预设限制文本对获取到的用户查询短语进行文本改写得到对话查询文本,将对话查询文本输入预先训练得到的对话大模型得到输出的响应结果,基于响应结果在数据库中的多个实体中匹配得到目标实体,根据目标实体确定对应的搜索结果。
本公开实施方式中,利用对话大模型实现垂类领域的数据搜索,提高搜索引擎的语义理解能力和语义表征能力,更好理解用户意图,尤其是针对泛意图搜索具有更好的性能,提高搜索效果,而且搜索引擎的泛化能力更强,便于实现不同垂类领域的跨场景部署。
附图说明
22.为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1是相关技术中搜索系统的结构框图。
24.图2是根据本公开一些实施方式中搜索系统的架构图。
25.图3是根据本公开一些实施方式中垂类搜索方法的流程图。
26.图4是根据本公开一些实施方式中垂类搜索方法的流程图。
27.图5是根据本公开一些实施方式中垂类搜索方法的流程图。
28.图6是根据本公开一些实施方式中垂类搜索方法的流程图。
29.图7是根据本公开一些实施方式中垂类搜索装置的结构框图。
30.图8是根据本公开一些实施方式中搜索系统的结构框图。
具体实施方式
31.下面将结合附图对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本公开一部分实施方式,而不是全部的实施方式。
基于本公开中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本公开保护的范围。
此外,下面所描述的本公开不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
32.搜索引擎根据搜索内容的不同可以分为泛搜索和垂类搜索。
泛搜索是指针对通用信息进行搜索,例如常用的搜索网站即属于泛搜索。
垂类搜索是指针对特定的垂直领域的信息进行搜索,垂类搜索的能力一般会结合垂直领域的数据特点进行改进,例如针对商品、音乐、影视、游戏等领域进行的搜索均属于垂类搜索。
33.在数据搜索领域,精准理解用户搜索意图是提高结果召回精度的根本,随着机器学习技术(ml,machine learning)的发展,越来越多的nlp(natural language processing,自然语言处理)模型被应用到搜索领域中,例如dssm(deep structured semantic model,深层结构语音模型)、deepfm、transformer、bert等。
34.传统的垂类搜索系统的软件架构一般如图1所示,其包括语义理解模块、结果召回模块、结果排序模块和重排序模块。
35.语义理解模块主要用户对用户查询短语(query)进行意图识别,分析用户输入的文本是什么意思。
召回模块主要是根据用户输入的查询短语召回搜索的结果。
结果排序模块主要是根据一定的排序规则对召回结果进行排序,得到搜索结果。
重排序模块主要是根据一定的人工干预对搜索结果进行重排序,并将最终的搜索结果呈现给用户。
36.相关技术中,上述搜索系统的每一个模块即为一个深度神经网络模型,通过利用垂类领域的海量数据对各个模块进行建模和联合训练,即可得到针对该垂类领域的搜索系统。
37.但是在上述相关技术方案中,传统的机器学习模型一般是针对单一文本库进行建模和学习,模型泛化能力较差,无法实现跨场景适配。
而且语义理解能力较差,尤其是针对用户泛意图的搜索,搜索引擎无法很好理解,导致召回的搜索结果不是用户想要的。
38.例如以手机游戏搜索领域为例,当用户想要下载手机游戏时,一般可以在“应用商店”中搜索自己想要下载的游戏。
通过对应用商店搜索游戏的用户输入文本(query)进行统计发现,一般用户输入文本的长度由
1~28不等,也即用户输入文本存在长尾分布,并非所有输入文本都能准确指向某款游戏。
39.例如一个示例中,当用户想要下载

王者荣耀

这款游戏时,可以在应用商店的搜索栏中输入“王者”或者“王者荣耀”并点击确认,然后在搜索结果页面中选择所对应的游戏进行下载。
40.但是当用户需要进行泛意图搜索时,用户输入文本更加接近对话式搜索。
例如用户想要下载

王者荣耀

这款游戏,但是不知道游戏名称,只知道游戏中的某个角色名,从而用户输入文本可能是“什么游戏有安琪拉”或者“有一个角色叫安琪拉的网络游戏”。
41.例如另一个示例中,以影视或音乐搜索领域为例,用户可能并没有明确的搜索意图,而是仅希望根据标签或当前喜好进行泛意图搜索,例如用户输入文本可能是“男生爱看的悬疑电影”或“今年评分最高的喜剧电影”。
42.此时,基于传统的搜索引擎很难理解用户意图,导致最终召回的游戏与用户实际想要下载的游戏存在较大偏差,搜索效果较差。
43.基于上述相关技术存在的缺陷,本公开实施方式提供了一种垂类搜索方法、装置、搜索系统及存储介质,旨在利用对话大模型作为基座模型实现垂直领域的搜索,提高搜索系统的泛化能力,只需要在对话大模型基础上进行微调即可适用各种垂直领域的搜索任务,并且提高搜索系统的语义理解能力,提高搜索精度。
44.可以理解,大模型是指大规模语言模型(
large language model
)的简称,大模型的特点体现在两方面:一是“大”,即模型的参数量非常大,通常可以达到数百万到数十亿参数量,甚至像chatgpt等大模型具有上千亿的参数;另一是“预训练”,也即模型已经在大规模数据集上完成了预训练,只需要结合少量数据进行微调,就可以支撑在各种场景的应用。
目前,各大厂商均部署有各自的大模型,例如前述的chatgpt,又例如chatglm、文心、盘古、讯飞星火等。
45.本公开实施方式中,对话大模型即为前述的大模型在对话场景的应用,可以实现例如问答机器人、文本汇总、内容生成、数据搜索等任务。
例如以垂类搜索为例,图2示出了本公开一些实施方式中搜索系统的架构图。
46.如图2所示,在一些实施方式中,本公开示例的搜索系统可以包括客户端
100
和服务端
200,客户端
100
与服务端
200
通过无线网络建立可通信连接。
47.客户端
100
是指用户设备端,客户端
100
可以是例如智能手机、平板电脑、智能手表、笔记本电脑等设备类型。
以搜索场景为例,用户可以通过客户端
100
以手写、键盘输入、语音输入等方式输入用户查询短语(query),用户查询短语(query)是指用户输入的搜索信息。
48.服务端
200
是指服务器,服务端
200
可以是例如单台服务器、服务器集群、云端服务器等。
在一些实施方式中,本公开示例的对话大模型即可部署于服务端
200。
49.仍以搜索场景为例,当用户想要搜索时,可以在客户端
100
输入用户查询短语并点击确定,客户端
100
将用户查询短语发送至服务端
200,服务端
200
即可通过执行本公开下文所述的垂类搜索方法,得到最终的搜索结果并返回给客户端
100,从而客户端
100
将搜索结果呈现给用户。
50.当然,需要说明的是,在客户端
100
硬件性能允许的情况下,本公开所述的对话大模型也可以部署于客户端
100,从而在搜索场景下,仅由客户端
100
执行本公开下文所述的垂类搜索方法,即可实现本地搜索,无需依赖于服务端
200,本领域技术人员对此可以理解,本公开不再赘述。
51.在图2示例的搜索系统的基础上,下面对本公开实施方式的垂类搜索方法进行说明。
52.首先,值得说明的是,本公开实施方式的搜索系统的原理区别于图1所示的传统搜索系统,本公开实施方式中,利用对话大模型取代传统方案中的各个神经网络模型。
对话大模型可以采用通用的大语言模型作为基座模型,例如基座模型可以是前述的chatgpt、ghatglm、文心、盘古、讯飞星火等,本公开对此不作限制。
53.本公开实施方式中,对于垂类领域场景,可以结合垂类领域的少量数据对基座模型进行训练微调,得到应用于垂类领域的对话大模型。
在对话大模型上线部署之后,可以利
用对话大模型结合一定的后处理逻辑,实现垂类搜索任务。
54.通过上述可知,本公开实施方式中,需要预先训练得到应用于垂类领域的对话大模型,然后利用对话大模型实现垂类领域的搜索任务,为便于理解和说明,本公开下文实施方式中将分别对此进行说明。
[0055]1)模型训练本公开实施方式中,可以选择通用的大语言模型作为基座模型,例如基座模型可以是前述的chatgpt、ghatglm、文心、盘古、讯飞星火等,本公开对此不作限制。
[0056]例如一些实施方式中,基座模型可以采用chatglm,chatglm全称chat general language model,是一个开源且支持中英双语的对话语言模型。chatglm使用了和chatgpt相似的技术,并针对中文问答和对话进行了优化,经过约
1t标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,已经能够生成相当符合中文环境的人类偏好回答。
[0057]另外,chatglm相较于chatgpt体积更小,以chatglm-6b为例,其仅具有
62亿参数,结合模型量化技术,已经可以在消费级显卡上进行部署,例如可以部署在移动终端。
因此,本公开一些实施方式中,基座模型可以采用chatglm-6b。
[0058]根据前述可知,基座模型是已经在大规模数据集上完成了预训练的模型,相当于模型已经学习了大量通用基础知识,在应用于垂类领域时,还需要利用垂类领域的数据对基座模型进行微调训练,从而得到适用于垂类领域任务的对话大模型。
[0059]为便于理解和说明,在一个示例中,垂类领域将以手机游戏搜索为例,下面结合图3对本公开所述的对话大模型的训练过程进行说明。
[0060]如图3所示,在一些实施方式中,本公开示例的垂类搜索方法,训练得到对话大模型的过程,包括:s310、获取训练数据集。
[0061]s320、根据训练数据集生成对话样本数据,并利用对话样本数据对预训练的对话大模型进行知识注入,得到训练后的对话大模型。
[0062]本公开实施方式中,训练数据集包括多个垂类领域的训练数据,在一些实施方式中,训练数据可以包括多个类别,例如一个示例中,垂类领域的训练数据可以包括实体简介数据、实体标签数据以及搜索点击数据对。
[0063]实体简介数据是指垂类领域的各个实体对应的文本简介,实体标签数据是指垂类领域的各个实体对应的标签信息,搜索点击数据对是指用户输入的查询短语与最终点击的实体所组成的数据对。
[0064]例如以游戏搜索领域为例,游戏库中包括的每个游戏即为一个实体,实体简介数据表示某款游戏对应的简介信息,例如一个示例中,游戏实体以

冲冲冲快冲

为例,其对应的实体简介信息可如下表一所示:表一
[0065]实体标签数据表示某款游戏对应的标签信息,例如一个示例中,游戏实体仍以

冲冲冲快冲

为例,其对应的实体简介信息可如下表二所示:表二
[0066]搜索点击数据对表示用户输入的查询短语与最终点击下载的某款游戏实体所组成的数据对,该搜索点击数据对可以通过统计历史时间段内的搜索日志得到,例如一个示例中,搜索点击数据对可如下表三所示:表三
[0067]在上表三中,第一行表示用户输入的查询短语为“王者”,最终选择点击下载的游戏实体为

王者荣耀
》,从而查询短语“王者”与点击实体“《
王者荣耀
》”即为一个搜索点击数据对,其余同理。
[0068]本公开上文示例中,针对游戏实体的实体简介数据可以根据各个游戏开发商提供的简介文本直接获取得到。
实体标签数据可以根据各个游戏开发商提供的标签信息得到,也可以对每个游戏实体进行标注得到。
搜索点击数据对可以通过统计应用商店的搜索日志
(querylog)获取得到,本公开对此不再赘述。
[0069]在完成上述训练数据集的构建之后,即可利用该训练数据集对基座模型进行微调训练。
[0070]在一些实施方式中,首先可以对基座模型的模型架构进行微调,微调算法可以采用例如p-tuning、adalora等微调算法,另外为提高训练效率,可以采用deepspeed框架加速微调过程。
对基座模型进行微调的基本原理是冻结基础的对话大模型的网络参数,通过加入额外的网络层,并只训练这些新增网络层参数。
对于前述的微调算法及框架加速原理,本领域技术人员参照相关技术毫无疑问可以理解并充分实现,本公开对此不再赘述。
[0071]在对作为基座模型的对话大模型进行微调之后,即可利用前述的训练数据集对对话大模型进行垂类领域的模型训练,模型训练的目标是使得通用的对话大模型可以学习垂类领域的知识,因此模型训练的过程也即对对话大模型进行知识注入的过程。
[0072]在一些实施方式中,可以基于prompt思想,根据训练数据集生成对话样本数据,以模拟情景对话的方式实现对对话大模型的知识注入。prompt是指ai提示词,是一种利用自然语言来指导或激发模型完成特定任务的方法。
[0073]例如在前述的游戏搜索场景中,训练数据以实体标签数据为例,根据实体标签数据生成的对话样本数据例如可以如表四所示:表四
[0074]对于实体简介数据、搜索点击数据与之同理,知识注入的基本原理是模拟情景式问答,给出问题和参考答案样本,让对话大模型学习该垂类领域的知识。
[0075]在通过上述过程实现对对话大模型的微调训练之后,即可使得通用的对话大模型与特定垂类领域相结合,得到应用于垂类领域的对话大模型,完成模型训练。
[0076]通过上述可知,本公开实施方式中,利用通用大模型进行微调训练,得到垂类领域的对话大模型,整个训练过程只需要少量的垂类领域数据即可,而且训练过程简单。
当需要跨场景应用时,只需要获取少量新场景的垂类领域数据,即可实现通用基座模型与新垂类
场景的结合,搜索系统的泛化能力更强。
[0077]2)数据搜索在通过前述过程得到垂类领域的对话大模型之后,即可利用该对话大模型实现该垂类领域的数据搜索。
[0078]如图4所示,在一些实施方式中,本公开示例的垂类搜索方法,包括:s410、获取用户查询短语,并基于预设限制文本对用户查询短语进行文本改写,得到对话查询文本。
[0079]本公开实施方式中,用户查询短语即为用户输入的query文本,用于反映用户的搜索意图。
例如以游戏搜索为例,用户可以在应用商店的搜索框中输入搜索词,用户输入的搜索词即为本公开所述的用户查询短语query。
[0080]值得说明的是,用户查询短语可以是用户通过手写或键盘输入在搜索框中的文本信息,也可以是通过对用户语音信息进行语音识别得到的文本信息,本公开对此不作限制。
[0081]例如一个示例中,用户想要下载游戏

和平精英
》,但是用户不知道游戏名称,只知道游戏中有一个叫“awm”的游戏道具。
从而,用户可以在搜索框中输入“什么游戏中有awm”,搜索系统即可获取到用户查询短语为“什么游戏中有awm”。
或者,用户可以通过语音说出“什么游戏中有awm”,搜索系统通过语音识别和文本转换,即可得到用户查询短语为“什么游戏中有awm”。
[0082]值得说明的是,对于游戏搜索场景,需要关注的是准确召回用户所期望的搜索结果,而对于游戏简介、玩法等信息则无需关注。
因此,本公开实施方式中,在获取到用户查询短语之后,需要对用户查询短语进行改写,改写的目的是让对话大模型作出限制性的回答,只需要快速给出游戏名称即可,无需其他说明,以此加快搜索速度。
[0083]例如前文示例中,用户查询短语为“什么游戏中有awm”,如果直接将该用户查询短语作为query输入对话大模型,对话大模型可能会输出很多冗余信息,例如一个示例中,对话大模型的输出(response)如下表五所示:表五
[0084]可以看到,在不对用户查询短语作限制性说明的情况下,对话大模型将会输出很多冗余信息,导致搜索效率变慢。
[0085]因此,本公开实施方式中,在获取得到用户查询短语之后,需要基于预设限制文本对用户查询文本进行改写,预设限制文本为预先设置的针对对话大模型的回答进行限制的文本,即可以包括对回答游戏数量的限制,也可以包括对回答数字的限制。
[0086]例如前文示例中,获取得到的用户查询短语为“什么游戏中有awm”,通过预先限制文本对该用户查询短语进行改写之后,得到的对话查询文本可以如下表六所示:表六
[0087]上表中,预设限制文本“只展示1款游戏名称”用来限制对话大模型回答的游戏数量,“限制5个字”用来限制对话大模型回答的字数。
[0088]s420、将对话查询文本输入预先训练的得到的对话大模型,得到对话大模型输出的响应结果。
[0089]本公开实施方式中,在对用户查询短语进行限制性改写之后得到对话查询文本,然后即可将对话查询文本输入到前文训练得到的对话大模型中,即可得到对话大模型输出的响应结果(response)。
[0090]例如前文示例中,将上表所示的对话查询文本输入对话大模型之后,得到的响应结果如下表七所示:表七
[0091]通过对比表五和表七,通过对用户查询短语进行限制性改写,对话大模型输出的响应结果(response)可以省略大量的冗余信息,极大提高了对话大模型的输出效率。
[0092]s430、基于响应结果在数据库中的多个实体中匹配得到目标实体。
[0093]本公开实施方式中,在得到对话大模型输出的响应结果之后,即需要根据响应结果在数据库中匹配得到目标实体。
[0094]可以理解,对话大模型输出的响应结果并不一定是用户所期望的实体结果,例如通过前述表五示例可知,用户期望下载的游戏是

和平精英
》,但是包括道具awm的游戏有很多,对话大模型实际输出的响应结果并不一定是

和平精英
》,而且对话大模型输出的响应结果也不一定是游戏库中包括的游戏实体。
因此,本公开实施方式中,在得到对话大模型输出的响应结果之后,需要根据响应结果进一步执行后处理逻辑,从而得到最终的搜索结果。
[0095]首先,在得到对话大模型输出的响应结果之后,需要根据响应结果对数据库中的各个实体进行匹配,得到一个目标实体。
[0096]例如一些实施方式中,可以根据响应结果与数据库中包括的每个实体依次进行文本分匹配,得到响应结果与每个实体之间的文本分。
本公开实施方式中,文本分匹配算法可以采用例如jaro-winkler distance算法,本领域技术人员参照相关技术即可理解,本公开不再赘述。
[0097]在得到数据库中每个实体对应的文本分之后,即可根据文本分的高低对各个实体进行排序,然后选择文本分最高的实体作为目标实体。
[0098]例如仍以前述示例的游戏搜索场景为例,在得到对话大模型输出的响应结果“和平精英”之后,将响应结果与游戏库中的每个游戏实体的名称进行文本分匹配,然后将文本分最高的游戏实体确定为目标实体,例如一个示例中,响应结果“和平精英”与游戏库中的

和平精英

游戏的文本分最高,从而即可确定目标实体为“《
和平精英
》”。
[0099]s440、根据目标实体确定与用户查询短语对应的搜索结果。
[0100]本公开一些实施方式中,在得到目标实体之后,可以仅将目标实体作为最终的搜索结果,也即,搜索结果仅包括目标实体一个结果。
[0101]在另一些实施方式中,考虑到搜索结果页往往需要给用户呈现多个结果,因此在得到目标实体之后,可以进一步根据目标实体确定多个实体结果,并对多个实体结果进行排序后得到最终的搜索结果。
[0102]例如一个示例性的实施方式中,可以根据历史时段的搜索日志,统计用户在搜索目标实体的情况下实际点击的实体结果的点击次数,并根据点击次数从高到低排序,并对排序靠前top-k个实体结果进行截断,并将top-k个实体结果确定为最终的搜索结果。
本公开下文实施方式中对此进行说明,在此暂不详述。
[0103]可以理解,本公开实施方式中,利用对话大模型实现垂类领域的数据搜索,相较于传统的搜索引擎,本公开方法中可以具有更好的语义理解能力,尤其对于一些对话式的查询短语,也可以得到较好的搜索结果。
[0104]例如以前述的用户查询短语“什么游戏中有awm”为例,若是采用传统搜索引擎,则无法有效理解用户意图,搜索结果无法贴近用户搜索意图,搜索效果较差。
而在本公开实施方式中,则可以很好理解用户意图,为用户推荐射击类的游戏,得到更加贴合用户意图的搜索结果。
[0105]与此同时,由于对话大模型的应用,使得搜索引擎的语义表征能力更强,在垂类搜索场景下用户也就可以输入更加泛意图的搜索词,例如“男生爱看的悬疑剧”“女生爱看的言情小说”等,无需指向具体的搜索实体,同样可以很好为用户推荐合适的搜索结果。
[0106]另外,本公开实施方式中,利用通用的对话大模型取代传统搜索引擎中的多个神经网络模型,模型训练和跨场景应用的效率更高,搜索引擎的泛化能力更强。
[0107]通过上述可知,本公开实施方式中,利用对话大模型实现垂类领域的数据搜索,提高搜索引擎的语义理解能力和语义表征能力,更好理解用户意图,尤其是针对泛意图搜索具有更好的性能,提高搜索效果,而且搜索引擎的泛化能力更强,便于实现不同垂类领域的跨场景部署。
[0108]如图5所示,在一些实施方式中,本公开示例的垂类搜索方法中,根据目标实体确定与用户查询短语对应的搜索结果的过程,包括:s441、基于目标实体确定历史时段内目标实体对应的搜索日志。
[0109]s442、基于搜索日志统计在用户查询短语为目标实体的情况下,用户实际点击的各个实体结果的点击次数。
[0110]s443、根据点击次数从高到低对各个实体结果进行排序,并确定前预设数量的实体结果作为搜索结果。
[0111]本公开一些实施方式中,在通过前述s410~s430
的方法过程从数据库中确定目标实体之后,即可根据目标实体来确定最终的搜索结果。
[0112]仍以游戏搜索为例,当用户在应用商店搜索并下载游戏时,搜索系统会记录用户输入的用户查询短语以及用户实际点击下载的游戏实体结果,并将其记录在搜索日志(querylog)中。
[0113]例如一个示例场景下,用户a在应用商店的搜索栏输入用户查询短语“王者”后点击确认,然后在搜索结果页选择下载的游戏实体结果为“《
王者荣耀
》”,则搜索日志中即可记录一条日志为“{query:王者;result:

王者荣耀
》}”。
[0114]在另一个示例场景下,用户b在应用商店的搜索栏输入用户查询短语“王者”后点击确定,然后在搜索结果页选择下载的游戏实体结果为“《
王者射击
》”,则搜索日志即可记录一条日志为“{query:王者;result:

王者射击
》}”。
[0115]换言之,搜索系统可以将每个用户在每次搜索时输入的用户查询短语及实际点击
下载的游戏实体结果记录在对应的搜索日志中。
[0116]本公开实施方式中,在确定目标实体之后,可以获取历史时段内该目标实体所对应的搜索日志。
历史时段可以是过去1天、7天、1个月等任意时段,本公开对此不作限制。
[0117]例如前文示例中,目标实体为“和平精英”,在一个示例性的实施方式中,则可以获取过去1个月内“和平精英”所对应的搜索日志,该搜索日志表示的是:在用户查询短语为“和平精英”时,用户实际点击下载的游戏实体结果。
[0118]可以理解,由于每个用户搜索“和平精英”时实际想要下载的游戏并不一定相同,因此搜索日志中可能会记录很多个游戏实体结果。
例如一个示例中,搜索日志中在用户查询短语为“和平精英”时实际选择下载的游戏实体结果包括:

和平精英
》、《pubg mobile》、《
穿越火线
》、《cs online》。
[0119]然后,根据搜索日志中记录的点击次数,统计用户在搜索“和平精英”时,分别选择点击下载各个实体结果的次数,例如一个示例中,在用户搜索“和平精英”时,游戏实体结果

和平精英

被点击下载的次数为
10万次,游戏实体结果
《pubg mobile》
被点击下载的次数为
1.8万次,游戏实体结果

穿越火线

被点击下载的次数为
2000
次,游戏实体结果
《cs online》
被点击下载的次数为
150
次。
[0120]之后,即可根据点击次数从高到低进行排序,并根据实际的搜索结果数量,选择排序靠前的预设数量的游戏实体结果作为最终的搜索结果。
例如一个示例中,针对目标实体的搜索日志中共包括
2000
个实体结果,通过统计这
2000
个实体结果的点击次数,并根据点击次数从高到低进行排序,然后选择top-k个实体结果作为最终的搜索结果,也即选择排序靠前的k个实体结果作为最终的搜索结果。k的取值可以根据具体场景需求进行选取,例如k=100、50、20、10等,本公开对此不作限制。
[0121]在本公开一些实施方式中,在确定搜索结果之后,即可像用户输出呈现搜索结果对应的结果页。
例如以图1所示的场景为例,用户在客户端
100
输入用户查询短语,客户端
100
将用户查询短语发送至服务端
200,服务端
200
通过执行前述的方法步骤,得到最终的搜索结果,然后根据搜索结果生成对应的结果页,然后将结果页发送给客户端
100,从而客户端
100
在显示屏上渲染显示对应的结果页,用户即可查看到对应的搜索结果。
[0122]通过上述可知,本公开实施方式中,利用对话大模型实现垂类领域的数据搜索,提高搜索引擎的语义理解能力和语义表征能力,更好理解用户意图,尤其是针对泛意图搜索具有更好的性能,提高搜索效果,而且搜索引擎的泛化能力更强,便于实现不同垂类领域的跨场景部署。
[0123]如图6所示,在一些实施方式中,本公开示例的垂类搜索方法中,对用户查询短语进行文本改写,得到对话查询文本的过程,包括:s610、对获取到的用户查询短语进行文本检测。
[0124]s620、响应于从用户查询短语中检测到预设关键词,基于预设限制文本对用户查询短语进行文本改写,得到对话查询文本。
[0125]值得说明的是,在一些实施方式中,搜索系统可以同时保留图1所示的传统搜索方案以及本公开所述的搜索方法,从而在需要触发调用对话大模型的情况下,执行本公开上述的搜索方法,而在未触发调用对话大模型的情况下,则可以按照传统方案完成搜索。
[0126]例如一些实施方式中,用户在需要调用对话大模型执行本公开实施方式的搜索方
法时,可以在输入的用户查询短语中携带预设关键词,预设关键词可以是任意预先设置的关键词。
[0127]例如一个示例中,本公开前述训练得到的对话大模型命名为gamechat,从而即可定义预设关键词为gamechat。
当用户期望于调用对话大模型执行搜索任务时,可以在输入的查询短语之前携带gamechat,例如前文示例中,用户输入的用户查询短语可以是“gamechat什么游戏中有awm”。
[0128]在获取得到用户查询短语之后,可以对用户查询短语进行文本检测。
如果在用户查询短语中检测到预设关键词,例如前文示例中,在用户查询短语“gamechat什么游戏中有awm”中检测到预设关键词“gamechat”,则表示需要调用对话大模型执行本公开上述的搜索方法。
反之,如果没有在用户查询短语中检测到预设关键词,则说明无需调用对话大模型,只需要按照图1所示的传统搜索方案完成搜索任务,本公开对此不再赘述。
[0129]通过上述可知,本公开实施方式中,搜索系统同时具有两种搜索模式,当用户进行明确意图的搜索时,无需携带预设关键词,即可采用传统搜索模式,提高搜索效率。
当用户需要进行泛意图搜索时,则可以携带预设关键词,即可按照前述方法过程调用对话大模型实现搜索,提高语义理解能力,进而得到更加准确地搜索结果。
[0130]在一些实施方式中,本公开提供了一种垂类搜索装置,如图7所示,本公开示例的垂类搜索装置,包括:文本改写模块
10,被配置为获取用户查询短语,并基于预设限制文本对所述用户查询短语进行文本改写,得到对话查询文本;对话模型模块
20,被配置为将所述对话查询文本输入预先训练得到的对话大模型,得到所述对话大模型输出的响应结果;实体匹配模块
30,被配置为基于所述响应结果在数据库中的多个实体中匹配得到目标实体;结果确定模块
40,被配置为根据所述目标实体确定与所述用户查询短语对应的搜索结果。
[0131]在一些实施方式中,所述实体匹配模块
30
被配置为:基于所述响应结果与所述数据库中包括的每个实体进行文本分匹配,并将文本分最高的实体确定为所述目标实体。
[0132]在一些实施方式中,所述结果确定模块
40
被配置为:基于所述目标实体确定历史时段内所述目标实体对应的搜索日志,所述搜索日志用于记录在用户查询短语为所述目标实体的情况下用户实际点击的实体结果;基于所述搜索日志统计在用户查询短语为所述目标实体的情况下,用户实际点击的各个实体结果的点击次数;根据所述点击次数从高到低对各个实体结果进行排序,并确定前预设数量的实体结果作为所述搜索结果。
[0133]在一些实施方式中,本公开所述的垂类搜索装置,还包括结果显示模块,所述结果显示模块被配置为:根据所述搜索结果生成结果页,并输出显示所述结果页。
[0134]在一些实施方式中,所述文本改写模块
10被配置为:
对获取到的所述用户查询短语进行文本检测;响应于从所述用户查询短语中检测到预设关键词,基于所述预设限制文本对所述用户查询短语进行文本改写,得到所述对话查询文本。
[0135]在一些实施方式中,所述对话模型模块
20
被配置为:获取训练数据集,所述训练数据集包括预设垂类领域的实体简介数据、实体标签数据以及搜索点击数据对;根据所述训练数据集生成对话样本数据,并利用所述对话样本数据对预训练的对话大模型进行知识注入,得到训练后的对话大模型。
[0136]在一些实施方式中,所述文本改写模块
10被配置为:获取用户输入文本信息,根据所述用户输入文本信息确定所述用户查询短语;或者,获取用户语音信息,对所述用户语音信息进行文本识别得到所述用户查询短语。
[0137]在一些实施方式中,本公开提供了一种搜索系统,包括:处理器;和存储器,存储有计算机指令,所述计算机指令用于使处理器执行前述任意意实施方式所述的方法。
[0138]结合图2所示,本公开示例的搜索系统包括客户端
100
和服务端
200,处理器和存储器可以是客户端
100
的,也可以是服务端
200
的,本公开对此不作限制。
[0139]在一些实施方式中,本公开提供了一种存储介质,存储有计算机指令,所述计算机指令用于使计算机执行上述任意实施方式所述的方法。
[0140]具体而言,图8示出了适于用来实现本公开方法的搜索系统
600
的结构示意图,通过图8所示系统,可实现上述处理器及存储介质相应功能。
[0141]如图8所示,搜索系统
600
包括处理器
601,其可以根据存储在存储器
602中的程序或者从存储部分
608加载到存储器
602中的程序而执行各种适当的动作和处理。
在存储器
602中,还存储有搜索系统
600
操作所需的各种程序和数据。
处理器
601和存储器
602通过总线
604彼此相连。
输入/输出(i/o)接口
605也连接至总线
604。
[0142]以下部件连接至i/o接口
605:包括键盘、鼠标等的输入部分
606;包括诸如阴极射线管(crt)、液晶显示器(
lcd)等以及扬声器等的输出部分
607;包括硬盘等的存储部分
608;以及包括诸如
lan卡、调制解调器等的网络接口卡的通信部分
609。
通信部分
609经由诸如因特网的网络执行通信处理。
驱动器
610也根据需要连接至i/o接口
605。
可拆卸介质
611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器
610上,以便于从其上读出的计算机程序根据需要被安装入存储部分
608。
[0143]特别地,根据本公开的实施方式,上文方法过程可以被实现为计算机软件程序。
例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行上述方法的程序代码。
在这样的实施方式中,该计算机程序可以通过通信部分
609从网络上被下载和安装,和/或从可拆卸介质
611被安装。
[0144]附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。
在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包含一个或多个用
于实现规定的逻辑功能的可执行指令。
也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。
例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0145]显然,上述实施方式仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。
对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。
这里无需也无法对所有的实施方式予以穷举。
而由此所引伸出的显而易见的变化或变动仍处于本公开创造的保护范围之中。
当前第1页1  
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
网站地图