You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 23:10:59