融合知识的多模态剧本场景角色分类方法
2023-09-25王德培李睿濠刘宏伟
王德培,李睿濠,刘宏伟
(1.广东南方电信规划咨询设计院有限公司,广东 深圳 518063;2.广东工业大学,广东 广州 510006;3.天津外国语大学,天津 300204)
0 引言
随着深度学习的发展,单一模态数据的弊端逐渐显露,因其单一特征表示导致描述信息缺失。多模态表示学习,利用多模态数据之间的互补性,学习更好的特征表示,丰富了实体描述信息,弥补了单一模态的弊端。其次,自然语言处理技术的发展,为文学作品分析带来了自动化、可计算的工具,服务于文学作品的内容检索、可视化和内容摘要等任务。本文将计算文学引入电影剧本内容理解,挖掘电影叙事框架中不同场景扮演的角色。在电影剧本场景角色挖掘任务中,2019年Papalampidi[1]等人定义了5种场景类型,如图1所示,并采用文本序列建模的方式对场景进行分类。2020年,他们又通过增加多模态数据和图结构建模来提高场景角色分类能力[2]。这些方法仅通过增加模态数据和建模策略来提升分类效果,没有考虑文本内的实体信息和动词蕴含的事件信息。在利用文本知识的工作中,郑诚[3]等人利用词性知识辅助构建文本图,增强文本分类模型的精度。丁敬达[4]等人利用文本主题知识计算文本相似度,进而完成文献与主题的匹配任务。因此,本文提出融合知识的多模态场景角色分类方法,整合序列和图结构建模的多视角表征,并融合人物和动词知识来增强图结构中场景节点之间的关联。实验表明,笔者的方法优于其他基线方法,识别结果有明显提升。
图1 电影场景在故事发展中扮演的角色类型
1 模型架构
本文提出的方法模型框架如图2 所示,主要组成部分包括:编码层、序列编码模块、图建模模块、图卷积层和线性分类层。编码层是对输入数据的嵌入表示;序列编码层是对文本数据挖掘上下文特征;电影图结构建模是建立在以场景为节点,场景相似度为边的基础上,同时通过获取邻居节点信息完善节点表示;图卷积层是整合序列和图结构中场景表示更新图中节点表示;线性分类层获取每一个节点对应不同场景角色的概率值。
图2 模型框架图
1.1 文本序列编码模型
BiLSTM[5]模型弥补了传统循环神经网络对上下文信息抽取能力低的缺陷,其前向和后向信息传递策略捕获了不同时间序列上的隐层状态,丰富了特征表示。
对于剧本的N个场景输入序列S={S1,…,Sm,…SN},使用BiLSTM模型抽取场景级特征可以表示为:
其中SN[2]表示场景所用的是文本数据,hN表示序列模型输出的节点表示,θ表示模型的参数。
1.2 构建剧本场景图
图构建过程中,节点表示使用所有特征数据,即多模态数据和文本知识,因此,节点集合可以表示为V={S1,…,Sm,…SN}。通过计算节点之间的相似度产生边信息,可以表示为:
其中Sim(∙)函数表示张量之间的乘积。由此可以得到电影剧本的图模型为:
其中EmN∈E表示边。
1.3 图卷积
图卷积网络[3]是一种编码图结构数据的深度学习模型,该方法通过整合邻居节点信息来更新自身的表示能力,在多次聚合信息后获取高层次的节点依赖关系。本实验过程中为了提升计算效率,将节点表示获取的邻居节点数量定为3。本文将剧本场景序列编码和图结构编码输入到图卷积网络,得到最终的节点表示:
其中Vgcn表示最终的节点表示。并将此输入到线性分类层获取节点被分为不同角色的概率:
2 实验
本节主要展示本文提出的方法与其他方法在场景角色分类任务上的效果,同时,在消融实验部分分析不同特征组合下的识别效果。
2.1 实验设置
实验所使用的是多模态TRIPOD[2]数据集,该数据集包含了电影剧本、视频和音频数据。对于多模态数据的预处理采用与文献[2]相同的方式,采用USE[6](Universal Sentence Encoder) 编码文本数据,采用DTW[7](Dynamic Time Wrapping) 工具对齐切割多模态场景数据,采用ResNeXt-01[8]预训练模型提取视频帧特征,采用YAMNet[9]预训练模型表征音频。此外,采用One-hot[10]和Word2Vec[4]方式表示文本内蕴含的人物和动词知识。其中Word2Vec是由收集的1200部电影概述文本训练得到的领域词向量,每个单词表示有300维。
实验中BiLSTM 模型隐状态特征数为64,优化函数使用学习率为0.01的Adam优化器,图计算使用Py-Torch geometric 开源工具包。所有实验在装配有Intel i9和RTX 2080 Ti的服务器上运行。
实验所用的评价指标有Total Agreement (TA)、Partial Agreement (PA)和mean distance (D),分别定义为:
其中,T表示场景角色类型,L是测试集中剧本数量,Si是预测的所有角色标注,Gi是场景角色真实标签,M是单个剧本中的场景数,min|∙|函数用来计算预测值与真实值间的距离。
2.2 对比实验
为了评价本文所提出方法在场景角色分类任务上的效果,另外选择了当前先进的场景分类算法进行对比,主要有以下几个:
理论位置(Theory position)[11]:根据剧本创作理论,在每个TP事件的预期位置上选择三个场景的序列。
TAM[1]:一个端到端神经网络模型,采用文本序列建模识别情节概要中的TP 句子,并将其映射到剧本中的场景。
GRAPHTP[2]:采用文本序列和多模态数据来表征场景节点,一种依赖稀疏图的多模态TP识别模型。
本文提出的方法与基线方法对比结果如表1 所示。加粗的字体表示各指标对应的最优值,箭头向上表示该项指标越大越好,反之箭头向下。首先,本文提出的方法在TA 和PA 两项指标中取得最优结果,GRAPHTP 在D 指标中取得最优结果。其次,采用多模态数据训练的TAM和GRAPHTP 方法,都比单纯使用文本数据时的TA和PA效果好,但是多模态数据都升高了D指标。最后,本文提出的方法整合了TAM中的BiLSTM序列建模和GRAPHTP中的图结构建模,并加入了文本蕴含的可推断知识,提升了TA 和PA 指标。对比实验结果表明,引入知识可以提升场景角色分类任务中TA和PA两项指标。
表1 对比实验结果
2.3 消融实验
本文提出的方法在不同数据特征组合下的实验结果见表2。加粗的字体表示各指标对应的最优值,箭头向上表示该项指标越大越好,反之箭头向下。首先,在多模态数据中使用动词知识取得了最优的TA和PA 指标。其次,在文本数据中融入人物和动词两方面知识,取得了最优的D 指标。最后,人物知识的引入使得D 指标有明显下降,这是由于One-hot 嵌入表示引入强分类(非0 即1),提升了图结构中边的权重区分度。消融实验结果表明,多模态数据增强了节点表示,引入额外文本知识对各项评价指标均有改善。
表2 消融实验不同指标结果
3 总结
本文通过注入文本知识到多模态数据,并采用序列和图结构建模,丰富了剧本场景的特征表达,提升了文本内场景远距离依赖。实验表明,本文提出的融合知识与多模态数据的分类方法对场景角色分类结果有明显改善。消融实验,进一步测试了不同特征组合对场景角色分类评价指标的影响。之后的工作将侧重挖掘多模态数据之间的知识关联,提高场景语义信息之间的联系,增强序列和图结构建模的信息表达能力。