原创 · 作者 | Johnson
职业 | 菱歌科技Datatouch项目算法工程师
研究方向 | 自然语言处理
本示例是NLP示例,实际也可以用于图像工作。
官方仓库代码:
label-studio: heartexlabs/label-studio
textbrewer: airaria/TextBrewer
我的测试代码:
johnson7788/label-studio
johnson7788/TextBrewer
一、简介
1.1 在NLP日常工作中,我们需要按几个步骤进行数据处理和模型训练。
1. 先收集数据:通过爬虫或者其它工具,将数据结构化保存到数据库中。
2. 数据预处理:其中大部分都是无标签数据,对于无标签数据的可以用无监督做预训练模型,也可以用经过整理后进行标注变成有标签数据。
3. 数据标注:对于NLP的标注,我们常用的标注包括文本分类,命名实体识别,文本摘要等。
4. 模型训练:对打好标签的数据进行训练,参数调优等
5. 模型评估:对测试数据或开发数据进行评估,判断模型好坏
6. 不断重复1-5步,优化模型和数据,提高模型性能。
![65aaf17a00f155e71726fea9f7e41ae4.png](https://i-blog.csdnimg.cn/blog_migrate/748676dc7edf3df7a589b16874ebf34b.jpeg)
1.2 通常完成这些步骤耗时数周的时间,所以我们需要整合相关功能到自动化的平台。
本文使用的是工具有:
label-studio: 数据标注工具
transformers: 高度集成的模型训练套件
TextBrewer: 哈工大模型蒸馏工具
flask: 自定义一些api,把标注和模型训练串联起来
二、label-studio
2.1 label-studio扮演的角色
如下图,label-studio用于连接各个数据导入,数据标注,调用模型训练标注好的数据的作用。
![6494ef3af96d51473a89135c1b9f0b28.png](https://i-blog.csdnimg.cn/blog_migrate/b552633dcf085e8aa6635f953fd9c378.jpeg)
预览图: 关键字情感分类的标注示例,可以关联多个模型的预测结果,例如使用bert和electra2个模型作为ML后端