System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及自然语言处理,尤其涉及一种基于主动学习迭代的社交媒体谣言检测方法。
技术介绍
1、社交媒体已经成为人们获取和分享信息的重要信息平台。人们在社交平台上获取信息的同时,也可能受到谣言的蛊惑,它的日益普及也使得谣言得以广泛传播,对社会造成重大负面影响。鉴于社交平台上的谣言的传播会不同程度上危及到人类社会的正常秩序,而且依靠人工识别谣言耗时耗力,各种谣言自动检测技术也相继出现。
2、谣言检测问题通常归为一种二分类问题,即将相关信息或事件判断为谣言或者非谣言。现有的谣言检测任务,通常假定各类已知事件有充足的有标签数据用于建模和训练,并且在测试阶段,需要检测的谣言也与训练所用的事件有关。当面对全新领域下的谣言例如,在某一突发事件爆发之前,社交媒体从未出现过有关这一事件的信息时,谣言传播初期可供训练的数据极其稀少,对现有谣言检测模型带来了巨大的挑战。
3、时下主流方法得到的模型,学习到的是特定于事件或者说谣言领域的特征,这些特征难以迁移到新出现的、突发性的谣言事件。并且这类方法依赖大量的带标签数据进行训练才能学到更深层的特征表示,但在谣言检测领域,尤其是对于突发性的新话题仅有无标签样本的情况下,出于将谣言的恶劣影响扼杀在其传播初期考虑,需要对谣言进行及时的检测。因为谣言标注的专业性要求,其标注需要进行核实验证,时间成本高,一次性标注全部的谣言样本不符合实际需求。因此,目前的自动谣言检测方法还存在问题,亟需一个随谣言领域变化迭代的具有样本选择能力的谣言自动检测模型。
技术实现思路
1、本专利技术的目的在于克服现有技术的不足,解决实际的谣言场景中在获取到了谣言爆发初期的新话题下的无标记样本的情况下,对谣言的快速响应的问题,提供一种基于主动学习迭代的社交媒体谣言检测方法。
2、本专利技术的目的是通过以下技术方案来实现的:
3、一种基于主动学习迭代的社交媒体谣言检测方法,包括以下步骤:
4、步骤1:使用基于软提示的bert预训练语言模型来表征样本,得到样本的嵌入表示;
5、步骤2:通过无监督的对比学习方法,利用无标签的样本池中的数据,对bert模型进行训练调优;
6、步骤3:通过基于样本标签距离的主动学习查询策略,挑选最具有标注价值的样本,交予谣言领域专家进行标注,并分别更新无标签样本池和有标签样本池;
7、步骤4:使用bootstrap采样方法,按照样本标签和领域对有标签样本进行增广;
8、步骤5:通过有监督的对比学习方法,利用有标签的样本池中的数据,对bert模型进行训练调优;
9、步骤6:通过软提示调优来更新软提示前缀编码;
10、步骤7:在检测到新领域下样本时,更新当前样本池,将原有的无标签样本池纳入到领域下的无标签样本池中,重新训练模型,实现模型随领域变化的迭代。
11、进一步的,所述步骤1包括以下子步骤:
12、步骤101:基于社交媒体谣言样本xt=(st,ct),其中,t表示第t个领域,st表示一段推文,ct表示该推文下的一组回复,将xt按照bert模型在分类任务上的训练范式,改写为xt′=([cls],st,[sep],ct),其中,[cls]为分类标识,[sep]为分段标识;
13、步骤102:将xt′作为输入交予bert,对于bert的第l层,xt′都有一个对应的嵌入表达其中,el(.)表示第l层的嵌入表达;
14、步骤103:将每一层的嵌入表达都加上一个软提示编码得到bert模型第(l+1)层的输入其中,表示第l层的软提示编码。
15、进一步的,所述步骤2包括以下子步骤:
16、步骤201:将无监督对比数据池按照预设的小批量大小分批进行训练;
17、步骤202:对于某一个小批量的样本集以中的某一个输入xi为例,将xi分两次输入模型,利用bert的dropout机制,得到两个不同的特征表达以及其中,f表示bert预训练语言模型,z表示dropout机制中的随机掩码,zi和表示同一样本输入bert模型两次所对应的掩码;通过对比学习方法,对模型参数调优,拉近和在特征空间中的距离;
18、步骤203:对于某一个小批量的样本集以中的某一个输入xi为例,对于所有的xj,j≠i,将xi,xj分别输入模型,利用bert的dropout机制,得到两个不同的特征表达以及通过对比学习方法,对模型参数调优,扩大和在特征空间中的距离;
19、步骤204:使用反向传播方法,通过优化损失函数来调整预训练语言模型的参数,其中sim(a,b)表示a和b在特征空间中的余弦相似度,n表示一个小批量的样本集中的样本数量。
20、进一步的,所述步骤3包括以下步骤:
21、步骤301:将无标签数据池ut中的数据交予带软提示前缀编码的bert模型做预测;以t领域下无标签样本池ut中任意一条样本xt=(st,ct)为例,模型会输出p1=p(y=y1(xt)|xt),p2=p(y=y2(xt)|xt),其中,对于谣言检测这个二分类任务,即是会输出x为谣言的概率p1,和x为非谣言的概率p2;
22、步骤302:判断是否为该领域下的第一轮主动学习,若不是,设定k为每轮查询的样本数,若是,设定k为初始集的大小;
23、步骤303:对模型的预测结果p1,p2,做基于样本标签距离的主动学习查询,挑选样本标签距离最小的k个样本,即挑选k个模型最为不确定的样本;样本标签距离计算函数表达为:margin(x)=|p1-p2|;主动学习选择样本表达为:m(ut)=argtopk{margin(xi)},xi∈ut,其中,argtopk(·)表示取·中的数据k个最小的;
24、步骤304:待标注数据集m(ut)交予谣言领域专家进行判别和标注,m(ut)标注后得到带标签的数据集将并入到有标签的样本池lt中,并从无标签的样本池ut中删除。
25、进一步的,所述步骤4包括以下子步骤:
26、步骤401:对于有标签数据集lt进行30倍倍率的自举法采样;对于所有的xi∈lt,首先抽取30次标签和领域均相同的正样本xpos,再抽取与xi不同标签的负样本xneg,组成正样本对实现样本增广;
27、步骤402:由所有的组成用于有监督对比学习的样本集ls,|ls|=30×|lt|。
28、进一步的,所述步骤5包括以下子步骤:
29、步骤501:将增广后的样本集ls利用语言模型映射到特征空间,以xi对应的某一行正负样本对为例,其中f表示bert预训练语言模型;
30、步骤502:通过优化损失函数来实现对模型的调优;损失函数为
31、进一步的,所述步骤6包括以下子步骤:
32、步骤601:冻结模型f的参数,初始化每一层的软提示编码定义为每一层的软提示编码堆叠而成的矩阵,置为可训练参数;
33、步骤本文档来自技高网...
【技术保护点】
1.一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤1包括以下子步骤:
3.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤2包括以下子步骤:
4.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤3包括以下步骤:
5.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤4包括以下子步骤:
6.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤5包括以下子步骤:
7.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤6包括以下子步骤:
8.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤7包括以下子步骤:
【技术特征摘要】
1.一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤1包括以下子步骤:
3.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤2包括以下子步骤:
4.根据权利要求1所述的一种基于主动学习迭代的社交媒体谣言检测方法,其特征在于,所述步骤3包括以下步骤:
5.根据权...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。