具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
针对现有技术的问题,本说明书实施例提供一种样本筛选方法,参见图1所示,该方法可以包括以下步骤:
S101,获得历史场景数据;
S102,根据预设测试规则,测试目标样本对所述历史场景数据的预测准确度;
本说明书实施例中,并不限定测试规则的具体内容,根据预设测试规则,测试目标样本对所述历史场景数据的预测准确度,也具体可以通过多种方式实现,本领域技术人员可以根据样本类型进行设置。
在本说明书的一种具体实施方式中,在目标样本为目标训练样本的情况下,根据预设测试规则,测试目标样本对场景数据的预测准确度的方法时,具体可以首先获得原始训练模型对场景数据的原始预测结果;所述原始训练模型为:使用不包括所述目标训练样本的样本库训练得到的、用于对场景数据进行预测的训练模型,然后将所述目标训练样本加入所述原始训练模型的样本库,并对所述原始训练模型进行更新得到目标训练模型,并且获得所述目标训练模型对场景数据的目标预测结果。最后根据所述原始预测结果与所述目标预测结果的差异,得到所述目标训练样本对场景数据的预测准确度。
在本说明书的另一种具体实施方式中,在目标样本为目标关键词样本的情况下,根据预设测试规则,测试目标样本对场景数据的预测准确度的方法时,具体可以首先使用所述目标关键词样本,对历史场景数据进行目标关键词检索,得到包括所述目标关键词的若干第一命中语句,然后对所得到的各第一命中语句进行语义识别,确定所述若干第一命中语句中,符合预设语义条件的第二命中语句,最后根据所述第一命中语句与第二命中语句的数量关系,得到所述目标关键词样本对历史场景数据的预测准确度。
例如,假设目标关键词为关键词A,可以首先使用关键词A对历史场景数据进行检索,得到包括关键词A的若干条语句,即为第一命中语句。
可以理解的是,关键词A可能为中性词汇,如可以为人名,当前场景进行屏蔽的目的,是需要屏蔽表达辱骂含义的不良信息,而对于表达其他含义的文字信息不需要进行屏蔽;或者,命中语句中所包括的连续字符虽与关键词A相同,但该连续字符分别属于不同词汇,表达意义也与关键词A不同;等等,因此,需要对各条第一命中语句进行语义分析,确定各条第一命中语句的语义是否符合预设语义条件,如是否包含违法法律与公共道德的语义等。
此外,本具体实施方式中,在进行检索命中语句之前,还可以对当前场景与目标关键词样本的适用性进行判断,假设关键词B在公众信息场景中,属于性质较为恶劣需要屏蔽的词汇,而在私人对话场景中,则不需要进行屏蔽,因此,可以首先基于预设判断规则,判断目标关键词在当前场景中是否需要屏蔽,如可以通过人工判断、或通过当前场景的线上样本库中是否存在相似词汇判断、等等。
此外,本具体实施方式中,在进行命中语句检索与语义分析之后,还可以进一步地采取处理操作,具体地,可以首先将根据所述第一命中语句与第二命中语句的数量关系得到的预测准确度作为第一准确度,并根据对各第一命中语句的语义识别结果及预设处理规则,对各第一命中语句采取对应的处理操作;所述处理规则用于表示:对于不同语义的语句的不同处理操作。
例如,根据语义识别结果,对于不符合预设语义条件的第一命中语句进行放行,而对于符合预设语义条件的第一命中语句进行屏蔽,此外,还可以进行警告、持续监测、等处理操作。
然后,根据采取不同操作处理的第一命中语句的数量得到第二准确度,从而根据所述第一准确度与所述第二准确度的数量关系,确定所述目标关键词样本对历史场景数据的预测准确度。
例如,可以根据第二命中语句数量占第一命中语句数量的百分比,得到第一准确度,然后根据采取屏蔽操作的语句数量占第一命中语句数量的百分比,得到第二准确度,最后根据第一准确度与第二准确度的加权和,确定所述目标关键词样本对场景数据的预测准确度。
S103,在所述目标样本对所述历史场景数据的预测准确度达到预设离线阈值的情况下,获得实时场景数据并确定预设的上线数据批次;
S104,根据所述测试规则及所述上线数据批次,分批次灰度测试目标样本对所述实时场景数据的预测准确度;
本说明书实施例中,并不限定根据所述测试规则及所述上线数据批次,分批次灰度测试目标样本对所述实时场景数据的预测准确度的具体实现方式,本领域技术人员可以根据样本类型、数据量等实际情况灵活地进行设置。
在本说明书的一种具体实施方式中,可以首先根据所述上线数据批次,确定第一批次的实时场景数据,并将所述第一批次的实时场景数据确定为当前实时场景数据,然后循环执行以下步骤,直至所述目标样本对当前实时场景数据的预测准确度未达到预设上线阈值、或无未测试的实时场景数据:
首先可以根据所述测试规则,测试所述目标样本对当前实时场景数据的预测准确度,然后根据所述上线数据批次,确定是否存在未测试的实时场景数据;若是,则将当前实时场景数据的下一批次实时场景数据,确定下一次循环的当前实时场景数据。
循环结束后,可以根据对各批次实时场景数据的预测准确度,得到所述目标样本对所获得实时场景数据的预测准确度。
可以理解的是,本具体实施方式中并不需要限定根据对各批次实时场景数据的预测准确度,得到所述目标样本对所获得实时场景数据的预测准确度的具体实现方式。例如,可以取各次预测准确度的加权和、平均值、最大值、最小值、等等,或通过其他更复杂的运算方式得到目标样本对所获得实时场景数据的预测准确度。
并且,在本具体实施方式中,在目标样本为目标关键词样本的情况下,与S102中类似地,根据预设测试规则,测试目标样本对实时场景数据的预测准确度的方法时,具体可以首先使用所述目标关键词样本,对场景数据进行目标关键词检索,得到包括所述目标关键词的若干第一命中语句,对所得到的各第一命中语句进行语义识别,确定所述若干第一命中语句中,符合预设语义条件的第二命中语句,根据所述第一命中语句与第二命中语句的数量关系,得到所述目标关键词样本对场景数据的预测准确度。
此外,还可以与S102中类似地,在进行命中语句检索与语义分析之后,进一步地采取处理操作,并根据采取不同操作处理的第一命中语句的数量得到第二准确度,从而根据所述第一准确度与所述第二准确度的数量关系,确定所述目标关键词样本对实时场景数据的预测准确度。
此外,在本具体实施方式中,在确定预设的上线数据批次并根据所述测试规则及所述上线数据批次,分批次灰度测试目标样本对所述实时场景数据的预测准确度之前,还可以首先通过目标关键词样本对全部实时场景数据进行命中,但并不采取对应的操作处理,仅获得第一预测准确度,并根据第一预测准确度是否符合预设阈值,确定是否进一步地进行命中与决策的分批灰度测试。
S105,在所述目标样本对所述实时场景数据的预测准确度达到预设上线阈值的情况下,将所述目标样本加入线上样本库,以应用于对实时场景数据进行预测;
本说明书实施例中,并不限定目标样本对所述实时场景数据的预测准确度达到预设上线阈值后,将目标样本加入线上样本库的具体时机,本领域技术人员可以根据实际需求灵活设置。
在一个例子中,可以在达到预设上线阈值后立即目标样本加入线上样本库;
在另一个例子中,也可以设置一定的上线条件,例如,某一批风控模型训练样本是为某次活动所预备,因此可以设定该次活动上线后,再将这一批样本加入在线样本库中。因此,可以确定所述目标样本是否存在预设上线条件,若是,则确定所述目标样本当前是否符合所述预设上线条件,并在符合的情况下,将所述目标样本加入线上样本库。
其中,预设上线条件可以为时间条件、场景条件、甚至人工触发条件、等等,本说明书实施例对此不做限定。
S106,监测线上样本库中所述目标样本对实时场景数据的预测准确度,并根据监测到的预测准确度与预设下线阈值的关系,确定是否将所述目标样本从线上样本库中移除。
本说明书提供的方案中,在将目标样本加入线上样本库之前,根据目标样本对历史与实时场景数据的预测准确度进行筛选,在将目标样本加入线上样本库之后,还根据监测到的线上样本库中所述目标样本对实时场景数据的预测准确度,继续进行筛选。当日,本说明书实施例中并不需要限定根据监测到的预测准确度与预设下线阈值的关系,确定是否将所述目标样本从线上样本库中移除的具体实现方式。
例如,可以在监测到样本库中所述目标样本对实时场景数据的预测准确度低于预设下线阈值时,直接将该目标样本从线上样本库中移除。
又如,为了避免直接下线样本对线上预测效果产生较大影响、或发生错误的样本下线情况,可以首先在监测到样本库中所述目标样本对实时场景数据的预测准确度低于预设下线阈值的情况下,获得实时场景数据并确定预设的下线数据批次,然后根据所述测试规则及所述下线数据批次,分批次灰度测试目标样本对所述实时场景数据的预测准确度,并在所述目标样本对所述实时场景数据的预测准确度低于预设下线阈值的情况下,将所述目标样本从线上样本库中移除。
更进一步地,为了进一步地减小下线样本对线上预测效果的影响,可以对该目标样本进行复制,得到目标样本副本。从而对目标样本副本进行批次下线灰度测试,如果确定需要将目标样本下线,则删除目标样本原本;如果确定不需要将目标样本下线,则删除目标样本副本。
下面结合一个更为具体的实例,对本说明书提供的样本筛选方法进行说明。
本实例中对关键词样本的筛选流程可以如图2所示。
假设新增的关键词样本的初始状态为草稿状态,可以通过人工点击触发进入审核状态。
针对审核状态的关键词样本,首先可以进行适用场景的筛选,如果确定该关键词样本为需要在当前场景中屏蔽的关键词,则继续进行审核。然后可以使用关键词样本对历史场景数据进行检索,得到若干第一命中语句,然后对各条第一命中语句进行语义识别,得到0条至多条语义确实需要被屏蔽的第二命中语句,从而通过第二命中语句数量占第一命中语句数量的百分比,确定该关键词样本是否通过审核。例如,如果百分比达到70%以上,则该关键词样本通过审核,否则未通过审核,回到草稿状态。
审核通过后的关键词样本进入试运行状态。
针对试运行状态的关键词样本,可以使用该关键词样本对实时场景数据进行检索,得到若干第三命中语句,然后对各条第三命中语句进行语义识别,得到0条至多条语义符合预设语义条件(如表达辱骂语义、或表达违法法律法规语义等)的第四命中语句,从而通过第二命中语句数量占第一命中语句数量的百分比,确定该关键词样本是否通过试运行。例如,如果百分比达到70%以上,则该关键词样本通过试运行阶段,否则未通过试运行阶段,回到草稿状态。
试运行通过后的关键词样本进入灰度上线状态。
针对灰度上线状态的关键词样本,可以使用该关键词样本分批次地对实时场景数据进行检索、命中与语义分析,并且还对命中的语句进行决策,进行屏蔽、警告、监控等处理操作,并根据命中语句数量与各处理操作数量的比例,确定该关键词样本是否通过灰度上线测试。
例如,共存在100台线上决策机器,首先随机10台线上决策机器,将关键词样本应用于该10台决策机器对对应实时场景数据的决策中,假设所命中语句中的80%采取了屏蔽操作,符合预期的效果,则可以进一步地随机若干台线上决策机器,进一步地获得采取屏蔽操作占命中语句的比例。
在灰度测试过程中,如果出现不符合预期的情况,如所命中语句中仅20%采取了屏蔽操作,则该关键词样本回到草稿状态;如果对所有批次的实时场景数据的预测均符合预期效果,则可以将该关键词样本加入线上样本库中。
此外,还可以持续监测线上样本库中该关键词对实时场景数据的预测准确度。如果监测到预测准确度低于预设阈值,则可以分批次灰度测试是否将该关键词样本下线,具体测试方法可以与上线时的分批次灰度测试,在此不再赘述。
下线后的样本回到草稿状态,如果需要进行上线,则需重新执行审核、试运行等流程。
可见,应用上述方案,在将目标样本加入线上样本库之前,分别对目标样本进行离线测试与灰度在线测试,从而逐步验证目标样本对场景数据的预测准确度,保证加入线上样本库中样本的质量。此外,通过监测线上样本库中目标样本对实时场景数据的预测准确度,及时将因场景变化等原因而预测准确度降低的目标样本下线,保证线上样本库中的各样本适用于当前场景。
相应于上述方法实施例,本说明书实施例还提供一种样本筛选装置,参见图3所示,该装置可以包括:
数据获得模块110,用于获得历史场景数据;
准确度测试模块120,用于根据预设测试规则,测试目标样本对所述历史场景数据的预测准确度;
所述数据获得模块110,还用于在所述目标样本对所述历史场景数据的预测准确度达到预设离线阈值的情况下,获得实时场景数据并确定预设的上线数据批次;
所述准确度测试模块120,还用于根据所述测试规则及所述上线数据批次,分批次灰度测试目标样本对所述实时场景数据的预测准确度;
样本库添加模块130,用于在所述目标样本对所述实时场景数据的预测准确度达到预设上线阈值的情况下,将所述目标样本加入线上样本库,以应用于对实时场景数据进行预测;
准确度监测模块140,用于监测线上样本库中所述目标样本对实时场景数据的预测准确度,并根据监测到的预测准确度与预设下线阈值的关系,确定是否将所述目标样本从线上样本库中移除。
在本说明书提供的一种具体实施方式中,所述准确度测试模块120,参见图4所示,可以包括:
数据确定单元121,用于根据所述上线数据批次,确定第一批次的实时场景数据,并将所述第一批次的实时场景数据确定为当前实时场景数据;
循环测试单元122,用于循环执行以下步骤,直至所述目标样本对当前实时场景数据的预测准确度未达到预设上线阈值、或无未测试的实时场景数据:根据所述测试规则,测试所述目标样本对当前实时场景数据的预测准确度;根据所述上线数据批次,确定是否存在未测试的实时场景数据;若是,则将当前实时场景数据的下一批次实时场景数据,确定下一次循环的当前实时场景数据;
准确度确定单元123,用于循环结束后,根据对各批次实时场景数据的预测准确度,得到所述目标样本对所获得实时场景数据的预测准确度。
在本说明书提供的一种具体实施方式中,所述目标样本可以为目标关键词样本;
所述准确度测试模块120,参见图5所示,可以包括:
关键词检索单元124,用于使用所述目标关键词样本,对场景数据进行目标关键词检索,得到包括所述目标关键词的若干第一命中语句;
语义分析单元125,用于对所得到的各第一命中语句进行语义识别,确定所述若干第一命中语句中,符合预设语义条件的第二命中语句;
准确度获得单元126,用于根据所述第一命中语句与第二命中语句的数量关系,得到所述目标关键词样本对场景数据的预测准确度。
在本说明书提供的一种具体实施方式中,所述准确度测试模块120,还可以包括处理操作确定单元,具体用于:
在根据所述第一命中语句与第二命中语句的数量关系,得到所述目标关键词样本对场景数据的预测准确度后,将根据所述第一命中语句与第二命中语句的数量关系得到的预测准确度作为第一准确度;
根据对各第一命中语句的语义识别结果及预设处理规则,对各第一命中语句采取对应的处理操作;所述处理规则用于表示:对于不同语义的语句的不同处理操作;
根据采取不同操作处理的第一命中语句的数量得到第二准确度;
根据所述第一准确度与所述第二准确度的数量关系,确定所述目标关键词样本对场景数据的预测准确度。
在本说明书提供的一种具体实施方式中,所述目标样本可以为目标训练样本;
所述准确度测试模块120,可以包括:
预测结果获得单元,用于获得原始训练模型对场景数据的原始预测结果;所述原始训练模型为:使用不包括所述目标训练样本的样本库训练得到的、用于对场景数据进行预测的训练模型;
样本库添加单元,用于将所述目标训练样本加入所述原始训练模型的样本库,并对所述原始训练模型进行更新得到目标训练模型;
所述预测结果获得单元,还用于获得所述目标训练模型对场景数据的目标预测结果;
准确度计算单元,用于根据所述原始预测结果与所述目标预测结果的差异,得到所述目标训练样本对场景数据的预测准确度。
在本说明书提供的一种具体实施方式中,所述样本库添加模块130在将所述目标样本加入线上样本库前,还可以具体用于:
确定所述目标样本是否存在预设上线条件;
若是,则确定所述目标样本当前是否符合所述预设上线条件,并在符合的情况下,将所述目标样本加入线上样本库。
在本说明书提供的一种具体实施方式中,所述准确度监测模块140,可以具体用于:
在监测到样本库中所述目标样本对实时场景数据的预测准确度低于预设下线阈值的情况下,获得实时场景数据并确定预设的下线数据批次;
根据所述测试规则及所述下线数据批次,分批次灰度测试目标样本对所述实时场景数据的预测准确度;
在所述目标样本对所述实时场景数据的预测准确度低于预设下线阈值的情况下,将所述目标样本从线上样本库中移除。
可以理解的是,图4所示的数据确定单元121、循环测试单元122及准确度确定单元123,与图5所示的关键词检索单元124、语义分析单元125、准确度获得单元126,作为两种功能独立的模块,既可以同时配置在装置中,也可以如图4、5所示分别单独配置在装置中,因此图4、5所示的结构不应理解为对本说明书实施例方案的限定。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述的样本筛选方法。该方法至少包括:
获得历史场景数据;
根据预设测试规则,测试目标样本对所述历史场景数据的预测准确度;
在所述目标样本对所述历史场景数据的预测准确度达到预设离线阈值的情况下,获得实时场景数据并确定预设的上线数据批次;
根据所述测试规则及所述上线数据批次,分批次灰度测试目标样本对所述实时场景数据的预测准确度;
在所述目标样本对所述实时场景数据的预测准确度达到预设上线阈值的情况下,将所述目标样本加入线上样本库,以应用于对实时场景数据进行预测;
监测线上样本库中所述目标样本对实时场景数据的预测准确度,并根据监测到的预测准确度与预设下线阈值的关系,确定是否将所述目标样本从线上样本库中移除。
图6示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的样本筛选方法。该方法至少包括:
获得历史场景数据;
根据预设测试规则,测试目标样本对所述历史场景数据的预测准确度;
在所述目标样本对所述历史场景数据的预测准确度达到预设离线阈值的情况下,获得实时场景数据并确定预设的上线数据批次;
根据所述测试规则及所述上线数据批次,分批次灰度测试目标样本对所述实时场景数据的预测准确度;
在所述目标样本对所述实时场景数据的预测准确度达到预设上线阈值的情况下,将所述目标样本加入线上样本库,以应用于对实时场景数据进行预测;
监测线上样本库中所述目标样本对实时场景数据的预测准确度,并根据监测到的预测准确度与预设下线阈值的关系,确定是否将所述目标样本从线上样本库中移除。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。