更新README
Browse files
README.md
CHANGED
@@ -1,20 +1,59 @@
|
|
1 |
-
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
-
|
5 |
-
该模型在 IMDB 数据集的评估集上取得了以下性能:
|
6 |
|
7 |
-
|
8 |
|
9 |
-
|
10 |
|
11 |
-
|
12 |
|
13 |
-
|
14 |
|
15 |
-
|
16 |
-
您可以非常方便地使用 transformers 库中的 pipeline 来调用这个模型。
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
# 安装transformers库
|
19 |
# pip install transformers
|
20 |
|
@@ -30,22 +69,43 @@ sentiment_pipeline = pipeline(
|
|
30 |
# 测试正面评论
|
31 |
positive_comment = "This movie was absolutely fantastic, a masterpiece of modern cinema!"
|
32 |
result_pos = sentiment_pipeline(positive_comment)
|
33 |
-
print(
|
34 |
-
print(f"情感分析结果: {result_pos}")
|
35 |
# 预期输出: [{'label': 'POSITIVE', 'score': ...}]
|
36 |
|
37 |
-
print("-" * 50)
|
38 |
-
|
39 |
# 测试负面评论
|
40 |
negative_comment = "I would not recommend this film, it was quite boring and a waste of time."
|
41 |
result_neg = sentiment_pipeline(negative_comment)
|
42 |
-
print(
|
43 |
-
print(f"情感分析结果: {result_neg}")
|
44 |
# 预期输出: [{'label': 'NEGATIVE', 'score': ...}]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
|
46 |
-
|
47 |
-
训练数据
|
48 |
-
本模型使用了 imdb 数据集进行训练和评估。该数据集包含 50,000 条电影评论,其中 25,000 条用于训练,25,000 条用于测试。每条评论都被标记为 正面 (POSITIVE) 或 负面 (NEGATIVE)。为了快速完成项目,本次训练使用了其中的一小部分样本(1000条训练,1000条评估)。
|
49 |
|
50 |
-
|
51 |
-
|
|
|
|
|
|
1 |
+
---
|
2 |
+
library_name: transformers
|
3 |
+
license: apache-2.0
|
4 |
+
language: en
|
5 |
+
base_model: distilbert-base-uncased
|
6 |
+
tags:
|
7 |
+
- sentiment-analysis
|
8 |
+
- text-classification
|
9 |
+
- imdb
|
10 |
+
- generated_from_trainer
|
11 |
+
datasets:
|
12 |
+
- imdb
|
13 |
+
model-index:
|
14 |
+
- name: HoleEast979/imdb-sentiment-distilbert
|
15 |
+
results:
|
16 |
+
- task:
|
17 |
+
type: text-classification
|
18 |
+
dataset:
|
19 |
+
name: imdb
|
20 |
+
type: imdb
|
21 |
+
metrics:
|
22 |
+
- name: Accuracy
|
23 |
+
type: accuracy
|
24 |
+
value: 0.85
|
25 |
+
---
|
26 |
|
27 |
+
# 模型卡:基于 DistilBERT 的 IMDB 情感分析模型
|
|
|
28 |
|
29 |
+
这是一个基于 `distilbert-base-uncased` 模型,在经典的 **IMDB 电影评论数据集** 上进行微调的情感分析模型。它能够高效地判断一段英文文本所表达的情感是正面的还是负面的。
|
30 |
|
31 |
+
## 📝 模型简介 (Model Description)
|
32 |
|
33 |
+
本模型是一个文本分类器,它接收一段英文文本作为输入,并输出其情感倾向(`POSITIVE` 或 `NEGATIVE`)。模型通过在包含 50,000 条电影评论的 IMDB 数据集上进行微调,学习到了识别影评领域情感表达的特定模式。由于其基础模型是 DistilBERT,它在保持较高准确率(85%)的同时,具有更快的推理速度和更小的模型体积。
|
34 |
|
35 |
+
## 🚀 用途与局限性 (Intended Uses & Limitations)
|
36 |
|
37 |
+
### 主要用途
|
|
|
38 |
|
39 |
+
本模型主要用于对**英文电影评论**进行情感倾向的二元分类。它可以被集成到以下应用场景中:
|
40 |
+
|
41 |
+
* 舆情监控系统,用于分析用户对某部电影的整体评价。
|
42 |
+
* 评论筛选工具,自动将评论区分为好评和差评。
|
43 |
+
* 作为更复杂推荐系统的特征输入。
|
44 |
+
|
45 |
+
### 局限性与偏见
|
46 |
+
|
47 |
+
* **领域限制**: 模型在电影评论领域的表现最佳,在其他领域(如产品评论、新闻文章、社交媒体帖子)的文本上性能可能会下降。
|
48 |
+
* **数据偏见**: 模型可能反映出训练数据(IMDB 评论)中存在的偏见。例如,某些特定类型电影的评论风格可能会影响模型的判断。
|
49 |
+
* **语言限制**: 模型目前仅支持英文文本。
|
50 |
+
* **无法理解复杂情感**: 模型无法处理讽刺、双关语或复杂的多重情感混合的文本。
|
51 |
+
|
52 |
+
## 💡 如何使用 (How to Use)
|
53 |
+
|
54 |
+
您可以非常方便地使用 `transformers` 库中的 `pipeline` 来调用这个模型。
|
55 |
+
|
56 |
+
```python
|
57 |
# 安装transformers库
|
58 |
# pip install transformers
|
59 |
|
|
|
69 |
# 测试正面评论
|
70 |
positive_comment = "This movie was absolutely fantastic, a masterpiece of modern cinema!"
|
71 |
result_pos = sentiment_pipeline(positive_comment)
|
72 |
+
print(result_pos)
|
|
|
73 |
# 预期输出: [{'label': 'POSITIVE', 'score': ...}]
|
74 |
|
|
|
|
|
75 |
# 测试负面评论
|
76 |
negative_comment = "I would not recommend this film, it was quite boring and a waste of time."
|
77 |
result_neg = sentiment_pipeline(negative_comment)
|
78 |
+
print(result_neg)
|
|
|
79 |
# 预期输出: [{'label': 'NEGATIVE', 'score': ...}]
|
80 |
+
````
|
81 |
+
|
82 |
+
## 📚 训练细节 (Training Details)
|
83 |
+
|
84 |
+
### 训练数据 (Training Data)
|
85 |
+
|
86 |
+
本模型使用了 `imdb` 数据集进行训练和评估。该数据集包含 50,000 条电影评论,其中 25,000 条用于训练,25,000 条用于测试。每条评论都被标记为 `POSITIVE` (正面) 或 `NEGATIVE` (负面)。
|
87 |
+
|
88 |
+
### 训练过程 (Training Procedure)
|
89 |
+
|
90 |
+
模型微调是基于 Hugging Face `Trainer` API 在 Kaggle 平台的 T4 GPU 上完成的。整个训练过程的指标通过 `WandB` 进行了实时跟踪和记录。
|
91 |
+
|
92 |
+
#### 超参数 (Hyperparameters)
|
93 |
+
|
94 |
+
| 超参数 | 值 |
|
95 |
+
| :--- | :--- |
|
96 |
+
| `learning_rate` | `2e-05` |
|
97 |
+
| `train_batch_size` | `16` |
|
98 |
+
| `eval_batch_size` | `16` |
|
99 |
+
| `seed` | `42` |
|
100 |
+
| `optimizer` | `AdamW` |
|
101 |
+
| `lr_scheduler_type` | `linear` |
|
102 |
+
| `num_epochs` | `2` |
|
103 |
+
|
104 |
+
## 📊 评估 (Evaluation)
|
105 |
|
106 |
+
模型在 IMDB 数据集的评估集上取得了以下性能:
|
|
|
|
|
107 |
|
108 |
+
| 指标 (Metric) | 数值 (Value) |
|
109 |
+
| :--- | :--- |
|
110 |
+
| **评估损失 (Loss)** | `0.3455` |
|
111 |
+
| **准确率 (Accuracy)** | `0.85` |
|