[使用ModelScope]只要5分钟,快速实现中文情感分类模型
本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介:
本文介绍基于ModelScope,快速实现一个中文情感分类模型,只需不到5分钟,即可获得工业级优异表现的深度学习模型。
参考文档
- 我们使用的是:达摩情感分类模型,该模型基于StructBERT实现,StructBERT是达摩院自研的深度语言模型,在中文数据上表现优异。
开发环境
- 基于ModelScope提供的免费的CPU和GPU开发环境,开发环境链接
操作步骤
- 阅读文档提供的代码示例可以看到,操作步骤非常简单,仅仅只需要4行代码。
![image.png image.png](https://ucc.alicdn.com/pic/developer-ecology/e564d0abd53e4eb796ae68467a0c2a3f.png?x-oss-process=image/resize,w_1400/format,webp)
- 我们首先选择GPU环境(开发环境链接,实例启动大约需要1分钟左右),可以看到系统已经预装了镜像,包括cuda、python3.7、torch1.11.0、tensorfow1.15.5等,即开即用,无需自己再安装了。实例启动后,参考下面截图步骤1和2打开notebook:
![image.png image.png](https://ucc.alicdn.com/pic/developer-ecology/d91e879b6b5347988ff4a71983c0cfdf.png?x-oss-process=image/resize,w_1400/format,webp)
- 接下来我们复制参考文献的示例代码,逐行执行:
![image.png image.png](https://ucc.alicdn.com/pic/developer-ecology/7183d1c721ca4459b246866191a30da8.png?x-oss-process=image/resize,w_1400/format,webp)
![image.png image.png](https://ucc.alicdn.com/pic/developer-ecology/98fa9b833bfb44bdb2f53c8ba02e21e9.png?x-oss-process=image/resize,w_1400/format,webp)
- 注意到,执行第3行代码需要的时间比较久,从日志可以看出来,主要是在下载模型包。如果对bert比较了解的话,可以从日志看出来,最大的文件是模型参数文件pytorch_model.bin,体积有390M。
![image.png image.png](https://ucc.alicdn.com/pic/developer-ecology/b5ef3ec4491d421d8c93145ad53fc9e6.png?x-oss-process=image/resize,w_1400/format,webp)
- 等待1分钟左右即可下载完成,网速还是挺快的。执行最后一行代码,最后一行代码就是进行情感分析了,我们输入一句话,得到一个json格式的输出。输出的结构也比较明显,labels的1和0分别对应正面情感和负面情感,scores对应情感的概率。可以看出,我们的输入是“启动的时候很大声音,然后就会听到1.2秒的卡察的声音,类似齿轮摩擦的声音”,它的正面概率是0.07,负面概率是0.92,还是蛮准的。大家可以多测试一些例子看看效果。
![image.png image.png](https://ucc.alicdn.com/pic/developer-ecology/9186c97801b1450b9d0c71ab58c023db.png?x-oss-process=image/resize,w_1400/format,webp)
最后
- 就这么简单,5分钟不到,只需要4行代码,我们就实现了一个工业级中文情感分类模型。
- 多说几句,从模型说明文档可以看到,该模型是基于bdci、dianping、jd binary、waimai-10k四个数据集(11.5w条数据)训练出来的情感分类模型,相信在这几个数据集或者比较相关的数据上效果是不错的,但是如果你的数据和这几个数据集差异很大,例如是英文的,或者垂直领域的(汽车、鞋服等),模型的效果可能要打一些折扣。这种情况下,就需要在达摩情感分类模型的基础上去适配你的领域数据,希望ModelScope尽早开放模型进一步finetune的能力。