查看原文
其他

ChatGPT用于数据标注是否可行:基于推特分类、生成内容排序任务的代表性实验报告介绍

AINLP 2023-04-04

The following article is from 老刘说NLP Author 刘焕勇

在之前的文章中,我们谈到,目前chatgpt模型在一些NLP下游任务中已经展现出了其Zero shot的能力,其可以在没有标注数据的情况下,在分类任务、抽取任务上有着不错的效果。

实际上,基于大模型完成数据标注和数据增强也是一个大用处,而社区朋友则提出了两个经典问题:

1、利用chatgpt来标注语料,然后再利用Bert等模型来训练的方式是不是奇怪?

2、chatGPT用来做数据标注,再去训练模型,是不是有点本末倒置,为什么不直接chatGPT 干下游任务?

这其实要回答的话,更多的是需要从算力、场景适配成本的角度上去说,如上图所示。

但其中有个很核心的问题就是:ChatGPT这类模型,真的具有很好的标注能力么?这是上述回答成成立的条件。

带着这个问题,本文主要介绍《ChatGPT Outperforms Crowd-Workers for Text-Annotation Tasks∗》以及《Exploring ChatGPT’s Ability to Rank Content: A Preliminary Study on Consistency with Human Preferences》两篇文章,供大家一起参考。


一、ChatGPT在分类标注任务的表现

文章《ChatGPT Outperforms Crowd-Workers for Text-Annotation Tasks》是近期的一个文章,作者如下:

该工作认为,许多NLP应用需要手动地标注数据来完成各种任务,特别是训练分类器或评估无监督模型的性能。

根据规模和复杂程度,这些任务可能由MTurk等平台上的外包标注工作者以及训练有素的标注人员(如研究助理)执行。为了获取大量的标注数据,主要有两种主要的策略可用。

首先,研究人员可以招募和培训标注人员,比如研究助理。

其次,他们可以依靠亚马逊土耳其机器人(MTurk)等平台上的众包人员。

通常,这两种策略结合使用:训练有素的标注人员创建相对较小的黄金标准数据集,并雇用众包人员来增加标记数据的数量。

不过,每种策略都有其优点和缺点。

训练有素的标注人员倾向于生成高质量的数据,但成本很高。

众包工作者是一个更便宜、更灵活的选择,但质量可能不够,特别是对于复杂的任务和非英语语言。

此外,有人担心MTurk数据质量下降(Chmielewski和Kucker, 2020),而CrowdFlower和FigureEight等替代平台被专注于商业市场的Appen公司收购后,就不再是学术研究的可行选择。

该工作证明了ChatGPT在包括相关性、立场、主题和帧检测在内几个任务上优于众包工作者。

该工作构建了2382条推文样本,依靠训练有素的标注人员(研究助理)为五个具有不同数量类的概念类别构建了一个评测基准,包括推文与内容审核问题的相关性(相关/不相关);对美国互联网立法的关键部分第230条的立场(保持/废除/中立);主题识别(六类)几种类型。

在准确性方面,图1显示ChatGPT在五分之四的任务中优于MTurk。

首先,在这四个任务中,在(相关性)场景下,ChatGPT略有优势,但其性能与MTurk非常相似。在其他三种情况下(帧I、帧II和姿态),ChatGPT的性能是MTurk的2.2 - 3.4倍。

其次,图1显示,当温度参数设置为4为0.2时,ChatGPT的性能非常高,所有任务的性能都超过95%。即使默认温度值为1(这意味着更多的随机性),标注结果之间的一致性也始终超过84%。标注结果之间的一致性和准确性之间的关系是积极的,虽然很微弱(Pearson的相关系数:0.17)。

尽管相关性仅基于5个数据点,但它表明较低的温度值可能更适合注释任务,因为它似乎可以增加结果的一致性,而不会显著降低准确性。

此外,考虑到任务的难度、类别的数量以及标注是zero-shot的事实,ChatGPT的准确性水平总体上是足够的。在相关性方面,有两个类别(相关/不相关),ChatGPT的准确率为72.8%,而在立场方面,有三个类别(积极/消极/中性),ChatGPT的准确率为78.7%。随着类别数量的增加,准确性会下降,尽管任务的内在难度也会发挥作用。

此外,ChatGPT的每个标注成本不到0.003美元,大约比MTurk便宜20倍,这些结果显示了大型语言模型在大幅提高标效率方面的潜力。

二、ChatGPT 在分类标注任务上的实验数据与研究方法

1、Twitter Data

该工作使用了为之前的研究收集的关于内容审核问题的推文(Alizadeh et al, 2022)。原始数据集涵盖了2020年1月至2021年4月期间发布的所有包含相关关键字和标签的推文(2,586,466条原始推文,154,451条引用转发,3,445,376名独立用户转发6,991,897条推文)。

在这项研究中,专注于由训练有素的标注人员标记的2382条推文的子集。

2、Text Classification Tasks

该工作实现了几个文本分类任务:

(1)相关性:一条推文是否与内容审核有关;

(2)主题检测:一条推文是否涉及一组预先定义的六个主题(即第230条,特朗普禁令,投诉,平台政策,推特支持等);

(3)立场检测:一条推文对废除第230条(美国内容审核的核心立法)是赞成、反对还是中立;

(4)一般帧检测(“帧”):一条推文是否包含一组对立的帧,我们称之为“问题”帧和“解决方案”帧。解决方案框架描述了所有将内容审核问题作为其他问题(如仇恨言论)解决方案的推文。另一方面,问题框架描述了所有将内容审核本身以及其他问题(例如,言论自由)视为问题的推文;

(5)策略框架检测(“frames II”):一条推文是否包含(Card et al, 2015)中提出的14个策略框架的集合。

3、Human Annotation

该工作训练了一个由两名政治学研究生组成的团队,为上述所有五个任务的推文进行标注,为了计算ChatGPT和MTurk的准确性,只考虑了经过训练的标注人员都同意的推文。

4、Crowd-Workers Annotation

该工作雇佣了MTurk工人来标注与人工标注和ChatGPT相同的任务集。为了最大限度地提高标注质量,

一方面访问任务的权限限制为被亚马逊归类为“MTurk大师”的员工,他们的HIT(人类智能任务)审批率超过90%

另一方面,为了确保任何工作人员都不能为给定的任务注释超过20%的推文,与训练有素的人工注释员一样,每条推文都由两名不同的人群工作者进行注释。

5、ChatGPT Annotation

该工作使用带有“gpt-3.5-turbo”版本的ChatGPT API对推文进行分类,标注的时间为2023年3月9日至3月20日。

对于每一个标注任务,都使用相应的标注指令文本来提示ChatGPT,并有意避免添加任何特定于ChatGPT的提示,如“让我们一步一步地思考”,以确保ChatGPT和MTurk人群工作者之间的可比性。

在测试了几个变体之后,该工作决定使用以下提示将推文一条一条地提供给ChatGPT:

“这是我选择的推文,请将其标记为[任务特定指令(例如'指令中的一个主题')]。

在实验中,该工作将temperature参数设置为1(默认值)和0.2(这使输出更加集中和确定,而不是更高的值,这使输出更加随机),以探索所有任务之间的差异。

对于每个temperature设置,为每条推文收集了四个ChatGPT回复,并为每条tweet创建一个新的聊天会话,以确保ChatGPT结果不受注释历史记录的影响。

6、Evaluation Metrics

为了得到较为公正的测试效果,该工作将训练有素的人类注释作为测试基准,并将ChatGPT和MTurk众包工作者的表现与之进行比较。

具体地:

首先,计算平均准确率(即正确预测的百分比),即正确分类实例的数量占待分类案例总数的比例;

然后,比较ChatGPT、MTurk crowd-worker和训练有素的人工标注之间的一致性,即计算给定组中两个标注器报告相同类的实例的百分比。

三、ChatGPT在排序标注任务上的表现

ChatGPT用于数据标注的工作已有多个,例如,Tang等人利用ChatGPT生成高质量的合成数据,减少了数据收集和标记所需的时间和精力,同时还解决了数据隐私问题,增强了执行临床文本挖掘的能力,这说明了ChatGPT作为数据标注工具的优势。

此外,除了生成和注释数据之外,ChatGPT还是一个很好的文本评估器。

例如,koccmi和Federmann(2023)使用ChatGPT评估翻译模型结果,发现其准确性在WMT22的Metrics共享任务中达到了SOTA。Wang等人(2023)评估了ChatGPT在NLG任务上的性能,发现它超过了以前广泛使用的自动NLG指标,实现了与人工注释结果的最高一致性。

与komi和Federmann(2023)和Wang等人(2023)的工作类似,Exploring ChatGPT’s Ability to Rank Content: A Preliminary Study on Consistency with Human Preferences》关注的是ChatGPT对不同模型的生成内容进行排序的能力,通过系列的实验评估了ChatGPT对内容进行排名的能力。

为了探讨了这个问题,该工作构建了一组提示,涵盖了典型的NLP任务、头脑风暴、文章生成和其他开放式任务。对于每个提示,采用五个模型生成响应,然后指示ChatGPT对这些模型生成的响应进行排序。

通过将ChatGPT的排名结果与人类的偏好注释进行比较,该工作发现:ChatGPT的排名偏好与人类具有一定程度的一致性,而基于这一发现,可以利用ChatGPT的zero-shot排序功能来获得更多的标注数据,可以减少许多排序任务中的标注压力,并提高模型在排序任务中的性能。

例如,在RLHF Ouyang et al (2022);Bai等人(2022a), ChatGPT可用于构建一组初始偏好标注数据,用于引导奖励模型。

换句话说,ChatGPT也可以被认为是一个奖励模型,以评估SFT模型生成的响应的质量。不过,这样训练的SFT模型可能永远无法超越ChatGPT,因为它不断地适应ChatGPT的偏好。

四、ChatGPT用于排序标注任务评估的具体方法

1、评估流程

为了使ChatGPT能够完成排序任务,该工作设计了两种类型的提示:逐个排序提示和通用排序提示,流程如下图所示:

第一个提示如下:

请给答案打分,从1到5分

其中:如果响应不符合指令要求,则为1分,只给一个分数,不需要额外的解释。“指令”:“……”、“响应”:“……”

在这个提示中,“Instruction”来自测试集,“Response”由模型生成,因此,实际上需要ChatGPT来根据以下用户指令评估模型。

第二个提示如下:

给定一个JSON文件,其中包含一条指令和五个可能的响应,请对这些响应的质量进行排名,并返回排名响应的索引,不需要额外解释,{"指令":"…、“回应1”:“…、“回应2”:“…、“回应3”:“…、“回应4”:“……、“回应5”:“……

在本例中,提示符包括一条指令和五个响应,并要求ChatGPT立即对这些响应进行排序。

2、评估数据集

为了评估ChatGPT作为综合内容的能力注释器的偏好,所用数据集中包含了各种各样的NLP任务,以及诸如头脑风暴和开放QA等开放式指令,这来自欧阳等人(2022)所描述的常见在线用例,采用的prompt如下所示:

3、评估模型

该工作主要研究汉语文本,在模型选择上,由于LLAMA Touvron et al(2023)、OPT Zhang et al(2022)、GPT-J Wang and Komatsuzaki(2021)等模型在中文中没有进行特别优化,因此选择Bloomz Muennighoff et al(2022)系列模型作为基线模型之一,这些系列模型的预训练数据包含了更多的中文文本,并对中文语料库进行了进一步的多任务微调。

总共采用了以下模型用于生成对每个提示的响应:

1)Bloomz-176b-mt :Workshop等人(2022);Muennighoff等人(2022),该模型在基于Bloom-176b的xP3mt数据集上进行了进一步的指导微调,并在一定程度上获得了一般的提示理解能力。

2)Bloomz-7b1-mt :Workshop等(2022);Muennighoff等人(2022),这与Bloomz-176b-mt相同,但有71亿个参数。

3)text -davinci-003:由OpenAI开发,并通过RLHF Ouyang等人(2022)训练生成各种格式的高质量自然语言文本;Bai等(2022a)。

4)ChatGPT:类似于Text-davinci-003,但特别优化,可以对人类提示生成类似人类的响应。

5)InstrLLM:该工作自己的模型。InstrLLM有70亿个参数,并在各种提示-响应对的集合上进行了微调。

4、人工喜好排序标注

为了从模型生成的响应中获得人类偏好标注,该工作将这些数据分发给129名同事进行标记,其中90%的人拥有学士学位或更高学位。对于每个提示及其对应的模型响应,三个标注人员分别对它们进行排名,最终排名是这三个的平均值。其中,有30个经验丰富的软件开发人员标注相关提示。

5、评估方法

该工作采用Spearman相关系数来评价人类偏好与ChatGPT偏好之间的一致性此外,还计算了top 1的人类偏好一致性率,以评估人类和ChatGPT之间的第一等级模型的一致性。

6、主要结论

表2的结果表明:ChatGPT与人类偏好的一致性令人印象深刻。

例如,one by one提示比one for all更符合人类,特别是在头脑风暴、生成和开放QA提示方面,这主要是因为在执行一对一提示时,由于长度限制,响应会被截断。与此同时,从top 1的一致性比率来看,在所有类型的提示中,逐个提示优于逐个提示。ChatGPT在头脑风暴和生成提示方面与人类更加一致,并且在其他用例中仍有改进的空间。

这主要有两个主要原因。第一个是这些提示对于五个模型来说都比较难,所以生成的响应质量相对较低,很难判断哪个更好。第二,要评估这些提示的反应,ChatGPT需要有很强的知识和推理能力。

7、模型对比

图3和图2所示中展示了在六个不同的用例中五个模型比较的结果:

从中,我们可以看到在所有模型中,ChatGPT展示了最好的性能,在所有用例中得分都超过了4分。紧随其后的是Text-davinci-003,从人的角度来看,ChatGPT与Textdavinci-003的差距较大,而从ChatGPT的角度来看,差距较小。

值得注意的是,该工作自有的InstrLLM总体上优于bloomz-176b-mt,特别是在头脑风暴、生成和数学方面。InstrLLM擅长头脑风暴和生成任务,这可能是因为它的训练数据集中有大量的开放式提示。

在图3中,自有模型在NLP任务中表现最差,这主要是由于对人类指令的过度拟合。

有趣的是,从ChatGPT的角度来看,自有模型与Text-davinci-003相当,但bloomz-176b-mt, bloomz-7b1-mt仍然比Text-davinci-003差得多,这说明ChatGPT在评价内容时还不够细致,不能注意到很多细节,比如真实性和伦理性。当涉及到代码和数学相关的提示时,ChatGPT可能无法检查代码执行和数学计算的正确性。

总结

本文主要介绍《ChatGPT Outperforms Crowd-Workers for Text-Annotation Tasks∗》以及《Exploring ChatGPT’s Ability to Rank Content: A Preliminary Study on Consistency with Human Preferences》两篇文章,从中我们可以看到,ChatGPT在分类任务以及排序任务上,都能够达到不错的标注效果,这其实又在一定程度上验证了Chatgpt可以左脚踩右脚地实现标注数据,并提升标注效率。

当然,在实际的落地场景中,我们更需要结合实际的任务情况来评估是否采用这种方式,毕竟,在包括抽取这类较为结构化精细的任务中,其效果还有待评估,并且为了避免garbage in , garbage out问题的出现,总会需要有人工来进行二次确认。

参考文献

1、https://arxiv.org/abs/2303.15056

2、https://arxiv.org/abs/2303.07610

进技术交流群请添加AINLP小助手微信(id: ainlp2)

请备注具体方向+所用到的相关技术点

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。




阅读至此了,分享、点赞、在看三选一吧🙏

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存