干货 | 弱监督学习框架 Snorkel 在大规模文本数据集"自动标注"任务中的实践

弱监督学习框架比较:Snorkel vs. Weakly Supervised vs. AI领域其他工具 在人工智能领域,获取大量有标签的数据是一项既昂贵又耗时的任务。弱监督学习应运而生,它允许我们利用少量的标签或者其他形式的弱监督信息来训练模型。本文章的目的就是对弱监督学习中几个知名的框架进行比较,帮助大家了解它们的特点、优势和适用场景。范围涵盖了Snorkel、Weakly Supervised框架以及AI领域其他常见的弱监督学习工具。本文首先会介绍弱监督学习相关的术语和概念,然后用故事的方式引入核心概念,解释各核心概念之间的关系,并给出原理示意图和流程图。 阅读详情
AI摘要

本文介绍了弱监督学习框架Snorkel在处理大规模文本数据集时如何实现自动标注,以此解决深度学习中训练数据瓶颈问题。在携程客服“事件小结”场景中,通过Snorkel的标注函数快速生成训练数据,训练判别式模型,提高了客服服务效率和事件流转效率。文章详细阐述了Snorkel的工作流程、数据概览、标注函数编写、生成式和判别式模型的训练及效果对比,并展望了后续研究方向和团队招聘信息。

作者简介

 

Jay,携程高级算法经理,关注机器学习和深度学习领域在酒店场景可落地的相关技术。

引言

近年来,得益于深度学习的巨大发展,自然语言处理(NLP)领域也爆发了多个如 BERT 等state-of-the-art模型,供从业人员使用。但是这些开源的最先进的模型大多是在通用的基准数据集上训练得到的,当我们在具体工业场景中使用时往往还是需要在具体使用场景的数据集上进行微调。获得这些特定领域数据集的传统方式是人工标注。这些手工标注的数据集创建起来既昂贵又耗时,特别是对于一些比较难的任务往往人工标记的准确度也无法达到要求。


一、大量标注数据在深度学习任务中的重要性


1.1 训练数据瓶颈

即便深度学习的基石——神经网络早在1943年就被提出,但是深度学习在近十多年才获得了突飞猛进的发展。究其原因,深度学习的成功需要满足三大要素:先进的模型、大量的数据和高性能的硬件。对于深度学习领域的从业者来说,得益于大量的研究人员和开源社区,三大要素之一的最先进的深度学习模型也变得唾手可得。随着GPU和云计算的发展,高性能的硬件也不再遥不可及。然而,要收集足够多的标注数据,在这些硬件上训练这些开源模型,并不像看上去的这么简单。事实上,这个障碍已经成为大多数机器学习应用的主要瓶颈。所以说,当前深度学习项目的成功往往取决于一个隐性成本:庞大的、手工标注的训练数据集。


1.2 人工标注数据的劣势

手动标注训练数据非常昂贵,尤其是在需要专业知识和隐私的情况下。建立训练数据集通常需要大量的标注人员,这需要大量的成本和时间。例如,ImageNet是ML在图像领域获得爆炸性发展背后的基础项目之一,需要花费两年多的时间来创建。但是,给猫、狗、停车标志和行人打标是一回事;标记医学图像、法律和金融合同、政府文档、用户数据和网络数据等数据需要严格的隐私保护和主题专家标注。这意味着对于金融服务、政府、电信、保险、医疗保健等行业,人工创建训练数据是非常昂贵的,或者是无法实现的。

手动标注的数据不可能进行迭代开发。 从工程和数据科学的角度来看,手动标记的训练数据从根本上破坏了快速迭代的能力。这在输入数据、输出目标和注释模式始终在变化的现实环境中至关重要。从业务的角度看,训练数据是一项昂贵的资产。如果不能在各个项目中重复使用,那么由于条件或业务目标的变化,这些数据的价值通常会飞速地衰减。

正是由于人工标注的种种劣势,研究人员不得不思考其它能快速产出有效标注数据的方法。弱监督学习框架 Snorkel 便是其中一种。


二、Snorkel 框架介绍

Snorkel 是一种快速产出训练数据的弱监督系统,利用标签函数,可以快速产生、管理、建模训练数据。

在Snorkel中,不需要使用手工标记的训练数据,而是要求用户编写标记函数 (labeling functions, LF),即用于标记未标记数据子集的黑盒代码片段。

研究人员可以使用一组这样的标注函数来为机器学习模型标注训练数据。由于标记函数只是任意的代码片段,所以它们可以对任意信号进行编码:模式、启发式、外部数据资源、来自众包人员的带噪声的标签、弱分类器等等。还可以获得标注函数作为代码所特有的优点,比如模块化、可重用性和可调试性。例如,如果建模目标发生了变化,可以调整标注函数来快速适应这种变化。

三、Snorkel 在携程客服“事件小结”场景的应用

随着OTA(在线旅游代理商)的快速发展,越来越多的用户选择在线预定酒店。客服中心作为公司和客户的连接枢纽,是整个服务链中的关键一环。对于携程而言,提高客服人员的服务效率,是降低公司成本和提高服务质量的重要工作。

携程酒店客服每天需要处理大量的用户进线来解答或处理用户的问题。通常需要一套复杂的工单系统来记录、流转和考核客服处理的用户事件。在工单系统中当客服需要协助、转移、升级、完成事件时,通常需要手工编写一个该事件的小结来告诉下一步的处理人员事件的关键信息,耗费客服大量的时间。而客服每日解决的用户进线量很大,这导致大量客服资源的占用;另外,手工撰写的事件小结质量参差不齐,错误或者不规范的小结会给接手客服人员的工作带来负面影响,降低效率。

作为算法开发人员,我们希望通过人工智能技术,通过客服和客人的会话内容再辅助一些其它系统信息,能够帮助客服人员自动生成准确的结构化事件小结,一方面能够节省客服撰写的时间,另一方面准确且结构化信息能够提高事件的流转效率。

下面以一个简单的场景详述一下 Snorkel 开发的大致流程:我们需要根据用户和客服的会话内容来识别出本事件最终的结果作为结构化事件小结的"结果回复"字段;在这里事件的结果主要可以分为两个类别,即酒店同意和酒店拒绝,所以我们需要训练一个分类模型以会话文本作为输入来预测出其对应的类别。


3.1 工作流

我们采用 Snorkel 框架进行数据标注开发的流程一般如上图所示:

1)首先会概览和分析收集到的待标注数据,寻找一些编写标注函数的思路;

2)编写标注函数,原则是对于一个标注函数应该在保证高准确率(高于50%)的前提下,再考虑覆盖率;

3)采用投票模型作为基准模型来筛选标注函数集;

4)对于准确率达不到阈值的标注函数可以返回到第1步来继续优化,直到准确率达标;对于无法优化的标注函数可以直接放弃;

5)在训练集上执行经过投票模型筛选的标注函数来训练标注模型,应当至少达到60%的覆盖率;

6)将所有待标注数据输入生成式模型,产出每个样本的最终标签;

7)用前面生成的带标签样本作为训练集来训练一个判别式模型,并最终线上部署使用该判别式模型。


3.2 数据概览

我们收集了客服和客人聊天的会话历史数据,它们一开始都是无标签的。选取一小部分数据先让较有经验的员工进行人工标注,需要尽量保证这部分标签的正确性,将这一小部分有标签数据作为测试集,用于测试 Snorkel 标注模型的效果。另外一大部分无标签的数据作为 Snorkel 训练集,训练集最终会输入训练好的标注模型来产出最终的标注数据。

首先需要概览无标签标注集中的样本,进行必要的分析,探索一些可以编写标注函数的思路。


3.3 编写标注函数

如上图所示,编写标注函数(Labeling Function)时首先需要定义标签,这里分别定义了酒店同意和酒店拒绝标签,其中 ABSTAIN=-1为所有标注函数的公共标签,表示该标注函数无法判断出样本的标签,对这个样本的判别弃权。

在Snorkel中,有如下这些常见类型的标注函数:

  • 关键字搜索:在句子中查找特定的单词,通常使用正则表达式

  • 模式匹配:寻找特定的句法模式,例如,使用spaCy的依存树

  • 第三方模型:使用预先训练的模型(通常是用于与当前任务不同的任务的模型)

  • 远程监督:使用外部知识库

  • 有噪声人工标注:众包标注

由于我们任务的输入是文本,所以首先想到可以用正则的方式来编写标注函数。可以根据文本中的关键字来判定样本的标签,一般一个标注函数来提取一个标签,如果无法判断则返回-1。

除了使用正则来编写标注函数之外,还可以使用一个文本情感分析模型来编写标注函数,如果文本情感是正向的表示酒店同意,反之文本情感为负向的表示酒店拒绝。此外,还可以借助工单系统中的一些操作日志来辅助判断酒店是否同意来编写标注函数。

最后需要指出的是,在设计标注函数时,应该偏重于精确度而非召回率。


3.4 训练生成式模型

当编写完标注函数后,Snorkel将利用所有标注函数之间的预测结果与冲突来训练一个标注模型。当标注新的数据时,每个标注函数都会投票:正、负或弃权。基于这些投票以及标注函数的权重,标注模型能够为百万级数据点自动进行概率型标注。最终目标是训练一个可以超过标注函数性能的分类器。

可以这样理解,按照前面要求编写出的所有标注函数实际上就是一个个弱分类器,这些弱分类器有着一定的准确率和召回率,标注模型实际上是通过概率图模型的方式把这些弱分类器结合起来了,从而达到比单个弱分类器更好的效果。

在正式训练标注模型之前,我们可以采用投票模型 MajorityLabelVoter 作为基线模型进行测试,将该结果作为基线指标 。

标注模型训练好之后我们可以查看每个标注函数的相关指标:

如上图为一小部分标注函数,其中一些重要的指标含义如下:

  • Polarity:标注函数返回值的极性,即该标注函数返回的类别,弃权的除外。

  • Coverage:覆盖率,被成功标注(正或负)的样本占比。需要尽可能提高这个值,同时保持良好的准确率。

  • Overlaps & Conflicts:一个标注函数与其他标注函数的重叠与冲突情况。标注模型将使用这些信息来估算每个标注函数的准确率。

  • Accuracy:正确的标注函数预测比例。所有的标注函数都应当不低于0.5。

另外需要注意的一点,在标注模型训练时,某些数据点没有收到任何LF的标签。这些数据点没有传达任何监督信号,并且往往会损害性能,因此我们在使用内置实用程序进行训练之前将其过滤掉 。


3.5 训练判别式模型

有了前面标注模型产出的大量有标签数据,我们就可以利用这些数据训练一个判别式模型。但是我们不禁想问既然前面的标注模型已经可以准确的判定出样本的类别了,为什么还要再训练一个判别式模型呢?这个问题就需要从生成式模型和判别式模型的区别来说起。

生成式模型由数据学习联合概率分布 P(X,Y),然后求出条件概率分布 P(Y|X) 作为预测模型,即生成式模型为:

而判别式模型是由数据直接学习条件概率分布 P(Y|X) 作为预测的模型。

根据两者的区别我们可以看出,首先通过生成式模型产出的数据训练出的判别式模型可以提高模型的覆盖度。因为生成式模型需要学习联合概率分布 P(X,Y),但是对于那些所有标注函数都无法覆盖的数据显然是无法得到 P(X,Y) 的,相反判别式模型只需要 X 本身的特征就可以算出 P(Y|X),所以判别式模型可以覆盖那些生成式模型覆盖不到的数据点。

其次,相对于生成式模型训练时采用的概率图模型,判别式模型可以采用更加先进复杂的模型来训练,比如我们采用的 bert 模型,这样也可以提高模型的准确率。


3.6 模型效果对比

baseline 模型是我们在使用 Snorkel 之前采用纯规则实现的,可以看到覆盖度和准确率都是最低的。由于事件小结这个场景在现实中是类别不平衡的,我们将小类别商家拒绝作为正类,而商家同意为负类。因为商家拒绝产生的事件影响会更大,所以我们应该更关注正类的效果。baseline 模型中虽然正类的准确率达到了63.64%,但是正类的召回率只有15.22%,显然达不到要求。

在编写完所有的标注函数之后,我们通常会用 Snorkel 自带的投票模型来评估所有标注函数组合起来的效果,如果效果不好需要继续优化或者废弃相应的标注函数。经过多轮迭代之后,投票模型的效果得到了不错的提升,其中覆盖度提升了8.94%,准确率提升了11.85%。正负类的准确率和召回率也都有较大的提高。

经过投票模型校验过的标注函数集在训练集上进行训练得到一个生成式模型即 label model,相对于投票模型只是采用了简单投票机制,label model 使用概率图模型来学习各个 LF 之间的关系。最终 label model 相对投票模型在覆盖度上提升了1.2%,准确率提升0.25%。虽然在总的覆盖度和准确率上都稍有提升,但是正类的召回率依然不是太高,只有58.7%。

将所有无标签标注集样本采用 label model 进行打标,产出大量的标注数据来训练一个判别式模型。判别式模型我们采用了 bert 模型,最终各项指标都达到了令人满意的效果,特别是对于正类的准确率和召回率都比生成式模型有了很大的提升,分别是正类准确率提升了19.19%,正类召回率提升了21.73%。


四、下一步

除了可以通过编写标注函数(LF)来使用弱监督的方式生成标注训练集之外,Snorkel 还提供了以下两种可以提高模型性能的范式:

转换函数(TF),通过转换现有样本来启发式地生成新的样本,该策略通常称为数据增强。Snorkel 不需要用户手动调整这些数据增强策略,而是使用可以自动学习的数据增强策略。

切片函数(SF),为用户提供了一个接口,用于粗略地识别那些模型应为其提供额外表示能力的数据子集。以多任务学习的方式对切片进行建模,其中使用基于切片的「专家头部」来学习特定切片的表示。然后,通过为专家头部引入注意力机制,以确定何时以及如何在每个示例的基础上组合由这些切片头部学习到的表示。

通过在实际场景上落地 Snorkel 自动标注数据框架的实践,我们探索和验证了采用非人工标注文本数据的方式来建立训练数据集的可行性。为了能进一步提升模型在实际场景中的性能,我们下一步将继续探索 Snorkel 框架中的转换函数和切片函数这两种范式在实际项目中的效果。

团队招聘信息

我们是携程酒店研发团队,聚焦于通过技术创新提升酒店行业效率及全球用户的预订体验。

面对海量的全球酒店数据,我们打造了中台服务,提供高并发、高稳定性的微服务。通过数据驱动的方式,不断提升AI算法在场景上的优化,为用户创造价值。

期待你的加入,目前后端/前端/移动端/数据/算法等方向均有职位开放。简历投递邮箱:tech@trip.com,邮件标题:【姓名】-【携程酒店研发】- 【职位】

【推荐阅读】

 “携程技术”公众号

  分享,交流,成长

护网日志分析基础 简要介绍日志分析,给出日志分析的步骤和思路。要求根据日志中的字符串特征,识别攻击者的攻击工具;根据日志中的行为特征,确定攻击者可能的攻击手段等。总结归纳护网中常见的中间件Tomcat、Apache、Weblogic、Nginx、Apache、IIS、MySQL、SQL Server、Oracle的日志路径和日志配置文件路径等。 阅读详情

相关推荐

51单片机定时器的原理、应用与编程实现

本文系统介绍了51单片机定时器的基本原理与应用。首先阐述了定时器的工作原理,包括定时模式和计数模式的区别。然后详细讲解了定时器的四种工作模式(方式0-方式3)及其适用场景,并分析了相关寄存器(TMOD、TCON、THx/TLx)的功能设置。文章还给出了定时器编程的具体步骤,包括初始化、计数初值计算和示例代码。最后通过LED闪烁、PWM波形产生、脉冲计数等实际应用案例,展示了定时器的多样化应用。掌握这些知识对嵌入式系统开发具有重要意义。

2501_91227323的博客 1523

Snorkel-数据标注系统

在面临机器学习问题时,我们往往会面临两个问题:数据和算法(模型)。随着各种机器学习框架的完善,算法的应用门槛正在逐渐的降低。但数据的获取却仍然是一个费时费力的必需流程。在工作中,我们通常会面临如下问题: 该任务有大量数据,但都没有可靠标签 该任务为新增需求,没有任何(或者很少)原始数据,但需要快速上线。这在快速迭代的产品开发中尤为常见,比如在分类系统中的新增类别 标注数据来源多样(不同的标注team或个人),数据中混杂了噪音 数据标注成本过高,或者没有标注人力 模型已经在某一应用场景中训练良好,现

jzwei023的博客 1718

云计算学习——5G网络技术

华为eNSP网络设备模拟器的基础安装及简单使用

qq_42520799的博客 1445

弱监督学习-snorkel

弱监督问题旨在研究通过较弱的监督信号来构建预测模型,即在少量的标注样本上学习建模,达到大量样本上同样的效果弱监督学习主要分为三类不确切监督(inexact supervision):标签不确切,粗粒度标签;只到大类,没有到具体的小类。不准确监督(inaccurate supervision):标签不准确,有噪声;打标人员打标的时候存在结果矛盾的标签不完全监督(incomplete supervison):标签少,标签不全。其中这种是最常见的情况。Snorkel框架能解决的是后面两种可以视为弱监督源的示例包括

orangerfun的博客 2396

十二、基于FPGA实现slave SelectMAP配置逻辑

slave SelectMAP配置

weixin_41838250的博客 8753

Orange3实战教程:文本挖掘---主题建模

主题建模通过LDA、LSI或HDP算法分析文档集合,自动发现隐含主题结构。组件输入为文档语料库,输出包括带主题权重的语料库、主题词分布及完整主题数据。不同算法特性各异:LSI允许正负权重但解释性较弱,LDA更易解释,HDP参数复杂需谨慎设置。结果可结合词云、热力图等可视化工具分析主题特征及分布。示例显示如何通过预处理文本、选择算法(如提取5个LDA主题),并利用MDS和箱线图探索主题间关系及关键词分布。

err2008的专栏 362

帮老婆系列-从客服数据中提取工单号、工号等关键字

正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我们想要提取出我们想要的内容就易如反掌了,本文是为了减轻老婆的工作写的一个小小的场景。 正则表达式的大致匹配过程是: 1.依次拿出表达式和文本中的字符比较, 2.如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。...

不胜人生一场醉 1000

从 0 到 1 玩转小智 AI 智能音箱:开发教程 + 实战项目全攻略

如果说 MCP 是工具箱,那 SDK 就是 “技能模板”—— 小智音箱的自定义技能本质是 “意图识别 + 逻辑响应” 的组合,就像给嵌入式设备写驱动程序,只要按规则调用接口,就能实现各种功能。小智 AI 音箱的开发门槛并不高,核心是利用 MCP SDK 封装好的接口,结合嵌入式开发的 “硬件对接 + 逻辑编程” 思维,就能实现各种自定义功能。从环境搭建到技能开发,再到实战项目落地,每一步都是对 “软件控制硬件” 的实践 —— 而这正是嵌入式开发的核心魅力。

weixin_42300449的博客 1193

AI: 机器学习必须懂的几个术语:Label、Feature、Model...

标签 Lable 标签:所预测的东东实际是什么(可理解为结论),如线性回归中的 y 变量,如分类问题中图片中是猫是狗(或图片中狗的种类)、房子未来的价格、音频中的单词等等任何事物,都属于Lable。 (如一组图片,已经表明了哪些是狗,哪些是猫,这里Lable就是分类问题中每一个类) 特征 Feature 特征是事物固有属性,可理解为做出某个判断的依据,如人的特征有长相、衣服、行为动作等等,一个事...

HowieXue 薛永浩的博客 8万+

RK3568平台开发系列讲解(安卓篇)LED呼吸灯系统流程

1.app层封装后使用NotificationManager发出:NotificationManager.notify() 2.Android 系统架构中:一个manager类对应一个aidl接口,一个manager对应一个底层的服务,notification也是这个架构

内核笔记 3646

手把手教你在openclaw中白嫖英伟达羊毛调用GLM5/Minimax2.1/Kimi K 2.5等模型

本文介绍如何在OpenClaw中免费调用英伟达平台的GLM5、Minimax2.1和Kimi K2.5等模型。通过在openclaw.json配置文件中添加NVIDIA的API信息,设置免费模型参数(如contextWindow和maxTokens),并执行简单命令即可切换默认模型。该方法可节省token消耗成本,最后需重启gateway使配置生效。文中还提供了使用其他API平台时的配置模板。

Science prince的博客 5103

Snorkel在推荐系统中的应用:如何快速构建个性化推荐模型

在当今数据驱动的时代,**个性化推荐系统**已成为各大平台的核心竞争力。面对海量用户数据和复杂的业务场景,传统推荐模型往往面临数据标注成本高、迭代周期长的挑战。Snorkel作为革命性的数据编程框架,为推荐系统开发带来了全新的解决方案。 ## 🎯 什么是Snorkel及其核心优势 Snorkel是一个基于**数据编程**的开源框架,它通过**弱监督**技术大幅降低了数据标注的成本和时间。在推

gitblog_00525的博客 864

在 FreeStyle SAP UI5 应用里优雅落地 Draft 草稿机制:用 DraftManager 封装 DraftController 的一套实战套路

SAP Fiori应用中,Draft草稿机制是解决业务中断、多人协作和长表单填写等痛点的核心能力。本文提出了一套针对FreeStyle SAP UI5应用的Draft管理方案,通过封装sap.ui.generic.app.transaction.DraftController为DraftManager服务类,将复杂的草稿操作逻辑集中管理。该方案实现了草稿的创建、激活、丢弃等核心功能,使控制器只需调用简单意图式API即可完成操作,同时解决了组件化架构下的上下文切换、统一错误处理等问题。文章还详细介绍了后端Dr

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2751

libtins测试与调试:完整的单元测试和性能基准测试指南

libtins是一个高级、跨平台的C++网络数据包嗅探和构建库,为开发者提供了强大的网络分析能力。本文将详细介绍如何对libtins进行全面的单元测试和性能基准测试,帮助开发者确保代码质量和性能优化。 ## 单元测试框架与结构 libtins的单元测试采用了Google Test(GTest)框架,通过丰富的测试用例覆盖核心功能。测试代码主要集中在`tests/src/`目录下,按网络协议和功

gitblog_00516的博客 966

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

关于弱监督学习的详细介绍——A Brief Introduction to Weakly Supervised Learning

弱监督;主动学习;半监督学习;带噪学习;Snorkel 框架

qq_45697032的博客 2267

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

EMNLP‘23:大模型时代的数据标注—FreeAL

获取高质量的标记数据以用于模型训练对于各种自然语言处理任务来说往往耗时且劳动密集。尽管提出了许多解决方案,如小型语言模型(SLMs)的主动学习和大型语言模型(LLMs)时代流行的上下文学习,它们在一定程度上缓解了标注负担,但它们的性能仍然取决于人工干预。在LLMs时代如何降低注释成本仍然是一个未被充分探讨的问题。为了弥合这一差距,我们对传统主动学习进行了革新,并提出了一种创新的协同学习框架FreeAL,以交互式地从LLMs中提炼和过滤任务特定知识。

weixin_43564920的博客 1408

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

用最大熵模型进行字标注中文分词(Python实现)

同前面的那篇文章一样(参见:最大熵模型进行中文分词),本文运用字标注法进行中文分词,分别使用4-tag和6-tag对语料进行字标注,观察分词效果。前面的文章中使用了模型工具包中自带的一个样例进行4-tag中文分词,但由于其选取的特征是针对英文词性标注开发的,故准确率和召回率较低(召回率为83.7%,准确率为84.1%)。 PS:为什么用作词性标注的特征也可以用来做分词呢?这是因为最大熵模型处理

时空霹雳的专栏 8565

EMNLP'23:大模型时代的数据标注—FreeAL

作者|皓波@浙江大学整理|NewBeeNLPhttps://zhuanlan.zhihu.com/p/672287298后台留言『交流』,加入 NewBee讨论组本文跟大家介绍我们和网易伏羲合作发表在EMNLP'23主会的工作FreeAL: Towards Human-Free Active Learning in the Era of Large Language Models[1],...

Kaiyuan_sjtu的博客 1433

snorkel_Snorkel AI:标记培训数据的程序化方法

snorkelOpenAI’s recent release of GPT-3 API set the Twitterverse on fire with developers using its massive language model to generate everything from text to code: OpenAI最近发布的GPT-3 API使得Twitterverse受到...

weixin_26632369的博客 1336

探索数据标注的新境界:Snorkel

是一个开源框架,旨在解决大规模数据预处理中的关键挑战——高质量标注。它采用了一种称为 _弱监督(Weak Supervision)_ 的方法,允许开发者利用多种不完整或不精确的信号来训练机器学习模型,而无需大量的人工精细标注。 ## 技术分析 Snorkel的核心理念是将数据标注视为一个生成过程,通过定义一系列的规则和模式(称为 _Labeling Functions_),这些函数可以自动地为...

gitblog_00082的博客 682

揭秘:AI应用架构师让AI模型持续优化的独门绝技

本文揭秘了AI应用架构师让AI模型持续优化的“独门绝技”——全生命周期优化框架。该框架的核心是“闭环”:通过数据收集反馈模型,通过模型迭代提升性能,通过工程优化保障效率,通过监控系统感知问题,形成持续迭代的循环。如何构建数据闭环,让用户反馈成为优化动力;如何用增量训练和知识蒸馏实现模型迭代;如何用模型压缩和TensorRT加速提升推理性能;如何用监控系统实时感知模型性能与数据变化。AI模型的持续优化不是“一次性任务”,而是“长期工程”。

AI算力网络与通信的博客 788

AI潮流下的数据批量自动化标注(目标检测方向)

文章目录1. 前言2. 方法思路3. 图像融合代码4. 结果展示 1. 前言 (首先说明,这里介绍的方法只针对计算机视觉,mask标注也同理。但是没有采用弱/无监督学习方式解决问题,而是纯粹的图像处理方式,方法有一定的局限性。如果你希望用深度学习方式解决深度学习的数据标注问题,那本文可能让你失望了,如果你解决了这个问题请给我写个留言,我也很想学习一下。好了,我们开始吧~) 近年来,人工智能发展迅速,通过深度学习解决问题已经变得很常见。计算机学习图像或文字、声音等的特征,分为有监督学习、半监督学习、无监督学习

MoL的博客 4019

Snorkel LabelModel完全解析:如何从嘈杂标签中学习真实分布

在机器学习项目中,获取高质量标注数据往往是最耗时耗力的环节。Snorkel LabelModel作为弱监督学习的核心组件,提供了一种革命性的解决方案——通过聚合多个嘈杂标签源来学习真实的标签分布。这种标签模型能够从各种启发式规则、外部知识库和远程监督中提取信号,生成可靠的训练标签。🔥 ## 🤔 什么是Snorkel LabelModel? Snorkel LabelModel是一个概率图模

gitblog_00998的博客 641

【轩说AI】自监督学习 + BERT

监督学习的部分则作为网络的下游,将Bert的输出作为Linear层的输入,再输出得到分类结果class,与真实的词性label求loss,做参数优化。如图将[cls]+qestion+[sep]+document输入BERT,然后随机初始化两个和bert输出的vector同维度的vector,如图红色和蓝色的vector,然后做类似attention的Q*K的操作,将得到的一组和document同等长度的inner product值过softmax,红色向量求出s的值,蓝色向量求出e的值。

m0_57089390的博客 786

跟我读论文丨ACL2021 NER BERT化隐马尔可夫模型用于多源弱监督命名实体识别

摘要:本文是对ACL2021 NER BERT化隐马尔可夫模型用于多源弱监督命名实体识别这一论文工作进行初步解读。

华为云官方博客 1798

医疗AI新突破:Snorkel弱监督学习如何高效处理医疗文本分类

在医疗AI领域,**Snorkel弱监督学习框架**正在彻底改变医疗文本数据的处理方式。传统的医疗文本标注需要大量专业医生手动完成,耗时耗力且成本高昂。而Snorkel通过程序化标注技术,让医疗AI模型能够快速从海量医疗记录中提取关键信息,为疾病诊断、药物研发和患者管理提供智能支持。 ## 🤖 什么是Snorkel弱监督学习? Snorkel是一个革命性的**弱监督学习框架**,专门用于快速

gitblog_00668的博客 489
上一篇: 干货 | 数据为王,携程国际火车票的Sharding-Sphere之路
下一篇: 干货 | Trip.com Android 11 适配之旅
携程技术
博客等级 码龄10年 3716粉丝 324原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值