具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面通过一些具体实施例来进一步说明本发明的技术方案。
如图1所示,其为本发明实施例的内容审核方法的应用场景示意图。内容服务平台主要是提供内容发布服务,在进行内容发布之前需要经过内容审核,从而确保内容质量以及合规性。在本发明实施例中,内容服务平台提供基于人工智能的机器审核服务(简称机审),在针对审核中的特征计算处理上,采用了动态特征分组的方式,从而提高审核效率。
在本发明实施例中,内容服务平台可以是电商平台,在该电商平台上提供各种商品内容的展示,商品的内容数据可能会涉及到商品描述、商品售价、商品订购方式等等,其内容形式可以包括展示在电商平台的商品页面上的图片、文字或者视频,其内容可以是商品描述、商品售价信息等等,上述的内容服务平台也可以是社交媒体平台,通过各种短视频、推文、照片等来进行商品展示。内容提供方向内容服务平台上传内容数据,请求内容服务平台进行发布。内容提供方可以是在电商平台上发布商品的商家用户,也可以是使用社交媒体的大众用户等。内容提供方将内容数据上传到内容服务平台后,经过内容服务平台的审核后,如果审核通过,则可以通过内容发布模块进行发布,如果审核不通过,则会接收到平台反馈的消息,并告知审核不通过的原因,内容提供方可以对内容进行修改,并再次提交内容数据,内容提供方可以通过与平台的多次交互后,使得内容数据符合平台审核要求,从而实现内容发布。
如图2所示,其为本发明实施例的内容审核方法的信令流程示意图。图2示出了图1中内容审核处理模块所执行的具体处理。如图2所示,内容审核处理可以由图中示出的多个模块完成,这些模块可以是独立的服务器,也可以是服务器上的处理模块。当内容服务平台接收到用户提供的内容数据后,交给送审服务模块,形成送审消息并发送至送审消息处理模块。送审消息处理模块进一步针对该内容数据生成机审任务并提交机审任务处理模块。
机审任务处理模块首先会对机审任务中的内容数据执行机审路由处理。这里所说的机审路由是指选择与该内容数据对应的审核策略,具体可以根据内容数据的类型、内容数据的提供方、内容数据的应用场景等一方面或者多方面来确定审核策略。这里所说的审核策略可以包括针对内容的审核,例如内容中是否包含违法信息或者与商品的内容关联性等方面的审核,另外,审核策略也可以包括对内容形式方面的审核,例如图片、视频格式的大小、清晰度等等方面的审核。内容数据的类型可以是视频、图片、文字等等,提供方可以是不同的商家、不同级别的用户等,而应用场景可以包括产品展示场景、社交媒体场景等。审核策略确定后,就可以获得该审核策略所需的各个特征了。
审核策略所需的特征可以包括不需要特征计算处理的工程类特征以及需要特征计算处理的特征。在本发明实施例中,可以优先对工程类特征进行前置审核,如果出现审核不通过的情形,就直接终止后面的审核,从而节省特征计算资源。工程类特征是指内容数据提交后就可以直接确定的特征,并且可以应用审核策略直接进行审核。以电商领域为例,一段短视频所挂载商品的数量,该特征在获取到该短视频后就可以读取到,而审核策略一般会对短视频挂载的商品进行限制,例如,商品挂载数量不能超过3个,那么如果读取到挂载的商品数量为2个,则符合规定,如果为4个则不符合规定,则可以直接终止后面的审核,向用户返回审核不通过的结果,从而节省了后面的计算处理资源和处理时间。
如果前置审核通过了,则对剩下的需要进行特征计算的特征进行优化分组处理。特征分组处理由特征分组处理模块来执行。在本发明实施例中,可以使用卡尔曼滤波模型,对多个特征的不同的分组方案,进行综合计算效率的预测,并根据预测结果来选择较优的分组方案。综合计算效率可以包括特征计算延迟、特征计算成功率、特征计算成本以及特征计算的去劣率中的一项或者任意多项内容。
这里所说的分组方案实际上多个特征所形成的多个特征组以及特征组之间的先后顺序,在确定了分组方案后,可以按照该先后顺序,对各个特征组进行串行的特征计算以及审核处理,当某个特征组出现否定的审核结果后,就终止后面的特征计算处理,从而能够节省本次内容审核的计算资源和处理时间。这里所说的需要计算的特征可以包括:例如视频的清晰度、声音的清晰度、文字的合规性、画面流畅度、视频内容的合法性等。对于不同的内容数据,需要计算的特征可以有所不同,这取决于该内容数据所对应的审核策略。
特征计算以及审核处理可能会存在循环的过程,前一组特征计算完成并对特征计算结果审核完成后,如果审核通过,则会继续对下一组特征进行计算并审核,而一旦出现审核不通过的结果,则跳出该循环,进行审核结果的反馈。图中的审核消息处理模块用来进行审核结果反馈,审核结果可能是肯定的通过审核的结果,也可能是未通过审核的否定的审核结果,该审核结果一方面会反馈给用户,另一方面,在内容数据审核通过后,还会提供给例如图1中的内容发布模块,触发进一步的内容发布处理。
此外,在一些情况下,可能会出现一些无效的特征计算结果,进而也会导致无法做出有效的内容审核结果,这些可能是由于特征计算处理模型的原因,或者计算资源不足等,也可能是内容数据自身的原因,例如数据量过大等,当出现这种情况时,可以触发补偿任务,交给机审补偿任务处理模块来执行进一步处理,该模块可以视为用于进行异常处理的模块,补偿任务可以是将出现无效审核结果的内容数据,暂缓进行特征计算,例如等待系统更新修复后再次进行处理,或者等待计算处理高峰过去后再执行审核,或者引入人工审核等,该补偿任务的处理机制可以视为内容审核的兜底处理机制。
如图3所示,其为本发明实施例的内容审核方法的流程示意图,该方法可以应用于如图1所示的提供内容审核以及发布服务的内容服务平台上,该方法可以包括:
S101:根据特征计算效率数据,对待审核的内容数据的多个特征进行特征分组,生成包括多个特征组的分组序列。
其中,内容数据的特征可以包括:例如视频的清晰度、声音的清晰度、文字的合规性、画面流畅度、视频内容的合法性等,内容数据的特征可以根据内容数据的具体形式以及审核的实际需求而灵活确定,例如对于商品展示类视频,视频的清晰度和流畅度是审核的重点,因此,需要对该方面的特征进行提取,再例如,对于社交平台的内容数据,对于内容的合法性是审核重点,因此,需要提取内容语义方面的特征。在实际应用中,可以先根据待审核的内容数据,确定对应的审核策略,然后再根据审核策略,确定需要进行特征计算的多个特征。
特征计算效率数据可以包括特征计算延迟、特征计算成功率、特征计算成本以及特征计算的去劣率(特征审核不通过的概率)中的一项或者任意多项内容,或者根据上述的一项或者任意多项而生成的特征计算效率评分,特征计算效率的评分可以基于预设的评分策略而得出,例如对各个特征计算延迟、特征计算成功率、特征计算成本以及特征计算的去劣率施加不同的权重,并进行加权平均而得。
在上述的特征分组的过程中,可以对计算出多个或者全部的特征分组方案,例如,如果需要计算的特征为5个,那么全部的分组方案为2的5次方,总计32个分组方案。之后,计算出这些特征分组方案的特征计算效率数据,然后再根据各个分组方案对应的特征计算效率数据,来最终确定要最终采用的特征分组方案。具体地,在获取到多个特征的多个分组方案后,可以使用卡尔曼滤波模型,对各个分组方案的特征计算效率数据进行预测,然后根据预测出的各个分组方案对应的特征计算效率数据,确定分组序列。此外,在本发明实施例中,特征分组方案包含了特征组的顺序要素,在不同的分组方案下,即使特征组所包含的特征相同,但是如果特征组的顺序不同,得到的特征计算效率数据也可以是不同的,具体可以在确定特征计算效率时引入顺序权重,例如第一组的权重最大,往后逐渐递减。例如,5个特征A、B、C、D、E,分为两组,AB一组,CDE一组,进而可以形成两种分组方案,其中一种为第一组为AB、第二组为CDE,另一种为第一组为CDE、第二组为AB,虽然两种分组方案的特征组的特征相同,但是由于特征组顺序不同,也会得到不同的特征计算效率数据,例如,假定特征B的去劣率较高,其放在第一组时,第一组审核未通过的概率较大,则大概率会停止第二组的审核,从而节省计算资源,反之,如果特征B放在第二组进行审核,第一组的CDE已经完成了特征计算后,在计算第二组时才出现审核未通过的情形,那么第一组的CDE的计算处理所使用的计算资源,相当于被浪费掉了,因此,从综合的特征计算效率来说,放在将B放在第一组中较为优选。
此外,除了上述需要进行特征计算的特征外,还可以包括一些工程类特征,这些特征不需要进行特征计算处理,可以直接从内容数据中获得,从而可以直接进行内容审核。因此,在上述进行特征分组之前,还可以包括:根据审核策略,确定内容数据对应的工程类特征;获取工程类特征的特征数据,并根据该特征数据执行前置审核,如果通过前置审核,则执行特征分组处理,否则,向用户返回审核未通过的审核结果,从而就不必执行步骤S101的特征分组处理以及后续特征计算和内容审核了。
S102:按照分组序列的顺序,依次对各个特征组进行特征计算处理,以及根据审核策略,对特征计算结果进行内容审核。当出现内容审核不通过的审核结果时,停止特征计算。在停止特征计算后,可以向用户返回审核结果,或者,如前文提到的,当出现无效的特征计算结果时,触发补偿任务处理。如果当前特征组的内容审核通过了,那么就继续执行下一个特征组的特征计算处理以及内容审核,直至出现审核不通过的情形,或者全部特征组都审核通过。
具体地,在分组方案确定后,就可以对可以逐一对各个特征组进行特征计算。其中,分组序列已经规定了各个特征组的计算顺序,在进行特征计算处理的过程中,整体上会按照这个顺序来对各个特征组执行特征计算以及审核,即在特征组之间是以串行方式进行审核的,一旦出现某个特征组的内容审核没有通过,则可以停止后面的特征组的审核处理。
对于特征组内的特征计算也可以采用串行的方式,每个特征计算完成后执行内容审核,然后再看是计算下一个特征,当出现某个特征的计算结果没有审核通过时,可以及时停止该特征组的特征计算,并向用户返回审核结果,从而可以以一定的概率节约一部分计算资源。此外,特征组内的各个特征之间可以采用并行的特征计算处理,并根据审核策略对各个特征的特征计算结果进行审核,即针对单个特征的计算和审核是并行的,当出现某个特征的计算结果没有审核通过时,可以及时停止该特征组的特征计算,并向用户返回审核结果,组内并行的处理方式,虽然在一定概率上会耗费更多的计算资源,但是,会大幅降低特征计算以及内容审核处理的时间。
需要说明的是,在一些内容审核策略下,可能存在某些内容审核项目需要多个特征计算结果才能进行内容审核,在这样的情况下,无论是并行还是串行的处理,都需要等待这些特征计算完成后才能进行内容审核,针对这样的情况,在根据特征计算效率数据对分组方案进行评估时,最终会选择将这些特征分到同一个特征组中。
在本发明实施例中,动态分组过程使用了卡尔曼滤波算法来对各种分组方案的特征计算效率数据进行了综合预测。具体的,可以定义如下卡尔曼滤波模型来进行特征计算效率数据的预测,在本发明实施例中,该模型也就是用来预测各个特征分组方案对应的特征计算效率数据的预测模型。
Yk=AYk-1+BXk-1+Wk-1式(1)
其中,k表示时刻,A和B为卡尔曼滤波模型的参数矩阵,A和B可以通过使用训练数据对模型进行训练而确定,为了简化计算,A可以采用单位矩阵,Wk-1为噪声矩阵,可以通过卡尔曼滤波算法的迭代处理而确定,从而使得系统预测值与真实值之间的误差最小。Yk和Yk-1表示特征计算效率数据,分别对应于k时刻和k-1时刻,Xk-1表示在k-1时刻的特征分组方案,X可以以矩阵的形式表示,每一行代表一种分组方案的编码,从而整个矩阵表示出了全部特征分组方案。上述公式就是要基于前一时刻的特征计算效率数据来预测下一时刻的特征计算效率数据,从而对特征分组方案进行合理的选择。其中,如前面所提到的,特征计算效率数据可以包含多个维度的数据(例如特征计算延迟RT、特征计算成功率ST、特征计算成本SC以及特征计算的去劣率QT,也可以是基于这多个维度的数据而综合确定的值,例如,可以将特征计算效率数据定义为下述公式,其中,cost可以表示基于各个维度的数据执行的统计算法,以确定最终的综合特征计算效率的打分y。
y=cost(RT,ST,SC,QT…)式(2)
具体到上述公式(1)中的Y来说,Y可以是矩阵形式,每一行可以表示多个维度的特征计算效率数据(即包含了上述的RT,ST,SC,QT),最后可以再基于一定的策略来确定特征分组方案,另外,Y也可以是向量形式,每一行对应一种特征分组方案的综合打分(即通过上述公式(2)确定出的y值),最终可以直接通过特征计算效率的综合打分来确定特征分组方案。
在实际的应用中,输入该模型的为需要计算的特征的全部或者部分的特征分组方案,这些组合方式以编码的形式作为Xk-1输入模型,同时也输入在前一时刻预测出的特征计算效率数据Yk-1,从而确定出下一时刻的特征计算效率数据Yk,并根据Yk来确定要使用的特征分组方案。上述的特征分组方案的确定可以基于每个内容数据审核任务而触发,即k所表示的时刻为每次内容数据审核的时刻。
上述卡尔曼滤波模型可以通过深度学习网络的模型来实现,并且基于内容审核的历史数据来进行训练,即根据各个特征的历史特征计算数据,获取不同组合方式对应的特征计算效率数据作为训练样本,然后使用训练样本对卡尔曼滤波模型进行训练。其中,历史数据可以从历史日志记录中获取,即在每次进行内容审核的过程中,针对某种特征分组方案,实际产生的特征计算效率,例如可以统计在历史数据中,各种特征的实际的特征计算延迟、特征计算成功率、特征计算成本以及特征计算的去劣率等数据,并根据不同的特征分组方案进行数据加工,从而形成符合模型训练要求的训练样本数据,以对模型进行训练,从而确定出模型的参数矩阵。例如,历史数据可以通过搜集一周产生的随机变化的内容审核数据(变化频率可以是分钟级的),并进行数据统计或者加工而确定。
本发明实施例的内容审核方法,基于特征计算效率来动态确定分组方案,进而以串行的方式来对各特征组进行特征计算以及审核处理,当出现审核不通过的结果时,能够及时停止后续的特征计算处理,从而节省大量的计算资源,并且也提高了每次内容审核的效率。进一步地,通过使用卡尔曼滤波模型来进行特征计算效率的预测进而确定分组方案,从而能够更加优化地使用计算资源,优先计算去劣能力强(去劣率高)并且计算成本低的特征并产出审核结果,避免计算其他去劣能力低(去劣率低)而计算成本高的特征,从而进一步节省算力成本,优化算力资源的使用。
如图4所示,其为本发明实施例的内容审核装置的结构示意图,该装置可以应用于如图1所示的提供内容审核以及发布服务的内容服务平台上,该装置可以包括:
特征分组处理模块11,用于根据特征计算效率数据,对待审核的内容数据的多个特征进行特征分组,生成包括多个特征组的分组序列。
其中,内容数据的特征可以包括:例如视频的清晰度、声音的清晰度、文字的合规性、画面流畅度、视频内容的合法性等,内容数据的特征可以根据内容数据的具体形式以及审核的实际需求而灵活确定。在实际应用中,可以先根据待审核的内容数据,确定对应的审核策略,然后再根据审核策略,确定需要进行特征计算的多个特征。特征计算效率数据可以包括特征计算延迟、特征计算成功率、特征计算成本以及特征计算的去劣率中的一项或者任意多项内容,或者根据上述的一项或者任意多项而生成的特征计算效率评分,特征计算效率的评分可以基于预设的评分策略而得出,例如对各个特征计算延迟、特征计算成功率、特征计算成本以及特征计算的去劣率施加不同的权重,并进行加权平均而得。
具体地,在获取到多个特征的多个分组方案后,可以使用卡尔曼滤波模型,对各个分组方案的特征计算效率数据进行预测,然后根据预测出的各个分组方案对应的特征计算效率数据,确定分组序列。此外,在本发明实施例中,特征分组方案包含了特征组的顺序要素,在不同的分组方案下,即使特征组所包含的特征相同,但是如果特征组的顺序不同,得到的特征计算效率数据也可以是不同的,具体可以在确定特征计算效率时引入顺序权重。上述的卡尔曼滤波模型可以采用前面介绍的公式(1)所示的模型,详细模型原理以及参数矩阵的确定方式在前文已经进行了介绍,在此不再赘述。
特征计算审核模块12,用于按照分组序列的顺序,依次对各个特征组进行特征计算处理,以及根据审核策略,对特征计算结果进行内容审核。当出现内容审核不通过的审核结果时,停止特征计算在停止特征计算后,可以向用户返回审核结果,或者,如前文提到的,当出现无效的特征计算结果时,触发补偿任务处理。如果当前特征组的内容审核通过了,那么就继续执行下一个特征组的特征计算处理以及内容审核,直至出现审核不通过的情形,或者全部特征组都审核通过。
具体地,在特征分组方案确定后,就可以对可以逐一对各个特征组进行特征计算。其中,分组序列已经规定了各个特征组的计算顺序,在进行特征计算处理的过程中,整体上会按照这个顺序来对各个特征组执行特征计算以及审核,即在特征组之间是以串行方式进行审核的,一旦出现某个特征组的内容审核没有通过,则可以停止后面的特征组的审核处理。
对于特征组内的特征计算也可以采用串行的方式,每个特征计算完成后执行内容审核,然后再看是计算下一个特征,当出现某个特征的计算结果没有审核通过时,可以及时停止该特征组的特征计算,并向用户返回审核结果,从而可以以一定的概率节约一部分计算资源。此外,特征组内的各个特征之间可以采用并行的特征计算处理,并根据审核策略对各个特征的特征计算结果进行审核,即针对单个特征的计算和审核是并行的,当出现某个特征的计算结果没有审核通过时,可以及时停止该特征组的特征计算,并向用户返回审核结果,组内并行的处理方式,虽然在一定概率上会耗费更多的计算资源,但是,会大幅降低特征计算以及内容审核处理的时间。
对于上述处理过程具体说明、技术原理详细说明以及技术效果详细分析在前面实施例中进行了详细描述,在此不再赘述。
本发明实施例的内容审核装置,基于特征计算效率来动态确定分组方案,进而以串行的方式来对各特征组进行特征计算以及审核处理,当出现审核不通过的结果时,能够及时停止后续的特征计算处理,从而节省大量的计算资源,并且也提高了每次内容审核的效率。进一步地,通过使用卡尔曼滤波模型来进行特征计算效率的预测进而确定分组方案,从而能够更加优化地使用计算资源,优先计算去劣能力强并且计算成本低的特征并产出审核结果,避免计算其他去劣能力低而计算成本高的特征,从而进一步节省算力成本,优化算力资源的使用。
前面实施例描述了内容审核方法的流程处理及装置结构,上述的方法和装置的功能可借助一种电子设备实现完成,如图5所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器110和处理器120。
存储器110,用于存储程序。
除上述程序之外,存储器110还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器110可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器120,耦合至存储器110,用于执行存储器110中的程序,以执行前述实施例中所描述的内容审核方法的操作步骤。
此外,处理器120也可以包括前述实施例所描述的各种模块以执行内容审核方法的处理过程,并且存储器110可以例如用于存储这些模块执行操作所需要的数据和/或所输出的数据。
对于上述处理过程具体说明、技术原理详细说明以及技术效果详细分析在前面实施例中进行了详细描述,在此不再赘述。
进一步,如图所示,电子设备还可以包括:通信组件130、电源组件140、音频组件150、显示器160等其它组件。图中仅示意性给出部分组件,并不意味着电子设备只包括图中所示组件。
通信组件130被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件130经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件130还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件140,为电子设备的各种组件提供电力。电源组件140可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件150被配置为输出和/或输入音频信号。例如,音频组件150包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器110或经由通信组件130发送。在一些实施例中,音频组件150还包括一个扬声器,用于输出音频信号。
显示器160包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。