负样本确定方法、装置、电子设备及可读存储介质与流程
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.在一个可能的实施方式中,所述获取模块,具体用于:
42.将所述搜索词输入至推荐模型,以使所述推荐模型输出所述查询列表。
43.在一个可能的实施方式中,所述装置还包括:
44.训练模块,用于利用所述正样本和所述负样本训练所述推荐模型,得到更新模型;
45.更新模块,用于利用所述更新模型更新所述推荐模型。
46.第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
47.存储器,用于存放计算机程序;
48.处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
49.第四方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
50.第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的负样本确定方法。
51.本技术实施例有益效果:
52.本技术实施例提供了一种负样本确定方法、装置、电子设备及可读存储介质,本技术通过,首先,获取搜索词对应的查询列表,查询列表中包括多个查询词;并在多个查询词中确定正样本及正样本在查询列表中的目标排序位置;然后,针对查询列表中每个排序位置在目标排序位置之后的查询词,按照查询词对应的选取策略在预设集合中选取对应的目标词,预设集合中包含查询词和召回池中的召回词;最后,将查询列表中排序位置在目标排序位置之前的查询词,以及,每个目标词,确定为该搜索词的负样本。即,本技术中,对于查询列表中排序位置在正样本之后的查询词,并不是直接将其作为优化推荐模型的负样本,而是在由该查询词和召回池构建的预设集合中,按照预设策略选取对应的目标词作为负样本,如此,可以提高负样本的多样性,从而提高对推荐模型的优化效果。
53.当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
54.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
55.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
56.图1为本技术实施例提供的一种负样本确定方法的流程图;
57.图2为本技术实施例提供的另一种负样本确定方法的流程图;
58.图3为本技术实施例提供的一种负样本确定装置的结构示意图;
59.图4为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
60.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
61.下面将结合具体实施方式,对本技术实施例提供的一种负样本确定方法进行详细的说明,如图1所示,具体步骤如下:
62.s101,获取搜索词对应的查询列表,所述查询列表中包括多个查询词。
63.本技术实施例提供的一种负样本确定方法应用于搜索场景,该搜索场景中,当用户在搜索栏中输入搜索词的情况下,会生成搜索词对应的查询列表,其中,查询列表中包括多个查询词。
64.例如,用户在搜索栏中输入搜索词“天”,生成的查询列表中包括5个查询词,由上至下依次为“天龙八部”、“天天向上”、“天天看电影”、“天空”及“天气预报”。
65.在一实施例中,获取搜索词对应的查询列表的具体实现可包括:将所述搜索词输入至推荐模型,以使所述推荐模型输出所述查询列表。
66.s102,在多个所述查询词中确定正样本及所述正样本在所述查询列表中的目标排序位置。
67.正样本,指用户在查询列表中最终选择的用于查询的查询词。
68.在一实施例中,在多个所述查询词中确定正样本的具体实现可包括:获取所述搜索词对应的查询指令,并解析所述查询指令得到对应的查询词标识;在多个所述查询词中,将所述查询词标识对应的查询词确定为所述正样本。其中,查询指令,指在用户选取最终用于查询的查询词时生成的指令,该查询指令中携带有查询词标识。
69.例如,用户在上述示例查询列表中的5个查询词中,点击了“天天看电影”,则根据用户的点击行为和具体点击的查询词的标识生成对应的查询指令,通过解析该查询指令得到该查询词的标识,进而,将该标识对应的查询词“天天看电影”确定为正样本。
70.s103,针对所述查询列表中每个排序位置在所述目标排序位置之后的查询词,按照所述查询词对应的选取策略在预设集合中选取对应的目标词,所述预设集合中包含所述查询词和召回池中的召回词。
71.召回池,指包含所有基于搜索词召回的、除查询列表上的查询词以外的词(即召回词)的集合。
72.对于查询列表中每个排序位置在目标排序位置(即正样本在查询列表中的位置)之后的查询词,一般为用户选择时未经查看过的查询词,其对于模型学习的参考性较低,因此,本技术实施例中,并不直接将其作为负样本,而是按照查询词对应的选取策略在预设集合中选取对应的目标词,如此,对于参考性不高的查询词,可以利用部分预设集合中的召回词进行替代,从而保证负样本的多样性。
73.至于具体如何在预设集合中选取对应的目标词通过下文实施例具体说明,这里先不详述。
74.s104,将所述查询列表中排序位置在所述目标排序位置之前的查询词,以及,每个所述目标词,确定为所述搜索词的负样本。
75.在本技术实施例中,查询列表中排序位置在目标排序位置之前的查询词,一般为用户进行选择时查看过的查询词,其对于模型学习的参考性较高,将其与目标词一起确定为搜索词的负样本。
76.本技术实施例中,首先,获取搜索词对应的查询列表,查询列表中包括多个查询词;并在多个查询词中确定正样本及正样本在查询列表中的目标排序位置;然后,针对查询列表中每个排序位置在目标排序位置之后的查询词,按照查询词对应的选取策略在预设集合中选取对应的目标词,预设集合中包含查询词和召回池中的召回词;最后,将查询列表中排序位置在目标排序位置之前的查询词,以及,每个目标词,确定为该搜索词的负样本。即,本技术中,对于查询列表中排序位置在正样本之后的查询词,并不是直接将其作为优化推荐模型的负样本,而是在由该查询词和召回池构建的预设集合中,按照预设策略选取对应的目标词作为负样本,如此,可以提高负样本的多样性,从而提高对推荐模型的优化效果。
77.在本技术又一实施例中,所述方法还可以包括以下步骤:利用所述正样本和所述负样本训练所述推荐模型,得到更新模型;利用所述更新模型更新所述推荐模型。如此,实现了基于选取的正样本和负样本对推荐模型的自动优化更新,提高了优化更新的效率。
78.参见图2,为本发明实施例提供的另一种负样本确定方法的实施例流程图。该图2所示流程在上述图1所示流程的基础上,描述如何按照所述查询词对应的选取策略在预设集合中选取对应的目标词。如图2所示,该流程可包括以下步骤:
79.s201,基于所述查询词在所述查询列表中的排序位置确定第一选取概率和第二选取概率,其中,所述第一选取概率为将所述查询词选取为所述目标词的概率,所述第二选取概率为将所述召回词选取为所述目标词的概率。
80.s202,按照所述第一选取概率和所述第二选取概率,在所述预设集合中选取所述目标词。
81.以下对s201和s202进行统一说明:
82.第一选取概率,指将该位置的查询词选取为目标词的概率,即,将该位置的查询词选取为负样本的概率。
83.第二选取概率,指将召回词选取为目标词的概率。
84.在实际应用中,对于查询列表中每个排序位置在正样本之后的查询词,一般查询词位置越靠后,则用户选择时未查看过该查询词的概率越大,其对于模型学习的参考性越低。因此,本技术实施例中,针对查询列表中每个排序位置在正样本之后的查询词,可以基于查询词的排序位置确定选取该查询词作为负样本的第一选取概率,进而通过第一选取概率确定选取召回词作为负样本的概率。
85.其中,第一选取概率与第二选取概率的和为1,并且,查询词的位置越靠后则第一选取概率越小,而第二选取概率越大,如此可以为参考性较低的查询词设置较小的被选取为负样本的概率。进而,按照第一选取概率和第二选取概率在预设集合中选取目标词。
86.作为一种可选的实现方式,查询词j对应的第一选取概率p1=log
10
(m+1-j),第二
选取概率p2=1-p1。其中,m为查询列表中排序位置的数量,j为查询词j在排序序列中的排序位置。
87.例如,查询列表中共有10个排序位置,即推荐10个查询词,正样本位于第6个位置,则第7个位置的查询词对应的第一选取概率p1=log
10
(10+1-7),则第8个位置的查询词对应的第一选取概率p1=log
10
(10+1-8),则第9个位置的查询词对应的第一选取概率p1=log
10
(10+1-9),则第10个位置的查询词对应的第一选取概率p1=log
10
(10+1-10)。
88.本技术实施例中,根据查询词在查询列表中的位置确定选取其作为负样本的概率(即第一选取概率),以及,利用召唤词替换该查询词作为负样本的概率(即第二选取概率),进而,按照第一选取概率和第二选取概率在预设集合中选取目标词。如此,实现了为查询列表中参考性较低的查询词设置较小的被选取为负样本的概率,从而保证后续对推荐模型进行优化时的优化效果。
89.在本技术又一实施例中,所述方法还可以包括以下步骤:确定预设时间段内是否基于所述查询词进行过查询;在预设时间段内未选取过所述查询词作为所述搜索词的负样本的情况下,执行所述基于所述查询词在所述查询列表中的排序位置确定第一选取概率和第二选取概率至按照所述第一选取概率和所述第二选取概率,在所述预设集合中选取所述目标词的步骤;在预设时间段内选取过所述查询词作为所述搜索词的负样本的情况下,将所述查询词确定为所述目标词。
90.在本技术实施例中,对于查询列表中排序位置在正样本之后的查询词,若在预设时间段内(如90天内),曾被用户选择为最后用于查询的查询词,认为其作为负样本的参考性较高,因此,直接选取该查询词作为目标词,即,直接选取该查询词作为负样本。若在预设时间段内,未被用户选择为最后用于查询的查询词,才执行基于查询词在查询列表中的位置确定第一选取概率和第二选取概率,并按照第一选取概率和第二选取概率在预设集合中选取目标词的步骤。如此,可以进一步选取参考性较高的负样本。
91.基于相同的技术构思,本技术实施例还提供了一种负样本确定装置,如图3所示,该装置包括:
92.获取模块301,用于获取搜索词对应的查询列表,所述查询列表中包括多个查询词;
93.第一确定模块302,用于在多个所述查询词中确定正样本及所述正样本在所述查询列表中的目标排序位置;
94.选取模块303,用于针对所述查询列表中每个排序位置在所述目标排序位置之后的查询词,按照所述查询词对应的选取策略在预设集合中选取对应的目标词,所述预设集合中包含所述查询词和召回池中的召回词;
95.第二确定模块304,用于将所述查询列表中排序位置在所述目标排序位置之前的查询词,以及,每个所述目标词,确定为所述搜索词的负样本。
96.在一个可能的实施方式中,所述选取模块,具体用于:
97.基于所述查询词在所述查询列表中的排序位置确定第一选取概率和第二选取概率,其中,所述第一选取概率为将所述查询词选取为所述目标词的概率,所述第二选取概率为将所述召回词选取为所述目标词的概率;
98.按照所述第一选取概率和所述第二选取概率,在所述预设集合中选取所述目标
interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
120.通信接口用于上述电子设备与其他设备之间的通信。
121.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
122.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
123.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一负样本确定方法的步骤。
124.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一负样本确定方法。
125.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
126.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
127.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术
将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。