客户案例
customercase-icon
客户案例
实在智能凭借流畅稳定的产品和落地有效的方案,已为电商、通信、金融、政府及公共服务等1500+企业提供数字化产品和服务
客户之声
实在生态
产品咨询热线400-139-9089市场合作contact@i-i.ai
百万开发者交流群
关于我们
产品咨询热线400-139-9089市场合作contact@i-i.ai
百万开发者交流群
媒体报道
关注实在智能最新动态,把握行业前沿
媒体报道>实在智能RPA学院|包小黑如何科学地打标——弱监督系统snorkel在法律场景的应用
实在智能RPA学院|包小黑如何科学地打标——弱监督系统snorkel在法律场景的应用
2020-04-27 04:49:54
一、导言数据是人工智能的基石,更多的数据、更高的质量往往意味着更好的效果。然而大规模高质量数据的获取并非易事,通常需要花费大量的时间、精力和成本,尤其是在需要领域知识的情况下。数据标注,正日益成为人工智能发展过程中的瓶颈。鉴于此,弱监督方式开始受到人们越来越多的关注,如远程监督、规则/分类器进行启发式标注等。一般基于这种方式得到的数据准确率和覆盖率有限,需要对不同数据源进行合并来提高。对此,由斯坦福大学开发的snorkel系统,为这一场景提供了一整套解决方案,而基于snorkel metal实现的大规模多任务学习,则再次刷新了GLUE基准。本文首先会简单介绍一下snorkel系统的原理,接着将应用snorkel到法律场景的要素识别中,最后将讨论一下后续的工作方向。二、snorkel 介绍snorkel系统主要用于解决数据标注问题,它不需要用户去手动标注训练数据,而是采用编程的方式快速进行批量标注,在实验测试中相比7小时的纯人工打标,速度提升2.8倍,预测性能提升45.5%。snorkel系统结构如下,主要包括数据处理(CONTEXT HIERARCHY)、数据标注 (LABELING FUNCTION INTERFACE)、生成模型(GENERATIVE MODEL)三部分:数据处理数据处理:用于对文本进行结构化处理,方便提取出待标注的候选集。snorkel采用spacy进行文本数据的处理,包括词性标注、实体识别等。标注函数标注函数:用于对数据样本进行打标,得到标注矩阵(LABEL MATRIX)。用户可以自实现标注函数,也可以用snorkel提供的接口,包括:正则、远程监督、弱分类器以及标注函数生成器。建模时机建模时机:相比上述建模方法,在拟合不同标注函数的打标结果时进行简单投票也能得到最终的标签,虽然效果可能较差,但速度很快。对此,需要在计算时间和效果上进行折中考虑。理论研究证明,在标注密度(样本平均非0标签的比例)过高或过低时,上述建模方法相比投票方法并不能带来很好的效果提升,只有标注密度处于中等的时候才能带来最大收益。三、法律场景的应用判别模型:snorkel系统最终输出的标签为概率值,相比真实标签,保留了建模时的噪声信息。在获得snorkel打标的标签后,可直接用于后续判别模型的训练。数据准备针对婚姻家庭相关纠纷(离婚纠纷、婚约财产纠纷等),使用snorkel对1.3万裁判文书未标注数据进行标注作为训练集,5000人工标注数据作为测试集。数据结构为案件描述+要素,模型需要预测案件描述信息中是否包含要素,包含为1,否则为0。数据处理snorkel系统的数据处理流程主要是方便后续标注函数的编写。这里我们只简单考虑正则方式,不需要这一过程,因此直接跳过。标注函数考虑3组正则作为标注函数,正则1和正则2均由人工根据要素编写,但在性能上存在差别,正则3用同义词对正则1进行扩展得到。生成模型利用标注函数对1.3万未标注数据进行标注,得到1.3万*3的标注矩阵,使用snorkel训练生成模型后得到标签预测值。判别模型使用1.3万snorkel打标数据训练分类器,在5000测试数据上进行效果测试。生成模型效果为了测试生成模型对不同标注函数打标结果的拟合效果,我们直接使用3个标注函数对测试样本进行打标,测试每个标注函数的准确率,再同生成模型输出的标签预测值进行比较。标注函数以及生成模型在测试样本上的 f1(精确率/召回率)如下可见生成模型会对不同标注结果进行拟合,取得一个折中结果。snorkel 打标效果为了测试由snorkel打标数据训练的判别模型的效果,我们使用另外人工标注的1万样本训练分类器作为对比。最终效果对比如下可见基于snorkel打标数据训练出来的模型效果接近人工标注的效果。思考直接使用正则1可以得到更好的效果,但需要考虑的是这一结果可能是因为测试样本的分布与正则1更接近。不同的标注函数代表了不同的信息,因此增加标注函数可以提升模型的泛化能力。相较于直接使用正则1,更好的做法是提升其他标注函数的效果。总结深度学习对数据的依赖,导致数据标注的重要性不断提升。snorkel通过编程标注的方式,可以方便快速的进行大量的数据标注,并通过训练生成模型对标注结果进行拟合,可以给出较为准确的标注结果。在法律场景的尝试中可以发现,使用snorkel打标数据训练的模型,其效果接近人工标注的效果。但仍存在很多问题,例如如何设计标注函数来得到最好的效果,基于测试结果可以知道,生成模型是拟合出一个折中的结果,标注函数设计的太差会导致结果变差。另外得到标注数据后如何更好地使用也是需要继续研究的方向(参考斯坦福大学后续metal项目)。Reference:1. A. Ratner, S. H. Bach, H. Ehrenberg, J. Fries, S. Wu, and C. Re ́. Snorkel: Rapid training data creation with weak supervision. VLDB, 11(3):269–282, 20172. https://github.com/HazyResearch/snorkel3. https://github.com/HazyResearch/metal
分享:
上一篇文章
实在智能RPA学院|少年,看你骨骼清奇,送你一份AI武林秘籍:知识图谱
下一篇文章
AI算法平台是如何炼成的|实在智能RPA学院
相关新闻
实在智能RPA学院|切切切词!算法TopWORDS的原理及实现
2020-04-21 10:04:19
实在智能RPA学院|LIME应用及其时间复杂度初探
2020-04-21 10:08:24
实在智能RPA一文读懂RPA与AI的完美结合过程
2020-04-20 21:39:32
查看更多行业新闻>>
免费领取更多行业解决方案
立即咨询
大家都在用的智能软件机器人
获取专业的解决方案、智能的产品帮您实现业务爆发式的增长
免费试用
渠道合作
资料领取
预约演示
扫码咨询
领取行业自动化解决方案
1V1服务,社群答疑
扫码咨询,免费领取解决方案
热线电话:400-139-9089