CN117992651A - 一种基于主动学习迭代的社交媒体谣言检测方法 - Google Patents
一种基于主动学习迭代的社交媒体谣言检测方法 Download PDFInfo
- Publication number
- CN117992651A CN117992651A CN202410180591.9A CN202410180591A CN117992651A CN 117992651 A CN117992651 A CN 117992651A CN 202410180591 A CN202410180591 A CN 202410180591A CN 117992651 A CN117992651 A CN 117992651A
- Authority
- CN
- China
- Prior art keywords
- sample
- model
- bert
- label
- field
- 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 22
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000012549 training Methods 0.000 claims abstract description 42
- 230000006870 function Effects 0.000 claims description 23
- 230000014509 gene expression Effects 0.000 claims description 15
- 238000002372 labelling Methods 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 8
- 230000008014 freezing Effects 0.000 claims description 5
- 238000007710 freezing Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 230000003416 augmentation Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000003058 natural language processing Methods 0.000 abstract description 2
- 230000003190 augmentative effect Effects 0.000 abstract 1
- 230000000052 comparative effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/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
- 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
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- 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
- 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/088—Non-supervised learning, e.g. competitive learning
-
- 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/09—Supervised learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于主动学习迭代的社交媒体谣言检测方法,属于自然语言处理技术领域,包括:使用预训练语言模型来表征样本;通过无监督的对比学习方法,利用无标签样本池中的数据,对Bert模型进行训练调优;通过基于样本标签距离的主动学习查询策略,分别更新无标签样本池和有标签样本池;按照样本标签和领域对有标签样本进行增广;通过有监督的对比学习方法,利用有标签样本池中的数据,对Bert模型进行训练调优;更新软提示前缀编码;更新当前样本池,将原有的无标签样本池纳入到领域下的无标签样本池中,重新训练模型。本发明在保持模型精度的前提下,降低了社交媒体数据样本标记成本,并在零样本场景下改善了谣言检测性能。
Description
技术领域
本发明涉及自然语言处理技术领域,尤其涉及一种基于主动学习迭代的社交媒体谣言检测方法。
背景技术
社交媒体已经成为人们获取和分享信息的重要信息平台。人们在社交平台上获取信息的同时,也可能受到谣言的蛊惑,它的日益普及也使得谣言得以广泛传播,对社会造成重大负面影响。鉴于社交平台上的谣言的传播会不同程度上危及到人类社会的正常秩序,而且依靠人工识别谣言耗时耗力,各种谣言自动检测技术也相继出现。
谣言检测问题通常归为一种二分类问题,即将相关信息或事件判断为谣言或者非谣言。现有的谣言检测任务,通常假定各类已知事件有充足的有标签数据用于建模和训练,并且在测试阶段,需要检测的谣言也与训练所用的事件有关。当面对全新领域下的谣言例如,在某一突发事件爆发之前,社交媒体从未出现过有关这一事件的信息时,谣言传播初期可供训练的数据极其稀少,对现有谣言检测模型带来了巨大的挑战。
时下主流方法得到的模型,学习到的是特定于事件或者说谣言领域的特征,这些特征难以迁移到新出现的、突发性的谣言事件。并且这类方法依赖大量的带标签数据进行训练才能学到更深层的特征表示,但在谣言检测领域,尤其是对于突发性的新话题仅有无标签样本的情况下,出于将谣言的恶劣影响扼杀在其传播初期考虑,需要对谣言进行及时的检测。因为谣言标注的专业性要求,其标注需要进行核实验证,时间成本高,一次性标注全部的谣言样本不符合实际需求。因此,目前的自动谣言检测方法还存在问题,亟需一个随谣言领域变化迭代的具有样本选择能力的谣言自动检测模型。
发明内容
本发明的目的在于克服现有技术的不足,解决实际的谣言场景中在获取到了谣言爆发初期的新话题下的无标记样本的情况下,对谣言的快速响应的问题,提供一种基于主动学习迭代的社交媒体谣言检测方法。
本发明的目的是通过以下技术方案来实现的:
一种基于主动学习迭代的社交媒体谣言检测方法,包括以下步骤:
步骤1:使用基于软提示的Bert预训练语言模型来表征样本,得到样本的嵌入表示;
步骤2:通过无监督的对比学习方法,利用无标签的样本池中的数据,对Bert模型进行训练调优;
步骤3:通过基于样本标签距离的主动学习查询策略,挑选最具有标注价值的样本,交予谣言领域专家进行标注,并分别更新无标签样本池和有标签样本池;
步骤4:使用Bootstrap采样方法,按照样本标签和领域对有标签样本进行增广;
步骤5:通过有监督的对比学习方法,利用有标签的样本池中的数据,对Bert模型进行训练调优;
步骤6:通过软提示调优来更新软提示前缀编码;
步骤7:在检测到新领域下样本时,更新当前样本池,将原有的无标签样本池纳入到领域下的无标签样本池中,重新训练模型,实现模型随领域变化的迭代。
进一步的,所述步骤1包括以下子步骤:
步骤101:基于社交媒体谣言样本Xt=(st,Ct),其中,t表示第t个领域,st表示一段推文,Ct表示该推文下的一组回复,将Xt按照Bert模型在分类任务上的训练范式,改写为Xt′=([CLS],st,[SEP],Ct),其中,[CLS]为分类标识,[SEP]为分段标识;
步骤102:将Xt′作为输入交予Bert,对于Bert的第l层,Xt′都有一个对应的嵌入表达其中,el(.)表示第l层的嵌入表达;
步骤103:将每一层的嵌入表达都加上一个软提示编码得到Bert模型第(l+1)层的输入其中,/>表示第l层的软提示编码。
进一步的,所述步骤2包括以下子步骤:
步骤201:将无监督对比数据池按照预设的小批量大小分批进行训练;
步骤202:对于某一个小批量的样本集以/>中的某一个输入xi为例,将xi分两次输入模型,利用Bert的Dropout机制,得到两个不同的特征表达/>以及/>其中,/> f表示Bert预训练语言模型,z表示dropout机制中的随机掩码,zi和/>表示同一样本输入Bert模型两次所对应的掩码;通过对比学习方法,对模型参数调优,拉近/>和/>在特征空间中的距离;
步骤203:对于某一个小批量的样本集以/>中的某一个输入xi为例,对于所有的xj,j≠i,将xi,xj分别输入模型,利用Bert的Dropout机制,得到两个不同的特征表达/>以及通过对比学习方法,对模型参数调优,扩大/>和/>在特征空间中的距离;
步骤204:使用反向传播方法,通过优化损失函数来调整预训练语言模型的参数,其中sim(A,B)表示A和B在特征空间中的余弦相似度,N表示一个小批量的样本集中的样本数量。
进一步的,所述步骤3包括以下步骤:
步骤301:将无标签数据池Ut中的数据交予带软提示前缀编码的Bert模型做预测;以t领域下无标签样本池Ut中任意一条样本Xt=(st,Ct)为例,模型会输出p1=p(y=y1(Xt)|Xt),p2=p(y=y2(Xt)|Xt),其中, 对于谣言检测这个二分类任务,即是会输出x为谣言的概率p1,和x为非谣言的概率p2;
步骤302:判断是否为该领域下的第一轮主动学习,若不是,设定K为每轮查询的样本数,若是,设定K为初始集的大小;
步骤303:对模型的预测结果p1,p2,做基于样本标签距离的主动学习查询,挑选样本标签距离最小的K个样本,即挑选K个模型最为不确定的样本;样本标签距离计算函数表达为:Margin(x)=|p1-p2|;主动学习选择样本表达为:M(Ut)=argTopK{Margin(xi)},xi∈Ut,其中,argTopK(·)表示取·中的数据K个最小的;
步骤304:待标注数据集M(Ut)交予谣言领域专家进行判别和标注,M(Ut)标注后得到带标签的数据集将/>并入到有标签的样本池Lt中,并从无标签的样本池Ut中删除。
进一步的,所述步骤4包括以下子步骤:
步骤401:对于有标签数据集Lt进行30倍倍率的自举法采样;对于所有的xi∈Lt,首先抽取30次标签和领域均相同的正样本xpos,再抽取与xi不同标签的负样本xneg,组成正样本对实现样本增广;
步骤402:由所有的组成用于有监督对比学习的样本集Ls,|Ls|=30×|Lt|。
进一步的,所述步骤5包括以下子步骤:
步骤501:将增广后的样本集Ls利用语言模型映射到特征空间,以xi对应的某一行正负样本对为例,其中f表示Bert预训练语言模型;
步骤502:通过优化损失函数来实现对模型的调优;损失函数为/>
进一步的,所述步骤6包括以下子步骤:
步骤601:冻结模型f的参数,初始化每一层的软提示编码定义/>为每一层的软提示编码堆叠而成的矩阵,置/>为可训练参数;
步骤602:定义一个由三层感知机构成的分类器g;
步骤602:定义训练目标,优化损失函数其中,yi为xi所对应的真实标签,/>表示模型的预测标签,/>
步骤603:定义软提示调优的反向传播过程,具体如下:
步骤6031:计算对于线性分类头输出的梯度:
步骤6032:计算对于预训练语言模型第i层的梯度:
步骤6033:计算对于第i层提示前缀编码的梯度: 其中,l表示预训练语言模型的总层数;
步骤604:通过损失对参数梯度的反向传播来实现提示前缀编码的调优。
进一步的,所述步骤7包括以下子步骤:
步骤701:获取到新领域t+1下无标签的新样本Ut+1;将原有的无标签样本池Ut迁移到新样本池Ut+1中;并将原有的有标签样本池Lt直接迁移为Lt+1;
步骤702:初始化模型和提示前缀编码的参数,再次进行基于主动学习的无监督、有监督的对比学习和提示调优,实现模型随谣言领域变化的动态迭代。
本发明的有益效果:本发明通过利用对比学习和提示调学习的优势来解决主动学习的局限性,并具有随谣言领域变化动态迭代的特性;本发明在保持模型精度的前提下,降低了社交媒体数据样本标记成本,并在零样本场景下改善了谣言检测性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明框架执行的具体流程图。
图2是本发明的框架结构图。
图3是无监督的对比学习模块图。
图4是有监督的对比学习模块图。
图5是软提示学习模块图。
图6是本发明实施例中最后一个检测领域上的模型准确率随主动学习轮次的变化曲线图。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本实施例中,如图1所示,一种基于主动学习迭代的社交媒体谣言检测方法,包括以下步骤:
步骤1:使用基于软提示的Bert预训练语言模型来表征样本,得到样本的嵌入表示;
步骤2:通过无监督的对比学习方法,利用无标签的样本池中的数据,对Bert模型进行训练调优;
步骤3:通过基于样本标签距离的主动学习查询策略,挑选最具有标注价值的样本,交予谣言领域专家进行标注,并分别更新无标签样本池和有标签样本池;
步骤4:使用Bootstrap采样方法,按照样本标签和领域对有标签样本进行增广;
步骤5:通过有监督的对比学习方法,利用有标签的样本池中的数据,对Bert模型进行训练调优;
步骤6:通过软提示调优来更新软提示前缀编码;
步骤7:在检测到新领域下样本时,更新当前样本池,将原有的无标签样本池纳入到领域下的无标签样本池中,重新训练模型,实现模型随领域变化的迭代。
其中,所述步骤1包括以下子步骤:
步骤101:基于社交媒体谣言样本Xt=(st,Ct),其中,t表示第t个领域,st表示一段推文,Ct表示该推文下的一组回复,将Xt按照Bert模型在分类任务上的训练范式,改写为Xt′=([CLS],st,[SEP],Ct),其中,[CLS]为分类标识,[SEP]为分段标识;
步骤102:将Xt′作为输入交予Bert,对于Bert的第l层,Xt′都有一个对应的嵌入表达 其中,el(·)表示第l层的嵌入表达;
步骤103:将每一层的嵌入表达都加上一个软提示编码得到Bert模型第(l+1)层的输入其中,/>表示第l层的软提示编码。
其中,所述步骤2包括以下子步骤:
步骤201:将无监督对比数据池按照预设的小批量大小分批进行训练;
步骤202:对于某一个小批量的样本集以/>中的某一个输入xi为例,将xi分两次输入模型,利用Bert的Dropout机制,得到两个不同的特征表达/>以及/>其中, f表示Bert预训练语言模型,z表示dropout机制中的随机掩码,zi和/>表示同一样本输入Bert模型两次所对应的掩码;通过对比学习方法,对模型参数调优,拉近/>和/>在特征空间中的距离;
步骤203:对于某一个小批量的样本集以/>中的某一个输入xi为例,对于所有的xj,j≠i,将xi,xj分别输入模型,利用Bert的Dropout机制,得到两个不同的特征表达/>以及通过对比学习方法,对模型参数调优,扩大/>和/>在特征空间中的距离;
步骤204:使用反向传播方法,通过优化损失函数来调整预训练语言模型的参数,其中sim(A,B)表示A和B在特征空间中的余弦相似度,N表示一个小批量的样本集中的样本数量。
其中,所述步骤3包括以下步骤:
步骤301:将无标签数据池Ut中的数据交予带软提示前缀编码的Bert模型做预测;以t领域下无标签样本池Ut中任意一条样本Xt=(st,Ct)为例,模型会输出p1=p(y=y1(Xt)|Xt),p2=p(y=y2(Xt)|Xt),其中, 对于谣言检测这个二分类任务,即是会输出x为谣言的概率p1,和x为非谣言的概率p2;
步骤302:判断是否为该领域下的第一轮主动学习,若不是,设定K为每轮查询的样本数,若是,设定K为初始集的大小;
步骤303:对模型的预测结果p1,p2,做基于样本标签距离的主动学习查询,挑选样本标签距离最小的K个样本,即挑选K个模型最为不确定的样本;样本标签距离计算函数表达为:Margin(x)=|p1-p2|;主动学习选择样本表达为:M(Ut)=argTopK{Margin(xi)},xi∈Ut,其中,argTopK(·)表示取·中的数据K个最小的;
步骤304:待标注数据集M(Ut)交予谣言领域专家进行判别和标注,M(Ut)标注后得到带标签的数据集将/>并入到有标签的样本池Lt中,并从无标签的样本池Ut中删除。
其中,所述步骤4包括以下子步骤:
步骤401:对于有标签数据集Lt进行30倍倍率的自举法采样;对于所有的xi∈Lt,首先抽取30次标签和领域均相同的正样本xpos,再抽取与xi不同标签的负样本xneg,组成正样本对实现样本增广;
步骤402:由所有的组成用于有监督对比学习的样本集Ls,|Ls|=30×|Lt|。
其中,所述步骤5包括以下子步骤:
步骤501:将增广后的样本集Ls利用语言模型映射到特征空间,以xi对应的某一行正负样本对为例,其中f表示Bert预训练语言模型;步骤502:通过优化损失函数/>来实现对模型的调优;损失函数为/>
其中,所述步骤6包括以下子步骤:
步骤601:冻结模型f的参数,初始化每一层的软提示编码定义/>为每一层的软提示编码堆叠而成的矩阵,置/>为可训练参数;
步骤602:定义一个由三层感知机构成的分类器g;
步骤602:定义训练目标,优化损失函数其中,yi为xi所对应的真实标签,/>表示模型的预测标签,/>
步骤603:定义软提示调优的反向传播过程,具体如下:
步骤6031:计算对于线性分类头输出的梯度:
步骤6032:计算对于预训练语言模型第i层的梯度:
步骤6033:计算对于第i层提示前缀编码的梯度:
其中,l表示预训练语言模型的总层数;
步骤604:通过损失对参数梯度的反向传播来实现提示前缀编码的调优。
其中,所述步骤7包括以下子步骤:
步骤701:获取到新领域t+1下无标签的新样本Ut+1;将原有的无标签样本池Ut迁移到新样本池Ut+1中。并将原有的有标签样本池Lt直接迁移为Lt+1;
步骤702:初始化模型和提示前缀编码的参数,再次进行基于主动学习的无监督、有监督的对比学习和提示调优,实现模型随谣言领域变化的动态迭代。
在本实施例中,如图2所示,本发明所涉及的方法主要分为四个模块,通过四个模块的协同合作,在保证了模型原有性能不变的前提下,减少了样本的标注成本;这四个模块分别是无监督的对比学习、基于样本标签的主动学习采样策略、有监督的对比学习、软提示学习。
模块1:无监督的对比学习,如图3所示。
本模块使用Bert预训练语言模型得到关于无标签数据集的特征表示,将不同样本作为负样本,将同一样本输入Bert模型两次,利用Bert的Dropout机制生成正样本,然后使用对比学习,扩大负样本在特征空间上的距离,缩小正样本在特征空间上的距离,对预训练语言模型的参数进行调优:
本模块首先将无标签样本池中的样本,分别两次通过预训练语言模型f进行表征,得到两组样本在特征空间上的表征:
以第i个无标签样本xi为例:z表示dropout机制产生的随机掩码,zi和/>分别表示两次经过Bert模型时的掩码表示,zi和/>通常不同。视/>和/>为正样本对,视/>和/>为负样本对,且i≠j。
通过最小化损失函数Lunsup来调优模型参数,其中,
模块2:基于样本标签距离的主动学习采样策略。
在模型顶层构造一个由三层神经网络组成的分类器g,分类器输出对样本标签的预测结果及其对应的概率。
根据分类器对样本的预测结果,计算概率最大的两个标签的概率差的绝对值,记为Margin(x)。
定义其中p(y=c|x)表示对于输入x,分类器判定其为标签c的概率。
那么,Margin(x)=p(y=y1(x)|x)-p(y=y2(x)|x)。
对于所有的x∈Ut,最终得到一组包含|Ut|个Margin值的列表,其中Ut表示无标签数据池。
取Margin值最小的K个样本并交予人工标注,其中,K为人为设定的固定值。记这K个样本为L*。
更新无标签数据池:Ut=Ut-L*
更新有标签数据池:Lt=Lt+L*
模块3:有监督的对比学习,如图4所示。
将选出的样本Lt按照同领域同标签的原则使用自举法采样,得到等同于原列表长度30倍的正样本列表,即一条原样本对应30个正样本。
将选出的样本Lt按照不同标签的原则使用自举法采样,得到等同于原列表长度30倍的负样本列表,即一条原样本对应30个负样本。
将原列表Lt与正样本列表、负样本列表在列上进行拼接组成正负样本对列表。对于某一样本xi,有30行正负样本对,这30行中的任意一行表示为将正负样本对列表交予Bert模型f,得到关于原样本及其正负样本在特征空间上的表示,
通过缩小对比学习损失函数来实现对模型参数的调优。
模块4:软提示学习,如图5所示。
冻结Bert模型的参数,在每一层Bert模型的输入上,添加定长的可训练的前缀软提示编码pl。
以Bert第l层输入xl为例,xl={pl,el([CLS]),el(st),el([SEP]),el(Ct))},其中pl代表第l层输入的前缀软提示编码。
定义提示学习损失函数为其中,yi表示xi的真实标签,/>表示分类器g对样本xi的预测标签。
基于分类器的结果,以减小损失函数Lprompt为目标,优化软提示前缀编码。
在本实施例中,下面详细描述使用本发明方法的详细过程:
设当前需要对第t个领域的谣言进行识别,且已获取到无标签的第t个领域的数据集Ut。
重置之前领域t-1下学习到的Bert预训练语言模型以及软提示前缀编码。
沿用上一个领域的有标签样本池,即Lt=Lt-1。
对于样本集中的每一条数据,按照Bert模型的分类任务训练范式,将原来的样本结构Xt=(st,Ct),调整为X′t=([CLS],st,[SEP],Ct)。其中st表示该样本对应的原推文,Ct表示该样本对应的一组回复。
将Ct展开。调整X′t,置其最大长度为128个词,对于超出长度部分进行截断,对于位数不足部分,用特殊标记[PAD]补足,然后将对应的注意力掩码置为0,得到Bert模型的输入x。
获取Bert模型Pooler层关于[CLS]的输出h,h为整个样本的特征向量,记为h=f(x,z),z为随机掩码,由Bert模型的dropout机制产生。
将样本再次交予模型进行编码,获取到另一个特征输出。记对于第i个样本的第一次编码输出为第二次编码输出为/>
定义无监督对比学习损失函数
视同一样本的两次编码为正样本对,不同样本的编码为负样本对,以最小化对比损失函数Lunsup为目标,拉大负样本之间的距离,缩小正样本之间的距离,对Bert模型参数进行调优。
定义一个三层神经网络构成的分类器g。
对Ut中的所有样本,使用Bert模型进行特征提取,使用分类器g进行分类,获取分类器g对于样本标签的预测结果。
根据预测结果计算每个样本的样本标签距离Margin(x)=p(y=y1(x)|x)-p(y=y2(x)|x)。其中,p(y=yn(x)|x)表示分类器预测的可能性第n大的标签的概率。
对计算得到的样本标签距离进行排序,取最小的K个,组成样本集L*,交予谣言领域专家进行人工标注。
更新无标签样本池:①Ut=Ut-L*,②Ut=Ut+Ut-1。其中,②只在在领域下的第一轮主动学习中执行。这是为保证标记样本必须有当前领域下的内容,规定初始集要求必须选择当前领域下的,第一轮挑选完成后,使用②将所有领域的样本混合,供主动学习后续选择。
更新有标签样本池:Lt=Lt+L*。
将选出的样本Lt按照同领域同标签的原则使用自举法采样,得到等同于原列表长度30倍的正样本列表,即一条原样本对应30个正样本。
将选出的样本Lt按照不同标签的原则使用自举法采样,得到等同于原列表长度30倍的负样本列表,即一条原样本对应30个负样本。
将原列表Lt与正样本列表、负样本列表在列上进行拼接组成正负样本对列表。对于某一样本xi,有30行正负样本对,这30行中的任意一行可表示为
通过Bert模型,将正负样本对映射到特征空间,得到对应的特征表示:
通过缩小对比学习损失函数来实现对模型参数的调优。
冻结Bert模型的参数。
按照软提示学习训练范式,为预训练语言模型的每一层输入都加入软提示前缀编码。即改写模型输入Xt′=([CLS],st,[SEP],Ct)为其中,/>是一个由每一层软提示编码组成的软提示编码矩阵,特殊的,这里的e(·)专指Bert模型第一层输出的嵌入编码。
计算关于分类器的梯度:
计算关于Bert模型的梯度:
计算关于上一层软提示前缀编码的梯度:其中l表示预训练语言模型的总层数。
通过梯度反向传播来实现提示前缀编码的调优。
开始下一轮的主动学习直到选择标记的样本数量达到预设阈值。
使用三个社交媒体谣言数据集进行测试,这三个数据集分别为:pheme,twitter15和twitter16。把它拆分为训练集,验证集和测试集,比列为6:3:3。实验中的初始集设置为该领域训练集的3%,后续每轮主动学习的标记量为该领域训练集的7‰。Bert模型使用Base规模,不区分大小写,Bert模型的Dropout设置为10%。每一层预训练语言模型输入的前缀软提示编码长度为8。
表1给出了在三个数据集上,进行重复试验的结果,最优结果已用下划线标注。可以看到,本发明在三个数据集下以10%的样本标注量,击败了全样本进行标注的Bert模型。
表1本发明在三个数据集上的性能对比
图6展示了最后一个领域下的谣言检测模型训练过程及其准确率的变化。可以看到本发明的训练准确率曲线相较于其他方法更为平滑稳定,且最终性能也更好。
表2给出了在Pheme数据集上,如果将某个领域抽出,即训练集无该领域但是测试集由该领域样本构成的情况,最优结果已用下划线标注。可以看到,在零样本场景下,由于本发明合理利用了提示学习的优势,因此在多数零样本场景下超过了传统的模型微调。
表2本发明在零样本场景下的性能对比
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、ROM、RAM等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (8)
1.一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,包括以下步骤:
步骤1:使用基于软提示的Bert预训练语言模型来表征样本,得到样本的嵌入表示;
步骤2:通过无监督的对比学习方法,利用无标签的样本池中的数据,对Bert模型进行训练调优;
步骤3:通过基于样本标签距离的主动学习查询策略,挑选最具有标注价值的样本,交予谣言领域专家进行标注,并分别更新无标签样本池和有标签样本池;
步骤4:使用Bootstrap采样方法,按照样本标签和领域对有标签样本进行增广;
步骤5:通过有监督的对比学习方法,利用有标签的样本池中的数据,对Bert模型进行训练调优;
步骤6:通过软提示调优来更新软提示前缀编码;
步骤7:在检测到新领域下样本时,更新当前样本池,将原有的无标签样本池纳入到领域下的无标签样本池中,重新训练模型,实现模型随领域变化的迭代。
2.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤1包括以下子步骤:
步骤101:基于社交媒体谣言样本Xt=(st,Ct),其中,t表示第t个领域,st表示一段推文,Ct表示该推文下的一组回复,将Xt按照Bert模型在分类任务上的训练范式,改写为Xt'=([CLS],st,[SEP],Ct),其中,[CLS]为分类标识,[SEP]为分段标识;
步骤102:将Xt'作为输入交予Bert,对于Bert的第l层,Xt'都有一个对应的嵌入表达 其中,el(·)表示第l层的嵌入表达;
步骤103:将每一层的嵌入表达都加上一个软提示编码得到Bert模型第(l+1)层的输入其中,/>表示第l层的软提示编码。
3.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤2包括以下子步骤:
步骤201:将无监督对比数据池按照预设的小批量大小分批进行训练;
步骤202:对于某一个小批量的样本集以/>中的某一个输入xi为例,将xi分两次输入模型,利用Bert的Dropout机制,得到两个不同的特征表达/>以及/>其中,/> f表示Bert预训练语言模型,z表示dropout机制中的随机掩码,zi和/>表示同一样本输入Bert模型两次所对应的掩码;通过对比学习方法,对模型参数调优,拉近和/>在特征空间中的距离;
步骤203:对于某一个小批量的样本集以/>中的某一个输入xi为例,对于所有的xj,j≠i,将xi,xj分别输入模型,利用Bert的Dropout机制,得到两个不同的特征表达/>以及/>通过对比学习方法,对模型参数调优,扩大/>和/>在特征空间中的距离;
步骤204:使用反向传播方法,通过优化损失函数来调整预训练语言模型的参数,其中sim(A,B)表示A和B在特征空间中的余弦相似度,N表示一个小批量的样本集中的样本数量。
4.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤3包括以下步骤:
步骤301:将无标签数据池Ut中的数据交予带软提示前缀编码的Bert模型做预测;以t领域下无标签样本池Ut中任意一条样本Xt=(st,Ct)为例,模型会输出p1=p(y=y1(Xt)|Xt),p2=p(y=y2(Xt)|Xt),其中, 对于谣言检测这个二分类任务,即是会输出x为谣言的概率p1,和x为非谣言的概率p2;
步骤302:判断是否为该领域下的第一轮主动学习,若不是,设定K为每轮查询的样本数,若是,设定K为初始集的大小;
步骤303:对模型的预测结果p1,p2,做基于样本标签距离的主动学习查询,挑选样本标签距离最小的K个样本,即挑选K个模型最为不确定的样本;样本标签距离计算函数表达为:Margin(x)=|p1-p2|;主动学习选择样本表达为:M(Ut)=argTopK{Margin(xi)},xi∈Ut,其中,argTopK(·)表示取·中的数据K个最小的;
步骤304:待标注数据集M(Ut)交予谣言领域专家进行判别和标注,M(Ut)标注后得到带标签的数据集将/>并入到有标签的样本池Lt中,并从无标签的样本池Ut中删除。
5.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤4包括以下子步骤:
步骤401:对于有标签数据集Lt进行30倍倍率的自举法采样;对于所有的xi∈Lt,首先抽取30次标签和领域均相同的正样本xpos,再抽取与xi不同标签的负样本xneg,组成正样本对实现样本增广;
步骤402:由所有的组成用于有监督对比学习的样本集Ls,|Ls|=30×|Lt|。
6.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤5包括以下子步骤:
步骤501:将增广后的样本集Ls利用语言模型映射到特征空间,以xi对应的某一行正负样本对为例,其中f表示Bert预训练语言模型;步骤502:通过优化损失函数/>来实现对模型的调优;损失函数为/>
7.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤6包括以下子步骤:
步骤601:冻结模型f的参数,初始化每一层的软提示编码定义/>为每一层的软提示编码堆叠而成的矩阵,置/>为可训练参数;
步骤602:定义一个由三层感知机构成的分类器g;
步骤602:定义训练目标,优化损失函数其中,yi为xi所对应的真实标签,/>表示模型的预测标签,/>
步骤603:定义软提示调优的反向传播过程,具体如下:
步骤6031:计算对于线性分类头输出的梯度:
步骤6032:计算对于预训练语言模型第i层的梯度:
步骤6033:计算对于第i层提示前缀编码的梯度:其中,l表示预训练语言模型的总层数;
步骤604:通过损失对参数梯度的反向传播来实现提示前缀编码的调优。
8.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤7包括以下子步骤:
步骤701:获取到新领域t+1下无标签的新样本Ut+1;将原有的无标签样本池Ut迁移到新样本池Ut+1中,并将原有的有标签样本池Lt直接迁移为Lt+1;
步骤702:初始化模型和提示前缀编码的参数,再次进行基于主动学习的无监督、有监督的对比学习和提示调优,实现模型随谣言领域变化的动态迭代。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410180591.9A CN117992651A (zh) | 2024-02-18 | 2024-02-18 | 一种基于主动学习迭代的社交媒体谣言检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410180591.9A CN117992651A (zh) | 2024-02-18 | 2024-02-18 | 一种基于主动学习迭代的社交媒体谣言检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117992651A true CN117992651A (zh) | 2024-05-07 |
Family
ID=90902126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410180591.9A Pending CN117992651A (zh) | 2024-02-18 | 2024-02-18 | 一种基于主动学习迭代的社交媒体谣言检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117992651A (zh) |
-
2024
- 2024-02-18 CN CN202410180591.9A patent/CN117992651A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112507898B (zh) | 一种基于轻量3d残差网络和tcn的多模态动态手势识别方法 | |
CN110555399B (zh) | 手指静脉识别方法、装置、计算机设备及可读存储介质 | |
CN112733866A (zh) | 一种提高可控图像文本描述正确性的网络构建方法 | |
CN111966812B (zh) | 一种基于动态词向量的自动问答方法和存储介质 | |
CN116127953B (zh) | 一种基于对比学习的中文拼写纠错方法、装置和介质 | |
CN111738169B (zh) | 一种基于端对端网络模型的手写公式识别方法 | |
CN112800768A (zh) | 一种嵌套命名实体识别模型的训练方法及装置 | |
CN113591978B (zh) | 一种基于置信惩罚正则化的自我知识蒸馏的图像分类方法、设备及存储介质 | |
CN111753995B (zh) | 一种基于梯度提升树的局部可解释方法 | |
CN112527959B (zh) | 基于无池化卷积嵌入和注意分布神经网络的新闻分类方法 | |
CN115688879A (zh) | 一种基于知识图谱的智能客服语音处理系统及方法 | |
CN114842343A (zh) | 一种基于ViT的航空图像识别方法 | |
CN114625882A (zh) | 提高图像文本描述独特多样性的网络构建方法 | |
CN112507912A (zh) | 一种识别违规图片的方法及装置 | |
CN116341651A (zh) | 实体识别模型训练方法、装置、电子设备及存储介质 | |
CN117558270B (zh) | 语音识别方法、装置、关键词检测模型的训练方法和装置 | |
CN115329120A (zh) | 一种知识图谱嵌入注意力机制的弱标注哈希图像检索架构 | |
CN113379037B (zh) | 一种基于补标记协同训练的偏多标记学习方法 | |
CN110347853A (zh) | 一种基于循环神经网络的图像哈希码生成方法 | |
US20220138425A1 (en) | Acronym definition network | |
CN111783688B (zh) | 一种基于卷积神经网络的遥感图像场景分类方法 | |
CN117851565A (zh) | 基于多源交互的文本视觉问答方法及系统 | |
CN116362242A (zh) | 一种小样本槽值提取方法、装置、设备及存储介质 | |
CN113516209B (zh) | 一种用于少样本意图识别的对比任务适应学习方法 | |
CN116168437A (zh) | 基于多任务的预测模型训练方法、装置、设备及存储介质 |
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 |