项目介绍
模型概述
robust-sentiment-analysis项目是一个基于(distil)BERT的情感分类模型,由Tabularis.AI开发。该模型以distilbert/distilbert-base-uncased
为基础进行微调,专门用于文本分类中的情感分析任务。该项目支持识别五种情感类别,即:"非常负面"、"负面"、"中性"、"正面"和"非常正面"。
使用场景
该模型的设计用途包括但不限于以下情境:
- 社交媒体舆情监测
- 客户反馈分析
- 产品评价分类
- 品牌舆情跟踪
- 市场调研
- 客户服务优化
- 竞争情报收集
模型特点
本模型的一个显著特点是使用合成数据进行训练。这些合成数据由现今最先进的大型语言模型生成,如Llama3.1和Gemma2。合成数据的使用使得模型在训练时不受限于真实世界数据集的不足,可以更全面地覆盖各种情感表达。
训练过程
- 微调过程持续了5个epoch。
- 在验证数据集上,模型达到了train_acc_off_by_one指标约0.95。这意味着预测结果允许偏离真实分类一类时,模型的准确率为95%。
使用方法
对于希望利用这项技术的用户,以下是快速上手的Python示例:
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
# 加载模型和分词器
model_name = "tabularisai/robust-sentiment-analysis"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
# 情感预测函数
def predict_sentiment(text):
inputs = tokenizer(text.lower(), return_tensors="pt", truncation=True, padding=True, max_length=512)
with torch.no_grad():
outputs = model(**inputs)
probabilities = torch.nn.functional.softmax(outputs.logits, dim=-1)
predicted_class = torch.argmax(probabilities, dim=-1).item()
sentiment_map = {0: "非常负面", 1: "负面", 2: "中性", 3: "正面", 4: "非常正面"}
return sentiment_map[predicted_class]
# 示例使用
texts = [
"I absolutely loved this movie! The acting was superb and the plot was engaging.",
"The service at this restaurant was terrible. I'll never go back.",
"The product works as expected. Nothing special, but it gets the job done.",
"I'm somewhat disappointed with my purchase. It's not as good as I hoped.",
"This book changed my life! I couldn't put it down and learned so much."
]
for text in texts:
sentiment = predict_sentiment(text)
print(f"Text: {text}")
print(f"Sentiment: {sentiment}\n")
模型性能
该模型能够有效地预测多种情感类别,示例如下:
- 对于“我非常喜欢这部电影!表演出色,情节引人入胜。”的评论,预测情感为:"非常正面"。
- 对于“这家餐厅的服务太糟糕了。我再也不会去了。”的评论,预测情感为:"非常负面"。
- 对于“产品性能如预期。没有什么特别的,但完成了工作。”的评论,预测情感为:"中性"。
- 对于“我对购买感到有些失望。没有我期望的那么好。”的评论,预测情感为:"负面"。
- 对于“这本书改变了我的生活!我放不下,并学到了很多。”的评论,预测情感为:"非常正面"。
训练细节
使用distilbert/distilbert-base-uncased
架构在合成数据上进行微调。训练采用了PyTorch Lightning框架,整个训练共进行5个epoch。在验证数据集上,模型的train_acc_off_by_one指标接近0.95。
伦理考虑
虽然通过合成数据努力创造了一个平衡且公平的模型,但用户仍须注意模型可能存在的偏差。在特定应用场景中,建议用户对模型进行彻底测试,并持续监控其性能。
如果对该模型有任何疑问,或希望获得可靠的私有API,可通过电子邮件联系info@tabularis.ai。