649453932 / Chinese-Text-Classification-Pytorch

中文文本分类,TextCNN,TextRNN,FastText,TextRCNN,BiLSTM_Attention,DPCNN,Transformer,基于pytorch,开箱即用。
MIT License
5.25k stars 1.22k forks source link

关于load_dataset(path, pad_size) #40

Open mchenwang opened 4 years ago

mchenwang commented 4 years ago
if pad_size:
  if len(token) < pad_size:
      token.extend([PAD] * (pad_size - len(token)))
  else:
     token = token[:pad_size]
      seq_len = pad_size

如果文本长度超过pad_szie,这里token=token[:pad_size],那pan_size之后的文本是不是没用上,对这里不是很懂

mchenwang commented 4 years ago

截断是不是应该把后面pad_size个词再作为新的数据加到contents中?

li199603 commented 4 years ago

感觉就是直接截断了,超过长度的数据不要了。我是这么理解的,像textCNN只能接受固定长度的文本分类,基于RNN的虽然可以接受不固定长度的,但是因为要批量训练,所以需要长度同一。

mchenwang commented 4 years ago

感觉就是直接截断了,超过长度的数据不要了。我是这么理解的,像textCNN只能接受固定长度的文本分类,基于RNN的虽然可以接受不固定长度的,但是因为要批量训练,所以需要长度同一。

在这个数据集里,每个句子的长度在30以下,所以pan_size设置成32是没有问题的,但是如果句子长度是100甚至更多的话,只截取32个,是肯定不对的,截断后面的字数不够就用PAD补全,或者剩余字数过少可以舍去。