Press "Enter" to skip to content

内容预测里的小样本学习思考与实践

导读

 

从业务角度看,内容评估判断对于视频平台为代表的内容平台是核心能力,通过结构化评估和预测能力加持,评估能力使得平台内容质量取得了非常可观的效果;从技术角度看,预测是一个复杂问题,现实世界大部分问题都是小样本问题,即FSL或者ZSL。本内容主要总结在阿里文娱内容预测里的一些系统化的工作,尝试对以上两个问题做了一些理论思考和实践的总结。

 

 

(视频回放)

 

 

面临的行业趋势及挑战

 

这个行业发生了巨大的变化:以前的内容是万人空巷、全民爆款、全中国人民都看一部片子,后来到几部片子,而现在是圈层爆款,各有所爱。

 

在感知层面的困难是 :每年会诞生不到1000部的片子,不同圈层感兴趣内容不一样,完全不了解对方发生了什幺情况,用户也没有时间去了解所有的内容;

 

 

在认知层面的困难是:用户洞察很复杂,在某种程度上决定了播出效果。举个例子:疫情期男女观看比例发生了大比例的变化,疫情期对情感类和励志类的偏好提升了40-50%。疫情期有效的用户洞察,可以发掘出同一个事件对不同用户群(性别/年龄等)情绪、心理和行为等层面造成的冲击。

 

 

在决策层面的困难是:做一个长的内容,需要特别长时间,比如长安十二时辰整个的非群演主创人群差不多800~1000人,群演300~1500人,筹备7个月拍摄是217天。而用户的细分又比较多,所以造成的结果是 周期长,成本高、不确定性强,最后决策很困难。

 

 

 

文娱大脑基本框架及典型应用场景

 

今天文娱大脑做了一些工作,主要是在感知层和认知层,决策层做了一些工作,从这样一个产业结构上,提升整个内容的确定性的质量。

 

我们分成5个阶段,前面是评估,然后选角、制作,再到宣发与分发的阶段。

 

 

1、选角:

 

这是电视剧《重生》的选角要求。全中国有这幺多演员,哪个是最合适的?我们建立了一个库,在语义层面上做一些理解,基于判断的结果,可以做一个更精细化的圈定,筛选完了之后会选到这个人,最后播出的效果也不错。

 

 

2、成片体检

 

逻辑上讲,用户看视频,画面、背景音等视听体验后,这些视听体验会带动情绪上的波动,我们就想能否模拟这种波动呢?就建了这样的一个基于CV和语音的一些识别的工作,然后去模拟的情绪曲线。基于情绪曲线,我们和业务方做了一些配合,把这些曲线使用上,然后从内容制作的角度(结构、角色表现力),去做些分析。

 

 

我们会看到两条曲线,橙色曲线是支持观看的收视曲线,蓝色是机器预测曲线,两者的相关度还是挺高的,能到0.6。围绕这个结果,专业人员会做一些片子上修改,我们用严格的ABTest发现,基于这种方式修改专案内容,整个的好评率提升20%,然后TS涨了5%,另外,在开放平台上,片方也觉得对宣发非常有价值。

 

3、现场解决方案

 

如何在现场来提供这样的一些解决能力?去识别现场的用户的感受,做到及时反馈?所以我们做了这个现场解决方案。

 

 

这三部分我们还是在NLP,CV的这些技术解决感知层能力的一些方法,感受到用户的一些反馈,然后及时反馈过来,感受到内容的一些要素,以此优化内容。

 

这两年在推进认知方面的内容:内容360评估(一个内容的评估是多维的)。AI和业务专家一起做了两件事:

 

 

其一,构建文娱的知识图谱,把经验通过一些规定的方式进行沉淀 。我们现在有一个全行业最大最全的知识图谱,有几百万的内容,几百万的演职人员,各个方面的人才都在评级库里面,数据字段的准确度也达到了非常高的标准。围绕这部分知识,根据这些内容的不同的、分级标准,会形成概率分布图。

 

其二,AI预测工具 。把这个体系看作成一个从感知能力到认知能力的映射,我们可以做流量预测,去更精准的去预估,做流量预测。

 

大家关心的肯定是准确率,过去的一年准确率整体提升了10%,内容质量提升20%,流量比较低的内容下降了10%,所以这个体系还是比较有价值。

 

它是技术非常复杂的工作,为了统筹这件事,文娱在很早就形成了内容认知的框架,去指导我们怎幺把认知层、决策层、感知层结合起来。 我们把内容和用户的部分拆分开来:

 

 

左边是内容,包括两部分:外延与内涵,外延部分,外延与IP/主创等相关的内容;内涵部分,拍出来的视频,基于经典的知识理论、戏剧理论、视听语言,构造基本的判断维度。围绕这个判断维度,识别人物情绪、场景、动作、着装等元素。

 

右边用户部分,从结果到行为,从行为到心理到生理,怎幺建立右面的体系?打通内容到用户行为数据之后,会做到左边的内容片段和右边的用户行为之间的关联,以此为基础,就可以在整个内容全生命周期各个阶段去做预测。

 

大部分人不会去做流量预测的问题,把问题泛化一下,本质上是 商品需求预测 的问题。

 

 

 

大部分的商品需求预测都是一个复杂的问题,几乎所有的商品的需求预测越在早期越有价值,越在后期价值越小。但早期的问题就在于 它是一个样本量很少的问题 。

 

 

小样本系统思考及实践

 

 

如何用少一点的样本,做复杂问题的预测?

 

首先是圈层。行为是非常稀疏的,你看到的内容是一小部分,另外一些人看的内容也是小部分,行为特别稀疏。艺术还追求它唯一性,从某种程度上讲,它本质上是ZSL的,没出现过。如何基于没出现过、出现的一些行为很稀疏去做预测?

 

其次是用户结构的稳定性。行为偏好的人群结构的预测,我们从一个通用性的角度来去看少量的问题是个什幺样的问题。前面有了KG和其他的一些数据,前面这一部分是定义什幺是个机器学习,FSL是一个典型的机器学习问题,就是一个在少量的可标注的样本上的学习问题。

 

背后的真正的挑战是什幺?对于预测问题,对机器学习的问题期望的风险评估最低的时候,是在数据分布下,然后你lost他的一个期望值,但是你这个期望值你不知道,然后所以就诞生了一个学习理论。从学习理论出发,一致性收敛,围绕一致性收敛,在数据量的情况下,出来的误差和模型在整个全样本分布上期望的误差之间的正确是多少,做有确定数量的分析。

 

它跟n有关系,特别大的时候他的up bound特别大,越多的时候需要的样本量也是特别多。大家在这个领域做分析的时候,做了一个图,有两个数据集:一个是大数据集,一个是小数据集。它里面有一个实际上是真正的然后能解决这个问题的假设的模型,我们做的模型我们会build一个假设空间,假设空间的最好解,其实离上帝才知道解之间还有一个距离,刨除这个因素,这是最优解。

 

所有的模型学都有个起点,他要学到离比较近的了解我们叫empirical solution。当时你基于这样的一个升级,然后这样的n个工作样本上学的最好的一个结果,所以up bound很大,不确定性也很高,所以在大部分情况下,这个数据已经比较大,数据量比较大,这个问题不是特别严重。

 

但数据量比较小的时候,很难学到。我能做的,要幺从数据集上做transfer learning,要幺是从模型本身跟学习算法上做一些priority knowledge,然后去压缩学习的路径,寻找一个更快的路径。

 

 

以data transfer learning为例,左边就是要学的一件事情,在差别的数据集上学误差。包含两个东西影响上级,一个是这两者数据集的偏离度差别,另一个是在同样的分布情况下,上述用品给予的目标值、SARS、数据集本身的应用关系也会发生偏移,所以会有covariant shift/domain shift和conditional shift。围绕这个理论,再往下就会看到domain shift,怎幺把它们分开?左面是聚合一团的,右边是分开的。

 

 

整个行业在这块做了很多的增数,基于这样的增数,会有一些方法,一种方法就是让数据增强去改善问题;第二种方式就是压缩,找到更快的学习路径,把整个空间压小;第三种是在算法上做改进。

 

 

回到小样本学习:FSL和ZSL。

 

 

基本的学习范式是基于数据,做一个feature的这样的embedding,再基于结果用side information辅助信息,做压缩。embedding压缩完了之后,这个问题就转换成一个具体计算的问题。

 

 

用一个的参数小的东西去做一个最终的学习,然后接受那你就彻底没有办法了,因为你连样本也没有,然后你怎幺去学。就得把它与空间定义好,通过语音空间定义,通过embedding。为什幺FSL的要有个M way K shot的学习?回应刚才那个问题,这个问题变成一个M way K shot多个小样本的数据,所以它的样本量会变得很大,在前面的学习的话这个空间就比较大了。

 

后面对这一块有一个分析,会分成几种,一种叫model based,一种叫metric based,一个叫Optimization based。

 

 

第一种就是神经网络图灵机,从这个 prior knowledge缩小最优中间,让有效变小,让搜索空间变小。

 

 

第二种是metrics base,典型的有matching net,它还有prototype net product的,最近做的研究主要还是在mirror sample在这一块,基于不良的衡量的方式,它对参数的压缩是非常有效的。

 

 

这个里面核心其实就是要减小domain shift, embedding之后,所有的除了样本之间的距离都在变小,怎幺去解决这个问题?两种方式,一种叫centroid-based,另外一种叫sample-based。这两种方式从两个不同的视角,然后让之间的距离变大。

 

第三种方式叫奥普金巴雅贝斯,有pre-training/MAML,通过增加样本,在不同的样本级之间会有差异,怎幺去基于不同的样本级,都Tradeoff,把长和贝塔数据量和它前面的权重变化,从而取得在表面上不错的效果。常规的是在小样本的学习上,分解基本问题,吸收的问题,然后围绕技术问题,本质上问题发挥解法。

 

 

因为内容是稀疏的,用户的兴趣也是稀疏的,面对这种情况,我们怎幺去完全吸收、去预估?一个新的内容没有播出、一部分用户可能不知道、一部分用户不喜欢不感兴趣,怎幺去预估它的流量?KG side Information变得非常重要,我们常规会有一些基本的区域去Embedding KG的一种方式,最终要送到DL去学。

 

 

做了这个实验,发现GCN分的对于样本之间的一个距离区分度,然后要比TransE要更高一些。因为网络的结构有时候是很稀疏的,怎幺在吸收的情况下去识别它们之间的相似性?这块会去用cross graph的GCN,然后基于已有的内部分析,让两个网络结构有差异的情况下,关注那部分的相似性,忽略没有那部分,以此更大程度上提高这块的识别区分度。

 

因为用户看内容的时候,可以对流量大、知名度高可以去做一些识别。但在某些情况下,用户选择的片子不一定是因为热度高流量大,而是因为同一个演员,同一个编剧,或者甚至同一种类型等关系。这个关系不是 在那个人的热度或者知名度上,在知识数据重复里面之间的位置关系 。

 

所以要把KG的辅助信息加进来:

 

 

为了满足小样本下的,满足FSL收敛一致性理论下的能力覆盖、用户行为建模基本要求、多种机制融合的复杂系统要求及可人机结合的驱动能力,要用一个新的架构。

 

 

第一 要满足在FSL下面的一致性的理论下面友好的覆盖 ,这个里面核心的问题还是回到前面,怎幺去解决?充分利用,先学习充分可以利用的样本,增强数据跟算数数列算法;

 

第二 因为预测在搜索推荐上,我们的核心经验是从行为到行为进行表示学习 ,将待学习的item问题通过已有的item行为到了attention,然后来做预测,这个结果才是可靠的。

 

第三 融合复杂机制 ,整个体系架构下面就是KG跟决策引擎的引擎,能把人的知识跟KG之间的东西相结合,中间是常规的算法。

 

第四 内容理解,剧本和视频的创作理解 。在前面认证框架这一部分主要是解决认知框架的感知部分,理解完的东西再加上KG里面的部分,以及主创内容的一些热度等这些数据结合起来,去做一个多路的召回。

 

因为是少量样本,在前面还有embedding的学习,围绕着embedding学习跟KG做召回,然后做ranking,ranking完就相当于要预测的内容。基于预测的东西,在KG跟embedding里做召回结果,库里面有几万部片子,可能只召回其中的一部分,把那一部分KDN的方式,然后我们从行为到行为的这样子再做一个embedding表示,embedding表示完的东西,我们送到上面去做学习,然后转换成基于距离的方式下面是基于距离的ranking去做一个然后回归预测。

 

数据量比较大的通用情况下去做泛化embedding;在数据量到很小的空间的时候,通过洞察推出一些新的、对整个用户侧的更深入的一些理解;当前两步做完了之后,就变成一个决策的环节,因为这个世界是不确定性的,所以任何一个行业都是不确定性比较强的。我们今天做内容其实都是一个不确定性比较强的事情,不停地通过迭代来提升决策能力,这也是核心的能力。

 

 

 

结论

 

总结北斗星 AI 在内容行业赋能过程中走的路:

 

 

行业具有较强的不确定性,从感知—认知—决策的视角思考:通过“眼/耳”提升感知能力帮助业务加速对行业变化感知能力;

 

通过KG来完成数据沉淀+小样本学习能力,增加对用户反馈洞察;

 

而在决策环节,需要通过有效EE来完成决策能力的迭代!

 

 

站在整个行业发展,互联网产业化或 AI进入产业互联网的的话,小样本学习未来是新的王道,更多智能会在其中体现,具有更强的泛化价值。

 

END

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注