中文情感分类单标签

简介: 中文情感分类单标签

接上一篇:

你所不知道的 Transformer!

超详细的 Bert 文本分类源码解读 | 附源码


章节

  • 背景介绍
  • 预处理


完整的 GitHub 项目代码地址:

https://github.com/sherlcok314159/ML/blob/main/nlp/practice/sentiment.md


背景介绍


这次的任务是中文的一个评论情感去向分类:


image.png


每一行一共有三个部分,第一个是索引,无所谓;第二个是评论具体内容;第三个是标签,由0,1,2组成,1代表很好,2是负面评论,0应该是情感取向中立。


数据预处理


bert模型是可以通用的,但是不同数据需要通过预处理来达到满足bert输入的标准才行。


首先,我们创造一个读入自己数据的类,名为MyDataProcessor。其实,这个可以借鉴一下谷歌写好的例子,比如说MrpcProcessor。


首先将DataProcessor类复制粘贴一下,然后命名为MyDataProcessor,别忘了继承一下DataProcessor。


接下来我们以get_train_examples为例来简单介绍一下如何读入自己的数据。


第一步我们需要读取文件进来,这里需要注意的是中文要额外加一个utf-8编码。


image.png


读取好之后,这里模仿创建train_data为空列表,索引值为0。


代码主体跟其他的差不多,有区别的是我们这里并没有用DataProcessor的_read_tsv方法,所以文件分割部分我们得自己写。同时因为中文每行结束会有换行符("\n"),需要换为空白。


image.png


至于dev和test数据集处理方式大同小异,只需要将名字换一下,这里不多赘述,这里放了处理训练集的完整函数。


image.png


然后get_labels方法,里面写具体的labels,这里是0,1,2,那么就是0,1,2,注意不要忘了带上英文引号就行。最重要的是去main(_)方法下面添加自己定义的数据处理类别


image.png

模型去bert官方下载中文的预训练模型,其他的对着改改就好,相信看过我的文本分类(https://github.com/sherlcok314159/ML/blob/main/nlp/tasks/text.md)的剩下的都不需要多说。跑出来的结果如下,我用的是Tesla K80,白嫖Google Colab的,用时1h17min47s。


image.png

相关文章
|
3月前
|
人工智能 机器人 定位技术
2026WAIC展品地图:大模型、国产算力、人形机器人……8 大类全在这
第九届世界人工智能大会(WAIC 2026)7月17—20日在上海举办,首创“三地四馆”联动模式,主题为“智能伙伴,共创未来”。展览面积超10万㎡,1100+企业参展,300+全球首发产品,聚焦大模型、智算、具身智能等八大方向,并首设OPC与Future Tech初创专区。
3092 1
|
6月前
|
消息中间件 运维 Android开发
微信自动化协作 OpenClaw 长连接配置与生产优化方案
OpenClaw是一款轻量开源工具,一键打通微信与本地/云端服务,支持本地调试、Docker容器化及命令行批量部署。无需复杂开发,适配iOS/安卓微信,兼顾安全、稳定与易维护,助力企业高效落地私域自动化运营。(239字)
669 4
|
安全 Java 编译器
对比Java学习Go——基础理论篇
本章介绍了Java开发者学习Go语言的必要性。Go语言以简单、高效、并发为核心设计哲学,摒弃了传统的类继承和异常机制,采用组合、接口和多返回值错误处理,提升了代码清晰度与开发效率。Go直接编译为静态二进制文件,启动迅速、部署简便,其基于Goroutine和Channel的并发模型相较Java的线程与锁机制更轻量安全。此外,Go Modules简化了依赖管理,与Java的Maven/Gradle形成鲜明对比,提升了构建与部署效率。
795 1
|
6月前
|
人工智能 自然语言处理 安全
Windows 平台 OpenClaw 一键部署详细教程
本文详解Windows一键部署OpenClaw教程:全程可视化、免命令行、零代码,5分钟搞定本地AI智能体。支持文件整理、浏览器自动化、数据提取等办公任务,数据本地运行更安全,小白也能轻松上手。
|
机器学习/深度学习 边缘计算 算法
NOMA和OFDMA优化算法分析
NOMA和OFDMA优化算法分析
666 127
|
移动开发 前端开发
基于jeecg-boot的flowable流程审批时增加下一个审批人设置
基于jeecg-boot的flowable流程审批时增加下一个审批人设置
1800 0
|
运维 监控 安全
代理IP故障排查,怎样快速锁定问题?
在信息化时代,互联网不可或缺,业务需求使HTTP动态代理IP的应用日益广泛。为快速排查代理IP故障,可采取以下步骤:1. 检查代理IP有效性(Ping测试、HTTP请求测试);2. 监控连接速度(延迟、带宽测试);3. 分析错误信息(HTTP状态码、错误日志);4. 检查代理设置(配置文件、协议支持);5. 使用调试工具(Wireshark、浏览器开发者工具);6. 咨询服务提供商;7. 检查网络环境(防火墙、ISP限制);8. 逐步故障排除并记录变化。通过这些方法,能有效找出并解决问题。
636 5
|
SQL Java 数据库连接
Mybatis拦截器实现公共字段填充
通过使用MyBatis拦截器,可以实现对公共字段的自动填充,简化代码,提高开发效率。拦截器通过拦截SQL操作,在插入和更新操作时自动填充公共字段,使得开发者不再需要手动设置这些字段。本文详细介绍了实现步骤,并通过示例代码展示了具体实现方法,希望能为您的开发工作提供实用的指导和帮助。
1127 13
|
存储 Linux 内存技术
linux系统查看硬盘序列号
本文介绍在Linux系统中查看硬盘信息的三种方法:1) 使用`hdparm`工具,通过`sudo hdparm -i /dev/sda`获取硬盘序列号和型号;2) 使用`smartctl`工具,不仅可查序列号和型号,还能了解硬盘健康状态;3) 使用`lshw`命令显示存储设备拓扑信息。此外,提供通用技巧如用`lsblk`确认磁盘标识,及注意事项,例如管理员权限和云主机可能隐藏物理序列号等。