专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

基于Ernie3。0CAIL2019法研杯要素识别多标签分类

  本项目链接:基于Ernie3。0CAIL2019法研杯要素识别多标签分类任务
  (https:aistudio。baidu。comaistudioprojectdetail4280922?contributionType1)
  本项目将介绍如何基于PaddleNLP对ERNIE3。0预训练模型微调完成法律文本多标签分类预测。本项目主要包括什么是多标签文本分类预测、ERNIE3。0模型、如何使用ERNIE3。0中文预训练模型进行法律文本多标签分类预测等三个部分。1。什么是多标签文本分类预测
  文本多标签分类是自然语言处理(NLP)中常见的文本分类任务,文本多标签分类在各种现实场景中具有广泛的适用性,例如商品分类、网页标签、新闻标注、蛋白质功能分类、电影分类、语义场景分类等。多标签数据集中样本用来自nclasses个可能类别的m个标签类别标记,其中m的取值在0到nclasses之间,这些类别具有不相互排斥的属性。通常,我们将每个样本的标签用Onehot的形式表示,正类用1表示,负类用0表示。例如,数据集中样本可能标签是A、B和C的多标签分类问题,标签为〔1,0,1〕代表存在标签A和C而标签B不存在的样本。
  近年来,随着司法改革的全面推进,以公开为原则,不公开为例外的政策逐步确立,大量包含了案件事实及其适用法律条文信息的裁判文书逐渐在互联网上公开,海量的数据使自然语言处理技术的应用成为可能。法律条文的组织呈树形层次结构,现实中的案情错综复杂,同一案件可能适用多项法律条文,涉及数罪并罚,需要多标签模型充分学习标签之间的关联性,对文本进行分类预测。2。ERNIE3。0模型
  ERNIE3。0首次在百亿级预训练模型中引入大规模知识图谱,提出了海量无监督文本与大规模知识图谱的平行预训练方法(UniversalKnowledgeTextPrediction),通过将知识图谱挖掘算法得到五千万知识图谱三元组与4TB大规模语料同时输入到预训练模型中进行联合掩码训练,促进了结构化知识和无结构文本之间的信息共享,大幅提升了模型对于知识的记忆和推理能力。
  ERNIE3。0框架分为两层。第一层是通用语义表示网络,该网络学习数据中的基础和通用的知识。第二层是任务语义表示网络,该网络基于通用语义表示,学习任务相关的知识。在学习过程中,任务语义表示网络只学习对应类别的预训练任务,而通用语义表示网络会学习所有的预训练任务。
  ERNIE3。0模型框架3。ERNIE3。0中文预训练模型进行法律文本多标签分类预测3。1环境准备
  AIStudio平台默认安装了Paddle和PaddleNLP,并定期更新版本。如需手动更新Paddle,可参考飞桨安装说明,安装相应环境下最新版飞桨框架。使用如下命令确保安装最新版PaddleNLP:3。2加载法律文本多标签数据
  本数据集(2019年法研杯要素识别任务)来自于中国裁判文书网公开的法律文书,每条训练数据由一份法律文书的案情描述片段构成,其中每个句子都被标记了对应的类别标签,数据集一共包含20个标签,标签代表含义如下:DV10婚后有子女DV21限制行为能力子女抚养DV32有夫妻共同财产DV43支付抚养费DV54不动产分割DV65婚后分居DV76二次起诉离婚DV87按月给付抚养费DV98准予离婚DV109有夫妻共同债务DV1110婚前个人财产DV1211法定离婚DV1312不履行家庭义务DV1413存在非婚生子DV1514适当帮助DV1615不履行离婚协议DV1716损害赔偿DV1817感情不和分居满二年DV1918子女随非抚养权人生活DV2019婚后个人财产
  数据集示例:textlabels所以起诉至法院请求变更两个孩子均由原告抚养,被告承担一个孩子抚养费每月600元。0,7,3,12014年8月原、被告因感情不和分居,2014年10月16日被告文某某向务川自治县人民法院提起离婚诉讼,被法院依法驳回了离婚诉讼请求。6,5女儿由原告抚养,被告每月支付小孩抚养费500元;0,7,3,1
  使用本地文件创建数据集,自定义readcustomdata()函数读取数据文件,传入loaddataset()创建数据集,返回数据类型为MapDataset。更多数据集自定方法详见如何自定义数据集。自定义数据集importrefrompaddlenlp。datasetsimportloaddatasetdefcleantext(text):texttext。replace(r,)。replace(,)textre。sub(rn,。,text)returntext定义读取数据集函数defreadcustomdata(istestFalse,isonehotTrue):filenum6ifistestelse48文件个数filepathrawdatatestifistestelserawdatatrainforiinrange(filenum):fopen({}labeled{}。txt。format(filepath,i))whileTrue:linef。readline()ifnotline:breakdataline。strip()。split()标签用Onehot表示ifisonehot:labels〔float(1)ifstr(i)indata〔1〕。split(,)elsefloat(0)foriinrange(20)〕else:labels〔int(d)fordindata〔1〕。split(,)〕yield{text:cleantext(data〔0〕),labels:labels}f。close()labelvocab{0:婚后有子女,1:限制行为能力子女抚养,2:有夫妻共同财产,3:支付抚养费,4:不动产分割,5:婚后分居,6:二次起诉离婚,7:按月给付抚养费,8:准予离婚,9:有夫妻共同债务,10:婚前个人财产,11:法定离婚,12:不履行家庭义务,13:存在非婚生子,14:适当帮助,15:不履行离婚协议,16:损害赔偿,17:感情不和分居满二年,18:子女随非抚养权人生活,19:婚后个人财产}loaddataset()创建数据集traindsloaddataset(readcustomdata,istestFalse,lazyFalse)testdsloaddataset(readcustomdata,istestTrue,lazyFalse)lazyFalse,数据集返回为MapDataset类型print(数据类型:,type(trainds))labels为Onehot标签print(训练集样例:,trainds〔0〕)print(测试集样例:,testds〔0〕)数据类型:classpaddlenlp。datasets。dataset。MapDataset训练集样例:{text:2013年11月28日原、被告离婚时自愿达成协议,婚生子张某乙由被告李某某抚养,本院以(2013)宝渭法民初字第01848号民事调解书对该协议内容予以了确认,该协议具有法律效力,对原、被告双方均有约束力。,labels:〔1。0,1。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0〕}测试集样例:{text:综上,原告现要求变更女儿李乙抚养关系的请求,本院应予支持。,labels:〔1。0,1。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0,0。0〕}3。3加载中文ERNIE3。0预训练模型和分词器
  PaddleNLP中Auto模块(包括AutoModel,AutoTokenizer及各种下游任务类)提供了方便易用的接口,无需指定模型类别,即可调用不同网络结构的预训练模型。PaddleNLP的预训练模型可以很容易地通过frompretrained()方法加载,Transformer预训练模型汇总包含了40多个主流预训练模型,500多个模型权重。
  AutoModelForSequenceClassification可用于多标签分类,通过预训练模型获取输入文本的表示,之后将文本表示进行分类。PaddleNLP已经实现了ERNIE3。0预训练模型,可以通过一行代码实现ERNIE3。0预训练模型和分词器的加载。加载中文ERNIE3。0预训练模型和分词器frompaddlenlp。transformersimportAutoModelForSequenceClassification,AutoTokenizermodelnameernie3。0basezhnumclasses20modelAutoModelForSequenceClassification。frompretrained(modelname,numclassesnumclasses)tokenizerAutoTokenizer。frompretrained(modelname)3。4基于预训练模型的数据处理
  Dataset中通常为原始数据,需要经过一定的数据处理并进行采样组batch。通过Dataset的map函数,使用分词器将数据集从原始文本处理成模型的输入。定义paddle。io。BatchSampler和collatefn构建paddle。io。DataLoader。
  实际训练中,根据显存大小调整批大小batchsize和文本最大长度maxseqlength。importfunctoolsimportnumpyasnpfrompaddle。ioimportDataLoader,BatchSamplerfrompaddlenlp。dataimportDataCollatorWithPadding数据预处理函数,利用分词器将文本转化为整数序列defpreprocessfunction(examples,tokenizer,maxseqlength):resulttokenizer(textexamples〔text〕,maxseqlenmaxseqlength)result〔labels〕examples〔labels〕returnresulttransfuncfunctools。partial(preprocessfunction,tokenizertokenizer,maxseqlength128)traindstrainds。map(transfunc)testdstestds。map(transfunc)collatefn函数构造,将不同长度序列充到批中数据的最大长度,再将数据堆叠collatefnDataCollatorWithPadding(tokenizer)定义BatchSampler,选择批大小和是否随机乱序,进行DataLoadertrainbatchsamplerBatchSampler(trainds,batchsize64,shuffleTrue)testbatchsamplerBatchSampler(testds,batchsize64,shuffleFalse)traindataloaderDataLoader(datasettrainds,batchsamplertrainbatchsampler,collatefncollatefn)testdataloaderDataLoader(datasettestds,batchsamplertestbatchsampler,collatefncollatefn)3。5数据训练和评估
  定义训练所需的优化器、损失函数、评价指标等,就可以开始进行预模型微调任务。importtimeimportpaddle。nn。functionalasFfrommetricimportMultiLabelReport文件在根目录下Adam优化器、交叉熵损失函数、自定义MultiLabelReport评价指标optimizerpaddle。optimizer。AdamW(learningrate1e4,parametersmodel。parameters())criterionpaddle。nn。BCEWithLogitsLoss()metricMultiLabelReport()fromevalimportevaluateepochs5训练轮次ckptdirernieckpt训练过程中保存模型参数的文件夹globalstep0迭代次数tictraintime。time()bestf1score0forepochinrange(1,epochs1):forstep,batchinenumerate(traindataloader,start1):inputids,tokentypeids,labelsbatch〔inputids〕,batch〔tokentypeids〕,batch〔labels〕计算模型输出、损失函数值、分类概率值、准确率、f1分数logitsmodel(inputids,tokentypeids)losscriterion(logits,labels)probsF。sigmoid(logits)metric。update(probs,labels)auc,f1score,,metric。accumulate()auc,f1score,precison,recall每迭代10次,打印损失函数值、准确率、f1分数、计算速度globalstep1ifglobalstep100:print(globalstepd,epoch:d,batch:d,loss:。5f,auc:。5f,f1score:。5f,speed:。2fsteps(globalstep,epoch,step,loss,auc,f1score,10(time。time()tictrain)))tictraintime。time()反向梯度回传,更新参数loss。backward()optimizer。step()optimizer。cleargrad()每迭代40次,评估当前训练的模型、保存当前最佳模型参数和分词器的词表等ifglobalstep400:savedirckptdirifnotos。path。exists(savedir):os。makedirs(savedir)evalf1scoreevaluate(model,criterion,metric,testdataloader,labelvocab,ifreturnresultsFalse)ifevalf1scorebestf1score:bestf1scoreevalf1scoremodel。savepretrained(savedir)tokenizer。savepretrained(savedir)
  模型训练过程中会输出如下日志:globalstep770,epoch:4,batch:95,loss:0。04217,auc:0。99446,f1score:0。92639,speed:0。61stepsglobalstep780,epoch:4,batch:105,loss:0。03375,auc:0。99591,f1score:0。92674,speed:0。98stepsglobalstep790,epoch:4,batch:115,loss:0。04217,auc:0。99530,f1score:0。92483,speed:0。80stepsglobalstep800,epoch:4,batch:125,loss:0。05338,auc:0。99534,f1score:0。92467,speed:0。67stepsevalloss:0。05298,auc:0。99185,f1score:0。90312,precison:0。90031,recall:0。90596〔2022072716:31:27,917〕〔INFO〕tokenizerconfigfilesavedinernieckpttokenizerconfig。json〔2022072716:31:27,920〕〔INFO〕Specialtokensfilesavedinernieckptspecialtokensmap。jsonglobalstep810,epoch:4,batch:135,loss:0。04668,auc:0。99509,f1score:0。91319,speed:0。59stepsglobalstep820,epoch:4,batch:145,loss:0。04317,auc:0。99478,f1score:0。91696,speed:0。98stepsglobalstep830,epoch:4,batch:155,loss:0。04573,auc:0。99488,f1score:0。91815,speed:0。80stepsglobalstep840,epoch:4,batch:165,loss:0。05505,auc:0。99465,f1score:0。91753,speed:0。65stepsevalloss:0。05352,auc:0。99234,f1score:0。89713,precison:0。88058,recall:0。91432globalstep850,epoch:4,batch:175,loss:0。03971,auc:0。99626,f1score:0。92391,speed:0。76stepsglobalstep860,epoch:4,batch:185,loss:0。04622,auc:0。99593,f1score:0。91806,speed:0。97stepsglobalstep870,epoch:4,batch:195,loss:0。04128,auc:0。99587,f1score:0。91959,speed:0。77stepsglobalstep880,epoch:4,batch:205,loss:0。06053,auc:0。99566,f1score:0。92041,speed:0。63stepsevalloss:0。05234,auc:0。99220,f1score:0。90272,precison:0。89108,recall:0。91466。。。3。6多标签分类预测结果预测
  加载微调好的模型参数进行情感分析预测,并保存预测结果fromevalimportevaluate模型在测试集中表现model。setdict(paddle。load(ernieckptmodelstate。pdparams))也可以选择加载预先训练好的模型参数结果查看模型训练结果model。setdict(paddle。load(ernieckpttrainedmodelstate。pdparams))print(ERNIE3。0在法律文本多标签分类test集表现,end)resultsevaluate(model,criterion,metric,testdataloader,labelvocab)ERNIE3。0在法律文本多标签分类test集表现evalloss:0。05298,auc:0。99185,f1score:0。90312,precison:0。90031,recall:0。90596testdsloaddataset(readcustomdata,istestTrue,isonehotFalse,lazyFalse)resdir。resultsifnotos。path。exists(resdir):os。makedirs(resdir)withopen(os。path。join(resdir,multilabel。tsv),w,encodingutf8)asf:f。write(textprediction)fori,predinenumerate(results):f。write(testds〔i〕〔text〕pred)
  法律多标签文本预测结果示例:
  4。总结
  相关项目:
  Paddlenlp之UIE模型实战实体抽取任务【打车数据、快递单】
  Paddlenlp之UIE分类模型【以情感倾向分析新闻分类为例】含智能标注方案)
  应用实践:分类模型大集成者〔PaddleHub、Finetune、prompt〕
  Paddlenlp之UIE关系抽取模型【高管关系抽取为例】
  PaddleNLP基于ERNIR3。0文本分类以中医疗搜索检索词意图分类(KUAKEQIC)为例【多分类(单标签)】
  基于ERNIR3。0文本分类:CAIL2018SMALL罪名预测为例(多标签)
  本项目主要讲解了法律任务,和对性能指标的简单探讨,可以看到实际更多问题是关于多标签分类的。
  ChinaAILawChallenge(CAIL)中国法研杯司法人工智能挑战赛本项目数据集:https:github。comchinaailawchallengeCAIL2019treemasterE8A681E7B4A0E8AF86E588AB
  数据集自取:
  欢迎大家关注我的主页:https:aistudio。baidu。comaistudiousercenter
  以及博客:https:blog。csdn。netsinat39620217?typeblog

科莫多巨蜥的毒液到底有多可怕?2009年,一名31岁的渔民安瓦尔,在印尼科莫多岛上采摘水果,结果不小心从水果树上掉了下来,刚好踩到了一只巨型蜥蜴,蜥蜴瞬间就朝他扑了过去,咬住了他的腿,之后又咬住了他的手臂,身体武汉未来的房价会涨到100000元平米吗?这个问题的答案是肯定的!以目前的趋势,未来武汉房价必然达到10万的水平,只是时间长短的问题。2010年至2017年,短短七年间,武汉的房价已经翻了3番,目前,武汉部分高端楼盘如洞庭兰州青白石片区,中央公园怎么样?兰州北拓的黄金区域,目前基础交通还跟不上建设需要,交通滞后可能会成为十四五期间兰州青白石片区发展的的最大障碍!不过就兰州地理位置和城区格局而言,青白石片区是离主城区最近的待开发区域农民为什么不在国家统计失业范围之内?中国有四个儿子,大儿子叫工人,二儿子叫子弟兵,三儿子叫公务员,四儿子叫农民,所以四儿子就没有纳入统计失业包括养老金范围,因为四儿子有金山银山还有三分地。农民有土地,这是农民可以赖以农村成立社区是什么意思?很多农村驻有村委会办公室,同时也驻有社区管理委员会办公室,特别是在城市郊区的农村和街道的农村都同时设立了村委会和社区管理委员会,很多人弄不明白是怎么回事。那农村成立社区是什么意思呢农村里的剩男,为何一剩再剩呢?到底是什么原因?男女比例失调。计划生育只要一个孩子时,受封建思想影响,都拚命要男孩,等他们长大了,很难找到媳妇。一,农村姑娘远嫁,二,女孩见少,三,彩礼高,四,剩男挣钱少。我就一大龄剩男!个人亲身抖音付费直播试水,看直播要给钱了?我们应该如何思考?使劲收,最好是家人们看的话,一分钟100块钱。毕竟粉丝听话的很。毕竟人设都设计好了打PK,卖货摆错价格,怒亏2个亿回馈粉丝。没事就怼工厂,怼员工反正就是赔钱回馈粉丝。赔完还得补交税马上就要退休了,退休工资才3650元太少了,怎么办?3600不少了。我企业工龄32年,退休时退休金只有2200,涨了这么多年还不到3000。知足常乐吧!如果身体不好,这些钱也够生活了,如果身体还可以,就找一些力所能及的工作,打打工补南宁五象新区未来的发展潜力很大吗?五象新区无法成为国家级新区!!!目前看来,五象新区的潜力也就这样了。我们对比一下贵阳的贵安新区,贵安新区的面积是1700平方公里,由贵阳市的郊区和安顺市合并得来。是全国第8个国家级如果把三峡大坝加高10米,截留更多的洪水,可行吗?我国的三峡大坝,作为当今世界上最大的水利枢纽工程,位于湖北省宜昌市上游,距下游葛洲坝水电站38公里,三峡大坝全长2309米高185米,呈梯形形状,集发电旅游航运调控洪水于一身。三峡大家有经历过亲人去世吗?是怎样走出痛苦和想念的?2018年9月1日下午3点8分,我的妻子在医院里停止了呼吸。她的眼睛没有闭上,我流着泪,帮她合上了双眼。我永远失去了我最亲近的爱人,孩子永远的失去了妈妈。一位好妻子,好女儿,好姑妈
初秋穿衣气质感更重要,多试试以下5种衣服,洋气又好看立秋后,很多人都很纠结穿什么?穿连衣裙短裤T恤担心冷,穿外套长裤卫衣又担心热。纠结来纠结去,最后,只好把所有初秋衣服买个遍。其实,没什么好纠结的,也不没必要买太多衣服,因此穿秋穿搭金风玉露话情长,好个中秋夜,共赏婵娟醉晚香飘满堂,金风玉露话情长,好个中秋夜,共赏婵娟醉晚香。秋风萧瑟晚来霜,落叶飘零满地凉,长叹人生无再少,桂花树下暗神伤。西风透骨凉,晚来天气转苍茫,长宵寂寞桂花分外香。日落西山树下酒飘这才是鸡腿的完美做法!16种做法,上桌秒抢光孩子们终于开学啦小时候快开学了,我总惦记着我妈做鸡腿!那味道甭提多好吃了!谁还没个光辉岁月哈?想当年一只鸡,都是我吃鸡腿的。而现在哎。鸡腿这种百搭食材,怎么吃都很过瘾!特意集合了1今天是周末,给大家推荐一款红烧肉最简单的做法,只需3步,现在的天气,还是一如既往的任性,一下子从夏天,变成了秋天,一点缓冲的时间都没有。天气凉爽了,胃口也越来越好,又到了吃肉,储存能量的时候了。俗话说百菜唯有白菜好,诸肉唯有猪肉香!秋天进一步释放消费潜力促进消费持续恢复典型经验做法之十二四川四个聚焦精准发力促进消费持续恢复回升消费对经济发展具有持久拉动力,事关保障和改善民生。国务院办公厅关于进一步释放消费潜力促进消费持续恢复的意见(国办发20229号)印发后,四川省高度重视,及时研究部署,聚焦促消费重点荞麦面粉怎么做好吃,荞麦面粉的做法大全荞麦是一种常见的粮食作物,这种植物的种子在成熟后收取,去掉外壳,经研磨可以制成荞麦面粉供人们食用,而且荞麦面粉有多种不同的食用方法,能做出多种味道不同的美食,今天为大家介绍的就是荞炸茄夹的家常做法,色泽金黄外焦内嫩,荤素搭配异常鲜香美味炸茄夹食材茄子五花肉鸡蛋调料料酒盐味精姜葱湿淀粉花椒盐油制作步骤1选用鲜嫩长条茄子,猪肉要肥三瘦七。将茄子削去皮,从中间破成半圆形,然后修成三角形切成一刀连一刀断的夹刀片,(约厚6皮薄馅大,薄而不破好吃的馅饼这样做皮薄馅大,薄而不破,咬一口,外酥里嫩还多汁,一周7次吃不腻!快来学青椒猪肉馅饼。原料猪肉500克青椒100克胡萝卜100克面粉500克温水300克胡椒粉5克芝麻油10克蚝油10克生非媒赞北京用智慧理念打造绿色之都参考消息网8月26日报道塞内加尔太阳报网站8月12日刊登题为智慧城市绿色之都北京重塑自我的报道,报道称飞速城市化的北京,正在通过一种绿色之都和智慧城市的理念来重塑自我。全文编译如下男宝宝简单大气,内涵丰富的名字,如星光璀璨,熠熠生辉简约而不简单是今天子墨老师分享的如下名字之共同特点。找子墨老师起名的朋友中,很多人都比较偏向于笔画简单的名字,希望宝宝写起来不困难,但同时也希望简单的名字要蕴含不简单的意义。就着这醇香Q弹的红烧鸡爪,做法简单方便,美味可口,是待客的好菜醇香Q弹的红烧鸡爪,做法很简单,好吃到舔手指,赶紧收藏做法,有时间在家做一下!材料鸡爪姜蒜葱冰糖大蒜瓣料酒生抽干辣椒做法1把鸡爪化冰,剪去指甲,清洗干净备用2起锅烧水,放入生姜料酒
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网