---
title: bert-sentiment-Classification-remark
canonical_url: "https://www.modelscope.cn/models/langlangzi/bert-sentiment-Classification-remark"
md_url: "https://www.modelscope.cn/models/langlangzi/bert-sentiment-Classification-remark.md"
repository: langlangzi/bert-sentiment-Classification-remark
chinese_name: "基于BERT的评论情感分类模型"
last_updated: 2024-10-11
pipeline_tag: text-classification
tasks:
  - text-classification
model_type:
  - bert
architectures:
  - BertForMaskedLM
library_name:
  - pytorch
frameworks:
  - pytorch
downloads: 573
stars: 5
---

# bert-sentiment-Classification-remark

> bert-sentiment-Classification-remark - langlangzi 在 ModelScope 开源的模型。基于bert-base-chinese预训练模型二次训练微调出关于短视频评论的情感分类模型。

- **Repository**: langlangzi/bert-sentiment-Classification-remark
- **Tasks**: text-classification
- **Downloads**: 573
- **Stars**: 5
- **Last updated**: 2024-10-11

Source: https://www.modelscope.cn/models/langlangzi/bert-sentiment-Classification-remark

---

## 基于BERT的评论情感分类模型介绍

情感分类，作为自然语言处理领域的核心任务之一，专注于深度挖掘并准确判断文本中蕴含的主观情感倾向，如积极、消极或中性。针对短视频评论，利用`bert-base-chinese`预训练模型训练出的BERT情感分类模型，能够准确地识别评论中的情感色彩。

### 模型描述

主要构建了一个针对短视频评论数据的情感分类模型，该模型基于`bert-base-chinese`预训练并进行深度微调，用于精准识别短视频评论中的情感倾向。在数据集构建上，结合了高质量人工标注与大模型自动标注，以确保模型的准确性和泛化能力。

### 期望模型使用方式以及适用范围

使用该模型对短视频平台上的评论进行情感分析。只需输入自然语言文本形式的评论，模型将自动解析并给出该评论的情感分类标签，包括“positive”、“negitive”和“neutral”三种情感倾向。

#### 如何使用

在安装完成ModelScope之后即可使用。

#### 推理代码示例

```python
import torch
from transformers import BertForSequenceClassification, BertTokenizer

# 设置设备
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

# 加载预训练的模型和tokenizer
model = BertForSequenceClassification.from_pretrained("./sentiment_best_model_f1")
model.to(device)
tokenizer = BertTokenizer.from_pretrained("./sentiment_best_model_f1")

# 定义预测函数
def predict_sentiment(text):
    # 对输入文本进行编码
    encoding = tokenizer(text, return_tensors='pt', truncation=True, padding=True)
    input_ids = encoding['input_ids'].to(device)
    attention_mask = encoding['attention_mask'].to(device)

    # 进行预测
    with torch.no_grad():
        output = model(input_ids, attention_mask=attention_mask)
        logits = output.logits
        predicted_label = torch.argmax(logits, dim=1).item()

    # 将预测结果映射回标签
    label_map = {0: 'positive', 1: 'negative', 2: 'neutral'}
    return label_map[predicted_label]

# 对新的输入文本进行预测
text = "今天天气真好。"
predicted_label = predict_sentiment(text)
print(f"Predicted label: {predicted_label}")
```

### 模型局限性以及可能的偏差

鉴于模型训练数据的局限性，即其规模与领域特定性，该情感分类模型在拓展至其他中文文本领域时，其分类效能可能会遭受一定影响，导致效果有所下降。在基于预训练模型进行二次训练的过程中，为了规避过拟合风险，采取了多重严谨策略。然而，这些措施在强化模型泛化能力的同时，也不可避免地牺牲了对文本细节的深入学习与捕捉，进而影响了模型的准确率等关键性能指标。未来，将持续优化模型参数，不断迭代升级，以期全面提升模型的综合性能。

## 训练数据介绍

数据主要源自短视频平台的用户评论，通过Python爬虫程序进行采集。数据集部分如下：

```
游龙登玉宇，岁月作流星！ 感谢南翔以及各位老师为我们呈现上一场如此精彩的炭花舞演绎。愿我中华非遗的星火长明不灭，愿这千年文化的艺术浪漫不渝！
感谢up，宣传了家乡的非遗文化，湖南省邵阳市隆回县七江镇的碳花舞。 小时候有幸跟这位爷爷学习过，还是那个熟悉的奶粉罐罐。舞起来的时候超级美，但是也很危险，炭会甩到身上，记得当时问过爷爷烫不烫，爷爷说习惯了。
炬中炭火，好似万众一心成家国。火星似星落，好似繁星入尘，点亮千家灯火。
看到有人把南翔和九月打铁花的来比，我觉得没什么好比的，都是为了文化做出贡献
@南翔不爱吃饭 你快看看东莞的千角灯吧！它的传承人只有一个近八十岁的老人了，现存的千角灯也只有两盏了[大哭]那个灯真的很漂亮[大哭]求关注求传承
[大哭]南翔和九月真的一直在非遗传承的路上让人热泪盈眶
每做一次这样的视频就得花更久的时间，视频做出来看的人还没以前那么多，真怕哪天就做不下去了
```

由于`bert-base-chinese`模型是基于Transformers框架构建的，它内置了针对中文的tokenizer，这一特性使得在预处理阶段无需手动处理停用词，从而简化了文本处理的流程，提高了效率与准确性。经过数据预处理和标注后的训练集如下：

```
id,comment,label
41808,我感觉南翔都从一个厨师变成了非遗继承人了而且是多种非遗,positive
41004,勿忘国耻 惊叹 惊叹 惊叹 惊叹 日本人到现在都没有认错道歉和反省 相反现在却是蠢蠢欲动想干涉台湾问题妄图打断中国重新复兴和崛起的进程 中国政府和人民必须高度警惕 惊叹 这个国家没有反思侵略罪行给各国造成的灾难他们只反思自己为什么失败了 惊叹,positive
42077,很简单 因为这个游戏赢了没啥奖励 输了除了出局也没惩罚 大家的共同利益只有一个 一起玩游戏混工资 这种前提下哪来什么勾心斗角 大家一起混时间不就了,neutral
43567,他加班救别人命 别人救不了他的命 大型纪录片 致敬李晟 哔哩哔哩,negative
41515,怎么感觉 是花少的感觉 每期一个导游,neutral
```



## 数据评估及结果

| 指标 | Loss   | Accuracy | Precision | Recall | F1-score |
| ---- | ------ | -------- | --------- | ------ | -------- |
|      | 0.6390 | 0.7257   | 0.7162    | 0.7180 | 0.7159   |
