【Spark NLP】第 18 章:人类标签

news2025/2/25 1:21:46

  🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎

📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃

🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​

📣系列专栏 - 机器学习【ML】 自然语言处理【NLP】  深度学习【DL】

 🖍foreword

✔说明⇢本人讲解主要包括Python、机器学习(ML)、深度学习(DL)、自然语言处理(NLP)等内容。

如果你对这个系列感兴趣的话,可以关注订阅哟👋

文章目录

术语说明

指导方针

场景:学术论文分类

在哪里可以找到贴标机

标签者间协议

迭代标记

标记文本

分类

标记

清单

结论


我们在本章的部分内容中提到了人类标签。在本章中,我们将考虑人类如何实际为不同类型的 NLP 任务进行标记。一些原则(例如指南)适用于一般标签。NLP 标记任务所需的大多数特殊考虑是围绕技术方面和处理语言任务时的隐藏警告。例如,要求某人标记词性要求他们了解词性是什么。让我们首先考虑一些基本问题。

关于您的实际输入是什么,可能值得考虑一下。例如,如果您正在为分类任务标记文档,则输入是显而易见的——文档。但是,如果您正在标记命名实体,人类不需要查看整个文档即可找到它们,因此您可以按段落甚至句子将其分解。另一方面,我们在第 9 章中讨论过的共指解析可能具有长距离的共指,因此您可能需要对整个文档进行人工处理。

要考虑的另一件事是您的任务是需要领域专业知识还是只需要一般知识。如果您需要专业知识,收集标签可能需要更多时间和金钱。如果你不确定,你可以做一个实验来找出答案。让一组非专家以及一位专家(或一组专家,如果可能的话)标记数据的子集。如果非专家和专家有足够高的一致性,那么你可以在没有专家标签的情况下度过难关。我们将在本章后面讨论标签商之间的协议,衡量标签商达成一致的频率。

在进行贴标时,我们首先需要考虑的是为贴标者定义任务。这是一个有时会引起争议的话题,因为对于您应该给予多少指导意见不一。

术语说明

有许多用于标注和标注的人的术语:标注/标注者、评级/评分者、评判/评判等。还有许多用于评估标注者的预标注示例的术语——基本事实集、黄金集, 等等。在本章中,我将使用“labeling/labelers”和“golden set”。

指导方针

指南是告诉贴标机如何完成任务的说明。任务所需的详细信息量通常是有争议的。幸运的是,您可以牢记一些经验法则。首先,确保您的指南反映了对产品的预期。例如,如果您正在为垃圾邮件分类器收集标签,您需要清楚垃圾邮件的含义. 人们有时将新闻通讯和其他自动电子邮件称为垃圾邮件。您的模型不仅可以近似于人工贴标签的过程,还可以作为产品特征。这意味着我们可以使用两组期望来明确定义我们的任务。我喜欢从思想实验开始。如果我忘记了所有的时间和预算限制并雇佣了一大群贴标师来开发我的产品怎么办?我会告诉他们什么对客户是必要的?答案是指南的基础。

既然我们对任务有了一个很好的定义,我们还有一些其他的考虑。第二条规则是避免过度限制正确的标签是什么。有些任务自然是模棱两可的。如果你试图约束这种自然的歧义,你可能会引入一些问题。第一个问题是您将在模型中引入偏差。第二个问题是,如果你不自然地约束问题,你可能会导致贴标者在你没有考虑到的情况下给出错误的结果。让我们考虑一个场景来使这个想法更具体。

场景:学术论文分类

我们将从上一章中提取我们的场景。我们正在构建一个应用程序,该应用程序接收多种语言(英语、法语、德语和俄语)的研究论文,并根据它们所属的学术部门对它们进行分类——例如,数学、生物学和物理学。我们的标签库由来自各个部门的本科生和研究生组成。我们将随机分发文件,但我们会确保贴标人会说研究论文的语言。这意味着说英语和法语的语言学系本科生可能会得到法语的物理论文,但永远不会得到德语的论文。

让我们应用我们的第一条经验法则。我们产品的用户期望为每个文档正确分配部门标签。但是,有跨学科的论文,所以也许每个文件都没有一个正确的答案。这在正确和不正确之间创建了一个有点模糊的界限。我们可以定义一些简单的规则来合理地约束问题。物理论文将始终包含数学内容,但哲学和教学论文可能除外。然而,这并不意味着每篇带有物理标签的论文都应该有数学标签。事实上,假阳性的扩散比假阴性的扩散要糟糕得多。像这样的应用程序的用户可能正在搜索或浏览论文。如果几乎每篇物理论文都有数学标签,那么看数学论文的人将需要浏览所有物理论文。如果我们不支持多个标签,则意味着跨学科论文的可发现性会降低。我们可以通过与标签间协议和迭代标签技术相关的技术来解决后一个问题。不过,就目前而言,我们应该在我们的指南中明确指出,不允许贴标人指定多个标签。相反,我们将指示贴标者选择与给定文档最匹配的部门。我们应该在我们的指南中明确指出,贴标者不得指定多个标签。相反,我们将指示贴标者选择与给定文档最匹配的部门。我们应该在我们的指南中明确指出,贴标者不得指定多个标签。相反,我们将指示贴标者选择与给定文档最匹配的部门。

第二条经验法则是不要不自然地限制任务。似乎我们已经按照第一条规则做到了这一点。我们通过确保不止一个人看到每篇论文来开始减少这个问题。这确实意味着工作量将增加一倍或更多,具体取决于我们希望每篇论文有多少眼睛。

因此,我们的指南将指导我们的贴标者为每个文档选择最佳的部门标签。它会警告他们歧义是可能的。我们还需要在指南中包含示例。我通常喜欢展示几个标签容易辨别的清晰例子和一个模棱两可的例子。例如,将爱因斯坦关于狭义相对论的论文“论动体的电动力学”作为物理学论文的一个明显例子。您希望尽早为您的标注员做好准备以应对模棱两可的情况,这样他们在遇到模棱两可的示例时就不会脱轨。

即使使用外部贴标机(为不同组织工作的贴标机),最好在内部测试指南。我建议从你的团队中找一些人,让他们阅读指南并判断一些例子。在此之后,与您的产品负责人一起查看示例,如果可能的话,与利益相关者一起查看这些示例。写作指南迫使你写下你的许多假设。通过让其他人使用您的指南并评估结果,您可以检查这些假设。

现在我们有了指导方针,让我们来谈谈可以改进标签使用的一些技术。

在哪里可以找到贴标机

您在哪里找到贴标机取决于您的任务。如果您希望使用需要一般知识的公共数据为任务收集标签,您可以使用 Amazon Mechanical Turk 或 Figure 8 等众包解决方案。如果您需要专业知识,您也许可以使用众包,尽管它会更贵。如果该技能足够稀有,您可能需要寻找贴标者。

如果您的数据无法公开,那么您可能需要在自己的组织内招聘。为此,一些组织有自己的全职贴标员。

标签者间协议

贴标商间协议是贴标商之间的协议。该术语还用于指代由不同标记者标记相同的示例比例的度量。这个概念在人类标签中有很多用途。首先,我们可以使用它来确定我们的模型实际上可以预期的效果。例如,如果我们发现在我们的场景中,85% 的由多个标签器标记的文档具有相同的标签,那么我们知道,在这个任务模型上,在人类水平上执行可以预期获得 85% 的准确率。这并不总是正确的。如果任务只要求标注者批准基于模型的推荐,那么您很可能会看到更高的准确度。这是由于基于模型的推荐偏向于人类。

贴标商间协议的另一个用途是找到在任务上有困难的贴标商,或者没有努力实际贴标的贴标商。如果您发现某个贴标商与其他贴标商的一致率较低,您可能需要查看他们的工作。对此可以有许多可能的解释。以下是一些可能的原因:

  • 您的指导方针含糊不清
  • 他们对指南的解释与其他贴标者不同
  • 他们在这件事上拥有不同的专业知识,导致他们得出不同的结论
  • 他们没有阅读指南,也可能没有在标签上付出努力

在跳入恶意之前,您可能应该排除其他解释。如果它是前两种解释之一,您可以适当地调整您的指南。如果是第三种解释,那么你应该考虑他们的结论是否对你的产品有效。如果是这样,那么标签很好,但问题可能比您最初想象的要困难。如果结论无效,那么您应该在指南中提供有关此类示例的指导。如果您认为这是出于恶意,那么您应该丢弃这些标签,因为它们会给您的数据添加噪音。

您还可以使用您混合到未标记数据中的一组经过验证的标签示例来衡量标记质量。这个黄金集可以来自与您的数据相似的公共数据集,或者我们可以自己手动管理。即使您没有向多个贴标者展示示例,这也可以让您找到生产可能有问题的标签的贴标者。请记住,这些经过验证的标签可能仍基于您的假设,因此,如果您的假设错误,则可能会错误地认为贴标机正在生成不正确的标签。

可能对标签之间协议最有用的用例是找到模棱两可的例子。在您查看了标签之间的协议并认为标签质量良好后,我们可以考虑使用不同的标签作为示例,以表明它是否有歧义。首先,我们应该找到它的普遍性。如果四分之一的研究论文有多个标签,那么您可能希望将其视为多标签问题而不是多类问题。如果只有少数文档有多个标签,那么您可以简单地采用具有多数支持的标签,或者如果捆绑则随机。或者,您也可以将多个标签保留在验证集和保留集中。这将使您的训练数据保持一致,但不会因为您推荐有效的替代方案而受到惩罚。我们可以用来处理标签歧义的另一种技术是迭代标记。这让我们可以使用贴标机匿名检查彼此的工作。

标记文本

到目前为止,我们所涵盖的大部分内容都适用于一般的标签。让我们看一下在标记文本时应该牢记的一些特殊注意事项。

清单

考虑有关您的项目的以下问题:

  • 输入是什么(文档、句子、元数据等)?
  • 输入可以分解吗?
  • 此任务需要领域专业知识还是仅需要一般知识?
  • 指南清单

    • 我能解释一下这个任务如何支持产品的功能吗?
    • 这个任务有多模棱两可?能有多个正确答案吗?
    • 我对任务施加了哪些限制?
    • 谁可以和我一起测试这些指南?
  • 贴标商间协议清单

    • 我能否为所有示例配备多个贴标机?部分示例怎么样?
    • 我是否有一套黄金套装来衡量贴标机的正确性?
  • 迭代标签清单

    • 我的任务可以分成多个阶段吗?
    • 每个阶段我都有合适的贴标机吗?
  • 标签文本清单

    • 我在做什么样的文本标注任务?
    • 我的任务很大吗?它们可以做得更小吗?
    • 我的任务是否需要该语言的技术知识?

结论

收集标签是任何可以通过衡量人类判断来帮助的应用程序所需的宝贵技能。能够创建自己的标记数据可以使原本不可能完成的任务成为可能。

现在我们已经讨论了收集标签,让我们看看我们应该做什么来发布我们的应用程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2592.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

猿创征文c++学习之路的工具

目录猿创征文|c学习之路的工具工具1.Visual Studio工具2.印象笔记工具3.Git小乌龟工具4.pycharm工具5.msdn工具6.xshell工具7.xmind猿创征文|c学习之路的工具 工具1.Visual Studio 优点: 1.代码提示 2.非常棒的用户体验界面 3.支持c/c等等语言的库 4.优秀的数据库…

CSS的简单了解

目录 1、什么是CSS? 2、引入方式 (1、内部样式 (2、内联样式 (3、外部样式 3、选择器 4、CSS常用元素属性 (1、文本属性 (2、文本格式 (3、背景属性 (4、生成圆角矩形与圆…

【阅读笔记】多任务学习之MMoE(含代码实现)

本文作为自己阅读论文后的总结和思考,不涉及论文翻译和模型解读,适合大家阅读完论文后交流想法。 MMoE一. 全文总结二. 研究方法三. 结论四. 创新点五. 思考六. 参考文献七. Pytorch实现⭐一. 全文总结 提出了一种基于**多门混合专家(MMoE)**结构的多任…

MySQL数据库基础操作

目录 前言: 库的操作 创建数据库 显示所有数据库 选中数据库 删除数据库 MySQL数据类型 数值类型 字符串类型 日期类型 表的操作 创建表 显示数据库中所有表 查看表结构 删除表 小结: 前言: 🎉MySQL是关系型数据…

【jquery Ajax】接口的学习与Postcode插件的使用

✍️ 作者简介: 前端新手学习中。 💂 作者主页: 作者主页查看更多前端教学 🎓 专栏分享:css重难点教学 Node.js教学 从头开始学习 目录 接口 接口的概念 分析接口的请求过程 通过GET方式请求接口的过程 通过post方式请求接口的过程 接口…

基于CarSystemUI实现左侧导航栏NavigationBar及下拉面板定制开发——Android10智能座舱

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…

使用多阶段和多尺度联合通道协调注意融合网络进行单图去雨[2022论文]

这是篇2022年来自一区的International Journal of Intelligent Systems的贵州大学的去雨论文 论文链接:百度网盘 请输入提取码 提取码:zdje ✍介绍 作者提出的问题: 1、目前去雨方法不能对不同密度和方向的雨条纹信息进行有效的编码 2、…

ThreadLocal类详解

ThreadLocal类注释翻译 打开JDK中ThreadLocal类源码,翻译类上注释如下(提取重点部分): 每个访问ThreadLocal实例对象的线程都有其自己的关于ThreadLocal对象的变量副本(通过get和set方法),只要线程存活而且ThreadLocal对象也存活,则线程都保…

嵌入式和单片机开发模式的区别

一、 开发模式 单片机开发多为裸机,程序规模小,多为单个程序员独立开发。有些复杂产品也会使用高端单片机如STM32之类,并使用RTOS(uCOS、freeRTOS等)。嵌入式开发几乎全部基于嵌入式操作系统,目前使用最多的是 linux 和Android。…

公众号搜题接口系统使用方法

公众号搜题接口系统使用方法 本平台优点:免费查题接口搭建 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库:题库后台http://daili.jueguangzhe.c…

html实现飞机小游戏(源码)

文章目录1.思路讲解1.1 游戏设计1.2 主界面1.3 倒计时进入游戏1.4 游戏效果1.3 游戏结束2.实现源码2.1 游戏动态效果2.2 游戏主代码2.3 源码目录源码下载作者:xcLeigh 文章说明 html实现飞机大战源码,酷炫的界面效果,有四款飞机大战背景&…

Elasticsearch:通过热、温、冷和冻结层管理数据自动化 — 无需编码!

如果你想完全按照本文标题的建议去做,那就别无所求。 这篇文章旨在指导如何使用 Kibana Dashboard 的 “堆栈管理(Stack Management)” 功能集通过热、温、冷和冻结层自动移动数据,而无需进行任何编码或执行命令行动作。 在下面的…

Cookie 和 Session

本文主要讲解一下 Cookie 和 Session 的关系和区别,大家都知道 Session 比 Cookie 安全,Session 是存储在服务器端的,Cookie 是存储在客户端的,然而更详细的说,恐怕就不太清楚了 文章目录1. 什么是 HTTP2. Cookie2.1 图…

​目标检测算法——YOLOv5/YOLOv7改进之结合Criss-Cross Attention

关注”PandaCVer“公众号 深度学习Tricks,第一时间送达 (一)前沿介绍 论文题目:CCNet: Criss-Cross Attention for Semantic Segmentation 论文地址:https://arxiv.org/pdf/1811.11721.pdf 代码地址:ht…

B树和B+树(平衡多路查找树)

文章目录为什么需要B树B 树的特点B树的查找B树的引入B树的删除链接:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html 可以点击 Indexing 下的 B Trees 和 B Trees 去学习。 为什么需要B树 对 B 树的需求随着访问物理存储介质(如硬盘&…

【Java】反射, 枚举,Lambda表达式

✨博客主页: 心荣~ ✨系列专栏:【Java SE】 ✨一句短话: 难在坚持,贵在坚持,成在坚持! 文章目录一. 反射1. 反射的概述2. 反射的使用2.1 反射常用的类2.2 通过反射获取Class对象2.3 获得Class类相关的方法2.4 使用反射创建实例对象2.5 使用反射获取实例对象中的构造方法2.6 通过…

Spring学习第1篇:学习spring必备的概念知识

大家家好,我是一名网络怪咖,北漂五年。相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知Spring重要性,现在普遍都使用SpringBoot来开发,面试的时候SpringBoot原理也是经常会问到&…

纸牌博弈问题

纸牌博弈问题 作者:Grey 原文地址: 博客园:纸牌博弈问题 CSDN:纸牌博弈问题 题目描述 有一个整型数组 A,代表数值不同的纸牌排成一条线。玩家 a 和玩家 b 依次拿走每张纸牌, 规定玩家 a 先拿&#xff…

win11开机音效设置的方法

微软为win11重做了开机音效,与我们一直以来使用的开机音效不太一样,听起来很不舒服,因此我们可以通过设置开机音效的方法来修改它,只要在个性化设置中就可以找到了,下面一起来试试看吧。 win11开机音效怎么设置&#…

wordpress图片压缩插件-免费批量wordpress图片压缩

wordpress图片压缩插件,相信每个人都知道图片的太大会影响到网站的加载速度。过多的图像会对服务器产生相应的压力。导致网站打开会越来越慢。而图片也是会被搜索引擎收录的,可以在百度图片里面能搜索的到,也算是增加了网站的宣传力度。今天给…