昇思11天

基于 MindSpore 实现 BERT 对话情绪识别

BERT模型概述

BERT(Bidirectional Encoder Representations from Transformers)是由Google于2018年开发并发布的一种新型语言模型。BERT在许多自然语言处理(NLP)任务中发挥着重要作用,例如问答、命名实体识别、自然语言推理和文本分类。BERT基于Transformer中的Encoder,并采用了双向的结构,因此掌握Transformer的Encoder结构是理解BERT的基础。

BERT模型的主要创新点

BERT模型的主要创新点在于其预训练方法,即使用了**Masked Language Model(MLM)Next Sentence Prediction(NSP)**两种方法来分别捕捉词语和句子级别的表征(representation)。

Masked Language Model(MLM)

在MLM训练中,随机将语料库中15%的单词进行Mask操作。具体操作如下:

  • 80%的单词直接用[Mask]替换。
  • 10%的单词替换成其他随机的单词。
  • 10%的单词保持不变。

通过这种方式,模型需要预测被Mask的词,从而捕捉到单词级别的语义信息。

Next Sentence Prediction(NSP)

NSP的目的是让模型理解两个句子之间的联系。训练的输入是句子A和B,B有一半的几率是A的下一句。通过预测B是否为A的下一句,模型能够学习到句子级别的语义关系。

BERT的预训练和Fine-tuning

BERT预训练之后,会保存其Embedding table和12层Transformer权重(BERT-BASE)或24层Transformer权重(BERT-LARGE)。预训练好的BERT模型可以用于下游任务的Fine-tuning,如文本分类、相似度判断和阅读理解等。

对话情绪识别(EmoTect)

对话情绪识别(Emotion Detection,简称EmoTect) ,旨在识别智能对话场景中的用户情绪。针对用户文本,自动判断其情绪类别并给出相应的置信度。情绪类型一般分为积极、消极和中性。对话情绪识别适用于聊天、客服等多个场景,帮助企业更好地把握对话质量、改善用户交互体验,分析客服服务质量并降低人工质检成本。

步骤:通过 BertForSequenceClassification 构建用于情感分类的 BERT 模型,加载预训练权重,设置情感三分类的超参数自动构建模型。后面对模型采用自动混合精度操作,提高训练的速度,然后实例化优化器,紧接着实例化评价指标,设置模型训练的权重保存策略,最后就是构建训练器,模型开始训练。

有构建好的,直接调用:

from mindnlp.transformers import BertForSequenceClassification, BertModel

相关推荐
ZOMI酱32 分钟前
【AI系统】模型转换基本介绍
人工智能
CodeDevMaster44 分钟前
LangChain之检索增强生成RAG
人工智能·python·llm
数学人学c语言2 小时前
yolov11剪枝
pytorch·python·深度学习
今天又是学习2 小时前
深度学习5
人工智能·深度学习
新加坡内哥谈技术2 小时前
RAG架构类型
大数据·人工智能·语言模型·chatgpt
Topstip2 小时前
iOS 19 重大更新泄露,将带来更“聪明”的 Siri 挑战 ChatGPT
人工智能·ios·ai·chatgpt
Nerinic2 小时前
深度学习基础1
人工智能·深度学习
数字扫地僧3 小时前
深度学习与知识图谱嵌入的结合:从理论到实践
人工智能·深度学习·知识图谱
真理Eternal3 小时前
手搓人工智能—聚类分析(下)谱系聚类与K-mean聚类
人工智能·机器学习
ZOMI酱3 小时前
【AI系统】昇腾 AI 架构介绍
人工智能·架构