本文共 4282 字,大约阅读时间需要 14 分钟。
参阅 https://mp.weixin.qq.com/s/7hvYdOTnnw5pDDMx6N66Uw
意图
作者这里主要讲了QP服务。QP服务在排序中的作用:首先在意图层面,会把用户意图细粒度的切分出来,对 query 的各个意图做成分分析,比如说 query 是"乡村爱情赵四跳舞",经过 QP 服务的成分分析后,判断乡村爱情属于一个节目名,赵四属于角色,跳舞是一个动作。排序和多媒体相关性
这两个内容后面再详细介绍。内容召回和技术
主要是多媒体内容的理解,为什么要做多媒体内容理解,因为视频内容传递的信息非常丰富,不可能用文本标题全面表述,用户在搜索时表达需求差异非常大,存在语义鸿沟,各个业务的搜索都存在语义鸿沟,视频搜索中的鸿沟更大,所以不能把视频当成黑盒直接用标题概述。我们的问题是从什么维度去理解视频?得益于深度学习在各个领域的全面发展,现在有能力做相关技术,包括 OCR/ASR,对话的理解,通过 CV 的技术对人物、动作、物体的元素级的结构识别,视频的指纹,实体关联,比如某个视频是属于哪个 ip ( 电视剧/电影等 )。基于这些相关技术,不仅仅只是做标题的文本匹配,与相关性匹配密切的关联起来,能更好的帮助理解视频和视频间的关联关系。数据
有实体的关系数据,能够通过技术挖掘这种关系;内容组织,通过图谱聚合、时效聚合、内容聚合,把内容聚合成更方便用户浏览的聚合形态。第一类 query,"佟丽娅主演的电视剧远大前程"和 doc 在文本上没有直接关系。只有通过内容理解的方式才能把这个 query 和 doc 关联上。
第二类 query,"法不容情国语"和对应的 doc 没有关系,要结合 NER 和内容理解的方式才能更准确,对 doc 的意图理解更好。
第三类是语义层面的匹配,相关性这一块是需要多个层次的匹配的。
下面分为4个层次详细分析:
上图比较模糊,我理解模型结构就是把doc拆成sentence粒度的,做向量表示。再把sentence顺序的送入LSTM,每步的输出结果向量相加,得到doc的向量表示。
该模型比较简单,有一个好处是,doc 端的特征是可以离线计算的,可以在相关性层面快速高效的去做语义上的计算,确保基本的语义内容能够被召回,能够排到前面去,能够送到上层的重排序服务上。
在用户层面,用户行为的表征在很多宽泛搜索里都会应用,比如用户在频道页的搜索排序,OGC(Occupationally-generated Content,品牌生产内容)节目宽泛意图的检索场面,用的会比较多。因为在很多通用的搜索中,这种宽泛意图的比率比较大。
上图是表征学习的模型,第一层是特征预编码的编码层,用视频元素、搜索意图、用户,这3类特征去分析。
在第2层和第3层,这2个不同特征域之间的网络结构是相互独立的,通过稀疏的编码优化能够全链接到第1层。可以对高维特征进行降维,把高维特征信息投影到低维的向量空间中。
第4层把不同域的表征信息,内部的编码,综合到一起,形成一个综合的多模态的向量融合,再经过上面的2层的全链接实现搜索用户意图和搜索视频维度的排序。
在上线后同样看到了一些问题:这种单一目标的排序模型,它的优化目标是 ts(观看时长),就会忽略一些基本体验。比如,相关性约束对整个体验来说不一定在提高用户体验,可能在头部的一些效果上,我们行为比较多的一些搜索 query 上体验是提升了,但是中长尾的一些效果上其实是比较难以保证的,所以后面我们也是做了不同的尝试,把表征学习和其它的一些维度的排序效果相融合。
样本标注方面要综合时长和播放完成比,如果我们按照存点击数据,很多情况是和 ts 目标不一致的。如果只考虑视频时长,那么长视频就会被放在前面,如果只考虑播放完成比,那么短视频就会被放在前面,因为短视频就几十秒,很快就能播放完,长视频几十分钟,有的几个小时,不容易看完。所以我们会综合时长和播放完成比,对时长做分段的处理,在相同时长下作横向比较,形成一个不同时长视频的 label 分级,引导目标去学习。
这里正负样本采样比例1:8,是通过不断迭代调整的结果,并没有一个通用的方法。
阿里文娱的多模态视频搜索上实践:视频很长,覆盖的范围很广,用表征的方式不容易覆盖那么多丰富的内容的,所以对工业界的视频搜索,不是端对端的解决方案,现在的做法是将视频模态信息通过降维的方式,都转换成文本的模态,对视频内容做细粒度的内容拆解,将图像,动作,人物,声音这些背景信息,通过 CV 检测方法识别出来,去做标签化,去完成降维。另外一种降维的方式是通过 OCR 和 ASR,光学文本的识别和语音识别的技术将视频中的对话信息转化成文字,关键字和主题的抽取,再去形成事件的分析和概念主题的理解。
一个完整的视频可以分出不同的片段,然后形成 shot,关键帧,关键元素,通过对关键元素的分析,可以把动作场景人物做一些识别。举个例子,如上图,通过人脸识别可以识别出这个片段中出现了哪些人,"周六夜现场"能检测出岳云鹏,陈赫;"晓说"能检测出高晓松,通过 OCR/ASR 可以把视频中的对话结构化出来,然后做一些关键词的抽取。 如上图,从视频标题看是陶瓷,对文本进行分析理解,在分析理解时,会有一个难点:这么多文字,需要一个完整的实体知识库,但视频内容涉及的领域非常广,包含全行业的丰富的实体。抽取核心内容的元素,比如"伯特格尔"是谁,是个人物,“塞夫勒”,“麦森"这些地名需要理解,以及实体链接和实体之间的关系的推理。这个视频是介绍欧洲陶瓷发展历史的,欧洲陶瓷是从哪里开始的,是从"塞夫勒"开始,是由"伯特格尔"这个炼金师发现出来的,很多对话内容是通过主体引用,要理解指代的实体,上下文引用的主体是需要识别出来的;另外一个就是实体之间的关系,比如"塞夫勒”、"麦森"是欧洲的城市,和中国,日本是什么关系,这种实体之间的关系是需要有的,否则对讲的什么事情是很难理解的,需要知识图谱辅助。在实体知识库的支撑下,候选的关键字通过分类模型得到关键字分级,分成核心关键词,相关关键词,提及的关键词,分完级之后,在相关性匹配上做的更有针对性。
前面是视频理解的方式,如右图视频标题是李健 -《风吹麦浪》( 春晚歌曲 ),但是他是和孙俪一起唱的,标题里没有孙俪,用户经常搜索的内容是"孙俪李健合唱的风吹麦浪", 需要通过人物识别的方式把视频中的关键人物识别出来。在视频搜索中,需要多模态信息的辅助的,才能提高搜索准确率。左边是"甄缳传",通过视频元素级识别,可以把关键人物识别出来,并且可以把人物和角色,人物和 ip 之间的关系获取出来,检索时可以将具体人物出现的关键位置检索出来,以及台词,歌词,内容关键的一个场景的起止时间,如果用户在搜索"甄子丹的打斗视频",我们有相应的内容视频的聚合数据,用户可以搜到开始打斗的起始时间的。
(这部分感觉只是讲个理念上可行的方案,但是具体什么做没有详细讲,有些虚了 == )
转载地址:http://uoegi.baihongyu.com/