训练样本的构建方法、装置、电子设备和可读存储介质与流程

文档序号:28599042发布日期:2022-01-22 10:56阅读:84来源:国知局
训练样本的构建方法、装置、电子设备和可读存储介质与流程

1.本公开涉及计算机技术领域,尤其涉及智能交通、深度学习等人工智能技术领域。提供了一种训练样本的构建方法、装置、电子设备和可读存储介质。


背景技术:

2.随着深度学习等人工智能技术的快速发展,ltr(learn to rank,排序学习)模型在搜索系统、推荐系统中起着越来越重要的作用。出行方案规划,作为地图应用的核心能力之一,也逐步迎来对于ltr模型的大规模应用。
3.构建训练样本是使用ltr模型的关键,如何高效、准确地构建训练样本对于ltr模型来说至关重要。


技术实现要素:

4.根据本公开的第一方面,提供了一种训练样本的构建方法,包括:获取出行方案集合,所述出行方案集合中包含多个第一出行方案集合与多个第二出行方案集合,所述第一出行方案集合中包含实际出行方案;根据对应所述出行方案集合中每个出行方案的操作信息,得到每个出行方案集合的操作信息集合;使用所述多个第一出行方案集合的操作信息集合与所述多个第一出行方案集合中的实际出行方案,得到预估模型;将所述多个第二出行方案集合的操作信息集合输入所述预估模型,得到所述预估模型针对每个第二出行方案集合输出的实际出行方案预测结果;根据所述多个第二出行方案集合与所述多个第二出行方案集合的实际出行方案预测结果,得到训练样本的构建结果。
5.根据本公开的第二方面,提供了一种训练样本的构建装置,包括:获取单元,用于获取出行方案集合,所述出行方案集合中包含多个第一出行方案集合与多个第二出行方案集合,所述第一出行方案集合中包含实际出行方案;处理单元,用于根据对应所述出行方案集合中每个出行方案的操作信息,得到每个出行方案集合的操作信息集合;训练单元,用于使用所述多个第一出行方案集合的操作信息集合与所述多个第一出行方案集合中的实际出行方案,得到预估模型;预测单元,用于将所述多个第二出行方案集合的操作信息集合输入所述预估模型,得到所述预估模型针对每个第二出行方案集合输出的实际出行方案预测结果;构建单元,用于根据所述多个第二出行方案集合与所述多个第二出行方案集合的实际出行方案预测结果,得到训练样本的构建结果。
6.根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
7.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如上所述的方法。
8.根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算
机程序在被处理器执行时实现如上所述的方法。
9.由以上技术方案可以看出,本公开使用出行方案所对应的操作信息完成训练样本的构建,降低了训练样本构建的成本,提升了训练样本构建的准确性与效率。
10.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
11.附图用于更好地理解本方案,不构成对本公开的限定。其中:
12.图1是根据本公开第一实施例的示意图;
13.图2是根据本公开第二实施例的示意图;
14.图3是用来实现本公开实施例的训练样本的构建方法的电子设备的框图。
具体实施方式
15.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和机构的描述。
16.本公开的训练样本的构建方法,在获取包含多个第一出行方案集合与多个第二出行方案集合的出行方案集合之后,首先根据对应出行方案集合中每个出行方案的操作信息,得到每个出行方案集合的操作信息集合,然后使用多个第一出行方案集合的操作信息集合与多个第一出行方案的实际出行方案,得到预估模型,将多个第二出行方案集合的操作信息集合输入预估模型,得到预估模型针对每个第二出行方案集合输出的实际出行方案预测结果,最后根据第二出行方案集合与实际出行方案预测结果,得到训练样本的构建结果,本公开使用出行方案所对应的操作信息完成训练样本的构建,降低了训练样本构建时的成本,提升了训练样本构建时的准确性与效率。
17.图1是根据本公开第一实施例的示意图。如图1所示,本实施例的训练样本的构建方法,具体包括如下步骤:
18.s101、获取出行方案集合,所述出行方案集合中包含多个第一出行方案集合与多个第二出行方案集合,所述第一出行方案集合中包含实际出行方案。
19.本实施例在执行s101时,可以根据客户端的日志数据来获取出行方案集合;本实施例中的每个出行方案集合对应客户端所发起的一次出行规划,每个出行方案集合中包含至少一个出行方案。
20.举例来说,若客户端发起了从地点a到地点b的出行规划,若规划得到的出行方案为出行方案1、出行方案2与出行方案3,则本实施例将出行方案1、出行方案2与出行方案3构成一个出行方案集合。
21.在实际应用场景中,客户端在发起基于公共交通的出行规划之后,可能不会使用规划所得到的出行方案进行导航,而是仅关注出行方案中涉及到的公交和/或地铁站点。
22.若客户端选择了规划得到的出行方案来进行导航,则本实施例将客户端所选择的那条出行方案,作为该出行方案集合中的实际出行方案,并将该出行方案集合作为第一出
行方案集合。
23.因此,本实施例执行s101获取的出行方案集合包含两种类型,第一出行方案集合为客户端选择实际出行方案进行导航的出行方案集合,第二出行方案集合为客户端未选择实际出行方案进行导航的出行方案集合。
24.举例来说,若出行方案集合中包含出行方案1、出行方案2与出行方案3,若客户端选择了出行方案2进行导航,则该出行方案集合为第一出行方案集合,出行方案2为实际出行方案。
25.s102、根据对应所述出行方案集合中每个出行方案的操作信息,得到每个出行方案集合的操作信息集合。
26.本实施例在执行s101获取了包含多个第一出行方案集合与多个第二出行方案集合的出行方案集合之后,执行s102根据对应出行方案集合中每个出行方案的操作信息,得到每个出行方案集合的操作信息集合。
27.本实施例在执行s102时,可以根据客户端的日志数据来获取客户端对出行方案集合中的各出行方案进行的操作,本实施例中的操作信息包含对出行方案进行的浏览、滑动、点击、收藏、截图等操作。
28.由于不同的出行方案集合与不同的出行规划相对应,因此本实施例执行s102所得到的每个操作信息集合也会对应于不同的出行规划。
29.具体地,本实施例在执行s102根据对应出行方案集合中每个出行方案的操作信息,得到每个出行方案集合的操作信息集合时,可以采用的可选实现方式为:针对每个出行方案集合,获取对应该出行方案集合中每个出行方案的操作信息;根据时间戳,将所获取的操作信息进行排序;将操作信息的排序结果,作为该出行方案集合的操作信息集合。
30.也就是说,本实施例将根据时间戳所得到的操作信息的排序结果,作为出行方案集合的操作信息集合,即该操作信息集合中包含的是按照时间顺序排列的多个操作信息,使得所得到的操作信息具有时间属性,以用于对操作信息集合是否合理进行判断。
31.由于日志数据所记录的操作信息存在数据丢失的问题,所得到的操作信息集合中的操作信息可能不会完整,为了提升所得到的操作信息集合的准确性,本实施例在执行s102得到每个出行方案集合的操作信息集合时,还可以包含以下内容:获取预设的操作逻辑,例如浏览依赖点击的操作逻辑、收藏依赖浏览的操作逻辑等;针对每个操作信息集合,在确定该操作信息集合中包含的操作信息满足预设的操作逻辑的情况下,保留该操作信息集合,否则将该操作信息集合进行舍弃。
32.本实施例在执行s102时还可以根据预设的操作逻辑来构建操作依赖状态机,进而使用所构建的操作依赖状态机来对操作信息集合进行校验。
33.也就是说,本实施例根据预设的操作逻辑来校验出行方案集合的操作信息集合,从而仅保留校验通过的操作信息集合,进一步提升所得到的操作信息集合的准确性。
34.s103、使用所述多个第一出行方案集合的操作信息集合与所述多个第一出行方案集合中的实际出行方案,得到预估模型。
35.本实施例在执行s102得到每个出行方案集合的操作信息集合之后,执行s103使用所得到的多个第一出行方案集合的操作信息集合与多个第一出行方案集合中的实际出行方案,得到预估模型。
36.具体地,本实施例在执行s103使用多个第一出行方案集合的操作信息集合与多个第一出行方案集合中的实际出行方案,得到预估模型时,可以采用的可选实现方式为:将多个第一出行方案集合的操作信息集合输入神经网络模型,得到该神经网络模型针对每个第一出行方案集合输出的实际出行方案预测结果;根据每个第一出行方案集合的实际出行方案预测结果与实际出行方案计算得到的损失函数值,调整神经网络模型的参数,直至神经网络模型收敛,得到预估模型。
37.也就是说,本实施例将第一出行方案集合中的实际出行方案作为正样本(例如标注为1),将第一出行方案集合中的其他出行方案作为负样本(例如标注为0),使得训练得到的预估模型能够根据所输入的操作信息集合,来预估出行方案集合中属于实际出行方案的出行方案。
38.s104、将所述多个第二出行方案集合的操作信息集合输入所述预估模型,得到所述预估模型针对每个第二出行方案集合输出的实际出行方案预测结果。
39.本实施例在执行s103得到预估模型之后,执行s104将所得到的多个第二出行方案集合的操作信息集合输入该预估模型,从而得到由该预估模型针对每个第二出行方案集合输出的实际出行方案预测结果。
40.也就是说,本实施例使用由包含实际出行方案的第一出行方案集合所得到的预估模型,从不包含实际出行方案的第二出行方案集合中筛选得到实际出行方案预测结果,该实际出行方案预测结果即为客户端在第二出行方案集合中最可能使用其进行导航的出行方案。
41.s105、根据所述多个第二出行方案集合与所述多个第二出行方案集合的实际出行方案预测结果,得到训练样本的构建结果。
42.本实施例在执行s104得到每个第二出行方案集合的实际出行方案预测结果之后,执行s105根据所获取的多个第二出行方案集合与多个第二出行方案集合的实际出行方案预测结果,得到训练样本的构建结果。
43.具体地,本实施例在执行s105根据所得到的多个第二出行方案集合与多个第二出行方案集合的实际出行方案预测结果,得到训练样本的构建结果时,可以采用的可选实现方式为:针对每个第二出行方案集合,将该第二出行方案集合中对应实际出行方案预测结果的出行方案作为正样本,将该第二出行方案集合中的其他出行方案作为负样本,例如将对应实际出行方案预测结果的出行方案与其他的一个出行方案,构成出行方案对。
44.可以理解的是,本实施例在执行s105得到训练样本的构建结果之后,还可以使用所构建的训练样本来对排序模型进行训练,使得训练得到的排序模型能够根据所输入的出行方案,输出该出行方案对应的分值。
45.图2是根据本公开第二实施例的示意图。如图2所示,本实施例的训练样本的构建装置200,包括:
46.获取单元201、用于获取出行方案集合,所述出行方案集合中包含多个第一出行方案集合与多个第二出行方案集合,所述第一出行方案集合中包含实际出行方案。
47.获取单元201可以根据客户端的日志数据来获取出行方案集合;获取单元201所获取的每个出行方案集合对应客户端所发起的一次出行规划,每个出行方案集合中包含至少一个出行方案。
48.在实际应用场景中,客户端在发起基于公共交通的出行规划之后,可能不会使用规划所得到的出行方案进行导航,而是仅关注出行方案中涉及到的公交和/或地铁站点。
49.若客户端选择了规划得到的出行方案来进行导航,则获取单元201将客户端所选择的那条出行方案,作为该出行方案集合中的实际出行方案,并将该出行方案集合作为第一出行方案集合。
50.因此,获取单元201获取的出行方案集合包含两种类型,第一出行方案集合为客户端选择实际出行方案进行导航的出行方案集合,第二出行方案集合为客户端未选择实际出行方案进行导航的出行方案集合。
51.处理单元202、用于根据对应所述出行方案集合中每个出行方案的操作信息,得到每个出行方案集合的操作信息集合。
52.本实施例在由获取单元201获取了包含多个第一出行方案集合与多个第二出行方案集合的出行方案集合之后,由处理单元202根据对应出行方案集合中每个出行方案的操作信息,得到每个出行方案集合的操作信息集合。
53.处理单元202可以根据客户端的日志数据来获取客户端对出行方案集合中的各出行方案进行的操作,本实施例中的操作信息包含对出行方案进行的浏览、滑动、点击、收藏、截图等操作。
54.由于不同的出行方案集合与不同的出行规划相对应,因此处理单元202所得到的每个操作信息集合也会对应于不同的出行规划。
55.具体地,处理单元202在根据对应出行方案集合中每个出行方案的操作信息,得到每个出行方案集合的操作信息集合时,可以采用的可选实现方式为:针对每个出行方案集合,获取对应该出行方案集合中每个出行方案的操作信息;根据时间戳,将所获取的操作信息进行排序;将操作信息的排序结果,作为该出行方案集合的操作信息集合。
56.也就是说,处理单元202将根据时间戳所得到的操作信息的排序结果,作为出行方案集合的操作信息集合,即该操作信息集合中包含的是按照时间顺序排列的多个操作信息,使得所得到的操作信息具有时间属性,以用于对操作信息集合是否合理进行判断。
57.由于日志数据所记录的操作信息存在数据丢失的问题,所得到的操作信息集合中的操作信息可能不会完整,为了提升所得到的操作信息集合的准确性,处理单元202在得到每个出行方案集合的操作信息集合时,还可以包含以下内容:获取预设的操作逻辑;针对每个操作信息集合,在确定该操作信息集合中包含的操作信息满足预设的操作逻辑的情况下,保留该操作信息集合,否则将该操作信息集合进行舍弃。
58.也就是说,处理单元202根据预设的操作逻辑来校验出行方案集合的操作信息集合,从而仅保留校验通过的操作信息集合,进一步提升所得到的操作信息集合的准确性。
59.训练单元203、用于使用所述多个第一出行方案集合的操作信息集合与所述多个第一出行方案集合中的实际出行方案,得到预估模型。
60.本实施例在由处理单元202得到每个出行方案集合的操作信息集合之后,由训练单元203使用所得到的多个第一出行方案集合的操作信息集合与多个第一出行方案集合中的实际出行方案,得到预估模型。
61.具体地,训练单元203在使用多个第一出行方案集合的操作信息集合与多个第一出行方案集合中的实际出行方案,得到预估模型时,可以采用的可选实现方式为:将多个第
一出行方案集合的操作信息集合输入神经网络模型,得到该神经网络模型针对每个第一出行方案集合输出的实际出行方案预测结果;根据每个第一出行方案集合的实际出行方案预测结果与实际出行方案计算得到的损失函数值,调整神经网络模型的参数,直至神经网络模型收敛,得到预估模型。
62.也就是说,训练单元203将第一出行方案集合中的实际出行方案作为正样本(例如标注为1),将第一出行方案集合中的其他出行方案作为负样本(例如标注为0),使得训练得到的预估模型能够根据所输入的操作信息集合,来预估出行方案集合中属于实际出行方案的出行方案。
63.预测单元204、用于将所述多个第二出行方案集合的操作信息集合输入所述预估模型,得到所述预估模型针对每个第二出行方案集合输出的实际出行方案预测结果。
64.本实施例在由训练单元203得到预估模型之后,由预测单元204将所得到的多个第二出行方案集合的操作信息集合输入该预估模型,从而得到由该预估模型针对每个第二出行方案集合输出的实际出行方案预测结果。
65.也就是说,预测单元204使用由包含实际出行方案的第一出行方案集合所得到的预估模型,从不包含实际出行方案的第二出行方案集合中筛选得到实际出行方案预测结果,该实际出行方案预测结果即为客户端在第二出行方案集合中最可能使用其进行导航的出行方案。
66.构建单元205、用于根据所述多个第二出行方案集合与所述多个第二出行方案集合的实际出行方案预测结果,得到训练样本的构建结果。
67.本实施例在由预测单元204得到每个第二出行方案集合的实际出行方案预测结果之后,由构建单元205根据所获取的多个第二出行方案集合与多个第二出行方案集合的实际出行方案预测结果,得到训练样本的构建结果。
68.具体地,构建单元205在根据所得到的多个第二出行方案集合与多个第二出行方案集合的实际出行方案预测结果,得到训练样本的构建结果时,可以采用的可选实现方式为:针对每个第二出行方案集合,将该第二出行方案集合中对应实际出行方案预测结果的出行方案作为正样本,将该第二出行方案集合中的其他出行方案作为负样本。
69.可以理解的是,构建单元205在得到训练样本的构建结果之后,还可以使用所构建的训练样本来对排序模型进行训练,使得训练得到的排序模型能够根据所输入的出行方案,输出该出行方案对应的分值。
70.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
71.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
72.如图3所示,是根据本公开实施例的训练样本的构建方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
73.如图3所示,设备300包括计算单元301,其可以根据存储在只读存储器(rom)302中的计算机程序或者从存储单元308加载到随机访问存储器(ram)303中的计算机程序,来执行各种适当的动作和处理。在ram303中,还可存储设备300操作所需的各种程序和数据。计算单元301、rom302以及ram303通过总线304彼此相连。输入/输出(i/o)接口305也连接至总线304。
74.设备300中的多个部件连接至i/o接口305,包括:输入单元306,例如键盘、鼠标等;输出单元307,例如各种类型的显示器、扬声器等;存储单元308,例如磁盘、光盘等;以及通信单元309,例如网卡、调制解调器、无线通信收发机等。通信单元309允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
75.计算单元301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元301的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元301执行上文所描述的各个方法和处理,例如训练样本的构建方法。例如,在一些实施例中,训练样本的构建方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元308。
76.在一些实施例中,计算机程序的部分或者全部可以经由rom302和/或通信单元309而被载入和/或安装到设备300上。当计算机程序加载到ram 303并由计算单元301执行时,可以执行上文描述的训练样本的构建方法的一个或多个步骤。备选地,在其他实施例中,计算单元301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行训练样本的构建方法。
77.此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
78.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程训练样本的构建装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
79.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计
算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
80.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
81.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
82.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(“virtual private server”,或简称“vps”)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
83.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
84.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1