Bert_Chinese_Ner_pytorch
Bert_Chinese_Ner_pytorch copied to clipboard
crf.py里维特比back_points初始化问题
你好,我有一些疑问
back_points, index_points = [self.transitions[self.start_tag, :self.start_tag].cpu()], [torch.LongTensor([-1]).expand_as(forward)]
在这里back_points初始化时只考虑了start_tag到各个tag的转移概率,是不是少加了1st word到各个tag的发射概率
还有就是
for i in range(1, time_steps): # START_TAG -> 1st word -> 2nd word ->...->END_TAG
emission_start = forward.expand(self.num_tag, self.num_tag).t()
emission_end = features[i, :].expand(self.num_tag, self.num_tag)
i = 1时,因为forward为全0,所以emission_start在这里为全0,但我感觉应该先给forward赋值back_points[0]吧