天天看点

阿里文娱搜索在深度语义相关性计算的探索

作者:数字化转型咨询

大家都知道,视频是4G、5G时代最便捷的信息载体。它为用户带来了极大的便利,也给搜索带来了更大的挑战。视频,无论是制作、存储、计算还是分发,都比文本模式信息困难得多。今天的分享会以四种方式向您介绍:

阿里娱乐搜索业务介绍

相关性和排序

多模式视频搜索

对深度语义关联的一些探索

01

首先,与您分享以下娱乐搜索业务简介。

1. 阿里娱乐搜索业务介绍

阿里文娱搜索在深度语义相关性计算的探索

搜索整个阿里娱乐提供一站式搜索推荐服务,服务范围不仅包括优酷的整个搜索门户,如APP端、OTT大屏幕、PC端和网络终端等,还涉及大麦、票务等领域。该搜索内容涉及从传统影视、动漫等版权的长视频库,也涵盖了社会各领域的UPGC视频内容,除了电影人、表演、小说等也是娱乐搜索各个业务领域的需求,需要提供搜索服务。

就用户而言,该平台拥有数亿级的视频资源。不仅包括平台购买的受版权保护的OGC视频(如节目,电影和电视节目),还包括用户上传的一些UGC视频。

2. 用户价值→评价指标

阿里文娱搜索在深度语义相关性计算的探索

视频搜索的工作原理是什么?让我们首先告诉您视频搜索中的用户价值是什么,以及它如何影响搜索技术。评估指标的用户价值在这里体现在两个维度上。

首先是工具属性,即用户使用搜索服务作为工具来查找内容,目标是找到正确的做法。

搜索要准确,不仅是用户价值的基础,也是搜索属性的基础。从此维度评估搜索的有效性需要一系列体验类指标(跳出率、相关性、及时性、多样性等)。可广播性是视频搜索的一个独特属性,是指视频是否可以在优酷平台上播放。出于版权和监管原因,某些内容不可播放。此外,还会定期对搜索效果满意度进行人工评估,做横向和纵向比较。

第二个是分发属性,即用户如何在平台上消费更多内容并带来更多收入。

其实有两个维度要多,一个是要看VV的视频数量,二是PS的消费时间。这两个指标对于视频的垂直搜索区域非常重要,因为它直接衡量用户满意度。对于平台来说,搜索还需要能够支持平台的外展,实现广告、会员等商业价值。这些属性决定了视频搜索业务是一项多目标优化任务。

3. 搜索算法框架

阿里文娱搜索在深度语义相关性计算的探索

下面是用于从上到下搜索数据的算法框架,数据层、底层技术层、Query 的意向层、内容调用层、关联层和排序层。这个框架层次比较高,首先大概不会涉及细节,希望大家能了解视频搜索的关键技术,会更贴近内容的内容在这里突出,方便理解后面的内容。

数据层:它基于视频的内容,从中获取来自实体,关系和属性的适当知识(例如谁是程序中的参与者?它的作用是什么?它是在哪一年发布的?通过内容组织聚合地图,例如基于事件维度的及时性聚合。

基础技术层:基于数据层,底层的CV技术和NLP功能用于支持上层对Qury意图的理解,内容的召回以及随后的相关性和排序。意图层需要了解用户的 Qury 意图是什么。首先,分析Querrey的成分(Query Tagging),标记是要指出Qury中的成分是什么意思(比如"一步一步报警吴启龙"这个咭,需要识别的"一步一步报警"是一个程序名称,"吴启龙"就是一个人)。然后,这些信息用于建立一个细粒度的意图系统,深刻理解用户表达的意图(例如,需要了解用户是否在寻找节目的意图,或者是否要查看角色的周围环境和一般知识类的意图),这可以指导顶部的回忆相关性排序。

回忆层:涉及多媒体内容理解是视频搜索的重点,因为与传统搜索不同,视频内容传达的信息非常丰富,很难用短十几个字的标题准确写照,而用户在搜索中,因为表达他的需求非常不同,自然存在语义鸿沟或知识鸿沟, 所以不能把视频当成黑匣子,而是需要利用NLP的能力,CV的能力,连同其他技术能力,提供对视频内容的全面分析。

相关性:涉及的主要内容是基础相关性和一些语义匹配技术,以及稍后重点介绍的深度语义相关计算。

排序层:通过前面提到的两个维度(体验和分布)提高整体搜索性能。排序主要用于机器学习的学习排名的某些模型中,以改善分布,同时还优化体验类的目标,例如时间敏感的多样性等。这是一个典型的多目标优化任务。

02

以下是相关性和排序,这两个搜索的核心模块。

1. 搜索相关性 - 挑战

阿里文娱搜索在深度语义相关性计算的探索

相关性被定义为为用户提供一个 Qury 和一个文档 Doc,以确定 Qury 和 Doc 是否相关。与通用搜索相比,视频搜索有三个特殊挑战,如下所示:

异构内容理解:表中的两个帖子,用户Query和视频标题Doc,实际上无关紧要。通过对视频内容的理解,丰富元信息,建立异构内容的相关性。(比如用户库瑞《变形金刚2017姚金东》,Doc只有姚金东,其实通过对视频内容的了解,可以知道姚京东和变形者的关系,并且知道它是在2017年拍摄的。因此,通过对内容和IP指纹的了解,比如这个视频周围的IP和IP本身,可以丰富视频的元信息,提高异构内容匹配的相关性。

物理知识匹配:视频有很多领域知识,需要用它来构建视频内容(例如标题内容)。具有NER的实体提取标题,CV技术有助于提高其识别准确性。(例如,用户查询""法律是没有同情心的中国人",查询方通过作文分析得到"法律是不可接受的"是一个程序名称。然而,doc用户上传是一种社会现象,需要对Doc方面有一个结构化的理解,可以推断出Doc方面对"法律上不被允许"的理解不是一个程序。基于这些信息,这种先验知识可用于做出更好的判断,并确定相关性匹配时的最终相关性。

深度语义计算:这种挑战其实在一般的搜索领域中是遇到过的,但视频搜索领域的挑战更大,因为它需要结合知识,以及对视频内容的理解去链接,才能更好的解决。稍后将更详细地介绍这一点。

2. 搜索相关性

阿里文娱搜索在深度语义相关性计算的探索

对于搜索关联,一般解主要从四个维度展开,如下:

基本特征:基于文本的匹配,包括术语称重和基于术语级别的匹配矩阵。

知识特征:主要是通过对内容的理解和视频本身与元信息的特征提取知识维度,如视频人物与程序相关联和与一些元信息相关联,用来做一些知识类的匹配。其中,Doc Tagging类似于前面描述的Thery Tagging,但它需要将内容理解NLP技术和关系数据结合起来,以识别视频中标题的组成部分。

测试后功能:在某些情况下,测试后功能比先验功能(基本和知识功能)更重要,因为在用户搜索 Qury 之后,用户与搜索结果之间存在交互,例如 Qury 和 Doc 之间的交互。搜索域中比较常用的交互特征是Query_Anchor,它是基于该用户在搜索日志中的协同点击行为,从Doc维度中挖掘与Doc关联的古里,并基于古瑞进行匹配。

语义特征:主要是指文本层面的语义匹配。过去,DSSM双塔模型已被使用,最近Bert语义模型已被离线或在线用于离线或在线语义计算。除了匹配维度之外,语义特征还可以支持召回,Querrey通过SMT和点击行为分析的语义扩展可以扩大召回范围,以获得更好的语义匹配。

3. 相关性数据集构建及特征系统

阿里文娱搜索在深度语义相关性计算的探索

在这种情况下,首先构建相关数据,更好的方法是通过手动标记构建相关性数据集,其中标记的规范尤为重要。此数据集通常以众包方式获取,因为数据集很大,必须与实际业务和用户需求相结合。本文基于相关数据构建,不仅包括要标记样本的相关性级别(例如将文档划分为完全相关、完全不相关和部分相关的级别),还包括它们之间的排序关系或等效样本的服务上层的顺序,因此标签质量和成本是本文的重点。对于成本,需要一个有效的问题样本自动发现机制,左图中所示的基于Q-Learning的想法旨在加快标签效率,同时提高标签质量。

本文专门将数据集划分为验证集和定型集。验证集主要针对特定类型的在线体验问题而构建,并在一定程度上具有针对性。训练集(回归集)的目的是评估算法在验证集的迭代优化期间不会对行的整体效果产生负面影响。基于训练集到在线模型的连续迭代,在线模型预测样本并不那么准确,通过反向模型对这个问题进行样本挖掘,挖矿要外包给标签。这里的挖掘主要是挖掘一些模型预测结果和在线指标的泛化比较大,这些情况可以形成快速迭代的闭环,提高模型的图案精度,可以大大提高整个标签的质量和效率。

右图显示了当前相关性的整体特征的划分。顶部是Querry的特征,其中包含一些一般的文字匹配特征,以及与意图相关的特征,例如Querry是角色还是节目。中间是文档类的特征,包括一些先验特征,比如从文档标题解构特征和一些基本的文本匹配特征,除了先验特征是后A先验特征比较重要之外,它主要用于做一些分布类目标。底部是Qury和DOC的匹配特征,基于子的文本匹配和意图匹配,例如类目的匹配,以及这种知识水平匹配和语义匹配。

4. 分拣功能系统

阿里文娱搜索在深度语义相关性计算的探索

基于相关性的特征,上阶在特征的基础上进行一些整合和丰富。这里主要分为四个区块的排序特征系统,那么除了匡匐和DOC及其匹配特征外,这些都是所有业务领域共有的,比如除了技术匹配类、查询统计之外,还增加了一些视频平台的功能,比如实时广播控制,它是解决排序除了体验目标之外, 还要解决分布类目标,因为它在决策领域很重要。

在视频内容功能组中,内容质量更为重要。由于用户每天上传的视频量非常大,因此有必要评估内容的质量。我们负责提供高质量的视频内容功能,这些功能主要从封面图像,标题,图片质量,图像和其他模块进行评估。

最后一个是用户的特点,主要包括一些用户的行为特点、人像特征。它主要用于一些广义的搜索场景,以增强系统的个性化能力,如我们这边的频道页面搜索排序、广义排序等。

03

为什么选择多模?

因为基于文本模块的搜索系统,比如基于标题和描述的文本搜索,在视频搜索中会遇到一些困难,首先,单模信息缺失,用户上传视频,标题往往比较简单,很难表达丰富的视频内容,而且有些文字信息和视频内容没有关联, 此外,用户的搜索意图也越来越多样化,甚至版权视频搜索也不是在这个程序名称查询中,它往往有更多的社交和互动需求。还有需要关闭,即这类内容和创意用户,他需要找到各种视频剪辑素材,那部分需要还需要使用多模态技术支持。另一方面,多模态的优势在于它能够集成各种模式,如语音文本图像和视频。结合多模式信息,深入了解视频,帮助用户找到他们真正想要的东西,并进行许多新的搜索。

1. 多模式视频搜索

阿里文娱搜索在深度语义相关性计算的探索

框架图是用户用于搜索的多模式解决方案。目前,多模态的研究热点在业界和学术界都非常高,但学术界倾向于端到端的解决方案。例如,将查询和视频映射到中间模式,然后在中间模式中进行语义匹配,然后进行相似性。这种端到端的解决方案当然是理解短视频的好方法,但对于长视频,很难真正准确地理解它们。因为长视频包含的信息越多,信息越多,噪音越大。更重要的是,工业似乎对整个系统的可解释性和可控性有很高的要求。因此,很少使用单一的端到端解决方案。

优酷的多模式搜索使用三阶段解决方案。第一阶段使用CV技术将其他模式(如图片和视频)的信息简化为文本模式,并使其成为结构化的内容理解。第二阶段通过多模态内容检索实现回想,在上层通过多模态内容关联排序算法实现最终的动态搜索效果,如"上面的图像",基于人脸识别技术可以识别视频中出现的星星(容易看出别致,黄子谦等明星),然后通过OCR和AR技术识别视频中的对话内容并转换为文本, 最后基于文本做结构化理解。结构化文本需要系统的理解和组织,本文主要采用关键词的提取来理解核心概念,并形成内容主题。同时还将采用音乐识别、动作识别、场景识别等CV技术,不断丰富视频内容的结构,让用户进行多种组合搜索,系统可以更好地回忆和排序结果。

阿里文娱搜索在深度语义相关性计算的探索

下面是一个案例,通过这个案例介绍一下本文在做多模态视频搜索时,如何提取和组织内容关键词,将视频内容简化为文本模态后如何做好文本内容的组织和理解。

在图片中,视频是关于欧洲陶瓷的,但其标题很简单,是陶瓷文字,字幕文字是用OCR技术识别的。字幕文本承载的内容关键词非常多,另外,内容与关键词所属的关系要多得多,因此通过多种关键词提取技术来提取候选关键词,同时扩大了候选词源的多样性。基于NER的方法可以保证提取的关键词是百科全书实体,具有相对广泛的知识内涵。结合N-gram和语言模型的新单词发现方法,扩展了对未知知识领域的探索。挖掘出的候选关键词的数量其实非常大,在关键词的基础上,根据视频内容与候选词的匹配或与关键词的相关性进行分类,通过分类模型将它们分类为核心关键词,有常见的关键词和提及关键词。除文字特征外,关键词分类的核心特征将通过音频、视频等多模态特征进行训练,提高分类的准确性,更准确地预测关键词和内容表达的相关性。在这个过程中存在挑战,比如这个关于欧洲瓷器历史的视频,但标题很简单。虽然我们将能够使用前面提到的关键字提取技术提取欧洲,梅森和塞夫勒等关键词,但如何将这些关键字链接到欧洲并了解此视频是关于欧洲的历史,而不是中国或日本的历史。另外,对于瓷器领域(如瓷器、瓷器高岭土)的实体知识,如何知道实体和瓷器是在谈论类似的东西,那么就需要有技术作为支撑。因为物理知识库的技术可以覆盖广泛的领域,比如全行业的丰富物理信息,可以帮助提取核心内容主题。此外,该算法需要能够推理实体之间的关系,以便更全面地理解视频,然后更好地支持上层的调用、匹配和排序。

2. 影响案例

阿里文娱搜索在深度语义相关性计算的探索

上图显示了基于多媒体实现的搜索案例的在线效果。最左边的案例,当用户搜索"军译张兆忠"时,可以看到前面的几个视频,其内容是张兆忠的主讲者。但是,标题上没有名字,我们通过算法了解内容,从视频模块中提取出来,并以此关键字的形式显示。其他情况类似,这意味着用户在视频开头没有什么需要的,但是在视频内容中有一个,所以这次有必要使用多媒体视频检索。

04

最后,介绍一些关于深度语义相关性的探索,前面的介绍内容都是在阿里娱乐之前的一些工作,来阿里娱乐三个月来做一些深度语义相关性的探索工作,来分享。

1. 从字面上匹配 V.S. 语义匹配

阿里文娱搜索在深度语义相关性计算的探索

为什么要进行这种深度语义计算?

由于传统的文字匹配或文字相关性,其实并不能解决一些语义问题。这里有两种情况。

用户搜索"如何骑自行车"的第一个案例实际上是在寻找一种策略,图中显示了传统方法的结果。字面上的比赛不是一个噱头,而是一个搞笑的视频。

第二种情况是用户在寻找"热油烧什么处理",这是一种怎么做的Qury,但结果并不理想,都是字面匹配的,不是用户想要的,所以需要做深度的语义计算。主要从系统设计层、逻辑架构层和模型算法层三个层面。

相关性系统设计

阿里文娱搜索在深度语义相关性计算的探索

首先,看系统设计的相关性,本文结合业务需求做一个新的系统设计。

较旧的相关性用于提及LTR进行一些多目标优化的各种特征。这种方法的问题在于,它将经验类问题与分布类问题耦合在一起,使得LTR学习不是很好。因此,新版本的关联系统设计与LTR做了明确的功能划分。新版本的相关性主要解决的是经验类问题,ltR不表示分布问题,使经验问题和分布问题解耦,这并不是说LTR不管经验类问题,而是彼此之间的问题。这有两个优点,一是提高了整个搜索结果的秩序感,为用户提供了他们最想要的东西,二是基于秩序的保证,ltR可以增加用户的粘性,引导用户多看。

下面是相关性增长规范的示例,这些规范分为三个或四个齿轮。相关性主要在于执行这种子文件。

第一档:用户的意图不满意。比如奎瑞的一步一步的惊险,吴启龙的一步一步的惊险,DOC说根本不是电视剧,所以不被回忆。

第二档:用户部分打算满足。例如,为了满足用户的主要意图,但不满足次要意图,这可以作为推荐或相关结果呈现给用户,

第三档:用户的意图完全满意。这是相关性相对较高的结果。

相关性逻辑结构

阿里文娱搜索在深度语义相关性计算的探索

接下来,看一下新版本相关性的逻辑体系结构。旧的逻辑体系结构主要是绘图功能,并且使用了一些规则来适应此子位置。新版本的依赖项将原始规则模型替换为三层结构:从前到前的调谐器层、模型层和后调谐器层。

预调层:此规则策略主要包含一些在训练集上准确率超过 95% 的黄金规则,在满足这些条件时不进行建模,而是直接通过规则进行处理。

模型层:当黄金法则无法加工时,使用齿轮模型作为口袋的底部。拆分模型包含 Recall 模型和 Refine 模型的两个子模型,这两个模型具有相同的结构,但它们使用不同的特征和样本选择。杠杆模型的优点是理解并耦合了整个相关性的功能,一个用于发现具有高相关性的高质量DOC,另一个用于减少相关性分叉和过滤。此语义特征作为特征放置在杠杆模型中,而不是直接使用深度模型。为什么不直接使用深度模型呢?由于行业需要高度的可控性和解释性,传动模型仍然使用这种传统的GBDT模型。

后调谐器层:当由于样本数据不均匀、缺乏核心特征等原因而无法学习时,此层补充了一些手动底部规则。例如,制定了一些规则来理解视频内容的功能。此层中还有一个全局调谐器,其作用是根据全局 DOC 匹配进行一些调整,以消除较低级别的模型。此模型输出齿轮、其分数和子特征将输出到 LTR,以进行基于分布的最终排序。

4. 深度语义关联框架

阿里文娱搜索在深度语义相关性计算的探索

下面我们来谈谈这里开发的深度语义关联框架,即这些预训练模型是如何在优酷场景中落地的?这种三阶段语义框架在工业设计常用的方法中被引用。

转移的第一阶段:它主要使用预训练语言模型的通用字段(如Google或Hagong训练出来的BERT),然后使用优酷搜索日志重用一个预训练,这样就可以得到优酷字段的语义模型,那么这个模型的目的是提高模型指标的下限, 它通常可以改善基本BERT 2%-3%指标。基于转移阶段,得到优酷字段的语义模型。

第二阶段适配:它是基于优酷场的语义模型和多任务数据,训练一系列这样的模型,比如这里的查询分析叫QP、召回模型、关联排序,它实际上是基于同一基础模型来训练的。适应阶段的作用是提高模型指标的上限也是上限。这可以在模型最终离线时完成,但由于性能原因,需要最后一步进行蒸馏。

第三阶段幻灭:本文使用多阶段知识提炼,旨在接近模型指标的上限,除了文本数据外,还使用各种上下文数据和前面提到的知识数据。

5. 深度模型选择

阿里文娱搜索在深度语义相关性计算的探索

这块的深度模型选择,其实我们比较清楚,左边的图片是BERT的传统用法,它是一种交互型,离线可以这样用,而这篇文章也是用的。但上网时,由于性能压力大,往往选择这种双塔结构,那么双塔的结构,它与互动型的BERT,虽然效率更高,但其指标是存在较大差距。

6. 非对称双塔模型(在线部署)

阿里文娱搜索在深度语义相关性计算的探索

那么,如何消除这种差距呢?已经完成了两件事,其中第一件是使用不对称的双塔模型在线部署,例如Doc端,可以离线保存。查询端使用三层小 BERT,因为它考虑了并发性。同时,为了减少双塔模型的指标衰减,对于Doc端来说,它实际上并没有保存一个嵌入,它是嵌入的M组,M组可以理解为从M侧描绘Doc的特征,从而最大限度地保留Doc端的一些丰富信息。然后离线,您可以通过这个更复杂的12层BERT运行它的多个组的嵌入,然后在在线端使用Dipi与三层小BERT一起生产它,然后在Ha3侧,即引擎侧,根据注意力计算Equinding和Doc侧M嵌入之间的权重, 然后做一个点乘以得到最终的分数。仅仅说这个指标没有衰减那么多是不够的,但是行的查询端的特征提取保证了行上的一致性。由于查询端模型被替换为小型模型,因此其指标会进一步衰减,并且使用多级蒸馏方案来减慢这种衰减。

7. 多级蒸馏程序

阿里文娱搜索在深度语义相关性计算的探索

我想向大家介绍一下多阶段蒸馏方案。该图包含两条数据,一条用于传输集,即 5000w 未标记数据和优酷点击日志,另一条用于目标集,即手动标记的数据集。

(1)打分:使用交互式BERT(指标最好,但只能离线使用)作为老师。标记这两个数据以获得BERT软标签。

(2)蒸馏:使用未标记的数据进行蒸馏。它不是使用BERT直接提炼目标模型,而是用于提炼对称的双塔BERT,这意味着Query侧和Doc侧都是12层BERT。

(3)目标集微调:在中间模态中得到对称双塔BERT。

(4)固定重量和蒸馏:

固定权重:将对称孪生 BERT 的权重复制到不对称孪生 BERT(目标学生),然后将权重固定。

蒸馏:再一次,用转移集蒸馏链剂,其包括以下步骤:(1)首先会有各种损失,其中既包括这种标签的硬损失,也包括这种交叉熵损失的这种软的标签,基于这种损失,其实因为这种损失是最终的预测层。(2)为了更充分地了解三层小BERT在查询端的效果,还会用来让MSE损失余烬,那么它是怎么做到的呢?正是在这个中间模式boss上标记了它,当它完成时,它不是标签,它是每个cookie的一些余烬,然后它用于监视不对称的双塔BERT,以使其了解更多信息。(3)这里实践中有一个细节,因为线上有存储压力,所以不可能存储BERT基底的768维矢量,肯定是要缩小的,一般用一个舞蹈网络来缩小维度,但是这个Dance Networ,因为它在BERT的顶部, 如果同等大小的学习率,就会学习非常不足,导致最终指标很差,所以这个地方利用了Layer-wise的缓和率,这意味着低维的舞蹈网络比底层的BERT学习的要多得多,这样可以减少低维性非常低产生的信息损失,然后他的指标可以很好地接近技术模型。其目的是通过这个多阶段的过程,而不是一步到位,逐步缩小学生网络和教师网络之间的差异,从而减少由于模型结构差异大而导致的知识提炼损失。这种效果也很重要,通过这种效应,多级蒸馏现在能够实现两点内的指标损失。

8. 融合知识的深度语义匹配

阿里文娱搜索在深度语义相关性计算的探索

接下来,我们在模型层面介绍一些优化工作,为什么要做融合知识的深度语义匹配?因为在视频的垂直领域,头的古瑞大多是把知识和语义融合好来解决的,因为如果Doc方面是结构化的,就会有丰富的结构化领域,比如这部电影,它的演员是谁,导演是谁,什么年龄。这些结构化的领域非常丰富。但是,Qury 的用户端是口语化的或键入的,不会有完整的输入。比如用户搜索"两铨湖浩歌",用户正在寻找两陏湖的爱情故事和张昊玩这样的程序,简单的语义匹配或简单的结构化查询都很难解决,所以需要整合知识和语义来解决。但是,现有的一些方法是不够的,例如,对于THEKG结构化信息来说是不够的,并且不支持这种多KG的热插拔。由于KG的种类很多,有常见的KG、领域KG和百科全书KG,所以KG结构化信息和文本信息之间存在异构的差距。本文所做的工作是整合KG的结构语义特征,即实体的域子图的结构特征在语义上匹配。图中的情况是用户搜索"刘成的猎恋",然后通过KG的查询找到它的子图,然后它的子图结构信息编码成BERT通用序列化输入,然后在KG层和文本层之间做一些监控操作,这样最终的匹配效果才能达到理想的效果。

9. 效果案例

阿里文娱搜索在深度语义相关性计算的探索

最后是案例分享,这些案例主要是基于新旧版本的比较,它起到了两个作用,第一点是使整个搜索顺序有了很大的提高,让一些乱七八糟的内容通过语义过滤和语义相关但字面上无关的内容回想,所以第二点是语义回想能力的提高。例如,用户搜索"阿拉斯加帝王蟹"旧版的关联会有一些不相关的内容,但经过新版本的关联过滤后,这些不相关的结果已经干涸。

作者:Leap Chen,阿里娱乐资深算法专家,搜索关联算法负责人,负责搜索相关性基础体验和智能语义能力的优化。

继续阅读