huggingface 大模型BERT文本分类之情感分析

目标

本文通过huggingface的Transform类进行BERT的文本分类代码训练与验证,数据集采用网上整理包括正向和负向评论的携程网数据

通过实战完整地去掌握完整代码步骤,包括:

  • 数据的加载
  • 创建数据集
  • 划分训练集和验证集
  • 创建模型和优化器
  • 包括训练与验证
  • 模型的训练
  • 模型的预测

实现当输入一个对酒店的评价的一段文字,模型输出对于这个酒店的分析,判断是正向评价还是负面评价

BERT适用场景

BERT(Bidirectional Encoder Representations from Transformers)是一种基于Transformer的预训练语言模型,它在自然语言处理(NLP)领域中具有广泛的应用,以下是一些BERT特别适用的场景:

  • 1、文本分类:BERT可以用于情感分* 析、主题分* 类、垃圾邮件检测等文本分类任务。它能够捕捉到文本中细微的语义差异,从而实现更准确的分类。
  • 2、问答系统:BERT可以用于构建问答系统,它能够理解问题的上下文,并在大量文本中找到正确的答案。
  • 3、命名实体识别(NER):在NER任务中,BERT能够识别文本中的特定实体,如人* 名、地* 点、组织等。
  • 4、机器翻译:虽然BERT最初是为英语设计的,但它也可以通过多语言预训练模型来支持机器翻译任务。
  • 5、文本摘要:BERT可以用于生成文本的摘要,无论是提取式摘要还是生成式摘要。
  • 6、语言模型评估:BERT可以用于评估其他语言模型的性能,通过比较预训练模型和目标模型的表示。
  • 7、文本相似度:BERT可以用于计算文本之间的相似度,这在推荐系* 统、搜索引擎优化等领域非常有用。
  • 8、对话系统:BERT可以用于构建对话系统,理解用户的意图,并生成合适的回复。
  • 9、文档分类:在法律、医疗等领域,BERT可以用于对文档进行分类,帮助专业人士快速定位信息。
  • 10、文本生成:虽然BERT主要用于理解语言,但它也可以用于文本生成任务,如续写故事、生成诗歌等。
  • 11、语义匹配:BERT可以用于比较两个句子的语义相似度,这在语义搜索、信息检索等领域非常有用。
  • 12、文本纠错:BERT可以用于检测和纠正文本中的错误,提高文本质量。
  • 13、多任务学习:BERT可以同时处理多个NLP任务,通过共享表示来提高各个任务的性能。

本次数据集介绍

数据集来源于网络整理的携程网数据, 包括7000 多条酒店评论数据,5000 多条正向评论,2000 多条负向评论

地址:https://huggingface.co/datasets/dirtycomputer/ChnSentiCorp_htl_all

字段说明

字段 说明
label 1 表示正向评论,0 表示负向评论
review 评论内容

MQPdAa

硬件环境

本次实验使用AutoDL AI算力云 租借算力,采用GPU卡进行训练,使用Ubuntu 24.04LTS版本,Python使用Python 3.12.3版本

基本的硬件配置如下:

  • CPU: 16 核,Xeon(R) Gold 6430
  • 内存: 120 GB
  • GPU: Nvidia RTX 4090 / 24 GB

IX3I8x