尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Label Studio 标签分布看板(Analytics > Label Distribution)完全指南:对比标注与预测标签分布、识别类别不均衡与下钻分析

Label Studio 标签分布看板(Analytics > Label Distribution)完全指南:对比标注与预测标签分布、识别类别不均衡与下钻分析 Label Studio 标签分布看板Analytics Label Distribution完全指南对比标注与预测标签分布、识别类别不均衡与下钻分析【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio本篇技术指南围绕 Label Studio 企业版tier: enterprise的Analytics Label Distribution标签分布看板展开讲解如何通过该看板观察项目内标注annotations与预测predictions标签值在各类标注维度上的分布情况用于识别类别不均衡、对比标注员与模型输出并逐层下钻到具体任务。读完本文你将掌握标签分布看板的访问权限规则、维度卡片与标签明细表的使用方法、支持/不支持维度类型的判定标准以及其背后的数据聚合与缓存实现原理。看板定位Analytics 分析套件中的标签分布标签分布看板属于 Label Studio 企业版的Analytics分析导航组与 Projects overview dashboard项目总览看板、Member Performance dashboard成员绩效看板 并列是整个 Dashboards看板体系 中的跨项目分析工具之一。该看板的核心用途是按项目维度对比「标注值」与「预测值」的分布情况具体可支撑三类分析场景识别类别不均衡例如某个Choices分类项目中绝大多数任务都被标注为A类而BC类样本极少从而判断是否需要补充数据或调整标注配置对比标注员与模型输出在同一维度上并列展示「来自标注」与「来自预测」的计数直观发现模型偏差例如模型过度预测某个类别或标注一致性倾向从聚合指标下钻到原始数据分布中的每个计数值都可链接到 Data Manager并自动携带项目、维度、取值、来源等筛选条件帮助定位统计数字背后的具体任务、标注或预测。按用户角色的访问控制标签分布看板属于企业级分析功能并非所有角色都能访问。官方文档给出了明确的角色访问矩阵用户角色访问限制Owner所有者和Admin管理员可以查看Label Distribution看板并可筛选全部项目。Manager经理可以查看Label Distribution看板但只能筛选并查看其作为成员的项目。Reviewer审核员和Annotator标注员无法访问Label Distribution看板。当他们在Analytics导航中打开该入口时会被重定向到 Member Performance dashboard成员绩效看板在那里只能看到自己的标注与审核历史。关于 Owner、Admin、Manager、Reviewer、Annotator 各角色的权限边界可进一步参考 admin_roles.md角色说明。从实现层面看这类按角色可见性的分析入口与项目权限体系has_permission等绑定后端在返回聚合数据前会执行项目访问权限校验例如任务级分布接口中会通过task.project.has_permission(request.user)拒绝无权限用户否则抛出PermissionDenied见 tasks/api.py。按标注维度聚合维度的两种来源标签分布看板按标注维度dimension分组展示结果。一个维度可以来自两类来源传统标注配置中的控件标签control tag例如Labels、Choices、RectangleLabels等from_name所代表的标注控件Interface 输出的字段例如ReactCode或CustomInterface暴露出的枚举型字段。关于自定义界面的更多信息可参考 interfaces.md界面与组件 和 frontend.md前端开发。也就是说维度的本质是标签配置中可取值集合有限的那类字段每个维度对应配置中的一个from_name。后端聚合时正是以from_name作为分组键在 tasks/api.py 的merge_result_into_distributions中每条标注结果result item先取出from_name和type再按类型把值累加到对应的分布桶里最终形成from_name → {type, labels, values}的结构。维度卡片三大信息组件每一个受支持的维度在看板中对应一张卡片卡片包含三个组成部分Average Agreement平均一致性当存在足够数据可比对标注、预测或真值ground truth时展示该维度下的一致性分数。后端在计算一致性时会将存储的precomputed_agreement可能为 0–1 或百分比归一化为 0–100 的分数返回见 tasks/api.py。Label Distribution chart标签分布图一张分组横向条形图将来自标注与来自预测的取值并列对比适合快速发现模型与人工分布不一致的维度。Label breakdown table标签明细表列出该维度下每个取值在标注与预测中的计数是条形图背后的精确数字。卡片设计遵循聚合概览 精确明细的组合条形图承担趋势阅读明细表承担精确核对与下钻跳转。标签明细表Label breakdown table标签明细表展示所选维度下的每个取值并额外附带一行Total总计行。官方文档定义的列结构如下列说明Label标签或取值名称末行显示所有取值的总计。From Annotations该取值在标注中出现的次数。From Predictions该取值在预测中出现的次数。关键交互能力From Annotations与From Predictions两列中的数值可以链接到Data Manager数据管理器并且会自动携带以下筛选条件——所选项目、维度、取值、来源标注/预测。通过该链接分析师可以从一个聚合计数一路下钻到具体任务、标注或预测明细实现统计 → 原始数据的闭环排查。这一标注/预测双侧计数的设计在后端响应结构中同样可见任务级标签分布接口返回的示例 payload 为见 tasks/api.py{ total_annotations: 100, agreement: 85.5, distributions: { label: { type: rectanglelabels, labels: {Car: 45, Person: 30, Dog: 25} } } }其中distributions以控件名from_name为键labels内即为各取值的计数预测结果也会被合并进同一份计数源码注释明确说明Include prediction results in distribution counts so aggregate matches以保证看板中来自标注/来自预测的对比与任务侧聚合口径一致见 tasks/api.py。支持的维度类型标签分布只支持取值集合有限的维度。官方文档明确列出的受支持类型包括标签类控件Labels、RectangleLabels以及其他基于 labels 的控件如PolygonLabels、KeyPointLabels等选择类控件Choices分类体系控件具有有限、嵌套选项的Taxonomy枚举型 Interface 输出基于枚举enum的ReactCode与CustomInterface字段其他可表示为已知取值集合的有限标量维度。从后端聚合逻辑可以验证这些类型的处理方式见 tasks/api.pyresult_type以labels结尾如rectanglelabels、polygonlabels、labels→ 对值列表逐项计数choices→ 对所选选项计数taxonomy→ 取每个嵌套路径的叶子节点path[-1]计数pairwise→ 对selected项计数rating/number→ 归入数值列表聚合后计算平均值average与样本数count并剔除原始值以保持响应轻量见 tasks/api.py。前端渲染约定与之一一对应在 distribution-row.tsx 中labels系类型渲染为带粗色左边框的计数 Chipchoices/taxonomy渲染为百分比 Chiprating渲染为 Avg: N.N ★number渲染为 Avg: N.N并按计数降序排列使主导值排在前面。不支持的维度类型明确显示而非渲染空图以下不具有限取值集合的维度不会被展示为标签分布自由文本free text任意数值或日期值对象objects、数组arrays未在维度 schema 中声明的取值。官方文档特别强调了一条重要设计原则原文 note如果某个维度不受支持看板应当显示该维度不受支持而不是渲染一张空图表。这有助于区分没有数据与数据无法被安全地汇总为标签分布两种情形。也就是说空状态与不支持状态在语义上必须严格区分——前者是数据缺失后者是数据结构本身无法做分布汇总混为一谈会误导分析结论。底层实现从聚合计算到缓存围绕标签分布仓库中的实现事实如下1. 聚合计算逻辑TaskAgreementAPI提供了避免 N1 查询的高效聚合接口一次性取出任务的全部标注result通过merge_result_into_distributions就地合并计数再合并预测结果最后计算数值型维度的平均值并基于precomputed_agreement归一化输出一致性分数见 tasks/api.py。同类聚合逻辑也出现在任务摘要task summary接口中保证了任务摘要视图中的 Distribution 行与分布统计口径一致。2. 项目级缓存字段项目摘要模型ProjectSummary上存在dimension_value_counts字段其 help_text 直译为基于维度的标签分布计数缓存以 JSON 存储{from_name: {value: count}}形态的计数并在reset()时清空见 projects/models.py。该字段由迁移 0035_projectsummary_dimension_value_counts.py 引入说明标签分布统计面向项目维度做了预计算缓存避免看板每次打开都全量扫描标注。3. 功能开关缓存写入路径受特性开关fflag_feat_all_fit_1484_dimension_value_counts_write控制见 feature_flags.json即该能力在灰度发布中受 feature flag 管理部署时可结合企业版特性开关配置决定是否启用写入。小结Analytics Label Distribution 是 Label Studio 企业版中面向类别分布对比的分析看板它以标注维度为聚合单元通过平均一致性、分组横向条形图与标签明细表三种载体呈现标注/预测双侧分布并支持从计数值一键下钻到 Data Manager访问上受角色限制Owner/Admin 全量、Manager 限成员项目、Reviewer/Annotator 重定向至成员绩效看板维度类型限定为有限取值集合Labels 系、Choices、Taxonomy、枚举型 Interface 字段等不支持的维度明确提示而非渲染空图。其底层由任务级聚合接口、ProjectSummary.dimension_value_counts缓存及对应迁移共同支撑实现了聚合口径一致与高效查询。进一步了解整个看板体系可继续阅读 dashboards.md、Dashboard 数据质量看板 与 项目总览看板。【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表