一种模型训练的方法及装置转让专利

申请号 : CN202110641108.9

文献号 : CN113344078B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 钟啸林刘影

申请人 : 北京三快在线科技有限公司

摘要 :

本说明书公开了一种模型训练的方法及装置,可以获取构建出的样本集,其中,针对该样本集中包含的每个训练样本,该训练样本包含搜索语句以及与该搜索语句对应的搜索结果,该搜索结果包括第一类搜索结果、第二类搜索结果中的至少一种,第一类搜索结果包括从公共网络中搜索出的与该训练样本包含的搜索语句相关的网络搜索信息,而后,业务平台若确定该训练样本中包含有第一类搜索结果,根据该训练样本的搜索语句与第一类搜索结果之间的相关程度,对第一类搜索结果进行标注,得到已标注的第一类搜索结果,并通过已标注的第一类搜索结果和/或已标注的第二类搜索结果,对排序模型进行训练,通过本方法训练排序模型,更准确地对各搜索结果进行排序。

权利要求 :

1.一种模型训练的方法,其特征在于,包括:

获取构建出的样本集,其中,针对所述样本集中包含的每个训练样本,该训练样本包含搜索语句以及与所述搜索语句对应的搜索结果,所述搜索结果包括第一类搜索结果以及第二类搜索结果,所述第一类搜索结果包括从公共网络中搜索出的与该训练样本包含的搜索语句相关的网络搜索信息,所述第二类搜索结果包括在业务平台中搜索出的与该训练样本包含的搜索语句相匹配的业务对象;

若该训练样本中包含有所述第一类搜索结果,根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,对所述第一类搜索结果进行标注,得到已标注的所述第一类搜索结果;

通过已标注的第一类搜索结果和已标注的所述第二类搜索结果,对预设的排序模型进行训练,所述第二类搜索结果是根据用户针对所述第二类搜索结果的实际操作情况进行标注的,若确定该训练样本包含的搜索语句对应的所述第一类搜索结果为正样本,以优先展示该训练样本包含的搜索语句对应的第一类搜索结果为训练目标,对所述排序模型进行训练,以在用户搜索目标搜索语句时,将搜索出的所述目标搜索语句对应的第一类搜索结果排在第二类搜索结果之前,展示给所述用户。

2.如权利要求1所述的方法,其特征在于,若该训练样本中包含有所述第一类搜索结果,根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,对所述第一类搜索结果进行标注,得到已标注的所述第一类搜索结果,具体包括:若确定该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度不低于设定相关度,确定所述第一类搜索结果为正样本,否则,确定所述第一类搜索结果为负样本;

根据用户针对所述第二类搜索结果的实际操作情况,标注所述第二类搜索结果,具体包括:

若根据用户针对所述第二类搜索结果的实际操作情况,确定用户对所述第二类搜索结果执行了点击操作,确定所述第二类搜索结果为正样本;

若根据用户针对所述第二类搜索结果的实际操作情况,确定用户未对所述第二类搜索结果执行点击操作,确定所述第二类搜索结果为负样本。

3.如权利要求1或2所述的方法,其特征在于,若该训练样本中包含有所述第一类搜索结果,根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,对所述第一类搜索结果进行标注,得到已标注的所述第一类搜索结果,具体包括:若根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,确定在所述业务平台展示所述第一类搜索结果的情况下,用户将对所述第一类搜索结果进行点击,确定所述第一类搜索结果为正样本;

若根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,确定在所述业务平台展示所述第一类搜索结果的情况下,用户不会对所述第一类搜索结果进行点击,确定所述第一类搜索结果为负样本。

4.如权利要求1所述的方法,其特征在于,构建样本集,具体包括:

获取若干待补充训练样本;

针对每个待补充训练样本,若确定该待补充训练样本中包含的搜索语句符合预设条件,从所述公共网络中搜索出与该待补充训练样本包含的搜索语句相关的网络搜索信息,并作为该待补充训练样本包含的搜索语句,在该待补充训练样本中对应的第一类搜索结果,对该待补充训练样本进行补充,得到补充后的训练样本;

根据各补充后的训练样本,构建所述样本集。

5.如权利要求4所述的方法,其特征在于,确定该待补充训练样本中包含的搜索语句符合预设条件,具体包括:若确定该待补充训练样本中包含的搜索语句满足预设的提问句式,确定该待补充训练样本中包含的搜索语句符合预设条件。

6.如权利要求1所述的方法,其特征在于,所述方法还包括:

接收目标用户发送的搜索请求;

根据所述搜索请求中携带的目标搜索语句,搜索出与所述目标搜索语句相匹配的搜索结果,其中,与所述目标搜索语句相匹配的搜索结果包括:所述目标搜索语句对应的第一类搜索结果、所述目标搜索语句对应的第二类搜索结果中的至少一种;

通过预先训练的所述排序模型,对搜索出与所述目标搜索语句相匹配的搜索结果进行排序,得到排序结果;

按照所述排序结果,将搜索出与所述目标搜索语句相匹配的搜索结果展示给所述目标用户。

7.一种模型训练的装置,其特征在于,包括:

获取模块,用于获取构建出的样本集,其中,针对所述样本集中包含的每个训练样本,该训练样本包含搜索语句以及与所述搜索语句对应的搜索结果,所述搜索结果包括第一类搜索结果以及第二类搜索结果,所述第一类搜索结果包括从公共网络中搜索出的与该训练样本包含的搜索语句相关的网络搜索信息,所述第二类搜索结果包括在业务平台中搜索出的与该训练样本包含的搜索语句相匹配的业务对象;

标注模块,用于若该训练样本中包含有所述第一类搜索结果,根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,对所述第一类搜索结果进行标注,得到已标注的所述第一类搜索结果;

训练模块,用于通过已标注的第一类搜索结果和已标注的所述第二类搜索结果,对预设的排序模型进行训练,所述第二类搜索结果是根据用户针对所述第二类搜索结果对应的业务对象的实际操作情况进行标注的,若确定该训练样本包含的搜索语句对应的所述第一类搜索结果为正样本,以优先展示该训练样本包含的搜索语句对应的第一类搜索结果为训练目标,对所述排序模型进行训练,以在用户搜索目标搜索语句时,将搜索出的所述目标搜索语句对应的第一类搜索结果排在第二类搜索结果之前,展示给所述用户。

8.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~6任一项所述的方法。

9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~6任一项所述的方法。

说明书 :

一种模型训练的方法及装置

技术领域

[0001] 本说明书涉及计算机技术领域,尤其涉及一种模型训练的方法及装置。

背景技术

[0002] 随着计算机技术的不断发展,用户可以根据自身的实际需求,在业务平台上输入相应的搜索语句,业务平台将搜索出与该搜索语句相匹配的搜索结果,并展示给用户进行查看。
[0003] 业务平台通常使用预先训练的排序模型,对搜索结果进行排序,排序模型的训练通常都是基于各用户对搜索结果的实际点击情况来完成的,即,通常情况下,用户执行过点击操作的搜索结果作为正样本,用户未执行过点击操作的搜索结果作为负样本,通过标注出的正负样本,对排序模型进行训练。
[0004] 然而在实际应用中,用户可能会输入一些询问公共知识的搜索语句,这种搜索语句对应的搜索结果与搜索语句本身之间的相关性,往往是与用户在历史上是否会点击这些搜索结果无关的。
[0005] 例如,用户搜索世界上最高山峰的时候,珠穆朗玛峰这一搜索结果无论用户是否点击,都是与这一搜索语句最相关的,但是,将珠穆朗玛峰这一搜索结果在排序页面中展示的时候,用户可能通过该排序页面已经知道了答案,所以,不会对珠穆朗玛峰这一搜索结果产生点击操作。在这种情况下,以用户对搜索结果的实际点击情况来训练得到的排序模型,往往并不能对搜索语句对应的搜索结果进行合理的排序。

发明内容

[0006] 本说明书提供一种模型训练的方法及装置,以部分的解决现有技术存在的上述问题。
[0007] 本说明书采用下述技术方案:
[0008] 本说明书提供了一种模型训练的方法,包括:
[0009] 获取构建出的样本集,其中,针对所述样本集中包含的每个训练样本,该训练样本包含搜索语句以及与所述搜索语句对应的搜索结果,所述搜索结果包括第一类搜索结果、第二类搜索结果中的至少一种,所述第一类搜索结果包括从公共网络中搜索出的与该训练样本包含的搜索语句相关的网络搜索信息,所述第二类搜索结果包括在业务平台中搜索出的与该训练样本包含的搜索语句相匹配的业务对象;
[0010] 若该训练样本中包含有所述第一类搜索结果,根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,对所述第一类搜索结果进行标注,得到已标注的所述第一类搜索结果;
[0011] 通过已标注的第一类搜索结果和/或已标注的所述第二类搜索结果,对预设的排序模型进行训练,所述第二类搜索结果是根据用户针对所述第二类搜索结果的实际操作情况进行标注的。
[0012] 可选地,若该训练样本中包含有所述第一类搜索结果,根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,对所述第一类搜索结果进行标注,得到已标注的所述第一类搜索结果,具体包括:
[0013] 若确定该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度不低于设定相关度,确定所述第一类搜索结果为正样本,否则,确定所述第一类搜索结果为负样本;
[0014] 根据用户针对所述第二类搜索结果的实际操作情况,标注所述第二类搜索结果,具体包括:
[0015] 若根据用户针对所述第二类搜索结果的实际操作情况,确定用户对所述第二类搜索结果执行了点击操作,确定所述第二类搜索结果为正样本;
[0016] 若根据用户针对所述第二类搜索结果的实际操作情况,确定用户未对所述第二类搜索结果执行点击操作,确定所述第二类搜索结果为负样本。
[0017] 可选地,若该训练样本中包含有所述第一类搜索结果,根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,对所述第一类结果进行标注,得到已标注的所述第一类搜索结果,具体包括:
[0018] 若根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,确定在所述业务平台展示所述第一类搜索结果的情况下,用户将对所述第一类搜索结果进行点击,确定所述第一类搜索结果为正样本;
[0019] 若根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,确定在所述业务平台展示所述第一类搜索结果的情况下,用户不会对所述第一类搜索结果进行点击,确定所述第一类搜索结果为负样本。
[0020] 可选地,构建样本集,具体包括:
[0021] 获取若干待补充训练样本;
[0022] 针对每个待补充训练样本,若确定该待补充训练样本中包含的搜索语句符合预设条件,从所述公共网络中搜索出与该待补充训练样本包含的搜索语句相关的网络搜索信息,并作为该待补充训练样本包含的搜索语句,在该待补充训练样本中对应的第一类搜索结果,对该待补充训练样本进行补充,得到补充后的训练样本;
[0023] 根据各补充后的训练样本,构建所述样本集。
[0024] 可选地,确定该待补充训练样本中包含的搜索语句符合预设条件,具体包括:
[0025] 若确定该待补充训练样本中包含的搜索语句满足预设的提问句式,确定该待补充训练样本中包含的搜索语句符合预设条件。
[0026] 可选地,通过已标注的第一类搜索结果和/或已标注的所述第二类搜索结果,对预设的排序模型进行训练,具体包括:
[0027] 若确定该训练样本包含的搜索语句对应的所述第一类搜索结果为正样本,以优先展示该训练样本包含的搜索语句对应的第一类搜索结果为训练目标,对所述排序模型进行训练。
[0028] 可选地,所述方法还包括:
[0029] 接收目标用户发送的搜索请求;
[0030] 根据所述搜索请求中携带的目标搜索语句,搜索出与所述目标搜索语句相匹配的搜索结果,其中,与所述目标搜索语句相匹配的搜索结果包括:所述目标搜索语句对应的第一类搜索结果、所述目标搜索语句对应的第二类搜索结果中的至少一种;
[0031] 通过预先训练的所述排序模型,对搜索出与所述目标搜索语句相匹配的搜索结果进行排序,得到排序结果;
[0032] 按照所述排序结果,将搜索出与所述目标搜索语句相匹配的搜索结果展示给所述目标用户。
[0033] 本说明书提供了一种模型训练的装置,包括:
[0034] 获取模块,用于获取构建出的样本集,其中,针对所述样本集中包含的每个训练样本,该训练样本包含搜索语句以及与所述搜索语句对应的搜索结果,所述搜索结果包括第一类搜索结果、第二类搜索结果中的至少一种,所述第一类搜索结果包括从公共网络中搜索出的与该训练样本包含的搜索语句相关的网络搜索信息,所述第二类搜索结果包括在业务平台中搜索出的与该训练样本包含的搜索语句相匹配的业务对象;
[0035] 标注模块,用于若该训练样本中包含有所述第一类搜索结果,根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,对所述第一类结果进行标注,得到已标注的所述第一类搜索结果;
[0036] 训练模块,用于通过已标注的第一类搜索结果和/或已标注的所述第二类搜索结果,对预设的排序模型进行训练,所述第二类搜索结果是根据用户针对所述第二类搜索结果对应的业务对象的实际操作情况进行标注的。
[0037] 本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述模型训练的方法。
[0038] 本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述模型训练的方法。
[0039] 本说明书采用的上述至少一个技术方案能够达到以下有益效果:
[0040] 在本说明书提供的模型训练的方法中,业务平台可以获取构建出的样本集,其中,针对该样本集中包含的每个训练样本,该训练样本包含搜索语句以及与该搜索语句对应的搜索结果,该搜索结果包括第一类搜索结果、第二类搜索结果中的至少一种,第一类搜索结果包括从公共网络中搜索出的与该训练样本包含的搜索语句相关的网络搜索信息,第二类搜索结果包括在业务平台中搜索出的与该训练样本包含的搜索语句相匹配的业务对象,而后,业务平台若确定该训练样本中包含有第一类搜索结果,根据该训练样本包含的搜索语句与第一类搜索结果之间的相关程度,对第一类搜索结果进行标注,得到已标注的第一类搜索结果,并通过已标注的第一类搜索结果和/或已标注的第二类搜索结果,对预设的排序模型进行训练,第二类搜索结果是根据用户针对第二类搜索结果的实际操作情况进行标注的。
[0041] 从上述方法中可以看出,除了业务平台中本身提供的第二类搜索结果,业务平台还可以通过网络搜索的形式获取到第二类搜索结果,并通过搜索语句与第二类搜索结果的相关程度,来确定出如何对该第二类搜索结果进行标注,从而可以对排序模型进行训练,相比于现有技术中仅通过用户的点击情况,来确定出排序模型的训练样本,通过本方法训练排序模型,能够更准确地对各搜索结果进行排序。

附图说明

[0042] 此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
[0043] 图1为本说明书中一种模型训练的方法的流程示意图;
[0044] 图2为本说明书提供的一种搜索语句以及各搜索结果的示意图;
[0045] 图3为本说明书提供的一种模型训练的装置的示意图;
[0046] 图4为本说明书提供的一种对应于图1的电子设备的示意图。

具体实施方式

[0047] 为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
[0048] 以下结合附图,详细说明本说明书各实施例提供的技术方案。
[0049] 图1为本说明书中一种模型训练的方法的流程示意图,包括以下步骤:
[0050] S101:获取构建出的样本集,其中,针对所述样本集中包含的每个训练样本,该训练样本包含搜索语句以及与所述搜索语句对应的搜索结果,所述搜索结果包括第一类搜索结果、第二类搜索结果中的至少一种,所述第一类搜索结果包括从公共网络中搜索出的与该训练样本包含的搜索语句相关的网络搜索信息,所述第二类搜索结果包括在业务平台中搜索出的与该训练样本包含的搜索语句相匹配的业务对象。
[0051] 在实际应用中,业务平台可以是为用户提供各种信息的平台,例如,业务平台中可以包含有每个地区的商家、景区等信息,用户可以进行信息搜索,从而得到自己想看到的信息,业务平台可以通过排序模型将与用户输入的搜索语句相关的信息进行排序展示给用户。
[0052] 目前业务平台可以通过用户的点击情况对排序模型进行训练,而对于“世界最高峰是什么”类似这种的搜索语句来说,业务平台需要引入新的训练样本对排序模型进行训练,从而在用户搜索这种信息时,能够将对应于这种搜索语句的信息展示给用户。
[0053] 基于此,业务平台可以获取构建出的样本集,其中,针对该样本集中包含的每个训练样本,该训练样本包含搜索语句以及与该搜索语句对应的搜索结果,其中,该搜索结果包括第一类搜索结果、第二类搜索结果中的至少一种,第一类搜索结果包括从公共网络中搜索出的与该训练样本包含的搜索语句相关的网络搜索信息,第二类搜索结果包括在业务平台中搜索出的与该训练样本包含的搜索语句相匹配的业务对象。
[0054] 也就是说,第一类搜索结果可以是业务平台中不包含的内容,例如在上述提到搜索语句为珠穆朗玛峰,那相应的为用户展示出的搜索结果为珠穆朗玛峰的相关信息,而这种信息业务平台本身不包含,第二类搜索结果是业务平台中已经包含的内容,例如,用户若是搜索“甜品”、“汉堡”等,业务平台可以将相应的商家、商品展示给用户,第一类搜索结果是业务平台需要通过网络获得的。
[0055] 当然,业务平台通过网络获取到网络搜索信息后,可以将该网络搜索信息进行格式转换,得到与第二类搜索结果格式一致的信息,作为第一类搜索结果,以在业务平台中进行展示,该第一类搜索结果也可以是业务平台中包含的信息,业务平台进行网络搜索得到网络搜索信息后,可以从自身包含的信息中查询出与该网络搜索信息相一致的信息,作为第一类搜索结果。
[0056] S102:若该训练样本中包含有所述第一类搜索结果,根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,对所述第一类搜索结果进行标注,得到已标注的所述第一类搜索结果。
[0057] 业务平台确定出样本集中的每个训练样本后,若确定该训练样本中包含有第一类搜索结果,则可以根据该训练样本包含的搜索语句与第一类搜索结果之间的相关程度,对第一类搜索结果进行标注,得到已标注的所述第一类搜索结果。
[0058] 也就是说,对于一个训练样本来说,若该训练样本对应的搜索结果为第一类搜索结果,业务平台需要确定该第一类搜索结果是正样本还是负样本,具体的,业务平台可以确定出该训练样本包含的搜索语句与该训练样本中的第一类搜索结果之间的相关程度,若确定该训练样本包含的搜索语句与该第一类搜索结果之间的相关程度不低于设定相关度,确定第一类搜索结果为正样本,否则,确定第一类搜索结果为负样本。也就是说,由于在该排序模型中,需要使展示在前的搜索结果为正样本,使展示在后或是不会展示出来的搜索结果为负样本,因此可以通过相关程度,来判断哪些是负样本,哪些是正样本。其中,该设定相关度可以根据实际需求进行设定。
[0059] 业务平台确定出搜索语句与第一类搜索结果之间的相关程度的方式可以有多种,例如,业务平台确定出搜索语句对应的特征向量,以及第一类搜索结果对应的特征向量,并将搜索语句对应的特征向量与第一类搜索结果对应的特征向量之间的相似度,作为该相关程度。
[0060] 再例如,业务平台可以确定出该训练样本中第一类搜索结果对应的搜索热度,并将该搜索热度作为该相关程度,这里提到的搜索热度可以是指业务平台在进行网络搜索时,该第一类搜索结果相对于该搜索语句的热度,比方说,业务平台通过网络百科全书或搜索引擎查询该搜索语句,能够确定出一些相关的词条信息,作为第一类搜索结果,而网络百科全书或搜索引擎中这些词条的顺序,则可以视为每个第一类搜索结果对应的搜索热度。
[0061] 需要说明的是,第一类搜索结果可以是指用户在查询知识性的问题时所对应的搜索结果,这样的搜索结果是用户在查询知识性的问题查询的情况下可能会点击的,例如,若用户搜索“世界第一高峰是什么”,则展示出来的可以包括珠穆朗玛峰的信息、珠穆朗玛峰周边的商家等,而用户最可能点击的是珠穆朗玛峰本身的信息,再例如,用户搜索“A店营业时间是什么”,则展示出来的可以包括A店的营业时间,A店信息的链接等,而用户最可能点击的则是A店的营业时间。
[0062] 因此,业务平台若根据该训练样本包含的搜索语句与第一类搜索结果之间的相关程度,确定在业务平台展示第一类搜索结果的情况下,用户将对该第一类搜索结果进行点击,可以确定该第一类搜索结果为正样本,而若根据该训练样本包含的搜索语句与第一类搜索结果之间的相关程度,确定在业务平台展示第一类搜索结果的情况下,用户不会对该第一类搜索结果进行点击,则确定第一类搜索结果为负样本。
[0063] 也就是说,像上述哪种用户搜索世界第一高峰是什么,或是搜索A店营业时间是什么的这种知识性问题,相应的,珠穆朗玛峰本身的信息,抑或是A店的营业时间是与用户的搜索语句最相关的第一类搜索结果,也是业务平台可以确定出的用户会进行点击的搜索结果,对于这种搜索结果来说,业务平台可以将其作为正样本。
[0064] 在本说明书中,业务平台需要预先构建样本集,具体的,业务平台可以获取若干待补充训练样本,并针对每个待补充训练样本,若确定该待补充训练样本中包含的搜索语句符合预设条件,从公共网络中搜索出与该待补充训练样本包含的搜索语句相关的网络搜索信息,并作为该待补充训练样本包含的搜索语句,在该待补充训练样本中对应的第一类搜索结果,对该待补充训练样本进行补充,以及根据各补充后的训练样本,构建样本集。
[0065] 其中,这里指出的预设条件可以进行依据实际需求进行预设,例如,业务平台若确定该待补充训练样本中包含的搜索语句满足预设的提问句式,则可以确定该待补充训练样本中包含的搜索语句符合预设条件。这里提到的提问句式可以是指形如上述“世界第一高峰是什么”以及“A店的营业时间是什么”等句式。可以预先确定出一些有关知识提问的搜索语句,作为预设的提问句式。
[0066] 当然,预设条件还可以有多种,例如,若该待补充训练样本中包含的搜索语句中存在设定词语,也可以确定出该待补充训练样本中的搜索语句,在该待补充训练样本中对应的第一类搜索结果,这里提到的设定词语也可以根据实际需求进行预先设定,例如,“世界第一高峰”、“国内最大的湖泊”、“营业时间”等词语,可以作为设定词语。
[0067] 在本说明书,由于第二类搜索结果可以包含业务平台中向各用户提供的各业务对象,例如商家的信息、菜品的信息等,因此,业务平台中存储有各用户针对第二类搜索结果的业务执行记录,因而,可以直接根据用户针对第二类搜索结果的实际操作情况进行标注。
[0068] 具体的,业务平台若根据用户针对该第二类搜索结果的实际操作情况,确定用户对第二类搜索结果执行了点击操作,可以确定该第二类搜索结果为正样本,若根据用户针对该第二类搜索结果的实际操作情况,确定用户未对二类搜索结果执行点击操作,则可以确定第二类搜索结果为负样本。
[0069] S102:通过已标注的第一类搜索结果和/或已标注的所述第二类搜索结果,对预设的排序模型进行训练,所述第二类搜索结果是根据用户针对所述第二类搜索结果的实际操作情况进行标注的。
[0070] 业务平台确定出样本集,并对样本集中的每个训练样本进行标注后,可以通过已标注的第一类搜索结果和/或第二类搜索结果,对预设的排序模型进行训练。即,业务平台可以根据对各第一类搜索结果以及第二类搜索结果的标注结果,对该排序模型进行有监督训练。
[0071] 其中,业务平台若确定该训练样本包含的搜索语句对应的第一类搜索结果为正样本,可以将优先展示该训练样本包含的搜索语句对应的第一类搜索结果作为训练目标,对该排序模型进行训练。也就是说,若一个搜索语句对应有第一类搜索结果,则说明该搜索语句与知识性的提问有关,则在向用户展示排序出的信息时,需要将该第一类搜索结果展示在最上方,如图2所示。
[0072] 图2为本说明书提供的一种搜索语句以及各搜索结果的示意图。
[0073] 在图2中,搜索语句为世界最高峰,可以看出将珠穆朗玛峰的相关信息展示在了最上方,这是因为搜索语句为知识性的提问句式,而珠穆朗玛峰的相关信息能够解答该搜索语句对应的提问,因此,需要将珠穆朗玛峰的相关信息展示在最上方,而这种信息恰恰是第一类搜索结果,所以在进行模型训练时,需要以优先展示第一类搜索结果为优化目标,对排序模型进行训练。
[0074] 需要说明的是,若一个训练样本中包含的搜索语句对应的有第一类搜索结果以及第二类搜索结果,那么说明该搜索语句可能为知识性提问的语句,即使用户对第二搜索结果存在点击操作,也可以将该第二搜索结果标注为负样本,以使第一搜索结果进行优先展示。
[0075] 上述是站在模型训练的角度对本说明书中的模型训练的方法进行说明,下面站在用户在实际搜索时的角度,即,将模型应用于实际使用时来进行说明。
[0076] 具体的,业务平台可以接收目标用户发送的搜索请求,并根据该搜索请求中携带的目标搜索语句,搜索出与该目标搜索语句相匹配的搜索结果,其中,与该目标搜索语句相匹配的搜索结果包括:该目标搜索语句对应的第一类搜索结果、该目标搜索语句对应的第二类搜索结果中的至少一种,而后,业务平台可以通过预先训练的排序模型,对搜索出与该目标搜索语句相匹配的搜索结果进行排序,得到排序结果,并按照该排序结果,将搜索出与该目标搜索语句相匹配的搜索结果展示给该目标用户。这里提到的目标用户可以是指一个通过业务平台进行搜索的用户
[0077] 也就是说,业务平台只需要将通过训练完成后的排序模型,确定出对各搜索结果的排序即可,而由于在训练过程中引入了第一类搜索结果,并且对于存在第一类搜索结果的目标搜索语句来说,在训练时以优先展示第一类搜索结果为训练目标,这样一来,在实际使用时,若目标搜索语句对应有第一类搜索结果,业务平台能够将目标搜索语句对应的第一类搜索结果优先展示给用户。
[0078] 从上述方法可以看出,除了业务平台中本身提供的第二类搜索结果,业务平台还可以通过网络搜索的形式获取到第二类搜索结果,并通过搜索语句与第二类搜索结果的相关程度,来确定出如何对该第二类搜索结果进行标注,从而可以对排序模型进行训练,相比于现有技术中仅通过用户的点击情况,来确定出排序模型的训练样本,通过本方法训练排序模型,能够更准确地对各搜索结果进行排序。
[0079] 以上为本说明书的一个或多个实施例提供的模型训练的方法,基于同样的思路,本说明书还提供了相应的模型训练的装置,如图3所示。
[0080] 图3为本说明书提供的一种模型训练的装置示意图,包括:
[0081] 获取模块301,用于获取构建出的样本集,其中,针对所述样本集中包含的每个训练样本,该训练样本包含搜索语句以及与所述搜索语句对应的搜索结果,所述搜索结果包括第一类搜索结果、第二类搜索结果中的至少一种,所述第一类搜索结果包括从公共网络中搜索出的与该训练样本包含的搜索语句相关的网络搜索信息,所述第二类搜索结果包括在业务平台中搜索出的与该训练样本包含的搜索语句相匹配的业务对象;
[0082] 标注模块302,用于若该训练样本中包含有所述第一类搜索结果,根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,对所述第一类结果进行标注,得到已标注的所述第一类搜索结果;
[0083] 训练模块303,用于通过已标注的第一类搜索结果和/或已标注的所述第二类搜索结果,对预设的排序模型进行训练,所述第二类搜索结果是根据用户针对所述第二类搜索结果对应的业务对象的实际操作情况进行标注的。
[0084] 可选地,所述标注模块302具体用于,若确定该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度不低于设定相关度,确定所述第一类搜索结果为正样本,否则,确定所述第一类搜索结果为负样本;
[0085] 所述标注模块302具体用于,若根据用户针对所述第二类搜索结果的实际操作情况,确定用户对所述第二类搜索结果执行了点击操作,确定所述第二类搜索结果为正样本;若根据用户针对所述第二类搜索结果的实际操作情况,确定用户未对所述第二类搜索结果执行点击操作,确定所述第二类搜索结果为负样本。
[0086] 可选地,所述标注模块302具体用于,若根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,确定在所述业务平台展示所述第一类搜索结果的情况下,用户将对所述第一类搜索结果进行点击,确定所述第一类搜索结果为正样本;若根据该训练样本包含的搜索语句与所述第一类搜索结果之间的相关程度,确定在所述业务平台展示所述第一类搜索结果的情况下,用户不会对所述第一类搜索结果进行点击,确定所述第一类搜索结果为负样本。
[0087] 可选地,所述装置还包括:
[0088] 构建模块304,用于获取若干待补充训练样本;针对每个待补充训练样本,若确定该待补充训练样本中包含的搜索语句符合预设条件,从所述公共网络中搜索出与该待补充训练样本包含的搜索语句相关的网络搜索信息,并作为该待补充训练样本包含的搜索语句,在该待补充训练样本中对应的第一类搜索结果,对该待补充训练样本进行补充,得到补充后的训练样本;根据各补充后的训练样本,构建所述样本集。
[0089] 可选地,所述构建模块304具体用于,若确定该待补充训练样本中包含的搜索语句满足预设的提问句式,确定该待补充训练样本中包含的搜索语句符合预设条件。
[0090] 可选地,所述训练模块303具体用于,若确定该训练样本包含的搜索语句对应的所述第一类搜索结果为正样本,以优先展示该训练样本包含的搜索语句对应的第一类搜索结果为训练目标,对所述排序模型进行训练。
[0091] 可选地,所述装置还包括:
[0092] 展示模块305,用于接收目标用户发送的搜索请求;根据所述搜索请求中携带的目标搜索语句,搜索出与所述目标搜索语句相匹配的搜索结果,其中,与所述目标搜索语句相匹配的搜索结果包括:所述目标搜索语句对应的第一类搜索结果、所述目标搜索语句对应的第二类搜索结果中的至少一种;通过预先训练的所述排序模型,对搜索出与所述目标搜索语句相匹配的搜索结果进行排序,得到排序结果;按照所述排序结果,将搜索出与所述目标搜索语句相匹配的搜索结果展示给所述目标用户。
[0093] 本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的一种模型训练的方法。
[0094] 本说明书还提供了图4所示的一种对应于图1的电子设备的示意结构图。如图4所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的模型训练的方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0095] 在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very‑High‑Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0096] 控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0097] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0098] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0099] 本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0100] 本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0101] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0102] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0103] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0104] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0105] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0106] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0107] 本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0108] 本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0109] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0110] 以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。