可用于德语文本的情感分析,能识别文本的负面、中性、正面情感。该项目基于XLM-RoBERTa架构,针对德语进行了微调,在20多万样本上训练,加权F1分数达87%。【此简介由AI生成】
以下内容由 AI 翻译,如有问题请 点此提交 issue 反馈
license: apache-2.0 pipeline_tag: text-classification frameworks:
- PyTorch library_name: openmind
模型名称:XLM-RoBERTa-German-Sentiment
概述
XLM-RoBERTa-German-Sentiment 模型旨在对 8 种语言进行情感分析,尤其针对德语。
该模型采用 XLM-RoBERTa 架构,这一选择是因为在众多基准测试中,Facebook 的 RoBERTa 表现优于 Google 的 BERT。
选择使用 XLM-RoBERTa 是因其具备多语言处理能力。此模型专为德语定制,已在超过 20 万个德语情感分析样本上进行了微调,有关模型训练的更多信息可参见论文。
训练所用数据集可在此 GitHub 仓库获取,该数据集由 Oliver Guhr 开发。我们感谢他将数据集开源,该数据集对提高模型的准确性以及对德语情感细微差别的响应能力起到了重要作用。
我们的模型和微调工作基于名为 xlm-t 的情感分析模型[https://arxiv.org/abs/2104.12250]。
模型详情
- 架构:XLM-RoBERTa
- 性能:加权 F1 分数为 87%。
- 局限性:该模型仅在德语上进行了训练和测试,但可以处理其他 8 种语言,不过准确率会较低。
如何使用
我已在我的仓库中开发了用于推理的 Python 桌面应用程序。
要使用此模型,您需要安装 Hugging Face Transformers 库和 PyTorch。您可以使用 pip 进行安装:
pip install torch transformers
from transformers import AutoModelForSequenceClassification, AutoTokenizer
import torch
text = "Erneuter Streik in der S-Bahn"
model = AutoModelForSequenceClassification.from_pretrained('ssary/XLM-RoBERTa-German-sentiment')
tokenizer = AutoTokenizer.from_pretrained('ssary/XLM-RoBERTa-German-sentiment')
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512)
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
sentiment_classes = ['negative', 'neutral', 'positive']
print(sentiment_classes[predictions.argmax()]) # for the class with highest probability
print(predictions) # for each class probability
致谢
本模型由 HTW-Berlin 的 Sary Nasser 在 Martin Steinicke 的指导下开发。