Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算输入标记对BERT(或其他分类器)输出概率的影响_Python_Machine Learning_Nlp_Classification_Huggingface Transformers - Fatal编程技术网

Python 计算输入标记对BERT(或其他分类器)输出概率的影响

Python 计算输入标记对BERT(或其他分类器)输出概率的影响,python,machine-learning,nlp,classification,huggingface-transformers,Python,Machine Learning,Nlp,Classification,Huggingface Transformers,假设我训练了一个伯特分类模型。我想计算每个输入标记对预测输出的比例影响 例如——这是非常普遍的——如果我有一个模型将输入文本标记为{'about dogs':0,'about cats':1},则以下输入句子: s='这是一个关于猫的句子' 输出应非常接近: 1 然而,我想计算每个输入对最终预测的影响,例如(假设我们在单词级别上进行标记化——我知道这在实践中不是这样做的): {this.01,is.005,a.02,句子:.0003,关于:[其他一些低概率],a:[另一个低概率],cat:0.9

假设我训练了一个伯特分类模型。我想计算每个输入标记对预测输出的比例影响

例如——这是非常普遍的——如果我有一个模型将输入文本标记为
{'about dogs':0,'about cats':1}
,则以下输入句子:
s='这是一个关于猫的句子'
输出应非常接近:
1

然而,我想计算每个输入对最终预测的影响,例如(假设我们在单词级别上进行标记化——我知道这在实践中不是这样做的):
{this.01,is.005,a.02,句子:.0003,关于:[其他一些低概率],a:[另一个低概率],cat:0.999999}

直觉上,我认为这意味着用输入语句进行向前传球,然后查看backprop值?但我不确定你会怎么做。想法

注意
假设所有内容都在PyTorch中实现。我当前的用例是HuggingFace,但我还是想概括一下。

您是否使用
CLS
标记对文本进行分类?是的,我是。虽然我感兴趣的是单个标记对输出概率的影响。我认为当您使用注意输出并检查每个标记对CLS标记的注意时,您可以这样做。您是否使用
CLS
标记对文本进行分类?是的,我是。虽然我感兴趣的是单个令牌对输出概率的影响,但我认为当您使用注意输出并检查每个令牌对CLS令牌的注意时,可以这样做。