Build vocabulary trên tập train, test hay entire data?


#1

Em chào mn, em mới học NLP và có câu hỏi chưa nhận được giải đáp như sau. Trước tiên làm việc với các task NLP mình cần encode các sentence về dạng numerical -> cần build một list vocabulary gồm các token and ids từ các sentence, phục vụ cho embedding và các tác vụ khác, em muốn hỏi ở đây là mình build vocabulary này là trên train data hay entire data vì em nghĩ sẽ có những thứ sau đây xảy ra:

  • Nếu build vocabulary trên train data, thì model sẽ recognize khá nhiều out of vocabulary(OOV) trên tập dev/test

  • Nếu build vocabulary trên entire data, thì có khả năng model sẽ ko học được việc gặp các unknow words, vì mọi word đều đã có trong vocabulary, điều này có dẫn tới ảnh hưởng chất lượng của model hay ko?

Rất mong nhận được giải đáp, em xin cảm ơn ạ


#2

Tạo vocabulary trên tập train nhé bạn. Các token không có thì chuyển sang hết unknown.