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

如何使用自定义预训练BERT模型计算BERT-Score?解决KeyError问题

用自定义预训练BERT模型计算BERT-Score的解决方法

问题原因

你遇到的KeyError是因为model_type参数仅支持填写Hugging Face Hub上公开的预训练模型名称,本地自定义模型直接填这个参数会被识别为不存在的预定义模型,所以报错。

具体操作步骤

要使用本地自定义模型计算BERT-Score,需要手动加载模型和分词器,再传入score函数:

  1. 先导入必要的函数
from bert_score import score, load_model
  1. 加载本地自定义模型
    把/path/to/your/custom/model替换成你的模型实际存储路径,如果分词器和模型放在同一个文件夹里,不需要额外指定分词器路径:
# 加载自定义模型和对应的分词器
model, tokenizer = load_model(
    model_path="/path/to/your/custom/model",
    model_type=None,  # 自定义模型设为None
    lang="bn"  # 保持孟加拉语设置,和你之前的需求一致
)

如果分词器单独存储,需要额外指定tokenizer_path="/path/to/your/tokenizer"参数。

  1. 调用score函数计算分数
    直接把加载好的model和tokenizer传入,不再使用model_type参数:
P, R, F1 = score(
    cand, 
    ref, 
    model=model, 
    tokenizer=tokenizer,
    lang="bn", 
    verbose=True
)

注意事项

  • 确保你的自定义模型属于BERT类架构(比如BERT、DistilBERT、RoBERTa等),BERT-Score支持这类Transformer模型
  • 模型路径下必须包含完整的模型文件(如pytorch_model.bin、config.json)和分词器文件(如vocab.txt、tokenizer_config.json)

内容的提问来源于stack exchange,提问作者user21869722

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 08:03:08