Closed duguiming111 closed 4 years ago
if pad_size: if len(token) < pad_size: token.extend([vocab.get(PAD)] * (pad_size - len(token))) else: token = token[:pad_size] seq_len = pad_size
for word in token: words_line.append(vocab.get(word, vocab.get(UNK))) contents.append((words_line, int(label), seq_len))
这里,vocab.get(word, vocab.get(UNK))得到上面PAD补长的id,这个id不在字典中,最后都成了UNK的id。
构建词表的时候已经把PAD和UNK加进去了: vocab_dic.update({UNK: len(vocab_dic), PAD: len(vocab_dic) + 1})
这里的确有问题!大佬,好好检查一下!
看到啦,谢谢大佬! 晚上回去就改
if pad_size: if len(token) < pad_size: token.extend([vocab.get(PAD)] * (pad_size - len(token))) else: token = token[:pad_size] seq_len = pad_size
word to id
这里,vocab.get(word, vocab.get(UNK))得到上面PAD补长的id,这个id不在字典中,最后都成了UNK的id。