🚀 情感分析模型(基于DistilBERT)
本仓库包含一个使用DistilBERT架构在IMDb电影评论数据集上微调的情感分析模型。该模型旨在将文本输入分类为积极或消极情感类别。
🚀 快速开始
若要使用该模型,你需要从Hugging Face安装transformers
库。可以使用以下pip命令进行安装:
pip install transformers
安装完成后,你可以使用以下代码对文本进行分类:
from transformers import DistilBertTokenizer, DistilBertForSequenceClassification
import torch
tokenizer = DistilBertTokenizer.from_pretrained(Pranav-10/Sentimental_Analysis)
model = DistilBertForSequenceClassification.from_pretrained(Pranav-10/Sentimental_Analysis)
text = "I loved this movie. The performances were fantastic!"
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=512)
with torch.no_grad():
logits = model(**inputs).logits
probabilities = torch.softmax(logits, dim=-1)
print(probabilities)
✨ 主要特性
- 高效架构:基于DistilBERT架构,它是BERT的轻量级版本,在保持性能的同时,具有更小的模型尺寸和更快的处理速度。
- 高准确率:在IMDb数据集上进行微调,能够高效地将文本分类为积极或消极情感。
📦 安装指南
使用该模型前,需安装Hugging Face的transformers
库,安装命令如下:
pip install transformers
💻 使用示例
基础用法
from transformers import DistilBertTokenizer, DistilBertForSequenceClassification
import torch
tokenizer = DistilBertTokenizer.from_pretrained(Pranav-10/Sentimental_Analysis)
model = DistilBertForSequenceClassification.from_pretrained(Pranav-10/Sentimental_Analysis)
text = "I loved this movie. The performances were fantastic!"
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=512)
with torch.no_grad():
logits = model(**inputs).logits
probabilities = torch.softmax(logits, dim=-1)
print(probabilities)
📚 详细文档
模型描述
该模型基于DistilBERT架构,这是BERT的一个更小、更快、更便宜且更轻量级的版本。它在IMDb数据集上进行了微调,该数据集包含50,000条标记为积极或消极的电影评论。
DistilBERT已被证明在保持BERT大部分性能的同时,具有更高的效率。这使其成为情感分析任务的理想选择,因为在这些任务中,模型的大小和速度至关重要。
评估结果
该模型在IMDb数据集上取得了以下性能:
评估指标 |
数值 |
准确率 |
90% |
精确率 |
89% |
召回率 |
91% |
F1分数 |
90% |
这些结果表明该模型在将情感分类为积极或消极方面具有很高的效率。 |
|
训练过程
该模型使用以下步骤进行训练:
- 预处理:将所有评论转换为小写,并使用DistilBERT分词器进行分词。
- 优化:使用Adam优化器,学习率为2e - 5,批量大小为16,并训练3个epoch。
- 硬件:在单个NVIDIA GTX 1650 GPU上进行训练。
📄 许可证
本项目采用Apache-2.0许可证。