chilynn / sequence-labeling

307 stars 167 forks source link

关于label数多于四个的问题 #17

Open Just4Uzi opened 7 years ago

Just4Uzi commented 7 years ago

我现在想要识别六个label,试了一下貌似不能直接把[self.batch_size, 6, 6] 后面的 6, 6 换成8, 8, 请问下修改代码的话从哪里着手呢

scofield7419 commented 7 years ago

@SlashChven 您好,请教下: 1.这条:transitions = tf.reshape(tf.concat(0, [transitions] * self.batch_size), [self.batch_size, 6, 6]) 6 x 6 指的是label的维度吗?

2.你处理的是char level类型的还是word level类型的? 语料是否有空行呢? 我在forward()中的 (line 118) transitions = tf.reshape(tf.concat(0, [transitions] * self.batch_size), [self.batch_size, 6, 6]) 报错: ValueError: Cannot reshape a tensor with 28800 elements to shape [128, 6, 6] (4608 elements) 请教下这是什么原因呢?

chilynn commented 7 years ago

你好,类目的话,需要修改num_classes以及transition相关的地方

这里的6指的是,原始的4个label(分别是BMEO),1个特殊标识的label(,可以理解为末尾部分的填充label),1个开头的标识label(在代码中没有明显体现,计算转移时需要用到,helper.py中的getTransition函数中的下标为5的地方可以看出)