使用bert 实现文本分类,超简洁代码
时间: 2023-09-07 17:03:40 浏览: 123
下面是一个使用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)
# 定义文本分类函数
def classify_text(text):
# 对文本进行分词和编码
inputs = tokenizer.encode_plus(
text,
add_special_tokens=True,
truncation=True,
max_length=128,
padding='max_length',
return_tensors='pt'
)
# 使用BERT模型进行预测
outputs = model(**inputs)
logits = outputs.logits
predictions = torch.argmax(logits, dim=1).item()
return predictions
# 示例
text = "这是一段需要分类的文本"
classification = classify_text(text)
print(classification)
```
以上代码加载了预训练的BERT模型和tokenizer,并实现了一个`classify_text`函数进行文本分类。该函数将给定的文本作为输入,首先对其进行分词和编码,并使用BERT模型进行预测。最后,返回预测的类别。
请注意,这只是一个超级简洁的示例,实际使用BERT进行文本分类还需要考虑更多的细节,比如处理数据集、训练模型、调参等。以上代码仅提供了使用BERT进行文本分类的基本框架。
阅读全文