Python中使用BertModel()进行中文短文本分类任务
发布时间:2024-01-06 17:51:57
要使用BertModel()进行中文短文本分类任务,需要先安装并导入相应的库,如transformers和torch。下面是一个使用例子,该例子使用了一个预训练的中文BERT模型来进行中文短文本情感分类任务。
首先,安装所需的库。在命令行中运行以下命令:
pip install transformers torch
接下来,导入所需的库:
import torch from transformers import BertTokenizer, BertForSequenceClassification
加载Bert模型和tokenizer:
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')
model = BertForSequenceClassification.from_pretrained('bert-base-chinese')
准备输入数据并进行预处理:
text = "这部电影真的很棒!" input_ids = tokenizer.encode(text, add_special_tokens=True) input_ids = torch.tensor(input_ids).unsqueeze(0) # 增加batch维度
将输入数据传入模型进行预测:
outputs = model(input_ids) logits = outputs.logits
计算预测结果:
predicted_labels = torch.argmax(logits, dim=1)
最后,可以打印出预测结果:
if predicted_labels.item() == 0:
print("Negative")
else:
print("Positive")
完整的代码如下:
import torch
from transformers import BertTokenizer, BertForSequenceClassification
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')
model = BertForSequenceClassification.from_pretrained('bert-base-chinese')
text = "这部电影真的很棒!"
input_ids = tokenizer.encode(text, add_special_tokens=True)
input_ids = torch.tensor(input_ids).unsqueeze(0)
outputs = model(input_ids)
logits = outputs.logits
predicted_labels = torch.argmax(logits, dim=1)
if predicted_labels.item() == 0:
print("Negative")
else:
print("Positive")
这个例子展示了如何使用预训练的Bert模型进行中文短文本情感分类任务。该例子中使用了一个预训练的中文BERT模型,将输入文本编码成token,并将其传入Bert模型进行预测,然后根据预测结果输出情感分类。在实际应用中,你可能需要根据自己的具体任务和数据进行适当的调整。
