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

如何处理transformers_interpret中词归因元组值并实现阈值筛选?

修改transformers_interpret词归因筛选逻辑:单个分数超阈值触发操作

你需要调整代码逻辑,因为word_attributions返回的是**(单词, 归因分数)**的元组列表,不是单纯的分数集合。下面是修改后的代码,实现「任意单个归因分绝对值超过阈值时,打印所有分数并生成可视化」的需求:

# 设置归因分数阈值
attribution_threshold = 2.50

# 设置最大序列长度
max_sequence_length = 512

for row_index in range(len(df)):
    text = df.loc[row_index, 'TEXT'] 
    truncated_text = text[:max_sequence_length]
    word_attributions = cls_explainer(truncated_text)

    # 检查是否存在单个归因分绝对值超过阈值的情况
    has_high_attribution = any(abs(score) > attribution_threshold for _, score in word_attributions)
    
    if has_high_attribution:
        # 打印所有归因分数
        print(f"实例索引 {row_index} 的归因分数:")
        for word, score in word_attributions:
            print(f"单词: {word}, 归因分: {score:.4f}")
        
        # 生成可视化
        cls_explainer.visualize()

关键修改点说明:

  • 替换原有的累计分数判断逻辑,改用any()函数遍历每个元组,提取其中的分数做阈值检查
  • 新增打印所有归因分数的代码,方便查看具体触发阈值的单词
  • 保留原有的文本截断和可视化调用逻辑,确保功能连贯性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 07:17:09