BLEU定义: 其中lenlabellenlabel表示标签序列中的词元数和lenpredlenpred表示预测序列中的词元数,kk是用于匹配的最长的n元语法。另外,用pnpn表示nn元语法的精确度,它是两个数量的比值:第一个是预测序列与标签序列中匹配的n元语法的数量,第⼆个是预测序列中n元语法的数量的比率。 例如:给定标签序列A、B、C、...
len_{label}和len_{pred}代表标签序列和预测序列中的词元数,即句子长度。第一项指数项用来惩罚过短的预测序列。比如label长度5,预测长度2,那么第一项就是exp(-1.5),小于完美预测的exp(0)。 第二项中的pn代表n-gram精确度,比如标签序列ABCDE,预测序列是ABCCD。 预测序列中一元语法匹配了A,B,C,D四个项,标...
设 lenlabel和lenpredlen_{label}和len_{pred}lenlabel和lenpred 分别为标签序列和预测序列的词数,那么,BLEU的定义为: exp(min(0,1−lenlabellenpred))∏n=1kpn12nexp(min(0,1-\frac{len_{label}}{len_{pred}}))\prod_{n=1}^{k}p_n^{\frac{1}{2^n}}exp(min(0,1−lenpred...
BLEU完美是1,然后越小越差。 如果label很短,但是pred很长,这样会命中很多,所以要进行惩罚min(0,1−lenlabellenpred)min(0,1−lenlabellenpred) 代码 QA encoder输出和decoder输入,concat和按位相加起来有什么区别吗? 它们可能长度不一样,所以是不能相加的,这里只要保证他们的隐藏单元数量相同(列宽相同),就可...
len的形状:(batch_size,)defforward(self,pred,label,valid_len):weights=torch.ones_like(label)...
classMaskedSoftmaxCELoss(nn.CrossEntropyLoss):defforward(self,pred,label,valid_len):weights=torch.ones_like(label)weights=sequence_mask(weights,valid_len)self.reduction='none'unweighted_loss=super().forward(pred.permute(0,2,1),label)weighted_loss=(unweighted_loss*weights).mean(dim=1...
bx,by,decoder_len=data.sample(32) 11 loss=model.step(bx,by,decoder_len) 12 最后你能看到它的整个训练过程。最开始预测成渣渣,但是后面预测结果会好很多。 t:0|loss:3.289|input:96-06-17|target:17/Jun/1996|inference:/2222222222t:70|loss:1.132|input:91-08-19|target:19/Aug/1991|inference...
string=b[0:first_m.b]lst_b=[tfortinnltk.sent_tokenize(string)]forninrange(len(lst_match)):m=lst_match[n]string=b[m.b:m.b+m.size]lst_b.append(string)ifn+1<len(lst_match):next_m=lst_match[n+1]string=b[m.b+m.size:
20 return pred_id 21 所以在预测时,我们使用到了一个Python的循环,不断生成self.max_pred_len这个多个数的预测结果, 然后用numpy array收集起来,作为最后的预测结果。最后我还写了一个可视化的功能,具体代码参考这里. 在翻译的时候attention的结果就如下。颜色深的地方就代表越注意。思考...
def forward(self, pred, label, valid_len): # `weights` shape: (`batch_size`, `num_steps`, 1) # `weights` 的形状:(`batch_size`, `num_steps`, 1) weights = np.expand_dims(np.ones_like(label), axis=-1) weights = npx.sequence_mask(weights, valid_len, True, axis=1) ...