吕学强,董良,滕尚志,张乐
(北京信息科技大学 网络文化与数字传播北京市重点实验室,北京 100101)
随着社会经济的不断进步和互联网社交媒体的迅速发展,人们的语言文字生活空前活跃,越来越多的人开始在网上关注和讨论语言文字问题。随着网民讨论声势不断高涨,语言舆情进一步形成,如“汉字简繁之争”和“委员建议取消英语中小学主科地位”等语言舆情事件。语言舆情是指在一定的时间和社会空间内,民众对与语言生活相关的现象、事件和政策的意见和态度[1]。
经过有效汇集、精心加工和科学整理的语言舆情信息,可为语言文字的研究与政策规划的制定提供帮助。但语言舆情的发生频率较低,具有很强的不确定性,相对于政治、财经等领域的舆情总体影响力小。现有的语言舆情相关研究主要集中在社会科学领域。魏晖[2]分析了语言舆情概念及特点,讨论了语言舆情和语言规划政策的相互影响;祝峰等[3]对西南边疆少数民族地区的语言舆情进行监测分析,探讨了语言教育政策的制定与规划。然而,现有语言舆情领域缺乏针对语言舆情分析的大规模的高质量数据集。
随着移动互联网的普及,不同类型的多模态数据迅速增长,为语言舆情信息的识别分析提供了丰富的素材。现有的多模态分类任务主要有多模态情感分析和多模态虚假新闻检测。He等[4]提出了一种具有时间压缩融合的单峰增强型Transformer结构,以学习到用于多模态情感分析的更好的多模态特征表示;Zhang等[5]提出了场景虚假新闻检测系统,使用上下文场景来集成文本与视觉信息,有效提高了虚假新闻检测的性能。现有的多模态分类研究针对特定任务,缺乏对多模态舆情信息识别的研究。
综上所述,本文立足于实际,针对当前语言舆情领域的研究缺少数据集支撑的问题,构建语言舆情信息源库以确定语言舆情的数据来源,并从中采集多模态数据,以构建多模态语言舆情数据集。进一步在该数据集的基础上,提出基于多模态融合的语言舆情识别方法,从大量数据中识别出语言舆情信息。本研究可为其他小领域舆情的自动采集与识别分类提供方法和思路,并为后续语言舆情研究,如事件检测和情感分析等,提供数据基础和研究方法。
多模态语言舆情数据集的质量直接影响舆情分析结果的准确性,因此数据采集是整个工作的基础。
基于杨江等[1]提出的语言舆情汇集方法,本文通过构建语言舆情信息源库以确定语言舆情数据的采集范围。语言舆情信息源库构建流程如图1所示。
图1 语言舆情信息源库构建流程Fig.1 Construction process of language public opinion information source database
首先确定语言舆情信息的主要来源(如政府机构、门户网站等),选取其中影响力大的代表网站并进行人工筛选后,得到先验信息源。先验信息源由人工经验得到,可能会遗漏一些舆情数据来源,因此需要通过搜索引擎弥补人工经验的不足,找出不包含在先验信息源中的语言舆情信息来源网站。具体地,通过搜索引擎对以往的语言舆情主题进行关键字搜索,并提取每个搜索的结果网址。然后对这些不同的搜索结果网址进行交集运算,将得到的网址列表作为基础信息源。最后,适度扩充基础信息源,并用先验信息源进行检验,从而得到最终的语言舆情信息源库。
通过构建语言舆情信息源库,可以大幅减少采集工作量,但是信息源库包含的数据量非常庞大,而且其中只有小部分与语言舆情有关。因此,需要进一步筛选出与语言舆情相关的信息。具体地,通过对源库中的网址进行预采集,以找出包含最多语言舆情信息的来源,以这些来源为主进行数据采集。在进行数据采集之前,通过收集语言舆情事件主题的新闻文本,用人工或者程序统计一个语言文字领域的关键词表,在采集过程中对多模态数据的标题和内容进行关键词过滤,将其按事件分类存储后得到多模态语言舆情数据集。
语言舆情识别任务可以看作是一个二分类问题,任务目的是识别样本是否为语言舆情信息。给定一组包含M个样本的训练集:
E=(e1,y1),(e2,y2),…,(em,ym),…,(eM,yM)
(1)
式中:em=[Im,Tm]表示第m个图片文本对;ym∈{0,1}为样本em的类别标签,其中1表示样本em属于语言舆情,0表示其不属于语言舆情。本文的目标是训练一个深度网络,根据图片I和文本T来判断单条样本是否属于语言舆情。
本文提出的语言舆情识别模型如图2所示,由文本特征编码器、图像特征编码器、多模态特征融合和语言舆情识别器4部分组成。
模型的输入由文本和图像组成,通过基于Transformer的语言驱动双向编码器表示(linguistically-motivated bidirectional encoder representation from Transformer,LERT)[6]和残差网络(residual network,ResNet)[7]来提取文本和图像的细粒度特征表示,进一步通过注意力机制增强文本和图像特征,同时融合增强后的上述两种单模态特征以生成样本的多模态特征表示,最后通过语言舆情识别器进行分类。
社交媒体中的数据主要以文本为主,是语言舆情识别的关键,因此对文本特征的编码尤为重要。现有的多模态方法在对文本数据进行分析与处理时,大多采用基于循环神经网络的方法,但对于高层语义的获取仍有不足。
近年来,Transformer[8]相关方法在自然语言处理(natural language processing,NLP)领域取得了显著成功。Transformer是一种基于自注意力机制的深度学习架构,可以有效处理文本序列中的长距离依赖。以基于Transformer的双向编码器表示(bidirectional encoder representations from Transformers,BERT)[9]为代表的预训练模型在各种自然语言处理任务中都取得了突破性的成果。BERT通过预训练和微调两个阶段,学习到丰富的语义信息和上下文关系。LERT[6]是一个语言学信息增强的BERT变体,通过在预训练过程中添加语言学任务来增加任务难度。在这些语言学任务中,模型需要同时预测原始文本中的单词和它们的语言特征(词性、命名实体和依存句法)。同时为了更好地学习基础语言知识,LERT还使用了一种称为“渐进式下采样”的技术,可以使模型更多地关注低级别的语言特征,并逐渐减少对高级别特征的关注。由于学习到了基础语言知识,LERT在大量中文自然语言理解任务中的性能优于BERT。因此,本文采用LERT作为文本特征编码器,对文本的语义信息进行建模。
对于一条微博正文文本X,LERT在序列开始添加[CLS]标记,句间添加[SEP]标记,利用[MASK]标记对文本进行整词屏蔽(whole word masking)和N-gram屏蔽,然后进行训练。本文提取[CLS]位置的特征向量作为微博正文文本的特征表示:
x=LERT(X)
(2)
式中:x∈1×d,d为文本嵌入维度。
同时,微博中包含大量带有文字的图片,如转发的公众号、聊天记录及新闻文本等文字图片内容,此外微博的话题标签,也包含着与推文内容相关的语义信息。这两种信息有助于更充分地理解微博的语义,从而更好地捕捉语言舆情的线索。因此,本文采用图像文字识别库easyocr提取图片中的文本内容,预处理后得到图片文本。然后将其与话题标签文本及正文文本进行拼接,并添加[SEP]标记后得到图文话题文本P,同样输入到LERT中,取模型最后一层的序列输出作为图文话题联合特征RP=[p1,p2,…,pr]。其中,pi代表P中第i个字的特征表示。
RP=LERT(P)=[p1,p2,…,pr]
(3)
式中:RP∈r×d,r为文本长度,d为文本嵌入维度。
使用深度残差网络ResNet[7]编码图像特征,以实现更高效的图像特征提取。ResNet作为一种性能良好的深度学习模型,通过引入残差结构和跳跃连接,有效解决了梯度消失和表示瓶颈问题,从而实现了对深度网络的优化。为了实现特征编码,首先使用预训练的ResNet-50模型作为基础网络。ResNet-50具有50层卷积层,包括1个输入层、16个残差块、1个平均池化层和1个全连接层。这些残差块包含了浅层与深层之间的跳跃连接,使得梯度可以直接传播到前面的层次。这种连接方式有助于提高网络性能,同时降低训练难度。
具体地,对于输入的微博图片I,通过提取ResNet-50的倒数第二层隐藏层的输出作为图片的区域特征RI=[v1,v2,…,vo],其中vj对应图片第j个区域的均值池化卷积特征。
RI=ResNet(I)=[v1,v2,…,vo]
(4)
式中:RI∈p×2 048;o为图片区域的个数。
同时为了使其适应模型,通过添加全连接层调整RI的维度,即最终的图像特征为RI∈o×d,d与文本嵌入的维度一致。
为了更好地融合微博的文本和图像特征,通过注意力机制来捕获文本和图像特征之间的复杂关联,建模多模态上下文信息,并从中提取出高阶语义信息。同时,注意力机制具备捕获不同区域特征之间的全局信息的能力,因此也可将注意力机制用于单模态特征的增强。注意力块定义为
(5)
式中:Q、K和V分别为查询矩阵(quqey)、键矩阵(key)和值矩阵(value)在三个不同的线性层WQ、WK和WV上的投影;dk是键矩阵的维度。
首先,通过注意力层增强图文话题联合特征RP和图像特征RI,过程如下:
(6)
(7)
⋮
(8)
(9)
(10)
同理可得v,至此得到了经过单模态增强和多模态融合后的文本特征t和图像特征v。
进一步,将正文特征表示x、图文话题联合特征表示t、图片的视觉特征表示v进行拼接,得到最终的多模态表示:
f=x⊕t⊕v
(11)
式中:⊕为拼接操作。它不仅考虑了单模态特征不同区域之间的相关性,同时还反映了多模态特征之间的依赖关系。
语言舆情识别器是一个带有Softmax函数的全连接层,将微博的多模态表示f输入全连接层中,得到模型的预测概率:
(12)
式中:W为全连接层的参数;b为偏置。
最后使用交叉熵作为模型的损失函数:
(13)
式中:θ表示模型的所有可学习参数;y∈{0,1}表示真实标签。
3.1.1 语言舆情信息源库构建
根据第1节提出的构建方法,通过互联网搜索语言舆情相关网站,查阅相关信息及新闻,确定了先验信息源的类型,主要包含6类网站:政府机构、新闻网站、论坛、博客、网络媒体和社交媒体。由此得到35个网址作为先验信息源,基本涵盖了开源互联网范围内的绝大多数语言舆情信息。
为了得到基础信息源,本文收集了“委员建议取消英语中小学主科地位”“北京地铁站名英语改拼音引发争议”“汉语加入俄罗斯高考”“中文成为联合国世界旅游组织官方语言”等17个语言舆情主题事件,通过百度搜索引擎搜索包含每个主题关键词的搜索结果。由于搜索结果较多,且百家号网址占大部分,故每个关键词的搜索结果中去除百家号并取前十个网址,进一步去除广告以及重复网址后得到63个网址,并与先验信息源取并集得到67个网址,将其作为语言舆情基础信息源。
通过对基础信息源进行检验和扩充,去掉不能站内搜索的网站,然后对其余网站内部搜索。若其搜索结果包含两个以上的语言舆情事件主题,则将其加入语言舆情基础信息源。最终得到57个网址,至此语言舆情信息源库构建完成。
为了检验语言舆情信息源库的可信度,本文采用不包含上述语言舆情主题的“中文写作专业能力评价标准发布”事件进行验证测试。同样经过搜索引擎搜索的方法得到84个网址,其与语言舆情信息源库的重合网站为49个,重合网站占语言舆情信息源库57个网站数量的85.97%,可见本文构建的语言舆情信息源库具有一定的可信度,基本可以满足使用需求。
3.1.2 多模态语言舆情数据采集
由于语言舆情信息源库包含的网址数量仍然庞大,且不同网站的构造也不尽相同,针对每个网址编写解析规则难度较高;同时,传统新闻网站也关闭了历史新闻搜索功能,无法获取时间较远的数据。近年来,随着移动设备的使用,语言舆情大多集中在以微博等平台为主的社交媒体上。因此,本文的数据采集主要通过新闻和社交平台热搜收集语言舆情事件主题,以社交媒体为主,采集语言舆情事件相关的多模态数据。
首先,获取时间范围2020年12月到2022年3月每天的微博热搜,共得到143 343条热搜数据,去重后得到107 847条热搜数据。
通过对3.1.1节所述收集的语言舆情事件进行预采集,对得到的文本统计词频,并辅以人工编制,得到包含69个词语的语言舆情关键词表。通过关键词表对包含语言舆情关键词的热搜进行筛选,得到547条语言舆情相关热搜,对于每一条热搜,本文将采集时间范围确定为热搜上榜时间一周内的微博,采集目标地址为微博搜索站(s.weibo.com),关键词为语言舆情事件热搜标题,采集内容为每条微博的13个相关字段,并将其保存在同名csv文件中,对于其中包含的图片和视频采集后按其微博id分别保存,csv数据样例如表1所示。
采集程序使用Python语言及Scrapy框架编写。在数据采集的过程中,数据清洗操作主要包含以下4种:对不包含图片和视频且文本停用词占比达到80%以上的微博进行删除;对分辨率低于224×224像素的图片进行舍弃;对视频长度低于3 s的视频进行舍弃;对同一舆情热搜下内容相同的微博进行去重。最终得到94 133条微博,包含图片115 087张,视频11 998条。为了后续其他语言舆情分析,本文也采集了与语言舆情热搜同时期的其他1 076条非语言舆情热搜下的微博,共得到非语言舆情微博178 539条,图片182 327张,视频30 300条。最终的多模态语言舆情数据集统计信息如表2所示。
表2 数据集统计Table 2 Dataset statistics
3.2.1 数据集
从多模态语言舆情数据集中选取10 016条带有图片的微博作为语言舆情信息识别数据集,对其中微博的语义信息进行标注,在实验中80%的数据用于训练,其余数据用于测试。语言舆情识别数据集统计信息如表3所示。
表3 语言舆情识别数据集统计Table 3 Statistics of language public opinion recognition dataset
3.2.2 评价指标
本文实验以准确率(accuracy)作为模型的主要评价指标,准确率按式(14)进行计算:
(14)
式中:nTP为正确识别出的语言舆情微博数;nTN为正确识别出的非语言舆情微博数;nFP为错误识别为语言舆情的微博数;nFN为未识别出的语言舆情微博数。
同时计算精确率(precision):
(15)
召回率(recall):
(16)
F1值(F1-score):
(17)
3.2.3 实验环境
本实验的训练与测试基于戴尔服务器,实验的具体环境配置如表4所示。
表4 实验环境配置Table 4 Experimental environment configuration
3.2.4 参数设置
在参数设置上,本文采用官方提供的Chinese-LERT-base[6]模型初始化文本编码器参数,文本嵌入维度为768。图像编码器的参数通过在ImageNet上预训练得到的ResNet-50进行初始化,输入图像被分割为p=16块(4×4)。为适应模型,全连接层将图像嵌入维度由2 048转变为768。文本注意力层数a=1,图像注意力层数b=2。模型使用的优化器是Adam,学习率为0.000 1,批量大小(batch size)设置为32,训练轮数(epoch)为100。在训练时采用两阶段策略,首先冻结文本特征编码器和图像特征编码器进行训练,直至准确率不再提升时,解冻文本与图像特征编码器的参数以进行联合训练。
3.2.5 对比实验
为了验证本文模型的先进性,本文选择了4种单模态分类模型、6种多模态分类模型与本文模型进行对比。其中文本模型的输入为拼接后的微博正文、话题文本和OCR文本。具体介绍如下。
TextCNN[10]:利用jieba分词工具和预训练word2vec词向量将文本向量化,通过3种不同大小的卷积核提取文本特征并进行分类。
BERT:在文本上微调BERT,使用在中文数据集上预训练的BERT-base-Chinese[11]权重初始化,提取CLS位置的特征进行分类。
VGG19[12]:多模态虚假新闻检测中使用最多的图像特征提取器,本文使用在ImageNet数据集上预训练的VGG19模型微调以图片分类。
ResNet-50:计算机视觉领域的经典模型。将图片输入在ImageNet数据集上预训练的ResNet-50模型,修改最后的全连接层以进行分类。
VQA[13]:视觉问答任务是用文本回答图片的相关问题。VQA模型主要用于多分类任务,在本文中添加一层LSTM,并修改最后的全连接层以实现二分类。
att-RNN[14]:文本和图片分别通过LSTM和VGG19进行特征提取,利用具有注意力机制的RNN来融合文本、视觉和社交上下文3种特征进行谣言检测。为了公平比较,不考虑社交上下文特征。
EANN[15]:一种用于多模态虚假新闻检测的对抗神经网络模型,通过添加事件信息,使模型可以学习到包含多模态信息的事件不变表示。文本模态采用TextCNN提取特征,图像模态采用VGG19提取特征。本文利用微博的主题作为事件标签。
EANN-B:在EANN的基础上,将其文本特征编码器由TextCNN替换为BERT。为避免计算复杂度过高,本文在文本编码器中添加两层全连接层,使其特征维度与图像特征的维度一致。
MVAE[16]:一种多模态变分自动编码器的端到端虚假新闻检测模型。文本和图片分别采用Bi-LSTM和VGG19提取特征,解码器利用拼接后的中间表示重构单模态输入特征,通过对VAE和分类器联合训练,以学习到多模态信息的共享表示。
MVAE-B:与EANN-B类似,同样将MVAE的文本特征编码器由Bi-LSTM替换为BERT,并修改其中的全连接层以适应模型。
11组实验的结果如表5所示。
表5 对比实验结果Table 5 Comparative experimental results %
从表5中可以看出,本文模型的准确率达到96.66%,显著超过其他方法,由此可见本文提出的多模态语言舆情识别模型能有效识别出微博中的语言舆情信息。
在单模态模型中,基于文本模态的方法要优于基于图像模态的方法,说明语言舆情识别主要依靠文本模态中的语义信息。预训练模型BERT显著优于TextCNN方法,这是因为BERT通过大量预训练语料与Transformer结构学习到了文本更好的语义。同时多模态方法优于基于单模态方法,说明文本和图像之间的互补模态信息有助于语言舆情的识别。
在多模态基线模型中,VQA模型仅是简单将文本与视觉模态的特征拼接后进行分类,而att-RNN通过注意力融合单模态特征,所以后者性能更优。进一步,EANN加入了事件信息,可以更好地建模多模态一致性语义信息。MVAE模型的优点是通过多模态自动编码器重构多模态特征,能够学习到多模态数据潜在特征表示。将EANN与MVAE的文本特征编码器替换为BERT后,其模型的性能均有了一定程度的提升,进一步证明了大规模预训练模型的有效性。由于EANN和MVAE分别采用的生成对抗网络与变分自动编码器需要同时优化多个网络,如前者的生成器和判别器,后者的编码器和解码器,导致其计算复杂度更高。与这两种网络相比,本文模型在对特征的后处理上使用注意力网络,在效率更高的情况下取得更优的性能。与MVAE相比,本文模型基于微博图片的OCR文本和话题文本,通过更细粒度的多模态注意力融合机制,使识别的准确率提升了1.55百分点。
3.2.6 消融实验
在语言舆情信息识别任务中,建立准确可靠的模型对于精准识别和分析舆情信息至关重要。因此,本文将进行消融实验,通过对比分析实验结果,探究模型各个组成部分的重要性和优化程度,为改进模型性能提供参考。具体地,本文设计了以下6组消融实验:
去掉LERT:对文本编码时,采用Bi-LSTM结合注意力网络替换LERT。
去掉微博正文:在文本编码器中,去掉微博正文[CLS]位置的特征向量。微博的多模态表示由图文话题联合表示与图像特征拼接而成。
去掉OCR:移除OCR提取图片文字模块。输入文本由微博正文及话题拼接而成。微博的多模态表示由微博正文表示、图文话题联合表示以及图像特征拼接而成。
去掉话题:移除话题文本,输入文本由微博正文以及OCR文本拼接而成。微博的多模态表示由微博正文表示、图文联合表示和图像特征拼接而成。
去掉单模态增强:移除单模态特征增强模块,文本特征编码器和图像特征编码器输出的表示直接用于多模态融合。
去掉多模态融合:移除多模态特征融合模块,文本特征编码器和图像特征编码器的输出直接与微博正文表示拼接为微博的多模态表示。
表6中列出了本文消融实验结果,可以看出如果移除模型的其中任意一个部分,分类准确率和F1值都会下降,体现了模型中各个部分的有效性。
表6 消融实验结果Table 6 Ablation experiment results %
按照移除模型各个部分后的准确率下降的程度,可以将各个部分的重要性进行排序,LERT>多模态融合>单模态增强>微博正文>OCR=话题。这表明,预训练大规模语言模型所学习到的高层语义知识对于文本特征的提取至关重要;采用注意力机制融合多模态特征比拼接的效果更好,可以学习到模态间的依赖信息;单模态增强有助于学习到单模态数据中不同组成部分之间的关系;OCR提取到图片中的文字可以更好地理解图片的语义;话题文本一般是微博语义的高度概括,因此对提升模型的性能有所帮助。
针对现有语言舆情研究停留在新闻传播领域,且缺乏可供研究的大规模高质量多模态语言舆情数据集的问题,本文通过构建语言舆情信息源库,确立语言舆情的多模态数据来源以及采集范围,并对社交媒体微博上包含的多模态数据进行采集,得到多模态语言舆情数据集。进一步基于微博的多模态数据,构建多模态语言舆情识别模型,利用预训练模型中包含的高层语义知识,分别提取文本和图片的特征,并通过注意力机制增强和融合,获取单模态的全局信息以及多模态之间的依赖信息,深度建模了微博的多模态特征。实验结果表明,本文模型能有效地从微博中识别出语言舆情信息。同时,本研究为多模态舆情识别提供了基本方法,也可为其他小领域舆情数据集的构建提供思路。