机器学习数据标注:从原理到界面设计
1. 机器学习任务的标注策略与阅读推荐
在机器学习领域,不同的任务都可以采用多种标注策略,这些策略各有优劣,具体选择取决于任务类型、数据特征以及要解决的问题。以下是一些常见机器学习任务的标注策略总结:
| 任务类型 | 标注策略 |
| ---- | ---- |
| 所有机器学习任务 | 可利用诸如真实数据、标注者间一致性、将任务拆分为子任务、专家评审与裁决任务、合成数据以及通过机器学习实现(半)自动化等策略。 |
| 连续任务 | 可接受一定范围的可接受答案,在某些情况下可借助群体智慧来决定是接受最佳标注者的标注,还是项目的平均标注值。 |
| 对象检测任务 | 应分别跟踪定位准确性和标签准确性,需注意交并比(IoU)在高维度下对于相同标注者表现水平会产生较低分数。 |
| 语义分割任务 | 可利用评审任务,让专家标注者对存在分歧的区域进行裁决,而非重新标注整个图像。 |
| 序列标注任务 | 通常使用人工参与的系统来生成候选,特别是当重要序列相对罕见时。 |
| 语言生成任务 | 通常有多个可接受答案,这些答案可根据每个项目的多个真实示例进行评估,或由人类对输出进行评分,然后再对评分的准确性和一致性进行评估。 |
| 信息检索等其他任务 | 常使用人工参与的标注系统,特别是当随机数据样本很少能呈现相关项目时。 |
此外,为了深入研究自然语言处理和信息检索的标注,还提供了一些进一步阅读的资料:
- 自然语言处理标注 :
- Ron Artstein和Massimo Poesio的“Inter - Coder Agreement for Computational Linguistics”,是该领域的基础佳作,尤其在序列标注的一致性讨论以及重叠跨度和识别标记或片段的复杂性方面表现出色,链接: http://mng.bz/6gq6 。
- Jacopo Amidei、Paul Piwek和Alistair Willis的“Agreement is overrated: A plea for correlation to assess human evaluation reliability”,是关于语言生成的优秀近期论文,虽主要讨论评估机器输出,但该方法也可应用于训练数据,链接: http://mng.bz/opov 。
- Thibault Sellam、Dipanjan Das和Ankur P. Parikh的“BLEURT: Learning Robust Metrics for Text Generation”,探讨了利用预训练模型的机器学习方法自动评估文本生成的方式,可参考论文内的参考文献了解更多文本生成系统质量自动评估的近期工作,链接: http://mng.bz/nM64 。
- 信息检索标注 :Ittai Abraham、Omar Alonso、Vasileios Kandylas、Rajesh Patel、Steven Shelford和Aleksandrs Slivkins的“How Many Workers to Ask?: Adaptive Exploration for Collecting High Quality Labels”,链接: http://mng.bz/vzQr 。
2. 人机交互在机器学习标注中的重要性
在机器学习中,人机交互对于有效标注至关重要。它不仅涉及到如何构建高效准确的标注界面,还涉及到在界面设计中平衡标注效率、标注质量、标注者的自主性以及实现每种界面所需的工程工作量等多个方面。
3. 人机交互的基本原理
3.1 引入可操作性、反馈和自主性
- 可操作性(Affordance) :设计概念,即物体的功能应与我们的感知一致。在现实世界中,门把手应看起来可转动,门应看起来可推开;在网络世界中,应用程序中的按钮应看起来可点击。例如,页面顶部的菜单系统在鼠标悬停时显示导航选项,点击“+”展开隐藏内容,点击“?”获取帮助等。
- 反馈(Feedback) :是用户体验中与可操作性互补的部分。当用户点击按钮时,应通过动画、消息或其他事件让标注者知道其操作已被记录。反馈验证了可操作性,告知用户他们感知的可操作性是否真实存在。
- 自主性(Agency) :指用户感知到的权力和掌控感。良好的可操作性和反馈设计能赋予标注者在个体操作中的自主性,同时也涉及更全面的标注者体验。为确保标注者在工作中感受到自主性,需要考虑以下问题:
- 标注者是否觉得界面允许他们标注或表达他们认为重要的所有信息?
- 他们是否能意识到自己的工作如何帮助正在进行的项目?
- 如果他们使用的界面有机器学习辅助标注,他们是否认为机器学习提高了他们的工作效率?
在设计标注界面时,使用UI框架内的现有元素通常有助于实现良好设计,包括可操作性。例如,在基于Web的界面中,应按照推荐的上下文使用现有的HTML表单元素,如单选按钮用于单项选择,复选框用于多项选择等。同时,使用现有UI组件还能提高可访问性。
需要注意的是,人们在标注界面设计中常犯的一个大错误是借鉴游戏的设计惯例。不建议将付费工作游戏化,因为如果在类似游戏的环境中强制人们进行付费工作,而这种方式又不是最有效的数据标注方式,工作很快会变得令人厌烦。
3.2 标注界面的设计
- 简单标注任务 :良好的可操作性和反馈要求根据推荐用途使用现有组件。任何使用的框架都应具备单项或多项选择、文本输入、下拉菜单等元素。一些框架可能有更复杂的表单元素,如React Native JavaScript框架除了一般表单输入外,还有自动完成组件。选择现有框架而非自行创建自动完成功能可提高可用性。同时,设计时应跟踪当前的设计惯例,因为惯例会不断演变,如自动完成功能近年来才开始流行。
- 序列标注任务 :通常可选择键盘或鼠标标注,或两者结合。键盘标注时,箭头键应允许标注者在片段上前后导航;鼠标标注时,标注者应能悬停和/或点击片段。在这两种情况下,可操作性应确保处于焦点的片段以某种方式突出显示,使标注范围清晰。
- 对象检测和语义分割任务 :大多数广泛使用的UI框架不够用。例如,没有标准的HTML UI库可用于语义分割任务的像素标注。对于这些任务,需使用图像编辑软件的惯例,可操作性体现在通过框、多边形和捕获相似像素区域的智能工具来选择区域的期望上。
- 移动端标注 :如果人们在平板电脑或手机上进行标注,可操作性包括捏合缩放图像和滑动屏幕导航的功能。有些Web框架在平板电脑和手机上运行良好,有些则不然。可考虑为手机和平板电脑构建原生的Android和iOS操作系统界面,但这种标注界面较少,大多数人如果要长时间工作,更愿意在电脑上进行。
3.3 减少眼动和滚动
为提高标注效率和准确性,应尽量将标注任务的所有组件显示在屏幕上,避免标注者滚动屏幕。同时,要确保每个标注的所有元素(说明、输入字段、被标注项目等)位置固定。如果项目大小不同,可使用表格、列等布局选项,确保输入字段和项目不会因大小不同而移动或丢失。
标注说明和指南可能会导致屏幕信息容纳问题。标注者需要详细说明,但说明会占用大量屏幕空间,且标注者完成足够任务记住说明后,说明会变得冗余,不断滚动查看不再需要的说明会让他们感到沮丧。以下是几种解决方案:
- 使说明可折叠 :需要时展开。
- 将部分或全部说明移至相关字段 :仅当这些字段处于焦点时显示。
- 将说明放在单独页面 :允许标注者调整浏览器窗口以同时显示单独的标注和说明窗口。但选择此方案时,设计中需考虑较小的标注窗口。
下面通过一个流程图展示设计标注界面时考虑减少眼动和滚动的流程:
graph LR
A[开始设计标注界面] --> B{能否将所有组件放于一屏}
B -- 是 --> C[固定元素位置]
B -- 否 --> D[考虑布局选项]
C --> E{说明是否占空间大}
D --> E
E -- 是 --> F[选择说明处理方式]
F --> G1[使说明可折叠]
F --> G2[移说明至相关字段]
F --> G3[放说明于单独页面]
E -- 否 --> H[完成设计]
G1 --> H
G2 --> H
G3 --> H
通过以上对机器学习任务标注策略和人机交互原理及界面设计的介绍,我们可以更全面地了解如何为不同的机器学习任务设计高效、准确的标注界面。在实际应用中,需要根据具体情况综合考虑各种因素,以达到最佳的标注效果。
机器学习数据标注:从原理到界面设计
4. 不同设计示例对比分析
为了更直观地理解良好设计与不良设计的差异,我们通过具体的界面示例进行对比。
首先来看一个不良设计的界面示例,它在诸多方面违反了良好UI设计的规则:
- 说明与输入距离远 :每个字段的说明距离输入框很远,这会降低标注的效率和准确性。标注者需要频繁地在说明和输入之间切换视线,增加了出错的概率。
- 文本与输入分离 :被分析的文本与输入字段距离较远,同样会导致效率和准确性下降。标注者难以快速关联文本和输入,影响标注速度。
- 无关输入字段 :即使对于不相关的任务,“病原体”和“位置”等输入字段仍然显示,这可能会造成混淆,导致标注者在不需要时添加数据。
- 缺乏验证 :输入字段没有明确的验证机制,例如不清楚“病原体”和“位置”是否必须与文本精确匹配,“受影响人数”是否必须为数字等。
- 布局不一致 :不同长度的文本会导致输入字段在页面上的位置发生变化,使得标注者的操作缺乏一致性,增加了导航的难度。
- 说明问题 :说明占据了任务开始时的大量空间,标注者每次都需要滚动过去,而且说明还不够详细,没有包含示例或指向更详细示例的链接。
与之对比,一个更友好的标注界面布局具有以下优点:
| 优点 | 说明 |
| ---- | ---- |
| 布局合理 | 采用两列布局,将源文本放在输入字段旁边,解决了不良设计中存在的许多问题。这种布局更适合水平显示器,提高了标注的效率和准确性。 |
| 减少操作难度 | 标注者可以更方便地同时查看文本和输入字段,减少了视线的移动和操作的复杂性。 |
在设计标注界面时,还需要对标注者的屏幕大小、分辨率和使用的浏览器进行假设。根据不同的劳动力类型和合作时长,甚至可以考虑为标注者购买机器和/或屏幕,这可能会通过提高吞吐量和准确性来收回成本。
5. 不同机器学习任务的标注要点总结
为了更清晰地呈现不同机器学习任务的标注要点,我们将其总结在以下表格中:
| 任务类型 | 标注要点 |
| ---- | ---- |
| 所有机器学习任务 | 利用真实数据、标注者间一致性、子任务拆分、专家评审、合成数据和(半)自动化等策略,根据任务、数据和问题选择合适方法。 |
| 连续任务 | 接受一定范围答案,可借助群体智慧决定采用最佳标注者标注或平均标注值。 |
| 对象检测任务 | 分别跟踪定位和标签准确性,注意高维度下IoU分数变化。 |
| 语义分割任务 | 利用专家评审裁决分歧区域,避免重新标注全图。 |
| 序列标注任务 | 用人工参与系统生成候选,适用于重要序列罕见情况。 |
| 语言生成任务 | 有多个可接受答案,可根据真实示例评估或由人类评分并评估评分准确性和一致性。 |
| 信息检索任务 | 常使用人工参与标注系统,适用于随机样本难现相关项目情况。 |
6. 总结与实践建议
综合以上内容,在进行机器学习数据标注时,我们可以得出以下结论和实践建议:
- 选择合适标注策略 :根据不同的机器学习任务类型、数据特点和要解决的问题,选择最适合的标注策略。例如,对于连续任务可考虑群体智慧,对于对象检测任务要分别关注定位和标签准确性。
- 遵循人机交互原则 :在设计标注界面时,要注重可操作性、反馈和自主性。使用现有UI框架元素,确保界面直观易用,同时要注意避免将付费工作游戏化。
- 优化界面设计 :针对不同的标注任务,如简单标注、序列标注、对象检测和语义分割等,采用合适的界面设计方法。减少眼动和滚动,合理处理标注说明,提高标注效率和准确性。
- 考虑实际情况 :在设计界面时,要对标注者的设备和使用环境进行合理假设,必要时为标注者提供合适的设备,以提高标注质量和效率。
以下是一个总结设计高效标注界面的mermaid流程图:
graph LR
A[确定机器学习任务类型] --> B[选择合适标注策略]
B --> C[遵循人机交互原则设计界面]
C --> D{是否为特殊任务}
D -- 是 --> E[采用对应特殊设计方法]
D -- 否 --> F[使用通用设计元素]
E --> G[优化界面布局减少滚动等]
F --> G
G --> H[考虑标注者设备环境]
H --> I[完成高效标注界面设计]
通过遵循这些原则和建议,我们可以构建出更适合不同机器学习任务的标注界面,提高数据标注的质量和效率,为机器学习模型的训练提供更好的基础。
超级会员免费看
1115

被折叠的 条评论
为什么被折叠?



