查询内容库构建方法、装置、电子设备及可读存储介质与流程

allin2024-10-14  29



1.本发明涉及搜索技术领域,具体而言,涉及一种查询内容库构建方法、装置、电子设备及可读存储介质。


背景技术:

2.随着互联网技术的发展,用户在很多场景下都需要用到搜索功能,搜索结果与用户输入的查询内容对应。
3.目前,用户在输入查询内容时,可以从查询内容库中检索出与该查询内容最相关的扩展性查询语句,该查询内容库是基于不同场景下用户的历史搜索行为所构建的,但是,由于用户的历史搜索行为繁多杂乱,导致现有的查询内容库中查询内容冗余度较高,而且存在许多搜索频率低、质量差的内容,导致搜索结果不准确,无法满足用户的实际需求。
4.因此,如何精简现有的查询内容库,提高搜索结果的准确性,是需要解决的技术问题。


技术实现要素:

5.本发明的目的之一在于提供一种查询内容库构建方法、装置、电子设备及可读存储介质,其能够精简现有的查询内容库,提高搜索结果的准确性。
6.第一方面,本发明提供一种查询内容库构建方法,所述方法包括:获得多个被点击内容、每个被点击内容对应的全部查询语句、以及每条查询语句对应的搜索频率值;根据所述搜索频率值,将每个被点击内容对应的部分查询语句确定为目标查询语句;其中,针对每个被点击内容,所述目标查询语句的搜索频率值大于所述被点击内容的其他查询语句的搜索频率值;根据每个被点击内容对应的目标查询语句,构建查询内容库。
7.第二方面,本发明提供一种查询内容库构建装置,包括:获取模块,用于获得多个被点击内容、每个被点击内容对应的全部查询语句、以及每条查询语句对应的搜索频率值;确定模块,用于根据所述搜索频率值,将每个被点击内容对应的部分查询语句确定为目标查询语句;其中,针对每个被点击内容,所述目标查询语句的搜索频率值大于所述被点击内容的其他查询语句的搜索频率值;构建模块,用于根据每个被点击内容对应的目标查询语句,构建查询内容库。
8.第三方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现第一方面所述的方法。
9.第四方面,本发明提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。
10.本发明提供的一种查询内容库构建方法、装置、电子设备及可读存储介质,方法包括:获得多个被点击内容、每个被点击内容对应的全部查询语句、以及每条查询语句对应的搜索频率值;根据所述搜索频率值,将每个被点击内容对应的部分查询语句确定为目标查
询语句;其中,针对每个被点击内容,所述目标查询语句的搜索频率值大于所述被点击内容的其他查询语句的搜索频率值;根据每个被点击内容对应的目标查询语句,构建查询内容库。本发明实施例在构建查询内容库之前,先确定每个被点击内容对应的全部查询内容的搜索频率值,可以理解的是,搜索频率值越大,表征该查询内容对用户越有用,质量越高,因此,本发明实施例针对每个被点击内容,统计将它召回的全部查询内容各自的搜索频率值,然后从全部查询内容中选取目标查询语句,这样一来,由每个被点击内容对应的具有高搜索频率值的目标查询语句一起构建查询语句库,不仅缩减了查询语句库的规模,还提高了查询语句库的质量。
附图说明
11.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
12.图1为本发明实施例提供的一种场景示意图;
13.图2为本发明实施例提供的电子设备的结构示意图;
14.图3为本发明实施例提供的查询内容库构建方法的流程示意图;
15.图4为本发明实施例提供的另一种查询语句库构建方法的流程示意图之一;
16.图5为本发明实施例提供的另一种查询内容库构建方法的流程示意图之二;
17.图6为本发明实施例提供的查询内容库构建装置的功能模块图。
具体实施方式
18.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
19.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
21.在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
22.此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
23.需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
onlymemory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
35.处理器202可以是一种集成电路芯片,具有信号处理能力。该处理器202可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
36.可以理解,图2所示的结构仅为示意,电子设备200还可以包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2所示的各组件可以采用硬件、软件或其组合实现。
37.图3为本发明实施例提供的查询内容库构建方法的流程示意图,该方法以图2中的电子设备为执行主体,参照图3所示,该方法包括:
38.s301,获得多个被点击内容、每个被点击内容对应的全部查询语句、以及每条查询语句对应的搜索频率值。
39.本发明实施例中,被点击内容(以下简称item)可以是一个查询语句(quary)下对应的任意一个召回结果,可以认为,每个item对于用户而言是有意义的,可以获得内容需求的,每个item可以对应有多种quary,也就是说,同一个item可以被不同形式的quary所召回,因此对于一个quary而言,被用户点击的了召回结果即为本发明实施例中的被点击内容。
40.在可选的实施方式中,可以先获取反馈数据,这些反馈数据均来自于线搜索后用户点击内容,利用sql可以找出全部query与item的对应关系以及每个query对应的搜索频率值(aqcnt)。
41.其中,上述的搜索频率值(aqcnt)可以理解为:用户用一个quary搜索了,并且用户点击了该quary的某个召回结果item的总次数。因为有意义的搜索都是有获取内容需求的,显然aqcnt越大,这个quary就越常用,quary的质量也越高,通过一些高质量的quary来构建查询内容库(quary库),不仅可以精简quary库,还可以在实际的查询场景中提高召回结果的准确度以及质量。
42.s302,根据搜索频率值,将每个被点击内容对应的部分查询语句确定为目标查询语句。
43.与现有技术明显不同的是,现有技术可能会将被点击内容对应的全部查询语句都用来构建查询语句库,例如,继续以上述itema为例,现有技术可能将query1、query2和query3都存储到查询语句库中,很明显,query3是个低质量的query,这无疑会降低后续查询结果的质量,本实施例中,针对每个被点击内容,目标查询语句(target query)的数量要小于全部查询语句的总数量,也就是说,本发明实施例将每个被点击内容的部分查询语句确定为目标查询语句,以此来构建查询语句库,从而实现了精简查询语句库的效果。
44.在本实施例中,针对每个被点击内容,目标查询语句的搜索频率值大于所述被点击内容的其他查询语句的搜索频率值。
45.s303,根据每个被点击内容对应的目标查询语句,构建查询内容库。
46.本发明实施例中,每个被点击内容对应的目标查询语句的搜索频率值大于被点击内容对应的全部查询语句中剩余查询语句的搜索频率值,通过搜索频率值,可以将每个被点击内容对应的目标查询语句提取出来,也可以理解为将高质量查询语句提取出来,共同组成一个新的查询内容库,那这样一来,新的查询内容库里面全部是一些高质量quary,能够保证实际场景中查询的准确性。例如,继续以上述itema为例,那么itema对应的目标查询语句可以是query1,然后利用query1来构建查询语句库,从而提高了查询语句库的质量。
47.可选地,在确定每个被点击内容对应的高质量查询内容(即本发明实施例中的目标查询语句)的过程中,本发明实施例给出了多种不同的实施方式。
48.在一种实施方式中,上述步骤s302可以参照步骤a1至a2来实现:
49.a1,根据预设的多个候选内容长度区间,将每个被点击内容对应的全部查询语句划分成多个语句组。
50.可以理解的是,考虑到实际的搜索场景,用户输入的query长度不等,因此可以按照文本长度将全部查询语句进行分组,每个语句组对应一个候选内容长度区间,然后在每个语句组中按照搜索频率值选择出预设数量个目标查询语句,从而可以从多个语句组中均匀的获得高质量查询语句。
51.本实施例中,候选内容长度区间可以根据实际线上搜索场景中用户输入的query的长度分布来确定的,例如,候选内容长度区间可以为:[1-3]、[4-7]、[8-10]、[11-],分别表示为文本长度在1个字符至3个字符之间,文本长度在4个字符至7个字符之间,文本长度在8个字符至10个字符之间,文本长度在11个字符以上。
[0052]
需要说明的是,上述候选内容长度区间仅仅是一个优选的示例,并不是对候选内容长度区间的限定,还可以结合实际发生的搜索行为进一步扩展预先定义的候选内容长度区间,以使区间分布更能贴合实际搜索情况。
[0053]
a2,在每个被点击内容对应的每个语句组中,根据搜索频率值,确定出预设数量个目标查询语句。
[0054]
根据上述内容可知,搜索频率值越高,表征一个query越常用,质量越高,因此在确定目标查询语句的过程中,可以将每个语句组中的查询语句按照搜索频率值从大到小的顺序排列,然后去前n个查询语句作为目标查询语句,也可以将每个语句组中的查询语句按照搜索频率值从小到大的顺序排列,然后取后n个查询语句作为目标查询语句。
[0055]
在另一种实施方式中,上述步骤s302还可以参照步骤b1至b2来实现:
[0056]
b1,根据预设的多个候选内容长度区间,将每个被点击内容对应的全部查询语句划分成多个语句组;
[0057]
b2,根据多个候选内容长度区间各自的语句覆盖度,确定每个语句组对应的目标查询语句的数量;
[0058]
b3,在每个被点击内容的每个语句组中,根据搜索频率值、以及目标查询语句的数量,确定出目标查询语句。
[0059]
本发明实施例中,考虑到实际搜索场景中,不同候选内容长度区间中覆盖的query数量不同,因此,本发明实施例还可以在不同内容长度区间中选择不同数量的目标查询语句,以保证获得目标查询语句满足实际场景。
[0060]
例如,继续以上述候选内容长度区间:[1-3]、[4-7]、[8-10]、[11-]为例,其中,[4-7]区间内覆盖的query数量最多,而[11-]区间的query数量不应太多,因此,按aqcnt由大到小,可以在[1-3]区间保留top1,在[4-7]区间保留top3,在[8-10]区间保留top1,在[11-]最多保留top1。这样过滤掉了很多冗余度高不必保留的target query,精简了query库。
[0061]
在另一种实施方式中,上述步骤s302可以参照步骤c1来实现:
[0062]
c1,将每个被点击内容对应的全部查询语句中,具有最大搜索频率值的一个查询语句,确定为目标查询语句。
[0063]
本发明实施例中,也可以不考虑不同长度区间内分布的query数量不同,直接将每个item对应具有最大搜索频率值的查询语句作为目标查询语句,这样一来,每个item对应的具有最大搜索频率值的查询语句就可以组成一个高质量的查询内容库。
[0064]
图4为本发明实施例提供的另一种查询语句库构建方法的流程示意图之一,该方法可以将获得的高质量查询语句应用在实际的搜索场景中,以提升召回结果的质量。
[0065]
s304,获取待查询内容。
[0066]
本发明实施例中,上述待查询内容可以来自实际的线上搜索,例如,用户在搜索界面上手动输入的查询内容,或者通过语音识别、文本识别等技术获得查询内容,此处不作限定。
[0067]
s305,基于预先训练的向量编码模型、以及查询内容库,确定与待查询内容匹配的召回结果。
[0068]
本发明实施例中,结合上述构建的高质量查询内容库,可以降低获得低质量召回结果的风险,保证召回结果的准确性。同时,为了在提升待查询语句与召回结果之间相似性的准确度,本技术实施例提供了一种向量编码模型,本发明实施例中的向量编码模型是通过如下方式训练方式参照步骤d1至d2所示:
[0069]
d1,获得多组训练样本;每组训练样本中包含查询语句样本、所述查询语句样本对应的正样本和负样本;
[0070]
d2,通过查询语句样本、查询语句样本对应的正样本和负样本,对待训练bert模型的第一损失函数和第二损失函数进行交替训练,直到满足训练结束条件,将训练后的bert模型作为向量编码模型。
[0071]
需要说明的是,上述向量编码模型可以预先训练,当获得待查询语句时,加载该向量编码模型计算相似度,或者,还可以在获得待查询语句之后,执行上述步骤d1和步骤d2得到向量编码模型,然后利用得到的向量编码模型计算相似度,本发明实施例不作限定。
[0072]
目前,bert模型是目前查询改写技术中运用最多的模型,其原理在于:先对query库内容编码成向量并构建向量索引,在实时处理用户query时先编码成向量,再找出与用户query构成的余弦相似度最大的n个target query,作为最终改写结果。
[0073]
然而,目前bert模型虽然可以提升语义相似度的准确性,但是,在实际使用中,当两个query文本长度相差很大时,仍然会出现语义相似度不准确的问题,原因在于现有的训练方式导致训练后的bert模型存在以下问题:第一,模型“记忆力”太强,导致字符串中某成分发挥主导作用。
[0074]
例如,“雪中”与“雪中悍刀行最新章节”的相似度非常高,因为训练集内共现贡献太过的缘故,“雪中悍刀行最新章节”的编码向量已经被其成分“雪中”主宰。第二,模型学到
了语义,但并非关键语义。比如文本是“大学英语第三册”,它与“大学英语第二册”的相似度低于它与“大学日语第三册”,显然模型侧重了“第n册”这样的限定词而忽略了核心词的相似度。而经过研究发现,之所以存在上述问题,原因在于现有的训练方式学习任务太容易,缺乏有难度的对比样本。
[0075]
因此,为了解决上述问题,本发明实施例运用了步骤d1至d2的训练方式,对现有的bert模型进行训练,需要说明的是,由于实际的搜索业务场景是垂直搜索,通常query的长度介于2-20个字符,query库里面也都是用户点击量高的搜索词,与用户query从分布上并无区别,所以,本发明实施例中待训练bert模型的模型结构可以使用现有技术中的bert模型的模型结构,例如待训练bert模型可以是基于12层bert base蒸馏后的4层bert,输出维度为256,对该待训练bert模型再经过本发明实施例提供的训练方式精调,最终得到本发明实施例中的向量编码模型。
[0076]
在训练过程中,本实施例在获得一个查询语句样本之后,可以从上述构建的查询语句库中获得与该查询语句样本语义类似,但存在长度差距的正样本和负样本。其中,负样本的获得除了上述实施方式之后,还可以包括:对查询语句样本和/或查询语句样本的正样本进行改写获得的,此处不作限定。
[0077]
例如,针对一个查询语句样本,假设该查询语句样本的候选语句有m个,将这m个候选语句按照长度从大到小排列,然后取长度最大的一个或者n(n小于m)个作为负样本,将最小的一个或者s个(s小于n)个作为正样本,比如query是“雪中”,“雪中行”和“雪中悍刀行最新章节”均是候选语句,那么“雪中行”则是正样本,而“雪中悍刀行最新章节”就是负样本。
[0078]
为了提升模型的准确性,本发明实施例采用了第一损失函数和第二损失函数进行交替训练的训练方式来保证训练效果,其中,第一损失函数可以但不限于是对照损失函数(contrast loss),第二损失函数可以但不限于是triplet loss。以contrast loss和triplet loss为例,利用步骤d1获得样本来进行训练时,contrast loss和triplet loss可以分别如公式(1)和公式(2)所示:
[0079][0080]
其中,li表征第一个训练样本的损失函数;hi是第i个训练样本对应的编码向量;表征第i个训练样本对应的正样本的编码向量;表征第j个训练样本对应的正样本的编码向量;t为常系数;sim()表征计算相似度;
[0081][0082]
其中,q(i)表征第i个训练样本,表征第i个训练样本的正样本;表征第i个训练样本的负样本;m是常系数。
[0083]
从上述两个关系式可以看出,本发明实施例的训练方式可以理解为:在获得多组
训练样本之后,利用多组训练样本中的全部查询语句样本以及正样本来训练第一损失函数,以使获得模型能够实现提升相似度准确性的功能,利用每组训练样本中的正样本和负样本来训练第二损失函数,可以保证获得模型提升相似度的最大程度,通过两种损失函数的交替训练,从而可以使得训练后的bert模型提升语义相似度的准确性。
[0084]
在可选地实施方式中,上述交替训练的方式可以是:
[0085]
第一种实施方式:在奇数迭代次数训练第一损失函数,在偶数迭代次数训练第二损失函数;或者,在奇数迭代次数训练第二损失函数,在偶数迭代次数训练第一损失函数;
[0086]
第二种实施方式:第一损失函数和第二损失函数之间间隔预设次数,例如,第一损失函数训练了n次之后,训练第二损失函数;当第二损失函数训练至m次之后,又训练第一损失函数,直到达到预设训练次数。
[0087]
其中,m和n可以相同也可以不同,此处不作限定。
[0088]
需要说明的是,可以先训练第一损失函数,也可以先训练第二损失函数,本发明实施例对上述第一损失函数和第二损失函数的训练顺序不作限定。
[0089]
还需要说明的是,图4所示的流程示意图仅仅是上述步骤s304和s305、与上述步骤s301至s303之间的执行顺序的一种示例,并不是对它们之间的执行顺序的一种限制,可以理解的是,在一种场景中,可以预先构建查询内容库并存储,在获得待查询语句之后,调用预先构建的查询内容库来进行查询,在另一种场景中,可以在获得待查询语句之后,实时构建查询内容库,然后根据得到的查询内容库来进行查询,本发明实施例不作限定。
[0090]
在可选地实施方式中,上述步骤s305的实施过程可以参照步骤e1至步骤e3来执行:
[0091]
e1,通过向量编码模型,从查询内容库中检索出与待查询内容对应的匹配的多个候选查询内容。
[0092]
本发明实施中,通过步骤d1至d2获得的向量编码模型,可以用来从查询内容库中检索出与待查询内容匹配的候选查询内容,具体实施方式如下:
[0093]
第一步,通过向量编码模型对待查询内容和query库中的查询内容进行编码,得到各自的编码向量,并计算待查询内容对应的编码向量与query库中的编码向量之间的余弦相似度;
[0094]
第二步,从query库中检索出n个候选查询内容(target query),其中,这n个候选查询内容与该待查询内容之间的余弦相似度大于query库中剩余查询内容与该待查询内容之间的余弦相似度。
[0095]
需要说明的是,在第二步中,可以但不限于采用向量索引方法(例如hierarchical-navigable-small-world-graph,简称hnsw),本实施例不作限定。
[0096]
e2,确定每个候选查询内容与待查询内容之间的字符串相似度;
[0097]
e3,将满足字符串相似度阈值的候选查询内容,确定为召回结果。
[0098]
可以理解的是,在获得n个target query之后,还可以计算每个target query与query之间的字符串相似度,进一步对target query进行筛选,以得到与query高度相关的target query。
[0099]
在可选地实施方式中,计算每个target query与query之间的字符串相似度的方式可以但不限于是杰卡德距离、最小编辑距离算法等,此处不作限定。
[0100]
图5为本发明实施例提供的另一种查询内容库构建方法的流程示意图之二,其目的在于:假设存多个召回结果,确定多个召回结果的排序得分,这为后续对个召回结果确定粗排策略提供了参考依据。该方法还包括:
[0101]
s306,当召回结果存在多个,将多个召回结果按照搜索频率值进行排序,并基于排序后的多个召回结果,确定每个召回结果对应的排列序号。
[0102]
本发明实施例中,query库中的全部搜词按aqcnt由大到小进行了编号,编号越靠前,可以看作query的重要度越强,考虑到bert模型仅能考虑语义,召回结果可能质量不一。如query为“听雪中悍刀行”,召回结果有“雪中悍刀行”、“悍刀雪中行”、“雪中|悍刀行”等,显然粗排的目的就是进一步过滤掉结果冗余,依据就是query的重要度。
[0103]
可以理解的是,召回结果均来自于上述构建的查询内容库,因此每个召回结果均对应有一个搜索频率值,基于搜索频率值对多个召回结果进行排序,在本实施例中,上述召回结果是按照搜索频率值从大到小的顺序进行排列的,可以看出,召回结果的搜索频率值越大,排列顺序越靠前,排列序号越小。
[0104]
需要说明的是,将多个召回结果按照搜索频率值从大到小的顺序排列之后,将每个召回结果的重要程度从由搜索频率值的大小来表征,转化为由排列需要来表征,也就是说,召回结果的排列序号越小,表征该召回结果越重要,这样一来,可以避免多个召回结果由于搜索频率值分布不均匀而导致计算复杂度较高、效率地的问题。
[0105]
s307,基于每个召回结果对应的排列序号,计算每个召回结果的重要性因子。
[0106]
在本发明实施例中,召回结果的重要性因子与该召回结果的排列序号之间可以满足如下关系式:
[0107]
magnitude=int(log
10 max(idx,1))
[0108]
其中,magnitude表征重要性因子,idx表征排列序号。
[0109]
s308,根据每个召回结果的重要性因子和排列序号,得到每个召回结果的排序得分。
[0110]
在可选地实施方式中,上述排序得分与每个召回结果的重要性因子和排列序号之间满足如下关系式:
[0111][0112]
其中,rankscore表征排序得分;magnitude所表征重要性因子;idx表征排列序号。
[0113]
继续参见上述关系式,其中max(4-magnitude,0)可以理解为一个召回结果的量级重要性得分(importancema
gnitude
),可以理解为一个召回结果的数值重要性得分(importance
internal
),这两项得分之和则可以用来评估一个召回结果的排序得分,其中,一个召回结果的排序得分越高,表明这个召回结果越重要。
[0114]
在获得多个召回结果的排序得分之后,则可以为后续确定这多个召回结果的粗排策略提供参考依据,在可选的实施方式中,在考虑多个召回结果的粗排策略时,可以将待查询内容与这多个召回结果之间的余弦相似度(通过本发明实施例中的向量编码模型获得)、字符串相似度以及排序得分进行加权求和,获得一个评估值,并基于该评估值对召回结果进行粗排,并将排列结果展示在用户终端,以使用户能更加直观的得到的与待查询内容最
相关的召回结果。
[0115]
图6为本发明实施例提供的查询内容库构建装置的功能模块图,参照图6所示,查询内容库构建装置400包括:获取模块410、确定模块420和构建模块430。
[0116]
获取模块410,用于获得多个被点击内容、每个被点击内容对应的全部查询语句、以及每条查询语句对应的搜索频率值;
[0117]
确定模块420,用于根据所述搜索频率值,将每个被点击内容对应的部分查询语句中确定出目标查询语句;其中,针对每个被点击内容,所述目标查询语句的搜索频率值大于所述被点击内容的其他查询语句的搜索频率值;
[0118]
构建模块430,用于根据每个被点击内容对应的目标查询语句,构建查询内容库。
[0119]
在可选的实施方式中,确定模块420,具体用于:根据预设的多个候选内容长度区间,将每个被点击内容对应的全部查询语句划分成多个语句组;在每个被点击内容对应的每个语句组中,根据搜索频率值,确定出预设数量个目标查询语句。
[0120]
在可选的实施方式中,确定模块420,还具体用于:根据预设的多个候选内容长度区间,将每个被点击内容对应的全部查询语句划分成多个语句组;根据多个候选内容长度区间各自的语句覆盖度,确定每个语句组对应的目标查询语句的数量;在每个被点击内容的每个语句组中,根据搜索频率值、以及目标查询语句的数量,确定出目标查询语句。
[0121]
在可选的实施方式中,确定模块420,还具体用于:将每个被点击内容对应的全部查询语句中,具有最大搜索频率值的查询语句,确定为目标查询语句。
[0122]
在可选地实施方式中,获取模块410还用于获取待查询内容;确定模块420,还用于基于预先训练的向量编码模型、以及查询内容库,确定与待查询内容匹配的召回结果。
[0123]
在可选地实施方式中,向量编码模型是通过如下方式训练方式获得的:获得多组训练样本,每组训练样本包含查询语句样本、所述查询语句样本对应的正样本和负样本;通过查询语句样本、所述查询语句样本对应的正样本和负样本,对待训练bert模型的第一损失函数和第二损失函数进行交替训练,直到满足训练结束条件,将训练后的bert模型作为向量编码模型。
[0124]
在可选地实施方式中,确定模块420,还具体用于:通过向量编码模型,从查询内容库中检索出与待查询内容对应的匹配的多个候选查询内容;确定每个候选查询内容与待查询内容之间的字符串相似度;将满足字符串相似度阈值的候选查询内容,确定为召回结果。
[0125]
在可选地实施方式中,确定模块420,还用于:当召回结果存在多个,将多个召回结果按照搜索频率值进行排序,并基于排序后的多个召回结果,确定每个召回结果对应的排列序号;基于每个召回结果对应的排列序号,计算每个召回结果的重要性因子;根据每个召回结果的重要性因子和排列序号,得到每个召回结果的排序得分。
[0126]
在可选地实施方式中,排序得分与每个召回结果的重要性因子和排列序号之间满足如下关系式:
[0127][0128]
其中,rankscore表征排序得分;magnitude所表征重要性因子;idx表征排列序号。
[0129]
本发明实施例还提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一项的查询语句库构建方法。该计算机可读存储
介质可以是,但不限于,u盘、移动硬盘、rom、ram、prom、eprom、eeprom、磁碟或者光盘等各种可以存储程序代码的介质。
[0130]
应该理解到,在本发明所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0131]
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0132]
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0133]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

技术特征:
1.一种查询内容库构建方法,其特征在于,所述方法包括:获得多个被点击内容、每个被点击内容对应的全部查询语句、以及每条查询语句对应的搜索频率值;根据所述搜索频率值,将每个被点击内容对应的部分查询语句确定为目标查询语句;其中,针对每个被点击内容,所述目标查询语句的搜索频率值大于所述被点击内容的其他查询语句的搜索频率值;根据每个被点击内容对应的目标查询语句,构建查询内容库。2.根据权利要求1所述的查询内容库构建方法,其特征在于,根据所述搜索频率值,将每个被点击内容对应的部分查询语句确定为目标查询语句,包括:根据预设的多个候选内容长度区间,将每个被点击内容对应的全部查询语句划分成多个语句组;在每个被点击内容对应的每个语句组中,根据所述搜索频率值,确定出预设数量个所述目标查询语句。3.根据权利要求1所述的查询内容库构建方法,其特征在于,根据所述搜索频率值,从每个被点击内容对应的全部查询语句中确定出目标查询语句,包括:根据预设的多个候选内容长度区间,将每个被点击内容对应的全部查询语句划分成多个语句组;根据所述多个候选内容长度区间各自的语句覆盖度,确定每个语句组对应的目标查询语句的数量;在每个被点击内容的每个语句组中,根据所述搜索频率值、以及所述目标查询语句的数量,确定出所述目标查询语句。4.根据权利要求1所述的查询内容库构建方法,其特征在于,根据所述搜索频率值,从每个被点击内容对应的全部查询语句中确定出目标查询语句,包括:将每个被点击内容对应的全部查询语句中,具有最大搜索频率值的一个查询语句,确定为目标查询语句。5.根据权利要求1所述的查询内容库构建方法,其特征在于,所述方法还包括:获取待查询内容;基于预先训练的向量编码模型、以及所述查询内容库,确定与所述待查询内容匹配的召回结果,其中,所述向量编码模型是基于训练样本、以及所述训练样本对应的正样本、负样本所训练得到的。6.根据权利要求5所述的查询内容库构建方法,其特征在于,所述向量编码模型是通过如下方式训练方式获得的:获得多组训练样本;每组训练样本中包含查询语句样本、所述查询语句样本对应的正样本和负样本;通过所述查询语句样本、所述查询语句样本对应的正样本和负样本,对待训练bert模型的第一损失函数和第二损失函数进行交替训练,直到满足训练结束条件,将训练后的bert模型作为所述向量编码模型。7.根据权利要求5所述的查询内容库构建方法,其特征在于,当获得待查询内容,基于所述向量编码模型、以及所述查询内容库,确定与所述待查询内容匹配的召回结果,包括:
通过所述向量编码模型,从所述查询内容库中检索出与所述待查询内容对应的匹配的多个候选查询内容;确定每个候选查询内容与所述待查询内容之间的字符串相似度;将满足字符串相似度阈值的所述候选查询内容,确定为所述召回结果。8.根据权利要求5所述的查询内容库构建方法,其特征在于,所述方法还包括:当所述召回结果存在多个,将多个召回结果按照所述搜索频率值进行排序,并基于排序后的所述多个召回结果,确定每个召回结果对应的排列序号;基于每个召回结果对应的排列序号,计算每个召回结果的重要性因子;根据每个召回结果的重要性因子和所述排列序号,得到每个召回结果的排序得分。9.根据权利要求8所述的询内容库构建方法,其特征在于,所述排序得分与所述每个召回结果的重要性因子和所述排列序号之间满足如下关系式:其中,rankscore表征所述排序得分;magnitude所表征重要性因子;idx表征所述排列序号。10.一种查询内容库构建装置,其特征在于,包括:获取模块,用于获得多个被点击内容、每个被点击内容对应的全部查询语句、以及每条查询语句对应的搜索频率值;确定模块,用于根据所述搜索频率值,将每个被点击内容对应的部分查询语句确定为目标查询语句;其中,针对每个被点击内容,所述目标查询语句的搜索频率值大于所述被点击内容的其他查询语句的搜索频率值;构建模块,用于根据每个被点击内容对应的目标查询语句,构建查询内容库。11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现权利要求1-9任一项所述的方法。12.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-9任一项所述的方法。

技术总结
本发明提供的查询内容库构建方法、装置、电子设备及可读存储介质,方法包括:获得多个被点击内容、每个被点击内容对应的全部查询语句、以及每条查询语句对应的搜索频率值;根据搜索频率值,将每个被点击内容对应的部分查询语句确定为目标查询语句;其中,针对每个被点击内容,目标查询语句的搜索频率值大于被点击内容的其他查询语句的搜索频率值;根据每个被点击内容对应的目标查询语句,构建查询内容库。本发明实施例的查询语句库是由每个被点击内容对应的部分具有高搜索频率值的目标查询语句一起构建的,不仅缩减了查询语句库的规模,还提高了查询语句库的质量。还提高了查询语句库的质量。还提高了查询语句库的质量。


技术研发人员:王哲
受保护的技术使用者:上海喜马拉雅科技有限公司
技术研发日:2022.04.18
技术公布日:2022/7/4
转载请注明原文地址: https://www.8miu.com/read-17029.html

最新回复(0)