社交网络中意见领袖的敏感舆论倾向识别

2021-11-20 01:57徐雅斌
计算机工程与设计 2021年11期
关键词:多任务指纹舆论

宋 振,徐雅斌

(1.北京信息科技大学 计算机学院,北京 100101;2.北京信息科技大学 网络文化与数字传播北京市重点实验室,北京 100101)

0 引 言

针对意见领袖对于敏感舆论传播举足轻重的作用,设计了基于多任务学习方法并结合自注意力机制的意见领袖敏感舆论倾向识别方案,方案的整体架构如图1所示。

图1 意见领袖的敏感舆论倾向识别框架

(1)筛选涉及敏感词的文本:首先对意见领袖历史文本进行预处理;然后对文本中的敏感词和变形词进行识别;利用设计的识别规则来识别变形敏感词,并对识别出来的变形敏感词,采用“指纹汇聚”技术打上与原始敏感词相同的指纹值。

(2)语义指纹技术快速识别文本舆论倾向:首先筛选出包含敏感词的文本,根据语义生成算法计算其语义指纹,然后与事先建立的语义指纹库(D_tof)中的文本计算语义相似距离,对于语义相似距离小于设定阈值的文本,直接从指纹库获取其敏感舆论倾向。

(3)MTL-SA-LSTM模型识别文本舆论倾向:对上一步匹配失败的文本,利用MTL-SA-LSTM模型识别其敏感舆论倾向。对于识别结果,计算其语义指纹值并添加到语义指纹库中,实现语义指纹库的自动扩充,以便后续相似文本的快速识别。

本文创新点如下:

(1)采用多任务学习方法,同时对敏感舆论和舆论倾向进行识别;通过任务间的相互支持,有效提高识别效果;此外,通过增加自注意力机制,提取任务的主要特征,进一步提升识别准确率。

(2)采用指纹汇聚技术关联敏感词和变形词,实现敏感词的快速识别;采用语义指纹技术建立语义指纹库,实现对重复或相似文本敏感舆论倾向的快速精准检测,提升识别效率。

1 相关工作

为了识别意见领袖的舆论倾向,国内外学者针对微博等社交网络开展了识别方法研究。针对教育网络数据,通过聚类获取同一个教育网络舆情数据,然后扩充情绪词典,增加教育相关名词情绪值,通过分析评论文本表达的情绪来识别其舆论倾向[1]。针对弹幕数据特点,构建了弹幕数据的停用词表和弹幕情感词典,在此基础上利用卷积神经网络分析弹幕数据的情感倾向来识别舆论倾向[2]。从涉及新疆暴乱的新闻入手,通过两次非负矩阵分解生成窗口主题和动态主题,然后对主题热度、关键词、内容变化进行分析,通过内容情感极性的变化来分析舆论倾向的变化情况[3]。通过话题快速聚类收集相关话题博文,然后对博文的情感强度进行量化计算,通过时序回归分析追踪热点话题的情感变化来预测公众的舆论倾向[4]。针对传统文本表示模型在小数据集下效果不好及易过拟合的问题,通过双向表示来提取特征,提出了一种深度双向自编码的舆论倾向识别模型,提高了模型的泛化能力[5]。针对关键词分析热点话题,然后根据粉丝数、关注关系、信息传播等特征挖掘出关键用户和事件,分析热点话题文本的情感倾向来预测该话题的舆论倾向[6]。以上研究方法基本都是基于情感分析来实现舆论倾向的识别工作,但是单纯的情感分析容易误判,比如对负向敏感舆论的负向倾向其结果为正向敏感舆论倾向。

为了解决现有敏感词检测算法不能准确识别读音和字形相似的变形词问题,综合考虑敏感词读音和字形进行特殊编码,提出了模糊匹配的敏感词相似度对比算法[7]。首先构建不文明语言数据集,然后将变压器的双向编码器表示与双向长期内存网络与条件随机场相结合来识别敏感词,以此来检测敏感信息[8]。针对粗粒度情感分析不能准确提取对敏感词的情感倾向问题,通过提取评价词和评价对象对文本进行细粒度情感分析,提高了敏感情感倾向识别的准确性[9]。采用贝叶斯滤波技术来检测敏感内容,通过字符串近似匹配技术来提高检测性能[10]。通过制定规则提取敏感词短语结合情感词典,分析发文者对敏感词的情感来分析文本的敏感性,解决了传统关键词匹配忽视上下文信息导致误报的问题[11]。通过敏感事件触发抽取敏感事件序列,根据敏感事件、文本信息、构建的敏感词典进行相似度计算,综合各个信息的权重来识别文本的敏感性[12]。针对敏感词的变形特点设计相应的识别规则,然后利用指纹汇聚技术将变形词与原词进行关联,较好解决了敏感词的识别问题[13]。以上研究大多都是基于敏感关键词实现对敏感文本的识别,方法简单有效,但是缺乏灵活性,并且过于依赖关键词库。

涉及敏感舆论的文本往往具有一定的语义倾向,但是包含敏感词汇的文本不一定具有舆论倾向。所以识别敏感舆论倾向时,需要从语义角度对文本中的敏感舆论及对该舆论表达的态度进行联合识别,才能得出最准确的意见领袖的敏感舆论倾向。

通过对语义分析技术在反恐领域中应用现状的分析,表明语义对于其研究的重要性[14]。定量分析了敏感舆论与其情感极性之间的关系,并提出了敏感关键词与情感极性协同分析的敏感信息识别方法[15]。通过HotNet情感词典与中国情感词汇本体论构建情感词典,根据舆论时序状态下的情感变化,来分析民众的舆论倾向[16]。以上研究表明,在敏感主题的基础上考虑情感倾向因素具有一定的合理性并且能在很大程度上提高敏感舆论倾向识别的准确率。

近年来,深度学习发展迅速,通过标注大规模语料,利用深度学习技术去学习文本潜在的语法和语义特征,有效弥补了人工提取特征的不足,具有更好的灵活性和鲁棒性[17]。提出基于自注意力机制的情感分类方法,利用神经网络学习上下文信息,然后利用自注意力学习词语的权重信息,提高了情感分类的准确性[18]。提出基于鲁棒多任务学习模型,对微博用户进行大五人格预测,既共享多个任务之间的关联信息,又能识别出不相关任务,增强了模型的鲁棒性,取得了较好的效果[19]。对多标签病例进行建模分析,构建基于长短时记忆网络的疾病预测模型,充分考虑病人医学特征变化规律[20]。采用分类训练解决事件多标签的问题,采用多任务学习方法对各事件子类进行相互增强的联合学习,进而有效缓解分类训练后的语料稀疏问题[21]。提出一种多任务学习模型对罪名预测和法条推荐两个任务进行联合建模同时采用统计方法从案情描述中抽取有助于区分易混淆罪名的指示性罪名关键词,并将它们融入到多任务学习模型中[22]。

以上研究可以看出深度多任务学习可以有效缓解数据不足及不均衡的问题,并且利用任务间的特征共享进一步提升识别效果。

2 敏感舆论倾向的快速识别

2.1 敏感词识别

意见领袖在发布敏感舆论时,为了逃避检测,往往会对敏感词进行变形处理,例如字词拆分、夹杂特殊符号等。虽然敏感词进行变形伪装之后与原敏感词形式不同,但是其词义并没有发生改变。

针对这种情况,我们采用指纹汇聚技术,通过将变形敏感词与原始敏感词打上相同的指纹进行关联,保证变形词与敏感词词义上的一致性。

指纹汇聚过程如下所示:

敏感词搜集,建立敏感词库;

敏感词指纹值获取:利用JenKins Hash函数对原始敏感词进行哈希处理,得到一个唯一的哈希值作为其指纹值,写入敏感词库。

变形敏感词识别:针对敏感词变形的特点设计了如下变形词识别规则。

规则1:繁体字转化为简体字,去除文本中的特殊符号;

规则2:分词结果存在拼音或拼音首字母,以字母为中心,将前后4个字化为拼音或首字母;

规则3:分词结果存在3个或以上连续单字,将单字转化为对应的拼音;

将规则2、规则3得到的拼音或拼音首字母与敏感词库中的敏感词的拼音及首字母进行比对,比对成功则视为敏感变形词。

例如:原始敏感词wi=“国庆”, 首先利用JenKins函数对其进行哈希处理,得到一个唯一的hash值:101001,即敏感词wi的指纹值fi=“101001”。 (文中为了便于说明问题,采用6位的指纹值,但实际上采用的是64位指纹值)。然后将识别出的每一个对应该敏感词的变形词(如“guo庆”、“过庆”、“G庆”)都映射到同一个指纹值上,这样所有的变形词,最终在文中所代表的都是该原始敏感词。指纹汇聚过程如图2所示。

图2 敏感词指纹汇聚

收集到敏感词3844个,通过Jenkins Hash函数计算出每一个敏感词的指纹值,同时对识别出的每个变形词,打上与其原始敏感词相同的指纹值。

2.2 敏感文本语义计算

在对涉及敏感舆论文本进行分析时,发现存在很多相似度很高或重复的文本内容,针对此类文本,若是逐条利用MTL-SA-LSTM模型进行识别,势必会产生很大的时间开销,并造成不必要的系统资源浪费。为了进一步提高模型的识别效率,对于相似度较高的文本,利用语义指纹技术对其进行快速识别。采用SWFG-SFG语义生成算法来计算文本的语义指纹,该算法步骤如下:

输入:识别文本S。

输出:待识别文本的语义指纹值F。

(1)对文本进行分词得到词集合;

(2)识别敏感词及其变形词,并从D_po指纹库获取其指纹值;

(3)对第一步得到的词集合进行哈希处理,得到其二进制哈希值,将词频当作该词的权重,然后调整各词语的hash值:若hash值第i位是1置为其权值,为0置为负权值;

(4)对上一步得到的hash值集合,进行按位求和,得到序列值。第i位为正则置为1,为负则置为0,由此得到最终文本的语义指纹值。

(5)循环处理从意见领袖历史文本中筛选出的每一条文本。

下面以实例来解释语义指纹的生成过程:

待识别文本S: 欢度国庆,我们一起助力guo庆。

在进行分词、去除停用词后,识别敏感词及其变形词并进行指纹汇聚,得到如下结果: {“欢度”,“国庆”(101001),“我们”,“一起”,“助力”,“guo庆”(101001)}。

各元素词频统计: {“国庆”(2),“欢度”(1),“我们”(1),“一起”(1),“助力”(1)}。

接下来计算各元素hash值: {101001,“111011”,“101100”,“100100”,“001001”}。

根据词频调整各位元素的hash值: {2-22-2-22,“111-111”,“1-111-1-1”,“1-1-11-1-1”,“-1-11-1-11”}。

对获得的词语hash值集合,进行按位求和,得F′={4-44-2-42}。 根据每一位的符号(正为1,负为0)得到文本S的语义指F={101001}。

2.3 敏感舆论倾向快速识别

根据上一节生成的语义指纹,可以对重复的或相似度较高的文本进行快速识别。通过与事先建立的语义指纹库D_tof进行对比,计算其汉明距离,当两者汉明距离小于设置的阈值,就认为两文本重复,具有相同的舆论倾向。当两者汉明距离大于设定的阈值,则通过设计的模型进行识别其舆论倾向。对识别出来的结果,将对应文本及其语义指纹存入到语义指纹库中,实现指纹库的自动扩充,以便后续对相似文本进行快速识别。

识别过程如下所示:

对待识别文本,通过SWFG-SFG算法计算其语义指纹Fi。

将上一步得到的指纹值与语义指纹库D_tof中的指纹值计算汉明距离,若存在小于设置阈值的语义指纹值,就认为其为重复文本,直接从指纹库获取其舆论倾向。

汉明距离值计算如下

dh=numof1(Fi⊕Fj)

(1)

式中:dh为求得的汉明距离,⊕表示异或运算, numof1() 函数用于计算1的个数,Fi和Fj为两个语义指纹的二进制字符串。

3 基于深度学习的敏感舆论倾向识别

针对敏感舆论倾向识别的问题,目前研究较少。已有的方法是通过分析文本中敏感词的情感极性来识别舆论倾向,但是由于中文博大精深,语义表达形式多样化,有些文本的语义比较复杂,理解难度很大。仅仅包含敏感词的文本未必是敏感舆论,而且情感词对敏感舆论的修饰关系难以判断准确,因此容易出现错判的情况,导致识别准确率不高。为此,本文采用深度学习的方式解决语义理解的难题。通过对大量标注的文本进行训练得到模型。但是针对我们的需求,需要解决敏感舆论的识别和敏感舆论倾向的识别这两个问题,而且这两个问题密切相关。如果单独对每个任务分别进行识别,则割裂了两个任务之间的关联性。因此我们采用多任务学习机制来同时进行两个任务的识别工作,通过共享参数来获取两个任务间的共享特征,两个任务相互促进,提升识别准确率。

由于每个词对于文本分类结果的重要程度有所不同。因此,我们引入自注意力机制,学习词语在句子中的权重值,句子中重要程度高的词具有较高的权值,突显出重要词对分类结果的影响,进一步提升模型的识别准确率。

相对于CNN等深度学习模型来说,基于长短时神经网络的方法可以有效利用文本间的时序关系和文本内长间距词语间的依赖关系,并且长短时记忆网络具有较好的特征抽取性能及较高的文本分类性能。

因此我们将敏感舆论识别和敏感舆论倾向识别两个任务进行联合学习,同时在神经网络中增加自注意力层,构建基于多任务学习的舆论倾向识别长短时神经网络模型(long-short-term memory based on multi-task and self-attention,MTL-SA-LSTM),来进行意见领袖的敏感舆论倾向识别工作。

我们设计的基于多任务学习的舆论倾向识别长短时神经网络识别模型(MTL-SA-LSTM)如图3所示。

图3 基于多任务学习的舆论倾向识别长短时神经网络模型

MTL-SA-LSTM模型包括以下4个主要的部分:

(1)数据预处理层

主要是对文本进行分词、去除停用词、根据word2vec训练的skip gram模型将文本切分结果转化为词向量的表示。

假设文本S包含k个词,则有S=s1⊕s2…⊕si⊕sk, 其中si表示文本的第i个词,⊕表示拼接。对不同长度的文本进行长度补齐,给定一个阈值n, 超过指定长度的文本截取前n个词,不足长度的文本采用特定标志补齐。以文本S为例

(2)

将文本中的每个词都映射为一个低维稠密向量,在词向量表中词语所在位置为1,其余的位置全部置0,得到初始化词向量表E,vsi为第i个词在词向量表的位置。通过式(3)将文本转化为n×d维的词向量矩阵

(3)

(2)特征学习层

通过LSTM神经网络对文本进行编码,并且学习文本中上下文的依赖关系。LSTM神经网络结构如图4所示。

图4 长短时记忆神经网络结构

(4)

其中,it为相应时刻输入词语需要记忆的信息,ft表示需要丢弃的信息,wi、wf、wc、wo、ui、uf、uc、uo为LSTM模型的权重矩阵,bi,bc,bf,bo为偏置向量。

(3)自注意力权重调整层

自注意力层的主要目的是学习每个位置上词语的权重值,使得任务学习时将注意力转移到在句子里占据重要作用的词语上,由于多任务学习具有相同的输入,但是每个词语在两个任务中起到的重要性是不同的,因此,在自注意力层对词语的权重进行调整,对于本任务起到重要作用的词语赋予更大的权值。

以敏感舆论识别为例,htask1为特征学习层输出的n维向量,注意力向量α={αt}1≤t≤n, 则句子的语义表示计算过程如式(5)所示

(5)

其中,符号含义:wt∈Rn×r,wn∈Rn×r,wa∈Rr×r为权重矩阵,ba∈Rr是偏置向量。αt∈Rn是特征学习层输出序列中第t个位置的注意力权重进行归一化的结果。et∈Rn由隐藏层前向连接网络计算注意力分配,通过激活函数将其约束在[-1,1]之间,随后利用矩阵M∈R1×r进一步提取特征。10-8是为了避免归一化过程出现分母为0的问题加入的一个极小非0值,h′∈Rr是利用注意力向量对特征学习层输出序列进行加权平均得到的向量。

(4)全连接分类层

分类层对最终学习到的特征矩阵h′进行分类预测,通过计算其在每一个类别上的似然概率分布,然后对概率值进行归一化,取归一化后的m维向量中最大的值对应的类别作为其分类结果。

概率分布计算公式如式(6)所示

f∶s→y={y1,y2,…,ym}

(6)

最后采用交叉熵作为损失函数,对模型进行优化,任务的损失函数如下所示:

任务1,敏感舆论识别的损失函数

(7)

任务2,对敏感舆论的态度识别的损失函数

(8)

总的损失函数

Lloss=λLtask1+Ltask2

(9)

4 实 验

4.1 实验数据与实验环境

4.1.1 实验数据及预处理

本文实验所用的数据包括爬取的新浪微博数据集以及网上收集的现有新浪微博数据集,数据涉及用户表和文本表两个部分,原始数据集总共3 542 164条文本数据。本文基于项目中意见领袖识别研究成果,获得意见领袖225位,针对意见领袖的历史文本数据进行分析其敏感舆论倾向。为了进行意见领袖敏感舆论倾向的识别,本文收集敏感词3844个,从数据集中筛选出包含敏感舆论的文本13 803条,最终正向文本5525条、负向文本1306条、中性文本6972条,组成实验数据集。

为确保训练数据的准确性,本文对所用数据采用人工标注,主要包含两个标签:

lable1:文本是否涉及敏感舆论(是、否);

lable2:敏感舆论倾向(正向、负向、中性);

例如:香港暴乱严重影响了香港的发展,对此感到痛心疾首。(香港暴乱:敏感舆论;对此感到痛心疾首:正向敏感舆论倾向。)

数据预处理的目的是为了获取更规范的数据集,剔除一些与实验类别无关甚至带来噪声的数据。由于新浪微博的文本内容比较口语化,表达形式比较多样,文本中经常包含链接、表情符号、图片及其它无意义的特殊符号,因此需要对这些特殊的表示进行替换处理,否则将会对后续的特征学习产生干扰。替换处理情况见表1。

表1 替换处理

4.1.2 实验环境及实验参数设置

本文的实验环境见表2。

表2 相关实验环境

在进行基于多任务学习的舆论倾向识别长短时神经网络模型分类前,本文选取了中科院汉语分词工具NLPIR/ICTCLAS进行分词处理,然后将分词结果合并成词语级别的训练数据,选取gensim的word2vec工具对数据进行训练,获取其词向量空间。

本文对词向量进行训练时采用的训练参数如下:

(1)选用skip gram模型;

(2)上下文滑动窗口大小为6;

(3)单词向量维度设为300。

对于语料库中没有出现过的词语,进行随机初始化处理。

基于多任务学习的长短时神经网络识别模型,损失函数中λ的取值,通过在模型训练时设置不同的取值,比较在测试集中的各个评价指标,来选取合适的值。本文通过对比测试集的评价指标,选取经验值λ=0.05。 模型其它参数设置见表3。

表3 模型参数设置

4.2 实验及结果分析

4.2.1 基于指纹相似度的舆论倾向识别实验

针对语义指纹阈值选取实验,首先选取一个容量在2000条文本的实验数据集,其中包含200条重复或相似度较高的文本;采用SWFC-SFG文本语义指纹计算方法,然后计算文本语义指纹的汉明距离来计算文本间的语义相似距离,针对实验数据集进行实验,观察在不同阈值下的相似内容检测的查全率和查准率变化,以确定最佳语义相似度距离值。

针对本实验,本文选取1~8共8个距离阈值进行实验,实验结果如图5所示。

图5 不同阈值下的查准率及查全率

文本相似度的判定是为了在遇到与语义指纹库中重复或相似度较高的文本时可以直接从指纹库中获取该文本的舆论倾向,因此该实验中查准率格外重要。由图5可以看出,当阈值大于4之后,查准率开始下降,将会导致误判现象的发生。

为了保证查准率为1,根据图5的实验结果可以确定最佳的阈值距离为4,即当待测文本与语义指纹库中存在语义距离小于5时,就可以判断两文本具有相同的敏感舆论倾向,因而就可以直接从指纹库中获取其舆论倾向,以减少不必要的预测时间开销。

4.2.2 舆论倾向识别效率对比实验

为了进一步验证本文方法的高效性,将本文方法MTL-SA-LSTM、本文方法结合语义指纹+MTL-SA-LSTM、文献[15]的方法在不同数据量下的检测耗时进行了对比实验,实验结果如图6所示。

图6 不同方法检测耗时对比

从图6可以看出,本文方法相对于文献[15]在相同数据量下检测耗时较小。文献[15]将敏感舆论倾向识别割裂成两个任务,先进行敏感舆论的识别,在此基础上进行舆论倾向的识别工作,不仅需要训练两个分类器,而且分成两步进行,对于涉及敏感舆论的文本需要经过两个分类器进行识别;而本文方法训练一个模型,同时识别敏感舆论的舆论倾向,进一步节省时间,说明多任务学习有助于提高敏感舆论倾向的识别效率。

并且从图6可以看出本文方法结合语义指纹又进一步减小了检测时间开销,对于敏感舆论倾向数据集进行分析,其中包含很多重复或相似度较高的文本,因此利用语义指纹技术快速识别此类文本,避免了模型识别时间开销。图6可以说明多任务学习和语义指纹技术都有助于提高敏感舆论倾向的识别效率。

4.2.3 基于深度学习的舆论倾向识别实验

为了验证本文方案的准确性,将本文方法与朴素贝叶斯、SVM、KNN等传统机器学习算法进行对比,实验的结果如图7所示。

图7 本文方法与传统机器学习分类算法实验对比

通过对比其查准率、查全率及F值作为不同方法性能的评价指标。查准率即在所有我们预测为正向敏感舆论倾向文本中,实际上确实为正向敏感舆论倾向的百分比,越高越好。查全率即在所有实际上为准确正向敏感舆论倾向文本中,成功预测为正向敏感舆论倾向的百分比,越高越好。从图7不难看出,在相同的数据集下,本文方法在各方面都要优于传统机器学习分类算法。

为了进一步验证本文方法的有效性,将本文方案与单任务神经网络LSTM、文献[15](顺序识别两个任务)、文献[18](LSTM-attention)等深度学习分类方法在相同的数据集下进行对比实验,通过比较其查全率、查全率和F值来进一步说明本文方法的有效性。实验结果如图8所示。

图8 本文方法与深度学习分类算法实验对比

从图8可以看出结合自注意力机制的文献[18]的方法识别效果优于传统长短时神经网络模型;本文基于多任务学习结合注意力机制的方法识别效果优于文献[18]的单任务学习结合注意力机制的方法,且优于文献[15]的分两步识别敏感舆论倾向的方法。从图8可以看出,自注意力机制和多任务学习方法都有助于提高敏感舆论倾向识别的准确性。

5 结束语

为了对意见领袖的舆论倾向进行快速精准的检测,本文提出了采用多任务学习方法,同时对敏感舆论和意见领袖的敏感舆论倾向进行识别,在实现“一箭双雕”的同时,通过任务间的相互支持有效提高识别效果,同时提升敏感舆论倾向的识别效率;并且在神经网络中增加自注意力层,学习不同位置词语对于敏感舆论倾向识别的重要程度,突显出其中主要词语对识别结果的影响,进一步提升识别准确率;同时本文采用了语义指纹技术,通过语义指纹技术可以快速识别高度相似或重复的文本,进一步提高了识别效率。实验结果表明,本文提出的方法不仅提高了识别准确率,而且识别效率也有了很大的提升。

由于敏感舆论倾向涉及领域比较广,模型的效果比较依赖数据集,因此更加全面地收集相关敏感词及扩充训练数据集是进一步提高识别效果的有效方法。

猜你喜欢
多任务指纹舆论
像侦探一样提取指纹
为什么每个人的指纹都不一样
基于中心化自动加权多任务学习的早期轻度认知障碍诊断
阿桑奇突然被捕引爆舆论
基于判别性局部联合稀疏模型的多任务跟踪
突发事件的舆论引导
基于多任务异步处理的电力系统序网络拓扑分析
基于自适应稀疏变换的指纹图像压缩
一类完全由内积构造的多任务核的几个性质
可疑的指纹