数据标注自动化工具Snorkel

我知道你已经用上了最先进的深度学习模型,不过,还在人工标注数据吗?这有点过时了!快来了解下Snorkel —— 最新的基于弱监督学习的大规模训练数据标注神器!

要快速掌握机器学习应用的开发,推荐汇智网的机器学习系列教程

现在的机器学习尤其是深度学习模型很强大,但是训练这些模型需要大量的标注数据集!传统的人工标注方式成本非常高,而且很耗时间,在有些情况下根本就是不现实的,例如可能涉及到隐私的问题。当需要领域专家才能够进行数据的标注时,这一问题变得更加糟糕 。而且,随着时间的推移,标注任务有可能也会变化,而这些手工标注的训练数据都是静态的,可能无法应用于变化的任务,造成既往投入的浪费。

斯坦福大学的snorkel系统,就是为了解决数据标注这一机器学习的瓶颈问题而开发的解决方案,它的基本思想就是通过编程来标注海量的数据点。

我们可以使用多种方法来编写标注数据的程序,例如使用假设、类比、规则、知识库等等。这样得到的训练数据集被称为弱监督(Weak Supervision):标注并不精确,并且可能存在多个彼此冲突或重叠的标注信号。

可以视为弱监督源的示例包括:

  • 领域启发式搜索,例如:常见模式、经验法则等
  • 已有的正确标注的数据,虽然不完全适用于当前的任务,但有一定的作用。这在
    传统上被称为远程监督。
  • 不可靠的非专家标注人,例如:众包标注

Snorkel是一个围绕数据编程范式(Data Programming paradigm)而构建的系统,用于快速创建、建模并管理用于机器学习的训练数据集。

数据编程范式是一个简单但强大的方法,我们请领域专家给出各种各样的监督信号作为标注函数,可以使用标准的像Python这样的脚本函数来编写这些标注函数。标准函数中编码了领域相关的推理规则,可以使用入正则表达式、经验规则等常见的模式进行标注。这样生成的标注是包含噪声的,并且可能彼此冲突。

在Snorkel中,这些标注推断被成为标注函数(Labeling Function),下面是一些常见类型的标注函数:

  • 硬编码的推导:通常使用正则表达式
  • 语义结构:例如,使用spacy得到的依存关系结构
  • 远程监督:例如使用外部的知识库
  • 有噪声人工标注:例如众包标注
  • 外部模型:其他可以给出有用标注信号的模型

当编写好标注函数后,Snorkel将利用这些不同的标注函数之间的冲突训练一个标注模型(Label Model)来估算不同标注函数的标注准确度。通过观察标注函数之间的彼此一致性,标注模型能够学习到每个监督源的准确度。

例如,如果一个标注函数的标注结果总是得到其他标注函数的认可,那么这个标注函数将有一个高准确率,而如果一个标注函数总是与其他标注函数的结果不一致,那么这个标注函数将得到一个较低的准确率。通过整合所有的标注函数的投票结果(以其估算准确度作为权重),我们就可以为每个数据样本分配一个包含噪声的标注(0~1之间),而不是一个硬标注(要么0,要么1)。

接下来,当标注一个新的数据点时,每一个标注函数都会对分类进行投票:正、负或弃权。基于这些投票以及标注函数的估算精度,标注模型能够程序化到为上百万的数据点给出概率性标注。最终的目标是训练出一个可以超越标注函数的泛化能力的分类器。

这一方法的三大优点是:

  1. 可以大规模标注,每个标注函数都可以用于成百上千个数据样本的标注。
  2. 可以利用海量的未标注数据,来构建大量虽然不完美但是足够好的大型训练数据集
  3. 这些标注可以用于训练一个具有大特征集的强大的判别分类器。即使我们只使用
    100个标注函数,每个数据样本依然可以有上千个特征。

因此,通过这种方法得到海量的低质量监督,然后使用统计技术处理有噪标注,我们可以训练出高质量的模型。



原文链接:Snorkel 可编程的数据标注神器 — 汇智网

原文地址:https://blog.51cto.com/13692892/2430548

时间: 2024-08-30 12:54:32

数据标注自动化工具Snorkel的相关文章

视频数据标注工具与平台(数据标注公司)

最近在做相关项目,评估了多个数据标注工具,也接触了几家数据标注公司和平台,总结如下,供各位参考. 视频数据标注平台(标注外包公司) 数据标注公司的工作比较多样,但视频标注对工具要求稍高一些,能在线上做的平台不是特别多,主要还是语音.图片标注.目前这个行业良莠不齐,有的平台技术实力强,有品牌背景,比如京东众智.百度众包,数据保密做得好.有的平台是专门做代理的,你的数据需求交给他,他转手就分包给下一层.下面介绍几个平台,也综合了其他博主的一些意见,如下: 京东众智 标注质量比较高,项目交付准时,数据

NLP文本标注工具与平台(数据标注公司)

最近在做NLP相关项目,包括句法分析.情感分析等,有大量数据需要标注.我评估了几个文本标注工具,也接触了几家数据标注公司和平台,总结如下,供各位参考. 文本标注平台(标注外包公司) 数据标注公司的工作比较多样,文本数据标注是最基础的,另外语音.图片.视频标注也都可以做.目前这个行业良莠不齐,有的平台技术实力强,有品牌背景,比如京东众智.百度众包,数据保密做得好.有的平台是专门做代理的,你的数据需求交给他,他转手就分包给下一层.下面介绍几个平台,也综合了其他博主的一些意见,如下: 京东众智 标注质

数据标注

数据标注就是使用自动化工具通过分类.画框.注释等等对收集来的数据进行标记以形成可供计算机识别分析的优质数据的过程. 数据标注的对象主要分为文本.图片.音频.视频四个种类: 文本标注主要包括情感分析.知识库.关键词提取.文字翻译.搜索引擎优化等.就比如,识别一句话蕴含的情感,翻译等等: 图片标注主要包括图像分割 .物体检测 .图像语义理解.图像生成 .图片加注等服务: 音频标注主要包括对全球主要语言和语料.包括方言.特殊情景语音进行识别标注,语音识别等等: 视频标注主要包括对视频中出现的物体.文字

破局AI落地难,数据标注行业需率先变革丨曼孚科技

?2019年,国内人工智能领域的投融资热情大幅降低,相当数量的AI企业彻底消失在了历史的长河中,“人工智能寒潮已至”甚至成为行业年度热词. 与前几年创业与投资热情齐头并进的盛况相比,近段时间的AI行业显然萧条了很多. 究其原因,“AI落地难”要负主要责任. 从自动化时代到智能化时代,人工智能创造的价值在不断增长.与此同时,业务场景的精细度与复杂度也在不断提升,为人工智能技术的落地带来一系列挑战. 以国内人工智能企业为例.目前国内几个较大的人工智能独角兽企业,商业化落地主要集中在金融.安防监控.手

前端自动化工具 grunt 插件的简单使用(一)

Grunt 的简介: Grunt 是一套前端自动化工具,是一个基于 node.js 的命令行工具,它一般用于: 1.压缩文件: 2.合并文件: 3.简单的语法检测: 4.监听文件变动: 5.less 编译: PS:Grunt 官网 (https://gruntjs.com/).Grunt  就像是一个工具箱,拥有非常丰富的任务插件,可以帮助开发人员实现各种各样目标任务的构建.在Grunt工具箱中,按目标任务类型我们可以分为: 1.编译文档型:比如编译 LESS.Sass.Stylus.Coffe

Python3中级玩家:淘宝天猫商品搜索爬虫自动化工具(第一篇)

Python3中级玩家:淘宝天猫商品搜索爬虫自动化工具(第一篇) 一.前言 大家好,今天我要来讲讲一个比较实用的爬虫工具,抓取淘宝的关键字商品信息,即是: 输入关键字,按照价格等排序,抓取列出的商品信息以及下载图片,并且支持导出为Excel. 如果如下: 看完下面的讲解,Python语言就掌握得差不多,中级水平了,而且这个封装后的工具还是很好用的. 感觉自己萌萌哒~~ 二.原理 大家知道什么叫爬虫,它也叫网络蜘蛛,机器人等,意思就是说自动的程序,可以去抓取使用网络协议传输的内容. 目前来讲爬虫主

组建自动化工具Ant

组建自动化工具Ant Ant可以帮助我们自动化的完成项目的构建 下面是维基百科对Ant的介绍:http://zh.wikipedia.org/wiki/Apache_Ant Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.由Apache软件基金会所提供.默认情况下,它的buildfile(XML文件)名为build.xml.每一个buildfile含有一个<project>和至少一个默认的<target>,这

C#最佳工具集合:IDE、分析、自动化工具等

原文:C#最佳工具集合:IDE.分析.自动化工具等 C#是企业中广泛使用的编程语言,特别是那些依赖微软的程序语言.如果您使用C#构建应用程序,则最有可能使用Visual Studio,并且已经寻找了一些扩展来对您的开发进行管理.但是,这个工具列表可能会改变您编写C#代码的方式. C#编程的最佳工具有以下几类: IDE VS扩展 编译器.编辑器和序列化 反编译和代码转换工具 构建自动化和合并工具 版本控制 测试工具和VS扩展 性能分析 APM 部署自动化 容器 使用上面的链接直接跳转到特定工具,或

辅助Praat进行标注的工具

继续D丝的工具编写之行,这次提供一个辅助Praat进行标注的工具,是用C#写的.使用这个工具,可以自动读取文件使用Praat标注,并且自动保存,不需要通过频繁打开,保存,Praat进行操作. 使用说明: 工具介绍: Praat.exe 这个是通用的标注工具 sendpraat.exe  这个程序调用的一个接口程序 Praat标注辅助工具.exe  本程序 数据说明: 所有数据来自http://ocw.mit.edu/index.htm 工具下载: http://download.csdn.net