昇思25天学习打卡营第23天|基于mindspore bert对话情绪识别

Interesting thing!

About Bert you just need to know that it is like gpt, but focus on pre-training Encoder instead of decoder. It has a mask method which enhances its precision remarkbably. (judge not only the word before the blank but the later one )

model : BertForSequenceClassfication constructs the model and load the config and set the sentiment classification to 3 kinds

python 复制代码
model = BertForSequenceClassification.from_pretrained('bert-base-chinese', num_labels = 3)
model = auto_mixed_precision(model, '01')
optimizer = nn.Adam(model.trainable_params(), learning_rate = 2e-5)
metric = Accuracy()
ckpoint_cb =  CheckpointCallback(save_path = 'checkpoint', ckpt_name = 'bert_emotect', epochs = 1, keep_checkpoint_max = 2)
best_model_cb = BestModelCallback(save_path = 'checkpoint', ckpt_name = 'bert_emotect_best', auto_load = True)
trainer = Trainer(network = model, train_dataset = dataset_train,
                    eval_dataset=dataset_val, metrics = metric,
                    epochs = 5, optimizer = optimizer, callback = [ckpoint_cb, best_model_cb])
trainer.run(tgt_columns = 'labels')

the model validation and prediction are the same mostly like Sentiment by any model:

python 复制代码
evaluator = Evaluator(network = model, eval_dataset = dataset_test, metrics= metric)
evaluator.run(tgt_columns='labels')

dataset_infer = SentimentDataset('data/infer.tsv')
def predict(text, label = None):
    label_map = {0:'消极', 1:'中性', 2:'积极'}
    text_tokenized = Tensor([tokenizer(text).input_ids])
    logits = model(text_tokenized)
    predict_label = logits[0].asnumpy().argmax()
    info = f"inputs:'{text}',predict:
'{label_map[predict_label]}'"
    if label is not None:
        info += f", label:'{label_map[label]}'"
    print(info)
相关推荐
HRTOS7 分钟前
HRTOS应用示例:信号量机制详解
c语言·人工智能·嵌入式硬件·51单片机
鲲穹AI种草10 分钟前
AI 证件照制作处理,多款证件照工具能力客观记录
人工智能·证件照
西柚小萌新14 分钟前
【LLM&&AI应用开发 八股文】--RAG的分块策略
人工智能
商业白皮书15 分钟前
企业大模型应用可获得哪些安全防护能力?Amazon Bedrock Guardrails 从内容过滤到规则验证搭建 AI 安全护栏
网络·人工智能·安全
Yan-英杰17 分钟前
从“投屏“到“办公“,ToDesk鸿蒙版4.8.0.0补齐远控“进入→处理→离开“全流程
服务器·人工智能·爬虫·机器学习·ai开发工具
CCYe、24 分钟前
企业AI网关中的密钥生命周期:从一把Key走天下到自动轮换
网络·人工智能·安全
小蒋观天下28 分钟前
2026交通安防AI摄像头完整选型指南
大数据·人工智能
Alter123036 分钟前
算力决定下限,存力决定上限:Gartner魔力象限背后的AI存储暗战
大数据·人工智能
吴声子夜歌43 分钟前
Linux命令——查找文件
linux·运维·学习
为自己_带盐44 分钟前
AI驱动历史项目安全审查
人工智能·安全