新闻详情

新闻详情

首页 / 资讯中心 / 详情

Label Studio 的 Paragraphs 标签:对话式段落文本标注完整指南

发布时间:2026/9/13 8:05:50来源:尧图网络
Label Studio 的 Paragraphs 标签:对话式段落文本标注完整指南
Label Studio 的 Paragraphs 标签对话式段落文本标注完整指南【免费下载链接】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 的Paragraphs标签讲解如何用它展示对话转录稿等多段式文本数据并配合ParagraphLabels、Choices等控制标签完成段落级region标注常用于 NLP 与 NER 项目中的对话分析。读完本文你将掌握Paragraphs的完整参数体系、任务数据格式、标注结果的 JSON 结构以及音频同步、对话式布局等进阶用法并看到其底层前端实现web/libs/editor/src/tags/object/Paragraphs/model.js中的关键逻辑。一、Paragraphs 标签是什么Paragraphs是 Label Studio 前端编辑器web/libs/editor内置的对象型Object标签用于在标注界面上以段落形式展示文本最典型的场景是标注对话转录稿dialogue transcripts。官方标签说明docs/source/tags/paragraphs.md明确指出该标签适用于 NLP 与 NER 项目中的段落标注支持的数据类型为text。在编辑器架构中Paragraphs通过 index.js 注册为标签类型paragraphs其数据模型ParagraphsModel由RegionsMixin、SyncableMixin音频同步、AnnotationMixin标注交互等多个 mixin 组合而成属于典型的“可标注对象”object而非普通展示控件——这意味着标注者可以在段落文本上直接划选区域生成标注结果。二、任务数据格式Paragraphs期望的任务数据是对象数组每个对象包含发言者名称与文本内容形如[{ $nameKey: Author name, $textKey: Text }, ... ]其中$nameKey与$textKey对应下方参数表中的nameKey与textKey默认值分别为author与text。仓库内置的示例数据 label_studio/core/static/samples/paragraphs.json 给出了直观样例[ {author:Mia Wallace:, text:Dont you hate that?}, {author:Vincent Vega:, text:Hate what?}, {author:Mia Wallace:, text:Uncomfortable silences. Why do we feel its necessary to yak about nonsense in order to be comfortable?}, {author:Vincent Vega:, text:I dont know. That is a good question.} ]在标注配置中通过value参数绑定到该数据字段例如value$dialogue即从任务数据中读取dialogue字段作为段落列表。从源码 model.js 可以看到加载数据时会做严格的格式校验数据必须是数组且数组首元素必须同时包含nameKey与textKey指定的字段否则会在标注界面报错并提示“check your nameKey parameter / textKey parameter”。这一校验机制保证了配置与数据不匹配时能第一时间暴露问题。三、标签参数详解以下参数表完整继承自 docs/source/includes/tags/paragraphs.md并结合 model.js 中的模型定义补充了默认值与取值范围说明参数类型默认值说明namestring—元素名称必填作为toName的引用标识valuestring—数据字段名包含段落内容形如$dialoguevalueTypejson | urljson数据是直接存储在上传的 JSON 数据中还是需要从 URL 加载audioUrlstring—用于与段落短语phrase同步的音频syncstring—要同步的对象名称showPlayerbooleanfalse是否在段落上方显示音频播放器若 sync 对象本身就是音频则该参数被忽略saveTextResultno | yesyes是否将标注文本随结果一并存储当valueTypeurl时默认不存储文本layoutnone | dialoguenone是否使用对话式布局nameKeystringauthor用于展示发言者名称的字段名textKeystringtext用于展示文本内容的字段名contextScrollbooleanfalse开启上下文滚动模式参数底层实现要点valueType 的安全模式适配源码中valuetype与savetextresult的默认值并非写死而是根据window.LS_SECURE_MODE动态决定——安全模式下valuetype强制为url、savetextresult强制为nomodel.js。这是为了避免任务数据中的标注结果被回写到原始数据中。URL 加载流程当valuetypeurl时模型会先校验 URL 合法性再通过fetch异步拉取 JSON 并调用setRemoteValue设置数据失败时给出“ERR_LOADING_HTTP”错误提示model.js。对话式布局的配色当layoutdialogue时源码会根据nameKey字段值如发言人名字作为种子生成确定性颜色ColorScheme.make_color使同一发言人的话语始终呈现同色系背景与名称颜色便于快速区分不同说话者model.js。contextScroll 排序逻辑开启contextScroll后数据会按start时间戳排序无start的条目排后从而在时间轴上保持上下文顺序model.js。四、标注结果Result参数当标注者在段落文本上划选区域后生成的标注结果结构如下继承自 docs/source/includes/tags/paragraphs.md 的 Result parameters 表名称类型说明valueObject标注区域的值对象value.startnumber区域起始段落的下标indexvalue.endnumber区域结束段落的下标indexvalue.startOffsetnumber起始段落内的字符偏移量value.endOffsetnumber结束段落内的字符偏移量value.textstring区域内的文本内容可选可省略该结构在前端序列化逻辑 ParagraphsRegion.js 中完全对应start/end为段落索引注意序列化时以字符串存储见模型定义中的start: types.stringstartOffset/endOffset为段落内字符偏移而text字段仅当saveTextResult yes时才会写入结果。这与参数表中“valueTypeurl时默认不存储文本”的行为一致——从 URL 加载的数据通常体积较大回存文本会造成冗余。典型结果 JSON{ value: { start: 3, end: 5, startOffset: 2, endOffset: 81, paragraphlabels: [Car] } }其中paragraphlabels键由控制标签如ParagraphLabels注入值为所选标签的列表区域对象本身还通过states字段关联控制标签模型支持ParagraphLabelsModel、TextAreaModel、ChoicesModel、RatingModel的联合类型见 ParagraphsRegion.js因此段落区域可以挂接多种标注类型。五、实战示例示例一对话式段落区域标注来自官方文档的完整配置用Paragraphs展示对话并用ParagraphLabels对段落区域打标签docs/source/tags/paragraphs.mdView Paragraphs namedialogue-1 value$dialogue layoutdialogue / ParagraphLabels nameimportance toNamedialogue-1 Label valueImportant content/Label Label valueRandom talk/Label /ParagraphLabels /View要点layoutdialogue开启对话气泡式布局并按发言人自动着色ParagraphLabels通过toNamedialogue-1绑定到段落对象标注时需先用鼠标划选一段连续文本再点击标签完成标注ParagraphLabels控制标签自身还支持choice单选/多选、maxUsages每任务最多使用次数、showInline等参数详见 ParagraphLabels.jsx 与 docs/source/tags/paragraphlabels.md。示例二段落与音频同步在对话场景中常需同时听音频核对转写内容。官方文档给出了带音频同步的完整配置数据中每个段落对象需带start/end时间戳View Paragraphs audioUrl$audio value$para nameparagraphs layoutdialogue textKeytext nameKeyauthor showPlayertrue / Choices namechoices toNameparagraphs choicemultiple Choice valueGood quality/ Choice valueFast speech/ /Choices /View !-- {data: { para: [ {text: test 1, author: A, start: 0.0, end: 1.0}, {text: test 2, author: B, start: 1.0, end: 2.0}, {text: test 3, author: A, start: 2.0, end: 3.0} ], audio: /static/samples/game.wav }} --这里audioUrl$audio指向任务数据中的音频地址Choices控制标签挂接在段落对象上用于对整段对话做整体多选题。该配置也展示了段落对象含时间戳start/end时与音频播放联动的能力。从源码看音频同步是Paragraphs的重要能力模型实现了play(idx)、seekToPhrase(idx)、stopAtTheEnd()、goToNextPhrase()/goToPreviousPhrase()等方法model.js并通过SyncableMixin与其他音频/视频对象同步播放、暂停、跳转与倍速syncHandlers中注册了play、pause、seek、speed、buffering等事件见 model.js。regionIndicesByTime视图则根据当前播放时间反查正在播出的段落索引实现“播放到哪句、高亮哪句”的联动效果model.js。六、使用建议与注意事项字段名一致性任务数据必须包含nameKey与textKey指定的字段若自定义了字段名如speaker、content记得同步修改nameKey/textKey否则前端会报错。saveTextResult 的取舍默认yes会把选中文本写入结果便于导出复核对valueTypeurl的大段文本建议保持默认不存文本安全模式下自动为no以减小导出体积。安全模式差异在LS_SECURE_MODE下valuetype与saveTextResult的默认值会被强制覆盖为url/no配置时需留意运行环境。音频时间戳如需段落与音频联动每个段落对象需提供start必选与end或duration二选一字段开启contextScroll时数据将按start排序展示。结果解析导出的结果以段落索引 段内字符偏移定位区域结合value.text若存储可还原原文片段跨段落区域由start/end区间完整覆盖。七、延伸阅读标签参考Paragraphs 标签文档、ParagraphLabels 标签文档、参数速查表前端源码Paragraphs 数据模型、Paragraphs 渲染组件、Paragraphs 区域模型、ParagraphLabels 控制标签测试用例模型单测、渲染组件测试、区域序列化测试示例数据label_studio/core/static/samples/paragraphs.json【免费下载链接】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),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

STM32F407硬件JPEG编码+4G透传实战指南 2026/9/13 8:38:53

STM32F407硬件JPEG编码+4G透传实战指南

简介:本资源是一套面向嵌入式物联网开发者的STM32F407单片机实战项目例程,聚焦于EC20-4G模块与OV2640摄像头的协同应用,解决边缘端图像采集、JPEG编码及串口实时输出的核心问题,适用于高校电子类课程设计、毕业设计及初/中级工程师…

阅读更多 →
AI如何解决科研论文写作与发表难题 2026/9/13 8:38:53

AI如何解决科研论文写作与发表难题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Windows 10与Linux双系统安装全攻略:从UEFI、GRUB引导到分区修复 2026/9/13 8:38:53

Windows 10与Linux双系统安装全攻略:从UEFI、GRUB引导到分区修复

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
408数据结构算法模板:科学整理与高效实战指南 2026/9/13 8:38:53

408数据结构算法模板:科学整理与高效实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
如何不用 SDK 直接调用 Dub REST API 手动上报 lead 与 sale 事件 2026/9/13 8:38:53

如何不用 SDK 直接调用 Dub REST API 手动上报 lead 与 sale 事件

如何不用 SDK 直接调用 Dub REST API 手动上报 lead 与 sale 事件 【免费下载链接】dub The modern link attribution platform. Loved by world-class marketing teams like Framer, Perplexity, Superhuman, Twilio, Buffer and more. 项目地址: https://gitcode.com/GitHu…

阅读更多 →
CogVideoX文生视频本地推理教程:单卡3行命令出5秒成片 2026/9/13 8:35:53

CogVideoX文生视频本地推理教程:单卡3行命令出5秒成片

CogVideoX文生视频本地推理教程:单卡3行命令出5秒成片 【免费下载链接】CogVideo text and image to video generation: CogVideoX (2024) and CogVideo (ICLR 2023) 项目地址: https://gitcode.com/GitHub_Trending/co/CogVideo 把 A girl riding a bike 敲…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞