bert实现情感分析的代码
时间: 2024-04-24 13:18:29 浏览: 123
BERT(Bidirectional Encoder Representations from Transformers)是一种基于Transformer模型的预训练语言表示模型,它在自然语言处理任务中取得了很好的效果。下面是一个使用BERT实现情感分析的代码示例:
```python
import torch
from transformers import BertTokenizer, BertForSequenceClassification
# 加载预训练的BERT模型和tokenizer
model_name = 'bert-base-uncased'
tokenizer = BertTokenizer.from_pretrained(model_name)
model = BertForSequenceClassification.from_pretrained(model_name, num_labels=2)
# 输入文本
text = "I love this movie!"
# 对文本进行tokenize和编码
inputs = tokenizer.encode_plus(
text,
add_special_tokens=True,
padding='max_length',
max_length=128,
truncation=True,
return_tensors='pt'
)
# 使用BERT模型进行情感分类
outputs = model(**inputs)
logits = outputs.logits
predicted_labels = torch.argmax(logits, dim=1)
# 输出结果
sentiment = "Positive" if predicted_labels.item() == 1 else "Negative"
print(f"The sentiment of the text '{text}' is {sentiment}.")
```
这段代码使用了Hugging Face提供的`transformers`库,首先加载了预训练的BERT模型和tokenizer。然后,对输入文本进行tokenize和编码,确保输入满足BERT模型的要求。接下来,将编码后的输入传入BERT模型,得到输出的logits。最后,根据logits得到情感分类的结果。
阅读全文