Closed rubby33 closed 4 years ago
大神你好,请问一个问题:
在 utils.py 中,main()方法将训练集中出现的字词, 重新生成vocab.pkl 以及对应的embedded npz文件。这样训练集中没有出现的字词就是unk,不会出现在vocab.pkl 也没有对应的pretrained embed。
请问为什么一定要加这个步骤了? 不加这个步骤,利用从搜狗新闻训练的所有字词及其预训练embedded向量,也可以顺利模型训练和预测。
1.增加这个步骤,只考虑训练集中出现的字词,可以提高准确性,还是别的考虑,谢谢? 2.另外vocab.pkl 中额外增加了UNK 和PAD,但是对应的embedded npz文件似乎没有对应UNK 和PAD 的id 对应的embed vector? 谢谢您 @649453932
1.不会提高准确率,是为了减少模型参数,只提取出现过的字词,整体模型大小也就10M左右,但是若将预训练词向量中的所有字词全拿出来,那么这些向量就全都是模型的参数了,模型会变得特别大,但这对效果没有提升。 2.embedded npz文件中是有UNK和PAD的,两者是随机初始化的,代码中都有体现喔。
大神你好,请问一个问题:
在 utils.py 中,main()方法将训练集中出现的字词, 重新生成vocab.pkl 以及对应的embedded npz文件。这样训练集中没有出现的字词就是unk,不会出现在vocab.pkl 也没有对应的pretrained embed。
请问为什么一定要加这个步骤了? 不加这个步骤,利用从搜狗新闻训练的所有字词及其预训练embedded向量,也可以顺利模型训练和预测。
1.增加这个步骤,只考虑训练集中出现的字词,可以提高准确性,还是别的考虑,谢谢? 2.另外vocab.pkl 中额外增加了UNK 和PAD,但是对应的embedded npz文件似乎没有对应UNK 和PAD 的id 对应的embed vector? 谢谢您 @649453932