bert文本分类可视化代码示例
时间: 2024-06-18 12:02:02 浏览: 272
分类浏览界面代码实例
BERT(Bidirectional Encoder Representations from Transformers)是一种预训练的深度学习模型,常用于自然语言处理任务,包括文本分类。在使用BERT进行文本分类后,我们通常会对模型的预测结果进行可视化,以便更好地理解和评估模型性能。以下是一个简单的使用Hugging Face的Transformers库进行BERT文本分类并在PyTorch中进行可视化的基本代码示例:
```python
import torch
from transformers import BertTokenizer, BertForSequenceClassification, AdamW
import matplotlib.pyplot as plt
# 加载预训练的BERT模型和tokenizer
model = BertForSequenceClassification.from_pretrained('bert-base-uncased')
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
# 假设我们有一个输入文本和对应的标签
input_text = "This is an example sentence for text classification."
label = 0 # 假设标签为0(根据实际任务定义)
# 对文本进行编码
inputs = tokenizer(input_text, padding=True, truncation=True, return_tensors="pt")
outputs = model(**inputs)
# 获取模型的预测概率
logits = outputs.logits
softmax_logits = torch.softmax(logits, dim=1)
predicted_class = torch.argmax(softmax_logits).item()
# 可视化预测概率分布
class_probabilities = softmax_logits.detach().numpy()
classes = list(range(len(model.config.id2label))) # 获取类别列表
plt.bar(classes, class_probabilities)
plt.xlabel('Classes')
plt.ylabel('Probability')
plt.title(f'Predicted Class: {model.config.id2label[predicted_class]}')
plt.show()
阅读全文