时间:2024-05-04
陈小娥,陈德涛
(福建船政交通职业学院信息与智慧交通学院,福建福州 350001)
近年来,短视频广泛出现在各种社交平台上,其热度呈爆炸式增长。短视频具有时间短、表现形式多样、信息承载量高等特点,用户可以轻松地利用碎片时间进行获取和分享,深受用户欢迎。通过对短视频进行分类,识别用户特征,了解用户兴趣和需求,从而进行定向推荐或营销具有巨大的商业价值。
常见的短视频通常具有文本、语音、视频三种模态的信息,在不同语义分类体系中发挥着相互促进、相互补充的作用,合理利用好多模态的信息进行多角度的理解才能准确地对短视频进行分类。
本文通过对短视频标题、音频转文本识别结果以及视频OCR识别结果进行模态融合。同时,由于考虑到真实场景数据集中模态缺失的问题,考虑采用jieba分词填充空缺进行实验,并对无关信息进行清洗,降低脏数据对模型训练效果的影响。通过对基线模型进行改进,包括在权重共享的Embedding 和非权重共享的Embedding 上使用Early-Fusion 等方式,同时结合文本特征和视频特征进行提升,并进行验证试验来验证改进的有效性。
2018 年,Devlin 等人[1]提出了BERT 模型,并在11个自然语言处理任务中获得了显著的提升。BERT模型的目标是利用大规模无标注语料训练获得文本的语义表示,然后再将文本的语义表示在特定NLP任务中作微调,最终应用于该NLP任务。
Devlin提出的BERT模型原文是在英文数据集上训练的,2019 年,哈工大讯飞联合研究院采用WWM(Whole Word Masking) 技术针对中文环境进行优化,实现了中文的全词Mask[2],更符合中文语境;并于2020年提出MacBERT[3],使用纠错型掩码MLM as correction(Mac)的方法对中文数据进行预训练,缓解了预训练与下游任务不一致的问题。
SE 模块来自SENet(Squeeze-and-Excitation Networks)[4],SE模块是一个简单的网络子结构,可以方便地插入其他网络增强网络表达能力。文中将SE block加入ResNext 中,在ILSVRC 2017 获得top-1,SE 模块结构如图1所示。
图1 SE模块结构
将输入特征使用线性函数压缩成channel/SE_ratio 大小的特征,经过ReLU 激活函数后再将特征传入用于特征激发的线性层,将特征扩张成channel大小,最后经过Sigmoid 函数后与原始输入相乘,得到模块输出结果。
精确率指的是被认为正的样本中,实际上有多少是正样本,用于衡量模型正确预测的概率,精确率的公式如下:
召回率指的是有多少正样本被找出来,召回率的公式如下:
所有类别的精确率和召回率可以表示为:
微观F1分数可以表示为:
微观F1 分数考虑了各种类别,适用于数据分布不平衡的情况,类别数量较多对F1的影响会较大。
第i类的精确率和召回率公式可以表示为:
各个类别的精确度和召回率均值为:
宏观F1分数可以表示为:
宏观F1 分数对各类别的Precision和Recall求平均,Precision和Recall较高的类别对F1的影响会较大。
基线模型对两个特征分别做处理,将视频标题传入BERT模块得到文本特征bert_embedding,将视频帧特征传入NextVLAD[5]模块融合视频帧特征,然后将融合的视频帧特征传入SENet模块以增强融合的视频帧特征,得到vision_embedding,将bert_embedding 和vision_embedding 一起传入ConcatDenseSE 模块融合两种模态的特征,最后将融合的特征通过一个线性层作为分类头得到多模态的分类结果,模型结构如图2所示。
本文将视频标题、视频帧OCR、语音转文本数据进行拼接,构成文本模态信息,然后对文本模态信息进行Mask,将经过Mask 的文本模态信息和视频帧模态信息在BERT Embedding 进行Early Fusion,和合并的文本mask 和视频mask 一起传入BERT 网络。由于视频帧特征和文本特征存在空间异质化问题,在视频帧特征和Embedding层之间添加一个线性层来缓解空间异质化问题。将BERT Encoder 的最后一个隐藏层参数分别传给MLM Head和Mean Pooling,得到预测结果和MLM损失。模型结构如图3所示。
数据集采用2022中国高校计算机大赛的数据集,该数据集采集来自微信视频号的短视频数据,包含了十万量级的标注数据。具体数据格式描述如表1所示。
表1 多模态数据集描述
其中,frames_feature 是包含float list 类型的视频帧特征,如:[[0.89,1.86,-4.67,-4.38,…],[0.13,1.11,-2.12,-3.24,…],],视频帧特征是使用预训练模型每秒抽取一帧提取,每个视频最多提供前32帧的特征,超出的部分直接舍弃。ocr是包含dict list类型的视频OCR 识别,如:[“{time”:0,“text”:“苏炳添创造新纪录荣获小组第一”},…],该字段为一个列表,记录了不同时刻的OCR 识别结果,相邻帧的重复识别已被去除,最多提供前32秒的OCR结果,可能存在空值。
实验基于PyTorch1.11 实现,所有实现均采用CPU:Intel(R)Xeon(R)Gold 5118 CPU@2.30GHz(4核)和一块GPU:Tesla V100-32G Specs 进行计算加速,在移动云上进行实验。
本文通过对短视频标题、音频转文本识别结果以及视频OCR识别结果进行模态融合,采用了多种拼接和截断方式进行多次实验,取最优的截断方式作为拼接方案。
本文使用F1macro和F1micro作为评价指标,由于涉及两级分类,最终评价指标取一级分类的F1macrol1分数和F1microl1分数以及二级分类的F1macrol2分数和F1microl2分数的平均值[7]。具体公式如下:
在ernie-1.0[6]预训练权重下,单独对文本部分进行训练,实验结果如表2 所示。表2 中,title 表示短视频标题,asr 表示音频转文本识别结果,ocr 表示视频OCR 识别结果,表2 中列出了仅title、title 与asr 拼接、title与ocr拼接,以及title、asr与ocr拼接四种方式训练后得到的评分结果。
原始数据存在一些脏数据,比如无意义文本、装饰性字符等,因此设计了一个删除特殊符号的模块,在传入网络前进行数据清洗。具体实现如下:
实验结果如表3 所示。实验表明,该数据清洗模块对网络评估结果有一定提升。
对基线模型和本文提出改进的模型结构分别采用相同的预训练权重进行实验。实验得到基线模型的评分结果为0.581,改进的模型结构的评分为0.656。实验表明,采用改进的模型结构对评估结果有显著提升。
本文通过在真实场景的大数据集上对改进网络的多个方案进行消融实验,发现在采用ERNIE预训练权重的改进网络上采用MLM和指数平均移动技术并加以对抗训练,通过共享Embedding 层的权重并加以参数微调,使得网络评估结果达到最优分数,获得了接近SOTA的效果。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!