如何向DaNLP的da-bert-tone-subjective-objective模型输入文本做分类?
如何向DaNLP/da-bert-tone-subjective-objective模型输入文本进行分类
你可以按照以下步骤完成文本输入与分类推理:
步骤1:预处理输入文本
使用加载好的tokenizer将丹麦语文本转换为模型可接受的张量格式,需指定return_tensors参数(PyTorch用'pt',TensorFlow用'tf'),同时开启padding和truncation以适配模型的最大输入长度。步骤2:模型推理
将预处理后的张量传入模型,得到原始的logits输出,再通过softmax转换为概率值,或者直接取logits最大值对应的类别索引。步骤3:解析分类结果
模型的config属性包含了类别与索引的映射关系(id2label),可以直接用它将预测索引转换为对应的分类标签(主观/客观)。
完整代码示例:
from transformers import BertTokenizer, BertForSequenceClassification import torch # 加载模型与分词器 model = BertForSequenceClassification.from_pretrained("DaNLP/da-bert-tone-subjective-objective") tokenizer = BertTokenizer.from_pretrained("DaNLP/da-bert-tone-subjective-objective") # 待分类的丹麦语文本 text = "Din mening om denne film er helt forkert." # 预处理文本 inputs = tokenizer( text, return_tensors="pt", # 若用TensorFlow则改为'tf' padding=True, truncation=True, max_length=512 # BERT的默认最大长度 ) # 模型推理(关闭梯度计算以提升效率) with torch.no_grad(): outputs = model(**inputs) # 获取logits并转换为预测类别 logits = outputs.logits predicted_class_idx = torch.argmax(logits, dim=1).item() # 解析标签 predicted_label = model.config.id2label[predicted_class_idx] print(f"输入文本: {text}") print(f"预测类别: {predicted_label}")
说明:
- 该模型是针对丹麦语文本的二分类模型,标签为
subjective(主观)和objective(客观)。 - 如果需要批量处理多个文本,直接将文本列表传入tokenizer即可,无需修改其他逻辑。
内容的提问来源于stack exchange,提问作者Bemz
相关产品推荐
相关产品推荐

