CN116244441A - 一种基于多任务学习的社交网络攻击性言论检测方法 - Google Patents
一种基于多任务学习的社交网络攻击性言论检测方法 Download PDFInfo
- Publication number
- CN116244441A CN116244441A CN202310255795.XA CN202310255795A CN116244441A CN 116244441 A CN116244441 A CN 116244441A CN 202310255795 A CN202310255795 A CN 202310255795A CN 116244441 A CN116244441 A CN 116244441A
- Authority
- CN
- China
- Prior art keywords
- features
- task
- language
- statistical
- offensiveness
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 85
- 230000008451 emotion Effects 0.000 claims abstract description 82
- 238000004458 analytical method Methods 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000002372 labelling Methods 0.000 claims abstract description 15
- 239000013598 vector Substances 0.000 claims description 107
- 238000000605 extraction Methods 0.000 claims description 51
- 230000006870 function Effects 0.000 claims description 31
- 238000012549 training Methods 0.000 claims description 27
- 230000014509 gene expression Effects 0.000 claims description 24
- 230000007246 mechanism Effects 0.000 claims description 20
- 230000004913 activation Effects 0.000 claims description 14
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 5
- 238000013480 data collection Methods 0.000 claims description 5
- 230000002996 emotional effect Effects 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 4
- 241000590419 Polygonia interrogationis Species 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000007935 neutral effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 11
- 238000002474 experimental method Methods 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000011160 research Methods 0.000 description 6
- 230000016571 aggressive behavior Effects 0.000 description 5
- 238000013145 classification model Methods 0.000 description 5
- 238000002679 ablation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000009193 crawling Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000036651 mood Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 241000989913 Gunnera petaloidea Species 0.000 description 1
- 206010020400 Hostility Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009395 breeding Methods 0.000 description 1
- 230000001488 breeding effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000004622 sleep time Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000014599 transmission of virus Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000009278 visceral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Primary Health Care (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于多任务学习的社交网络攻击性言论检测方法,通过构建攻击性言论词典,采集微博平台中大量的推文数据,并依据制定的标注规则对部分数据进行了严格的人工标注,构建一个较为完善的中文攻击性言论数据集;并通过对收集到的样本数据进行分析,提取包括情感特征、内容特征、传播特征三个类别在内的统计特征;且构建基于多任务学习的攻击性言论检测模型,引入辅助任务情感分析,利用两个任务之间的高度相关性提升攻击性言论检测模型的检测效果。本发明提出的模型在攻击性言论检测问题上的效果优于其他常用的检测方法,为将来面向社交网络的攻击性言论检测提供了方法和思路。
Description
技术领域
本发明涉及计算机科学与技术中的网络安全技术领域,具体为一种基于多任务学习的社交网络攻击性言论检测方法。
背景技术
随着互联网和移动互联网技术的快速发展,人与人之间的沟通方式正在悄然发生变化,社交网络的使用呈现指数级增长。人们热衷于在互联网上获取信息,发表言论,表达自己的立场和观点。由于网络的普及,各种社交网络平台都在不断地进行更新迭代。对人们来说,分享与获取信息的渠道变得更加广泛,成本也更加低廉。社交网络的影响力也随之增大,甚至可与传统媒体相媲美。国内外的许多在线平台都拥有庞大的用户群体。
然而,作为表达意见和感受的特殊场所,社交网络也被用来传达敌意及发表其他不良言论,高速的信息传播为社交网络中不良言论的产生和蔓延提供了滋生环境。社交网络使不良言论得以广泛性的、病毒式的传播,以极端形式表达的言语暴力在网络中疯狂扩散。其中,以攻击性言论为典型,其泛滥传播会极大程度的污染网络环境。因此,合理利用社交媒体数据研究开发深度学习模型对攻击性言论进行检测,防止攻击性言论的滥用,有助于遏制网络乱象滋生蔓延,构建清朗的网络空间,维护互联网的和谐生态,对个人、平台和国家都具有重要意义。
目前现有的大部分攻击性言论检测研究工作基于的数据集均为英文数据集,且其所针对的平台大多为国外社交平台,缺少针对中文公开数据集研究。现有针对中文的研究局限于脏话的检测与改写方面,缺少针对攻击性言论检测方面的研究。因此,本发明针对此问题提出了一种基于多任务学习的社交网络攻击性言论检测方法。
发明内容
针对上述问题,本发明的目的在于提供一种基于多任务学习的社交网络攻击性言论检测方法,通过多任务学习引入外部知识,用相关的辅助任务情感分析及其数据集来辅助主任务攻击性言论检测进行训练,并在模型中融入统计特征,可有效地检测社交网络平台上的攻击性言论。技术方案如下:
一种基于多任务学习的社交网络攻击性言论检测方法,包括以下步骤:
步骤1:数据收集与标注
选取特定社交网络平台作为数据来源,使用攻击性相关词语构建攻击性词典,根据词典中的关键词利用Web爬虫来获取数据,并完成数据的标注;
步骤2:特征提取
分析并提取攻击性言论的特征,并为每一条攻击性言论生成特征向量,包括语义特征向量和统计特征向量;推文对应的上下文相关的语义特征向量是采用BERT中文预训练模型训练生成;统计特征向量是通过提取情感特征、内容特征和传播特征三个类别的统计特征,并进行拼接而生成;
步骤3:构建检测模型
采用MMoE(Multi-gate Mixture-of-Experts)多任务学习框架,将攻击性言论检测作为主任务,情感分析作为辅助任务同时进行学习,并利用BERT(BidirectionalEncoder Representation from Transformers)、Bi-LSTM(Bi-Directional Long Short-Term Memory)和注意力机制,对所述社交网络平台的攻击性言论进行检测。
进一步的,所述步骤1具体包括:
步骤1.1:攻击性词典构建
参考语料库Hurtlex、中文敏感词库、Badwords、中英文敏感词库,筛选形成攻击性词典;步骤1.2:爬虫实现
基于Python编写爬虫,使用Requests库和lxml库,分别处理访问网络资源和解析HTML文档,并使用Requests第三方库模拟登陆并保存Session会话,从而获取所述社交网络平台的推文数据;
步骤1.3:数据标注
根据攻击性言论的定义,对数据集进行标注,从而构建攻击性言论数据集。
更进一步的,步骤2中统计特征的提取具体包括:
步骤2.1:情感特征的提取
1)情感值:调用现有的应用程序编程接口对推文进行情感分析,结果参数中的sentiment表示情感极性分类结果,0表示情感极性为负向,1表示情感极性为中性,2表示情感极性为正向;
2)正面表情符号/负面表情符号的数量:将平台自带的表情自动变化为表情名称,并使用Python的第三方库emoji将emoji表情符号转换为具有相似含义的词;然后计算推文中正面表情符号/负面表情符号的数量,将其作为判断推文是否具有攻击性的特征之一;
步骤2.2:内容特征的提取
1)计算推文所有的标点符号中问号与感叹号的占比,然后将其作为判断推文是否具有攻击性的特征之一;
2)判断发表的推文是否标记位置,将其作为判断推文是否具有攻击性的特征之一;步骤2.3:传播特征的提取
将点赞数、评论数、转发数作为判断推文是否具有攻击性的特征之一。
更进一步的,所述步骤3中检测模型包括输入层,情感知识共享层、统计特征提取模块、特征拼接模块、注意力层和输出层;
1)输入层
输入层包括两个部分,第一部分针对攻击性言论检测任务及情感分析任务,将经过预处理的推文文本I={I1,I2,...,In}作为输入,并使用BERT模型工具对其做令牌化处理得到向量E={E1,E2,...,En},使其格式符合BERT的输入;第二部分针对攻击性言论检测任务,首先对目标推文的相关信息进行处理,提取出包括情感特征、内容特征和传播特征在内的三类统计特征,然后送入BP神经网络进行学习,将其转化为与语义特征具有相同维度的统计特征向量;
2)情感知识共享层
情感知识共享层将攻击性言论检测作为主任务,情感分析作为辅助任务,利用MMoE多任务学习框架,融合BERT与Bi-LSTM得到推文的语义特征向量;多任务学习框架采用共享底层结构,不同的任务之间共享底层隐藏层;
情感知识共享层包括共享词嵌入模块和共享语义特征提取模块;
共享词嵌入模块使用BERT模型作为推文词嵌入提取器,其用于训练并生成同时适用于主任务攻击性言论检测数据与辅助任务情感分析数据的词嵌入;
共享语义特征提取模块使用多个由Bi-LSTM网络构成的特征提取单元,并使用门控注意力机制对特征进行融合得到最终的语义特征向量,从而提取主任务与辅助任务之间相同的特征;
3)统计特征提取模块
统计特征提取模块针对攻击性言论检测任务,将从推文中提取得到的情感特征、内容特征和传播特征拼接起来得到目标推文的统计特征,然后将其进行归一化和正则化处理后送入到反向传播神经网络中,对特征之间的隐含关系进行学习;且反向传播神经网络还将统计特征转化为与语义特征具有相同维度的向量,从而使其为攻击性言论检测提供等量的特征信息;
4)特征拼接模块
特征拼接模块针对攻击性言论检测任务,将提取出的语义特征与统计特性拼接得到推文的特征向量;
5)注意力层
注意力层针对攻击性言论检测任务,将特征拼接模块得到的特征向量送入到注意力机制中;
6)输出层
输出层输出目标推文是否为攻击性言论的检测结果。
更进一步的,所述步骤3中对攻击性言论检测的过程包括:
步骤3.1:经过预处理的推文文本I={I1,I2,...,In}经过令牌化处理后得到向量E={E1,E2,...,En},如下式所示
E=Tokenize(I) (1)
步骤3.2将向量E输入至BERT模型,从而得到词嵌入表示W={W1,W2,...,Wn}。其中,W为维度为n×h的向量,n为词序列长度,h为词向量维度。如下式所示:
W=BERT(E) (2)
步骤3.3:将提取到的词嵌入W输入到基于Bi-LSTM的特征提取单元中,得到专家网络的输出结果fi(W)={h1,h2,...,ht},i=1,2,3,t为网络中隐含节点的个数,hr的计算方式为:
步骤3.4:门控网络利用输入的词嵌入和Softmax激活函数生成不同的专家组合权重,从而允许不同的任务以不同的权重利用专家网络的结果,如下式所示:
gk(W)=softmax(wgk×W) (6)
其中,wgk表示可更新的参数矩阵,k表示特定门,对应不同任务,gk(W)表示特定任务利用专家网络的权重;
步骤3.5:将生成的权重应用到专家网络的输出结果上,如下式所示:
其中,m表示专家网络的个数,即特征提取单元的个数,Hk表示特定任务对应的语义特征向量,fk(W)表示特定任务通过专家网络后的输出,gk(W)j表示特定任务利用专家网络不同特征提取单元的权重,fj(W)表示专家网络中不同特征提取单元的输出;
步骤3.6:将从推文中提取出的统计特征向量化,并对其做正则化和归一化处理,将其拼接成一维向量,如下式所示:
V′f=Normalize(Vf) (9)
其中,Vs表示情感特征,Vc表示内容特征,Vp表示传播特征,Vf表示拼接特征,Normalize()表示正则化和归一化,V′f表示将拼接特征经过正则化和归一化之后的结果;
将处理得到的统计特征送入BP神经网络,通过其全连接层转化为与语义特征具有相同维度的统计特征向量,如下式所示:
S=f(wf×V′f+bf) (10)
其中,wf表示参数矩阵,bf表示偏置项,f()表示激活函数,S为统计特征向量;
步骤3.7:拼接语义特征向量H与统计特征向量S得到目标推文的特征向量F,如下式所示:
步骤3.8:计算查询与键的相关性得到注意力分数,如下式所示:
ui=tanh(wwFi) (12)
其中,ww表示参数矩阵;ui表示注意力分数,Fi表示特定任务的特征向量;
再利用Softmax函数将注意力分数做归一化处理得到权重系数αi,如下式所示:
最后根据权重系数对值进行加权求和,作为最终输出的特征表示,如下式所示:
其中,键与值相同,均为Fi;Ff表示最终输出的特征表示;
步骤3.9:对于攻击性言论检测任务,将语义特征与统计特征拼接起来并经过注意力机制对其分配权重后,通过Sigmoid激活函数得到目标推文是攻击性言论的概率,并作为最终的分类结果,如下式所示:
po=Sigmoid(Ff) (15)
其中,po为目标推文是攻击性言论的概率;
对于情感分析任务直接通过Sigmoid激活函数得到最终的分类结果,如下式所示:
ps=Sigmoid(Hs) (16)
其中,ps表示情感分析任务中目标推文通过Sigmoid激活函数得到的最终分类结果,Hs表示情感分析任务中目标推文的语义特征向量。
更进一步的,所述输入层输入的文本序列以[CLS]开头,[SEP]作为句子分割,转化得到的BERT的输入表示由三部分相加得到,分别是目标词嵌入、段嵌入和位置嵌入;其中,目标词嵌入是与上下文表示无关的向量;段嵌入用于区分输入的文本序列是单句还是多句;位置嵌入用来表示词序列中对应词的位置信息。
更进一步的,所述检测模型训练目标是最小化损失函数,选择交叉熵函数作为损失函数,其定义如下式所示:
其中,yi为标签值,y′i为预测值,N表示总的类别数,loss表示损失函数的值。
本发明的有益效果是:本发明通过构建攻击性言论词典,采集网络平台中大量的推文数据,并依据制定的标注规则对部分数据进行了严格的人工标注,构建一个较为完善的中文攻击性言论数据集;并通过对收集到的样本数据进行分析,提取包括情感特征、内容特征、传播特征三个类别在内的统计特征;且构建基于多任务学习的攻击性言论检测模型,引入辅助任务情感分析,利用两个任务之间的高度相关性提升攻击性言论检测模型的检测效果;本发明提出的模型在攻击性言论检测问题上的效果优于其他常用的检测方法,为将来面向社交网络的攻击性言论检测提供了方法和思路。
附图说明
图1为本发明基于多任务学习的社交网络攻击性言论检测方法的整体框架图。
图2为本发明MBBA(MMoE+BERT+Attention)模型结构图。
图3为本发明MBBA模型消融结果对比图。
图4为不同词嵌入模型的表现对比图。
图5为不同的检测模型和MBBA模型的表现对比图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细说明。
发明基于多任务学习的社交网络攻击性言论检测方法的整个框架主要包含三个部分:数据收集与标注、特征提取、检测模型,如图1所示。
(1)数据收集与标注:在这一部分中,本发明选取某网络平台作为数据来源,使用攻击性相关词语构建攻击性词典,根据词典中的关键词利用Web爬虫来获取数据,并完成了数据的标注。这一部分中构建的攻击性言论数据集为本发明提供了数据支撑。
(2)特征提取:在这一部分中,核心工作是分析并提取攻击性言论的特征,并为每一条攻击性言论生成特征向量。在语义特征方面,本发明采用BERT中文预训练模型,生成推文对应的上下文相关的语义特征向量。此外,在统计特征方面,本发明提取了情感特征、内容特征、传播特征三个类别的统计特征,并将其进行拼接得到推文的统计特征向量。
(3)检测模型:在这一部分中,本发明采用Google提出的MMoE多任务学习框架,将攻击性言论检测作为主任务,情感分析作为辅助任务同时进行学习,为攻击性言论的检测提供更多的特征信息。并利用了BERT、Bi-LSTM和注意力机制,对来自某网络平台的攻击性言论进行高效的检测。
1.数据收集与标注
在数据采集过程中,以某网络平台作为数据来源,采集对象为该网络平台上具有攻击性的推文及正常推文,使用攻击性相关词语构建攻击性词典,根据词典中的关键词构建爬虫对该网络平台进行爬取,爬取时间跨度为“2021年1月1日”至“2021年12月31日”。其目的字段包括该网络平台文本、发布者、转发/评论/点赞数等。
1.1.数据采集
(1)攻击性词典构建
在攻击性言论检测任务中,数据集由两类数据构成:攻击性言论及正常言论。由于平台本身存在一定的过滤规则以及相关举报机制,攻击性言论在整个平台中分布非常稀疏。因此,如果直接采集大量网络平台推文并从中进行筛选,很难获得所需数据。而攻击性言论通常包含有攻击性词汇,能够在一定程度上对攻击性言论进行汇集,所以本发明通过构造攻击性词典,并基于关键词对网络平台进行爬取,从而构成本发明中的数据集。
其中,参考语料库Hurtlex、中文敏感词库、Badwords、中英文敏感词库,筛选并形成了攻击性词典。在将网络平台采取屏蔽处理的关键词进行剔除后,最终形成了攻击性词典。
(2)爬虫实现
在数据采集与标注模块中,本实施例的爬虫基于Python编写,主要使用Requests库和lxml库,分别处理访问网络资源和解析HTML文档,并使用Requests第三方库模拟登陆并保存Session会话,从而获取该网络平台推文数据。
本发明爬虫模块需要解析的内容较多,几乎所获取的数据中的每一个字段都需要单独的代码块来进行解析。该模块使用lxml库解析得到包括用户ID、推文内容、时间等所需信息,获取大量该网络平台推文数据。
此外,由于该网络平台对频繁访问的限制,本爬虫借助sleep()函数设置休眠时间,从而限制了页面访问的频率。
1.2.数据的标注
攻击性言论是一种复杂的语言现象,对攻击性言论做出明确定义在对其进行自动识别的任务中是极其重要的一个环节。本发明结合相关研究结果中的标注建议以及国内外几个大型在线社交媒体平台的社区规范条例,从中筛选并进行了一定的补充,最终形成了攻击性言论的定义。
在进行数据集标注时使用以下标准,满足以下标准中其一即将其定为攻击性言论:
1)毫无依据地批评、发表敌对性言论。
2)以个人或群体为攻击对象的人身攻击、辱骂、贬低、亵渎等。
3)发表对具有以下类别个体或群体的带有歧视、侮辱、讽刺、仇恨、挖苦等带有偏见性质的言论:
a)国籍、地域;
b)民族、种族、宗教信仰;
性别、年龄、身材;
c)地域、民俗文化;
d)性别认同、性倾向;
e)严重疾病、残疾;
f)其他生理、心理等特征。
4)表达威胁、诅咒、恐吓等,尤其是死亡威胁。
若以上标准均不满足,则为正常言论。
最终,为本发明构建了一个攻击性言论数据集,其描述如表1所示。
表1攻击性言论数据集描述
2.统计特征提取
在统计特征提取模块中,通过对攻击性言论和正常言论的相关数据进行研究和分析,提取包含情感特征、内容特征和传播特征三个类别在内的统计特征,然后通过反向传播(Back Propagation,BP)神经网络生成统计特征向量。本发明提取的统计特征如表2所示。
表2统计特征列表
2.1.情感特征
相比于正常言论,用户在发表攻击性言论时往往伴随有强烈的负面情绪,所以攻击性言论的情感极性往往倾向于负面。此外,推文中所含的表情对推文的情感倾向有重要的参考价值。
情感值:用户在发表攻击性言论时,往往伴随有“不满”、“愤怒”等负面情绪,情感特征对于攻击性言论的检测具有重要意义。调用百度的API对推文进行情感分析,结果参数中的sentiment表示情感极性分类结果,0表示情感极性为负向,1表示情感极性为中性,2表示情感极性为正向。
正面表情符号/负面表情符号的数量:该网络平台推文作为社交媒体中的短文本,含有大量表情,对推文的情感倾向有重要的参考价值。推文中的表情符号大致可以分为两种,一种是由该网络平台开发并提供的表情,另外一种是emoji表情。对于该网络平台平台的表情,其在采集时会自动变化为表情名称,如[笑哈哈]。对于emoji表情,使用Python的第三方库emoji将emoji表情符号转换为具有相似含义的词。从而计算推文中正面表情符号/负面表情符号的数量,然后将其作为判断文本是否具有攻击性的特征之一。
2.2.内容特征
推文的内容特征考虑推文中除了文本本身之外的其他信息对攻击性言论检测任务有所帮助的信息。
a.“?”与“!”比例:当用户发表攻击性言论时,语气往往较为激烈。具体体现在推文中表现为,用于强调语气的问号与感叹号等标点符号在所有标点符号中的占比会高于句号等表达陈述语气的标点符号。因此,计算推文所有的标点符号中问号与感叹号的占比,然后将其作为判断文本是否具有攻击性的特征之一。
b.是否包含定位:相比于相对私人的社交网络,人们更倾向于在具有一定匿名性的通信环境中发表攻击性言论。因此,用户通常不希望在发表攻击性推文时标记位置来降低匿名性。
2.3.传播特征
推文的传播特征考虑推文的评论数量、被转发数量、点赞数量等与攻击性言论传播相关的特征。由于在爬取数据时将爬虫设定为仅爬取原创推文,这里不再考虑推文是否为转发推文。在某种程度上,推文的传播特征可以反映出目标推文的传播热度及传播方式。
点赞数/评论数/转发数:在网络平台上,用户可以对感兴趣的推文进行点赞、评论和转发,这些行为的统计数量在一定程度上可以表现出其他用户对目标推文的关注程度。针对某一特定群体或公众人物的热门话题等的攻击性言论通常会引起更多用户的关注。因此,部分攻击性推文的点赞数、评论数、转发数会高于正常推文,可将其作为特征辅以攻击性言论的检测。
3.检测模型
本发明设计一个基于多任务学习的深度学习模型MBBA来进行某网络平台攻击性言论检测。该模型基于BERT预训练模型构建词嵌入,采用MMoE多任务学习框架与情感分析任务同时进行训练以引入有用的外部知识,并融合了Bi-LSTM网络与注意力机制,同时将统计特征与语义特征进行结合,能够有效地检测该网络平台上的攻击性言论。具体模型结构如图2所示。
3.1.输入层
模型的输入层主要由两部分组成,分别是经过预处理的目标推文文本以及从目标推文提取到的统计特征。模型最终的输出为该推文为攻击性言论的概率。
输入层的第一部分针对攻击性言论检测任务及情感分析任务,将经过预处理的推文文本I={I1,I2,...,In}作为输入。其中,推文的预处理包括去除表情符号、网页链接、特殊符号、异国文字等工作。将n设置为最大序列长度(max_seq_len),然后对推文进行短填长切的处理,即将超过n个字的部分舍去,不足做补0处理,则经过预处理后的推文Ii包含n个字。然后使用HuggingFace开源的BERT模型工具对其做令牌化处理,使其格式符合BERT的输入。输入的文本序列以[CLS]开头,[SEP]作为句子分割,然后将其转化为BERT的输入表示E={E1,E2,...,En}。该输入表示由三部分相加得到,分别是目标词嵌入(TokenEmbeddings)、段嵌入(Segment Embeddings)和位置嵌入(Position Embeddings)。其中,目标词嵌入是与上下文表示无关的向量;段嵌入也称分割嵌入,用于区分输入的文本序列是单句还是多句;位置嵌入用来表示词序列中对应词的位置信息。将文本进行令牌化处理后得到的向量包含了词向量信息及该词在文本序列中的位置信息。接着将这部分输入送入情感知识共享层中的共享词嵌入模块中,对上下文相关的字嵌入特征进行提取。
输入层的第二部分针对攻击性言论检测任务,通过对目标推文的相关信息进行处理,提取出包括情感特征、内容特征、传播特征在内的三类统计特征,然后送入BP神经网络进行学习,将其转化为与语义特征具有相同维度的统计特征向量。
3.2.情感知识共享层
在情感知识共享层中,将攻击性言论检测作为主任务,情感分析作为辅助任务,利用MMoE多任务学习框架,融合BERT与Bi-LSTM得到推文的语义特征向量,包括共享词嵌入模块和共享语义特征提取模块。其中,利用共享词嵌入模块来训练并生成同时适用于主任务攻击性言论检测数据与辅助任务情感分析数据的词嵌入,利用共享特征提取模块来提取主任务与辅助任务之间相同的特征。多任务学习框架采用共享底层结构,不同的任务之间共享底层隐藏层,这种结构可以从根本上减少过拟合的风险。
共享词嵌入模块使用BERT模型作为推文词嵌入提取器。随着大规模预训练语言模型的出现,尤其是BERT模型的出现极大地促进了NLP领域的发展,在多项NLP的下游任务中取得了State-of-the-Art的表现。首先,主任务攻击性言论检测与辅助任务情感分析之间存在较大的相关性,两者均采用来自同一社交平台的数据集。在共享词嵌入模块中使用数据源相同的数据集,在同时对数据提取词嵌入时,不会因为数据域差别过大而导致训练失效。此外,将不同任务的数据联合进行共享词嵌入能够使最终得到的词嵌入表示适配多个任务。与经典的词嵌入模型,例如Word2Vec等相比,BERT生成的是语境相关的词向量,可以得到更加准确的特征表示。并且BERT模型在大规模的无监督语料库中经过了预训练,可以额外为训练数据添加更多的外部信息,因此最后生成的词向量所包含的特征更加丰富。
具体来说,经过预处理的推文文本I={I1,I2,...,In}经过令牌化处理后得到E={E1,E2,...,En},然后输入至BERT模型,从而得到词嵌入表示W={W1,W2,...,Wn}。其中,W是维度为n×h的向量,n为词序列长度,h为词向量维度,BERT模型中h通常为768维。如公式(1)与公式(2)所示。
E=Tokenize(I) (1)
W=BERT(E) (2)
共享语义特征提取模块受到MoE层和和多门专家混合结构(Multi-gate Mixture-of-Experts,MMoE)模型的启发,使用多个特征提取单元,并使用门控注意力机制来融合特征。MoE层有多个相同的特征提取单元,这些单元共享上一层的输出作为输入,并输出到后续的层,整个模型以端到端的方式进行训练。
这里的特征提取单元由Bi-LSTM网络构成。Bi-LSTM网络最大的优点是具有“记忆”功能,可以同时从上文信息及下文信息中学习到序列的特征。选用Bi-LSTM作为特征提取单元对推文文本进行进一步的特征提取,一是由于攻击性言论检测任务注重序列信息的提取,二是由于其能够从有限的上下文中提取信息,综合得到特征,且能够避免RNN模型在学习长期依赖关系时造成的梯度消失问题。
然后通过门控注意力机制对特征进行融合得到最终的语义特征向量。门控注意力可以学习根据不同的输入,选择特征提取单元的子集并使用。每个任务都对应有一个门,对于不同任务,模型的权重选择不同。特定门k的输出表示选择不同特征提取单元的概率,然后加权求和得到句子的最终表示,并将其传入到各个任务的私有层。
具体来说,模型将提取到的词嵌入W输入到基于Bi-LSTM的特征提取单元中,得到专家网络的输出结果fi(W)={h1,h2,...,ht},i=1,2,3,t为网络中隐含节点的个数,hr的计算方式为如公式(3)至公式(5)所示。
门控网络利用输入的词嵌入和Softmax激活函数生成不同的专家组合权重,从而允许不同的任务以不同的权重利用专家网络的结果,如公式(6)所示。
gk(W)=softmax(wgk×W) (6)
其中,wgk表示可更新的参数矩阵,k表示特定门,对应不同任务。
然后将生成的权重应用到专家网络的输出结果上,如公式(7)所示。
其中,其中,m表示专家网络的个数,即特征提取单元的个数;Hk表示特定任务对应的语义特征向量;fk(W)表示特定任务通过专家网络后的输出;gk(W)j表示特定任务利用专家网络不同特征提取单元的权重;fj(W)表示专家网络中不同特征提取单元的输出。
3.3.统计特征提取模块
统计特征提取模块针对攻击性言论检测任务,将从推文中提取得到的情感特征、内容特征、传播特征拼接起来得到目标推文的统计特征,然后将其进行归一化、正则化等处理后送入到反向传播神经网络中,对特征之间的隐含关系进行学习。此外,反向传播神经网络还可以将统计特征转化为与语义特征具有相同维度的向量,从而使它们为攻击性言论检测提供等量的特征信息。
具体来说,首先将从推文中提取出的统计特征向量化,然后对其做正则化、归一化等处理,将其拼接成一维向量。如公式(8)及公式(9)所示。
V′f=Normalize(Vf) (9)
其中,Vs表示情感特征,Vc表示内容特征,Vp表示传播特征,Vf表示拼接特征,Normalize()表示正则化和归一化,V′f表示将拼接特征经过正则化和归一化之后的结果。
然后将处理得到的统计特征送入BP神经网络,通过其全连接层转化为与语义特征具有相同维度的统计特征向量,如公式(10)所示。
S=f(wf×V′f+bf) (10)
其中,wf表示参数矩阵,bf表示偏置项,f(·)表示激活函数,S为统计特征向量。
3.4.特征拼接模块
特征拼接模块针对攻击性言论检测任务,将提取出的语义特征与统计特性拼接得到推文的特征向量。统计特征从全局的角度出发,通过特殊符号、文本格式等得到文本的全局属性。因此,利用统计特征获得全局属性,利用语义特征得到语义属性,将两者结合起来能够更好地表现出数据在特征空间中的分布情况,进而使得模型的分类性能得到提高与改善。
具体来说,拼接语义特征H与统计特征S得到目标推文的特征向量F,如公式(11)所示。
3.5.注意力层
注意力层针对攻击性言论检测任务,将特征拼接模块得到的特征向量送入到注意力机制中。当用户发表攻击性言论时,往往含有强烈的负面情绪,语言中通常包含一些具有侮辱性与攻击性的词汇。因此,注意捕捉句子中的攻击性词语有助于提高攻击性言论的检测水平。通过注意力机制来对对攻击性言论分类起重要作用的词和特征进行自动捕捉,并对句子中关键性的语义信息进行自动捕获,从而提升攻击性言论检测的效果。
具体来说,首先计算查询与键的相关性得到注意力分数,如公式(12)所示。其中,ww表示参数矩阵。
ui=tanh(wwFi) (12)
然后利用Softmax函数将注意力分数做归一化处理得到权重系数αi,如公式(13)所示。其中,ui表示Fi的中间隐藏层向量,即上文所提到的注意力分数,uw是随机初始化的向量,在训练中自动更新,表示ui的转置。
最后,根据权重系数对值进行加权求和,作为最终输出的特征表示,如公式(14)所示。在这里,键与值相同,均为Fi。
3.6.输出层
对于攻击性言论检测任务,将语义特征与统计特征拼接起来并经过注意力机制对其分配权重后,通过Sigmoid激活函数得到目标推文是攻击性言论的概率,并作为最终的分类结果,如公式(15)所示。
po=Sigmoid(Ff) (15)
对于情感分析任务,由于其仅作为本研究的辅助任务,在与攻击性言论检测任务共同训练得到语义特征后,不再进行后续其他处理,直接通过Sigmoid激活函数得到最终的分类结果,如公式(16)所示。
ps=Sigmoid(Hs) (16)
模型的训练目标是最小化损失函数。交叉熵损失函数可以衡量实际的输出分布与期望中输出分布之间的差异,适用于分类模型。选择交叉熵函数作为损失函数,其定义如公式(17)所示。
其中,yi为标签值,y′i为预测值,N表示总的类别数,loss表示损失函数的值。
4.实验验证
本发明通过设计三个实验来评估MBBA模型的攻击性言论检测效果。所有实验在Apple M1Pro环境下进行。数据集为本项目收集的攻击性言论数据集及公开的情感分析数据集,其中攻击性言论数据集共包含3,914条攻击性推文和12,503非攻击性推文。实验中划分谣言数据集的80%作为训练集,10%作为验证集,10%作为测试集。每次实验均重复10次取平均值作为最终结果。
4.1.评估多任务学习框架各部分的有效性
为了验证MMoE多任务学习框架各部分的有效性,设计消融实验来分析模型的不同部分对于实验结果的影响。选取准确率、精确率、召回率以及Macro-F1值作为对比指标。本实验中涉及的模型详细信息如下:
1)MBBA\S:不引入情感分析作为辅助任务,即消减情感知识共享,仅使用攻击性言论数据集进行训练。
2)MBBA\G:消减MMoE框架中的门控注意力机制。
3)MBBA:本发明提出的完整模型。
实验结果如图3、表3所示。总体而言,MBBA完整模型的性能最好,在所有评价指标中表现最优。将MBBA\S与MBBA模型进行对比可以发现,当消减情感分析作为辅助任务时,模型由于无法学习到外部的情感知识,失去了多任务学习能够有效地利用多个任务之间的相关性来提高模型在每个任务中的性能和泛化能力的优势,导致模型性能有所下降。将MBBA\G与MBBA模型进行对比可以发现,当使用门控注意力机制时,模型的性能得到了进一步提升。该机制通过门控网络生成不同的专家权重组合,从而允许不同的任务以不同的权重利用特征提取单元的结果。由于攻击性言论检测任务与情感分析任务具有较高的相关性,因此共享知识对检测效果的提升会有一定的贡献。
表3消融结果对比
模型 | 准确率 | 精确率 | 召回率 | Macro-F1 |
MBBA\S | 0.8404 | 0.6742 | 0.6201 | 0.7757 |
MBBA\G | 0.8306 | 0.6801 | 0.6319 | 0.7889 |
MBBA | 0.8438 | 0.7500 | 0.6667 | 0.8000 |
4.2.评估词嵌入的效果
BERT作为一种在海量语料中训练得到的预训练语言模型,既可以直接将其作为模型进行文本分类任务的训练,也可以仅仅将其作为词向量嵌入层输入到其他模型中进行训练。为了证明将BERT作为嵌入层来训练词向量具有明显的有效性,选择深度学习中常用的文本分类模型来进行对比实验,包括TextCNN、TextRNN、TextRCNN以及TextDPCNN,与BERT-CNN、BERT-RNN、BERT-RCNN以及BERT-DPCNN的实验结果进行比较,选取准确率、精确率、召回率以及Macro-F1值作为对比指标。本实验中涉及的对比模型详细信息如下:
1)TextCNN:基于CNN的文本分类模型。使用Word2Vec获得输入的词向量,以此作为卷积神经网络的输入为分类任务捕获文本语义。
2)TextRNN:基于RNN的文本分类模型。LSTM是RNN的一种,弥补了传统RNN梯度消失或梯度爆炸等问题。
3)TextRCNN:使用Bi-LSTM提取词的前向及后向语义信息,然后利用最大池化层来筛选有用的特征信息。
4)TextDPCNN:一种新型的CNN结构。TextCNN无法通过卷积操作获取长距离的依赖关系,DPCNN通过增加网络深度,在不增加太多运算开销的情况下,可以有效地提取文本中的长距离关系特征。
实验结果如表4、图4所示。BERT使用Transformer作为特征抽取器,在语义特征提取方面具有明显的优势。从实验结果可以看出,使用BERT作为嵌入层训练词向量,可以有效地优化输入文本的向量表达,从而获得更好的训练结果。与TextCNN相比,BERT_CNN的F1值提升了0.7%;与TextRNN相比,BERT-RNN的F1值提升了3.4%;与TectRCNN相比,BERT-RCNN的F1值提升了1.9%;与TextDPCNN相比,BERT-DPCNN的F1值提升了3.3%。这是由于BERT模型可以利用字的上下文信息来捕获恰当的词语含义,而非对不同语境中带有不同含义的字均使用相同的表示形式,是一种语境相关的词嵌入表示,在语义特征抽取方面有着明显的优势。
表4不同词嵌入模型的表现
模型 | 准确率 | 精确率 | 召回率 | Macro-F1 |
TextCNN | 0.8385 | 0.7187 | 0.5830 | 0.7701 |
TextRNN | 0.8091 | 0.6590 | 0.4923 | 0.7213 |
TextRCNN | 0.8184 | 0.6583 | 0.5680 | 0.7452 |
TextDPCNN | 0.8263 | 0.7820 | 0.4223 | 0.7214 |
BERT-CNN | 0.8294 | 0.6799 | 0.6000 | 0.7629 |
BERT-RNN | 0.8244 | 0.6715 | 0.5825 | 0.7546 |
BERT-RCNN | 0.8256 | 0.6588 | 0.6275 | 0.7637 |
BERT-DPCNN | 0.8206 | 0.6548 | 0.5975 | 0.7535 |
4.3.评估提出的检测模型的效果
为了验证本发明提出的基于MMoE多任务学习的攻击性言论检测方法的有效性,选择实验一中表现相对优秀的利用BERT作嵌入层训练词向量的四个模型作为对比。同时,选择纯粹的BERT模型来进行对比。选取准确率、精确率、召回率以及Macro-F1值作为对比指标。本实验中涉及的对比模型详细信息如下:
1)BERT:利用Transformer编码器对目标文本进行特征提取,同时捕获词本身的特征及词在语境中的上下文特征,在自然语言处理领域中的多项下游任务中取得SOTA的优异性能。这里利用BERT模型输出经过Dropout后接入全连接层得到分类结果。
2)BERT-CNN:利用BERT获取词嵌入,TextCNN作为特征提取器。
3)BERT-RNN:利用BERT获取词嵌入,Bi-LSTM作为特征提取器。
4)BERT-RCNN:利用BERT获取词嵌入,采用双向LSTM接TextCNN模型作为特征提取器。
5)BERT-DPCNN:利用BERT获取词嵌入,DPCNN作为特征提取器。
实验结果如表5、图5所示。在所有的模型中,MBBA的综合表现最好,且所有模型的精确率均高于召回率。其中,MBBA模型与大多数对比模型的准确率差别不大,但精确率与Macro-F1值均有明显提升。
精确率越高意味着正确预测为攻击性言论的样本占所有被预测为攻击性言论的样本的比例越大。召回率越高则意味着被正确预测为攻击性言论的样本占所有攻击性言论的样本的比例越大。这表明,对于所有模型而言,很少有正常言论被误判为攻击性言论,但有相对较多的攻击性言论被误判为正常言论。这也表明了攻击性言论的迷惑性使得一般的模型很难有效地将其从正常言论中筛选识别出来。
MBBA模型的效果优于其他以BERT作为词嵌入提取器的模型,这是因为攻击性言论检测任务的数据规模较小,样本较为稀疏,从短文本中能够获取到的上下文是有限的。MBBA通过多任务学习引入了外部知识,用相关的辅助任务情感分析及其数据集来辅助主任务攻击性言论检测进行训练。并且,MBBA模型中融入的统计特征对检测模型效果的提升也具有一定的贡献。
表5不同的检测模型和MBBA模型的表现
模型 | 准确率 | 精确率 | 召回率 | Macro-F1 |
BERT | 0.8269 | 0.6541 | 0.6525 | 0.7690 |
BERT-CNN | 0.8294 | 0.6799 | 0.6000 | 0.7629 |
BERT-RNN | 0.8244 | 0.6715 | 0.5825 | 0.7546 |
BERT-RCNN | 0.8256 | 0.6588 | 0.6275 | 0.7637 |
BERT-DPCNN | 0.8206 | 0.6548 | 0.5975 | 0.7535 |
MBBA | 0.8438 | 0.7500 | 0.6667 | 0.8000 |
综上所述,本发明提出的MBBA模型基于BERT预训练模型构建词嵌入,采用MMoE多任务学习框架与情感分析任务同时进行训练以引入有用的外部知识,并融合Bi-LSTM网络与注意力机制,同时将统计特征与语义特征进行结合,能够有效地检测网络平台上的攻击性言论。因此,本发明的MBBA攻击性言论检测模型在攻击性言论检测问题上取得了优秀的成果。
Claims (7)
1.一种基于多任务学习的社交网络攻击性言论检测方法,其特征在于,包括以下步骤:
步骤1:数据收集与标注
选取特定社交网络平台作为数据来源,使用攻击性相关词语构建攻击性词典,根据词典中的关键词利用Web爬虫来获取数据,并完成数据的标注;
步骤2:特征提取
分析并提取攻击性言论的特征,并为每一条攻击性言论生成特征向量,包括语义特征向量和统计特征向量;推文对应的上下文相关的语义特征向量是采用BERT中文预训练模型训练生成;统计特征向量是通过提取情感特征、内容特征和传播特征三个类别的统计特征,并进行拼接而生成;
步骤3:构建检测模型
采用MMoE多任务学习框架,将攻击性言论检测作为主任务,情感分析作为辅助任务同时进行学习,并利用BERT、Bi-LSTM和注意力机制,对所述社交网络平台的攻击性言论进行检测。
2.根据权利要求1所述的基于多任务学习的社交网络攻击性言论检测方法,其特征在于,所述步骤1具体包括:
步骤1.1:攻击性词典构建
参考语料库Hurtlex、中文敏感词库、Badwords、中英文敏感词库,筛选形成攻击性词典;步骤1.2:爬虫实现
基于Python编写爬虫,使用Requests库和lxml库,分别处理访问网络资源和解析HTML文档,并使用Requests第三方库模拟登陆并保存Session会话,从而获取所述社交网络平台的推文数据;
步骤1.3:数据标注
根据攻击性言论的定义,对数据集进行标注,从而构建攻击性言论数据集。
3.根据权利要求1所述的基于多任务学习的社交网络攻击性言论检测方法,其特征在于,步骤2中统计特征的提取具体包括:
步骤2.1:情感特征的提取
1)情感值:调用现有的应用程序编程接口对推文进行情感分析,结果参数中的sentiment表示情感极性分类结果,0表示情感极性为负向,1表示情感极性为中性,2表示情感极性为正向;
2)正面表情符号/负面表情符号的数量:将平台自带的表情自动变化为表情名称,并使用Python的第三方库emoji将emoji表情符号转换为具有相似含义的词;然后计算推文中正面表情符号/负面表情符号的数量,将其作为判断推文是否具有攻击性的特征之一;
步骤2.2:内容特征的提取
1)计算推文所有的标点符号中问号与感叹号的占比,然后将其作为判断推文是否具有攻击性的特征之一;
2)判断发表的推文是否标记位置,将其作为判断推文是否具有攻击性的特征之一;
步骤2.3:传播特征的提取
将点赞数、评论数、转发数作为判断推文是否具有攻击性的特征之一。
4.根据权利要求1所述的基于多任务学习的社交网络攻击性言论检测方法,其特征在于,所述步骤3中检测模型包括输入层,情感知识共享层、统计特征提取模块、特征拼接模块、注意力层和输出层;
1)输入层
输入层包括两个部分,第一部分针对攻击性言论检测任务及情感分析任务,将经过预处理的推文文本I={I1,I2,...,In}作为输入,并使用BERT模型工具对其做令牌化处理得到向量E={E1,E2,...,En},使其格式符合BERT的输入;第二部分针对攻击性言论检测任务,首先对目标推文的相关信息进行处理,提取出包括情感特征、内容特征和传播特征在内的三类统计特征,然后送入BP神经网络进行学习,将其转化为与语义特征具有相同维度的统计特征向量;
2)情感知识共享层
情感知识共享层将攻击性言论检测作为主任务,情感分析作为辅助任务,利用MMoE多任务学习框架,融合BERT与Bi-LSTM得到推文的语义特征向量;多任务学习框架采用共享底层结构,不同的任务之间共享底层隐藏层;
情感知识共享层包括共享词嵌入模块和共享语义特征提取模块;
共享词嵌入模块使用BERT模型作为推文词嵌入提取器,其用于训练并生成同时适用于主任务攻击性言论检测数据与辅助任务情感分析数据的词嵌入;
共享语义特征提取模块使用多个由Bi-LSTM网络构成的特征提取单元,并使用门控注意力机制对特征进行融合得到最终的语义特征向量,从而提取主任务与辅助任务之间相同的特征;
3)统计特征提取模块
统计特征提取模块针对攻击性言论检测任务,将从推文中提取得到的情感特征、内容特征和传播特征拼接起来得到目标推文的统计特征,然后将其进行归一化和正则化处理后送入到反向传播神经网络中,对特征之间的隐含关系进行学习;且反向传播神经网络还将统计特征转化为与语义特征具有相同维度的向量,从而使其为攻击性言论检测提供等量的特征信息;
4)特征拼接模块
特征拼接模块针对攻击性言论检测任务,将提取出的语义特征与统计特性拼接得到推文的特征向量;
5)注意力层
注意力层针对攻击性言论检测任务,将特征拼接模块得到的特征向量送入到注意力机制中;
6)输出层
输出层输出目标推文是否为攻击性言论的检测结果。
5.根据权利要求1所述的基于多任务学习的社交网络攻击性言论检测方法,其特征在于,
所述步骤3中对攻击性言论检测的过程包括:
步骤3.1:经过预处理的推文文本I={I1,I2,...,In}经过令牌化处理后得到向量E={E1,E2,...,En},如下式所示:
E=Tokenize(I) (1)
步骤3.2:将向量E输入至BERT模型,从而得到词嵌入表示W={W1,W2,...,Wn};其中,W为维度为n×h的向量,n为词序列长度,h为词向量维度,如下式所示:
W=BERT(E) (2)
步骤3.3:将提取到的词嵌入W输入到基于Bi-LSTM的特征提取单元中,得到专家网络的输出结果fi(W)={h1,h2,...,ht},i=1,2,3,t为网络中隐含节点的个数,hr的计算方式为:
步骤3.4:门控网络利用输入的词嵌入和Softmax激活函数生成不同的专家组合权重,从而允许不同的任务以不同的权重利用专家网络的结果,如下式所示:
gk(W)=softmax(wgk×W) (6)
其中,wgk表示可更新的参数矩阵,k表示对应不同任务的特定门,gk(W)表示特定任务利用专家网络的权重;
步骤3.5:将生成的权重应用到专家网络的输出结果上,如下式所示:
其中,m表示专家网络的个数,即特征提取单元的个数;Hk表示特定任务对应的语义特征向量;fk(W)表示特定任务通过专家网络后的输出;gk(W)j表示特定任务利用专家网络不同特征提取单元的权重;fj(W)表示专家网络中不同特征提取单元的输出;
步骤3.6:将从推文中提取出的统计特征向量化,并对其做正则化和归一化处理,将其拼接成一维向量,如下式所示:
V′f=Normalize(Vf) (9)
其中,Vs表示情感特征,Vc表示内容特征,Vp表示传播特征,Vf表示拼接特征,Normalize()表示正则化和归一化,V′f表示将拼接特征经过正则化和归一化之后的结果;
将处理得到的统计特征送入BP神经网络,通过其全连接层转化为与语义特征具有相同维度的统计特征向量,如下式所示:
S=f(wf×V′f+bf) (10)
其中,wf表示参数矩阵,bf表示偏置项,f(·)表示激活函数,S为统计特征向量;
步骤3.7:拼接语义特征向量H与统计特征向量S得到目标推文的特征向量F,如下式所示:
步骤3.8:计算查询与键的相关性得到注意力分数,如下式所示:
ui=tanh(wwFi) (12)
其中,ww表示参数矩阵;ui表示注意力分数,Fi表示特定任务的特征向量;
再利用Softmax函数将注意力分数做归一化处理得到权重系数αi,如下式所示:
最后根据权重系数对值进行加权求和,作为最终输出的特征表示,如下式所示:
其中,键与值相同,均为Fi;Ff表示最终输出的特征表示;
步骤3.9:对于攻击性言论检测任务,将语义特征与统计特征拼接起来并经过注意力机制对其分配权重后,通过Sigmoid激活函数得到目标推文是攻击性言论的概率,并作为最终的分类结果,如下式所示:
po=Sigmoid(Ff) (15)
其中,po为目标推文是攻击性言论的概率;
对于情感分析任务直接通过Sigmoid激活函数得到最终的分类结果,如下式所示:
ps=Sigmoid(Hs) (16)
其中,ps表示情感分析任务中目标推文通过Sigmoid激活函数得到的最终分类结果,Hs表示情感分析任务中目标推文的语义特征向量。
6.根据权利要求4所述的基于多任务学习的社交网络攻击性言论检测方法,其特征在于,所述输入层输入的文本序列以[CLS]开头,[SEP]作为句子分割,转化得到的BERT的输入表示由三部分相加得到,分别是目标词嵌入、段嵌入和位置嵌入;其中,目标词嵌入是与上下文表示无关的向量;段嵌入用于区分输入的文本序列是单句还是多句;位置嵌入用来表示词序列中对应词的位置信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310255795.XA CN116244441A (zh) | 2023-03-16 | 2023-03-16 | 一种基于多任务学习的社交网络攻击性言论检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310255795.XA CN116244441A (zh) | 2023-03-16 | 2023-03-16 | 一种基于多任务学习的社交网络攻击性言论检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116244441A true CN116244441A (zh) | 2023-06-09 |
Family
ID=86627767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310255795.XA Pending CN116244441A (zh) | 2023-03-16 | 2023-03-16 | 一种基于多任务学习的社交网络攻击性言论检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116244441A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662769A (zh) * | 2023-08-02 | 2023-08-29 | 北京数字悦动科技有限公司 | 一种基于深度学习模型的用户行为分析系统及方法 |
CN118332121A (zh) * | 2024-04-24 | 2024-07-12 | 江苏侯曦信息科技有限公司 | 基于多任务学习的前端文本分析方法 |
-
2023
- 2023-03-16 CN CN202310255795.XA patent/CN116244441A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662769A (zh) * | 2023-08-02 | 2023-08-29 | 北京数字悦动科技有限公司 | 一种基于深度学习模型的用户行为分析系统及方法 |
CN116662769B (zh) * | 2023-08-02 | 2023-10-13 | 北京数字悦动科技有限公司 | 一种基于深度学习模型的用户行为分析系统及方法 |
CN118332121A (zh) * | 2024-04-24 | 2024-07-12 | 江苏侯曦信息科技有限公司 | 基于多任务学习的前端文本分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Deep learning for aspect-based sentiment analysis | |
CN116244441A (zh) | 一种基于多任务学习的社交网络攻击性言论检测方法 | |
Kawintiranon et al. | PoliBERTweet: a pre-trained language model for analyzing political content on Twitter | |
CN111339772B (zh) | 俄语文本情感分析方法、电子设备和存储介质 | |
Jia | Sentiment classification of microblog: A framework based on BERT and CNN with attention mechanism | |
Ahanin et al. | A multi-label emoji classification method using balanced pointwise mutual information-based feature selection | |
Zhang et al. | Exploring deep recurrent convolution neural networks for subjectivity classification | |
Samih et al. | Enhanced sentiment analysis based on improved word embeddings and XGboost. | |
Rehman et al. | User-aware multilingual abusive content detection in social media | |
Fei et al. | GFMRC: A machine reading comprehension model for named entity recognition | |
CN112287119B (zh) | 一种在线资源相关信息抽取的知识图谱生成方法 | |
Shan | Social Network Text Sentiment Analysis Method Based on CNN‐BiGRU in Big Data Environment | |
CN116522165B (zh) | 一种基于孪生结构的舆情文本匹配系统及方法 | |
Munnes et al. | Examining sentiment in complex texts. A comparison of different computational approaches | |
CN113220964A (zh) | 一种基于网信领域短文本的观点挖掘方法 | |
Ling | Coronavirus public sentiment analysis with BERT deep learning | |
CN113792144B (zh) | 基于半监督的图卷积神经网络的文本分类方法 | |
Zishumba | Sentiment Analysis Based on Social Media Data | |
Abdulwahab et al. | Deep Learning Models for Paraphrases Identification | |
Feng et al. | A simple and effective usage of word clusters for CBOW model | |
Rezaei et al. | Hierarchical three-module method of text classification in web big data | |
Appiahene et al. | Understanding the Uses, Approaches and Applications of Sentiment Analysis | |
CN112487303A (zh) | 一种基于社交网络用户属性的主题推荐方法 | |
Vadesara et al. | Corpus building for hate speech detection of gujarati language | |
Hamzah et al. | Detecting Arabic sexual harassment using bidirectional long-short-term memory and a temporal convolutional network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |