基于上下文学习和语义检索增强的零样本立场检测方法

卢银鹏 ,  郭凯威 ,  卢记仓 ,  周刚 ,  祝涛杰

信息工程大学学报 ›› 2025, Vol. 26 ›› Issue (02) : 196 -202.

PDF (760KB)
信息工程大学学报 ›› 2025, Vol. 26 ›› Issue (02) : 196 -202. DOI: 10.3969/j.issn.1671-0673.2025.02.011
计算机科学与技术

基于上下文学习和语义检索增强的零样本立场检测方法

作者信息 +

A Zero-Shot Stance Detection Method Based on In-Context Learning and Semantic Retrieval Enhancement

Author information +
文章历史 +
PDF (777K)

摘要

针对传统零样本立场检测方法需要依赖大量标注数据对模型微调的问题,提出一种基于上下文学习与语义检索增强的方法,以在不修改模型参数的条件下,提高大模型对未见对象的立场推理能力。通过语义相似度检索,从已有标注数据中筛选与待测文本相关的样例,并基于大模型的上下文学习范式,使用任务描述把相关样例和待测文本格式化为输入提示,以驱动大模型在更丰富的上下文语境下进行立场分类。实验结果表明,该方法在原始基础上提升了Flan-T5模型的零样本立场检测性能,并在SEM16数据集的细粒度零样本立场检测中显著优于原始模型。通过应用该方法,可以深化大语言模型对任务的了解,并激励模型参考相关样例中的关联知识以理解待测文本,从而更准确地推理关于未见对象的立场。

Abstract

To address the issue that traditional zero-shot stance detection (ZSSD) methods rely on a large amount of labeled data for model fine-tuning, a method based on in-context learning and semantic retrieval enhancement is proposed. The stance reasoning ability of large language models (LLMs) for unseen targets is improved without the need to tune model parameters. By retrieving semantically similar examples from existing labeled data and following the in-context learning paradigm of LLMs, relevant examples and test texts are formatted into input prompts with task descriptions, which enables models to perform stance classification in a more informative context. It is demonstrated through experiments that the ZSSD performance of the Flan-T5 model is improved by using this method, and the original model is significantly outperformed on the fine-grained task of the SEM16 dataset. The results indicate that the LLMs, understanding of the task can be deepened through this method, and relevant knowledge in examples is referenced to encourage LLM to gain better comprehension of test texts, thereby enabling more accurate inference of stances toward unseen targets.

Graphical abstract

关键词

零样本立场检测 / 上下文学习 / 语义检索 / 大语言模型

Key words

zero-shot stance detection / in-context learning / semantic retrieval / large language models

引用本文

引用格式 ▾
卢银鹏,郭凯威,卢记仓,周刚,祝涛杰. 基于上下文学习和语义检索增强的零样本立场检测方法[J]. 信息工程大学学报, 2025, 26(02): 196-202 DOI:10.3969/j.issn.1671-0673.2025.02.011

登录浏览全文

4963

注册一个新账户 忘记密码

立场检测旨在自动识别文本作者针对特定对象的态度(如支持、反对、中立)[1]。由于互联网上不断积累着带有用户主观性意见的数据,而挖掘其中蕴含的用户观点和立场具有重要的社会价值[2]和商业价值,因此立场检测已成为信息检索、舆情分析等领域的一项重要研究[3]。已有的立场检测研究通常从特定对象、跨对象和零样本等方面开展。面向特定对象(In-target)的立场检测针对特定对象进行训练和推理[4-5]。跨对象(Cross-target)立场检测在某个特定对象上训练分类器并将其迁移应用到相关对象上[6]。零样本立场检测(Zero-shot stance detection, ZSSD)则致力于使用已有对象的标注数据训练模型,并将其适配到之前未见的对象[7-12]。其中,零样本立场检测是一项紧要的研究,因为实际生活中立场对象的数量繁多,为每个对象收集一组标注数据不现实[11]
针对零样本立场检测,现有的一些研究通过注意力机制[7]、图神经网络[8]、对比学习[9]等方法,从已有其他对象的标注数据中学习可迁移的立场特征和分类模式,然后泛化到新对象的立场预测中;还有些方法从外部知识库如维基百科中,引入待测对象相关词条的摘要信息以补充对象的常识知识[11],从而增进模型对待测对象的了解。然而,上述方法都需要使用大量的高质标注数据对模型进行微调,微调的过程不仅要消耗大量的计算资源,而且模型通过微调学到的分类模式是静态的,随着有标注数据的扩充,需要重复地进行微调。
最近,大规模语言模型(Large language model, LLM)的语义理解和指令遵循等基础能力的提升,为零样本立场检测带来了新的方法路线。已有研究尝试设计提示,使用ChatGPT推理未见对象的立场[12],尽管在一些对象上取得了可观的表现,但其忽略了已有立场标注数据中可供借鉴的样本,这在一定程度上阻碍了LLM在处理零样本立场检测时借助相关样本来推理未见对象立场的能力。因为,通过上下文学习(In-context Learning, ICL)[13],相关的样例不仅可以加深大模型对任务的理解,还能辅助大模型从这些样例中提取相关的知识,从而更准确地理解待测文本并推断其关于给定对象的立场。
为了阐述这一想法,以下给出实例加以说明。关于对象“Hillary Clinton”的一条待测文本是“so when all you brave patriots stop hillary, who you going to replace her with, jeb bush? lol”,为了判断其中蕴含关于“Hillary Clinton”的立场,需要尽可能地了解文本中提及的人物“jeb bush”。而在已有其他对象的标注数据中,存在与待测文本语义相似的文本:“gop plan to stop trump? lol maybe they can put up loser candidates like romney, mccain and jeb!”,通过这条相关的样例,可以获取“jeb bush是失败的共和党候选人”这一相关知识,从而辅助大模型推断出待测文本关于“Hillary Clinton”的立场为支持。
受此启发,提出一种基于上下文学习和语义检索增强的零样本立场检测方法。针对未见对象的待测文本,使用已有其他对象的标注数据构建语料库,以从中挑选可供借鉴的相关样本。此外,为了筛选相关的样本,设计了一种基于语义相似度匹配的筛选方法,该方法自动检索与待测文本语义最相似的样本,形成候选的样例集合。随后,结合任务描述对这些样例和待测文本进行格式化,并组成上下文提示输入到LLM以进行语义理解和立场推理。在多领域推文数据集SEM16[1]和大型新闻评论数据集VAST[7]的实验结果表明,方法相比原始LLM取得了更好的零样本立场检测性能,验证了该方法的有效性。

1 相关工作与技术

1.1 零样本立场检测

零样本立场检测旨在自动识别未见过对象的立场,相比跨目标立场检测,它可以更准确地评估模型在现实应用场景中的泛化能力。为了处理零样本立场检测,文献[7]通过注意力机制,使用主题聚类建立广义的主题表示,从而隐式地抽取不同对象间的关系。文献[8]从外部常识知识库引入对象和文本中相关实体的关系知识,并通过图卷积神经网络建模二者的语义和结构关系,从而促进对象和文本之间关系信息的传递。文献[9]采用自监督的代理任务把立场特征分为对象相关和对象无关两种类别,通过分层的对比学习以区分不同的立场特征和立场类别。文献[11]从维基百科中引入对象的摘要信息,以补充文本中缺失的对象常识知识,从而提高模型关于对象和文本语义的理解。

然而,这些方法都需要借助标注数据进行模型微调,随着训练数据的扩充,微调的成本也会快速增长。文献[12]测试了ChatGPT在零样本立场检测中的表现,虽然在一些对象上取得了较好的结果,但忽略了已有标注数据中可供参考的样本,且由于ChatGPT是闭源模型,无法确定其在训练过程中是否存在数据污染。

1.2 上下文学习

随着语言模型的规模不断扩展,其逐渐展现出上下文学习的能力,即根据上下文提供的若干例子进行学习。相关研究表明,大语言模型通过上下文学习,可以显著提升其在常识推理、数学运算等复杂任务中的表现[14]。这种推理能力的增强,也有助于大模型更深入地理解文本语义,进而更准确地推理其关于待测对象的立场。

根据文献[13],上下文学习使用特定任务的语言描述和(或)若干相关任务样例组成一段上下文示范,然后联合待测问题作为大语言模型的输入提示。不同于监督学习通过梯度反向传播以更新模型参数,ICL不更新模型的任何参数,而是激励LLM参考提示示范学习隐藏的任务分类模式,从而对待测样本做出正确的预测[15]。受此启发,尝试提出一种基于语义检索的上下文学习策略,使用已有的标注数据构建语义相似的示范样例,激励LLM参考这些样例进行任务理解,并从中学习相关的知识。

2 方法

2.1 问题描述

假设已有一组有标注的立场数据集DS={(xsi,tsi,ysi)}i=1NS,其中ysi是文本xsi关于对象tsi的立场标签,Ns是训练集的样本数量。对于一组待测数据Dd={(xdi,tdi)}i=1Nd,其中tdi是文本xdi对应的立场对象,且Dd中的任何对象在训练集Ds中未出现过,零样本立场检测的任务目的是使用数据集Ds训练模型并对Dd中样本进行预测,从而为其中的每条文本分配一个立场标签(支持、反对或中立)。

结合前述分析,下面详细描述本文提出的基于上下文学习和语义检索增强的零样本立场检测方法,该方法的完整技术框架图如图1所示,其主要包括3个模块:语义检索增强模块、提示设计模块和推理预测模块。第1个模块通过语义相似度检索相关的样例,第2个模块结合任务描述、选定的样例和输入查询设计输入大模型的上下文提示,最后的推理预测模块针对未见的对象进行立场推理。

2.2 语义检索增强模块

传统的上下文学习方法通常针对待测数据选取一组固定的示范样例,这种方法选取的样例往往与待测样本的相关性不强,使得其在大模型推理未见对象的立场时提供的借鉴作用有限,因此限制了大模型的上下文学习能力。人类在推理某段文本关于新对象的立场时,通常会参考语义相似的范例辅助理解和判断,受这一思想启发,着重选择与待测文本具有相似语义的样本作为示范样例,从而增加所选样例的多样性和待测数据的相关性。

为了获取相似的示范样例,设计了一种基于语义相似度匹配的筛选方法,通过把已有关于其他对象的标注样本作为候选语料库,针对每条待测文本,以语义相似度作为衡量标准,在候选语料库中进行相似匹配并检索顶部k个最相关的样本。具体来说,首先使用预训练的句向量编码器,对待测文本和候选语料库中的每条文本进行嵌入表示。然后,逐个计算语料库中每个文本向量与待测文本向量的余弦相似度,通过比较从中选取相似度最高的 k条文本。最后,把所选文本和其对应的立场对象与标签组合在一起,获取一组针对待测文本的样例集合E={(xsi, tsi, ysi)}i=1k

2.3 提示设计模块

选定示范样例后,需要进一步把它们整合格式化为输入大模型的提示。一种直接的方法是设计详细的任务描述,并与示范样例和输入查询按顺序拼接,尽管这样所得提示的信息量较为丰富,但影响了语义的连贯性和清晰度,从而在一定程度上阻碍了大模型对目标任务的准确理解。同时,大模型的上下文窗口长度即可容纳的提示长度也是有限的。鉴于此,没有使用复杂的任务描述,而是简要地陈述任务,并以问答的形式融合各个要素以保证所得提示在语义和结构上的清晰性。

为了生成清晰的提示,首先给出一段简洁的任务描述,用于指导大模型理解立场检测:what’s the attitude of the tweet delimited by triple quotes to the target “<target>”. select from “favor, against or neutral”。其中,<target>表示具体的立场对象,并指定使用支持、反对和中立3种类别进行立场分类。随后,如式(1)所示,基于上述任务描述,将前述选定的样例集合E格式化为上下文示范C。具体而言,对于集合E中的每个样例xsi, tsi, ysi,执行下列步骤:1)把给定的立场对象t si嵌入在任务描述中;2)把较长的用户文本xsi单独置于任务描述之后,并使用三重引号作为分隔,以避免语义混淆;3)以插入语的形式补充说明该样例对应的立场标签ysi。从而完成对这条样例的格式化处理。

C={f(I, xs1, ts1, ys1),, f(I, xsk, tsk, ysk)}

式中:I表示立场检测的任务描述;fI, xsk, tsk, ysk是对第k个候选样例进行格式化的函数。

最后,类似上述步骤,给定测试集的一条待测数据(xdi, tdi),对其进行相似的格式化处理,并将其添加在已得到的上下文示范后面,从而组成输入大模型的指令提示P,如式(2)所示。

P={C, f(I, xdi, tdi)}

式中:I表示立场检测的任务描述;fI, xdi, tdi是对待测数据进行格式化的函数。

例如,图1展示了为待测数据构建上下文提示的过程。首先,把待测文本和候选语料库输入编码器进行语义嵌入。随后,基于语义相似度检索,筛选出与待测文本最相关的样例集合。接着,结合任务描述,对筛选出的样例和待测文本进行格式化处理,分别生成上下文示范和输入查询。最后,把输入查询拼接在上下文示范之后,形成完整的上下文提示。

2.4 推理预测模块

对于一条待测样本(xdi, tdi),通过前述的语义检索增强和提示设计模块,已为其生成了融合任务描述和上下文示范的提示Pi。以该提示作为输入,大语言模型通过上下文学习的方式进行内容理解,并推理这条待测文本蕴含的关于给定对象的立场,即

y^(xdi, tdi)=LLM(Pi)

式中:Pi表示为该样本构建的提示;LLM(Pi)表示大模型以该提示执行推理预测;y^表示大模型关于该样本的立场预测结果。

3 实验结果与分析

3.1 数据集和评价指标

实验采用零样本立场检测研究常用的两个数据集SEM16、VAST,以验证所提方法的有效性。关于这两个数据集的信息描述如下。

1)SEM16[1]。该数据集含有6个立场对象,分别是唐纳德特朗普(Donald Trump, DT)、希拉里克林顿(Hillary Clinton, HC)、女权运动(Feminist Movement, FM)、堕胎合法化(Legalization of Abortion, LA)、无神论(Atheism, AT)和气候变化(Climate Change, CC)。每个样本的立场可以被分类为支持、反对或中立。遵循之前的零样本立场检测研究[9-11],依次选取每个对象作为测试对象,并使用另外5个对象的标注数据作为语义检索的候选语料库。该数据集的统计数据如表1所示。

2)VAST[7]。该数据集通过收集《纽约时报》“辩论空间”版块的评论文本进行人工标注,其中涵盖了大量关于政治、教育和公共卫生等领域的立场对象。每个样本的立场也可以被分类为支持、反对或中立。该数据集的统计数据如表2所示。与之前的工作[7]保持一致,使用训练集和验证集作为语义检索的候选语料库,并使用测试集评估本文提出的零样本立场检测方法。

对于SEM16数据集,遵循文献[9-11],使用支持和反对立场的F1平均值Favg作为评估指标,并计算所有对象的Favg平均值(Avg),记为平均值F1,以衡量在该数据集上的整体性能。此外,之前的工作通常把中立立场视为不感兴趣的任务标签,然而在现实场景中,中立立场往往更容易受影响而发生变化,具有重要研究价值,因此进一步测试了所提方法在支持、反对和中立这3类立场上的F1平均值,即Favg_3,以衡量模型的细粒度立场检测性能。对于VAST数据集,遵循文献[9-11],分别计算每类立场的宏平均F1值,并统计3类立场关于该指标的平均值,记为宏平均值F1,以衡量模型的整体性能。

3.2 实验设置

采用开源的11B大语言模型Flan-T5-XXL[16]进行上下文学习以完成零样本立场检测,该模型在预训练后还进行了大量的指令微调,从而可以更稳定地输出指定的立场标签。此外,根据调研,该模型训练过程中未使用立场检测的相关数据集,因此可以更公平地评估这一任务。为了使实验结果具有统计稳定性,基于PyTorch框架把模型置于eval模式,使得对同一样本的预测始终保持一致。

在语义检索增强模块中,基于Sentence-BERT框架[17],使用其中的all-mpnet-base-v2模型作为编码器,进行立场文本的向量嵌入。此外,为待测样本筛选的样例数量k也受到大模型上下文窗口长度的限制,采用的Flan-T5-XXL模型,其上下文窗口长度为512个token,为避免提示文本越过窗口,样例数量需合理控制。经实验验证,对于SEM16数据集,k至多取4;而对于VAST数据集,由于其评论文本更长,k的最大值为2。结合第3.5节对k取值的分析,为充分发挥该方法的性能,在上述范围内选取最大值作为样例数量。

3.3 基线模型

将提出的方法简记为“SRICL-Flan-T5”,并与以下9个强基线进行比较:1)基于神经网络的方法:BiCond[4];2)基于注意力机制的方法:CrossNet[6]、TGA Net[7];3)基于图神经网络的方法:BERT-GCN[8]、CKE-Net[8]; 4)基于对比学习的方法:PT-HCL[9]、MPCL[10];5)基于外部知识的方法:TarBK-BERT[11];6)基于LLM的方法:ChatGPT[12]

此外,为了验证本文方法相对原始大模型的有效性,使用2.3节的任务描述提示大模型进行零样本立场检测以表征其初始性能,记为“Flan-T5”。为验证示范样例选择方法的有效性,在消融实验中去除基于语义相似度匹配的筛选过程,并从语料库随机选取k个样本组成样例集合以进行提示设计,对应记为“w/o Retrieve”。

3.4 主要结果

实验结果如表3所示,其中,“—”表示相应论文未在该对象或标签上报告结果。可以看到,本文方法SRICL-Flan-T5在SEM16和VAST数据集上的平均表现分别超过原始大模型3.7%和9.2%。如表4所示,该方法在SEM16数据集上的细粒度检测平均性能在原始大规模基础上也提高了7.1%。这些结果充分展示了该方法在零样本立场检测任务中的有效性。并且通过引入相关样例进行上下文学习,可以增强大模型对任务的理解以及结合相关知识以进行立场推理的能力。

此外,观察表3可以发现,基于大模型提示的一类方法在SEM16数据集上的整体性能一致地超过了所有基线,并且在VAST数据集的长文本立场检测中仅次于基于对比学习和外部知识的微调模型,显示了这类方法在零样本立场检测研究中具有巨大的潜力。

最后,对比ChatGPT,限于本文采用大模型的规模和训练成本,其在SEM16数据集的部分对象和VAST数据集上的初始性能与ChatGPT还存在一定差距。然而,从表3可以看到,通过应用本文方法,这一差距在SEM16上逐渐缩小,并在VAST上超越了ChatGPT。这表明,通过结合适当的提示策略,规模较小的开源模型也可能取得与ChatGPT相竞争甚至更好的零样本立场检测表现。

3.5 消融实验

为了分析SRICL-Flan-T5中示范样例选择方法对性能的影响,进行了消融实验,并在表3表4中报告了结果。可以看到,删除基于语义相似度匹配的筛选过程(“w/o Retrieve”)后,模型在两个数据集上的整体性能都有所下降。这表明,在上下文窗口长度有限的情况下,虽然两种方法选择的样例都可以增进大模型对任务的理解,但相比随机选择,基于语义相似度匹配方法筛选的相关样例更有利于大模型结合相关的知识以理解待测文本的语义,并在此基础上更准确地完成立场推理。

3.6 参数k的影响

为了分析不同数量的示范样例对大模型上下文学习的影响,在两个数据集上采取不同的k值进行了实验,结果如图2所示。横轴表示样例的数量。对于VAST数据集,纵轴表示各类立场标签的宏平均F1值;对于SEM16数据集,纵轴表示其中各个对象的平均F1值。

可以看到,随着k从0增加到2,性能有了相当大的提高,这表明在提示中引入相关的示范样例对大模型的立场推理非常有利。随着k值继续增加,模型在SEM16数据集上的性能提升变得非常缓慢,这意味着继续增加样例可能会为大模型的上下文学习引入一些冗余甚至无关的信息,并且更多的样例也会产生更长的提示文本,从而导致大模型在立场推理时产生更大的计算开销。因此,在实际的应用场景中,可以通过平衡资源消耗与任务性能,以选择一个合适的k值。

4 结束语

提出一种通过引入任务描述和语义相似的样例进行上下文学习,以提示大语言模型解决零样本立场检测的新方法。其中,任务描述可以深化大模型对立场检测任务的认识,语义相似的样例可以补充相关的知识以辅助大模型更准确地理解待测文本并推理其立场。此外,还设计了一种基于语义相似度匹配的筛选方法,用于选取与待测文本语义相似的样本以最大限度地引入相关知识。在两个基准数据集的实验结果表明,该方法大幅度提高了大模型的零样本立场检测性能。尽管没有对大模型微调,该方法在SEM16数据集上的综合性能也优于之前基于微调的代表方法,并在VAST数据集上超过了ChatGPT。

参考文献

[1]

MOHAMMAD SKIRITCHENKO SSOBHANI P, et al. Semeval-2016 task 6: detecting stance in tweets[C]∥Proceedings of the 10th International Workshop on Semantic Evaluation (SemEval-2016). Stroudsburg,USA:ACL,2016. DOI:10.18653/Vi/S16-1003 .

[2]

姜梦函,李邵梅,吴子仪,多模态特征融合的中文谣言检测[J]. 信息工程大学学报202223(4):485-490.

[3]

CAO RLUO XXI Y, et al. Stance detection for online public opinion awareness: an overview[J]. International Journal of Intelligent Systems202237(12):11944-11965.

[4]

AUGENSTEIN IROCKTÄSCHEL TVLACHOS A, et al. Stance detection with bidirectional conditional encoding[C]∥Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. Stroudsburg,USA: ACL, 2016:876-885.

[5]

苏致中,席耀一,陈宇飞,面向社交媒体立场检测的数据增强方法[J].信息工程大学学报202223(1):58-65.

[6]

XU CPARIS CNEPAL S, et al. Cross-target stance classification with self-attention networks[C]∥Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers). Stroudsburg, USA: ACL, 2018:778-783.

[7]

ALLAWAY EMCKEOWN K. Zero-shot stance detection: a dataset and model using generalized topic representations[C]∥Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, USA: ACL, 2020:8913-8931.

[8]

LIU RLIN ZTAN Y, et al. Enhancing zero-shot and few-shot stance detection with commonsense knowledge graph[C]∥Proceedings of Findings of the Association for Computational Linguistics:ACL-IJCNLP. Stroudsburg,USA:ACL,2021:3152-3157.

[9]

LIANG BCHEN ZGUI L, et al. Zero-shot stance detection via contrastive learning[C]∥Proceedings of the ACM Web Conference. New York, USA: ACM,2022:2738-2747.

[10]

JIANG YGAO JSHEN H, et al. Zero-shot stance detection via multi-perspective contrastive learning with unlabeled data[J]. Information Processing & Management202360(4):3361-3375.

[11]

ZHU QLIANG BSUN J, et al. Enhancing zero-shot stance detection via targeted background knowledge[C]∥Proceedings of the 45th International ACM SIGIR Conference on Research and Development in Information Retrieval. New York, USA: ACM, 2022:2070-2075.

[12]

ZHANG BDING D JJING L W, et al. How would stance detection techniques evolve after the launch of ChatGPT?[EB/OL]. (2023-04-10) [2024-03-02].

[13]

LIU J CSHEN D HZHANG Y Z, et al. What makes good in-context examples for GPT-3?[EB/OL]. (2021-01-17) [2024-03-01].

[14]

车万翔,窦志成,冯岩松,大模型时代的自然语言处理:挑战、机遇与发展[J].中国科学:信息科学202353(9):1645-1687.

[15]

BROWN TMANN BENJAMINRYDER N, et al. Language models are few-shot learners[C]∥Proceedings of the 34th International Conference on Neural Information Processing Systems. Red Hook, USA: Curran Associates Inc., 2020:1877-1901.

[16]

CHUNG H WHOU LLONGPRE S, et al. Scaling instruction-finetuned language models[EB/OL]. (2022-12-06) [2024-03-02].

[17]

REIMERS NGUREVYCH I. Sentence-BERT: sentence embeddings using siamese bert-networks[EB/OL]. (2019-08-27) [2024-03-12].

基金资助

河南省自然科学基金(222300420590)

AI Summary AI Mindmap
PDF (760KB)

565

访问

0

被引

详细

导航
相关文章

AI思维导图

/