学术派 | 爱奇艺深度语义表示学习的探索与实践
导读
背景
面临的挑战 :
传统的embedding学习模型主要基于节点序列或基于图结构随机游走生成序列构建训练集,将序列中的每个节点编码为一个独立的ID,然后采用浅层网络(e.g. item2vec[6], node2vec[7])学习节点的embedding。该类模型只能获取训练语料中节点的浅层语义表征,而不能推理新节点的embedding,无法解决冷启动问题,泛化性差。将传统的embedding学习模型应用于爱奇艺业务场景中主要面临以下问题:
1. Embedding实体种类及关系多样性
2. Side information丰富
3. 业务场景多样
Embedding可用于推荐中的召回、排序、去重、多样性以及用户画像建模等,搜索中的语义召回、排序、视频聚类、相关搜索等,以及作为各种下游任务的语义特征等多种业务场景。不同的业务场景往往需要不同类型的embedding。
· 推荐召回场景:
1)基于行为的embedding模型召回偏热门,效果较好;
2)基于内容的embedding模型召回偏相关性,对相关推荐场景和新内容冷启动更有帮助;
3)基于行为和内容的embedding模型介于前两者之间,能同时保证相关性和效果。
深度语义表示学习 :
深度语义表示学习在传统的embedding学习模型基础上,引入节点丰富的side information(多模态信息和自身meta信息)以及类型的异构性,并对多模态特征进行有效融合,将浅层模型替换为特征抽取能力更强的深度模型,从而能够学习节点的深度语义表征。
数据层:主要搜集用户的各种行为数据构建节点序列和图,构建embedding模型训练数据;
特征层:主要用于各种模态(文本、图像、音频、视频等)特征的抽取和融合,作为深度语义表示模型中输入的初始语义表征;
策略层:提供丰富的深度语义表示模型及评估方法,以满足不同的业务场景;
应用层:主要为下游各业务线的各种场景提供embedding特征、近邻以及相关度计算服务。
图1深度语义表示学习框架
特征抽取及融合 :
在自然语言处理(NLP)领域,预训练语言模型(比如BERT[8])能够充分利用海量无标注语料学习文本潜在的语义信息,刷新了NLP领域各个任务的效果。爱奇艺涵盖视频、图文的搜索、推荐、广告、智能创作等多种业务场景,除了文本(标题,描述等)外,还需进一步对图像、视频和音频等多种模态信息进行深入理解。
1.1. 多模态特征抽取
文本语义特征: 根据文本长度,可将文本语义特征抽取分为四个等级:
词级别(Token-level),比如用户搜索串,通常为2~6个字; 句子级别(Sentence-level),比如视频&漫画标题和描述、人物小传、艺人简介等; 段落级别(Paragraph-level),比如影视剧描述,剧本片段等; 篇章级别(Document-level),比如剧本、小说等长文本。
图像语义特征: 对于视频封面图、视频帧、影视剧照、艺人图片、漫画等图像,基于State-of-Art的ImageNet预训练分类模型(e.g. EfficientNet[13])抽取基础语义表示,并采用自监督表示学习思想(e.g. Selfish[14])学习更好的图像表示。
音视频语义特征:对于视频中的音频信息,利用基于YouTube-AudioSet数据上预训练的Vggish[15]模型 从音频波形中提取具有语义的128维特征向量作为音频表示。对于视频内容的语义建模,我们选择一种简单而高效的业界常用方法,仅利用视频的关键帧序表示视频内容,并通过融合每个关键帧的图像级别语义特征得到视频级别的语义特征。
1.2. 多模态特征融合
· 融合时机:主要包含Late fusion,early fusion和hybrid fusion。顾名思义,early fusion是指将多个特征先进行融合(e.g. 拼接),再通过特征学习模块进行训练;late fusion是指每个特征先通过各自的特征学习模块变换后再进行融合;hybrid fusion组合两种fusion时机,可学习丰富的特征交叉,效果通常最好。
· 融合方式:高效合理的融合各种多种模态信息,能够较大程度上提升视频的语义理解。
目前多模态融合方法主要包括三大类方法:
最为直接的方法:通过element-wise product/sum或拼接,融合多模态特征,但不能有效的捕捉多模态特征之间的复杂关联; 基于pooling的方法:主要思想是通过bilinear pooling的思想进行多种模态特征融合,典型代表作包括 MFB[16]和MFH[17]等; 基于注意力机制的方法: 借鉴Visual Question Answering(VQA)的思想,注意力机制能够根据文本表示,让模型重点关注图像或视频中相关的特征部分,捕捉多种模态之间的关联性,典型代表作有BAN(Bilinear Attention Network)[18]等。
深度语义表示模型:
预训练模型的应用通常分为两步:1)先使用大量无监督语料进行进行预训练(pretraining),学习通用的语义表示; 2)再基于该通用语义表示,使用少量标注语料在特定任务上进行微调(finetuning)。类似地,在文本、图片、音频、视频的通用预训练语义表征基础上,我们尝试在特定的任务中(比如召回、语义匹配等)引入视频丰富的side information ,以及节点和边类型异构等特点, 并借助抽取能力更强的深度模型进行微调,以学习满足不同业务场景的语义特征。
根据建模方式可将深度语义表示模型大致分为以下几类:
1. 基于内容的深度语义模型
基于内容的深度语义模型,顾名思义,模型以单个节点的内容(元数据和多模态信息等)作为输入,并基于人工标注数据作为监督信号进行训练,不依赖任何用户行为数据。该类模型可直接基于节点内容进行推理获取节点语义表示,无冷启动问题;但往往需要大量的人工标注数据进行模型训练。
1.1. 基于ImageNet分类的图像embedding模型
该类模型主要是基于State-of-Art的ImageNet图像预训练分类模型的中间层或最后一层,抽取图像或视频的纯内容表示,并基于自监督表示学习思想finetuning,作为图像或视频的语义表征,应用于去重(图 2)和推荐post-rank阶段多样性控制两种场景的效果较好。
图2基于ImageNet分类模型和自监督学习方法的去重示例
1.2. 基于特定任务的embedding模型
该类模型通常基于海量标注数据进行特定任务有监督训练,并抽取模型中间层或最后一层作为文本或视频的表征,比如基于标签分类任务的embedding模型(如图 3所示), 该模型基于视频元数据、文本、图像、音频和视频特征,在大规模标注数据上训练,识别视频的类型标签和内容标签。往往抽取模型fusion层的表示作为视频的topic粒度语义表征,可有效解决冷启动问题,广泛应用于推荐的召回、排序、多样性控制场景中。
图3基于类型标签任务的embedding模型
2.基于匹配的深度语义模型
该类模型是一种结合内容和行为的深度语义模型,主要通过融合文本、图像、视频和音频等多模态信息,并基于用户的点击、观看或搜索等共现行为作为监督信号,构建正负样本对, 训练模型使得 , 其中e表示样本的语义表征, x表示视频或用户等。该类模型缺乏对节点的长距离依赖关系和结构相似性建模;但建模相对简单,模型训练后可以直接用于推理,可有效解决冷启动问题,用于召回和排序场景效果较好。
基于匹配的深度语义模型主要基于Siamese network(孪生网络或双塔结构)或多塔结构实现,目前业界较流行的方法包括DSSM(Deep Structured Semantic Model)[5]和CDML[20]。DSSM最初用于搜索建模文本的语义相关性,而CDML基于音频和视频帧特征,用于建模视频的语义相关性,并认为late fusion方式的多模态特征融合效果较好。对于视频的语义建模,在DSSM文本输入的基础上,我们额外引入封面图和视频两个模态的预训练语义表示,改善视频语义表征效果。类似地,CDML还引入文本、封面图两种模态的预训练语义表示,以丰富节点信息;同时针对CDML仅采用late fusion的特征融合时机,特征交互有限且缺乏多样性的问题,我们采用hybrid fusion融合多种模态特征,学习更为丰富的多模态特征交叉(如图 4所示)。
图4基于hybrid fusion的CDML模型结构
3. 基于序列的深度语义模型
该类模型是一种基于行为的深度语义模型,通过将传统的浅层网络(e.g. skip-gram, LSTM)替换为特征抽取能力更强的深度网络(e.g Transformer)学习节点的深度语义表征。给定用户的行为序列, 利用sequential neural network建模用户的行为偏好,基于模型的最后一个隐层的表示预测用户下一个可能点击的item。该类模型可用于建模节点的长距离依赖关系,用于推荐场景中的召回效果往往较好,但存在冷启动问题。
序列建模的方法主要包含三类:
1)基于MDPs (Markov decision Processes):通过状态转移概率计算点击下一个item的概率,当前状态仅依赖前一个状态,模型较为简单,适用于短序列和稀疏数据场景建模;
2)基于CNN:利用CNN捕获序列中item的短距离依赖关系,比如Caser[21],易并行化;
3)基于RNN:可以捕获长距离依赖关系,适用于长序列和数据丰富的场景,不过模型更复杂,不易并行化,比如GRU4Rec[22]。
目前较为流行的序列建模方法主要基于RNN,为解决RNN不易并行和效率较低等问题,我们借鉴业界经验,采用特征抽取能力更强, 且易并行的Transformer(如图 5所示)替换RNN进行序列建模,典型的工作包括SASRec[23], Bert4Rec[24]。SASRec使用单向Transformer decoder(右半部分,N=2),基于上文建模下一个item的点击概率;而Bert4Rec采用双向transformer encoder(左半部分,N=2),借鉴BERT的掩码思想,基于上下文预测masked items的点击概率。此外,由于BERT假设masked items之间相互独立,忽略了masked items之间的相关性,我们借鉴XLNet[25]的自回归(Auto-regressive)思想和排列组合语言模型(permutation language model)思想,同时建模双向context和masked item之间的相关性,提高序列建模效果。
图5Transformer网络结构
4. 基于Graph的深度语义模型
Graph embedding模型(又称为图嵌入或网络嵌入),可将图中的节点投影到一个低维连续空间,同时保留网络结构和固有属性。深度图嵌入模型在节点同构图或异构图(节点类型或边类型不同)的基础上,引入节点丰富的side information和多模态特征,并采用特征抽取能力更强的网络,学习节点的深度语义表征。该类方法建模相比前几种深度语义模型更加复杂,但可以充分利用丰富的图结构信息建模节点的高阶依赖关系。
4.1. 引入丰富的side information和多模态信息
传统graph embedding方法主要基于图结构和某种节点序列采样策略生成序列数据, 并基于skip-gram方式学习节点embedding, 如图 6所示。典型工作包括DeepWalk, LINE, Node2vec, 三者主要区别在于序列生成的采样策略不同。传统graph embedding模型将所有节点视为ID, 仅能覆盖训练集中的高频节点, 无法获取新节点的embedding。
图 6 传统graph embedding方法基本原理
为解决新节点的冷启动问题, 一方面, 可以在传统图嵌入模型中引入节点的多种模态信息,另一方面,还可以充分利用节点丰富的meta信息(比如类别,上传者等)。属性网络(Attributed Network Embedding)在图结构的基础上,额外引入节点的属性信息,丰富节点的语义表征,使得具有相似拓扑结构和属性的节点语义更为接近。对于冷启动问题,可直接通过节点的属性embedding可获取新节点embedding。EGES[26]和ANRL[27]是其中的两个典型工作。其中,EGES在skip-gram模型的输入中引入属性信息。ANRL将skip-gram和AE相结合,仅使用属性特征作为节点表示,并将传统AE中的decoder替换为neighbor enhancement decoder, 使节点和其上下文节点(而非其自身)更为相似。EGES和ANRL主要用于属性信息丰富的电商领域的图嵌入,但在视频推荐领域,除少量长视频(影视剧)、演员等具有丰富的属性外,大部分短、小视频属性较稀缺,无法直接复用。为解决该问题,我们提出多模态ANRL,如图 7所示,将节点的属性特征和多种模态(文本、封面图、视频)的预训练语义表示特征一起用于表征节点,作为模型输入。对新节点,可直接基于训练好的模型和节点自身内容(即属性和多模态特征)进行推理获取, 基于多模态ANRL embedding的近邻示例如图 8所示。此外,知识图谱也可以视为一种丰富的side information,可以尝试通过引入外部先验知识进一步学习更好的深度语义表示。
图7多模态ANRL模型结构
图8多模态ANRL 近邻结果示例
(左边第一个为种子视频,其他为近邻视频)
4.2 更先进的特征抽取器
传统的图嵌入模型通常是基于图生成序列数据,并采用简单的skip-gram模型学习节点embedding, 模型过于简单,特征抽取能力较弱,仅能建模局部邻居信息(通常为一阶或二阶)。图神经网络(GNN, Graph Neural Network)或图卷积网络(GCN, Graph Convolutional Network)可以直接基于图结构和节点的多模态特征,利用特征抽取能力更强的多层图卷积迭代的对节点的邻域子图进行卷积操作,聚合邻居特征(textual、visual特征等),生成节点的深度语义表示。借鉴业界经验,我们复现了多种GCN模型,比如PinSAGE[28], ClusterGCN[29]等。此外,我们还使用了一个在大规模图数据上非常快速和可扩展的图嵌入算法ProNE[30]。ProNE先将图嵌入问题转换为稀疏矩阵分解问题,高效获得具有一阶邻居信息的特征向量,作为节点的初始embedding;然后再通过频谱传播,基于频域上的filter对其进行过滤从而融合高阶邻居信息作为最终的节点深度语义表示,可同时将低阶和高阶邻居信息融入节点语义表示。更重要的是,可将常见的网络嵌入算法(比如Node2vec等)生成的embedding作为ProNE中第一步的节点初始embedding,再进行频谱传播,效果平均会提升~10%。
4.3. 建模多元异构图
现有方法主要基于具有单一类型节点&边的网络图(同构图),但现实世界中大部分图都包含多种类型的节点和边,不同类型的节点往往具有不同的属性和多模态特征。比如,在搜索场景中,最简单的异构图是用户的搜索-点击二部图,具有两种类型的节点:query和视频,视频具有丰富的属性和多模态特征;而在推荐场景也包含大量异构图,比如用户-视频、视频-圈子-内容标签、演员-角色-作品等。
传统的graph embedding算法会忽略图中边的类型以及节点的特征,比如node2vec, metapath2vec, 虽然metapath2vec可用于异构节点的表示学习,但仍然将节点视为ID,忽略节点丰富的特征。异构图(HINE, Heterogenous Information Network Embedding)深度语义模型同时引入节点的多种模态特征,和图中节点和边类型的多样性,对不同类型的节点和边分别建模,其中多元是指图中具有多种类型的边。
我们首先在搜索场景的语义相关性任务中进行了异构图深度语义表示学习的初步尝试。语义相关性在搜索中扮演重要角色,可用于搜索语义召回和语义相关性匹配。为衡量query和视频标题的语义相关性,学习query和视频在同一个空间的深度语义表征,我们基于搜索查询-点击异构图,通过组合representation-based和interaction-based两者思想,学习query和视频标题的语义相关性embedding,模型结构如图 9所示, 左边的encoder建模query或视频标题的深度语义表示,用于学习文本的显示语义相关性;decoder引入行为相关性约束,用于建模隐式的语义相关性,比如<query:李菁菁, title:欢天喜地对亲家>, 前者是后者的主要演员之一。右侧用于建模query和视频标题之间的多粒度交互语义。相比于baseline,语义相关性准确率提升6%以上, 表 1给出了部分query-title语义相关性例子。除点击类型外,目前还在尝试引入收藏、评论、点赞等边类型,和视频类型(比如长、短、小视频, 专辑和播单等),以及在视频侧引入封面图和视频模态特征,进行更为细致的建模。
图 9搜索query-title语义相关性embedding模型结构
Query | 相似视频(仅列举top 5) |
海杆鱼轮怎么用 | Score:0.9448, title:醉汉海杆安装方法 Score:0.9415, title: 海杆和渔轮怎么安装 Score:0.9365, title: 海杆使用方法 Score:0.9350, title: 海竿安装使用教学 海竿安装视频使用方法 海竿钓法和技巧 Score:0.9345, title: 海杆钓白鲢鱼线组安装方法 |
评委瞧不起选手 | Score:0.8894, title:冯小刚现场拆穿选手的身份:别装了!评委间激烈争吵 Score:0.8807, title: 某选秀节目,垃圾评委刻薄点评,选手愤然离场 Score:0.8713, title: 民间歌手真情投入演唱却被评委瞧不起,愤怒的他大胆炮轰评委 Score:0.8632, title: 女选手数次打断评委讲话还翻白眼,惹怒蔡明发飙怒怼 Score:0.8593, title: 男子台上模仿李玉刚大获成功,妻子上台后评委怒骂选手! |
王大利 | |
德国好声音diamonds | Score:0.9235, title: 好漂亮德国好声音美女,完美温柔嗓音 Score:0.9198, title: 国外13岁的小孩,翻唱天后蕾哈娜《diamonds》,第一句 Score:0.9118, title: 3个孩子翻唱蕾哈娜金曲《diamonds》小萝莉一开口被惊艳到了! Score:0.9100, title: 德国好声音冠军13岁少女jouline,惊艳世界的天籁童声! Score:0.9053, title: jouline vs besim vs lisa battle - diamonds the voice kids 2018 (germany) |
表 1 搜索query-title embedding语义相关性例子
后续优化:
1. 视频通用预训练语义表示:由于时间性能和视频语义表示预训练数据缺乏等因素,目前仅简单的通过融合视频关键帧序的图像级别特征得到视频的语义特征。后续将基于大量video captioning数据,借鉴BERT思想学习视频预训练语义模型(e.g.UniViLM[35])抽取视频的深度语义表征。
2. 融入知识图谱先验的深度语义表示学习:视频的文本和描述中往往包含一些实体(比如标题“漫威英雄内战,钢铁侠为队友量身打造制服,美队看傻了”中包含实体“漫威、钢铁侠”),通过在文本表征中引入图谱中的实体,以及实体之间关系等先验知识(“钢铁侠”和“复仇者联盟”),能够进一步提升语义表征的效果。后续将尝试在NLP预训练语言模型和推荐场景中引入知识图谱,分别用于提升文本语义表征效果(比如KEPLER[33])和发现用户深层次用户兴趣,提升推荐的准确性,多样性和可解释性(e.g. KGCN[34])。
3. 覆盖更多的业务:深度语义表示通常用于视频智能分发场景,目前已经覆盖爱奇艺的长&短&小视频、直播、图文、漫画等推荐和搜索业务;后续将持续增加爱奇艺智能制作的场景支持,为各种业务场景提供深层次语义特征。
参考文献
[1] Yoshua Bengio, et al. A Neural Probabilistic Language Model. The Journal of Machine Learning Research, 3:1137–1155, 2003.
[2] Tomas Mikolov, et al. Efficient Estimation of Word Representations in Vector Space. In International Conference on Learning Representations (ICLR), 2013.
[3] Ashish Vaswani, et al. Attention Is All You Need. In International conference on Neural Information Processing Systems (NeurIPS), 2017.
[4] Thomas N. Kipf. et al. Semi-Supervised Classification with Graph Convolutional Networks. In International Conference on Learning Representations (ICLR), 2017.
[5] Po-Sen Huang, et al. Learning Deep Structured Semantic Models for Web Search using Clickthrough Data. In ACM International Conference on Information and Knowledge Management (CIKM), 2013.
[6] Oren Barkan, et al. Item2Vec: Neural Item Embedding for Collaborative Filtering. arXiv preprint, arXiv: 1603.04259v3, 2017.
[7] Aditya Grover, et al. node2vec: Scalable Feature Learning for Networks. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD), 2016.
[8] Jacob Devlin, et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv preprint, arXiv: 1810.04805v2, 2019.
[9] Zhenzhong Lan, et al. ALBERT: A Lite BERT for Self-supervised Learning of Language Representations. In International Conference on Learning Representations (ICLR), 2020.
[10] David M. Blei, et al. Latent Dirichlet Allocation. The Journal of Machine learning Research, 3:993-1022, 2003.
[11] Lingfei Wu, et al. Word Mover’s Embedding: From Word2Vec to Document Embedding. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing (EMNLP), 2018.
[12] Casper Hansen, et al. Contextually Propagated Term Weights for Document Representation. In International Interest Group on Information Retrieval (SIGIR), 2019.
[13] Mingxing Tan, et al. EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks. In Proceedings of the 36th International Conference on Machine Learning (ICML), 2019.
[14] Trieu H. Trinh, et al. Selfie: Self-supervised Pretraining for Image Embedding. arXiv preprint, arXiv 1906.02940, 2019.
[15] Shawn Hershey, et al. CNN Architectures for Large-Scale Audio Classification. In International Conference on Acoustics, Speech, and Signal Processing (ICASSP), 2017.
[16] Zhou Yu, et al. Multi-modal Factorized Bilinear Pooling with Co-Attention Learning for Visual Question Answering. In International Conference on Computer Vision (ICCV), 2017.
[17] Zhou Yu, et al. Beyond Bilinear: Generalized Multimodal Factorized High-order Pooling for Visual Question Answering. IEEE Transactions On Neural Networks And Learning Systems, 26:2275-2290, 2015.
[18] Jin-Hwa Kim, et al. Bilinear Attention Networks. In International conference on Neural Information Processing Systems (NeurIPS), 2018.
[19] Francois Chollet. Xception: Deep Learning with Depthwise Separable Convolutions. arXiv preprint, arXiv: 1610.02357, 2017.
[20] Joonseok Lee, et al. Collaborative Deep Metric Learning for Video Understanding. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD), 2018.
[21] Jiaxi Tang, et al. Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding. In ACM International Conference on Web Search and Data Mining (WSDM), 2018.
[22] Balazs Hidasi, et al. Session-based Recommendations with Recurrent Neural Networks. In International Conference on Learning Representations (ICLR), 2016.
[23] Wang-Cheng Kang, et al. Self-Attentive Sequential Recommendation. In IEEE International Conference on Data Mining (ICDM), 2018.
[24] Fei Sun, et al. BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer. In ACM International Conference on Information and Knowledge Management (CIKM), 2019.
[25] Zhilin Yang, et al. XLNet: Generalized Autoregressive Pretraining for Language Understanding. In International conference on Neural Information Processing Systems (NeurIPS), 2019.
[26] Jizhe Wang, et al. Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD), 2018.
[27] Zhen Zhang, et al. ANRL: Attributed Network Representation Learning via Deep Neural Networks. In Proceedings of the 27th International Joint Conference on artificial Intelligence (IJCAI), 2018.
[28] Rex Ying, et al. Graph Convolutional Neural Networks for Web-Scale Recommender Systems. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD), 2018.
[29] Wei-Lin Chiang, et al. Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks. In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD), 2019.
[30] Jie Zhang, et al. ProNE: Fast and Scalable Network Representation Learning. In Proceedings of the 28th International Joint Conference on artificial Intelligence (IJCAI), 2019.
[31] Yukuo Cen, et al. Representation Learning for Attributed Multiplex Heterogeneous Network. In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD), 2019.
[32] Ziniu Hu, et al. Heterogeneous Graph Transformer. In Proceedings of the World Wide Web Conference (WWW), 2020.
[33] Xiaozhi Wang, et al. KEPLER: A Unified Model for Knowledge Embedding and Pre-trained Language Representation. arXiv preprint, arXiv: 1911.06136, 2020.
[34] Hongwei Wang, et al. Knowledge Graph Convolutional Networks for Recommender Systems. In Proceedings of the World Wide Web Conference (WWW), 2019.
[35] Huaishao Luo, et al. UniViLM: A Unified Video and Language Pre-Training Model for Multimodal Understanding and Generation. arXiv preprint, arXiv: 2002.06353, 2020.
也许你还想了解2020爱奇艺卡通人物检测识别挑战赛,点击“阅读原文”,前往大赛通道!
扫一扫下方二维码,更多精彩内容陪伴你!